算法特点:混合罚函数法更具有内点罚函数法的特点,即迭代过程一直在可行域内进行。且该算法主要用于求解兼有等式约束和不等式约束的最优化问题。
[2.4 复合形法]
基本思想:在可行域内产生一个由 个顶点所构成的复合形,会计毕业论文比较各顶点的目标函数值,其中目标函数值最大的点为最坏点 ,然后确定目标函数的下降方向,在此方向上求一个既满足约束条件,又能使目标函数值有所下降的新点取代最坏点,构成新的复合形。依此步骤反复进行,复合形在不断收缩的同时,其位置在不断地靠近最优点,当复合形收缩到足够小时,即可将复合形顶点中目标函数值最小的点作为近似最优点输出。具体过程如下:
考虑问题

(6)
在可行域内随机选取 个可行点, 。计算除去最坏点 外其余(k-1)个顶点的几何中心点 ,即
.
若约束可行域为凸集时, 一定为可行点;若约束可行域为非凸集时,则应检测 是否为可行点。然后以 点为轴心求最坏点 的映射点 ,即
,
其中 为映射系数;接着检查映射点 是否在可行域内,且其目标函数值 是否比最坏点的目标函数值 小,如果这两个条件都得到满足,则以 点代替最坏点 并与其余(k-1)个点重新构成新的复合形法。然后重复进行上述工作,直到满足收敛条件。如果上述两个条件至少有一个不满足,则通过缩减映射系数 的方法,使其最终满足这两个条件。
算法特点:采用复合形法不必计算目标函数的梯度及二阶导数矩阵,对目标函数和约束条件没有什么特别的要求,因此使用广泛。但是在求解时,有时也可能发生不能收敛于最优点的缺陷,并且这一缺陷会随着计算变量的增加而增加,此外复合形法不能用于求解具有等式约束的优化问题。
[3 数学实验]
利用MATLAB中的优化算法工具箱中的函数,以外点罚函数法、内点罚函数法和混合罚函数法为实例进行数学实验,通过迭代可以方便、快捷的求得满足约束条件的最优解。
1 用外点罚函数法编程实现


精度 。
解:增广目标函数为:

当 取不同值时,用MATLAB实现得到如下迭代过程: 3/4 首页 上一页 1 2 3 4 下一页 尾页 |