跳转到内容

GLPK/编译 GLPK

来自维基教科书,开放的书籍,为开放的世界

许多用户更喜欢从源代码编译 GLPK - 尽管对于 Windows 系统、基于 Debian 和 Red Hat 的 Linux 发行版以及其他平台,预编译的二进制文件通常可用。 手动编译的优点将在下面列出。

GLPK 为一系列平台提供 makefile 和批处理文件,并以其简单的构建而闻名 - 只要您的开发环境正确设置。

手动编译

[编辑 | 编辑源代码]

拥有 GLPK 的两个原因是为了获得访问权限

  • GLPSOL — 命令行 MathProg 模型解释器和求解器
  • libglpk — 可调用的求解器库,您可以将其链接到您的应用程序程序。

手动构建允许您

  • 运行最新代码,包含新功能和错误修复
  • 定制您的构建,例如,提供对任意精度算术的支持
  • 更少依赖于包维护者
  • 修改GLPK 代码库。

修改代码库的原因范围从运行时报告调整到混合整数解策略的实验。

您需要决定要构建哪种库

  • 静态库 — 使用编译时链接
  • 共享库 — 使用运行时链接。

每种库的特点在维基百科上进行了讨论。

如果您打算使用 GLPSOL,那么共享库通常是更好的选择。 如果您计划链接到您正在编写的自定义应用程序,那么静态库意味着您无需分发libglpk与您的应用程序一起。

如果您希望在 GLPSOL 中使用非默认功能(例如任意精度算术),那么您需要使用适当的配置选项手动构建 GLPK(--with-gmp) 并提供正确的第三方库(libgmp).

特定操作系统

[编辑 | 编辑源代码]

专门用于在以下操作系统上编译 GLPK 的页面

华夏公益教科书