Koşullu kısıtlamanın formüle edilmesi

Aug 21 2020

Kapasiteli konum probleminin bir model uzantısı geliştirmek istiyorum.

Değişkenler bir ikilidir $x_i$ ve sürekli $Q_i$. Aşağıdaki koşul karşılanmalıdır:

  1. Eğer $x_i = 0$, $Q_i$ sıfır olmalıdır.
  2. Eğer $x_i = 1$, $Q_i \geq 0$.

Tamsayı programlama formülasyonunda bunu nasıl formüle ederiz?

Cevabınız için teşekkür ederim.

Yanıtlar

5 RobPratt Aug 21 2020 at 08:23

İzin Vermek $M_i$ üst sınır olmak $Q_i$ve doğrusal büyük-M kısıtlamaları empoze $0 \le Q_i \le M_i x_i$.

2 AlexFleischer Aug 21 2020 at 17:08

Büyük M'ye gerçekten ihtiyaç duyulmadıkça mantıksal kısıtlamaları büyük M'ye tercih etme eğilimindeyim.

OPL CPLEX'te yazabiliriz

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