用惩罚函数外点法求解以下约束最优化问题程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用惩罚函数外点法求解以下约束最优化问题程序
用惩罚函数外点法求解以下约束最优化问题:
)( 0)( ..)(min 1222112
1≤-=≤-=+=x X g x x X g t s x x X f ,
当惩罚因子分别为5,10,50,100的计算结果。
解:构造外点法惩罚函数
∅(x ,r)=x 1+x 2+r[max(0,x 12−x 2)]2+r[max(0,−x 1)]2
={x 1+x 2(g 1(x)≤0,g 2(x)≤0)x 1+x 2+r(x 12−x 2)2+r(−x 1)2(g 1(x)>0,g 2(x)>0)
对上式求偏导得
ð∅ðx 1
={11+4r ∗x 1∗(x 12−x 2)+2rx 1 ð∅ðx 2
={11−2r(x 12−x 2) 无约束目标函数极小化问题的最优解系列为:
x 1∗(r )=
−12+2r
x 2∗(r )=14(1+r)2−12r 惩罚函数外点法的M 文件:
syms x1 x2
f=x1+x2;g1=x1^2-x2;g2=-x1;
r0=5;
c=0.5;
km=7;
k=1:km;
r=r0*c.^(k-1);
x1=-1./(2+2.*r);
x2=1./(4.*(1+r).^2)-1./2.*r;
g1=x1.^2-x2;g2=-x1;
f=x1+x2;
p=x1+x2+r.*g1.^2+r.*g2.^2;
[k]
[r]
[x1]
[x2]
[p]
当r=5时的运行结果如下:
k =
1 2 3 4 5 6 7
r =
5.0000 2.5000 1.2500 0.6250 0.3125 0.1563 0.0781 x1 =
-0.0833 -0.1429 -0.2222 -0.3077 -0.3810 -0.4324 -0.4638
x2 =
-2.4931 -1.2296 -0.5756 -0.2178 -0.0111 0.1089 0.1760 p =
28.7083 2.5848 -0.2478 -0.4053 -0.3391 -0.2934 -0.2708当r=10时的运行结果如下:
k =
1 2 3 4 5 6 7
r =
10.0000 5.0000 2.5000 1.2500 0.6250 0.3125 0.1563 x1 =
-0.0455 -0.0833 -0.1429 -0.2222 -0.3077 -0.3810 -0.4324
x2 =
-4.9979 -2.4931 -1.2296 -0.5756 -0.2178 -0.0111 0.1089
p =
244.9773 28.7083 2.5848 -0.2478 -0.4053 -0.3391 -0.2934当r=50时的运行结果如下:
k =
1 2 3 4 5 6 7
r =
50.0000 25.0000 12.5000 6.2500 3.1250 1.5625 0.7813 x1 =
-0.0098 -0.0192 -0.0370 -0.0690 -0.1212 -0.1951 -0.2807
x2 =
-24.9999 -12.4996 -6.2486 -3.1202 -1.5478 -0.7432 -0.3118
p =
1.0e+04 *
3.1225 0.3894 0.0482 0.0058 0.0006 0.0000 -0.0000当r=100时的运行结果如下:
k =
1 2 3 4 5 6 7
r =
100.0000 50.0000 25.0000 12.5000 6.2500 3.1250 1.5625 x1 =
-0.0050 -0.0098 -0.0192 -0.0370 -0.0690 -0.1212 -0.1951
x2 =
-50.0000 -24.9999 -12.4996 -6.2486 -3.1202 -1.5478 -0.7432
p =
1.0e+05 *
2.4995 0.3122 0.0389 0.0048 0.0006 0.0001 0.0000