LINGO求解非線性規(guī)劃.ppt_第1頁
LINGO求解非線性規(guī)劃.ppt_第2頁
LINGO求解非線性規(guī)劃.ppt_第3頁
LINGO求解非線性規(guī)劃.ppt_第4頁
LINGO求解非線性規(guī)劃.ppt_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、用LINGO求解非線性規(guī)劃,目標函數(shù)或約束條件(或兩者)出現(xiàn)非線性表達式時的規(guī)劃稱為非線性規(guī)劃。LINGO求解非線性規(guī)劃是其強項。下面通過實例來學習其用法。,實例:飛行管理(95年競賽題),一、問題的提出 在約10,000米高空的某邊長160公里的正方形區(qū)域內(nèi), 經(jīng)常有若干架飛機作水平飛行。區(qū)域內(nèi)每架飛機的位置和速度均由計算機記錄其數(shù)據(jù),以便進行飛行管理。當一架欲進入該區(qū)域的飛機到達區(qū)域邊緣, 記錄其數(shù)據(jù)后,要立即計算并判斷是否會與區(qū)域內(nèi)的飛機發(fā)生 碰撞。如果會碰撞,則應計算如何調(diào)整各架(包括新進入的)飛機飛行方向角,以避免碰撞。現(xiàn)假定條件如下:,1) 不碰撞的標準為任意兩架飛機的距離大于8公

2、里 ; 2) 飛機飛行方向角調(diào)整的幅度不應超過30度 ; 3) 所有飛機飛行速度均為每小時800公里; 4) 進入該區(qū)域的飛機在到達區(qū)域邊緣時, 與區(qū)域內(nèi)飛機的距離應在60公里以上 ; 5) 最多需考慮6架飛機 ; 6) 不必考慮飛機離開此區(qū)域后的狀況 。 請你對這個避免碰撞的飛行管理問題建立數(shù)學模型,列出計算步驟,對以下數(shù)據(jù)進行計算(方向角誤差不超過0.01度),要求飛機飛行方向角調(diào)整的幅度盡量小。設該區(qū)域4個頂點的座標為(0,0),(160,0),(160,160),(0,160)。記錄數(shù)據(jù)為 :,飛機編號 橫座標x 縱座標y 方向角(度) 1 150 140 243 2 85 85 23

3、6 3 150 155 220.5 4 145 50 159 5 130 150 230 新進入6 0 0 52 注: 方向角指飛行方向與x軸正向的夾角。試根據(jù)實際應用背景對你的模型進行評價與推廣。,二、符號規(guī)定 Pi:代表第i架飛機,新進入為第6架; xi(t),yi(t):第i架飛機的位置坐標,它們都是時間t的函數(shù); xi0, yi0是它們的初始值; v:飛行速度,本題為常數(shù)800 km/h; i:第i架飛機的飛行飛行角; i0:第i架飛機的飛行飛行角的初始值; i:第i架飛機飛行飛行角的調(diào)整值; dij(t):第i架飛機與第j架飛機之間的距離,它是時間t的函數(shù),三、問題的分析 當前各架飛

4、機的位置及飛行方向,畫飛機位置圖的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,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

5、); end 以文件名feiji.m存盤,用MATLAB進行飛行模擬,畫出飛行路線圖,飛行模擬程序; 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

6、(j)-x1(k); ty=y1(j)-y1(k); dl=sqrt(tx*tx+ty*ty); if dl=8 fprintf(ni=%d j=%d n=%d,j,k,n); end end end end x=x1;y=y1; pause(0.1); end 經(jīng)過計算可知,如果不調(diào)整飛行方向,飛機6和5先發(fā)生碰撞,然后6和3發(fā)生碰撞。,四、模型的建立 設飛行方向角調(diào)整量為 i ,經(jīng)過調(diào)整后的飛行方向角為 i=i0+ i ;在時刻t,飛機的位置為: xi(t)=xi0+vtcos i,yi(t)=yi0+vtsin i,,兩架飛機距離的平方為 按題意,約束條件為: 題目給出的目標是“要求飛機

7、飛行方向角調(diào)整的幅度盡量小”,對調(diào)整的幅度,可以用向量i的范數(shù)來表示,故目標函數(shù)有兩者表示方式: 或,建立數(shù)學模型如下:,這兩種目標函數(shù)都是非線性的,約束條件也是非線性的,因而是非線性規(guī)劃,且是時間的連續(xù)函數(shù),為了簡化計算,令vt=l,把l離散化,且l在適當范圍內(nèi)取值(l=其它值時dij8,不會發(fā)生碰撞) 經(jīng)過預先計算可知,碰撞可能發(fā)生94l112范圍內(nèi)?,F(xiàn)在把l的范圍放寬到90l120,為減少計算量,從初步計算可知,飛機1和2不會與其它飛機發(fā)生碰撞,故碰撞約束條件可以不考慮1和2。編寫LINGO程序,計算得到結果: 3=0.0495412弧度=2.8385 6=0.01380405弧度=0.

8、7909 目標函數(shù)值:0.06334526弧度=3.6294 注:在相同目標函數(shù)下,調(diào)整方案不唯一。,計算可知,該調(diào)整方案可行,不會發(fā)生碰撞。 LINGO程序如下: 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:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論