pyomo中cplex与python中cplex的优势

pyomo中cplex与python中cplex的优势,python,cplex,pyomo,gams-math,Python,Cplex,Pyomo,Gams Math,我已经使用GAMS很长时间了,但是我不能在GAMS下使用CPLEX的所有功能。你能用Pyomo做吗?或者直接在Python中使用CPLEX?谢谢 使用的优点是,它是一种独立于用于解决问题的底层解算器的建模语言。例如,您可以编写模型,然后使用glpk进行求解。通过更改命令行选项,您可以使用CPLEX、Gurobi等解决同一模型。它提供了许多功能,例如支持分布式优化,并允许您根据需要使用自己的自定义解算器(请参阅文档) 这是另一个极端。它不是一种建模语言。它是一个相对轻量级的层,围绕底层(C API

我已经使用GAMS很长时间了,但是我不能在GAMS下使用CPLEX的所有功能。你能用Pyomo做吗?或者直接在Python中使用CPLEX?谢谢

使用的优点是,它是一种独立于用于解决问题的底层解算器的建模语言。例如,您可以编写模型,然后使用glpk进行求解。通过更改命令行选项,您可以使用CPLEX、Gurobi等解决同一模型。它提供了许多功能,例如支持分布式优化,并允许您根据需要使用自己的自定义解算器(请参阅文档)

这是另一个极端。它不是一种建模语言。它是一个相对轻量级的层,围绕底层(C API)展开。变量、约束等通过索引或名称引用。它允许您在可调用库中执行几乎任何可以执行的操作。从这个意义上讲,它为您提供了对CPLEX功能(甚至是回调等高级功能)的最多访问


一个位于中间某处的选项是。DOCplex是IBM提供的一种开源建模语言,它允许您在云端或本地进行求解。它支持用于数学编程的CPLEX,也支持用于约束编程的CP优化器

谢谢rkersh!你知道pyomo在访问CPLEX功能方面与gams相比如何吗?例如,在gams下,您可以在每次找到新的现有解决方案时停止brach and bound算法。在毕奥的领导下也能做到这一点吗?我对此表示怀疑,虽然它在谈论另一个大的商业解决方案。这在高级优化语言中也不常见,尤其是在开源语言中。我所知道的唯一一个是。但这显然不是python。