SUMT技术

之前的两篇blog讨论了等式最优化的最优性条件和不等式最优化的最优性条件。

(http://blog.csdn.net/ice110956/article/details/17557795 )

(http://blog.csdn.net/ice110956/article/details/17562429 )

关于无约束问题,我们通过最优性条件能够直接求出解,那么这种方法称为解析法。

但是,对于有约束问题的一般情况是,我们很难通过最优性条件来得到最优解。通常情况下,使用KKT条件求解时,我们要求与约束个数同阶的矩阵的逆。我们可以容易验证某个点是否是最优解,但是很难直接求解。

由于无约束的最优化问题我们已经有了许多高效的解法,于是,对于有约束的问题,我们可以转化为求解无约束问题,并且用迭代算法来求解。这么方法由称为序列无约束极小化技术SUMT(SequentialUnconstrained Minimization Technique)

外罚函数法

我们根据约束的特点,构造某种惩罚函数,然后加到目标函数中去,将约束问题求解转化为一系列的无约束问题。这种“惩罚策略”,对于无约束问题求解过程中的那些企图违反约束条件的目标点给予惩罚。如下图:

通过上述方法,我们可以把有约束的问题化为无约束问题求解。也就是我们的外罚函数法。

实例:

我们改写为无约束规划:

其中,我们设为非常大的数。

那么,当x1,x2不在可行域上时,后一项由于乘了,变为很大的数,对不在可行域上的点加以惩罚,迫使下一次迭代在可行域周围。

也就是,最优化(2)式的前一部分,得到最优解;最优化后一部分,使得解在可行域上。

那么(2)式得到的最优解,会是(1)式的最优解吗?外罚函数收敛吗?考虑到公式的数量与日志受欢迎程度成反比,这里直接给出结论:(2)式收敛,并且最优解为(1)式近似最优解。

具体算法:

我们用迭代算法来求解,这里直接给出迭代结束条件:

经证明,外罚函数法式收敛的,上式也随着收敛到0.

当我们固定系数时,可求解无约束问题得到当前最优解,我们算出Xk之后,判断是否满足结束条件,满足则终止。否则修改惩罚力度,以xk为下一次初始点,,继续迭代。

步骤如下:

缺点:

1.由于上述都是近似最优并且近似可行的,近似最优可以接受,但是近似可行在实际运用中让人无法接受。这一点内罚函数可以解决;

2.根据收敛性,越大越好;但是我们直接求解时,用到求导以及hesse矩阵,越大,越趋于病态,也就是不好解,这是乘子法所要解决的问题。

内罚函数法

相比于外罚函数法在不可行区域加惩罚,内罚函数法在可行域边界筑起高墙,让目标函数无法穿过,就把目标函数挡在可行域内了。

这种惩罚策略只适用于不等式约束问题,并要求可行域的内点集非空,否则,每个可行点都是边界点,都加上无穷大惩罚,惩罚也就失去意义了。

考虑不等式约束:

当x从可行域

的内部趋近于边界时,则至少有一个ci(x)趋近于零,因此,不难想到可构造如下的增广的目标函数:

称为内罚函数或障碍函数,参数r仍称为罚因子。

上述的内罚函数,当x靠近边界时,会迅速增大,迫使在可行域之内进行求解。

如下图:

具体算法:

同外罚函数法类似,我们考虑用迭代算法来求解。每次变化得到一个罚因子rk,从前一步关于罚因子rk-1的最优解出发,得到下一步关于rk的最优解;当满足条件是,迭代结束,得到近似最优解。

经证明,内罚函数法也是收敛的,迭代结束的条件为

步骤如下:

小结

1)        由于无约束最优化问题的解法目前已有许多很有效的算法,如DFP,BFGS等,所以在求解复杂得多的约束优化问题是,工程技术人员一般乐于采用罚函数法——SUMT外点法和内点法。

2)        内点法适用于解含不等式约束问题,并且每次迭代的点都是可行点,这是设计人员所希望的。但要求初始点为可行域的内点,需要相当的工作量,同时它不能处理等式约束;外点法适于解既含等式约束又含不等式约束的优化问题,初始点可以是可行域之外的点,却不能保证近似最优解是可行的。

3)        罚函数法对于增广的目标函数的Hesse矩阵的条件数随罚因子增大或减小而增大,造成在求解无约束最优化问题时的困难,如何选择罚因子往往进退维谷。如外罚函数法,欲使得无约束问题接近于原约束问题,应该选择尽可能大的罚因子;但为了减轻求解无约束问题的困难,又应选取较小的罚因子,否则增广矩阵病态。这也是罚函数法的固有弱点。

解决这些问题,就要用到乘子法,关于乘子法,慢慢再整理出来。

转载自:http://blog.csdn.net/ice110956/article/details/17631765

【学术】外罚函数与内罚函数相关推荐

  1. 约束优化内罚函数c语言程序,外点、内点和混合罚函数法(最优化3)

    最优化实验报告 --外点.内点和混合罚函数法 实验目的 之前我们已经实验过无约束最优化问题,这次我们将实验一下,在有约束条件下,优化算法应该怎么做. 由于处理约束条件的办法不同,约束优化法可以分为直接 ...

  2. 外罚法内罚法matlab,罚函数法

    外点法 内点法 乘子罚函数法 1. 等式约束问题的罚函数 约束问题的罚函数 由于... [设计]罚函数法 MATLAB 程序 一.进退法.0.618 法.Powell 法.罚函数法的 Matlab 程 ...

  3. 外网访问内网(内网穿透)

    什么是内网穿透 内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透.就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速 ...

  4. 工控攻防演示——从外网到内网控制系统设备的入侵

    给实验室写的文章,在安全客上发表,在这里再发下 一.概述 实验目的通过工控靶场学习web渗透.内网渗透.工控安全相关知识技能. 靶场信息本实验通过vmware 搭建了靶场的外网和内网环境,在内网环境中 ...

  5. 让外网访问内网Ngrok工具

    让外网访问内网,通常一些开发的情况下会遇到这种问题,这里记录一个软件工具ngrok. 通常微信客户端,自己做测试可以直接配上本地地址用: 本地做测试服务,连调外网.这个网上有下载地址:https:// ...

  6. netscreen 25配置外网到内网的Webserver实践

    本人所在的公司是通过ADSL上网的,同时为保证企业数据安全添置了一台netscreen 25的防火墙,其实公司目前并没有网上相关的应用(以前一台DLink 604的ADSL路由器就已经够用啦),关键是 ...

  7. 如何将外链接向内连接转换?

    摘要:如果可以将外连接转换为内连接,那么就可以简化查询优化过程. 本文分享自华为云社区<GaussDB(DWS)外连接向内连接的转换>,作者:wangxiaojuan8. 在查询优化的过程 ...

  8. (25)System Verilog类外约束类内变量

    (25)System Verilog类外约束类内变量 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog类外约束类内变量 5)结语 1.2 ...

  9. 数据库外连接和内连接详解

    SQL语句中有关的连接主要有: 外连接.内链接.全连接. 内连接: INNER  JOIN 内连接为 两个表中必须都同时满足条件 内连接,即最常见的等值连接 自然连接和等值连接的区别: 等值连接会将等 ...

最新文章

  1. Java多线程面试准备:聊聊Executor框架
  2. 洛谷 P3177 [HAOI2015]树上染色
  3. 从创业失败中学到的七条教训
  4. Android事件分发小结
  5. 【报告分享】2019区块链赋能新型智慧城市白皮书.pdf(附204页电子书下载链接)
  6. 《程序设计技术》课程辅助学习资料
  7. 数字信号处理matlab——FIR浅析1
  8. 记账用哪个软件比较好?
  9. 关于RJ45插座(HR911130C)硬件连接
  10. 王长君:城市交通智能管控20年发展反思
  11. OnlyOffice在线部署
  12. 在波点音乐听周杰伦新歌专辑,一起“用音乐穿越”
  13. 树莓派实战:微信机器人(itchat实现)
  14. 基础攻防实验-DVWA-秋潮-网络配置
  15. 【转】则表达式匹配居民身份证
  16. c32循迹小车c语言程序,stm32篇--小车循迹
  17. 【ACM 2020 - Text Recognition in the Wild:A Survey】OCR识别综述
  18. NB-IoT网络架构
  19. uniapp-无缝轮播
  20. 读Stephen R. Schach 《软件工程》随想

热门文章

  1. 斯坦福大学数据可视化课程学习笔记:第一节 可视化的发展与目标
  2. 丰田汽车音频总线AVC-LAN
  3. 微信小程序自定义表格样式
  4. 群晖使用acme自动申请Let‘s Encrypt证书脚本
  5. debugger位置不对_NTR Debugger 3DS游戏基础修改图文教程
  6. 博客记录之学习骏马金龙的网站
  7. 计算机二级考试vb内容,全国计算机二级VB考试内容
  8. 【ESP 保姆级教程】疯狂传感器篇 —— 案例:ESP8266 + MQ2烟雾传感器 + webserver(局域网内曲线变化图)+ 自定义微信告警
  9. FITC标记,CY5标记,CY3标记,CY5标记,CY5.5标记,CY7标记,CY7.5标记金纳米团簇
  10. 将KCF算法中的输入图像改为自己的摄像头(C++)