转自 :https://blog.csdn.net/theonegis/article/details/50977588

文字理解

内点法属于约束优化算法。约束优化算法的基本思想是:通过引入效用函数的方法将约束优化问题转换成无约束问题,再利用优化迭代过程不断地更新效用函数,以使得算法收敛。 
内点法(罚函数法的一种)的主要思想是:在可行域的边界筑起一道很高的“围墙”,当迭代点靠近边界时,目标函数徒然增大,以示惩罚,阻止迭代点穿越边界,这样就可以将最优解“档”在可行域之内了。

数学定义

对于下面的不等式约束的优化问题:

minf(x),x∈Rnminf(x),x∈Rn
s.tgi(x)≤0,i=1,2,...,ms.tgi(x)≤0,i=1,2,...,m

利用内点法进行求解时,构造惩罚函数的一般表达式为

φ(X,r)=f(X)−r∑i=1m1gi(X)φ(X,r)=f(X)−r∑i=1m1gi(X)

或者

φ(X,r)=f(X)−r∑i=1mln[−gi(X)]φ(X,r)=f(X)−r∑i=1mln⁡[−gi(X)]

算法步骤

  1. 取初始惩罚因子r(0)>0r(0)>0,允许误差ϵ>0ϵ>0;
  2. 在可行域DD内选取初始点X(0)X(0),令k=1k=1;
  3. 构造惩罚函数φ(X,r(k))φ(X,r(k)),从X(k−1)X(k−1)点出发用无约束优化方法求惩罚函数φ(X,r(k))φ(X,r(k))的极值点(X∗,r(k))(X∗,r(k));
  4. 检查迭代终止准则:如果满足
    ∥X∗r(k)−X∗r(k−1)∥≤ϵ1=10−5−10−7‖X∗r(k)−X∗r(k−1)‖≤ϵ1=10−5−10−7

    或者

    ∥φ(X∗,r(k))−φ(X∗,r(k−1))φ(X∗,r(k−1))∥≤ϵ2=10−3−10−4‖φ(X∗,r(k))−φ(X∗,r(k−1))φ(X∗,r(k−1))‖≤ϵ2=10−3−10−4

    则停止迭代计算,并以(X∗,r(k))(X∗,r(k))作为原目标函数f(X)f(X)的约束最优解,否则转入下一步;

  5. 取r(k+1)=cr(k)r(k+1)=cr(k),X(0)=X∗r(k)X(0)=X∗r(k),k=k+1k=k+1,转向步骤3。递减系数c=0.1−0.5c=0.1−0.5,通常取0.1。

内点惩罚函数法特点及其应用

  • 惩罚函数定义于可行域内,序列迭代点在可行域内不断趋于约束边界上的最优点(这就是称为内点法的原因)
  • 只适合求解具有不等式约束的优化问题

内点法求解案例

用内点法求下面约束优化问题的最优解,取迭代初始X0=[0,0]TX0=[0,0]T,惩罚因子的初始值r0=1r0=1,收敛终止条件∥Xk−Xk−1∥≤ε‖Xk−Xk−1‖≤ε,ε=0.01ε=0.01

minf(X)=x21+x21−x1x2−10x1−4x2+60minf(X)=x12+x12−x1x2−10x1−4x2+60
s.t.g(X)=x1+x2−8≤0s.t.g(X)=x1+x2−8≤0
  1. 构造内惩罚函数:φ(X,r)=x21+x21−x1x2−10x1−4x2+60−rln(x1+x2−8)φ(X,r)=x12+x12−x1x2−10x1−4x2+60−rln⁡(x1+x2−8)
  2. 用解析法求内惩罚函数的极小值
∇φ(X,r)=[2x1−x2−10−rx1+x2−82x2−x1−4−rx1+x2−8]∇φ(X,r)=[2x1−x2−10−rx1+x2−82x2−x1−4−rx1+x2−8]

令∇φ(X,r)=0∇φ(X,r)=0得:2x1−x2−10−rx1+x2−8=02x2−x1−4−rx1+x2−8=02x1−x2−10−rx1+x2−8=02x2−x1−4−rx1+x2−8=0

解得:

X∗1(r)=[13+9+2r√29+9+2r√2]TX1∗(r)=[13+9+2r29+9+2r2]T

X∗2(r)=[13−9+2r√29−9+2r√2]TX2∗(r)=[13−9+2r29−9+2r2]T

∵g(X∗1(r))>0∵g(X1∗(r))>0

∴∴ 舍去X∗1(r)X1∗(r)

∵φ(X,r)∵φ(X,r)为凸函数

∴∴ 无约束优化问题的最优解为X∗(r)=X∗2(r)=[13−9+2r√29−9+2r√2]TX∗(r)=X2∗(r)=[13−9+2r29−9+2r2]T

  1. 求最优解

当r0=1r0=1时,X∗(r0)=(4.84172.8417)TX∗(r0)=(4.84172.8417)T,∥X∗(r0)−X0∥=5.6140>ε‖X∗(r0)−X0‖=5.6140>ε

当r1=0.1r1=0.1时,X∗(r1)=(4.98342.9834)TX∗(r1)=(4.98342.9834)T,∥X∗(r1)−X∗(r0)∥=0.2004>ε‖X∗(r1)−X∗(r0)‖=0.2004>ε

当r2=0.01r2=0.01时,X∗(r2)=(4.99832.9983)TX∗(r2)=(4.99832.9983)T,∥X∗(r2)−X∗(r1)∥=0.0211>ε‖X∗(r2)−X∗(r1)‖=0.0211>ε

当r3=0.01r3=0.01时,X∗(r3)=(4.99982.9998)TX∗(r3)=(4.99982.9998)T,∥X∗(r3)−X∗(r2)∥=0.0021<ε‖X∗(r3)−X∗(r2)‖=0.0021<ε

即X∗(r3)X∗(r3)为最优解

优化问题 - 内点法相关推荐

  1. 非线性规划求解_突破 | 杉数求解器COPT首发求解内点法

    ↑↑↑↑↑点击上方蓝色字关注我们! 『运筹OR帷幄』转载 作者:杉数科技 北京2020年10月26日,杉数优化求解器COPT公布国内首个线性规划内点法,这是国内运筹学的又一大突破.其性能与单纯形.大规 ...

  2. 内点法最优潮流matlab程序

    内点法最优潮流matlab程序 一.概述最优潮流问题 1.最优潮流和基本潮流的比较潮流计算可以归结为针对一定的扰动变量p(负荷情况),根据给定的控制变量u(如发电机的有功出力.无功出力或节点电压模值等 ...

  3. 如何做好网络推广中有关网站优化中内链搭建都有什么方法?

    在网站优化的过程中,如何做好网络推广中不同的优化人员对于优化技巧的使用和优化重点也会有所不同,但其中,内链的优化也是不容忽视的一点,它就相当于网站的内部循环系统,做好它才能让网站更好地运行,那么对于网 ...

  4. 惩罚函数内点法c语言,分享:惩罚函数法(内点法、外点法)求解约束优化问题最优值...

    方法一:外点牛顿法: clc m=zeros(1,50);a=zeros(1,50);b=zeros(1,50);f0=zeros(1,50);%a b为最优点坐标,f0为最优点函数值,f1 f2最优 ...

  5. 外点法、内点法解约束问题matlab

    外点法 clc m=zeros(1,50); a=zeros(1,50); b=zeros(1,50);%最优点坐标 f0=zeros(1,50);%最优点函数值 syms d x1 x2 e; m( ...

  6. C++内点法求解大规模线性规划问题——对标MATLAB中linprog函数

    C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 文章目录 C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 1. 项目场景 2. 约束的规范化 3 ...

  7. ecshop商城SEO优化自动内链接插件,ecshop自动内链接提高搜索引擎排名收录,ECSHOP自动内链插件,ECSHOP商城优化插件,seo优化插件

    ecshop商城网站内链优化有什么作用?内链优化技巧! 在网站优化中,有一种优化叫做"内链优化",顾名思义就是对网站站内的链接进行优化,内链优化是SEO站内优化至关重要的的一环,也 ...

  8. 网站优化分站内优化和站外优化

    站内:代码优化.关键词优化.URL优化.体验度优化.结构布局优化.图片优化.音视频或FLASH优化.内链建设优化.整站优化. 站外:搜索引擎入口提交,交换友情链接,建设外部链接:软文链.博客链.视频链 ...

  9. matlab写的单纯形法二阶段法 大m法,线性规划中的单纯形法与内点法(原理、步骤以及matlab实现)(二)...

    在线性规划中的单纯形法与内点法(原理.步骤以及matlab实现)(一)中,我们讨论了单纯形法的原理和普通单纯形法的应用,本文接着讨论大M法.两阶段法和对偶单纯形法 2.2 Big M Method ( ...

  10. 网站SEO优化 站内优化和站外优化的具体内容和区别

    随着互联网的发展,越来越多的企业开始意识到网络营销的重要性.对于想要在互联网上获得更多曝光和流量的企业来说,搜索引擎优化(SEO)已经成为一种非常有效的方式.在SEO中,站内优化和站外优化是两个非常重 ...

最新文章

  1. 【使用 DOM】为DOM元素设置样式
  2. 看文艺青年怎么玩微信客户端
  3. 【解决没有该选项问题】使Clion运行编译运行单个C/C++文件(Single File Execution插件)
  4. sencha touch笔记(6)——路由控制(1)
  5. gdal库对ENVI文件的一点支持不好
  6. 直播系统中使用SEI传输用户自定义数据方案讨论
  7. 弯道超车时机已来 百度:中国有机会定义AI时代的用户体验标准
  8. 【转】android开发 dts、各种接口porting----不错
  9. RainMeter — 使用 NotePad ++ 编辑皮肤文件
  10. sqlserver2016转sqlserver2008
  11. win10安装双系统
  12. 完成图书管理系统类图的绘制_智慧图书馆管理系统方案/APP/小程序/公众号/网站...
  13. Zoommy for mac(图片素材搜索下载软件)
  14. 软考倒计时26天,最后冲刺阶段
  15. linux 应用软件打包工具
  16. 大学计算机实验教程制作电子小报,word中电子小报怎么做?word电子小报的图文教程...
  17. 腾讯会议摄像头黑屏如何解决?
  18. 对话《主算法》作者:图灵测试是个坏主意 | AI英雄
  19. Code::Blocks使用教程
  20. 利用ip-subnet-vlan(基于ip子网划分vlan) 技术 实现一根网线多VLAN业务

热门文章

  1. 【第一章:绪论】静态时序分析圣经翻译计划
  2. 【情商 为什么情商比智商更重要】阅读笔记
  3. 白帽子讲web安全思维导图
  4. GB/T14710|聊一聊医用电气设备的环境试验
  5. 2023CAEE安规测试与环境试验技术设备展览会
  6. 番茄时间管理法——学会专注
  7. python 网络音乐播放器(二):tkinter 实现歌词同步滚动
  8. Spring-Boot开发者工具:自动重启、LiveReload、远程开发
  9. php与sap系统,sap系统是什么意思
  10. CAT8八类网线标准、测试与应用