SlideShare una empresa de Scribd logo
1 de 15
Investigación de Operaciones II
Programación Dinámica
La programación dinámica es útil para tomar una sucesión de
decisiones interrelacionadas.
No existe un planteamiento matemático estándar del problema
de programación dinámica.
La programación dinámica suministra una solución con mucho
menos esfuerzo que la enumeración exhaustiva.
La programación dinámica parte de una pequeña porción del
problema y encuentra la solución óptima para este problema
más pequeño. Entonces gradualmente agranda el problema,
hallando la solución óptima en curso a partir de la anterior,
hasta que se resuelve por completo el problema original.
PROGRAMACIÓN DINÁMICA DETERMINÍSTICA
La programación dinámica es un método de
investigación de operaciones que permite resolver un
problema de n variables dividiéndolo en n problemas de
una variable cada uno, en el cual la solución particular
de cada etapa depende del contexto, por lo que no hay
un modelo general para programación dinámica.
Características
 El problema original de n variables de decisión se puede dividir
    en n etapas con una decisión por tomar en cada etapa
   Cada etapa tiene un número de estados asociado a ella.
   La decisión tomada en una etapa conduce a cierto estado en la
    etapa siguiente (anterior).
   Dado el estado actual, la decisión óptima para cada uno de los
    estados restantes no depende de las decisiones o etapas previos.
   Existe una relación recursiva que identifica la decisión óptima
    para la etapa i, dado que la etapa i-1 (recursión hacia delante) o
    i+1 (recursión hacia atrás) ha sido resuelta
   La etapa final (inicial) debe ser resoluble sin hacer referencia a
    las siguientes.
Etapas
  Particiones del problema en los cuales se pueden
  tomar decisiones que no dependan de estados
  anteriores, sino sólo del estado actual.
  Ej.: días, meses, años, etapas de producción en una
  línea, etc. Para su programación debe existir una
  etapa final (N)
Variables de decisión
Decisiones cuantificables cuyos valores se intenta
determinar por medio de la resolución del modelo. Su
valor determina el valor de las variables de estado de las
etapas futuras.

Estados
Los estados son las distintas condiciones posibles en las
que se puede encontrar el sistema en cada etapa del
problema. El número de estados puede ser finito o
infinito.
Función de efectividad
Ecuación que indica como se acumula la función de valor
desde la etapa n hasta la etapa final.


Objetivo
Criterio de comparación entre distintos valores de las
variables de estado. Es el objetivo a alcanzar por la
resolución del problema en cada etapa.
Notación
N: número de etapas.
n: etiqueta para la etapa actual.
sn: estado actual para la etapa n.
xn: variable de decisión para la etapa n.
x*n: valor óptimo de xn (dado sn).
fn(sn,xn): contribución a la función objetivo de las etapas n,
             n+1, …, N, si el sistema se encuentra en el estado sn
             en la etapa n, la decisión inmediata es xn y en
             adelante se toman decisiones óptimas.
f*n(sn) = fn(sn,x*n):
Relación recursiva

     f*n(sn) = máx{ fn(sn,xn)}
               xn

     f*n(sn) = min{ fn(sn,xn)}
                x
                n
Estructura básica para una prog.
dinámica determinística.


                  xn
Ejemplo
Supongamos que se trata de seleccionar la ruta más
corta entre dos ciudades como se muestra en la red
(iniciando en el nodo 1 y el destino en el nodo 7).
Descomposición del problema de
la ruta más corta
Formula recursiva
 Sea f(xi) la distancia más corta hasta el nodo xi en
  la etapa i
 d(xi-1,xi) la distancia del nodo xi-1 hasta el nodo xi
 Entonces calculamos f i a partir de f i-1
Fórmula recursiva
 Al comenzar en i = 1, la recursión pone f0(x0) = 0.
 La ecuación indica que las distancias más cortas
  f i(xi) en la etapa i se debe expresar en función del
  siguiente nodo, xi .
 A xi se le llama estado del sistema en la etapa i.
Formula recursiva en reversa
f i(xi) = min              {d(xi,xi+1)+f i+1(xi+1)}
        todas las rutas
        viables(xi,xi+1)

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Programación dinámica (apuntes)
Programación dinámica (apuntes)Programación dinámica (apuntes)
Programación dinámica (apuntes)
 
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
Programación dinámicaProgramación dinámica
Programación dinámica
 
Programación dinamica (ea)
Programación dinamica (ea)Programación dinamica (ea)
Programación dinamica (ea)
 
Dynamic programming 01
Dynamic programming 01Dynamic programming 01
Dynamic programming 01
 
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
 
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
 
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 dinámica
Programación dinámica Programación dinámica
Programación dinámica
 
Presentación: Programación Dinámica
Presentación: Programación DinámicaPresentación: Programación Dinámica
Presentación: Programación Dinámica
 
Presentacion programacion dinamica
Presentacion programacion dinamicaPresentacion programacion dinamica
Presentacion programacion dinamica
 
0208
02080208
0208
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
Programacion dinamica
Programacion dinamicaProgramacion dinamica
Programacion dinamica
 
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
 

Similar a Programac..

Similar a Programac.. (20)

Prog dinamica
Prog dinamicaProg dinamica
Prog dinamica
 
Programacion no lineal
Programacion no linealProgramacion no lineal
Programacion no lineal
 
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
 
Unidad 3. Programación dinámica
Unidad 3. Programación dinámicaUnidad 3. Programación dinámica
Unidad 3. Programación dinámica
 
3.1.4 Programación Dinámica.pptx
3.1.4 Programación Dinámica.pptx3.1.4 Programación Dinámica.pptx
3.1.4 Programación Dinámica.pptx
 
PROGRAMACION DINAMICA
PROGRAMACION DINAMICAPROGRAMACION DINAMICA
PROGRAMACION DINAMICA
 
Programacion
ProgramacionProgramacion
Programacion
 
Plantilla ensayo
Plantilla ensayoPlantilla ensayo
Plantilla ensayo
 
Plantilla ensayo
Plantilla ensayoPlantilla ensayo
Plantilla ensayo
 
Plantilla ensayo
Plantilla ensayoPlantilla ensayo
Plantilla ensayo
 
Plantilla ensayo
Plantilla ensayoPlantilla ensayo
Plantilla ensayo
 
Baixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-programacion-dinamicaBaixardoc.com unidad-1-programacion-dinamica
Baixardoc.com unidad-1-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
 
Programación lineal
Programación linealProgramación lineal
Programación lineal
 
Programación Dinamica
Programación DinamicaProgramación Dinamica
Programación Dinamica
 
Programación Dinámica
Programación DinámicaProgramación Dinámica
Programación Dinámica
 
Metodo Simplex
Metodo SimplexMetodo Simplex
Metodo Simplex
 
Sesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdfSesion6_IdaliaFlores_20abr15 (1).pdf
Sesion6_IdaliaFlores_20abr15 (1).pdf
 
Maps
MapsMaps
Maps
 
Algoritmo voraces
Algoritmo voracesAlgoritmo voraces
Algoritmo voraces
 

Programac..

  • 2. Programación Dinámica La programación dinámica es útil para tomar una sucesión de decisiones interrelacionadas. No existe un planteamiento matemático estándar del problema de programación dinámica. La programación dinámica suministra una solución con mucho menos esfuerzo que la enumeración exhaustiva. La programación dinámica parte de una pequeña porción del problema y encuentra la solución óptima para este problema más pequeño. Entonces gradualmente agranda el problema, hallando la solución óptima en curso a partir de la anterior, hasta que se resuelve por completo el problema original.
  • 3. PROGRAMACIÓN DINÁMICA DETERMINÍSTICA La programación dinámica es un método de investigación de operaciones que permite resolver un problema de n variables dividiéndolo en n problemas de una variable cada uno, en el cual la solución particular de cada etapa depende del contexto, por lo que no hay un modelo general para programación dinámica.
  • 4. Características  El problema original de n variables de decisión se puede dividir en n etapas con una decisión por tomar en cada etapa  Cada etapa tiene un número de estados asociado a ella.  La decisión tomada en una etapa conduce a cierto estado en la etapa siguiente (anterior).  Dado el estado actual, la decisión óptima para cada uno de los estados restantes no depende de las decisiones o etapas previos.  Existe una relación recursiva que identifica la decisión óptima para la etapa i, dado que la etapa i-1 (recursión hacia delante) o i+1 (recursión hacia atrás) ha sido resuelta  La etapa final (inicial) debe ser resoluble sin hacer referencia a las siguientes.
  • 5. Etapas Particiones del problema en los cuales se pueden tomar decisiones que no dependan de estados anteriores, sino sólo del estado actual. Ej.: días, meses, años, etapas de producción en una línea, etc. Para su programación debe existir una etapa final (N)
  • 6. Variables de decisión Decisiones cuantificables cuyos valores se intenta determinar por medio de la resolución del modelo. Su valor determina el valor de las variables de estado de las etapas futuras. Estados Los estados son las distintas condiciones posibles en las que se puede encontrar el sistema en cada etapa del problema. El número de estados puede ser finito o infinito.
  • 7. Función de efectividad Ecuación que indica como se acumula la función de valor desde la etapa n hasta la etapa final. Objetivo Criterio de comparación entre distintos valores de las variables de estado. Es el objetivo a alcanzar por la resolución del problema en cada etapa.
  • 8. Notación N: número de etapas. n: etiqueta para la etapa actual. sn: estado actual para la etapa n. xn: variable de decisión para la etapa n. x*n: valor óptimo de xn (dado sn). fn(sn,xn): contribución a la función objetivo de las etapas n, n+1, …, N, si el sistema se encuentra en el estado sn en la etapa n, la decisión inmediata es xn y en adelante se toman decisiones óptimas. f*n(sn) = fn(sn,x*n):
  • 9. Relación recursiva f*n(sn) = máx{ fn(sn,xn)} xn f*n(sn) = min{ fn(sn,xn)} x n
  • 10. Estructura básica para una prog. dinámica determinística. xn
  • 11. Ejemplo Supongamos que se trata de seleccionar la ruta más corta entre dos ciudades como se muestra en la red (iniciando en el nodo 1 y el destino en el nodo 7).
  • 12. Descomposición del problema de la ruta más corta
  • 13. Formula recursiva  Sea f(xi) la distancia más corta hasta el nodo xi en la etapa i  d(xi-1,xi) la distancia del nodo xi-1 hasta el nodo xi  Entonces calculamos f i a partir de f i-1
  • 14. Fórmula recursiva  Al comenzar en i = 1, la recursión pone f0(x0) = 0.  La ecuación indica que las distancias más cortas f i(xi) en la etapa i se debe expresar en función del siguiente nodo, xi .  A xi se le llama estado del sistema en la etapa i.
  • 15. Formula recursiva en reversa f i(xi) = min {d(xi,xi+1)+f i+1(xi+1)} todas las rutas viables(xi,xi+1)