嘿,你喜欢小芝麻吗?听说攒的多了,就能芝麻开门了哦
写在前面
没有记录就等于没有发生,我要用自己的方式,去诉尽这平凡而可贵的旅途!本系列旨在复习回顾,无法面面俱到,也不可能普适,系统梳理真的比较吃力,也可能是笔者功力尚浅。不过还好,我在路上!复习时需要比对公式理解,这样概念才能不断深化,笔者仅仅做到了概括要点。不管怎样,于你于我,都希望有所收获。
特此声明,文中部分图片及文字叙述源自任课焦老师课件。感谢老师一学期以来的悉心讲解
文中不当之处欢迎指正!
【目录】
约束优化问题
外点罚函数法
内点罚函数法
混合罚函数法
约束坐标轮换法
习题演练
【约束优化问题】
直接法:
坐标轮换法、复合形法。算法简单,对目标函数和约束函数无特殊要求;计算量大,不适用于维数较高问题;适用于只含不等式约束的优化问题。间接法:
惩罚函数法。转换为一系列无约束优化问题,借助函数梯度信息求解,一般算法复杂。根据约束特点,将某种罚函数加到目标函数中去。
图源任课焦老师课件
【外点罚函数法】
对
不可行点在目标函数中加入相应的惩罚,可行点不予惩罚,这种方法迭代点一般在约束优化的可行域外部移动。对于
惩罚因子M,不宜过大,否则minF(x,M)求解困难,因此取一个递增且趋于正无穷的罚因子序列{Mk},且Mk趋于正无穷。对于
惩罚函数,根据函数值趋于最小和可行域中等式约束平方值为零,可构造出如下形式:
对于
终止条件,需满足惩罚项足够小。
图源任课焦老师课件
图源任课焦老师课件
初始点可任选
,对
等式约束、不等式约束均可适用
;罚因子Mk递增,
递增系数c大于1
,常取c=[4,10];如果求解无约束问题有好算法,利用外点罚函数法求解约束问题很方便。
初始罚因子要选择恰当
,否则会影响迭代正常进行,太小会增加迭代次数,太大会使罚函数性态变坏从而难以收敛到极值点,取M1=1常可取得满意效果。经验公式为:
可行域外若目标函数性质复杂或没有定义,外点法不适用。
罚因子太大会造成增广目标函数海森矩阵条件数很大,趋于病态,使求解变得困难。(
乘法子可解决这个问题)
每个近似解xk往往不是可行解,有些实际问题不能接受;如果迭代中产生的点列必须满足某些约束条件,方法也会失效。(
内点罚函数法可解决这两个问题)
【内点罚函数法】
迭代点在可行域内部移动,
对接近可行域边界的点施加惩罚,距边界越近障碍越大,阻止迭代点穿越边界,从而将最优解“挡”在可行域内。要求初始点必须是内点,可行域内必须非空,等式约束构成的集合内部为空。
内点法只适用于不等式约束问题。
对于障碍函数,在可行域内部连续,构造形式有两种:
对于障碍因子,
值越小,minF{x,rk}的最优解越接近minf(x)最优解,但是rk太小,minF(x,rk)不好求。
对于终止条件,惩罚项要足够小。
图源任课焦老师课件
每次迭代点都是可行点,迭代到一定次数,尽管没有达到约束最优点,但可以被接受为一个较好的近似最优点。
初始点应选择离约束边界较远的可行点,即可行域内点,耗费工作量。
初始罚因子r1要适当,太大会增加迭代次数,太小会使罚函数性态变坏。罚函数的
缩减系数c一般在迭代中不起决定性作用,常取0.1~0.7。
【混合罚函数法】
用内点法处理不等式约束,用外点法处理等式约束。对于同时具有等式约束和不等式约束的优化问题,引进增广目标函数
统一形式为:
图源任课焦老师课件
图源任课焦老师课件
为了
加速罚函数法的收敛速度,可用
外插技术。
(主要思想为:F(x,rk)看作r的函数,r趋近于0时,X*(r)趋于约束最优点。利用前几点X(rk)拟合X*表达式,求极限可得约束最优点。)对于
罚因子,可用高次多项式拟合极小值点的轨迹曲线,最终可得约束最优点一个很好的逼近,把其作为初始点有利于加速收敛。实际应用常采用两点外插法或者三点外插法。
相关说明
图源任课焦老师课件
【约束坐标轮换法】
在无约束坐标轮换的基础上,加入由约束函数构成的可行性限制,
每次迭代需在可行域进行。将一个n维的约束优化问题转化为依次沿n个坐标轴方向轮流进行迭代的一维搜索问题。
对于迭代步长:采用加速步长,因为按最优步长往往迭代点超出了可行域。
对于迭代点:检查目标函数值是否下降,检查是否在可行域内。
对于终止条件:||X(k)-X(k-1)||
图源任课焦老师课件
优点:
算法明了,迭代简单。缺点:
收敛速度慢,对于维数较高问题费时,某些情况下会出现“死点”的病态,导致
输出伪最优点。为了辨别最优点的真伪,可用
K-T条件检验。
【习题演练】
点击图片给我留言,我们聊聊芝麻叭好不好