(2.c) RESOLUCIÓN DE MODELOS LINEALES. ALGORITMO DEL SIMPLEX • FORMA CANÓNICA DE UN SISTEMA Ax = b Forma Standard y Base factible (repaso). Expresión de las v. básicas en función de las no básicas. Forma tabular. • CAMBIO DE BASE CON CONSERVACIÓN DE LA FACTIBILIDAD. Casos singulares. Región no acotada. Cambio degenerado de base. • CONCEPTO DE COSTE REDUCIDO. Cambio de base con disminución de la f.obj. Cálculo de los costes reducidos. • ALGORITMO DEL SÍMPLEX Forma tabular. Fórmulas matriciales. Ejemplos • INICIALIZACIÓN DEL ALGORITMO. (fase 0) Método de las variables artificiales. Cap. 3 Luenberger D.G.“Linear and Nonlinear Programming” Addison-Wesley 1984 Cap. 4 Hillier F.S., Lieberman G.J. “Introduction to Operations Research” Holden day Inc. 1986 FORMA STANDARD DE UN P. P.L. 1 Tras transformaciones, todo P.P.L. puede expresarse de la forma: (m≤n) • Todas las variables xi están sujetas a xi ≥ 0, i = 1, 2, … n • Todos los términos de la derecha bi son no negativos: bi ≥ 0, i = 1, 2, … m • La matriz de coeficientes A es de pleno rango: Hay m columnas de A tales que al formar una matriz B con ellas, ésta es inversible. Todos los paquetes para P.L. convierten automáticamente a la forma Standard Investigación Operativa UPC DEFINICIÓN DE BASE FACTIBLE . 2 Sistema Ax = b, x ≥ 0 B= DEFINICIÓN: B es base factible si: ≥0 B es una base asociada al conjunto de índices {1, 4, 5} Investigación Operativa I. Transparencias de clase. Prof. E.Codina UPC 3 Sistema Ax = b, x ≥ 0 B base asociada a IB = {1, 4, 5} ≥0 Investigación Operativa Transparencias de clase. Prof. E.Codina UPC 4 Una estrategia para resolver el P.P.L. consiste en: 1. Determinar si F=∅. 2. En caso contrario, determinar una s.b.f. (vértice) de F inicial 3. Visitar s.b.f's hasta encontrar una que sea solución de (P) 4. Determinar si la s.b.f. solución es única o existen otras soluciones. Transparencias de clase. Prof. E.Codina En este tema: • Se desarrolla un método para saltar de una s.b.f. a otra vecina. (CONSERVACIÓN DE LA FACTIBILIDAD). • En cada salto se mejora la función objetivo. • Se detecta si se alcanza una solución de (P) o bien si el problema es no acotado. • Finalmente, se desarrolla un método para encontrar una s.b.f. inicial o bien detectar que F=∅. ALGORITMO DEL SÍMPLEX 5 Transparencias de clase. Prof. E.Codina FORMA CANÓNICA DE UN SISTEMA LINEAL Ax=b Respecto del conjunto de índices IB = {1, 4, 5} B xB + N xN = b B-1 ( B xB + N xN ) = B-1 b xB + B-1N xN = B-1 b xB + Y xN = y0 forma tabular 6 FORMA CANÓNICA DE UN SISTEMA LINEAL Ax=b 7 Para el conjunto de índices asociados a una base B, IB={i1, i2 ,… , im} xB + Y xN = y0 ≥ 0 si B es base factible Columnas básicas Investigación Operativa Columnas no básicas Transparencias de clase. Prof. E.Codina UPC CAMBIO DE BASE CON CONSERVACION DE LA FACTIBLIDAD 8 IB = {1, 4, 5} x1 x2 La forma canónica expresa la dependencia de las variables xB respecto de las xN xB (xN) = y0 - Y xN Para xN = 0, xB(0) = y0; el punto xR = (y0 , 0 ) es un vértice del Poliedro. Si B es una base factible: xB(0) ≥0; Incrementando xN desde 0 encontraremos otros puntos xB (xN) ≥0. Se incrementa una sola v. No básica. El resto se mantienen a cero Investigación Operativa I.O.E. Diploística Transparencias de clase. Prof. E.Codina UPC CAMBIO DE BASE CON CONSERVACION DE LA FACTIBLIDAD 1 8 4 Investigación Operativa I.O.E. 2 9 x2 10 5 Transparencias de clase. Prof. E.Codina UPC PIVOTACIÓN Investigación Operativa I.O.E. Diplomatur Transparencias de clase. Prof. E.Codina 10 UPC CAMBIO DE BASE CON CONSERVACION DE LA FACTIBLIDAD 11 ENTRA VARIABLE NO BÁSICA -> SALE VARIABLE BÁSICA Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC CAMBIO DE BASE CON CONSERVACION DE LA FACTIBLIDAD 12 CASOS SINGULARES: IB = {1, 4, 5} x1 x2 Incrementando x2 al menos una v. básica crece indef. Se detecta dirección de crecimiento ilimitado de la región factible Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC CAMBIO DE BASE CON CONSERVACION DE LA FACTIBLIDAD CASOS SINGULARES: 13 Se obtiene el mismo punto Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC Calculad las soluciones básicas factibles para el conjunto de restricciones 14 Partiendo de la base Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC 15 Sale la variable Nueva base Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC 16 x1 x2 Investigación Operativa I.O.E. Diplo Transparencias de clase. Prof. E.Codina UPC 17 Entra Sale x1 x2 Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC TEMA 2.c RESOLUCIÓN DE MODELOS LINEALES. ALGORITMO DEL SIMPLEX Semana 2. Sesión 2 • Concepto de coste reducido. Expresión de las v. básicas en función de las no básicas. Cambio de base con disminución de la f.obj. Cálculo de los costes reducidos. • ALGORITMO DEL SÍMPLEX Forma tabular. Fórmulas matriciales. Ejemplos 17 Investigación Operativ de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC 18 B xB + N xN B-1 ( B xB + N xN ) = B-1 b xB = b + B-1N xN = B-1 b xB (xN) = y0 - Y xN xB Investigación Operativ I.O.E. Diplomaturaa + Y xN = y0 Transparencias de clase. Prof. E.Codina UPC CAMBIOS DE BASE DIMINUYENDO EL VALOR DE LA F.OBJETIVO 19 Se quieren encontrar las soluciones del problema de P.L. Investigación Operativa I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC 20 - Transparencias de clase. Prof. E.Codina 21 Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC CÁLCULO DE LOS COSTES REDUCIDOS Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina 22 UPC DISPOSICIÓN EN FORMA TABULAR Y FÓRMULAS MATRICIALES. 23 Investigación Operativa de I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC 24 I.O.D. Diplomatura de de Estadística Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC x3 B A VÉRTICE A x1 x2 25 Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC x3 26 B C VÉRTICE B x1 x2 VÉRTICE C ÓPTIMOS ALTERNATIVOS Investigación Operativa de Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC Recorriendo las diferentes bases encontraríamos los puntos C, D, E, F. x3 C En todos ellos la f.obj. tiene igual valor: z* = 220/15. F G E D x1 Cualquier punto G sobre la cara tendrá igual valor para la f.obj. ( COMPROBADLO) x2 27 Investigación Operativa de Estadístic I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC EFICACIA DEL ALGORITMO SÍMPLEX 28 • En el ejemplo anterior se examinan sólo 3 de los 9 vértices del poliedro. • Hay ejemplos en los que el algoritmo debe examinarlos TODOS (Klee-Minty, 1972). ⇒ PEOR CASO POSIBLE. x3 x2 x1 Investigación Operativa I.O.E. Diplomatura de Estadística Transparencias de clase. Prof. E.Codina UPC 29 EFICACIA DEL ALGORITMO SÍMPLEX En los problemas reales con n=nºvar. >> m=nº restr. : ( A = ………….….. Nº medio de iteraciones ≈ k m, ) k entre 1 y 3 !!!! En la actualidad el SÍMPLEX continúa siendo un algoritmo presente en casi todos los paquetes de soft. para P.L. Transparencias de clase. Prof. E.Codina SESIÓN DE PROBLEMAS 30 Entra Entra Sale Sale Tabla óptima Óptimo único del problema: Transparencias de clase. Prof. E.Codina 31 SESIÓN DE PROBLEMAS I.O.D. Diplomatura de de Estadística Estadística I.O.E. Diplomatura UPC Transparencias de clase. Prof. E.Codina SESIÓN DE PROBLEMAS 32 Transparencias de clase. Prof. E.Codina 33 Transparencias de clase. Prof. E.Codina Sesión 2.c RESOLUCIÓN DE MODELOS LINEALES. ALGORITMO DEL SIMPLEX Semana 3. • ALGORITMO DEL SÍMPLEX (Repaso) Forma tabular. Fórmulas matriciales. • Inicialización del algoritmo. (fase 0) Objetivos. Detección de problemas infactibles. Método de las variables artificiales. Problema auxiliar. Casos. Ejemplos 36 Investigación Operativa I.O.E. Diplomatura de Estadística Transparencias de clase. Prof. E.Codina UPC 37 I.O.D. Diplomatura de de Estadística Estadística I.O.E. Diplomatura Transparencias de clase. Prof. E.Codina UPC IDENTIFICACIÓN DE BASES INICIALES FACTIBLES. 38 No es posible identificar una base inicial factible Investigación Operativa í Transparencias de clase. Prof. E.Codina UPC IDENTIFICACIÓN DE BASES INICIALES FACTIBLES. 39 VARIABLES ARTIFICIALES Y PROBLEMA AUXILIAR: Se construye un "problema auxiliar" con las mismas variables y coeficientes en las restricciones que en el problema original. Se añaden las variables artificiales (≥ 0): • Una por cada fila con una variable de exceso. • Una por cada fila sin variable de exceso ni de holgura. La función objetivo del problema auxiliar es la suma de las Variables artificiales. Investigación Operativa I.O.E. Dtica í i Transparencias de clase. Prof. E.Codina UPC 40 Investigación Operativa I.O.E. Dica í i Transparencias de clase. Prof. E.Codina 41 Para el problema auxiliar se obtiene una base inicial factible de forma inmediata Investigación Operativa í i Transparencias de clase. Prof. E.Codina UPC SOLUCIÓN del PROBLEMA AUXILIAR 42 Casos: a) El problema auxiliar presenta una solución óptima con las variables artific. auxiliares ai • =0 Se obtiene una base inicial factible para el problema original. ⇒ El problema original tiene REGIÓN FACTIBLE no vacía. b) El problema auxiliar presenta una solución óptima con alguna variable auxiliar artific. ai • >0 No se puede hallar base inicial factible para el problema original. ⇒ El problema original tiene REGIÓN FACTIBLE vacía. Transparencias de clase. Prof. E.Codina í i UPC 43 RESOLVER Transparencias de clase. Prof. E.Codina í UPC 44 Transparencias de clase. Prof. E.Codina í UPC 45 Transparencias de clase. Prof. E.Codina í UPC 46 I.O.D. Diplomatura de de Estadística Estadística I.O.E. Diplomatura UPC Transparencias de clase. Prof. E.Codina RESOLVER 47 í Transparencias de clase. Prof. E.Codina UPC 48 Transparencias de clase. Prof. E.Codina í i UPC 1/112 49 í i Transparencias de clase. Prof. E.Codina UPC PRÁCTICA 1 Seguimiento de las iteraciones del SÍMPLEX mediante LINDO MAX 3 X1 + 2 X2 SUBJECT TO 2) 2 X1 + X2 <= 100 3) X1 + X2 <= 80 4) X1 <= 40 END Transparencias de clase. Prof. E.Codina