Investigación Operativa
Unidad temática 3.2: Solución algorítmica de la programación lineal. Fundamentos del método simplex. Variables de holgura y soluciones básicas. El algoritmo simplex. El método de la M grande y el de
las dos fases. Solución de problemas de maximización y minimización. Identificación y determinación de óptimos alternativos. La formulación dual y su solución. Análisis de sensibilidad. Interpretación económica del método simplex.
Facultad de Ciencias Agrarias y Forestales Universidad Nacional de La Plata
Algunas Definiciones
Solución factible: dado un problema de programación lineal expresado
en forma estándar, una solución factible es un vector x de dimensión igual a las n variables del problema, que satisface las m restricciones del mismo y las condiciones de no-negatividad.
Solución básica: es la que se obtiene haciendo que n-m variables sean
iguales a cero y resolviendo para las m variables restantes (siempre que el determinante de su matriz de coeficientes no se anule). Geométricamente, corresponde a los puntos extremos del espacio de soluciones, es decir los puntos de intersección de dos o más restricciones. El número máximo de este tipo de soluciones está dado por n! / [m!
(n-m)!]
Variable básica: en una solución básica, las m variables no nulas se
denominan básicas y el conjunto de m variables linealmente independientes (determinante no nulo) se denomina base. Las n-m variables nulas se denominan no-básicas.
Tabla simplex
Nomenclatura elemental de la tabla simplex
Variable básica Ecuación ( i ) Variables ( j ) Parámetro bi z x1 x2 . . . xn z 0 a0,0 a0,1 a0,2 . . . a0,n b0 xj 1 a1,0 a1,1 a1,2 . . . a1,n b1 xj’ 2 a2,0 a2,1 a2,2 . . . a2,n b2 . . . . . . . . . . . . . . . . . . . . . . . . xj’’ m am,0 am,1 am,2 . . . am,n bm
Una aplicación ecológica de la programación lineal: el modelo predador-presa.
Un cierto predador tiene dos fuentes potenciales de alimento,
x1 y x2, las que se encuentran en los sitios 1 y 2,
respectivamente. El tiempo que necesita el predador para
trasladarse desde su guarida hasta cada sitio y retornar con
una unidad de alimento se ha estimado en 2 minutos para el sitio 1 y en 3 minutos para el sitio 2. En el sitio 1, el predador
tarda un promedio de 2 minutos en capturar una unidad de x1,
mientras que en el sitio 2, solo le toma 1 minuto capturar la
correspondiente unidad de x2. El valor alimenticio de cada
unidad de x1 promedia 6 calorías y el correspondiente a cada
unidad de x2 alcanza 8 calorías. El predador no puede
disponer de más de 120 minutos diarios para trasladarse de su refugio a los sitios de alimentación, ni invertir más de 80 minutos por día en la captura de sus presas. Si el predador debe maximizar su consumo calórico en el limitado tiempo disponible, entonces su problema es un problema de
El modelo matemático
Si el predador debe maximizar su consumo calórico en el limitado tiempo disponible, entonces su problema es un problema de programación lineal que se puede expresar de la siguiente manera:
Maximizar z = 6 x1 + 8 x2 (consumo calórico)
Sujeto a: 2 x1 + 3 x2 120 (tiempo de traslado)
2 x1 + x2 80 (tiempo de captura)
x1, x2 0
Luego de inicializar, el problema aumentado es:
1 z - 6 x1 - 8 x2 + 0 s1 + 0 s2 = 0 (maximizar)
0 z + 2 x1 + 3 x2 + 1 s1 + 0 s2 = 120
EL ALGORITMO SIMPLEX
Solución al Modelo Predador-Presa
Tabla Simplex Inicial Variable básica Ecuación ( i ) Variables ( j ) Parámetro bi z x1 x2 s1 s2 z 0 1 - 6 - 8 0 0 0 s1 1 0 2 3 1 0 120 s2 2 0 2 1 0 1 80
EL ALGORITMO SIMPLEX
Solución al Modelo Predador-Presa
Iteración 1 Variable básica Ecuación ( i ) Variables ( j ) Parámetro bi z x1 x2 s1 s2 z 0 1 - 2/3 0 8/3 0 320 x2 1 0 2/3 1 1/3 0 40 s2 2 0 4/3 0 - 1/3 1 40
EL ALGORITMO SIMPLEX
Solución al Modelo Predador-Presa
Iteración 2 (Final) Variable básica Ecuación ( i ) Variables ( j ) Parámetro bi z x1 x2 s1 s2 z 0 1 0 0 5/2 1/2 340 x2 1 0 0 1 1/2 - 1/2 20 x1 2 0 1 0 - 1/4 3/4 30
Restricciones de igualdad
Sea el problema de maximizar el consumo calórico en el limitado tiempo disponible expresado de la siguiente manera:
Maximizar z = 6 x1 + 8 x2 (consumo calórico)
Sujeto a: 2 x1 + 3 x2 = 120 (tiempo de traslado)
2 x1 + x2 = 80 (tiempo de captura)
x1, x2 0
Luego de inicializar, el problema aumentado es:
1 z - 6 x1 - 8 x2 + Mα1 + Mα2 = 0 (maximizar)
0 z + 2 x1 + 3 x2 + 1 α1 + 0 α2 = 120
EL MÉTODO DE LA M GRANDE
Solución al Modelo Predador-Presa
con Restricciones de Igualdad
VB i Variable ( j ) Parámetro bi z x1 x2 1 2 z TSI0 1 - 6 - 8 M M 0 1 TSI1 0 2 3 1 0 120 2 TSI2 0 2 1 0 1 80 z TS10 1 - 6 - 2M - 8 - 3M 0 M - 120M 1 TS11 0 2 3 1 0 120 2 TS12 0 2 1 0 1 80 z TS20 1 - 6 - 4M - 8 - 4M 0 0 - 200M 1 TS21 0 2 3 1 0 120
EL MÉTODO DE LA M GRANDE
Solución al Modelo Predador-Presa
con Restricciones de Igualdad
VB i Variable ( j ) Parámetro bi z x1 x2 1 2 z TS20 1 - 6 - 4M - 8 - 4M 0 0 - 200M 1 TS21 0 2 3 1 0 120 2 TS22 0 2 1 0 1 80 z TS30 1 - 2/3 - 4/3M 0 8/3 + 4/3M 0 320 - 40M x2 TS31 0 2/3 1 1/3 0 40 2 TS32 0 4/3 0 - 1/3 1 40 z TS40 1 0 0 15/6 + M 1/2 + M 340 x2 TS41 0 0 1 1/2 - 1/2 20 x1 TS42 0 1 0 -1/4 3/4 30
Minimizar y restricciones
Sea el problema de minimizar el tiempo de captura en el tiempo de traslado disponible y con requerimientos calóricos y nutritivos:
Minimizar z = 2 x1 + x2 (tiempo de captura)
Sujeto a: 2 x1 + 3 x2 ≤120 (tiempo de traslado)
6 x1 + 8 x2 ≥ 240 (consumo calórico)
3 x1 + 2 x2 ≥ 90 (consumo nutritivo)
x1, x2 0
Luego de inicializar, el problema aumentado es:
EL MÉTODO BIFÁSICO
Solución al Modelo Predador-Presa
Reformulado (Primera Fase)
VB i Variable ( j ) bi - z - w x1 x2 s1 s2 s3 1 2 - z TSI-I0 1 0 2 1 0 0 0 0 0 0 - w TSI-I0’ 0 1 0 0 0 0 0 1 1 0 s1 TSI-I1 0 0 2 3 1 0 0 0 0 120 1 TSI-I2 0 0 6 8 0 - 1 0 1 0 240 2 TSI-I3 0 0 3 2 0 0 - 1 0 1 90 - z TS1-I0 1 0 2 1 0 0 0 0 0 0 - w TS1-I0’ 0 1 - 6 - 8 0 1 0 0 1 - 240 s1 TS1-I1 0 0 2 3 1 0 0 0 0 120 1 TS1-I2 0 0 6 8 0 - 1 0 1 0 240 2 TS1-I3 0 0 3 2 0 0 - 1 0 1 90
En la primera fase se minimiza una pseudo-función objetivo de la forma w = α1 + α2
EL MÉTODO BIFÁSICO
Solución al Modelo Predador-Presa
Reformulado (Primera Fase)
VB i Variable ( j ) bi - z - w x1 x2 s1 s2 s3 1 2 - z TS2-I0 1 0 2 1 0 0 0 0 0 0 - w TS2-I0’ 0 1 - 9 - 10 0 1 1 0 0 - 330 s1 TS2-I1 0 0 2 3 1 0 0 0 0 120 1 TS2-I2 0 0 6 8 0 - 1 0 1 0 240 2 TS2-I3 0 0 3 2 0 0 - 1 0 1 90 - z TS3-I0 1 0 5/4 0 0 1/8 0 - 1/8 0 - 30 - w TS3-I0’ 0 1 - 3/2 0 0 - 1/4 1 5/4 0 - 30 s1 TS3-I1 0 0 - 1/4 0 1 3/8 0 - 3/8 0 30
EL MÉTODO BIFÁSICO
Solución al Modelo Predador-Presa
Reformulado (Fin Primera Fase)
VB i Variable ( j ) bi - z - w x1 x2 s1 s2 s3 1 2 - z TS4-I0 1 0 0 0 0 - 1/12 5/6 1/12 - 5/6 - 55 - w TS4-I0’ 0 1 0 0 0 0 0 1 1 0 s1 TS4-I1 0 0 0 0 1 5/12 - 1/6 - 5/12 1/6 35 x2 TS4-I2 0 0 0 1 0 - 1/4 1/2 1/4 - 1/2 15 x1 TS4-I3 0 0 1 0 0 1/6 - 2/3 - 1/6 2/3 20
EL MÉTODO BIFÁSICO
Solución al Modelo Predador-Presa
Reformulado (Segunda Fase)
VB i Variable ( j ) bi - z x1 x2 s1 s2 s3 1 2 - z TSI-II0 1 0 0 0 - 1/12 5/6 1/12 - 5/6 - 55 s1 TSI-II1 0 0 0 1 5/12 - 1/6 - 5/12 1/6 35 x2 TSI-II2 0 0 1 0 -1/4 1/2 1/4 - 1/2 15 x1 TSI-II3 0 1 0 0 1/6 - 2/3 - 1/6 2/3 20 - z TS1-II0 1 0 0 1/5 0 4/5 0 - 4/5 - 48 s2 TS1-II1 0 0 0 12/5 1 - 2/5 - 1 2/5 84 x2 TS1-II2 0 0 1 3/5 0 2/5 0 - 2/5 36
Óptimos alternativos
Sea el problema original de maximizar el consumo calórico en el limitado tiempo disponible, pero con coeficientes de contribución de las actividades distintos:
Maximizar z = 4 x1 + 6 x2 (consumo calórico)
Sujeto a: 2 x1 + 3 x2 120 (tiempo de traslado)
2 x1 + x2 80 (tiempo de captura)
x1, x2 0
Luego de inicializar, el problema aumentado es:
1 z - 4 x1 - 6 x2 + 0 s1 + 0 s2 = 0 (maximizar)
0 z + 2 x1 + 3 x2 + 1 s1 + 0 s2 = 120
EL ALGORITMO SIMPLEX
Solución al Modelo Predador-Presa
con Óptimos Alternativos
Tabla Simplex Inicial Variable básica Ecuación ( i ) Variables ( j ) Parámetro bi z x1 x2 s1 s2 z 0 1 - 4 - 6 0 0 0 s1 1 0 2 3 1 0 120 s2 2 0 2 1 0 1 80
Tabla Simplex Final (Iteración 1) Variable básica Ecuación ( i ) Variables ( j ) Parámetro bi z x1 x2 s1 s2 z 0 1 0 0 2 0 240
EL ALGORITMO SIMPLEX
Solución al Modelo Predador-Presa
con Óptimos Alternativos
Tabla Simplex de la Solución Óptima Alternativa Variable básica Ecuación ( i ) Variables ( j ) Parámetro bi z x1 x2 s1 s2 z 0 1 0 0 2 0 240 x2 1 0 0 1 1/2 - 1/2 20 x1 2 0 1 0 - 1/4 3/4 30