我用GAMS已经很久了,但是我不能在GAMS下使用CPLEX的所有功能。你能用 Pyomo 做到这一点吗?还是直接在 Python 中使用 CPLEX?谢谢!
问问题
2078 次
1 回答
3
使用Pyomo的优势在于它是一种建模语言,独立于用于解决问题的底层求解器。例如,您可以编写模型,然后使用 glpk 求解。通过更改命令行选项,您可以使用 CPLEX、Gurobi 等求解相同的模型。它提供了许多功能,例如支持分布式优化,并允许您根据需要使用自己的自定义求解器(请参阅文档)。
CPLEX Python API位于另一端。它不是一种建模语言。它是一个相对轻量级的层,围绕底层CPLEX 可调用库(C API)。变量、约束等由索引或名称引用。它允许你做几乎所有可以在 Callable Library 中做的事情。从这个意义上说,它为您提供了对 CPLEX 功能(甚至是回调等高级功能)的最大访问权限。
位于中间某处的选项是DOCplex。DOCplex 是 IBM 提供的一种开源建模语言,它允许您在云端或本地进行求解。它支持用于数学规划的 CPLEX,也支持用于约束规划的 CP Optimizer。
于 2017-04-21T22:47:55.650 回答