Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion Dinamica
Programacion Dinamica
SOLUCIONARIO
Sobre Programacin Dinmica
por
En algn punto de la lnea de desarrollo descubrimos
lo que somos en realidad, y luego tomamos nuestra verdadera
decisin por la cual somos responsables. Tome esa decisin
principalmente por usted, ya que nunca se puede vivir realmente
la vida de otra persona.
Modelo de la Diligencia
Asignacin de Recursos
El modelo de la mochila
Produccin e Inventario
Confiabilidad
R1 (D1, S2)
S1=6
Regin 1
R2 (D2, S3)
S2 = S1 - D1
D1
Cuntos agentes
asignar?
Regin 2
Eleanor Roosevelt
R3 (D3, S4)
S3 = S2 - D2
D2
Cuntos agentes
asignar?
Regin 3
S4 = S3 - D3
D3
Cuntos agentes
asignar?
2004
2
* Programacin Dinmica.
PROGRAMACIN DINMICA
La programacin dinmica es un mtodo para resolver ciertos problemas de programacin
matemtica, cuya caracterstica de estos problemas es que los modelos matemticos que los
representan son complejos y por tanto requieren mucho procesamiento de cmputo para encontrar
su solucin, adems pueden ser divididos en problemas ms pequeos. Esta caracterstica del
problema de dividirse en subproblemas es aprovechada por la programacin dinmica para
encontrar la solucin.
La forma de operar de la programacin dinmica es dividir el problema en problemas ms
pequeos llamados subproblemas, luego inicia el proceso de solucin por etapas; en donde cada
etapa del proceso resuelve un subproblema y al finalizar con todas las etapas, el problema es
completamente resuelto. Entre una etapa y la siguiente existe una liga que permite el nexo entre
etapas esta liga se llama funcin recursiva.
Los ejemplos que siguen muestran el proceso de solucin describiendo al mismo tiempo la
notacin de la funcin recursiva, explicndose lo esencial y las caractersticas particulares de cada
problema:
Caso1: Problema de la Diligencia
1) Este problema est referido a encontrar la ruta ptima (ruta mnima o ruta ms confiable), para
viajar desde un punto llamado nodo inicial o fuente hacia otro llamado nodo final o destino a travs
de una red de caminos que los conecta dados los retornos (costos beneficios tiempo, etc),
asociados con los arcos o ramas de la red.
11
2
5
2
11
4
f n* ( S n ) = Min [ R n ( D n , S n +1 ) + f n*+ 1 ( S n +1 )]
Rn (Dn , Sn+1 ) =
f n*+1 ( S n +1 ) =
f n* ( S n ) =
Nota: debe notar que tanto Sn, como Sn+1 toman un conjunto de valores, por ejemplo S3 toma los valores:
(5, 6 y 7) y S3+1
f 5* ( S 5 ) = Min [ R 5 ( D 5 , S 5 + 1 ) + f 5*+ 1 ( S 5 + 1 )]
D
14
13
Estado
S5
12
13
Dn ,S n
Donde:
3
4
12
7
10
Funcin Recursiva
para el Problema
Para n = 5
6
6
f n* ( S n ) = g [ R n ( D n , S n +1 ) + f n*+1 ( S n +1 )]
Funcin Recursiva
General de PD.
,S
5 +1
DECISIN (D5)
14
4
3
f 5* (S5 )
4
3
D5* ( S 5 )
14
14
11
En este caso lo primero que hay que reconocer es, que al tomar una decisin para decidir que ruta
seguir en forma general para todo el problema, involucra analizar toda la red esto hace que el
problema sea complejo, por cuanto del nodo 1 al 14 existen mltiples alternativas en las que se
encuentran varias ramas en la ruta. En segundo lugar, ver si es posible dividir el problema en
subproblemas o etapas de manera que la decisin en cada subproblema sea ms fcil; en este
sentido se ha dividi el problema en 5 etapas, de la 1 a la 5 conforme se aprecia en la parte inferior
de la red. Obsrvese que es ms fcil tomar una decisin en cada etapa pues la decisin ser
directa; por ejemplo si estamos en la etapa 3 (subproblema 3) al inicio nos podemos encontrar en
los nodos 5 , 6 7 y podemos ir a los nodos 8, 9, 10 11 la decisin es inmediata, pues solo existe
una rama en cada alternativa. Esta caracterstica es importante reconocer para tomar la decisin
de aplicar la metodologa de la programacin dinmica.
3
Para n = 4
f 4* ( S 4 ) = Min [ R 4 ( D 4 , S 5 ) + f 5* ( S 5 )]
D 4 ,S 5
Estado
S4
8
9
10
11
DECISIN (D4)
12
13
9 + 4 =13
3+4= 7
6+3= 9
7 + 4 = 11
8 + 3 = 11
5+3= 8
f 4* (S 4 )
13
7
11
8
D4* ( S 4 )
12
12
12,13
13
* Programacin Dinmica.
Para n = 3
f 3* ( S
Estado
S3
5
6
7
) = Min
D
,S
[R
(D
, S
) + f 4* ( S
f 3* (S3 ) D3* ( S 3 )
DECISIN (D3)
8
3 + 13 =16
8 + 13 = 24
-
)]
9
2+7= 9
11 + 7 = 18
-
10
5 + 11 = 16
-
11
9 + 8 = 17
4 + 8 = 12
9
16
12
9
10
11
Para n=2
f 2* ( S
Estado
S2
2
3
4
) = Min [ R
D
,S
(D
, S
) + f 3* ( S
)]
DECISIN (D2)
6
4+16=20
6+16=22
5
11+9=20
8+9=17
-
7
9+12=21
6+12=18
f 2* (20
S2 )
D 2* ( S 2 )
5
5
7
17
18
Fbrica 1
C
R
0
0
1
5
2
6
-
Estado
S1
1
2
5+20=25
,S
) +
f 2* ( S
)]
Fbrica 3
C
R
0
0
1
3
-
El objetivo del problema de decisin es seleccionar un plan factible para cada fbrica i tal que se
maximice el ingreso total resultante.
Para n=1
f 1 * ( S 1 ) = Min [ R 1 ( D 1 , S
Fbrica 2
C
R
0
0
2
8
3
9
4
12
S1= 5
Fbrica 1
R2(D2,S3)
S2=S1-D1
R3(D3,S4)
Fbrica 2 S3=S2-D2
Fbrica 3
S4=S3-D3
DECISIN (D1)
3
2+17=19
4
3+18=21
f1* ( S1 ) D1* ( S1 )
19
Cunto Invertir?
Cunto Invertir?
Cunto Invertir?
3
Rn (Dn,Sn) : representa la confiabilidad por tomar la decisin Dn (instalar 1, 2, 3); unidades en
paralelo en la etapa n ( componente 1, 2 3) para pasar del estado Sn (dinero disponible al inicio
de la etapa n) al estado Sn+1.
Estado S3
0
1
2
3
4
5
D*3(S3)
0
1
1
1
1
1
* Programacin Dinmica.
Para n =2 (fbrica 2)
Estado S2
0
1
2
3
4
5
0
0+0=0
0+3=3
0+3=3
0+3=3
0+3=3
0+3=3
Decisin (D2)
2
3
------------8+0= 8
---8+3=11
9+0= 9
8+3=11
9+3=12
8+3=11
9+3=12
4
------------12+0=12
12+3=15
*2(S2)
D*3(S2)
0
3
8
11
12
15
0
0
2
2
3, 4
4
Solucin
Obsrvese que solo se cuenta con 6 agentes y que por lo menos debe asignarse uno a cada
regin, lo que significa que cada ves que se evala una regin debe de los seis reservarse 2 para
las otras dos regiones con lo cual lo mximo disponible para cada regin es 4, por eso en la tabla
se tiene asignaciones de 1 a 4. El diagrama de bloques es:
R1 (D1, S2)
S1=6
Para n = 1 (fbrica 1)
Estado S1
5
0
0+15=15
Regin 1
R2 (D2, S3)
S2 = S1 - D1
Regin 2
R3 (D3, S4)
S3 = S2 - D2
Regin 3
S4 = S3 - D3
*1(S1)
D*1(S1)
17
5
9
3
17
5
12
0
17
6
8
3
17
D1
Cuntos agentes
asignar?
D2
Cuntos agentes
asignar?
D3
Cuntos agentes
asignar?
Ahora antes de evaluar la funcin recursiva se deben determinar para cada etapa los intervalos de
variacin tanto de la decisin como del estado de los agentes disponibles, as tenemos:
Etapa 1:
1 D1 4 o se decide asignar 1 agente que es el mnimo o se asigna hasta 4 que es el mximo.
3 S1 6 la cantidad mnima para del recurso vendedores que deben haber para todas las etapas
y cumplir con los requisitos mnimos es 3; pues son 3 regiones, dado que por lo menos
debe asignarse 1 vendedor en cada regin; y lo mximo que debe asignarse para las
tres etapas es lo que se tenga disponible (este mismo razonamiento vale para las etapas
siguientes).
Etapa 2:
1 D2 4 o se decide asignar 1 agente que es el mnimo o se asigna hasta 4 que es el mximo.
2 S2 5 porqu son 2 regiones, y por lo menos debe asignarse 1 a cada regin o el mximo
existente al inicio de la etapa 1 menos 1, que es lo mnimo que requiere la etapa1.
Etapa 3:
1 D3 4 o se decide asignar 1 agente que es el mnimo o se asigna hasta 4 que es el mximo.
1 S3 4 porqu es una regin, y por lo menos debe asignarse 1 a esta regin o el mximo
existente al inicio de la etapa 1 menos 2 (1 agente para la regin 1 y un agente para la
regin 2).
Ahora si queremos generalizar el intervalo Sn, para cualquier valor de n entre 1,2, y 3, tenemos:
La funcin recursiva es:
3 n + 1 Sn 6 n + 1
* Programacin Dinmica.
Ahora se utiliza la forma tabular del mtodo de programacin dinmica para su solucin
comenzando por la etapa 3:
No DE DAS DE ESTUDIO
n=3
1
2
3
4
1
28
28
28
28
1 D3 4
1 S3 4
Decision D3
2
3
41
41
63
41
63
4
75
F3 (S3)
D3 (S3)
28
41
63
75
1
2
3
4
Notas estimadas
Curso
SO
RM
07
08
08
11
12
14
18
16
IOII
09
10
12
14
Mat.
12
14
18
19
En este caso se divide el problema en 4 etapas, cada etapa representa un curso y para cada uno
se decide cuantos das estudiar, al inicio de la etapa 1, tenemos 7 das que sern asignados a
todas las etapas, como se requiere las notas mnimas especificadas se debe tomar la decisin de
estudiar por lo menos un da cada curso y como mximo 4 das, para lo cual la cantidad de tiempo
disponible al inicio de cada etapa n es: 4 n + 1 Sn 7 n + 1.
El diagrama de bloques de este problema es:
n=2
1
21 + 28 = 49
21 + 41 = 62
21 + 63 = 84
21 + 75 = 96
1 D2 4
2 S2 5
Decisin D2
2
3
42 + 28 = 70
42 + 41 = 83
56 + 28 = 84
42 + 63 = 105 56 + 41 = 97
4
70 + 28 = 98
F2(S2)
D2(S2)
49
70
84
105
1
2
1, 3
2
n=1
S1
6
1
35 + 105 =140
Solucin ptima:
Alternativa 1
Asignar 1 agente a la regin 1: ventas obtenidas
2 agentes a la regin 2: ventas obtenidas
3 agentes a la regin 3: ventas obtenidas
Alternativa 2
Asignar 3 agentes a la regin 1 ventas obtenidas
2 agentes a la regin 2 ventas obtenidas
3 agentes a la regin 3 ventas obtenidas
4
89 + 49 = 138
35
42
63
70
42
23
F1 (S1)
D1 (S1)
140
1, 3
Curso
IOII
S2 = S1 - D1
D1
Cuntos das
asignar?
Curso
SO
S3 = S2 - D2
D2
Cuntos das
asignar?
Curso
RM
S4 = S3 - D3
D3
Cuntos das
asignar?
Curso
Mat.
S5 = S4 - D4
D3
Cuntos das
asignar?
Funcin Recursiva:
Para n = 4
S1 = 7
R3 (D3, S4)
R3 (D3, S4)
Rn (Dn,Sn) : representa la nota que se obtiene por tomar la decisin Dn (asignar 1, 2, 3, 4); das
en la etapa n (curso IOII, SO, RM Mat.) para pasar del estado Sn (das disponibles al inicio de la
etapa n) al estado Sn+1.
R2 (D2, S3)
R1 (D1, S2)
1
2
3
4
1
12
12
12
12
1 D4 4
1S4 4.
Decisin D4
2
3
14
14
14
18
18
10
19
F4(S4)
D4(S4)
12
14
18
19
1
2
3
4
* Programacin Dinmica.
Para n = 3
1
08+12=20
08+14=22
08+18=26
08+19=27
1 D3 4
2 S3 5
Decisin D3
2
3
11+12=23
11+14=25
11+18=29
14+12=26
14+14=28
16+12=28
F3 (S3)
D3 (S3)
20
23
26
29
1
2
1,3
2
Para n = 2
1
07+20=27
07+23=30
07+26=33
07+29=36
1 D2 4
3 S2 6
Decisin D2
2
3
08+20=28
08+23=31
08+26=34
12+20=32
12+23=35
7
Respuesta
1
09+38=47
18+20=38
F2 (S2)
D2 (S2)
27
30
33
38
1
1
1
4
0
1
2
3
4
5
0
4
7
7
12
15
0
6
8
10
11
12
0
5
9
11
10
9
0
3
7
12
14
16
4
14+30=44
R2 (D2, S3)
R1 (D1, S2)
S1 = 5
Estacin
en rea1
S2 = S1 - D1
F1 (S1)
D1 (S1)
47
Estacin
en rea2
R3 (D3, S4)
R3 (D3, S4)
S3 = S2 - D2
D2
Cuntos comerciales asignar?
D1
Cuntos comerciales asignar?
Nota
Asignar al curso IOII 1 da 09
Asignar al curso SO 4 das 18
Asignar al curso RM3 1 da
08
12
Asignar al curso Mat. 1 da
47
11
rea
El recurso escaso que tiene que distribuirse en las diferentes estaciones ubicadas en diferentes
reas, es el nmero de comerciales y del cual se dispone un mximo de 5; la tabla muestra el
nmero de votos ganados si se asignan entre 0 y 5 comerciales en las diferentes reas de modo
que el estado al inicio de cada etapa es el nmero de comerciales disponibles y la decisin puede
variar entre no asignar ningn comercial o asignar como mximo los 5 comerciales, en donde cada
etapa representa una estacin televisiva ubicada en una rea determinada.
Para n = 2
1 D2 4
3 S2 6
Decisin D1
2
3
10+33=43
12+30=42
Nmero de
Comerciales
Estacin
en rea3
S4 = S3 - D3 Estacin S5 = S4 - D4
en rea4
D3
Cuntos comerciales asignar?
D3
Cuntos comerciales asignar?
Para n=4
S4
D4
0
12
12
14
12
14
12
16
f4(S4)
D4(S4)
12
14
16
* Programacin Dinmica.
Para n =3
S3
D3
0
0+0=0
0+3=3
5+0=5
0+7=7
5+3=8
0 +12=12 5+7=12
D3(S3)
11+0=11
12
0,1,2
11+3=14 10+0=10
17
21
f2(S2)
D2(S2)
0
1
9+0=9
9+3=12
f3(S3)
Para n =2
S2
0
D2
0
0+0=0
0+5=5
6+0=6
0+9=9
6+5=11 8+0=8
11
15
18
23
f2(S2)
D2(S2)
23
Para n =1
S2
5
D2
0
R2(D2,S3) = 2/3
R3(D2,S4) = 2/3
Respuesta:
No asignar ningn comercial a la estacin ubicada en le rea 1
Asignar 1 comercial a la estacin ubicada en el rea 2
Asignar 1 comercial a la estacin ubicada en el rea 3
Asignar 3 comerciales a la estacin ubicada en el rea 4
votos ganados: 0
votos ganados: 6
votos ganados: 5
votos ganados: 12
13
S1=3
Jugada1
S2=1/3(S1-D1)+2/3(S1+D1)
D1
cuntas fichas jugar?
Jugada2
S3=1/3(S2-D2)+2/3(S2+D2)
D2
cuntas fichas jugar?
14
Jugada3
S4=1/3(S3-D3)+2/3(S3+D3)
D3
cuntas fichas jugar?
* Programacin Dinmica.
Para n = 3
S3
3
4
5
0
1
0 D3 2.
S3 =3, 4 5.
*
f3 (S3)
2/3
2/3
1
2
2/3
2/3
-
D3 (S3)
2
1
0
7) Problema de corte
Una fbrica de papel ha recibido solicitudes de cuatro diferentes litografas (imprentas), de la
siguiente manera:
beneficio por rollo
solicitud 1: 6 rollos de 2,5 mts de ancho
b1 = $3,10/rollo
solicitud 2: 5 rollos de 4,0 mts de ancho
b2 = $5,25/rollo
solicitud 3: 4 rollos de 3,0 mts de ancho
b3 = $4,40/rollo
solicitud 4: 8 rollos de 2,0 mts de ancho
b4 = $2,50/rollo
La fbrica tiene un rollo de 7 metros de ancho de papel para atender estas ordenes. Ordenes
parciales pueden ser satisfechas. cules ordenes y cuanto de cada una se deben satisfacer para
maximizar el beneficio total?.
El diagrama de bloques:
S1 = 7
Para n = 2
S2
2
3
4
5
0
2/3
2/3
1
Para n = 1
f2 (S2)
4/9
2/3
8/9
1
D2 (S2)
12
0, 2 3
1
0
0
2/3*2/3
D1
1
2/3*8/9+1/3*4/9
2
2/3*1
3
2/3*1
f1 (S1)
20/27
D1 (S1)
1
S2 = S1 2.5D1
D1
Cuntos rollos
atender?
0 D13.
S1 =3.
S1
3
Solicitud 1
0 D24.
S2 =2, 3, 4 5.
D2
1
2
3
4
2/3*2/3
2/3*2/3
2/3*2/3
2/3*1 2/3*1
2/3*1+1/3*2/3 2/3*1 2/3*1 2/3*1
-
R2 (D2, S3)
R1 (D1, S2)
Solicitud 2
R3 (D3, S4)
R3 (D3, S4)
S3 = S2 - 4D2
D2
Cuntos rollos
atender?
Solicitud 3
S4 = S3 - 3D3
D3
Cuntos rollos
atender?
Solicitud 4
S5 = S4 - 2D4
D4
Cuntos rollos
atender?
Para n=4
En la 1ra jugada la decisin debe ser jugar 1 ficha (D1=1), y si gana la primera jugada entonces en la
segunda jugada jugar 1 ficha (D2=1); pero si pierde la 1ra jugada, entonces en la segunda jugada la
decisin debe ser jugar 1 ficha o dos fichas (D2= 1 2), pues es indiferente. Si se gana la 1ra jugada
y gana en la 2da jugada entonces en la tercera jugada ya no debe jugar (D3=0).
Por el contrario si gana en la 1ra jugada y pierde en la 2da jugada entonces en la tercera jugada debe
jugar 2 fichas (D3=2).
Si pierde en 1ra jugada y gana la 2da jugada entonces en la tercera jugada tiene la opcin de jugar 1
2 fichas (D3=1 2) dependiendo si se juega 2 1 en la 2da jugada
Finalmente si pierde en 1ra jugada y pierde la 2da jugada entonces la apuesta estar perdida.
15
f4 (S4) =Max { D4 x b4 + 0 }
0D4 3
0S4 7
S4
0
1
2
3
4
5
6
7
D4
0
0x2,5=0
0x2,5=0
0x2,5=0
0x2,5=0
0x2,5=0
0x2,5=0
0x2,5=0
0x2,5=0
1x2,5=2,5
1x2,5=2,5
1x2,5=2,5
1x2,5=2,5
1x2,5=2,5
2x2,5=5
2x2,5=5
2x2,5=5
2x2,5=5
16
3x2,5=7,5
3x2,5=7,5
f4(S4)
D4(S4)
0
0
2,5
2,5
5
5
7.5
7,5
0
0
1
1
2
2
3
3
* Programacin Dinmica.
Para n=3
S3
0
1
2
3
4
5
6
7
0
0x4,4+0=0
0x4,4+0=0
0x4,4+2,5=2,5
0x4,4+2,5=2,5
0x4,4+5=5
0x4,4+5=5
0x4,4+7,5=7,5
0x4,4+7,5=7,5
D3
1
1x4,4+0=4,4
1x4,4+0=4,4
1x4,4+2,5=6,9
1x4,4+2,5=6,9 2x4,4+0=8,8
1x4,4+5=9,4
2x4,4+0=8,8
f3(S3)
D3(S3)
0
0
2,5
4,4
5
6,9
8.8
9,4
0
0
0
1
0
1
2
1
Para n=2
S3
0
1
2
3
4
5
6
7
D2
0
0x5,25+0=0
0x5,25+0=0
0x5,25+2,5=2,5
0x5,25+4,4=4,4
0x5,25+5=5
0x5,25+6,9=6,9
0x5,25+8,8=8,8
0x5,25+9,4=9,4
1x5,25+0=5,25
1x5,25+0=5,25
1x5,25+2,5=7,75
1x5,25+4,4=9,65
f2(S2) D2(S2)
0
0
2,5
4,4
5,25
6,9
8.8
9,65
0
0
0
0
1
0
0
1
Para n=1
R1 (D1, S2)
0D1 2
S1= 7
S3
7
D3
f3(S3) D3(S3)
0
1
2
0x3,1+9,65=9,65 1x3,1+5,25=8,35 2x3,1+2,5=8,7 9,65
0
Respuesta:
Atender con 0 rollos a la solicitud 1
Atender con 1 rollo a la solicitud 2
Atender con 1 rollo a la solicitud 3
Atender con 0 rollos a la solicitud 4
beneficio
0x3,10 = 0,00
1x5,25 = 5,25
1x4,40 = 4,40
0x2,50 = 0,00
Beneficio total = 9,65
S1=8
Artculo I
R2 (D2, S3)
S2 = S1 - D1
D1
Cuntos Artculos
embarcar?
Rn (Dn,Sn+1) = Pagon x Dn
S3 = S2 -3D2
D2
Cuntos Artculos
embarcar?
Artculo III
S4 = S3 - 5D3
D3
Cuntos Artculos
embarcar?
Funcin Recursiva:
17
Artculo II
R3 (D3, S4)
0 Dn (entero (8 / Vn)
0 Sn 8
18
* Programacin Dinmica.
Para n = 3
Respuesta:
S3
f3(D3)
D3(S3)
58x0+0=0
58x0+0=0
58x0+0=0
58x0+0=0
58x0+0=0
58x0+0=0
58x1+0=58
58
58x0+0=0
58x1+0=58
58
58x0+0=0
58x1+0=58
58
58x0+0=0
58x1+0=58
58
Para este caso hay dos caminos para dar respuesta al modelo, pero en ambos casos el diagrama
de bloques es el mismo:
Camino 1
La funcin recursiva no cambia, pero sin embargo el rango de variacin de la decisin y del estado
en cada etapa vara completamente a saber:
S2
Para n = 2
0 D2 2
0 S2 8
D2
f2(D2)
D2(S2)
32x0+0=0
32x0+0=0
32x0+0=0
32x0+0=0
32x1+0=32
32
32x0+0=0
32x1+0=32
32
32x0+58=58
32x1+0=32
58
32x0+58=58
32x1+0=32
32x2+0=64
64
32x0+58=58
32x1+0=32
32x2+0=64
64
32x0+58=58
32x1+58=90
32x2+0=64
90
Si deseamos generalizar el rango de variacin para cualquier nmero de etapas, de los parmetros
Dn y Sn tendremos:
N
10 Vi
i =1
); i n ; donde N representa el nmero total de etapas.
1 D Entero(
n
Vn
N
n 1
i =n
i =1
Vi S n 10 Vi
Ahora bien aplicando la forma tabular y manteniendo la funcin recursiva con los rangos de
variacin encontrados se tiene los siguiente:
Para n = 3
f3 (S3) =Max { 43 x D3 + 0 }
Para n = 2
S1
8
S3
D1
0
1
2
3
4
5
6
7
8
11x0+ 11x1+ 11x2+ 11x3+ 11x4+ 11x5+ 11x6+ 11x7+ 11x8+
90=90 64=75 64=86 58=91 32=76 32=87 0=66 0=77 0=88
19
f1(D1)
D1(S1)
91
1 D3 1
4 S 3 7
D3
1
f3(D3)
D3(S3)
43x1+0=43
43
43x1+0=43
43
43x1+0=43
43
43x1+0=43
43
20
* Programacin Dinmica.
Para n = 2
El costo por unidad producida con tiempo extra a la semana es $100 ms que en las horas
normales. El costo de almacenamiento es $50 por unidad por cada semana que se guarda. Existe
un inventario de dos dispositivos, pero la compaa no desea quedarse con ninguno despus de
tres semanas. Utilice programacin dinmica para determinar cuntas unidades debe producir
cada semana con el fin de minimizar los costos de produccin e inventarios.
S2
f2(D2)
D2(S2)
27+43 = 70
70
27+43= 70
70
27+43= 70
54+43= 97
97
27+43= 70
54+43= 97
97
Solucin:
En primer lugar el acuerdo asumido por la BUILD-EM-FAST COMPANY y su Cliente, no admite
pedidos pendientes por tanto tiene que abastecerlo con sus tres unidades por mes.
El problema es factible dividirlo en tres etapas (dado que son tres semanas de produccin) para
tomar decisiones de cuanto producir por semana y en consecuencia cada subproblema es ms
fcil de resolver.
El Retorno inmediato asociado con la decisin en cada etapa est relacionado con los costos de
produccin tanto en tiempo normal cmo en tiempo extra ms el costo de inventario tal como se
indica:
Para n = 1
S1
10
Respuesta:
D1
1
f1(D1)
D1(S1)
119
Camino 2
3
3
En este caso lo ms prctico es de la capacidad total 10 m , reservar 7 m para cumplir con el
3
requerimiento de llevar una unidad de cada tipo de artculo y el resto de capacidad 3 m
disponibles se le da el tratamiento que se le dio al ejemplo 1 (modelo general sin restricciones), el
resultado debe ser el mismo; se deja al alumno para que compruebe lo manifestado. Obsrvese
3
que con el restante de 3 m pude llevar 1 unidad del artculo 1 y 1 unidad del artculo 2 adicionales;
logrando en total llevar:
embarcar 2 unidades del artculo I
embarcar 2 unidades del artculo II
embarcar 1 unidades del artculo III
Produccin mxima
tiempo normal
1
2
3
2
2
1
Produccin mxima
tiempo extra
2
1
2
21
Costo de Produccin
por unidad tiempo normal
Dn = Decisin en la etapa n, referida a determinar cuntas unidades producir en tiempo normal y en tiempo extra.
S1 =2
D1
(Pn1 + Pe1)
Cpei2
Semana
2
Cpei3
S3 =S2 + Pn2 + Pe2 -3
D2
(Pn2 + Pe2)
$300
$500
$400
22
Semana
3
D3
(Pn3 + Pe3)
S4 = 0
* Programacin Dinmica.
Funcin recursiva:
D3*(S3)
3
2
1
0
Para n =1
f1(S1) = Min[500Pn1+ 600Pe1 + 50(S1 + Pn1 + Pe1 3 ) + f2 (S1 + Pn1 + Pe1 3) ]
0D13
S1=2
D1
S1
1
2
3
4
f1*(S1)
D1*(S1)
2
3300
3050
3000
2950
2950
4
Respuesta:
Producir:
23
11) La Northern Airplane Co. construye aviones comerciales para varias lneas areas en todo el
mundo. La ltima etapa del proceso de produccin consiste en fabricar los motores de turbina e
instalarlos (operacin sumamente rpida) en la estructura del avin terminado. La compaa tiene
varios contratos de trabajo para entregar un gran nmero de aviones en un futuro cercano, y en
este momento debe programarse la produccin de los motores de turbina durante los prximos
cuatro meses.
En la segunda columna de la Tabla 1, se indica la cantidad de motores que debe estar lista para
su instalacin, a fin de cumplir con las fechas de entrega contratadas. As, el nmero acumulado
de motores que deben producirse para fines de los meses 1, 2, 3 y 4 debe ser por lo menos 10, 15,
25 y 20, respectivamente.
Las instalaciones disponibles para producir los motores varan de acuerdo con otros programas de
produccin, mantenimiento y renovacin durante este perodo. Las diferencias mensuales que
resultan en cuanto al nmero mximo que se puede producir y el costo unitario de produccin (en
millones de dlares) se dan en la tercera y cuarta columnas de la tabla.
Dadas las variaciones de los costos de produccin, podra valer la pena producir algunos motores
un mes o dos antes de su fecha de instalacin y se est estudiando esta posibilidad. El
inconveniente es que esos motores debern almacenarse hasta que sean instalados (la estructura
de los aviones no estar lista antes). El costo de almacenaje para cada motor es de $15 000/mes
(se incluye el inters sobre el capital invertido), como se ilustra en la ltima columna de la tabla.
Utilice programacin dinmica para determinar la programacin del nmero de motores que se
deben fabricar en cada uno de los cuatro meses, de manera que se minimicen los costos totales
de produccin y almacenaje. Suponga que las cantidades producidas deben ser enteros mltiplos
de cinco.
Mes
Instalaciones
programadas
1
2
3
4
10
15
25
20
Produccin
mxima
Costo unitario
*
de produccin
Costo unitario
*
de almacenaje
1.08
1.11
1.10
1.13
0.015
0.015
0.015
0.015
25
35
30
10
Tabla 1
Solucin
Mes
1
2
3
4
Demanda
dn
10/5=2
15/5=3
25/5=5
20/5=4
Prod. Mx
Pn
25/5=5
35/5=7
30/5=6
10/5=2
Cup
Cn
1.08*5=5.40
1.11*5=5.55
1.10*5=5.50
1.13*5=5.65
Cua
In
0.015*5=0.075
0.015*5=0.075
0.015*5=0.075
0.015*5=0.075
f n* ( S n ) = Min[C n x Dn + I n ( S n + Dn d n ) + f n*+1 ( S n + Dn d n )]
Dn,Sn variable
24
* Programacin Dinmica.
Para n=4
f 4* ( S 4 ) = Min [ 5 . 65 x D 4 + 0 . 075 ( S 4 + D 4 4 ) + 0 ]
2S44
0D42
S4Debe ser tal que sumado a la capacidad de produccin alcance para atender la demanda de
4 unidades (es decir a 4 mltiplos de 5), en consecuencia al inicio del cuarto mes debe haber por lo
menos 2 unidades porque la capacidad de produccin en el cuarto mes est limitada a 2 unidades;
y como mximo S4 debe ser 4 unidades dado que con ello se satisface la demanda de ese mes y
el stock final ser cero (0), no hay restriccin de dejar al final algn inventario.
D4Si el estado del inventario al inicio del cuarto mes es 4 la decisin factible es no producir, sin
embargo si el estado inicial es 2 unidades lo mximo que se puede producir es 2 unidades.
S4
2
3
4
0
-0
D4
1
-5.65
--
2
11.30
f*4(S4)
11.30
5.65
0.00
--
D*4(S4)
2
1
0
produce no alcanzara a cubrirse toda la demanda de los meses siguientes. El nivel mximo que
pude tomar D2 es 7, equivalente a la capacidad mxima de produccin.
S2
0
1
2
3
50.085
2
55.625
50.125
1S37
0D36
S3 Puede comenzar en 1 y utilizar la mxima capacidad de produccin de este mes (D3 =6),
para poder abastecer la demanda de este mes y quede en inventario 2 unidades para el siguiente
mes; y lo mximo que puede ser S3 al inicio de esta etapa es 7 de manera que aunque no se
produzca ninguna unidad (D3=0), an queden 2 unidades en inventario para el siguiente mes y
satisfacer la demanda.
D3
S3
0
1
2
3
4
5
6
f*3(S3) D*3(S3)
1
44.45
44.45 6
2
38.95
38.875
38.875 6
3
33.45
38.375 33.30
33.30 6
4
27.95
27.875 27.80
27.80 5
5
22.45
22.375 22.30
22.30 4
6
16.95
16.875 16.80
16.80 3
7
11.45
11.375 11.30
11.30 2
61.175
55.675
50.175
D2
5
66.715
61.275
55.85
50.425
4
66.725
61.225
55.725
50.30
6
66.825
61.40
55.975
50.55
7
66.95
61.175
55.625
50.625
f*2(S2) D*2(S2)
66.725
4
61.175
3
55.625
2
50.075
1
Para n = 1
f 1* ( S 1 ) = Min [ 5 . 40 x D 1 + 0 . 075 ( S 1 + D 1 2 ) + f 2* ( S 1 + D 1 2 )]
S1=0
2D15
En este caso el inventario inicial es cero (0). Por tanto, la decisin que se tome debe ser por lo
menos 2 unidades para atender la demanda (D1=2), y el nivel mximo de produccin es
equivalente a la capacidad de produccin de este mes (D1=5).
Para n=3
f 3* ( S 3 ) = Min [ 5 . 50 x D 3 + 0 . 075 ( S 3 + D 3 5 ) + f 4* ( S 3 + D 3 5 )]
S1
0
2
77.525
3
77.45
D1
4
77.375
5
77.30
f*1(S1)
77.30
D*1(S1)
5
Producir 5 en el perodo 1
1 en el perodo 2
6 en el periodo 3
2 en el periodo 4
Para n=2
f 2* ( S 2 ) = Min [ 5 . 55 x D 2 + 0 . 075 ( S 2 + D 2 3 ) + f 3* ( S 2 + D 2 3 )]
Nro de
unidades
paralelas
1
2
3
Comp. 1
prob costo
0.5
1
0.6
2
0.8
3
Comp. 2
prob. Costo
0.6
2
0.7
4
0.8
5
Comp.3
prob costo
0.7
1
0.8
3
0.9
4
Comp. 4
prob. costo
0.5
2
0.7
3
0.9
4
0S23
1D27
S2 Puede ser 0, pues la capacidad de produccin de este mes con exceso puede satisfacer la
demanda y lo mximo que puede ser es 3, que corresponde a la capacidad mxima de produccin
en la 1ra etapa menos su demanda esto es: (5 2 = 3); el nivel mnimo de produccin en este mes
debe ser 1 an cuando S3 = 3 y se satisfaga la demanda de este mes; sin embargo si no se
Este modelo fue visto en el captulo de redes en el cual se construy el modelo matemtico y se
dise la red que representaba el problema. Ahora se aplicar la metodologa de la programacin
dinmica para resolverlo.
Solucin:
25
26
* Programacin Dinmica.
En este caso como se tiene que tomar la decisin de cuantas unidades instalar de cada tipo de
componente, se divide el problema en 4 etapas (una etapa por cada tipo de componente).
El estado del sistema al inicio de cada etapa est dado por el dinero disponible; sin embargo lo que
hay que tener presente es que al inicio de cada etapa el dinero disponible debe ser de tal manera
que por lo menos alcance para instalar una unidad de esa etapa y una unidad de cada una de las
etapas restantes. Esto sugiere que en la etapa 4 lo mnimo que puede ser S4 es 200 dlares, para
la etapa 3 lo mnimo debe ser S3 = 300 (100 para la etapa 3 y 200 para la etapa 4), en la etapa 2
debe garantizarse por lo menos 500 dlares (D2=500), y finalmente para poder disear el circuito
por lo menos se necesita 600 dlares al inicio de la 1ra Etapa para instalar una unidad de cada tipo
de componente (S1600 .
Las cantidades mximas de dinero disponible se obtienen de la siguiente manera:
S41000 costo de 1 und. del comp.1 costo de 1 und. del comp.2 costo 1 und. del comp.3
S31000 costo de 1 und. del comp.1 costo de 1 und. del comp.2
S21000 costo de 1 und. del comp.1
S11000
Para n=4
S4
2
3
4
5
6
1
0.5
0.5
0.5
0.5
0.5
del componente
1D3 3
3S37
S3
3
4
5
6
7
i =1
Con respecto a la decisin en cada etapa, en todas las etapas es la misma es decir instalar 1, 2
3 unidades con lo cual 1Dn3.
1
0.7x0.5=0.35
0.7x0.7=0.49
0.7x0.9=0.63
0.7x0.9=0.63
0.7x0.9=0.63
D3
2
--0.8x0.5=0.40
0.8x0.7=0.56
0.8x0.9=0.72
3
---0.9x0.5=0.45
0.9x0.7=0.63
f*3(S3)
0.35
0.49
0.63
0.63
0.72
D*3(S3)
1
1
1
1
2
f*2(S2)
0.210
0.294
0.378
0.378
0.441
D*2(S2)
1
1
1
1
2
R1 (D1, S2)
Comp. 1
D*4(S4)
1
2
3
3
3
Para n=2
Diagrama de Bloques:
S1 = 10
f*4(S4)
0.5
0.7
0.9
0.9
0.9
n 1
i=n
3
--0.9
0.9
0.9
Para n=3
1D4 3
2S46
D4
2
-0.7
0.7
0.7
0.7
S2=S1 c1(D1)
D1
Cuntas unidades
instalar?
Comp..2
S3 =S2-c2(D2)
D2
Cuntas unidades
instalar?
1D23
5S29
R3 (D3, S4)
R3 (D3, S4)
S2
5
6
7
8
9
S5=S4-c4(D4)
S =S -c (D )
Comp. 3 4 3 3 3 Comp. 4
D3
Cuntas unidades
instalar?
D3
Cuntas unidades
instalar?
1
0.6x0.35=0.210
0.6x0.49=0.294
0.6x0.63=0.378
0.6x0.63=0.378
0.6x0.72=0.432
D2
2
--0.7x0.35=0.245
0.7x0.49=0.343
0.7x0.63=0.441
3
---0.8x0.35=0.280
0.8x0.49=0.392
Para n=1
ci (1) Sn
i =n
n 1
c (1)
i =1
En esta funcin recursiva los elementos de la funcin se multiplican por estar en serie los
componentes del circuito.
Aplicando la forma tabular de solucin de la programacin dinmica tenemos:
27
1D13
S1=10
S1
10
D1
1
2
3
f*1(S1)
0.5x0.441=0.2205 0.6x0.378=0.2268 0.8x0.378=0.3024 0.3024
Respuesta:
Instalar
Instalar
Instalar
Instalar
1
2
3
4
costo
3
2
1
4
28
D*1(S1)
3
confiabilidad
0.8
0.6
0.7
0.9
* Programacin Dinmica.
= Investigacin Restante
= Desarrollo
SDM
IPD
z
Profesor Investigador
2) Una empresa sabe que la demanda de su producto durante cada uno de los cuatro meses
siguientes ser como sigue: mes1, 1 unidad; mes2, 3 unidades; mes3, 2 unidades; mes4, 4
unidades. Al principio de cada mes, la empresa debe determinar cuntas unidades se deben
producir durante ese mes. Durante un mes en el que se produce cualquier nmero de unidades, se
incurre en un costo de preparacin de 3 dlares. Adems, hay un costo variable de 2 dlares por
cada unidad producida. Al final de cada mes, se incurre en un costo de 0.75 dlares por unidad en
inventario. Las limitaciones de capacidad permiten la produccin de un mximo de 5 unidades
durante cada mes. El tamao de la bodegas de la empresa restringe el inventario final de cada
mes a 4 unidades cuando mucho. La empresa desea determinar un calendario de produccin para
cada mes considerando que la no atencin de una demanda determinada no le significa perjuicio
debido a la gran demanda de su producto, y adems que reduzca al mnimo la suma de los costos
de produccin y de almacenamiento durante los cuatro meses. Suponer que hay 2 unidades a
mano a principio del primer mes y se requiere que al final de los 4 perodos haya 1 unidad.
3) Una empresa sabe que la demanda de su producto durante cada uno de los cuatro meses
siguientes ser como sigue: mes1, 1 unidad; mes2, 3 unidades; mes3, 2 unidades; mes4, 4
unidades. Al principio de cada mes, la empresa debe determinar cuntas unidades se deben
producir durante ese mes. Durante un mes en el que se produce cualquier nmero de unidades, se
incurre en un costo de preparacin de 3 dlares. Adems, hay un costo variable de 2 dlares por
cada unidad producida. Al final de cada mes, se incurre en un costo de 0.75 dlares por unidad en
inventario. Las limitaciones de capacidad permiten la produccin de un mximo de 5 unidades
durante cada mes. El tamao de la bodegas de la empresa restringe el inventario final de cada
mes a 4 unidades cuando mucho. La empresa desea determinar un calendario de produccin para
cada mes considerando que la no atencin de una demanda determinada le significa perjuicio
debido a la poca demanda de su producto, y adems que reduzca al mnimo la suma de los costos
de produccin y de almacenamiento durante los cuatro meses. Suponer que hay 2 unidades a
mano a principio del primer mes y se requiere que al final de los 4 perodos haya 1 unidad.
29
30