我有一个像这样的 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 文件,但没有找到任何说明。 谢谢
可以使用
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
。