SlideShare una empresa de Scribd logo
1 de 16
PROGRAMACIÓN DINÁMICA ESPECIALIZACIÓN EN GERENCIA INFORMÁTICA
INTRODUCCIÓN Existe 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ÁMICA Los 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  PD Para 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 PD Para 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 monedas Mi 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? ,[object Object]
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 colectivo,[object Object]
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? ,[object Object],En general, si voy tomando cada vez el billete mas grande que puedo, me da la cantidad mínima

Más contenido relacionado

La actualidad más candente

Programac..
Programac..Programac..
Programac..g_joselo
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamicaRCOP
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamicaVINAYOCANDO13
 
Programacion Dinamica Intro
Programacion Dinamica IntroProgramacion Dinamica Intro
Programacion Dinamica Introfolken22
 
1.3.2 la programación lineal y su uso en la programación de operaciones
1.3.2 la programación lineal y su uso en la programación de operaciones1.3.2 la programación lineal y su uso en la programación de operaciones
1.3.2 la programación lineal y su uso en la programación de operacionesHumbertoCarlosGalleg
 
61178886 i-o-ii-principal
61178886 i-o-ii-principal61178886 i-o-ii-principal
61178886 i-o-ii-principaldaniel malpica
 
1.3.1 la programación lineal y su uso en la programación de operaciones
1.3.1 la programación lineal y su uso en la programación de operaciones1.3.1 la programación lineal y su uso en la programación de operaciones
1.3.1 la programación lineal y su uso en la programación de operacionesHumbertoCarlosGalleg
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámicaliisab04
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación DinámicaXavi2701
 
Programación dinámica (apuntes)
Programación dinámica (apuntes)Programación dinámica (apuntes)
Programación dinámica (apuntes)Juan Flores Roman
 
Programación no linealeeee fernando yepez
Programación no linealeeee fernando yepezProgramación no linealeeee fernando yepez
Programación no linealeeee fernando yepezDra Yarelis Vargas
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICAJOSEPHBADRA3
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeAndreina Arteaga
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamicanarlyn diaz
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaManuelStreck
 

La actualidad más candente (19)

Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programac..
Programac..Programac..
Programac..
 
Programación dinámica
Programación dinámicaProgramación dinámica
Programación dinámica
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamica
 
Programacion Dinamica Intro
Programacion Dinamica IntroProgramacion Dinamica Intro
Programacion Dinamica Intro
 
1.3.2 la programación lineal y su uso en la programación de operaciones
1.3.2 la programación lineal y su uso en la programación de operaciones1.3.2 la programación lineal y su uso en la programación de operaciones
1.3.2 la programación lineal y su uso en la programación de operaciones
 
Programación dinámica
Programación  dinámicaProgramación  dinámica
Programación dinámica
 
61178886 i-o-ii-principal
61178886 i-o-ii-principal61178886 i-o-ii-principal
61178886 i-o-ii-principal
 
1.3.1 la programación lineal y su uso en la programación de operaciones
1.3.1 la programación lineal y su uso en la programación de operaciones1.3.1 la programación lineal y su uso en la programación de operaciones
1.3.1 la programación lineal y su uso en la programación de operaciones
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Programación dinámica (apuntes)
Programación dinámica (apuntes)Programación dinámica (apuntes)
Programación dinámica (apuntes)
 
Programación no linealeeee fernando yepez
Programación no linealeeee fernando yepezProgramación no linealeeee fernando yepez
Programación no linealeeee fernando yepez
 
Asignacion
AsignacionAsignacion
Asignacion
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICA
 
Condiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrangeCondiciones kuhn tucker y lagrange
Condiciones kuhn tucker y lagrange
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamica
 

Similar a Programación dinámica

Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación DinámicaKimLinares
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamicaRuben Gonzalez
 
Presentación: Programación Dinámica
Presentación: Programación DinámicaPresentación: Programación Dinámica
Presentación: Programación DinámicaWilliam Snow
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistemaDiRossalez
 
Clase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdfClase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdfNekoRojas3
 
Programacion d inamica
Programacion d inamicaProgramacion d inamica
Programacion d inamicaJuanpablo1023
 
Trabajo programacion lineal
Trabajo  programacion  linealTrabajo  programacion  lineal
Trabajo programacion linealluis fernandez
 
Tema 5 construccion algoritmos EDA 1.pdf
Tema 5 construccion algoritmos EDA 1.pdfTema 5 construccion algoritmos EDA 1.pdf
Tema 5 construccion algoritmos EDA 1.pdfMartyfotos3fotos3
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación DinamicaRafael Brito
 
Programacion Dinamica
Programacion DinamicaProgramacion Dinamica
Programacion DinamicaLuisCabanerio
 
guia-unidad-1-teoria-clasica-de-optimizacion (7).docx
guia-unidad-1-teoria-clasica-de-optimizacion (7).docxguia-unidad-1-teoria-clasica-de-optimizacion (7).docx
guia-unidad-1-teoria-clasica-de-optimizacion (7).docxcirov176
 

Similar a Programación dinámica (20)

Programacion
ProgramacionProgramacion
Programacion
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Pro no num Prog dinamica
Pro no num Prog dinamicaPro no num Prog dinamica
Pro no num Prog dinamica
 
Programacion dinamica jesus plaza
Programacion dinamica jesus plazaProgramacion dinamica jesus plaza
Programacion dinamica jesus plaza
 
Presentación: Programación Dinámica
Presentación: Programación DinámicaPresentación: Programación Dinámica
Presentación: Programación Dinámica
 
Optimizacion
OptimizacionOptimizacion
Optimizacion
 
Presentación optimizacion de sistema
Presentación optimizacion de sistemaPresentación optimizacion de sistema
Presentación optimizacion de sistema
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
Clase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdfClase 7 IO Programación Dinamica_MÓNICA.pdf
Clase 7 IO Programación Dinamica_MÓNICA.pdf
 
Programacion_Lineal.pdf
Programacion_Lineal.pdfProgramacion_Lineal.pdf
Programacion_Lineal.pdf
 
Programacion d inamica
Programacion d inamicaProgramacion d inamica
Programacion d inamica
 
Trabajo programacion lineal
Trabajo  programacion  linealTrabajo  programacion  lineal
Trabajo programacion lineal
 
Tema 5 construccion algoritmos EDA 1.pdf
Tema 5 construccion algoritmos EDA 1.pdfTema 5 construccion algoritmos EDA 1.pdf
Tema 5 construccion algoritmos EDA 1.pdf
 
Presentación de investigación de operaciones II
Presentación de investigación de operaciones IIPresentación de investigación de operaciones II
Presentación de investigación de operaciones II
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación Dinamica
 
Programacion Dinamica
Programacion DinamicaProgramacion Dinamica
Programacion Dinamica
 
guia-unidad-1-teoria-clasica-de-optimizacion (7).docx
guia-unidad-1-teoria-clasica-de-optimizacion (7).docxguia-unidad-1-teoria-clasica-de-optimizacion (7).docx
guia-unidad-1-teoria-clasica-de-optimizacion (7).docx
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
Programacion no lineal
Programacion no linealProgramacion no lineal
Programacion no lineal
 

Último

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 

Último (20)

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 

Programación dinámica

  • 1. PROGRAMACIÓN DINÁMICA ESPECIALIZACIÓN EN GERENCIA INFORMÁTICA
  • 2. INTRODUCCIÓN Existe 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ÁMICA Los 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 PD Para 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 PD Para 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.
  • 12. Viene alguien y paga con un billete de $50
  • 13. El vuelto es $50 - $0.80 = $49,20
  • 14.
  • 15.
  • 16.
  • 17. ¿Cómo se aplica el principio del óptimo? Si requiero dar vuelto de $24,20 En la anterior vuelto teníamos: $20 + $20 + $5 + $2 + $2 + $2c + $2c = $49,20 Aplicando: $20 + $20 + $5 + $2 + $2 + $2c + $2c = $24,20
  • 18. CONCLUSIÓN La 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.
  • 19. webgrafía www.edicionsupc.es www.lcc.uma.es www.cimat.mx www.sci2s.ugr.es www.decsai.ugr.es www.dc.uba.ar