




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗一:數(shù)學規(guī)劃模型AMPL求解專業(yè)年級:2014級信息與計算科學1班姓名:黃志銳學號:201430120110一、實驗目的.熟悉啟動AMPL的方法。.熟悉SCITE編輯軟件的運行。.熟悉AMPL基本編程。.熟悉AMPL求解數(shù)學規(guī)劃模型的過程。二、實驗內容1.用AMPL求解下列問題并作靈敏度分析:一奶制品加工廠用牛奶生產A1和A2兩種奶制品,1桶牛奶可以在甲類設備上用12小時加工成3公斤A1或者在乙類設備上用8小時加工成4公斤A2,且都能全部售出,且每公斤A1獲利24元,每公斤A2獲利16元。先加工廠每天能得到50桶牛奶的供應,每天工人總的勞動時間為480小時,并且甲類設備每天至多加工100公斤A1,乙類設備的加工能力沒有限制,試為該廠制定一個計劃,使每天的獲利最大?;灸P停焊鶕?jù)題意,設每天用々桶牛奶生產乙,用工2桶牛奶生產42,每天獲利為z元,則可建立線性規(guī)劃模型如下:maxz=72x1+64x2s.t.x1+x2<5012x1+8x2<4803%<100%>a4之0
模型求解:使用AMPL編程求解上述線性規(guī)劃模型(并作敏感性分析)代碼如下:setProductsordered;產品集合paramTime{iinProducts}>0;加工時間paramQuan{iinProducts}>0;單位產量paramProfit{iinProducts}>0;單位利潤varx{iinProducts}>=0;決策變量setProductsordered;產品集合paramTime{iinProducts}>0;加工時間paramQuan{iinProducts}>0;單位產量paramProfit{iinProducts}>0;單位利潤varx{iinProducts}>=0;決策變量Profit[i]*Quan[i]*x[i];maximizeprofit:sum{iinProducts}Profit[i]*Quan[i]*x[i];subjecttoraw:sum{iinProducts}x[i]<=50;subjecttotime:sum{iinProducts}Time[i]*x[i]<=480;subjecttocapacity:Quan[first(Products)]*x[first(Products)]<=100;milk.run:modelmilk.mod;datamilk.dat;optionsolvercplex;optioncplex_options'sensitivity';solve;displayx;displayx.rc,x.down,x.up;displayraw,time,capacity;displayx;displayx.rc,x.down,x.up;displayraw,time,capacity;displayraw.down,raw.up,raw.current,raw.slack;display結果分析:使用AMPL編程求解上述線性規(guī)劃模型(并作敏感性分析)結果如下:>amplmilk.runCPLEXLZ.7.a.a:sensitivityCPLEXL2.7.Q.D:aptimalso-lutia-n;objective33&02dualsimplexiterations[1inphaseI]suffixupOUT;suffixdownOUT;suffixcurrentOUT)*[*]:=Kl20溫30;x.r-cx.downx.up-xl-3.55271e-L5 6496k20 40 72raw=48time=2capacity=0raw.do-wn=43.3333raw.up-=50rsw.currant=50raw.slack:=0>Ex:itcode:0通過分析上述結果可知,該線性規(guī)劃模型的全局最優(yōu)解為%1=20,%=30,則最優(yōu)值為3360(即最大利潤為3360元)。求解過程中迭代次數(shù)為2次。對上述線性規(guī)劃模型進行敏感度分析有:.目標函數(shù)系數(shù)變化范圍:x.rcx.downx.upx1 0 64 96x2 0 48 72即x.rc為最優(yōu)解下“資源”增加1單位時“效益”的增量;x.down,x.up為最優(yōu)解不變時目標函數(shù)系數(shù)允許變化范圍。raw=48timeraw=48time=2原料增加1單位,利潤增長48;時間增加1單位,利潤增長2;capacity=0加工能力增長不影響利潤即1桶牛奶的影子價格為48元,1小時勞動的影子價格為2元,甲類設備的影子價格為0元。
.影子價格有意義時約束右端的允許變化范圍;raw.down=43.3333raw.up=60raw.current=50raw.slack=0即原料最少到43.3,最大到60,slack=0意為原料用完。2.某公司有6個建筑工地,位置坐標為(ai,bi)(單位:公里),水泥日用量di(單位:噸)i123456a1.258.750.55.7537.25b1.250.754.7556.57.75d35476111)現(xiàn)有2料場,位于A(5,1),B(2,7),記(xj,yj),j=1,2,日儲量ej各有20噸,制定每天的供應計劃,即從A,B兩料場分別向各工地運送多少噸水泥,使總的噸公里數(shù)最小。2)改建兩個新料場,需要確定新料場位置(x『%)和運量與,在其它條件不變下使總噸公里數(shù)最小。問題1):基本模型:根據(jù)題意,設從A,B兩料場分別向各工地運送%e=1,…,6;j=1,2)噸水泥,則可建立線性規(guī)劃模型如下:j=i1=1匕6一丁十化-幻2]1j=i1=1匕6一丁十化-幻2]1s.t.i=1,…,6j=1,2i=1c..>0,i=1L?,6;j=1,2
x1=5,x2=2
y1=Ly2=7
氣=4=20模型求解:使用AMPL編程求解上述線性規(guī)劃模型代碼如下:buildl.mod:10setIsetJparamparamparamparamparamparamx{jy{j1..6;{1,2};ininJ};J};a{ib{id{ie{jininininvarc{iinI,I};I};I};J};jinJ}>=0;minimizetonkilometre:10setIsetJparamparamparamparamparamparamx{jy{j1..6;{1,2};ininJ};J};a{ib{id{ie{jininininvarc{iinI,I};I};I};J};jinJ}>=0;minimizetonkilometre:111213sum{jinJ}(sum{iinI}c[i,j]*sqrt((x[j]-a[i])八2+(y[j]-b[i])入2));111213subjecttoDi{iinI}:sum{jinJ}c[i,j]=d[i];subjecttoEj{jinJ}:sum{iinI}c[i,j]<=e[j];build1.dat:1paramx:=1522;2paramy:=1127;3parama:=11.2528.7530.5045.7553.067.25;4paramb:=11.2520.7534.7545.0056.567.75;5paramd:=13.0025.0034.0047.0056.0611.0;6parame:=120220;
結果分析:使用AMPL編程求解上述線性規(guī)劃模型結果如下:通過分析上述結果可知,從A,B兩料場按下表分別向各工地運送水泥,使總的噸公里數(shù)最小,約為136.2噸公里。1123456%(料場A)350701%(料場B)0040610問題2):基本模型:根據(jù)題意,可建立非線性規(guī)劃模型如下:min江c..[x.j1na.2+y.-b.2]2i jis.t.£%J1i1%之0,d.,i1,…,6J1,21,…,6;j1,2420模型求解:使用AMPL編程求解上述非線性規(guī)劃模型代碼如下:build2.mod:setI:=1..6;setJ:={1,2};parama{iinI};paramb{iinI};paramd{iinI};parame{jinJ};varx{jinJ};vary{jinJ};varc{iinI,jinJ}>=0;10minimizetonkilometre:11sum{jinJ}(sum{iinI}c[i,j]*sqrt(1e-20+(x[j]-a[i])10minimizetonkilometre:11sum{jinJ}(sum{iinI}c[i,j]*sqrt(1e-20+(x[j]-a[i])人2+(y[j]-b[i])人2));1213subjecttosubjecttoDi{iinEj{jinI}:sum{jinJ}c[i,j]=d[i];J}:sum{iinI}c[i,j]<=e[j];1213subjecttosubjecttoDi{iinEj{jinI}:sum{jinJ}c[i,j]=d[i];J}:sum{iinI}c[i,j]<=e[j];build2.dat:1parama:=11.2528.752paramb:=11.2520.753paramd:=13.0025.004parame:=120220;30.5045.7553.067.25;34.7545.0056.567.75;34.0047.0056.0611.0;結果分析:使用AMPL編程求解上述非線性規(guī)劃模型結果如下:>amplbuildZ.runSNOPT7.5-1.2:SurpriseINFO=56fromsnOptB,88it已「dtbnsNonlinevals:obj=112. =111.x[*]:=17.2523.25488Y[*]:=17.7525.652333TOC\o"1-5"\h\z22 031 032 441 1.77636 已-15\o"CurrentDocument"42 751 052 6611162 0tonkilamstre=85,266★Exitcode:0通過分析上述結果可知,當新料場位置分別為4(7.25,3.25488)、3(7.75,5.65233)和運量滿足下表時,在其它條件不變下使總噸公里數(shù)最小,為85.266噸公里。1123456"(料場A)0500011”(料場B)3047603,某班準備從5名游泳隊員中選擇4人組成接力隊,參與學校的4*100m混合接力比賽。5名隊員4種泳姿的百米成績如表所示,應如何選拔隊員組成接力隊?甲乙丙丁戊蝶泳1506”857”21’18”1’10”1’07“4仰泳1515”61506”1’07“81’14”21’11”蛙泳1’27”1506”41’24”61’09“61’23”8自由泳58”653”59”457”21’02”4提示:1)建立0-1規(guī)劃模型。2)若選擇隊員i參加泳姿j的比賽,記‘=1,否則記xij=0,AMPL程序中0-1變量聲明:varx{iinI,jinJ}binary;3)5名隊員4種泳姿的百米成績的表格可以采用矩陣描述如paramGrade:甲乙丙丁戊:=蝶泳仰泳蛙泳自由泳基本模型:根據(jù)題意,記甲乙丙丁戊分別為隊員i=1,2,3,4,5;記蝶泳,仰泳,蛙泳,自由泳分別為泳姿/=1,2,3,4。記隊員柏勺第7種泳姿的百米最好成績qjs)為,則有:,j(s)i=1i=2i=3i=4i=5j=166.857.278.070.067.4j=275.666.067.874.271.0j=387.066.484.669.683.8j=458.653.059.457.262.4引入01變量%.,若選擇隊員i參加泳姿/的比賽,則記局.=1,否則記馬.=0。設接力隊成績?yōu)閦(s),則可建立01規(guī)劃模型如下:minz=BB與與
j=1i=1S.t.£%j<1,i=1,2,3,4,5j=1Bx..=1,j=1,2,3,4i=1?={0,1}模型求解:使用AMPL編程求解上述線性規(guī)劃模型代碼如下:
varx{iinI,jinJ}binary;minimizez:sum{jinJ}(sum{iinI}c[i,j]*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論