Ограничение приоритета

Dec 01 2020

Предположим, у меня есть следующий набор двоичных переменных:

$X_i$: $I$ варьируется от {1, .., 4} Наивысший приоритет среди трех переменных $X$ , $Y$ а также $Z$

$Y_j$: $J$ колеблется от {1, .., 3}

$Z_k$: $K$ колеблется от {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$ а второй все $Y_j=1$ когда любой $Z_k=1$.