Documente Academic
Documente Profesional
Documente Cultură
INVESTIGACION DE OPERACIONES II
INTRODUCCION
Un programa lineal entero es aquel en que algunas o todas las variables estn
restringidas a tener valores enteros (o discretos), o incluso estn ms
restringidas tomando exclusivamente los valores 0 1. El empleo de
variables enteras hace ms complejo el problema de programacin lineal,
debido a la ausencia de continuidad. Si todas las variables de decisin
deben ser enteras, tenemos un problema de programacin lineal entero
puro (PE); si slo algunas variables de decisin deben ser enteras, pudiendo
ser continuas las dems, se trata de un problema de programacin lineal
entero mixto (PEM).
Existen otras situaciones en la que todas o algunas de las variables enteras
slo pueden tomar valores de 0 1 para encontrar una lgica adecuada y
solucionar el problema. A estas variables se les llama variables binarias.
Uno puede llegar a pensar que es ms fcil encontrar la solucin a un
programa lineal entero que a uno continuo, despus de todo, el nmero de
soluciones continuas es infinito mientras que en las enteras es finito. Pero
desafortunadamente no es as. Cuando se tiene un problema de dos
variables se puede encontrar la solucin ptima entera muy fcil a partir
de la solucin ptima continua utilizando el mtodo grfico y explorando las
soluciones enteras cercanas dentro del rea de soluciones factibles. Pero
resulta que en la vida real (o sea aquella que est ms all de los problemas
introductorios de los textos guas) los problemas muy pocas veces, tienen dos
variables pues en un fenmeno por sencillo que sea tendr muchsimas
variables relevantes dentro de su comportamiento y el modelo matemtico
entre ms se simplifique menos representativo ser. Los problemas enteros
son ms difciles de resolver que los continuos, an no existe un algoritmo
que pueda resolverlos en forma consistente; el ms popular -por ahora- es
este algoritmo, el de Ramificacin y Acotamiento (Branch And Bound), la
mayora de los programas comerciales elaborados para resolver para
problemas lineales enteros utilizan este algoritmo.
APLICACIONES
Ing. Manuel
Snchez Tern
INVESTIGACION DE OPERACIONES II
Ing. Manuel
Snchez Tern
Declaracin de variables:
A: # estantes del modelo A
B: # estantes del modelo B
Funcin objetivo:
Max Z = 120A + 80B
Restricciones:
2A + 1B 6
7A + 8B 28
A, B 0
Solucin inicial:
A = 2.22; B = 1.56; Z = $391.11
Declaracin de variables:
A: # estantes del modelo A
B: # estantes del modelo B
Funcin objetivo:
Max Z = 120A + 80B
Restricciones:
2A + 1B 6
7A + 8B 28
A, B 0, y enteros
Solucin inicial:
La solucin anterior deja de ser
factible
Declaracin de variables:
A: # estantes del modelo A
B: # estantes del modelo B
Funcin objetivo:
Max Z = 120A + 80B
Restricciones:
2A + 1B 6
7A + 8B 28
A, B 0, y enteros
Solucin inicial:
A = 2.22; B = 1.56; Z = $391.11
Solucin por redondeo:
A = 2; B = 2; No es una solucin
factible
Declaracin de variables:
A: # estantes del
modelo A B: #
estantes del modelo
B
Funcin objetivo:
Max Z = 120A + 80B
Restricciones:
2A + 1B 6
7A + 8B 28
A, B 0, y enteros
Solucin inicial:
A = 2.22; B = 1.56; Z = $391.11
Solucin por redondeo:
A = 2; B = 2; No es una solucin
factible
Solucin por truncamiento:
A = 2; B = 1; Z=$320
Solucin ptima
B
Declaracin de variables:
A: # estantes del
modelo A B: #
estantes del modelo
B
Funcin objetivo:
Max Z = 120A + 80B
Restricciones:
2A + 1B 6
7A + 8B 28
A, B 0, y enteros
Solucin inicial:
A = 2.22; B = 1.56; Z = $391.11
Solucin por redondeo:
A = 2; B = 2; No es una solucin
factible
Solucin por truncamiento:
A = 2; B = 1; Z=$320
Solucin ptima:
A = 3; B = 0; Z=$360
Ramificaci
n
Si la primera aproximacin contiene una variable que no es entera,
digamos xi, entonces i1<xi<i2, donde i1 e i2 son enteros consecutivos no
negativos; se generan dos nuevos programas enteros al agregar al
programa entero original una u otra de las siguientes restricciones:
xi<i1 , xi>i2 . Este proceso, denominado ramificacin, tiene el efecto
de reducir la regin factible en forma tal, que elimina de
consideraciones posteriores la solucin anterior no entera para xi pero
conservando todas las posibles soluciones enteras al problema original.
Ejemplo:
Como
una
primera
aproximacin al programa entero
Max Z = 10x1 + x2
Sujeto a:
(1)
Max Z = 10x1 + x2
Sujeto a:
(2)
x1 <
5
x1 y x2 > 0, y enteros
Max Z = 10x1 + x2
Sujeto a:
(3)
x1 >6
x1 y x2 > 0, y enteros
Para los dos programas creados por el proceso de ramificacin, se
obtienen primeras aproximaciones ignorando nuevamente los
requerimientos de enteros y resolviendo los programas lineales
resultantes. Si cualquiera de las primeras aproximaciones es todava
no entera, entonces el programa que la produjo se vuelve
candidato para seguir realizando
Z* = 50.2
ramificacio
2
nes.
Z* =
55
x1 <
5
x1 = 5
x2 = 0.2
1
x1 =
5.5
x2 = 0
No factible
x1 >
6
(4)
x1 <
5
x2 < 0 (en el cual x2 = 0)
x1 y x2 > 0, y enteros
Max Z = 10x1 + x2
Sujeto a:
(5)
Z* = 50
Z* =
50.2
x1 <
5
Z* = 55
2
x1 = 5
x2 = 0.2
1
x1 = 5.5
x2 = 0
x1 >
6
x2 <
0
No
factible
x2 >
1
4
x1 =
5
x2 =
0
Z* =
31
5
x1 = 3
x2 =
1
Acotamie
nto
Considrese que la funcin objetivo ha de maximizarse. El proceso de
ramificacin se contina hasta que se obtiene una primera aproximacin
entera (o sea, pues, una solucin entera). El valor de la funcin objetivo
para esta primera solucin entera se vuelve una cota inferior para el
problema y todos los programas cuyas primeras aproximaciones, enteras
o no, den valores de la funcin objetivo menores que la cota inferior, se
descartan.
El programa (4) tiene una solucin entera con Z = 50; entonces, 50 se
vuelve una cota inferior para el problema. El programa (5) tiene una
solucin con Z = 31. Ya que 31 es menor que la cota inferior de 50, el
programa (5) se elimina en cuanto a consideraciones posteriores y se le
habra eliminado de esta forma aun si su primera aproximacin hubiera
sido no entera.
La ramificacin se contina a partir de aquellos programas que tengan
primeras aproximaciones no enteras y que den valores a la funcin
objetivo, mayores que la cota inferior. Si durante el proceso se descubre
una nueva solucin que tenga un valor de la funcin objetivo mayor que la
cota inferior actual, entonces este valor de la funcin objetivo se vuelve la
nueva cota inferior. El programa que proporcion la cota inferior anterior
se elimina, as como todos aquellos programas cuyas primera
aproximaciones dan valores de la funcin objetivo menores que la nueva
cota inferior. El proceso de ramificacin contina hasta que ya no haya
bajo consideracin programas con primeras aproximaciones no enteras.