Programacion Dinamica

También podría gustarte

Está en la página 1de 24

23/04/2013

Programacin Dinmica

Carlos Agreda, Ph.D

Programacin Dinmica
Introduccin
Tambin, llamada programacin de etapas
mltiples, La P.D. es otra de las tcnicas de la
investigacin de operaciones que ofrece
grandes ventajas en la solucin de mltiples
problemas, del mundo industrial moderno.
La PD resuelve problemas en etapas, en cada
etapa interviene una variable de optimizacin.
Los clculos en las diferentes etapas se
enlazan a travs de clculos recursivos de
manera que se genere una solucin optima
factible a todo el problema.
Carlos Agreda, Ph.D

23/04/2013

Por ejemplo si hubiera problemas en la


perforacin del macizo rocoso, se debe
encontrar el origen del problemas, analizando
cada sub etapa.

Carlos Agreda, Ph.D

La eficiencia de este modelo consiste en


resolver los sub-problemas una sola vez,
guardando sus soluciones en una tabla para su
futura utilizacin.
La P.D. no slo tiene sentido aplicarla por
razones de eficiencia, sino porque adems
presenta un mtodo capaz de resolver de
manera eficiente problemas cuya solucin ha
sido abordada por otros modelos y ha fracasado.
Donde tiene mayor aplicacin la P.D. es en la
resolucin de problemas de optimizacin. En
este tipo de problemas se pueden presentar
distintas soluciones, cada una con un valor, y lo
que se desea es encontrar la solucin de valor
ptimo.
Carlos Agreda, Ph.D

23/04/2013

Carlos Agreda, Ph.D

Para que un problema pueda ser abordado por


este modelo ha de cumplir dos condiciones:
i.

La solucin al problema ha de ser


alcanzada a travs de una secuencia de
decisiones, una en cada etapa.
ii. Dicha secuencia de decisiones ha de
cumplir el principio de ptimo.

Carlos Agreda, Ph.D

23/04/2013

Diagrama conceptual mostrando la solucin de un


problema aplicando P.D para obtener la ruta optima.
2

5
8

10
9

7
Carlos Agreda, Ph.D

El diseo de un algoritmo de P.D consta de los


siguientes pasos:
1. Planteamiento de la solucin como una
sucesin de decisiones y verificacin de que
sta cumple el principio de ptimo.
2. Definicin recursiva de la solucin.
3. Clculo del valor de la solucin ptima
mediante una tabla en donde se almacenan
soluciones a problemas parciales para
reutilizar los clculos.
4. Construccin de la solucin ptima haciendo
uso de la informacin contenida en la tabla
anterior.
Carlos Agreda, Ph.D

23/04/2013

Programacin Dinmica

Definicin.
Puede definirse como un modelo matemtico
de optimizacin usada para hacer una serie de
decisiones Inter.-relacionadas. Normalmente
un proceso de decisin multi-etapico, es
transformado en una serie de procesos de
decisin constituidos cada uno por una sola
etapa.

Carlos Agreda, Ph.D

P. D comienza con una


pequea porcin del
problema planteado
Gradualmente se
ensancha el problema
encontrando la solucin
optima para la etapa
presente
1

Carlos Agreda, Ph.D

10

23/04/2013

En otras palabras LA PROGRAMACION


DINAMICA comienza con una pequea
porcin del problema planteado y encuentra la
solucin ptima, para esta pequea porcin.
Gradualmente se ensancha el problema
encontrando la solucin optima para la etapa
presente, partiendo de la anterior, hasta que el
problema original sea totalmente resuelto,
usando el principio de optimidad.

Carlos Agreda, Ph.D

11

Conceptos matemticos bsicos de la


programacin dinmica.

Teorema de optimalidad dinmica.


BELLMAN: Enuncio el siguiente teorema de
optimalidad: Una poltica es optima si en un
periodo o etapa dada, cualquiera que sean las
decisiones precedentes que queden por tomar,
constituyen una poltica optima teniendo en
cuenta los resultados de las decisiones
precedentes (De atrs hacia delante).
Bellman, 1957 dice: En una secuencia de
decisiones ptimas toda sub-secuencia de ser
tambin ptima.
Carlos Agreda, Ph.D

12

23/04/2013

El dual correspondiente.
Bhavanani y Chen: Enunciaron el dual
correspondiente al teorema anterior y este es
como sigue: Una poltica optima tiene la
propiedad de que cualquiera que sean los
estados y decisiones siguientes; las decisiones
precedentes deben constituir una poltica
optima con respecto al estado que sigue a la
ultima decisin (De adelante hacia atrs).

Carlos Agreda, Ph.D

13

Caractersticas de los problemas de


programacin dinmica.
Las principales caractersticas de los
problemas de la Programacin Dinmica entre
otros, se muestran a continuacin:

Carlos Agreda, Ph.D

14

23/04/2013

Los problemas pueden ser divididos en


etapas con una poltica de decisin, requerida
en cada etapa.

Carlos Agreda, Ph.D

15

Cada etapa tiene un nmero de estados


asociados con esta.

Carlos Agreda, Ph.D

16

23/04/2013

El efecto de la poltica de decisin en cada


etapa, es el de transformar el estado actual a
otro estado asociado con la etapa siguiente
(posiblemente de acuerdo a una distribucin de
probabilidad).

Carlos Agreda, Ph.D

17

Dado un estado actual, una poltica optima


para las etapas restantes, es independiente
de la poltica adoptada en las etapas previas.
El procedimiento de solucin comienza
encontrando la poltica ptima para cada
estado de la ltima etapa.
Existe una formula recursiva que identifica la
poltica optima para cada estado en la etapa
n; dada la poltica optima para cada estado en
la etapa (n + 1).

Carlos Agreda, Ph.D

18

23/04/2013

Usando
esta
relacin
recursiva,
el
procedimiento de solucin se mueve hacia
atrs etapa por etapa; encontrando cada vez
la poltica ptima para cada estado en cada
etapa hasta que se encuentre la poltica
optima para la etapa inicial.
Finalmente, se podra decir que para resolver
los problemas de programacin dinmica se
deben contestar las siguientes preguntas:

Carlos Agreda, Ph.D

19

i. Cules son las variables de decisin?


ii. Cual es la funcin objetivo para la
determinacin de una poltica optima?
iii.Cules son las variables de estado en un
instante dado?
iv.Cul ser la incidencia de las restricciones
en la funcin objetivo y en los valores de las
variables de decisin?

Carlos Agreda, Ph.D

20

10

23/04/2013

CLASIFICACION DE LA PROGRAMACION
DINAMICA

DETERMINISTICA

PROBABILISTICA

Carlos Agreda, Ph.D

21

Programacin dinmica determinstica.


En los problemas de Programacin Dinmica
Determinsticos El estado en la etapa
siguiente ser completamente determinado por
el estado y la poltica de decisin en la etapa
presente o actual.
En general un problema de Programacin
Dinmica Determinstico puede ser descrito
diagramticamente como se muestra en la
figura 1. En donde la etapa n el proceso estar
en algn estado Sn; si se toma una poltica de
decisin Xn, entonces el proceso pasara a un
estado Sn + 1 en la etapa (n + 1).
Carlos Agreda, Ph.D

22

11

23/04/2013

Tomando como base este punto el valor de la


funcin objetivo para la poltica de decisin ha
sido calculado previamente y este es el
siguiente:

f n*1 S n 1

La variable de decisin Xn tambin har


alguna contribucin a la funcin objetivo.
Combinando estas dos cantidades de una
manera adecuada se obtendr el valor de la
funcin objetivo siguiente n (Sn, Xn)
comenzando en la etapa n.
Carlos Agreda, Ph.D

23

Por otro lado, minimizando con respecto a Xn


se obtendr la siguiente relacin matemtica:

f n* S n f n S n , X n*

Y despus de hacer esto, para cada valor


posible de Sn, el procedimiento de solucin
estar listo para retroceder una etapa.

Carlos Agreda, Ph.D

24

12

23/04/2013

Etapa n

Etapa (n + 1)
Sn

n (Sn, Xn)

Contribucin de Xn

Sn+1
*n+1(Sn +1)

Figura 1: Estructura bsica para


programacin Dinmica Determinstica.

la

Carlos Agreda, Ph.D

25

Programacin dinmica probabilstica


Esta difiere de la deterministica en que en la
primera el estado en la etapa siguiente no esta
completamente determinado por el estado y la
poltica de decisin en la etapa presente o
actual. Por el contrario, habr una distribucin
de probabilidad para determinar cual ser el
siguiente estado.
Sin embargo, esta distribucin de probabilidad
todava ser completamente determinada por el
estado y la poltica de decisin en la etapa
presente o actual.
Carlos Agreda, Ph.D

26

13

23/04/2013

La estructura bsica para la programacin


dinmica
probabilstica,
se
muestra
diagramaticalmente en la figura 2, donde N
denota el numero de posibles estados en la
etapa (n + 1); (P1, P2,.. PN) es la distribucin
de probabilidad de lo que el estado ser, dados
el estado Sn y la variable de decisin Xn en la
etapa n y C es la contribucin resultante a la
funcin objetivo de la etapa n, si el estado
resulta ser estado .
Cuando la figura mostrada es expandida para
incluir a todos los posibles estados y variables
de decisin en todas las etapas; a veces esta
es llamada un rbol de decisin.
Carlos Agreda, Ph.D

27

Si, el rbol de decisin no es muy grande, este


provee una manera muy til para sumarizar las
varias posibilidades que podran ocurrir.
Por otro lado, debido a la estructura
probabilstica de la programacin dinmica, la
relacin entre n (Sn, Xn) y *n+1 (Sn+1)
necesariamente es mas complicada que para la
programacin dinmica deterministica.
La forma precisa de esta relacin depender de
la forma total que abarque la funcin objetivo.

Carlos Agreda, Ph.D

28

14

23/04/2013

Para clarificar conceptos, asumiendo que el


objetivo sea minimizar la suma esperada de las
contribuciones de las etapas individuales.
En este caso n (Sn, Xn) representara la suma
mnima esperada de la etapa n hacia delante
dados que el estado, y la poltica de decisin
en la etapa n sern Sn y Xn respectivamente.

Carlos Agreda, Ph.D

29

Consecuentemente se tendr lo siguiente:

f n S n , X n Pi C i f n*1 i , con
i 1

f n*1 S n 1 MIN f n 1 S n 1 , X n 1
X n 1

Donde esta minimizacin es tomada en base a los


valores factibles de Xn+1.
30

Carlos Agreda, Ph.D

15

23/04/2013

Contribucin
de la etapa n

Etapa (n+1)
Sn+1

C1

*n+1 (1)
Probabilidad
Etapa n

Sn

Estado

P1

Decisin

Xn

P3

n (Sn, Xn)

C2

P2

*n+1

(2)
.
.

C3

3
*n+1 (3)

Figura 2: Estructura bsica para la


Programacin Dinmica Probabilstica.
Carlos Agreda, Ph.D

31

Formulacin general de un problema de


programacin dinmica.
XN

SN

XN-1

SN-1

N-1

Sn

Xn

Xn-1

Sn-1

n-1

X0

S0

0
S0

RN

RN-1

Rn

Rn-1

R0

Figura 3: Estructura bsica para la formulacin general de un


problema de programacin dinmica.
Carlos Agreda, Ph.D

32

16

23/04/2013

Identificacin de variables.
Para visualizar mejor los conceptos se debe
llevar a cabo la siguiente identificacin de
variables:
SN = Variable de estado al inicio de la etapa N
XN = Variable de decisin de la etapa N
RN (SN, XN) = Funcin de la utilidad de la
etapa N, siendo el estado inicial SN y la
variable de decisin Xn.
SN -1 = TN (SN, XN) = Funcin de la
transformacin del estado. Determinara que el
estado del proceso al iniciar la siguiente etapa
(N-1) es una funcin de SN y XN.
Carlos Agreda, Ph.D

33

n (SN) = Representa la utilidad de todas las


etapas trabajando en forma optima.
QN (SN, XN) = Representa la utilidad de todas
las etapas restantes trabajando de la mejor
manera, a excepcin de la etapa presente o
actual.

Carlos Agreda, Ph.D

34

17

23/04/2013

Anlisis y discusin de un problema general de


programacin dinmica etapa por etapa.
Para la etapa 0
Q0 (S0, X0) = R0 (S0, X0)

f o S 0 MAX Q0 S 0 , X 0 MAX R0 S 0 , X 0
X0

X0

Para la etapa 1:
Q1 (S1, X1) = R1 (S1, X1) + 0 (S0)
Q1 (S1, X1) = R1 (S1, X1) + 0 [h (X1, X1)]

f1 S1 MAX Q1 S1 , X 1 MAX R1 S1 , X 1 f 0 h S1 , X 1
X1

X1

35

Carlos Agreda, Ph.D

Para la etapa n

f n S n MAX R n S n , X n f n 1 h S n , X n
Xn

De tal manera que se maximiza en base a Xn, el valor


que se tiene de Rn y de n-1 respectivamente.

Carlos Agreda, Ph.D

36

18

23/04/2013

Example 1
Una empresa minera desea instalar un sistema
de fajas transportadoras para llevar el mineral
desde
la
bocamina
hasta
la
planta
concentradora (que se encuentra distante). Esto
ser hecho sobre 5 diferentes fajas.
Se planea construir cuatro estaciones de
transferencia, para cada una de las cuales hay
disponibles diferentes lugares alternativos a lo
largo de la ruta planeada.
El costo de las rutas y el de cada estacin se da
en el siguiente diagrama.
Carlos Agreda, Ph.D

37

Diagrama
Conceptual
mostrando las
posibles alternativas
para solucionar el
problema.
Carlos Agreda, Ph.D

38

19

23/04/2013

ESTACION 1

ESTACION 2
30

A
5

40

10

MINA

20

B
8

15

D
10

E
8

32

20

G
15

PLANTA

20
30

25

18
C
10

15

F
12

Carlos Agreda, Ph.D

39

Se pide:
i. Encontrar el costo mnimo de la instalacin
de las fajas transportadoras.
ii. Discutir los resultados desde un punto de
vista tcnico-econmico-ecolgico.

Carlos Agreda, Ph.D

40

20

23/04/2013

Solucin
ETAPA 4

ETAPA 3

ETAPA 2
30

40

10

ETAPA 1

32

10

98
BOC
A
MINA

20

15

30

20

E
20

100

15

25

18

10

15

12

Carlos Agreda, Ph.D

X4

S4

X3

X2

S3

R4

X1

S2

S1

R3

41

R2

S0

R1

S0 = X1

*(S

0)

= 15

Es un problema de minimizacin de costos


Carlos Agreda, Ph.D

42

21

23/04/2013

Etapa 1.

X1
S1

S0 = X1

S0 = 0

R1
G
S1

X1

R1 (S1, X1) +

(S0)

*0

*1 (S )
1

X*1

32 + 15

= 47

47

20 + 15

= 35

35

25 + 15

= 40

40

Carlos Agreda, Ph.D

Etapa 2.

43

X2
S2

S1 = X2

S1

R2

X2
S2

E
R2 (S2, X2) +

30+10+47 = 87

15+10+47 = 72

F
*1

(S1)

*2

40+8+35 =83

18+8+35 = 61

(S 2)

X*2

83

20+12+40 = 72

72

D, F

15+12+40 = 67

61

Carlos Agreda, Ph.D

44

22

23/04/2013

Etapa 3.

X3
S3

S2 = X3

S2

R3

X3
S3

R3 (S3, X3) +

* (S 2)

*3 (S 3)

X*3

98

BOCA
MINA

10+ 5+ 83 = 98

20+ 8+72 = 100

30+10+61 =101

Carlos Agreda, Ph.D

45

Etapa 4.
X4
S4
LABOR

BOCA MINA

4 (S4, X4 ) + *3 (S3)
0 + 98 = 98

X *4
MINA

Ruta: 0 + 10 + 5 + 40 + 8 + 20 + 15 = 98
Boca mina AEG (Solution) to the problem.
Carlos Agreda, Ph.D

46

23

23/04/2013

Perseguir las metas del ego es como disparar flechas venenosas a


un blanco, sin darnos cuenta de que el blanco se encuentra en
nuestra propia espalda

Carlos Agreda, Ph. D


Profesor
Carlos Agreda, Ph.D

47

24

También podría gustarte