INVESTIGACIÓN DE OPERACIONES II
Programación Entera: El método simplex supone que todas las variables de
decisión, como personas, mesas o unidades de producción, no puede
subdividirse, la solución del simplex no puede usarse en forma directa.
La programación entera es el nombre que recibe un conjunto de técnicos que
pueden usarse para encontrar la mejor solución entera posible para un problema
de programación lineal.
Entre estas técnicas tenemos:
1. Ramificación y Acotamiento
Técnica de programación entera que resuelve problemas de maximización
por medio de la enumeración de todas las soluciones posibles y la
selección de la mejor.
Ramificación y acotamiento es una estrategia de búsqueda
sistemática que reduce mucho el número de combinaciones que se deben
examinar. Comienza con la solución optima del simplex en donde se
ignoraron las restricciones de variables enteras. Se selecciona después una
variable con valor NO ENTERO y se crean dos ramas mutuamente
excluyentes. Esto da lugar a dos nuevas ramas y resuelven nuevos
problemas.
En cada paso la solución que se encuentra proporciona una cota
para esa rama en el sentido de que ninguna otra solución puede ser mejor.
Ejemplo: Considérese el
A=(0,18) Z= 60(0) + 50 (18) = 900 siguiente problema de
programación entera.
B=(4,18) Z= 60(4) + 50 (18) = 1140
estricciones:
C=(7.5, 16.25) Z= 60(7.5) + 50 (16.25) = 1265.5
2x + 4y ≤ 80
D=(16,3.5) Z= 60(16) + 50 (3.5) = 1135
3x + 2y ≤ 55
E=(16,0) Z= 60(16) + 50 (0) = 960 x ≤ 16, y ≤ 18
x,y =0,1,2,… Entero
Maximizar Z= 60x + 50y
B) -3(2x+4y=80) = -6x-12y = -240
2(3x+2y=55) = 6x+ 4y = 110
-8y = -130
y=16.25
2x+4(16.25)=80
x=7.5
Ramificación
Se inicia la ramificación con cualquiera de las variables. Seleccionaremos X que
tiene un valor de solución 7.5. COMO SOLO SON DE INTERES LAS
SOLUCIONES ENTERAS PUEDEN ELIMINARSE TODOS LOS VALORES DE X
40
ENTRE 7 Y 8, ES DECIR EL ESPACIO DE SOLUCIONES EN 2 PARTES: 1 con X
35
≤ 7 y X >= 8.
30
La gráfica anterior nos genera 2 nuevos problemas de PL, una para cada rama.
25
Observe que la restricción X <= 16, se convierte en superflua (No tiene
20
peso), en la RAMA A. Ahora debe resolverse cada uno de los problemas
A B de nuevo la restricción de variables enteras. Un diagrama de árbol es
ignorando
15
C
10
5
muy útil para guardar un registro de las ramas. La solución para las dos ramas se
muestra en el diagrama de árbol siguiente.
INICIO
X= 7.5
Y=16.25
Z=1262.5
x≤7 x≤8
RAMA A RAMA B
x=7 x=8
y=16.5 y=15.5
z= 1245 z= 1255
RAMIFICACIÓN POSTERIOR
Como la rama B tiene la cota superior mayor, se seguirá adelante con la
ramificación de esa rama. La variable Y puede usarse para formar dos ramas: Una
para Y<=15 y la otra Y>=16. Esta proporción se muestra en la siguiente figura:
RAMA B
x=8
y=15.5
z= 1255
y≤7 y≤8
RAMA B1 RAMA B2
x=8.33 x=No Solución
y=15 y=16
z= 1249.8 z= ?
x≤9
Las soluciones de los problemas anteriores, nos muestran que en la rama B1 “Y”
se convirtió en entero, mientras que “X” resulto NO ENTERA y se observa que la
rama B2 no tiene soluciones factibles por la grafica, por lo tanto seguiremos
adelante por la rama B1 con ramificaciones para x<=8 y X>=9.
RAMA B1
x=8.33
y=15
z= 1249.8
x≤ x≤
8 9
RAMA B1a RAMA B1b
x=8 x=9
y=15 y=14
z= 1250 z= 1240
Ejemplo de Programación Entera:
Max 5x+8y
Sa: 6x+5y≤30
9x+4y≤36
X+2y≤10
X,Y >=0 y enteros
a) Elabore una gráfica de las restricciones de ese problema y utilice todos los
puntos para indicar todas las soluciones factibles.
b) Encuentre la solución optima de programación lineal y redondeé hacia
abajo para encontrar una solución entera posible.
c) Encuentre la solución entera posible optima.
Solución simplex:
A= (0,5) Z=5(0)+8(5)=40
B= (1.248, 4.28) Z= 5(1.248)+8(4.28)=41.38
C=(2.85, 2.57) Z=5(2.85)+8(2.57)=34.81
D=(4,0) Z=5(4)+8(0)=20
0 2 4 6 8 10 D
X=1.42
Y=4.29
Z=41.43
X<=1 X>=2
X=1 X=2
Y=4.5 Y=3.6
Z=41 Z=38.8
Y<=4 Y>=5
X=1 X=0
Y=4 Y=5
Z=37 Z=40
Ejercicio #1
Max Z= 3x+4y
Sa: x + y <= 10
-x + y <= 7
X,Y>=0 y enteros.
B
B