版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、常用數(shù)學軟件之Lingo張洪波 主講,Lingo基本編程,1. LINGO的主要功能特色:,LINGO是Linear Interactive and General Optimizer的縮寫,即“交互式的線性和通用優(yōu)化求解器”,由美國LINDO系統(tǒng)公司(Lindo System Inc.)推出的.求解線性規(guī)劃問題,也有較強的求解非線性規(guī)劃問題的能力;內置建模語言,提供幾十個內部函數(shù),從而能以較少語句,較直
2、觀的方式描述較大規(guī)模的優(yōu)化模型;將集合的概念引入編程語言,很容易將實際問題轉換為LINGO模型;,,§1.1 LINGO入門,2. LINGO的基本用法.,【目標函數(shù)】,,【約束條件】,結果:,求目標函數(shù)的最大值和最小值分別用MAX=…或MIN=…來表示;每個語句必須以分號“;”結束,每行可以有多個語句,語句可以跨行;變量名稱必須以字母(A-Z)開頭,由字母、數(shù)字(0-9)和下劃線“_”組成,不區(qū)分大小寫;可以給語句
3、加上標號,例如[OBJ] MAX= … ;以“!”開頭,以“;”結束的語句是注釋語句;默認所有決策變量都非負;LINGO模型以語句“MODEL:”開頭,以“END”結束,對于比較簡單的模型,這兩句可以省略;,LINGO的語法規(guī)定,新建,打開,保存,剪切,復制,查找,求解,在線幫助,,文件菜單,,編輯菜單,,LINGO菜單,,窗口菜單,,幫助菜單,§1.2 了解LINGO的菜單,,◆生成模型的展開形式,為當前模型
4、生成一個用代數(shù)表達式表示的完整形式,即LINGO將所有基于集合的表達式(目標函數(shù)和約束條件)擴展成為等價的完全展開的普通數(shù)學表達式模型.,,◆生成圖形,由模型生成圖形,以矩陣形式顯示模型的系數(shù).,◆調試,,◆模型統(tǒng)計資料,,調試結果,找到充分行(Sufficient Rows)和必要行(Necessary Rows).,◆查看(以為本方式顯示模型內容),,,◆命令行窗口,主要是為用戶交互地測試命令腳本而設計.(通常不用),,◆狀態(tài)窗口,
5、[變量],[約束],[非零系數(shù)],[內存使用量],[已運行時間],[求解器狀態(tài)],[擴展求解器狀態(tài)],,變量限制,一、 LINGO模型的基本組成.,例3.,某公司有6個供貨棧, 庫存貨物總數(shù)分別為60, 55, 51, 43, 41, 52, 現(xiàn)有8個客戶各要一批貨, 數(shù)量分別為35, 37, 22, 32, 41, 32, 43, 38. 各供貨棧到8個客戶處的單位貨物運輸價見下表,試確定各貨棧到各客戶處的貨物調運數(shù)量, 使總的運輸費
6、用最小,§1.3 用LINGO編程語言建立模型,解:,設xij從第i個貨棧到第j個客戶的運貨量, cij表示從第i個貨棧到第j個客戶的單位貨物運價, ai表示第i個貨棧的最大供貨量, dj表示第j個客戶的訂貨量,模型如下,,集合是一組相關對象構成的組合,相當與數(shù)組,,例. 定義集合(數(shù)組)ai和dj ,運貨量xij ,貨物運價cij (i=1,…,6;j=1,…,8),SETS: WH / 1..6 /: a;
7、 VD / 1..8 /: d; LINKS(WH, VD) :c, x;ENDSETS,相當于定義了變量 a(1),…,a(6);d(1),…,d(8);c(1,1),…,c(6,8);……,1. 集合定義部分,如何給例3中的集合AI, DJ, C, X賦值?,DATA:a = 60, 55, 51, 43, 41, 52; d = 35, 37, 22, 32, 41, 32, 43, 38; c =6,
8、 2, 6, 7, 4, 2, 5, 9 4, 9, 5, 3, 8, 5, 8, 2 5, 2, 1, 9, 7, 4, 3, 3 7, 6, 7, 3, 9, 2, 7, 1 2, 3, 9, 5, 7, 2, 6, 5 5, 5, 2, 2, 8, 1, 4, 3; ENDDATA,注: ①數(shù)據(jù)初始化部分以“DATA:” 開始, 以ENDDATA結束,
9、 這兩個語句必須單獨成一行; ②數(shù)據(jù)之間的逗號和空格可以替換,2. 數(shù)據(jù)初始化.,3. 目標函數(shù)和約束條件.,例3的目標函數(shù):,用LINGO語句表示為:,MIN = @SUM(LINKS(i, j): c(i, j)*x(i, j));,注: ①,@SUM是LINGO提供的內部函數(shù),其作用是對某個集合的所有成員,求指定表達式的和.,@SUM有兩個參數(shù):集合名稱和表達式,② 如果表達式中參與運算的屬性屬于同一個集合,則
10、 @SUM的索引可以省略. 即,MIN = @SUM(LINKS: c*x);,例3的約束條件:,用LINGO語句表示為:,@FOR(WH(i): @SUM(VD(j): x(i, j))<=a(i));,注: ①,@FOR是LINGO提供的內部函數(shù),其作用是對某個集合的所有成員分別生成一個約束表達式.,@FOR有兩個參數(shù):集合名和約束表達式,這里的集合名表示對該集合所有成員生成對應約束表達式,問: 語句中的I, J能
11、不能省略?,用LINGO語句表示為:,@FOR(VD(j): @SUM(WH(i): X(i, j)) =d(j));,model:SETS: WH / 1..6 /: a; VD / 1..8 /: d; LINKS(WH,VD) :c, x;ENDSETS DATA:a=60,55,51,43,41,52; d=35,37,22,32,41,32,43,38; c= 6,2,6,7,4
12、,2,5,9 4,9,5,3,8,5,8,2 5,2,1,9,7,4,3,3 7,6,7,3,9,2,7,1 2,3,9,5,7,2,6,5 5,5,2,2,8,1,4,3; ENDDATAMIN = @SUM(LINKS(i, j):c(i,j)*x(i, j));@FOR(WH(i):@SUM(VD(j):x(i,j))<=a(i));@FOR(VD(j):@
13、SUM(WH(i):x(i,j))=d(j));,,§1.4 LINGO的運算符和函數(shù),1. 算術運算符.,^ * / + -,2. 邏輯運算符.,一、 LINGO的常用運算符.,3. 關系運算符.,關系運算符通常用在條件表達式中,用來指定約束條件表達式左邊與右邊必須滿足的關系. 有以下三種:,= =,注:①LINGO沒有單獨的“”關系,如果出現(xiàn)了單個“”,L
14、INGO認為是省略了“=”.②如果需要嚴格?。ù螅┯陉P系,如A嚴格小于B,可以表示成:A+e<=B,e為一個小正數(shù),,例. 計算 2#GT#3#AND#4#GT#2,結果為 0(FALSE),二、數(shù)學函數(shù).,三、概率函數(shù).,上表中,前五個函數(shù)的表示形式為:,@函數(shù)名(集合名|條件:表達式),例. “@FOR(VD(J)|J#NE#5:表達式e);”表示什么含義?,四、集合操作函數(shù),@FOR(WH(i):@SUM(VD(j):
15、x(i, j))<=a(i));,SETS: WH / 1..6 /: a; VD / 1..8 /: d; LINKS(WH, VD) :c, x;ENDSETS,相當于:,@BND函數(shù)可以用約束條件代替,但使用@BND函數(shù)表達變量的取值范圍比使用約束條件的求解速度快, 且不計入約束條件的數(shù)目中.@FREE(X)的作用是取消對變量X的默認非負設置.,例. 求函數(shù) z = (x+2)2 + (y
16、-2)2的最小值.,五、變量定界函數(shù).,例. 求函數(shù) z = (x+2)2 + (y-2)2的最小值.,min=(x+2)^2+(y-2)^2;@free(x);,例. 用@IF表示下列函數(shù).,f = @IF(x#LE#500,4*x,500+3*x);,或 f = @IF(x#GT#500,500+3*x,4*x);,六、其他函數(shù).,七、文件輸入輸出函數(shù).,@file函數(shù):該函數(shù)用從外部文件中輸入數(shù)據(jù),可以放在模型中任何地方。該函
17、數(shù)的語法為: @file(’filename’)@text函數(shù):該函數(shù)被用在數(shù)據(jù)部分用來把解輸出至文本文件中。它可以輸出集成員和集屬性值。其語法為: @text([’filename’])具體用法可參看有關資料,DATA:a=60,55,51,43,41,52;d=35,37,22,32,41,32,43,38;c= 6,2,6,7,4,2,5,9 4,9,5,3,8,5,8,2 5,2,1,9,7,4,
18、3,3 7,6,7,3,9,2,7,1 2,3,9,5,7,2,6,5 5,5,2,2,8,1,4,3; ENDDATAMIN=……,建立單獨文本文件A.txt60,55,51,43,41,52~35,37,22,32,41,32,43,38~ 6,2,6,7,4,2,5,9 4,9,5,3,8,5,8,2 5,2,1,9,7,4,3,3 7,6,7,3,9,2a,7,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)學建模講座優(yōu)化建模與lingo優(yōu)化軟件
- 優(yōu)化模型與lingo優(yōu)化軟件
- lingo軟件解整數(shù)線形規(guī)劃實驗報告
- 張洪波詩歌審美意蘊研究
- lingo教程
- lingo實驗報告學習lingo心得
- lingo例題教程
- lingo軟件對發(fā)行基金調撥分中心選址模型的作用
- lingo使用教程
- 優(yōu)化模型與lindo-lingo優(yōu)化軟件教程-來自清華大學數(shù)學科學系
- lingo報錯表
- lingo出錯信息
- 常用軟件操作
- 常用辦公軟件試題
- 華碩常用軟件
- 常用辦公軟件試題
- 運用lingo和matlab軟件求解線性規(guī)劃問題的比較研究
- 常用短語之off
- 常用軟件故障
- 常用辦公軟件試題
評論
0/150
提交評論