Programación lineal simplex dual

Page 1

PROGRAMACIÓN LINEAL

MÉTODO SIMPLEX DUAL LUIS EDUARDO CALLE ALEX ALFONSO GARCIA CRISTIAN MIGUEL RODRIGUEZ CORPORACION UNIVERSITARIA REMINGTON

2016


El Método Simplex HISTORIA Publicado por George Dantzig en 1947 consiste en un algoritmo iterativo que secuencialmente a través de iteraciones se va aproximando al óptimo del problema de Programación Lineal en caso de existir esta última. La primera implementación computacional del Método Simplex es el ano 1952 para un problema de 71 variables y 48 ecuaciones. Su resolución tarda 18 horas. Luego, en 1956, un código llamado RSLP1, implementado en un IBM con 4Kb en RAM, admite la resolución de modelos con 255 restricciones.

Cabe destacar que para aplicar el Método Simplex a un modelo lineal, este debe estar en un formato especial conocido como formato estándar el cual definiremos a continuación.

El Método Simplex hace uso de la propiedad de que la solución óptima de un problema de Programación Lineal se encuentra en un vértice o frontera del dominio de puntos factibles (esto último en casos muy especiales), por lo cual, la búsqueda secuencial del algoritmo se basa en la evaluación progresiva de estos vértices hasta encontrar el óptimo.

2


El Método Simplex Dual

Su Aplicación

Nos frece una alternativa algorítmica para abordar la resolución de modelos de Programación Lineal.

El método dual-simplex se aplica para resolver problemas que empiezan con factibilidad dual, es decir, óptimos pero infactibles.

En particular este método se puede utilizar cuando luego de llevar a la forma estándar un modelo de Programación Lineal no se dispone de una solución básica factible inicial con la cual se pueda dar inicio a las iteraciones del algoritmo. En este contexto a continuación se presenta un ejemplo con los detalles de la aplicación de este procedimiento.

Un problema se puede resolver por el método dual-simplex, cuando, después de igualar acero la función objetivo y convertir las restricciones en ecuaciones, agregando las variables de holgura necesarias, al menos uno, cualquiera de los elementos del vector b (vector de disponibilidades) es negativo y la condición de optimalidad se satisface.

3


Un comparativo entre el método simplex y el método dual-simplex.

El método dual-simplex requiere de la aplicación de dos criterios para su solución: El criterio de optimalidad que asegura que la solución permanecerá óptima todo el tiempo y el criterio de factibilidad que forza las soluciones básicas hacia el espacio factible. Criterio de Factibilidad. La variable saliente será aquella variable básica que tenga el valor más negativo en el vector bi. Si todas las variables básicas son positivas o sea ³0 se tiene la solución final, óptima y factible.

Criterio de optimalidad. La variable entrante se selecciona de entre las variables no-básicas como sigue: Dividir los coeficientes de la ecuación cero entre los coeficientes de la ecuación asociada con la variable saliente, ignorando denominadores positivos y/o ceros. La variable entrante será aquella cuyo cociente sea el menor, si el problema es de minimizar, ó el de menor valor absoluto si es de maximizar.

4


MÉTODO DUAL 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. Pero surge la posibilidad de usar otro esquema igualmente iterativo, que como contraparte del simplex, comienza en una solución básica óptima, pero no factible y mantiene la inmejorabilidad mientras busca la factibilidad.

El nuevo algoritmo fue desarrollo en 1954 por C. E. Lemke y se conoce con el nombre de Método Dual-Simplex. A continuación se presenta su estructura y un ejemplo para ilustrar su aplicación

Con este procedimiento se llega igualmente a la solución óptima. .

5


Algoritmo Dual-Simplex para un modelo de maximización Primero se debe expresar el modelo en formato estándar, agregando las variables de holgura y de exceso que se requieran. Enseguida, en las ecuaciones que tengan variables de exceso (resultantes de restricciones de tipo >), se debe multiplicar por (-1) en ambos lados, para hacer positivo el coeficiente de la variable de exceso, y formar así un vector unitario que nos permita tomar esta variable de exceso como una variable básica inicial. sin necesidad de agregar una variable artificial en esa restricción. 1. Al hacer lo anterior se logra que debajo de las variables básicas aparezca una matriz identidad, que es la que el simplex siempre toma como base inicial. 3. Es importante destacar que este proceso es muy útil ya que en muchos modelos evita la inclusión de variables artificiales en el momento de transformar un modelo a formato estándar.

2. Obtendremos que los términos del lado derecho de las ecuaciones multiplicadas por (-1) quedan con signo negativo, lo cual hace que la solución inicial sea infactible.

6


El algoritmo para resolver un modelo de maximización es el siguiente: Paso 1: Hallar una solución básica inicial infactible e inmejorable

Datos

1er trim.

2º trim.

3er trim.

4º trim.

Escribir el tablero inicial tomando a las variables de holgura y de exceso como variables básicas iniciales

Paso 2: Prueba de factibilidad • Si todas las variables básicas son no negatívas, la actual solución es la óptima. • Si hay al menos una variable básica negativa, seleccionar como variable de salida, • (llamémosla (XB)s ), a aquella con el valor mas negativo. Los empates se pueden romper arbitrariamente.

7


Paso 3: Prueba de inmejorabilidad •

Sí en el renglón de la variable básica de salida (XB)s todos los coeficientes de reemplazo con las variables no básicas son no negativos, la solución del modelo es óptima ¡limitada. Se termina el proceso. Si en el renglón de la variable básica de salida (XB)s, hay al menos un coeficiente de intercambio negativo , se efectúan los cocientes entre el efecto neto de cada variable no básicas y su correspondiente coeficiente de intercambio negativo. Es decir, siendo (XB)s la variable de salida se calculan todos los cocientes.

TEN EN CUENTA

• Se toma como variable de entrada (Llamémosla Xe) a aquella que corresponda al mínimo de los cocientes del anterior conjunto

• Si la variable de entrada es Xe el elemento pivote será el elemento (Se)s • El empate se arbitrariamente.

puede

romper

• Aplicar la operación de pivoteo para generar la nueva tabla, en la cual aparezca Xe como variable básica en lugar de la variable de salida (XB)s

8


RESOLUCIÓN DEL PROBLEMA DUAL, PASO A PASO El siguiente problema a resolver es hasta el momento el modelo más completo, Dado el siguiente modelo primal, ZMAX = 40X1 + 18X2 16X1 + 2X2 ≤ 700 6X1 + 3X2 ≤ 612 X1 ≤ 80 X2 ≤ 120

9


Cuya respuesta es X1 = 28,75 X2 = 120 S1 = 79.5 S3 = 51.25 Funciรณn objetivo = 3310 Procedemos a resolver el problema dual

PASO 1: Definimos el problema dual

10


Este paso se lleva a cabo teniendo en cuenta las relaciones que se expusieron en la definición de la dualidad. Ahora las variables en el dual las representaremos por "ʎ" y corresponden a cada restricción. El modelo queda de la siguiente forma: ZMIN = 700ʎ1 + 612ʎ2 + 80ʎ3 + 120ʎ4 16ʎ1 + 6ʎ2 + ʎ3 ≥ 40 2ʎ1 + 3ʎ2 + ʎ4 ≥ 18 ʎ1;ʎ4 ≥ 0 Ahora preparamos el modelo para ser resuelto mediante Método Simplex, utilizaremos el procedimiento en el cual la función objetivo es multiplicada por (-1) y resolveremos el modelo mediante maximización. ZMIN = 700ʎ1 + 612ʎ2 + 80ʎ3 + 120ʎ4 Lo que es igual (-Z)MAX = -700ʎ1 - 612ʎ2 - 80ʎ3 - 120ʎ4 Ahora dado que los signos de las inecuaciones son mayor o igual procedemos a volverlas ecuaciones agregando variables de exceso, recordemos que en este caso las variables de exceso se restan del lado izquierdo de la igualdad, por ende. 16ʎ1 21ʎ1

+ 6ʎ2 + ʎ3 + 0ʎ4 - 1S1 + 0S2 = 40 + 3ʎ2 + 0ʎ3 + ʎ4 + 0S1 - 1S2 = 18 ʎ1;ʎ4 ≥ 0

11


NOTA Recordemos que el Método Simplex solo es posible por la formación de la matriz identidad, sin embargo en una matriz identidad no pueden ir coeficientes negativos, el cual es el caso.

16ʎ1 21ʎ1

+ 6ʎ2 + ʎ3 + 0ʎ4 - 1S1 + 0S2 + 1A1 + 0A2 ≥ 40 + 3ʎ2 + 0ʎ3 + ʎ4 + 0S1 - 1S2 + 0A1 + 1A2 ≥ 18 ʎ1;ʎ4 ≥ 0

Ahora si observamos la matriz identidad formada por las variables artificiales, nuestra función objetivo es la siguiente (varía dada la incorporación de las nuevas variables).

(-Z)MAX

=

-700ʎ1

-

612ʎ2

-

80ʎ3

-

120ʎ4

+

0S1

+

0S2

-

MA1 - MA2

Recordemos que el coeficiente de las variables de holgura y exceso es 0, además que los coeficientes de las variables artificiales es M, donde M corresponde a un número grande poco atractivo cuyo signo en la función objetivo depende del criterio de la misma, dado que la función es maximizar el signo es negativo.

12


Podemos observar que todos los Cj - Zj son menores o iguales a 0, por ende hemos llegado a la soluci贸n 贸ptima del problema, sin embargo recordemos que la funci贸n objetivo fue alterada en su signo al principio, (-Z)max = -3310 * (-1) Zmax = 3310 Podemos cotejar con la funci贸n objetivo del modelo primal y encontraremos que hallamos el mismo resultado.

13


Ahora se hace necesario interpretar los resultados de la tabla dual respecto al modelo primal, y esta interpretaciรณn se realiza siguiendo los siguientes principios.

La interpretaciรณn del tabulado final del modelo dual es la siguiente:

14


Software que permite resolver

PHPSimplex PHPSimplex es una herramienta online para resolver problemas de programación lineal. Su uso es libre y gratuito. Para acceder a ella basta con pulsar sobre el icono que aparece a la izquierda, o sobre «PHPSimplex» en el menú superior. PHPSimplex es capaz de resolver problemas mediante el método Simplex, el método de las Dos Fases, y el método Gráfico.

POM-QM 3 para Windows Software para la planificación de las operaciones, entre otras cosas contiene: solver de problemas de transporte, pronósticos, manejo de inventario, balances de línea, líneas de espera, programación lineal, localización, etc. Incluye: – POM-QM 3 – Manual – OM-explorer

15


Ejemplo 1

Considere el siguiente modelo de PL y determine su solución por el método dual-simplex. Minimizar. Z= 2X1+ X2 S.A. 3X1 +X2 ³ 3 4X! +3X2 ³6 X! +2X2 # 3 X1³0 ,

X2³0 X3³0

Igualando a cero la función objetivo y agregando las variables de holgura para obtener ecuaciones de restricción.

Minimizar. Z-2X1 - X2 = 0 S.A. -3X1 -X2 +X3 =-3 -4X! -3X2 +X4 =-6 X! +2X2 X5 = 3 X1³0 ,

X2³0 X3³0

Obteniendo la forma tabular procedimiento del dual-simplex

para

aplicar

el

16


Conclusión. La solución óptima es: X1 = 3/5 X2= 6/5 Con Zoptima = 12/5

Ejemplo 2.

Considere el siguiente modelo de PL y determine su solución por el método dual-simplex. Maximizar. Z= -4X1 -12 X2 -18 X3 S.A. X1 +3X3 ³ 3 +2X2 +2X3 ³ 5 X1³0 ,

X2³0 X3³0

Igualando a cero la función objetivo y agregando las variables de Minimizar. Z+4X1 +12 X2 +18 X3= 0 S.A. -X1 -3X3 +X4 =-3 -.2X2 -2 X3 X5 =-5 X1³0 ,

X2³0 X3³0

Conclusión. La solución óptima es: X2 = 3/2 X3= 1 Con Z optima = -36

17


Ejemplo 3.

18


19


Ejemplo 4.

(3 primeras: S1, S2, S3, respectivamente). Luego, se multiplica cada fila de las restricciones por -1 de modo de disponer una soluciรณn bรกsica inicial (infactible) en las variables de exceso S1, S2 y S3. De esta forma se obtiene la siguiente tabla inicial.

20


. En el ejemplo el lado derecho más negativo se encuentra en la primera fila, por tanto S1 deja la base. Para determinar cual de las actuales variables no básicas (A, B, C) entrará a la base se busca el mínimo de {-Yj/aij} donde aij es el coeficiente de la respectiva variable no básica en la fija i (del lado derecho más negativo, marcado en verde) y donde Yj es el costo reducido de la respectiva variable no básica. De esta forma se obtiene: Min {-315/-15, -110/-2, -50/-1} = 21, donde el pivote (marcado en rojo) se encuentra al hacer el primer cuociente, por tanto A entra a la base.

Luego de unas iteraciones se obtiene la siguiente tabla final:

La solución óptima es A=8, B=10, C=60 (mar cado en verde) con valor óptimo V(P)=6.620

21


BILBIOGRAFIA

• http://148.204.211.134/polilibros/portal/polilibros • http://www.gestiondeoperaciones.net/programaci on_lineal • http://oromeroio.blogcindario.com/ficheros/Meto doSimplexDual.pdf • http://www.itlalaguna.edu.mx/academico/carrer as/industrial

22


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.