Successfully reported this slideshow.

Unmsm fisi - método dual simplex - io1 cl10-dual_simplex

2,546 views

Published on

  • Be the first to comment

Unmsm fisi - método dual simplex - io1 cl10-dual_simplex

  1. 1. 1 Solución de PPL: Método Dual-Simplex Docente : Lic. Gabriel Solari Carbajal Universidad Nacional Mayor de San Marcos Facultad de Ingeniería de Sistemas e Informática Investigación Operativa I 2 EL METODO DUAL-SIMPLEX Este método elaborado por Carlton E. Lemke en 1954, se utiliza para hallar la solución de un PPL, que es óptimo pero infactible. En la actualidad todos los software comerciales utilizan éste método. Método Dual-Simplex
  2. 2. 2 3 1) Dado un PPL de maximización o minimización transformarlo, mediante las reglas de equivalencia a su forma canónica: cXZMax/Min = bAX≤ 0X ≥ sujeto a Método Dual-Simplex Las restricciones con ≥, convertir a ≤ multiplicando por (-1) ambos lados de la restricción. Procedimiento.- 4 2) Expresar el PPL del paso 1 a la forma estándar mediante la aplicación de la regla 4 de las reglas de equivalencia: sujeto a nn2211 xcxcxcZMax/Min +++= L 11nn1n212111 bxxaxaxa =++++ +L 22nn2n222121 bxxaxaxa =++++ +L M mmnnmn2m21m1 bxxaxaxa =++++ +L Método Dual-Simplex
  3. 3. 3 5 El vector de las variables de holgura y/o exceso (xn+1, xn+2,..., xn+m) se convierte en la primera base del PPL, tomando como valores el vector de recursos. Las variables básicas de exceso resultan infactibles tomando valores negativos. Método Dual-Simplex 6 3) Escribir la función objetivo en la forma: o en forma similar: 0cXZ =− 0xcxcxcZ nn2211 =−−−− L Método Dual-Simplex
  4. 4. 4 7 4) Construir la tabla inicial con los coeficientes del problema estándar obtenido en los pasos 2 y 3, esta tabla tiene la siguiente estructura: Z x1 x2 xn xn+1 xn+2 xn+m Sol. Z 1 -c1 -c2 -cn 0 0 0 0 xn+1 0 a11 a12 a1n 1 0 0 b1 xn+2 0 a21 a22 a2n 0 1 0 b2 xn+m 0 am1 am2 amn 0 0 1 bm Θ Método Dual-Simplex 8 El tablero resultante debe ser óptimo pero infactible. Si el problema es de maximización, los coeficientes zj-cj son no negativos. Si el problema es de minimización, los coeficientes zj-cj son no positivos. Algunas variables básicas toman valores negativos resultando infactibles. NOTA: Si el tablero no es óptimo, operar con el método Simplex (anterior) hasta que lo sea. Método Dual-Simplex
  5. 5. 5 9 5) Condición de factibilidad Seleccione como variable de salida de la base, aquella variable que tenga el valor más negativo. Método Dual-Simplex Z x1 x2 x3 x4 x5 x6 Sol. Z 1 x4 0 -3 x5 0 -6 x6 0 3 Θ Ejemplo: 10 La variable básica con valor más negativo corresponde a x5 (-6), entonces es la variable que debe salir de la base. Si hay empate entre 2 o más variables básicas para salir de la base, elija arbitrariamente cualquiera de ellas. Si todas las variables básicas son no negativas, la solución óptima ha sido hallada. Método Dual-Simplex
  6. 6. 6 11 Método Dual-Simplex 6) Condición de optimalidad Seleccione como variable de entrada a la base, aquella variable no básica que le corresponde el cociente más pequeño de los que resultan de dividir los coeficientes zj-cj con los coeficientes estrictamente negativos de la matriz de coeficientes tecnológicos correspondientes a la variable que sale. 12 Método Dual-Simplex Ejemplo: En un problema de maximización Z x1 x2 x3 x4 x5 x6 Sol. Z 1 1 3 2 0 0 0 x4 0 -3 x5 0 -2 4 -3 0 1 0 -6 x6 0 3 Θ { } 500.0667.00.500,min 3- 2 , 2- 1 min == ⎭ ⎬ ⎫ ⎩ ⎨ ⎧
  7. 7. 7 13 El menor cociente corresponde a la variable x1 (0.500), entonces esta es la variable que debe ingresar a la base. Si hay empate en los cocientes entre 2 o más variables, elija arbitrariamente cualquiera de ellas. Si no se tienen coeficientes tecnológicos estrictamente negativos (no hay variable que ingrese a la base), la solución es no acotada. Método Dual-Simplex 14 7) Construcción de la nueva tabla Simplex La intersección de la fila que corresponde a la variable que debe salir con la columna que corresponde a la variable que debe ingresar determina un elemento que se conoce como pivot. Mediante operaciones elementales construir la nueva tabla Dual-Simplex, donde se verifique que la variable que ingresa a la base le corresponde un vector unitario y un valor zj-cj igual a cero. El valor 1 de este vector unitario se encuentra en la ubicación del pivot. Método Dual-Simplex
  8. 8. 8 15 Las operaciones que se utilizan son: La nueva fila pivot se obtiene dividiendo cada valor de la fila pivot entre el valor pivot. Método Dual-Simplex 16 Z x1 x2 x3 x4 x5 x6 Sol. Z 1 4 2 3 0 0 0 0 x4 0 -3 x5 0 -1 2 -2 0 1 0 -6 x6 0 3 Z 1 0 x4 0 0 x3 5 0.5 -1 1 0 -0.5 0 3 x6 0 0 Θ Método Dual-Simplex
  9. 9. 9 17 Las restantes filas se obtienen de la siguiente forma: Restar a cada valor de una fila no pivot el producto de su correspondiente valor en la columna pivot por su correspondiente valor columna en la nueva fila pivot. Método Dual-Simplex 18 Z x1 x2 x3 x4 x5 x6 Sol. Z 1 -3 -2 -5 0 0 0 0 x4 0 1 1 430 430 x5 0 3 0 2 0 1 0 460 230 x6 0 0 420 1 - 1 x 1.5 = -0.5 Z 1 0 0 0 x4 0 -0.5 0 x3 5 1.5 0 1 0 0.5 0 230 x6 0 0 Θ Método Dual-Simplex
  10. 10. 10 19 Una vez completa la nueva tabla regresar al paso 5. Método Dual-Simplex 20 PROBLEMA.- Se desea averiguar las cantidades de ciertos alimentos que deben comerse para satisfacer ciertos requerimientos nutritivos a un costo mínimo. Supongamos que las consideraciones se limitan a leche, carne, huevos y a las vitaminas A, C y D. Supongamos que el número de miligramos de vitaminas contenidas en cada unidad de alimentos se da en la tabla siguiente: Método Dual-Simplex
  11. 11. 11 21 A 1 1 10 1 C 100 10 10 50 D 10 100 10 10 Costo en soles 40 44 20 VITAMINA Mínimo requerido a diario (mg) Galón de leche Libra de carne Docena de huevos Método Dual-Simplex 22 SOLUCION.- xL : cantidad de leche en galones xC : cantidad de carne en libras xH : cantidad de huevos por docena Variables de decisión Método Dual-Simplex
  12. 12. 12 23 Restricción por requerimiento mínimo de vitamina A: 110xxx HCL ≥++ Restricciones Restricción por requerimiento mínimo de vitamina C: 5010x10x100x HCL ≥++ Restricciones de no negatividad: Restricción por requerimiento mínimo de vitamina D: 1010x100x10x HCL ≥++ 0x,x,x HCL ≥ Método Dual-Simplex 24 HCL 20x44x40xZMin ++= Función objetivo Método Dual-Simplex
  13. 13. 13 25 El programa queda: sujeto a HCL 20x44x40xZMin ++= 110xxx HCL ≥++ 5010x10x100x HCL ≥++ 1010x100x10x HCL ≥++ 0x,x,x HCL ≥ Método Dual-Simplex 26 A la forma canónica: sujeto a HCL 20x44x40xZMin ++= 110xxx HCL −≤−−− 5010x10x100x HCL −≤−−− 1010x100x10x HCL −≤−−− 0x,x,x HCL ≥ Método Dual-Simplex
  14. 14. 14 27 A la forma estándar: sujeto a HCL 20x44x40xZMin ++= 1x10xxx 1HCL −=+−−− 50x10x10x100x 2HCL −=+−−− 10x10x100x10x 3HCL −=+−−− 0x,x,x HCL ≥ Método Dual-Simplex 28 Construyendo el tablero inicial se tiene: Se observa que la variable que debe salir de la base es x2 y la variable que debe ingresar a la base es xL. El valor pivot es -100. La solución actual es Z = 0. Método Dual-Simplex Z xL xC xH x1 x2 x3 Sol. Z 1 -40 -44 -20 0 0 0 0 x1 0 -1 -1 -10 1 0 0 -1 x2 0 -100 -10 -10 0 1 0 -50 x3 0 -10 -100 -10 0 0 1 -10 0.40 4.40 2.00
  15. 15. 15 29 Se observa que la variable que debe salir de la base es x3 y la variable que debe ingresar a la base es xC. El valor pivot es -99. La solución actual es Z = 20. realizando las correspondientes operaciones matriciales, se obtiene: Método Dual-Simplex Z xL xC xH x1 x2 x3 Sol. Z 1 0 -40 -16 0 -0.4 0 20 x1 0 0 -9/10 -99/10 1 -1/100 0 -1/2 xL 40 1 1/10 1/10 0 -1/100 0 1/2 x3 0 0 -99 -9 0 -1/10 1 -5 0.40 1.78 4.00 30 Se observa que la variable que debe salir de la base es x1 y la variable que debe ingresar a la base es xH. El valor pivot es –108/11. La solución actual es Z = 2180/99. realizando las correspondientes operaciones matriciales, se obtiene: Método Dual-Simplex Z xL xC xH x1 x2 x3 Sol. Z 1 0 0 -136/11 0 -178/495 -40/99 2180/99 x1 0 0 0 -108/11 1 -1/110 -1/110 -5/11 xL 40 1 0 1/11 0 -1/99 1/990 49/99 xC 44 0 1 1/11 0 1/990 -1/99 5/99 1.26 39.56 44.44
  16. 16. 16 31 Se observa que no hay variable candidata para salir (factible), y el tablero ya es óptimo, por lo tanto se ha llegado a la solución óptima. Realizando, nuevamente, las correspondientes operaciones matriciales, se obtiene: Método Dual-Simplex Z xL xC xH x1 x2 x3 Sol. Z 1 0 0 0 -34/27 -47/135 -53/135 610/27 xH 20 0 0 1 -11/108 0 0 5/108 xL 40 1 0 0 1/108 -6/589 0 53/108 xC 44 0 1 0 1/108 0 -6/589 5/108 32 La solución es: 108/53xL = 108/5xC = 108/5xH = 27/610Z = 0x1 = 0x2 = 0x3 = Método Dual-Simplex

×