• No se han encontrado resultados

Un método recursivo para el problema de programación lineal dinámica

N/A
N/A
Protected

Academic year: 2020

Share "Un método recursivo para el problema de programación lineal dinámica"

Copied!
99
0
0

Texto completo

(1)UNIVERSIDAD NACIONAL SAN AGUSTÍN DE AREQUIPA FACULTAD DE CIENCIAS NATURALES Y FORMALES ESCUELA PROFESIONAL DE MATEMÁTICAS. “UN MÉTODO RECURSIVO PARA EL PROBLEMA DE PROGRAMACIÓN LINEAL DINÁMICA”. Tesis presentada por la Bachiller: Ana Luiza Mamani Arizaca para optar el título profesional de Licenciada en Matemáticas Asesor: Mg. Percy Antonio Ticona Centeno. AREQUIPA-PERÚ 2018.

(2)

(3) A mis padres: Calixto Tomas Mamani Puma Enriqueta Arizaca de Mamani Por haberme forjado como la persona que soy hoy en día, porque siempre han estado a mi lado cuando más los he necesitado.. A mis hermanos: Luis Alberto, Marco Antonio y Maribel Milagros, por su paciencia y los ánimos brindados.. A mi familia, en especial a mi tío: Faustino Arizaca Sullca, por la ayuda que me ha brindado en toda mi vida..

(4) AGRADECIMIENTOS A Dios por la fuerzas brindadas a lo largo de este trabajo. Por ser mi fortaleza, mi guía, mi TODO. A mi asesor el Profesor Mg. Percy Antonio Ticona Centeno, con él que me encuentro en deuda pues me dedicó, tiempo, paciencia y dedicación total durante el desarrollo de este trabajo. A los profesores de la Escuela Profesional de Matemáticas por los conocimientos brindados. A todos ellos muchas gracias..

(5) “Un Método recursivo para el problema de Programación Lineal Dinámica” Ana Luiza Mamani Arizaca Tesis de Licenciatura Escuela Profesional de Matemáticas Facultad de Ciencias Naturales y Formales Universidad Nacional de San Agustín Octubre de 2018 Arequipa, Perú.

(6) Resumen Los sistemas físicos y económicos modelados como sistemas lineales dinámicos de tiempo discreto con función objetivo lineal son considerados problemas lineales dinámicos. La Programación Lineal Dinámica es una técnica matemática que se utiliza para la solución de problemas, en los cuales se toma una serie de decisiones en forma secuencial. El Problema Lineal Dinámico proporciona un procedimiento sistemático, donde el problema se descompone en etapas, las que pueden ser completadas por una o más formas (estados), y enlazando cada etapa a través de cálculos recursivos. En está tesis se analizaron dos métodos orientados a la solución del Problema de Programación Lineal Dinámica. El primero se apoya fundamentalmente en el Principio de Descomposición de Dantzig-Wolfe que depende de la teoría y las técnicas derivadas de la Programación Matemática. El segundo utiliza varios conceptos y métodos como el lagrangiano, penalización externa, lagrangiano aumentado y las ecuaciones de Watanabe. Ambos métodos tratados poseen propiedades de convergencia favorables, al menos en teoría. Con respecto al segundo método, se indicaron los pasos a seguir para su implementación. Palabras claves: Programación Lineal, método de descomposición de DantzigWolfe, principio de optimalidad de Bellman, método recursivo, Programación Lineal Dinámica, penalización, lagrangeano aumentado..

(7) Abstract The physical and economic systems modeled as dynamic linear systems of discrete time with linear objective function are considered dynamic linear problems. Dynamic Linear Programming is a mathematical technique used to solve problems, in which a series of decisions are taken sequentially. The Dynamic Linear Problem provides a systematic procedure, where the problem is broken down into stages, which can be completed by one or more forms (states), and linking each stage through recursive calculations. In this thesis two methods oriented to the solution of the Dynamic Linear Programming Problem were analyzed. The …rst is fundamentally based on the DantzigWolfe Decomposition Principle that depends on the theory and techniques derived from Mathematical Programming. The second uses several concepts and methods such as Lagrangian, external penalty, augmented Lagrangian and Watanabe equations. Both treated methods have favorable convergence properties, at least in theory. With respect to the second method, the steps to be followed for its implementation were indicated. Keywords: Linear Programming, Dantzig-Wolfe decomposition method, Bellman optimality principle, recursive method, Dynamic Linear Programming, penalty, increased Lagrangean..

(8) Índice general Lista de símbolos. 3. Introducción. 4. 1. Preliminares 1.1. Aspectos importantes sobre Programación Lineal . . . . . . . 1.2. El Método Simplex Revisado . . . . . . . . . . . . . . . . . . . 1.3. El Método de descomposición de Dantzig-Wolfe . . . . . . . . 1.3.1. Aplicación del Método Simplex Revisado . . . . . . . . 1.3.2. El Algoritmo de descomposición . . . . . . . . . . . . . 1.4. Programación Dinámica, el principio de optimalidad de Bellman 1.4.1. El problema knapsack . . . . . . . . . . . . . . . . . . 1.4.2. Programación Dinámica aplicado a la Programación Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5. Programación Lineal Dinámica . . . . . . . . . . . . . . . . . 2. Dos métodos para resolver el problema de Programación Lineal Dinámica (PLD) 2.1. Método para la PLD basado en el principio de descomposición de Dantzig-Wolfe . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1. Formulación del problema . . . . . . . . . . . . . . . . 2.1.2. Condiciones de optimalidad . . . . . . . . . . . . . . . 2.1.3. Método recursivo para el problema de Programación Lineal Dinámica . . . . . . . . . . . . . . . . . . . . . . 2.1.4. Descripción del algoritmo . . . . . . . . . . . . . . . . 1. 9 10 16 18 20 22 33 34 36 39. 41 42 42 44 46 50.

(9) 2.1.5. Propiedades teóricas de convergencia . . . . . . . . . . 2.2. El método de Hestenes y Powell aplicado a la Programación Lineal Dinámica (PLD) . . . . . . . . . . . . . . . . . . . . . . 2.2.1. El método de los multiplicadores como un método de penalización . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2. El método de los multiplicadores como un método primaldual . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3. El lagrangiano aumentado en programación no convexa 2.2.4. Aplicación a la Programación Lineal Dinámica . . . . . 2.2.5. Descomposición del lagrangiano aumentado (la ecuación de Watanabe) . . . . . . . . . . . . . . . . . . . . . . . 2.2.6. El algoritmo principal . . . . . . . . . . . . . . . . . . 2.2.7. Ejemplo ilustrativo . . . . . . . . . . . . . . . . . . . .. 52 54 54 61 64 69 75 78 80. Conclusiones. 87. Bibliografía. 89. Apéndice 91 2.3. Códigos de programas . . . . . . . . . . . . . . . . . . . . . . 91. 2.

(10) Lista de símbolos Rn. : espacio euclídeo n-dimensional. Rm£n. : espacio de matrices reales de orden m £ n. kxk. : la norma euclídea. AT. : la transpuesta de la matriz A. xi. : la i-componente del vector x 2 Rn. e. : vector columna de unos, con dimensión compatible con el producto matricial correspondiente. 5f (xk ). : gradiente de f en xk , representado por un vector columna. r2 f (xk ) : hessiano de f en xk ¸. : vector de variables de Lagrange. h0 (x). : el jacobiano de h en el punto x. 3.

(11) Introducción El problema de Programación Lineal es ampliamente conocido en la actualidad, existen varios métodos para su resolución, desde el clásico Método Simplex propuesto por G. Dantzig en 1947, hasta los modernos Métodos de Puntos Interiores Primal-Dual, con todas sus variantes. Este problema tiene gran importancia en el campo de la optimización, debido a sus innumerables aplicaciones en diversas áreas, como en la economía, biología, ingenierías, etc. Pero el problema de Programación Lineal también se aplica en la construcción de métodos para tratar problemas más complejos, como es el caso de problemas de Programación no Lineal y Programación Dinámica. Este último justamente será preponderante en este trabajo. Algunos métodos numéricos son procesos recursivos, esto signi…ca que una función se llama a sí misma de forma repetida, con un argumento diferente, hasta que se satisface alguna determinada condición. El proceso se utiliza para el cálculo donde cada acción se determina mediante un resultado anterior. Un ejemplo didáctico constituye el problema de la mochila (knapsack) en la página 34. Por otro lado, la Programación Dinámica es una técnica que puede ser utilizada siempre que las soluciones del problema a ser resuelto constituyan una sucesión de decisiones óptimas. Si la solución óptima de un problema puede ser obtenida por la elección de una sucesión óptima de decisiones, a partir de la enumeración completa de todas las sucesiones de decisiones, se puede a…rmar que la Programación Dinámica permite establecer criterios para que la enumeración completa no sea necesaria, eliminando así diversas sucesiones de decisiones claramente no óptimas. 4.

(12) La Programación Dinámica se puede aplicar cuando se satisface el principio de optimalidad: en una sucesión óptima de decisiones o elecciones, cada subsucesión debe ser además óptima. Para aquellos problemas donde el principio de optimalidad es válido, el principio puede ser replanteado como sigue: La solución óptima de cualquier ejemplar no trivial es una combinación de soluciones óptimas de algunos de sus sub-ejemplares. La intención de la Programación Dinámica es clara: evitar calcular la misma cosa dos veces. Los cálculos en Programación Dinámica se hacen de un modo recursivo. Es decir, la solución óptima de un subproblema se utiliza como una entrada para el siguiente subproblema. En el momento que se resuelva el último subproblema tendremos a la mano la solución óptima para el problema original. Muchos problemas pueden ser resueltos por esta técnica, tal es el caso de encontrar las rutas óptimas, encontrar el orden óptimo para multiplicar matrices, problemas de con…abilidad, el clásico problema del agente viajero, el problema de Programación Lineal Dinámica. Nuevamente, este último guarda relación con este trabajo. Aunque los cálculos involucrados en la técnica de Programación Dinámica son simples, existe una extrema complejidad en la determinación de la fórmula recursiva que da sentido a su utilización respecto al problema que se quiere resolver, por lo que su aplicación no es simple. Más aún, se debe resaltar que el problema a ser resuelto por esta técnica tiene que cumplir el criterio de optimalidad de Bellman, que fue mencionado anteriormente. Esto reduce el campo de aplicación de esta técnica y el panorama de los problemas que pueden ser resueltos por esta modalidad es reducido. Un problema que merece especial atención es el problema de Programación Lineal Dinámica, que es justamente un modelo compuesto de una función objetivo lineal, sujeto a restricciones lineales y ecuaciones de estado, su solución demandará no solamente algún Método de Programación Lineal, sino que también técnicas auxiliares, como por ejemplo, Programación Dinámica. El problema de interés está relacionado a la dinámica de un sistema a través de una exitación o control, con la …nalidad de alcanzar un objetivo o satisfacer 5.

(13) algún criterio de manera óptima. Es decir, se busca planear la evolución del sistema a lo largo de un cierto horizonte de tiempo, de modo a optimizar un criterio que mida la calidad de las decisiones. Este problema se denomina problema de Optimización Dinámica, donde la toma de las decisiones es secuencial, es decir, en cada periodo o intervalo de tiempo, se adopta la mejor decisión de acuerdo a una función objetivo que será lineal. El problema al que hacemos mención, está compuesto de dos tipos de variables: Variables de estado: que describen las condiciones pasadas, presentes y futuras del sistema, o su estado. Variables de control o decisión: que tienen in‡uencia al sistema a través de las variables de estado. La formulación matemática correspondiente que será estudiada, desde sus conceptos básicos, propiedades y la manera cómo resolverlos computacionalmente, es la siguiente: Minimizar. TP -1. (c (t + 1) x (t + 1) + d (t) u (t)) : Función objetivo. t=0. Sujeto a: x (t + 1) = A (t) x (t) + B (t) u (t) C (t) x (t) + D (t) u (t) = f (t) x (0) = x0 x (t + 1) ¸ 0; u (t) ¸ 0; t = 0:::T - 1. : Ecuación de estado. (1). : Restriciones : Condición inicial : No negatividad. donde T : horizonte de planeamiento, considerado …jo. x (t) 2 Rn : es el vector de estado en la etapa t. u (t) 2 Rr : es el vector de control en la etapa t. x (0): es el vector que representa las condiciones iniciales conocidas. 6.

(14) A (t) y B (t): son matrices conocidas de dimensión (n £ n) y (n £ r) en la etapa t. C (t) y D (t): son matrices conocidas de dimensión (m £ n) y (m £ r) en la etapa t. f (t) 2 Rm : es una función vectorial de recursos conocido en la etapa t. Resolver el problema de arriba consiste en encontrar una sucesión (…nita) de vectores de control fu (0) ; :::; u (T - 1)g y una trayectoria (…nita) de vectores de estado fx (0) ; :::; x (T )g, satisfaciendo la ecuación de estado con condiciones iniciales, y las restricciones, tales que minimicen la función objetivo. El objetivo general perseguido consiste en investigar los conceptos y propiedades vinculados al problema de Programación Lineal Dinámica, así como el análisis de dos métodos para resolver este problema. Por otro lado, los objetivos especí…cos son: 1. Investigar los conceptos y propiedades relacionados al problema de Programación Lineal Dinámica. 2. Analizar dos métodos para resolver el problema de Programación Lineal Dinámica, ambos métodos existen en la literatura y se denominan descomposición en cascada y método basado en el lagrangiano aumentado separable. Esto incluye las propiedades teóricas de convergencia de ambos. 3. Sugerir los pasos a seguir para la implementación computacional del segundo método. El interés particular en el segundo método se debe a que el primero, a pesar de garantizar convergencia teórica …nita, su implementación no es práctica. No obstante, el segundo método tiene un fundamento matemático más rico e interesante, y abre las posibilidades para futuras investigaciones. El trabajo está dividido en dos capítulos, en el primero, se analizan los principales conceptos y propiedades vinculados al problema de Programación 7.

(15) Lineal, el Método Simplex revisado para Programación Lineal, el principio de descomposición de Dantzig-Wolfe y el problema de Programación Dinámica. El segundo capítulo contiene el tema central de este trabajo. En la parte …nal se encuentran las conclusiones y la bibliografía.. 8.

(16) Capítulo 1 Preliminares Este capítulo está orientado a la revisión de los principales conceptos y propiedades vinculados al problema de Programación Lineal, el Método Simplex Revisado, el principio de descomposición de Dantzig-Wolfe y Programación Dinámica. Gran parte de la información fue extraída de Bazaraa, Jarvis & Sherali (2011), Lasdon (1970), Luenberger & Ye (1984) y Papadimitriuo & Steiglitz (1998). En la primera sección presentaremos el problema de Programación Lineal, donde realizaremos una revisión de los aspectos básicos como el signi…cado de punto extremo, solución básica factible, soporte convexo y el método Simplex. En la segunda sección se detallará el funcionamiento de Método Simplex Revisado. La tercera sección esta dedicada al estudio del principio de descomposición de Dantzig-Wolfe, este principio es fundamental cuando se decide abordar problemas de Programación Lineal de grandes dimensiones con una estructura especial. Finalmente, en la cuarta sección se realizará una revisión de Programación Dinámica y el principio de optimalidad de Bellman.. 9.

(17) 1.1.. Aspectos importantes sobre Programación Lineal. Los vectores serán representados como matrices columna. De este modo, si x 2 Rn , 2 3 x1 6.7 6 x = 4 .. 7 5 xn Si x; y 2 Rn , la expresión x · y representa xi · yi , i = 1; :::; n. Es decir, la desigualdad entre vectores es de componente a componente. El modelo matemático denominado problema de Programación Lineal (PL) en la forma estándar, corresponde a: Minimizar cT x Sujeto a: Ax = b x¸0. (1.1). donde A 2 Rm£n , b 2 Rm£1 y c 2 Rn£1 son matrices conocidas, denominadas matriz de coe…cientes tecnológicos, matriz de disponibilidades y matriz de costos, respectivamente. Así también, x 2 Rn£1 representa el vector columna cuyas componentes son las incógnitas o variables independientes. Resolver este problema consiste en encontrar un vector tal que satisfaga las restricciones Ax = b, las condiciones de no negatividad x ¸ 0, que también son restricciones, y que haga mínima la función objetivo cT x. Existen otras formas de colocar el problema de Programación Lineal, por ejemplo la forma canónica: Minimizar cT x Sujeto a: Ax ¸ b x¸0 10. (1.2).

(18) Es posible transformar el problema (1.2) en uno de la forma (1.1), mediante la introducción de un vector cuyas componentes son denominadas variables auxiliares, del siguiente modo: Minimizar cT x Sujeto a: Ax - s = b x, s ¸ 0. (1.3). donde s 2 Rm , tal que s = Ax - b, estas variables auxiliares se denominan especí…camente variables de exceso. Debemos resaltar que con la introducción de variables auxiliares, el problema original dado en (1.2) es transformado en otro problema de mayor dimensión, pues fueron añadidas m nuevas variables, que corresponden a las componentes del vector s. En estas condiciones, resolver (1.3) no es lo mismo que h iT resolver (1.2), pero si conseguimos resolver y encontrar una solución x s para el problema en (1.3), entonces x será una solución para (1.2). Por otro lado, para transformar un problema del tipo: Minimizar cT x Sujeto a: Ax · b x¸0. (1.4). a la forma estándar, podemos introducir un vector auxiliar de variables de holgura, del siguiente modo: Minimizar cT x Sujeto a: Ax + h = b x, h ¸ 0. (1.5). Finalmente debemos aclarar que la función objetivo en el problema (1.5) es diferente a la función objetivo del problema original, debido a que ahora es de la forma cT x + 0h. 11.

(19) Notación 1.1 Todos los vectores serán considerados matrices columnas. Si x 2 Rn£1 , nos referiremos a él simplemente como x 2 Rn . El conjunto ­ = fx 2 Rn : Ax = b; x ¸ 0g. (1.6). se denomina región de factibilidad y sus elementos puntos factibles. La región de factibilidad puede ser limitada, ilimitada o vacía. Cuando la región de factibilidad es vacía, se dice que el problema es infactible. En Programación Lineal, la región de factibilidad es un conjunto convexo y puede ser representada por un poliedro. Un poliedro puede ser caracterizado de varias formas, donde los sistemas de inecuaciones y ecuaciones incluyen símbolos ·, ¸, o =, e inclusive una combinación de todos ellos. De este modo, fx 2 Rn : Ax · b; x ¸ 0g. (1.7). fx 2 Rn : Ax = b; x ¸ 0g y fx 2 Rn : A1 x · b1 , A2 x ¸ b2 , A3 x = b3 , x ¸ 0g también de…nen poliedros en el primer cuadrante. " # " # 1 1 10 Ejemplo 1.1 Con respecto a (1.7), sea A = yb= , entonces 5 2 36 el poliedro " # respectivo en el primer cuadrante será determinado por los puntos x1 x= 2 R2 , tales que satisfacen el sistema de ecuaciones: x2 x1 + x2 · 10. (1.8). 5x1 + 2x2 · 36 x1 ; x2 ¸ 0 En estos términos, resolver el problema (1.1) consiste en hallar x¤ 2 ­ tal que cT x¤ · cT x para todo x 2 ­. Al vector x¤ se le denomina solución óptima. En Programación Lineal, debemos tener en consideración algunos conceptos 12.

(20) indispensables, ellos serán descritos brevemente a continuación: Un conjunto X ½ Rn es convexo, si la combinación lineal convexa de dos elementos cualesquiera del conjunto está en X. Es decir, si dados x(1) , x(2) 2 X, para todo escalar ¸ 2 [0; 1], se veri…ca que ¸x(1) + (1 - ¸) x(2) 2 X Dada la desigualdad pT x ¸ k donde p 2 Rn , x 2 Rn y k 2 R es un escalar. Si x0 2 Rn satisface pT x0 = k, entonces se dice que x0 hace activa la desigualdad pT x ¸ k. Un hiperplano H ½ Rn es un conjunto de la forma © ª H = x 2 Rn : pT x = k. donde p 2 Rn , p 6= 0 es un vector conocido y k 2 R es una constante. Un hiperplano es la extensión de lo que signi…ca una recta en R2 o un plano en R3 . Consideremos la región de factibilidad de un problema de Programación Lineal, como en (1.6): © ª ­ = x 2 Rn : aTi x = bi ; i = 1; :::; m; xj ¸ 0; j = 1; :::; n. donde el vector ai representa en este caso la i-…la de la matriz A y xj la j-componente de x. Un punto extremo b x 2 Rn es la intersección de n hiperplanos linealmente independientes. Es decir, un punto extremo hace activas n restricciones linealmente independientes. Por ejemplo, si ­ = fx 2 R3 : 2x1 + 3x2 + x3 = 10; 5x1 - 2x2 + 4x3 = 6; x1 ¸ 0; x2 ¸ 0; x3 ¸ 0g el punto (2; 2; 0) es un punto extremo, pues hace activas las restricciones 2x1 + 3x2 + x3 = 10, 5x1 - 2x2 + 4x3 = 6 y x1 ¸ 0; x2 ¸ 0 y x3 ¸ 0. 13.

(21) Consideremos el problema de Programación Lineal en la forma estándar, de…nido en (1.1). Asumamos que m < n y el rango de A completo. Una solución básica n-dimensional se obtiene eligiendo de A, quizá previa reordenación de columnas, una submatriz cuadrada e inversible B, la que toma el nombre de matriz básica. Como a cada componente xj del vector x le corresponde una columna aj de A, reordenando sus posiciones de cada xj para que se mantenga la compatibilidad con el problema original, tenemos: h i A= B N ". xB x= xN. #. (1.9). (1.10). Al vector xN 2 Rn-m se le denomina vector no básico y a sus n m componentes se les llama variables no básicas. Por otro lado, al vector xB 2 Rm se le llama vector básico y a sus m componentes se les denomina variables básicas. Reemplazando (1.9) y (1.10) en (1.1) y despejando xB en función de xN , tenemos: " # h i x B = b si y solo si BxB +NxN = b si y solo si xB = B-1 b-B-1 NxN B N xN (1.11) Obsérvese que, si damos valores arbitrarios a las variables del vector xN , y evaluamos xB según (1.11), el vector x=. ". xB. xN. #. =. " # B-1 b - B-1 NxN xN. satisface Ax = b pero aún no satisface necesariamente x ¸ 0. Si hacemos xN = 0 y calculamos nuevamente xB según (1.11), el vector ". # " # xB B-1 b x= = xN 0. 14.

(22) satisface Ax = b y x ¸ 0, pero además será un punto extremo, pues n restricciones linealmente independientes son activas en x, esto es, n - m restricciones activas por causa de xN = 0 y m restricciones activas debido a que satisface Ax = b. Este último vector x, calculado de ese modo, se denomina solución básica. Es decir, en Programación Lineal, una solución básica (factible) es un punto extremo (factible). Si X es un poliedro convexo y compacto en Rn , E (X) el conjunto de sus puntos extremos y C [E (X)] la envoltura convexa de E (X), entonces C [E (X)] = X. Una consecuencia directa de la anterior propiedad se observa en la siguiente propiedad. Sea X = fx 2 Rn : Ax = b; x ¸ 0g un conjunto no vacío y acotado, y sean xi ; i = 1; : : : ; r sus r puntos extremos. Entonces, cualquier elemento x 2 X puede ser escrito como: x= r P. r P. ¸i xi. i=1. ¸i = 1. i. ¸i ¸ 0;. i = 1; : : : ; r. La prueba de ésta, y las anteriores a…rmaciones, pueden ser encontradas en Bazaraa et al. (2011). Existen en la actualidad varios métodos que pueden resolver el problema de Programación Lineal, el más famoso es, sin lugar a dudas, el clásico Método Simplex. Este método fue publicado en 1947 por George Dantzig, constituye desde ese día, un instrumento indispensable para los profesionales de diferentes áreas que tengan que resolver problemas de optimización lineal. El Método Simplex inicia con una solución básica factible y se desplaza entre soluciones básicas factibles hasta encontrar una óptima, o hasta detectar que el problema tiene valor objetivo óptimo ilimitado. Para más información, se puede consultar Bazaraa et al. (2011) y Luenberger et al. (1984). Una forma alternativa de usar el Método Simplex, diseñada para manejar e…cientemente la utilización de memoria para el almacenamiento de datos que 15.

(23) intervienen en el proceso de solución, se denomina Método Simplex Revisado. La razón de exponer este procedimiento es que en está tesis, el método Simplex Revisado, junto al principio de descomposición de Dantzig-Wolfe, proveen un recurso que resulta de gran utilidad en la solución de un problema de Programación Dinámica. El Método Simplex Revisado se expone en la siguiente sección.. 1.2.. El Método Simplex Revisado. El Método Simplex Revisado se basa en los mismos principios del Método Simplex, la única diferencia radica que en cada iteración, calcula y guarda solamente la información que necesita para pasar de una solución básica factible a otra, que se obtiene directamente de las ecuaciones originales por medio de operaciones matriciales. Recordemos el problema de Programación Lineal en la forma estándar, como fue de…nido en (1.1), Minimizar cT x Sujeto a: (1.12) Ax = b x¸0 Asumamos que conocemos una solución básica factible inicial y la matriz básica asociada B (submatriz inversible de orden m de A). Como el Método Simplex se basa principalmente en el cálculo de los costos reducidos y el test de la razón, entonces lo que se busca ahora es almacenar lo mínimo posible en ambos procesos. En efecto, Calculando w = cTB B-1 , podemos calcular los costos reducidos: waj - cj donde j es un índice perteneciente al conjunto de índices de variables no básicas J. Con esto, si wak - ck = máx (waj - cj ) · 0, el algoritmo j2J. 16.

(24) Simplex se detiene otorgando una solución óptima. Caso contrario, se ejecuta el siguiente paso. Calculando yk = B-1 ak , es posible ya ejecutar el test de la razón y, con eso, detectar qué variable no básica pasará a ser considerada básica. Estos dos pasos en el Simplex son esenciales y, como se puede apreciar, mantener B-1 actualizada en cada iteración, permite conocer los demás datos que el algoritmo Simplex requiere para su proceso. El esquema del Método Simplex Revisado consiste en una tabla de dimensiones (m + 1) £ (m + 1), siendo m el número de restricciones; al calcular B-1 en cada iteración, directamente de los datos del principio, no se acumulan errores de redondeo. Por consiguiente, requiere menos cálculo ya que realiza cálculos únicamente en los vectores de aquellas variables no-básicas y registra en memoria lo relativo a las variables básicas. Algoritmo 1.1 (Simplex Revisado) Dado el problema de…nido en (1.1). 1. Paso inicial. Elegir una matriz básica B tal que encuentre una solución básica factible inicial: a) Calcular b = B-1 b. b) Hallar w = cTB B-1 y se forma el siguiente arreglo: Base Inversa Lado derecho w. cB b. B-1. b. 2. Paso Principal. a) Hallar para cada variable no básica zk - ck = máx fzj - cj g, donde zj - cj = waj - cj . b) Si zk - ck · 0, detenerse, la solución básica factible actual es óptima. Caso contrario: calcular yk = B-1 ak 17.

(25) c) Si yk · 0, detenerse. Existe solución óptima ilimitada. " # zk - ck d) Caso contrario: Insértese la columna a la derecha del yk tablero, esto da el siguiente diagrama: Base Inversa Lado derecho w -1. B e) Calcular. br xk = = m´¬n yr;k 1·i·m. xk. cB b. zk - ck. b. yk. ¯. ° bi : yi;k > 0 yi;k. f) Pivotéese en yr;k , esto actualiza el tablero. Ahora la columna correspondiente a xk se ha eliminado completamente y se repite el paso principal. La aplicación del Método Simplex Revisado era indispensable en la implementación computacional del Método Simplex en los años noventa, debido a las capacidades limitadas de los computadores y su memoria física. Sin embargo, con el avance de la tecnología, el abaratamiento de las memorias hoy en día y a su alta capacidad de almacenamiento, este proceso no es indispensable. La razón del interés con esta estrategia, es que el método que analizaremos en el siguiente capítulo, utiliza la idea del Simplex Revisado con otros objetivos.. 1.3.. El Método de descomposición de DantzigWolfe. La presente sección fue extraída de Bazaraa et al. (2011) y Lasdon (1970). El principio de descomposición propuesto por Dantzig-Wolfe es un proceso que se puede aplicar sobre un problema de Programación Lineal cuando éste tiene una estructura particular que resulta favorable para encontrar una 18.

(26) solución de una manera más e…ciente que la convencional. Este recurso generalmente se aplica sobre problemas que poseen grandes dimensiones y donde aplicar de una manera directa el Método Simplex resulta ine…ciente o hasta impracticable. Una forma de hacer frente a esta di…cultad es transformar el problema de Programación Lineal en un problema equivalente con menos restricciones, pero con más variables. Considere el siguiente problema de Programación Lineal, donde X ½ Rn es un conjunto de…nido por restricciones con una estructura especial y favorable, A 2 Rm£n y b 2 Rm : Minimizar cx Sujeto a: (1.13) Ax = b x2X Asumamos incialmente que X es un conjunto no vacío, acotado y determinado por un número …nito de ecuaciones e inecuaciones lineales (un poliedro de Programación Lineal). Fundamentados en la subsección 1.1, podemos hacer las siguientes a…rmaciones: X es convexo. X tiene un número …nito de puntos extremos (un extremo es la intersección de n hiperplanos linealmente independientes). El número de extremos de X puede ser extremadamente grande. De µ ¶ n hecho, éste es acotado superiormente por . m Cualquier x 2 X se puede escribir como una combinación lineal de puntos extremos de X. Basados en estas dos últimas observaciones, sean entonces x1 ; x2 ; :::; xe todos los puntos extremos de X, donde e es el número total de extremos asociados. 19.

(27) a X. Así, para cualquier x 2 X se tiene, x=. e X. ¸j xj. j=1. e X. ¸j = 1. j=1. ¸j ¸ 0;. j = 1; :::; e. Reemplazando x en el problema original dado en (1.13), tenemos: Minimizar. e ¡ P. j=1. ¢ cxj ¸j. Sujeto a: e ¡ ¢ P Axj ¸j = b j=1. e P. (1.14). ¸j = 1. j=1. ¸j ¸ 0;. j = 1; :::; e. Como advertimos en las observaciones anteriores sobre X, éste puede tener muchos extremos, en consecuencia, pueden existir muchas variables ¸j . Esto tornaría poco práctico enfrentar el problema (1.14). Sin embargo, en la aplicación del principio de descomposición de Dantzig-Wolfe se recurre a una estrategia denominada generación de columnas, con el fín de no trabajar con todos los puntos extremos, esto se consigue con la aplicación del método Simplex Revisado, como se describe a continuación.. 1.3.1.. Aplicación del Método Simplex Revisado. Supongamos que conocemos una solución básica factible inicial asociada al problema de Programación Lineal dado en (1.14), este problema se denomina problema maestro. Para obtener dicha solución básica se puede usar variables arti…ciales de ser necesario, estas variables arti…ciales se pueden eliminar usando la fase 1 de la estrategia de II-Fases.. 20.

(28) ". # ¸B La solución básica ¸ = tiene asociada una matriz básica inversible ¸N B 2 R(m+1)£(m+1) . Con esto se puede calcular las variables duales h. w ®. i. = c^TB B-1. donde c^B es el vector de costos básicos en (1.14) cuyas componentes asociadas a cada variable básica ¸j son c^j = cT xj . Según el Método Simplex Revisado, las variables duales, el valor objetivo, la inversa de la matriz básica" y los # b valores de las variables básicas, asociados a (1.14), donde b̄ = B-1 , 1 son mostrados en la siguiente tabla: [ w ® ] c^TB b̄ B-1. b̄. El Método Simplex (y el Revisado) concluyen que la solución básica factible actual es óptima observando los costos reducidos correspondientes a las variables no básicas: Ã " # ! h i Axj zk - c^k = máx (zj - c^j ) = máx - cT xj w ® 1·j·e 1·j·e 1 ¡¡ ¢ ¢ = máx wA - cT xj + ® 1·j·e. La solución actual se puede mejorar mediante la introducción de xk en la base, precedido de una actualización. La búsqueda de máx (zj - c^j ) calcu1·j·e. lando para cada punto extremo y la comparación puede ser extremadamente tediosa, hasta imposible, debido a que e, el número de puntos extremos, generalmente es inmenso. Afortunadamente, eso puede ser evitado observando que ¡ ¢ máx (wA - c) xj + ® = máx ((wA - c) x + ®) 1·j·e. x2X. Es decir, para hallar los costos reducidos en (1.14), dado el vector de variah i bles básicas iniciales ¸ = ¸B ¸N asociado al problema (1.14), debemos 21.

(29) resolver el Subproblema: ¡ ¢ Minimizar wA - cT x + ® Sujeto a: x2X. (1.15). Observe que el subproblema (1.15) es fácil de ser resuelto debido a que X posee una estructura particular y favorable. Entendemos por favorable a la forma particular que puede tener X, llámese ésta un poliedro de Programación Lineal, una caja n-dimensional, o hasta X puede ser determinado por restricciones lineales cuya matriz de coe…cientes tiene una estructura angular por bloques. La columna para entrar en la base será elegida resolviendo el subproblema (1.15). Esto último se conoce como generación de columnas. Esto es la base del principio de descomposición de Dantzig-Wolfe para programas lineales.. 1.3.2.. El Algoritmo de descomposición. El algoritmo es iterativo y alterna entre la solución del programa maestro y los subproblemas independientes cuyas funciones objetivo contienen las variables duales. Es decir, los subproblemas reciben las variables duales desde el programa maestro y ellos envían sus soluciones para el programa maestro, que los combina con las soluciones anteriores de una forma óptima y calcula los nuevos costos reducidos. Estos son enviados de nuevo a los subproblemas y se pasa la iteración continua hasta que una prueba de optimalidad los detenga. Iniciación. Al encontrar una Solución Básica Factible (SBF) inicial del sistema de…nido por las ecuaciones dado en (1.14), y con una matriz básica B, formamos [ w ® ] = c^TB B-1. 22.

(30) y b̄ = B-1. ". b 1. #. donde c^TB es el vector de costos básicos en (1.14) cuyas componentes asociadas a cada variable básica ¸j son c^j = cT xj : [w; ®] c^TB b̄ B-1. b̄. Paso Principal 1. Se resuelve el siguiente subproblema: ¡ ¢ Minimizar wA - cT x + ® Sujeto a: x2X Sea xk una solución básica factible óptima con valor objetivo zk - c^k . Si zk - c^k , detenerse, la solución básica factible del paso maestro anterior es una solución óptima del problema completo. Caso contrario, ir al siguiente paso. " # " # Ax z c ^ k k k 2. Sea yk = B-1 y adjúntese la columna actualizada al 1 yk arreglo maestro. Pivotéese en yr;k en donde el índice k se determina como: ¯ ° br bi = m´¬n : yi;k > 0 yr;k 1·i·m yi;k. Esto actualiza las variables duales, la inversa de la base, y el lado derecho. Después de pivotear, se elimina la columna de ¸k y se repite el paso 1.. 23.

(31) Ejemplo 1.2 Considérese el siguiente problema: Minimizar -2x1 Sujeto a: x1 x1 x1 x1. +. x2. +. x3 x3. x4. + 2x4. x2. + 2x2 -. x1. +. ;. x2. x3 2x3 x3. ;. + + ;. x4 x4 x4. · · · · · · ¸. 2 3 2 5 2 6 0. Asumamos que X sea el conjunto determinado por las cuatro últimas restricciones, junto a las restricciones de no negatividad. De esta manera, minimizar una función lineal sobre X es un proceso simple, pues el subproblema se puede descomponer en dos nuevos subproblemas. Por lo tanto, se manejarán las dos primeras restricciones como Ax · b, en donde " # 1 0 1 0 A= 1 1 0 2. y. " # 2 b= 3. y las restricciones restantes, como X. Cualquier punto (x1 ; x2 ; x3 ; x4 ) en X debe tener sus dos primeras componentes (visto como un vector) y sus dos últimas componentes (como un vector), en los conjuntos X1 y X2 , respectivamente. Paso Inicial: El problema se reformula como sigue, donde x1 ; x2 ; :::; xt son los puntos extremos de X, cbj = cT xj para j = 1; 2; :::; t y s ¸ 0 es el. 24.

(32) vector de holgura. Minimizar. t P. c^Tj ¸j. j=1. Sujeto a: t ¡ ¢ P A1 xj ¸j + s = b j=1. t P. ¸j = 1. j=1. ¸j ¸ 0 j = 1; 2; :::; t s¸0 Se necesita una base inicial con inversa B-1 conocida. La base inicial consiste de s y de ¸1 , en donde x1 = [0; 0; 0; 0]T es un punto extremo de X con cT x1 = 0. Por lo tanto, 2. 3 1 0 0 6 7 B = 40 1 05 0 0 1. " # b El vector [w; ®] = c^TB = 0B-1 = 0 y b = B-1 . Esto da el siguiente 1 tablero: las tres primeras columnas dan (w1 ; w2 ; ®) en el renglón 0 y B-1 en los renglones restantes. Base Inversa. L.D. z. 0. 0. 0. 0. s1. 1. 0. 0. 2. s2. 0. 1. 0. 3. ¸1. 0. 0. 1. 1. Iteración 1:. 25.

(33) Subproblema: Resuélvase el siguiente subproblema: ¡ ¢ Minimizar wA - cT x + ® Sujeto a: x2X Aquí [w1 ; w2 ] = [0; 0] del arreglo anterior. Por lo tanto, el subproblema queda: Minimizar 2x1 + x2 + x3 - x4 + 0 Sujeto a: x2X Este problema es separable en los vectores (x1 ; x2 ) y (x3 ; x4 ) y se puede resolver geométricamente. Se veri…ca fácilmente que la solución óptima ¡ ¢ es x2 = 2; 32 ; 3; 0 con objetivo z2 - cb2 = 17 . Puesto que 2 z2 - cb2 =. 17 >0 2. entonces se introduce ¸2 correspondiente a x2 . La cota inferior es igual ac cB b - (z2 - cb2 ) = 0 - 17 . El mejor objetivo hasta ahora es cero. 2. Paso Maestro:. 17 2 2 3 " # 627 " # 37 1 0 1 0 6 5 2 27 6 Ax = = 7 6 7 1 1 0 2 435 2 0 z2 - cb2 =. Entonces. 2 3 " # 5 Ax2 67 7 = 42 5 1 1. 26.

(34) Se actualiza premultiplicando por B-1 . Por lo tanto, 2 3 2 3 2 3 5 5 5 67 7 677 -1 6 7 7 y2 = B 4 2 5 = I 4 2 5 = 4 2 5 1 1 1 Insértese la columna. 2 3 17. " # 627 657 b z2 - c2 7 =6 677 y2 425 1. en el arreglo anterior y pivotéese. Esto lleva a los siguientes tableros (la columna ¸2 se elimina después de pivotear): Base Inversa. L.D ¸2. z. 0. 0. 0. 0. 17 2. s1. 1. 0. 0. 2. 5. s2. 0. 1. 0. 3. 7 2. ¸1. 0. 0. 1. 1. 1. Base Inversa z ¸2 s2 ¸1. - 17 10 1 5 7 - 10 - 15. L.D. 0. 0. - 17 5. 0. 0. 1. 0. 0. 1. 2 5 8 5 3 5. La mejor solución factible conocida del problema completo está dada por: x = ¸1 x1 + ¸2 x2 µ ¶ µ ¶ 3 2 3 4 3 6 x = (0; 0; 0; 0) + 2; ; 3; 0 = ; ; ;0 5 5 2 5 5 5 ¡ 17 ¢ El objetivo es - 17 . Asimismo, (w ; w ; ®) = ; 0; 0 . 1 2 5 10. Iteración 2: w1 < 0, s1 no es elegible para entrar a la base en este momento.. 27.

(35) Subproblema: Resuélvase el siguiente problema: ¡ ¢ Minimizar wA - cT x + ® Sujeto a: x2X # µ ¶" µ ¶ 1 0 1 0 17 3 7 T wA-c = - ; 0 -(-2; -1; -1; 1) = ; 1; - ; -1 10 10 10 1 1 0 2 Por lo tanto, el subproblema es: Minimizar Sujeto a:. 3 x 10 1. + x2 -. 7 x 10 3. - x4 + 0. x2X Este problema se descompone en dos problemas que comprenden a ¡ ¢ (x1 ; x2 ) y (x3 ; x4 ), la solución óptima es x3 = 0; 52 ; 0; 0 con objetivo z3 - cb3 = 52 . Puesto que z3 - cb3 = 52 > 0, entonces se introduce ¸3 correspondiente a x3 . La cota inferior es igual a:. Paso Maestro:. c cB b - (z3 - cb3 ) =. 17 5 59 - = - = -5; 9 5 2 10. 5 2 2 3 " # 607 " # 57 1 0 1 0 6 62 7 = 0 Ax3 = 7 5 1 1 0 2 6 405 2 0 z3 - cb3 =. Entonces. 2 3 " # 0 3 Ax 65 7 = 42 5 1 1. 28.

(36) 2 3 " # 607 " # 57 1 0 1 0 6 62 7 = 0 Ax3 = 7 5 1 1 0 2 6 405 2 0. Se actualiza premultiplicando por B-1 . Por lo tanto, 2 3 2 1 32 3 2 3 0 0 0 0 0 5 6 7 7 65 7 657 -1 6 5 7 y3 = B 4 2 5 = 4- 10 1 05 4 2 5 = 4 2 5 1 - 15 0 1 1 1. Insértese la columna. 2 3 5. " # 62 7 607 z3 - cb3 7 =6 65 7 y3 42 5 1. en el arreglo anterior y pivotéese. Esto lleva a los siguientes tableros (la columna ¸3 se elimina después de pivotear): Base Inversa. L.D. z. - 65. 0. - 52. - 49 10. ¸2. 1 5. 0. 0. s2. - 15. 1. - 52. ¸3. - 15. 0. 1. 2 5 1 10 3 5. Base Inversa. L.D ¸3. z. - 17 10. 0. 0. - 17 5. 5 2. ¸2. 1 5. 0. 0. 0. s2. 7 - 10 - 15. 1. 0. 0. 1. 2 5 8 5 3 5. ¸1. 5 2. 1. La mejor solución factible conocida del problema completo está dada por: x = ¸2 x2 + ¸3 x3. 29.

(37) µ ¶ µ ¶ µ ¶ 2 3 3 5 4 21 6 x= 2; ; 3; 0 + 0; ; 0; 0 = ; ; ;0 5 2 5 2 5 10 5 ¡ ¢ El objetivo es -4; 9. Asimismo, (w1 ; w2 ; ®) = - 65 ; 0; - 52 .. Iteración 3: w1 < 0, s1 no es elegible para entrar a la base en este momento. Subproblema: Resuélvase el siguiente problema: ¡ ¢ Minimizar wA - cT x + ® Sujeto a: x2X wA - cT =. µ. # ¶" µ ¶ 1 0 1 0 6 4 1 - ;0 - (-2; -1; -1; 1) = ; 1; - ; -1 5 5 5 1 1 0 2. El subproblema queda: Minimizar 45 x1 + x2 - 15 x3 - x4 Sujeto a: x2X. 5 2. ¡ ¢ La solución óptima es x4 = 2; 32 ; 0; 0 con objetivo z4 - cb4 = 35 . Puesto que z3 - cb3 = 52 > 0, entonces se introduce ¸4 correspondiente a x4 . La cota inferior es c cB b - (z4 - cb4 ) = - 49 - 35 = -5; 5. El mejor objetivo 10 hasta ahora es -4; 9. Si desearamos una solución aproximada, el pro¡ ¢ cedimiento podría detenerse con la solución factible x = 45 ; 21 ; 6; 0 , 10 5 cuyo objetivo es 4; 9. Paso Maestro:. 3 5 2 3 " # 627 " # 37 1 0 1 0 6 62 7 = 2 Ax4 = 7 7 1 1 0 2 6 405 2 0 z4 - cb4 =. 30.

(38) Entonces. 2 3 " # 2 4 Ax 67 7 = 42 5 1 1. Se actualiza premultiplicando por B-1 . Por lo tanto, 2 3 2 1 3 2 3 22 3 2 0 0 2 5 5 6 7 6 7 6 63 7 -1 7 1 5 77 y4 = B 4 2 5 = 4- 5 1 - 2 5 4 2 5 = 4 5 5 3 1 - 15 0 1 1 5. Insértese la columna. 2 3 3. " # 65 7 6 25 7 z4 - cb4 7 =6 63 7 y4 45 5 3 5. en el arreglo anterior y pivotéese. Esto lleva a los siguientes tableros (la columna ¸3 se elimina después de pivotear: Base Inversa - 65 1 5 - 15 - 15. z ¸2 s2 ¸3. 0. - 52. 0. 0. 1. - 52. 0. 1. Base Inversa. L.D. ¸4. - 49 10 2 5 1 10 3 5. 3 5 2 5 3 5 3 5. L.D. z. -1. -1. 0. -5. ¸2. 1 5. ¸4. - 13. - 23 5 3. ¸3. - 15. -1. 5 3 - 25 6 7 2. 1 3 1 6 1 2. La mejor solución factible conocida del problema completo está dada por: x = ¸2 x2 + ¸3 x3 + ¸4 x4. 31.

(39) µ ¶ µ ¶ µ ¶ 1 3 1 5 1 3 x= 2; ; 3; 0 + 0; ; 0; 0 + 2; ; 0; 0 = (1; 2; 1; 0) 3 2 2 2 6 2. El objetivo es -5. Asimismo, (w1 ; w2 ; ®) = (-1; -1; 0).. Iteración 4: Puesto que w1 < 0 y w2 < 0, s1 y s2 no son elegibles para entrar a la base en este momento. Subproblema:. ¡ ¢ Minimizar wA - cT x + ® Sujeto a: x2X " # 1 0 1 0 wA - cT = (-1; -1) - (-2; -1; -1; 1) = (0; 0; 0; -3) 1 1 0 2. Por lo tanto, el subproblema es el siguiente: Minimizar 0x1 + 0x2 + 0x3 - 3x4 + 0 Sujeto a: x2X La solución óptima es x5 = (0; 0; 0; 0) con objetivo z5 - zb5 = 0, el cual es el criterio de terminación. La cota inferior es: c cB b - (z5 - cb5 ) = -5 - 0 = -5. que es igual a la mejor solución (y por lo tanto óptima). En conclusión, la solución óptima del problema original es: (x1 ; x2 ; x3 ; x4 ) = (1; 2; 1; 0) su valor objetivo óptimo es -5.. 32.

(40) 1.4.. Programación Dinámica, el principio de optimalidad de Bellman. Según (Taha, 2004: página 404), en el ámbito de métodos numéricos y computación, se dice que una función (proceso) es iterativa, cuando la función se llama a sí misma de forma repetida, hasta que se satisface alguna determinada condición. El proceso se utiliza para el cálculo donde cada acción se determina mediante un resultado anterior. El problema knapsack, que se muestra subsiguientemente, muestra que la recursividad puede darse en dos formas, hacia adelante y hacia atrás. En el año 1957, el matemático Richard Bellman desarrolló una técnica denominada Programación Dinámica. Esta técnica puede ser utilizada siempre que las soluciones del problema a ser resuelto constituyen una sucesión de decisiones. Los cálculos se hacen de un modo recursivo. Es decir, la solución óptima de un subproblema se usa como dato para el siguiente subproblema. En el momento que resolvemos el último subproblema tendremos la solución óptima del problema original. La Programación Dinámica se puede aplicar cuando se satisface el principio de optimalidad de Bellman: “En una sucesión óptima de decisiones o elecciones, cada subsucesión debe ser óptima”. Básicamente, la Programación Dinámica es un método exhaustivo, enumera casi por completo todas las opciones. Pero, lo hace ordenadamente: así evita calcular la misma cosa dos veces, con eso ahorra una gran cantidad de cálculos. A continuación veremos algunos ejemplos que ilustran esta técnica.. 33.

(41) 1.4.1.. El problema knapsack. Este problema es uno de los 21 problemas NP-completos1 formulados por Richard Karp, establecidos por el informático teórico en un famoso artículo de 1972. Si bien la formulación del problema es sencilla, su resolución es más compleja. Es un problema de optimización combinatoria, es decir, busca la mejor solución entre un conjunto …nito de posibles soluciones a un problema. El problema consiste en lo siguiente: “El modelo es de una mochila, capaz de soportar un peso determinado, con todo o parte de un conjunto de artículos, cada uno con un peso y valor especí…co. Los artículos que están en la mochila deben maximizar el valor total sin exceder el peso máximo”, donde: W: es el peso máximo, mi : cantidad de unidades del i-artículo a ser considerados, ri : bene…cio por cada unidad de artículo, wi : peso por unidad del artículo i. La formulación matemática, el problema de optimización, visto como un problema de Programación Lineal Entera, corresponde a: Maximizar z = r1 m1 + r2 m2 + : : : + rn mn Sujeto a: w1 m1 + w2 m2 + : : : + wn mn · W m1 ; m2 ; : : : ; mn ¸ 0 enteros Sin embargo, este problema también puede ser resuelto usándose Programaciòn Lineal Dinámica. Con ese objetivo, consideremos los tres elementos del modelo: 1. La etapa i se representa con el artículo i, i = 1; 2; : : : ; n. 1. Intuitivamente, un problema NP-completo es un problema de difícil solución, cualquier algoritmo conocido debería tomar un número exponencial de iteraciones, en función de los datos de entrada, para …nalizar.. 34.

(42) 2. Las alternativas en la etapa i, sehrepresentan por mi . El ingreso corresi W pondiente es ri mi . Si se de…ne w i como el máximo entero menor o h i W igual a w i , se ve que mi = 0; 1; : : : ; wWi .. 3. El estado en la etapa i se representa por xi , el peso total asignado a las etapas i; i + 1; : : :y n. Está de…nición dice que la restricción del peso es la única que vincula entre sí a todas las n etapas. De…niremos fi (xi ) : ingreso máximo para las etapas i; i + 1; : : : y n, dado el estado xi Existen dos tipos de recursividad en Programación Dinámica: Recursividad en avance y Recursividad en reversa. a) Recursividad en avance Esta es la forma más clara de recursividad, está caracterizada por lo siguiente: expresar fi (xi ) en función de fi (xi+1 ) como sigue: fi (xi ) =. m´¬n  fri mi W 0·m i · w i x i ·W. + fi+1 (xi+1 )g, i = 1; 2; : : : ; n. fn+1 (xn+1 ) ¼ 0. b) Recursividad en reversa Esta forma es un poco difícil de entender en teoría, pero tiene, según los autores de varios textos, algunas virtudes numéricas. Consiste en expresar xi+ 1 en función de xi para asegurar que el lado izquierdo, fi (xi ), sea función solo de xi . Por de…nición, xi - xi+ 1 = wi mi representa el peso que se usó en la etapa i. Así, xi+ 1 = xi - wi mi , entonces la ecuación recursiva apropiada es: fi (xi ) = máx i = 1; 2; : : : ; n   fri mi + fi+1 (xi - wi mi )g ; W 0·m i · w i x i ·W. 35.

(43) 1.4.2.. Programación Dinámica aplicado a la Programación Lineal. La Programación Dinámica se basa en la recursividad que se estructura de la descomposición de un sistema de varias etapas. El Problema Lineal es: Maximizar z =. n P. ci xi. i=1. Sujeto a: n P aij xj · bi j=1. xj ¸ 0. Para resolver este problema por medio de la Programación Dinámica, se tiene: Etapa: Cada actividad xj ¸ 0, j = 1; : : : ; n. Decisión: El nivel de la actividad xj ¸ 0, j = 1; : : : ; n representa la decisión en la etapa j, j = 1; : : : ; n. Esta decisión es una variable continua. Entrada: La entrada en la etapa j, j = 1; : : : ; n es un vector de disponibilidad de recursos que tiene 2 m3 componentes. Este vector en la etapa j se h1j 6 7 6 h2j 7 6 representa por: Hj = 6 . 7 7 j = 1; : : : n. Se hace notar que el vector 4 .. 5 hmj de entrada a todo el sistema H1 , tiene como 2 componentes, 3 2 3 la mano h11 b1 6 7 6 7 6 h21 7 6 b2 7 7 6 7 derecha del programa lineal, es decir H1= 6 6 .. 7 = 6 .. 7 por lo que . 4 5 4 . 5 hm1 bm 0 · Hj · H1 8 j = 1; ¢ ¢ ¢ ; n. Función de transferencia: La dan las mismas restricciones del problema lineal, es decir hij - aij xj para j = 1; : : : ; n; i = 1; : : : ; m.. 36.

(44) La e…ciencia y/o efectividad total: es la función objetivo del programa lineal. Función recursiva: método de solución de salida a entrada: gk (h1k ; h2k ; : : : ; hmk ) = = máx fck xk + gk+1 (h1k - a1k xk ; :::; hmk - amk xk )g 0·a i k x k ·h ik i;k. donde i = 1; : : : ; m , k = 1; 2; :::; n - 1 y con g1 (h1n ; h2n ; : : : ; hmn ) =. máx. 0·a i n x n ·h i n. fcn xn g ; i = 1; : : : ; m. como condición inicial donde se sobreentiende que 0 · hij · hi1 = bi i = 1; : : : ; m Ejemplo 1.3 Resolvemos el siguiente problema lineal: Minimizar z = 2x1 + 5x2 Sujeto a: 2x1 + x2 · 430 2x2 · 460 x1 ¸ 0, x2 ¸ 0 Optimización de una etapa. Como hay solo dos variables x1 , x2 , se empieza con la etapa correspondiente a x2 . Se tiene à ! h12 H2 = h22 g2 (h12 ; h22 ) =. máx. 0·x 1 ·h 1 2 0·2x 2 ·h 2 2. f5x2 g. Por ser la función 5x2 monótona creciente, es decir, que aumenta a medida que x2 aumenta, el máximo se obtiene, ya sea cuando x2 = h12 ó x2 = h22 2 . Con objeto de que no se violen las restricciones, se ve cuál. 37.

(45) de las dos es menor, por lo que se toma x¤2. µ ¶ h22 = m´¬n h12 ; 2. o sea que µ. ¶ 5h22 g2 (h12 ; h22 ) = m´¬n 5h12 ; 2 µ ¶ h22 = 5 m´¬n h12 ; 2 Optimización de dos etapas. En este caso à ! à ! à ! h11 b1 430 H1 = = = h21 b2 460 por lo que g1 (430; 460) =. máx. 0·2x 1 ·430. máx x. =. 0·. =. 1 2. · 4 32 0. f2x1 + g2 (430 - 2x1 ; 460 - 0)g ¯ µ ¶° 460 2x1 + 5 m´¬n 430 - 2x1 ; 2. máx f2x1 + 5 m´¬n (430 - 2x1 ; 230)g. 0·x 1 ·215. Está última expresión se puede descomponer en g1 (430; 460) = máx. ±. 2x1 + 5 (230), si 0 · x1 · 100, 2x1 + 5 (430 - 2x1 ), si 100 · x1 · 215.. ². Efectuando operaciones se tiene: g1 (430; 460) = máx. ±. 2x1 + 1150, si 0 · x1 · 100, -8x1 + 2150, si 100 · x1 · 215.. ². La primera expresión 2x1 + 1150, obtiene su máximo para x1 = 100, y le da un valor de 2 (100) + 1150 = 1350. Para la segunda expresión, el máximo lo da x1 = 100, generando -8 (100)+2150 = 1350. Se concluye 38.

(46) que x¤1 = 100. Se sabe que hay entre H1 y H2 es: H2. Ã ! Ã ! h12 h11 - a11 x¤1 = = h22 h21 - a21 x¤1 Ã ! 430 - 2 (100) = 460 - 0 (100) Ã ! 230 = 460. ¡ ¢ Por lo tanto, como x¤2 = m´¬n h12 ; h22 2 , se tiene x¤2. µ ¶ 460 = m´¬n 230; 2 = 230. La solución óptima es x¤1 = 100, x¤2 = 230 y z¤ = 1350. Como se puede apreciar, este capítulo contenía aspectos básicos que serán de gran utilidad en el siguiente, en especial para entender los detalles teóricos del primer método que se presenta en el siguinte capítulo.. 1.5.. Programación Lineal Dinámica. El problema de Programación Lineal Dinámica (PLD) es un caso particular de un problema de Programación Lineal, en los cuales se toma una serie de decisiones en forma secuencial. La Programación Lineal Dinámica descompone el problema en etapas, en las que pueden ser completadas por una o más formas (estados), y enlazando cada etapa a través de calculos recursivos. El Problema de Programación Lineal Dinámica que estamos interesados en resolver en está tesis corresponde al siguiente modelo matemático:. 39.

(47) (I). Minimizar. N ¡ ¢ P ck xk + dk yk. k=1. (II) (III). Sujeto a: ² T k yk-1 + Ak xk + Rk yk = bk xk ¸ 0; yk ¸ 0 y0 = 0; yN = 0. (1.16) k = 1; 2; ¢ ¢ ¢ ; N. donde: Ak ; Rk y T k son matrices cuyas dimensiones son compatibles para el producto, conocidas; ck y dk son matrices …la también compatibles y conocidas; xk ; yk son matrices columna compatibles, denominadas vector de variables primarias y vector variables de enlace, respectivamente; y0 ; yN representan las condiciones iniciales. Ejemplo 1.4 Consideremos el problema de Programación Lineal Dinámica de la forma (1.16), donde se ha considerado dos etapas, esté toma la siguiente forma: Minimizar 1x11 + 1x12 - 1y11 - 1y12 + 1x21 + 1x22 - 1y21 - 1y22 Sujeto a: 0y01 + 2y02 - 1x11 + 0x12 + 1y11 + 0y12 = 1 1y01 + 2y02 + 0x11 + 2x12 + 0y11 + 1y12 = 2. x11 ;. x12 ;. -1y11 + 3y12 + 1x21 + 2x22 + 1y21 + 0y22 = 3 1y11 + 2y12 - 1x21 + 3x22 + 0y21 + 1y22 = 4 y11 ; y12 ; x21 ; x22 ¸ 0 y0 = 0; y2 = 0. Un problema de Programación Lineal Dinámica puede ser resuelto por el Método Simplex tradicional, sin embargo el Simplex no considera para nada la estructura particular de la matriz de restricciones (diagonal en bloques). 40.

(48) Capítulo 2 Dos métodos para resolver el problema de Programación Lineal Dinámica (PLD) Este capítulo representa el tema principal de este trabajo de tesis, donde se analizarán dos métodos recursivos para resolver el problema de Programación Lineal Dinámica (PLD). En uno de ellos, el fundamento será el método de descomposición de Dantzig-Wolfe. En el otro, el fundamento es la descomposición del lagrangiano aumentado. En la primera sección, se formula el problema PLD, denominado también Problema de Múltiples Etapas, donde se establecen los conceptos y la terminología que se usarán. Se debe aclarar que el formato del problema a tratarse aquí es diferente (pero equivalente) al planteado en la introducción. También se darán las condiciones de optimalidad asociadas al problema PLD, que están compuestas en dos partes: condiciones locales y condiciones de enlace. Finalmente se expone el método con todos los fundamentos matemáticos que dan soporte al mismo, así como las propiedades de convergencia. La segunda sección contiene un método basado en el método de los multiplicadores de Lagrange y el lagrangiano aumentado, los que fueron modi…cados buscando la separabilidad del problema PLD, con el …n de ganar e…ciencia, 41.

(49) al menos en teoría, cuando el problema PLD sea de grandes dimensiones. Resaltamos que el formato del problema PLD sobre el que se trabajará, ahora sí coincide con el mostrado en la introducción de esta tesis. Esta sección, y el correspondiente método, es en realidad el principal tema a tratarse en esta tesis, y es el que da soporte a esta investigación.. 2.1.. Método para la PLD basado en el principio de descomposición de Dantzig-Wolfe. Esta sección comienza de…niendo el problema PLD en el formato usado por Glassey (1973). Consecutivamente se dan las condiciones de optimalidad asociadas a este problema, el método en sí, y las propiedades de convergencia. Al …nal de la sección se darán algunos comentarios respecto a su implementación.. 2.1.1.. Formulación del problema. El problema de Programación Lineal Dinámica (PLD) es un caso particular de un problema de Programación Lineal, de la siguiente forma: (I). Minimizar. N ¡ P. ck xk + dk yk. k=1. (II) (III). ¢. Sujeto a: ² T k yk-1 + Ak xk + Rk yk = bk xk ¸ 0; yk ¸ 0 y0 = 0; yN = 0. (2.1) k = 1; 2; ¢ ¢ ¢ ; N. donde: xk es el vector de variables primarias. yk es el vector de variables de enlace. y0 ; yN son vectores que representan las condiciones iniciales. Ak 2, Rk y T k son matrices conocidas. 42.

(50) ck y dk son vectores conocidos (en este capítulo serán matrices …la). (I) contiene la función objetivo, en el formato de minimización. (II) contiene las restricciones, que son de tipo recursivo. (III) contiene las condiciones iniciales. La estructura de las restricciones de (2.1) permiten visualizar el problema como uno secuencial y recursivo de N etapas. Los vectores yk los llamaremos vectores de variables de enlace, mientras que los vectores xk se denominarán vectores de variables primarias. Resolver (2.1) consiste en encontrar una sucesión (…nita) de vectores de en© ª © ª lace y0 ; :::; yN y de vectores primarios x0 ; :::; xN , satisfaciendo las restricciones con condiciones iniciales, tales que minimizen la función objetivo. Exigir que T 1 = 0 y RN = 0 es quivalente a exigir que se cumplan las condiciones iniciales y0 = 0 y yN = 0. En consecuencia, la matriz de coe…cientes para el problema (2.1) es: c1 A1. d1 R1 T2. c2 A2. ¢¢¢ R2. N -1. c. N -1. d. cN b1 b2 .. .. ¢¢¢ ... N-1. A. N-1. R TN. (2.2). N-1. AN. b bN. Si está matriz de coe…cientes es lo su…cientemente pequeña, el problema (2.1) puede, y debería ser resuelto por el Método Simplex. Sin embargo, si se dispone de cientos o miles de …las y columnas, y el horizonte de planeamiento (N) es grande, es necesario buscar métodos especí…cos porque el esfuerzo computacional es grande.. 43.

(51) 2.1.2.. Condiciones de optimalidad. El problema (2.1) es de la forma: Minimizar C T X Sujeto a: AX = B X ¸0. (2.3). donde 2. y. A1 R1 6 6 T 2 A2 R2 6 6 T3 6 A=6 ... 6 6 6 AN-1 RN-1 4 TN AN 2. c1 d1 c2 .. .. 6 6 6 6 6 C =6 6 6 6 N-1 4 d cN. 3. 7 7 7 7 7 7; 7 7 7 5. 2. x1 y1 x2 .. .. 6 6 6 6 6 X =6 6 6 6 N 4 x yN. 3. 7 7 7 7 7 7; 7 7 7 5. 2. b1 b2 .. .. 6 6 6 6 B=6 6 6 bN-1 4 bN. 3 7 7 7 7 7 7 7 5. 3 7 7 7 7 7 7 7 7 7 5. Para hallar las condiciones de optimalidad de (2.3), de…nimos el vector …la (de subvectores de variables duales) de la forma: ¼=. h. ¼1 ¼2 ¢ ¢ ¢. 44. ¼N-1 ¼N. i.

(52) Las condiciones de optimalidad de Karush Kuhn Tucker, necesarias y su…cientes para (2.3), son: AX = B , X ¸ 0 ¼A · B (B - ¼A) X = 0. (factibilidad primal) (factibilidad dual) (complementariedad). (2.4). Observe que, respecto a la factibilidad dual, tenemos ¼1 A1 · c1. ¼1 R1 + ¼2 T 2 · d1 ¼2 A2 · c2. ¼2 R2 + ¼3 T 3 · d2 .. . ¼N-1 AN-1 · dN-1. ¼N-1 RN-1 + ¼N T N · dN-1 ¼N AN · cN. De esta manera, haciendo wk = yk-1 , el sistema (2.4) puede ser visto así T k wk + Ak xk + Rk yk = bk. (factibilidad primal). wk = yk-1. (factibilidad primal). wk ¸ 0;. xk ¸ 0;. yk ¸ 0. (factibilidad primal). ¼k Ak · ck. (factibilidad dual). ¼k-1 Rk-1 + ¼k T k · dk-1 ¡ k ¢ c - ¼k Ak xk = 0 ¡ k-1 ¢ d - ¼k-1 Rk-1 - ¼k T k yk-1 = 0. (factibilidad dual) (complementariedad) (complementariedad). Estas condiciones de optimalidad serán divididas en condiciones locales (relativas a una etapa) y condiciones de uni…cación o de enlace.. 45.

(53) Las condiciones locales para la etapa k son las siguientes:. T k wk + Ak xk + Rk yk = bk wk ¸ 0, xk ¸ 0, yk ¸ 0 ¼k Ak · ck ¡ k ¢ c - ¼k Ak xk = 0. (factibilidad primal) (factibilidad dual) (complementariedad de variables auxiliares) (2.5). Las condiciones de enlace para la etapa k están dadas por:. wk = yk-1 (factibilidad primal) k-1 k-1 k k k-1 ¼ R +¼ T ·d (factibilidad dual) ¡ k-1 ¢ c - ¼k-1 Ak-1 - ¼k T k yk-1 = 0 (complementariedad de variables auxiliares) (2.6) Las matrices T 1 y RN son matrices nulas. En seguida veremos una consecuencia del teorema de Karush-Kuhn-Tucker, cuya prueba puede encontrarse en Bazaraa et al. (2011). Lema 2.1 Los vectores xk , wk , yk , k = 1; 2; ¢ ¢ ¢ k, son una solución óptima para el Programa Lineal de múltiples etapas si, y solo si, existen vectores ¼k , k = 1; 2; ¢ ¢ ¢ N satisfaciendo las condiciones locales para k = 1; 2; ¢ ¢ ¢ N; las condiciones de enlace para k = 2; ¢ ¢ ¢ N y también las condiciones iniciales.. 2.1.3.. Método recursivo para el problema de Programación Lineal Dinámica. Un problema de Programación Lineal Dinámica se puede resolver por el Método Simplex. Sin embargo, al hacer eso, no se estaría considerando la estructura particular del problema y no se estaría sacando ventaja de ello. Además, debido a que el horizonte N, en el problema (2.1), es grande, el número de variables y restricciones puede ser excesivamente grande, tornando nada práctica la aplicación del clásico Método Simplex. 46.

(54) Lasdon clasi…có los métodos de resolución en: 1. Métodos indirectos: el principio es descomponer la función objetivo del problema original, con el …n de obtener subproblemas de fácil solución sin considerar la estructura particular de la matriz de restricciones. 2. Métodos directos: consideran la estructura particular de la matriz de restricciones caminando por los puntos extremos del polígono convexo hasta obtener la solución óptima en un número …nito de pasos. El método que estamos analizando actualmente es un método indirecto, lo llamaremos método recursivo para el problema de Programación Lineal Dinámica. El método se basa en el principio de descomposición de Dantzig-Wolfe, donde el problema maestro será el que coordine las acciones de los subproblemas, entre ellos hay un cambio de información con la …nalidad de alcanzar un objetivo. Este método recursivo opera hacia adelante. Es decir, al inicio es aplicado a la etapa 1, que pasa a actuar como problema maestro para las otras etapas, consideradas entonces como un único subproblema. El mismo principio es aplicado a la etapa 2, que se comporta como un subproblema para la etapa 1 y como problema maestro para las etapas siguientes. O sea, cada etapa se comporta como problema maestro para las etapas siguientes y como subproblema para las precedentes. Está descomposición es algo diferente a la clásica, vista comúnmente en el principio de descomposición planteada por Lasdon (1970), pues los subproblemas obtenidos no son independientes y tampoco están en un mismo nivel. Cada subproblema se sitúa en un nivel, resultando una estructura de múltiples etapas, con tantos niveles como etapas (N) existan en el problema Programación Lineal Dinámica de…nido en (2.1). Descomposición Recursiva. Se de…ne el conjunto: © ª Sj = yk : para k = j + 1; ¢ ¢ ¢ ; N 47.

(55) donde yk representa el conjunto de vectores que satisfacen las restricciones: ² T k yk-1 + Ak xk + Rk yk = bk k = 2; 3; ¢ ¢ ¢ ; N xk ¸ 0; yk ¸ 0 y0 = 0; yN = 0. (2.7). Asumamos el conjunto Sj acotado y no vacío, para j = 1; 2; ¢ ¢ ¢ ; N - 1. Por tanto, hay un número …nito de puntos extremos en Sj . Problema Maestro en la Etapa 1. La recursividad hacia adelante descompone el problema (2.1) como:. donde. ¡ ¢ Minimizar cx1 + p1 y1 Sujeto a: x (T ) = A1 x1 + R1 y1 x1 ¸ 0; y1 ¸ 0 y1 2 S1. (2.8). N X ¡ 1¢ ¡ k k ¢ p y = m´¬n c x + dk-1 yk-1. (2.9). 1. k=2. Sujeto a: (2.7). Se aprecia en el problema (2.8) que estamos llamando a otro problema más N X ¡ k k ¢ pequeño. La expresión m´¬n c x + dk-1 yk-1 es otro problema, es una S(2). k=2. sumatoria grande que va a quedar pendiente. En la etapa 1 el problema (2.8) será llamado problema maestro y las etapas restantes como un único subproblema. Sea y1 una combinación lineal convexa de puntos en S1 , es decir, n X 1 y = ¸i yi 1 n X. i=1. ¸i = 1. i=1. ¸i ¸ 0 48.

(56) Los puntos yi 1 en el conjunto convexo S1 son generados resolviendo el subproblema (2.11) de…nido más adelante. El problema (2.8) lo podemos expresar en términos de puntos extremos: Minimizar c x + 1 1. Sujeto a:. n X. A1 x1 + n X. g1i ¸1i. i=1 n X. Vi1 ¸1i = b1. i=1. (2.10). ¸1i = 1. i=1 1. x ¸ 0, ¸1i ¸ 0 donde. ¡ ¢ g1i = p1 yi 1 ;. Vi1 = R1 yi 1. El problema (2.10) es llamado restringido porque el conjunto convexo gene© ª rado por los puntos yi 1 ; i = 1; 2; ¢ ¢ ¢ ; n es un subconjunto de S1 . Una opción para encontrar una solución básica factible inicial que no es óptima, es por el Método M-Grande, es decir, adicionando variables arti…ciales. Una vez que arranca el sistema tenemos las variables duales que irán a parar al subproblema. Si bien es cierto hemos arrancado el problema maestro, tenemos que encontrar los costos reducidos y así poder saber qué variable básica sale y qué variable no básica ingresa. Entonces, los costos reducidos son: " # N h i R1 y 1 X £ k k ¤ i c x + dk-1 yk-1 - ¼1 ¾1 1 k=2 donde ¼1 y ¾1 , son los multiplicadores asociados a las restricciones del problema (2.8), el criterio de entrada de base para una columna de V 1 es: N X £ k=2. ¤ ck xk + dk-1 yk-1 - ¼1 R1 yi 1 - ¾1 < 0 g1i - ¼1 Vi1 - ¾1 < 0. 49.

(57) Los costos reducidos son bastantes, por lo que enfrentar el problema maestro restringido sería algo difícil. Pero por el principio de descomposición de Dantzig-Wolfe se recurre a la estrategia denominada generación de columnas, con el fín de no trabajar con todos los puntos extremos (como se vio en el primer capítulo) y así aumentar la matriz V 1 e introducir su base. Esto se consigue al resolver el Problema Lineal por el Método Simplex Revisado: Subproblema. Del razonamiento anterior, el subproblema quedo establecido así N £ ¤ P Minimizar -¼1 R1 y1 + ck xk + dk-1 yk-1 (2.11) k=2 Sujeto a: (2.7) El hecho que el subproblema es un Problema Lineal de múltiples etapas, con N - 1 etapas, sugiere el algoritmo de descomposición recursivo.. 2.1.4.. Descripción del algoritmo. De…nimos el Problema Restringido de la etapa k, para k = 2; 3; ¢ ¢ ¢ ; N - 1, de la siguiente manera: ¡ ¢ Minimizar dk-1 - ¼k-1 Rk-1 wk + ck xk + gk ¸k Sujeto a: T k wk + Ak xk + V k ¸k = bk e¸k = 1 wk ¸ 0; xk ¸ 0; ¸k ¸ 0. (2.12). donde e = [ 1; 1; ¢ ¢ ¢ ; 1 ]. El problema en la etapa N es: ¡ ¢ Minimizar dN-1 - ¼N-1 RN-1 wN + cN xN Sujeto a: T N wN + AN xN = bN wN ¸ 0; xN ¸ 0; Los vectores xk y wk son las variables primales a ser calculados; Ak , T k , Rk-1 , ck , dk-1 y bk son todos los datos del problema original, conocidos; el vector ¼k-1 es el vector dual más reciente, que corresponde a una solución óptima. 50.

(58) del problema de la etapa k - 1. La matriz 2. 3 gk 6 k7 4V 5 e es generada a partir de la solución óptima del problema de la etapa k + 1, de acuerdo con el Método Simplex Revisado. Las condiciones de optimalidad para este problema son: ¼k Ak · ck ¼k T k · dk-1 - ¼k-1 Rk-1 k. k. k. (2.13). k. ¼ V +¾ e·g y. ¡ k ¢ c - ¼k Ak xk = 0 ¡ k-1 ¢ d - ¼k-1 Rk-1 - ¼k T k wk = 0 ¡ k ¢ g - ¼k V k - ¾k e ¸k = 0. (2.14). para las etapas 2; 3; ¢ ¢ ¢ ; N - 1. Para la etapa 1, ¼k T k · dk-1 - ¼k-1 Rk-1 y ¡ k-1 ¢ d - ¼k-1 Rk-1 - ¼k T k wk = 0 faltan; para la etapa N, ¼k V k + ¾k e · gk ¡ ¢ y gk - ¼k V k - ¾k e ¸k = 0. Si obtenemos una solución óptima a este subproblema de la etapa k y el P k conjunto yk = ¸i wi k+1 , donde los vectores wi k+1 son los que dieron lugar a Vik por Vik = Rk wi k+1 , entonces las condiciones locales (2.5) del problema lineal de múltiples etapas se cumplen, al igual que las condiciones de enlace (factibilidad dual y la complementariedad de las variables auxiliares) para. las etapas k y k - 1. En general, de las condiciones de enlace, la factibilidad primal no se satisface. Algoritmo 2.1 1. Hacer una inicialización correcta de V j y gj para j = 1; 2; ¢ ¢ ¢ ; k - 1. 2. Seleccionar cualquier etapa que no sea óptima, digamos la etapa k. 51.

Referencias

Documento similar

No conozco ninguna palabra castellana capaz de juntar cosas tan dispares como la gratitud, el favor, la belleza, la complacencia y la alegría [para nosotros, el placer que

incluso, recién ocurrido este acon- tecimiento, algunos alumnos de la Universidad Veracruzana se opo- nían a suspender clases a manera de contraprotesta y se escuchaban

En este trabajo se obtuvieron las ecuaciones principales para la distribución de temperaturas para el modelo propuesto y bajo las condiciones dadas, para de esta

Tras establecer un programa de trabajo (en el que se fijaban pre- visiones para las reuniones que se pretendían celebrar los posteriores 10 de julio —actual papel de los

[r]

En el capítulo de desventajas o posibles inconvenientes que ofrece la forma del Organismo autónomo figura la rigidez de su régimen jurídico, absorbentemente de Derecho público por

b) El Tribunal Constitucional se encuadra dentro de una organiza- ción jurídico constitucional que asume la supremacía de los dere- chos fundamentales y que reconoce la separación

Aspectos de alto impacto en la planeación y gestión financiera como son la Programación Lineal, Inteligencia de Negocios, Medición de desempeño, Indicadores