1
Programación Entera
Programación entera es programación lineal con la
restricción adicional que los valores de las variables
de decisión sean enteros.
xj {
1, si la decisión j es sí
0, si la decisión j es no
3
Ejemplo
La empresa CMC está analizando la posibilidad de expansión mediante la construcción de
una nueva fábrica, ya sea en L.A. o en San Francisco o en ambas ciudades. También está
pensando en construir un nuevo almacén a lo sumo, pero la decisión dependerá del
emplazamiento de la nueva fábrica. El beneficio total aportado por la inversión referido al
momento presente se lista en la tercera columna y el coste de la inversión referido al
momento presente se lista en la cuarta. El total del capital disponible es de $10.000.000.
Se pide encontrar la solución factible que maximice el valor del beneficio total.
Beneficio Costo de
Decisión Pregunta sí o no Total Inversión
1 ¿Construir la fábrica en L.A.? 9 M$ 6M$
2 ¿Construir la fábrica en San Francisco? 5M$ 3M$
3 ¿Construir el almacén en L.A.? 6M$ 5M$
4 ¿Construir el almacén en San Francisco? 4M$ 2M$
Capital máx 10M$
4
Formulación del Problema
Variables de Decisión
j = 1, 2, 3, 4.
5
Formulación del Problema
Función Objetivo
6
Formulación del Problema
Restricciones
Un almacén a lo sumo
Alternativas excluyentes
Decisiones Contingentes
7
Formulación del Problema
Restricciones
Restricciones de Capital
8
Formulación del Problema
Modelo Final
9
Otras posibilidades de formulación con
variables binarias.
En ocasiones es necesario utilizar variables para expresar
relaciones combinatorias dentro de la formulación de los
problemas. Para esto, además de las variables originales xj,
se hace necesario el uso de variables auxiliares yi del tipo
binario, introducidas en la reformulación.
10
Otras posibilidades de formulación con
variables binarias.
1. Restricciones una u otra.
Sólo una (cualquiera de las 2) debe cumplirse, mientras
que la otra puede cumplirse, pero no se requiere que
lo haga. Esto tiene una aplicación práctica en los casos
en que se tienen 2 tipos de recursos para un cierto
propósito.
11
Otras posibilidades de formulación con
variables binarias.
12
Otras posibilidades de formulación con
variables binarias.
9 ---
8 ---
7 ---
6 ---
5 ---
4 ---
3 ---
2 ---
1 ---
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
13
Otras posibilidades de formulación con
variables binarias.
9 ---
8 ---
7 ---
6 ---
5 ---
4 ---
3 ---
2 ---
1 ---
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
14
Otras posibilidades de formulación con
variables binarias.
1. Restricciones una u otra.
Para modelar este tipo de restricción se recurre a variables
binarias auxiliares
15
Otras posibilidades de formulación con
variables binarias.
2. Deben cumplirse K de N restricciones.
Considere la situación en la que el modelo completo
incluye un conjunto de N restricciones posibles entre
las que sólo K de ellas se deben cumplir. (suponga que
K < N).
Las N-K restricciones que no se eligen quedan
eliminadas del problema, aun cuando por coincidencia
las soluciones factibles puedan satisfacer algunas de
ellas.
16
Otras posibilidades de formulación con
variables binarias.
2. Deben cumplirse K de N restricciones.
Se tienen N restricciones del tipo:
Se transforma en
17
Otras posibilidades de formulación con
variables binarias.
Considere el siguiente ejercicio:
Una empresa manufactura 2 tipos de productos A y B. Cada uno de estos
productos genera una utilidad de 30.000 y 45.000 respectivamente. La
demanda mensual de cada producto es de 40 para el producto A y de 70
para el producto B. Para fabricar el producto A se requiere de 6 kilos de
materia prima X y 3 de materia prima Y. Por otro lado para fabricar el
producto B se requiere de 18 kilos de la materia prima Y. La disponibilidad
de cada una de las materias primas es de 150 kilos de la materia prima X y
de 75 kilos de la materia prima Y. Debido al tamaño y peso de los
productos fabricados ( 10 kilos , 2 m3 para el producto A y 20 kilos y 5m3
para el producto B), éstos deben almacenarse en bodegas especiales.
Existen dos bodegas disponibles, pero sólo puede usarse una. Estas bodegas
Q1 y Q2 permiten el almacenaje de 500 kilos en total y 150 m3
respectivamente. Se pide que determine cuantos productos A y B fabricar
e indicar en que bodega se almacenarán.
18
Otras posibilidades de formulación con
variables binarias.
3.Funciones con N valores posibles.
Considere la situación en la que una función dada tome
cualquiera de N valores dados. Denotemos este requisito
así:
Se transforma en :
19
Otras posibilidades de formulación con
variables binarias.
Ejemplo:
20
Otras posibilidades de formulación con
variables binarias.
4. Costos Fijos Evitables.
Es bastante común incurrir en un costo fijo cuando se
emprende una actividad. Por ejemplo, cuando se inicia
una corrida de un lote pequeño de producción
existen algunos costos fijos y otros variables.
En general el costo total de la actividad (por ejemplo j ) puede representarse
por una función de la forma:
F.O:
Se modela
Rest.
21
Otras posibilidades de formulación con
variables binarias.
Ejemplo
Gandhi Cloth Company fabrica tres tipos de prendas de vestir: camisetas, shorts y
pantalones.GCC tiene disponible cada semana 150 horas de mano de obra y 160 yardas
cuadradas de tela.
La elaboración de cada tipo de prenda requiere que Gandhi tenga disponible el tipo de
maquinaria apropiada. La maquinaria necesaria para manufacturar cada tipo de prenda se
tiene que arrendar a las siguientes tarifas: 200 dólares por semana para camisetas, u$150
por semana y 100 para pantalones
La manufactura de cada tipo de prenda también requiere las cantidades de tela y mano de
obra que se indican en la tabla más adelante al igual que el costo unitario variable y su
precio de venta. Se pide determinar la cantidad de camisetas, shorts y pantalones que
GCC debe fabricar semanalmente.
Camiseta 3 4 12 6
Shorts 2 3 8 4
Pantalones 6 4 15 8
22
Otras posibilidades de formulación con
variables binarias.
Ejemplo:
Una empresa manufactura 2 tipos de productos A y B. Cada uno de estos
productos genera una utilidad de 30.000 y 45.000 respectivamente. La demanda
mensual de cada producto es de 40 para el producto A y de 70 para el producto B.
Para fabricar el producto A se requiere de 6 kilos de materia prima X y 3 de
materia prima Y. Por otro lado para fabricar el producto B se requiere de 18 kilos
de la materia prima Y. La disponibilidad de cada una de las materias primas es de 150
kilos de la materia prima X y de 75 kilos de la materia prima Y. Debido al tamaño y
peso de los productos fabricados ( 10 kilos para el producto A y 20 kilos para el
producto B), éstos deben almacenarse en bodegas especiales. Existen 4 bodegas
disponibles, pero sólo puede usarse una y a capacidad plena ( no puede sobrar
espacio). Estas bodegas Q1, Q2, Q3 y Q4 permiten el almacenaje de 500, 600, 650 y
700 kilos en total y respectivamente. El costo del arriendo de las bodegas es de
700.000, 850.000, 900.000 y 1.000.000 respectivamente . Se pide que determine
cuantos productos A y B fabricar e indicar en que bodega se almacenarán.
23
Otras posibilidades de formulación con
variables binarias.
5. Costo Unitario de Descuento
Al considerar por ejemplo que se desea comprar un
producto cuyo precio al detalle es de $c1 y si se
compran Q o más unidades el precio cambia a $c2, el
modelo seria el siguiente:
F.O:
s.a:
24
Otras posibilidades de formulación con
variables binarias.
6. A partir de la unidad Q existe descuento
Si se considera ahora que se al comprar hasta Q-1
unidades de un producto, este se vende a un precio
$c1 y las unidades restantes de compra a un precio
$c2, el modelo sería el siguiente:
F.O:
s.a:
25
Otras posibilidades de formulación con
variables binarias.
Ejemplo
Pedro, vendedor de diarios, vende dos tipos de diario, LUM y
EMOR. La demanda diaria de cada uno es de 50 y 70
respectivamente. Un mayorista le ofrece una oferta para la
compra de los diarios LUM, le vende a $180 cada diario si la
cantidad comprada es menor a 25 y a $150 por los restantes. Por
otro lado los diarios EMOR cuestan $250 si compra menos de
40 y $200 si compra 40 o más. Los precios de venta de cada uno
de los periódicos es de 400 y 500 para LUM y EMOR. Pedro
dispone de 55.000 pesos para comprar. ¿Cuántos diarios de cada
tipo debería comprar?
26
¿Cómo modelaría…?
De tres proyectos, sólo uno se debe realizar.
27
Anexo
Determinada empresa sirve dos productos (P1 y P2) que fabrica en tres plantas
diferentes (que llamaremos F1, F2 y F3). La capacidad de las fábricas, medida en
horas es de 1.000, 2.000 y 1.500 horas respectivamente. El coste de
producción de los productos es de 2 unidades monetarias (um) por hora en
cualquiera de las tres fábricas.
Fabricar un kilo de P1 ocupa 4 horas de tiempo de fábrica, y un kilo de P2 3 horas.
Si decidimos producir un producto en una fábrica determinada, incurrimos en
un coste fijo que es de 600 um para P1 y de 700 um para P2.
Los precios de venta de P1 y P2 son de 11 um/Kg y de 8 um/Kg respectivamente.
La demanda máxima de P1 es de 800 Kg, y la de P2 de 1000 Kg. Las demandas
mínimas a satisfacer de P1 y P2 son de 80 y 100 Kg, respectivamente.
Por razones de seguridad, cada producto debe fabricarse al menos en dos fábricas.
Si se decide fabricar un producto en una fábrica, la cantidad mínima a fabricar
será de 50 Kg.
Determinar el plan de producción (cuánto debe fabricarse de P1 y P2 en F1, F2 y
F3) que maximiza el beneficio.
28
Modelos Clásicos de
Programación Entera
Introducción
• Existen problemas de programación entera,
que debido a variedad de aplicaciones, se
estudian con mucho mas detalle.
– Función Objetivo:
Problema de Asignación
• Formulación del Problema
– Restricciones
• Cada línea de ensamble debe ser inspeccionada sólo
por un área
Problema de Asignación
• Formulación del Problema
– Restricciones
• Cada área debe inspeccionar sólo una línea de
ensamble.
Problema de Asignación
• Formulación del Problema
– Restricciones
• Naturaleza de las variables
Problema de Asignación
• Formulación del Problema
– Finalmente
sa
Problema de Asignación
• Solución al problema
Problema de Asignación
• Solución al problema
Problema de Asignación
• Más formalmente
– Considere que se debe asignar a cada operario i una
tarea j a realizar.
– Tanto la cantidad de operarios, como la de tareas es la
misma, n.
– Cada operario puede realizar un única tarea.
– Cada tarea puede ser realizada por sólo un operario.
– El tiempo que le toma al operario i en realizar la tarea
j es : cij
– El objetivo es minimizar el tiempo total de trabajo.
Problema de Asignación
• Sea
sa
Problema de Asignación
• ¿Cómo resolver el problemas de asignación?
– Recordar método húngaro
C2
P2
Costo de enviar una unidad del
producto desde la planta i al
cliente j : cij C3
P3
C4
…
…
Pn
Cm
Problema clásico de transporte
• Variables de decisión:
• Modelo sa:
Problema clásico de transporte
• Suponga la siguiente situación:
– Hay n posibles plantas a instalar, con un costo e
instalación Ii . Cada una de estas plantas tiene
una oferta (Oi) de productos.
– Hay m clientes, cada uno de los cuales tiene una
demanda de Dj.
– El problema ahora no es sólo decidir cuantos
productos enviar desde que planta, sino que
también que planta abrir.
Localización de instalaciones
capacitado
• Variables de decisión:
Localización de instalaciones
capacitado
• Modelo
sa:
Localización de instalaciones no
capacitado
• Problema muy similar al anterior, con la
diferencia que las potenciales plantas Pi,
tienen oferta infinita (capacidad ilimitada).
• El modelo sería:
Localización de instalaciones no
capacitado
• Modelo
sa:
Localización de instalaciones no
capacitado
• Un modelamiento equivalente al problema
anterior es considerando que:
– Variables:
Localización de instalaciones no
capacitado
• El nuevo modelo sería:
sa:
Problema de la Mochila
• Se poseen n diferentes objetos, cada uno con
un peso ai y un valor de Ci.
• Estos objetos se pueden almacenar en una
mochila que permite un peso máximo de M.
• La idea es seleccionar un conjunto de objetos,
talque maximicen la riqueza de la mochila
Problema de la Mochila
• Variables:
• Modelo:
sa:
Problema de la Mochila
• Existen variantes a este problema, como por
ejemplo:
i 1,..., n
• Modelo:
Mas precisamente:
Los costos son simétricos en el sentido de que viajar desde la ciudad X a la ciudad Y
tiene el mismo costo que viajar desde la ciudad Y a la ciudad X. La condición de visitar
todas las ciudades implica que el problema se reduce a decidir en que orden las
ciudades van a ser visitadas.
Problema del vendedor viajero
Un poco de historia:
sa:
sa:
Problema del vendedor viajero
• http://www.tsp.gatech.edu/games/tspOnePla
yer.html
Otros problemas clásicos
• Variantes del TSP
– TSPTW
– m-TSP
Vehicle Routing Problem
Un número de vehículos con
capacidad limitada debe
servir un conjunto
determinado de
consumidores con cierta
demanda y satisfaciendo
limitaciones. El objetivo es el
de asignar vehículos a
consumidores y definir la
secuencia de visitas para
minimizar costos, distancias o
tiempos
Vehicular Routing Problem
Algunas Variantes del VRP
Abreviatura Denominacion
AVRP Asymetric Vehicle Routing Problem
CVRP Capacited Vehicle Routing Problem
Optimización
Preprocesado automático del problema
para PEB pura
El preprocesado automático incluye “una
inspección por computador” de la formulación
del problema de PE proporcionada por el
usuario, con el fin de detectar algunas
reformulaciones que hacen que el problema
se resuelva con mas rapidez, sin eliminar
ninguna solución factible.
Preprocesado automático del problema
para PEB pura
Estas reformulaciones pueden ser clasificadas en tres
categorías:
3x1 2
3x1 x2 2
5 x1 x2 2 x3 2
Preprocesado automático del problema
para PEB pura
Fijar Variables
De igual forma (2)
3x1 2
3x1 x2 2
3x1 x2 2 x3 2
Preprocesado automático del problema
para PEB pura
Fijar Variables
Otro ejemplo (3)
x1 x2 2x3 1
Preprocesado automático del problema
para PEB pura
Fijar Variables
Otro ejemplo (4)
3x1 x2 3x3 2
Preprocesado automático del problema
para PEB pura
Fijar Variables
Otro ejemplo (5)
3x1 2x2 1
Preprocesado automático del problema
para PEB pura
Fijar Variables
Otro ejemplo (6)
3x1 x2 2x3 2
x1 x4 x5 1
x5 x6 0
Preprocesado automático del problema
para PEB pura
Fijar Variables
Otro ejemplo (7)
8 x1 4 x2 5 x3 3x4 2
x2 x3 1
Preprocesado automático del problema
para PEB pura
Eliminar Restricciones Redundantes
Si una restricción funcional satisface incluso la
solución binaria más demandante, entonces
las restricciones binarias la han convertido en
redundante y en adelante se puede eliminar.
Para una restricción del tipo ≤, la solución
binaria más demandante tiene variables
iguales a 1 cuando tienen coeficientes no
negativos y otras variables son iguales a 0.
(Estos valores se invierten si se trata de una
restricción del tipo ≥)
Preprocesado automático del problema
para PEB pura
Eliminar Restricciones
Redundantes
Ejemplos
3 x1 2 x2 6
3 x1 2 x2 3
3 x1 2 x2 3
Preprocesado automático del problema
para PEB pura
Estrechar Restricciones
Considere el siguiente ejemplo
Max z 3x1 2 x2
sa :
2 x1 3x2 4
x1 , x2 binarias
Preprocesado automático del problema
para PEB pura
1. Estrechar Restricciones
Procedimiento
Denote la restricción por:
a1 x1 a2 x2 ... an xn b
1. Calcule S = Suma de los aj positivos.
2. Identifique cualquier aj tal que S < b + |aj|
a. Si no hay, el procedimiento se detiene, la restricción ya
no se puede reducir.
b. Si aj > 0, vaya al paso 3.
c. Si aj < 0, vaya al paso 4.
3. Calcule a*j = S- b y b*= S- aj . Reestablezca aj = a*j
y b=b*. Regrese al paso 1
4. Aumente aj a aj = b – S. Regrese al paso 1.
Preprocesado automático del problema
para PEB pura
Aplicar algoritmo para este ejemplo