簡體   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