繁体   English   中英

有没有办法将 cplex 表达式 (docplex.mp.LinearExpr(...)) 提高到 python 中的 -1 或 3 次方?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM