SlideShare una empresa de Scribd logo
Programación Dinámica Dr. Enrique F. Garza Escalante © Facultad de Ingeniería
Introducción Método de optimización para resolver problemas que involucran decisiones secuenciales. Una decisión tomada en una  etapa  afectará los  estados  del problema y las posibles decisiones en la etapa siguiente. No existe un formato estándar, sino más bien se trata de una forma general de resolver este tipo de problemas.
Una serie de estados agrupados en etapas, de cada etapa a la siguiente ocurre una transformación la cual depende de mi decisión. Los posibles estados en cada etapa, si son finitos o enumerables, los puedo representar como Nodos. Las transformaciones que me llevan a cada estado posible en la siguiente etapa a partir de cada estado actual los puedo representar como arcos.
Características básicas El problema se puede dividir en etapas, con una decisión x t  que se debe tomar en cada etapa. Existe un cierto número de estados “s” asociados a cada etapa “t”, y la decisión realizada en una etapa afecta el estado del sistema en la siguiente etapa. Iniciando con la última etapa, un sub-problema de una etapa puede ser resuelto dando las decisiones óptimas para cada estado en la última etapa. Pueden encontrarse relaciones recursivas que permiten la solución de subproblemas de una etapa que sean empleadas para encontrar las soluciones a mayores y mayores subproblemas hasta que el último subproblema es el problema original.
Principio de Optimalidad para Programación Dinámica Dado el estado actual, la decisión óptima para las etapas restantes, es independiente de las decisiones previamente tomadas. Por ello, sólo depende del estado actual y no de cómo llegamos a él.
N=# de etapas (5 en el ejemplo), s= estado. Definimos f n (s)=costo de la ruta óptima para las etapas n a N dado que estamos en el estado “s”. Del ejemplo tenemos que f 5 (10)=2, f 5 (11)=4, f 5 (12)=2 f n (s,x n )=costo de ir de s a x n  en la etapa n + costo de la ruta óptima para las etapas n+1 a N dado que llegamos a x n f n (s)=mínimo{f n (s,x n )=c(s,x n )+f n+1 (x n )} sobre todos los s posibles. c(s,x n )=costo de ir del estado s al x x  en la etapa n
¿Cómo difiere del algoritmo de Ruta más corta? Programación Dinámica es una herramienta para procesos de Etapas y en su búsqueda de un óptimo va generando rutas óptimas en cada Etapa, por ello es muy útil para análisis de sensibilidad En su versión estocástica, va más allá del modelado determinístico empleado en el caso de Ruta más corta 8 5 9 11 10 12 11 15 14
Ejemplo Un ejemplo de la versatilidad de empleo de esta herramienta la tenemos con el Ejemplo2 del capítulo 11 del texto de Hillier & Lieberman: La Organización Mundial de la Salud está tratando de decidir cuántos equipos médicos asignar a cada uno de tres países en desarrollo. El impacto del trabajo de los equipos incide en el incremento en expectativa de vida lo que se traduce en  miles de años-persona de vida adicionales por país . Sólo se tienen 5 equipos y se tienen que mantener operando de manera íntegra. La tabla siguiente muestra el impacto asociado: País 100 110 105 4 130 150 120 5 80 75 90 3 70 45 70 2 50 20 45 1 0 0 0 0 3 2 1 Equipos Médicos
5 5 5 4 4 3 3 2 2 1 1 0 0 0 50 70 80 100 Estado 1  2  3 0 45 70 90 105 120 110  75   45 20 0 0 0 130 20 0 125 165 50 95 70 170
Procesos Dinámicos de flujos de efectivo Existen procesos que requieren administración periódica. Los flujos futuros, aunque determinísticos, dependen de las decisiones tomadas en cada período.
Procesos Dinámicos de flujos de efectivo Este tipo de modelos se emplean en problemas de explotación de recursos no-renovables, ó donde existe un recurso limitante.
Procesos Dinámicos de flujos de efectivo La manera de visualizar estos problemas es representándolos gráficamente con árboles de decisión ó con  mallas  (“lattice”). Estas representaciones constan de nodos y arcos. Los nodos representan diferentes estados del sistema y están interconectados por arcos.
Procesos Dinámicos de flujos de efectivo Cada arco corresponde a una posible acción administrativa. Nosotros trabajaremos con árboles y mallas binomiales (dos arcos salen de cada nodo), pero se pueden construir con más arcos saliendo de cada nodo.
Arbol y malla de decisión • • • • • • • • • • • • • • • • • • • • • • • • • • • • Arbol binomial Malla  binomial Nodos por nivel 2^n  vs.  n+1
Arbol y malla de decisión El árbol de decisión permite incorporar diferencias a diferentes rutas para llegar a un mismo estado final del recurso limitante, mientras que la malla supone que los caminos para llegar al mismo nodo final son enteramente equivalentes.
Arbol y malla de decisión El tipo de decisiones que analizaremos consisten, típicamente, en llevar a cabo ó no una acción específica (Por ejemplo, pescar ó no; extraer petróleo ó no, etc). El realizar la acción ó no tendrá consecuencias en ingresos, egresos y estado del recurso limitante.
Arbol y malla de decisión Si distintos caminos conducen al mismo estado del recurso limitante y este estado es caracterizado por una sola utilidad (ingreso - egreso), entonces una “malla” será la representación adecuada.
Información Típicamente los nodos contienen información sobre el estado del recurso (posiblemente más datos en caso de los árboles) y los arcos, la utilidad generada en el período (normalmente refleja la ganancia al inicio del nodo que emite).
Administración óptima Cada camino, en el caso de un árbol determina una posible alternativa (de un total de 2^(n+1) -1 alternativas posibles). La estrategia podría ser encontrar el valor presente para cada alternativa, pero si n=12, las alternativas son 8,191. Para n=24, son más de 16 millones!
Administración óptima Alternativamente podemos usar programación dinámica. La programación dinámica implica emplear los valores presentes de manera recursiva. Así tendremos que “V ki ” representará el mejor valor presente recursivo en el nodo i en el tiempo k.
Administración óptima Los valores en los nodos finales tiempo “n” representan los valores terminales del proyecto bajo cada alternativa (por ejemplo valores de rescate de equipo empleado), y son parte de la descripción del problema.
Administración óptima La siguiente etapa consiste en analizar los nodos en el tiempo inmediato anterior “n-1” Para cualquier nodo en el tiempo “n-1” suponemos que ya estamos ahí y ahora trataremos de hacer lo mejor posible en el futuro. Maximizar nuestro VPN en “n-1” para cada nodo en ese tiempo.
Administración óptima La decisión que nos queda es a que nodo dirigirnos en el tiempo “n” del nodo (n-1, i).  Para cada arco “a” emanando del nodo (n-1, i) calculamos cuanto vale
Administración óptima Donde  es el flujo inmediato asociado al arco a y V n,a  es el valor presente en el nodo al que el arco “a” lleva (que incluye cualquier flujo que se derive en ese momento de haber tomado el arco a).  Luego elegimos la mejor opción así:
Administración óptima Luego, regresamos un período adicional a “n-2” y repetimos el procedimiento,  así sucesivamente hasta llegar al tiempo “0”. En general, el proceso recursivo está dado por:

Más contenido relacionado

PPTX
Programación Dinámica
PPTX
Programac..
DOCX
Programación dinámica
PDF
Programación dinámica
PDF
Asignacion
PPTX
Programación dinámica
PPTX
Programación dinámica
DOCX
61178886 i-o-ii-principal
Programación Dinámica
Programac..
Programación dinámica
Programación dinámica
Asignacion
Programación dinámica
Programación dinámica
61178886 i-o-ii-principal

La actualidad más candente (17)

PPTX
Programación dinamica (ea)
DOCX
Programación deterministica
PDF
Programacion dinamica final
PDF
Programación dinámica (apuntes)
PDF
Programacion dinamica
PPTX
Programación Dinámica
PPTX
Presentación: Programación Dinámica
PPTX
Presentacion programacion dinamica
PDF
Dynamic programming 01
PDF
Baixardoc.com unidad-1-programacion-dinamica
PPTX
Programación Dinámica
PPTX
Presentación de investigación de operaciones II
PPTX
Programacion dinamica
PDF
PROGRAMACION DINAMICA
PPTX
Programacion dinamica
PPTX
Pro no num Prog dinamica
PPTX
Programacion dinamica jesus plaza
Programación dinamica (ea)
Programación deterministica
Programacion dinamica final
Programación dinámica (apuntes)
Programacion dinamica
Programación Dinámica
Presentación: Programación Dinámica
Presentacion programacion dinamica
Dynamic programming 01
Baixardoc.com unidad-1-programacion-dinamica
Programación Dinámica
Presentación de investigación de operaciones II
Programacion dinamica
PROGRAMACION DINAMICA
Programacion dinamica
Pro no num Prog dinamica
Programacion dinamica jesus plaza
Publicidad

Destacado (8)

PDF
Algoritmos c5-diap
PPTX
Programacion dinamica 22
PPTX
Programacion Dinamica
PPTX
Programación Dinámica
PPT
Programación Dinámica
PPTX
Programación Dinámica
DOCX
Problema de asignación de programación dinámica
PDF
Programación dinámica
Algoritmos c5-diap
Programacion dinamica 22
Programacion Dinamica
Programación Dinámica
Programación Dinámica
Programación Dinámica
Problema de asignación de programación dinámica
Programación dinámica
Publicidad

Similar a Programacion Dinamica Intro (20)

PPTX
Programacion Dinamica
PPTX
Programacion no lineal
PDF
PDF
Clase 7 IO Programación Dinamica_MÓNICA.pdf
PDF
Introduccion_a_la_programacion_II.pdf
PPSX
Programación lineal
PDF
Unidad 3 Busqueda.pdf
PPT
CADENAS DE MARKOV EN INVESTIGACION OPERATIVA
DOCX
Programación lineal y pert. do
PPTX
3.1.4 Programación Dinámica.pptx
PPT
Prog dinamica
PPTX
Unidad 3. Programación dinámica
PPTX
Unidad 3. Programación dinámica
PPTX
Introducción a la programación dinámica.pptx
PDF
Enfoques
PPTX
Programacion
PPTX
Analisis de sensibilidad 2222222 (1)
PPTX
MET. CUANT. 9na. Und. (Modelo de distribucion y red.).pptx
PPTX
Programación Dinámica
Programacion Dinamica
Programacion no lineal
Clase 7 IO Programación Dinamica_MÓNICA.pdf
Introduccion_a_la_programacion_II.pdf
Programación lineal
Unidad 3 Busqueda.pdf
CADENAS DE MARKOV EN INVESTIGACION OPERATIVA
Programación lineal y pert. do
3.1.4 Programación Dinámica.pptx
Prog dinamica
Unidad 3. Programación dinámica
Unidad 3. Programación dinámica
Introducción a la programación dinámica.pptx
Enfoques
Programacion
Analisis de sensibilidad 2222222 (1)
MET. CUANT. 9na. Und. (Modelo de distribucion y red.).pptx
Programación Dinámica

Último (20)

PDF
Estructura organizativa de ka empresa.pdf
PPTX
Expo N°1-Difusión de Política y Objetivos SST-31.01.23.pptx
PDF
PRESENTACION GESTION sobre las empresas.
PDF
03 - Unidad II - La Plataforma .NET y C# - 2. Tipos Primitivos y Expresiones.pdf
PPTX
DE LA ATENCIÓN A LA SATISFACCIÓN DEL CLIENTE.pptx
PPTX
emprendedor social diapositivas de jhonatan del jesus
PDF
PRIMEROS AUXILIOS PRESENTACIÓN 1 -SENA -.pdf
DOC
SESIÓN COMO FUNCIONA EL MERCADO Y SU IMPLICANCIA EN LA ECONOMÍA
PPTX
Pensamiento-Estrategico-Adaptativo-en-entornos-VUCA-BANI.pptx
PDF
Presentación_rendición_de_cuentas_2020_26-FEB-2021.pdf
PPTX
criminologia.pptxcriminologia policiales
PPTX
saHERNISA FEMsOassaSAsasASAsaSasaSASaAsaS
PDF
D08_SESION 15 y 16_2024.12.06_ISO-26000.pdf
PDF
Rendicion publica de cuentas inicial 2025 de la procuraduria
PDF
Introducción iso 9001 curso UNIDAD - 3.pdf
PDF
DESARROLLO E IMPACTO DE LA INNOVACION.pdf
PDF
Clase 15 - Normas de Aseguramiento.pptx.pdf
PPTX
Presentación Plan de Negocio Moderno Morado y Blanco.pptx
PPTX
SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓ...
PPT
Introducción a la contabilidad de costos.ppt
Estructura organizativa de ka empresa.pdf
Expo N°1-Difusión de Política y Objetivos SST-31.01.23.pptx
PRESENTACION GESTION sobre las empresas.
03 - Unidad II - La Plataforma .NET y C# - 2. Tipos Primitivos y Expresiones.pdf
DE LA ATENCIÓN A LA SATISFACCIÓN DEL CLIENTE.pptx
emprendedor social diapositivas de jhonatan del jesus
PRIMEROS AUXILIOS PRESENTACIÓN 1 -SENA -.pdf
SESIÓN COMO FUNCIONA EL MERCADO Y SU IMPLICANCIA EN LA ECONOMÍA
Pensamiento-Estrategico-Adaptativo-en-entornos-VUCA-BANI.pptx
Presentación_rendición_de_cuentas_2020_26-FEB-2021.pdf
criminologia.pptxcriminologia policiales
saHERNISA FEMsOassaSAsasASAsaSasaSASaAsaS
D08_SESION 15 y 16_2024.12.06_ISO-26000.pdf
Rendicion publica de cuentas inicial 2025 de la procuraduria
Introducción iso 9001 curso UNIDAD - 3.pdf
DESARROLLO E IMPACTO DE LA INNOVACION.pdf
Clase 15 - Normas de Aseguramiento.pptx.pdf
Presentación Plan de Negocio Moderno Morado y Blanco.pptx
SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓ...
Introducción a la contabilidad de costos.ppt

Programacion Dinamica Intro

  • 1. Programación Dinámica Dr. Enrique F. Garza Escalante © Facultad de Ingeniería
  • 2. Introducción Método de optimización para resolver problemas que involucran decisiones secuenciales. Una decisión tomada en una etapa afectará los estados del problema y las posibles decisiones en la etapa siguiente. No existe un formato estándar, sino más bien se trata de una forma general de resolver este tipo de problemas.
  • 3. Una serie de estados agrupados en etapas, de cada etapa a la siguiente ocurre una transformación la cual depende de mi decisión. Los posibles estados en cada etapa, si son finitos o enumerables, los puedo representar como Nodos. Las transformaciones que me llevan a cada estado posible en la siguiente etapa a partir de cada estado actual los puedo representar como arcos.
  • 4. Características básicas El problema se puede dividir en etapas, con una decisión x t que se debe tomar en cada etapa. Existe un cierto número de estados “s” asociados a cada etapa “t”, y la decisión realizada en una etapa afecta el estado del sistema en la siguiente etapa. Iniciando con la última etapa, un sub-problema de una etapa puede ser resuelto dando las decisiones óptimas para cada estado en la última etapa. Pueden encontrarse relaciones recursivas que permiten la solución de subproblemas de una etapa que sean empleadas para encontrar las soluciones a mayores y mayores subproblemas hasta que el último subproblema es el problema original.
  • 5. Principio de Optimalidad para Programación Dinámica Dado el estado actual, la decisión óptima para las etapas restantes, es independiente de las decisiones previamente tomadas. Por ello, sólo depende del estado actual y no de cómo llegamos a él.
  • 6. N=# de etapas (5 en el ejemplo), s= estado. Definimos f n (s)=costo de la ruta óptima para las etapas n a N dado que estamos en el estado “s”. Del ejemplo tenemos que f 5 (10)=2, f 5 (11)=4, f 5 (12)=2 f n (s,x n )=costo de ir de s a x n en la etapa n + costo de la ruta óptima para las etapas n+1 a N dado que llegamos a x n f n (s)=mínimo{f n (s,x n )=c(s,x n )+f n+1 (x n )} sobre todos los s posibles. c(s,x n )=costo de ir del estado s al x x en la etapa n
  • 7. ¿Cómo difiere del algoritmo de Ruta más corta? Programación Dinámica es una herramienta para procesos de Etapas y en su búsqueda de un óptimo va generando rutas óptimas en cada Etapa, por ello es muy útil para análisis de sensibilidad En su versión estocástica, va más allá del modelado determinístico empleado en el caso de Ruta más corta 8 5 9 11 10 12 11 15 14
  • 8. Ejemplo Un ejemplo de la versatilidad de empleo de esta herramienta la tenemos con el Ejemplo2 del capítulo 11 del texto de Hillier & Lieberman: La Organización Mundial de la Salud está tratando de decidir cuántos equipos médicos asignar a cada uno de tres países en desarrollo. El impacto del trabajo de los equipos incide en el incremento en expectativa de vida lo que se traduce en miles de años-persona de vida adicionales por país . Sólo se tienen 5 equipos y se tienen que mantener operando de manera íntegra. La tabla siguiente muestra el impacto asociado: País 100 110 105 4 130 150 120 5 80 75 90 3 70 45 70 2 50 20 45 1 0 0 0 0 3 2 1 Equipos Médicos
  • 9. 5 5 5 4 4 3 3 2 2 1 1 0 0 0 50 70 80 100 Estado 1 2 3 0 45 70 90 105 120 110 75 45 20 0 0 0 130 20 0 125 165 50 95 70 170
  • 10. Procesos Dinámicos de flujos de efectivo Existen procesos que requieren administración periódica. Los flujos futuros, aunque determinísticos, dependen de las decisiones tomadas en cada período.
  • 11. Procesos Dinámicos de flujos de efectivo Este tipo de modelos se emplean en problemas de explotación de recursos no-renovables, ó donde existe un recurso limitante.
  • 12. Procesos Dinámicos de flujos de efectivo La manera de visualizar estos problemas es representándolos gráficamente con árboles de decisión ó con mallas (“lattice”). Estas representaciones constan de nodos y arcos. Los nodos representan diferentes estados del sistema y están interconectados por arcos.
  • 13. Procesos Dinámicos de flujos de efectivo Cada arco corresponde a una posible acción administrativa. Nosotros trabajaremos con árboles y mallas binomiales (dos arcos salen de cada nodo), pero se pueden construir con más arcos saliendo de cada nodo.
  • 14. Arbol y malla de decisión • • • • • • • • • • • • • • • • • • • • • • • • • • • • Arbol binomial Malla binomial Nodos por nivel 2^n vs. n+1
  • 15. Arbol y malla de decisión El árbol de decisión permite incorporar diferencias a diferentes rutas para llegar a un mismo estado final del recurso limitante, mientras que la malla supone que los caminos para llegar al mismo nodo final son enteramente equivalentes.
  • 16. Arbol y malla de decisión El tipo de decisiones que analizaremos consisten, típicamente, en llevar a cabo ó no una acción específica (Por ejemplo, pescar ó no; extraer petróleo ó no, etc). El realizar la acción ó no tendrá consecuencias en ingresos, egresos y estado del recurso limitante.
  • 17. Arbol y malla de decisión Si distintos caminos conducen al mismo estado del recurso limitante y este estado es caracterizado por una sola utilidad (ingreso - egreso), entonces una “malla” será la representación adecuada.
  • 18. Información Típicamente los nodos contienen información sobre el estado del recurso (posiblemente más datos en caso de los árboles) y los arcos, la utilidad generada en el período (normalmente refleja la ganancia al inicio del nodo que emite).
  • 19. Administración óptima Cada camino, en el caso de un árbol determina una posible alternativa (de un total de 2^(n+1) -1 alternativas posibles). La estrategia podría ser encontrar el valor presente para cada alternativa, pero si n=12, las alternativas son 8,191. Para n=24, son más de 16 millones!
  • 20. Administración óptima Alternativamente podemos usar programación dinámica. La programación dinámica implica emplear los valores presentes de manera recursiva. Así tendremos que “V ki ” representará el mejor valor presente recursivo en el nodo i en el tiempo k.
  • 21. Administración óptima Los valores en los nodos finales tiempo “n” representan los valores terminales del proyecto bajo cada alternativa (por ejemplo valores de rescate de equipo empleado), y son parte de la descripción del problema.
  • 22. Administración óptima La siguiente etapa consiste en analizar los nodos en el tiempo inmediato anterior “n-1” Para cualquier nodo en el tiempo “n-1” suponemos que ya estamos ahí y ahora trataremos de hacer lo mejor posible en el futuro. Maximizar nuestro VPN en “n-1” para cada nodo en ese tiempo.
  • 23. Administración óptima La decisión que nos queda es a que nodo dirigirnos en el tiempo “n” del nodo (n-1, i). Para cada arco “a” emanando del nodo (n-1, i) calculamos cuanto vale
  • 24. Administración óptima Donde es el flujo inmediato asociado al arco a y V n,a es el valor presente en el nodo al que el arco “a” lleva (que incluye cualquier flujo que se derive en ese momento de haber tomado el arco a). Luego elegimos la mejor opción así:
  • 25. Administración óptima Luego, regresamos un período adicional a “n-2” y repetimos el procedimiento, así sucesivamente hasta llegar al tiempo “0”. En general, el proceso recursivo está dado por: