優先順位の制約

Dec 01 2020

次のバイナリ変数のセットがあるとします。

$X_i$$I$ 範囲は{1、..、4}です。3つの変数の中で最も優先度が高い $X$$Y$ そして $Z$

$Y_j$$J$ 範囲は{1、..、3}

$Z_k$$K$ 3つの変数の中で最も低い優先度{1,2}の範囲 $X$$Y$ そして $Z$

次の式を作成するにはどうすればよいですか。

(1)変数がある場合 $Z_k = 1$ それぞれについて $k\in K$、それから一人一人 $Y_j$ 変数 $y_1$$y_2$$y_3$ 最初にする必要があります $=1$

すなわち。 $y_1 = 1$$y_2 = 1$$y_3 = 1$

言い換えれば、前に $Z_k$ それぞれについて $k\in K$ $=$ 1、すべて $Y_j$ 変数はFIRST = 1でなければなりません

(2)同じことが間の関係にも当てはまります $X$ そして $Y$ 変数

変数がある場合 $Yj = 1$ それぞれについて $j\in J$ 次に、すべてのXi変数 $X1$$X2$$X3$$X4$ 最初にする必要があります $=1$

$x1 = 1$$x2 = 1$$x3 = 1$$x4 = 1$

言い換えれば、前に $Y_j$ それぞれについて $j\in J$ 変数= 1、すべて $Yj$ 変数は最初に= 1でなければなりません

明確にするために例を書きます。

$y_2$ 選択され、= 1、すべて $x_i$ それぞれについて $i\in I$ 1に等しくなければなりません。つまり、X変数はy変数よりも優先度が高く、最初に選択する必要があります。

回答

4 SimonT Dec 01 2020 at 15:29

私があなたの問題を正しく理解したとき、あなたはすべてを強制したい $X_i$ いつでもアクティブになります $Y_j$ がアクティブになり、 $Y_j$ いつでもアクティブになります $Z_k$ がアクティブになります。

これは、制約を追加することで実現できます。 $$ \begin{align} X_i &\geq Y_j &\forall i\in I, j\in J\\ Y_j &\geq Z_k &\forall j\in J, k\in K\\ \end{align} $$ ここで最初のセットはすべてを強制します $X_i=1$ いつでも $Y_j=1$ そして2番目のすべて $Y_j=1$ いつでも $Z_k=1$