Programacion Entera ML IO1 IIN
Programacion Entera ML IO1 IIN
Programacion Entera ML IO1 IIN
Operaciones I -
Dr. Juan Pérez
Material de lectura
Unidad VI
Facultad Politécnica
Facultad Politécnica UNA
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Contenido
1 PROGRAMACIÓN LINEAL ENTERA (PLE) .......................................... 3
2
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Los programas lineales enteros son aquellos en los que algunas o todas las
variables están restringidasa tener valores enteros (o discretos).
Por lo general, las aplicaciones de programación lineal entera (PLE) caen
dentro de dos categorías: directa y transformada.
- Directa: Por la naturaleza de la situación impide la asignación de
valores fraccionarios a las variables del modelo. Por ejemplo, el
problema puede implicar la determinación de si se emprende o no un
proyecto (variable binaria), o la determinación del número óptimo de
máquinas necesarias para realizar una tarea (variable general entera).
- Transformada: Cuando utilizan variables enteras auxiliares para
convertir analíticamente situaciones insolubles en modelos que pueden
resolverse por medio de algoritmos de optimización disponibles.Por
ejemplo, en la secuencia de dos trabajos, A y B, en una sola máquina,
el trabajo A puede preceder al trabajo B o viceversa. La naturaleza “o”
de las restricciones es loque hace al problema analíticamente
insoluble, porque todos los algoritmos de programaciónmatemáticos
tratan sólo con restricciones “y”. Más adelante se muestra cómose
utilizan las variables binarias auxiliares para transformar las
restricciones “o” en“y”, sin modificar la naturaleza del modelo.
3
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
1. Presupuesto de capital
4. Restricciones “o bien”
El modelo PEB
Algo sencillo como construir fábricas en ambas ciudades, pero ningún
almacén.
Se formulará el modelo de programación entera con propósitos ilustrativos.
Todas las variables de decisión tienen la forma binaria
1, 𝑠𝑖 𝑙𝑎 𝑑𝑒𝑐𝑖𝑠𝑖ó𝑛 𝑗 𝑒𝑠 𝑠í
𝑥𝑗 = 𝑗 = (1,2,3,4)
0, 𝑠𝑖 𝑙𝑎 𝑑𝑒𝑐𝑖𝑠𝑖ó𝑛 𝑗 𝑒𝑠 𝑛𝑜
4
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Por tanto, después de escribir de nuevo estas dos restricciones para que
todas las variables queden en el lado izquierdo, el modelo completo de PEB
es:
5
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
6
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
1. Presupuesto de capital
Solución
El problema se reduce a tomar una decisión “𝑠í − 𝑛𝑜” para cada proyecto.
Se define la variable binaria 𝑥𝑗 como sigue:
1, 𝑠𝑖 𝑠𝑒 𝑠𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝑎 𝑒𝑙 𝑝𝑟𝑜𝑦𝑒𝑐𝑡𝑜 𝑗
𝑥𝑗 = para 𝑗 = 1,2,3,4,5
0, 𝑠𝑖 𝑛𝑜 𝑠𝑒 𝑠𝑒𝑙𝑒𝑐𝑐𝑖𝑜𝑛𝑎 𝑒𝑙 𝑝𝑟𝑜𝑦𝑒𝑐𝑡𝑜 𝑗
7
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
La función objetivo maximiza los ingresos que generan los proyectos, donde
las variables de decisión son del tipo sí-no (elegir o no, todos o alguno, de los
proyectos).
Las restricciones del problema son los fondos disponibles que se tienen por
cada año dentro de los 3 del horizonte de planeación. Por ejemplo para el Año
1 se tiene disponible como máximo 25 millones $ presupuestado, cada uno de
los proyectos generan un gasto, en el caso de elegir alguno de ellos, el
proyecto 1 tiene un gasto de 5 millones $, el proyecto 2 tiene un gasto de 4
millones $, el 3 un gasto de 3 millones $, el 4 un gasto de 7 millones $ y el 5
un gasto de 8 millones $, la suma de cada uno de estos gastos por proyecto
debe ser exactamente 25 millones $ o menos, no puede superarlo; lo mismo
se da para los años 2 y 3. La última restricción nos indica que las variables de
decisión pueden tomar valores 0 o 1 (binario); no se les permite asumir
valores positivos continuos.
8
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Es lógico poner los teléfonos en los cruces de las calles, para que cada uno
dé servicio cuando menos a dos calles. En la Figura 1 se ve que la
distribución de las calles requiere un máximo de ocho ubicaciones de
teléfono.
Solución
Se definirá
9
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Para cumplir con las restricciones del problema se requiere instalar al menos
un teléfono en cada una de las 11 calles (A a K). Así, el modelo viene a ser
𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑎𝑟 𝑍 = 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8
𝑠𝑢𝑗𝑒𝑡𝑎 𝑎
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (Calle A)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleB)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleC)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleD)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleE)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleF)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleG)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleH)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleI)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleJ)
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥6 + 𝑥7 + 𝑥8 ≥1 (CalleK)
𝑥𝑗 = (0,1) , 𝑗 = 1,2,3, … , 8
La función objetivo de arriba minimiza la cantidad total de teléfonos que deben
instalarse en las calles. Las variables de decisión 𝑥𝑗 indican que un teléfono 𝑗
debe o no instalarse en dicho lugar. Cada una de las restricciones muestra
que para una calle dada debe instalarse al menos un teléfono. Por ejemplo
sobre la Calle A, se tiene dos posibles instalaciones (instalar el teléfono 1 y el
2, o al menos uno de los dos teléfonos, ya que la restricción dice que si o si la
Calle A debe contar con al menos un teléfono. Las variables de decisión en
este caso asumen necesariamente valores binarios (0-1) no pueden asumir
valores continuos positivos ni valores enteros positivos superiores al 1.
10
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
El problema de cargo fijo tiene que ver con situaciones en que la actividad
económica incurre en dos tipos de costos: un costo fijo necesario para iniciar
la actividad y un costo variable proporcional al nivel de la actividad. Por
ejemplo, el herramental inicial de una máquina antes de iniciar la producción
incurre en un costo de preparación fijo independientemente de cuántas
unidades se fabriquen. Una vez completa la preparación de la máquina, el
costo de la mano de obra y del material es proporcional a la cantidad
producida. Dado que 𝐹 es el cargo fijo, 𝑐 es el costo unitario variable, y 𝑥 es el
nivel de producción, la función de costo se expresa como:
𝐹 + 𝑐𝑥, 𝑠𝑖 𝑥 > 0
𝐶(𝑥) =
0, 𝑒𝑛 𝑐𝑎𝑠𝑜 𝑐𝑜𝑛𝑡𝑟𝑎𝑟𝑖𝑜
11
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Se definen:
𝑦1 = 1, si 𝑥1 > 0 y 0 si 𝑥1 = 0
Variables binarias
𝑦2 = 1, si 𝑥2 > 0 y 0 si𝑥2 = 0
𝑦3 = 1, si 𝑥3 > 0 y 0 si 𝑥3 = 0
12
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Esta formulación indica que la tarifa fija del 𝑗 − é𝑠𝑖𝑚𝑜 mes será parte de la
función objetivo 𝑍 sólo si 𝑦𝑗 = 1, lo cual sólo puede suceder si 𝑥𝑗 > 0 (de
acuerdo con las últimas tres restriccionesdel modelo). Si 𝑥𝑗 = 0 en el óptimo,
entonces la minimización de 𝑍, junto con el hecho de que el coeficiente
objetivo de 𝑦𝑗 es estrictamente positivo, obligará a que 𝑦𝑗 sea igual a cero, que
es lo que se quería.
4. Restricciones “o bien”
Jobco usa una sola máquina para procesar tres trabajos. El tiempo de
procesamiento y la fecha de entrega (en días) para cada trabajo se ven en la
siguiente tabla. Las fechas de entrega se miden a partir de la referencia cero,
que es el tiempo supuesto de inicio del primer trabajo.
Solución
Definiremos a
𝑥𝑗 = 𝐹𝑒𝑐ℎ𝑎 𝑑𝑒 𝑖𝑛𝑖𝑐𝑖𝑜 𝑑𝑒𝑙 𝑡𝑟𝑎𝑏𝑎𝑗𝑜 𝑗 (𝑒𝑛 𝑑í𝑎𝑠 𝑎 𝑝𝑎𝑟𝑡𝑖𝑟 𝑑𝑒 𝑙𝑎 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑖𝑎 𝑐𝑒𝑟𝑜)
13
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
1, 𝑠𝑖 𝑖 𝑒𝑠 𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟 𝑎 𝑗
𝑦𝑖𝑗 =
0, 𝑠𝑖 𝑗 𝑒𝑠 𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟 𝑎 𝑖
Esta conversión garantiza que sólo puede estar vigente una de las dos
restricciones en cualquier momento. Si 𝑦𝑖𝑗 = 0, la primera restricción es activa
y la segunda es redundante (porque en su lado izquierdo estará 𝑀, que es
mucho mayor que 𝑝𝑖 ). Si 𝑦𝑖𝑗 = 1, la primera restricción es redundante y la
segunda es activa.
Si se usa la sustitución
𝑠𝑗 = 𝑠𝑗+ − 𝑠𝑗− , 𝑠𝑗+ , 𝑠𝑗− ≥ 0
la restricción se vuelve
𝑥𝑗 + 𝑠𝑗+ − 𝑠𝑗− = 𝑑𝑗 − 𝑝𝑗
El costo de penalización por retraso es proporcional a 𝑠𝑗− .
14
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
−𝑥1 + 𝑥2 − 𝑥3 + 𝑀𝑦12 + 𝑀𝑦13 + 𝑀𝑦23 + 𝑠1+ − 𝑠1− + 𝑠2+ − 𝑠2− + 𝑠3+ − 𝑠3− ≥ 15 − 𝑀
−𝑥1 + 𝑥2 + 𝑥3 + 𝑀𝑦12 − 𝑀𝑦13 + 𝑀𝑦23 + 𝑠1+ − 𝑠1− + 𝑠2+ − 𝑠2− + 𝑠3+ − 𝑠3− ≥ 50 − 𝑀
−𝑥1 + 𝑥2 − 𝑥3 + 𝑀𝑦12 + 𝑀𝑦13 + 𝑀𝑦23 + 𝑠1+ − 𝑠1− + 𝑠2+ − 𝑠2− + 𝑠3+ − 𝑠3− ≥ 15 − 𝑀
−𝑥1 − 𝑥2 + 𝑥3 + 𝑀𝑦12 + 𝑀𝑦13 − 𝑀𝑦23 + 𝑠1+ − 𝑠1− + 𝑠2+ − 𝑠2− + 𝑠3+ − 𝑠3− ≥ 20 − 𝑀
−𝑥1 + 𝑥2 + 𝑥3 + 𝑀𝑦12 + 𝑀𝑦13 + 𝑀𝑦23 + 𝑠1+ − 𝑠1− + 𝑠2+ − 𝑠2− + 𝑠3+ − 𝑠3− ≥ 25 − 5
−𝑥1 + 𝑥2 + 𝑥3 + 𝑀𝑦12 + 𝑀𝑦13 + 𝑀𝑦23 + 𝑠1+ − 𝑠1− + 𝑠2+ − 𝑠2− + 𝑠3+ − 𝑠3− ≥ 22 − 20
−𝑥1 + 𝑥2 + 𝑥3 + 𝑀𝑦12 + 𝑀𝑦13 + 𝑀𝑦23 + 𝑠1+ − 𝑠1− + 𝑠2+ − 𝑠2− + 𝑠3+ − 𝑠3− ≥ 35 − 15
𝑥1 , 𝑥2 , 𝑥3 , 𝑠1+ , 𝑠1− , 𝑠2+ , 𝑠2− , 𝑠3+ , 𝑠3− ≥ 0
𝑦12 , 𝑦13 , 𝑦23 = (0,1)
Las variables enteras, 𝑦12 , 𝑦13 , 𝑦23 , se introducen para convertir las
restricciones de uno u otro en restricciones simultáneas. El modelo que
resulta es un Programa Lineal Entero Mixto (PLEM).
Para resolverlo, se escoge 𝑀 = 1000, valor que es mayor que los tiempos de
procesamientode las tres actividades.
15
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Ejemplo
10𝑥1 + 6𝑥2 ≤ 45
𝑥1 , 𝑥2 enteras no negativas
16
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
La Figura 3 ilustra los espacios de PL2 y PL3. Los dos espacios combinados
contienen los mismos puntos enteros factibles que la PLE original, es decir,
que no se pierde información cuando PL1 se reemplaza con PL2 y PL3.
17
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
18
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
10𝑥1 + 6𝑥2 ≤ 45
10𝑥1 + 6𝑥2 ≤ 35
𝑥1 , 𝑥2 ≥ 0
En este momento no podemos decir que la solución entera obtenida con PL2
sea óptima para el problema original, porque PL3 puede producir una mejor
solución entera. Todo lo que podemos decir es que 𝑍 = 23 es una cota
inferior del valor objetivo óptimo (máximo) de la PLE original. Esto significa
que cualquier subproblema no examinado que no puede producir un mejor
19
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
valor objetivo que la cota inferior, debe ser desechado como no promisorio. Si
un subproblema no examinado produce una mejor solución entera, entonces
el límite inferior debe ser actualizado como corresponde.
Dada la cota inferior 𝑍 = 23, examinamos PL3 (el único subproblema restante
no examinado en este momento). Debido al óptimo 𝑍 = 23.75 en el PL1 y a
que sucede que todos los coeficientesde la función objetivo son enteros, es
imposible que PL3 pueda producir una mejor solución entera (con 𝑍 > 23). En
consecuencia, desechamos PL3 y concluimos que fue sondeado a fondo.
20
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Supongamos que examinamos primero PL3 (en lugar de PL2 como lo hicimos
en la figura anterior). La solución es 𝑥1 = 4, 𝑥2 = 0.83 y 𝑍 = 23.33.
Como 𝑥2 (= 0.83) no es entera, PL3 se examina más a fondo creando los
subproblemas PL4 y PL5 por medio de las ramas 𝑥2 ≤ 0 y 𝑥2 ≥ 1,
respectivamente. Esto significa que:
21
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Ahora, los subproblemas PL2, PL6 y PL7 permanecen sin ser examinados. Si
seleccionamos PL7 para examinarlo, el problema está sondeado a fondo
porque no tiene ninguna solución factible. A continuación, seleccionamos PL6.
El problema da por resultado la primera solución entera (𝑥1 = 4, 𝑥2 = 0, 𝑍 =
20), y, por lo tanto, proporciona la primera cota inferior (= 20) del valor
objetivo óptimo de la PLE. Sólo falta examinar el subproblema PL2, y da una
mejor solución entera (𝑥1 = 3, 𝑥2 = 2,𝑍 = 23). De estemodo, la cota inferior se
actualiza de 𝑍 = 20 a 𝑍 = 23. A estas alturas, todos los subproblemas han
sido sondeados (examinados) a fondo, y la solución óptima es la asociada
con la cota inferior más actualizada, es decir, 𝑥1 = 3,𝑥2 = 2 y 𝑍 = 23.
22
Departamento de Ciencias Básicas
Facultad Politécnica DCB_03_00
Universidad Nacional de Asunción
Bibliografía
• Hillier, F. y Lieberman, G. (2010). Introducción a la Investigación de
Operaciones, México, D.F. :McGRAW-Hill/Interamericana Editores, S.A. de C.V.
23