Está en la página 1de 18

INVESTIGACION DE OPERACIONES I

Algoritmo simplex para


programas lineales

Profesor: ………
CONTENIDO
1. Introducción
2. Variables de holgura
3. Tablero simplex
4. Solución Básica Factible
Inicial
5. Variable de entrada
6. Variable de salida
7. Cambio de base
8. Tablero de Solución óptima
9. Casos de Minimización

2
Introducción
George Bernard Dantzig [Físico y Matemático]

George Bernard Dantzig fue un profesor de computación,


físico y matemático estadounidense. Su padre era un
matemático ruso que trabajó con Poincaré en París y que
acabó emigrando a Estados Unidos. Dantzig fue
galardonado con diversos premios como, por ejemplo, el
premio de Teoría John Von Neumann, por su trabajo sobre
programación lineal. Falleció en 2005 por diabetes, a la
edad de 90 años.
Cierto día, cuando estudiaba en la Universidad de Berkeley, Dantzig llegó tarde a clase
y se encontró en la pizarra dos problemas estadísticos que el profesor había puesto
como ejemplos de problemas aún no resueltos, pero él pensó que eran problemas de
clase. Aunque le costó más de lo que esperaba, finalmente encontró la solución ya que
al ser trabajos de clase pensó que la solución debía ser asequible. Dantzig entregó los
ejercicios pensando que los entregaba fuera de plazo. Pocos días después, el profesor le
visitó para anunciarle que lo que había resuelto no eran ejercicios de clase sino
problemas que nadie había conseguido resolver y le propuso publicar una de sus
soluciones en una revista científica. 3
Variables de holgura
Max Z= 8 x1 + 12 x2
sujeto a:
4 x1 + 10 x2 ≤ 54
x 1 + x2 ≤ 9
x1 , x2 ≥ 0
Uso de la variables de holgura
4 x1 + 10 x2 ≤ 54 x1 + x2 ≤ 9
4 x1 + 10 x2 + h1 = 54 x1 + x2 + h2 = 9

4 x1 + 10 x2 + h1 = 54
x1 + x2 + h2 = 9
Sistema de ecuaciones lineales no cuadradas
4
Tablero Simplex*
Max Z= 8 x 1 + 12 x 2 + 0 h 1 + 0 h 2
sujeto a:
4 x 1 + 10 x 2 + h 1 = 54
x1 + x2 + h2 = 9
x 1 , x 2, h 1 , h 2 ≥ 0

Función Objetivo: 8 x 1 + 12 x 2 + 0 h 1 + 0 h 2 = Z
Z - 8 x 1 - 12 x 2 + 0 h 1 + 0 h 2 = 0

z x1 x2 h1 h2 LD
1 -8 -12 0 0 0
0 4 10 1 0 54
0 1 1 0 1 9
* George Dantzing 5
Solución básica factible inicial
z x1 x2 h1 h2 LD
1 -8 -12 0 0 0
0 4 10 1 0 54
0 1 1 0 1 9

x1 = 0.0
Solución Inicial
x2 = 0.0
SBFI = SOLUCION BASICA FACTIBLE INICIAL h1 = 54.0
Condición de latencia, todo se dispone al inicio. h2 = 9.0
z0 = 0.0

6
Variable de entrada

Ci z x1 x2 h1 h2 LD
j
1 -8 -12 0 0 0
0 4 10 1 0 54
0 1 1 0 1 9
Maximización Minimización

VE = Mayor de los negativos VE = Mayor de los positivos


(si hay empate, entonces, arbitrario)
Si Cij ≥ 0, Si Cij ≤ 0,
entonces SOLUCION OPTIMA entonces SOLUCION OPTIMA
VE= xk → k= Mayor{-8, -12}={-12}=2 → x2
7
Variable de salida
k=2
z x1 x2 h1 h2 LD
1 -8 -12 0 0 0
0 4 10 1 0 54
aij
0 1 1 0 1 9

VS = Menor de los cocientes de los valores del LDi con aik, para todo i /aik >0

VS = Mínimo{54/10, 9/1}={54/10}= Variable del vector unitario asociado ➔ h1


Si todo los aik <0, entonces la solución es no acotada.
Se aplica tanto para Maximización como para Minimización
8
Cambio de base
VE
z x1 x2 h1 h2 LD
1 -8 -12 0 0 0
VS 0 4 10 1 0 54
0 1 1 0 1 9

Pivote = 1
Ingresa VE y sale VS → el vector asociado a VE será unitario y el vector
asociado a VS será diferente de cero
Aplicar Gauss Jordan: por ejemplo a toda la fila de VS se le divide entre el
valor de la celda del pivote (10), para hacerlo unitario (1).
0 2/5 1 1/10 0 27/5
9
Después de la SBFI, se tiene:

z x1 x2 h1 h2 LD
1 -16/5 0 6/5 0 324/5
0 2/5 1 1/10 0 27/5
0 3/5 0 -1/10 1 18/5
Gauss Jordan para las iteraciones
x1 = 0.0

Primera iteración x2 = 27/5


h1 = 0.0
Mejor solución a partir de la SBFI (SÓLUCION h2 = 18/5
BASICA FACTIBLE INICIAL).
z1 = 324/5

10
Tablero de solución óptima
Finalmente, se tiene:
z x1 x2 h1 h2 LD
1 0 0 0.67 5.33 84.0
0 0 1 -0.17 -0.67 3.0
0 1 0 0.67 1.67 6.0
Gauss Jordan para las iteraciones
x1 = 6.0
x2 = 3.0
Solución óptima h1 = 0.0
Condición máxima; a partir de esta solución, cualquier h2 = 0.0
otra combinación lineal disminuye el valor de Z. z* = 84.0
11
Comparativo con la solución del METODO GRAFICO
x2 Valores óptimos x1 = 6.0
10 x2 = 3.0
9 z* = 84.0
L 2 = x 1 + x 2≤ 9
8

7 h1 = 0.0
6 h2 = 0.0
5
z* = 84; x 1 =6, x 2 =3
4

2
L 1 = 4 x 1 + 10 x 2 ≤ 54
1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
x1
z 0= 0 z = 8 x 1 + 12 x 2

z = 24 x 1 =3; x 2 =0

12
METODO SIMPLEX

• Este método fue elaborado por Dr. George


Dantzig en 1,947. Trabaja a través de cuadros
sucesivos, en el cuadro inicial se tiene una
solución básica factible y en los cuadros
sucesivos se obtiene nuevas soluciones básicas
que van mejorando el valor de la función
objetivo, todo esto hasta llegar a la solución
óptima.
• MAX c1x1 + c2x2 + . . . + cnxn
• s.a:
• a11x1 + a12x2 + . . . + a1nxn + s1 = b1
• a21x1 + a22x2 + . . . + a2nxn + s2 = b2
•: : : : :
• am1x1 + am2x2 + . . . + amnxn + sm = bm
• x1, x2, . . . ,xn, s1, s2, . . . , sm >= 0

• s1, s2, . . . , sm son variables de holgura.


Algoritmo Simplex
Supongamos que se esta maximizando la función objetivo.

ETAPA INICIAL: Pasar el problema a su forma estándar y formar la tabla


inicial.

PASO 1:

1. ¿Se llego a la solución optima?


Si no existen costos reducidos negativos entonces fin del proceso, se ha
llegado a la solución optima.

2. Selección de la variable que entra a la base:


− Entra a la base aquella variable que tenga el costo reducido mas
negativo.
− La columna de dicha variable se denomina columna PIVOT.
PASO 2:

Selección de la variable que sale de la base aplicando la prueba del cociente


mínimo.

Prueba del cociente mínimo:

1. Se eligen los coeficientes de la columna pivote que son estrictamente


positivos (>0).
2. Se divide cada coeficiente entre el elemento del lado derecho en el
mismo renglón.
3. Se identifica el renglón que tiene la menor de estas razones.
4. La variable básica para ese renglón es la variable básica que sale, por lo
que se sustituye esta variable por la variable básica entrante en la
columna de la variable básica de la siguiente tabla.

El renglón que corresponde a la variable saliente de la base se le denomina


FILA PIVOT, y se denomina PIVOT al elemento que se encuentra en la
intersección de la fila con la columna PIVOT.
PASO 3:

Formación del nuevo cuadro


− Convertir el PIVOT en 1
− Los demás elementos de la columna PIVOT convertirlos en ceros.
− Volver al paso 1.

Prueba de Optimalidad:

La solución BF es optima si y solo si todos los coeficientes en el renglón “cero”


son no negativos (>= 0). Si es así el proceso se detiene, de otra manera se
sigue a una siguiente iteración para obtener la siguiente solución BF.

También podría gustarte