Как следует из вопроса, я пытаюсь определить линейные ограничения для условия «если x1 ≤ 0, то x2 ≤ 0» с x1, x2 в [-10, 10]. Я попытался сделать это следующим образом, где B1 — двоичная переменная, а M — очень большое число:
Х2 - М * Х1 * В1 ≤ 0
Х1 ≤ 11 * В1
-11 * B1 ≤ X1
Идея состоит в том, что b1=1, если x>0, и b1=0, если x1≤0. Однако это неверно, потому что когда x1 = 0, мы имеем, что b1 может быть как 0, так и 1. Я не знаю, как это изменить без использования строгих неравенств, что невозможно. Кто-нибудь может помочь?
X2 - M * X1 * B1 ≤ 0
мне кажется нелинейным. Вот мое предложение:
x1 ≥ 0.001 - 10.001*b
x2 ≤ 10*(1-b)
b ∈ {0,1}
0,001 заставит b=1, когда x1=0.