算法特点:混合罚函数法更具有内点罚函数法的特点,即迭代过程一直在可行域内进行。且该算法主要用于求解兼有等式约束和不等式约束的最优化问题。
[2.4 复合形法]
基本思想:在可行域内产生一个由个顶点所构成的复合形,会计毕业论文比较各顶点的目标函数值,其中目标函数值最大的点为最坏点,然后确定目标函数的下降方向,在此方向上求一个既满足约束条件,又能使目标函数值有所下降的新点取代最坏点,构成新的复合形。依此步骤反复进行,复合形在不断收缩的同时,其位置在不断地靠近最优点,当复合形收缩到足够小时,即可将复合形顶点中目标函数值最小的点作为近似最优点输出。具体过程如下:
考虑问题
(6)
在可行域内随机选取个可行点,。计算除去最坏点外其余(k-1)个顶点的几何中心点,即
.
若约束可行域为凸集时,一定为可行点;若约束可行域为非凸集时,则应检测是否为可行点。然后以点为轴心求最坏点的映射点,即
,
其中为映射系数;接着检查映射点是否在可行域内,且其目标函数值是否比最坏点的目标函数值小,如果这两个条件都得到满足,则以点代替最坏点并与其余(k-1)个点重新构成新的复合形法。然后重复进行上述工作,直到满足收敛条件。如果上述两个条件至少有一个不满足,则通过缩减映射系数的方法,使其最终满足这两个条件。
算法特点:采用复合形法不必计算目标函数的梯度及二阶导数矩阵,对目标函数和约束条件没有什么特别的要求,因此使用广泛。但是在求解时,有时也可能发生不能收敛于最优点的缺陷,并且这一缺陷会随着计算变量的增加而增加,此外复合形法不能用于求解具有等式约束的优化问题。
[3 数学实验]
利用MATLAB中的优化算法工具箱中的函数,以外点罚函数法、内点罚函数法和混合罚函数法为实例进行数学实验,通过迭代可以方便、快捷的求得满足约束条件的最优解。
1 用外点罚函数法编程实现
精度。
解:增广目标函数为:
当取不同值时,用MATLAB实现得到如下迭代过程: 3/4 首页 上一页 1 2 3 4 下一页 尾页 |