跳转到内容

GLPK/Octave

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

GNU Octave 是一种用于数值计算的高级语言和环境。该语言与 Matlab 大致兼容。但 Matlab 是专有的,而 Octave 是一个在 GNU 通用公共许可证下发布的 GNU 项目。Octave 本身是用 Octave 和 C++ 编写的。

Octave 附带了一个 GLPKMEX 的集成版本,这是一个 GLPK 库的 Matlab MEX 接口。因此,与 Matlab 不同,Octave 不需要每个用户都进行 GLPKMEX 的专用构建。最初的 GLPKMEX 代码和 Octave 的 GLPK 包装器由 Nicolò Giorgetti 编写。但现在 Octave/GLPK 接口代码已成为 Octave 项目的一部分。

截至 2011 年 4 月,Octave/GLPK 接口的开发落后于 Matlab GLPKMEX 绑定的开发。特别是,Octave/GLPK 接口不包括 Niels Klitgord 添加的改进,并且仍然使用 已弃用的调用。同样,截至 2011 年 4 月,Octave 开发人员计划使 Octave/GLPK 包装器与当前的 API 集对齐,并添加新功能。请查看以下内容glpk-help 线程 和以下内容octave-maintainers 线程 以了解更多信息。

背景资料

[编辑 | 编辑源代码]

Tommi Sottinen 关于 运筹学 和 GNU Octave 的课程笔记[1] 提供了使用 GLPK 和 Octave 的优秀介绍。更具体地说,这些笔记包含

  • Octave 中单纯形法的简单实现
  • 基于原生 Octave 函数的示例glpk
  • 自定义包装器glpk命名为stu_lp_solver(“易于使用的线性规划求解器”)
  • 基于上述内容的示例

参考资料

[编辑 | 编辑源代码]
  1. Sottinen, Tommi (2010). 用 GNU Octave 进行运筹学. ORMS1020 课程笔记。瓦萨大学数学与统计系,芬兰. http://lipas.uwasa.fi/~tsottine/or_with_octave/or_with_octave.pdf. 
华夏公益教科书