Ograniczenie priorytetowe

Dec 01 2020

Załóżmy, że mam następujący zestaw zmiennych binarnych:

$X_i$: $I$ zakresy od {1, .., 4} Najwyższy priorytet spośród trzech zmiennych $X$ , $Y$ i $Z$

$Y_j$: $J$ zakresy od {1, .., 3}

$Z_k$: $K$ waha się od {1,2} najniższego priorytetu spośród trzech zmiennych $X$ , $Y$ i $Z$

Jak mogę sformułować następujące informacje:

(1) Jeśli jakakolwiek zmienna $Z_k = 1$ dla każdego $k\in K$, Następnie każdy $Y_j$ zmienne $y_1$, $y_2$, $y_3$ Musi najpierw $=1$

to znaczy $y_1 = 1$, $y_2 = 1$, $y_3 = 1$

Innymi słowy, przed jakimkolwiek $Z_k$ dla każdego $k\in K$ $=$ 1, wszystko $Y_j$ zmienne muszą FIRST = 1

(2) TO SAMO DOTYCZY RELACJI MIĘDZY $X$ I $Y$ zmienne

Jeśli jakaś zmienna $Yj = 1$ dla każdego $j\in J$ Następnie każda zmienna Xi $X1$, $X2$, $X3$, $X4$ Musi najpierw $=1$

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

Innymi słowy, przed jakimkolwiek $Y_j$ dla każdego $j\in J$ zmienne = 1, wszystkie $Yj$ zmienne muszą najpierw mieć wartość = 1

Napiszę przykład, aby upewnić się, że wszystko było jasne:

Przed $y_2$ jest wybierany i wynosi 1, All $x_i$ dla każdego $i\in I$ musi wynosić 1. Oznacza to, że zmienne X mają wyższy priorytet niż zmienne y i powinny być wybrane jako pierwsze.

Odpowiedzi

4 SimonT Dec 01 2020 at 15:29

Kiedy poprawnie rozwiążę twój problem, chcesz wyegzekwować każdy $X_i$ być aktywowane, gdy takie istnieją $Y_j$ jest aktywowany i każdy $Y_j$ być aktywowane, gdy takie istnieją $Z_k$ jest aktywowany.

Można to osiągnąć, dodając ograniczenia: $$ \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} $$ Tutaj pierwszy zestaw wymusza wszystko $X_i=1$ kiedy jakieś $Y_j=1$ a po drugie wszystko $Y_j=1$ kiedy jakieś $Z_k=1$.