조건부 제약 공식화

Aug 21 2020

정전 위치 문제의 모델 확장을 개발하고 싶습니다.

변수는 바이너리입니다. $x_i$ 그리고 연속 $Q_i$. 다음 조건이 충족되어야합니다.

  1. 만약 $x_i = 0$, $Q_i$ 0이어야합니다.
  2. 만약 $x_i = 1$, $Q_i \geq 0$.

정수 프로그래밍 공식에서 어떻게 공식화합니까?

답변 주셔서 감사합니다.

답변

5 RobPratt Aug 21 2020 at 08:23

허락하다 $M_i$ 상한이되다 $Q_i$, 선형 big-M 제약 조건 적용 $0 \le Q_i \le M_i x_i$.

2 AlexFleischer Aug 21 2020 at 17:08

나는 큰 M이 정말로 필요하지 않는 한 큰 M보다 논리적 제약을 선호하는 경향이 있습니다.

OPL CPLEX에서는 다음과 같이 작성할 수 있습니다.

int n=10;
range r=1..n;

dvar boolean x[r];
dvar float+ Q[r];

subject to
{
  forall(i in r) (x[i]==0) => (Q[i]==0);
}