Professional Documents
Culture Documents
IND2209
Capitulo III
El Método Simplex
Modelo de Programación Lineal
n
s.a : a
j 1
ij x j bi i 1, 2, , m
xj 0 j 1, 2, , n
2
Modelo de Programación Lineal
x1
x2
x3
Opt c1 , c2 , c3 , , cn
Opt c x
T
s.a : A x b x
n
x0
b1
a11 a12 a13 a1n x1 b2
a a a a x2 b3
21 22 23 2n
x3
s.a :
a amn xn
m1 am 2 am 3
bm
x1 , x2 , x3 , xn 0
3
Instancia de un Modelo de
Programación Lineal
Ejemplo :
Min 3 x 4 y 7 z x
s.a : 8 x 6 y 3 z 5
Min 3, 4, 7 y
z
7 x 4 y 4 z 4 cT
x, y , z 0
x
8 6 3 5
s.a : y
7 4 4 z 4
A
x, y , z 0
4
Sinopsis del Método Simplex
5
Sinopsis del Método Simplex
x1
6
Sinopsis del Método Simplex
x1
7
Veamos un ejemplo
Max 3 x 5 y
x 2 y 10 1
x y 7 2
(0,7)
y 4 3
x 5 4
R(2) R(4) x, y 0
(0,5)
(4,3)
(5,2) R(1)
(0,0)
(7,0) (10,0)
(5,0)
8
Sistemas de Ecuaciones Lineales
Ax b
Donde los aij, y los bi son constantes conocidas.
9
Sistemas de Ecuaciones Lineales
Definición:
El rango en A, denotado rang(A) es el máximo número de filas
linealmente independientes de A.
Supuesto:
El rango de A es m.
(en caso que no lo sea, existirán restricciones redundantes que pueden ser
eliminadas, simplemente se tratará de un problema / sistema infactible …)
10
Sistemas de Ecuaciones Lineales
x A b 1
11
Sistemas de Ecuaciones Lineales
aˆm 2 x2 aˆmn xn bˆm b
bˆ1 1
a11
b
bˆi bi 1 ai1 i 2,..., n
a11
12
Sistemas de Ecuaciones Lineales
x1* bˆ1
x2* bˆ2
x3* bˆ3
...
...
xm* bˆm
13
Sistemas de Ecuaciones Lineales
A | I I | A1
Y luego:
1
x A b
*
14
Sistemas de Ecuaciones Lineales
A1 x1 A2 x2 A3 x3 An xn b
Como rang(A) = m, se tiene que en A existe al menos un
conjunto de m columnas linealmente independiente.
xB
B N x b B N b B xB N xN b
xN
15
Sistemas de Ecuaciones Lineales
B N x b B xB N xN b
B y N se denominan Matriz Básica y No-Básica respectivamente
xB y xN se denominan vector de Variables Básicas y vector de
Variables No-Básicas, respectivamente.
n n!
m
m ! n m !
Soluciones Básicas.
17
Sistemas de Ecuaciones Lineales
6 z 5 4 6 3 x
N 4 xB z , xN y
4x
B
3x 5 z 6 3 5
3 6 4 y
3 B z , xN x
3y 6z 5 B
N x
4 y 5z 6 4 5
18
Sistemas de Ecuaciones Lineales
4x 3y 5
3x 4 y 6 x* 2 / 7, y* 9 / 7, z* 0
4x 6 z 5
x* 11/ 2, y* 0, z* 9 / 2
3x 5 z 6
3y 6z 5 x* 0, y* 1/ 9, z* 2 / 9
4 y 5z 6
19
Volvamos a nuestro ejemplo
Max 3 x 5 y Encontremos todos los vértices por medio
x 2 y 10 1 de la definición de las matrices básicas B
x y 7 2
y 4 3
x 5 4
x, y 0
(0,7)
R(4)
R(2)
(0,5)
(4,3)
(5,2) R(1)
(10,0)
(0,0) (7,0)
(5,0)
20
Sistemas de Ecuaciones Lineales
x1 , x2 , x3 , , xn 0
Ax b
22
Sistemas de Inecuaciones Lineales
x1 , x2 , x3 , , xn , xn 1 , xn 2 , xn 3 , , xn m 0
23
Sistemas de Inecuaciones Lineales
B N x b B xB N xN b
x0 xB 0, xN 0
(1)
Por ejemplo: a1·x + b1·y ≤ c1 <=> a1·x + b1·y +z1 = c1
y
P3
P2
P4
P5
(2) P6
a2·x + b2·y ≤ c2 <=> a2·x + b2·y +z2 = c2 x
P1
(3)
a3·x + b3·y ≤ c3 <=> a3·x + b3·y + z3 = c3
25
Sistemas de Inecuaciones Lineales
a1 x b1 y 1 z1 c1 x
a2 x b2 y 1 z2 c2 a1 b1 1 0 0 y c1
a2 b2 0 1 0 z1 c2
a3 x b3 y 1 z3 c3 a
3 b3 0 0 1 z2 c
z 3
a1 b1 1 a1 x b1 y 1 z1 c1 3
B a2 b2 0 a2 x b2 y c2
a b 0
3 3 a3 x b3 y c3
Por otra parte, se debe observar que tanto xB como xN pueden contener tanto
variables originales del sistema como, variables de holgura.
Eliminando de los componentes correspondientes a variables de holgura se obtiene
una solución básica factible del sistema original.
26
Sistemas de Inecuaciones Lineales
Teorema:
27
Un ejemplo
Ejemplo:
Considere el siguiente sistema 2 x1 x2 230
x1 2 x2 250
x2 x2 120
x1 , x2 0
(10,120)
(c)
(0,120)
(b)
(70,90)
(a)
(115,0)
(0,0)
x1
28
Un ejemplo
2 3 4 2 3 5 2 4 5 3 4 5
1 1 0 1 1 0 1 0 0 1 0 0
5
2 0 1, 2 0 0, 2 1 0 0 1 0 3 10
1 0
0 1 0
1 1 0 1
0 0 1
29
Un ejemplo
1 2 3
2 x1 x2 x3 230
2 1 1
x2 x1 2 x2 250
1 2 0 x2 120
0 1 0 x1 , x2 , x3 0
(10,120)
(0,120)
(70,90) x1 10
x1 10 x
2 120
x3 90
x
2 120
x 90
3 4
x 0
x 0
5
(115,0)
(0,0)
x1
30
Un ejemplo
1 2 4
2 x1 x2 230
2 1 0
x2 x1 2 x2 x4 250
1 2 1 x2 120
0 1 0 x1 , x2 , x3 0
(10,120)
(0,120)
(70,90)
Caso infactible
(115,0)
(0,0)
x1
31
Un ejemplo
1 2 5
2 x1 x2 230
2 1 0
x2 x1 2 x2 250
1 2 0 x2 x5 120
0 1 1 x1 , x2 , x3 0
(10,120)
(0,120)
(70,90)
x1 70
x1 70 x2 90
x3 0
x2 90
x 30
5 x4 0
x 30
5
(115,0)
(0,0)
x1
32
Un ejemplo
1 3 4
2 x1 x3 230
2 1 0
x2 x1 x4 250
1 0 1 120
0 0 0 x1 , x3 , x4 0
(10,120)
(0,120)
(70,90)
Caso infactible
(115,0)
(0,0)
x1
33
Un ejemplo
1 3 5
2 x1 x3 230
2 1 0
x2 x1 250
1 0 0 x5 120
0 0 1 x1 , x3 , x5 0
(10,120)
(0,120)
(70,90)
Caso infactible
(115,0)
(0,0)
x1
34
Un ejemplo
1 4 5
2 x1 230
2 0 0
x2 x1 x4 250
1 1 0 x5 120
0 0 1 x1 , x4 , x5 0
(10,120)
(0,120)
(70,90) x1 115
x1 115 x
2 0
x3 0
x
4 135
x 120
5 x4 135
x 120
5
(115,0)
(0,0)
x1
35
Un ejemplo
2 3 4 x2 x3 230
1 1 0 2 x2 x4 250
x2 x2 120
2 0 1
1 0 0 x2 , x3 , x4 0
(10,120)
(0,120)
(70,90) x1 0
x2 120 x
2 120
x3 110
x
3 110
x 10
4 x4 10
x 0
5
(115,0)
(0,0)
x1
36
Un ejemplo
2 3 5 x2 x3 230
1 1 0 2 x2 250
x2 x2 x5 120
2 0 0
1 0 1 x2 , x3 , x5 0
(10,120)
(0,120)
(70,90)
Caso infactible
(115,0)
(0,0)
x1
37
Un ejemplo
2 4 5 x2 230
1 0 0 2 x2 x4 250
x2 x2 x5 120
2 1 0
1 0 1 x2 , x3 , x4 0
(10,120)
(0,120)
(70,90)
Caso infactible
(115,0)
(0,0)
x1
38
Un ejemplo
3 4 5 x3 230
1 0 0 x4 250
x2 x5 120
0 1 0
0 0 1 x3 , x4 , x5 0
(10,120)
(0,120)
(70,90) x1 0
x3 230 x
2 0
x3 230
x
4 250
x 120
5 4
x 250
x 120
5
(115,0)
(0,0)
x1
39
Fundamentos del Simplex
Definición
40
Fundamentos del Simplex
41
Fundamentos del Simplex
• Pensemos en lo siguiente:
B xB N xN b
xB B 1 b B 1 N xN
xN 0
xB B 1 b
x
Max c x
T Max
cBT , cTN B
xN
Max
cBT B 1 b B 1 N xN cTN xN
s .a : xB B 1 b B 1 N xN
Max
cBT B 1 b cTN cBT B 1 N xN
s .a : xB B 1 b B 1 N xN
42
Fundamentos del Simplex
crNT cTN cBT B 1 N
• Este costo se conoce como el costo reducido del vector de
variables no básicas.
Teorema
crNT cTN cBT B 1 N 0
44
Fundamentos del Simplex
45
Un ejemplo
• Veamos el ejemplo:
x2 Max x1 x2
(10,120)
s .a : 2 x1 x2 x3 230
(c)
(0,120)
x1 2 x2 x4 250
(b)
x2 x5 120
(70,90)
x1 , x2 , x3 , x4 , x5 0
(a)
(115,0)
(0,0)
x1
46
Un ejemplo
1 2 5
2 1 0
1 2 0
0 1 1
48
Un ejemplo
1 4 5
2 0 0
1 1 0
0 0 1
49
Un ejemplo
2 3 4
1 1 0
2 0 1
1 0 0
50
Un ejemplo
3 4 5
1 0 0
0 1 0
0 0 1
51
Retomemos el método de forma tabular
B N x b B xB b
x0 xB 0, xN 0
Identificada una matriz B que entrega una solución básica factible,
se debe proceder a:
B1 B N b I B 1 N B 1 b
B1 B B1 N B1 b xB
Es decir, aplicando las mismas operaciones aplicadas sobre B para
transformarla en una Matriz Identidad, se obtiene la matriz B-1N y
el valor de xB
52
Retomemos el método de forma tabular
Por otra parte se utilizan operaciones fila para hacer cero el costo
reducido de las variables básicas, para el calculo de los costos
reducidos de las variables no básicas:
crBT cBT cBT B 1 B
crNT cNT cBT B 1 N
Esto identifica las variables no básicas candidatas a entrar a la
base.
Veamos en un ejemplo…
Max x1 3 x2
s .a : 2 x1 x2 x3 230
x1 2 x2 x4 250
x2 x5 120
x1 , x2 , x3 , x4 , x5 0
53
Retomemos el método de forma tabular
54
Retomemos el método de forma tabular
55
Retomemos el método de forma tabular
bi 70 30
xq min x3 min ,*, 90 sale x5
i / aiq 0 a
iq 2 / 3 1/ 3
56
Retomemos el método de forma tabular
1 2 3 4 5
1 0 2 / 3 1/ 3 0 70
0 1 1/ 3 2 / 3 0 90
0 0 1/ 3 2 / 3 1 30
0 0 1/ 3 5 / 3 0 340
57
Algunas preguntas
Max / Min cT x
s.a : A x b
x0
Caso 2:
(asumiremos que b ≥0…)
Max / Min cT x
s.a : A x b
x0
58
Método de las dos fases
Max cT x
s.a : A x b
x0
Fase I:
Definimos un problema alternativo para el cual la obtención de una
solución inicial básica factible es trivial…
El algoritmo termina cuando…
m
Min s
i 1
i
s.a : A x s b
s, x 0
¿Qué podemos inferir del valor (solución) óptimo del problema anterior?
59
Método de las dos fases
Un ejemplo:
Max x1 3 x2 x3
s .a : 2 x1 x2 3 x3 230
x1 2 x2 2 x3 250
x1 , x2 , x3 0
60
Algunas situaciones especiales
• Problema no acotado… x1 70 2 / 3 x3
x1 , x3 0
1 2 3 4 5
x1
1 0 2 / 3 1/ 3 0 70
x2
0 1 1/ 3 2 / 3 0 90 x2 90 1/ 3 x3
x5
0 0 1/ 3 2 / 3 1 30 x2 , x3 0
0 0 1/ 3 5 / 3 0 340 90
x1 2 / 3 x3 70
x2 1/ 3 x3 90
70
1/ 3 x3 x5 30 x5 30 1/ 3 x3
x3 , x5 0
x1 70 2 / 3 x3
30
x2 90 1/ 3 x3
x5 30 1/ 3 x3
x3
• Si todos los elementos de una columna entrante, o
candidata a entrar a la base, son negativos… 61
Algunas situaciones especiales
• Múltiples soluciones …
1 2 3 4 5
• Ingresemos x3 a la base
1 0 2 / 3 1/ 3 0 70
(sale x5)
0 1 1/ 3 2 / 3 0 90
00 1/ 3 2 / 3 1 30
0 0 0 5 / 3 0 340
62
Algunas situaciones especiales
• Soluciones degeneradas
1 2 3 4 5
• Ingresemos x3 a la base
1 0 2 / 3 1/ 3 0 70
(sale x5)
0 1 1/ 3 2 / 3 0 90
00 1/ 3 2 / 3 1 0
0 0 0 5 / 3 0 340
63
Algunas situaciones especiales
• Soluciones degeneradas
• Esto puede ocurrir cuando al ingresar una variable a la base, dos
variables básicas se hacen cero simultáneamente, luego
cualquiera de las dos puede salir
• En una solución básica no esta garantizado que todas las
variables básicas sean no nulas
• Esto curre cuando mas de n restricciones (n variables) se activan
para determinar el óptimo
• Para una misma solución real (vértice), existe mas de una forma
de representarla en términos de variables básicas y no básicas:
• Un ejemplo con 5 variables y 3 restricciones:
¿Cuáles son las
x1 10
variables básicas? Si esta solución es la óptima,
x2 0
x3 20 x1 x1 x1 tenemos tres soluciones
básicas óptimas para
x4 0 xB x2 , x3 , x3
representarla
x 0
5
x x x
3 4 5
64
Algunas situaciones especiales
• Problema infactible …
65
Algoritmo Simplex
Determinar una
solución básica xk
factible Inicial x0
k=0
si ¿es xk
óptima?
no
Determinar la
Determine la variable Variable saliente
Terminar
entrante
Determinar la nueva
66
Dualidad en Programación Lineal
3 5
69
Dualidad en Programación Lineal
Max 10 y A 25 yB con y A , yB 0
70
Dualidad en Programación Lineal
71
Dualidad en Programación Lineal
Algunas observaciones:
• El Problema Dual (PD) de un problema de minimización es un problema
de maximización (y viceversa)
• El problema original se conoce como Problema Primal (PP)
• El Dual del PD es el PP
• En el PD hay tantas variables como restricciones del PP
• En el PD hay tantas restricciones como variables del PP
• Cada variable del PD (variable dual) esta asociada exactamente a una
sola restricción del PP
• Cada restricción del PD (variable dual) esta asociada exactamente a una
sola variable del PP
• La matriz de restricciones del PD corresponde a la traspuesta de la Matriz
de restricciones del PP
• Las variables duales son los precios sombra de las restricciones del PP
• Las variables primales son los precios sombra de las restricciones del PD
72
Dualidad en Programación Lineal
Max 10 y A 25 yB
Min 100 x1 80 x2 95 x3
s .a : 2 y A yB 100
s .a : 2 x1 4 x2 3 x3 10
4 y A 2 yB 80
x1 2 x2 5 x3 25
3 y A 5 yB 95
x1 , x2 , x3 0
y A , yB 0
73
Dualidad en Programación Lineal
74
Dualidad en Programación Lineal
x0 y0
75
Relaciones de Dualidad
cT x bT y
Demostración:
Como X es factible del primal A ·x ≤ b (1)
Como Y es factible del Dual AT·y ≥ c (2)
De (1) y (2) se tiene:
c x A y x yT A x yT A x yT b bT y
T
T T
c
cT x bT y
76
Relaciones de Dualidad
Corolario1:
Dado un par de problemas PRIMAL-DUAL, si uno es factible no acotado
(cualquiera de los dos), el otro es infactible.
Demostración:
Supongamos que tenemos un PP no acotado.
Demostraremos que el PD es infactible.
cT x bT y* v* x / Ax b , x 0
Luego, tenemos una cota para el valor de la F.O. del problema primal,
para cualquier solución factible del sistema respectivo, es decir ninguna
solución factible del PP puede tener un valor de la F.O. mayor a v*
Esto contradice que el problema sea no acotado.
En consecuencia, si tenemos un problema no acotado, no será posible
encontrar una solución factible en su respectivo PD. 77
Relaciones de Dualidad
Corolario2:
Sea x* una solución factible del PP, e y* una solución factible del PD.
Si cTx* = bTy*, entonces x* e y* son soluciones óptimas del PP y del
PD, respectivamente.
Demostración:
Sabemos que cT·x ≤ bT·y, para cualquier solución factible del PD y , y
para cualquier solución factible del PP x.
En particular para y*. Luego,
cT x bT y* x / A x b , x 0
Ahora si cTx* = bTy*, entonces:
cT x bT y* cT x* x / A x b , x 0
De este modo, tenemos una solución factible del PP que posee una F.O.
mayor o igual a cualquiera otra solución factible del PP.
Luego x* es una solución óptima del PP.
Similarmente se puede demostrar que y* es una solución óptima del PD.
78
Relaciones de Dualidad
v* cT x* bT y y / AT y c , y 0
¿podremos encontrar una solución y* factible del PD que cumpla… ?
c T x * bT y *
Tomaremos una solución óptima del PP, con una estructura de solución
básica, es decir:
x
x* B para alguna matriz B 1 xB 0
0
¿Es esto siempre posible?
79
Relaciones de Dualidad
T
1
y cB B
* T
y*T cBT B1
Sabemos que:
cr T cT 0 cBT B 1 A I 0 pues estamos en un óptimo
y*T cr
T
B cBT cBT B 1 B 0 y crNT cN T cBT B 1 N 0
cBT B 1 A cT cBT B 1 I 0
T
1
trasponiendo: A cB B
T T
c
AT y* c y *T I 0
T
1
b y
T *
b c B
T
B
T
1
cB B b
T
cB xB c x
T T *
bT y* cT x*
De este modo la solución y* es factible y alcanza el
valor óptimo del PD.
81