Formulaciones de Programación Entera IP
Formulaciones de Programación Entera IP
LAURENCE A. WOSLEY
FORMULACIONES
Cap 1
19/02/2020 1
CONTENIDO
1. Formulaciones
1.1 Introducción
1.2. Qué es programación entera?
1.3. Formulación Ips y BIPs
1.4. La explosión combinatoria
1.5. Formulación entera mixta
1.6. Formulaciones alternativas
1.7.Formulaciones buenas e ideales.
1.8. Notas
1.9. Ejercicios
19/02/2020 2
1.1. Introducción
Existe una gran variedad de problemas que pueden ser formulados y resueltos
usando la programación entera.
19/02/2020 3
2. Programación de la tripulación en las aerolíneas.
3. Planeación de la producción.
5. Telecomunicaciones.
19/02/2020 5
6. Manejo en Tierra de Aeronaves (Ground Holding of Aircrafts)
Dados diferentes aeropuertos, una lista de vuelos, y la capacidad de cada
aeropuerto en cada periodo, la función de las condiciones del clima y
predicciones, el problema es decidir cuales planes retrasar y por cuanto tiempo,
teniendo en cuenta el numero de pasajeros, los vuelos en conexión, el tiempo
esperado hasta condiciones de mejora, entre otras, con el objetivo de minimizar
los costos del Avión y los inconvenientes del pasajero.
7. Problemas de Corte
Ya sean cortes de longitudes de papel de rollos, plástico de hojas largas
rectangulares, o patrones para hacer ropa, el problema esta en cada caso para
seguir determinadas reglas de corte, satisfacer la demanda, y minimizar el
desperdicio.
19/02/2020 6
1.1. Que es programación entera?
Suponga que se tiene un problema de programación lineal.
𝒎𝒂𝒙 𝑐𝑥: 𝐴𝑥 ≤ 𝑏, 𝑥 ≥ 0
Donde:
A es una matriz m*n.
b un vector columna m-dimensional
c un vector fila n-dimensional.
x Un vector columna n-dimensional de variables desconocidas.
Casos
19/02/2020 7
Donde:
A es m*n. h es un vector fila 1*p ,
G es m*p. y es un vector columna p*1
c es un vector fila 1*n x es un vector columna n*1
19/02/2020 8
Problema combinatorio de optimización
19/02/2020 9
Problema del Agente Viajero para 4 Ciudades
No Factibles (1-2)
(1-2) (2-3)
(1-2) (2-3) (3-1) (4,4)
(1-2) (2-1) (3,4) (4,1)
Problema Resourse Constrained Project Scheduling Problem (RCPSP)
Se tienen 30 actividades 𝑖=1,…,30,
𝑇𝑖 : Tiempo de inicio de cada actividad.
σ, 𝑇𝑖 = 100
Sea el conjunto N conformado por las parejas 𝑖 actividad-Tiempo de inicio (𝒊, 𝑻𝒊 )
Dado que los problema de I.P. son similares a los L.P. la teoría de L.P. es
fundamental para resolver problema de I.P.
4
3𝑥1 − 2𝑥2 = −4
3
50𝑥1 + 31𝑥2 = 250
FO: z=3.28 2
1
1.00𝑥1 + 0.64𝑥2 = 1
0
0 1 2 3 4 5 6
1. Defina las que parecen ser las variables necesarias (es importante hacer
la distinción entre los datos y las variables).
2. Use las variables para definir un conjunto de restricciones para que los
puntos factibles correspondan a las soluciones factibles del problema.
19/02/2020 13
1. Definición de variables .
𝑥𝑖𝑗 = 1 𝑝𝑎𝑟𝑎 𝑖 = 1, … . . 𝑛
𝑗=1
𝑥𝑖𝑗 = 1 𝑝𝑎𝑟𝑎 𝑗 = 1, … . . 𝑛
𝑖=1
𝑥𝑖𝑗 ϵ (0,1) ∀ 𝑖, 𝑗
19/02/2020 14
2. Definición de la función objetivo.
El costo de la asignación es minimizado
𝑛 𝑛
19/02/2020 15
EL PROBLEMA DE LA MOCHILA (Caso de las inversiones)
1. Definición de variables .
𝑎𝑗 𝑥𝑗 <=b
𝑗=1
𝑥𝑗 ϵ (0,1) ∀ 𝑗
3. Definición de la función objetivo.
El retorno esperado es maximizado
𝑛
𝑐𝑗 𝑥𝑗
𝑗=1
19/02/2020 16
PROBLEMA DEL CONJUNTO DE COBERTURA (THE SET COVERING
PROBLEM)
𝑺𝒆𝒂 𝑺𝒋 ⊆ M el conjunto de las regiones que pueden ser servidas por el depósito j.
𝑐𝑗 el costo de instalación del depósito j.
.
min 𝑐𝑗 : ∪𝑗∈𝑇 𝑆𝑗 = 𝑀
𝑇⊆ N 𝑗∈𝑇
19/02/2020 17
Se tiene entonces que para decidir cuales son los centros de servicio a escoger
de tal manera que se cubran todas las regiones y se logre un costo mínimo, se
puede usar la siguiente ecuación que representa un COP.
.
min 𝑐𝑗 : ∪𝑗∈𝑇 𝑆𝑗 = 𝑀
𝑇 ⊆ 𝑁 𝑗∈𝑇
Se desea escoger un subconjunto T de centros de servicio (CS) de tal manera que la suma de
los costos de instalación de los CS que pertenece a T sea mínimo, y que la unión de todos los
𝑆𝑗 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 𝑑𝑒 𝑟𝑒𝑔𝑖𝑜𝑛𝑒𝑠 𝑎𝑡𝑒𝑛𝑑𝑖𝑑𝑜𝑠 𝑝𝑜𝑟 𝑒𝑙 𝑐𝑒𝑛𝑡𝑟𝑜 𝑒𝑛 𝑗 sea igual a M (Todas las regiones).
∀𝑗 ∈𝑇
Recuerde que los 𝑺𝒋 son subconjuntos de M y que cada 𝑺𝒋 representa las regiones que pueden
ser servidas por el centro j.
∪𝑗∈𝑇 𝑆𝑗 = 𝑀: 𝐸𝑠𝑡𝑜 𝑙𝑜 𝑞𝑢𝑒 𝑚𝑒 𝑑𝑖𝑐𝑒 𝑒𝑠 𝑞𝑢𝑒 𝑙𝑜𝑠 𝑑𝑒𝑝ó𝑠𝑖𝑡𝑜𝑠 𝑞𝑢𝑒 𝑠𝑒 𝑒𝑠𝑐𝑜𝑗𝑎𝑛 𝑑𝑒𝑏𝑒𝑛 𝑐𝑢𝑏𝑟𝑖𝑟 𝑒𝑙
𝑠𝑒𝑟𝑣𝑖𝑐𝑖𝑜 𝑑𝑒 𝑡𝑜𝑑𝑎𝑠 𝑙𝑎𝑠 𝑟𝑒𝑔𝑖𝑜𝑛𝑒𝑠.
19/02/2020 18
El Set Covering Problem, también se puede formular como un BIP. A continuación se
ilustra la formulación del problema anterior como un problema de programación Binaria.
Para facilitar la descripción, considere una matriz A de incidencia de ceros y unos,
de tal manera que 𝑎𝑖𝑗 =1 si i ∈ 𝑆𝑗 (es decir si el centro j puede atender la región i
y 𝑎𝑖𝑗 =0 de otra manera.
1. Definición de variables .
𝑥𝑗 = 1 si se selecciona el depósito j; 𝑥𝑗 = 0 de otra manera
2. Definición de las restricciones.
Al menos un centro debe servir la región i
σ𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 ≥ 1 ∀ 𝑖 𝑥𝑗 ϵ (0,1) ∀ 𝑗
min 𝑐𝑗 𝑥𝑗
𝑗=1
19/02/2020 19
EL PROBLEMA DEL AGENTE VIAJERO( TSP)
Un vendedor (agente viajero) debe visitar cada una de n ciudades
exactamente una vez, y después retornar a su punto de inicio. El tiempo en
viajar de la ciudad i a la ciudad j es 𝑐𝑖𝑗 . Encuentre al orden en el que el debería
hacer su tour para finalizar lo más rápido posible. A continuación se formula
como un BIP.
1. Definición de variables .
𝑥𝑖𝑗 = 1 𝑠𝑖 𝑒𝑙 𝑎𝑔𝑒𝑛𝑡𝑒 𝑣𝑖𝑎𝑗𝑎 𝑑𝑖𝑟𝑒𝑐𝑡𝑎𝑚𝑒𝑛𝑡𝑒 𝑑𝑒 𝑙𝑎 𝑐𝑖𝑢𝑑𝑎𝑑 𝑖 𝑎𝑙 𝑎 𝑐𝑖𝑢𝑑𝑎𝑑 𝑗,
y 𝑥𝑖𝑗 = 0 𝑑𝑒 𝑜𝑡𝑟𝑎 𝑚𝑎𝑛𝑒𝑟𝑎.
𝑥𝑖𝑖 : No esta definida para i=1,……..,n.
2. Definición de las restricciones.
Sale de la ciudad i exactamente una vez
𝑥𝑖𝑗 = 1 𝑝𝑎𝑟𝑎 𝑖 = 1, … … . . 𝑛
𝑗:𝑗≠𝑖
𝑥𝑖𝑗 = 1 𝑝𝑎𝑟𝑎 𝑗 = 1, … … . . 𝑛
𝑖:𝑖≠𝑗
19/02/2020 20
Subtours
2
1 3
6
5
7
8
4
19/02/2020 21
La restricción anterior se puede reemplazar por la siguiente representación
(restricciones de eliminación de subtours)
LA EXPLOSIÓN COMBINATORIA
Varios de los problemas que hemos visto son en todo sentido combinatorios
ya que la solución óptima es un subconjunto de un conjunto finito. En
principio estos problemas pueden ser resueltos por enumeración. Es decir
que se necesita contar el número de soluciones posibles.
19/02/2020 22
El problema de asignación: Hay una correspondencia uno a uno entre las
asignaciones y permutaciones de 1, … . , 𝑛 . Por tanto hay n! soluciones.
El problema de la mochila y de cobertura: en los dos casos el número de
subconjuntos es 𝟐𝒏 .
El problema del agente viajero: Empezando de la ciudad 1, el agente
tiene n-1 elecciones por hacer. Para la siguiente ciudad hay n-2 ciudades
posibles, y así sucesivamente. Por tanto hay (n-1)! tours factibles.
La tabla 1.1 muestra algunas funciones que crecen rápidamente. Por ejemplo
el TSP con n=101 ciudades tiene aproximadamente 9,33*10^157 tours.
19/02/2020 23
1.2. Formulaciones de programación
entera mixta.
Suponga que se necesita modelar una función típica no lineal de costo con carga fija.
Por ejemplo cuando se tienen que producir una cantidad de ítems x, existe un costo
fijo f de preparar las máquinas (independientemente de cuanto se produzca). Este
costo solo debe ser cargado si x>0, de lo contrario no es necesario preparar las
máquinas y el costo fijo por tanto sería cero.
h(x)=f+ px si 0<x≤Cy h(x)=0 si x=0
19/02/2020 24
Localización de instalaciones con capacidad ilimitada.
Uncapacitated Facility Location (UFL)
𝑥𝑖𝑗 = 1 𝑝𝑎𝑟𝑎 𝑖 = 1, … , 𝑚.
𝑗=1
La suma de las fracciones que atienden los depósitos para cada cliente i debe ser igual a
uno para que se satisfaga la demanda total del cliente.
19/02/2020
Relación entre 𝑥𝑖𝑗 y 𝑦𝑗
19/02/2020 26
Tamaño de Lote con capacidad de producción y almacenamiento
ilimitadas. Uncapacitated Lot Sizing (ULS)
1. Definición de variables.
𝒙𝒕 Cantidad producida en el periodo t.
𝒔𝒕 Inventario al final del periodo t.
𝒚𝒕 𝑦𝑡 = 1 si se produce en t, 𝑦𝑡 = 0 de otra manera.
19/02/2020 27
El modelo matemático (MIP) es el siguiente:
𝑛 𝑛 𝑛
𝑚𝑖𝑛 𝑝𝑡 𝑥𝑡 + ℎ𝑡 𝑠𝑡 + 𝑓𝑡 𝑦𝑡
𝑡=1 𝑡=1 𝑡=1
Note que no existe limite superior para x; por tanto se puede usar un valor muy
grande, es decir C=M, o calcularlo con base en los datos .
Si 𝑠𝑛 = 0, entonces podemos establecer una cota superior para x como
sigue: 𝑥𝑡 ≤ σ𝑛𝑖=𝑡 𝑑𝑖 , 𝑒𝑠 𝑑𝑒𝑐𝑖𝑟 𝑀 = σ𝑛𝑖=𝑡 𝑑𝑖
Note que sumando las ecuaciones de balance desde 1 hasta t se obtiene la
ecuación: 𝑠𝑡 = σ𝑡𝑖=1 𝑥𝑖 - σ𝑡𝑖=1 𝑑𝑖 y reemplazando este valor en la función
objetivo se obtiene: 𝑚𝑖𝑛 σ𝑛𝑡=1 𝑐𝑡 𝑥𝑡 + σ𝑛𝑡=1 𝑓𝑡 𝑦𝑡 − 𝐾 𝑑𝑜𝑛𝑑𝑒:
𝑐𝑡 = 𝑝𝑡 +ℎ𝑡 +…+ ℎ𝑛 y 𝐾 = σ𝑛𝑡=1 ℎ𝑡 (σ𝑡𝑖=1 𝑑𝑡 )
19/02/2020 28
Prueba de que 𝑲 = σ𝒏𝒕=𝟏 𝒉𝒕 (σ𝒏𝒕=𝟏 𝒅𝒕 )
+ 𝑠0 + 𝑥1 − 𝑠1 − 𝑑1
+ 𝑠1 + 𝑥2 − 𝑠2 − 𝑑2
+ 𝑠2 + 𝑥3 − 𝑠3 − 𝑑3
= σ𝑛=3 𝑛=3
𝑖=1 𝑥𝑖 -σ𝑖=1 𝑑𝑖 -𝑠3 = 0
𝑠𝑡 = σ𝑡𝑖=1 𝑥𝑖 - σ𝑡𝑖=1 𝑑𝑖
σ𝑛𝑡=1 𝑝𝑡 𝑥𝑡 + σ𝑛𝑡=1 ℎ𝑡 𝑠𝑡 = σ𝑛𝑡=1 𝑝𝑡 𝑥𝑡 + σ𝑛𝑡=1 ℎ𝑡 σ𝑡𝑖=1 𝑥𝑖 − σ𝒏𝒕=𝟏 𝒉𝒕 σ𝒕𝒊=𝟏 𝒅𝒊
σ𝑛𝑡=1 ℎ𝑡 σ𝑡𝑖=1 𝑥𝑖 = ℎ1 𝑥1
+ℎ2 𝑥1 + 𝑥2 𝐾
+ℎ3 (𝑥1 + 𝑥2 + 𝑥3 )
+…… ℎ𝑛 (𝑥1 + 𝑥2 + ⋯ + 𝑥𝑛 )
=𝑥1 (ℎ1 + ℎ2 + ⋯ + ℎ𝑛 ) + 𝑥2 ℎ2 + ⋯ + ℎ𝑛 + ⋯ +𝑥𝑛 ℎ𝑛
19/02/2020 29
ALTERNATIVAS DISCRETAS O DISYUNCIONES
Si se tiene que:
𝒑𝒊 : Son los tiempos de procesamiento. Para i=1,2.
𝒕𝒊 : Son los tiempos de inicio. Para i=1,2.
Entonces note que cualquiera de los trabajos puede preceder al otro, es decir
que puede ser que:
𝒕𝟐 ≥ 𝒕𝟏 + 𝒑𝟏 (𝒕𝟏 precede a 𝒕𝟐 )
O se puede dar que:
𝒕𝟏 ≥ 𝒕𝟐 + 𝒑𝟐 (𝒕𝟐 precede a 𝒕𝟏 )
Para especificar esta situación se utiliza la disyunción con la ayuda de una
variable binaria lo que se define a continuación.
19/02/2020 30
Suponga que 𝒙 ∈ 𝑅𝑛 satisface a 0 ≤ 𝑥 ≤ 𝑢 y que 𝑎1 𝒙 ≤ 𝑏1 ó 𝑎2 𝒙 ≤ 𝑏2
𝑥2
𝑎1 𝒙 ≤ 𝑏1
Restricciones.
𝑎2 𝒙 ≤ 𝑏2
𝑥1
Introduciendo las variables binarias 𝑦𝑖 para i=1,2. Entonces si 𝑀 ≥ 𝑚𝑎𝑥 𝑎𝑖 𝒙 − 𝑏𝑖 : 0 ≤ 𝑥 ≤ 𝑢
para i=1,2, se toman las siguientes restricciones:
𝑎𝑖 𝒙 − 𝑏𝑖 ≤ M(1 − 𝑦𝑖 ) para i=1,2.
𝑦1 + 𝑦2 = 1, 𝑦𝑖 ∈ 0,1 𝑝𝑎𝑟𝑎 𝑖 = 1,2.
19/02/2020 32
1.6. Formulaciones Alternativas
En esta sección se examinarán formulaciones alternativas y se tratará de entender
por qué algunas pueden ser mejores que otras. Primero es necesario precisar que
es una formulación.
19/02/2020 33
4
3
𝑷𝟐
2
𝑃1
0
0 1 2 3 4
𝑥𝑖 = 𝑤𝑖𝑡
𝑡=1
19/02/2020 36
Pero existe una formulación definida como la formulación Ideal y se puede
demostrar que no existe ninguna otra formulación que sea mejor que la Ideal.
Observe la siguiente gráfica similar a la figura 1.5 pero ésta contiene la
formulación 3 que es la ideal.
0
0 1 2 3 4
Cuando una formulación es ideal cada punto extremo es entero así que el IP se
puede resolver como un LP. (ya que al resolver sobre un poliedro el punto óptimo
siempre va a estar en un punto extremo)
19/02/2020 37
Definición 1.3 Dado un conjunto X ⊆ Rn, el casco convexo de X denotado conv(X) se
define como:
𝑐𝑜𝑛𝑣 𝑋 = 𝑥: 𝑥 = σ𝑡𝑖=1 λ𝑖 𝑥 𝑖 , σ𝑡𝑖=1 λ𝑖 = 1, λ𝑖 ≥ 0 para i=1,……..,t. t sobre todos los
subconjuntos 𝑥 1 , … … … . , 𝑥 𝑡 de X.
19/02/2020 38
Preposición1.2 Los puntos extremos de Conv(X) están en X
Así que dadas todas las formulaciones P posibles para X, la formulación ideal Conv(X)
tiene la propiedad de que X⊆Conv(X)⊆P para todas las formulaciones P. Es decir que la
mejor formulación se puede encontrar si se encuentra Conv(x) ya que está contenido
en todas las demás.
19/02/2020 39
Formulaciones para el Problema UFL (Uncapacitated Facility Location)
Sea 𝑃1 la formulación dada anteriormente en las diapositivas 25 y 26, con una sola
restricción para cada j como sigue:
σ𝑖∈𝑀 𝑥𝑖𝑗 ≤ 𝑚𝑦𝑗 para cada j
y sea 𝑃2 otra formulación pero en vez de una sola restricción, con m
restricciones para cada j:
𝑥𝑖𝑗 ≤ 𝑦𝑗 𝑝𝑎𝑟𝑎 𝑖 ∈ 𝑀 para cada j
Note que si cada punto (x,y) satisface las restricciones 𝑥𝑖𝑗 ≤ 𝑦𝑗 para 𝑖 ∈ 𝑀, entonces
sumando sobre 𝑖 ∈ 𝑀 se muestra que también se satisfacen las restricciones
σ𝑖 𝑥𝑖𝑗 ≤ 𝑚𝑦𝑗 . Entonces 𝑃2 ⊆ 𝑃1 .
19/02/2020 40
Búsqueda de un Punto en P1 que no está en P2
19/02/2020 42
Referencias
[2] Nadjib Brahimi , Stephane Dauzere-Peres, Najib M. Najid & Atle Nordli. Single Item
Lot Sizing Problems, European Journal of Operational Research, 168 (2006) 1-16
19/02/2020 43