版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
外点罚函数优化实例
一.优化问题
如图1所示,为某一桁架的一部分,杆2距。点30cm处有一支点C。为了固定
桁架,现欲在杆1和2上设置支点A和B,用来连接杆3(可拆卸1已知当桁架
固定时,杆1和2成直角;而且,杆1右边有一段长为20cm的重要部位,不能设
置支点。卸去杆3.收起桁架时,支点A的位置不能高于BC段中点D。求取支点
A.B的位置,使得杆3的长度尽量小,以节省材料。
C■-------
杆2
D,■—A,
/
/B,•-T软
/杆:V,
宴
杆1I/
AL20’0
一XI一
图1桁架结构示意图
二.数学模型
设A.B两点距离。点的长度分别为口和口,而桁架固定时杆1和2成直角。所
以杆3的长度为口。
由图1可知,□且口即口且口。
设口取口。因此数学模型为:
极小化目标函数
niin/(X)=X12+x}
约束条件
4(X)=F+20V0
^2(X)=2Xj-x2-30<0
三.求解数学模型
(1)外点罚函数法求解
构造外点法罚函数,如下:
22
0(X,M⑹)=%;+君+例"){[(max(20-x,,0)J+[皿双2XI-X2-30,0)J)
程序流程图如图2所示:
图2外点罚函数法程序流程图
程序步骤:
①选择适当的初始罚因子口、初始点口、收敛精度□和罚因子系数C。在本程序
中分别取口,□,□,c=8e令迭代步数k=0o
②采用牛顿法求无约束问题minX,")的极值点X'(M⑹)。
目标函数等值残
25
图4目标函数等值线图
(2)Matlab优化工具fmincon求解
利用Matlab文件编辑器为目标函数编写M文件(goalfun.m):
functionf=goalfun(x)
f=xCL)八2+x⑵八2;
编写约束条件的M文件(confun.m):
function[c,ceq]=confun(x)
c=[2*x(l)-x⑵-30;
20-x(l)];
ceq=[];
编写主函数的M文件(opt.m):
closeall
clearall
cic
xO=[20,20];
lb=[];
ub=[];
,,,,,,
options=optimset(LargeScale/'off',display',iter',tolx,le-6);
,
[x,fval,exitflag,output]=fmincon(goalfun'/xO,[],[],[],[],[],[],'confun',optio
ns);
x
fval
运行结果:
x=[20,10]
fval=500
同样地,利用Matlab优化工具解得,支点A.B与O的距离分别为20cm、
10cmz杆3的最小长度为Clem。
四.结论分析
Q)罚因子系数c对外点罚函数法的影响
本次程序中,c取值为8,运行步数k=llo若取c=4,则运行步数k=16;取c=16,
则运行步数k=9;取c=32,则运行步数k=8;取c=64r则运行步数k=70由此
可知,罚因子系数c的大小会影响程序的迭代次数k°c的值取得越大,运行步数k
越小,程序收敛速度越快,效率越高。但对于C的其他一些取值,如5.7、9等,会
导致罚函数形态变坏,使迭代出现问题,导致程序运行失败。因此,需选取合适的
罚因子系数c。
(2)外点罚函数法与Matlab优化工具fmincon的比较
通过。pt.m的运行结果可知,fmincon的运行步数k=3,这一运行效率明显比外点
法函数法的效率高。对于相同的收敛精度口和初始点,虽然优化结果相同,但是M
文件WaiDianNiuDun.m中外点罚函数法的运行效率仍有待提高。
附一外点罚函数matlab程序
closeall
clearall
cic
symsxlx2M;%M为罚因子。
m(l)=l;
c=8;%c为递增系数。赋初值。
a(l)=20;
b(l)=20;
f=xl人2+x2人2+M*((20-xl)A2+(2*xl-x2-30)八2);%夕卜点罚函数
f0(l)=500;
%求偏导、Hessian元素
fxl=diff(f;xl');
fx2=diff(f,'x2');
fxlxl=diff(fxl,'xl');
fxlx2=diff(fxl,'x2');
fx2xl=diff(fx2,'xl');
fx2x2=diff(fx2;x2');
%外点法M迭代循环
fork=l:100
xl=a(k);x2=b(k);M=n(k);
%牛顿法求最优值
forn=l:100
fl=subs(fxl);%求解梯度值和Hessian矩阵
f2=subs(fx2);
fll=subs(fxlxl);
fl2=subs(fxlx2);
f21=subs(fx2xl);
f22=subs(fx2x2);
if(double(sqrt(flA2+f2A2))<=le-6)%最优值收敛条
件
a(k+l)=double(xl);b(k+l)=double(x2);f0(k+l)=double(subs(f));
break;
else
X=[xlx2],-inv([fllfl2;f21f22])*[flf2]';
xl=X(l,l);x2=X(2,l);
end
end
if(double(sqrt((a(k+l)-a(k))A2+(b(k+l)-b(k))A2))<=le-6)&&(double(abs((fO(k+l)-fO(
k))/f0(k)))<=le-6)%罚因子迭代收敛条件
%输出最优点坐标,罚因子迭代次数,最优值
a(k+l)
b(k+l)
k
fO(k+l)
break;
else
m(k+l)=c*m(k);
end
end
%绘制目标函数曲线图
xxl=0:0.5:50;
xx2=0:0.5:50;
fori=l:length(xxl)
forj=l:length(xx2)
if((2*xxl(i)-xx2(j)-30<=0)&&(20-xxl(i)<=0))
Z(iJ)=xxl(i)A2+xx2(j)A2;
else
Z(iJ)=0;
end
end
end
figure(l);
surf(xxl,xx2zZ);
axis([05005004500])
title('目标函数曲线图');
xlabel('xl');
ylabel('x2');
%绘制目标函数等值线图,并画出优化路径
figure(2);
xll=-5:0.5:25;
xl2=-5:0.5:25;
[xxll,xxl2]=meshgrid(xll,xl2);
F=xxll.A2+xxl2.A2;
axis([-525-525]);
contour(xxll,xxl2,F);
title('目标函数等值线');
xlabel('xl');
ylabel('x2');
holdon
plot(a,b,'r+-');%绘制优化路径
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蓝牙协议书数据包分析
- 贷款留宿居住协议书模板
- 宿迁厂房工程监理协议书
- 三品建设实施方案
- 搜狐新媒体账号运营方案
- 2026评议工作方案
- 过程控制与自动化仪表(下篇共上下两篇)456
- 人人讲安全、个个会应急-提高防灾减灾救灾能力:初中地理·生命安全跨学科教学设计
- 高中二年级心理健康主题班会教学设计《逆境·韧性·生长:青少年抗逆力赋能行动》
- 膀胱镜清洗技术规范
- 2026年发展对象考试测试题库附答案
- 2025年石家庄市市属国有企业公开招聘应届毕业生223人笔试历年参考题库附带答案详解
- (2026版)贪污贿赂司法解释(二)培训纲要课件
- 编织袋厂工作制度范本
- 智联招聘中层竞聘笔试题库
- 2026年新能源的未来发展趋势
- 2025心肺复苏(CPR)指南(完整版)
- 社会组织岗位责任制度
- 外科术后并发症防治手册
- 北京中国新闻社2025年度面向社会招聘10人笔试历年参考题库附带答案详解
- 2026年经济开发区招聘面试企业服务对接实务练习题及解析
评论
0/150
提交评论