Logische Einschränkung in ILP
Ich möchte die folgende Einschränkung schreiben:
Lassen$z$eine ganzzahlige Variable sein, so dass$0\le z\le M$, und$t$sei eine binäre Variable wo$M$bedeutet big-M. Die logische Einschränkung lautet wie folgt:
wenn$z \leq M$und$z > 0$dann$t=1$;
wenn$z=0$dann$t=0$.
Ist das$z≤Mt$reicht aus? Das$t$und$z$Variablen sind nicht in meiner Zielfunktion, sondern variabel$t$ist mit einer anderen Variablen in der Zielfunktion verbunden?
Vielen Dank, ich weiß Ihre Hilfe zu schätzen.
Antworten
Die Big-M-Einschränkung$z \le M t$durchsetzt$z > 0 \implies t = 1$, äquivalent sein Kontrapositiv$t = 0 \implies z = 0$, aber nicht umgekehrt$$z = 0 \implies t = 0. \tag1$$Durchzusetzen$(1)$, betrachte sein Kontrapositiv$$t = 1 \implies z > 0 \tag2,$$die Sie über die Big-M-Einschränkung erzwingen können$$\epsilon - z \le (\epsilon - 0)(1 - t),$$entsprechend,$$z \ge \epsilon t,$$wo$\epsilon > 0$ist eine Toleranz, die den kleinsten Wert von darstellt$z$die Sie positiv bewerten würden.