惩罚函数的内点法.docx
- 文档编号:10019739
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:8
- 大小:83.71KB
惩罚函数的内点法.docx
《惩罚函数的内点法.docx》由会员分享,可在线阅读,更多相关《惩罚函数的内点法.docx(8页珍藏版)》请在冰豆网上搜索。
惩罚函数的内点法
惩罚函数的内点法
2013-2014
(1)专业课程实践论文
内点法
一、算法理论
内点法总是从可行域的内点出发,并保持在可行域内进行搜索,因此这种方法适用于只有不等式约束条件的问题
内点法据图计算步骤:
1.给定初
,允许误差
,初始参数
缩小系数
;
2.以
为初始点,求解问题
Min
S.t.
f=x1^2+x2^2-e*(1/(2*x1+x2-2)+1/(1-x1));
f0
(1)=15;fx1=diff(f,'x1');fx2=diff(f,'x2');
fx1x1=diff(fx1,'x1');
fx1x2=diff(fx1,'x2');
fx2x1=diff(fx2,'x1');
fx2x2=diff(fx2,'x2');
fork=1:
100
x1=a(k);x2=b(k);e=m(k);
forn=1:
100
f1=subs(fx1);
f2=subs(fx2);
f11=subs(fx1x1);
f12=subs(fx1x2);
f21=subs(fx2x1);
f22=subs(fx2x2);
if(double(sqrt(f1^2+f2^2))<=0.002)
a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs(f));
break;
else
X=[x1x2]'-inv([f11f12;f21f22])*[f1f2]';
x1=X(1,1);x2=X(2,1);
end
end
if(double(sqrt((a(k+1)-a(k))^2+(b(k+1)-b(k))^2))<=0.001)&&(double(abs((f0(k+1)-f0(k))/f0(k)))<=0.001)
a(k+1)
b(k+1)
k
f0(k+1)
break;
else
m(k+1)=c*m(k);
end
end
四、算法实现
例1.利用内点法求解
s.t
解:
改变算法中f=x1^2+x2^2-e*(1/(2*x1+x2-2)+1/(1-x1));回车完成结果
复制粘贴代码,回车出现结果
例2.利用内点法求解
解:
改变算法中f=x1^2-x2^2-e*(1/(x1+x2-3)+1/(-x1));回车完成结果
例3.利用内点法求解
解:
改变算法中f=2*x1^2-x2^2-e*(1/(x1+4*x2)+1/(x2-x1));回车完成结果
例4.利用内点法求解
解:
改变算法中f=3*x1^2+x2^2-e*(1/(2*x1+x2)+1/(x2-x1));回车完成结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 惩罚 函数 内点法