Restrição de prioridade

Dec 01 2020

Suponha que eu tenha o seguinte conjunto de variáveis ​​binárias:

$X_i$: $I$ varia de {1, .., 4} Prioridade mais alta entre as três variáveis $X$ , $Y$ e $Z$

$Y_j$: $J$ varia de {1, .., 3}

$Z_k$: $K$ varia de {1,2} prioridade mais baixa entre as três variáveis $X$ , $Y$ e $Z$

Como posso formular o seguinte:

(1) Se houver alguma variável $Z_k = 1$ para cada $k\in K$, Então cada $Y_j$ variáveis $y_1$, $y_2$, $y_3$ deve primeiro $=1$

ie $y_1 = 1$, $y_2 = 1$, $y_3 = 1$

Em outras palavras, antes de qualquer $Z_k$ para cada $k\in K$ $=$ 1, todos $Y_j$ variáveis ​​devem FIRST = 1

(2) O MESMO SE APLICA PARA A RELAÇÃO ENTRE $X$ E $Y$ variáveis

Se alguma variável $Yj = 1$ para cada $j\in J$ Então, cada variável Xi $X1$, $X2$, $X3$, $X4$ deve primeiro $=1$

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

Em outras palavras, antes de qualquer $Y_j$ para cada $j\in J$ variáveis ​​= 1, todas $Yj$ variáveis ​​devem primeiro ser = 1

Vou escrever um exemplo apenas para ter certeza de que fui claro:

Antes $y_2$ é escolhido e é = 1, Todos $x_i$ para cada $i\in I$ deve ser igual a 1. Significa que as variáveis ​​X têm uma prioridade mais alta do que as variáveis ​​y e devem ser selecionadas primeiro.

Respostas

4 SimonT Dec 01 2020 at 15:29

Quando eu obtenho seu problema corretamente, você quer aplicar cada $X_i$ para ser ativado quando qualquer $Y_j$ é ativado e todo $Y_j$ para ser ativado quando qualquer $Z_k$ está ativado.

Isso pode ser alcançado adicionando restrições: $$ \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} $$ Aqui, o primeiro conjunto impõe todos $X_i=1$ quando algum $Y_j=1$ e o segundo tudo $Y_j=1$ quando algum $Z_k=1$.