優(yōu)化模型與LINGO軟件求解課件_第1頁
優(yōu)化模型與LINGO軟件求解課件_第2頁
優(yōu)化模型與LINGO軟件求解課件_第3頁
優(yōu)化模型與LINGO軟件求解課件_第4頁
優(yōu)化模型與LINGO軟件求解課件_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

優(yōu)化模型與LINGO軟件求解競賽題中的優(yōu)化模型總結(jié)優(yōu)化模型與建模要點(diǎn)典型優(yōu)化問題與LINGO求解譚代倫2012年7月數(shù)模競賽培訓(xùn)優(yōu)化模型與LINGO軟件求解競賽題中的優(yōu)化模型總結(jié)譚代倫1一、競賽題中的優(yōu)化模型總結(jié)1.競賽題中的優(yōu)化問題實(shí)例2011年B題交巡警服務(wù)平臺的設(shè)置與調(diào)度2007年B題乘公交,看奧運(yùn)2006年A題出版社的資源配置2005年B題DVD在線租賃2004年B題電力市場的輸電阻塞管理2003年B題露天礦生產(chǎn)的車輛安排一、競賽題中的優(yōu)化模型總結(jié)1.競賽題中的優(yōu)化問題實(shí)例2一、競賽題中的優(yōu)化模型總結(jié)2.優(yōu)化類競賽題小結(jié)在全國數(shù)模競賽中,優(yōu)化問題是出現(xiàn)頻率最高的一類競賽題。從1992-2011年全國大學(xué)生數(shù)模競賽試題的解題方法統(tǒng)計(jì)結(jié)果來看,優(yōu)化模型共出現(xiàn)了17次以上,占到了50%。即每兩道競賽題中就有一道涉及到利用優(yōu)化理論來建模和求解。一、競賽題中的優(yōu)化模型總結(jié)2.優(yōu)化類競賽題小結(jié)3一、競賽題中的優(yōu)化模型總結(jié)特別提示:近年來,評價(jià)模型有逐漸增多的趨勢。2005年A題長江水質(zhì)的評價(jià)與預(yù)測2008年B題高等教育學(xué)費(fèi)標(biāo)準(zhǔn)探討2010年B題上海世博會(huì)影響力的定量評估2010年D題對學(xué)生宿舍設(shè)計(jì)方案的評價(jià)另外,擬合、回歸、預(yù)測(灰預(yù)測,時(shí)間序列分析)也是常用輔助手段之一。一、競賽題中的優(yōu)化模型總結(jié)特別提示:4二、優(yōu)化模型與建模要點(diǎn)(一)優(yōu)化模型的分類優(yōu)化模型無約束優(yōu)化模型(函數(shù)極值問題)約束優(yōu)化模型線性規(guī)劃非線性規(guī)劃動(dòng)態(tài)規(guī)劃目標(biāo)規(guī)劃(單/多)數(shù)學(xué)規(guī)劃圖論與網(wǎng)絡(luò)優(yōu)化組合優(yōu)化整數(shù)規(guī)劃0-1規(guī)劃(按優(yōu)化方法分)連續(xù)型優(yōu)化問題離散型優(yōu)化問題二、優(yōu)化模型與建模要點(diǎn)(一)優(yōu)化模型的分類優(yōu)化模型無約束優(yōu)化5二、優(yōu)化模型與建模要點(diǎn)(二)數(shù)學(xué)規(guī)劃概述1.“數(shù)學(xué)規(guī)劃”的含義利用一定的數(shù)學(xué)工具和方法,對給定實(shí)際問題進(jìn)行合理的安排,“合理”通常就是要達(dá)到最優(yōu)化/最佳,因此規(guī)劃是基礎(chǔ),優(yōu)化是目的。2.數(shù)學(xué)規(guī)劃模型的三要素決策變量目標(biāo)函數(shù)約束條件二、優(yōu)化模型與建模要點(diǎn)(二)數(shù)學(xué)規(guī)劃概述6二、優(yōu)化模型與建模要點(diǎn)3.建立數(shù)學(xué)規(guī)劃模型的幾條注意(1)盡量使用實(shí)數(shù)優(yōu)化,減少整數(shù)約束和整數(shù)變量。(2)盡量使用光滑優(yōu)化,減少非光滑約束的個(gè)數(shù)。如:盡量少使用絕對值、符號函數(shù)、多個(gè)變量求最大/最小值、四舍五入、取整函數(shù)等。(3)盡量使用線性表達(dá)式,減少非線性約束和非線性變量的個(gè)數(shù)。如:x/y<5改為x<5y(4)合理設(shè)定變量上下界,盡可能給出變量初始值(5)模型中使用的參數(shù)數(shù)量級要適當(dāng)(如小于103)(6)巧用0-1變量變換約束。二、優(yōu)化模型與建模要點(diǎn)3.建立數(shù)學(xué)規(guī)劃模型的幾條注意7二、優(yōu)化模型與建模要點(diǎn)“巧用0-1變量變換約束”的示例[示例1]:在生產(chǎn)計(jì)劃問題中,有要求:某產(chǎn)品若要生產(chǎn)則至少達(dá)到M0?;颈磉_(dá)方法:x≥0或M0方法1:分別取約束“x≥0”和“x≥M0”,加入原模型分別求解方法2:引入0-1變量y={0,1},則表示為:x≥80y,y={0,1}.方法3:化為非線性約束x(x-80)≥0.(盡量少用非線性)二、優(yōu)化模型與建模要點(diǎn)“巧用0-1變量變換約束”的示例8二、優(yōu)化模型與建模要點(diǎn)練習(xí)題:在生產(chǎn)計(jì)劃問題中,某產(chǎn)品的成本(或利潤)是分段函數(shù),例如:請按上述約束變換思路改寫約束條件。二、優(yōu)化模型與建模要點(diǎn)練習(xí)題:請按上述約束變換思路改寫約束條9二、優(yōu)化模型與建模要點(diǎn)4.優(yōu)化模型的求解(1)自編程序求解(2)利用現(xiàn)有軟件求解LINGOMATLAB二、優(yōu)化模型與建模要點(diǎn)4.優(yōu)化模型的求解10三、典型優(yōu)化問題與LINGO軟件求解(一)LINGO軟件概述LINGO是用來求解線性和非線性優(yōu)化問題的簡易工具。LINGO內(nèi)置了一種建立最優(yōu)化模型的語言,可以簡便地表達(dá)大規(guī)模問題,利用LINGO高效的求解器可快速求解并分析結(jié)果。

三、典型優(yōu)化問題與LINGO軟件求解(一)LINGO軟件概11(二)LINGO軟件的操作界面主菜單工具欄程序編輯窗口(可同時(shí)編輯多個(gè)文檔)(二)LINGO軟件的操作界面主菜單程序編輯窗口(可同時(shí)編12(三)典型數(shù)學(xué)規(guī)劃問題及求解典型的線性規(guī)劃問題一般的線性規(guī)劃問題生產(chǎn)計(jì)劃問題生產(chǎn)調(diào)度問題下料(截割)問題配料(搭配)問題兩類特殊的線性規(guī)劃問題運(yùn)輸問題:平衡與不平衡運(yùn)輸問題、轉(zhuǎn)運(yùn)問題分派問題:分工問題、選址問題、設(shè)備安裝問題整數(shù)規(guī)劃0-1規(guī)劃(三)典型數(shù)學(xué)規(guī)劃問題及求解典型的線性規(guī)劃問題整數(shù)規(guī)劃0-13(三)典型數(shù)學(xué)規(guī)劃問題及求解例1下料(截割)問題及求解例2運(yùn)輸問題及求解例3非線性規(guī)劃問題及求解例4分派(選址)問題及求解例5動(dòng)態(tài)規(guī)劃問題及求解(三)典型數(shù)學(xué)規(guī)劃問題及求解例1下料(截割)問題及求解14[例1]下料(截割)問題及求解1.問題提出2.建立數(shù)學(xué)模型3.編寫LINGO求解程序4.執(zhí)行程序5.獲得計(jì)算結(jié)果并分析6.修正模型,重新求解7.課后作業(yè)8.編程小結(jié)主要目的:(1)再次熟悉該類問題的規(guī)劃模型;(2)學(xué)習(xí)LINGO的簡單編程方法[例1]下料(截割)問題及求解1.問題提出主要目的:15[例1]下料(截割問題)及求解1.問題提出某建筑工地需要做100套成品鋼筋,每套為3根,其規(guī)格分別為2.9m、2.1m、1.5m。現(xiàn)原料鋼筋均為7.4m長。問應(yīng)該怎樣截割原料鋼筋,才能使所需原料鋼筋根數(shù)為最少?(設(shè)截割時(shí)截口寬度忽略不計(jì))[例1]下料(截割問題)及求解1.問題提出16[例1]下料(截割問題)及求解2.建模關(guān)鍵:一根原料鋼筋的截割方法成品鋼筋及根數(shù)截割方法123456782.9m(根數(shù))2.1m(根數(shù))1.5m(根數(shù))201120111103030022013004剩余材料(m)0.10.30.901.10.20.81.4決策變量:設(shè)第i種截割方法使用了xi次,相應(yīng)地耗用原材料為xi根。目標(biāo)函數(shù):根據(jù)目標(biāo)不同,可建立兩種模型(1)和(2).[例1]下料(截割問題)及求解2.建模關(guān)鍵:一根原料鋼17[例1]下料(截割問題)及求解以“使剩余原料最少”為目標(biāo)的模型(1)[例1]下料(截割問題)及求解以“使剩余原料最少”為目標(biāo)18[例1]下料(截割問題)及求解以“使所用原料鋼筋數(shù)最少”為目標(biāo)的模型(2)[例1]下料(截割問題)及求解以“使所用原料鋼筋數(shù)最少”19[例1]下料(截割問題)及求解3.用LINGO的簡單模型語言編程(模型-1)的求解程序[例1]下料(截割問題)及求解3.用LINGO的簡單模20[例1]下料(截割問題)及求解(模型-2)的求解程序:[例1]下料(截割問題)及求解(模型-2)的求解程序:21[例1]下料(截割問題)及求解LINGO的簡單編程語言特點(diǎn):(1)以感嘆號(!)開頭、以分號結(jié)束的行是注釋;(2)按模型表達(dá)式順序書寫程序語句;(3)以“min=”或“max=”開始的語句是目標(biāo)函數(shù),其余為約束條件;(4)英文字母不區(qū)分大小寫;(5)表達(dá)式中的運(yùn)算符不能省略;(6)一個(gè)語句占一行,行末用分號(;)結(jié)束。(7)LINGO軟件默認(rèn)所有變量均為非負(fù),故xi≥0可不輸入.[例1]下料(截割問題)及求解LINGO的簡單編程語言特點(diǎn)22[例1]下料(截割問題)及求解4.執(zhí)行LINGO求解程序菜單:LINGOSolve(CTRL+U)工具欄:[例1]下料(截割問題)及求解4.執(zhí)行LINGO求解程23[例1]下料(截割問題)及求解5.獲得求解結(jié)果并分析(1)狀態(tài)結(jié)果(2)數(shù)值結(jié)果:最優(yōu)目標(biāo)值與最優(yōu)解[例1]下料(截割問題)及求解5.獲得求解結(jié)果并分析24[例1]下料(截割問題)及求解[模型-1]的求解結(jié)果:(1)模型種類LP:線性規(guī)劃NLP:非線性規(guī)劃(2)最優(yōu)狀態(tài)全局全優(yōu)(3)最優(yōu)目標(biāo)值:10變量情況(1)變量總數(shù)(2)非線性變量數(shù)(3)整型變量數(shù)約束條件情況(1)約束總個(gè)數(shù)(2)非線性個(gè)數(shù)最優(yōu)目標(biāo)值:10最優(yōu)解:X4=100,按方法4X6=50,按方法6[例1]下料(截割問題)及求解[模型-1]的求解結(jié)果:(125[例1]下料(截割問題)及求解[模型-2]的求解結(jié)果:最優(yōu)目標(biāo)函數(shù)值:90x1=40,按方法1截割x2=20,按方法2截割x6=30.按方法6截割[例1]下料(截割問題)及求解[模型-2]的求解結(jié)果:最優(yōu)26[例1]下料(截割問題)及求解求解結(jié)果分析:模型(2)的求解結(jié)果:最優(yōu)目標(biāo)(原料)=90根(x1,x2,x6)=(40,20,30)余料=?模型(1)的求解結(jié)果:最優(yōu)目標(biāo)(余料)=10m(x4,x6)=(100,50)耗用原料=150根是否符合原問題要求?不符合。(1)問題出在哪里?(2)如何修正?符合原問題要求是否?符。(1)余料=16m合(2)是否唯一最優(yōu)解?在追求“余料最少”目標(biāo)時(shí),“≥”約束把條件放寬了。修正方法:改為“=”約束[例1]下料(截割問題)及求解求解結(jié)果分析:模型(2)的求27[例1]下料(截割問題)及求解6.修正模型,再次求解將模型(1)中約束條件的“>=”改為=”后,再次求解的結(jié)果為:最少余料=16m(x1,x2,x4)=(10,50,30)耗用原料=90根[例1]下料(截割問題)及求解6.修正模型,再次求解將模28[例1]下料(截割問題)及求解7.課后作業(yè)題1設(shè)一根原料的長度為L米,需截割成n種規(guī)格為(k1,k2,…,kn)的成品.例如:原料長10m,成品有5種規(guī)格:(2.1,3.7,4.5,0.8,1.5)m。請編程將其所有可能的截割方法和截割結(jié)果列舉出來。要求:能從文件導(dǎo)入數(shù)據(jù),能將程序運(yùn)行結(jié)果輸出到文本文件或EXCEL文件中[例1]下料(截割問題)及求解7.課后作業(yè)題129[例1]下料(截割問題)及求解7.課后作業(yè)題2教室的緊急撤離問題某學(xué)校發(fā)生緊急情況需撤離全體人員?,F(xiàn)考慮該校教學(xué)樓某一層樓中單側(cè)教室的全體人員的緊急撤離情況,試建立該問題的數(shù)學(xué)模型并編程求解。[例1]下料(截割問題)及求解7.課后作業(yè)題230[例1]下料(截割問題)及求解8.LINGO簡單編程的總結(jié)主要不足:不適于編寫大規(guī)模的模型程序大規(guī)模模型:目標(biāo)函數(shù)表達(dá)式較長約束條件數(shù)很多變量的取值情形比較復(fù)雜返回[例1]下料(截割問題)及求解8.LINGO簡單編程的總31[例2]運(yùn)輸問題及求解1.問題提出2.建立數(shù)學(xué)模型3.編寫LINGO求解程序4.獲得求解結(jié)果并分析5.編程小結(jié)主要目的:(1)進(jìn)一步熟悉運(yùn)輸問題的整數(shù)規(guī)劃模型;(2)學(xué)習(xí)LINGO的集合語言編程。[例2]運(yùn)輸問題及求解1.問題提出主要目的:32[例2]運(yùn)輸問題及求解1.問題提出某企業(yè)有6個(gè)生產(chǎn)分廠和8個(gè)銷售點(diǎn),已知各廠的生產(chǎn)能力、各銷售點(diǎn)的需求量、任意生產(chǎn)廠和銷售點(diǎn)之間的單位運(yùn)費(fèi)如下表,求使總運(yùn)輸最小的商品運(yùn)輸方案。B1B2B3B4B5B6B7B8產(chǎn)量A16267425960A24953858255A35219743351A47673927143A52395726541A65522814352銷量3537223241324338

[例2]運(yùn)輸問題及求解1.問題提出B1B2B3B4B5B33[例2]運(yùn)輸問題及求解2.建立模型記:cij---第i個(gè)廠到第j個(gè)點(diǎn)的單位運(yùn)費(fèi)ai---第i個(gè)廠的產(chǎn)量,bj---第j個(gè)點(diǎn)的銷量設(shè):xij---第i個(gè)廠到第j個(gè)點(diǎn)的運(yùn)輸量B1B2B3B4B5B6B7B8產(chǎn)量A160A255A3(xij)51A443A541A652銷量3537223241324338

[例2]運(yùn)輸問題及求解2.建立模型B1B2B3B4B5B34[例2]運(yùn)輸問題及求解產(chǎn)量約束共6個(gè)約束條件銷量約束共8個(gè)約束條件[例2]運(yùn)輸問題及求解產(chǎn)量約束銷量約束35[例2]運(yùn)輸問題及求解模型說明:(1)當(dāng)全部變量xij要求取整數(shù)值時(shí),這類模型稱為純整數(shù)規(guī)劃模型(PILP).(2)在運(yùn)輸問題中,當(dāng)“產(chǎn)量總和=銷量總和”時(shí),稱為平衡運(yùn)輸問題,此時(shí)模型的約束條件用“=”號。(3)否則,稱為不平衡運(yùn)輸問題,又可分為:A.產(chǎn)>銷,此時(shí)“產(chǎn)量約束”可用“≤”號。B.產(chǎn)<銷,此時(shí)“銷量約束”可用“≤”號。本題中:總產(chǎn)量=302>總銷量=280[例2]運(yùn)輸問題及求解模型說明:36[例2]運(yùn)輸問題及求解3.利用LINGO集合語言編程(1)模型有多少變量和常數(shù)?變量:xij,有6×8=48個(gè)(可看作二維數(shù)組)常量:產(chǎn)量:ai,共6個(gè)(可看作一維數(shù)組)銷量:bj,共8個(gè)(可看作一維數(shù)組)單位運(yùn)費(fèi):cij,共48個(gè)(可看作二維數(shù)組)[例2]運(yùn)輸問題及求解3.利用LINGO集合語言編程37[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架MODEL:SETS:……ENDSETS…………DATA:……ENDDATAEND

集(sets):是模型中各種對象(常量和變量)聚集在一起,稱為集。如:生產(chǎn)廠、銷售點(diǎn)、單位運(yùn)費(fèi)、運(yùn)輸量。(類似于數(shù)組)

集包括:A.集名:(結(jié)構(gòu)體)B.成員:(結(jié)構(gòu)體成員)C.屬性:成員的特征(結(jié)構(gòu)體實(shí)例)

例如:“生產(chǎn)廠”是一個(gè)對象(集),有6個(gè)成員,它們都有一個(gè)“產(chǎn)量”屬性。定義“生產(chǎn)廠”集的語句:factory/fa1..fa6/:capcity;集名成員名“產(chǎn)量”屬性(多個(gè)屬性用逗號分開)

練習(xí):定義“銷售點(diǎn)”集及其屬性[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架38[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架MODEL:SETS:……ENDSETS…………DATA:……ENDDATAEND

派生集:由現(xiàn)有的集再定義新的集

定義派生集的語句格式:派生集名(集1,…,集n)/[成員]/:[屬性];

例如:“單位運(yùn)費(fèi)(cij)”集、“運(yùn)輸量(xij)”集,可看作是由“生產(chǎn)廠”集和“銷售點(diǎn)”集派生出來的。定義語句:Link(factory,vendors):cost,x

派生集名現(xiàn)有集名(原始集)屬性名“成員”省略,其個(gè)數(shù)默認(rèn)為6×8=48個(gè)[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架39[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架MODEL:SETS:……ENDSETS…………DATA:……ENDDATAEND目標(biāo)函數(shù)和約束條件語句其中,以“min=”或“max=”開始的語句為目標(biāo)函數(shù)。數(shù)據(jù)部分(DATA):

提供各類數(shù)據(jù),主要給集的各個(gè)屬性賦值??芍苯恿谐?,也可從其他文檔中導(dǎo)入。[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架目標(biāo)40[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架MODEL:SETS:……ENDSETS…………DATA:……ENDDATAEND直接列出數(shù)據(jù)法:capacity=605551434152;demand=3537223241324338;cost=626742954953858252197433767392712395726555228143;

一組數(shù)據(jù)按行方式列出,數(shù)據(jù)以空格分開,行末以分號結(jié)束。一個(gè)矩陣數(shù)據(jù)以矩陣形式列出,數(shù)據(jù)的行和列即為矩陣的行和列,只在最后一行以分號結(jié)束。[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架直接41[例2]運(yùn)輸問題及求解含集和數(shù)據(jù)的程序段MODEL:SETS:fact/fa1..fa6/:capacity;vend/ve1..ve8/:demand;links(fact,vend):cost,x;ENDSETS……DATA:capacity=605551434152;demand=3537223241324338;cost=626742954953858252197433767392712395726555228143;

ENDDATAEND[例2]運(yùn)輸問題及求解含集和數(shù)據(jù)的程序段MODEL:D42[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架MODEL:SETS:……ENDSETS…………DATA:……ENDDATAEND

從文檔導(dǎo)入數(shù)據(jù):借助導(dǎo)入數(shù)據(jù)函數(shù):

A.@file(‘文件名’)---從文本文件讀取數(shù)據(jù)B.@OLE(‘文件名’)---從EXCEL文件讀取數(shù)據(jù)[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架43[例2]運(yùn)輸問題及求解A.@file(‘文件名’)---從文本文件導(dǎo)入數(shù)據(jù)a)將數(shù)據(jù)輸入到文本文件中b)編寫DATA段數(shù)據(jù)之間以空格分開,以“~”結(jié)束的為一條數(shù)據(jù)記錄;每執(zhí)行一次@file()函數(shù),只讀取一條數(shù)據(jù)記錄。DATAcapacity=@file(‘samp02_data.txt’);demand=@file(‘samp02_data.txt’);cost=@file(‘samp02_data.txt’);ENDDATA[例2]運(yùn)輸問題及求解A.@file(‘文件名’)--44[例2]運(yùn)輸問題及求解B.@OLE(‘文件名’)---從EXCEL文件導(dǎo)入數(shù)據(jù)a)將數(shù)據(jù)輸入到EXCEL文件中b)編寫DATA段數(shù)據(jù)輸入到EXCEL工作表后,還要對每個(gè)數(shù)據(jù)區(qū)域定義一個(gè)名稱。定義方法:(1)選中每一個(gè)數(shù)據(jù)區(qū)域;(2)選菜單“插入名稱定義”,為每一個(gè)數(shù)據(jù)區(qū)域定義一個(gè)名稱,如capacity,demand,cost.[例2]運(yùn)輸問題及求解B.@OLE(‘文件名’)---45[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架MODEL:SETS:……ENDSETS…………DATA:……ENDDATAEND目標(biāo)函數(shù)和約束條件的語句編寫方法[例2]運(yùn)輸問題及求解(2)LINGO模型語言的框架目標(biāo)46[例2]運(yùn)輸問題及求解A.目標(biāo)函數(shù)的構(gòu)成與書寫方法1:Min=c(1,1)*x(1,1)+c(1,2)*x(1,2)+…+c(6,8)*x(6,8);方法2:利用求和函數(shù)@sum()Min=@sum(links:cost*x);LINGO的數(shù)組:(1)一維數(shù)組:a(1),a(2)(2)二維數(shù)組:a(1,1)a(2,1)集名屬性名兩個(gè)數(shù)組或矩陣的對應(yīng)元素相乘,再累加[例2]運(yùn)輸問題及求解A.目標(biāo)函數(shù)的構(gòu)成與書寫LINGO47[例2]運(yùn)輸問題及求解B.約束條件的構(gòu)成與書寫產(chǎn)量約束、銷量約束:每個(gè)式子均為累加和,共14個(gè)。方法:使用循環(huán)函數(shù)+求和函數(shù)@FOR(),@SUM()約束語句:!按fact集的成員順序生成sum表達(dá)式@for(fact(i):@sum(vend(j):x(i,j))<=capacity(i));!按vend集的成員順序生成sum表達(dá)式@for(vend(j):@sum(fact(i):x(i,j))=demand(j));[例2]運(yùn)輸問題及求解B.約束條件的構(gòu)成與書寫產(chǎn)量約束、48[例2]運(yùn)輸問題及求解C.變量約束的構(gòu)成與書寫變量約束:非負(fù)且取整數(shù):方法:使用取整函數(shù)@GIN(x)--x只能取0或正整數(shù)其他函數(shù):@bnd(L,x,U)--L≤x≤U@free(x)--x可以取任意實(shí)數(shù)@bin(x)--x只能取0或1

變量約束語句:@for(links(i,j):@gin(x(i,j)));或@for(links:@gin(x));[例2]運(yùn)輸問題及求解C.變量約束的構(gòu)成與書寫變量約束:49[例2]運(yùn)輸問題及求解[例2]運(yùn)輸問題及求解50[例2]運(yùn)輸問題及求解4.“運(yùn)輸問題”的求解結(jié)果最優(yōu)目標(biāo)值為664[例2]運(yùn)輸問題及求解4.“運(yùn)輸問題”的求解結(jié)果最優(yōu)目標(biāo)51[例2]運(yùn)輸問題及求解4.“運(yùn)輸問題”的求解結(jié)果最優(yōu)目標(biāo)函數(shù)值為664[例2]運(yùn)輸問題及求解4.“運(yùn)輸問題”的求解結(jié)果最優(yōu)目標(biāo)52[例2]運(yùn)輸問題及求解xij12345678∑1194160213233311405145384353474162227352∑3537223241324338[例2]運(yùn)輸問題及求解xij12345678∑11941653[例2]運(yùn)輸問題及求解[例2]運(yùn)輸問題及求解54[例2]運(yùn)輸問題及求解[例2]運(yùn)輸問題及求解55[例2]運(yùn)輸問題及求解集合語言編程小結(jié)1.LINGO模型語文的初始化段Init:….endinit2.簡單模型語言編程的語法要求也同樣適用于集合語言編程。3.集合語言的靈活性更強(qiáng),可求解的模型更多。用于對決策變量賦初值,使能更快找到最優(yōu)解.返回[例2]運(yùn)輸問題及求解集合語言編程小結(jié)用于對決策變56例3非線性規(guī)劃問題及求解[例3]求解下面最優(yōu)化問題例3非線性規(guī)劃問題及求解[例3]求解下面最優(yōu)化問題57補(bǔ)充:LINGO的運(yùn)算符與函數(shù)1.運(yùn)算符(1)算術(shù)運(yùn)算符+(加),-(減),*(乘),/(除),^(乘方),-(負(fù))(2)邏輯運(yùn)算符A.#not#(邏輯取反)B.#eq#,#ne#;#gt#,#ge#;#lt#,#le#(=,≠;>,≥;<,≤)C.#and#,#or#(與,或)補(bǔ)充:LINGO的運(yùn)算符與函數(shù)1.運(yùn)算符58補(bǔ)充:LINGO的運(yùn)算符與函數(shù)2.常用函數(shù)@abs(x)—求x的絕對值;@sin(x)—求x的正弦值;@cos(x)—求x的余弦值;@tan(x)—求x的正切值;@exp(x)—求常數(shù)e的x次方;@log(x)—求x的自然對數(shù)@sign(x)—若x<0則返回-1,否則返回1@floor(x)—取得x的整數(shù)部分:若x>0,取不超過x的整數(shù);若x<0,取不低于x的整數(shù)值。補(bǔ)充:LINGO的運(yùn)算符與函數(shù)2.常用函數(shù)59補(bǔ)充:LINGO的運(yùn)算符與函數(shù)@mod(x,y)—求x除以y的余數(shù),x,y均為整數(shù)。@pow(x,y)—求x的y次方。@sqr(x)—求x的平方函數(shù)@sqrt(x)—求x的開平方函數(shù)@smax(x1,x2,…,xn)—返回n個(gè)數(shù)中的最大者@smin(x1,x2,…,xn)—返回n個(gè)數(shù)中的最小者@IF(條件,值1,值2)—若條件為真取值1,否則取值2補(bǔ)充:LINGO的運(yùn)算符與函數(shù)@mod(x,y)—求x除以y60例3非線性規(guī)劃問題及求解[例3]的LINGO求解程序例3非線性規(guī)劃問題及求解[例3]的LINGO求解程序61例3非線性規(guī)劃問題及求解例3非線性規(guī)劃問題及求解62例3非線性規(guī)劃問題及求解練習(xí)題:1.給定一個(gè)直角三角形,求包含該三角形的最小正方形。試建立該問題的模型并求解。2.建筑工地的位置(用平面坐標(biāo)a,b表示,距離單位:公里)及水泥日用量d(噸)如下表?,F(xiàn)有兩個(gè)臨時(shí)料場位于P(5,1),Q(2,7),日儲(chǔ)量各有20噸。(1)從P,Q兩個(gè)臨時(shí)料場分別向各工地運(yùn)送多少噸水泥,使總的噸公里數(shù)最小。(2)若重新建兩個(gè)料場,應(yīng)建在何處,節(jié)省的噸公里數(shù)有多大?例3非線性規(guī)劃問題及求解練習(xí)題:63例3非線性規(guī)劃問題及求解工地123456坐標(biāo)a(公里)1.258.750.55.7537.25坐標(biāo)b(公里)1.250.754.7556.57.75需求量d(噸)3547611料場P(5,1)料場Q(2,7)新料場A(?,?)新料場B(?,?)返回例3非線性規(guī)劃問題及求解工地123456坐標(biāo)a(公里)164例40-1型規(guī)劃問題及求解例4-1[選址問題]某公司準(zhǔn)備在一個(gè)城市設(shè)立3個(gè)銷售部,共有7個(gè)地點(diǎn)可供選擇,記為A1,A2,…,A7。經(jīng)過對7個(gè)地點(diǎn)進(jìn)行考察,確定了若選用Ai點(diǎn)則需投資設(shè)備bi元(投資總額不得超過B元),預(yù)計(jì)每年可贏利ci元。另外,對地點(diǎn)的選擇確定了幾條要求:(A1,A2,A3)中最多選2個(gè),(A4,A5)中至少選1個(gè),(A6,A7)中至少選1個(gè)。問:應(yīng)選擇哪幾個(gè)點(diǎn)可使年利潤達(dá)到最大?

例40-1型規(guī)劃問題及求解例4-1[選址問題]65例40-1型規(guī)劃問題及求解例4-1[選址問題]例40-1型規(guī)劃問題及求解例4-1[選址問題]66例40-1型規(guī)劃問題及求解例4-1[選址問題]取以下數(shù)據(jù)作計(jì)算B=18A1A2A3A4A5A6A7bi6573454ci16131714151615例40-1型規(guī)劃問題及求解例4-1[選址問題]B=167例40-1型規(guī)劃問題及求解例4-2[分派問題]大眾出租車公司配備有無線調(diào)度系統(tǒng),現(xiàn)有五位客人電話要車。公司調(diào)度從衛(wèi)星定位系統(tǒng)了解到本公司分別有五輛合適的可用車,車與客人的距離如下所示:為了使空馳數(shù)最小,如何為每一位客人安排車輛?空馳公里總數(shù)是多少?客A客B客C客D客E車1車2車3車4車53421535214532144321534123例40-1型規(guī)劃問題及求解例4-2[分派問題]客A68例40-1型規(guī)劃問題及求解例4-2[分派問題]客A客B客C客D客E車1車2車3車4車53421535214532144321534123客A客B客C客D客E車1車2車3車4車5x11

x12

x13

x14

x15……..……

溫馨提示

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

評論

0/150

提交評論