Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejercicios PD
Ejercicios PD
PROGRAMACION DINAMICA.
CASOS PRACTICOS
R. Pintor
Departamento de Ingeniera Industrial
Centro Universitario de Ciencias Exactas e Ingenierias
Universidad de Guadalajara, 44930 Guadalajara, Jalisco, Mxico
E-mail: rpintor@cucei.udg.mx
RESUMEN
Desde los inicios de la Investigacin Operativa, a fines de primera mitad del siglo XX
se han publicado un gran numero de libros acerca del tema. Desafortunadamente la
gran mayora de estos libros son de carcter general, esto es libros de texto los cuales
abarcan las principales tcnicas de Investigacin Operativa (programacin lineal, redes,
teora de colas, procesos markovianos, etc.) y por lo tanto, al tener que abarcar tantos
temas es necesario sacrificar detalles en la explicacin de cada uno de ellos.
Por otra parte, la poca literatura especializada que existe (en Amrica latina) acerca de
Programacin Dinmica, se ha publicado en idiomas extranjeros con modismos
difciles de comprender.
Dentro de la estructura del presente trabajo se ha tratado de dejar a un lado la
sofisticacin matemtica, sin embargo se requiere que el lector tenga conocimientos
bsicos de clculo diferencial e integral, as como buenas bases de teora de
probabilidad.
1. Introduccin
Durante los aos que he impartido clases del tema a los alumnos de Ingeniera
Industrial, he detectado una gran dificultad en la comprensin del tema; Esto se puede
deber a varias razones:
Falta de entendimiento para analizar y comprender situaciones
interrelacionadas entre s.
Deficiente conocimiento de Teora de probabilidad, lgebra y Clculo
Diferencial e Integral.
Escasez de material de apoyo como libros, artculos, casos prcticos.
Es propsito del presente trabajo abordar el tema de una forma sencilla y comprensible.
Existen muchas situaciones en las cuales tomar una decisin afecta una secuencia de
decisiones futuras, cada una de ellas interrelacionada con la anterior, (por ejemplo, las
unidades a producir en una fabrica en el mes de mayo afecta el inventario inicial del
mes de junio, y por lo tanto las unidades a producir ese mes). El analizar por separado
cada una de las decisiones no es un procedimiento que garantice una optimizacin
global de los recursos.
La tcnica matemtica adecuada para atacar este tipo de problemas es la Programacin
Dinmica. Al contrario de la Programacin Lineal no existe una forma estndar para
formular los problemas, sino que es necesario estructurar la funcin objetivo para cada
problema. Por ello es necesario abstraer el significado de los conceptos manejados por
la P.D. para as poder discriminar aquellas situaciones que deben de ser resueltas con
esta tcnicas.
Dado que no existe una frmula general, a continuacin se presentan diversos
problemas con sus respectivas soluciones.
frontera (puntos Bi) hacia el punto D; pero como ya es sabido que los puntos Ai
conducen hacia D, no es necesario efectuar todo el anlisis sino simplemente unir los
puntos Bi con algn Ai (Figura 2.3).
De nuevo, una vez resuelto el problema en esta etapa se ampla la cobertura
del mismo, situndose ahora en el problema original con la diferencia de que ahora se
encuentra con resultados parciales. Esto es, no se buscan rutas de algn Ei a D, sino de
Ei a algn Bi, ya que se conoce de antemano que todos los Bi cuentan con una ruta para
llegar a D (en este caso pasando por algn Ai) (Figura 2.4).
El Proble ma de la ruta.
Un caso tpico grfico para entender mejor los conceptos de la Programacin
Dinmica, es el problema conocido como la ruta. Considrese el caso el caso de un
chofer de un trailer, el cual debe de transportar desde A hasta B, pasando por varias
ciudades en su recorrido (Figura 2.5) .
El seleccionar una ruta tiene asociado un costo el cual puede medirse de
distintas maneras (gastos de operacin, kilmetros, tiempo de recorrido, etc.), por lo que
el objetivo del chofer ser el de seleccionar la ruta con el menor costo total. Para
facilidad de anlisis se han agrupado las doce ciudades localizadas entre los puntos A y
B, en cuatro zonas; de tal manera que las ciudades Z1 , Z2 y Z3 se encuentran en la zona
4, las ciudades Z4 , Z5 y Z6 en la zona 3, etc. (mas adelante se explicar porque las zonas
se enumeran en sentido inverso). Por lo que el chofer necesita realizar 5 decisiones
referentes hacia donde dirigirse:
1)
2)
3)
4)
5)
Zona 5 , , Zona 4 ,
Figura 2.5
, Zona 3 ,
, Zona 2 ,
, Zona 1 ,
Problema de la ruta.
Ruta
Costo
Origen
Z10
Z11
Z12
Z10
Z11
Z12
B
B
B
7
4
5
A donde dirigirse
Costo acumulado para llegar desde ese punto hasta el objetivo B.
Ruta
Z7
Z7
Z7
Z7
Costo
Ruta
Z 10
Z11
Z12
Siguiente
Ciudad
3
8
9
Z10
Z11
Z12
Costo
Acumulado
Siguiente
CD. B
7
4
5
Costo
Total
10
12
14
, Zona 5 , , Zona 4 ,
Figura 2.6
, Zona 3 ,
, Zona 2 ,
, Zona 1 ,
, Zona 5 , , Zona 4 ,
, Zona 5 , , Zona 4 ,
, Zona 3 ,
, Zona 3 ,
, Zona 2 ,
, Zona 2 ,
, Zona 1 ,
, Zona 1 ,
Ciudad
Origen
Costo
Siguiente
Ciudad
Ruta
Ruta
Z8
Z8
Z8
Z8
Z9
Z9
Z9
Z9
Z 10
Z11
Z12
Z 10
Z11
Z12
4
7
5
2
6
5
Z10
Z11
Z12
Z10
Z11
Z12
Costo
Acumulado
Siguiente
CD. B
7
4
5
7
4
5
Costo
Total
11
11
10
9
10
10
Una vez resuelto el problema para esta etapa es necesario pasar a la siguiente
decisin (ampliar el crculo de ciudades del laberinto), esto es, hacia donde dirigirse si
se encontrara el chofer en alguna ciudad de la zona 3. Si se analizan las alternativas
existen nueve rutas distintas para llegar desde Z4 hasta B, sin embargo, slo existen tres
salidas alternativas de Z4 las cuales son de nuestro inters. La forma en como se reduce
el anlisis es apoyarse en los resultados parciales previamente calculados de la siguiente
manera:
Ciudad
Origen
Z4
Ruta
Z4
Z4
Z4
Z7
Z8
Z9
Costo
Total
13
17
14
Esto es, se consideran las tres salidas alternativas con sus costos asociados, as como
los puntos prximos (ciudades dentro de la Zona 2) y los costos acumulados para llegar
hasta el Destino B a partir de esos puntos (sin importar que ruta siguen). El anlisis para
las otras dos ciudades de la zona 3, as como para las tres ciudades de la zona 4 es
similar:
, Zona 5 , , Zona 4 ,
Figura 2.8
, Zona 3 ,
, Zona 2 ,
, Zona 1 ,
Zona 3
Ciudad
Origen
Z5
Z6
Ruta
Z5
Z5
Z5
Z6
Z6
Z6
Z7
Z8
Z9
Z7
Z8
Z9
Costo
Siguiente Costo
Ruta Ciudad
Acumulado
Siguiente
CD. B
8
Z7
10
4
Z8
10
5
Z9
9
5
Z7
10
6
Z8
10
3
Z9
9
Costo
Total
18
14
14
15
16
12
Zona 4
Ciudad
Origen
Z1
Ruta
Z1
Z1
Z1
Z2
Z2
Z2
Z3
Z3
Z3
Z2
Z3
Z4
Z5
Z6
Z4
Z5
Z6
Z4
Z5
Z6
Costo
Ruta
Siguiente
Ciudad
7
5
8
9
8
9
6
7
9
Z4
Z5
Z6
Z4
Z5
Z6
Z4
Z5
Z6
Costo
Acumulado
Siguiente
CD. B
13
14
12
13
14
12
13
14
12
Costo
Total
20
19
20
22
22
21
19
21
21
Como se puede apreciar para efectuar los clculos de una zona; es necesario
auxiliarse de los nmeros siguientes correspondientes a la ciudad nicamente de la zona
anterior.
Por ltimo dentro de la resolucin del problema, se llega al primer punto fsico de
decisin, hacia donde dirigirse dado que se encuentra en A?. Para fines prcticos se
puede considerar que la ciudad A se encuentra localizada en la Zona 5, teniendo:
(Figura 2.9).
, Zona 5 , , Zona 4 ,
Figura 2.9
, Zona 3 ,
, Zona 2 ,
, Zona 1 ,
Solucin.
, Zona 5 , , Zona 4 ,
, Zona 3 ,
, Zona 2 ,
10
, Zona 1 ,
Zona 5
Ciudad
Origen
Ruta
Costo Siguiente
Ruta Ciudad
A Z4
A Z5
A Z6
4
3
5
Z1
Z2
Z3
Costo
Acumulado
Siguiente
CD. B
19
21
19
Costo
Total
23
24
24
11
Por otra parte es importante no olvidar que la P.D. es una tcnica que provee de
resultados parciales. Por ejemplo, si existen variaciones:
31)
Z4
7
Z1
Z5
B
Z6
4
B
Z4
A
9
Z2 8
9
Z5
Z6
81 ALTERN.
Z4
6
Z3
Z5
9
Z6
Estas se pueden incorporar al problema sin perturbaciones mayores, simplemente recalculando las ciudades afectadas, lo cual no se podra realizar si se hubiera atacado el
problema ramificndolo.
12
Principio de optimalidad.
La Programacin Dinmica tiene como base el auxiliarse de resultados
principales, y asumirlos como ptimos. En el ejemplo anterior al evaluar las alternativas
para Z2 , se consideraba que 13, 14 y 12 eran los costos mnimos (ptimos) para
trasladarse hasta B desde ciudades Z4 , Z5 , Z6 respectivamente, y no se cuestionaba ni la
ruta, ni los costos individuales de la misma. Este hecho se resume en el principio de
ptimalidad de Bellman.
Dado que se ha establecido una serie de resultados como las decisiones
ptimas para un estado especfico dentro de una etapa, esa misma serie de resultados
forman en s decisiones ptimas para los futuros estados dentro de las etapas
subsecuentes de esa ruta ptima.
Por ejemplo para el caso de la ruta, si se considera que la ruta ptima a partir
de Z2 es la siguiente:
Z2
Z6
Z9
Z10
13
ETAPA n
ESTADOS
TRANSFORMACIN
ETAPA n 1
ESTADOS
RESULTADO k
14
Etapas (n), igual a las zonas donde se tienen agrupadas ciudades. En cada zona
es necesario efectuar una decisin que corresponde a la ruta prxima inmediata a
seguir.
Estados (z), corresponden a las ciudades a las cuales existen tres posibilidades
para cada zona (Etapa), aunque slo una (o posiblemente varias) estarn
incluidas dentro de la solucin ptima.
Transformacin, aplicada como la suma de los costos; el costo de la ruta
prxima adicionado al costo acumulado de la prxima ciudad en adelante.
Resultado (k), la variable de decisin representa en el problema el Destino o
Ruta a seguir.
15
Si se observa con detenimiento, cuando se fueron evaluando las alternativas para cada
ciudad, lo que realmente se hizo fue seguir la frmula, por ejemplo:
n=3
Estado
Alternativa
Costo Ruta
Siguiente Cd.
Costo Acumulado
Costo Total
Zj
CZj, ZL
ZL
fn-1 (ZL)
fn (ZJ )
Z4
Z4
Z7
Z7
10
13
Z4
Z8
Z8
10
17
Z4
Z8
Z9
14
4. Problemas deterministicos
Problema de Asignacin.
El Sr. Julio Vendetodo, Gerente de Ventas de una compaa que cuenta con tres tiendas,
ha recibido instrucciones por parte de la Direccin de intensificar la labor de ventas y
servicio al cliente para lo cual se le ha autorizado la contratacin de hasta nueve
vendedores extras. Julio debe decidir cuantos vendedores debe de contratar y como
asignarlos a las tres tiendas, para ello elabor una matriz de utilidades esperadas para
cada tienda segn se tengan cierto nmero de vendedores extras (Tabla 4.1). Por
ejemplo, si a la tienda I no se le asigna ningn vendedor extra, ganar 4, en cambio si se
le asignan 2 vendedores extra su ganancia se incrementara en 12 (16 en total).
VENDEDORES EXTRAS
TIENDA
I.
11
16
19
29
19
16
11
-5
II.
14
21
26
29
30
29
26
21
14
III,
15
24
31
36
39
40
39
36
31
16
con los vendedores restantes, (los cules no se sabe cuntos son, por lo que se debe
considerar las posibilidades de que sean desde cero hasta nueve), pasando por la tienda
II repitiendo el proceso; hasta llegar a la tienda I a asignar vendedores.
Primero identifquese los cuatro conceptos bsicos:
Z = Vendedores disponibles.
K = Vendedores a asignar.
Gn (k) = Ganancia en la tienda n con k vendedores
extras asignados (Tabla 1).
Z k = Vendedores disponibles despus de visitar la tienda
n y por lo tanto faltan por visitar n 1 tiendas.
Obsrvese que en esta ocasin se ha acotado la variable de decisin k, no permitindose
asignar ms vendedores que los que se encuentran disponibles en ese momento en la
camioneta (Z). La semilla para este problema es:
fo (Z) = 0
lo que significa que la utilidad a obtener con Z vendedores disponibles, cuando ya no
faltan tiendas por visitar, es igual a cero.
Para resolver el problema de nuevo es necesario partir del destino hacia el origen, por lo
que se debe considerar el momento en que la camioneta llega con Z vendedores
disponibles a la tienda I, y Julio debe decidir cuntos vendedores asignar. Las respuestas
se presentan en la Tabla 4.2, como en la mayora de los problemas de P.D. las
soluciones son directas.
17
Vendedores
Disponibles
Z
0
1
2
3
4
5
6
7
8
9
Gan. Acum.
Posterior
k
GI (k)
Z- k
fo (Z k)
0
4
0
0
1
11
0
0
2
16
0
0
3
13
0
0
4
20
0
0
4
20
1
0
4
20
2
0
4
20
3
0
4
20
4
0
4
20
5
0
Tabla 4.2 Asignacin para la Tienda n = 1
Asignacin
Ganancia
Gan.
Acum.Total
FI (Z)
4
11
16
19
20
20
20
20
20
20
Restan
Asignacin
Ganancia
Restan
Gan. acum.
Posterior
Gan. Acum.
Total
G2 (k)
Z-k
F1 (Z k )
F2 (Z)
11
16
14
18
16
21
14
11
25
21
25
19
24
14
16
30
18
21
11
32
26
30
20
25
14
19
33
21
16
37
26
11
37
29
33
20
25
14
20
34
21
19
40
26
16
42
29
11
40
30
34
20
25
14
20
34
21
20
41
26
19
45
29
16
45
30
11
41
20
25
14
20
34
21
20
41
26
20
46
29
19
48
30
16
46
20
25
14
20
34
21
20
41
26
20
46
29
20
49
30
19
49
20
25
14
20
34
21
20
41
26
20
46
19
29
20
49
30
20
50
Vendedores
disponibles
Asignacin
Ganancia
Restan
Gan. Acum.
Posterior
Gan. Acum.
Total
G3 (k)
Z- k
F2 (Z k)
F3 (Z)
50
54
15
49
64
24
48
72
31
45
76
36
42
78
39
37
76
40
32
72
Tiendas
Vendedores
Disponibles
Vendedores
Asignados
Ganancias
Vendedores
Restantes
III
36
II
26
16
Total
78
20
Pocos son los casos que cuentan con esta caracterstica, especialmente aquellos cuyas
etapas no estn relacionadas con el tiempo.
Transformaciones No Aditivas
Para mostrar al lector un caso en el que la transformacin no es una adicin, considrese
el siguiente problema de asignacin:
La compaa Estrellita del xito se encuentra en el desarrollo de un nuevo tipo de
carchofas. Para poder introducir el producto al mercado lo ms rpido posible, la
compaa dividi el desarrollo del producto en tres etapas:
a) Diseo del producto
b) Diseo del proceso
c) Comercializacin
Cada una de estas etapas trabaja independientemente de las otras. Para que las nuevas
carchofas sean un xito es necesario que cada una de las etapas individuales sean un
xito. La compaa cuenta actualmente con un presupuesto que le permite contratar
hasta 3 profesionistas, sin embargo, el problema consiste en como debern asignarse a
las tres etapas (asuma que no se pueden asignar parcialmente).
Para resolver este problema la Gerencia de Investigacin y Desarrollo elabor la
siguiente tabla de probabilidades de falla (no xito).
Profesionales
Etapas
Asignados
0.40
0.30
0.20
0.30
0.22
0.15
0.22
0.15
0.13
0.18
0.14
0.08
21
necesario que las tres etapas individuales sea un xito. La probabilidad de que el
proyecto sea un xito est dada por las multiplicaciones de las probabilidades de xito
individuales de cada etapa.
P (xito Total) = P (xito A) x p (xito B) x P (xito C)
Por lo que la funcin objetivo a maximizar es:
fn (Z)
= Mx Pn (k) x fn-1 (Z k)
0
fn (Z)
Pn (k)
= C1 X1 + C2 X2 + ...+ Cn Xn
A1 X1 + A2 X2 + ... + An Xn
Xi = entera i= 1, 2, ..., n
22
En donde:
Xi
Ci
Ai
b
=
=
=
=
Fn (Z)
K
Wn
Vn
||x||
Fo (Z)
=
=
=
=
=
23
N
Wn
Vn
Z
=
=
=
=
Artculos (A, B, C y D)
40, 30 15 y 8 respectivamente
40, 25, 10 y 5 respectivamente
Capacidad mxima de carga del trailer igual a 100
Como en los anteriores problemas, analizar la ltima etapa es muy sencillo, ya que no es
necesario considerar los distintos estados alternativos puesto que el estado alternativo
inicial es conocido. Para el problema en cuestin, ste corresponde a 100 kg.
disponibles, por lo que:
Z
100
k
0
1
K(5)
0
5
K(8) F3 (Z-8k)
0
90
8
80
F4 (Z)
90
85
Kilogramos Carga
Valor
Carga
Utilidad
Disponibles Asignada Carga Consumida Posterior
Z
k
k (40)
k (40)
fo (Z 40k)
100
2
80
80
0
95
2
80
80
0
90
2
80
80
0
85
2
80
80
0
80
2
80
80
0
24
Utilidad
Acumulada
f1 (Z)
80
80
80
80
80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
40
40
40
40
40
40
40
40
0
0
0
0
0
0
0
0
40
40
40
40
40
40
40
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
40
40
40
40
40
40
40
0
0
0
0
0
0
0
0
95
90
85
80
75
70
65
60
55
Carga
Asignada
k
0
1
2
0
1
2
0
1
2
0
1
2
0
1
2
0
1
2
0
1
2
0
1
2
0
1
2
0
Valor
Carga
k (40)
0
25
50
0
25
50
0
25
50
0
25
50
0
25
50
0
25
50
0
25
50
0
25
50
0
25
50
0
Carga
Consumida
k (40)
0
30
60
0
30
60
0
30
60
0
30
60
0
30
60
0
30
60
0
30
60
0
30
60
0
30
60
0
25
Utilidad
Posterior
fo (Z 40k)
80
40
40
80
40
0
80
40
0
80
40
0
80
40
0
40
40
0
40
40
0
40
0
0
40
0
0
40
Utilidad
Acumulada
f1 (Z)
80
65
90
80
65
50
80
65
50
80
65
50
80
65
50
40
65
50
40
65
50
40
25
50
40
25
50
40
50
45
40
35
30
25
20
15
10
5
0
Kilogramos
Disponibles
Z
100
95
90
85
80
75
70
65
60
55
50
45
40
35
1
25
30
0
0
0
0
40
1
25
30
0
0
0
0
40
1
25
30
0
0
0
0
0
1
25
30
0
0
0
0
0
1
25
30
0
0
0
0
0
1
25
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Tabla 4.6 Solucin Etapa n = 2 (Artculo B)
Carga
Asignada
k
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
Valor
Carga
k (40)
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
10
0
25
40
25
40
25
40
25
0
25
0
25
0
0
0
0
0
0
Carga
Utilidad
Utilidad
Consumida Posterior
Acumulada
k (40)
fo (Z 40k)
f1 (Z)
0
90
90
15
80
90
0
80
80
15
80
90
0
80
80
15
65
75
0
80
80
15
65
75
0
80
80
15
50
60
0
65
65
15
50
60
0
65
65
15
40
50
0
50
50
15
40
50
0
50
50
15
40
50
0
40
40
15
40
50
0
40
40
15
25
35
0
40
40
15
25
35
0
40
40
15
0
10
0
25
25
26
30
25
20
15
10
5
0
1
0
1
0
1
0
1
0
1
0
0
0
10
0
10
0
10
0
10
0
10
0
0
0
15
0
15
0
15
0
15
0
15
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
10
25
0
0
10
0
10
0
10
0
0
0
D
0
0
C
0
1
B
2
0
A
1
2
Ambas soluciones tienen asociado un valor total de carga de 90, con la diferencia que la
primera solucin agota totalmente los 100 kgs. disponibles, mientras que la segunda
slo consume 95 kgs.
El problema del empaque se puede complicar si se agrega una restriccin, por ejemplo
mximo volumen de carga. En este caso el problema de la dimensionalidad se presenta,
ya que es necesario definir la funcin objetivo no slo en trminos de los kgs.
disponibles, sino tambin en los metros cbicos disponibles. Esto ocasiona que en vez
de trabajar con matrices de segundo orden para cada etapa, es necesario agregar una
dimensin. Una manera de solucionar este problema es por medio de multiplicadores de
Lagrange, sin embargo, debido a que su aplicacin es limitada y no siempre se
presentan las condiciones favorables para su uso, no se tratarn.
27
Dedicatoria.
Esta presentacin se las dedico a mi esposa Maria Esther Bravo Ziga , y a mis
hijos, Rafael, y Ricardo Gonzlez Bravo. Por todo su apoyo y comprensin durante el
desarrollo de esta investigacin.
28