PROGRAMACIÓN DINÁMICA La programación dinámica se utiliza tanto en problemas lineales como no lineales. La programación dinámica es útil para resolver un problema donde se deben tomar una serie de decisiones interrelacionadas. A diferencia de la P.L, la programación dinámica no tiene formulación matemática estándar. Se trata de un enfoque de tipo general para la solución de problemas, y las ecuaciones se derivan de las condiciones individuales de los mismos. EL PROBLEMA DE LA DILIGENCIA (PD)
Un cazafortunas desea ir de Missouri a California en una
diligencia, y quiere viajar de la forma más segura posible. Tiene los puntos de salida y destino conocidos, pero tiene múltiples opciones para viajar a través del territorio.
Se entera de la posibilidad de adquirir seguro de vida
como pasajero de la diligencia.
El costo de la póliza estándar (cij ) se muestra en la tabla
de la siguiente página. EL PROBLEMA DE LA DILIGENCIA (PD) EL PROBLEMA DE LA DILIGENCIA (PD)
¿Cual es la ruta que minimiza el costo total de la
póliza de seguro? Ouch ! EL PROBLEMA DE LA DILIGENCIA (PD)
Algunas posibles soluciones:
1. Enumeración exhaustiva: Enumerar todas las rutas posibles, calcular su costo y elegir la de menor valor. En total son 18
2. Elegir la ruta más barata en cada etapa. Esta solución no
conduce al óptimo global. Un pequeño sacrificio en una etapa puede permitir mayores ahorros más adelante. EL PROBLEMA DE LA DILIGENCIA Utilizando la Programación dinámica.
Estrategia de solución: Un problema complejo es
desagregado en problemas simples que se resuelven etapa por etapa.
En el caso de la diligencia un problema simple sería
pensar qué pasaría si al viajero sólo le faltara una jornada de viaje. EL PROBLEMA DE LA DILIGENCIA (PD.)
Por P.D la solución sería entonces ir desde el estado
actual (cualquiera que sea) y llegar a su destino final (estado J) al costo cij.
Se hace lo mismo para cada jornada (etapa),
ensanchando el problema. Así encontramos la solución óptima del lugar al que debe dirigirse teniendo en cuenta la información de la iteración anterior. EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) EL PROBLEMA DE LA DILIGENCIA (PD.) PROGRAMACIÓN DINÁMICA Características de la P.D 1. El problema se puede dividir por etapas, que requieren una política de decisión en cada una de ellas.
2. Cada etapa tiene un cierto número de estados
asociados a su inicio. (Estados son las diferentes condiciones posibles en las que se puede encontrar el sistema en cada etapa del problema). PROGRAMACIÓN DINÁMICA 3. El efecto de la política de decisión en cada etapa, es transformar el estado actual en un estado asociado con el INICIO de la siguiente etapa.
4. El procedimiento pretende hallar la política óptima
para el problema completo. Esto quiere decir, la política a emplear desde cualquier posible estado del problema. PROGRAMACIÓN DINÁMICA 5. Dado el estado actual, la política óptima desde este estado es independiente de las políticas adoptadas en las etapas anteriores. (la solución depende únicamente del estado actual y no de cómo se llegó allí) PRINCIPIO DE OPTIMALIDAD EN LA P.D, (Richard Bellman, 1957)
6. El procedimiento de la solución termina cuando se
obtiene la política óptima de la última etapa (por lo general la solución en esta etapa es trivial) PROGRAMACIÓN DINÁMICA 7. Siempre se dispone de una relación recursiva (esto es lo que permite trabajar las decisiones interrelacionadas). PROGRAMACIÓN DINÁMICA 8.Cuando se tiene una relación recursiva como la de la función, el procedimiento de solución “hacia atrás” inicia en la última etapa y se mueve hacia la primera, etapa por etapa PROGRAMACIÓN DINÁMICA
El Mundo Era Tan Reciente, Que Muchas Cosas Carecían de Nombre, y para Mencionarlas Había Que Señarlarlas Con El Dedo.-Cien Años de Soledad de Gabriel García Marquez.