Formulieren der Bedingung
Aug 21 2020
Ich möchte eine Modellerweiterung des kapazitiven Standortproblems entwickeln.
Die Variablen sind binär$x_i$und eine kontinuierliche$Q_i$. Folgende Bedingung muss erfüllt sein:
- Wenn$x_i = 0$,$Q_i$muss Null sein.
- Wenn$x_i = 1$,$Q_i \geq 0$.
Wie formulieren wir es in der ganzzahligen Programmierformulierung?
Vielen Dank für Ihre Antwort.
Antworten
5 RobPratt Aug 21 2020 at 08:23
Lassen$M_i$eine Obergrenze sein$Q_i$, und legen lineare Big-M-Bedingungen fest$0 \le Q_i \le M_i x_i$.
2 AlexFleischer Aug 21 2020 at 17:08
Ich neige dazu, logische Beschränkungen dem großen M vorzuziehen, es sei denn, große M werden wirklich benötigt.
In OPL CPLEX können wir schreiben
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);
}