簡體   English   中英

在 docplex 中制定嚴格的約束

[英]Formulate strict constraints in docplex

我正在嘗試 model 在 python 中使用 docplex 進行以下嚴格約束:

mdl.add_constraint(sum(a[i] * mdl.variable[i] for i in range(nrItems)) > b)

但我不斷收到錯誤消息:docplex.mp.utils.DOcplexException:不支持的關系運算符:僅允許 <=、==、>=

如何在 docplex 中編寫嚴格的約束?

你可以使用一個小的 epsilon 然后轉

mdl.add_constraint(sum(a[i] * mdl.variable[i] for i in range(nrItems)) > b)

進入

epsilon=0.00001
mdl.add_constraint(sum(a[i] * mdl.variable[i] for i in range(nrItems)) >= b+epsilon)

MIP 求解器不支持 < 和 >,因為當涉及連續變量(或松弛)時,它們沒有多大意義(無論是從數學角度還是從數值角度)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM