Documentos de Académico
Documentos de Profesional
Documentos de Cultura
-PROGRAMACIN DINMICA
La programacin dinmica es una tcnica matemtica que se utiliza para
la solucin de problemas matemticos seleccionados, en los cuales se toma
una serie de decisiones en forma secuencial.
Proporciona un procedimiento sistemtico para encontrar la combinacin
de decisiones que maximice la efectividad total, al descomponer el problema en
etapas, las que pueden ser completadas por una o ms formas (estados), y
enlazando cada etapa a travs de clculos recursivos.
La programacin dinmica es un enfoque general para la solucin de
problemas en los que es necesario tomar decisiones en etapas sucesivas. Las
decisiones tomadas en una etapa condicionan la evolucin futura del sistema,
afectando a las situaciones en las que el sistema se encontrar en el futuro
(denominadas estados), y a las decisiones que se plantearn en el futuro.
La programacin dinmica parte de una pequea porcin del problema y
llega a la solucin ptima para esa pequea parte del problema, entonces
gradualmente se agranda el problema hallando la solucin ptima en curso a
partir de la anterior. Este proceso se repite hasta obtener la solucin ptima
del problema original.
El problema de la diligencia es un prototipo literal de los problemas de
programacin dinmica. Por tanto una manera de reconocer una situacin que
se puede formular como un problema de programacin dinmica es poder
identificar una estructura anloga a la del problema de la diligencia.
Caractersticas bsicas.
1.- El problema se puede dividir 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. Los
estados son las distintas condiciones posibles en las que se puede encontrar el
sistema en cada etapa del problema.
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.
4.- El procedimiento de solucin est diseado para encontrar una poltica
ptima para el problema completo.
5.- Dado el estado actual, una poltica ptima para las etapas restantes es
independiente de la poltica adoptada en etapas anteriores. Este es el principio
de optimalidad para programacin dinmica.
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. La forma precisa de relacin
recursiva difiere de un problema a otro de programacin dinmica, pero
usaremos una notacin anloga a la siguiente:
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
xn* = valor ptimo de xn (dado sn)
fn(sn,xn) = contribucin a la funcin objetivo de las etapas n, n+1,...,N, si el
sistema se encuentra en el estado sn en la etapa n, la decisin inmediata es xn
y en adelante se toman decisiones ptimas. fn*(sn) = fn(sn,xn*) La relacin
recursiva siempre tendr la forma: fn*(sn) = mn fn(sn,xn) fn*(sn) = max
fn(sn,xn)
8.- Cuando se usa esta relacin recursiva, el procedimiento de solucin
comienza al final y se mueve hacia atrs etapa por etapa, hasta que encuentra
la poltica ptima desde la etapa inicial.
Procedimiento de solucin.
1. Se construye una relacin recursiva que identifica la poltica ptima para
cada estado en la etapa n, dada la solucin ptima para cada estado en la
etapa n + l.
2. Se encuentra la decisin ptima en la ltima etapa de acuerdo a la poltica
de decisin establecida. Comnmente la solucin de esta ltima etapa es
trivial, es decir, sin ningn mtodo establecido, tomando en cuenta solamente
la "contribucin" de la ltima etapa.
3. La idea bsica detrs de la relacin recursiva es trabajar "hacia atrs",
preguntndose en cada etapa: qu efecto total tendra en el problema si tomo
una decisin particular en esta etapa y acto ptimamente en todas las etapas
siguientes?
destino conocidos, pero tiene mltiples opciones para viajar a travs del
territorio. Se entera de la posibilidad de adquirir seguro de vida como pasajero
de la diligencia.
El costo de la pliza estndar (cij ) se muestra en la tabla siguiente.
\ - y
-\V
C
A
4
C
3
4
G
6
4
1
6
4
3
3
El problema de la mochila.
Sean n objetos no fraccionables de pesos pi y beneficios bi. El peso
mximo que puede llevar la mochila es C. Queremos llenar la mochila con
objetos, tal que se maximice el beneficio.
Los pasos que vamos a seguir son los siguientes:
Contribucin al objetivo
f (S ,X )
C (X )
f
EN PROGRAMACIN
DINMICA
La programacin dinmica tradicional permite obtener las trayectorias
ptimas de control para procesos no lineales, variantes, con cualquier tipo de
funcional o ndice de desempeo y con restricciones en las variables. Los
algoritmos pueden ser programados en cualquier sistema de cmputo digital
ampliamente disponibles en la actualidad. La aplicacin de estos algoritmos a
sistemas continuos exige la discretizacin de las ecuaciones diferenciales que
modelan el proceso o sistema, as como la cuantificacin de las variables de
estado, de las variables de decisin o control y del tiempo.
Para obtener resultados tiles se debe construir una rejilla de estados
suficientemente fina. En cada punto de la rejilla, en cada etapa de tiempo, se
deben integrar las ecuaciones de estado con cada valor admisible de las
variables de decisin cuantificadas, para seleccionar aquella que minimiza el
ndice de desempeo. Se generan requisitos adicionales de clculo cuando la
trayectoria, calculada a partir de un punto de la rejilla no alcanza un estado
cuantificado en la etapa siguiente. Para ello es necesario realizar
interpolaciones para encontrar los valores de la variable de decisin o control
ptima y del ndice de costo.
Con un nmero del orden de cinco variables de estado, los algoritmos
tradicionales de programacin dinmica exigen elevados requisitos de memoria
y de tiempo de clculo a los sistemas de procesamiento digital. Esta
caracterstica de la metodologa fue denominada maldicin de
dimensionalidad por el propio Bellman, lo cual desalent el empleo de la
programacin dinmica tradicional durante ms de veinte aos.
EJERCICIOS RESUELTOS
Ejercicio # 1
fi(C)=1 3
Solucin:
n=3
S3
D
E
f3*(s) X3*
6
T
7
T
n=2
sx2
A
B
C
D
5+6=11
7+6=13
----------
E
---------8+7015
6+7=13
f2*(s)
11
13
13
X2*
D
D
E
n=1
sx1
O
A
9+11=20
Ruta: 0BDT
B
6+13=19
C
7+13=20
f1(s)
19
X1*
B
Ejercicio # 2
Una compaa esta planeando una estrategia de publicidad durante el
ao prximo para sus 3 productos mas importantes. Como los 3 son bastante
diferentes, cada esfuerzo de publicidad estar dedicado a un solo producto. Se
dispone de un total de 6 millones de dlares para esta campaa de publicidad y
se supone que el gasto para cada producto deber ser un nmero entero
mayor o igual a uno. El vicepresidente de mercadotecnia ha establecido el
objetivo como sigue: determinar cuanto gastar en cada producto con el fin de
maximizar las ventas totales. La siguiente tabla da un incremento estimado en
ventas (en las unidades apropiadas) para los diferentes gastos en publicidad:
Gasto
publicidad
1
2
3
4
en Producto 1
7
10
14
17
Producto 2
Producto 3
4
8
11
14
6
9
13
15
Solucin:
n=3
S3
1
2
3
4
f3*(s)
6
9
13
15
X3*
1
2
3
4
n=2
X2 = 1
X2 = 1
X2 = 2
X2 = 1
X2 = 2
X2 = 3
X2 = 1
X2 = 2
X2 = 3
X2 = 4
X2
S2
1
2
3
4
1
10
13
17
19
14
17
21
17
20
= 19
= 21
= 20
= 20
f2*(s2)
X2*
20
10
14
17
21
1
2
1,2,3
2
n=1
X1 = 1
X1 = 2
X1 = 3
X1 = 4
X2
S2
6
= 28
= 27
= 28
= 27
f2*(s2)
X2*
28
27
28
27
28
1,3
123 = 7+8+13 = 28
321 = 14+8+6 = 28
Ejercicio # 3
El World Health Council, se dedica a mejorar la atencin mdica en los
pases subdesarrollados del mundo. Dispone de 5 brigadas mdicas para
asignarlas a 3 de estos pases con el fin de mejora el cuidado de la salud, la
educacin para la salud y los programas de capacitacin, entones, el consejo
necesita determinar cuantas brigadas debe asignar (si lo hace) a cada uno de
estos pases para maximizar la medida de eficiencia de las 5 brigadas. Los
equipos deben mantenerse como estn formados por lo que el nmero
asignado a cada pas debe ser un entero.
La medida de desempeo se tomara en trminos de los aos de vida
adicionales por persona (para una pas especifico, esta medida es igual al
incremento en el promedio de vida esperado en aos, multiplicado por su
poblacin). En la tabla siguiente se dan las estimaciones de estos aos de vida
adicionales de vida por persona (en mltiplos de mil) para cada pas y para
cada nmero posible de brigadas mdicas asignadas.
Cual es la asignacin que maximiza la medida de desempeo?
Brigadas Medicas
0
1
2
3
4
5
Pas 1
0
45
70
90
105
120
Pas 2
0
20
45
75
110
150
Pas 3
0
50
70
80
100
130
Solucin:
n=3
S3
0
1
2
3
4
5
f3*(s3)
0
50
70
80
100
130
X3*
0
1
2
3
4
5
n=2
X2 = 0
X2 = 0
X2 = 1
0
1
X22 = 2
(2,0) = P22(2)
(0) + f33*(2-2)
*(2-0) = 45+0
0+70 = 45
(2,1)
(1)
*(2-1)
20+50
70
f22(2,2)
X2 = 0
X2 = 1
X2 = 2
X2 = 3
= 80
= 90
= 95
= 75
X2 = 0
X2 = 1
X2 = 2
X2 = 3
X2 = 4
= 100
= 100
= 115
= 125
= 110
X2 = 0
X2 = 1
X2 = 2
X2 = 3
X2 = 4
X2 = 5
X2
S2
0
1
2
3
4
5
X2 = 0
n=1
X2 = 1
X2 = 2
X2 = 3
X2 = 4
X2 = 5
0
50
70
80
100
130
20
70
90
100
120
45
95
115
125
75
125
145
110
160
f2*(s2) X2*
150
0
50
70
95
125
160
= 160
= 170
= 165
= 160
= 155
= 120
0
0
0,1
2
3
4
X2
S2
5
f2*(s2) X2*
160
170
165
160
155
120
170
131 = 45+75+50=170
Ejercicio # 4
Una estudiante universitaria tiene 7 das para preparar los exmenes
finales de 4 cursos y quiere asignar el tiempo que tiene para estudiar de la
manera ms eficiente posible. Necesita por lo menos un da para cada curso y
quiere concentrarse solo en un curso cada da, por lo que quiere asignar 1, 2, 3
4 das a cada curso. Como hace poco tom un curso de investigacin de
operaciones, ha decidido aplicar programacin dinmica para hacer estas
asignaciones que maximicen el total de puntos obtenidos en los 4 cursos.
Estima que las distintas opciones de das de estudio redituarn puntos de
calificacin segn la siguiente tabla:
Nmero
Das
1
2
3
4
5
5
6
9
2
4
7
8
Curso 4
6
7
9
9
n=4
S4
1
2
3
4
F4*(s4)
6
7
9
9
X4*
1
2
3
4
n=3
X3 = 1
X3 = 1
X3 = 2
X3 = 1
X3 = 2
X3 = 3
X3 = 1
X3 = 2
X3 = 3
X3 = 4
X3
S3
1
2
3
4
8
9
11
11
10
11
13
13
14
F3*(s3) X3*
14
8
10
13
14
1
2
2
3,4
n=2
X2 = 1
X2 = 1
X2 = 2
X2 = 1
X2 = 2
X2 = 3
X2 = 1
X2 = 2
X2 = 3
X2 = 4
= 19
= 18
= 16
= 17
X2
S2
1
2
3
4
1
13
15
18
19
13
15
18
X1 = 1
X2 = 2
X3 = 3
X4 = 4
14
16
F3*(s3) X3*
17
13
15
18
19
1
1
1
1
= 22
= 23
= 21
= 20
X2
F3*(s3) X3*
22
23
21
20
23
S2
2
2131 =5+5+7+6=23
Ejercicio # 5
Una compaa est a punto de introducir un nuevo producto al mercado
muy competido y est planeando su estrategia de comercializacin. Ha tomado
la decisin de introducir el producto en 3 fases.
La fase 1 incluir ofertas especiales de introduccin a un precio muy
reducido para atraer a los compradores de primera vez.
La fase 2 comprender una campaa intensa de comerciales y anuncios
para persuadir a estos compradores de primera vez, que continen comprando
el producto a precio normal. Se sabe que otra compaa introducir otro nuevo
producto competitivo ms o menos cuando termine la fase 2.
La fase 3 entonces, incluir una campaa de seguimiento de promocin
para tratar de evitar que los clientes regulares cambien al producto de la
competencia.
Se cuenta con un presupuesto total de $ 4 millones de dlares para esta
campaa comercial. El problema consiste ahora en determinar como asignar
este dinero de la manera ms efectiva a las 3 fases. Sean m el porcentaje de
mercado inicial que se logra en las fases, f 2 la fraccin de este mercado que se
retiene en la fase 2 y f 3 la fraccin restante del porcentaje de mercado que se
retiene en la fase 3. Con los datos de la siguiente figura, aplique programacin
dinmica para determinar cmo asignar los $ 4 millones de dlares para
maximizar el porcentaje final del mercado para el nuevo producto, es decir,
maximizar m+ff+ff. Suponga que el dinero se debe gastar en cantidades enteras
mltiplos de 1 milln en cada fase y que el mnimo permisible es 1 para la fase
1 y 0 para las fases 2 y 3.
n=3
S3
0
1
2
3
F3*(s3)
0.3
0.5
0.6
0.7
X3*
0
1
2
3
X2 = 0
X2 = 1
X2 = 0
X2 = 1
X2 = 2
X2 = 0
X2 = 1
X2 = 2
X2 = 3
X2
S2
0
1
3
3
X1 = 0
X1 = 1
X1 = 2
X1 = 3
0.6
0.1
0.12
0.14
0.12
0.2
0.24
0.15
0.25
= 0.14
= 0.24
= 0.25
= 0.18
F2*(s2) X2*
0.18
0.2
0.12
0.2
0.250
0
1
1
2
=5
=6
= 4.8
= 10
X2
F3*(s3) X3*
4.8
10
10
S2
3
3 millones en la 1a fase
1 millones en la 2a fase
0 millones en la 3a fase
EJERCICIOS PROPUESTOS
Ejercicio Propuesto # 1
El gerente de ventas de una editorial de libros de texto universitarios
tiene seis agentes de ventas que puede asignar a tres regiones distintas del
pas. Ha decidido que cada regin debe tener por lo menos un agente y que
cada agente individual debe quedar restringido a una de estas regiones con el
fin de maximizar las ventas. La siguiente tabla da el incremento estimado en las
ventas de cada regin si se le asignan diferentes cantidades de agentes.
Agentes
1
2
3
4
Regin 1
35
48
70
89
Regin 2
21
42
56
70
Regin 3
28
41
63
75
Ejercicio Propuesto # 2
Una campaa poltica se encuentra en su ltima etapa y las preliminares
indican que la eleccin est pareja. Uno de los candidatos tiene suficientes
fondos para comprar tiempo de TV por un total de 5 comerciales en horas de
mayor audiencia en estaciones localizadas en 4 reas diferentes. Con base en
la informacin de las preliminares se hizo una estimacin del nmero de votos
adicionales que se pueden ganar en las diferentes reas de difusin segn el
nmero de comerciales que se contraten. Estas estimaciones se dan en la
siguiente tabla en miles de votos.
Comerciales
0
1
2
3
4
5
rea 1
0
4
7
9
12
15
rea 2
0
6
8
10
11
12
rea 3
0
5
9
11
10
9
rea 4
0
3
7
12
14
16
Ejercicio Propuesto # 3
El propietario de una cadena de tres supermercados compr 5 cargas de
fresas frescas. La distribucin de probabilidad estimada para las ventas
potenciales de las fresas antes de que se echen a perder difiere entre los 3
supermercados. El propietario quiere saber como debe asignar las 5 cargas a
las tiendas para maximizar la ganancia esperada. Por razones administrativas
no quiere dividir las cargas entre las tiendas. Sin embargo, esta de acuerdo en
asignar cero cargas a cualquiera de ellas. La siguiente tabla proporciona la
ganancia estimada en cada tienda al asignar distintas cantidades de cargas:
Numero de cargas
0
1
2
3
4
5
Tienda 1
0
5
9
14
17
21
Tienda 2
0
6
11
15
19
22
Tienda 3
0
4
9
13
18
20
Ejercicio Propuesto # 4
La presidenta de un partido poltico en un estado est haciendo planes
para las prximas elecciones presidenciales. Cuenta con la colaboracin de 6
voluntarios para trabajar en los distritos electorales y los quiere asignar a 4
distritos de manera que se maximice su efectividad. Ella piensa que sera
ineficiente asignar un voluntario a ms de un distrito pero est dispuesta a no
asignar a nadie a cualquiera de ellos si pueden lograr ms en otro distrito. La
siguiente tabla da el aumento estimado en el nmero de votos para el
candidato del partido en cada distrito si se asignan distintos nmeros de
voluntarios:
Voluntarios
0
1
2
3
4
5
6
Distrito 1
0
4
9
15
18
22
24
Distrito 2
0
7
11
16
18
20
21
Distrito 3
0
5
10
15
18
21
22
Distrito 4
0
6
11
14
16
17
18
Ejercicio Propuesto # 5
Considere la siguiente red de proyecto para un sistema tipo PERT,
donde el nmero junto al arco es el tiempo requerido para la actividad
correspondiente. Considere el problema de encontrar la trayectoria ms grande
(el mayor tiempo total) a travs de esta red desde el vento uno (inicio del
proyecto) al evento 9 (terminacin del proyecto), ya que la trayectoria ms larga
es la ruta critca