programacion dinamica

17
PROGRAMACIÓN DINÁMICA PROGRAMACIÓN DINÁMICA La programación dinámica se utiliza tanto en problemas La programación dinámica se utiliza tanto en problemas lineales como no lineales. lineales como no lineales. La programación dinámica es útil para resolver un problema La programación dinámica es útil para resolver un problema donde se deben tomar una serie de decisiones donde se deben tomar una serie de decisiones interrelacionadas. interrelacionadas. A diferencia de la P.L, la programación dinámica no tiene 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 formulación matemática estándar. Se trata de un enfoque de tipo general para la solución de problemas, y las ecuaciones tipo general para la solución de problemas, y las ecuaciones se derivan de las condiciones individuales de los mismos. se derivan de las condiciones individuales de los mismos. El problema de la diligencia El problema de la diligencia Un caza fortunas desea ir de Missouri a California en una Un caza fortunas desea ir de Missouri a California en una diligencia, y quiere viajar de la forma más segura posible. diligencia, y quiere viajar de la forma más segura posible. Tiene los puntos de salida y destino conocidos, pero tiene Tiene los puntos de salida y destino conocidos, pero tiene múltiples opciones para viajar a través del territorio. Se múltiples opciones para viajar a través del territorio. Se

description

Documento sobre programación dinámica, una de las reglas de despacho de la clase de estudio del trabajo

Transcript of programacion dinamica

Page 1: programacion dinamica

PROGRAMACIÓN DINÁMICAPROGRAMACIÓN DINÁMICA

La programación dinámica se utiliza tanto en problemas lineales como no lineales.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 La programación dinámica es útil para resolver un problema donde se deben

tomar una serie de decisiones interrelacionadas.tomar una serie de decisiones interrelacionadas.

A diferencia de la P.L, la programación dinámica no tiene formulación matemática 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 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.las ecuaciones se derivan de las condiciones individuales de los mismos.

El problema de la diligenciaEl problema de la diligencia

Un caza fortunas desea ir de Missouri a California en una diligencia, y quiere viajar Un caza fortunas 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, 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 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.posibilidad de adquirir seguro de vida como pasajero de la diligencia.

El costo de la póliza estándar (c ij ) se muestra en la tabla siguiente El costo de la póliza estándar (c ij ) se muestra en la tabla siguiente ..

Page 2: programacion dinamica

PROGRAMACIÓN DINÁMICAPROGRAMACIÓN DINÁMICA

..Algunas alternativas de solución Algunas alternativas de solución

1.1.Enumeración exhaustiva: Enumerar todas las rutas posibles, calcular su costo y elegir Enumeración exhaustiva: Enumerar todas las rutas posibles, calcular su costo y elegir

la de menor valor. En total son 18la 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.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.Un pequeño sacrificio en una etapa puede permitir mayores ahorros más adelante.

3. Programación dinámica.3. Programación dinámica.

Estrategia de solución: Un problema complejo es desagregado en problemas simples Estrategia de solución: Un problema complejo es desagregado en problemas simples

que se resuelven etapa por etapa.que se resuelven etapa por etapa.

En el caso de la diligencia un problema simple sería pensar qué pasaría si al viajero 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.sólo le faltara una jornada de viaje.

Page 3: programacion dinamica

Por P.D la solución sería entonces ir desde el estado actual (cualquiera que sea) y llegar a su destino 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),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 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.en cuenta la información de la iteración anterior.

Sea Sea X n ( n = 1,2,3,4 X n ( n = 1,2,3,4 )las variables que representan el destino inmediato en la etapa n.)las variables que representan el destino inmediato en la etapa n. Luego la ruta seleccionada será:Luego la ruta seleccionada será:

A A X 1X 1 X 2 X 2 X 3 X 3 X 4 X 4

Donde Donde X 4 X 4 = J= J

Sea Sea f n (f n (S, S, X n ) X n ) el costo total de la mejor política global para las etapas restantes, dado que el agente el costo total de la mejor política global para las etapas restantes, dado que el agente se encuentra en el estado S, listo para iniciar la etapa n y se dirige a se encuentra en el estado S, listo para iniciar la etapa n y se dirige a X n X n como destino inmediato.como destino inmediato.

Dados S y n , sea Dados S y n , sea X n * X n * el valor de el valor de X n X n (no necesariamente único), que minimiza (no necesariamente único), que minimiza f n (S f n (S , , X n ) X n ) , y sea , y sea f n f n * (S) * (S) el valor mínimo correspondiente de el valor mínimo correspondiente de f n (f n (S, S, X n ) X n ) entonces:entonces:

Page 4: programacion dinamica
Page 5: programacion dinamica

Procedimiento de solución hacia atrás

Etapa n=4

Como el destino final (estado J) se alcanza al terminar la etapa 4, entonces f 5 * (J)

= 0

El objetivo es hallar f 1 * (A) y su ruta correspondiente.

Cuando el cazafortunas tiene sólo una etapa por recorrer (n=4) , su ruta de ahí en

adelante, estará determinada por el estado actual (H o I) y su destino

final X 4 = J La ruta será: S J donde S= H o I

Page 6: programacion dinamica
Page 7: programacion dinamica
Page 8: programacion dinamica
Page 9: programacion dinamica
Page 10: programacion dinamica
Page 11: programacion dinamica

Veamos la solución del Veamos la solución del problema gráficamente:problema gráficamente:

Page 12: programacion dinamica

Características de la P.DCaracterísticas de la P.D

1. El problema se puede dividir por etapas, que requieren una política de 1. El problema se puede dividir por etapas, que requieren una política de

decisión en cada una de ellas.decisión en cada una de ellas.

2. Cada etapa tiene un cierto número de estados asociados a su inicio. 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 (Estados son las diferentes condiciones posibles en las que se puede

encontrar el sistema en cada etapa del problema).encontrar el sistema en cada etapa del problema).

3. El efecto de la política de decisión en cada etapa, es transformar el 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.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 4. El procedimiento pretende hallar la política óptima para el problema

completo. Esto quiere decir, la política a emplear desde cualquier posible completo. Esto quiere decir, la política a emplear desde cualquier posible

estado del problema.estado del problema.

Page 13: programacion dinamica

5. Dado el estado actual, la política óptima desde este estado es 5. Dado el estado actual, la política óptima desde este estado es

independiente de las políticas adoptadas en las etapas anteriores. (la 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í) solución depende únicamente del estado actual y no de cómo se llegó allí)

PRINCIPIO DE OPTIMALIDAD EN LA P.D,PRINCIPIO DE OPTIMALIDAD EN LA P.D,

(Richard Bellman, 1957)(Richard Bellman, 1957)

6. El procedimiento de la solución termina cuando se obtiene la política 6. El procedimiento de la solución termina cuando se obtiene la política

óptima de laóptima de la

última etapa (por lo general la solución en esta etapa es trivial)última etapa (por lo general la solución en esta etapa es trivial)

7. Siempre se dispone de una relación recursiva (esto es lo que permite 7. Siempre se dispone de una relación recursiva (esto es lo que permite

trabajar lastrabajar las

decisiones interrelacionadas).decisiones interrelacionadas). La relación recursiva será: La relación recursiva será:

Page 14: programacion dinamica

N: número de etapas.n: etiqueta para la etapaactual (1,2,...,N)S n : Estado actual para laetapa n.X n : variable de decisiónpara la etapa n8.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

Page 15: programacion dinamica

X n* : Valor óptimo de X n dadoS nX n* : Valor óptimo de X n dadoS n

Page 16: programacion dinamica

ALGORITMO DE P.D HACIA ALGORITMO DE P.D HACIA ATRÁSATRÁS

Para cada probable valor de laPara cada probable valor de la variable de estado al inicio de lavariable de estado al inicio de la etapa, determinar el mejoretapa, determinar el mejor estado final.estado final.

Page 17: programacion dinamica

ALGORITMO DE P.D HACIA ALGORITMO DE P.D HACIA DELANTEDELANTE

Para cada probable valor de laPara cada probable valor de la variable de estado al final de lavariable de estado al final de la etapa, determinar el mejoretapa, determinar el mejor estado inicial.estado inicial.