我有一系列的作業。對于每項作業,我都有一系列操作,每個操作都需要一臺機器。但是有一些操作可以選擇多臺機器。
前任:
作業 1:操作 1 機器 4 操作 2 機器 2 操作 3(機器 2 或機器 3)
我有一個二元決策變數 Y (ijm),其中 i 是操作,j 是作業,m 是機器。
必須發生的是 Y(114) = 1, Y (212) = 1 但對于操作 3,我們有兩個選擇 Y(312) = 0 和 Y(313) = 1 或相反。
如何在 Cplex 上實作它?我找不到辦法。
uj5u.com熱心網友回復:
您可以在 OPL 中使用這樣的邏輯約束:
((x==2) && (y==1)) || ((x==1) && (y==2));
但是您也可以查看CPLEX中的CPOptimizer,因為您的模型看起來像是一個調度問題。
uj5u.com熱心網友回復:
對 Y(312) = 0 和 Y(313) = 1 或相反的要求進行建模的一種簡單方法是添加一個約束,即備選方案的總和必須為 1,即在您的情況下添加一個約束:
Y(312) Y(313) = 1
然后,如果變數是二進制或整數,那么這將實作您的目標。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/356230.html
