内点法的基本原理以及举例计算Word文档格式.docx
- 文档编号:15243288
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:7
- 大小:83.13KB
内点法的基本原理以及举例计算Word文档格式.docx
《内点法的基本原理以及举例计算Word文档格式.docx》由会员分享,可在线阅读,更多相关《内点法的基本原理以及举例计算Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
题,其惩罚函数的一般形式为
φ(Xyk))=f(X)+r{k}Y
M=I
φ(X9r^)=f(X)-r^∖n[gu(X)]
U=I
式中,严——惩罚因子,是递减的正数序列,即
Iimra)=O
k→∞
通常取r(A)=IAO.1,0.01,0.001,...o
上述惩罚函数表达式的右边第二项,称为惩罚
项,有时还称为障碍项。
说明:
当迭代点在可行域内部时,有≤θ(w=l,
2,3,4,∙∙∙m),而a〉O,则惩罚项恒为正值,
当设计点由可行域内部向约束边界移动时,惩
罚项的值要急剧增大并趋向无穷大,于是惩罚函数的值也急剧增大直至无穷大,起到惩罚的
作用,使其在迭代过程中始终不会触及约束边
界。
2.内点法的迭代步骤
(1)取初始惩罚因子r0,允许误差0;
(2)在可行域D内取初始点X0,令k1;
(3)构造惩罚函数(X,rk),从X(k1)点出发用无约束优化方法求解惩罚函数(X,rk)的极值点X(rk);
4)检查迭代终止准则:
如果满足
X(rk)X(rk1)1105107
(X,rk)(X,rk1)
(X,rk1)
则停止迭代计算,并以X(rk)为原目标函数f(X)的约束最优解,否则转入下一步;
根据情况,终止准则还可有如下的形式:
f(Xk)f(Xk1)
m
rklngu(X)
u1
递减系数C0.10.5,常取0.1,亦可取0.02。
采用内点法应注意的几个问题:
(1)初始点X0的选取初始点X0必须严格在可行域内,满足所有的约束条件,避免为约束边界上的点。
如果约束条件比较简单,可以直接人工输入;
若问题比较复杂,可采用随机数的方式产生初始点X0,具体方程参照复合形法介绍。
(2)关于初始惩罚因子r(0)的选择。
实践经验表明,初始惩罚因子r(0)选的恰当与否,会显著地影响内点法的收敛速度,甚至解题的成败。
若r0值选得太小,则在新目标函数即惩罚函数(X,rk)中惩罚项的作用就会很小,这时求(X,rk)的无约束极值,犹如原目标函数f(X)本身的无约束极值,而这个极值点又不大可能接近f(X)的约束极值点,且有跑出可行域的危险。
相反,若r0值取得过大,则开始几次构造的惩罚函数(X,rk)的无约束极值点就会离约束边界很远,将使计算效率降低。
可取r01~50,但多数情况是取r01。
通常,当初始点X0是一个严格的内点时,则
应使惩罚项r010在新目标函数(X,rk)中所u1gu(X)
起的作用与原目标函数f(X0)的作用相当,于是得
r0mf(X0)
rm10
u1gu(X0)
倘若约束区域是非凸的且初始点X0亦不靠近约束边界,则r0的取值可更小,约为上式算得值的0.1~0.5倍。
开始
r(0),,1,C
内点法的计算程序框图
例题:
用内点法求
minf(X)x12x22
s.t.g(X)1x10(u=1,2,3,⋯m)
的约束最优解。
(取0.001)解:
构造内点惩罚函数为
(X,rk)f(X)rklngu(X)x12x22r(k)ln(1x1)
用极值条件进行求解
r(k)
2x10,2x20
x1x11x2
联立上式求得
由于约束条件的限制,可得无约束极值点为
X*(r(k))112r(k),0
X(r)2,0
当r(k)取1,0.1,0.01,⋯→0时,可得最优解为
*T*
X*[1,0]T,f(X*)1
编程方式实现:
1.惩罚函数
functionf=fun(x,r)f=x(1,1)^2+x(2,1)^2-r*log(x(1,1)-1);
2.步长的函数functionf=fh(x0,h,s,r)%h为步长%s为方向%r为惩罚因子x1=x0+h*s;
f=fun(x1,r);
3.步长寻优函数functionh=fsearchh(x0,r,s)%利用进退法确定高低高区间,利用黄金分割法进行求解
h1=0;
%步长的初始点st=0.001;
%步长的步长h2=h1+st;
f1=fh(x0,h1,s,r);
f2=fh(x0,h2,s,r);
iff1>
f2h3=h2+st;
f3=fh(x0,h3,s,r);
whilef2>
f3h1=h2;
h2=h3;
h3=h3+st;
f2=f3;
endelse
st=-st;
v=h1;
h1=h2;
h2=v;
v=f1;
f1=f2;
f2=v;
h3=h2+st;
h2=h3;
end
%得到高低高的区间a=min(h1,h3);
b=max(h1,h3);
%利用黄金分割点法进行求解h1=1+0.382*(b-a);
h2=1+0.618*(b-a);
f2=fh(x0,h2,s,r);
whileabs(a-b)>
0.0001
f2
a=h1;
h2=a+0.618*(b-a);
else
b=h2;
h2=h1;
f2=f1;
h1=a+0.382*(b-a);
f1=fh(x0,h1,s,r);
endend
h=0.5*(a+b);
4.迭代点的寻优函数
functionf=fsearchx(x0,r,epson)x00=x0;
m=length(x0);
s=zeros(m,1);
fori=1:
s(i)=1;
h=fsearchh(x0,r,s);
x1=x0+h*s;
s(i)=0;
x0=x1;
whilenorm(x1-x00)>
epsonx00=x1;
f=x1;
5.主程序
clear
clc
x0=[2;
2];
%给定初始点r=1;
c=0.1;
epson=0.001;
x1=fsearchx(x0,0.1,epson);
whilenorm(x0-x1)>
epsonx0=x1;
r=r*c;
x1=fsearchx(x0,r,epson);
disp'
函数的最优解为'
x1
运行结果:
函数的最优解为
x1=
1.0475
-0.0005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 内点法 基本原理 以及 举例 计算