lingo入门教程之一 初识lingo
lingo對于一些線性或者非線性的規劃,優化問題非常有效
首先介紹一下,在lingo中運行程序時出現的頁面(在工具欄點擊類似靶子一樣的圖標便可運行)
Solver status:求解器(求解程序)狀態框
Model Class:當前模型的類型:LP,QP,ILP,IQP,PILP,PIQP,NLP,INLP,PINLP(以I開頭表示IP,以PI開頭表示PIP)
State:當前解的狀態:?"Global Optimum", "LocalOptimum", "Feasible", "Infeasible“(不可行), "Unbounded“(無界), "Interrupted“(中斷), "Undetermined“(未確定)
Object:解的目標函數值
Infeasibility:當前約束不滿足的總量(不是不滿足的約束的個數):實數(即使該值=0,當前解也可能不可行,因為這個量中沒有考慮用上下界命令形式給出的約束)
Iteration:目前為止的迭代次數
Extend solverstatus:擴展的求解器(求解程序)狀態框
Solver type:使用的特殊求解程序:
Bestobj :目前為止找到的可行解的最佳目標函數值
Objbound:目標函數值的界
Steps:特殊求解程序當前運行步數:
Active:有效步數
Variables(變量數量):
??變量總數(Total)、
??非線性變量數(Nonlinear)、
??整數變量數(Integer)。
Constraints(約束數量):
??約束總數(Total)、
??非線性約束個數(Nonlinear)。
Nonzeros(非零系數數量):
?總數(Total)、
?非線性項系數個數(Nonlinear)。
GeneratorMemory Used (K) (內存使用量)
ElapsedRuntime (hh:mm:ss)(求解花費的時間)
運行之后頁面介紹(這里的運行界面并不是與上面的運行過程中出現界面一致,即并非來自于同一個程序運行出現)
第一行表示在經過457次迭代后得到局部最優解第二行給出該局部最優解的具體值下面給出取局部最優值時,x1 x2的具體取值
這里求解的是局部最優解,如果想求出全局最優解,可以進行頁面設置:lingo --> option --> global solver --> 勾選use global solver對于運行結果也可以另存為,格式一般為ldt,因為有時候對于求解一個問題,或許需要運行很久才可以得出結果,所以沒必要每次為了看結果都運行,而是運行成功一次后便把結果保存下來
注意事項
LINGO總是根據“MAX=”或“MIN=”尋找目標函數;
程序語句的順序一般不重要,既可以隨意調換;
程序運用函數時都是以@開頭;
程序中的變量默認為非負數,想要改變變量類型必須有相應函數調整
程序中變量不區分大小寫;
語句必須以分號結尾;
注釋以!開始,且注釋語句后面必須也有分號,注釋默認注釋到第一個分號處,意思是分號前面會全部被注釋掉。
例題:
[plain]?view plaincopy總結
以上是生活随笔為你收集整理的lingo入门教程之一 初识lingo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DLL注入的多种方式
- 下一篇: android桌面部件开发教程,Andr