Está en la página 1de 6

CAPITULO Nº 2

PROGRAMACION DINAMICA

2.1 INTRODUCCION Y CONCEPTO. - Es una técnica de la investigación operativa que


trata de resolver dividiendo al problema en etapas. Está basado bajo el principio de optimidad
de Bellman que dice: para cada etapa debemos encontrar un resultado óptimo y la solución
del problema es una combinación de las soluciones parciales de cada una de las etapas.
El propósito de esta técnica es investigar la trayectoria óptima de un móvil que se mantiene
en contacto con una superficie.

1
2
3

4 S

Trayectoria optima Trayectoria no optima


La programación dinámica convierte el proceso de optimización multivariable en una serie
de problemas interrelacionados con pocas variables cada uno. Esto quiere decir, que se puede
aplicar a cualquier problema que se pueda descomponer en una serie de etapas.

2.2 EL PRINCIPIO MATEMATICO DE DESCOMPOSICION. -

So = Estado inicial del problema


sea Sn = Estado final del problema
Fn = Función que gobierna la transformación

El problema en una etapa será:

So Fn Sn Sn = Fn(So)

Dividiendo al problema en dos etapas tendremos:

So Sn-1 Sn
Fn-1 Fn
Sn = Fn (Sn-1)
Sn-1 = Fn-1(So)
Sn = Fn (Fn-1(So))
Dividiendo al problema en tres etapas tendremos:

So Sn-2 Sn-1 Sn
Fn-2 Fn-1 Fn
Sn = Fn (Sn-1)
Sn-1 = Fn-1(Sn-2)
Sn-2 = Fn-2(So)
Sn = Fn (Fn-1(Fn-2(So)))

Generalizando el problema se tiene:

So S1 S2 Sn-2 Sn-1 Sn
F1 F2 ....................... Fn-1 Fn

Sn = Fn (Sn-1)
Sn-1 = Fn-1(Sn-2)
.... .................
.... .................
S2 = F2(S1)
S2 = F1(So)
Sn = Fn (Fn-1(.......F2(F1(So))))

Esta ecuación muestra que Sn está ligada a So a través de una serie de funciones Fn conocidas.

2.3 EL PROBLEMA DECISIONAL EN LA P.D. - Si para una etapa k cualquiera se define


que: dk

Sk-1 Fk, Gk Sk

Rk
Donde:
 Sk-1: Es la variable de estado correspondiente a la información del sistema, antes de que
se tome una decisión.
 Sk: Es la variable de estado correspondiente a la información del sistema, después que se
ha tomado una decisión.
 dk: Es la variable de decisión que indica el curso de acción a seguir y que sea congruente
con los objetivos del sistema.
 Fk: Es la función y/o transformación que relaciona la salida S k con la entrada Sk-1 y la
decisión dk.
 Rk: Es la función eficiencia, efectividad y/o retorno de la etapa k. Esta puede ser positiva
en el caso de maximizar o negativa en el caso de minimizar.
Después de estas definiciones se puede decir que la salida del sistema estará dada por:
Sk = Fk (Sk-1, dk)
Involucran a la entrada Sk-1 y a la decisión dk
Rk = Gk(Sk-1, dk)
Ahora planteando al problema en un proceso multiétapico y multidecisional se tiene:

d1 d2 dk dn-1 dn

So S1 S2 Sk-1 Sk Sn-2 Sn-1 Sn


F1 F2 ............. Fk .......... Fn-1 Fn

R1 R2 Rk Rn-1 Rn

Sn = Fn (Sn-1, dn) Rn = Gk (Sn-1, dn)


Sn-1 = Fn-1(Sn-2,dn-1) Rn-1 = Gn-1(Sn-2,dn-1)
............................... ................................
............................... ................................
Sk = Fk (Sk-1, dk) Rk = Gk (Sk-1, dk)
............................... ................................
............................... ................................
S2 = F2 (S1, d2) R2 = G2 (S1, d2)
S1 = F1 (So, d1) R1 = G1 (So, d1)

Sn = Fn (Fn-1(.......Fk........... (F2 (F1 (So, d1) d2)....... dk)....... dn-1)dn)


Rn = Gn (Gn-1(.......Gk........... (G2 (G1 (So, d1) d2)....... dk)....... dn-1)dn)

Sn = Fn (So, d1,d2,....... dk...... dn-1,dn)


Rn = Gn (So, d1,d2,....... dk...... dn-1,dn)

Estas expresiones indican tanto la salida Sn del sistema como la efectividad Rn dependen solo
de la entrada So y de las decisiones parciales que se vayan tomando en cada etapa.
Dentro la programación dinámica se pueden plantear los problemas de adelante hacia atrás
es decir de So a Sn como de atrás hacia adelante de Sn a So.

Planteamiento de Sn a So

d1 d2 dk dn-1 dn

Sn Sn-1 Sn-2 Sk Sk-1 S2 S1 So


F1 F2 ............. Fk .......... Fn-1 Fn

Rn Rn-1 Rk R2 R1

So = F1 (S1, d1) R1= G1 (S1, d1)


S1 = F2 (S2,d2) R2 = G2 (S2,d2)
....................... .......................
....................... .......................
Sk-1 = Fk (Sk,dk) Rk-1 = Gk (Sk,dk)
....................... .......................
....................... .......................
Sn-2 = Fn-1(Sn-1,dn-1) Rn-1 = Gn-1(Sn-1,dn-1)
Sn-1 = Fn(Sn,dn) Rn = Gn(Sn,dn)
Por lo tanto, se tiene la siguiente expresión:

So = Fn(Sn,dn,dn-1........, dk........... ,d2, d1)


R1 = Gn(Sn,dn,dn-1........, dk........... ,d2, d1)

2.4 FORMULACION MATEMATICA DEL MODELO DE P.D.- El modelo de


programación dinámica tiene como propósito encontrar las decisiones d 1, d2,.......... dn que
optimizan las funciones retorno R1, R2................. Rn para ello tomamos en cuenta dos tipos de
planteamiento del problema.

1) Problemas de adelante hacia atrás So a Sn

f.o: Fn* (So) = Opt.  R1,R2................. Rn


d1,d2,.......... dn
s.a. Sk = Fk (Sk-1,dk)

2) Problemas de atrás hacia adelante Sn a So

f.o: Fn* (Sn) = Opt.  Rn,Rn-1,............R1


dn,dn-1,.......... d1
s.a. Sk-1 = Fk (Sk,dk)

2.5 FUNCION RECURSIVA.-

1) De So a Sn
fn* (So) = Opt.  Rk + Fk-1*( Sk-1,dk)
d1,d2,.......... dn
2) De Sn a So
fn* (Sk) = Opt.  Rk + Fk-1*( Sk,dk)
dn,dn-1,.......... d1

2.6 APLICACIONES DE LA PROGRAMACION DINAMICA. -

2.6.1 EL PROBLEMA DE LA RUTA MAS CORTA(REDES).-

Para empezar a resolver el problema de la ruta más corta debemos seguir los siguientes pasos:

 La grafica de la ruta más corta se debe dividir en las etapas correspondientes al


gráfico, donde exista al lado izquierdo y derecho de las divisiones nodos o puntos
 Una vez dividido el grafico debemos plantear el problema de adelante hacia atrás o
bien en sentido contrario.
 Se debe dibujar el diagrama de etapas con sus respectivos elementos de cada etapa
 Mostrar las expresiones correspondientes a las funciones de transición y recursiva
 Proceder con el llenado de las tablas a partir del uso de las funciones de transición y
recursiva

Ejemplo. - Se trata de distribuir un producto de la ciudad A a la ciudad M pasando por los


puntos intermedios K, T, L,.........,B. Las distancias en kilómetros, se las muestra en le figura
a continuación y se trata de minimizar la distancia total, hallando la ruta más corta entre A y
M.

L 12 T
16
15 17
14
A 16 K 17 R 16 M
14
14 19
11 24
J B
k=3 k=2 k=1

Para resolver el ejercicio planteamos este problema de Sn a So.

d3 d2 d1
S3 S2 S1 So
F3 F2 F1

R3 R2 R1

Planteamos las dos funciones


a) Función de transición Ft: Sk = d k
b) Función Recursiva Fr: fk* = Rk + fk-1*

Donde:
 Sk: Representa en que nodo k me encuentro, es decir en qué punto estoy
ubicado
 d k: Donde decido llegar, es decir a que punto llego
 Rk: Que distancia se recorre entre los nodos
 fk-1*: Cual es la distancia óptima recorrida en la etapa anterior ósea etapa k-1
 fk*: Cual es la distancia óptima recorrida en la etapa de análisis ósea k
Para k=1
Siempre en la primera etapa 1, el óptimo de esa etapa está dada por el retorno de esa etapa,
ahora vamos utilizando las dos funciones la de transición y la recursiva.
0
f1* = R1 + fo*
f1* = R1
d1 M f1* d1*
S1
T 17 17 M
R 16 16 M
B 19 19 M

Para k=2
En esta etapa la función recursiva será el retorno de la etapa más el óptimo de la etapa
anterior.
f2(Sk,dk) = R2 + f1*
f2(L,T) = 12 + 17 = 29 f2(K,T) = 14 + 17 = 31 f2(J,T) = No existe ruta
f2(L,R) = 16 + 16 = 32 f2(K,R) = 17 + 16 = 33 f2(J,R) = 11 + 16 = 27
f2(L,B) = No existe ruta f2(K,B) = 14 + 19 = 33 f2(J,B) = 24 + 19 = 43

d2 T R B f2* d2*
S2
L 29 32 - 29 T
K 31 33 33 31 T
J - 27 43 27 R

Para k=3

f3(Sk,dk) = R3 + f2*
f3(A,L) = 15 + 29 = 44
f3(A,K) = 16 + 31 = 47
f3(A,J) = 14 + 27 = 41
d3 L K J f3* d3*
S3
A 44 47 41 41 J
La ruta más corta está
14 11 16 dada por los nodos: A, J,
A J R M = 41 RyM

La ruta más corta es de 41m, km, yardas,…etc.

También podría gustarte