You are on page 1of 17

INVESTIGACION OPERATIVA 2 Programacin Dinmica

Noe Panozo Jimenez


SIS - NPJ NPJ 1

INTRODUCCION
La Programacin Dinmica (PD) intenta

mejorar la eficiencia del clculo de problemas descomponindolos en subproblemas de menor tamao, ms fciles de resolver. La PD est basada en el principio de optimalidad de Bellman: Cualquier subsecuencia de decisiones de una secuencia ptima de decisiones que resuelve un problema tambin debe ser ptima respecto al suproblema resuelto. SIS - NPJ NPJ 2

INTRODUCCION La PD resuelve el problema en etapas (problemas multietpicos). En cada etapa interviene una variable de optimizacin. Los clculos de las diferentes etapas se enlazan de forma recursiva para generar la solucin ptima. Proporciona un procedimiento sistemtico para determinar la combinacin ptima de decisiones. SIS - NPJ NPJ 3

EJEMPLO
Segunda etapa Cuarta etapa

1 2 0 3
Primera etapa

4 2 3 4 1
Tercera etapa

2 6 1

Cual es el camino ms corto desde 0 hasta 6?


SIS - NPJ NPJ 4

FORMULACION DEL PROBLEMA (I)


1
c(0,1) c(1,3) c(3,4)

4
c(4,6)

0
c(0,2) c(2,3)

3
c(3,5) c(5,6)

0 = inicio, n-1 = meta, 0 < x < n-1 nodos intermedios Si camino entonces c(i,j) = valor i < j Si camino entonces c(i,j) = 0 o i < j f(x) denota el camino ms corto desde 0 al nodo x f(n-1) SIS - NPJ es la solucin del problema NPJ 5

FORMULACION DEL PROBLEMA (II)


1
c(0,1) c(1,3) c(3,4)

4
c(4,6)

0
c(0,2) c(2,3)

3
c(3,5) c(5,6)

f(0) = 0 f(1) = min { f(0) + c(0,1) } f(2) = min { f(1) + c(1,2) , f(0) + c(0,2) } f(3) = min { f(2) + c(2,3) , f(1) + c(1,3) , f(0) + c(0,3) } f(n-1) = min { f(n-2) + c(n-2,n-1, ... , f(0) + c(0,3) } 6 SIS - NPJ NPJ

FORMULACION DEL PROBLEMA (III)


1
c(0,1) c(1,3) c(3,4)

4
c(4,6)

0
c(0,2) c(2,3)

3
c(3,5) c(5,6)

0 f(x) = min { f(j) + c(j,x) }


0 j x
SIS - NPJ NPJ

x=0 1 x n 1
7

CLASES DE FORMULACION EN PD (I)


0 x=0 1 x n 1

f(x) =
min { f(j) + c(j,x) }
0 j x

La expresin a minimizar (o maximizar) se

denomina ecuacin de optimizacin. Si hay un nico trmino recursivo en la ecuacin de optimizacin ( f(j) ) se denomina formulacin de un problema de programacin dinmica mondica (monadic). En caso contrario se denomina formulacin SIS - NPJ NPJ 8 de PD polidica (polyadic).

CLASES DE FORMULACION EN PD (II)


f (x1) f (x2) f (x3) f (x4) f (x5) f (x6) f (x7) Nivel

r1=g(f(x1),f(x3)
minimizacin composicin

r2=g(f(x4),f(x5)

r3=g(f(x2),f(x6),f(x7)

f(x8)=min{r1,r2,r3}

Si el grafo es acclico (cada nivel depende de los


resultados del nivel inmediatamente anterior) hablamos de formulacin en serie.
SIS - NPJ NPJ 9

La condicin del proceso en una Es la secuencia de decisiones, una para cada etapa del proceso. etapa dada es el estado en esa etapa. Cada decisin afecta la transicin del estado actual al estado asociado en la siguiente etapa.

Los procesos de decisin multietapa tienen retorno (costo o beneficio) asociado a cada decisin.
Los retornos pueden variar con los estados y etapas del proceso.
SIS - NPJ

Determinar la poltica ptima que produce el mejor retorno.

Una poltica ptima tiene la propiedad de que cualquiera que sean las decisiones para entrar a un estado particular en una etapa particular, las decisiones subsecuentes deben constituir una poltica ptima para abandonar el estado.
10

NPJ

MODELO CONCEPTUAL DE LA PROGRAMACIN DINMICA

MODELO DEL SISTEMA

Describe la forma en que un sistema evoluciona a causa de las decisiones tomadas Etapas Estados Variable de decisin
ESTRUCTURA DE COSTO

Describe como se acumulan los costos/beneficios conforme el sistema evoluciona

SOLUCIN APLICANDO EL PRINCIPIO DE OPTIMALIDAD

Trayectoria invertida: FIN INICIO


SIS - NPJ NPJ 11

PROGRAMACIN DINMICA

Los clculos se hacen en forma recursiva, ya que la solucin ptima de un subproblema se usa como dato para el siguiente subproblema. Para cuando se resuelve el ltimo subproblema se obtiene la solucin ptima de todo el problema. Enfoque de programacin dinmica para problemas determinsticos en donde el estado en la siguiente etapa est completamente determinado por el estado y la poltica de decisin de la etapa actual.
Etapa n xn Estado:
SIS - NPJ
Sn Sn+1

Etapa n+1

NPJ

12

Valor:

fn (Sn , xn)

f*n+1 (s n+1)

CARACTERSTICAS BSICAS DE LOS PROBLEMAS DE P.D.

1. El problema puede dividirse en etapas que requieren una poltica de decisin en cada una de ellas.

2. Cada etapa tiene cierto nmero de estados asociados con su inicio.

4. El procedimiento de solucin est diseado para encontrar una poltica ptima para el problema completo.

3. El efecto de la poltica de decisin en cada etapa es transformar el estado actual en un estado asociado con el inicio de la siguiente etapa.

SIS - NPJ

NPJ

13

CARACTERSTICAS BSICAS DE LOS PROBLEMAS DE P.D.


5. Dado el estado actual, una poltica ptima para las etapas restantes es independiente de la poltica adoptada en etapas anteriores (la decisin inmediata ptima depende slo del estado actual y no de cmo se lleg ah).

6. El procedimiento de solucin se inicia al encontrar la poltica ptima para la ltima etapa.

7. Se dispone de una relacin recursiva que identifica la poltica ptima para la etapa n, dada la poltica ptima para la etapa n+1.

SIS - NPJ

NPJ

14

NOTACION

N = nmero de etapas n = etiqueta para la etapa actual (n = 1,2, ......., N) Sn = estado actual para la etapa n Xn = variable de decisin para la etapa n X*n = valor ptimo de xn (dado Sn)

fn (Sn, xn) = contribucin a la funcin objetivo de las etapas n, n+1, ....., N


f*n (Sn) = fn (Sn, x*n) f*n (Sn) = mnxn (fn (Sn, xn)

SIS - NPJ

NPJ

15

CARACTERSTICAS BSICAS DE LOS PROBLEMAS DE P.D.

8. Cuando se usa la relacin recursiva, el procedimiento de solucin comienza al final y se mueve hacia atrs etapa por etapa encontrando la poltica ptima para esa etapa- hasta que encuentra la poltica ptima desde la etapa inicial.

Para todos los problemas de Programacin dinmica se obtiene una tabla para cada etapa (n = N, N1, ....., 1)

xn Sn

fn (Sn, xn) f*n (Sn) x*n

SIS - NPJ

NPJ

16

NOTACION

N = nmero de etapas n = etiqueta para la etapa actual (n = 1,2, ......., N) Sn = estado actual para la etapa n

Xn = variable de decisin para la etapa n


X*n = valor ptimo de xn (dado Sn) fn (Sn, xn) = contribucin a la funcin objetivo de las etapas n, n+1, ....., N

fn (Sn, xn) = fn(Sn) + f*n+1 (Sn+1)] fn (Sn, xn) = fn(Sn) + f*n+1 (Sn-xn)]

f*n (Sn) = mn o mxxn [fn(Sn) + f*n+1 (Sn-Xn)]

SIS - NPJ

NPJ

17

You might also like