Loading/Parsing 数学规划系统文件
Loading/Parsing Mathematical Programming System files
为了不重新发明轮子,我试图找到一些代码来解析
Mathematical Programming System 文件,但我没有在 python.
中找到任何实现
是否有任何可用的代码?
Update
MPS 示例(afiro.mps:link1, link2)
包含:
- objective函数,一行,n列
- table 有限制,m 行,n 列
- 右table,一列,m行
许多languages have packages用于读取和写入这些文件。
问题没有解决具体问题,例如纯 python 与基于 c-wrapper 的对比,也没有任何许可证问题。
但是......过去有两件事对我有用(前者在 netlib 数据集上针对我自己的 IPM 方法进行了更多测试;后者看起来也不错):
Dirty code 将 netlib 的测试用例与基于前一种方法的 scipy 的求解器一起使用。
cvxopt
看起来很像 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
安装。可以在以下位置找到更多详细信息:
为了不重新发明轮子,我试图找到一些代码来解析
Mathematical Programming System 文件,但我没有在 python.
是否有任何可用的代码?
Update
MPS 示例(afiro.mps:link1, link2)
包含:
- objective函数,一行,n列
- table 有限制,m 行,n 列
- 右table,一列,m行
许多languages have packages用于读取和写入这些文件。
问题没有解决具体问题,例如纯 python 与基于 c-wrapper 的对比,也没有任何许可证问题。
但是......过去有两件事对我有用(前者在 netlib 数据集上针对我自己的 IPM 方法进行了更多测试;后者看起来也不错):
Dirty code 将 netlib 的测试用例与基于前一种方法的 scipy 的求解器一起使用。
cvxopt
看起来很像 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
安装。可以在以下位置找到更多详细信息: