2 votos

La variable de decisión debe encontrarse en la unión de varios intervalos disjuntos

En mi Programa Lineal, estoy tratando de expresar que una variable de decisión $x \in R$ sólo puede estar en determinados intervalos, por ejemplo $x \in [0,2] \cup [5,8] \cup [9,15]$ .
Soy consciente de que se puede modelar o bien restricción 1 O restricción 2 con un truco de la Gran M (por ejemplo explicado aquí en la sección 7.3 y preguntado aquí pero no veo directamente cómo esto podría resolver mi pregunta. ¿Alguna idea?

3voto

Rob Pratt Puntos 296

Con las mismas variables binarias $z_i$ como en la respuesta de @MichalAdamaszek, una formulación más ajustada es \begin{align} \sum_i a_i z_i \le x &\le \sum_i b_i z_i \\ \sum_i z_i &= 1 \end{align}

1voto

IgorDiy Puntos 332

Si $[a_i,b_i]$ es el $i$ -ésimo intervalo entonces para una variable binaria $z_i$ la desigualdad

$$a_iz_i-(1-z_i)M\leq x\leq b_iz_i+(1-z_i)M$$

da $x\in[a_i,b_i]$ cuando $z_i=1$ y es "libre" ( $x\in [-M,M]$ ) cuando $z_i=0$ . Así pues, una familia de tales restricciones junto con

$$\sum z_i= 1$$

modela la pertenencia a una unión de intervalos $x\in\bigcup_i[a_i,b_i]$ .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X