日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lingo解题报告内容解释

發布時間:2023/12/2 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lingo解题报告内容解释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.2菜單介紹

1.2.1 File

1 New

新建一個窗口,當你執行這個命令時,會出現如下對話框:

 

 

你可以在對話框中選擇你想要建立的類型.類型如下:

1)擴展名為(*.lg4)

LG4格式是LINGO4.0的版本,是在Windows下最主要的儲存文件格式,這種格式支持字體格式,自定義格式以及動態連接,? LG4以二進制格式存儲,所以不能被其它的應用軟件直接讀取.

2)擴展名為(*.lng)

LNG是捷便的存儲方式,4.0版本前的標準文件格式,為了與前版本的兼容,所以還一直在用,LNG文件是以ASCII形式存儲的,所以能被支持文本文件的應用程序讀取.該格式不支持多種字體.

3)擴展名為(*.ltd)

LTD是數據文件,可以從@FILE函數導入數據,@FILE函數只能讀取文本文件,所以所有的LTD文件是以ASCII形式存儲,也不支持多種字體.

4)擴展名為(*.ltf)

LTFLINGO的調試文件格式,也是以ASCII格式存儲,能直接被LINGOFile|Take command執行.

2 Log Output

輸出文本文件,可以將隨后原輸出到報告窗口的內容輸出到文本中.該命令與Maple中的writeto命令非常相似.

Maple中輸入如下:

> x:=sin(5.);

writeto("c://maple.txt");

y:=x+1:

print(x,y);

print(x);

> y;

> writeto(terminal);

> y;

執行菜單中的Edit|Excute|Worksheet,按鈕,窗口重新顯示如下:

> x:=sin(5.);

writeto("c://maple.txt");

y:=x+1:

print(x,y);

?? print(x);

?????????????x:=-.9589242747

??

> y;

>writeto(terminal);

> y;

???????????????????????????0.4010757253

 

而在C盤的maple.txt文件的內容為:

??????????????????????????-.9589242747, .0410757253

?

????????????????????????????????-.9589242747

?

?????????????????????????????????.0410757253

從中可以知道,用了writeto(filename)命令以后把結果輸出到filename.直到碰到writeto(terminal)命令時,才重新在工作窗口中顯示.

當你點擊菜單File|LogOutput時,系統出現保存對話框,系統就會將命令窗口中的輸出結果保存到指定的文件中.

3 Import LINDO File

該命令是用來導入LINDO軟件保存的LINDO文件(*.LTX)格式.只要在LINGO中導入LINDO文件格式,LINGO系統自動將該文件轉化為LINGO可執行語句.

1.2.2 Edit

1 Paste Function

用該命令可以在當前點插入LINGO的內部函數,

2 Select Fonts

設置字體類型,字體大小,字體顏色.

1.2.3 LINGO

1 Solve

solve命令對當前窗口中的模型求解,該命令只對report script窗口起作用,不能對數據窗口求解.

當你對一個模型進行求解,LINGO首先檢查該模型的語句格式是否正確,如果LINGO發現在語句中存在錯誤,將會出現類似于如下的對話框:

 

 

在上圖的Error Text框中,LINGO提示發生語句錯誤的行數及該行的內容.在通常情況下,LINGO系統能很好的指出錯誤,但是有時也會提供錯誤的信息.

如果在編譯的過程中沒有語法的錯誤,LINGO將調用適當的內部函數對模型進行優化求解.假如我們在工作窗口輸入如下內容:

 

 

點擊菜單LINGO|SOLVE,或者點擊工具欄,將會在屏幕上顯示LINGO解的狀態窗口(Solver Status Windows):

 

 

該狀態窗口用于跟蹤整個求解過程,下面我們將詳細的描寫該窗口中的一些主要的內容.

1?按鈕

在解的狀態窗口提供了兩個按鈕,一個為關閉按鈕 (Close),另一個是打斷(interruptSolver)求解按鈕,該按鈕的作用是阻止LINGO求解下一個迭代.在線性模型中,LINGO一般能給出優化解(除整數規劃時沒有整數解),如果這線性模型被打斷了,LINGO返回的將是無意義的,應該被忽略的值.

注意:如果你按了interruptsolver這個按鈕,解的情況是這樣的:

·????????毫無疑問這不是最優解;

·????????解可能不能全部滿足約束條件;

·????????如果這個是線性模型,這個解毫無意義.

2?文本框

在該窗口中有一個文本框,該文本框的作用是更新狀態窗口的相隔時間,單位為秒,在默認時為2.

3)狀態窗口(Solver StatusBox

狀態窗口的詳細的介紹如下:

?

Model Class:

模型類別顯示的模型類別為LP, QP ILP, QP, ILP, IQP, LP, NLP

State:

Possible states are "Global Optimum", "Local Optimum", "Feasible", "Infeasible", "Unbounded", "Interrupted", and "Undetermined".

Objective:

目標函數的當前值.

Infeasibility:

不滿足約束條件的個數.

Iterations? :

迭代次數

 

其中

縮寫

類型

描述

LP

線性模型

所有的表達式是線性,并且模型的約束條件中變量沒有被約束為整數。

QP

二次模型

所有表達式是線性或二次型,沒有整數約束。

ILP

整數線性模型

所有的表達式是線性,在變量中存在整數約束。

IQP

整數二次模型

所有表達式是線性或二次型,在變量中存在整數約束。

PILP

純整數線性模型

所有表達式是線性,所有變量是整數。

PIQP

純整數二次模型

所有表達式是線性或二次型,所有變量是整數。

NLP

非線性模型

至少存在一個非線性的表達式

?

一旦LINGO處理完成該模型,建立一個包括該模型解的報告(Solve Report)窗口.你可以通過拉窗口的滾動條,檢查該窗口內部的內容.該窗口如下:

 

 

第一:Solution Report告訴我們求該模型迭帶的次數是0次;第二:該目標函數的最大值是1.285714;第三:取到最優值時變量XY分別為1.1428570.1428571.

我們用數學軟件Maple來驗證該結果:

> ?with(simplex):

maximize( x+y, {4*x+3*y <= 5, 3*x+4*y <= 4 } );

> evalf(%);

?

比較LINGOMaple所求的結果,完全一致.

SolutionReport中還包括The Reduced Costs, Slack or Surplus, Dual Price.

?

Reduced Cost

假設Xreduce cost值為10,則X系數加上10時,求優化模型變量取值不變.例如下模型:

MAX = 4.0 * TOM + 3.0 *DICK ?? +2.0 *HARRY;

?? ????2.5 *TOM???????????????? +3.1 *HARRY <= 5;

???? ??2.0 * TOM + 0.7 *DICK ?? +0.4 *HARRY <= 1;

?

求解得到solution report如下:

? Global optimal solution found atiteration:????????????0

? Objectivevalue:????????????????????????????????10.57143

?

?

??????????????????????Variable??????????Value??????? Reduced Cost

???????????????????????????TOM???????2.000000?????? ?????0.000000

??????????????????????????DICK??????0.8571429???????????0.000000

?????????????????????????HARRY???????0.000000???????????3.611429

?

???????????????????????????Row??? Slack or Surplus????? Dual Price

?????????????????????????????1????? ??10.57143???????????1.000000

?????????????????????????????2??????? 0.000000???????????1.257143

?????????????????????????????3??????? 0.000000???????????4.285714

該解中變量HARRYReduced Cost3.611429,現在我們把HARRY前的系數加2,得到的新模型如下:

MAX = 4.0 * TOM + 3.0 *DICK ?? +4.0 *HARRY;

?? ????2.5 *TOM???????????????? +3.1 *HARRY <= 5;

???? ??2.0 * TOM + 0.7 *DICK ?? +0.4 *HARRY <= 1;

再求解得到solution report如下:

? Global optimal solution found atiteration:????????????0

? Objectivevalue:????????????????????????????????10.57143

?

?

??????????????????????Variable??????????Value??????? Reduced Cost

???????????????????????????TOM???????2.000000???????????0.000000

??????????????????????????DICK??????0.8571429???????????0.000000

?????????????????????????HARRY???????0.000000???????????1.611429

?

???????????????????????????Row??? Slack or Surplus????? Dual Price

?????????????????????????????1??????? 10.57143???????????1.000000

?????????????????????????????2???????0.000000???????????1.257143

?????????????????????????????3??????? 0.000000???????????4.285714

?

變量TOMDICK的取值沒有變化分別為2.0000000.8571429.從變量HARRYReduced Cost中看到從原來得3.611429到現在得1.611429差為2.如果如果系數變化在Reduced Cost,優化取值不變.

?

Slack or Surplus(小于:松弛,大于:過剩):

如果滿足約束條件,則該值是左右差的絕對值.

如果不滿足約束條件,則該值為負數.

如果該值為0,說明兩邊相等.

2模型如下:

Max = 3 * X + 4 * Y;

???????????X??????????<= 40;

?????????????????????Y <= 60;

???????????X +??? ??Y <=80;

解該模型,得到的Solution Report如下:

? Global optimal solution found atiteration:????????????0

? Objectivevalue:????????????????????????????????300.0000

?

?

??????????????????????Variable??????????Value??????? Reduced Cost

?????????????????????????????X??????? 20.00000???????????0.000000

?????????????????????????????Y???????60.00000???????????0.000000

?

???????????????????????????Row??? Slack or Surplus????? Dual Price

?????????????????????????????1??????? 300.0000???????????1.000000

?????????????????????????????2??????? 20.00000???????????0.000000

?????????????????????????????3???????0.000000???????????1.000000

4???????0.000000???????????3.000000

X=20.00000Y=60.00000代入目標函數和約束條件:

1??? Max=300;????? 300

2??? 20<=40;?????? 20

3??? 60<=60;?????? 0

4??? 20+60<=80;??? 0

?

Dual Price

如果該行右邊數值加1,就得到優化模型相應的加上該行的Dual Price或減去該行的Dual Price。舉例如下:

在例2中第4行的Dual Price3,現在我們在第4行的右邊加上1等到如下模型:

Max = 3 * X + 4 * Y;

???????????X??????????<= 40;

?????????????????????Y <= 60;

???????????X +??? ??Y <=81;(本來是80

解該模型,得到的Solution Report如下:

? Global optimal solution found at iteration:????????????2

? Objectivevalue:????????????????????????????????303.0000

?

?

??????????????????????Variable??????????Value??????? Reduced Cost

?????????????????????????????X??????? 21.00000???????????0.000000

?????????????????????????????Y???????60.00000???????????0.000000

?

???????????????????????????Row??? Slack or Surplus????? Dual Price

?????????????????????????????1??????? 303.0000???????????1.000000

?????????????????????????????2??????? 19.00000???????????0.000000

?????????????????????????????3???????0.000000???????????1.000000

?????????????????????????4???????0.000000???????????3.000000

Objective value值從300增加到303

?

2? Range

點擊Range命令在當前模型中會產生一個Range report窗口,在該窗口中有兩段分別是,Objective Coefficient Ranges(目標函數系數范圍)和RighthandSide Ranges(約束條件右邊的范圍)在例2模型下,產生的range report窗口內容如下:

?

?Ranges in which the basis is unchanged:

?

?????????????????????????????????????Objective Coefficient Ranges

?????????????????????????????????Current??????? Allowable???????Allowable

???????????????Variable?????Coefficient????????Increase???????? Decrease

??????????????????????X????????3.000000???????? 1.000000????????3.000000

??????????????????????Y????????4.000000???????? INFINITY????????1.000000

?

??????????????????????????????????????????Righthand Side Ranges

????????????????????Row?????????Current??????? Allowable???????Allowable

?????????????????????????????????????RHS????????Increase???????? Decrease

??????????????????????2????????40.00000???????? INFINITY????????20.00000

??????????????????????3????????60.00000????????20.00000???????? 20.00000

??????????????????4????????80.00000????????20.00000???????? 20.00000

?

Objective Coefficient Ranges

Objective Coefficient Ranges中的第一列為目標函數的變量名稱,第二列為對應變量名的系數,第三列是系數可增加的最大范圍,第四列是系數可減少的最大范圍.

改變目標函數的變量系數(在給定的范圍內),不改變優化求解中變量的取值.

?

Right-handSide Ranges

Right-handSide Ranges中的第一列為row的名稱,第二列是常數項或者是右邊的值.第三列是該模型的右邊最多可以加的量,第四列是該模型的右邊最多可以減的量.我們可以回想,在solution report中有DualPrice列,在右邊加11必須不大于Righthand Side Ranges中,Allowable Increase對應的值),就得到優化模型相應的加上該行的DualPrice或減去該行的Dual Price.

3 Options

該菜單中包含絕大部分的LINGO參數,可設置的tabs內容如下:

·????????Interface,

·????????GeneralSolver,

·????????LinearSolver,

·????????NonlinearSolver,

·????????IntegerPre-Solver

·????????IntegerSolver, and

·????????GlobalSolver.

Interfacetabs面中可以控制LINGO系統的界面(包括是否顯示工具欄,界面的大小),輸出形式(Terse Output)以及默認的文件格式.其它的tabs內容可以參考幫助文件.

4 Model Statistics

統計該模型的信息,包括行數、變量數、約束條件數等等;在如下模型中:

model:

max=2* x1+3*x2;

x1+2*x2+x3=8;

4*x1+x4=16;

4*x2+x5=12;

end

執行LINGO|ModelStatistics后得到如下:

?Rows=??????4 Vars=?????? 2 No. integervars=????? 0? ( all are linear)

?Nonzeros=???????9 Constraint nonz=???????4(??????? 1 are +- 1) Density= 0

?Smallestand largest elements in abs value=???1.00000??????? 16.0000

?No.< :?????? 3 No.=:?????? 0 No. >:?????? 0, Obj= MAX, GUBs<=?????? 2

?Singlecols=??? 0

其中Single cols表示松弛變量;現在我們在上面模型中添加三個松弛變量,模型變為:

model:

max=2*x1+3*x2+0*x3+0*x4+0*x5;

x1+2*x2+x3=8;

4*x1+x4=16;

4*x2+x5=12;

end

執行LINGO|ModelStatistics后得到如下:

Rows=??????4 Vars=?????? 5 No. integervars=????? 0? ( all are linear)

Nonzeros=??????12 Constraint nonz=???????7(?????? ?4 are +- 1) Density= 0

Smallest andlargest elements in abs value=???1.00000??????? 16.0000

No. <:?????? 0 No.=:?????? 3 No. > :??????0, Obj= MAX, GUBs <=?????? 2

Singlecols=??? 3

Single cols由原來的0變到3.

 

 

?

總結

以上是生活随笔為你收集整理的lingo解题报告内容解释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。