跳轉到內容

GLPK/編譯 GLPK

來自華夏公益教科書,開放的書籍,為開放的世界

許多使用者更喜歡從原始碼編譯 GLPK - 儘管對於 Windows 系統、基於 Debian 和 Red Hat 的 Linux 發行版以及其他平臺,預編譯的二進位制檔案通常可用。 手動編譯的優點將在下面列出。

GLPK 為一系列平臺提供 makefile 和批處理檔案,並以其簡單的構建而聞名 - 只要您的開發環境正確設定。

手動編譯

[編輯 | 編輯原始碼]

擁有 GLPK 的兩個原因是為了獲得訪問許可權

  • GLPSOL — 命令列 MathProg 模型直譯器和求解器
  • libglpk — 可呼叫的求解器庫,您可以將其連結到您的應用程式程式。

手動構建允許您

  • 執行最新程式碼,包含新功能和錯誤修復
  • 定製您的構建,例如,提供對任意精度算術的支援
  • 更少依賴於包維護者
  • 修改GLPK 程式碼庫。

修改程式碼庫的原因範圍從執行時報告調整到混合整數解策略的實驗。

您需要決定要構建哪種庫

  • 靜態庫 — 使用編譯時連結
  • 共享庫 — 使用執行時連結。

每種庫的特點在維基百科上進行了討論。

如果您打算使用 GLPSOL,那麼共享庫通常是更好的選擇。 如果您計劃連結到您正在編寫的自定義應用程式,那麼靜態庫意味著您無需分發libglpk與您的應用程式一起。

如果您希望在 GLPSOL 中使用非預設功能(例如任意精度算術),那麼您需要使用適當的配置選項手動構建 GLPK(--with-gmp) 並提供正確的第三方庫(libgmp).

特定作業系統

[編輯 | 編輯原始碼]

專門用於在以下作業系統上編譯 GLPK 的頁面

華夏公益教科書