資源描述:
《用LINGO軟件求解“非線性規(guī)劃”問題.docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、用LINGO軟件求解“非線性規(guī)劃”問題丁老師(超盾博客)一.選址問題(選取位置,使總運量最?。├彻こ?,6個工地同時開工,每個工地的位置Mi(ai,bi),距離值(單位:km)、水泥日需求量d(t)(單位:噸)由下表給出:MiM1M2M3M4M5M6ai1.258.750.55.7537.25bi1.250.754.7556.57.75d(t)3547611目前暫定2個臨時料場位于P(5,1)、Q(2,7)用于存儲水泥,日儲量20噸。假設(shè)從料場到工地之間均可開通直線道路相連。試尋找更好的料場位置,使得總運輸量(噸·公里)更小。解將題目和表格進(jìn)行整理得
2、到:6個工地i(程序j)M1M2M3M4M5M6ai(程序a(j))1.258.750.55.7537.25工地坐標(biāo)bi(程序b(j))1.250.754.7556.57.75需求d(t)(程序d(j))3547611demand假設(shè):(1)P(p1,p2)、Q(q1,q2)為料場;(2)從P調(diào)c1j噸水泥到Mj,從Q調(diào)c2j噸水泥到Mj(1表示P,2表示Q),j=1,…,6.“總噸·公里”的表示方法:“總:∑;噸:c;公里:兩點間距”,目標(biāo)函數(shù)是“非線性”的,根據(jù)上述“總噸·公里”的表示方法得到“非線性”規(guī)劃模型:minf=c11(p1?1.25)
3、2+(p2?1.25)2+c12(p1?8.75)2+(p2?0.75)2+c13(p1?0.5)2+(p2?4.75)2+c14(p1?1.25.75)2+(p2?5)2+c15(p1?3)2+(p2?6.5)2+c16(p1?7.25)2+(p2?7.75)2+c21(q1?1.25)2+(q2?1.25)2+c22(q1?8.75)2+(q2?0.75)2+c23(q1?0.5)2+(q2?4.75)2+c24(q1?5.75)2+(q2?5)2+c25(q1?3)2+(q2?6.5)2+c26(q1?7.25)2+(q2?7.75)2c≥0i
4、jc+c=31121c+c=51222c+c=421323?c1j+c2j=dj?∑cij=dj(j=1,...,6)s.t.+c24=7c14i=1c+c=61525c16+c26=11+c12+c13+c14+c15+c16≤20c116c+c+c+c+c+c≤20?∑cij≤ei(i=1,2)j=1212223242526用LINGO9.0求解,首先分析此問題中的向量和矩陣,有:(1)3個6維向量:a,b,d;(2)3個2維向量:p,q,e,其中p和q表示題目中給出的最初暫定的兩個料場的坐標(biāo);(3)1個2×6調(diào)度矩陣:c.LINGO總程序:se
5、ts:!3個6維向量;demand/1..6/:a,b,d;supply/1..2/:p,q,e;!3個2維向量;link(supply,demand):c;!1個2×6調(diào)度矩陣;endsetsdata:a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,4.75,5,6.5,7.75;d=3,5,4,7,6,11;e=20,20;enddatainit:!迭代初始點;p=5,2;q=1,7;endinit!link(i,j):c(i,j)表示2×6調(diào)度矩陣;![obj]表示在結(jié)果中標(biāo)注目標(biāo)函數(shù)所在行代碼;[obj]min
6、=@sum(link(i,j):c(i,j)*((p(i)-a(j))^2+(q(i)-b(j))^2)^(1/2));!先變i后變j;@for(demand(j):[demand_con]@sum(supply(i):c(i,j))=d(j););!先變j后變i;@for(supply(i):[supply_con]@sum(demand(j):c(i,j))<=e(i););@for(supply(i):@free(x);@free(y););!所有變量可取負(fù)值;end點擊保存后,按“Ctrl+S”運行得到結(jié)果:Objectivevalue:85
7、.26604(即:總運輸量為85.26604噸·公里)VariableValueReducedCostP(1)3.2548830.000000P(2)7.2500000.8084079E-07Q(1)5.6523320.000000Q(2)7.7500000.2675276E-06P(1)、P(2)、Q(1)、Q(2)的值即為對初始點(題給最初臨時料場)優(yōu)化迭代后得到的料場的選取,即料場選取在P(p1,p2)=P(3.254883,5.652332)與Q(q1,q2)=Q(7.250000,7.750000)比較好。注意:程序中的P(1)對應(yīng)數(shù)學(xué)式中
8、的p1,但程序中的P(2)對應(yīng)的是數(shù)學(xué)式中的q1而不是p2。