1 votos

Restricción condicional activada por variables binarias

Tengo la siguiente situación en un programa de números enteros mixtos: $x_1, \dots, x_n$ son variables binarias, y $y, z$ son continuas. Si $k$ o menos variables $x_i$ se establecen en $1$ Entonces necesito tener $y \leq z$ . Es decir,

$$\sum_{i=1}^nx_i \leq k \implies y \leq z$$

Necesito incluir esta restricción condicional en mi formulación del PIM.

Un enfoque sería crear una variable binaria auxiliar $w$ e incluir estas restricciones de la gran M:

$$ \sum_{i=1}^nx_i \geq k + 1 - Mw $$ $$ y \leq z + M(1 - w) $$

Pero, debido a la estructura de esta condición, tengo la sensación de que esto podría hacerse con una sola restricción big-M, sin la variable auxiliar $w$ . ¿Hay otra forma de modelar esa restricción condicional? Si es posible, reduciría mucho el tamaño de mi formulación, porque ya tengo muchas de estas restricciones.

1voto

prubin Puntos 51

No veo ninguna manera de evitar la variable binaria adicional $w$ o las dos restricciones adicionales. Quiero señalar que su primera restricción, aunque es correcta en espíritu, está ligeramente desviada en la indexación. Como se ha dicho, permite $w$ sea 0 cuando $\sum x_i =k$ mientras que usted quiere forzar $w=1$ en ese caso. Cambiándolo por $\sum x_i \ge k+1 -(k+1)w$ soluciona el problema y le da una opción moderadamente ajustada de $M$ para esa restricción.

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