版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1Lingo軟件入門(mén)(1)1.LINGO快速入門(mén)2.Lingo中的集3.模型的數(shù)據(jù)部分和初始部分4.Lingo函數(shù)5.LingoWindows命令
21LINGO快速入門(mén)
當(dāng)你在windows下開(kāi)始運(yùn)行LINGO系統(tǒng)時(shí),會(huì)得到類似下面的一個(gè)窗口:外層是主框架窗口,包含了所有菜單命令和工具條,其它所有的窗口將被包含在主窗口之下。在主窗口內(nèi)的標(biāo)題為L(zhǎng)INGOModel–LINGO1的窗口是LINGO的默認(rèn)模型窗口,建立的模型都都要在該窗口內(nèi)編碼實(shí)現(xiàn)。
3LINGO8.0有兩種命令模式:與LINDO相比,LINGO軟件主要具有兩大優(yōu)點(diǎn):
Windows模式,通過(guò)下拉式菜單命令驅(qū)動(dòng)LINGO運(yùn)行命令行(Command-Line)模式,僅在命令窗口下操作1、除具有LINDO的全部功能外,還可用于求解非線性規(guī)劃問(wèn)題,包括非線性整數(shù)規(guī)劃問(wèn)題 2、LINGO包含了內(nèi)置的建模語(yǔ)言,允許以簡(jiǎn)練、直觀的方式描述較大規(guī)模的優(yōu)化問(wèn)題,模型中所需的數(shù)據(jù)可以以一定格式保存在獨(dú)立的文件中 4例1
在LINGO中求解如下的LP問(wèn)題:在模型窗口中輸入如下代碼:min=2*x1+3*x2;x1+x2>=350;x1>=100;2*x1+x2<=600;然后點(diǎn)擊工具條上的按鈕即可。
5LP問(wèn)題在lindo和lingo中不同的輸入形式:(1)將目標(biāo)函數(shù)的表示方式從“min”變成了“min=” (2)“ST”在LINGO模型中不再需要,所以被刪除了 (3)每個(gè)系數(shù)與變量間增加了運(yùn)算符“*”(即乘號(hào)不能省略) (4)每行(目標(biāo)、約束和說(shuō)明語(yǔ)句)后面均增加了一個(gè)分號(hào)“;” (5)模型結(jié)束標(biāo)志“END”也被刪除了(LINGO中只有當(dāng)模型以“MODEL:”開(kāi)始時(shí)才能以“END”結(jié)束)。 Lingo:min=2*x1+3*x2;x1+x2>=350;x1>=100;2*x1+x2<=600;
這是LINGO模型的最基本特征 Lindo:min2x1+3x2stx1+y2>=250x1>=100end 67Lingo的不同保存類型 “LG4”表示LINGO格式的模型文件,是一種特殊的二進(jìn)制格式文件,保存了我們?cè)谀P痛翱谥兴軌蚩吹降乃形谋竞推渌麑?duì)象及其格式信息,只有LINGO能讀出它,用其他系統(tǒng)打開(kāi)這種文件時(shí)會(huì)出現(xiàn)亂碼 除“LG4”文件外,這里的另外幾種格式的文件其實(shí)都是普通的文本文件,可以用任何文本編輯器打開(kāi)和編輯 “LDT”表示數(shù)據(jù)文件“LTF”表示命令腳本文件“LGR”表示報(bào)告文 8例1.2使用LINGO軟件計(jì)算6個(gè)發(fā)點(diǎn)8個(gè)收點(diǎn)的最小費(fèi)用運(yùn)輸問(wèn)題。產(chǎn)銷單位運(yùn)價(jià)如下表。運(yùn)價(jià)產(chǎn)地B1B2B3B4B5B6B7B8產(chǎn)量A16267425960A24953858255A35219743351A47673927143A52395726541A65522814352銷量3537223241324338
單位銷地9使用LINGO軟件,編制程序如下:model:!6發(fā)點(diǎn)8收點(diǎn)運(yùn)輸問(wèn)題;sets:warehouses/wh1..wh6/:capacity;vendors/v1..v8/:demand;links(warehouses,vendors):cost,volume;endsets!目標(biāo)函數(shù);
min=@sum(links:cost*volume);!需求約束;
@for(vendors(J):
@sum(warehouses(I):volume(I,J))=demand(J));!產(chǎn)量約束;
@for(warehouses(I):
@sum(vendors(J):volume(I,J))<=capacity(I));!這里是數(shù)據(jù);data:capacity=605551434152;demand=3537223241324338;cost=626742954953858252197433767392712395726555228143;enddataend為了能夠使用LINGO的強(qiáng)大功能,接著第二節(jié)的學(xué)習(xí)吧。然后點(diǎn)擊工具條上的按鈕即可。10
2Lingo中的集
對(duì)實(shí)際問(wèn)題建模的時(shí)候,總會(huì)遇到一群或多群相聯(lián)系的對(duì)象,比如工廠、消費(fèi)者群體、交通工具和雇工等等。Lingo允許把這些相聯(lián)系的對(duì)象聚合成集(sets)。一旦把對(duì)象聚合成集,就可以利用集來(lái)最大限度的發(fā)揮Lingo建模語(yǔ)言的優(yōu)勢(shì)。2.1為什么使用集2.2什么是集2.3模型的集部分2.4小結(jié)112.1為什么使用集集是Lingo建模語(yǔ)言的基礎(chǔ),是程序設(shè)計(jì)最強(qiáng)有力的基本構(gòu)件。借助于集,能夠用一個(gè)單一的、長(zhǎng)的、簡(jiǎn)明的復(fù)合公式表示一系列相似的約束,從而可以快速方便地表達(dá)規(guī)模較大的模型。例如:對(duì)于100個(gè)貨棧的運(yùn)輸問(wèn)題,如果一個(gè)一個(gè)的寫(xiě)出全部約束將是可怕的工作量。貨棧1的運(yùn)量<=存量貨棧2的運(yùn)量<=存量貨棧3的運(yùn)量<=存量………………Lingo可以采用最為簡(jiǎn)潔的表示方法:每個(gè)貨棧的運(yùn)輸量<=存量122.2什么是集集是一群相聯(lián)系的對(duì)象,這些對(duì)象也稱為集的成員。一個(gè)集可能是一系列產(chǎn)品、卡車(chē)或雇員。每個(gè)集成員可能有一個(gè)或多個(gè)與之有關(guān)聯(lián)的特征,我們把這些特征稱為屬性。屬性值可以預(yù)先給定,也可以是未知的,有待于Lingo求解。例如:(1)產(chǎn)品集中的每個(gè)產(chǎn)品可以有一個(gè)價(jià)格屬性;(2)卡車(chē)集中的每輛卡車(chē)可以有一個(gè)牽引力屬性;(3)雇員集中的每位雇員可以有一個(gè)薪水屬性,也可以有一個(gè)生日屬性等等。13
2Lingo中的集
2.2什么是集(續(xù))Lingo有兩種類型的集:
原始集(primitiveset)和派生集(derivedset)一個(gè)原始集是由一些最基本的對(duì)象組成的。例如:集合WAREHOUSE是有6個(gè)貨棧組成
集合VENDERS是由8個(gè)銷售商組成14
2Lingo中的集
2.2什么是集(續(xù))一個(gè)派生集是用一個(gè)或多個(gè)其它集來(lái)定義的,也就是說(shuō),它的成員來(lái)自于其它已存在的例如:由6個(gè)貨棧和8個(gè)銷售商之間的聯(lián)系而形成的集合(LINKS)就是派生集合,需要注意的是,派生集合也可以由其他派生集合生成152.3模型的集部分集部分是Lingo模型的一個(gè)可選部分。在Lingo模型中使用集之前,集部分必須事先定義。集部分以關(guān)鍵字“sets:”開(kāi)始,以“endsets”結(jié)束。一個(gè)模型可以沒(méi)有集部分,或有一個(gè)簡(jiǎn)單的集部分,或有多個(gè)集部分。一個(gè)集部分可以放置于模型的任何地方,但是一個(gè)集及其屬性在模型約束中被引用之前必須定義了它們。162.3模型的集部分sets:set1/1..3/:x,y;endsetsdata:x=123;y=456;enddataSet1集合定義了兩個(gè)屬性x和y。x取1、2、3三個(gè)值,而y取4、5、6三個(gè)值。sets:set1/1..3/:x,y;endsetsdata:xy=142536;enddataSet1集合定義了兩個(gè)屬性x和y。x取1、2、3三個(gè)值,而y取4、5、6三個(gè)值。172.3模型的集部分sets:warehouses/wh1..wh6/:capacity;vendors/v1..v8/:demand;links(warehouses,vendors):cost,volume;endsetsdata:capacity=605551434152;demand=3537223241324338;cost=626742954953858252197433767392712395726555228143;enddata18
2Lingo中的集
2.3.1定義原始集定義原始集的語(yǔ)法集的名字[/集的成員/][:集成員的屬性];注意:用“[]”表示該部分內(nèi)容可選。
如果集成員放在集定義中,那么對(duì)它們可采取顯式羅列和隱式羅列兩種方式。如果集成員不放在集定義中,那么可以在隨后的數(shù)據(jù)部分定義它們。19
2Lingo中的集
2.3.1定義原始集(續(xù))①當(dāng)顯式羅列成員時(shí),必須為每個(gè)成員輸入一個(gè)不同的名字,中間用空格或逗號(hào)擱開(kāi),允許混合使用。例2.1可以定義一個(gè)名為students的原始集,它具有成員John、Jill、Rose和Mike,屬性有sex和age:sets:students/JohnJill,RoseMike/:sex,age;endsets20
2Lingo中的集
2.3.1定義原始集(續(xù))②當(dāng)隱式羅列成員時(shí),不必羅列出每個(gè)集成員??刹捎萌缦抡Z(yǔ)法:集的名字/集的成員1..集的成員N/[:集成員的屬性];
隱式成員列表格式示例所產(chǎn)生集成員1..n1..51,2,3,4,5StringM..StringNCar2..car14Car2,Car3,Car4,…,Car14DayM..DayNMon..FriMon,Tue,Wed,Thu,FriMonthM..MonthNOct..JanOct,Nov,Dec,JanMonthYearM..MonthYearNOct2001..Jan2002Oct2001,Nov2001,Dec2001,Jan200221
2Lingo中的集
2.3.1定義原始集(續(xù))③集成員不放在集定義中,而在隨后的數(shù)據(jù)部分來(lái)定義。!集部分;sets:students:sex,age;endsets!數(shù)據(jù)部分;data:students,sex,age=John116Jill014 Rose017 Mike113;enddata注意:開(kāi)頭用感嘆號(hào)(!),末尾用分號(hào)(;)表示注釋,可跨多行。
22
2Lingo中的集
原始集和C++語(yǔ)言的類比23
2Lingo中的集
2.3.2定義派生集定義派生集的語(yǔ)法集的名字(父集名稱列表)[/集的成員/][:集成員的屬性];注意:用“[]”表示該部分內(nèi)容可選。
父集名稱列表是已定義的集的列表,多個(gè)時(shí)必須用逗號(hào)隔開(kāi)。如果沒(méi)有指定成員列表,那么Lingo會(huì)自動(dòng)創(chuàng)建父集成員的所有組合作為派生集的成員(參見(jiàn)下頁(yè)的例子)。派生集的父集既可以是原始集,也可以是其它的派生集。
24
2Lingo中的集
2.3.2定義派生集(續(xù))編號(hào)成員編號(hào)成員1(A,M,1)2(A,M,2)3(A,N,1)4(A,N,2)5(B,M,1)6(B,M,2)7
(B,N,1)8(B,N,2)定義派生集的例子sets:product/AB/;machine/MN/;week/1..2/;allowed(product,machine,week):x;endsets
Lingo生成了三個(gè)父集的所有組合共八組作為allowed集的成員:25
2Lingo中的集
2.3.2定義派生集(續(xù))稠密集的定義稀疏集的定義派生集成員列表方式成員列表被忽略時(shí),派生集成員由父集成員所有的組合構(gòu)成,這樣的派生集成為稠密集。
如果限制派生集的成員,使它成為父集成員所有組合構(gòu)成的集合的一個(gè)子集,這樣的派生集成為稀疏集。
①顯式羅列。 例子:allowed(product,machine,week)/AM1,AN2,BN1/;
②設(shè)置成員資格過(guò)濾器。26
2Lingo中的集
設(shè)置成員資格過(guò)濾器sets:
!學(xué)生集:性別屬性sex,1表示男性,0表示女性;年齡屬性age.;students/John,Jill,Rose,Mike/:sex,age;
!男學(xué)生和女學(xué)生的聯(lián)系集:友好程度屬性friend,[0,1]之間的數(shù)。;linkmf(students,students)|sex(&1)#eq#1#and#sex(&2)#eq#0:friend;
!男學(xué)生和女學(xué)生的友好程度大于0.5的集;linkmf2(linkmf)|friend(&1,&2)#ge#0.5:x;endsetsdata:sex,age=116014017013;friend=0.30.50.6;enddata27
2Lingo中的集
設(shè)置成員資格過(guò)濾器(續(xù))用豎線(|)來(lái)標(biāo)記一個(gè)成員資格過(guò)濾器的開(kāi)始。#eq#是邏輯運(yùn)算符,用來(lái)判斷是否“相等”,可參考§4.
&1可看作派生集的第1個(gè)原始父集的索引,它取遍該原始父集的所有成員;&2可看作派生集的第2個(gè)原始父集的索引,它取遍該原始父集的所有成員;&3,&4,……,以此類推。注意:如果派生集B的父集是另外的派生集A,那么上面所說(shuō)的原始父集是集A向前回溯到最終的原始集,其順序保持不變,并且派生集A的過(guò)濾器對(duì)派生集B仍然有效。因此,派生集的索引個(gè)數(shù)是最終原始父集的個(gè)數(shù),索引的取值是從原始父集到當(dāng)前派生集所作限制的總和。
28
2Lingo中的集
2.4小結(jié)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋抵押合同撰寫(xiě)指南
- 個(gè)人汽車(chē)融資保證合同樣本
- 2024年國(guó)家救災(zāi)帳篷政府采購(gòu)合同
- 合伙承包道路建設(shè)協(xié)議
- 2024年勞動(dòng)崗位合同
- 2024年苗圃買(mǎi)賣(mài)合同書(shū)范文
- 2024屆畢業(yè)生民事調(diào)解協(xié)議書(shū)編寫(xiě)要點(diǎn)
- 論壇合作協(xié)議書(shū)范本
- 商業(yè)店鋪裝修貸款協(xié)議
- 餐飲公司總經(jīng)理受聘合同樣本
- 《汽車(chē)檢測(cè)與診斷技術(shù)》教學(xué)設(shè)計(jì)教案
- 人工智能驅(qū)動(dòng)的智能教育教學(xué)平臺(tái)服務(wù)合同
- GB/T 19228.1-2024不銹鋼卡壓式管件組件第1部分:卡壓式管件
- 第四單元基礎(chǔ)測(cè)試卷-2024-2025學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè)
- 單位消防安全管理制度
- 地理氣溫的變化與分布課件-2024-2025學(xué)年七年級(jí)地理上學(xué)期(2024)人教版
- 中國(guó)中鐵專業(yè)分包合同范本
- 2024年計(jì)算機(jī)二級(jí)WPS考試題庫(kù)380題(含答案)
- 2024中國(guó)郵政集團(tuán)江蘇分公司春季招聘高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 道德與法治學(xué)科成績(jī)提升計(jì)劃
- 2022-2023學(xué)年北京市西城區(qū)德勝中學(xué)八年級(jí)(上)期中數(shù)學(xué)試卷【含解析】
評(píng)論
0/150
提交評(píng)論