外部罚函数法
来源:互联网 发布:淘宝弹幕代码 编辑:程序博客网 时间:2024/04/27 16:52
- 基本算法
- 收敛性
罚函数法的特点是根据问题的目标函数以及约束函数,构造出一个具有惩罚效果的目标函数序列,从而把约束最优化问题转换为对一系列无约束最优化问题的求解。而这种惩罚策略对于在无约束问题的求解过程中企图违反约束的那些迭代点给予很大的目标函数值,迫使这一系列无约束问题的极小点(迭代点)或者无线的向容许集靠近(称为外部罚函数法),或者一直保持在容许集内移动(称为内部罚函数法,仅适用于具有不等式约束的最优化问题),直到收敛到约束问题的极小点。
基本算法
考虑一般约束问题
我们把函数
所以有约束最优化问题(1)能引出如下无约束最优化问题
那么我们如何通过式(6)来求解约束最优化问题(1)呢,下面给出一个定理。
定理1: 对于某个给定
证明: 必要性 因为极小点必定是容许点,所以必要性显然成立。
充分性 设
定理1说明,若由无约束问题(6)解出的极小点
在实际的算法中,把
下面给出外部反函数法算法描述。
算法 (外部罚函数法)
已知:约束最优化问题(1)的目标函数f(x) ,等式约束函数h1(x),...,hl(x) 和不等式约束函数s1(x),...,sm(x) ;终止限ϵ ,设由约束函数构造的罚函数为α(x)=∑j=1l[hj(x)]2+∑i=1m[si(x)]2μ(si(x))
(1)选定初始点x0 ;选取初始罚因子μ1>0 (可以取μ1=1 ),罚因子的放大系数c>1 (可以选c=10 );置k=1
(2)以xk−1 为初始点,求解无约束问题设其极小点为minf(x)+μkα(x) xk
(3)若μkα(xk)<ϵ ,输出xk ,停止;否则转(4)
(4)置μk+1=cμk;k=k+1 ,转(2)
算法说明
(i)在执行第(2)步时,可以使用无约束最优化方法如最速下降法、Newton法和拟Newton法等等。
(ii)我们也许会提出这样的问题:因为
收敛性
引理2: 对于由外部罚函数法所产生的序列
证明: 因为
定理3: 设
证明: 假设约束最优化问题(1)的极小点为
由引理和公式(14)(16)我们知道不减序列
- 外部罚函数法
- 拉格朗日乘子法、罚函数法、乘子罚函数法
- 外罚函数与内罚函数
- 罚函数法求解约束问题最优解
- matlab 罚函数法解决非线性规…
- 【学术】外罚函数与内罚函数
- 规划问题(单纯形法,非线性规划,以及罚函数的引入)
- 罚函数(penalty function)的设计
- 约束规划问题的罚函数解法
- 外部变量和外部函数
- 罚抄
- 内部函数外部函数
- MatLab建模学习笔记10——利用罚函数求解非线性规划问题
- FLEX 调用外部函数
- TestComplete调用外部函数
- c语言 外部函数
- Django封装外部函数
- STM32-外部中断函数
- Unix-linux编程实践教程
- Lucene全文检索技术基础学习
- python自定义函数和类并调用
- Softmax损失函数
- java通过代理使用redis,redis自动关闭连接,释放资源
- 外部罚函数法
- LCT总结
- ZooKeeper 选举机制FasterLeaderElection详解
- LNMP环境搭建之一--nginx
- spfa(模板)
- unity接入unity Ads详细流程
- netty内存泄漏,困扰了好几天的问题找到原文了
- angular依赖注入
- 手把手教你Shape,Selector实战--打造底部Tab菜单