Está en la página 1de 55

Ingeniería de Organización

Grado en Ingeniería de la Tecnologías de Telecomunicación.

Dr. Pedro L. González-R

Pedro L. González-R
1
Tema 2: Métodos generales de programación lineal

1. Introducción. Puntos extremos y soluciones básicas


2. Método Simplex
3. Soluciones Básicas Factibles Iniciales
4. Forma Matricial

Contenido 2
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ En tema anterior vimos ejemplo sencillo de PL
 2 variables
 Pocas restricciones
 → Resolvimos gráficamente
◦ Problemas reales → mayor complejidad: mayor número de
variables y restricciones
 Para su resolución se necesita alguna herramienta matemática
◦ Disponemos de una técnica algebraica muy eficiente: Método
Simplex (George Dantzig 1947)
◦ Objeto de profundizar en métodos algorítmicos:
 Formular correctamente los modelos
 Interpretar mejor los resultados
 Análisis de postoptimalidad

Pedro L. González-R 3
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ En ejemplo de generación de energía (tema anterior)
 Consideremos sólo las restricciones de humo y pulverizador
Max : 24 x1 + 20 x2
s.a.
R1 : [Humo] 0.5 x1 + 1x2  12
R2 : [Pulver.] 1.5 x1 + 1x2  24
x1 , x2  0

 Si representamos la región factible:


Propiedad:
La RF en un PL es un conjunto convexo:
Al unir 2 ptos del conjunto, todos los puntos
pertenecientes a la línea entre ambos
pertenecen al conjunto.
Ejemplo de conjunto
no convexo

Pedro L. González-R 4
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ Otro concepto importante: Puntos Extremos (PE)
 Son los vértices del polígono (poliedro con + vars) que forman la región
factible
 A nivel intuitivo:

Si un PL tiene solución óptima finita →


al menos un PE de la RF será óptimo

En el ejemplo:
Conjunto de PE = {A,B,C,D}

Pedro L. González-R 5
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ ¿Cómo generar algebraicamente los PE?
 Expresamos las restricciones del PL en formato estándar (incluimos
variables de holgura)
 Realizamos transformaciones de Gauss-Jordan → Forma Canónica
 Ejemplo en forma estándar: Max : 24 x + 20 x
1 2

s.a.
R1 : 0.5 x1 + x2 + h1 = 12
R2 : 1.5 x1 + x2 + h2 = 24
x1 , x2  0

- En forma matricial
R1 0.5 1 1 0 12
R2 1.5 1 0 1 24

La matriz identidad nos


indica la forma Canónica

Pedro L. González-R 6
1. Introducción.
Puntos Extremos y Soluciones Básicas

◦ Solución Básica inicial


 En un PL estándar con n variables de decisión + holgura y m
restricciones → el conjunto de variables que forman un PE se
encuentra
◦ Igualando a cero (n-m) variables
◦ Resolviendo el sistema de m ecuaciones resultantes con m variables
◦ Observaciones:
 Un sistema con 5 restricciones tendrá 5 variables No nulas
 El sistema de ecuaciones tiene solución única

 Número de SB (PE) que se pueden obtener:


n n!
Nº MAX Soluciones Básicas =   =
 m  m!(n − m)!
 n=50 m=30 nº MAX PE = 47.129.212.220.000
Pedro L. González-R 7
1. Introducción.
Puntos Extremos y Soluciones Básicas

◦ Solución Básica inicial


 La forma canónica nos indica las Variables Básicas (VB)

VB x1 x2 h1 h2 bi
h1 0.5 1 1 0 12
h2 1.5 1 0 1 24

 Hacemos x1 = 0 y x2 = 0

SB = (0,0,12,24) = VA
Por tanto: 0

Z 0 = 24 x1 + 20 x2 = 0  Z A = 0
 ¿Qué variables pueden entrar en la base?
 ¿Cuál elegir?

Pedro L. González-R 8
1. Introducción.
Puntos Extremos y Soluciones Básicas

◦ Soluciones Básicas
 Pueden entrar las variables que no pertenecen a la base.
 Podríamos elegir la que más aporte a la FO, en nuestro caso x1

 Al entrar una variable en la base ¿Qué VB sale?


 En nuestro caso podrán salir o bien h1 o h2
 Despejamos h1 y h2 en función de x1 y teniendo en cuenta que x2 = 0, ya que
es una VNB.

− 12
h1 = 12 − 0.5x1  0  − x1   x1  24 ¿Por qué decimos que h ≥ 0?
0.5
− 24
h2 = 24 − 1.5x1  0  − x1   x1  16 ¿Cuánto puedo aumentar ?
1.5
 Obviamente sale h2

Pedro L. González-R 9
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ Soluciones Básicas
 La nueva Solución Básica estará compuesta por: SB = ( x1 ,0, h1 ,0 )
1

 Obtenemos los valores anulando x2 y h2 en las restricciones


 O bien, transformando el problema en forma canónica:
VB x1 x2 h1 h2 bi
Hacemos transformaciones para
[1] h1 0.5 1 1 0 12 obtener forma canónica en las VB
[2] h2 1.5 1 0 1 24

VB x1 x2 h1 h2 bi
[ 2]
[3] = [1] − h1 0 2 / 3 1 − 1/ 3 4
3
[4] = [2] / 1.5 x1 1 2/3 0 2 / 3 16

Pedro L. González-R 10
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ Soluciones Básicas (iteración 1)
 La nueva Solución Básica estará compuesta por:
SB1 = (16,0,4,0) = VB
Z 1 = 24·16 = 384
 En vez de calcular la FO directamente vamos a ponerla en función de las
variables que pueden entrar x2 y h2 (VNB)

Z = 24 x1 + 20 x2 Por tanto:
Dejamos x1 = f ( x2 , h2 )  2 2 
Z 1 = 24 x1 + 20 x2 = 2416 − x2 − h2  + 20 x2 =
de [2] :1.5x1 = 24 − x2 − h2  3 3 
2 2 Z 1 = 384 − 16 x2 − 16h2 + 20 x2 =
 x1 = 16 − x2 − h2
3 3 Z 1 = 384 + 4 x2 − 16h2

Pedro L. González-R 11
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ Soluciones Básicas
 ¿Hay alguna posibilidad de mejora de la FO? Z 1 = 384 + 4 x2 − 16 h2

 Puedo incrementar la cantidad de x2 que actualmente es 0.


 Observar como introducir h2 implica reducir el valor de la FO
 Será por tanto x2 quien entre en la base.
 ¿Qué candidatos hay para salir? → x1 o h1 (VB)
 Igual que antes, despejamos x1 y h1 en función de x2 y teniendo en cuenta
que h2 = 0, ya que es una VNB.
2 2 16·3
◦ Si sale x1 : de [4] : x1 = 16 - x2  0  x2  −16  x2  = 24
3 3 2
2 -2
◦ Si sale h1 : de [3] : h1 = 4 - x2  0  x2  −4  x2  6
3 3
Más restrictivo, →sale h1

Pedro L. González-R 12
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ Soluciones Básicas
 La nueva Solución Básica estará compuesta por: SB = ( x1 , x2 ,0,0 )
2

 Obtenemos los valores anulando h1 y h2 en las restricciones


 O bien, transformando el problema en forma canónica:

Hacemos transformaciones para


VB x1 x2 h1 h2 bi
obtener forma canónica en las VB
[3] h1 0 2/3 1 −1/ 3 4
[4] x1 1 2/3 0 2 / 3 16

VB x1 x2 h1 h2 bi
3
[5] =  [3] x2 0 1 3 / 2 −1/ 2 6
2
[6] = [4] − [3] x1 1 0 −1 1 12

Pedro L. González-R 13
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ Soluciones Básicas (iteración 2)
 La nueva Solución Básica estará compuesta por:
SB 2 = (12,6,0,0) = VC
Z 2 = 24·12 + 20·6 = 408
 En vez de calcular la FO directamente vamos a ponerla en función de las
variables que pueden entrar h1 y h2 (VNB)
Por tanto:
Partiendo de Z 1 :
Z = 384 + 4 x2 − 16 h2
1 Z 2 = 384 + 4 x2 − 16h2
Dejamos x2 = f ( h1 , h2 )  3 1 
Z 2 = 384 + 4 6 − h1 + h2  − 16h2 =
de [5] :  2 2 
3 1 Z 2 = 384 + 24 − 6h1 + 2h2 − 16h2 =
 x2 = 6 − h1 + h2
2 2 Z 2 = 408 − 6h1 − 14h2

Pedro L. González-R 14
1. Introducción.
Puntos Extremos y Soluciones Básicas
◦ Soluciones Básicas
 ¿Hay alguna posibilidad de mejora de la FO? Z 2 = 408 − 6h1 − 14 h2

 Cualquier intento de meter una VNB en la base → disminuir el valor de la


FO.
x* = SB 2 = (12,6,0,0) = VC
 Por tanto la solución:
Z * = Z 2 = 24·12 + 20·6 = 408
◦ ES LA SOLUCIÓN ÓPTIMA

Pedro L. González-R 15
2. Método Simplex
◦ Observaciones

 Hemos empleado las expresiones de la FO, f(VNB), con el objeto de


mostrar las posibles mejoras.
 A los coeficientes de las VNB se les denominan Costes Reducidos o
Costes Relativos (rj)

Costes reducidos (rj) es la variación de la FO por


unidad de esta variable que entre en la base.

 (rj) es el Coste Reducido de la variable xj


m
rj = c j − S j = c j −  aij ·ci
i =1

c j : Coeficient e de la variabl e x j en la FO
ci : Coeficient e de la VB x j en la FO situada en la fila i (R [i ])
aij : Coeficient e de la variabl e x j en la fila i (R [i ]) en base actual
m

 a ·c
i =1
ij i = cBt a j

Pedro L. González-R a j = vector componente s (actualiza dos) de columna j 16


2. Método Simplex n
FO =  c j ·x j
j =1
◦ Costes Relativos
x1 + ... + a1m +1 xm +1 + ... + a1n xn = b1
x2 + ... + a2 m +1 xm +1 + ... + a2 n xn = b2
... + a3m +1 xm +1 + ... + a3n xn = b3
Suponemos x1
a xm básicas ...
xm + amm+1 xm +1 + ... + amn xn = bm

n
x1 = b1 − (a1m +1 xm +1 + ... + a1n xn ) = b1 − a 1j xj
j = m +1
n
x2 = b2 − (a2 m +1 xm +1 + ... + a2 n xn ) = b2 − a 2j xj
j = m +1

....
n
xm = bm − (amm +1 xm +1 + ... + amn xn ) = bm − a mj xj
j = m +1

Pedro L. González-R 17
2. Método Simplex
◦ Costes Relativos

n m n
FO =  c j x j =  ci xi + c x j j =
j =1 i =1 j = m +1

m
 n
 n
=  ci  bi −  aij x j  + c x j j =
i =1  j = m +1  j = m +1

m m n n
=  ci bi −   c a ·x i ij j + c x j j =
i =1 i =1 j = m +1 j = m +1

 nm

= Z +   c j −  ci aij  x j =
0

j = m +1  i =1 

= Z +  (c j − S j )x j
0
n Coste
Unitario
j = m +1
m
rj = c j −  ci aij
n
=Z + 0
r x
j = m +1
j j
Coste Sintético i =1

Pedro L. González-R Coste Relativo 18


2. Método Simplex
◦ Ejemplo
 Veamos lo que ocurre en el ejemplo después de la primera iteración:

Z = 24 x1 + 20 x2 Por tanto:
Dejamos x1 = f ( x2 , h2 ) Z 1 = 24 x1 + 20 x2 = 24(16 − 2 / 3x2 − 2 / 3h2 ) + 20 x2 =
de [2] :1.5x1 = 24 − x2 − h2 Z 1 = 384 − 16 x2 − 16h2 + 20 x2 =
 x1 = 16 − 2 / 3 x2 − 2 / 3h2 Z 1 = 384 + 4 x2 − 16h2
de [3] : 2 / 3 x2 + h1 − 1 / 3h2 = 4
¿Por qué el coeficiente de x2 es 4 y no 20?
 h1 = 4 − 2 /3x2 + 1 / 3h2

 Al incrementar x2 en una unidad


◦ x1 disminuye en 2/3 Tiene un efecto de reducción de los
◦ h1 disminuye en 2/3 coeficientes de costes de la FO
m

Ejercicio: rj = c j − S j = c j −  aij ·ci


¿Cuáles son los costes relativos i =1
para todas las variables?
2 2 
¿Cuál es su Interpretación? rx = 20 −  ·0 + ·24  = 20 − 16 = 4
3 3 
2
Pedro L. González-R 19
2. Método Simplex
◦ Una SB factible es óptima si: cj-Sj ≤ 0 para las VNB (MAX)
 Como no es óptima, cambiamos de base.
◦ CAMBIO DE BASE
◦ Continuando con el ejemplo (1ª it):
VB x1 x2 h1 h2 bi
[3] h1 0 2/3 1 −1/ 3 4
[4] x1 1 2/3 0 2 / 3 16
◦ Var. que entra (VNB):
m Entra x2
r( x2 ) = r2 = c j −  aij ·ci = 20 − ((2 / 3)·0 + (2 / 3)·24) = 20 − 16 = 4
i =1 x2 =4
rh2 = 0 − ((− 1 / 3)·0 + (2 / 3)·24) = −16
◦ Var. que sale (VB):
 Si nos damos cuenta, antes hemos calculado la var. que sale teniendo en cuenta
la primera que se anulaba.
 ¿Qué candidatos hay para salir? → x1 o h1
 Despejamos x1 y h1 en función de x2 y teniendo en cuenta que h2 = 0, ya que
es una VNB.
Pedro L. González-R 20
2. Método Simplex
2 2 16·3
◦ Si sale x1 : de [4] : x1 = 16 - x2  0  x2  −16  x2  = 24
3 3 2
2 -2
◦ Si sale h1 : de [3] : h1 = 4 - x2  0  x2  −4  x2  6 Más restrictivo, →sale h1
3 3
◦ Por tanto, es lo mismo que calcular θ, para la variable xj que entra:

 xB 

 = x j = min  i
 i = 1...m

 aij 

◦ En nuestro ejemplo:
 4 16 
 = x2 = min  ,  = 6  Sale h1
◦ Ojo! Sólo los aij >0
 2 / 3 2 / 3
◦ Nota:
 Si no hay aij >0, θ puede incrementarse sin cota debido a que ninguna de las VB
se anulará. → FO aumenta a medida que aumenta θ.
 Si la var. que entra puede incrementarse hasta el inf. → FO aumenta
indefinidamente → Sol. NO ACOTADA.
 Si para alguna VNB con r > 0 todos los yij son NO POSITIVOS
→ el PL NO TIENE SOL. OPTIMA FINITA.

Pedro L. González-R 21
2. Método Simplex
◦ CAMBIO DE BASE:
◦ Cuando pasamos de una SB0 a otra SB1, se producen los siguientes cambios
en los niveles de actividad de las VB y de la FO:
i básica : xi1 = xi0 − aij · j
j entrante : x1j =  j
Z =  j ·rj =  j ·(c j − S j )
◦ En el ejemplo:
 Al entrar x2 las VB (x1, h1) varían de la siguiente manera:

V. básicas :
x11 = x10 − a1 j · j = 16 − ( 2 / 3)·6 = 12 (donde j es la columna de x2 )
h11 = 4 − ( 2 / 3)·6 = 0
VNB que entra :
x21 =  j = 6
Incremento de la FO :
Z = 6·(20 − ( 2 / 3)·24 − ( 2 / 3)·0) = 24  Z 1 = 384 + 24 = 408

Pedro L. González-R 22
2. Método Simplex
◦ TABLA DEL SIMPLEX:
◦ Los cálculos el método Simplex se realizan más ordenadamente en el
denominado ‘Tableau Simplex’

VB x1 x2 h1 h2 bi xBi /aij Determina la variable que


sale, partiendo de la variable j
[1] h1 0.5 1 1 0 12 24 que entra.
[2] h2 1.5 1 0 1 24 16

[3] rj 24 20 0 0 0 Valor del a FO cambiado de signo

Determina la variable que entra:


Mayor r → (MAX)
menor r → (min)
◦ Notas:
 Dejamos a Z como un una VB más en todas las iteraciones, pero con signo cambiado

Z = 24 x1 + 20 x2 + 0h1 + 0h2
− Z + 24 x1 + 20 x2 + 0h1 + 0h2 = 0

Pedro L. González-R 23
2. Método Simplex
◦ TABLA DEL SIMPLEX (it 1):
Columna Pivote: var. que entra

VB x1 x2 h1 h2 bi xBi /aij

[1] h1 0.5 1 1 0 12 24

Fila Pivote: [2] h2 1.5 1 0 1 24 16 →


var. que sale
[3] rj 24 20 0 0 0

◦ Partimos de la Sol. Básica inicial: SB = (0,0, h1 , h2 )


0

◦ Los coeficientes de las VB forman la matriz unidad → el valor de las variables


(nivel de las actividades) es el reflejado en la columna bi
◦ Variable que entra: la de mayor r → seleccionamos x1
◦ Variable que sale:
 calculamos bi/aij para la columna j correspondiente a x1.
 Sale h2, ya que corresponde al min (24, 16)
◦ Nueva Base: SB1 = ( x1 ,0, h1 ,0 )

Pedro L. González-R 24
2. Método Simplex
◦ TABLA DEL SIMPLEX (it 1):

VB x1 x2 h1 h2 bi xBi /aij

[1] h1 0.5 1 1 0 12 24
[2] h2 1.5 1 0 1 24 16 →

[3] rj 24 20 0 0 0

◦ Transformamos la tabla en forma canónica para la nueva base.

Hay que conseguir:


VB x1 x2 h1 h2 bi xBi /aij
• Que pivote = 1
[5]=[1]-0.5·[4] h1 0 2/3 1 -1/3 4 6 • Resto de la col. Pitote = 0
[4]=[2]/(1.5) x1 1 2/3 0 2/3 16 24
SB1 = ( x1 ,0, h1 ,0 )
[6]=[3]-24·[4] rj 0 4 0 -16 -384
Fin 1ª iteración

Pedro L. González-R 25
2. Método Simplex
◦ TABLA DEL SIMPLEX (it 2):

VB x1 x2 h1 h2 bi xBi /aij

[5] h1 0 2/3 1 -1/3 4 6 →

[4] x1 1 2/3 0 2/3 16 24

[6] rj 0 4 0 -16 -384

◦ Entra x2, sale h1, nueva Base: SB = ( x1 , x2 ,0,0 )


2
Fin 2ª iteración

Como todos los rj de las VNB


VB x1 x2 h1 h2 bi xBi /aij
son < 0 → Sol. Óptima
SB 2 = x* = (12,6,0,0)
[7]=[5]/(2/3) x2 0 1 3/2 -1/2 6
[8]=[4]-(2/3)·[7] x1 1 0 -1 1 12
Z * = 408
[9]=[6]-4·[7] rj 0 0 -6 -14 -408

Pedro L. González-R 26
Sol. Bás Factible
2. Método Simplex
◦ RESUMEN Det. Var. que entra
ALGORITMO SIMPLEX:

algún (FO Max)


No rj>0
Sol. Óptima
?

algún
No aij>0
Sol. No acotada
de la j que
entra?

Det. Var. que sale

Cambio de Base

Pedro L. González-R 27
3. Solución Básica Factible Inicial
◦ En ejemplo seguido hemos obtenido una SB inicial (factible) a partir de las
variables de holgura.
◦ Obtendremos siempre una SB inicial a partir de la forma canónica, cdo el
problema se encuentre en su forma estándar:

min ( Max) Z
s.a.
Se convierte en igualdad añadiendo las
Ax  b var. de holgura → forma canónica
xj  0
bi  0

◦ Sin embargo existen dos casos en los que el problema no se presenta en


forma estándar:
 A) Caso de términos de igualdad (=)
 B) Caso de desigualdades (≥)

Pedro L. González-R 28
3. Solución Básica Factible Inicial

◦ A) Caso de términos de igualdad (=)


 Supongamos el siguiente caso:
min Z = 10 x1 + 20 x2 min Z = 10 x1 + 20 x2
s.a. s.a.
2 x1 + 3 x2  5 2 x1 + 3 x2 + h1 = 5
3 x1 + 2 x2 = 18 3 x1 + 2 x2 = 18
xj  0 x j , h1  0

VB x1 x2 h1 bi xBi /aij

h1 2 3 1 5

3 2 0 18

rj 10 20 0

Pedro L. González-R 29
3. Solución Básica Factible Inicial

◦ Vemos que para completar una sol. Básica necesitamos una variable “de
holgura” más → empleamos VARIABLES ARTIFICIALES (VA)
◦ Se introducen con el fin de que sea una VB inicial para la ecuación.

3x1 + 2 x2  18
◦ Otra interpretación: 3x1 + 2 x2 = 18   
3x1 + 2 x2  18

◦ Por tanto si introducimos una VA:


min Z = 10 x1 + 20 x2
VB x1 x2 h1 h2 bi xBi /aij
s.a.
2 x1 + 3x2 + h1 = 5 h1 2 3 1 0 5

3x1 + 2 x2 + h2 = 18 h2 3 2 0 1 18

x j , h1 , h2  0 rj 10 20 0 0 0

Pedro L. González-R 30
3. Solución Básica Factible Inicial

◦ B) Caso de desigualdades (≥)


 En este caso se añade una var. de holgura que entra restando.
 → si multiplicamos por (-1), el término bi sería negativo.
 → se añade otra VA con signo positivo.

min Z = 0.4 x1 + 0.5 x2 min Z = 0.4 x1 + 0.5 x2


s.a. s.a.
0.3x1 + 0.1x2  27 0.3x1 + 0.1x2 + h1 = 27
0.5 x1 + 0.5 x2 = 6 0.5 x1 + 0.5 x2 + h2 = 6
0.6 x1 + 0.4 x2  6 0.6 x1 + 0.4 x2 − h3 + h4 = 6
xj  0 x j , hk  0

Pedro L. González-R 31
3. Solución Básica Factible Inicial

min Z = 0.4 x1 + 0.5 x2


s.a.
0.3x1 + 0.1x2 + h1 = 27
0.5 x1 + 0.5 x2 + h2 = 6
0.6 x1 + 0.4 x2 − h3 + h4 = 6
x j , hk  0 Forma canónica

VB x1 x2 h1 h2 h3 h4 bi xBi /aij

h1 0.3 0.1 1 0 0 0 27

h2 0.5 0.5 0 1 0 0 6

h4 0.6 0.4 0 0 -1 1 6

rj 0.4 0.5 0 0 0 0 0

Pedro L. González-R 32
3. Solución Básica Factible Inicial

◦ Resumen:

◦ Cdo tenemos problemas con restricciones (=) o (≥)


 Añadir una VA por cada una de las restricciones de este tipo.
◦ (=) → 1 VA
◦ (≥) → 1 VA + 1 V holgura
◦ Obtenemos el Problema Ampliado
◦ A partir de aquí obtener una Sol. Básica Inicial
 Esta sol. es NO factible para el problema original (no tiene significado físico en
el mismo)
 Podremos obtener una SB inicial del problema original si eliminamos todas las
VA de la base

◦ 2 métodos:
 Método de la M
 Método de las 2 Fases

Pedro L. González-R 33
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:

◦ Con las VA buscamos obtener una SB Inicial del problema ampliado.


◦ Para obtener una SB factible del problema original → sacar las VA de la base.

◦ Con este método se penalizan las VA con un coeficiente multiplicador en la


FO.

 Problemas de Maximización: Max Z =  c j x j −  M ·h va


j

 Problemas de minimización: min Z =  c j x j +  M ·h va


j

M = nº muy elevado

Pedro L. González-R 34
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:

◦ Ejemplo:
Problema Original Problema Ampliado
(introducimos las V de holgura + VA)

Max Z = 3 x1 + 5 x2 Max Z = 3x1 + 5 x2


s.a. s.a.
x1 4 x1 + h1 =4
2 x2  12 2 x2 + h2 = 12
3 x1 +2 x2 = 18 3x1 +2 x2 + h3va = 18
xj  0 x j , hk  0

Pedro L. González-R 35
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:

◦ Introducimos una penalización por cada VA en la FO:

Max Z = 3x1 + 5 x2 − Mh3va


s.a.
x1 + h1 =4
2 x2 + h2 = 12
3x1 +2 x2 + h3va = 18
x j , hk  0

Pedro L. González-R 36
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:

◦ Si escribimos la tabla del simplex del problema ampliado vemos que la


columna de h3 no está actualizada
◦ → La actualizamos buscando la forma canónica:

VB x1 x2 h1 h2 hva3 bi xBi /aij

[1] h1 1 0 1 0 0 4

[2] h2 0 2 0 1 0 12
[3] hva3 3 2 0 0 1 18

[4] rj 3 5 0 0 -M 0

Actualizo*
[5]=[3]·M+[4] 3+3M 5+2M 0 0 0 18M

(*) Habrá una actualización por cada VA introducida inicialmente

Pedro L. González-R 37
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:

◦ Aplicamos el algoritmo Simplex:

VB x1 x2 h1 h2 hva3 bi xBi /aij

[1] h1 1 0 1 0 0 4 4 →
[2] h2 0 2 0 1 0 12 ∞

[3] hva3 3 2 0 0 1 18 6

[5]=[3]·M+[4] rj 3+3M 5+2M 0 0 0 18M

◦ Entra x1 y sale h1 (continuamos hasta que salga la VA)


◦ El pivote es 1, actualizamos la base

Pedro L. González-R 38
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:

◦ Aplicamos el algoritmo Simplex:

VB x1 x2 h1 h2 hva3 bi xBi /aij

[1] x1 1 0 1 0 0 4 ∞

[7]=[2] h2 0 2 0 1 0 12 6
[6]=[3]-3[1] hva3 0 2 -3 0 1 6 3 →

[8]=[5]-(3+3M)[1] rj 0 5+2M -3-3M 0 0 6M-12

◦ Entra x2 y sale hva3 (Sale la VA !!)


◦ El pivote es 2, actualizamos la base

Pedro L. González-R 39
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:

◦ Aplicamos el algoritmo Simplex:

VB x1 x2 h1 h2 hva3 bi xBi /aij

[10]=[1] x1 1 0 1 0 0 4 4

[11]=[7]-2[9] h2 0 0 3 1 -1 6 2 →
[9]=[6]/2 x2 0 1 -3/2 0 1/2 3 -

[12]=[8]-(5+2M)[9] rj 0 0 9/2 0 -(5/2) –M -27

◦ Entra h1 y sale h2
◦ El pivote es 3, actualizamos la base

Pedro L. González-R 40
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:
◦ Aplicamos el algoritmo Simplex:

VB x1 x2 h1 h2 hva3 bi xBi /aij

[14]=[10]-[13] x1 1 0 0 -1/3 1/3 2

[13]=[11]/3 h1 0 0 1 1/3 -1/3 2


[15]=[9]+(3/2)[13] x2 0 1 0 1/2 0 6

[16]=[12]-(9/2)[13] rj 0 0 0 -3/2 –M-1 -36

◦ No hay dirección de mejora, r de las VNB son ≤ 0

Pedro L. González-R 41
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:
◦ Solución Óptima del problema ampliado:
Z * = 36
x* = (2,6,2,0,0)

◦ Como la Sol. Óptima del problema ampliado tiene todas las VA = 0 → la Sol.
Óptima del Problema ampliado = Sol. Óptima del problema original.

“La Sol. Óptima del Problema Ampliado es Óptima para el Problema


original si no hay VA’s con valor ≠ 0”

Pedro L. González-R 42
3. Solución Básica Factible Inicial

◦ MÉTODO DE LA M:
◦ Ejercicio para casa.
◦ Supongamos en el ejemplo de la planta de generación de energía en el que
tratamos en esta ocasión de determinar la solución de coste mínimo para
obtener una producción de, al menos 216 unidades/h (en miles de lb de
vapor/h), siendo el coste por tonelada de 24 $ para el carbón de tipo A y de
15$ para el B.
min Z = 24 x1 + 15 x2
s.a.
0.5 x1 + x2  12
1.5 x1 + x2  24
24 x1 + 20 x2  216
xj  0

Pedro L. González-R 43
3. Solución Básica Factible Inicial
◦ MÉTODO DE LAS DOS FASES:
◦ El proceso seguido por el Método de la M consistía en 2 pasos:
 1.- Encontrar sol factible SIN VA.
 2.- Desde sol factible hasta óptimo.
◦ El método de las dos fases es un proceso directo para realizar estos dos
pasos sin introducir explícitamente la M.
◦ El método de las dos fases emplea 2 FO diferentes

◦ FASE 1:
 Utiliza el método simplex para resolver el problema ampliado con la siguiente FO:
min Z =  h vaj
 La sol. Óptima que se obtenga para este problema (si Z=0) será una sol. Básica
factible para el problema original.

◦ FASE 2:
 Se eliminan las VA que valen 0 y se aplica el simplex a partir de la sol . Básica factible
obtenida en Fase 1 hasta encontrar sol. Óptima.
 La FO es la del problema Real

Pedro L. González-R 44
3. Solución Básica Factible Inicial

◦ MÉTODO DE LAS DOS FASES:

◦ Ejemplo:
Problema Original Problema Ampliado
(introducimos las V de holgura + VA)

Max Z = 3 x1 + 5 x2 Max Z = 3x1 + 5 x2


s.a. s.a.
x1 4 x1 + h1 =4
2 x2  12 2 x2 + h2 = 12
3 x1 +2 x2 = 18 3x1 +2 x2 + h3va = 18
xj  0 x j , hk  0

Pedro L. González-R 45
3. Solución Básica Factible Inicial

◦ MÉTODO DE LAS DOS FASES:

◦ FASE 1: Nueva FO min Z =  h j = h3


va va

◦ Si escribimos la tabla del simplex del problema ampliado vemos que la


columna de hva3 no está actualizada
◦ → La actualizamos buscando la forma canónica:

VB x1 x2 h1 h2 hva3 bi xBi /aij

[1] h1 1 0 1 0 0 4

[2] h2 0 2 0 1 0 12

[3] hva3 3 2 0 0 1 18

[4] rj 0 0 0 0 1 0

Actualizo
[5]=[4]-[3] -3 -2 0 0 0 -18

Pedro L. González-R 46
3. Solución Básica Factible Inicial

◦ MÉTODO DE LAS DOS FASES: FASE 1

◦ Aplicamos el algoritmo Simplex:

VB x1 x2 h1 h2 hva3 bi xBi /aij

[1] h1 1 0 1 0 0 4 4 →

[2] h2 0 2 0 1 0 12 -
[3] hva3 3 2 0 0 1 18 6

[5] rj -3 -2 0 0 0 -18


Ojo! En F1 estamos minimizando

◦ Entra x1 y sale h1 (continuamos hasta que salga la VA)


◦ El pivote es 1, actualizamos la base

Pedro L. González-R 47
3. Solución Básica Factible Inicial

◦ MÉTODO DE LAS DOS FASES: FASE 1

◦ Aplicamos el algoritmo Simplex:

VB x1 x2 h1 h2 hva3 bi xBi /aij

[1] x1 1 0 1 0 0 4 -
[7]=[2] h2 0 2 0 1 0 12 6
[6]=[3]-3[1] hva3 0 2 -3 0 1 6 3 →

[8]=[5]+3[1] rj 0 -2 3 0 0 -6

◦ Entra x2 y sale hva3 (Sale la VA !!)


◦ El pivote es 2, actualizamos la base

Pedro L. González-R 48
3. Solución Básica Factible Inicial

◦ MÉTODO DE LAS DOS FASES: FASE 1


◦ Aplicamos el algoritmo Simplex:

VB x1 x2 h1 h2 hva3 bi xBi /aij

[1] x1 1 0 1 0 0 4

[10]=[7]-2[9] h2 0 0 3 1 -1 6

[9]=[6]/2 x2 0 1 -3/2 0 1/2 3

[11]=[8]+2[9] rj 0 0 0 0 1 0

◦ Todos los coef. son positivos (o cero), no hay posibilidad de seguir


disminuyendo la FO
◦ Estamos en el óptimo del problema ampliado en la Fase 1
◦ Aplicamos Fase 2

Pedro L. González-R 49
3. Solución Básica Factible Inicial

◦ MÉTODO DE LAS DOS FASES: FASE 2


◦ Eliminamos las VA que sean = 0, hva3= 0
◦ Nueva FO (Real) Max Z = 3x1 + 5 x2
◦ Aplicamos el algoritmo Simplex:
◦ Columnas de x1 y x2 no están actualizadas → La actualizamos buscando la
forma canónica:

VB x1 x2 h1 h2 bi xBi /aij

[1] x1 1 0 1 0 4
[2] h2 0 0 3 1 6

[3] x2 0 1 -3/2 0 3

[4] rj 3 5 0 0 0

Actualizo
[5]=[4]-3[1] 0 5 -3 0 -12

Actualizo [6]=[4]-5[3] 0 0 9/2 0 -27

Pedro L. González-R 50
3. Solución Básica Factible Inicial

◦ MÉTODO DE LAS DOS FASES: FASE 2

VB x1 x2 h1 h2 bi xBi /aij

[1] x1 1 0 1 0 4 4

[2] h2 0 0 3 1 6 2 →
[3] x2 0 1 -3/2 0 3 -

[6] rj 0 0 9/2 0 -27


Ojo! En F2 estamos maximizando

◦ Entra h1 y sale h2
◦ El pivote es 3, actualizamos la base

Pedro L. González-R 51
3. Solución Básica Factible Inicial

◦ MÉTODO DE LAS DOS FASES: FASE 2


◦ Aplicamos el algoritmo Simplex:

VB x1 x2 h1 h2 bi xBi /aij

[8]=[1]-[7] x1 1 0 0 -1/3 2

[7]=[2]/3 h1 0 0 1 1/3 2

[9]=[3]+(3/2)[7] x2 0 1 0 1/2 6

[10]=[6]-(9/2)[7] rj 0 0 0 -3/2 -36

◦ No hay dirección de mejora, r de las VNB son ≤ 0


◦ Estamos en la solución óptima del problema real.

Z * = 36
x* = (2,6,2,0,0)

Pedro L. González-R 52
3. Solución Básica Factible Inicial
◦ PROCEDIMIENTO GENERAL DE RESOLUCIÓN DE PL

No Factible - Método de la M
Sol. Bás Inicial
- Método de las dos fases

Sí Sol.
Alg. Simplex Básica
Factible?

No

Sol. Óptima Sol. No acotada El PL no tiene solución

Pedro L. González-R 53
4. Forma Matricial

◦ Formulación del PL en forma matricial:


 x1 
Max Z = c1 ,...cn ...  = c t x Max Z = c t x Dimensiones :
 xn  s.a. A = [m·n]
s.a. Ax = b b = [m·1]
n
x0 x = [n·1]
a x
j =1
ij j = bi i = 1...m

xj  0 j = 1...n

◦ La matriz A la puedo dividir en dos matrices:


 B, matriz cuadrada [m·m] formada por los aij de las VB
 D, matriz [m·(n-m)] formada por los aij de las VNB
A = B D

Pedro L. González-R 54
4. Forma Matricial

Resumen Notación Matricial:


Para detectar dirección de mejora
 xB 
x=  Z' = f(VNB)
 xD 

 xB 
Ax = b  B D   = b  xB 
 xD  Z ' = c x = (cB cD )  = cB x B + cD xD =
t

Bx B + Dx D = b ·(B −1 )  xD 
B −1 Bx B + B −1 Dx D = B −1b = cB B −1b − cB (B −1 D )xD + cD x D =
Ix B + B −1 Dx D = B −1b = Z 0 + (cD − c B B −1 D )xD
x B = B −1b − B −1 Dx D = Z 0 + rD xD
Para una solución Básica, xD = 0 
xB = B −1b
Z = cBt xB

Pedro L. González-R 55

También podría gustarte