mosek 可以写入 opf 格式(通过 Pyomo)吗?
Can mosek write to opf format (via Pyomo)?
我们正在 Mosek 中制定优化问题(通过其 Pyomo 界面)。
我们需要以 opf
格式转储问题。
为了实现这一点,我们激活了 iparam.opf_write_problem
[0] 求解器选项,但失败了(即没有创建 opf
文件)。
最小可重现示例:
import pyomo.environ as pyo
import mosek
model = pyo.ConcreteModel()
model.x = pyo.Var([1,2], domain=pyo.NonNegativeReals)
model.OBJ = pyo.Objective(expr = 2*model.x[1] + 3*model.x[2])
model.Constraint1 = pyo.Constraint(expr = 3*model.x[1] + 4*model.x[2] >= 1)
opt = pyo.SolverFactory("mosek")
opt.solve(model, options={'iparam.opf_write_problem': 1}) # doesn't create opf file
# opt.solve(model, options={'iparam.opf_write_problem': mosek.onoffkey.on}) # fails too
这是 Mosek 或 Pyomo 中的错误吗?
参考:
[0] https://docs.mosek.com/9.2/toolbox/parameters.html#mosek.iparam.opf_write_problem
这些 opf 参数仅规定在写入 opf 文件时数据的哪些部分应该包含在 opf 文件中,哪些不包含。
要实际从 Pyomo 写入文件,请按照 https://docs.mosek.com/9.2/faq/faq.html#pyomo 中的示例,将文件名更改为 something.opf。
我们正在 Mosek 中制定优化问题(通过其 Pyomo 界面)。
我们需要以 opf
格式转储问题。
为了实现这一点,我们激活了 iparam.opf_write_problem
[0] 求解器选项,但失败了(即没有创建 opf
文件)。
最小可重现示例:
import pyomo.environ as pyo
import mosek
model = pyo.ConcreteModel()
model.x = pyo.Var([1,2], domain=pyo.NonNegativeReals)
model.OBJ = pyo.Objective(expr = 2*model.x[1] + 3*model.x[2])
model.Constraint1 = pyo.Constraint(expr = 3*model.x[1] + 4*model.x[2] >= 1)
opt = pyo.SolverFactory("mosek")
opt.solve(model, options={'iparam.opf_write_problem': 1}) # doesn't create opf file
# opt.solve(model, options={'iparam.opf_write_problem': mosek.onoffkey.on}) # fails too
这是 Mosek 或 Pyomo 中的错误吗?
参考:
[0] https://docs.mosek.com/9.2/toolbox/parameters.html#mosek.iparam.opf_write_problem
这些 opf 参数仅规定在写入 opf 文件时数据的哪些部分应该包含在 opf 文件中,哪些不包含。
要实际从 Pyomo 写入文件,请按照 https://docs.mosek.com/9.2/faq/faq.html#pyomo 中的示例,将文件名更改为 something.opf。