ILP의 논리적 제약
다음 제약 조건을 작성하고 싶습니다.
허락하다 $z$ 다음과 같은 정수 변수 여야합니다. $0\le z\le M$, 및 $t$ 이진 변수 여야합니다. $M$big-M을 나타냅니다. 논리적 제약은 다음과 같습니다.
만약 $z \leq M$ 과 $z > 0$ 그때 $t=1$;
만약 $z=0$ 그때 $t=0$.
이거 $z≤Mt$충분한? 그만큼$t$ 과 $z$ 변수는 내 목적 함수가 아니라 변수입니다. $t$ 목적 함수의 다른 변수에 연결되어 있습니까?
감사합니다. 도와 주셔서 감사합니다.
답변
4 RobPratt
Big-M 제약 $z \le M t$ 시행한다 $z > 0 \implies t = 1$, 동등하게 그 반대 $t = 0 \implies z = 0$,하지만 그 반대는 아닙니다. $$z = 0 \implies t = 0. \tag1$$ 시행하기 위해 $(1)$, 그것의 반대를 고려하십시오 $$t = 1 \implies z > 0 \tag2,$$ big-M 제약을 통해 시행 할 수있는 $$\epsilon - z \le (\epsilon - 0)(1 - t),$$ 동등하게 $$z \ge \epsilon t,$$ 어디 $\epsilon > 0$ 가장 작은 값을 나타내는 공차입니다. $z$ 긍정적이라고 생각할 것입니다.