跳轉到內容

GLPK/評論和基準測試

來自華夏公益教科書

獨立評論和數值基準測試是任何最佳化求解器專案的重要組成部分。此頁面列出了一些對 GLPK 的獨立評估,並試圖說明 GLPK 通常在哪些方面表現出色。

GLPK 是自由軟體——這可能是優點也可能是缺點,具體取決於您的需求和觀點。訪問原始碼使研究人員,尤其是,能夠修改 GLPK 以滿足他們的需求,並在以後將他們的改進提交給 GLPK 維護者以供可能包含。

GLPK 無法與頂級商業求解器在超大型規模例項上的效能(或價格)相匹配。舉一個例子,可以預期CPLEX在雙單純形問題上快 10-100 倍。透過檢視一些當前的基準測試調查,可以進行更具體的比較。

求解器功能

[編輯 | 編輯原始碼]

GLPK 求解器提供以下方法和功能

除圖例程外,所有功能都可以透過 GLPSOL 命令列實用程式使用。

GLPK 對變數和約束的數量沒有具體限制。當然,大型或困難問題可能會超過可用記憶體或無法在合理時間內解決。

獨立評論

[編輯 | 編輯原始碼]
  • Fourer, Robert (2009). "Software survey : linear programming". OR/MS Today. 36 (3): 46–55. {{cite journal}}: Unknown parameter |month= ignored (help) — 可供下載(需要註冊)。

數值基準測試

[編輯 | 編輯原始碼]

基準測試故意具有挑戰性,並不一定代表使用者想要解決的問題型別。

為了避免不可避免的維護延遲,官方的 GLPK 基準測試結果未在此處釋出。相反,它們作為官方 GLPK 文件的一部分包含在內。相比之下,Mittelmann 基準測試可以直接檢視——同時要注意 Mittelmann 未涵蓋 GLPK 功能的某些方面,包括圖論例程。

MIPLIB 套件

[編輯 | 編輯原始碼]

MIPLIB 是來自ZIB 的混合整數測試問題套件,目前為 MIPLIB 2003 版本[1]。GLPK 專案定期針對此測試套件的 2.0 和 3.0 測試集進行基準測試。最新的結果報告在以下文字檔案中doc/miplib2.txtdoc/miplib3.txt官方 GLPK 文件中。

netlib 套件

[編輯 | 編輯原始碼]

GLPK 專案定期針對來自netlibftp://ftp.netlib.org/lp/data 的套件進行基準測試。最新的結果報告在以下文字檔案中doc/netlib.txt官方 GLPK 文件中。

Mittelmann 基準測試

[編輯 | 編輯原始碼]

亞利桑那州立大學數學與統計學院的 Hans Mittelmann 在plato.asu.edu/bench.html 上維護著一個基準測試網站。雖然 GLPK 未列在起始頁面上,但它包含在適當的測試類別中。基準測試使用NEOS 伺服器 進行。GLPK 以下列測試套件中的形式出現

測試結果中包含問題大小指標。

NEOS 伺服器門戶

[編輯 | 編輯原始碼]

NEOS 最佳化伺服器 提供了一個門戶,用於試用 GLPK。由於門戶的組織方式,問題例項必須以GAMS 語言提交,而不是以本機 MathProg 語言提交。[2]

程式碼質量

[編輯 | 編輯原始碼]

GLPK 專案不進行正式的程式碼審查。但是,使用者有時會向 GLPK 郵件列表釋出非請求的評論。例如

"非常感謝大家提供如此一流的軟體包。程式碼是我見過的最好的程式碼之一,如果不是最好的。這些年來,我一直是數百萬行其他人程式碼的唯一支持者。因此,看到如此精心編寫的程式碼真是令人欣慰。"來源:GLPK 幫助列表,2011 年 1 月 13 日。

問題/解決方案指標

[編輯 | 編輯原始碼]

評論:使用者可以在這裡釋出他們的問題和解決方案指標(本節將根據需求遷移到一個獨立頁面)。

參考文獻

[編輯 | 編輯原始碼]
  1. Achterberg,Tobias;Koch,Thorsten;Martin,Alexander(2006)。"MIPLIB 2003"運籌學通訊。愛思唯爾。34(4):1-12。 doi:10.1016/j.orl.2005.07.00.
  2. Bob Fourer 指出,在 2011 年 2 月 1 日,運營 NEOS 的威斯康星大學有可能被說服也支援 MathProg。
華夏公益教科書