LINGO求解非线性规划.ppt

上传人:小飞机 文档编号:6511098 上传时间:2023-11-08 格式:PPT 页数:18 大小:526.50KB
返回 下载 相关 举报
LINGO求解非线性规划.ppt_第1页
第1页 / 共18页
LINGO求解非线性规划.ppt_第2页
第2页 / 共18页
LINGO求解非线性规划.ppt_第3页
第3页 / 共18页
LINGO求解非线性规划.ppt_第4页
第4页 / 共18页
LINGO求解非线性规划.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《LINGO求解非线性规划.ppt》由会员分享,可在线阅读,更多相关《LINGO求解非线性规划.ppt(18页珍藏版)》请在三一办公上搜索。

1、用LINGO求解非线性规划,目标函数或约束条件(或两者)出现非线性表达式时的规划称为非线性规划。LINGO求解非线性规划是其强项。下面通过实例来学习其用法。,实例:飞行管理(95年竞赛题),一、问题的提出在约10,000米高空的某边长160公里的正方形区域内,经常有若干架飞机作水平飞行。区域内每架飞机的位置和速度均由计算机记录其数据,以便进行飞行管理。当一架欲进入该区域的飞机到达区域边缘,记录其数据后,要立即计算并判断是否会与区域内的飞机发生 碰撞。如果会碰撞,则应计算如何调整各架(包括新进入的)飞机飞行方向角,以避免碰撞。现假定条件如下:,1)不碰撞的标准为任意两架飞机的距离大于8公里;2)

2、飞机飞行方向角调整的幅度不应超过30度;3)所有飞机飞行速度均为每小时800公里;4)进入该区域的飞机在到达区域边缘时,与区域内飞机的距离应在60公里以上;5)最多需考虑6架飞机;6)不必考虑飞机离开此区域后的状况。请你对这个避免碰撞的飞行管理问题建立数学模型,列出计算步骤,对以下数据进行计算(方向角误差不超过0.01度),要求飞机飞行方向角调整的幅度尽量小。设该区域4个顶点的座标为(0,0),(160,0),(160,160),(0,160)。记录数据为:,飞机编号 横座标x 纵座标y 方向角(度)1 150 140 243 2 85 85 236 3 150 155 220.5 4 145

3、 50 159 5 130 150 230新进入6 0 0 52注:方向角指飞行方向与x轴正向的夹角。试根据实际应用背景对你的模型进行评价与推广。,二、符号规定Pi:代表第i架飞机,新进入为第6架;xi(t),yi(t):第i架飞机的位置坐标,它们都是时间t的函数;xi0,yi0是它们的初始值;v:飞行速度,本题为常数800 km/h;i:第i架飞机的飞行飞行角;i0:第i架飞机的飞行飞行角的初始值;i:第i架飞机飞行飞行角的调整值;dij(t):第i架飞机与第j架飞机之间的距离,它是时间t的函数,三、问题的分析当前各架飞机的位置及飞行方向,画飞机位置图的MATLAB程序:x=150,85,1

4、50,145,130,0;y=140,85,155,50,150,0;scatter(x,y,30,r,filled);axis(-10,195,-10,170);grid on;hold on;plot(0,160,160,0,0,0,0,160,160,0,b);zt=243,236,220.5,159,230,52;zt1=zt*pi/180;b=40;x1=x+b*cos(zt1);y1=y+b*sin(zt1);for n=1:6 plot(x(n),x1(n),y(n),y1(n),k);end 以文件名feiji.m存盘,用MATLAB进行飞行模拟,画出飞行路线图,飞行模拟程序;

5、axis(-10,195,-10,170);grid on;hold on;plot(0,160,160,0,0,0,0,160,160,0,b);zt=243,236,220.5,159,230,52;zt1=zt*pi/180;vt=1;dx=vt*cos(zt1);dy=vt*sin(zt1);for n=1:120 x1=x+dx;y1=y+dy;scatter(x1,y1,10,c,filled);for j=1:5 for k=2:6,if k=j tx=x1(j)-x1(k);ty=y1(j)-y1(k);dl=sqrt(tx*tx+ty*ty);if dl=8 fprintf(

6、ni=%d j=%d n=%d,j,k,n);end end end end x=x1;y=y1;pause(0.1);end 经过计算可知,如果不调整飞行方向,飞机6和5先发生碰撞,然后6和3发生碰撞。,四、模型的建立设飞行方向角调整量为 i,经过调整后的飞行方向角为 i=i0+i;在时刻t,飞机的位置为:xi(t)=xi0+vtcos i,yi(t)=yi0+vtsin i,,两架飞机距离的平方为按题意,约束条件为:题目给出的目标是“要求飞机飞行方向角调整的幅度尽量小”,对调整的幅度,可以用向量i的范数来表示,故目标函数有两者表示方式:或,建立数学模型如下:,这两种目标函数都是非线性的,约

7、束条件也是非线性的,因而是非线性规划,且是时间的连续函数,为了简化计算,令vt=l,把l离散化,且l在适当范围内取值(l=其它值时dij8,不会发生碰撞)经过预先计算可知,碰撞可能发生94l112范围内。现在把l的范围放宽到90l120,为减少计算量,从初步计算可知,飞机1和2不会与其它飞机发生碰撞,故碰撞约束条件可以不考虑1和2。编写LINGO程序,计算得到结果:3=0.0495412弧度=2.83856=0.01380405弧度=0.7909目标函数值:0.06334526弧度=3.6294注:在相同目标函数下,调整方案不唯一。,计算可知,该调整方案可行,不会发生碰撞。LINGO程序如下:

8、MODEL:SETS:FEIJI/P1.P6/:ZT0,DZT,ZT1,XI0,YI0,XI,YI;JULI/L1.L5001/:L;ENDSETS DATA:XI0=150,85,150,145,130,0;YI0=140,85,155,50,150,0;ZT0=4.2411150082,4.118977035,3.848451,2.775073511,4.01425728,0.907571211;ENDDATA,FOR(JULI(I):L(I)=80+(I-1)/100);FOR(FEIJI:BND(0,DZT,0.08);FOR(FEIJI:ZT1=ZT0+DZT);FOR(JULI(I):FOR(FEIJI(J)|J#LT#6:FOR(FEIJI(K)|K#GT#J:(XI0(J)-XI0(K)+L(I)*(COS(ZT1(J)-COS(ZT1(K)2+(YI0(J)-YI0(K)+L(I)*(SIN(ZT1(J)-SIN(ZT1(K)2=64);););MIN=SUM(FEIJI(I):ABS(DZT(I);END,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号