SlideShare una empresa de Scribd logo
PROGRAMACIÓN DINÁMICAESPECIALIZACIÓN EN GERENCIA INFORMÁTICA
INTRODUCCIÓNExiste una serie de problemas matemáticos cuya solución se puede dar mediante el empleo de un algoritmo recursivo o mediante la implementación de una resolución por etapas, planteando una serie de sub problemas a partir del problema principal; en ambos casos, la solución puede ser caótica, agrandar el tamaño del problema o simplemente, el método empleado convertirse en impracticable. Esto puede mejorar sustancialmente mediante la Programación Dinámica, PD.
¿QUÉ ES LA PROGRAMACIÓN DIMÁMICA?La Programación Dinámica es una técnica de programación que se emplea típicamente para resolver problemas de optimización en los cuales el problema principal se encuadra en varios subproblemas, solucionando cada uno de ellos y luego ligando las soluciones de una forma óptima, donde la solución final permita resolver  y tomar decisiones correctas a problemas actuales y futuros.
¿A QUÉ PROBLEMAS SE APLICA?Esta técnica se aplica sobre problemas que a simple vista necesitan un alto coste computacional (posiblemente exponencial) donde:   – Subproblemasoptimales: La solución óptimaa un problema puede ser definida en función de Soluciones óptimas a subproblemas de tamaño menor, generalmente de forma recursiva.   – Solapamiento entre subproblemas: Al plantear la solución recursiva, un mismo problema se resuelve más de una vez
¿QUÉ SE LOGRA?La PD utiliza un enfoque ascendente (botton-up) para obtener la solución, primero calcula las soluciones óptimas a problemas de tamaño pequeño. Utilizando dichas soluciones encuentra soluciones a problemas de mayor tamaño.    – La idea de la PD es encontrar la solución a los subproblemas y almacenarlos en alguna estructura (diccionario) para utilizarlas posteriormente.    – Por tanto, es más eficiente que la fuerza bruta que resuelve el mismo subproblema una y otra vez.     --  Evita calcular lo mismo varias veces. Usualmente se utiliza una matriz que se rellena conforme las soluciones a los Subproblemas que son calculados (espacio vs. tiempo).
ELEMENTOS DE LA PROGRAMACIÓN DINÁMICALos siguientes cuatro elementos conforman la resolución de un problema mediante PD:   1. Principio de Optimalidad de Bellman   2. Definición Recursiva de la solución optimal   3. Enfoque ascendente   4. Búsqueda solución optima
Principio de Optimalidad de BELLMAN“Una secuencia óptima de decisiones que resuelve un problema debe cumplir la propiedad de que cualquier subsecuencia de decisiones debe ser tambien optima respecto al subproblema que resuelve”.Esto es, la solución optima a cualquier instancia no trivial de un problema es una combinación de soluciones óptimas de algunas de las sub-instancias.
CARACTERÍSTICAS  DE UN PROBLEMA DE  PDPara que un problema pueda ser resuelto con la técnica de programación dinámica, debe cumplir con ciertas características:     - Naturaleza secuencial de las decisiones: El problema puede ser dividido en etapas.     - Cada etapa tiene un numero de estados asociados a ella.     - La decisión óptima de cada etapa depende solo del estado actual y no de las decisiones anteriores.     - La decisión tomada en una etapa determina cual será el estado de la etapa siguiente.En síntesis, la política óptima desde un estado s de la etapa k a la etapa final esta constituida por una decisión que transforma s en un estado s’ de la etapa k +1 y por la política  óptima desde el estado s’  hasta la etapa final.
RESOLUCIÓN DE UN PROBLEMA DE PDPara resolver un problema de programación dinámica debemos al menos cumplir con:Identificación de etapas, estados y variable de decisión:    • Cada etapa debe tener asociado una o mas decisiones (problema de optimización), cuya dependencia de las decisiones anteriores esta dada exclusivamente por las variables de estado.    • Cada estado debe contener toda la información relevante para la toma de decisión asociada al período.    • Las variables de decisión son aquellas sobre las cuales debemos definir su valor de modo de optimizar el beneficio acumulado y modificar el estado de la próxima etapa.
Descripción de ecuaciones de recurrencia: Nos deben indicar como se acumula la función de beneficios a optimizar (función objetivo) y como varían las funciones de estado de una etapa a otra.Resolución: Debemos optimizar cada subproblema por etapas en función de los resultados de la resolución del subproblema siguiente. Al final obtendremos una solución óptima para el problema.
El problema de las monedasMi empresa de colectivos    • El precio de los boletos puede llegar a cambiar en cualquier momento    • En todo momento se puede pagar con cualquier moneda o billete    • Tengo que dar el vuelto usando pocas monedas o billetes¿Vuelto usando pocas monedas?El boleto, actualmente, sale $0,80
Viene alguien y paga con un billete de $50
El vuelto es $50 - $0.80 = $49,20
Si le llego a dar 492 monedas de 10 centavos, no se toma nunca mas mi colectivoSi se tienen los siguientes tipos de monedas y billetes:Monedas de 1, 5, 10, 25 y 50 centavos y de 1 peso
Billetes de 2, 5, 10, 20, 50 y 100 pesosSi el vuelto de $49,20, ¿Cuál es la mejor manera (menos cantidad de billetes y monedas) de dar esa cantidad?20 + 20 + 5 + 2 + 2 + 10C+ 10C = 49,20En general, si voy tomando cada vez el billete mas grande que puedo, me da la cantidad mínima
Programación dinámica

Más contenido relacionado

PPTX
Unidad 1. Programación entera
PDF
Programación lineal
PDF
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
DOCX
ejercicios programación lineal
PDF
El problema del agente viajero resuelto por fuerza, programación dinámica y v...
PPTX
Programación lineal
DOCX
Tarea 15 de PROBABILIDAD Y ESTADISTICA CON RESPUESTAS
 
PPTX
Unidad 3. Programación dinámica
Unidad 1. Programación entera
Programación lineal
METODO DUAL : EJERCICIOS RESUELTOS DE INVESTIGACIONES DE OPERACIONES
ejercicios programación lineal
El problema del agente viajero resuelto por fuerza, programación dinámica y v...
Programación lineal
Tarea 15 de PROBABILIDAD Y ESTADISTICA CON RESPUESTAS
 
Unidad 3. Programación dinámica

La actualidad más candente (20)

PDF
Ramificacion y acotamiento
PPTX
Método de dos fases
DOCX
Trabajo de investigacion operativa (x)
PDF
Método simplex. Teoria
PPTX
Analisis de sensibilidad ejercicios resueltos
DOCX
Inv de operaciones el metodo grafico
PPT
Manejo de memoria
DOCX
Ejercicios árbol-de-decisión
PPTX
Analisis de sensibilidad 2222222 (1)
PPTX
Algoritmo De Cuadrados Medios
PPT
2. metodo grafico
PDF
Programacion dinamica final
DOCX
Cuadro comparativo algoritmos de busqueda
PPTX
Modelos De Programacion Entera
PDF
Md ejercicios resueltos teoria de la decision
DOCX
Programación entera
PPTX
Investigación de operaciones
DOCX
Ejercicios resueltos io 1 parte 1
DOCX
Tarea de estadística probabilidades
PDF
Programación Lineal
Ramificacion y acotamiento
Método de dos fases
Trabajo de investigacion operativa (x)
Método simplex. Teoria
Analisis de sensibilidad ejercicios resueltos
Inv de operaciones el metodo grafico
Manejo de memoria
Ejercicios árbol-de-decisión
Analisis de sensibilidad 2222222 (1)
Algoritmo De Cuadrados Medios
2. metodo grafico
Programacion dinamica final
Cuadro comparativo algoritmos de busqueda
Modelos De Programacion Entera
Md ejercicios resueltos teoria de la decision
Programación entera
Investigación de operaciones
Ejercicios resueltos io 1 parte 1
Tarea de estadística probabilidades
Programación Lineal
Publicidad

Destacado (20)

DOCX
Programación dinámica
PPT
Programación Dinámica
DOCX
Programación deterministica
PPTX
Programación Dinámica
PDF
Programación dinámica
DOCX
Problema de asignación de programación dinámica
PPTX
Programación Dinámica
PPTX
Gestion de inventario
PPTX
Programación Dinámica
PPTX
Programacion dinamica
PDF
Programación dinámica
PDF
Resumen programacion lineal
PPT
TEORÍA DE INVENTARIOS, INVESTIGACIÓN DE OPERACIONES.
PPT
Planeación de Proyectos - PERT & CPM
PPT
Tipos de modelos de inventario
PDF
Programacion dinamica
PPTX
Programación dinámica
PDF
Programación dinámica (apuntes)
DOCX
Problema del agente viajero monografia
PDF
Principales aeropuertos de México
Programación dinámica
Programación Dinámica
Programación deterministica
Programación Dinámica
Programación dinámica
Problema de asignación de programación dinámica
Programación Dinámica
Gestion de inventario
Programación Dinámica
Programacion dinamica
Programación dinámica
Resumen programacion lineal
TEORÍA DE INVENTARIOS, INVESTIGACIÓN DE OPERACIONES.
Planeación de Proyectos - PERT & CPM
Tipos de modelos de inventario
Programacion dinamica
Programación dinámica
Programación dinámica (apuntes)
Problema del agente viajero monografia
Principales aeropuertos de México
Publicidad

Similar a Programación dinámica (20)

PPTX
Programación dinamica (ea)
PPTX
Presentacion programacion dinamica
PPTX
Programacion d inamica
PDF
Programacion dinamica
PPTX
Programacion dinamica
PDF
6 dynamic programming
PPTX
Algoritmos computacionales
PPTX
Algoritmos computacionales
PDF
Baixardoc.com unidad-1-programacion-dinamica
PDF
Baixardoc.com unidad-1-programacion-dinamica
PDF
Baixardoc.com unidad-1-programacion-dinamica
PDF
memoria de trabajos y de unidades de diseñoa de cada unidad de desempeño de t...
PDF
programaciondinamica-150128212619-conversion-gate01.pdf
PPTX
Programacion dinamica
PDF
Programacion_dinámica_-_GRUPO a_1[1].pdf
PPTX
Presentación de investigación de operaciones II
PPTX
Programacion dinamica jesus plaza
PPTX
Programacion dinamica
PDF
Clase 7 IO Programación Dinamica_MÓNICA.pdf
PPTX
Pro no num Prog dinamica
Programación dinamica (ea)
Presentacion programacion dinamica
Programacion d inamica
Programacion dinamica
Programacion dinamica
6 dynamic programming
Algoritmos computacionales
Algoritmos computacionales
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamica
memoria de trabajos y de unidades de diseñoa de cada unidad de desempeño de t...
programaciondinamica-150128212619-conversion-gate01.pdf
Programacion dinamica
Programacion_dinámica_-_GRUPO a_1[1].pdf
Presentación de investigación de operaciones II
Programacion dinamica jesus plaza
Programacion dinamica
Clase 7 IO Programación Dinamica_MÓNICA.pdf
Pro no num Prog dinamica

Último (20)

PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
Metodologías Activas con herramientas IAG
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PFB-MANUAL-PRUEBA-FUNCIONES-BASICAS-pdf.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
Punto Critico - Brian Tracy Ccesa007.pdf
V UNIDAD - PRIMER GRADO. del mes de agosto
Híper Mega Repaso Histológico Bloque 3.pdf
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
TOMO II - LITERATURA.pd plusenmas ultras
Metodologías Activas con herramientas IAG
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Didactica de la Investigacion Educativa SUE Ccesa007.pdf
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Fundamentos_Educacion_a_Distancia_ABC.pdf
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Tomo 1 de biologia gratis ultra plusenmas
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf

Programación dinámica

  • 2. INTRODUCCIÓNExiste una serie de problemas matemáticos cuya solución se puede dar mediante el empleo de un algoritmo recursivo o mediante la implementación de una resolución por etapas, planteando una serie de sub problemas a partir del problema principal; en ambos casos, la solución puede ser caótica, agrandar el tamaño del problema o simplemente, el método empleado convertirse en impracticable. Esto puede mejorar sustancialmente mediante la Programación Dinámica, PD.
  • 3. ¿QUÉ ES LA PROGRAMACIÓN DIMÁMICA?La Programación Dinámica es una técnica de programación que se emplea típicamente para resolver problemas de optimización en los cuales el problema principal se encuadra en varios subproblemas, solucionando cada uno de ellos y luego ligando las soluciones de una forma óptima, donde la solución final permita resolver y tomar decisiones correctas a problemas actuales y futuros.
  • 4. ¿A QUÉ PROBLEMAS SE APLICA?Esta técnica se aplica sobre problemas que a simple vista necesitan un alto coste computacional (posiblemente exponencial) donde: – Subproblemasoptimales: La solución óptimaa un problema puede ser definida en función de Soluciones óptimas a subproblemas de tamaño menor, generalmente de forma recursiva. – Solapamiento entre subproblemas: Al plantear la solución recursiva, un mismo problema se resuelve más de una vez
  • 5. ¿QUÉ SE LOGRA?La PD utiliza un enfoque ascendente (botton-up) para obtener la solución, primero calcula las soluciones óptimas a problemas de tamaño pequeño. Utilizando dichas soluciones encuentra soluciones a problemas de mayor tamaño. – La idea de la PD es encontrar la solución a los subproblemas y almacenarlos en alguna estructura (diccionario) para utilizarlas posteriormente. – Por tanto, es más eficiente que la fuerza bruta que resuelve el mismo subproblema una y otra vez. -- Evita calcular lo mismo varias veces. Usualmente se utiliza una matriz que se rellena conforme las soluciones a los Subproblemas que son calculados (espacio vs. tiempo).
  • 6. ELEMENTOS DE LA PROGRAMACIÓN DINÁMICALos siguientes cuatro elementos conforman la resolución de un problema mediante PD: 1. Principio de Optimalidad de Bellman 2. Definición Recursiva de la solución optimal 3. Enfoque ascendente 4. Búsqueda solución optima
  • 7. Principio de Optimalidad de BELLMAN“Una secuencia óptima de decisiones que resuelve un problema debe cumplir la propiedad de que cualquier subsecuencia de decisiones debe ser tambien optima respecto al subproblema que resuelve”.Esto es, la solución optima a cualquier instancia no trivial de un problema es una combinación de soluciones óptimas de algunas de las sub-instancias.
  • 8. CARACTERÍSTICAS DE UN PROBLEMA DE PDPara que un problema pueda ser resuelto con la técnica de programación dinámica, debe cumplir con ciertas características: - Naturaleza secuencial de las decisiones: El problema puede ser dividido en etapas. - Cada etapa tiene un numero de estados asociados a ella. - La decisión óptima de cada etapa depende solo del estado actual y no de las decisiones anteriores. - La decisión tomada en una etapa determina cual será el estado de la etapa siguiente.En síntesis, la política óptima desde un estado s de la etapa k a la etapa final esta constituida por una decisión que transforma s en un estado s’ de la etapa k +1 y por la política óptima desde el estado s’ hasta la etapa final.
  • 9. RESOLUCIÓN DE UN PROBLEMA DE PDPara resolver un problema de programación dinámica debemos al menos cumplir con:Identificación de etapas, estados y variable de decisión: • Cada etapa debe tener asociado una o mas decisiones (problema de optimización), cuya dependencia de las decisiones anteriores esta dada exclusivamente por las variables de estado. • Cada estado debe contener toda la información relevante para la toma de decisión asociada al período. • Las variables de decisión son aquellas sobre las cuales debemos definir su valor de modo de optimizar el beneficio acumulado y modificar el estado de la próxima etapa.
  • 10. Descripción de ecuaciones de recurrencia: Nos deben indicar como se acumula la función de beneficios a optimizar (función objetivo) y como varían las funciones de estado de una etapa a otra.Resolución: Debemos optimizar cada subproblema por etapas en función de los resultados de la resolución del subproblema siguiente. Al final obtendremos una solución óptima para el problema.
  • 11. El problema de las monedasMi empresa de colectivos • El precio de los boletos puede llegar a cambiar en cualquier momento • En todo momento se puede pagar con cualquier moneda o billete • Tengo que dar el vuelto usando pocas monedas o billetes¿Vuelto usando pocas monedas?El boleto, actualmente, sale $0,80
  • 12. Viene alguien y paga con un billete de $50
  • 13. El vuelto es $50 - $0.80 = $49,20
  • 14. Si le llego a dar 492 monedas de 10 centavos, no se toma nunca mas mi colectivoSi se tienen los siguientes tipos de monedas y billetes:Monedas de 1, 5, 10, 25 y 50 centavos y de 1 peso
  • 15. Billetes de 2, 5, 10, 20, 50 y 100 pesosSi el vuelto de $49,20, ¿Cuál es la mejor manera (menos cantidad de billetes y monedas) de dar esa cantidad?20 + 20 + 5 + 2 + 2 + 10C+ 10C = 49,20En general, si voy tomando cada vez el billete mas grande que puedo, me da la cantidad mínima
  • 17. ¿Cómo se aplica el principio del óptimo?Si requiero dar vuelto de $24,20En la anterior vuelto teníamos: $20 + $20 + $5 + $2 + $2 + $2c + $2c = $49,20Aplicando: $20 + $20 + $5 + $2 + $2 + $2c + $2c = $24,20
  • 18. CONCLUSIÓNLa programación Dinámica nos permite resolver un problema hallando soluciones sucesivas a sub problemas de menor tamaño y ligándolas como solución óptima del problema.Para desarrollar el proceso de PD se debe 1. Ver si se aplica el Principio de Optimalidad de Bellman: – Encontrar la estructura de la solución: • Dividir el problema en subproblemas y determinar si se puede aplicar el principio de optimalidad. 2. Definición recursiva de la solución optimal: – Definir el valor de la solución óptima en función de valores de soluciones para sub-problemas de tamaño menor. 3. Calcular el valor de la solución optimal utilizando un enfoque ascendente. – Determinar el conjunto de subproblemas distintos a resolver (tamaño de la tabla) – Identificar los subprblemas con solucion trivial – Obtener los valores con un enfoque ascendente y almacenar los valores que vamos calculado en la tabla. – En etapas posteriores se utilizaran los valores previamente calculados 4. Determinar la solución óptima a partir de la información préviamente calculada.Así, programación dinámia consiste en solucionar el presente suponiendo que en cada etapa futura siempre se tomaran las decisiones correctas.