6

为了不重新发明轮子,我试图找到一些代码来解析
数学编程系统文件,但我没有在 python 中找到任何实现。

在此处输入图像描述

是否有任何可用的代码?

更新

阅读数学程序。文件

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

  1. 目标函数,一行,n 列
  2. 有限制的表,m 行,n 列
  3. 右表,一列,m行

许多语言都有用于读取和写入这些文件的包。

4

2 回答 2

2

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

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

使用基于前一种方法的 netlib 的测试用例和 scipy 的求解器的脏代码。

cvxopt

MPS 阅读在这里这里有些隐藏。

对我来说看起来几乎只有python。

至少在向 cvxopt 询问矩阵形式时,应该小心 cvxopt 已经对问题进行的潜在修改。我现在不记得在这里会发生什么(在我的情况下也无关紧要)。

警告:如果您尝试安装整个项目,cvxopt 以 Windows 上的非平凡安装过程而闻名!

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

GLPK + swiglpk

基本上是基于 swig 的 GLPK 绑定。可在此处获得(可能是最新的 GLPK 的 python 绑定)。如果使用它,请将其与 GLPK 的手册和对SWIG(或其他)的一些了解一起使用。

就我们阅读的内容而言,这个应该更可控(参见手册)!

于 2017-11-16T13:51:20.947 回答
1

您可以在 Python中使用pysmps包。它可以简单地通过pip install pysmps. 更多详情可参见:

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

https://github.com/jmaerte/pysmps

于 2021-03-11T09:19:03.883 回答