最优化方法_罚函数法
目录
序言
罚函数方法的基本思想是借助罚函数将约束问题转化为无约束优化问题,进而通过求解一系列无约束最优化问题来获取原约束问题的解。迭代过程中,罚函数法 通过对不可行点施加惩罚,迫使迭代点向可行域靠近。一旦迭代点成为可行点,则 这个可行点就是原问题的最优解。
采用不同的罚函数,就形成不同的罚方法。同时,我们是将求解约束问题转化为求解一系列无约束问题,从而获得原问题的逼近最优解。因此该方法也称为序列无约束极小化方法。
1 外点罚函数
我们考虑如下优化问题:
其中。
一般地,罚函数是由目标函数及约束函数所构成的一辅助函数
其中σ为一很大的正常数,称为罚因子,σP(x)称为罚项,且P(x)需满足
- P(x)为连续函数。
- 对所有。
- 当且仅当x为问题可行点。
我们定义函数:
其中满足
例如,我们取函数为
其中α≥1,β ≥1。通常我们设定α=β=2。
利用我们定义的函数P(x),我们取一个趋向无穷大的严格递增正数序列{},将求解有约束问题转换为求解如下无约束问题:
方法的优点在于初始点的选择没有可行性限制,且随着σ增大,迭代从可行域外部逼 近约束问题的最优解。我们把这种利用罚函数生成一系列外点逼近该约束问题最优 解的方法称为外点罚函数法。
具体计算步骤如下:
算法1 外点罚函数法
- 给定初点,初始罚因子,放大系数,允许误差,置k=1。
- 以为初始点,求解无约束问题得最优解。
- 如果,则停止计算,为约束问题的近似最优解;否 则,增大罚因子,令k=k+1,转步骤2。
定理 1 设约束最优化存在最优解,其中 为实值连续函数,为严格递增正数列且趋向于无穷大的数列,序列 由算法1 外点罚函数产生,则序的任何极限点是问题优化的解。
2 内点罚函数法
内点罚函数法是一类保持严格可行性的方法,它总是从可行点出发,并保持 在可行域内部进行搜索。因而这类方法只适用于只有不等式约束的非线性最优化问题:
其中。
内点罚函数法的基本思想为在目标函数上引入一个关于约束的障碍项,当迭代 点由可行域的内部接近可行域的边界时,障碍项将趋于无穷大来迫使迭代点返回可行 域的内部,从而保持迭代点的严格可行性。进而将求解约束问题转为求解一系列容易 的子问题,从而获得原问题的最优逼近解。方法也称为内点障碍函数法。
记优化问题的可行域F,可行域的内部
对于优化问题,障碍函数B(x)一般满足:
- 在中连续
- 当x趋于边界,
两种常用的障碍函数形式为
- 倒数障碍函数
- 对数障碍函数
由障碍函数,我们可以定义罚函数
其中 µ 是很小的数。则当 x 趋于边界时,,否则,当 µ 很小 时,F(x,µ) 的数值近似于 f(x)。因此,我们可以通过求解
具体步骤如下:
算法2 内点罚函数
- 给定初点,初始罚函数因子缩小系数,允许误差,置k=1。
- 以为初始点,求解无约束问题得最优解。
- 如果,则停止计算,为约束问题的近似最优解;否 则,增大罚因子,令k=k+1,转步骤2。
定理2 设约束最优化的可行域内部非空且存在最优解,其中为实值连续函数, 为严格递减正数列且趋向于零的数列, 序列 由算法2 内点罚函数产生,则序的任何极限点是问题优化的解。
3 广义乘子法
广义乘子法的基本思为把外点罚函数与Lagrange函数结合起来,构造出新罚函 数,使得在罚因子适当大的情况下,借助于Lagrange乘子就能逐步达到原约束问题的最优解。
3.1 等式约束问题的广义乘子罚函数法
我们首先考虑等式约束问题
其中
记
定义乘子罚函数:
进而我们可以通过求解
获得原函数的局部最优解。
函数3 等式约束问题的广义乘子罚函数法
- 给定初点,初始乘子向量,初始罚因子,放大系数,允许误差,置k=1。
- 以为初始点,固定求解无约束问题得最优解。
- 如果,则停止计算,为约束问题的近似最优解;否 则,进行步骤4。
- 若,令,否则转步骤5;否则,进行步骤5。
- 用更新乘子,令k=k+1,转步骤2.
3.2 不等式约束问题的广义乘子罚函数法
考虑不等式约束问题
其中,为应用等式约束问题的广义乘子方法,我们引入变量,将 不等式约束问题化为如下等式约束问题
由上式定义Lagrange函数
将关于y极小化,且由,我们有
即
带入到Lagrange函数得
则我们可以通过Lagrange函数极小化问题,获得原问题的逼近最优解。同时类似等式约束问题 的方法,我们可以获得乘子得更新公式为
算法4 不等式约束问题的广义乘子罚函数法
- 给定初点,初始乘子向量,初始罚因子,放大系数,允许误差,置k=1。
- 以为初始点,固定求解无约束问题得最优解。
- 如果,则停止计算,为约束问题的近似最优解;否 则,进行步骤4。
- 若,令,否则转步骤5;否则,进行步骤5。
- 用更新乘子,令k=k+1,转步骤2.
3.3 一般约束问题的广义乘子罚函数法
对于一般约束问题
其中。我们综合以上两种情形得到增广Lagrange函数
同时也可得到乘子w,v的更新
记则计算步骤为:
算法5 一般约束问题的广义乘子罚函数法
- 给定初点,初始乘子向量,初始罚因子,放大系数,常数允许误差,置k=1。
- 以为初始点,固定求解无约束问题得最优解。
- 如果,则停止计算,为约束问题的近似最优解;否 则,进行步骤4。
- 若,令,否则转步骤5;否则,进行步骤5。
- 用更新乘子,令k=k+1,转步骤2.
原文地址:https://blog.csdn.net/qq_58675332/article/details/143866252
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!