运行/转换用 Pulp 编写的 Opt 模型到 Pyomo

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

我不久前在纸浆中创建了一个相当复杂的优化模型,我可以使用 Gurobi 或 CBC 来求解模型。但现在我需要使用 Ocetract 引擎来求解模型(因为它速度更快),而 Pulp 尚未支持 octeract,但 Pyomo(或通过 AMPL)确实支持它。

现在,由于我的模型非常复杂,我并不真正期待将我的完整代码从纸浆转换为 Pyomo,并且想知道是否有其他方法可以使用 Pyomo 来解决模型?我可以从 Pulp 中获取 LP(或 MPS 或任何其他)文件并将其作为 Pyomo 的输入,使用我喜欢的求解器进行求解吗?如果是,怎么办?如果这不起作用还有其他替代方法吗?

python optimization pyomo pulp
1个回答
0
投票

是的,您可以从 Pulp 中将优化模型导出为 LP 文件,然后使用 Pyomo 读取该文件并使用 Octeract 或任何与 Pyomo 兼容的求解器对其进行求解。为此,请使用

writeLP()
功能将 Pulp 模型保存为 LP 文件。在 Pyomo 中,您可以使用
SolverFactory()
调用 Octeract(或您选择的求解器),并在使用 Pyomo 模型对象中的
solve()
加载 LP 文件后使用
model.read()
。如果直接转换变得棘手,此方法是一种实用的解决方法。然而,特定的 Pyomo 配方可能需要手动调整以获得最佳性能或兼容性。

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