Loading/Parsing 数学规划系统文件

Loading/Parsing Mathematical Programming System files

为了不重新发明轮子,我试图找到一些代码来解析
Mathematical Programming System 文件,但我没有在 python.

中找到任何实现

是否有任何可用的代码?

Update

阅读Mathematical Prog. files

MPS 示例(afiro.mps:link1, link2
包含:

  1. objective函数,一行,n列
  2. table 有限制,m 行,n 列
  3. 右table,一列,m行

许多languages have packages用于读取和写入这些文件。

问题没有解决具体问题,例如纯 python 与基于 c-wrapper 的对比,也没有任何许可证问题。

但是......过去有两件事对我有用(前者在 netlib 数据集上针对我自己的 IPM 方法进行了更多测试;后者看起来也不错):

Dirty code 将 netlib 的测试用例与基于前一种方法的 scipy 的求解器一起使用。

cvxopt

MPS 阅读有些隐藏 here and here

看起来很像 python- 仅对我而言。

人们应该小心 cvxopt 已经对问题所做的潜在修改,至少在向 cvxopt 询问矩阵形式时。我现在不记得在这里会发生什么(在我的情况下也没有太大关系)。

警告:如果您尝试安装整个项目,cvxopt 以 windows 上的重要安装过程而闻名!

还有一些关于不支持 MPS 文件的功能的警告。

GLPK + swiglpk

基本上是基于 swig 的 GLPK 绑定。可用 here (probably most newest python-bindings to GLPK). If using this, use it together with GLPK's manual and some understanding of SWIG (or else ).

这个在我们阅读的内容上应该更可控(见手册)!

您可以在 Python 中使用 pysmps 包。它可以简单地通过 pip install pysmps 安装。可以在以下位置找到更多详细信息:

https://pypi.org/project/pysmps/

https://github.com/jmaerte/pysmps