Professional Documents
Culture Documents
Facultad de Ingeniera
Departamento de Ingeniera Industrial y de Sistemas
2 4 1 0 0
= 6 2 0 1 0 Notacin:
0 1 0 0 1 es la fila = {1, , } de
es la columna = {1, , } de
= 3 8 0 0 0
,, es la submatriz formada por el
1600 conjunto de columnas {, , }.
= 1800 es el elemento (, ) de
350
= 5, = 3
Base
Consideremos el sistema = . En el ejemplo:
1 2 3 4 5
2 4 1 0 0 1600 =3
6 2 0 1 0 = 1800
0 1 0 0 1 350
Una Base es un subconjunto formado por
ndices de las variables {1, , }.
Por ejemplo: 1 = {1,2,3}, 2 = {1,2,4}, 3 = {3,4,5}
La matriz se llama matriz bsica asociada a .
es invertible.
2 4 1 2 4 0 1 0 0
1 = 6 2 0 2 = 6 2 1 3 = 0 1 0
0 1 0 0 1 0 0 0 1
Solucin Bsica
Dada base 1, , , se define:
Sea = el vector de variables bsicas.
Sea = el vector de variables no bsicas.
Reescribimos = como: + =
Hacemos = 0: 4 5 =0
2 4 1 1600
Resolvemos = : 6 2 0 = 1800
0 1 0 350
1 = 183,33; 2 = 350;3 = 166,67
Hacemos = 0: 1 2 =0
1 0 0 1600
Resolvemos = : 0 1 0 = 1800
0 0 1 350
3 = 1600; 4 = 1800;5 = 350
Teorema:
Dada la base . Si la solucin bsica es factible
( 0), entonces:
= es un vrtice de { + : = }.
0
= (2,3,4)
= (1,2,5)
= (3,4,5) = (1,3,5)
Optimicemos
Resolveremos algebraicamente min s.t. =
0
Usaremos el ejemplo inicial
Iniciamos bsqueda donde es ms fcil calcular 1
: el origen
min 31 82 s.t.
0
21 + 42 + 3 = 1600
61 + 22 + 4 = 1800
2 + 5 = 350
Iteracin 1: = {, , }
Despejamos las variable bsicas :
3 = 1600 21 42
= 1
1
4 = 1800 61 22
5 = 350 01 2
Vrtice factible, pues = 0, 0
Iteracin 1: = {3,4,5}
min 31 82 s.t.
0
21 + 42 + 3 = 1600
61 + 22 + 4 = 1800
2 + 5 = 350
: costos reducidos
Iteracin 1: = {3,4,5}
min 31 82 s.t.
0 3 2 4 1600
21 + 42 + 3 = 1600 4 + 6 2 1
61 + 22 + 4 = 1800 2 = 1800
5 0 1 350
2 + 5 = 350
= + = 1
+ (
)
= 1
= 000
1600 1800 350 = 0
2 4
= = 3 8 [0 0 0] 6 2 = 3 8
0 1
= 0 31 82
Objetivo mejora al aumentar con costo reducido negativo ( < 0)
1 = 3 (objetivo baja 3 por unidad de 1 )
2 = 8 (objetivo baja 8 por unidad de 2 )
Tomemos 2 por ejemplo
Iteracin 1: = {3,4,5}
3 2 4 1600
1
4 + 6 2
2 = 1800
5 0 1 350
min 31 82 s.t.
0
21 + 42 + 3 = 1600
61 + 22 + 4 = 1800
2 + 5 = 350
= (3,4,2)
= (3,4,5)
Iteracin 2: = {3,4,2}
min 31 82 s.t.
0 3 2 4 200
21 + 42 + 3 = 1600 4 + 6 1
61 + 22 + 4 = 1800
2 = 1100
5
2 + 5 = 350
2 0 1 350
= +
= 1
= 00 8
200 1100 350 = 2800
2 4
= = 3 0 [0 0 8] 6 2 = 3 8
0 1
= 2800 31 + 85
1 = 3 (objetivo baja 3 por unidad de 1 )
5 = 8 (no sirve, pues objetivo sube 8 por unidad de 5 )
Ingresamos 1 a la base.
Iteracin 2: = {3,4,2}
3 2 4 200
1
4 + 6 2 = 1100
5
2 0 1 350
Cunto puede subir 1 ?
Hasta min(200
2
;
1100
6
; ) = 100
Despejamos la base = 1
1
:
1
2 0 4 0 2
2
= 6 1 2 1
= 3 1 10
0 0 1 0 0 1
1 1
2 1 100
4 + 2 = 500
3 10 5
2 350
0 1
Grficamente: 3,4,2 {1,4,2}
min 31 82 s.t.
0
21 + 42 + 3 = 1600
61 + 22 + 4 = 1800
2 + 5 = 350
= (1,4,2)
= (3,4,2)
= (3,4,5)
Iteracin 3: = {1,4,2}
min 31 82 s.t.
0
1 1
21 + 42 + 3 = 1600 2 1 100
61 + 22 + 4 = 1800 4 + 2 = 500
2 3 10 5
2 + 5 = 350 350
0 1
= +
= 1
= 3 0 8
100 500 350 = 3100
1
2
1 2
= = 0 0 [3 0 8] 3 10 = 3/2 2
0 1
3
= 3100 + 4 + 25
2
3 = 3/2 (objetivo sube 3/2 por unidad de 3 )
5 = 2 (objetivo sube 2 por unidad de 5 )
vrtice vecinos son peores! Estamos en vrtice ptimo.
= [ ], =
Restricciones activas: 3 y 5 . Hay holgura en 4 .
No verificamos todo vrtice!
min 31 82 s.t.
0
21 + 42 + 3 = 1600
61 + 22 + 4 = 1800
2 + 5 = 350
= (1,4,2)
= (3,4,2)
= (3,4,5)
Acabamos de correr el Mtodo SIMPLEX
Mtodo iterativo que parte desde un vrtice del
dominio y transita en una serie de vrtices
adyacentes nunca empeorando el valor objetivo.
min 1
+
0
s.t. + = 1
, donde = A1
El ``Padre de la Programacin
Lineal
Paso Iterativo
Traslado a un mejor vrtice
FASE II
NO
Prueba de Optimalidad
Es ptima la solucin? FIN
SI
Qu caminos llevan al ptimo?
Hay mejora si variable con costo reducido negativo sube de valor
No necesariamente el costo reducido ms negativo
En ejemplo: Se podra ingresar 1 (en vez de 2 ) al comienzo
Diferentes caminos llevan al ptimo
Asegura convergencia?
Se asegura convergencia al mnimo si objetivo siempre baja
Hay una excepcin (degenerancia)
?
Algoritmo SIMPLEX (Fase 2)
1. Input: , , en forma estndar y una base factible.
3. Prueba de Optimalidad:
a) Si 0: Sol. ptima, retornar: = [ , ], =
b) Si : < 0: Ingresar a la base.
= 1
/
: >0
Cambiar base: \{} {}
Ir a paso 2.
Significado de costos reducidos
Analizemos = 0 =
indica el cambio de valor objetivo al subir una unidad la variable :
= =
0
Nonegativo en el ptimo
Mientras se mantiene la base factible
3
En el ejemplo: = = 0; 0; 2 ; 0; 2
3 0 3 2
=2 + (3,8)
8 1 2 4
(0,1) (2,4)
Precio Sombra (shadow price)
Definamos el vector de Precios Sombra como:
=
= = 1
=
3
En el ejemplo inicial: = 2 0 2
Nulo para restricciones desactivadas con holguras en base.
El tableau de SIMPLEX
Herramienta para hacer iteraciones manuales del SIMPLEX
Es una acomodacin matricial de la informacin de una base
Ya no se ensea en ICS1113
min 1
+
0
s.t. + = 1
0 1
Ejemplo 2
m 21 + 2 s.t.
0
1 + 32 9
21 + 2 6
Forma estndar:
m 21 2 s.t.
0
1 + 32 + 3 = 9
21 + 2 + 4 = 6
Dos elementos en cada base
Comenzamos con las holguras en base (vrtice origen)
Iteracin 1: = {3,4}
Calculamos base: m 21 2 s.t.
0
1
=
9 1 + 32 + 3 = 9
= 1
= 21 + 2 + 4 = 6
6
= = 0
1 3
= 1
=
2 1
1 3
= = [2 1] 0 0 = [2 1]
2 1
6
Entra 1 : min ; = 3, sale 4
2
12 3
Entra 2 : min ; = 24/7, sale 3
7/2 1/2
Cambio de base 3,1 {2,1}
Iteracin 3: = {2,1}
Calculamos base: m 21 2 s.t.
2/7 1/7 0
1
= 1 + 32 + 3 = 9
1/7 3/7
= 1
24/7 21 + 2 + 4 = 6
= 9/7
= = 6
2/7 1/7 1 0 2/7 1/7
= 1
= =
1/7 3/7 0 1 1/7 3/7
2/7 1/7
= = [0 0] 1 2 = [0 1]
1/7 3/7
Ejercicio Propuesto:
m 83 s.t.
0
1 + 32 + 23 2
21 + 42 + 53 5
Ejemplo 3
m 22 s.t.
0
1 2 6
21 32 8
Forma estndar:
m 22 s.t.
0
1 2 + 3 = 6
21 32 + 4 = 8
Dos elementos en cada base
Comenzamos con las holguras en base (vrtice origen)
Iteracin 1: = {3,4}
Calculamos base: m 22 s.t.
1
= 0
= 1
6 1 2 + 3 = 6
=
8 21 32 + 4 = 8
= = 0
1 1
= 1
=
2 3
1 1
= = [0 2] 0 0 = [0 2]
2 3
3. Prueba de Optimalidad:
a) Si 0: Sol. ptima, retornar: = [ , ], =
b) Si : < 0: Ingresar a la base.
Si 0: Problema no acotado, retornar: (, )
= 1
/
: >0
Cambiar base: \{} {}
Ir a paso 2.
Ejemplo 4:
m 1 2 s.t.
0
21 + 2 2
32 2
61 + 92 10
Forma estndar:
m 1 2 s.t.
0
21 + 2 + 3 = 2
32 + 4 = 2
61 + 92 + 5 = 10
Tres elementos en cada base
Comenzamos con las holguras en base (vrtice origen)
Iteracin 1: = {3,4,5}
Calculamos base: m 1 2 s.t.
1 0
=
2 21 + 2 + 3 = 2
1
= = 2 32 + 4 = 2
10 61 + 92 + 5 = 10
= = 0
2 1
= = 0 3
1
6 9
2 1
= = [1 1] 0 0 0 0 3 = [1 1]
6 9
2 2 10
Entra 1 , sale min ; ; = 1 3
2 0 6
1
2 0 1
= 0 1 3 =
4
3
1
12
1 21 + 2 + 3 = 2
6 0 9
2
1
0
1
2
32 + 4 = 2
2 6
3
0
1 61 + 92 + 5 = 10
4 12 2 2/3
3 1
= 1
= 2
1
2
2 = 0
1 1 10 2/3
0
2 6
= = 4/3
3 1 3 1
0
4 12 1 0 4 12
3 1 3 1
= 1
= 2
1
2
0 0 = 2
2
1 1 0 1 1 1
0
2 6 2 6
3 1
4 12
3 1 1 1
= [0 0] 1 0 1 2
2
= 4 12
1 1
2 6
32 + 4 = 2 0
0
61 + 92 + 5 = 10
Solucin Degenerada
Cuando variable bsicas son nulas m 1 2 s.t.
0
Hay sobre-determinacin del vrtice: 21 + 2 + 3 = 2
Hay 3 restricciones en un punto. 32 + 4 = 2
En sucede cuando ms de 61 + 92 + 5 = 10
restricciones determinan un vrtice.
1 1
(1; 1) = (2; 1) + (0; 3)
2 6
1 1
(1; 1) = (2; 1) + (6; 9)
4 12
Solucin Degenerada
Hay tantas bases por vrtice como ceros en la solucin bsica.
TEOREMA:
EL MTODO SIMPLEX TERMINA
m 31 22 53+ + 53 s.t.
0
31 + 23+ 23 + 4 = 460
1 + 42 + 5 = 420
1 + 22 + 3+ 3 + 6 = 430
Base ptima: = +
{3 , 5,2}
Calculamos base: m 31 22 53+ + 53 s.t.
0
1
2 0 0 1
2
0 0 31 + 23+ 23 + 4 = 460
1 = 0 1 4 = 1 1 2
1 + 42 + 5 = 420
1 0 2 1/4 0 1/2
1 1 + 22 + 3+ 3 + 6 = 430
0 0 460 230
2
= 1
1= 1 2 420 = 20
1/4 0 1/2 430 100
= = 1350
1
0 0 3 2 1 0 3/2 1 1/2 0
2
= 1
= 1 1 2 1 0 0 0 = 2 0 1 2
1/4 0 1/2 1 1 0 1 1/4 0 1/4 1/2
3/2 1 1/2 0
= [3 5 0 0] 5 0 2 2 0 1 2 = 4 0 2 1
1/4 0 1/4 1/2
= 0; 100; 230; 0; 0; 20; 0 3
pero 3 tiene costo reducido nulo. Si entra, no hay salida.
Rayo ptimo: + 0; 0; 1; 1; 0; 0 = 0; 100; 230 + ; ; 0; 20; 0
5
Pero 3 = 3+ 3 = 230.
2
Al desdoblar 3 creamos un rayo artificial.
Pontificia Universidad Catlica de Chile
Facultad de Ingeniera
Departamento de Ingeniera Industrial y de Sistemas