Investigación de Operaciones 1

Anuncio
Investigación de Operaciones 1
Clase 16
Pablo Andrés Maya
Junio, 2014
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
1 / 13
El algoritmo Simplex
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
2 / 13
Pregunta básica
Pregunta
Cómo determinar una solución básica factible desde la cual puede iniciar el
método Simplex?
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
3 / 13
Definicion del problema
Pregunta
Por qué no siempre es sencillo encontrar una SBF inicial?
Encontrar una SBF inicial corresponde a encontrar una base B que
provea dicha solución
Una cota máxima del número de bases que pueden conformarse a
partirde la matriz de restricciones, la cual es de dimensiones m × n,
n
es m
La base B más sencilla es la matriz Identidad.
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
4 / 13
Programa lineal
Considere el siguiente programa lineal
max z = cT x
s.a.
Ax ≤ b
x≥0
max z =
Pablo Andrés Maya ()
c 1 x1
a11 x1
a21 x1
+
+
+
c 2 x2
a12 x2
a22 x2
am1 x1
+
am2 x2
...
...
...
...
...
+
+
+
c n xn
a1n xn
a2n xn
≤
≤
b1
b2
+
amn xn
≤
bm
Investigación de Operaciones 1
Junio, 2014
5 / 13
Programa lineal
max z =
c 1 x1
a11 x1
a21 x1
am1 x1
...
...
...
...
...
+
+
+
cn xn
a1n xn
a2n xn
+
amn xn
+
xs1
+
xs2
+
xs m
=
=
b1
b2
=
bm
max z = cT x
s.a.
Ax + Ixs = b
x≥0
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
6 / 13
Programa lineal
En general, si en el programa lineal
max z = cT x
s.a.
Ax = b
x≥0
La matriz A contiene una matriz identidad, entonces una SBF inicial se
obtiene haciendo B = I
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
7 / 13
Variables artificiales
Suponga que el sistema
max z = cT x
s.a.
Ax = b
x≥0
No contiene una matriz identidad, esta puede crearse haciendo uso de
variables articiales
a11 x1
a21 x1
am1 x1
...
...
...
...
Pablo Andrés Maya ()
+
+
a1n xn
a2n xn
+
amn xn
+
xa 1
+
Investigación de Operaciones 1
xa 2
+
xam
=
=
b1
b2
=
bm
Junio, 2014
8 / 13
Métodos de solución
Haciendo uso de variables artificiales definiremos dos métodos para crear
una SBF inicial
1
Método de las dos fases
2
Método de Penalización o la gran M
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
9 / 13
Métodos de las dos fases
Fase 1: Resuelva el siguiente programa lineal
min z = 1T xa
s.a.
Ax + Ixa = b
x≥0
Dos casos son posibles:
1
2
z ∗ > 0. No existe una SBF. (Por qué)
z ∗ = 0. Existe una SBF, asociada la base B.
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
10 / 13
Métodos de las dos fases
Fase 2: Resuelva el programa lineal original
max z = CT x
s.a.
Ax = b
x≥0
partiendo de la SBF definida por la base B encontrada en la fase 1 del
método
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
11 / 13
Métodos de penalización
Resuelva el siguiente programa lineal
max z = CT x − M1T xa
s.a.
Ax + Ixa = b
x≥0
Tres casos son posibles
1
2
3
Encontrar una solución óptima (x∗ , xa ∗ ) en la cual xa = 0. La solución
óptima del problema original es x∗ .
Encontrar una solución óptima (x∗ , xa ∗ ) en la cual xa =
6 0. El problema
original no tiene SBF.
En alguna iteración del método simplex la variable xk que entra a la
base puede crecer indefinidamente.
Si xa = 0, el problema no tiene solución ótima finita
Si xa =
6 0, el problema no tiene SBF
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
12 / 13
Ejercicio
Considere el siguiente programa lineal
min z = 3x1 + 2x2 + 4x3 + 8x4
s.a.
x1 + 2x2 + 5x3 + 6x4 ≥ 8
− 2x1 + 5x2 + 3x3 − 5x4 ≤ 3
xi ≥ 0 ∀i = 1, 2, 3, 4
Encunetre una SBF inicial usando:
1
El método de las dos fases
2
El método de penalización
Pablo Andrés Maya ()
Investigación de Operaciones 1
Junio, 2014
13 / 13
Descargar