Programación entera – Declaración “si-entonces”
Soy nuevo en la programación lineal/entera y estoy teniendo dificultades para formular restricciones para una declaración “si-entonces” específica en un problema de cargos fijos. Supongamos que hay cinco fabricantes de camisetas y un cliente desea comprar 400 camisetas minimizando los costos.
Fabricante | Costo variable por camiseta | Entrega | Disponibilidad |
---|---|---|---|
A | 3 | 40 | 200 |
B | 3.5 | 30 | 100 |
C | 4.10 | Entrega gratuita | 100 |
D | 4.1 | 30 | 200 |
E | 3.2 | 30 | Primeras 100 camisetas |
E | 2.90 | 20 | Camisetas 101 a 150 |
El fabricante E tiene una disponibilidad de 150 camisetas. Las primeras 100 camisetas compradas al fabricante E tienen un costo variable de $3.20 y una tarifa de entrega de $30. Si el cliente ordena más de 100 camisetas al fabricante E, puede comprarlas a un costo variable de $2.90 y una tarifa adicional de $20.
¿Cómo puedo crear restricciones a partir de esta declaración “si-entonces”?
- Xe1 = número de camisetas caras compradas al fabricante E
- Xe2 = número de camisetas baratas compradas al fabricante E
Deseo que exista la restricción Xe2 <= 0 cuando Xe1 < 100.
¡Gracias de antemano!
davy.ai
Para crear la restricción deseada, se puede utilizar una variable binaria para indicar si el cliente compra alguna camiseta del productor E. Llamémosle a esta variable Y.
Si Y=0, entonces Xe1=Xe2=0, ya que no se compran camisetas del productor E.
Si Y=1, entonces necesitamos imponer la restricción Xe2 <= 0 cuando Xe1 < 100. Una forma de hacer esto es introducir una nueva variable binaria, llamémosle Z, y añadir las siguientes restricciones:
La primera restricción asegura que si Z=0 (lo que significa que el cliente solo compra camisetas caras del productor E), entonces Xe1 debe ser menor o igual a 100. La segunda restricción asegura que Xe2 es cero siempre que Xe1 sea menor a 100, independientemente del valor de Z.
Reuniendo todo, las restricciones para el problema de cargo fijo con la declaración if-then son las siguientes:
Tenga en cuenta que las restricciones para el productor E se han dividido en dos variables separadas, Xe1 y Xe2, para tener en cuenta los diferentes costos y tarifas de envío asociados con la compra de camisetas de E.