2. Introducción
Un problema de Programación Entera (P.E.) es un
programa lineal con la característica adicional de
que algunas o todas las variables deben ser números
enteros.
A estas variables se les denomina variables enteras.
Se llama variable binaria a un tipo de variable que
sólo puede tomar los valores 0 ó 1.
Una variable binaria es muy útil para el
planteamiento de problemas complejos.
3. Resolución
Para resolver problemas con variables enteras no basta
redondear la solución obtenida con el método
Simplex. Posibles consecuencias:
Soluciones no factibles.
Proceso muy complejo al tratar de evitar caer en este
error.
Existen dos grandes métodos:
El método de ramificación y acotamiento (Branch and
Bound).
El método de los planos de corte (Cutting plane).
4. Método de ramificación y
acotamiento
Se va redondeando poco a poco las soluciones no
enteras obtenidas para las variables enteras, acotando
de manera sistemática las posibilidades que se van
presentando.
Existen varios algoritmos que se basan en este método,
que difieren únicamente en el procedimiento de
ramificación.
6. Planteamiento de P.L.
con variables binarias
Problema de presupuesto de capital.
Problema de costo fijo.
Problema de cobertura de conjuntos.
Problema con restricciones alternativas.
Relaciones lógicas entre alternativas.
7. Problema de presupuesto de capital
Un inversionista debe decidir dónde colocar su
dinero, entre varias posibilidades que se presentan.
Cada inversión viene definida por un monto fijo y
una utilidad.
Ejemplo:
Inversores Piuranos es una empresa que está
considerando la posibilidad de invertir en cuatro
proyectos.
En la siguiente tabla se muestran los posibles montos
de inversión y sus beneficios (en miles de dólares).
8. Inversores Piuranos dispone de 21 000 dólares.
¿En qué proyectos le conviene invertir?
Se debe decidir si conviene o no invertir en el
proyecto j (j = 1, 2, 3, 4), para lo cual se definen las
variables de decisión xj:
Proyecto 1 Proyecto 2 Proyecto 3 Proyecto 4
Inversión 9 6 7 5
Utilidad 20 13 14 9
contrario
caso
en
j
inversión
la
realiza
se
si
xj
,
,
0
1
9. Se definen las xj como variables binarias, donde el
valor 1 indica que sí conviene realizar la inversión, y
el valor 0 indica que no conviene realizar la
inversión.
El modelo de P.E. resulta:
Max Z = 20x1 + 13x2 + 14x3 + 9x4
s.a: 9x1 + 6x2 + 7x3 + 5x4 £ 21
x1; x2; x3; x4 = 0 o 1
10. Problema de costo fijo
En problemas de planeación de la producción de N
productos, el costo de la producción de un producto j
está formado por dos costos:
Un costo cj por cada unidad producida (costo variable).
Un costo Fj independiente de la cantidad producida, que es
un costo fijo (j = 1, 2, ..., N), que debe ser nulo si no se
produce ninguna unidad del producto j.
En la función objetivo sólo deben incluirse los costos fijos
de aquellos productos que sí se producen (xj > 0).
¿Cómo se le puede indicar al programa lineal esta
condición?
11. Ejemplo
Ganrhi es una fábrica que puede confeccionar tres
tipos de ropa: camisas, shorts y pantalones.
La confección de cada tipo de ropa requiere que
tenga disponibles distintos tipos de maquinaria.
La maquinaria necesaria para confeccionar cada
tipo de ropa puede ser alquilada a los siguientes
precios:
Maquinaria para camisas: $ 200 por semana.
Maquinaria para shorts: $ 150 por semana.
Maquinaria para pantalones: $ 100 por semana.
12. La confección de cada tipo de ropa requiere además
de las cantidades de tela y de horas de trabajo que
se especifican en la siguiente tabla.
Cada semana se dispone de 150 horas de trabajo y
de 160 m2 de tela.
Horas de trabajo Tela necesaria (m2)
Camisa 3 4
Shorts 2 3
Pantalones 6 4
13. Los costos y precios de venta para cada tipo de ropa
se muestran en la siguiente tabla.
¿Cuál es el plan de producción que maximiza los
beneficios de Ganrhi?
Precio de venta Costo
Camisa $12 $6
Shorts $8 $4
Pantalones $15 $8
14. Variables de decisión:
x1 = cantidad de camisas que conviene producir.
x2 = cantidad de shorts que conviene producir.
x3 = cantidad de pantalones que conviene producir.
Si no se considerase el alquiler de la maquinaria, el
P.L. sería:
Max Z = 6x1 + 4x2 + 7x3
s.a: 3x1 + 2x2 + 6x3 £ 150
4x1 + 3x2 + 4x3 £ 160
x1, x2, x3 ³ 0, entero.
15. Los costos fijos de alquiler (Fj) sólo deben tenerse
en cuenta en la F.O. cuando convenga producir al
menos una unidad del producto j.
Para esto conviene definir las variables binarias yj,
de tal manera que se cumpla:
La F.O. sería:
Max Z = 6x1 + 4x2 + 7x3 – 200y1 – 150y2 – 100y3
0
,
0
0
,
1
j
j
j
x
si
x
si
y
16. Las condiciones de yj pueden expresarse en forma lineal
mediante la siguiente inecuación:
xj £ Myj
Si xj > 1, necesariamente yj = 1
Si xj = 0, yj = 0 ó 1. Para maximizar Z, yj tomará el valor 0.
El modelo sería:
Max Z = 6x1 + 4x2 + 7x3 – 200y1 – 150y2 – 100y3
s.a: 3x1 + 2x2 + 6x3 £ 150
4x1 + 3x2 + 4x3 £ 160
x1 £ 150y1
x2 £ 150y2
x3 £ 150y3
x1, x2, x3 ³ 0, entero.
y1, y2, y3 = 0 ó 1
17. Problema de cobertura de conjuntos
Se trata de problemas en donde se definen dos
conjuntos: el primero, conformado por elementos
que deben ser cubiertos por los elementos que
podrían conformar el segundo.
Ejemplos:
Localización de estaciones de bomberos.
Programación de las tripulaciones de aerolíneas.
Programación de rutas de camiones, etc.
18. Ejemplo
Una provincia tiene seis distritos.
Se debe determinar en qué distritos construir
estaciones de bomberos, de tal manera que, con el
mínimo de estaciones necesario, se asegure que
cada distrito tendrá al menos una estación de
bomberos a 15 minutos, como máximo.
En la siguiente tabla se muestran los tiempos de
viaje entre los distintos distritos de la provincia.
19. ¿Cuántas estaciones de bomberos deben construirse?
¿En qué distritos?
Distrito 1 Distrito 2 Distrito 3 Distrito 4 Distrito 5 Distrito 6
Distrito 1 0 10 20 30 40 20
Distrito 2 10 0 25 35 20 10
Distrito 3 20 25 0 15 30 20
Distrito 4 30 35 15 0 15 25
Distrito 5 30 20 30 15 0 14
Distrito 6 20 10 20 25 14 0
20. Para cada distrito j, se debe determinar si se
construye una estación de bomberos, definiendo las
siguientes variables binarias:
La F.O. será minimizar el número de estaciones: xj
Para plantear las restricciones , considérese, para
cada distrito, qué distritos están a un máximo de 15
minutos. Véase la siguiente tabla.
En la tercera columna se expresan las restricciones
correspondientes a cada distrito.
contrario
caso
en
j
distrito
enel
construye
se
si
xj
,
0
,
1
21. Distritos a un máximo de 15 minutos Restricción
Distrito 1 Distrito 2 x1 + x2 ³ 1
Distrito 2 Distrito 1, distrito 6 x1 + x2 + x6 ³ 1
Distrito 3 Distrito 4 x3 + x4 ³ 1
Distrito 4 Distrito 3, distrito 5 x3 + x4 + x5 ³ 1
Distrito 5 Distrito 4, distrito 6 x4 + x5 + x6 ³ 1
Distrito 6 Distrito 2, distrito 5 x2 + x5 + x6 ³ 1
22. Problema con restricciones alternativas
En muchas ocasiones una situación puede ser
representada mediante una u otra restricción, y se
quiere que una de estas restricciones se cumpla:
f1(x1, x2, x3, ..., xn) £ 0
f2(x1, x2, x3, ..., xn) £ 0
Para que se cumpla una, se plantean:
f1(x1, x2, x3, ..., xn) £ My
f2(x1, x2, x3, ..., xn) £ M(1 – y)
Para cualquier valor que tome y (variable binaria),
siempre se impondrá una de las dos restricciones
originales; la otra no restringirá.
23. Ejemplo
Un fabricante de autos puede producir tres modelos:
compacto, mediano y grande.
La fabricación de estos modelos está limitada por
los siguientes recursos: acero y mano de obra.
En la siguiente tabla se indican los recursos que
requiere cada modelo, y sus respectivas utilidades
marginales.
Compacto Mediano Grande
Acero (TM) 1,5 3 5
Mano de obra (horas) 30 25 40
Utilidad ($) 2000 3000 4000
24. Se cuenta con 6 000 TM de acero y 60 000 horas de
mano de obra.
Para que la producción de un modelo sea rentable,
se deben fabricar por lo menos 1 000 unidades.
¿Cuántos autos de cada modelo le conviene
fabricar?
Variables de decisión:
x1 = n de autos compactos que conviene fabricar.
x2 = n de autos medianos que conviene fabricar.
x3 = n de autos grandes que conviene fabricar.
25. La F.O. será:
Max Z = 2000x1 + 3000x2 + 4000x3
Las restricciones serán:
1.5x1 + 3x2 + 5x3 £ 6000
30x1 + 25x2 + 40x3 £ 60000
Ahora se debe expresar que se cumpla una de las
siguientes restricciones:
xj £ 0
xj ³ 1000, que equivale a: 1000 – xj £ 0
Esto se plantea mediante las siguientes
restricciones:
xj £ Myj
1000 – xj £ M(1 – yj)
27. Relaciones lógicas entre alternativas
Si existen dos alternativas, j y k, y se puede elegir
una u otra, o ninguna; pero no ambas, se puede
plantear la siguiente restricción, empleando las
variables binarias xj y xk:
xj + xk £ 1
Si existen dos alternativas, j y k, y se debe elegir
una u otra; pero no ambas, se puede plantear la
siguiente restricción, empleando las variables
binarias xj y xk:
xj + xk = 1
28. Si la alternativa i se escogiese si y sólo si, al menos
una de ambas alternativas j o k es elegida, se
pueden plantear las siguientes restricciones,
empleando las variables binarias xi, xj y xk:
xj + xk £ 2xi
xi – xj – xk £ 0
Si la alternativa i se escogiese si y sólo si, las tres
alternativas j, k y l son elegidas, se pueden plantear
las siguientes restricciones, empleando las variables
binarias xj, xk y xl:
xj + xk + xl – xi £ 2
3xi – xj – xk – xl £ 0