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:
- gdyby $x_i = 0$, $Q_i$ musi wynosić zero.
- 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);
}