Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 1

Documentos relacionados
Dualidad 1. 1 Formas simétricas. 2 Relación primal-dual. 3 Dualidad: el caso general. 4 Teoremas de dualidad. 5 Condiciones de holgura complementaria.

Tema 3: El Método Simplex. Algoritmo de las Dos Fases.

84 Tema 3. Dualidad. todas las restricciones son del tipo, todas las variables son no negativas.

max z = c T x sujeto a Ax b

Tema 5: Análisis de Sensibilidad y Paramétrico

Dualidad y postoptimización

Figura 1: Esquema de las tablas simplex de inicio y general.

Tema 3 Optimización lineal. Algoritmo del simplex

3.1. Motivación gráfica del método Simplex

Tema 5 Dualidad y condiciones de Karush-Kuhn-Tucker

Kg P1 Kg P Unidades Vitamina A

El método simplex 1. 1 Forma estándar y cambios en el modelo. 2 Definiciones. 3 Puntos extremos y soluciones factibles básicas. 4 El método simplex.

Unidad III Teoría de la Dualidad.

La Programación Lineal. H. R. Alvarez A., Ph. D. 1

Dirección de operaciones. SESIÓN # 6: Análisis de Sensibilidad. Primera parte.

El algoritmo del Simplex. Forma tabular

Forma estándar de un programa lineal

Auxiliar 7: Dualidad

INGENIERÍA DE SISTEMAS INVESTIGACIÓN OPERATIVA

DUALIDAD EN PROGRAMACION LINEAL

Colección de Problemas II. mín Z = 8x 1 + 9x 2 + 7x 3 s. a: x 1 + x 2 + x x 1 + 3x 2 + x x 1 + x 2 x 3 30

MÉTODO DEL DUAL (TEORIA DE DUALIDAD)

Universidad Nacional de Ingeniería. UNI RUACS. Investigación de Operaciones I 3T1 I.S. Docente: Ing. Mario Pastrana. Nombres: Frania Flores Zeledón.

PROBLEMA 1. Considere el siguiente problema de programación lineal:

La Programación Lineal. H. R. Alvarez A., Ph. D. 1

Introducción.- Problema dual.-

Un sistema de ecuaciones diferenciales son aquellas que tienen varias posibilidades para su solución. Estas son:

UNIDAD UNO PROGRAMACIÓN LÍNEAL Parte 4

Degeneración y ciclaje. Método de las dos fases CO-3411 (S08) 30/03/

Optimización de Problemas de Producción

ANÁLISIS DE SENSIBILIDAD.

max c T x s.a. Ax b x 0 y un diccionario general para dicho problema a rs x s, c s x s z = d + b r y r min b T y s.a. A T y c y 0

POST-OPTIMIZACIÓN Y SENSIBILIDAD EN PROBLEMAS LINEALES.

Tema 18. Programación lineal Formulación primal de un programa lineal

Formulación del problema de la ruta más corta en programación lineal

7. PROGRAMACION LINEAL

Programación lineal: Algoritmo del simplex

Método Simplex en Optimización de Problemas de Producción

Análisis de sensibilidad 1

Optimización bajo Incertidumbre. 0. Revisión. Depto. Investigación Operativa. Instituto de Computación. Facultad de Ingeniería, UdelaR

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

Programación Lineal II. Teoría de la dualidad

Teórica VIII. Modelos y Optimización I. Curso 2018 Segundo Cuatrimestre

Fundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari

EJERCICIO 1. Max Z = 6 x x 2 s.r. (1) 4 x x 2 12 (2) 2 x x 2 16 (3) 2 x 1 6 x 1, x 2 0

CO5411. Dantzig-Wolfe / Descomposición de Benders. Prof. Bernardo Feijoo. 06 de febrero de 2008

Guía de Problemas para el Control 2

INTRODUCION. Definiciones generales del Análisis de sensibilidad

Dirección de Operaciones

Universidad Nacional de Ingeniería UNI-RUACS 01/09/11

Programación Lineal. - Si no: Sea j tal que c

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades:

UNIDAD 3 MÉTODO SIMPLEX. Fundamentos del método simplex

1 ÁLGEBRA DE MATRICES

La factorización eta CO-3411 (S08) 09/03/

Algebra lineal y conjuntos convexos

Programación Lineal. María Muñoz Guillermo Matemáticas I U.P.C.T. M. Muñoz (U.P.C.T.) Programación Lineal Matemáticas I 1 / 13

Repaso del algoritmo SIMPLEX

-PROTHIUS- Métodos Cuantitativos de Organización Industrial: Programación Lineal. Joaquín Bautista Valhondo. D-05/2011 (Rec.

Álgebra y Matemática Discreta

Comenzaremos presentando la idea principal del método de Karmarkar, para después describir los detalles de cómputo del algoritmo.

TEST IO-I T1. CONCEPTOS PREVIOS. C1.1. Cualquier conjunto convexo tiene al menos un punto extremo?

Control 2 IN mayo 2009

CAPITULO 1: PERSPECTIVE GENERAL DE LA

1.Restricciones de Desigualdad 2.Procedimiento algebraico

de febrero de Ejemplo de los vasos. Nuevos cambios en el lado derecho. FAQ. Sí, conozco la teoría, pero me puede poner un ejemplo?

MÉTODO SIMPLEX. Introducción

Lo que se hace entonces es introducir variables artificiales ADAPTACIÓN A OTRAS FORMAS DEL MODELO.

RESOLUCIÓN DE MODELOS DE PROGRAMACIÓN ENTERA MÉTODOS DE CORTE CORTES DE GOMORY

METODO SIMPLEX. Paso 1 Se convierte el modelo matemático de Programación Lineal (PL) a su forma estándar.

Método Simplex: Variaciones (Caso Minimización)

Examen de Investigación Operativa (Plan 96) Febrero de er Parcial

Teniendo en cuenta los valores de las variables se tienen 3 tipos de modelos lineales enteros:

Análisis de Datos y Métodos Cuantitativos para la Toma de Decisiones 8va versión MGM

WinQSB. Módulo de Programación Lineal y Entera. Al ejecutar el módulo Linear and Integer Programming, la ventana de inicio es la siguiente:

La Dualidad en el Problema de Transporte

INGENIERO EN COMPUTACION TEMA: MÉTODO SIMPLEX

METODO SIMPLEX: SOLUCION DE PROBLEMAS DE PROGRAMACION LINEAL.

La lección de hoy de febrero de Notación. Solución factible básica

Si u y v son vectores cualquiera en W, entonces u + v esta en W. Si c es cualquier numero real y u es cualquier vector en W, entonces cu esta en W.

Universidad Carlos III de Madrid Licenciatura en Administración de Empresas Examen de Programación Matemática 19 de Septiembre de 2007 Soluciones

Programación Lineal. Yolanda Hinojosa

Conjuntos y matrices. Sistemas de ecuaciones lineales

5.1. Algoritmo en modelos de maximización

Licenciatura en Administración y Dirección de Empresas

CONTENIDOS MATEMÁTICAS II SEGUNDA EVALUACIÓN CURSO 2017/2018 MATRICES

1 SISTEMAS DE ECUACIONES LINEALES. MÉTODO DE GAUSS

Sistemas de Ecuaciones Lineales y Matrices

Con miras a conocer la metodología que se aplica en el Método SIMPLEX, tenemos a continiacion un ejemplo:

Resolvamos los modelos de una vez por todas (aunque tengan más de dos variables) Usaremos el Método Simplex, desarrollado por George Dantzig en 1947

Parcial. Martes 12 de marzo de (sin textos)

a) Cantidad a utilizar de cada ingrediente en las mezcla para minimizar los costes.

Mejora iterativa. Dr. Eduardo A. RODRÍGUEZ TELLO. 9 de abril de CINVESTAV-Tamaulipas

Algoritmo de Karmarkar

Contenido: Solución algebraica a los problemas de programación lineal con el método simplex.

Continuidad y monotonía

Transcripción:

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 1 4.1 Introducción 4.2 Definición del Problema Dual 4.3 Relaciones Primal-Dual 4.4 Condiciones de Holgura Complementaria 4.5 Interpretación Económica de la Dualidad 4.6 Determinación de la Solución Óptima a partir de la Tabla Óptima del Problema Primal 4.7 El Algoritmo Dual del Simplex 4.1. Introducción Uno de los descubrimientos más importantes durante el desarrollo inicial de la programación lineal fue el concepto de dualidad y sus muchas e importantes ramificaciones. Este descubrimiento reveló que asociado a todo problema de programación lineal existe otro problema lineal llamado dual. Las relaciones entre el dual y su original (llamado primal) son extremadamente útiles en una gran variedad de situaciones. Por ejemplo, se verá que de hecho la solución óptima del problema dual es la que proporciona los precios sombra descritos en las prácticas al introducir el análisis de sensibilidad. Uno de los papeles clave que juega la teoría de la dualidad es la interpretación y realización del análisis de sensibilidad. De hecho la dualidad nos permitirá tratar dicho análisis desde el punto de vista algebráico pudiendo así generalizarlo y aplicarlo a cualquier problema de programación lineal, independientemente de cuál sea su tamaño i.e., número de variables y/o restricciones. Los orígenes de la dualidad, tal y como hoy se conoce, son, en boca del propio Dantzig, atribuibles al célebre matemático John Von Neumann, quién, en octubre de 1947, conjeturó por primera vez la existencia de un problema dual asociado al modelo de programación lineal. Dantzig había acudido a Von Neumann en busca de sugerencias e ideas para desarrollar nuevas técnicas para resolver el modelo de programación lineal pues, por aquél entonces,

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex los ordenadores todavía no se habían desarrollado y el potencial del método Simplex estaba aún por descubrir. El azar quiso que Von Neumann acabase justo de escribir un texto sobre teoría de juegos, y fueron los resultados de dicha teoría los que le permitieron reconocer, de forma inmediata, la relación entre los juegos de suma nula entre dos jugadores y la programación lineal. El objetivo de este apartado es introducir la construcción del problema dual asociado a un problema de programación lineal general, y establecer, a través de los principales resultados de dualidad, las relaciones entre ambos problemas. Veremos también cómo, en ausencia de degeneración, las denominadas condiciones de holgura complementaria nos permiten obtener, unívocamente, la solución óptima de cualquiera de los problemas de un par primal-dual a partir de la solución óptima del otro. Terminaremos introduciendo la naturaleza económica de la teoría de la dualidad. De hecho, puede decirse que la clave de esta teoría está en interpretar los problemas primal y dual como modelizaciones, desde dos puntos de vista opuestos, de una misma situación a la que se enfrentan dos personas que compiten entre sí. En este modelo de competitividad, el beneficio máximo que puede obtener una de ellas se alcanza en el punto en el que se equilibra la pérdida máxima que está dispuesta a admitir su oponente. 4.2. Definición del Problema Dual Supongamos que el siguiente problema de programación lineal ha sido resuelto utilizando el algoritmo Simplex: P rimal (P ) Min s.a: z = c t x Ax = b x 0 n, en donde A es una matriz m n, de rango completo por filas, b IR m y c IR n, y sea, ( ) ( ) x B B 1 b x = =, x N 0 n m la solución óptima alcanzada. Con A = (B, N), y B una submatriz regular m m. Sabemos que en la tabla óptima del Simplex los costes reducidos son

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 3 todos no positivos, z j c j = c t BB 1 a j c j 0, j {1, 2,..., n}. Es decir, la optimalidad equivale a encontrar una combinación lineal de las filas de A cuyo resultado, c t B B 1 A, sea un vector que acote inferiormente al vector de costes de la función objetivo. Si pensamos en los multiplicadores de las filas, c t B B 1, como en variables cuyo valor desconocemos, podría decirse que la resolución del problema de Programación Lineal consiste en la búsqueda de los valores adecuados para que, ω t A c. Hemos construido así un nuevo conjunto de restricciones de un problema de programación lineal, para el que la solución asociada a la submatriz, B, definida por las columnas asociadas a las variables básicas óptimas de P (en adelante base óptima), ω t = c t B B 1, no únicamente es posible, sino que además, es óptima para la función objetivo Max b t ω. Estamos en condiciones de definir el problema dual del problema primal en forma estándar como el siguiente problema de programación lineal: Dual (D) Max s.a: Ejemplo 4.2.1 Dado el problema de programación lineal: b t ω A t ω c ω no restringida. su dual es: Min 6x 1 + 8x 2 s.a.: 3x 1 + 1x 2 = 4 5x 1 + 2x 2 = 7 x 1, x 2 0 Max 4ω 1 + 7ω 2 s.a.: 3ω 1 + 5ω 2 6 1ω 1 + 2ω 2 8 ω 1, ω 2 no restringidas La definición de dualidad que hemos dado nos permite demostrar fácilmente la siguiente propiedad,

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex Simetría de la Dualidad El dual del dual es el primal En efecto, sea P el problema primal en forma estándar, y D el correspondiente dual. Podemos expresar el problema D en forma estándar aplicando el siguiente cambio de variables: ω = ω 1 ω 2, ω 1, ω 2 IR m + Es decir, D es ahora: Min b t (ω 1 ω 2 ) s.a: A t (ω 1 ω 2 ) + ω h = c ω 1 0 m, ω 2 0 m, ω h 0 n. Min ( b t, b t, 0) ω 1 ω 2 ω h s.a: (A t, A t, I n ) cuyo dual es, aplicando la definición: ω 1 ω 2 ω h = c ω 1 0 m, ω 2 0 m, ω h 0 n. Max c t y s.a: A A I n y IR n, y que, evidentemente, es equivalente al problema original P, basta con realizar de nuevo el cambio de variables, x = y. Teniendo en cuenta que cualquier PPL puede transformarse mediante sencillas operaciones en un problema equivalente en forma estándar, la definición de dualidad dada es suficiente para obtener el problema dual de cualquier b b 0 n

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 5 PPL. Sin embargo, esta tarea resulta en ocasiones larga y tediosa, por lo que resulta más apropiado llevar a cabo una construcción directa del problema dual. Para ello hay que tener en cuenta lo siguiente: 1. Por cada restricción del problema primal (excepto las de no negatividad) se define una variable en el problema dual. 2. Por cada variable en el problema primal se define una restricción en el problema dual. Los coeficientes de las variables en estas restricciones se obtienen de la columna en el problema primal asociada a dicha variable. El término de la derecha de la restricción es igual al coeficiente en la función objetivo del primal de la misma variable. 3. Los coeficientes de la función objetivo del problema dual son iguales al RHS del problema primal. Las reglas para determinar el sentido de la optimización, el tipo de restricción y el signo de las variables en el problema dual se dan en la siguiente tabla: Problema de Problema de Minimización Maximización 0 Variables 0 Restricciones No restringida = 0 Restricciones 0 Variables = No restringida términos independientes coeficientes f. obj. coeficientes f. obj. términos independientes matriz de restricciones traspuesta matriz restricciones Cuadro 4.1: Relaciones entre los problemas primal y dual

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex Ejemplo 4.2.2 Dado el problema de programación lineal: Max 8x 1 + 3x 2 2x 3 s.a.: 1x 1 6x 2 + 1x 3 2 5x 1 + 7x 2 2x 3 = 4 x 1 0 x 2 0 x 3 no restringido su dual es: Min 2ω 1 4ω 2 s.a.: 1ω 1 + 5ω 2 8 6ω 1 + 7ω 2 3 1ω 1 2ω 2 = 2 ω 1 0 ω 2 no restringida 4.3. Relaciones Primal-Dual Conviene resaltar que, evidentemente, tanto la simetría de la dualidad como los resultados que presentaremos en esta sección son aplicables, con los cambios adecuados, a cualquier pareja primal-dual. En principio, y salvo que explícitamente establezcamos otras condiciones, supondremos que estamos trabajando con el par: (P ) Min c t x (D) Max b t ω s.a: Ax = b s.a: A t ω c. x 0 n, Los problemas primales y duales están tan estrechamente relacionados, que la solución óptima de un problema se puede obtener directamente (sin cálculos adicionales) de la tabla del símplex óptima del otro problema. Este resultado se basa en la siguiente propiedad:

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 7 En cualquier iteración del símplex del problema primal o del dual, el coste reducido de la variable j en un problema es igual al lado izquierdo menos el lado derecho de la restricción j en el otro problema Este resultado es ventajoso desde el punto de vista de los cálculos ya que podemos resolver el problema que resulte más sencillo de los dos y aplicar después esta propiedad para obtener la solución óptima del otro. Pensemos por ejemplo en el dual de un problema con 100 variables y 500 restricciones. Resolver el dual implica trabajar con un problema de 500 variables y 100 restricciones que sin duda es mucho más sencillo ya que trabajaremos con inversas de matrices 100 x 100 en lugar de 500 x 500. A continuación presentamos una relación entre el primal y el dual, que junto con la propiedad anterior, se puede emplear para proporcionar interesantes interpretaciones económicas del problema de programación lineal. Teorema de Dualidad Débil Dados un par primal-dual, si x es una solución posible de P y ω es una solución posible de D, entonces, b t ω c t x. En efecto, sea x una solución posible de P, entonces, A x = b y x 0 n. Veamos que c t x es una cota superior del valor de la función objetivo en cualquier solución posible del problema dual. Sea ω una solución posible del dual, entonces, A x = b ω t A x = ω t b A t ω c, x 0 n ω t A x c t x } b t ω c t x. Como consecuencia podemos afirmar, que para cualquier pareja primaldual:

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex El valor de la función objetivo en cualquier solución posible del problema de minimización proporciona una cota superior del valor de la función objetivo del problema de maximización. El valor de la función objetivo en una solución posible del problema de maximización proporciona una cota inferior del valor de la función objetivo del problema de minimización. Si uno de los dos problemas de un par primal-dual es no acotado, entonces el otro problema es imposible Si x es solución posible del primal, w es solución posible del dual, y c t x = b t ω, entonces, x y ω son soluciones óptimas de sus problemas respectivos. Los resultados que acabamos de ver nos permiten relacionar los valores objetivos de cualquier pareja de soluciones posibles primales-duales. Como consecuencia, las iteraciones sucesivas de un problema de maximización darán por resultado un incremento en el valor de la función objetivo y las del problema de minimización darán por resultado una disminución en el valor de la función objetivo. A la larga, durante el curso de las sucesivas iteraciones, se llegará a un punto de equilibrio donde los valores objetivos de la maximización y de la minimización deben ser iguales. El siguiente resultado nos permite averiguar cuándo podemos garantizar la existencia de soluciones de un par primal-dual. Teorema de Dualidad Fuerte Si uno de los problemas de un par primal-dual tiene solución óptima finita, entonces, el otro también la tiene, y los valores óptimos de las respectivas funciones objetivo coinciden. Por el teorema de dualidad débil sabemos que si uno de los dos problemas tiene solución óptima finita el otro no puede ser no acotado, por lo tanto, solamente le quedan dos alternativas, ser imposible o tener solución óptima finita. Como vemos a continuación, la opción de la imposibilidad puede ser

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 9 descartada ya que el algoritmo del Simplex nos permite dar una demostración constructiva de la factibilidad del problema. Podemos suponer, sin pérdida de generalidad, que el problema que tiene solución óptima finita es el problema primal. Sea x una solución óptima de P obtenida con el método Simplex. Siguiendo el mismo razonamiento utilizado al principio del tema para introducir el problema dual, podemos afirmar que ω t = c t B B 1 es solución posible del dual, siendo B la base en la tabla del Simplex asociada a x. Además: c t x = c t B(B 1 b) = ω t b. Ahora bien, como por el teorema de dualidad débil sabemos que, c t x b t ω, ω solución del dual, ω es solución óptima de D. Análogamente demostraríamos que si el dual tiene solución óptima finita, el primal también la tiene, y los valores óptimos coinciden. Los resultados anteriores suelen enunciarse conjuntamente en el denominado: Teorema Fundamental de Dualidad Dado un par primal-dual, una y sólo una de las afirmaciones siguientes es cierta: 1. Los dos problemas tienen solución óptima finita, y los valores óptimos de ambos problemas coinciden. 2. Uno de los dos problemas es no acotado y el otro es imposible. 3. Ambos problemas son imposibles. El siguiente ejemplo nos permite demostrar que hemos de contemplar, necesariamente, la tercera de las opciones: (P ) Min z P = x 1 x 2 (D) Max z D = ω 1 + ω 2 s.a: x 1 x 2 1 s.a: ω 1 ω 2 1 x 1 + x 2 1 ω 1 + ω 2 1 x 1, x 2 0 ω 1, ω 2 0

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex Primal-Dual Óptimo Finito No Acotado Imposible Óptimo Finito 1 No Acotado 2 Imposible 2 3 Cuadro 4.2: Alternativas posibles en un par primal-dual ya que los dos problemas son imposibles. En definitiva, si tenemos en cuenta que cualquier problema lineal puede ser, acotado, no acotado, o imposible, de las nueve posibilidades que en principio hay cuando comparamos el problema primal con el dual, solamente 4 de ellas pueden darse. Lo resumimos en la siguiente tabla. 4.4. Condiciones de Holgura Complementaria Al introducir el tema ya avanzamos que una de las propiedades principales de una pareja primal-dual reside en la posibilidad de obtener, cuando los dos problemas tienen soluciones óptimas finitas, la solución óptima de uno de los problemas a partir de la del otro, y viceversa. Esta propiedad juega un papel fundamental a la hora de resolver los problemas de programación lineal para los que el correspondiente dual es bastante más sencillo que el primal. El siguiente resultado nos proporciona la forma de conseguir unas soluciones a partir de otras: Teorema de Holgura Complementaria Dado el siguiente par primal-dual, (P ) Max c t x (D) Min b t ω s.a: Ax b s.a: A t ω c x 0 ω 0, x solución posible de P, y ω solución posible de D. Las condiciones de holgura complementaria: 1 ui = ωi(bi a t ix) = 0 i = 1,..., m v j = (ω t a j c j )x j = 0 j = 1,..., n Son condiciones necesarias y suficientes de optimalidad, para x y ω. Obsérvese que u i 0, i y v j 0, j. Por lo tanto: u = m i=1 u i 0 v = j j=1 v j 0, 1 En donde a i denota la fila i-ésima de la matriz A, y a j la columna j-ésima.

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 11 de donde, u = 0 si y solo si ω i (b i a t ix) = 0, i = 1,..., m, y v = 0 si y solo si v j = (ω t a j c j )x j = 0, j = 1,..., n. Ahora bien, u+v = m n ω i (b i a t ix)+ (ω t a j c j )x j = ω t b ω t Ax+ω t Ax c t x = ω t b c t x i=1 j=1 de donde, u + v = 0 si y solo si c t x = ω t b, es decir, si y solo si x y ω son, respectivamente, soluciones óptimas de los problemas primal y dual. Este resultado es válido para cualquier pareja de problemas primalesduales. Nuestra elección concreta del par primal-dual para el cuál hemos desarrollado las condiciones de holgura complementaria obedece, por un lado, a cuestiones de claridad en la exposición, y por otro, a que la interpretación económica de las mismas, que hacemos en el punto siguiente, es mucho más rica que para otras parejas primales-duales. Las condiciones de holgura complementaria relacionan, las variables de holgura de cada restricción del problema primal, con las variables duales asociadas a dichas restricciones, y las holguras del dual, con las variables primales asociadas. Vistas así, podemos interpretar las condiciones de holgura complementaria de la siguiente forma, Dos soluciones posibles del primal y del dual son, respectivamente óptimas, si y solo sí, toda variable asociada a una restricción con variable de holgura distinta de cero, es nula. 4.5. Interpretación Económica de la Dualidad Las condiciones de holgura complementaria captan perfectamente la esencia de la dualidad ya que, como veremos a continuación, formalizan matemáticamente algunos principios básicos de economía. Entenderemos mejor su significado después de introducir la interpretación económica de la variables duales. Consideremos la siguiente pareja primal-dual: (P ) Max c t x (D) Min b t ω s.a: a t i x b i i = 1,..., m s.a: ω t a j c j j = 1,..., n x j 0 j = 1,..., m ω i 0 i = 1,..., n

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex Supongamos que, x = ( B 1 b 0 n m ), es una solución óptima del problema primal. Sea ω t = c t B B 1 la solución dual complementaria. Teniendo en cuenta que la función objetivo de P puede expresarse en función, únicamente, de las variables no básicas: z =c t BB 1 b j N (z j c j )x j = b t ω j N(z j c j )x j, en ausencia de degeneración primal cabe esperar que pequeños cambios en los valores de un b i no provoquen un cambio de base óptima, por lo tanto, las variables no básicas seguirán siendo las mismas (e iguales a cero). En esta situación, z puede suponerse diferenciable en un entorno del valor actual de b, siendo la derivada parcial con respecto a b i : z b i = ω i, es decir, podemos interpretar la variable dual i-ésima como la razón de cambio de la función objetivo cuando el término independiente de la i-ésima restricción primal asociada es sometido a pequeños cambios. Pensemos por ejemplo en una situación real en la que P modeliza un problema de planificación de la producción. En este problema debe decidirse cuántas unidades fabricar de una serie de productos, j = 1,..., n, que comparten los mismos recursos limitados, b i, i = 1,..., m. El objetivo es planificar la producción de forma que los beneficios obtenidos sean máximos. En estas condiciones ω i representa el beneficio extra que conseguiríamos si dispusiésemos de una unidad más de recurso i. Evidentemente, si ω i es el beneficio que conseguiríamos si dispusiésemos de una unidad más de recurso i, éste será, precisamente, el precio máximo ( extra, si el coste del recurso está implícito en la función objetivo) que estaremos dispuestos a pagar por conseguir una unidad extra del recurso, de ahí que las variables duales se denominen también precios sombra. Ahora resulta más sencillo interpretar las condiciones de holgura complementaria: Si a t ix < b i, entonces, el recurso i-ésimo no se agota con el plan de producción óptimo, lógicamente, disponer de una unidad más de recurso no

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 13 nos reportará ningún beneficio, por lo que el precio que estamos dispuestos a pagar por disponer de una unidad extra del mismo es cero, el precio justo que pagaríamos es ω i = 0, es decir, se cumple la condición de holgura complementaria ω i (b i a t ix ) = 0. Por otro lado, si ω i es positivo, significa que disponer de una unidad extra del recurso i-ésimo resulta rentable, la única explicación razonable para ello es que el agotamiento del recurso condiciona el plan de producción óptimo. En términos matemáticos, a t ix = b i, es decir, la restricción i-ésima es activa en la solución óptima. De nuevo se cumple la condición de holgura complementaria. Análogamente, si pensamos en que ωi representa el valor de una unidad de recurso b i, entonces ω t a j representará el coste total de los recursos que se necesitan para fabricar una unidad de producto j. Lógicamente, si ω t a j > c j, significa que los recursos necesarios para fabricar una unidad de producto j cuestan más que el beneficio que nos va a reportar vender dicha unidad, por lo tanto, x j = 0, es decir, no fabricaremos dicho producto. Ahora bien, x j > 0 significa que resulta rentable fabricar el producto j, luego necesariamente ω t a j = c j. En cualquier caso se cumple la condición de holgura complementaria, (ω t a j c j )x j = 0. Después de lo que acabamos de ver es incuestionable la utilidad de los precios sombra en el mundo empresarial, por ejemplo, nos sirven para: valorar la estabilidad de la solución óptima alcanzada, ayudando en el análisis de sensibilidad postóptimo, contemplar cambios en políticas de actuación, valorar la conveniencia de introducir o no en el mercado nuevos productos, justificar cambios de precios en empresas como las eléctricas, o las petrolíferas, en las que los precios están sujetos a restricciones legales. No obstante, conviene dejar constancia de que en presencia de degeneración la interpretación de las variables duales requiere consideraciones adicionales. La degeneración puede implicar que haya más de una base asociada a una solución óptima, lo que significa que los precios sombra no están unívocamente determinados por el valor de las variables duales en el óptimo, ya que éstas no son únicas.

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex En este tipo de situaciones, y en el caso concreto con el que estamos trabajando, una variable dual, ω i, debe interpretarse como una cota superior del cambio que experimentaría la función objetivo si se incrementase en una unidad el término i-ésimo, o como una cota inferior, si el término se disminuyese. Lo recomendable sería realizar el análisis de sensibilidad de la solución óptima. Para terminar daremos una interpretación intuitiva de cuál debe ser el signo de las variables duales. el signo de las variables duales Recordemos que el valor de la variable dual óptima, ω i, asociada a una restricción, (a i t x, b i ) indica la cantidad en la que cambia la función objetivo cuando se modifica el término derecho de la restricción, siempre y cuando esta modificación no implique un cambio de base óptima (variables básicas). Luego: Nuevo valor óptimo de z = Viejo valor óptimo de z + ω i b i Si tenemos en cuenta que, aumentar el valor de b i en una restricción de no puede empeorar nuestra situación actual, pero sí podría mejorarla (incrementar el b i implica ampliar el conjunto de soluciones posibles del problema). Aumentar el valor de b i en una restricción de no puede mejorar nuestra situación actual, pero si podría empeorarla (incrementar el b i implica reducir el conjunto de soluciones posibles del problema). Queda claro que, en un: Problema de Maximización La variable dual de una restricción de, es siempre positiva. La variable dual de una restricción de, es siempre negativa. Problema de Minimización La variable dual de una restricción de, es siempre negativa. La variable dual de una restricción de, es siempre positiva. Para restricciones del tipo =, el signo de la variable dual puede ser cualquiera.

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 15 4.6. Determinación de la Solución Óptima a partir de la Tabla Óptima del Problema Primal Para identificar el valor de las variables duales en la tabla óptima del Simplex podemos proceder de cualquiera de las dos formas siguientes: Suponiendo que hemos resuelto un problema de programación lineal cuya matriz de restricciones (Ax = b) contenía la matriz identidad, aunque no necesariamente ordenada, podemos averiguar directamente la solución óptima del problema dual identificando en la tabla óptima del problema primal la inversa de la matriz formada por las columnas originales de las variables básicas, es decir B 1. Concretamente, B 1 estará formada por las columnas de la tabla óptima que originalmente correspondían a la matriz identidad. El valor óptimo de las variables duales no será otro que c B t B 1. Los costes reducidos en la tabla óptima de las variables de holgura y/o artificiales proporcionan el valor de la variable dual asociada a la restricción en la que se ha añadido dicha variable de holgura y/o artificial. Solamente hay que tener en cuenta los siguientes detalles: 1. Si la restricción i-ésima era de, la variable de holgura x j se añade y el vector de coeficientes de dicha variable es un vector unitario con todo ceros excepto un 1 en la posición i-ésima. Entonces su coste reducido, z j c j = c B t B 1 a j c j = ω t a j 0 = ω i. La variable dual de la restricción es igual al coste reducido de la variable de holgura asociada a dicha restricción. 2. Si la restricción i-ésima era de, la variable de holgura x j se resta y el vector de coeficientes de dicha variable es un vector unitario con todo ceros excepto un -1 en la posición i-ésima. Entonces su coste reducido, z j c j = c B t B 1 a j c j = ω t a j 0 = ω i. La variable dual de la restricción es igual al coste reducido

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex cambiado de signo de la variable de holgura asociada a dicha restricción. 3. Si la restricción i-ésima era de =, la variable artificial x j se añade y el vector de coeficientes de dicha variable es un vector unitario con todo ceros excepto un 1 en la posición i-ésima. Entonces su coste reducido, z j c j = c B t B 1 a j c j = ω t a j 0 = ω i. La variable dual de la restricción es igual al coste reducido de la variable artificial asociada a dicha restricción. 4.7. El Algoritmo Dual del Simplex Las propiedades entre el problema de programación lineal y su dual han dado origen a nuevos algoritmos para resolver el PPL, entre ellos, al algoritmo Dual del Simplex que presentamos en esta sección. Los resultados de dualidad nos permiten interpretar el algoritmo del Simplex como un esquema iterativo en el que, partiendo de una solución posible del primal ( b = B 1 b 0), se trata de alcanzar una solución posible del dual (z j c j = c t B B 1 a j c j = ω t a j c j 0, j N). En cada iteración, el algoritmo se mueve de una solución posible básica del primal, (B 1 b, 0 n m ) t, a otra i.e., de un punto extremo a otro. Cada una de las soluciones posibles básicas del primal tiene asociado, a través de las condiciones de holgura complementaria, un vector ω t = c t B B 1 de variables duales, que, salvo que estemos en el óptimo, no será solución posible del dual, aunque sí que cumplirá la condición necesaria de optimalidad establecida en el Teorema Fuerte de Dualidad i.e., c t x = b t ω. Una vez alcanzado el óptimo disponemos de una solución posible del dual y de otra del primal. En ocasiones resulta sencillo encontrar una solución posible del dual (z j c j 0 ) pero no del primal ( b 0) o, como ocurre en el análisis de sensibilidad, después de haber alcanzado la optimalidad, es necesario realizar cambios en las condiciones del problema (términos de la derecha, matriz de restricciones, añadir restricciones) que nos hacen perder la posibilidad primal, pero no la dual. El algoritmo Dual del Simplex, desarrollado por Lemke en 1954, nos proporciona una forma eficiente para superar estos inconvenientes sin necesidad de buscar una nueva solución posible básica inicial para resolver de

Tema 4: Teoría de dualidad. Algoritmo Dual del Simplex 17 nuevo el problema primal. Este algoritmo utiliza la tabla del Simplex para resolver óptimamente el problema dual. Para conseguirlo, los pivotes se realizan de forma que en cada iteración se mantiene la posibilidad dual, se mejora el valor de la función objetivo dual, y se garantiza que se cumplen las condiciones de holgura complementaria para el par de soluciones básicas representadas en la tabla. Evidentemente, si llegamos al óptimo tendremos también la solución óptima del primal. En otro caso concluiremos que el dual es no acotado y el primal es imposible. En realidad, el Dual del Simplex equivale a resolver con el método del Simplex el problema dual, pero, sobre la tabla del Simplex para el problema primal. Se trata de un método alternativo al método Simplex que en ocasiones puede resultar más eficiente, sobre todo si el problema dual es mucho más sencillo que el primal. Algoritmo Dual del Simplex para el PPL de Minimizar Paso 0.- Considerar una tabla del Simplex asociada a una solución básica (no necesariamente posible) del primal y a una solución posible básica del dual i.e., una base B del primal, tal que z j c j 0, j. Ir al Paso 1. x B x N z 0 z j c j = c t B B 1 N c N c t B B 1 b x B I m Y = B 1 N b = B 1 b Paso 1.- Si la solución es primal posible i.e., b 0 m, Stop, se han alcanzado las soluciones óptimas del primal y del dual. En otro caso, elegir una fila r con b r < 0, por ejemplo, b r = min{ b i }, e ir al Paso 2. Paso 2.- Si y rj 0, j N, Stop, el dual es no acotado y el primal es imposible. En otro caso, aplicar el siguiente criterio para elegir la columna pivote: { } z k c k zj c j k : = Min y rj < 0 y rk y rj e ir al Paso 3. Paso 3.- Pivotar sobre y rk (x Br deja de ser básica y x k se hace básica). Volver al Paso 1.

Tema 4: Teoría de Dualidad. Algoritmo Dual del Simplex (P ) Min c t x (D) Max b t ω s.a: Ax = b s.a: A t ω c x 0 n Orígenes: Conversaciones de John Von Neumann con George Dantzig (Octubre de 1947). Teoría de Juegos 1

4.1 Introducción 4.2 Definición del Problema Dual 4.3 Relaciones Primal-Dual 4.4 Condiciones de Holgura Complementaria 4.5 Interpretación Económica de la Dualidad 4.6 Determinación de la Solución Óptima a partir de la Tabla Óptima del Problema Primal 4.7 El Algoritmo Dual del Simplex 2

4.2 Definición del Problema Dual Primal (P ) Min s.a: Dual (D) c t x Ax = b x 0 n Max s.a: b t ω A t ω c A, una matriz m n, de rango completo por filas, b IR m y c IR n x t = (x B, x N ) t = (B 1 b, 0 n m ) t, A = (B, N), y B una submatriz regular m m Condición de Optimalidad en la Tabla del Simplex z j c j = c t BB 1 a j c j 0, j {1, 2,..., n} }{{} ω ω t A c 3

Simetría de la Dualidad El dual del dual es el primal El problema dual puede expresarse en forma estándar, utilizando el siguiente cambio de variable: ω = ω 1 ω 2, ω 1, ω 2 IR m + - Min b t (ω 1 ω 2 ) s.a: A t (ω 1 ω 2 ) + ω h = c ω i 0 m, i = 1, 2 ω h 0 n - Min ( b t, b t, 0) ω 1 ω 2 ω h s.a: (A t, A t, I n ) ω 1 ω 2 ω h = c ω i 0 m, i = 1, 2, ω h 0 n 4

Cuyo dual es, Max c t y s.a: A A y b b I n 0 n y IR n Que equivale al problema primal: (P ) Min z = c t x s.a: Ax = b x 0 n Basta hacer el cambio de variable x = y. 5

Problema de Problema de Minimización Maximización 0 Variables 0 Restricciones No restringida = 0 Restricciones 0 Variables = No restringida términos independientes coeficientes f. obj. coeficientes f. obj. términos independientes matriz de restricciones traspuesta matriz restricciones Cuadro 1: Relaciones entre los problemas primal y dual 6

Ejemplo: Consideremos el problema: Max z = 2x 1 3x 2 9x 3 s.a.: x 1 3x 3 3 x 2 + 2x 3 5 x 1 + x 2 + x 4 = 4 x 1, x 2, x 3, x 4 0 Su dual será: Min z = 3ω 1 + 5ω 2 + 4ω 3 s.a.: ω 1 + ω 3 2 ω 2 + ω 3 3 3ω 1 + 2ω 2 9 ω 3 0 ω 1 0, ω 2 0 ω 3 no restringida 7

Teorema de Dualidad Débil 4.3 Relaciones Primal-Dual Dados un par primal-dual, si x es una solución posible de P y ω es una solución posible de D, entonces, b t ω c t x. Dadas x una solución posible del primal, y ω cualquier solución posible del dual: A x = b ω t A x = ω t b A t ω c, x 0 n ω t A x c t x bt ω c t x 8

El valor de la función objetivo en cualquier solución posible del problema de minimización proporciona una cota superior del valor de la función objetivo del problema de maximización. El valor de la función objetivo en una solución posible del problema de maximización proporciona una cota inferior del valor de la función objetivo del problema de minimización. Si uno de los dos problemas de un par primal-dual es no acotado, entonces el otro problema es imposible. Si x es solución posible del primal, w es solución posible del dual, y c t x = b t ω, entonces, x y ω son soluciones óptimas de sus problemas respectivos. 9

Teorema de Dualidad Fuerte Si uno de los problemas de un par primal-dual tiene solución óptima finita, entonces, el otro también la tiene, y los valores óptimos de las respectivas funciones objetivo coinciden. Sea x una solución óptima de P obtenida con el método Simplex, y sea B la base en la tabla asociada a x, x t = (B 1 b, 0 n m ) t. Entonces, ω t = c t B B 1 es solución posible del dual, siendo: Por el teorema de dualidad débil, c t x = c t B(B 1 b) = ω t b c t x b t ω, ω solución de D ω es solución óptima de D 10

Teorema Fundamental de Dualidad Dado un par primal-dual, una y sólo una de las afirmaciones siguientes es cierta: 1. Los dos problemas tienen solución óptima finita, y los valores óptimos de ambos problemas coinciden. 2. Uno de los dos problemas es no acotado y el otro es imposible. 3. Ambos problemas son imposibles. (P ) Min z P = x 1 x 2 (D) Max z D = ω 1 + ω 2 s.a: x 1 x 2 1 s.a: ω 1 ω 2 1 x 1 + x 2 1 ω 1 + ω 2 1 x 1, x 2 0 ω 1, ω 2 0 11

4.4 Condiciones de Holgura Complementaria Teorema de Holgura Complementaria Dado el siguiente par primal-dual, (P ) Max c t x (D) Min b t ω s.a: Ax b s.a: A t ω c x 0 ω 0, x solución posible de P, y ω solución posible de D. Las condiciones de holgura complementaria: u i = ω i (b i a t ix) = 0 v j = (ω t a j c j )x j = 0 i = 1,..., m j = 1,..., n Son condiciones necesarias y suficientes de optimalidad, para x y ω. 12

u i 0, i y v j 0, j. Entonces: u = m i=1 u i 0 u = 0 sii u i = ω i (b i a t ix) = 0, i = 1,..., m v = j j=1 v j 0 v = 0 sii v j = (ω t a j c j )x j = 0, j = 1,..., n u+v = m ω i (b i a t ix)+ i=1 n (ω t a j c j )x j = ω t b ω t Ax+ω t Ax c t x = ω t b c t x j=1 Luego, u + v = 0 c t x = ω t b Es decir, si y solo si: x ω es solución óptima del primal es solución óptima del dual 13

Ejemplo, continuación... Las condiciones de holgura complementaria para el par primal-dual del ejemplo son: ω 1 ( 3 + x 1 + 3x 3 ) = 0 ω 2 (5 x 2 2x 3 ) = 0 ω 3 (4 x 1 x 2 x 4 ) = 0 ( ω 1 + ω 3 + 2)x 1 = 0 (ω 2 + ω 3 + 3)x 2 = 0 ( 3ω 1 + 2ω 2 + 9)x 3 = 0 ω 3 x 4 = 0 14

4.5 Interpretación Económica de la Dualidad (P ) Max c t x (D) Min b t ω s.a: a t ix b i i s.a: ω t a j c j j x j 0 j ω i 0 i x t = (B 1 b, 0 n m ) t, ω t = c t BB 1 z =c t BB 1 b j N (z j c j )x j = b t ω j N(z j c j )x j z b i = ω i variable dual i-ésima = razón de cambio de la función objetivo del primal cuando el término independiente de la i-ésima restricción primal es sometido a pequeños cambios 15

Problema de Planificación de la Producción (P) Max c t x s.a: a t i x b i i = 1,..., m recursos x j 0 j = 1,..., n productos Si a t i x < b i ωi = 0 Si ωi > 0 ω at i x i = b i (b i a t i x ) = 0 Variables Duales como Precios Sombra ωi beneficio que conseguiríamos si dispusiésemos de una unidad más de recurso i ωi precio máximo que estaremos dispuestos a pagar por conseguir una unidad extra de recurso i 16

Utilidad de los Precios Sombra Valorar la estabilidad de la solución óptima alcanzada. La base óptima no cambiará mientras los precios no lleguen a un límite. Contemplar cambios en políticas de actuación. Valorar la conveniencia de introducir o no en el mercado nuevos productos. ω t a j c j? Justificar cambios de precios en empresas con precios regulados. Precios competitivos. 17

4.7 Algoritmo Dual del Simplex Primal Min s.a: c t x Ax = b Dual x 0 n Max s.a: b t ω A t ω c A, una matriz m n, de rango completo por filas, b IR m y c IR n y B una x = B 1 b 0 n m submatriz regular m m, A = (B, N) es una SPB del Problema Primal si B 1 b 0 ω = c B B 1 es una Solución Dual Posible si c ω t B B 1 B c B A c sii c B B 1 N c N sii z j c j 0 j N 18

Algoritmo Dual del Simplex (Lemke, 1954) Paso 0.- Considerar una tabla del Simplex cuya base B asociada sea dual posible i.e., z j c j 0, j. Ir al Paso 1. x B z 0 = c t BB 1 B c t B z j c j c t BB 1 N c t N c t BB 1 b x B I m Y = B 1 N b = B 1 b Paso 1.- Si b 0 m, Stop, se han alcanzado las soluciones óptimas del primal y del dual. En otro caso, elegir la fila r, tal que, br = min{ b i } < 0, e ir al Paso 2. x N 19

Paso 2.- Si y rj 0, j N, Stop, el dual es no acotado y el primal es imposible. En otro caso, elegir la columna k, tal que, { } z k c k zj c j = Min y rj < 0 y rk y rj e ir al Paso 3. Paso 3.- Pivotar sobre y rk (la variable x Br deja de ser básica y la variable x k se hace básica). Volver al Paso 1. 20

Ejemplo, continuación... : Consideremos el problema: Max z = 2x 1 3x 2 9x 3 s.a.: x 1 3x 3 3 x 2 + 2x 3 5 x 1 + x 2 + x 4 = 4 x 1, x 2, x 3, x 4 0 que tras añadir variables de holgura resulta: - Min z = 2x 1 + 3x 2 + 9x 3 s.a.: x 1 3x 3 +x 5 = 3 x 2 2x 3 +x 6 = 5 x 1 + x 2 +x 4 = 4 x 1, x 2, x 3, x 4, x 5, x 6 0 21

x 1 x 2 x 3 x 4 x 5 x 6 rhs z -2-3 -9 0 0 0 0 x 5-1 0-3 0 1 0-3 x 6 0-1 -2 0 0 1-5 x 4 1 1 0 1 0 0 4 mín{ 3 1, 9 2 } = 3 x 1 x 2 x 3 x 4 x 5 x 6 rhs z -2 0-3 0 0-3 15 x 5-1 0-3 0 1 0-3 x 2 0 1 2 0 0-1 5 x 4 1 0-2 1 0 1-1 22

x 1 x 2 x 3 x 4 x 5 x 6 rhs z -2 0-3 0 0-3 15 x 5-1 0-3 0 1 0-3 x 2 0 1 2 0 0-1 5 x 4 1 0-2 1 0 1-1 mín{ 2 1, 3 3 } = 1 x 1 x 2 x 3 x 4 x 5 x 6 rhs z -1 0 0 0-1 -3 18 1 1 x 3 3 0 1 0 3 0 1 2 2 x 2 3 1 0 0 3-1 3 5 2 x 4 3 0 0 1 3 1 1 x = 0 3 1 1 z = 18 23

Ejemplo, continuación... : Resolvamos el problema dual a partir de la solución óptima del problema primal y utilizando las condiciones de holgura complementaria: ω 1 ( 3 + x 1 + 3x 3 ) = 0 ω 2 (5 x 2 2x 3 ) = 0 ω 3 (4 x 1 x 2 x 4 ) = 0 ( ω 1 + ω 3 + 2)x 1 = 0 (ω 2 + ω 3 + 3)x 2 = 0 ( 3ω 1 + 2ω 2 + 9)x 3 = 0 ω 3 x 4 = 0 x 2 = 3 > 0 ω 2 + ω 3 = 3 x 3 = 1 > 0 3ω 1 + 2ω 2 = 9 x 4 = 1 > 0 ω 3 = 0 ω 1 = 1, ω 2 = 3, ω 3 = 0 24