求解全局优化问题的动态填充算法
【摘要】:本文主要研究如何求解全局优化问题。通常全局优化问题的求解过程包含两个阶段,一是如何寻找问题的当前局部极小值点,另一个是怎样找到另一个函数值比当前局部极小值更好的新的局部极小点。
首先,本文在微分动态系统和填充函数的基础上,提出求解全局优化问题的动态填充算法。该算法主要由两个系统构成,动态极小化系统和动态填充系统。动态极小化系统主要用于寻找问题的局部极小值点;新构造的动态填充系统将随时间的演变最终迭代到一个平衡点,且平衡点处目标函数的值比当前局部极小点处的目标函数的值小,有助于算法在更低的盆谷上确定一个新的初始条件。事实上,该算法两个系统分别对应于全局优化问题求解的两个阶段,通过对算法的两个系统的循环求解,可克服算法易陷入当前局部极小点的缺点,最终保证问题的全局最优值点能够快速获得。文中给出的算例的良好数值结果说明了算法的有效性。
其次,寻找局部极小值点的方法有很多,本文利用滤子方法的有效性,给出了另外一种求局部极小点的方法。滤子方法分别考虑目标函数和约束函数,试探步被滤子接受当且仅当试探点相比先前滤子中的点的约束违反度的函数值或者目标函数的函数值有充分的下降量。针对全局优化问题求解的第一个阶段,本文构造一个与优化问题相兼容的norm-relaxed SQP子问题,并结合滤子方法给出一个norm-relaxed SQP滤子算法。通过求解该norm-relaxed SQP子问题,并采用有效的滤子接受准则代替罚函数,算法不仅避免了权参数的选取,其计算量也得以减少。为避免Maratos效应,本文进一步给出了二阶校正步,最终证明了算法的收敛性。