Академический Документы
Профессиональный Документы
Культура Документы
Mtodo Simplex
Metodologa o algoritmo que permite solucionar modelos de programacin lineal con n variables de decisin. Mtodo algebraico sistemtico que examina esquinas o vrtices de un conjunto factible de PL en busca de una solucin ptima. Procedimiento iterativo que permite ir mejorando solucin a cada paso; proceso concluye cuando no es posible seguir mejorando ms dicha solucin.
2
Mtodo Simplex
Facilita obtencin de solucin ptima mediante elaboracin de un criterio que permite saber si una solucin bsica es o no ptima y, en caso contrario, da un procedimiento de aproximacin a dicho ptimo.
En un problema de maximizacin, conviene incrementar participacin de una actividad en plan, en tanto ingreso marginal sea mayor que costo marginal en que se incurra.
3
Mtodo Simplex
Partiendo de una solucin factible bsica inicial (vrtice), se pasa a otra solucin bsica (vrtice contiguo) en que valor de funcin objetivo sea mayor que anterior, y as sucesivamente hasta llegar a una solucin bsica (vrtice) en que valor de Z sea mximo (solucin ptima). En algunos casos, variables de holgura sirven para determinar solucin inicial, tomando: x = bi, i = 1, ..., m siempre que componentes del vector de disponibilidades de recursos sean no negativas, esto es bi 0.
Mtodo Simplex
En caso que alguna restriccin fuera de igualdad o algn bi < 0, variables de holgura no sirven, se agregan variables artificiales. Mtodo algebraico para determinacin de solucin factible ptima de un problema de PL con cualquier nmero de variables de decisin. Requiere que problema est en forma estndar: todas las restricciones deben ser de igualdad y todas las variables, no negativas. Idea bsica: partiendo de un vrtice de regin factible, buscar otro adyacente en que se mejore valor de funcin objetivo.
7
Lo comn es que no exista en conjunto de restricciones un grupo de variables que acte como solucin bsica inicial. Para resolver este problema se hace uso de denominadas variables artificiales. Regla: se aade a cada restriccin, si es necesario, una variable artificial Ui, con coeficiente unitario y de signo igual al del segundo miembro (bi) de restriccin correspondiente.
8
Mtodo Simplex
Est diseado de manera que funcin objetivo no
Cada vrtice del conjunto restringido de PL puede ser representado en forma algebraica como una clase particular de solucin del conjunto de ecuaciones lineales.
10
m variables nulas).
12
Tablas Simplex
Se diferencia variables bsicas de las no bsicas. Se muestra en forma ordenada coeficientes de funcin objetivo y de restricciones en cada tabla. En cada iteracin se ir cambiando de base, con lo cual valores que aparecern en tablas sern diferentes en forma, pero en fondo seguirn siendo funciones originales. Funcin objetivo solo est expresada en funcin de variables no bsicas, por tanto en cada tabla, coeficientes de funcin objetivo de variables bsicas debern ser cero.
13
Tablas simplex
Valores de coeficientes de columna correspondiente a variables bsicas en cada iteracin debern ser cero a excepcin del valor de interseccin de columna de variable bsica con fila de misma variable que tiene valor 1 (porque se expresan variables bsicas en funcin de las no bsicas), formando una matriz de identidad. Para identificar si ya se est en ptimo se verifica si todas los coeficientes de funcin objetivo de ltima tabla es negativa para caso de maximizacin; en caso de haber algn coeficiente positivo an se puede mejorar.
14
poliedro, entonces puede calcularse valor objetivo en esos puntos, y tomar el mejor como solucin ptima. vrtice a vrtice adyacente hasta que reconoce un vrtice ptimo.
15
Tenazas
30
25
(1000)
Acero
Solucin
ptima T Demanda
20
15 10 5 0
Ensamblaje
?
15
16
Llaves
Moldeado
30
(1000)
Tenazas
30
25
(1000) Acero
20
15 10 5 0 15
17
Ensamblaje Moldeado 30
Llaves (1000)
Mtodo Simplex
Solucin ptima de este modelo de PL: definida por restricciones disponibilidad de acero y mquina de moldeado i.e., se calcula resolviendo 1.5 L + T = 27 L + T = 21 L = 12; T = 9; Beneficio = 130*12+100*9 = $2,460
18
Ejemplo
Se resolver mediante mtodo Simplex siguiente problema:
Maximizar Z = f(x,y) = 3x + 2y Sujeto a:
2 X Y 18 3 X Y 24
2 X 3Y 42
siempre que X 0, Y 0 Se consideran siguientes fases:
20
Ejemplo
1. Convertir desigualdades en igualdades: Se introducen variables de holgura (H, S, D) por cada una de las restricciones, para convertirlas en igualdades, resultando sistema de ecuaciones lineales: 2x + y + H = 18 2x + 3y + S = 42 3x + y + D = 24
21
Ejemplo
2. Igualar funcin objetivo a cero: - 3x 2y + z = 0 Variables de holgura se agregan para partir del supuesto que x = 0 e y = 0 y cumplir con condicin inicial para aplicar mtodo Simplex. Funcin objetivo puede ser igualada con z + 2y + 3x = 0, eso es indistinto.
22
Ejemplo
3. Escribir tabla inicial Simplex: En columnas aparecern todas las variables del problema y, en filas, coeficientes de igualdades obtenidas, una fila para cada restriccin y ltima fila con coeficientes de funcin objetivo:
Base Variable de decisin
Variable de holgura
Valores solucin
X
H 2
Y
1
H
1
S
0
D
0 18
S
D
2
3
3
1
0
0
1
0
0
1
42
24
-3
-2
0
23
Ejemplo
4. Encontrar variable de decisin que entra en base y variable de holgura que sale de base: Para escoger variable de decisin que entra en base, debe fijarse en ltima fila, la de coeficientes de funcin objetivo, y se escoge variable con coeficiente negativo mayor (en valor absoluto). En presente caso, variable x de coeficiente 3.
24
Ejemplo
Si existiesen 2 ms coeficientes iguales que cumplan condicin anterior, entonces se elige uno cualquiera de ellos. Si en ltima fila no existiese ningn coeficiente negativo, significa que se ha alcanzado solucin optima, por tanto, lo que va a determinar final del proceso de aplicacin del mtodo Simplex, es que en ltima fila no haya elementos negativos.
25
Ejemplo
Columna de variable que entra en base se llama columna pivote. Para encontrar variable de holgura que tiene que salir de base, se divide cada trmino de ltima columna (valores solucin) por trmino correspondiente de columna pivote, siempre que estos ltimos sean mayores que cero, en presente caso: 18/2 = 9, 42/2 = 21, 24/3 = 8
Si hubiese algn elemento menor o igual que cero no se hace dicho cociente. En caso de que todos los elementos fuesen menores o iguales a cero, entonces se tendra una solucin no acotada y no se puede seguir.
26
Ejemplo
Columna de variable que entra en base se llama columna pivote. Para encontrar variable de holgura que tiene que salir de base, se divide cada trmino de ltima columna (valores solucin) por trmino correspondiente de columna pivote, siempre que estos ltimos sean mayores que cero. en nuestro caso: 18/2 = 9, 42/2 = 21, 24/3 = 8 Si hubiese algn elemento menor o igual que cero no se hace dicho cociente. En caso de que todos los elementos fuesen menores o iguales a cero, entonces tendramos una solucin no acotada y no se puede seguir. Trmino de columna pivote que en divisin anterior de lugar al menor cociente positivo, el 3, ya que 8 es el menor, indica fila de variable de holgura que sale de base, D. Esta fila se llama fila pivote.
27
Ejemplo
Trmino de columna pivote que en divisin anterior de lugar al menor cociente positivo, 3, ya que 8 es el menor, indica fila de variable de holgura que sale de base, D. Esta fila se llama fila pivote. Si al calcular cocientes, 2 ms son iguales, indica que cualquiera de variables correspondientes pueden salir de base. En interseccin de fila pivote y columna pivote se tiene elemento pivote.
28
Ejemplo
5.Encontrar coeficientes de nueva tabla Nuevos coeficientes de x se obtienen dividiendo todos los coeficientes de fila D por pivote operacional, 3, que es el que hay que convertir en 1. A continuacin, mediante reduccin gaussiana se hace ceros, restantes trminos de su columna, con lo que se obtiene nuevos coeficientes de otras filas incluyendo los de funcin objetivo Z.
29
Ejemplo
Tambin se puede hacer utilizando siguiente esquema: Fila del pivote: Nueva fila del pivote = (vieja fila del pivote)/(pivote) Resto de filas: Nueva fila = (vieja fila) (coeficiente de vieja fila en columna de variable entrante)*(nueva fila del pivote)
Vieja fila de S 2 coeficiente 2 * nueva fila pivote 1 = nueva fila de s 0 3 2 * 1/3 = 7/3
30
0 2 * 0 = 0
1 2 * 0 = 1
0 2 * 1/3 = -2/3
42 2 * 8 = 26
Ejemplo
Base Variable de decisin Variable de holgura Valores solucin
H
S X Z
X 0 0 1 0
H 1 0 0 0
S 0 1 0 0
2
26 8 24
Como en elementos de ltima fila hay uno negativo, -1, significa que no se ha llegado todava a solucin optima. Hay que repetir proceso: A. Variable que entra en base es y, por ser variable que corresponde al coeficiente 1.
31
Ejemplo
B. Para calcular variable que sale, se divide trminos de ltima columna entre trminos correspondientes de nueva columna pivote: 2/1/3 = 6, 26/7/3 = 78/7 y 8/1/3 = 8 y como menor cociente positivo es 6, se tiene que variable de holgura que sale es H. C. Elemento pivote, que ahora hay que hacer 1, es 1/3. Operando de forma anloga a anterior se obtiene tabla:
Base Variable de decisin Variable de holgura Valores solucin
Y S X Z
X 0
0
Y 1
0
1 0
0 0
H 3 -7 -1 3
32
S 0 0 0 0
D -2 4 1 -1
6 12 6 30
Ejemplo
Como en elementos de ltima fila hay uno negativo, -1, significa que no se ha llegado todava a solucin ptima. Hay que repetir proceso: A. Variable que entra en base es D, por ser variable que corresponde al coeficiente 1. B. Para calcular variable que sale, se divide trminos de ltima columna entre trminos correspondientes de nueva columna pivote: 6/(-2) = -3, 12/4 =3, y 6/1 = 6 y como menor cociente positivo es 3, se tiene que variable de holgura que sale es s.
C. Elemento pivote, que ahora debe hacerse 1, es 4. Se obtiene siguiente tabla:
33
Ejemplo
Base Y Variable de decisin Variable de holgura Valores solucin
X 0 0
1 0
Y 1 0
0 0
H -1/2 -7/4
-3/4 5/4
S 0 0
0 0
D 0 1
0 0
12
D
X Z
3
3 33
Como todos los coeficientes de fila de funcin objetivo son positivos, se ha llegado a solucin ptima. Solucin ptima viene dada por valor de Z en columna de valores solucin, en este caso: 33. En misma columna puede verse vrtice donde se alcanza, observando filas correspondientes a variables de decision que han entrado en la base: D (3,12).
34
Otro ejemplo
Un fabricante de muebles que nicamente elabora dos productos, escritorios y sillas, tiene cuatro Tiempo requerido departamentos: Tiempo
Dpto.
Sillas (h/silla)
Escritorios (h/escrit.)
Corte
Armado Tapicera Cubiertas
1
1 1 0
2
1 0 1
Contribucin al costo fijo y a utilidad de cada silla es de $20 y la de cada escritorio $50.
35
Otro ejemplo
Variables de decisin
X1 = Cantidad de sillas a fabricar. X2 = Cantidad de escritorios a fabricar.
Max Z = 20X1 + 50X2 Sujeto a: X1 + 2X2 120 (corte)
X1 + X1
X2 90 70 X2 50
X1, X2 0
36
Otro ejemplo
Solucin bsica
Agregar variables de holgura Si a cada restriccin para convertir en ecuaciones:
X1 + 2X2 + S1
X1 + X2 X1 + S2
= 120
= 90 + S3 = 70
X2
+ S4 = 50
Otro ejemplo
Igualando a cero dos de las variables se obtiene un sistema cuadrado, que tiene una sola solucin a la que se le denomina Solucin bsica. A variables que se X1 + 2X2 + S1 = 120 igualan a cero se X1 + X2 + S2 = 90 les llama variables noX1 + S3 = 70 bsicas. X2 + S4 = 50
Por ejemplo:
S1 = 0 S3 = 0
38
X1 = 70 X2 = 25
S2 = - 5 S4 = 25
Otro ejemplo
Puede igualarse a cero otro cualquier par de ecuaciones y se obtendr otra solucin bsica. Cuantas soluciones bsicas puede formarse?
Cn
= n!/m!(n-m)!
6 2 6! = = 15 2!(4!)
N = Nmero de variables M = Nmero de ecuaciones N-M = Nmero de variables que se escogen = cero Cuntas posibles elecciones son?
39
Otro ejemplo
Solucin bsica factible
Es una solucin bsica cuyas variables son todas no-negativas.
Asociado con cada solucin bsica factible
Otro ejemplo
Tabla inicial
Algoritmo Simplex parte de una solucin bsica factible en la que todas las variables reales (tales como X1 y X2) se igualan a cero.
X1 + 2X2 + S1 X1 + X2 X1 X2 + S2 + S3 = 120 = 90 = 70
41
X1 = 0; X2 = 0 S1 =120 S2 = 90 S3 =70 S4 = 50
+ S4 = 50
Otro ejemplo
En forma tabular:
VB X1 X2 S1 S2 S3 S4 Valor
Corte
Armado Tapicera
S1 S2 S3 S4
1
1 1
2
1 0
1
0 0
0
1 0
0
0 1
0
0 0
120
90 70
Cubiertas
50
Otro ejemplo
X2 X1 + X2 90 X1 70
C
80
60
X2 50
40 20 Regin Factible
| | | | |
D E F
X1 + 2X2 120
20
40
43
60
80
100
120
X1
Otro ejemplo
Esta tabla dice que
no se est produciendo
( X1 = 0 y X2 = 0 ) utilidad es cero
Otro ejemplo
Por tanto se debe incluir alguna variable de decisin en base y sacar alguna variable de holgura
Se cambia as de
Otro ejemplo
CJ
CB
Corte Armado
Tapicera
20
VB S1 S2 S3 S4 ZJ
(CJ - ZJ)
50 X2
2 1 0 1 0 50
46
0 S1
1 0 0 0 0 0
0 S2
0 1 0 0 0 0
0 S3
0 0 1 0 0 0
0 S4
0 0 0 1 0 0
X1
1 1 1 0 0 20
Valor
120 90 70 50 0
0 0 0
Cubiertas 0
Otro ejemplo
Columnas de variables ZJ Representa utilidad perdida al agregar una unidad de esta variable en solucin Representa utilidad neta (ganada menos perdida) al agregar una unidad de esta variable en solucin
47
(CJ-ZJ)
Otro ejemplo
Procedimiento
1. Determinar cul variable
48
Otro ejemplo
2. Determinar cul variable
Dividir cada cantidad en columna valor entre nmero correspondiente en columna de variable de entrada. Nmero ms pequeo (positivo) da mximo nmero de unidades de variable que pueden agregarse en solucin. (rengln pivote)
49
Otro ejemplo
3. Calcular nuevos valores del rengln Pivote.
4. Calcular nuevos valores para resto
de renglones.
5. Calcular renglones de ZJ y (CJ - ZJ). o Si todos los nmeros en rengln (CJ - ZJ) son 0, se llega a solucin ptima. o Si NO es este el caso, regresar al paso 1.
50
Otro ejemplo
CJ CB 0 0 20 50 X2 2 Tabla 1 0 0 S1 1 S2 0 0 S3 0 0 S4 0 Valor 120 120/2=60
VB
S1 S2 S3 S4 ZJ
(CJ - ZJ)
X1 1
1
1 0 0 20
1
0 1 0 50
0
0 0 0 0
51
1
0 0 0 0
0
1 0 0 0
0
0 1 0 0
90
70 50 0
90/1=90
70/0 = 50/1=50
0
0
Otro ejemplo
CJ CB 0 0 20 50 X2 0 Tabla 2 0 0 S1 1 S2 0 0 S3 0 0 S4 -2 Valor 20
VB
S1 S2 S3 X2 ZJ
X1 1
1
1 0 0
0
0 1 50 0
52
0
0 0 0 0
1
0 0 0 0
0
1 0 0 0
-1
0 1 50 -50
40
70 50 2500
0
50
(CJ - ZJ) 20
Otro ejemplo
Interpretacin
Tabla Simplex tiene dos matrices
53
Otro ejemplo
VB Corte Armado Tapicera Cubiertas S1 S2 S3 X2 X1 1 1 1 0 Valor 20 40 70 50
Fabricar una unidad de X1 exige consumir 1 hora de corte, 1 hora de armado y 1 hora de tapicera. No requiere sacrificar unidades de X2 (escritorios a fabricar)
54
Otro ejemplo
VB S4 -2 -1 0 Valor 20 40
Corte
Armado Tapicera
S1 S2
S3
X2
70
50
Cubiertas
Cada unidad de S4 requiere sacrificar 1 unidad de X2 (escritorios a fabricar) y libera 2 horas de corte y 1 hora de armado.
55
Otro ejemplo
VB Corte Armado Tapicera Cubiertas S1 S2 S3 X2 ZJ Valor 20 40 70 50 2500 Horas de corte sobrantes Horas de armado sobrantes Horas de tapicera sobrantes Fabricacin de escritorios Utilidad como resultado de mezcla de produccin.
Otro ejemplo
X2 80 X1 + X2 90 X1 70
C
60
X2 50
40
20
Regin Factible
| | | | | | |
E
F
X1 + 2X2 120
20
40
57
60
80
100
120
X1
Otro ejemplo
CJ CB 0 0 20 50 X2 0 Tabla 2 0 0 S1 1 S2 0 0 S3 0 0 S4 -2 Valor 20 20/1=20
VB
S1 S2 S3 X2 ZJ
X1 1
1
1 0 0
0
0 1 50 0
0
0 0 0 0
58
1
0 0 0 0
0
1 0 0 0
-1
0 1 50 -50
40
70 50 2500
40/1=40
70/1=70 50/0=
0
50
(CJ - ZJ) 20
Otro ejemplo
CJ CB 20 0 0 50 VB X1 S2 S3 X2 ZJ
(CJ - ZJ)
20 X1
50 X2
Tabla 3 0 0
S1 S2
0 S3
0 S4 Valor
1
0 0 0 20 0
0
0 0 1 50 0
59
1
-1 -1 0 20 -20
0
1 0 0 0 0
0
0 1 0 0 0
-2
1 2 1 10 -10
20
20 50 50 2900
Otro ejemplo
X2 80 X1 + X2 90
X1 70
C
60
X2 50
40
20 Regin Factible
| | | | |
D E
X1 + 2X2 120
20
40
60
60
80
100
120
X1
(-M) (+M)
Plomo
Mineral N 1 50% 4% 160 Mineral N 2 16% 10% 80 Compaa quiere minimizar costo de moldes
62
(hierro) (plomo)
X1 +
X2 = 1
X1, X2 0
63
VB
A1 A2
X1
1/2 1/25
X2
4/25 1/10
S1
-1 0
A1
1 0
S2
0 -1
A2
0 1
A3
0 0
Valor
0.20 0.06
A3
ZJ
0
-M 0 +M
65
0
M 0
0
-M 0 +M
0
M 0
1
M 0
1
1.26M
(CJ - ZJ)
M
M
1/25
1
1/10
1
0
0 -M 0 +M
67
0
0 M 0
-1
0 -M 0 +M
1
0 M 0
0
1 M 0
0.06
1 1.26M
51.2 -320 320 +0.76M +2.08M -2.08M 320 -320 28.8 -0.76M -2.08M +3.08M
68
M
M
51.2 -320 320 +0.76M +2.08M -2.08M 320 -320 28.8 -0.76M -2.08M +3.08M
69
CJ
CB 160 M 0 VB X1
160 X1 1 0 0 160
0 S1 0 0 1 0 0
70
M A1 0 0 -1 0 0 +M
0 S2 0 -1 0 -M
M A2 0 1 0 M 0
A2
S1 ZJ
(CJ - ZJ)
- 80 -0.06M
0 +M
0 S2 0 -1 0 -M 0 +M
M A2 0 1 0 M
M 0
0
0 160
1
0 80
0
1 0 0
72
0
-1 0 0 +M
M A1 0 0 -1 0 0 +M
0 S2
M A2
M A3 Valor
16.67 -16.67 1.667 0.667 -16.67 16.67 -0.667 0.333 5.67 - 5.67 1333 -1333 -1333 1333 +M 0.727 0.187 213 - 213 +M 133.3
80
0
-0.47 0.118
0
0 160
1
0 80
2.94
- 2.94
0
1 0
0
-1 0
1.47
0.882
Gracias
75