Sunteți pe pagina 1din 27

Universidad Alas Peruanas

Escuela Profesional de Ingeniería de Sistemas e Informática


Curso: Teoría de Decisiones

Guía Estudio: Programación Lineal Entera

Introducción
 En este capítulo veremos problemas que se podrían formular y resolver
como problemas de programación lineal, excepto por la desagradable
circunstancia de que se requiere que algunas o todas las variables tomen
valores enteros.
 Dichos problemas se llaman PE (Programación Entera).
 La programación entera ha llegado a ser un área muy especializada de la
ciencia de la administración.
 En el fondo es que existen muchos problemas administrativos importantes
que serian de programación lineal si no fuera por el requerimiento de que
sean enteros los valores de algunas variables de decisión, en los que no se
pueden encontrar una buena solución mediante el uso del método simplex
seguido del redondeo de los valores óptimos resultantes para las variables
de decisión. Estos problemas deben ser resueltos mediante algoritmos
especialmente diseñados para resolver problemas de programación
entera.

TIPOS DE MODELOS PARA PROGRAMACION LINEAL ENTERA

Programación entera es un término general para los modelos de


programación matemática que presentan condiciones de ser enteros
(condiciones que estipulan que algunas o todas las variables de decisión deben
tener valores enteros). Existen diversas clasificaciones de esta categoría de
modelos.

 Un modelo entero puro (PEP) es, como su nombre lo indica, un problema en


el que se exige que todas las variables de decisión tengan valores enteros.
Por ejemplo

Minimizar 6X1 + 5X2 + 4X3


Sujeto a 108X1 + 92X2 + 58X3  576

7X1 + 18X2 + 22X3  83

X1, X2, X3  enteros

es un modelo entero puro.

 Un problema en el que sólo se requiere que algunas variables tengan


valores enteros mientras que otras pueden asumir cualquier número no
negativos (es decir, cualquier valor continuo) se llama programación
lineal entera-mixta (PLEM)

1
Por ejemplo, supóngase que en el problema anterior solo X 1 y X2 deben ser enteros y X3 no.

El problema resultante es

Minimizar 6X1 + 5X2 + 4X3


Sujeto a 108X1 + 92X2 + 58X3  576

7X1 + 18X2 + 22X3  83

X1, X2, X3  0 ; X1 y X2 enteros.

 En algunos casos se restringe el valor de las variables a 0 ó 1. Dichos


problemas se llaman binarios o programación lineal entera 0-1. Son de
interés debido a que se pueden usar las variables 0-1 para representar
decisiones dicotómicas (sí o no).

Diversos problemas de asignación, ubicación de planta, planes de


producción y de construcción, son de programación lineal entera 0-1. Las
variables 0-1 se pueden encontrar tanto en problemas de PEP como PLEM.
A menudo se consideran problemas de programación lineal (PL) que se
comienzan como PEP o PLEM, ignorando las restricciones enteras. A estos
problemas de PL se les llama aproximaciones en las PEP o PLEM
correspondientes.

INTERPRETACION GRAFICA

Considérese el siguiente problema

Maximizar 18E + 6F

Sujeto a E+ F5 (1)

42.8E + 100F  800 (2)

20E + 6F  142 (3)

30E + 10F  132 (4)

E– 3F  0 (5)

E y F  enteros

En el análisis, E es el numero de los E-9 y F el de los F-9 que la


empresa Protrac produce, la Protrac produce equipo pesado para la
construcción.

2
Para resolver este problema con el tratamiento gráfico, prescribimos tres
pasos:

1.- Encuéntrese el conjunto factible para la aproximación de la PL del


problema de PLE.

2.- Identifique los puntos enteros del inferior del conjunto determinado en el
paso 1.

3.- Encuéntrese, entre los puntos determinados en el paso 2, el que


optimiza la función objetivo.

La región demarcada es el conjunto factible de aproximación en la


programación lineal y los puntos rojos son los puntos enteros contenidos en
este conjunto.
Y estos son (3,6); (4,6); (3,5), (4,5); (5,5); (4,4); (5,4); (4,3); (5,3), (6,3);
(4,2); (5,2) y (6,2)

 Para resolver este problema, debemos determinar ahora cual de los puntos
factibles produce el valor mayor para la función objetivo.
 Se procede como en el problema de PL, o sea moviendo el contorno de la
función objetivo cuesta arriba (dado que estamos trabajando con un modelo
para maximizar) hasta que ya no sea posible hacerlo más sin abandonar el
conjunto factible.

3
 Podemos observar que la solución optima de PLE es el punto E = 6, F = 3.
Y como la función objetivo es 18E + 6F, la solución obtenida para ésta es un
valor optimo de 18(6) + 6(3) = 126.
 Aquí también se ilustran algunos hechos en relación con la aproximación de
la PL. La solución optima con la aproximación de la PL ocurre en la
intersección de las rectas 42,8E + 100F = 800 y 20E+ 6F = 142. Puesto que
la intersección de las dos restricciones no se presenta en un punto entero,
la solución óptima de la aproximación con la PL no es factible para la PLE.

E* = 5.28 y F* = 5.74 con valor optimo (Vo) Vo = 129.48.


 Al agregar cualquier restricción o un problema de programación matemática
no puede mejorar, y sí empeorar, el valor optimo de la función objetivo.

Por lo tanto, nuestro valor óptimo disminuye sumando las restricciones de


enteros.

COMENTARIOS

1.- En un problema de maximización, el valor óptimo de la aproximación PL


produce siempre una cota superior para el valor óptimo del PLE o
PLEM original. Si se agregan restricciones de enteros el valor optimo de
la PL, o bien empeorará, o bien quedará igual. En un problema de
maximización, empeorar el valor óptimo significa disminuirlo.
2.- En un problema de minimización, el valor óptimo de la aproximación de
PL siempre proporciona una cota inferior para el valor óptimo de la PLE
o PLEM original. Nuevamente, el agregado de restricciones entera o bien

4
empeora o bien deja igual el valor óptimo de la PL. En un problema de
minimización, empeorar el valor óptimo significa aumentarlo.

SOLUCIONES REDONDEADAS

 Observamos que la solución óptima de la aproximación de PL es E* = 5.28 y


F* = 5.74. Cada una de esas variables puede ser redondeada al entero
superior o inferior, con lo que resultarán cuatro soluciones redondas [(5,5),
(5,6),(6,5),(6,6)] vecinas a la solución optima de la aproximación de PL.
 El hecho general es que con dos variables de decisión hay cuatro
soluciones vecinas redondeadas; con n variable de decisión habrá 2 n de
tales puntos.
 Dificultades potenciales que pueden surgir cuando se usan soluciones
redondeadas. Como vimos al resolver la aproximación de PL para
redondear cada variable al entero más próximo, obtenemos (5,6), que es
infactible. En este caso, (5,5) es el único punto factible que se puede
obtener redondeando (5.28, 5.74). Las demás soluciones, (5,6), (6,6) y (6,5)
son infactibles todas.

Aquí hay dos hechos importantes.

1.- Una solución redondeada no es necesariamente óptima. En este caso, el


valor de la función objetivo en la única solución redondeada factible es
18(5) + 6(5) = 120

Comparando este con el valor optimo 126 de la PLE. Entonces vemos que
se produjo una pérdida relativa de 6/126, casi del 5%, el usar la solución
redondeada en lugar de la optima.

2.- Una solución redondeada no necesariamente está cerca de la solución


de PE óptima.
Se tiene la idea intuitiva de que aun cuando una solución redondeada no
sea optima, deba estar “cerca” de la solución PE optima.
En nuestro ejemplo solo cuatro puntos del conjunto factible [(3,6), (4,6),
(3,5) y (4,5)] están más lejos de la solución optima que la solución
redondeada.

5
Veamos otro ejemplo

Aquí la región factible es la región sombreada da el conjunto factible de


la aproximación de PL, los puntos son los enteros y el punto encerrado en un
circulo es la única solución factible de la PLE.

La solución optima es la aproximación de PL se indica como el vértice


del conjunto factible en forma de cuña.

Si comenzáramos con la solución optima de la PL [aproximadamente


(3.3,4.7) y redondeásemos después esto a cualquiera de los cuatro puntos
enteros vecinos, obtendríamos un punto no factible. Para este ejemplo, ningún
redondeo produce factibilidad.

Vemos que este procedimiento puede producir ciertos problemas:

1.- Puede ser que ninguno de los puntos enteros próximos sea
factible.

2.- Aun cuando uno o más de los puntos enteros próximos sean
factibles.

a) No necesariamente serán óptimos para la PE.


b) No necesariamente estarán cerca de la solución óptima de
PE.

6
Enumeración

Quizás con el ejemplo dado quede la impresión de que es posible


realizar la enumeración de todas las soluciones factibles. Por desgracia, la
enumeración completa no es una forma razonable de resolución para la
mayoría de la PLE. Por ejemplo, supóngase que tenemos un PLE con un
centenar de variables 0-1, en este caso los puntos factibles son 2100 = 1.27x103
puntos.

APLICACIONES A LA VARIABLE 0-1

Las variables binarias o 0-1 juegan un importante papel en la aplicación


de las PLE y de la PLEM. Estas variables hacen posible incorporar “decisiones
de si o no”, llamadas a veces “decisiones dicotómicas”, el formato de una
programación matemática.
Dos ejemplos ilustran lo que decimos:

1.- En un problema de ubicación de una planta pondremos Xj = 1 si


decidimos ubicar la planta en la localidad j y Xj = 0 si decidimos no
hacerlo.
2.- En un problema de asignación de rutas escribimos Xijk = 1 si el camión k
va de la ciudad i a la ciudad j o Xijk = 0 si no lo hace.

EJEMPLO

Presupuesto de capital: Una decisión sobre expansión. Muchas firmas


toman decisiones sobre inversiones anuales de capital. En forma simple, las
decisiones sobre presupuestos del capital es cuestión de escoger entre n
alternativas para maximizar el rédito, con sujeción a restricciones sobre el
monto del capital invertido a plazos.
Como ejemplo, supóngase que la mesa de directores de la Protrac
afronta el problema que se resume a continuación

Valor Actual Capital requerido en el año i


del Rédito para la alternativa j
Alternativa (j) neto 1 2 3 4 5
Expansión de la planta 40 10 5 20 10 0
en Bélgica
Expansion de la cap. 70 30 20 10 10 10
de maq. pq. en E.U.
Establecimiento de una 80 10 20 27 20 10
nueva planta en Chile
Expansión de la cap. 100 20 10 40 20 20
de maq. gr. en E.U.

Capital disponible en el bi 50 45 70 40 30
año i

Las cantidades de dólares están en millares.

7
La mesa directiva ha de elegir una o más de las alternativas. Si deciden
expandir la planta Belga, el valor actual del reingreso neto para la firma es de
$40000. Este proyecto requiere $10000 de capital el primer año, $5000 el
segundo, etc. La mesa directiva ha presupuestado con anterioridad hasta
$50000 como inversiones de capital totales para el año 1, hasta $45000 en el
año 2, etc.

Formulación de un modelo de PLE.

Este problema puede ser formulado como modelo de PLE en el que


todas las variables son del tipo 0-1. Esto se llama PLE 0-1. En concreto, será Xi
= 1 si el proyecto se acepta y Xi = 0 si se rechaza.

El problema, entonces será

Maximizar 40X1 + 70X2 + 80X3 + 100X4  VALOR PRESENTE


DE LOS PROYECTOS
ACEPTADOS

Sujeto a 10X1 + 30X2 + 10X3 + 20X4  50

5X1 + 20X2 + 20X3 + 10X4  45

Capital requerido  20X1 + 10X2 + 27X3 + 40X4  70  Capital disponible


en el año 3 en el año 3
10X1 + 10X2 + 20X3 + 20X4  40

10X2 + 10X3 + 20X4  30

Xi = 0 ó 1 ; i = 1, 2, 3, 4.

Aquí la función objetivo es el valor total actual de los reingresos netos y cada
restricción controla la cantidad de capital que se usará en cada uno de los cinco
periodos.

Aproximación de la PL

Nos acercaremos a este problema resolviendo primero la aproximación de PL.


Resolviendo a través del programa computacional WinQSB se tiene:

VALOR FUNCION OBJETIVO = 200

X1 = 0.7222
X2 = 0.6389
X3 = 0.2778
X4 = 1.0417

8
 Aquí hemos pasado por alto las restricciones Xi = 0 o 1. En su lugar agregamos
las restricciones Xi  1, i = 1, 2, 3, 4. Por supuesto, en una PL todas las Xi son
siempre no negativas.
 Por lo tanto, en vez de Xi = 0 o 1, tenemos en la aproximación a Xi restringida
en el intervalo (que es 0  Xi  1).
 Seria deseable que en la solución optima cada Xi, en forma fortuita, tomase uno
u otro de los valores extremos del intervalo admisible (0 o 1) para que la PLE
original quedase resuelto.
 Por desgracia, como se muestra en la formulación y resultado anterior, esto
sólo sucedió con X4; los valores de X1, X2 y X3 son fraccionarios.
 Ya que X3 debe ser igual a 1 si la Protrac establece una planta en Chile y 0 si
no, el resultado X3 = 0.33 carece de significado.
 Al tratar de encontrar una solución al problema de PLE resolviendo la
aproximación de PL y redondeando después los resultados no funciona bien. Si
redondeamos se produce lo siguiente

X1 = 1, X2 = 1, X3 = 0, X4 = 1 y esta es una solución infactible ya que viola


la restricción 1.

9
Solución entera puro

Utilizando el programa WinQSB y usando códigos de programación


entera se tiene el siguiente resultado

VALOR FUNCION OBJETIVO = 190.0

X1 = 1
X2 = 1
X3 = 1
X4 = 0

CONDICIONES LOGICAS

Un importante uso de las variables 0-1 consiste en imponer restricciones


que surgen de condiciones lógicas veamos algunos ejemplo.

No más de k de entre n alternativas

Supóngase Xi = 0 o 1, para i = 1,…..,n

La restricción

X1 + X2 + …….. + Xn  k

Implica que cuando más k alternativas de n posibilidades pueden ser


seleccionadas. Es decir, ya que cada Xi puede ser solamente 0 o 1, la
restricción anterior dice que no más de k de ellas pueden ser iguales a 1.

10
Supongamos que para el caso de la Protrac, que no más de un proyecto
extranjero será aceptado.
Por esta razón, la mesa directiva quiere descartar una decisión que
incluya la expansión en Bélgica y una nueva planta en Chile. Agregar la
restricción
X1 + X 3  1

Decisiones dependientes

Se pueden usar variables 0-1 para forzar una relación de dependencias


entre dos o mas decisiones. Supongamos, por ejemplo, que el
administrador no desea elegir la opción k a menos que se elija primero la
opción m.
La restricción
Xk  Xm (*)

ó Xk – X m  0

da vigencia a esta condición.

Nótese que si m no es seleccionada, entonces Xm = 0. La ecuación (*)


obliga entonces a que Xk sea igual a cero (o sea que la opción k no será
seleccionada).
Por otra parte, si m es seleccionada, Xm = 1; entonces, por la expresión
(*) tendremos que Xk  1. Esto deja al programa en libertad de elegir Xk = 1 o
Xk = 0.

 Por ejemplo, supóngase que el administrador de la Protrac piensa


que, si van a expandirse dentro de los Estados Unidos, su posición
competitiva implica que definitivamente deben expandir la capacidad
en maquinas grandes.

Agregando la restricción

X2 – X 4  0

a la PLE se asegura que el modelo no puede optar por “expandir la


capacidad en máquinas pequeñas” a menos que haya elegido
“expandir la capacidad en maquinas grandes”.
 En forma análoga, supóngase que la mesa directiva decide: “si
vamos a expandir nuestra capacidad domestica, debemos expandir
ambas líneas. Agregando la restricción

X4 – X 2 = 0

a la PLE, ya que implica que X4 y X2 deben tener el mismo valor.

11
Restricciones de aportaciones

Considere a un administrador financiero que tiene las siguientes


restricciones

(1) Si compra la obligación j, debe comprar al menos 20 acciones.


(2) No puede comprar mas de 100 acciones de la obligación j. Sea Xj
el número de acciones de la obligación j que compra. La
restricción “si se compra j deberán comprarse al menos 20
acciones” se llama “cantidad mínima de aportación” o “cantidad
de la tanda”.

Hagamos hincapié que este tipo de restricción no se puede construir


en un modelo de PL.
La restricción 20  Xj  100 no funciona puesto que insiste en que Xj
debe ser, por lo menos, 20.

Queremos que sea o bien Xj = 0 o 20  Xj  100. Para lograr esto


necesitamos usar una variable 0-1, digamos yj, para la obligación j.
La variable yj tiene la siguiente interpretación:

Si yj = 1, se comprará la obligación j.

Si yj = 0 no se comprará la obligación j.

Considérese ahora las dos restricciones

Xj  100yj (**)

Xj  20yj (***)

Vemos que si yj = 1, entonces (**) y (***) implican que 20  Xj  100.


Por otra parte si yj = 0, entonces (**) implica que Xj  0.
Las dos desigualdades juntas implican que Xj = 0. Entonces, si yj = 1,
con lo que se compra j, y 0 cuando no, tenemos la condición
apropiada para Xj.

12
PROBLEMA DE UBICACION DE LOS ALMACENES STECO.

Con el objeto de ahorrar capital, la Steco, comerciante al por mayor de


acero, alquila sus almacenes regionales. El alquiler mensual del almacén i es
Fi. Además, el almacén i puede manejar un máximo de Ti camiones al mes.
Hay cuatro distritos de ventas y la demanda mensual acostumbrada del
distrito j es de dj camiones cargados. El costo medio de enviar un camión del
almacén i al distrito j es Cij. La Steco quiere saber cuales almacenes alquilar y
cuantos camiones enviar de cada almacén a cada distrito.

En la figura siguiente se ilustra una representación esquemática del


problema

FIGURA

COSTO MENSUAL DE
ALQUILER DE ALMACENES FA FB FC

CAPACIDAD (EN CAMIONES TA TB TC


CARGADOS)

ALMACENES A B C

DISTRITOS 1 2 3 4

DEMANDA MENSUAL d1 d2 d3 d4

13
Los datos del problema se presentan en la figura siguiente:

Costo por camión Capacidad


Almacén (Cij) Mensual Costo
Distrito de ventas (numero de mensual del
1 2 3 4 camiones) alquiler
A 170 40 70 160 200 7750
B 150 195 100 10 250 4000
C 100 240 140 60 300 5500
Demanda
mensual
(camiones 100 90 110 60
cargados)

Por ejemplo, vemos en la tabla que alquilar el almacén A cuesta $7750


el mes y que desde él se pueden despachar hasta 200 camiones en ese lapso.
Además la demanda mensual en el distrito de venta 1 es de 100 camiones. Los
números del cuerpo de la tabla representan los costos de enviar un camión del
almacén i al distrito de ventas j. Por ejemplo, el costo de enviar un camión de B
a 3 de $100.

Consideraciones sobre la formulación del modelo

 Si se que abordan este problema mediante un modelo de


programación matemática, se debe decidir primero cuales variables (si
existen se trataran como enteras y cuales (si hay algunas) se tratarán
como continuas.

 La decisión de alquilar o no un almacén en particular parece


requerir una variable 0-1, puesto que el costo de alquilar un
almacén i no varia con el nivel de la actividad (por ejemplo, con el
numero de camiones enviados desde él)

yi = 1 si se alquila el almacén i

yi = 0 si no

 En primera instancia parece adecuado considerar el


número de camiones enviados del almacén al distrito como una
variable entera. Hay varios factores que indican considerar el
numero de camiones como una variable continua, a saber:

1.- Este es un modelo de planeación, no un sistema detallado de


operación. En este caso, el número de camiones que indique
la solución de nuestro problema de programación matemática
que vayan del almacén i al distrito j es sólo una aproximación
de lo que realmente ocurra en un día dado.

14
2.- Considerar el número de camiones como variable entera haría
el problema mucho más difícil de resolver.
3.- Claro está que cuesta mucho más el alquiler de un almacén
que el envió de un camión desde el almacén al distrito de
ventas. La magnitud relativa de estos costos implica otra vez
que es relativamente más importante la decisión de “alquilar o
no alquilar” considerada como variable entera, en oposición a
lo de los camiones.

Un modelo de PLEM

Para elaborar el modelo del problema de la Steco, hagamos

yi = 1 si se alquila el almacén i

yi = 0 si no se alquila el almacén i

i = A, B, C.

Xij = numero de camiones enviados del almacén i al distrito j

i = A, B, C ; j = 1,….., 4.

Construyamos ahora el modelo mediante el desarrollo de cada una de sus


partes.
Para empezar, la función objetivo
La expresión

 170XA1 + 40XA2 + 70XA3 + 160XA4 + 150XB1 + 195XB2 + 100XB3 + 10XB4


+ 100XC1 + 240XC2 + 140XC3 + 60XC4 es el costo total asociado a los
camiones y
 7750yA + 4000yB + 5500yC es el costo de los alquileres.

Por lo tanto, la función objetivo es

Minimizar 7750yA + 4000yB + 5500yC + 170XA1 + …..+ 60XC4.

Consideremos ahora las restricciones. Se debe tomar en cuenta tanto la


demanda como la capacidad.

Para el distrito de venta 1

XA1 + XB1 + XC1 = 100

Para el distrito de venta 2

XA2 + XB2 + XC2 = 90

15
Para el distrito de venta 3

XA3 + XB3 + XC3 = 110

Para el distrito de venta 4

XA4 + XB4 + XC4 = 60

La restricción

XA1 + XA2 + XA3 + XA4  200 yA


O
XA1 + XA2 + XA3 + XA4 - 200 yA  0

Cumple dos propósitos. Garantiza que la capacidad del almacén A no


será excedida y obliga a alquilar el almacén A si se quiere enviar algo de él.
Las demás restricciones son

XB1 + XB2 + XB3 + XB4  250 yB


XC1 + XC2 + XC3 + XC4  300 yC
Análisis de la salida computada

MODELO

Minimizar 7750yA + 4000yB + 5500yC + 170XA1 + 40XA2 + 70XA3 + 160XA4 +


150XB1 + 195XB2 + 100XB3 + 10XB4 + 100XC1 + 240XC2 + 140XC3 +
60XC4.

Sujeto a
Demanda en 1
2.- XA1 + XB1 + XC1 = 100
3.- XA2 + XB2 + XC2 = 90
4.- XA3 + XB3 + XC3 = 110
5.- XA4 + XB4 + XC4 = 60
6.- - 200 yA + XA1 + XA2 + XA3 + XA4  0
Restricción de
7.- - 250 yB + XB1 + XB2 + XB3 + XB4  0
la oferta del
8.- - 300 yC + XC1 + XC2 + XC3 + XC4  0 almacén A
yi  1 i = A, B, C

VARIABLES ENTERAS = 3
Esto significa que las
tres primeras variables
de la función objetivo
(YA, YB, YC) tienen
valores 0 o 1.

VALOR DE LA FUNCION OBJETIVO = 38150

VARIABLES VALOR VARIABLE VALOR


YA 1.00 XB1 0.00

16
YB 0.00 XB2 0.00
YC 1.00 XB3 0.00
XA1 0.00 XB4 0.00
XA2 90.00 XC1 100.00
XA3 110.00 XC2 0.00
XA4 0.00 XC3 0.00
XC4 60.00

Una rápida observación al resultado muestra que los valores óptimos de


todas las asignaciones de camiones son números enteros, aun cuando
habíamos decidido en la formulación dejar que las variables fuesen continuas.

¿Fue una simple coincidencia?

NO. La razón es que se empezó con un problema de ubicación de


almacenes. Y una vez que se decidió qué almacén alquilar, el problema de
encontrar la asignación óptima de los camiones es una PL llamado problema de
transporte. Como ya vimos cuando se estudio el método de transporte, que si la
oferta disponible en cada almacén y la demanda de cada distrito son enteros,
entonces la solución optima del problema de transporte será entera.

MORALEJA: “NUNCA PAGUES POR UNA MERCANCIA GRATUITA”

Minimizar 7750A + 4000B + 5500C + 170D +40E + 70F + 160G + 150H +


195I + 100J + 10K + 100L + 240M + 140N + 60P

(2) D + H + L = 100
(3) E + I + M = 900
(4) F + J + N =110
(5) G + K + P = 60
(6) -200A + D + E + F + G  0
(7) -250B + H + I + J + K  0
(8) -300C + L + M + N + P  0
(9) A  1
(10) B  1
(11) C  1

17
METODOS DE PROGRAMACION ENTERA

Los métodos de programación entera se pueden clasificar como

(1) métodos de corte


(2) métodos de búsqueda

Los métodos de corte, que se desarrollan principalmente para


problemas lineales enteros, comienzan con el óptimo continuo. Sumando
sistemáticamente restricciones “secundarias” especiales, que representan
básicamente condiciones necesarias de integridad, el espacio de soluciones
continuo se modifica de manera gradual hasta que su punto extremo optimo
continuo satisface las condiciones enteras.
Los métodos de búsqueda se originan a partir de la idea directa de
enumerar todos los puntos enteros factibles. La idea básica es la de desarrollar
pruebas “sutiles” que consideren solo una (pequeña) porción de los enteros
factibles en forma explicita pero que tomen en cuenta automáticamente los
puntos restantes de manera implícita. El método de búsqueda más
sobresaliente es la técnica de ramificar y acotar. También comienza con el
optimo continuo, pero “parte” sistemáticamente el espacio de soluciones en
subproblemas suprimiendo partes que no contengan puntos enteros factibles.
Un caso especial de los métodos de búsqueda se aplica cuando todas
las variables enteras son binarias. La propiedad binaria de las variables
simplifica mucho el procedimiento de búsqueda.

ALGORITMO DE BIFURCACION Y ACOTAMIENTO

Enfoque general

 El tratamiento de bifurcación y acotamiento es en la actualidad el método


de propósitos generales más eficiente para resolver problemas de PLE y
PLEM.
 En realidad, el algoritmo de bifurcación y acotamiento no es un algoritmo
específico diseñado para resolver un problema concreto.
 Más bien es un enfoque general del problema por resolver, un
tratamiento que debe ser adaptado al escenario especifico.
 La idea general es hacer una partición del conjunto de soluciones
factibles de un problema dado en subconjuntos menores que no se
traslapen.
 Entonces, se calculan límites para el valor de la mejor solución.
 Después, el algoritmo de bifurcación y acotamiento con destreza nos
permite eliminar del análisis ciertos subconjuntos.
 De esta manera se enumera parcialmente entre todas las soluciones
factibles existentes.

18
EJEMPLO DE PLE

Comencemos con un problema especifico, el cual llamaremos (P1)

Maximizar X1 + 5X2 (P1)


Sujeto a 11X1 + 6X2  66

5X1 + 50X2  225

X1, X2  0 enteros

Paso 1

El primer paso consiste en resolver la aproximación de PL del (P1). Si la


suerte nos acompaña, obtendremos directamente una solución óptima, ya que
siempre será cierto que si la solución de la aproximación de PL satisface la
restricción de enteros, será la solución optima.
Usando la técnica de resolución grafica para la aproximación de la (P1).

19
 En la figura podemos ver el conjunto factible de dicha aproximación. Los
puntos negros son los que satisfacen la condición de enteros. (hay 27 de
dichos puntos).
 La solución aproximada es

X1* = 3.750 X2* = 4.125


Función objetivo = 24.375

Como estos valores no son enteros no se ha resuelto (P1). Solo tenemos


alguna información

(1) El valor óptimo de PL es una cota superior para el (P1). Llamemos U


a esta cota.

Sabemos entonces que:

Vo para (P1)  3.75 + 5(4.125) = 24.375 = U

(2) Si tomamos la solución óptima de PL y redondeamos a X1 = 3, X2 = 4


obtendremos una solución factible del problema (P1). Si evaluamos
ahora la función objetivo para este punto (o para cualquier otro punto
factible). Tendremos una cota inferior del valor óptimo del problema
(P1).

Llamemos F a ese valor. Por lo tanto

Valor optimo (P1)  3 + 5(4) = 23 = F

El valor de F puede ser o no el valor optimo del problema (P1). No se


puede decir por ahora.
Lo que sabemos es que 23  Vo  24.375.

 Tenemos que descubrir si se puede hallar una solución mejor. Para


hacerlo bifurquemos.
 La información relativa a la resolución bifurcación y acotamiento se
sintetiza en su forma típica en un “diagrama de árbol”.
 El primer nodo es

Mejor cota superior actual (MCSA) = 24.375


Mejor cota inferior actual (MCIA) = 23.000

U = 24.375
F = 23.000
X1* = 3.75
X2* = 4.125

1 Numero de nodo

20
PASO 2

Procedemos a dividir el problema (P1) en dos mas cortos. En este caso,


bifurquemos X1. Ésta es una elección arbitraria. El proceso de bifurcación
aprovecha la circunstancia de que en la solución optima del problema (P1), o
bien X1  3 o bien X1  4.

¿Por qué es cierto esto?

Por que no hay valores enteros en la región que se elimina al obligar a


X1 que sea  3 o  4.

 Y dado que X1 debe ser entero, no habremos eliminado ningún punto del
conjunto factible del problema (P1).
 No obstante, habremos eliminado puntos (o sea, valores no enteros) del
conjunto factible por aproximación de PL del problema.
 En realidad, vemos que el valor optimo de X1, en el problema
aproximado de (P1), no es ni  3 ni  4 y, por lo tanto, el punto optimo actual ha
sido (intencionalmente eliminado mediante el proceso de ramificación).
 Este proceso crea dos nuevos problemas.

Maximizar X1 + 5X2 (P2)


Sujeto a 11X1 + 6X2  66

5X1 + 50X2  225

X1 3

X1, X2  0 enteros

Maximizar X1 + 5X2 (P3)


Sujeto a 11X1 + 6X2  66

5X1 + 50X2  225

X1 4

X1, X2  0 enteros

21
Esta figura revela dos hechos interesantes

1.- Hemos partido en dos piezas el conjunto factible de (P1) y eliminado una
región que no contiene puntos enteros. (La región eliminada esta
diagonalizada. Las rectas de acotamiento no pertenecen a la región
eliminada).

2.- Todas las soluciones enteras factibles de (P1) están contenidas ahora o
bien en (P2) o en (P3). Dado que las funciones objetivos de (P1), (P2) y
(P3) son idénticas, se sigue que la solución óptima de (P2) o la de (P3)
deben ser la solución óptima de (P1), el problema original de la PLE.
Entonces podemos olvidar (P1) y considerar solamente (P2) y (P3).

El tratamiento de bifurcación y acotamiento procede a resolver las


aproximaciones de los problemas (P2) y (P3). Las soluciones óptimas son:

(P2) (P3)
U = 24.00 U = 22.333

22
Ya indicamos que la solución optima de (P1) está en (P2) o en (P3); así
es que el valor óptimo de (P1) debe ser  al máximo de los valores de U
proporcionados por estos dos nodos. Y ya que el nodo 2 produce un U = 24 y el
nodo 3 un U = 22.333 nuestra mejor cota actual es 24.00

FIGURA # 3
MCSA = 24.00
MCIA = 23.00

U = 24.375
F = 23.00
X1* = 3.75
X2* = 4.125
1

X1 ≥ 4
X1 ≤ 3

U = 24.00 U = 22.33
X1* = 3.00 X1* = 4.00
X2* = 4.20 X2* = 3.667

2 3

Dado que ni el nodo 2 ni el 3 tienen solución entera, no hemos obtenido


una nueva solución factible.

Para decidir qué haremos en seguida consideremos los nodos del pie de
nuestro árbol, en este caso los nodos 2 y 3.

Observemos que la cota superior del nodo 3 es 22.333 y que el valor


actual de la MCIA es 23.00. Por lo tanto, hemos encontrado ya una mejor
solución que la que hubiéramos podido obtener en el conjunto factible para
(P3). Por lo tanto, podemos ignorar a (P3) y concentrar nuestros esfuerzos en
(P2).

Para continuar consideremos ahora (P2). Todavía no conocemos la


solución optima de (P2), ya que aún no tenemos un valor entero para X2*, lo
abordaremos con el método rama-limite, por lo que debemos ramificar otra vez.
La variable X1 es entera en la solución óptima del problema (P2). Por lo tanto,
debemos ramificar a X2, lo que haremos usando las restricciones X2 ≤ 4 o X2 ≥
5. Al hacerlo, reemplazaremos el problema (P2) por lo siguiente.

23
Maximizar X1 + 5X2 (P4)
Sujeto a 11X1 + 6X2  66

5X1 + 50X2  225

X1 ≤3

X2 ≤4

X1, X2  0 enteros

Maximizar X1 + 5X2 (P5)


Sujeto a 11X1 + 6X2  66

5X1 + 50X2  225

X1 ≤3

X2 ≥5

X1, X2  0 enteros

24
Al comparar las figuras # 2 y # 1 se advierten varios hachos importantes.

1.- El problema (P3) se conserva sin cambios (exactamente como estaba en


al figura # 1).
2.- No se ha tenido en cuenta un conjunto adicional de puntos no enteros,
incluso la solución óptima de la aproximación de PL del problema (P2).
(La nueva área eliminada que pertenecía al conjunto factible de la
aproximación de PL del problema (P1) tiene doble diagonalizado).
3.- El conjunto restringido de la aproximación de PL del problema (P5) está
vacío. No hay puntos que satisfagan las restricciones 5X1 + 50X2 ≤ 225,
X1 ≥ 0, X2 ≤ 5. Esto significa también que (P5) no tiene solución factible,
por lo que podemos olvidarnos ahora de él. (Esto se indica poniendo una
T bajo el nodo correspondiente, en este caso el # 5).

Podemos ver aquí que un modelo termina cuando:

1.- Su U es ≤ MCIA, o
2.- Representa un problema infactible.

ARBOL COMPLETO

MCSA = 23.00
MCIA = 23.00

U = 24.375
F = 23.00
X1* = 3.75
FIGURA # 4 X2* = 4.125
1
X1 ≤ 3 X1 ≥ 4

U = 22.33
U = 24.00 X1* = 4.00
X1* = 3.00
X2* = 3.667
X2* = 4.20
3
2

X2 ≤ 4 T
X2 ≥ 5

U = 23.00
X1* = 3 Infactible
X2* = 4

4 5

T T

25
Ahora, solo necesitamos concentrarnos en el problema (P4) y resolver
su aproximación de PL, como se muestra en la figura 4.
Se revela que la solución optima de ésta, en concreto (X1* = 3, X2* = 4), es
entera. Esto significa que (X1* = 3, X2* = 4) es la solución optima de (P4). Por
esta razón, (P4) es otro nodo terminal de nuestro árbol y en la figura 4 se ha
colocado una T bajo ese nodo.

Entonces hay una tercera causa de terminación

1.- Su U es ≤ MCIA
2.- Representa un problema infactible, o
3.- La aproximación de PL produce una solución para el problema
entero representado por ese nodo.

 Observando la figura #4, vemos que el valor de la MCSA ha cambiado


del que tenía en la figura # 3.
 La rama del nodo 2 produjo un problema infactible (nodo 5) y un
problema con U = 23.00 (nodo 4). De modo que la mejor cota superior actual
(MCSA) se reduce de 24.00 a 23.00.
En el nodo 4 tenemos también una solución entera. Por lo tanto, este
punto es una solución factible del problema (P1). Produce un valor de 23.00
para la función objetivo. Como la mejor cota inferior actual es 23.00, no
cambiamos la MCIA.
En general, cuando han sido terminados todos los nodos, el método
de bifurcación y acotación estará completado.

La solución óptima del problema original (P1) será la que establezca la MCIA.
En este caso, la MCIA es 23.00 y en consecuencia (X 1* = 3, X2* = 4) será la
solución optima para el (P1). A la terminación, como en la figura # 4 siempre
será el caso de que MCIA = MCSA.

26
Problemas para desarrollar

1.- Problema de cargo fijo

He sido abordado por tres compañías de teléfonos para que me suscriba a su servicio
de larga distancia. Abell cobrará una tarifa fija de 16 dólares al mes, más 0.25
centavos por minutos. Bbell cobrará 25 dólares al mes, pero reducirá el costo por
minuto a 0.21 centavos. En cuanto a Cbell, la tarifa mensual fija es de 18 dólares y el
costo por minuto es de 0.22 centavos. Generalmente hago un promedio de 200
minutos de llamadas de larga distancia al mes. Suponiendo que no pague la tarifa fija,
a menos de que haga las llamadas y de que pueda dividir mis llamadas entre las tres
compañías, según me parezca, ¿cómo debo utilizar los servicios de las tres
compañías para minimizar mi cuenta mensual de teléfono?

2.- Problema del vendedor viajero

El programa de producción diaria de la compañía Arcoiris incluye lotes de pinturas


blanca (B), amarilla(A), roja (R) y negra (N). Debido a que Arcoiris utiliza las mismas
instalaciones para los cuatro tipos de pinturas, es necesaria una limpieza a fondo de
los lotes. La siguiente tabla resume el tiempo de limpieza en minutos cuando el color
designado en el reglón va seguido del color designado en la columna. Por ejemplo,
cuando el blanco va seguido por el amarillo, el tiempo de limpieza es de 10 minutos.
Debido a que un color no se puede seguir a sí mismo, se asigna a las entradas
correspondientes un tiempo de preparación infinito. Determine la secuencia óptima
para la producción diaria de los cuatro colores, que minimizará el tiempo total de
limpieza asociada.

El tiempo de limpieza dado para la siguiente pintura es


Pintura actual Blanca Amarilla Negra Roja
Blanca ∞ 10 17 15
Amarilla 20 ∞ 19 18
Negra 50 44 ∞ 25
Roja 45 40 20 ∞

27

S-ar putea să vă placă și