1 / 18
文档名称:

lingo求解非线性规划.ppt

格式:ppt   大小:645KB   页数:18页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

lingo求解非线性规划.ppt

上传人:endfrs 2017/8/8 文件大小:645 KB

下载得到文件列表

lingo求解非线性规划.ppt

文档介绍

文档介绍:用LINGO 求解非线性规划
1
目标函数或约束条件(或两者)出现非线性表达式时的规划称为非线性规划。LINGO求解非线性规划是其强项。下面通过实例来学****其用法。
2
实例:飞行管理(95年竞赛题)
一、问题的提出
在约10,000米高空的某边长160公里的正方形区域内, 经常有若干架飞机作水平飞行。区域内每架飞机的位置和速度均由计算机记录其数据,以便进行飞行管理。当一架欲进入该区域的飞机到达区域边缘, 记录其数据后,要立即计算并判断是否会与区域内的飞机发生碰撞。如果会碰撞,则应计算如何调整各架(包括新进入的)飞机飞行方向角,以避免碰撞。现假定条件如下:
3
1) 不碰撞的标准为任意两架飞机的距离大于8公里;
2) 飞机飞行方向角调整的幅度不应超过30度;
3) 所有飞机飞行速度均为每小时800公里;
4) 进入该区域的飞机在到达区域边缘时, 与区域内飞机的距离应在60公里以上;
5) 最多需考虑6架飞机;
6) 不必考虑飞机离开此区域后的状况。
请你对这个避免碰撞的飞行管理问题建立数学模型,列出计算步骤,对以下数据进行计算(),要求飞机飞行方向角调整的幅度尽量小。设该区域4个顶点的座标为(0,0),(160,0),(160,160),(0,160)。记录数据为:
4
飞机编号横座标x 纵座标y 方向角(度) 1 150 140 243
2 85 85 236
3 150 155
4 145 50 159
5 130 150 230
新进入6 0 0 52
注: 方向角指飞行方向与x轴正向的夹角。试根据实际应用背景对你的模型进行评价与推广。
5
二、符号规定
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的函数.
6
三、问题的分析
当前各架飞机的位置及飞行方向
7
画飞机位置图的MATLAB程序:
x=[150,85,150,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,,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
8
用MATLAB进行飞行模拟,画出飞行路线图
9
飞行模拟程序;
axis([-10,195,-10,170]);
grid on; hold on;
plot([0,160,160,0,0],[0,0,160,160,0],'b');
zt=[243,236,,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
10