如何阅读纸浆中的 LP/MPS 文件?

问题描述 投票:0回答:1

我有一个像这样的 LP/MPS 文件:

Maximize
3x + 2y

Subject To
Constraint1: x + 2y <= 5
Constraint2: 2x - y >= 3

Bounds
0 <= x <= 10
y >= 0

General
x, y

End

我可以阅读纸质版还是必须自己阅读? 我试着自己读了一下,发现很复杂。我还在互联网上搜索了如何读取 LP/MPS 文件,但没有找到任何说明。 谢谢

python pulp mps
1个回答
0
投票

可以使用

pulp.LpProblem.fromMPS
读取 MPS 文件。

函数签名是:

def fromMPS(cls, filename, sense=const.LpMinimize, **kwargs)

它返回一个元组,其中:

  • 第一项是问题变量字典;
  • 第二项是模型实例(
    pulp.LpProblem
    实例)。

一个重要的细节是需要将意义传递给这个函数。一般来说,人们不应期望 MPS 文件具有感知信息,即使具有,该函数也不会解析该信息。

假设您的 MPS 文件路径存储在 file_path 变量中,以下代码片段应该可以解决问题。在此示例中,我们将意义设置为“最大化”,这不是默认行为。

import pulp


file_path = "model.mps"
variables_dict, model = pulp.LpProblem.fromMPS(file_path, sense=pulp.LpMaximize)

如果你正在处理一个最小化问题,那么你不需要设置意义,或者如果你想明确的话将其设置为

pulp.LpMinimize

© www.soinside.com 2019 - 2024. All rights reserved.