Investigación de Operaciones 1

Anuncio
Investigación de Operaciones 1
Clase 13
Pablo Andrés Maya
Junio, 2014
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
1 / 28
El algoritmo Simplex
Resuelva el siguiente problema haciendo uso del algoritmo Simplex
max z = 40x1 + 60x2
s.a.
2x1 + x2 ≤ 70
x1 + x2 ≤ 40
x1 + 3x2 ≤ 90
x1 , x2 ≥ 0
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
2 / 28
El algoritmo Simplex es un procedimiento algebraico que generaliza los
conceptos geométricos que ya hemos visto
Objetivo
Definir y describir el algoritmo Simplex desde un punto de vista algebraico
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
3 / 28
Programa lineal
Considere el sigiente programa lineal en forma estandar
max z = cT x
s.a.
Ax = b
x≥0
 
 

c1
x1
a11
c2 
x2 
 a21
 
 

c =  . ,x =  . ,A =  .
 .. 
 .. 
 ..
cn
Pablo Andrés Maya ()
xn
a12
a22
am1 am2
Investigación de Operaciones 1

 
a1n
b1



a2n 
 b2 
 , b =  .. 

 . 
. . . amn
bm
...
...
Junio, 2014
4 / 28
Algoritmo Simplex revisado
Usualmente n > m, y asumiremos que rango(A, b) = rango(A) = m
Reorganizamos las columnas de A de modo que:
Las primeras m columnas son linealmente independientes y forman la
base B
Las restantes n − m columnas forman la matriz N
El conjunto de variables tambien puede reordenarse de modo que xB
sean las variables asociadas a las columnas en B y xN sean las
variables asociadas a las columnas en N
x
x= B
xN
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
5 / 28
Algoritmo Simplex revisado
En una solución básica las variables xN toman el valor de cero y el
valor de las variables xB se encuentra comno la solución del sistema
BxB = b. Es decir
−1 x
B b
x= B =
xN
0
La solución es básica factible si ademas xB = B−1 b ≥ 0
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
6 / 28
Ejemplo
Considere el siguiente programa lineal
max z = 3x1 + x2
s.a.
− x1 + x2 + x3 = 2
x1 + x2 + x4 = 5
x1 + 2x2 + x5 = 6
xi ≥ 0∀i = 1, 2, 3, 4, 5
 
 
3
x1


 
1
x2 
−1 1 1 0 0
2
 
 
 , x = x3  , A =  1 1 0 1 0 , b = 5
0
c=
 
 
0
x4 
1 2 0 0 1
6
0
x5
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
7 / 28
Ejemplo
Sea


−1 1 1
B =  1 1 0
1 2 0
x=
Pablo Andrés Maya ()
xB
xN
   
x1
4
x
0
, xN = 4 =
, xB = x2  = 1
x5
0
x3
5
Investigación de Operaciones 1
Junio, 2014
8 / 28
Ejemplo
Sea


−1 1 0
B =  1 1 0
1 2 1
x=
Pablo Andrés Maya ()
xB
xN

  
x1
1.5
x
0
, xN = 3 =
, xB = x2  =  3.5 
x4
0
x5
−2.5
Investigación de Operaciones 1
Junio, 2014
9 / 28
Pregunta
Cúal es el numero máximo de soluciones básicas de este problema?
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
10 / 28
Equivalente canonico
Re-escribamos el sistema Ax = b en términos de las variables no básicas:
xB = B−1 b − B−1 NxN
Reescribamos también la función objetivo
T
z = cT x = cT
B xB + cN xN
−1
T
T −1
z = cT
B B b + cN − cB B N xN
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
11 / 28
Notación
Consedere una SBF definida por la base B. Sea:
IB
IN
b = B−1 b
N = B−1 N
z = cT
Bb
T
T −1
cN = cT
N − cB B N
Pablo Andrés Maya ()
Conjunto de indices asociados a las variables básicas
Conjunto de indices asociados a las variables NO básicas
Vector de recursos actualizado
Matriz de columnas no básicas actualizada
Valor de la FO actualizado
Coeficiente actualizado de las variables no básicas
(Costos reducidos)
Investigación de Operaciones 1
Junio, 2014
12 / 28
Re-escribamos el programa lineal
max z = z + cT
N xN
s.a.
xB = b − NxN
x≥0
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
13 / 28
Re-escribamos el programa lineal
X
max z = z +
c j xj
j∈IN
s.a.
xB = b −
X
aj xj
j∈IN
x≥0
Podemos visualizar el efecto que genera en la función objetivo y en las
variables básicas el modificar alguna variable no básica
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
14 / 28
Preguntas
Optimalidad
Cómo determinar si una SBF es óptima?
Búsqueda
A cúal SBF adjacente debemos movernos?
Cúal variable no básica debe entrar a la base? (Costos Reducidos)
Cúal valor debe tomar la variable entrante y cual variable básica debe
salir de la base? (Criterio de la razón minima)
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
15 / 28
El algoritmo Simplex
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
16 / 28
Ejercicio
Resuelva el siguiente programa lineal
max z = 2x1 + 3x2 + 7x3 + 9x4
s.a.
x1 + x2 + x3 + x4 ≤ 9
x1 + 2x2 + 4x3 + 8x4 ≤ 24
xi ≥ 0 ∀i = 1 . . . 4
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
17 / 28
Ejercicio
El problema en forma estandar
max z = 2x1 + 3x2 + 7x3 + 9x4
s.a.
x1 + x2 + x3 + x4 + x5 = 9
x1 + 2x2 + 4x3 + 8x4 + x6 = 24
xi ≥ 0 ∀i = 1 . . . 6
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
18 / 28
Ejercicio
Iteración 0
IB = {5, 6} , IN = {1, 2, 3, 4}
 
2
3
1 0
1 1 1 1
0

B=
,N =
, CB =
, CN = 
7
0 1
1 2 4 8
0
9
1 0
1 1 1 1
B−1 =
,N =
0 1
1 2 4 8
 
0
0
9

xB = b =
, xN = 
0
24
0
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
19 / 28
Ejercicio
Iteración 0
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN
= 2
3
7
9 − 0
T
CN = 2
Pablo Andrés Maya ()
1
0
0
3
7
Investigación de Operaciones 1
0 1
1 1
1
2
1
4
1
8
9
Junio, 2014
20 / 28
Ejercicio
Iteración 0
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN
= 2
3
7
9 − 0
T
CN = 2
1
0
0
3
7
0 1
1 1
1
2
1
4
1
8
9
x4 entra a la base
A cual SBF adjacente movernos (Criterio de la razón minima)
min
i∈IB |aik >0
Pablo Andrés Maya ()
bi
aik
= min
Investigación de Operaciones 1
9 24
,
1 8
Junio, 2014
20 / 28
Ejercicio
Iteración 0
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN
= 2
3
7
9 − 0
T
CN = 2
1
0
0
3
7
0 1
1 1
1
2
1
4
1
8
9
x4 entra a la base
A cual SBF adjacente movernos (Criterio de la razón minima)
min
i∈IB |aik >0
bi
aik
= min
9 24
,
1 8
x6 sale de la base
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
20 / 28
Ejercicio
Iteración 1
IB = {4, 5} , IN = {1, 2, 3, 6}
 
2
3
1 1
1 1 1 0
9

B=
,N =
, CB =
, CN = 
7
8 0
1 2 4 1
0
0
0 1/8
1/8 1/4 1/2 1/8
B−1 =
,N =
1 −1/8
7/8 3/4 1/2 −1/8
 
0
0
3

xB = b =
, xN = 
0
6
0
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
21 / 28
Ejercicio
Iteración 1
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN = 2
3
7
0 − 9
T
CN = 7/8
Pablo Andrés Maya ()
0
1/8 1/4 1/2
7/8 3/4 1/2
3/4
5/2
Investigación de Operaciones 1
1/8
−1/8
−9/8
Junio, 2014
22 / 28
Ejercicio
Iteración 1
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN = 2
3
7
0 − 9
T
CN = 7/8
0
1/8 1/4 1/2
7/8 3/4 1/2
3/4
5/2
1/8
−1/8
−9/8
x3 entra a la base
A cual SBF adjacente movernos (Criterio de la razón minima)
min
i∈IB |aik >0
Pablo Andrés Maya ()
bi
aik
= min
Investigación de Operaciones 1
6
3
,
1/2 1/2
Junio, 2014
22 / 28
Ejercicio
Iteración 1
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN = 2
3
7
0 − 9
T
CN = 7/8
0
1/8 1/4 1/2
7/8 3/4 1/2
3/4
5/2
1/8
−1/8
−9/8
x3 entra a la base
A cual SBF adjacente movernos (Criterio de la razón minima)
min
i∈IB |aik >0
bi
aik
= min
6
3
,
1/2 1/2
x4 sale de la base
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
22 / 28
Ejercicio
Iteración 2
IB = {3, 5} , IN = {1, 2, 4, 6}
 
2
3
1 1
1 1 1 0
7

B=
,N =
, CB =
, CN = 
9
4 0
1 2 8 1
0
0
0 1/4
1/4 1/2 2
1/4
B−1 =
,N =
1 −1/4
3/4 1/2 −1 −2/8
 
0
0
6

xB = b =
, xN = 
0
3
0
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
23 / 28
Ejercicio
Iteración 2
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN = 2
3
9
0 − 7
T
CN = 2/8
Pablo Andrés Maya ()
0
1/4 1/2
3/4 1/2
−2/4
−5
Investigación de Operaciones 1
2
−1
1/4
−2/8
−14/8
Junio, 2014
24 / 28
Ejercicio
Iteración 2
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN = 2
3
9
0 − 7
T
CN = 2/8
0
1/4 1/2
3/4 1/2
−2/4
−5
2
−1
1/4
−2/8
−14/8
x1 entra a la base
A cual SBF adjacente movernos (Criterio de la razón minima)
min
i∈IB |aik >0
Pablo Andrés Maya ()
bi
aik
= min
Investigación de Operaciones 1
3
6
,
1/4 3/4
Junio, 2014
24 / 28
Ejercicio
Iteración 2
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN = 2
3
9
0 − 7
T
CN = 2/8
0
1/4 1/2
3/4 1/2
−2/4
−5
2
−1
1/4
−2/8
−14/8
x1 entra a la base
A cual SBF adjacente movernos (Criterio de la razón minima)
min
i∈IB |aik >0
bi
aik
= min
3
6
,
1/4 3/4
x5 sale de la base
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
24 / 28
Ejercicio
Iteración 3
IB = {1, 3} , IN = {2, 4, 5, 6}
 
3
9
1 1
1 1 1 0
2

B=
,N =
, CB =
, CN = 
0
1 4
2 8 0 1
7
0
4/3 −1/3
2/3 −4/3 4/3 −1/3
−1
B =
,N =
−1/3 1/3
1/3 7/3 −1/3 1/3
 
0
0
4

xB = b =
, xN = 
0
5
0
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
25 / 28
Ejercicio
Iteración 3
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN
= 3
9
0
0 − 2
T
CN = −2/3
Pablo Andrés Maya ()
2/3
7
1/3
−14/3
−4/3
7/3
−1/3
Investigación de Operaciones 1
4/3
−1/3
−1/3
1/3
−5/3
Junio, 2014
26 / 28
Ejercicio
Iteración 3
T
T −1
La solución es óptima? (CN = CT
N − CB B N)
T
CN
= 3
9
0
0 − 2
T
CN = −2/3
2/3
7
1/3
−14/3
−4/3
7/3
−1/3
4/3
−1/3
−1/3
1/3
−5/3
La solución es óptima
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
26 / 28
Ejercicio
Resuleva el siguiente programa lineal
max z = 2x1 + x2 − x3 + 5x4
s.a.
x1 + x2 + 2x3 + x4 ≤ 6
x1 + 3x2 − x3 + 5x4 ≤ 15
xi ≥ 0 ∀i = 1 . . . 4
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
27 / 28
Ejercicio
Resuleva el siguiente programa lineal
min z = 4x1 − x2
s.a.
− x1 + x2 ≥ 2
x1 + 2x2 ≥ 6
x1 , x2 ≥ 0
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
28 / 28
Descargar