版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)學(xué)規(guī)劃模型及數(shù)學(xué)規(guī)劃模型及LINGO講義講義 黃志勇黃志勇 河南科技大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院河南科技大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院 2一一 數(shù)學(xué)規(guī)劃引論數(shù)學(xué)規(guī)劃引論l數(shù)學(xué)規(guī)劃是運(yùn)籌學(xué)中的重要的一個(gè)大分支。數(shù)學(xué)規(guī)劃是運(yùn)籌學(xué)中的重要的一個(gè)大分支。所研究的問(wèn)題來(lái)源于軍事、經(jīng)濟(jì)、管理等所研究的問(wèn)題來(lái)源于軍事、經(jīng)濟(jì)、管理等領(lǐng)域的實(shí)際問(wèn)題。領(lǐng)域的實(shí)際問(wèn)題。l數(shù)學(xué)規(guī)劃主要包括線性規(guī)劃、非線性規(guī)劃、數(shù)學(xué)規(guī)劃主要包括線性規(guī)劃、非線性規(guī)劃、整數(shù)規(guī)劃、動(dòng)態(tài)規(guī)劃、多目標(biāo)規(guī)劃等整數(shù)規(guī)劃、動(dòng)態(tài)規(guī)劃、多目標(biāo)規(guī)劃等3l數(shù)學(xué)規(guī)劃主要解決兩個(gè)方面的問(wèn)題:數(shù)學(xué)規(guī)劃主要解決兩個(gè)方面的問(wèn)題: 一、對(duì)于給定的人力、物力和財(cái)力,怎樣一、對(duì)于給定的人力、物
2、力和財(cái)力,怎樣才能發(fā)揮他們的最大效益;才能發(fā)揮他們的最大效益; 二、對(duì)于給定的任務(wù),怎樣才能用最少的二、對(duì)于給定的任務(wù),怎樣才能用最少的人力、物力和財(cái)力去完成它。人力、物力和財(cái)力去完成它。4l從目標(biāo)函數(shù)和約束條件的表達(dá)形式分為線性和非從目標(biāo)函數(shù)和約束條件的表達(dá)形式分為線性和非線性;從變量形式可分為非負(fù)(正)的、自由的、線性;從變量形式可分為非負(fù)(正)的、自由的、整數(shù)的變量;從時(shí)間整數(shù)的變量;從時(shí)間 上可分為靜態(tài)的和動(dòng)態(tài)的;上可分為靜態(tài)的和動(dòng)態(tài)的;從目標(biāo)函數(shù)的要求上可以分為單目標(biāo)和多目標(biāo)。從目標(biāo)函數(shù)的要求上可以分為單目標(biāo)和多目標(biāo)。l而在數(shù)學(xué)建模競(jìng)賽中可能建立的模型是綜合的。而在數(shù)學(xué)建模競(jìng)賽中可能
3、建立的模型是綜合的。5l例例1 某工廠在計(jì)劃期內(nèi)要安排生產(chǎn)某工廠在計(jì)劃期內(nèi)要安排生產(chǎn)、兩種兩種產(chǎn)品,已知生產(chǎn)單位產(chǎn)品所需的設(shè)備臺(tái)時(shí),產(chǎn)品,已知生產(chǎn)單位產(chǎn)品所需的設(shè)備臺(tái)時(shí),A、B兩種原料的消耗見(jiàn)下表:兩種原料的消耗見(jiàn)下表:該廠每生產(chǎn)一件產(chǎn)品該廠每生產(chǎn)一件產(chǎn)品可獲利可獲利2元,每生產(chǎn)一件產(chǎn)品元,每生產(chǎn)一件產(chǎn)品可獲利可獲利3元。元。 問(wèn):應(yīng)如何安排生產(chǎn)計(jì)劃使該廠獲利最多問(wèn):應(yīng)如何安排生產(chǎn)計(jì)劃使該廠獲利最多? 產(chǎn)品產(chǎn)品設(shè)備設(shè)備1 12 28 8臺(tái)時(shí)臺(tái)時(shí)原料原料A A4 40 016kg16kg原料原料B B0 04 412kg12kg6l設(shè)設(shè)x1 , x2表示計(jì)劃期內(nèi)產(chǎn)品表示計(jì)劃期內(nèi)產(chǎn)品、的產(chǎn)量。的產(chǎn)
4、量。計(jì)劃期內(nèi)的利潤(rùn)計(jì)劃期內(nèi)的利潤(rùn):設(shè)備臺(tái)時(shí)數(shù)的限制條件:設(shè)備臺(tái)時(shí)數(shù)的限制條件:原材料原材料A、B的限制條件:的限制條件:根據(jù)實(shí)際意義:產(chǎn)品的產(chǎn)量均非負(fù),故根據(jù)實(shí)際意義:產(chǎn)品的產(chǎn)量均非負(fù),故 2132xxZ8221 xx12416421xx0, 021xx7l所以該問(wèn)題的數(shù)學(xué)模型為:所以該問(wèn)題的數(shù)學(xué)模型為: l目標(biāo)函數(shù):目標(biāo)函數(shù):l滿足約束條件:滿足約束條件: 2132maxxxZ0,12416482212121xxxxxx8lQ:如何求解此問(wèn)題的最優(yōu)解?如何求解此問(wèn)題的最優(yōu)解?9l對(duì)于如此簡(jiǎn)單的線性規(guī)劃問(wèn)題可以利用圖對(duì)于如此簡(jiǎn)單的線性規(guī)劃問(wèn)題可以利用圖解法、單純形法等求得最優(yōu)解。也可以利解法、
5、單純形法等求得最優(yōu)解。也可以利用用LINDO、LINGO等軟件求解。等軟件求解。10lQ:數(shù)學(xué)建模競(jìng)賽中所建模型會(huì)簡(jiǎn)單么?數(shù)學(xué)建模競(jìng)賽中所建模型會(huì)簡(jiǎn)單么?l顯然是不可能的。顯然是不可能的。l如果建模中建立的是規(guī)劃模型,那肯定是如果建模中建立的是規(guī)劃模型,那肯定是綜合的規(guī)劃模型。綜合的規(guī)劃模型。11l借助上面的例子,可以有以下幾種變形:借助上面的例子,可以有以下幾種變形:l整數(shù)規(guī)劃模型:整數(shù)規(guī)劃模型:12121212max2328416412,0Zxxxxxxx x,且取整12l 非線性規(guī)劃模型:非線性規(guī)劃模型:212121212max2328416412,0Zxxxxxxx x13l目標(biāo)規(guī)劃模
6、型:目標(biāo)規(guī)劃模型:1122233121112223312min()(3)()28416412,0,0,1,2,3iiP dPddP dxxddxddxddx xddi14lQ:這些模型如何求解呢?這些模型如何求解呢?l我們可以利用我們可以利用LINGO軟件進(jìn)行求解。軟件進(jìn)行求解。15二二 LINGOLINGO軟件介紹軟件介紹l1 LINGO入門(mén)入門(mén)l當(dāng)在當(dāng)在windows下開(kāi)始運(yùn)行下開(kāi)始運(yùn)行LINGO系統(tǒng)時(shí),會(huì)系統(tǒng)時(shí),會(huì)得到類似下面的一個(gè)窗口:得到類似下面的一個(gè)窗口:16l外層是主框架窗口,包含了所有菜單命令外層是主框架窗口,包含了所有菜單命令和工具條,其它所有的窗口將被包含在主和工具條,其它
7、所有的窗口將被包含在主窗口之下。在主窗口內(nèi)的標(biāo)題為窗口之下。在主窗口內(nèi)的標(biāo)題為L(zhǎng)INGO Model LINGO1的窗口是的窗口是LINGO的默認(rèn)的默認(rèn)模型窗口,建立的模型都都要在該窗口內(nèi)模型窗口,建立的模型都都要在該窗口內(nèi)編碼實(shí)現(xiàn)。編碼實(shí)現(xiàn)。 17l下面舉兩個(gè)例子下面舉兩個(gè)例子l例例1.1求解前面介紹的求解前面介紹的LP問(wèn)題問(wèn)題 12121212max2328416412,0Zxxxxxxx x18l在模型窗口中輸入如下代碼:在模型窗口中輸入如下代碼: max=2*x1+3*x2; x1+2*x2=8; 4*x1=16; 4*x2=12;然后點(diǎn)擊工具條上的按鈕然后點(diǎn)擊工具條上的按鈕 即可。即
8、可。或者按或者按ctr+s 19l例例1.2 使用使用LINGO軟件計(jì)算軟件計(jì)算6個(gè)發(fā)點(diǎn)個(gè)發(fā)點(diǎn)8個(gè)收個(gè)收點(diǎn)的最小費(fèi)用運(yùn)輸問(wèn)題。產(chǎn)銷單位運(yùn)價(jià)表點(diǎn)的最小費(fèi)用運(yùn)輸問(wèn)題。產(chǎn)銷單位運(yùn)價(jià)表如下所示:如下所示:2021l使用使用LINGO軟件,編制程序如下:軟件,編制程序如下:model:sets: cd/1.6/: a; xd/1.8/: b;links(cd,xd): c, x;endsetsmin=sum(links: c*x);for(xd(j): sum(cd(i): x(i,j)=b(j);22for(cd(i) sum(xd(j): x(i,j)=a(i);data: a=60 55 51 4
9、3 41 52; b=35 37 22 32 41 32 43 38; c= 6 2 6 7 4 2 9 5 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;enddataend232 LINGO中的集中的集 l集是集是LINGOLINGO建模語(yǔ)言的基礎(chǔ),是程序設(shè)計(jì)建模語(yǔ)言的基礎(chǔ),是程序設(shè)計(jì)最強(qiáng)有力的基本構(gòu)件。借助于集,能夠用最強(qiáng)有力的基本構(gòu)件。借助于集,能夠用一個(gè)單一的、長(zhǎng)的、簡(jiǎn)明的復(fù)合公式表示一個(gè)單一的、長(zhǎng)的、簡(jiǎn)明的復(fù)合公式表示一系列相似的約束,從而可以快速方便地一系列相似的約束
10、,從而可以快速方便地表達(dá)規(guī)模較大的模型。表達(dá)規(guī)模較大的模型。24l集是一群相聯(lián)系的對(duì)象,這些對(duì)象也稱為集的集是一群相聯(lián)系的對(duì)象,這些對(duì)象也稱為集的成員成員。一個(gè)集可能是一系列產(chǎn)品、卡車或雇員。一個(gè)集可能是一系列產(chǎn)品、卡車或雇員。每個(gè)集成員可能有一個(gè)或多個(gè)與之有關(guān)聯(lián)的特每個(gè)集成員可能有一個(gè)或多個(gè)與之有關(guān)聯(lián)的特征,我們把這些特征稱為征,我們把這些特征稱為屬性屬性。屬性值可以預(yù)。屬性值可以預(yù)先給定,也可以是未知的,有待于先給定,也可以是未知的,有待于LINGO求解。求解。例如,產(chǎn)品集中的每個(gè)產(chǎn)品可以有一個(gè)價(jià)格屬例如,產(chǎn)品集中的每個(gè)產(chǎn)品可以有一個(gè)價(jià)格屬性;卡車集中的每輛卡車可以有一個(gè)牽引力屬性;卡車集
11、中的每輛卡車可以有一個(gè)牽引力屬性;雇員集中的每位雇員可以有一個(gè)薪水屬性,性;雇員集中的每位雇員可以有一個(gè)薪水屬性,也可以有一個(gè)生日屬性等等。也可以有一個(gè)生日屬性等等。25lLINGO有兩種類型的集:原始集有兩種類型的集:原始集(primitiveset)和派生集和派生集(derived set)。l一個(gè)原始集是由一些最基本的對(duì)象組成的。一個(gè)原始集是由一些最基本的對(duì)象組成的。l一個(gè)派生集是用一個(gè)或多個(gè)其它集來(lái)定義一個(gè)派生集是用一個(gè)或多個(gè)其它集來(lái)定義的,也就是說(shuō),它的成員來(lái)自于其它已存的,也就是說(shuō),它的成員來(lái)自于其它已存在的集。在的集。26l集部分集部分是LINGO模型的一個(gè)可選部分。在LINGO
12、模型中使用集之前,必須在集部分事先定義。集部分以關(guān)鍵字“sets:”開(kāi)始,以“endsets”結(jié)束。一個(gè)模型可以沒(méi)有集部分,或有一個(gè)簡(jiǎn)單的集部分,或有多個(gè)集部分。一個(gè)集部分可以放置于模型的任何地方,但是一個(gè)集及其屬性在模型約束中被引用之前必須定義它們。27l如何定義原始集如何定義原始集 為了定義一個(gè)原始集,必須詳細(xì)聲明:為了定義一個(gè)原始集,必須詳細(xì)聲明: 集的名字集的名字 可選,集的成員可選,集的成員 可選,集成員的屬性可選,集成員的屬性定義一個(gè)原始集,用下面的語(yǔ)法:定義一個(gè)原始集,用下面的語(yǔ)法:setname/member_list/:attribute_list; 注意:用注意:用“”表示
13、該部分內(nèi)容可選。表示該部分內(nèi)容可選。 28lSetname是你選擇的來(lái)標(biāo)記集的名字,最是你選擇的來(lái)標(biāo)記集的名字,最好具有較強(qiáng)的可讀性。集名字必須嚴(yán)格符好具有較強(qiáng)的可讀性。集名字必須嚴(yán)格符合標(biāo)準(zhǔn)命名規(guī)則:以拉丁字母或下劃線合標(biāo)準(zhǔn)命名規(guī)則:以拉丁字母或下劃線(_ _)為首字符,其后由拉丁字母()為首字符,其后由拉丁字母(AAZ Z)、下劃線、阿拉伯?dāng)?shù)字()、下劃線、阿拉伯?dāng)?shù)字(0 0,1 1,9 9)組成的總長(zhǎng)度不超過(guò)組成的總長(zhǎng)度不超過(guò)3232個(gè)字符的字符串,個(gè)字符的字符串,且不區(qū)分大小寫(xiě)。且不區(qū)分大小寫(xiě)。 29lMember_list是集成員列表。如果集成員放是集成員列表。如果集成員放在集定義中
14、,那么對(duì)它們可采取顯式羅列在集定義中,那么對(duì)它們可采取顯式羅列和隱式羅列兩種方式。如果集成員不放在和隱式羅列兩種方式。如果集成員不放在集定義中,那么可以在隨后的數(shù)據(jù)部分定集定義中,那么可以在隨后的數(shù)據(jù)部分定義它們。義它們。l 當(dāng)顯式羅列成員時(shí),必須為每個(gè)成員當(dāng)顯式羅列成員時(shí),必須為每個(gè)成員輸入一個(gè)不同的名字,中間用空格或逗號(hào)輸入一個(gè)不同的名字,中間用空格或逗號(hào)擱開(kāi),允許混合使用。擱開(kāi),允許混合使用。30l例例2.1 可以定義一個(gè)名為students的原始集,它具有成員John、Jill、Rose和Mike,屬性有sex和age:sets: students/John Jill, Rose Mi
15、ke/: sex, age;endsets31l 當(dāng)隱式羅列成員時(shí),不必羅列出每個(gè)集當(dāng)隱式羅列成員時(shí),不必羅列出每個(gè)集成員??刹捎萌缦抡Z(yǔ)法:成員??刹捎萌缦抡Z(yǔ)法:setname/member1.memberN/:attribute_list; 這里的這里的member1member1是集的第一個(gè)成員名,是集的第一個(gè)成員名,memberNmemberN是集的最末一個(gè)成員名。是集的最末一個(gè)成員名。LINGOLINGO將將自動(dòng)產(chǎn)生中間的所有成員名。自動(dòng)產(chǎn)生中間的所有成員名。LINGOLINGO也接受也接受一些特定的首成員名和末成員名,用于創(chuàng)一些特定的首成員名和末成員名,用于創(chuàng)建一些特殊的集。列表如下
16、:建一些特殊的集。列表如下:32隱式成員列表格式隱式成員列表格式示例示例所產(chǎn)生集成員所產(chǎn)生集成員1.n1.n1.51.51,2,3,4,51,2,3,4,5StringM.StringNStringM.StringNCar2.car14Car2.car14Car2,Car3,Car4,Car2,Car3,Car4,Car14,Car14DayM.DayNDayM.DayNMon.FriMon.FriMon,Tue,Wed,Thu,FriMon,Tue,Wed,Thu,FriMonthM.MonthNMonthM.MonthNOct.JanOct.JanOct,Nov,Dec,JanOct,No
17、v,Dec,JanMonthYearM.MonthYearNMonthYearM.MonthYearNOct2001.Jan2002Oct2001.Jan2002Oct2001,Nov2001,Dec2001,JaOct2001,Nov2001,Dec2001,Jan2002n200233l 集成員不放在集定義中,而在隨后的數(shù)據(jù)部分?jǐn)?shù)據(jù)部分來(lái)定義。例例2.2sets: students:sex,age;endsetsdata: students,sex,age= John 1 16 Jill 0 14 Rose 0 17 Mike 1 13;enddata34l如何定義派生集如何定義派生集為了
18、定義一個(gè)派生集,必須詳細(xì)聲明:為了定義一個(gè)派生集,必須詳細(xì)聲明:集的名字集的名字 父集的名字父集的名字 可選,集成員可選,集成員 可選,集成員的屬性可選,集成員的屬性可用下面的語(yǔ)法定義一個(gè)派生集:可用下面的語(yǔ)法定義一個(gè)派生集:setname(parent_set_list)/member_list/:attribute_list; 35lsetname是集的名字。是集的名字。parent_set_list是已是已定義的集的列表,多個(gè)時(shí)必須用逗號(hào)隔開(kāi)。定義的集的列表,多個(gè)時(shí)必須用逗號(hào)隔開(kāi)。如果沒(méi)有指定成員列表,那么如果沒(méi)有指定成員列表,那么LINGOLINGO會(huì)自會(huì)自動(dòng)創(chuàng)建父集成員的所有組合作為
19、派生集的動(dòng)創(chuàng)建父集成員的所有組合作為派生集的成員。派生集的父集既可以是原始集,也成員。派生集的父集既可以是原始集,也可以是其它的派生集??梢允瞧渌呐缮?。 36l例例2.3sets: product/A B/; machine/M N/; week/1.2/; allowed(product,machine,week):x;endsets37l成員列表被忽略時(shí),派生集成員由父集成成員列表被忽略時(shí),派生集成員由父集成員所有的組合構(gòu)成,這樣的派生集成為員所有的組合構(gòu)成,這樣的派生集成為稠稠密集密集。l如果限制派生集的成員,使它成為父集成如果限制派生集的成員,使它成為父集成員所有組合構(gòu)成的集合的一
20、個(gè)子集,這樣員所有組合構(gòu)成的集合的一個(gè)子集,這樣的派生集成為的派生集成為稀疏集稀疏集。 38l如何生成如何生成稀疏集稀疏集?l有兩種方式生成:有兩種方式生成:顯式羅列;顯式羅列;設(shè)置成設(shè)置成員資格過(guò)濾器。員資格過(guò)濾器。 使用前面的例子,顯式羅列派生集的成員:使用前面的例子,顯式羅列派生集的成員:allowed(product,machine,week)/A M 1,A N 2,B N 1/; 39l如果需要生成一個(gè)大的、稀疏的集,那么如果需要生成一個(gè)大的、稀疏的集,那么顯式羅列就很討厭。幸運(yùn)地是許多稀疏集顯式羅列就很討厭。幸運(yùn)地是許多稀疏集的成員都滿足一些條件以和非成員相區(qū)分。的成員都滿足一些
21、條件以和非成員相區(qū)分。我們可以把這些邏輯條件看作我們可以把這些邏輯條件看作過(guò)濾器過(guò)濾器,在,在LINGO生成派生集的成員時(shí)把使邏輯條生成派生集的成員時(shí)把使邏輯條件為假的成員從稠密集中過(guò)濾掉。件為假的成員從稠密集中過(guò)濾掉。40l例例2.4sets: students/John,Jill,Rose,Mike/:sex,age; linkmf(students,students)|sex(&1) #eq# 1 #and# sex(&2) #eq# 0: friend; linkmf2(linkmf) | friend(&1,&2) #ge# 0.5 : x;endse
22、tsdata: sex,age = 1 16 0 14 0 17 1 13; friend = 0.3 0.5 0.6 0.4;enddata41l用豎線(用豎線(|)來(lái)標(biāo)記一個(gè)成員資格過(guò)濾器)來(lái)標(biāo)記一個(gè)成員資格過(guò)濾器的開(kāi)始。的開(kāi)始。#eq#是邏輯運(yùn)算符,用來(lái)判斷是邏輯運(yùn)算符,用來(lái)判斷是否是否“相等相等”,可參考,可參考4. &1可看作派可看作派生集的第生集的第1個(gè)原始父集的索引,它取遍該個(gè)原始父集的索引,它取遍該原始父集的所有成員;原始父集的所有成員;&2可看作派生集可看作派生集的第的第2 個(gè)原始父集的索引,它取遍該原始個(gè)原始父集的索引,它取遍該原始父集的所有成員;父集的所有
23、成員;&3,&4,以此,以此類推。類推。 42l注意如果派生集注意如果派生集B的父集是另外的派生集的父集是另外的派生集A,那么上面所說(shuō)的原始父集是集,那么上面所說(shuō)的原始父集是集A向前向前回溯到最終的原始集,其順序保持不變,回溯到最終的原始集,其順序保持不變,并且派生集并且派生集A的過(guò)濾器對(duì)派生集的過(guò)濾器對(duì)派生集B仍然有仍然有效。因此,派生集的索引個(gè)數(shù)是最終原始效。因此,派生集的索引個(gè)數(shù)是最終原始父集的個(gè)數(shù),索引的取值是從原始父集到父集的個(gè)數(shù),索引的取值是從原始父集到當(dāng)前派生集所作限制的總和。當(dāng)前派生集所作限制的總和。 43l總的來(lái)說(shuō),總的來(lái)說(shuō),LINGO可識(shí)別的集只有兩種可識(shí)別
24、的集只有兩種類型:原始集和派生集。類型:原始集和派生集。l不同集類型的關(guān)系見(jiàn)下圖。不同集類型的關(guān)系見(jiàn)下圖。 集集稠密集稠密集原始集原始集顯式羅顯式羅列列稀疏集稀疏集過(guò)濾器過(guò)濾器派生集派生集LINGO集類型443 模型的數(shù)據(jù)部分和初始部分模型的數(shù)據(jù)部分和初始部分l 在處理模型的數(shù)據(jù)時(shí),需要為集指派一些在處理模型的數(shù)據(jù)時(shí),需要為集指派一些成員并且在成員并且在LINGOLINGO求解模型之前為集的某些求解模型之前為集的某些屬性指定值。為此,屬性指定值。為此,LINGOLINGO為用戶提供了兩為用戶提供了兩個(gè)可選部分:輸入集成員和數(shù)據(jù)的個(gè)可選部分:輸入集成員和數(shù)據(jù)的數(shù)據(jù)部數(shù)據(jù)部分分(Data Sect
25、ionData Section)和為決策變量設(shè)置初)和為決策變量設(shè)置初始值的始值的初始部分初始部分(InitSectionInitSection)。)。 45l3.1 模型的數(shù)據(jù)部分模型的數(shù)據(jù)部分 數(shù)據(jù)部分以關(guān)鍵字“data:”開(kāi)始,以關(guān)鍵字“enddata”結(jié)束。在這里,可以指定集成員、集的屬性。其語(yǔ)法如下: object_list = value_list;46l例例3.1sets: set1/A,B,C/: X,Y;endsetsdata: X=1,2,3; Y=4,5,6;enddata 在集set1中定義了兩個(gè)屬性X和Y。X的三個(gè)值是1、2和3,Y的三個(gè)值是4、5和6。也可采用如下例
26、子中的復(fù)合數(shù)數(shù)據(jù)聲明據(jù)聲明(data statement)實(shí)現(xiàn)同樣的功能。47l例例3.2sets: set1/A,B,C/: X,Y;endsetsdata: X,Y=1 4 2 5 3 6;enddata48l實(shí)時(shí)數(shù)據(jù)處理實(shí)時(shí)數(shù)據(jù)處理 在某些情況,對(duì)于模型中的某些數(shù)據(jù)并不在某些情況,對(duì)于模型中的某些數(shù)據(jù)并不是定值。譬如模型中有一個(gè)通貨膨脹率的是定值。譬如模型中有一個(gè)通貨膨脹率的參數(shù),我們想在參數(shù),我們想在2%至至6%范圍內(nèi),對(duì)不同范圍內(nèi),對(duì)不同的值求解模型,來(lái)觀察模型的結(jié)果對(duì)通貨的值求解模型,來(lái)觀察模型的結(jié)果對(duì)通貨膨脹的依賴有多么敏感。我們把這種情況膨脹的依賴有多么敏感。我們把這種情況稱為
27、實(shí)時(shí)數(shù)據(jù)處理(稱為實(shí)時(shí)數(shù)據(jù)處理(what if analysis)。)。LINGO有一個(gè)特征可方便地做到這件事。有一個(gè)特征可方便地做到這件事。 在本該放數(shù)的地方輸入一個(gè)問(wèn)號(hào)(在本該放數(shù)的地方輸入一個(gè)問(wèn)號(hào)(?)。)。 49l例例3.5data: interest_rate,inflation_rate = .085 ?;enddata 每一次求解模型時(shí),LINGO都會(huì)提示為參數(shù)inflation_rate輸入一個(gè)值。在WINDOWS操作系統(tǒng)下,將會(huì)接收到一個(gè)類似下面的對(duì)話框:50l直接輸入一個(gè)值再點(diǎn)擊直接輸入一個(gè)值再點(diǎn)擊OK按鈕,按鈕,LINGO就會(huì)把就會(huì)把輸入的值指定給輸入的值指定給infla
28、tion_rate,然后繼續(xù)求解模,然后繼續(xù)求解模型。型。51l指定屬性為一個(gè)值指定屬性為一個(gè)值 可以在數(shù)據(jù)聲明的右邊輸入一個(gè)值來(lái)把所有的可以在數(shù)據(jù)聲明的右邊輸入一個(gè)值來(lái)把所有的成員的該屬性指定為一個(gè)值。看下面的例子。成員的該屬性指定為一個(gè)值??聪旅娴睦?。例例3.6sets: days /MO,TU,WE,TH,FR,SA,SU/:needs;endsetsdata: needs = 20;enddata52l例例3.7sets: days /MO,TU,WE,TH,FR,SA,SU/:needs,cost;endsetsdata: needs cost = 20 100;enddata53
29、l數(shù)據(jù)部分的未知數(shù)值數(shù)據(jù)部分的未知數(shù)值l例例3.8sets: years/1.5/: capacity;endsetsdata: capacity = ,34,20, , ;enddata屬性屬性capacity的第的第2個(gè)和第個(gè)和第3個(gè)值分別為個(gè)值分別為34和和20,其余的未知。其余的未知。54l模型的初始部分模型的初始部分 對(duì)實(shí)際問(wèn)題的建模時(shí),初始部分并不起到對(duì)實(shí)際問(wèn)題的建模時(shí),初始部分并不起到描述模型的作用,在初始部分輸入的值僅描述模型的作用,在初始部分輸入的值僅被被LINGO求解器當(dāng)作初始點(diǎn)來(lái)用,并且求解器當(dāng)作初始點(diǎn)來(lái)用,并且僅僅對(duì)僅僅對(duì)非線性模型非線性模型有用。一個(gè)初始部分以有用。一
30、個(gè)初始部分以“init:”開(kāi)始,以開(kāi)始,以“endinit”結(jié)束。結(jié)束。 55l例例3.9init: X, Y = 0, .1;endinitY=log(X);X2+Y2=1;好的初始點(diǎn)會(huì)減少模型的求解時(shí)間。好的初始點(diǎn)會(huì)減少模型的求解時(shí)間。564 LINGO函數(shù)函數(shù)lLINGO有9種類型的函數(shù):1 基本運(yùn)算符:包括算術(shù)運(yùn)算符、邏輯運(yùn)算符和關(guān)系運(yùn)算符2 數(shù)學(xué)函數(shù):三角函數(shù)和常規(guī)的數(shù)學(xué)函數(shù)3 金融函數(shù):LINGO提供的兩種金融函數(shù)4 概率函數(shù):LINGO提供了大量概率相關(guān)的函數(shù)5 變量界定函數(shù):這類函數(shù)用來(lái)定義變量的取值范圍6 集操作函數(shù):這類函數(shù)為對(duì)集的操作提供幫助7 集循環(huán)函數(shù):遍歷集的元素,
31、執(zhí)行一定的操作的函數(shù)8 數(shù)據(jù)輸入輸出函數(shù):這類函數(shù)允許模型和外部數(shù)據(jù)源 相聯(lián)系,進(jìn)行數(shù)據(jù)的輸入輸出9 輔助函數(shù):各種雜類函數(shù)57l 基本運(yùn)算符基本運(yùn)算符 l算術(shù)運(yùn)算符算術(shù)運(yùn)算符 算術(shù)運(yùn)算符是針對(duì)數(shù)值進(jìn)行操作的。算術(shù)運(yùn)算符是針對(duì)數(shù)值進(jìn)行操作的。LINGO提提供了供了5種二元運(yùn)算符:種二元運(yùn)算符:乘方乘方乘乘除除加加減減58lLINGOLINGO唯一的一元算術(shù)運(yùn)算符是取反函數(shù)唯一的一元算術(shù)運(yùn)算符是取反函數(shù)“”。l這些運(yùn)算符的優(yōu)先級(jí)由高到底為:這些運(yùn)算符的優(yōu)先級(jí)由高到底為: 高(取反)高(取反) 低低l例例4.1 4.1 算術(shù)運(yùn)算符示例算術(shù)運(yùn)算符示例。 253,(24)5 59l邏輯運(yùn)算符邏輯運(yùn)算符 LINGOLINGO具有種邏輯運(yùn)算符:具有種邏輯運(yùn)算符:#not#not# 否定該操作數(shù)的邏輯值,否定該操作數(shù)的邏輯值,notnot是一個(gè)一元運(yùn)算符是一個(gè)一元運(yùn)算符#eq#eq# #若兩個(gè)運(yùn)算數(shù)相等,則為若兩個(gè)運(yùn)算數(shù)相等,則為truetrue;否則為;否則為flaseflase#ne#ne# # 若兩個(gè)運(yùn)算符不相等,則為若兩個(gè)運(yùn)算符不相等,則為truetrue;否則為;否則為flaseflase#gt#gt# # 若左邊的運(yùn)算符嚴(yán)格大于右邊的運(yùn)算符,則為若左邊的運(yùn)算符嚴(yán)格大于右邊的運(yùn)算符,則為truetrue; 否則為否則為flaseflase#ge#ge# # 若左邊的運(yùn)算符
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年林業(yè)應(yīng)對(duì)氣候變化崗位試題含答案
- 互聯(lián)網(wǎng)金融合規(guī)培訓(xùn)課件
- 健身行業(yè)安全與健康指導(dǎo)手冊(cè)(標(biāo)準(zhǔn)版)
- 2026年劇本殺運(yùn)營(yíng)公司員工入職培訓(xùn)管理制度
- 2026年劇本殺運(yùn)營(yíng)公司劇本結(jié)局演繹規(guī)范管理制度
- 智能圖像識(shí)別在2025年跨境數(shù)字內(nèi)容審核平臺(tái)的應(yīng)用可行性研究
- 產(chǎn)后健康評(píng)估與隨訪管理
- 2025年太陽(yáng)能光伏板回收十年技術(shù)報(bào)告
- 交通輔警面試題目及答案
- 2026年柔性顯示材料創(chuàng)新應(yīng)用報(bào)告
- 2024-2025學(xué)年江蘇省南京市玄武區(qū)八年級(jí)上學(xué)期期末語(yǔ)文試題及答案
- 專升本語(yǔ)文教學(xué)課件
- 別人買房子給我合同范本
- 電力通信培訓(xùn)課件
- 中建三局2024年項(xiàng)目經(jīng)理思維導(dǎo)圖
- 基層黨建知識(shí)測(cè)試題及答案
- DG-TJ08-2021-2025 干混砌筑砂漿抗壓強(qiáng)度現(xiàn)場(chǎng)檢測(cè)技術(shù)標(biāo)準(zhǔn)
- 鼻竇炎的護(hù)理講課課件
- 腸系膜脂膜炎CT診斷
- 體外膜肺氧合技術(shù)ECMO培訓(xùn)課件
- 老年醫(yī)院重點(diǎn)專科建設(shè)方案
評(píng)論
0/150
提交評(píng)論