El Método Simplex

Anuncio
2.2 PROGRAMACION LINEAL:
METODOS DE SOLUCION
1. METODO GRAFICO
2. METODO SIMPLEX - ALGEBRAICO
3. METODO SIMPLEX - TABULAR
4. METODO SIMPLEX - MATRICIAL
1
2.2.1 METODO GRAFICO
(modelos con 2 variables)
1. TRAZAR EN UN PLANO LAS RESTRICCIONES
2. IDENTIFICAR LA REGION FACTIBLE
3. TRAZAR LA DIRECCIóN DE MAX ASCENSO
4. IDENTIFICAR EL PUNTO OPTIMO
NOTAS:
- En modelos con 2 variables:
- Una restricción de exacta igualdad se representa por una recta
- Una restricción “mayor igual” ó “menor igual” divide el espacio de
soluciones en dos semiplanos
- La Región factible es el conjunto de puntos que satisfacen todas las
restricciones
- Los Vértices ocurren en la intersección de 2 ó mas restricciones
- Los Vértices siempre estan localizados en la frontera de la region
factible
- Toda función lineal f(x1,x2,. . .) se puede expresar como el producto escalar
del vector de coeficientes c = (c 1, c2, … ) y el vector de variables de
decisión x = (x1, x2, … ). Es decir f(x1,x2) = c1x1 + c2x2 = c⋅ x
- La dirección de max ascenso sobre la función objetivo f es la dirección
del vector c
- El punto óptimo es aquel en la región factible asociado con el vector que
tiene la mayor proyección sobre el vector c.
- De existir, una solucion óptima de un modelo de PL siempre ocurre
en un vértice de la región factible.
2
METODO GRAFICO
Ejemplo:
Máx X1 + 2X2
sa.
4X1 + 2X2 ≤ 16
3X1 + 3X2 ≥ 18
X2 ≥ 3
X1, X2 ≥ 0
a) Determinar la solución óptima
b) Deteminar las restricciones activas y las inactivas
c) En el punto óptimo, determinar los valores de holgura y excedente para
cada restricción
d) Determinar las restricciones redundantes
e) Determinar la solución óptima si la F.O. fuese Min
f) Determinar la solución óptima si además la 2da restricción cambia a
3X1 + 6X2 ≥ 18
g) Determinar la solución óptima si además la 1ra restricción cambia a
X1 + X2 ≤ 2
3
Modelo en forma estándar
Máx X1 + 2X2
sa.
4X1 + 2X2 + S1
3X1 + 3X2
= 16
- S2
= 18
X2
- S3
=3
X1, X2 , S1, S2 ,S3 ≥ 0
§ La solución básica de un sistema de ecuaciones lineales de n por m, si
existe, es una solución en la que se forza a que (n-m) variables tomen
valor igual a cero.
§ A las (n-m) variables forzadas a tomar valor igual a cero se les llama
variables no básicas.
§ El valor de las variables restantes resulta de resolver el sistema de
ecuaciones lineales. A estas variables se les llama variables básicas.
§ El máximo número de soluciones BASICAS es igual al número de
parejas que se pueden formar con 5 variables:
5
 
2
 
Solución
Básica No. X1
1
2
3
4
5
6
7
8
9
10
Variables
S1
X2
0
0
0
0
=
5!
= 10
2! (5 − 2)!
Función objetivo Z
S2
S3
0
No factible
0
0
0
0
0
0
0
0
0
0
0
No factible
No factible
No factible
No factible
0
0
0
0
No factible
No factible
4
2.2.2 ANÁLISIS POSTERIOR A LA RESOLUCIÓN
Una vez resuelto un modelo de PL se debe distinguir entre:
RESTRICCIONES ACTIVAS
Son aquellas que se cumplen con exacta igualdad en la solución óptima
RESTRICCIONES INACTIVAS
Son aquellas que tiene holgura o excedente
Las restricciones activas son las que impiden el obtener una solución mejor
que la solución óptima ya encontrada
RESTRICCIONES REDUNDANTES
Son aquellas que de no estar presentes en el modelo, no modificarían
la región factible ni la solución óptima.
5
MÉTODO GRÁFICO con 3 variables
X3
5
3
1
2
X1
4
X2
6
2.2.3 CASOS ESPECIALES
1. MULTIPLES OPTIMOS (óptimos alternos)
Una restricción es paralela a la función objetivo
Máx -3X1 + 6X2
sa.
5X1 + 7X2 ≤ 35
-X1 + 2X2 ≤ 2
X1, X2 ≥ 0
2. SOLUCION OPTIMA ILIMITADA (no acotada)
La región factible se extiende sin límites en alguna dirección
Máx 2X1 + X2
sa.
X1 - X2
2X1 - X2
≤ 10
≤ 40
X1, X2 ≥ 0
(y si la función objetivo fuese Máx
2X1 - 1.5 X2 ? )
3. NO EXISTE SOLUCION (inconsistencia)
No existe región factible
Máx 3X1 + 2X2
sa.
2X1 + X2 ≤ 2
3X1 + 4X2 ≥ 12
X1, X2 ≥ 0
7
2.2.4 ANÁLISIS GRÁFICO
Sea la restricción :
a1 x1 + a2 x2 ≤ b
que se puede escribir como:
x2 ≤
b
a
- 1 x1
a2
a2
y graficar como:
X2
b
a2
b
a1
X1
Del gráfico se puede concluir que:
1. Si únicamente cambia el valor de b la recta se mueve paralelamente
2. Si sólo cambia el valor a2 la recta rota girando alrededor de
b
a1
b
3. Si sólo cambia el valor a1 la recta rota girando alrededor de
a2
8
EJERCICIO
Considere el siguiente modelo de PL:
Máx Z = 600 X1 + 1000 X2
s.a.
100 X1 + 60 X2
≤ 21,000
4000 X1 + 800 X2 ≤ 680,000
X1 + X2
≤ 290
12 X1 + 30 X2 ≤ 6,000
X1 , X2 ≥ 0
a) Determine la solución óptima
b) Determine las restricciones activas, inactivas y redundantes.
c) Cuál es el cambio mínimo del lado derecho de cada restricción redundante
que la convierte en restricción activa ?
d) El coeficiente de X1 en la tercera restricción es igual a uno. Cual es el
cambio mínimo de este coeficiente que la convertiría en activa ?
e) Suponga que el coeficiente de X1 en la función objetivo cambiase mientras
que el coeficiente de X2 permanece inalterable. Cual es el cambio mínimo del
coeficiente de X1 que ocasiona que existan multiples optimos en la solución ?
9
2.2.5 FORMA ESTANDARD
(Se usa para resolver un modelo por medio del algoritmo Simplex)
- Todas las variables son NO negativas
- Los elementos del lado derecho de cada restricción son No negativos
Si el lado derecho es negativo debe multiplicarse toda la
restricción por (-1) invirtiendo el sentido de la desigualdad
- Todas las restricciones se convierten a ecuaciones, agregando variables de
holgura ó de excedente (excepto las restricciones de No negatividad)
Si la restricción es del tipo ≤ se debe sumar una
variable de holgura al lado izquierdo de la restricción
Si la restricción es del tipo ≥ se debe restar una
variable de excedente al lado izquierdo de la restricción
EJEMPLO
Modelo Original
Modelo en Forma Estándar
Min
Z = 5x1 + 2x2 - x3
sujeto a
-x1 + x2 - x3 ≤ 16
2x1
- 2x3 ≥ 30
x1 + 2x2
≥ -8
8
Min Z = 5x1 - 2x2 - x3 + 0s 1 + 0 s2 + 0s 3
sujeto a
-x1 - x2 - x3 + s1
= 16
2x1
- 2x3
-s 2
= 30
-x1 + 2x2
+s3 =
x1 , x3 ≥ 0 x2 ≤ 0
x1 , x2 , x3 , s1 , s 2, s3 ≥ 0
El convertir el modelo a forma estándar aumenta el número de variables,
manteniendo el número de restricciones.
10
EJEMPLO
Máx Z = 18.5x1 + 20 x2
sujeto a
0.05x1 + 0.05 x2 ≤ 1100
0.05x1 + 0.10 x2 ≤ 1800
0.10x1 + 0.05 x2 ≤ 2000
x1 , x2 ≥ 0
este modelo tiene n = 2 variables de decisión
y
m = 3 restricciones
(sin considerar las de no negatividad)
Este modelo convertido a forma estándar es:
Máx Z = 18.5x1 + 20x2 + 0s 1 + 0s 2 + 0s 3
sujeto a
0.05x1 + 0.05 x2 + s1
0.05x1 + 0.10 x2
+s2
0.10x1 + 0.05 x2
x1 , x2 , s 1 , s 2 ,
ahora el modelo tiene
y
= 1100
= 1800
+s3 = 2000
s3 ≥ 0
n = 5 variables
m = 3 restricciones
Forma matricial de las restricciones del modelo en forma estándar:
0.05 0.05 1
0.05 0.10 0
0.10 0.05 0
0
1
0
0
0
1
3x5
X1
X2
S1
S2
S3
=
1100
1800
2000
3x1
5x1
11
Al expresar un modelo en forma estándar se convierte el conjunto de restricciones de un
modelo de programación lineal a un sistema de ecuaciones lineales simultáneas.
Si denotamos por n el número de variables en el modelo en forma estándar y por m el número
de restricciones, decimos que el modelo en forma estándar es de dimensiones n por m. Esto
porque el modelo incluye m ecuaciones lineales simultaneas en n variables.
Un sistema de ecuaciones lineales simultaneas de m por n puede tener solución o no. En general
puede ocurrir uno de tres situaciones. Que el sistema
1. Tenga una solución única
2. Tenga infinitas soluciones
3. No tenga solución
Si el sistema no tiene solución se dice que es un sistema inconsistente.
En un modelo de programacion lineal en forma estándar siempre se cumple que m < n. Y salvo
casos excepcionales, supondremos que el sistema de ecuaciones del modelo tendrá infinitas
soluciones. Cada una de éstas corresponde a un punto de la región factible.
DEFINICION
Se denomina punto extremo de la región factible a aquel punto que no puede
expresarse como una combinación lineal convexa de otros puntos en esta
región.
En términos sencillos un punto extremo se representa como un vértice de la región factible
PROPOSICION
La solución óptima de un modelo de programación lineal, si existe y no es
ilimitada, siempre corresponde a un punto extremo de la región factible.
Esta proposición es muy importante. Con base en ella, basta solo con tener un método que
evalúe la función objetivo de un modelo de programacion lineal en los puntos extremos de la
región factible.
DEFINICION
La solución básica de un sistema de ecuaciones lineales de n por m, si existe, es
una solución en la que se forza a que (n-m) variables tomen valor igual a cero.
A las (n-m) variables forzadas a tomar valor igual a cero se les llama variables no básicas.
El valor de las variables restantes resulta de resolver el sistema de ecuaciones lineales. A estas
variables se les llama variables básicas.
12
DEFINICION
La solución básica de un sistema de ecuaciones lineales de n por m existe si al
eliminar (n-m) variables el sistema resultante de m por m es consistente.
Esta definición indica que al forzar a que (n-m) variables tomen valor igual a cero puede ocurrir
que las m ecuaciones lineales resulten en un sistema sin solución (inconsistente).
Por ejemplo en el siguiente sistema
2x1 + 4 x2 + 3x3 = 8
3x1 + 6 x2 + 3x3 = 17
si se consideran variable no basica a la variable x3 entonces el sistema resultante mostrado no
tiene solución.
2x1 + 4 x2 = 8
3x1 + 6 x2 = 17
DEFINICION
La solución básica de un sistema de ecuaciones lineales de n por m se dice
factible (y se denota por SBF) si todas las variables toman valor no negativo.
En nuestro ejemplo: n-m = 5 - 3 = 2 variables
S2 = 0
S3 = 0 ⇒
Si:
X2 = 0
S3 = 0 ⇒
X1 = 14,666.66
X2 = 10,666.66
S1 = - 166.66
Esta es una Solucion BASICA No Factible
X1 = 20,000
S2 = 800
S1 = 100
Esta es una Solución BASICA Factible
Se llama BASE al conjunto de VARIABLES BASICAS.
PROPOSICION
Cada SBF de un modelo de programación lineal corresponde a un punto
extremo de su región factible.
Por tanto la solución optima de un modelo de programación lineal, si existe y no es ilimitada,
correponde a una solución básica factible. En otras palabras, cada SOLUCION BASICA
FACTIBLE representa un vértice de la región factible.
13
En el ejemplo, el máximo número de soluciones BASICAS es igual al número de parejas que
se pueden formar con 5 variables:
5
 
2
 
=
5!
= 10
2! (5 − 2)!
En general, el máximo número de soluciones BASICAS es igual al número de conjuntos de m
elementos, que se pueden formar con n variables, es decir
n 
 m  =
 
n!
m!(n − m)!
14
SOLUCIONES BÁSICAS
Solución
Variables
No.
X1
X2
S1
1
0
0
1,100
2
0
22,000
0
3
0
18,000
200
4
0
40,000
-900
5
36,000
0
-700
6
20,000
0
100
7
22,000
0
0
8
8,000
14,000
0
9
18,000
4,000
0
10
14,666.6 10,666.6
-166.61
S2
Función objetivo
Z
$0
No factible
$360,000
No factible
No factible
$370,000
No factible
$428,000
$413,000
No factible
S3
1,800
-400
0
-2,200
0
800
900
0
500
0
2,000
900
1,100
0
-1,600
0
-200
500
0
0
X2
4
Máx Z = 18.5x1 + 20 x2
sa.
0.05x1 + 0.05 x2 ≤ 1100
0.05x1 + 0.10 x2 ≤ 1800
0.10x1 + 0.05 x2 ≤ 2000
40
x1 , x2 ≥ 0
30
2
20
8
3
10
10
Región
Factible
9
X1
1
6
10
7
20
5
30
15
EJEMPLO
Considere el siguiente modelo de PL
Máx Z= 5x1 -6x2 +3x3 -5x4 +12x5
sujeto a
x1 + 3x2 + 5x3 +6x4 +3x5 ≤ 90
x1 , x2 , x3 , x4 , x5 ≥ 0
a) Cuántas varibales básicas tiene ?
b) Cuántas soluciones básicas existen ?
c) Cuáles son las soluciones básicas?
d) Cuál es la solución óptima ?
16
Modelo en Forma Estándar
Máx Z= 5x1 -6x2 +3x3 -5x4 +12x5 + 0 s
sujeto a
x1 , x2 , x3 , x4 , x5 , s ≥ 0
x1 + 3x2 + 5x3 +6x4 +3x5 + s = 90
a) Cuántas variables básicas tiene ?
b) Cuántas soluciones básicas existen ?
básicas
m = 1 variable básica
Cmn = C16 = 6 soluciones
c) Cuáles son las soluciones básicas ?
Sol.Bas
1
2
3
4
5
6
X1
90
0
0
0
0
0
X2
0
30
0
0
0
0
X3
0
0
16
0
0
0
X4
0
0
0
15
0
0
X5
0
0
0
0
30
0
S
0
0
0
0
0
90
Z
450
-180
90
-75
360
0
17
2.2.6 METODO SIMPLEX (George Dantzig, 1947)
Existen varias formas de resolver un modelo de programación lineal. El
metodo mas comunmente usado es el metodo simplex. Este metodo
encuentra la solución óptima de un modelo de PL, evaluando la función
objetivo, en cada vértice de la región factible.
METODOLOGIA
Nótese que en modelos de dos variables en cualquier intersección de
dos restricciones, hay dos variables que toman valor igual a cero. Por tanto
para conocer el valor de las otras variables se debe resolver el sistema de m
restricciones con m variables.
Una manera sencilla de encontrar una SOLUCION BASICA
FACTIBLE es identificar una matriz identidad en las restricciones del modelo
escrito en forma estándar. Las variables asociadas con esta matriz identidad
son las VARIABLES BASICAS
X1
X2
S1 S2
0.05 0.05 1
0.05 0.10 0
0.10 0.05 0
0
1
0
S3
0
0
1
3x5
X1
X2
S1
S2
S3
=
1100
1800
2000
3x1
5x1
En cada paso del algoritmo se resuelven simultáneamente las m
ecuaciones que conforman un vértice para identificarlo. Se verifica si el
vértice es el óptimo, si no lo es, se pasa a otro vértice adyacente.
El algoritmo asegura que en el siguiente vértice, la funcion objetivo no
tendrá un valor peor que en el vértice anterior
18
2.2.6.1 METODO SIMPLEX -ALGEBRAICO
PROCEDIMIENTO
1. Encontrar una Solucion Basica Factible inicial
Expresando el modelo en forma estándar
identificando las columnas de una matriz identidad de m x m.
2. Expresar las variables basicas y la funcion objetivo en funcion de las
variables No basicas
3. Verificar Optimalidad
La solución es óptima si:
La función objetivo no puede mejorar de valor al incrementar
el valor de cualquiera de las Variables No Basicas
4. Identificar Nuevas variables básica y No básica
Nueva VB : la VNB que mejora más la función objetivo.
Nueva VNB: la VB que se hace igual a 0
al tomar la nueva VB el máximo valor posible.
5. Regresar al paso 2.
19
EJEMPLO
En forma original:
Máx Z =
sujeto a:
En Forma estándar:
10x1 + 14x2
Máx Z =
sujeto a:
4x1 + 6x2 ≤ 24
2x1 + 6x2 ≤ 20
x1 , x2 ≥ 0
10x1 + 14x2 + 0s 1 + 0s 2
4x1 + 6x2 + 1s 1 + 0s 2 = 24
2x1 + 6x2 + 0s 1 + 1s 2 = 20
x1 , x2 ,
s1 , s2 ≥ 0
Inicio:
Base (VB’s)
s 1 = 24
s 2 = 20
VNB’s
x1 = 0
x2 = 0
Z=0
Expresar VB’s y Z en función de VNB (del modelo en forma estándar )
S1 = 24 - 4x1 - 6x2
S2 = 20 - 2x1 - 6x2
Z = 0 + 10x1 + 14x2
(1)
No estamos sobre el vértice óptimo !
Variable que entra a la base es x2
Variable que sale de la base es:
S1 = 24 - 6x2 ≥ 0
S2 = 20 - 6x2 ≥ 0
3. 33
x2 ≤ 4
x2 ≤ 3.33
x2 entra a la base con valor x2 =
( s2 = 0 es la variable que sale )
20
1ra iteración:
Base (VB’s)
s1 = 4
x2 = 3.33
VNB’s
x1 = 0
s2 = 0
Z = 46.66
Expresar VB’s y Z en función de VNB (comenzar de (1) )
X2 = (20 - 2x1 - s 2 ) / 6
S1 = 24 - 4x1 - 6 (1/6 (20 - 2x1 - s 2 ))
Z = 0 + 10 x1 + 14 (1/6 (20 - 2x1 - s 2 ))
= 3.33 - 0.33x1 - 0.166s 2
= 4 2x1 +
s2
= 46.6 + 5.33 x1 - 2.33 s2
No estamos sobre el vértice óptimo !
Variable que entra a la base es x1
Variable que sale de la base es:
X2 = 3.33 - 0.33x1 ≥ 0
S1 = 4
- 2x1 ≥ 0
X1 ≤ 10
X1 ≤ 2
x1 entra a la base con valor x1 = 2
( s1 = 0 es la variable que sale )
21
2da iteración:
Base (VB’s)
x1 = 2
x2 = 2.66
VNB’s
s1 = 0
s2 = 0
Z = 57.33
Expresar VB’s y Z en función de VNB
X1 = (4 + s2 - s 1 ) / 2
= 2 + 0.50s 2 - 0.5s 1
X2 = 3.33 - 0.33 ( 2 +.50s 2 - 0.5s 1 )-0.16s 2 = 2.66 - 0.33s 2 + 0.16s 1
Z = 46.66 + 5.33 (2 +0.50s 2 - 0.5s 1) -2.33s 2 = 57.3 + 0.33s2 - 2.66 s1
No estamos sobre el vértice óptimo !
Variable que entra a la base es s 2
Variable que sale de la base:
X1 = 2 + 0.50s 2 ≥ 0
X2 = 2.66 - 0.33s 2 ≥ 0
s2 ≥ - 4
s2 ≤ 8
s 2 entra a la base con valor s 2 = 8
( X2 = 0 es la variable que sale )
3ra iteración:
Base (VB’s)
x1 = 6
s2 = 8
VNB’s
s1 = 0
x2 = 0
Z = 60
Expresar VB’s y Z en función de VNB
S2 = (2.66 - x2 + 0.166s 1 ) / 0.33
= 8 - 3x2 + 0.50 s1
X1 = 2 + 0.50 (8 - 3x2 + 0.5s 1 ) - 0.5s 1
= 6 - 1.5x2 - 0.25 s 1
Z = 57.33 + 0.33 (8 - 3x2 + 0.5s 1) - 2.66s 1
= 60 x2 - 2.50 s1
estamos sobre el vértice óptimo!
22
2.2.6.1 METODO SIMPLEX - MATRICIAL
El método simplex matricial se puede aplicar siguiendo los siguientes pasos
1. Encontrar una Solucion Basica Factible inicial
Expresando el modelo en forma estándar
identificando las columnas de una matriz identidad de m x m.
(esto define a XB, CB y B)
2. Calcular B-1 , B-1b y B-1N
3. Expresar XB y Z en función de las variables no básicas.
XB = B-1b - B-1N XN
Z = CBT B-1 b + [C NT - CBT B-1 N ] XN
4. Verificar la condición de optimalidad ([CNT - CBT B-1N ] ≤ 0 para max Z)
5. Si la condición de optimalidad no se cumple se debe seleccionar
§ la nueva variable básica NVB
(aquella con el mejor valor en [CNT - CBT B-1N]
§ la nueva variable no básica
(la que toma valor cero cuando la NVB toma el max valor posible)
23
2.2.6.2 METODO SIMPLEX -TABULAR
PROCEDIMIENTO
1. Encontrar una Solucion Basica Factible inicial
Convirtiendo las m restricciones en igualdades e identificando las
columnas de una matriz identidad de m x m.
2. Construir la Tabla Inicial y verificar Optimalidad (ver paso 5)
3. Identificar Nuevas Variable Básica (NVB) y Nueva variable No Básica
NVB : máx valor positivo de Cj - Zj
(maximizacion)
NVNB: dividir bj entre los coeficientes positivos de la columna de NVB.
La NVNB se encuentra en el renglón que tiene el menor cociente.
4. Actualizar la Tabla
- Identificar elemento Pivote
- Nuevos valores en el renglón de NVB se obtienen al dividir el renglón
que sale entre el pivote
- Otros renglones se obtienen por:
Nuevo renglon = Renglon anterior [elemento en columna del pivote] x renglon de NVB
- Calcular Zj como la suma de productos de CB por las tasas de sustitucion
5. Verificar Optimalidad (maximización)
La base es óptima si todos los valores de Cj - Zj son cero o negativos.
6. Volver al paso 3
24
TABLA INICIAL
En Forma estándar:
Máx Z =
sujeto a:
10x1 + 14x2
Máx Z =
sujeto a:
4x1 + 6x2 ≤ 24
2x1 + 6x2 ≤ 20
x1 , x2 ≥ 0
CB
0
0
CB
0
0
CB
0
0
Cj
base
S1
S2
Zj
Cj - Zj
Cj
base
S1
S2
Zj
Cj - Zj
Cj
base
S1
S2
Zj
Cj - Zj
10x1 + 14x2
+ 0s1 + 0s2
4x1 + 6x2 + 1s1 + 0s2 = 24
2x1 + 6x2 + 0s1 + 1s2 = 20
x1 , x2 ,
s1 , s2 ≥ 0
10
X1
4
2
14
X2
6
6
0
S1
1
0
0
S2
0
1
bj
24
20
0
10
X1
4
2
0
10
14
X2
6
6
0
14
0
S1
1
0
0
0
0
S2
0
1
0
0
bj
24
20
0
10
X1
4
2
0
10
14
X2
6
6
0
14
0
S1
1
0
0
0
0
S2
0
1
0
0
bj
24
20
pivote
4
3.33
cocientes
la tabla no es óptima!
x2 entra a la base con valor x2 = 3. 33
( s2 = 0 es la variable que sale )
25
1ra iteración:
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
bj
10
X1
3.33 0.33
14
X2
0
S1
0
S2
1
0
0.166
se divide el renglón
del pivote entre él
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
10
bj
X1
4
2
3.33 0.33
14
X2
0
1
0
S1
1
0
0
S2
-1
0.166
renglon anterior 24
4
6
1
0
- valor asociado -6 (3.33 0.33
1
0
0.166)
al pivote por el
renglón actualizado del pivote
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
10
bj
X1
4
2
3.33 0.33
46.66 4.66
5.33
14
X2
0
1
14
0
pivote
x1 entra a la base con valor x2 = 2
0
S1
1
0
0
0
0
S2
-1
0.166
2.33
-2.33
2
10
cocientes
( s1 = 0 es la variable que sale )
26
2da iteración:
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
bj
2
10
X1
1
14
X2
0
0
S1
0.5
0
S2
-0.5
se divide el renglon
del pivote entre él
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
10
bj
X1
2
1
2.66 0
renglon anterior 3.33 0.33
- valor asociado -.33( 2 1
al pivote x
renglón actualizado del pivote
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
10
bj
X1
2
1
2.66 0
57.24 10
0
S2 entra a la base con valor S2 = 8
14
X2
0
1
0
S1
0.5
-.166
0
S2
-0.5
0.33
1
0
0
0.5
0.166
-0.5 )
14
X2
0
1
14
0
0
S1
0.5
-.166
2.66
-2.66
0
S2
-0.5
0.33
-.33
0.33
pivote
(X2 = 0 es la variable que sale )
27
3ra iteración:
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
bj
10
X1
14
X2
0
S1
0
S2
8
0
3
-0.5
1
se divide el renglon
del pivote entre él
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
bj
6
8
renglon anterior 2
- valor asociado +.5(8
al pivote x
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
bj
6
8
60
10
X1
1
0
1
0
10
X1
1
0
10
0
14
X2
1.5
3
0
S1
0.25
-0.5
0
0.5
3
-0.5
renglón actualizado del pivote
14
X2
1.5
3
15
-1
0
S1
0.25
-0.5
2.5
-2.5
0
S2
0
1
-0.5
1 )
0
S2
0
1
0
0
Esta tabla es la óptima !
28
2.2.6.2 METODO SIMPLEX -TABULAR SIMPLIFICADO
Para simplificar el procedimiento anterior se va a trabajar con una tabla más sencilla en la que
en cada renglón se representa a las variables básicas y en cada columna se representa a las
variables no básicas. En esta tabla las celdas sombreadas no se utilizan durante el
procedimiento.
CB
BASE
bj
XB
Valor de las
variables
básicas
CN
XN
tasas de sustitución
ZJ
CJ - ZJ
Donde:
XB = conjunto de nombres de las variables básicas
XN = conjunto de nombres de las variables no básicas
CB = vector de coeficientes de las variables básicas en la función objetivo
CN = vector de coeficientes de las variables no básicas en la función objetivo
bj = valor de las variables básicas
El renglón marcado como Zj resulta de multiplicar cada valor en la columna CB por cada valor
de la columna bj y por cada valor de la columna XN.
El renglón marcado como Cj – Zj resulta de restar cada valor en el renglon Zj de cada valor en
el renglón CN.
En cada iteración del procedimiento, una variable que reemplaza a otra ocupa el lugar que ésta
tenía.
29
30
PROCEDIMIENTO
1. Encontrar una Solucion Basica Factible inicial
Convirtiendo las m restricciones en igualdades e identificando las
columnas de una matriz identidad de m x m.
2. Construir la Tabla Inicial y verificar Optimalidad (ver paso 5)
3. Identificar Nueva Variable Básica (NVB) y Nueva Variable No Básica (NVNB)
NVB :
aquella con el mayor valor positivo de Cj - Zj
aquella con el mayor valor negativo de Cj - Zj
(maximizacion) ó
(minimizacion)
NVNB:
obtener cocientes al dividir bj entre los coeficientes positivos de la columna
de NVB. La NVNB es aquella ubicada en el renglón con el menor cociente.
4. Actualizar la Tabla
- Reemplazar el nombre de la columna de la NVB por el nombre de la NVNB
- Identificar elemento Pivote
- Invertir el valor númerico del Pivote
- El renglón actualizado de NVB se obtiene al dividirlo entre el pivote
- La columna actualizada de NVNB se obtiene al dividirla entre (-pivote)
- Otros renglones se obtienen por:
Nuevo renglon = Renglon anterior [elemento en columna del pivote] x renglon de NVB
- Calcular Zj como la suma de productos de CB por cada una de las columnas de la tabla.
5. Verificar Optimalidad
Si el modelo es de maximización:
La base es óptima si todos los valores de Cj - Zj son cero o negativos.
Si el modelo es de minimización:
La base es óptima si todos los valores de Cj - Zj son cero o positivos.
31
6. Volver al paso 3
32
EJEMPLO
En Forma estándar:
Máx Z =
sujeto a:
10x1 + 14x2
Máx Z =
sujeto a:
4x1 + 6x2 ≤ 24
2x1 + 6x2 ≤ 20
x1 , x2 ≥ 0
CB
0
0
CB
0
0
CB
0
0
Cj
base
S1
S2
Zj
Cj - Zj
Cj
base
S1
S2
Zj
Cj - Zj
Cj
base
S1
S2
Zj
Cj - Zj
+ 0s1 + 0s2
4x1 + 6x2 + 1s1 + 0s2 = 24
2x1 + 6x2 + 0s1 + 1s2 = 20
x1 , x2 ,
s1 , s2 ≥ 0
10
X1
4
2
14
X2
6
6
bj
24
20
0
10
X1
4
2
0
10
14
X2
6
6
0
14
bj
24
20
0
10
X1
4
2
0
10
14
X2
6
6
0
14
bj
24
20
10x1 + 14x2
4
3.33
pivote
cocientes
la tabla no es óptima!
x2 entra a la base con valor x2 = 3. 33
( s2 = 0 es la variable que sale )
33
1ra iteración:
Primero se divide el renglon del pivote entre él
CB
0
14
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
Cj
base
S1
X2
Zj
Cj - Zj
bj
10
X1
0
S2
3.33 0.33
0.166
10
bj
X1
4
2
3.33 0.33
0
S2
-1
0.166
renglon anterior
24
4
- valor asociado -6
(3.33 0.33 )
al pivote por el renglón actualizado del pivote
CB
0
14
Cj
base
S1
X2
Zj
Cj - Zj
10
bj
X1
4
2
3.33 0.33
46.66 4.66
5.33
0
S2
-1
0.166
2.33
-2.33
pivote
x1 entra a la base con valor x2 = 2
2
10
cocientes
( s1 = 0 es la variable que sale )
34
2da iteración:
Primero se divide el renglon del pivote entre él
CB
10
14
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
Cj
base
X1
X2
Zj
Cj - Zj
bj
2
0
S1
0.5
0
S2
-0.5
bj
2
2.66
0
S1
0.5
-.166
0
S2
-0.5
0.33
renglon anterior 3.33
0.166
- valor asociado -.33( 2
-0.5 )
al pivote x renglón actualizado del pivote
CB
10
14
Cj
base
X1
X2
Zj
Cj - Zj
bj
2
2.66
57.24
0
S1
0.5
-.166
2.66
-2.66
S2 entra a la base con valor S2 = 8
0
S2
-0.5
0.33
-.33
0.33
pivote
(X2 = 0 es la variable que sale )
35
3ra iteración:
Primero se divide el renglon del pivote entre él
CB
10
0
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
Cj
base
X1
S2
Zj
Cj - Zj
bj
0
S1
14
X2
8
-0.5
3
bj
6
8
0
S1
0.25
-0.5
14
X2
1.5
3
renglon anterior
2
0.5
- valor asociado +.5 (8
-0.5 )
al pivote x renglón actualizado del pivote
CB
10
0
Cj
base
X1
S2
Zj
Cj - Zj
bj
6
8
60
0
S1
0.25
-0.5
2.5
-2.5
14
X2
1.5
3
15
-1
Esta tabla es la óptima !
36
Ahora comparemos esta tabla óptima ya encontrada, con la solución del
método SIMPLEX con matrices.
Sean las variables básicas X1 y S2 entonces
XB = [X1 S2]
XN = [S 1 X2]
CBT = [10 0]
CNT = [0 14]
B = [4
[2
N = [1
[0
0]
1]
6]
6]
Determinamos B-1, B-1N y B-1b,
¦ B¦
B-1
=
=
4(1) – 0 (2) = 4
[¼
[-½
0]
1]
B-1N
=
[¼
[-½
0] [1 6] = [ ¼ 3/2 ]
1] [0 6]
[ -½ 3 ]
B-1b
=
[¼
[-½
0] [24]
1] [20]
=
[6]
[8]
Y expresamos XB y Z en función de XN
XB
= [X1] =
[S2 ]
[6] - [ ¼
[8] [-½
3
/2] [S1 ] = [ 6 - ¼S 1 - 3/2 X2 ]
3 ] [X2]
[ 8 + ½S 1 – 3X2 ]
37
Por tanto si comparamos ambas soluciones óptimas encontramos lo
siguiente
CB
BASE
bj
C NT
XNT
XB
B-1b
B-1N
ZJ
CBT B1
b
CBT B-1N
CNT - CBT B-1N
CJ - ZJ
Y ya sea de la tabla o de las operaciones matriciales podemos obtener
XB
=
B-1b
Z
=
CNT - CBT B-1N
–
B-1N
es decir
X1 = 6 - ¼ S1 – 3/2 X2
S2 = 8 + ½ S1 – 3 X2
Z = 60 – 5/2 S1 – X2
Estas son expresiones de las variables básicas y de la variable de resultado en función de las
variables no básicas. Los coeficientes de las variables no básicas en estas expresiones
corresponden a los coeficientes de la matriz B-1N y se les llama tasas de sustitución porque
representan las tasas a las que una variable aumenta o disminuye cuando una variable no básica
la reemplaza. Por ejemplo si X2 toma valor unitario la variable X1 debe reducir su valor en 1.5
unidades.
38
La condición de optimalidad para un modelo de PL del tipo maximizar, establece que si los
coeficientes de [CNT - CBT B-1N ] son todos negativos, como por ejemplo en
Z = 60 – 5/2 S1 – X2
entonces el aumentar de valor a una variable básica no mejorará el valor de la variable de
resultado Z y por tanto la última solución básica encontrada es la óptima.
Qué establecen las ecuaciones ?
Supongamos que la variable no básica X2 incrementase su valor de 0 a 1. Entonces ocurrirían
simultáneamente los siguiente
§
§
§
§
La var. de respuesta Z aumentaría en 4 unidades (ya que Z = 10X1 + 14X2 )
La var. X1 disminuiría en 1.5 unidades
La var. S2 disminuiría en 3 unidades
La var. de respuesta Z disminuiría en 1.5(10) = 15 unidades
El efecto neto en Z resultaría 14 – 15 = -1.
El método simplex matricial se puede aplicar siguiendo los siguientes pasos
6. Seleccionar un conjunto de variables básicas (la base). Esto define a XB.
7. Especificar las matrices CBT , CNT , B y N
8. Calcular B-1 , B-1b y B-1N
9. Expresar XB y Z en función de las variables no básicas.
10. Verificar la condición de optimalidad
( [CNT - CBT B-1N ] = 0 para max Z)
11. Si la condición de optimalidad no se cumple se debe seleccionar
§
la nueva variable básica NVB (aquella con el mejor valor en
§
la nueva variable no básica (aquella que toma el valor cero cuando la NVB toma el
CNT - CBT B-1N)
max valor posible)
39
2.2.6.3 METODO SIMPLEX -CASOS ESPECIALES
MULTIPLES OPTIMOS
Ocurre si para una(s) variable(s) No Básica(s)
1. Cj - Zj =0 ; y
2. Existe alguna tasa de sustitución positiva en la tabla óptima
MINIMIZACION
1. La regla para la variable que entra a la Base cambia:
elegir la que tiene el valor Cj - Zj más negativo
2. La tabla óptima se identifica cuando todos los valores de Cj - Zj son
cero o pósitivos.
Alternativamente se puede multiplicar Z por (-1)
40
MODELOS CON RESTRICCIONES ≥ y =
En los modelos con restricciones ≥ y =, al añadir variables de holgura o de
excedente no obtenemos una solución
básica factible inicial
Para encontrar una, agregamos al modelo en forma estándar, VARIABLES
ARTIFICIALES a cada restriccion de ≥ y = . Estas variables formarán
parte de la base inicial
Existen dos métodos para resolver modelos de PL con variables Artificiales:
Método de las M
Se asignan números negativos grandes "M" a los coeficientes de las
variables artificiales en la función objetivo. (Maximizar)
Si en la solución básica óptima existen variables artificiales con valor
diferente de cero entonces el modelo de PL no tiene solución
41
EJEMPLO
MÉTODO DE LAS Ms
- Minimización
- Todo tipo de restricción
- Optimo en vértice degenerado
Modelo Original:
Min 4X1
sa.
3X1
4X1
X1
+ X2
+ X2 = 3
+ 3X2 ≥ 6
+ 2X2 ≤ 3
X1, X2 ≥ 0
Modelo en forma estándar:
Min 4X1
sa.
3X1
4X1
X1
X1,
+ X2 + 0S 1 + 0S 2 + MA1 + MA2
+ X2
+ A1
+ 3X2 - S1
+ A2
+ 2X2
+ S2
X2 , S1,
S2 , A1 ,
= 3
= 6
= 3
A2
≥ 0
42
Método de las 2 Fases
Se divide la solución en dos etapas.
En la primera etapa se resuelve el modelo de PL con f.objetivo (MIN )
igual a la suma de todas las variables artificiales. Como resultado de esta
etapa, se encuentra una solución básica factible (SBF).
En la segunda etapa se eliminan del modelo las variables artificiales, se
restaura la f.o. original y se aplica el método simplex con la solución básica
factible (SBF) encontrada en la primera etapa.
NOTAS
Si en la solución básica óptima de la primera etapa existen variables
artificiales con valor diferente de cero entonces el modelo original de PL no
tiene solución.
Si en la solución básica óptima de la primera etapa existen variables
artificiales con valor igual a cero entonces se deben intercambiar por
variables no basicas que no sean artificiales (aun si el pivote resultase
negativo). Esto con la intención que en la base no hayan variables artificiales.
Si aun así, permanecen variables artificiales, entonces representan
restricciones redundantes y a estas restricciones se las elimina del modelo.
43
EJEMPLO
MÉTODO DE LAS DOS FASES
- Minimización
- Todo tipo de restricción
- Optimo en vértice degenerado
Modelo Original:
Min 4X1
sa.
3X1
4X1
X1
+ X2
+ X2 = 3
+ 3X2 ≥ 6
+ 2X2 ≤ 3
X1, X2 ≥ 0
Modelo en forma estándar para la primera fase
Min A1 + A2
sa.
3X1 + X2
+ A1
4X1 + 3X2 - S1
+ A2
X1 + 2X2
+ S2
X1,
X2 , S1,
S2 , A1 ,
A2
= 3
= 6
= 3
≥ 0
Modelo en forma estándar para la segunda fase
Min 4X1
sa.
3X1
4X1
X1
X1,
+ X2 + 0S1 + 0S2
+ X2
+ 3X2 - S1
+ 2X2
+ S2
= 3
= 6
= 3
X2 , S1,
≥ 0
S2 ,
44
EJEMPLO 2
MÉTODO DE LAS DOS FASES
Modelo Original:
Min 2X1 + X2
sa.
X1 + 2X2 ≤ 2
X2 ≤ 2
3X1 + X2 = 6
X1, X2 ≥ 0
Modelo en forma estándar para la primera fase
Min 0X1 + 0X2 + 0S3 + 0S4 + 0S5 + A6
sa.
X1 + 2X2 + S3
X2
+ S4
3X1 + X2
- S5 + A6
X1,
X2 , S3,
S4, S5 , A6
= 2
= 2
= 6
≥ 0
Modelo en forma estándar para la segunda fase
Min 2X1 + X2 + 0S3 + 0S4 + 0S5
sa.
X1 + 2X2 + S3
X2
+ S4
3X1 + X2
- S5
X1,
X2 , S3,
S4, S5
= 2
= 2
= 6
≥ 0
45
Primera Fase:
CB
0
0
1
CB
0
0
0
Cj
base
S3
S4
A6
Zj
Cj - Zj
Cj
base
S3
S4
X1
Zj
Cj - Zj
bj
2
2
6
6
0
X1
1
0
3
3
-3
0
X2
2
1
1
1
-1
0
S5
0
0
-1
-1
1
bj
0
2
2
0
1
A6
-1/3
0
1
/3
0
1
0
X2
5
/3
1
1
/3
0
0
0
S5
1
/3
0
-1/3
0
0
1
X2
5
/3
1
1
/3
2
/3
1
/3
0
S5
1
/3
0
-1/3
-2/3
2
/3
2
2
tabla optima !
Segunda Fase:
CB
0
0
2
Cj
base
S3
S4
X1
Zj
Cj - Zj
bj
0
2
2
4
tabla optima !
46
2.2.7. METODO SIMPLEX - PROBLEMAS SIN SOLUCION
1. PROBLEMAS NO ACOTADOS
- La región factible carece de frontera; y
- La funcion objetivo puede ser mejorada sin límites
En la tabla simplex se detecta cuando las tasas de sustitucion de la columna
de la variable que debe entrar a la base tienen valor cero ó negativo.
Por tanto no podria calcularse la siguiente base.
2. INCONSISTENCIA
Cuando las restricciones identifican areas mutuamente exclusivas.
No existe entonces un conjunto de valores para las variables de decisión que
satisfaga simultaneamente todas las restricciones.
En la tabla simplex se detecta cuando existen variables artificiales con valor
diferente de cero en el óptimo.
2.2.8 PROBLEMAS DEGENERADOS
Ocurre cuando un vertice está definido por "demasiadas" restricciones.
En un caso No-degenerado: cada solucion Basica Factible tendría m
variables basicas positivas diferentes de cero.
En un caso Degenerado existen una ó mas variables en la base con valor
cero.
La degeneración puede ocurrir en cualquier vertice, no necesariamente en el
vertice de la solución optima.
La degeneracion no impide que exista solucion óptima. Optima
47
Descargar