GLPK/Matlab
Matlab 是來自 The MathWorks 的數值計算環境。Matlab 是專有的,並且跨平臺。
GLPKMEX 是一個到 GLPK 庫的 Matlab MEX 介面。GLPKMEX 最初由 Nicolò Giorgetti 開發,Niels Klitgord 最近也做了一些貢獻。GLPKMEX 遵循 GNU 通用公共許可證 2.0 版釋出。官方支援可能在 sourceforge.net/projects/glpkmex/support 獲得。
GPLKMEX 二進位制檔案可用於 Windows 和 MacOS X,以及用於 Linux 的原始碼。檔案可以在 SourceForge 下載。但要小心——版本 2.8 僅為 32 位(而不是 64 位)Windows 系統提供預編譯版本,而版本 2.11 現在已經是最新版本。
更多預編譯二進位制檔案和 glpkmex 的更新版本在 Benoît Legat 的一個分支 中可用。
有關用法文件,請參閱檔案 glpk.m 的註釋頭。
確保所有元件都與您的作業系統匹配
- 32 位 Matlab 環境
- 32 位編譯的 mex 介面
- 32 位 GLPK 庫檔案 (.lib)
請按照檔案 INSTALL 中的說明進行操作。
所需的 .lib 檔案是 Build_GLPK_with_VC10.bat 建立的。不能使用來自 GLPK for Windows 的 .lib 檔案。
確保所有元件都與您的作業系統匹配
- 64 位 Matlab 環境
- 64 位編譯的 mex 介面
- 64 位 GLPK 庫檔案 (.lib)
請按照檔案 INSTALL 中的說明進行操作。
所需的 .lib 檔案是 Build_GLPK_with_VC10.bat 建立的。不能使用來自 GLPK for Windows 的 .lib 檔案。
如果您不想使用 Matlab,還有類似的替代方案
- GNU Octave 附帶整合版本的 GLPKMEX,有關詳細資訊,請參見 此處
- GLPK Scilab 基於 GLPKMEX,是 Scilab 的附加元件。
PARFOR 命令用於迴圈執行程式碼塊,該程式碼塊隨後在工作節點叢集上並行執行。2011 年,Tim Kam 將 PARFOR 與 GLPKMEX 結合使用。他遇到了記憶體洩漏,並確定這是由於這種組合造成的。Tim 寫道:“也許使用 MATLAB 的mxFree()對於這個特定的 MATLAB 繫結(參見GLPKCC.cpp在 GLPKMEX 中)在並行工作節點級別評估這些函式時似乎不起作用?因此,我並不優雅的解決方法是在每次退出並重新進入 PARFOR 迴圈例項時關閉並重新啟動並行作業(向並行工作節點發送關閉和重新啟動訊號需要幾秒鐘)。這樣,這些並行執行的大型 GLPKMEX 作業對記憶體的大致需求保持恆定。”