資源描述:
《線性規(guī)劃和非線性規(guī)劃》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第4講線性規(guī)劃和非線性規(guī)劃數(shù)學(xué)建模與數(shù)學(xué)實(shí)驗(yàn)西南科技大學(xué)理學(xué)院楊學(xué)南yangxuenan@swust.edu.cnLingo優(yōu)化軟件的使用方法Lingo安裝完成,啟動(dòng)后,可以看到如下界面算術(shù)運(yùn)算負(fù)號(hào):+(加法)-(減法)*(乘法)/(除法)^(乘冪)邏輯運(yùn)算符號(hào):#AND#(與)#OR#(或)#NOT#(非)#EQ#(等于)#NE#(不等于)#GT#(大于)#GE#(大于等于)#LT#(小于)#LE#(小于等于)邏輯運(yùn)算的結(jié)果只有“真”(TRUE)和“假”(FALES),Llingo用1表示True,其它的都是False。關(guān)系運(yùn)算符號(hào):<(<
2、=)小于等于,=(等于),>(>=)大于等于Lingo的運(yùn)算符號(hào)Lingo函數(shù)常見函數(shù):@abs@cos@exp@floor(取整)@lgm(自變量的gama函數(shù)的自然對(duì)數(shù))@smax(list)(返回列數(shù)的最大值)@smin@sin@tan集合循環(huán)函數(shù)@function(setname[(set_index_list)[
3、condition]]:expression_list);其中,function是集合函數(shù)名,有for,max,min,sum四種;setname是集合名;set_index_list是集合索引列表;condition是邏
4、輯表達(dá)式描述的條件;expresstoin_list是一個(gè)表達(dá)式,對(duì)@for函數(shù)可以有一組表達(dá)式。@for對(duì)集合setname的每個(gè)元素獨(dú)立生成約束,約束由expression_list描述。@max、@min、@sum依次返回集合setname上的表達(dá)式的最大值、最小值、和。例1:任務(wù)分配問題:某車間有甲、乙兩臺(tái)機(jī)床,可用于加工三種工件。假定這兩臺(tái)車床的可用臺(tái)時(shí)數(shù)分別為800和900,三種工件的數(shù)量分別為400、600和500,且已知用三種不同車床加工單位數(shù)量不同工件所需的臺(tái)時(shí)數(shù)和加工費(fèi)用如下表。問怎樣分配車床的加工任務(wù),才能既滿足加工工件
5、的要求,又使加工費(fèi)用最低?一、線性規(guī)劃解設(shè)在甲車床上加工工件1、2、3的數(shù)量分別為x1、x2、x3,在乙車床上加工工件1、2、3的數(shù)量分別為x4、x5、x6。可建立以下線性規(guī)劃模型:解答在lingo下編程:model:min=13*x1+9*x2+10*x3+11*x4+12*x5+8*x6;x1+x4=400;x2+x5=600;x3+x6=500;0.4*x1+1.1*x2+x3<800;0.5*x4+1.2*x5+1.3*x6<900;endLINGO的基本用法的幾點(diǎn)注意事項(xiàng)LINGO中不區(qū)分大小寫字母;變量和行名可以超過(guò)8個(gè)字符,但不
6、能超過(guò)32個(gè)字符,且必須以字母開頭。用LINGO解優(yōu)化模型時(shí)已假定所有變量非負(fù)(除非用限定變量取值范圍的函數(shù)@free或@sub或@slb另行說(shuō)明)。變量可以放在約束條件的右端(同時(shí)數(shù)字也可放在約束條件的左端)。但為了提高LINGO求解時(shí)的效率,應(yīng)盡可能采用線性表達(dá)式定義目標(biāo)和約束(如果可能的話)。語(yǔ)句是組成LINGO模型的基本單位,每個(gè)語(yǔ)句都以分號(hào)結(jié)尾,編寫程序時(shí)應(yīng)注意模型的可讀性。例如:一行只寫一個(gè)語(yǔ)句,按照語(yǔ)句之間的嵌套關(guān)系對(duì)語(yǔ)句安排適當(dāng)?shù)目s進(jìn),增強(qiáng)層次感。以感嘆號(hào)開始的是說(shuō)明語(yǔ)句(說(shuō)明語(yǔ)句也需要以分號(hào)結(jié)束))。Globaloptima
7、lsolutionfoundatiteration:2Objectivevalue:13800.00VariableValueReducedCostX10.0000002.000000X2600.00000.000000X30.0000002.000000X4400.00000.000000X50.0000003.000000X6500.00000.000000RowSlackorSurplusDualPrice113800.00-1.00000020.000000-11.0000030.000000-9.00000040.000000-8.
8、0000005140.00000.000000650.000000.000000設(shè)每月生產(chǎn)小、中、大型汽車的數(shù)量分別為x1,x2,x3例2、汽車廠生產(chǎn)計(jì)劃模型建立小型中型大型現(xiàn)有量鋼材1.535600時(shí)間28025040060000利潤(rùn)234max=2*x1+3*x2+4*x3;1.5*x1+3*x2+5*x3<600;289*x1+250*x2+400*x3<60000;lingo下程序:Globaloptimalsolutionfoundatiteration:2Objectivevalue:630.4878VariableValueRe
9、ducedCostX160.975610.000000X2169.51220.000000X30.0000000.94918703)模型中增加條件:x1,x2,x3