以ortools的SCIP代码为例:

from ortools.linear_solver import pywraplp
solver = pywraplp.Solver.CreateSolver('SCIP')

infinity = solver.infinity()
# x and y are integer non-negative variables.
x = solver.IntVar(0.0, infinity, 'x')
y = solver.IntVar(0.0, infinity, 'y')

print('Number of variables =', solver.NumVariables())

# x + 7 * y <= 17.5.
solver.Add(x + 7 * y <= 17.5)

# x <= 3.5.
solver.Add(x <= 3.5)

print('Number of constraints =', solver.NumConstraints())

# Maximize x + 10 * y.
solver.Maximize(x + 10 * y)

我想将此导出为MPS文件.我看得出来

solver.ExportModelAsMpsFormat

存在,但我能找到的唯一文件说

Signature: solver.ExportModelAsMpsFormat(fixed_format: 'bool', obfuscated: 'bool') -> 'std::string'
Docstring: <no docstring>
File:      c:\users\csxrc\anaconda3\lib\site-packages\ortools\linear_solver\pywraplp.py
Type:      method

我不知道如何使用它.例如,如何指定文件名.

如果我只想将模型保存为一个名为"test.MPS"的MPS文件,比如说,我应该怎么做?

Update

@Krerkkiat Chusap建议调用该函数来创建一个可以单独编写的字符串.如果我这样做了

output_string = solver.ExportModelAsMpsFormat()

我明白了

TypeError: ExportModelAsMpsFormat() missing 2 required positional arguments: 'fixed_format' and 'obfuscated'

看来这两个论点都是布尔式的.它们意味着什么?

推荐答案

C++ implementation开始,似乎没有使用fixed_format,因此通过FalseTrue应该可以.

对于obfuscated,它通常意味着做一些难以阅读的东西,所以把它保持在False是有意义的.

with open("test.mps", "w") as out_f:
    mps_text = solver.ExportModelAsMpsFormat(fixed_format=False, obfuscated=False)
    out_f.write(mps_text)

Python相关问答推荐

仿制药的类型铸造

如何比较numPy数组中的两个图像以获取它们不同的像素

Pandas 滚动最接近的价值

未删除映射表的行

使用索引列表列表对列进行切片并获取行方向的向量长度

如何在Windows上用Python提取名称中带有逗号的文件?

我们可以为Flask模型中的id字段主键设置默认uuid吗

如何在给定的条件下使numpy数组的计算速度最快?

在Python中使用if else或使用regex将二进制数据如111转换为001""

ruamel.yaml dump:如何阻止map标量值被移动到一个新的缩进行?

如何在Python中将超链接添加到PDF中每个页面的顶部?

如何在Airflow执行日期中保留日期并将时间转换为00:00

Seaborn散点图使用多个不同的标记而不是点

极柱内丢失类型信息""

对于标准的原始类型注释,从键入`和`从www.example.com `?

如何在Python中创建仅包含完整天数的月份的列表

使用xlsxWriter在EXCEL中为数据帧的各行上色

将Pandas DataFrame中的列名的长文本打断/换行为_STRING输出?

如何将django url参数传递给模板&S url方法?

使用Django标签显示信息