Sformułowanie warunkowego ograniczenia

Aug 21 2020

Chcę opracować modelowe rozszerzenie problemu lokalizacji pojemnościowej.

Zmienne są binarne $x_i$ i ciągły $Q_i$. Musi być spełniony następujący warunek:

  1. gdyby $x_i = 0$, $Q_i$ musi wynosić zero.
  2. gdyby $x_i = 1$, $Q_i \geq 0$.

Jak to sformułujemy w formule programowania liczb całkowitych?

Dziękuję za Twoją odpowiedź.

Odpowiedzi

5 RobPratt Aug 21 2020 at 08:23

Pozwolić $M_i$ być górną granicą $Q_i$i narzucaj liniowe ograniczenia big-M $0 \le Q_i \le M_i x_i$.

2 AlexFleischer Aug 21 2020 at 17:08

Wolę ograniczenia logiczne od dużego M, chyba że duże M są naprawdę potrzebne.

W OPL CPLEX możemy pisać

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);
}