METODO SIMPLEX - WordPress.com

Anuncio
METODO SIMPLEX
OBJETIVO:
Mostrar como se utiliza el método simplex para resolver un problema de
programación lineal estándar
este método permite resolver problemas de programación lineal que no pueden
resolverse de el metodo grafico cuando el numero de variables es mayor e
igual a 3
Este metodo utiliza matrices y operaciones elementales entre filas
Se va a considerar problemas de forma ESTÁNDAR o normal es decir que
consisten en MAXIMIZAR una funcion (OBJETIVO ) con restricciones del
tipo MENOR IGUAL
Problema estándar :
Maximizar la funcion lineal
Z = c1 x1 + c 2 x 2 + c3 x3 + ..... + c n x n
Sujeta a las restricciones
a11 x1 + a12 + x 2 + a13 x 3 + .... + a1n x n ≤ b1
a 21 x1 + a 22 + x 2 + a 23 x3 + .... + a 2 n x n ≤ b2
a31 x1 + a32 + x2 + a33 x3 + .... + a3n x n ≤ b3
a m1 x1 + a m12 + x 2 + a m 3 x 3 + .... + a mn x n ≤ bm
Donde las variables x1 , x 2 , x3 ,… x n y b1 , b 2 , bn son no negativas
El método simplex empieza con una solucion factible y prueba si es o no
optima
Si no lo es, el método busca una MEJOR solucion , que se acerque mas a la
optimizacion de la funcion objetivo, si esta nueva solucion no es optima,
entonces se repite el proceso hasta hallar una solucion optima si existe
Se consideran las siguientes fases o etapas :
1. Convertir las desigualdades en igualdades
Se introduce una variable de holgura s1 , s 2 S3 por cada una de las
restricciones o limitaciones del tipo ≤, (menor igual )para convertirlas en
igualdades
Escribir la tabla inicial simplex o matriz simplex
En las columnas aparecerán todas las variables básicas x, y del problema y las
variables de holgura s1 , s 2 S3 /exceso. En las filas se observan, para cada
restricción las variables de holgura con sus coeficientes de las igualdades
obtenidas, y la última fila con los valores resultantes de sustituir el valor de
cada variable en la función objetivo,
Como sabemos, el método simplex es un algoritmo iterativo que iniciando en
una solución básica factible pero no óptima, genera soluciones básicas
factibles cada vez mejores hasta encontrar la solución óptima (sí esta existe).
Nótese que la base de su lógica es mantener la factibilidad, mientras busca la
optimalidad.
EJEMPLO
Resolver mediante el método simplex el siguiente problema:
Maximizar Z = f(x,y) = 5x + 4y
sujeto a: 2x + y ≤ 35
x + y ≤ 20
-3x + y ≤ 12
x≥0,y≥0
Se consideran las siguientes fases o etapas :
1. Convertir las desigualdades en igualdades
Se introduce una variable de holgura por cada una de las restricciones o
limitaciones del tipo ≤, (menor igual )para convertirlas en igualdades, como
hay n desigualdades se introducen m variables de holgura resultando el
sistema de ecuaciones lineales:
2x + y + s1 = 35
x + y + s 2 =20
-3x + y + S3 =12
2. Igualar la función objetivo a cero
-5x + 4y + Z = 0
3. Escribir la tabla inicial simplex o matriz
En las columnas aparecerán todas las variables básicas x,y del problema y las
variables de holgura s1 , s 2 S3 /exceso. s En las filas se observan, para cada
restricción las variables de holgura con sus coeficientes de las igualdades
obtenidas, y la última fila con los valores resultantes de sustituir el valor de
cada variable en la función objetivo, y de operar para obtener el resto de
valores de la fila:
COCIENTE
Base
x1
x2
s1
s2
S3
Z b
s1
1
1
1
0
0
0 20 20/1=20
s2
2
1
0
1
0
0 35 35/2=
S3
-3 1
0
0
1
0 12 No hay cociente
-5 -4 0
0
Z
0
35
2
1 0
Indicadores
El indicador mas negativo es -5 y aparece en la columna de x1 por lo tanto
x1 es la variable que entra a la base ,el cociente mas pequeño es 35 de modo
2
que x 2 es la variable que sale ,el elemento pivote es 2 ,haciendo operaciones
elementales entre filas se obtiene 1 en la posición del pivote y ceros los demás
elementos de la columna pivote entonces se obtiene
Se divide la fila 2 por ½
Base
x1
x2
s1
s2
S3
Z b
s1
1
1
1
0
0
0 20
x1
1
1
2
0
1
2
0
0
S3
-3 1
0
0
1
0 12
Z
-5
0
0
x2
s1
s2
- 12 0
0
5
2
−
-4
35
2
1 0
0
1
F1 + F2
2
3F2 + F3
5 F2 + F4
Base
x1
s1
0
1
2
1
x1
1
1
2
0
1
2
0
0
35
2
S3
0
5
2
0
3
2
1
0
129
2
- 32 0
5
2
1
175
2
Z
0
Base x1 x 2 s1 s 2
Z b
S3
0
S3
Z b
s1
0
1
2
1
1 -2 0 0
x1
1
1
2
0
1
2
S3
0
5
2
0
3
0 -2 0
Z
COCIENTE
/dividido 12 =5
5
2
5
2
0 0
35
2
35
2
3
2
1 0
129
2
129
2
5
2
1
175
2
0
dividido 12 =35
dividido 52 =25 54
Observe que x1 reemplazo a s 2 porque - 32 es el indicador mas negativo
Se continua el proceso y la variable que entra es x 2 , el cociente mas pequeño
es 5de modo que s1 es la variable que sale ,el elemento pivote es 12 ,haciendo
operaciones elementales entre filas se obtiene 1 en la posición del pivote y
ceros los demas elementos de la columna pivote entonces se obtiene
−1F1 + F2
− 5 F1 + F3
3F1 + F4
Base
x1
s1
Z b
x2
s1
s2
0
1
2
1
- 12 0
x1
1
0
-1 1
0
0 15
S3
0
0
-5 4
1
0 52
0
0
3
1
Base
x1
x2
s1
s2
x2
0
1
2
-1 0
x1
1
0
-1 1
0
0 15
S3
0
0
-5 4
1
0 52
0
0
3
Z
S3
0
0
5
2
1 95
2 F1
Z
1
S3
0
Z b
0 5
1 95
como todos los indicadores son positivos se termina el proceso y el valor
máximo de Z es 95 que ocurre cuando x 2 =5 y x1 =15
4. Condición de parada
Cuando en la fila Z no existe ningún valor negativo, se ha alcanzado la
solución óptima del problema. En tal caso, se ha llegado al final del algoritmo.
De no ser así, se ejecutan los siguientes pasos.
5. Condición de entrada y salida de una variable de la base
A.Primero debemos saber la variable que entra en la base. Para ello
escogemos la columna de aquel valor que en la fila Z sea el menor numero de
los negativos. En este caso sería la variable x de coeficiente -5
Si existiesen dos o más coeficientes iguales que cumplan la condición anterior
(caso de empate), entonces se optará por aquella variable que sea básica.
La columna de la variable que entra en la base se llama columna pivote (En
color verde).
6-Una vez obtenida la variable que entra en la base, estamos en condiciones de
deducir cual será la variable que sale. Para ello se divide cada término
independiente (b) entre el elemento correspondiente de la columna pivote,
siempre que el resultado sea mayor que cero, y se escoge el mínimo de ellos.
Si hubiera algún elemento menor o igual a cero no se realiza dicho cociente, y
caso de que todos los elementos de la columna pivote fueran de ésta condición
tendríamos una solución no acotada y terminaríamos el problema
7- El término de la columna pivote que en la división anterior dé lugar al
menor cociente positivo, indica la fila de la variable de holgura que sale de la
base, Esta fila se llama fila pivote (En color).
Si al calcular los cocientes, dos o más son iguales (caso de empate), se escoge
aquella que no sea variable básica (si es posible).
En la intersección de la fila pivote y columna pivote tenemos el elemento
pivote, .
6. Encontrar los coeficientes de la nueva tabla.
Los nuevos coeficientes de la fila pivote, , se obtienen dividiendo todos los
coeficientes de dicha fila entre el elemento pivote, , que es el que hay que
convertir en 1.
A continuación mediante la reducción gaussiana hacemos ceros los restantes
términos de su columna, con lo que obtenemos los nuevos coeficientes de las
otras filas incluyendo los de la función objetivo Z.
También se puede hacer de la siguiente manera:
Se puede observar que no hemos alcanzado la condición de parada ya que en
los elementos de la última fila, Z, hay uno negativo, -1. Hay que repetir el
proceso:
A. La variable que entra en la base es y Y), por ser la variable que
corresponde a la columna donde se encuentra el coeficiente -1.
B. Para calcular la variable que sale, dividimos los términos de la última
columna entre los términos correspondientes de la nueva columna
pivote:
El elemento pivote, que ahora hay que hacer 1,.Operando de forma
análoga a la anterior obtenemos la tabla:
Como en los elementos de la fila Z hay uno negativo, , significa que no hemos
llegado todavía a la solución óptima. Hay que repetir el proceso:
A. La variable que entra en la base epor ser la variable que corresponde al
coeficiente
B. Para calcular la variable que sale, dividimos los términos de la última
columna entre los términos correspondientes de la nueva columna
pivote: y como el menor cociente positivo es la variable que sale es s
C. El elemento pivote, que ahora hay que hacer 1,
Obtenemos la tabla:
Se observa que en la última fila todos los coeficientes son positivos, por lo
tanto se cumple la condición de parada, obteniendo la solución óptima.
La solución óptima viene dada por el valor de Z en la columna de los valores
solución, . En la misma columna se puede observar el punto donde se alcanza,
observando las filas correspondientes a las variables de decisión que han
entrado en la base: (x,y)
El método Simplex se basa en la siguiente propiedad: si la
función objetivo, f, no toma su valor máximo en el vértice A, entonces hay
una arista que parte de A, a lo largo de la cual f aumenta.
Deberá tenerse en cuenta que este método sólo trabaja para restricciones que
tengan un tipo de desigualdad "≤" y coeficientes independientes mayores o
iguales a 0, y habrá que estandarizar las mismas para el algoritmo. En caso de
que después de éste proceso, aparezcan (o no varíen) restricciones del tipo "≥"
o "=" habrá que emplear otros métodos, siendo el más común el método de las
Dos Fases.
EJEMPLO
3
2
Maximizar Z = 3x1 + 4 x 2 + x3
Sujeta a :
3
x3 ≥ −10
2
2 x1 + 2 x 2 + x3 ≤ 10
x1 , x 2 , x3 ≥ 0
− x1 − 2 x 2 +
La primera desigualdad se multiplica por -1
x1 + 2 x 2 ≤ 10
Se hace la tabla simplex los cocientes son .
10
10
= 5 y tambien
=5
2
2
Tabla I
Base
x1
x2
x3
s1
s2
Z
b
s1
1
2
0
1
0
0
10
s2
2
2
1
0
1
0
10
z
-3
-4
−
0
0
1
0
3
2
Dado que existe un empate en el menor cociente, se puede elegir
cualquiera de los dos, s1 o s 2 , como la variable saliente. Se escoge s r Se
encierra en un círculo el pivote. Utilizando operaciones elementales sobre
renglones, se obtiene la Tabla II.
TABLA SIMPLEX II
0
1
No hay cocientes porque 0 no es positivo y . = 0
Tabla II
Base
x1
x2
x3
s1
s2
Z
b
x2
1
2
1
0
1
2
0
0
5
s2
1
0
1
-1
1
0
0
z
-1
-0
2
0
1
20
−
3
2
indicadores
La Tabla II corresponde a una S.F.B. en la que una variable básica s 2 es cero.
Por ello, la S.F.B. es degenerada. Ya que existen indicadores negativos, se
continua el proceso. La variable entrante es ahora x 3 , la variable saliente es s 2
y el pivote se encuentra encerrado en un círculo. Utilizando operaciones
elementales sobre renglones, se obtiene la Tabla III.
TABLA SIMPLEX III
Tabla III
Base
x1
x2
x3
s1
s2
Z
b
x2
1
2
1
0
1
2
0
0
5
x3
1
0
1
-1
1
0
0
z
1
2
0
0
1
2
3
2
1
20
indicadores
En virtud de que todos los indicadores son no negativos, Z es máxima
cuando x 2 = 5 y x 3 = O, y x l = s l = s 2 = 0. El máximo valor es Z = 20.
Obsérvese que este valor es igual al valor de Z correspondiente a la Tabla
II. En problemas con degeneración es posible llegar al mismo valor de Z
en varias etapas del proceso simplex.
Debido a su naturaleza mecánica, el procedimiento simplex se adapta con
facilidad a las computadoras, y permite resolver problemas de programación
lineal que implican muchas variables y muchas restricciones
OBJETIVOS
• Maximizar por el método SIMPLEX la funcion objetivo limitada a la
restricciones
1.
P = 10 x + 12 y
x + y ≤ 60
x − 2y ≥ 0
x, y ≥ 0
2.
P = 5x + 6 y
x + y ≤ 80
3.
Z = 4x − 6 y
x+ y≥5
3 x + 2 y ≤ 220
2 x + 3 y ≤ 210
3x − y ≤ 3
y≤7
x, y ≥ 0
x, y ≥ 0
Z = 4 x − 10 y
2x − y ≤ 2
x − 4y ≥ 4
x, y ≥ 0
Z = 0 .5 x − 0 .3 y
2x − y ≤ 4
2x + y = 8
x − y ≥ −2
x, y ≥ 0
Descargar