viernes, 26 de octubre de 2012

metodo simplex

PROGRAMACIÓN LINEAL
UNIVERSIDAD DE LA GUAJIRA, EXTENSIÓN MAICAO.

PONENTES:
ELIANA HENRIQUEZ MONTERO.
KATERIN DUARTE NUÑEZ.
BRIANNA CALDERON CARRILLO.
ALBERTO SUAREZ MANJARREZ. 



EL MÉTODO SIMPLEX PARA SOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL

Es un procedimiento iterativo que permite ir mejorando la solución a cada paso. El proceso concluye cuando no es posible seguir mejorando más dicha solución.
Partiendo del valor de la función objetivo en un vértice cualquiera, el método consiste en buscar sucesivamente otro vértice que mejore al anterior. La búsqueda se hace siempre a través de los lados del polígono (o de las aristas del poliedro, si el número de variables es mayor). Cómo el número de vértices (y de aristas) es finito, siempre se podrá encontrar la solución.
El método del 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.
El método del simplex fue creado en 1947 por el matemático George Dantzig .
El método del simplex se utiliza, sobre todo, para resolver problemas de programación lineal en los que intervienen tres o más variables.
El álgebra matricial y el proceso de eliminación de Gauss-Jordan para resolver un sistema de ecuaciones lineales constituyen la base del método simplex.


Con miras a conocer la metodología que se aplica en el Método SIMPLEX, vamos a resolver el siguiente problema: 


MaximizarZ = f(x,y) = 3x + 2y
sujeto a:2x + y ≤ 18
2x + 3y ≤ 42
3x + y ≤ 24
x ≥ 0 , y ≥ 0


Se consideran las siguientes fases:

1. Convertir las desigualdades en igualdades

Se introduce una variable de holgura por cada una de las restricciones, para convertirlas en igualdades, resultando el sistema de ecuaciones lineales: 

2x + y + s1               = 18
2x + 3y      + s2        = 42
3x +y                + s3 = 24

2. Igualar la función objetivo a cero

- 3x - 2y + Z = 0

3. Escribir la tabla inicial simplex

En las columnas aparecerán todas las variables del problema y, en las filas, los coeficientes de las igualdades obtenidas, una fila para cada restricción y la última fila con los coeficientes de la función objetivo: 


Tabla I . Iteración nº 1 
Base
Variable de decisión
Variable de holgura
Valores solución

x
Y
S1
S2
S3

S1
2
1
1
0
0
18
S2
2
3
0
1
0
42
S3
3
1
0
0
1
24
Z
-3
-2
0
0
0
0



4. Encontrar la variable de decisión que entra en la base y la variable de holgura que sale de la base


A.   Para escoger la variable de decisión que entra en la base, nos fijamos en la última fila, la de los coeficientes de la función objetivo y escogemos la variable con el coeficiente negativo mayor (en valor absoluto).

En nuestro caso, la variable x de coeficiente - 3.

Si existiesen dos o más coeficientes iguales que cumplan la condición anterior, entonces se elige uno,  cualquiera de ellos.
Si en la última fila no existiese ningún coeficiente negativo, significa que se ha alcanzado la solución óptima. Por tanto, lo que va a determinar el final del proceso de aplicación del método del simplex, es que en la última fila no haya elementos negativos.

La columna de la variable que entra en la base se llama columna pivote (En color azulado). 


B.    Para encontrar la variable de holgura que tiene que salir de la base, se divide cada término de la última columna (valores solución) por el término correspondiente de la columna pivote, siempre que estos últimos sean mayores que cero. En nuestro caso:

      
18/2 [=9] , 42/2 [=21] y 24/3 [=8]

Si hubiese algún elemento menor o igual que cero no se hace dicho cociente. En el caso de que todos los elementos fuesen menores o iguales a cero, entonces tendríamos una solución no acotada y no se puede seguir.
El término de la columna pivote que en la división anterior dé lugar al menor cociente positivo, el 3, ya 8 es el menor, indica la fila de la variable de holgura que sale de la base, d. Esta fila se llama fila pivote (En color azulado).


Nota Si al calcular los cocientes, dos o más son iguales, indica que cualquiera de las variables correspondientes pueden salir de la base.   

C.    En la intersección de la fila pivote y columna pivote tenemos el elemento pivote operacional, 3.

5. Encontrar los coeficientes de la nueva tabla.

Los nuevos coeficientes de x se obtienen dividiendo todos los coeficientes de la fila S3 por el pivote operacional, 3, 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


Tabla II . Iteración nº 2
Base
Variable de decisión
Variable de holgura
Valores solución

x
Y
S1
S2
S3

S1
0
1/3
1
0
-2/3
2
S2
0
7/3
0
1
-2/3
26
x
1
1/3
0
0
1/3
8
Z
0
-1
0
0
1
24


Como en los elementos de la última fila hay uno negativo, -1, 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 es y, por ser la variable que corresponde al 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:


2:1/3 [=6] , 26:7/3 [=78/7] y 8:1/3 [=8] 


y como el menor cociente positivo es 6, tenemos que la variable de holgura que sale es S1.

C.    El elemento pivote, que ahora hay que hacer 1, es 1/3.  Operando de forma análoga a la anterior obtenemos la tabla: 



Tabla III . Iteración nº 3
Base
Variable de decisión
Variable de holgura
Valores solución

x
Y
S1
S2
S3

y
0
1
3
0
-2
6
S2
0
0
-7
0
4
12
x
1
0
-1
0
1
6
Z
0
0
3
0
-1
30


Como en los elementos de la última fila hay uno negativo, -1, 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 es d, por ser la variable que corresponde al 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:

6/(-2) [=-3] , 12/4 [=3], y 6:1 [=6] 




y como el menor cociente positivo es 3, tenemos que la variable de holgura que sale es s.


C.    El elemento pivote, que ahora hay que hacer 1, es 4. Obtenemos la tabla: 

Tabla IV . Final del proceso
Base
Variable de decisión
Variable de holgura
Valores solución

x
Y
h
s
d

y
0
1
-1/2
0
0
12
d
0
0
-7/4
0
1
3
x
1
0
-3/4
0
0
3
Z
0
0
5/4
0
0
33


Como todos los coeficientes de la fila de la función objetivo son positivos, hemos llegado a la solución óptima.

La solución óptima viene dada por el valor de Z en la columna de los valores solución, en nuestro caso: 33. 





 MÉTODO SIMPLEX MINIMIZACIÓN


Z=3m+4n-8ñ

3m-4n ≤12

m+2n+ñ ≥ 4
4m-2n+5ñ ≤20

m≥0;n≥0;ñ≥0



Como es un problema de minimización recordemos que tenemos que maximizar la función objetivo o sea queda así:

-3m-4n+8ñ+Z=0


Las inecuaciones las hacemos igualdades


3m-4n=12

m+2n+ñ=4
4m-2n+5ñ=20

Ahora tenemos que hacer nuestra tabla 1 y aplicaremos el mismo procedimiento del método simplex para la maximización.



Ahora de la tabla tomaremos el MAYOR POSITIVO en este caso es el 8 y ya encontramos nuestra columna pivote.

Posteriormente dividimos 20/5=4 4/1=4 12/0=0 y tenemos que tomar el número menos de estas divisiones en este caso tenemos dos, cuartos podemos tomar cualquiera.
Y ya encontramos nuestro pivote operacional donde en este caso será 1, ahora tenemos que dividir toda esa fila entre este 1, para poder resolver la siguiente tabla:

Si nos damos cuenta la ñ ahorra ya paso a la base.

El problema se termina aquí porque ya nos quedaron puros negativos y ceros en nuestra función objetiva y esto es lo necesitábamos.




Casos especiales en la aplicación del método simplex



Consideraremos casos especiales que pueden presentarse en la aplicación del método simplex, entre los que se encuentran:

1.   Degeneración.
2.   Opciones óptimas.
3.   Soluciones no acotadas.
4.   Soluciones inexistentes (o infactible).


DEGENERACIÓN

En la aplicación de la condición de factibilidad, una coincidencia de la razón mínima se debe descomponer en forma arbitraria para los fines de determinar la variable que sale. Cuando suceda esto una o más veces de las variables básicas, será necesariamente igual a cero en la siguiente iteración. En este caso, decimos que la nueva solución es degenerada.


OPCIONES OPTIMAS
Cuando la función objetivo es paralela a una restricción de enlace (o sea, una restricción que se satisface en el sentido de la igualdad a través de la solución óptima), la función objetivo tomara el mismo valor optimo en más de un punto de solución. Por esta razón reciben el nombre de opciones optimas.


SOLUCIÓN NO ACOTADA
En algunos modelos de programación lineal los valores de las variables se pueden aumentar en forma indefinida sin violar ninguna de las restricciones, lo que significa que el espacio de soluciones es no acotado cuando menos en una dirección. Como resultado, el valor de la función objetivo puede crecer (caso de maximización) o de crecer (caso de minimización) en forma indefinida. En este caso decimos que el espacio de soluciones y el valor "óptimo" de la función objetivo son no acotados.
La falta de explicación en un modelo puede señalar solo una cosa: el modelo está mal construido. Evidentemente resulta irracional hacer que un modelo produzca una ganancia " infinita". Las irregularidades mas probables en estos modelos son: 1) No se toman en cuenta una mas restricciones redundantes, y 2) No se determinan correctamente los parámetros ( constantes ) de algunas restricciones.
La regla general para reconocer la falta de acotación es la siguiente. Sien cualquier iteración los coeficientes de las restricciones de una variable no básica son no positivos, entonces el espacio de soluciones no esta acotado en esa dirección. Además, si el coeficiente de la función objetivo de esa variable en el caso de la maximización o positivo en el caso de la minimización, entonces el valor de la función objetivo tampoco esta acotado.


SOLUCIÓN INFACTIBLE
Si las restricciones no se pueden satisfacer en forma simultanea, se dice que el modelo no tiene solución factible. Esta situación nunca puede ocurrir si todas las restricciones son del tipo (suponiendo constantes no negativas en el segundo miembro) ya que la variable de holgura produce siempre alguna solución factible. Sin embargo, cuando empleamos los otros tipos de restricciones, recurrimos al uso de variables artificiales que, por su mismo diseño, no ofrecen una solución factible al modelo original. Aunque se toman medidas (a través del uso de la penalización) para hacer que las variables artificiales sean cero en el nivel óptimo, esto sólo puede ocurrir si el modelo tiene un espacio factible. Si no lo tiene, cuando menos una variable artificial será positiva en la iteración óptima. Esta es nuestra indicación que el problema no tiene solución factible.
Desde el punto de vista practico un espacio infactible apunta a la posibilidad de que el modelo no se haya formulado correctamente en virtud de que las restricciones estén en conflicto. También es posible que las restricciones no estén destinadas a cumplirse en forma simultanea, en este caso, quina se necesite una estructura del modelo totalmente deferente que no admita todas las restricciones al mismo tiempo.





EJERCICIOS DE RETROALIMENTACION



http://www.youtube.com/watch?v=LEIRDl5g8s4