viernes, 20 de mayo de 2011

PROGRAMACIÓN DINAMICA

La programación dinámica (PD) es un procedimiento matemático diseñado principalmente para mejorar la eficiencia de cálculo de problemas de programación matemática seleccionados, descomponiéndolos en subproblemas de menor tamaño y, por consiguiente, más fáciles de calcular. La programación dinámica comúnmente resuelve el problema en etapas, donde en cada etapa interviene exactamente una variable de optimización (u optimizadora). Los cálculos en las diferentes etapas se enlazan a través de cálculos recursivos de manera que se genere una solución óptima factible a todo el problema.
El nombre programación dinámica probablemente evolucionó debido a su uso con aplicaciones donde intervenía la toma de decisiones relacionadas con el tiempo (como los problemas de inventarios). Sin embargo, con la PD también se resuelven adecuadamente otras situaciones donde el tiempo no es un factor importante. Por este motivo, un nombre más adecuado puede ser programación de etapas múltiples, ya que el procedimiento determina comúnmente la solución en etapas.
La teoría unificadora fundamental de la programación dinámica es el principio de optimidad. Este nos dice básicamente cómo se puede resolver un problema adecuadamente descompuesto en etapas (en vez de una sola etapa) utilizando cálculos recursivos.
Los sutiles conceptos que se utilizan en PD junto con las notaciones matemáticas poco conocidas son una fuente de confusión, en especial para un principiante. No obstante, nuestra experiencia demuestra que la resolución frecuente de formulaciones y soluciones de PD permitirá a un principiante, con algo de esfuerzo, entender estos conceptos avanzados. Cuando sucede esto, la programación dinámica se vuelve sorprendentemente sencilla y clara.
10.1 ELEMENTOS DEL MODELO DE PD, EJEMPLO DEL PRESUPUESTO DE CAPITAL
Una corporación recibe propuestas de sus tres plantas respecto a la posible expansión de las instalaciones. La corporación tiene un presupuesto de $5 millones para asignarlo a las tres plantas. A cada planta se le solicita someta sus propuestas, indicando el costo total (c) y el ingreso total (R) para cada propuesta. En la tabla 10-1 se resumen los costos e ingresos (en millones de unidades monetarias). Las propuestas de costo cero se presentan para dar cabida a la posibilidad de no asignar fondos a plantas individuales. La meta de la corporación es la de maximizar el ingreso total resultante de la asignación de los $5 millones a las tres plantas.
Una manera directa, y quizá ingenua, de resolver el problema es a través de una enumeración exhaustiva. El problema tiene 3.x 4x2 = 24 posibles soluciones y algunas de ellas son infactibles porque requieren más capital que el disponible-($5 millones). La idea de la enumeración exhaustiva es la de calcular el costo total de cada una de las 24 combinaciones. Si éste no excede el capital disponible, se obtiene su ingreso total. La solución óptima es la combinación factible que produce el más alto ingreso total. Por ejemplo, las propuestas 2, 3 y 1 de las plantas 1, 2 y 3 cuestan $4 millones (<5) y producen un ingreso total de $14 millones. Por otra parte, la combinación que comprende las propuestas 3, 4 y 2 es infactible porque cuesta $7 millones. Examinaremos las desventajas de la enumeración exhaustiva.
1. Cada combinación define una política de decisión para todo el problema y por lo tanto, quizá no sea factible en términos de cálculo la enumeración de todas las combinaciones posibles para problemas de tamaños mediano y grande.
2. Las combinaciones infactibles no se pueden detectar con anticipación, lo cual nos conduce a que haya ineficiencia en términos de cálculo.
3. La información disponible referente a combinaciones investigadas con anterioridad no se utiliza para eliminar combinaciones inferiores futuras.
El algoritmo de PD que presentamos aquí está diseñado para facilitar las dificultadas que hemos notado.
10.1.1 MODELO DE PD
En la programación dinámica, los cálculos se realizan en etapas dividiendo el problema en sub problemas. Después se considera por separado cada sub problema con el fin de reducir el número de operaciones de cálculo. Sin embargo, como los sub problemas son independientes, debe idearse un procedimiento para enlazar los cálculos de manera que garantice que una solución factible para cada etapa sea asimismo factible para todo el problema.
Una etapa en PD se define como la parte del problema que posee un conjunto de alternativas mutuamente excluyentes, de las cuales se seleccionará la mejor alternativa. En términos del ejemplo del presupuesto de capital, cada planta define una etapa donde la primera, segunda y tercera etapas tienen tres, cuatro y dos alternativas, respectivamente. Estas etapas son interdependientes porque las tres plantas deben competir por un presupuesto limitado. Por ejemplo, elegir la propuesta 1 de la planta 1 dejará $5 millones para las plantas 2 y 3, en tanto que la elección de la propuesta 2 de la planta 1 sólo dejará $4 millones para las plantas 2 y 3.
La idea básica de PD consiste prácticamente en eliminar el efecto de la interdependencia entre etapas, asociando una definición de estado con cada etapa. Un estado se define normalmente como aquel que refleja la condición (o estado, valga la redundancia) de las restricciones que enlazan las etapas. En el ejemplo del presupuesto de capital, definimos los estados para las etapas 1, 2 y 3 como sigue:
X1= monto de capital asignado a la etapa 1
X2= monto de capital asignado a las etapas 1 y 2
X3= monto de capital asignado a las etapas 1, 2 y 3
Ahora demostraremos cómo se utilizan las definiciones de etapas y estados dadas, para descomponer el problema del presupuesto del capital en tres sub problemas independientes, desde el punto de vista del cálculo.
Obsérvese primero que los valores de X1 y X2 no se conocen con exactitud, pero deben estar en alguna parte entre 0 y 5. De hecho, como los costos de las diferentes propuestas son discretos, X1 y X2 sólo pueden tomar los valores 0, 1, 2, 3, 4 o 5. Por otra parte, X3, que es el capital total asignado a todas las etapas, las tres, es igual a 5.
La forma como resolvemos este problema consiste en comenzar con la etapa 1 (planta). Obtenemos decisiones condicionales para esa etapa que responden la pregunta siguiente: dado un valor específico de X1 (=0,1,2,3,4 o 5), ¿cuál sería la mejor alternativa (propuesta) para la etapa 1? Los cálculos para la etapa 1 son directos. Dado el valor de X1, elegimos la mejor propuesta cuyo costo no exceda X1. En la tabla que sigue se resumen las decisiones condicionales de la etapa 1.



Hasta ahora, no conocemos el valor exacto de X_1. No obstante, para cuando lleguemos a la etapa 3, se tendrá esta información y, por lo tanto, el problema se reducirá a la lectura de los registros indicados en la tabla.
Ejercicio 10.1-1
En la tabla anterior, ¿es posible que X_1>2 pueda ser óptimo en la solución final?
[Resp. No, porque X_1>2 representa un gasto excesivo para la etapa 1.]
Ahora consideraremos los cálculos de la etapa 2. Estos cálculos buscan también una solución óptima condicional para la etapa 2 como función del estado X_2. Pese a ello, difieren de los cálculos de la etapa donde el estado X_2 define ahora el capital que se asignará a la etapa 1 y a la etapa 2. Esta definición garantizará que una decisión tomada para la etapa 2 será automáticamente factible para la etapa 1. La idea consiste ahora en escoger la alternativa en la etapa 2 dado X_2 que genere el mayor ingreso para las etapas 1 y 2. La fórmula que sigue resume la naturaleza de los cálculos de la etapa 2:


donde X_1= X_2— capital asignado a la alternativa dada de la etapa 2.
La idea básica de la fórmula es que una elección específica de una alternativa para la etapa 2 afectará el capital restante para la etapa 1, es decir, X_1. Por io tanto, al considerar todas las alternativas factibles de la etapa 2 consideramos automáticamente todas las combinaciones que son posibles para las etapas 1 y 2. Nótese que el segundo término del segundo miembro de la ecuación se obtiene directamente de la tabla resumen de la etapa 1.
Ahora señalaremos los detalles de los cálculos de la etapa 2.
X_2=0
La única alternativa factible para la etapa 2 dado X_2=0 es la propuesta 1 cuyo costo e ingreso son iguales a cero. Por lo tanto, la aplicación de la fórmula produce
(mayor ingreso dado X_2=0)=0+0 =0
que corresponde a la propuesta 1.
X_2=1
Para X_2=1, sólo tenemos una alternativa factible para la etapa 2; esto es, la propuesta 1, que cuesta (o tiene un costo de) cero y produce un ingreso de cero. Las propuestas restantes son infactibles porque tienen un costo por lo menos de 2. Por lo tanto, tenemos
(mayor ingreso dado X_2=1)=0+5 =5
que corresponde a la propuesta 1.
Nótese que X_1= X_2 — costo de la propuesta 1 = 1 - 0 = 1. En la tabla resumen de la etapa 1, encontramos que el mayor ingreso dado X_1=1 es 5. Obsérvese asimismo, que todo lo que necesitamos de los cálculos de la etapa 1 es el mayor ingreso asociado con X_1 dado. Dicho de otra manera, en realidad no nos interesa la propuesta específica seleccionada en la etapa 1.
X_2=2
Aquí tenemos dos alternativas factibles: las propuestas 1 y 2 que cuestan 0 y 2 y producen ingresos de 0 y 8, respectivamente. Por consiguiente, los valores de X_1 que corresponden a las propuestas 1 y 2 son 2-0 = 2 y 2-2 = 0. Los mayores ingresos correspondientes de la etapa 1 dados X_1=2 y X_1=0 son 6 y 0, respectivamente. Por lo tanto, obtenemos
(mayor ingreso dado X_2=2)=Max {0+6,8+0} =8
Que corresponde a la propuesta 2.
X_2=3
Las alternativas factibles son las propuestas 1, 2 y 3. Los valores correspondientes de X_1 son 3-0 = 3,3 — 2= 1 y 3 — 3 = 0, respectivamente. Por lo tanto, se tiene
(mayor ingreso dado X_2=3)=Max {0+6,8+5,9+0} =13
que corresponde a la propuesta 2.
X_2=4
Las alternativas factibles son las propuestas 1, 2, 3 y 4. Los valores correspondientes de X_1 son 4-0 = 4,4-2 = 2,4-3= 1,y 4 - 4 = 0, respectivamente, lo que nos lleva a obtener
(mayor ingreso dado X_2=4)=Max {0+6,8+6,9+5,12+0} =14
que corresponde a las propuestas 2 o 3.
X_2=5
Tenemos las mismas alternativas factibles que en X_2=4. Los valores correspondientes de X_1 son 5, 3, 2 y 1, respectivamente. En consecuencia,
(mayor ingreso dado X_2=5)=Max {0+6,8+6,9+6,12+5} =17
que corresponde a la propuesta 4.
Podemos resumir el cálculo de la etapa 2 de la manera siguiente:

Ahora consideramos la etapa 3. La fórmula para determinar el mayor ingreso es similar a la de la etapa 2, salvo que X_2y X_1 se sustituyen por X_3y X_2. En forma análoga, las etapas 2 y 1 se reemplazan por las etapas 3 y 2. Sin embargo, obsérvese que a diferencia de X_1o X_2, X_3 tiene ahora un solo valor específico; es decir, X_3=5. Como la etapa 3 tiene dos propuestas cuyo costo no excede el límite de 5, ambas propuestas son factibles. Los valores de X_2 que corresponden a las propuestas 1 y 2 son 5-0=5 y 5-l=4, respectivamente. Mediante el uso de la tabla resumen para la etapa 2 junto con X_2, obtenemos entonces
(mayor ingreso dado X_3=5)=Max {0+17,3+14} =17
Que corresponde a 1 o 2.
Ahora que hemos terminado de efectuar todas las operaciones podemos leer la solución óptima en forma directa. Comenzando desde la etapa 3, podemos elegir la propuesta 1 o 2. Si elegimos la propuesta 1, que tiene un costo de 0, entonces X_2 de la etapa 2 será 5-0 = 5. De la tabla resumen de la etapa 2, vemos que la alternativa óptima dado X_2=5 es la propuesta 4. Como la propuesta 4 de la etapa 2 cuesta 4, tenemos X_(1 = ) X_2- 4 =5-4 =1. Una vez más, de la tabla resumen de la etapa 1, obtenemos la propuesta 2 como la alternativa óptima para la etapa 1.
Al combinar todas las respuestas de las tres etapas, una solución óptima requiere la selección de la propuesta 2 para la planta 1, la propuesta 4 para la planta 2 y la propuesta 1 para la planta 3. El costo total es 5 y el ingreso óptimo es 17. Se pueden obtener otras dos soluciones considerando la propuesta óptima alternativa de la etapa 3.

No hay comentarios:

Publicar un comentario