[英]Is there a way to raise a cplex expression (docplex.mp.LinearExpr(...)) to the power -1 or 3 in python?
我在 Python 中构造了一个线性规划问题,并使用了 CPLEX 求解器。 变量表示为 cplex 表达式,如 docplex.mp.LinearExpr(...)。 我们的目标是构建一个目标,在该目标上我们使用类似的表达式对变量进行优化 -1 或 3:
选项1/变量
不幸的是,我收到以下错误消息; docplex.mp.utils.DOcplexException:无法将“docplex.mp.LinearExpr(...)”的幂次方提升为 -1。 变量的指数必须是 0、1 或 2。
有谁知道是否有办法解决这个问题? 那么有没有办法将某个数字除以相当于 docplex.mp.LinearExpr(...) 的值?
埃尔文一如既往的正确。 但是在某些有限的情况下,您也许可以重新排列表达式以避免除以变量,例如将a <= 1 / var
更改为a * var <= 1
。 如果没有看到更多的 model,我们无法知道这种简单的重新排列是否适合您。
不,Cplex 只能做线性和二次模型。 它不是通用的非线性求解器。
注意:我构造的线性规划问题并不是真的。 这现在变成了非线性 model。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.