You are on page 1of 23

Programacin Dinmica 1

1. Programacin
Dinmica
INTRODUCCIN: Existe una serie de problemas cuyas soluciones pueden ser expresadas recursivamente
en trminos matemticos, y posiblemente la manera ms natural de resolverlos es mediante un algoritmo
recursivo. Sin embargo, el tiempo de ejecucin de la solucin recursiva, normalmente de orden exponencial y
por tanto impracticable, puede mejorarse substancialmente mediante la Programacin Dinmica.
La programacin dinmica es un mtodo para reducir el tiempo de ejecucin de un algoritmo mediante la
utilizacin de subproblemas superpuestos y subestructuras ptimas, como se describe a continuacin.
Una subestructura ptima significa que soluciones ptimas de subproblemas pueden ser usadas para encontrar
las soluciones ptimas del problema en su conjunto. Por ejemplo, el camino ms corto entre dos vrtices de un
grafo se puede encontrar calculando primero el camino ms corto al objetivo desde todos los vrtices adyacentes
al de partida, y despus usando estas soluciones para elegir el mejor camino de todos ellos. En general, se
pueden resolver problemas con subestructuras ptimas siguiendo estos tres pasos:
1. Dividir el problema en subproblemas ms pequeos.
2. Resolver estos problemas de manera ptima usando este proceso de tres pasos recursivamente.
3. Usar estas soluciones ptimas para construir una solucin ptima al problema original.
Los subproblemas se resuelven a su vez dividindolos ellos mismos en subproblemas ms pequeos hasta que se
alcance el caso fcil, donde la solucin al problema es trivial.
Decir que un problema tiene subproblemas superpuestos es decir que un mismo subproblema es usado para
resolver diferentes problemas mayores. Por ejemplo, en la sucesin de Fibonacci, F3 = F1 + F2 y F4 = F2 + F3
calcular cada trmino supone calcular F 2. Como ambos F3 y F4 hacen falta para calcular F 5, una mala
implementacin para calcular F5 acabar calculando F2 dos o ms veces. Esto ocurre siempre que haya
subproblemas superpuestos: una mala implementacin puede acabar desperdiciando tiempo recalculando las
soluciones ptimas a subproblemas que ya han sido resueltos anteriormente.
Esto se puede evitar guardando las soluciones que ya hemos calculado. Entonces, si necesitamos resolver el
mismo problema ms tarde, podemos obtener la solucin de la lista de soluciones calculadas y reutilizarla. Este
acercamiento al problema se llama memorizacin. Si estamos seguros de que no volveremos a necesitar una
solucin en concreto, la podemos descartar para ahorrar espacio. En algunos casos, podemos calcular las
soluciones a problemas que sabemos que vamos a necesitar de antemano.
En resumen, la programacin dinmica hace uso de:
Subproblemas superpuestos
Subestructuras ptimas
Memorizacin
La programacin dinmica toma normalmente uno de los dos siguientes enfoques:

Ing. Efran Murillo


Programacin Dinmica 2

Top-down: El problema se divide en subproblemas, y estos subproblemas se resuelven recordando las


soluciones en caso de que sean necesarias nuevamente. Es una combinacin de memorizacin y
recursin.
Bottom-up: Todos los subproblemas que puedan ser necesarios se resuelven de antemano y despus son
usados para resolver las soluciones a problemas mayores. Este enfoque es ligeramente mejor en
consumo de espacio y llamadas a funciones, pero a veces resulta poco intuitivo encontrar todos los
subproblemas necesarios para resolver un problema dado.

DEFINICION: Tcnica matemtica que permite dar soluciones secunciales con las que mediante clculos
recursivos se obtiene la solucin ptima del problema.
La programacin dinmica consiste en una tcnica que permite determinar de manera eficiente las decisiones que
optimizan el comportamiento de un sistema que evoluciona a lo largo de una serie de etapas. En otras palabras,
trata de encontrar la secuencia de decisiones que optimiza el comportamiento de un proceso polietpico.
Proporciona un procedimiento sistemtico para determinar la combinacin de decisiones para resolver problemas
divididos en etapas, de tal forma que se maximice la efectividad total. Es caracterstico de estos problemas que
deba adoptarse una poltica general de decisin, y que sta pueda ser aplicada en cada etapa, arrojando un
resultado ptimo para el problema en general, y un resultado factible para cada etapa en que se divide el
problema.

En cada etapa, las decisiones para las etapas restantes son independientes de las decisiones tomadas
anteriormente, aunque hay que tomar en cuenta que se lleg a sta etapa debido a las decisiones tomadas con
anterioridad. La programacin dinmica es, pues, una tcnica muy til para tomar el mejor conjunto de
decisiones interrelacionadas.

ETAPAS
Clculos Recursivos

Solucin
Optima
X1 X2 X3 Xn-1 Xn
Variables Optimizadoras

La programacin dinmica se basa en la nocin matemtica de recursin.

Ejemplo: Fraccin Continua

PRINCIPIO DE OPTIMALIDAD DE RICHARD BELLMAN (1957)


Cuando hablamos de optimizar nos referimos a buscar la mejor solucin de entre muchas alternativas posibles.
Dicho proceso de optimizacin puede ser visto como una secuencia de decisiones que nos proporcionan la
solucin correcta. Si, dada una subsecuencia de decisiones, siempre se conoce cual es la decisin que debe
tomarse a continuacin para obtener la secuencia ptima, el problema es elemental y se resuelve trivialmente
tomando una decisin detrs de otra, lo que se conoce como estrategia voraz.

Ing. Efran Murillo


Programacin Dinmica 3

A menudo, aunque no sea posible aplicar la estrategia voraz, se cumple el principio de optimalidad de Bellman
que dicta que dada una secuencia ptima de decisiones, toda subsecuencia de ella es, a su vez, ptima. En este
caso sigue siendo posible el ir tomando decisiones elementales, en la confianza de que la combinacin de ellas
seguir siendo ptima, pero ser entonces necesario explorar muchas secuencias de decisiones para dar con la
correcta, siendo aqu donde interviene la programacin dinmica.
Contemplar un problema como una secuencia de decisiones equivale a dividirlo en subproblemas ms pequeos
y por lo tanto ms fciles de resolver como hacemos en Divide y Vencers, tcnica similar a la de Programacin
Dinmica. La programacin dinmica se aplica cuando la subdivisin de un problema conduce a:
Una enorme cantidad de subproblemas.
Subproblemas cuyas soluciones parciales se solapan.
Grupos de subproblemas de muy distinta complejidad.

Estructura de la programacin dinmica.

Ejemplo: Empresa comercializadora de alimentos (ECASA)

Ing. Efran Murillo


Programacin Dinmica 4

Funcin de Transformacin

[N de empleados en Tn] = [N de empleados en to] + [empleados contratados en tn-to] -


[empleados dados debajo en tn-to]

[trigo almacenado en Tn] = [trigo almacenado en To) + [recepcin trigo en tn to] [salida de trigo en tn to] -
[merma trigo en tn to]

Problema de Decisin de n etapas (para 12 meses)

Ing. Efran Murillo


Programacin Dinmica 5

Entonces:

Xn = fn (Xn-1 )

Xn-1 = fn-1 (X)

X n = (f n-1 (X))

X X1 X2 Xn-2 Xn-1 Xn
1 2 n-1 n
f f f f
01/01/03 01/02/03 01/03/03 01/11/03 01/12/03 01/0/04

Funcin Generalizada:

Xn = fn (fn-1 (fn-2 (f2 (f1 (x)))))

Ing. Efran Murillo


Programacin Dinmica 6

APLICACIONES:

APLICACIN 1: Modelo de la Ruta ms Corta


En la ciudad 1 queda un aeropuerto internacional con afluencia de muchos turistas que desean conocer los
centros tursticos indicados en la red de la figura mostrada en la parte inferior.
La red muestra la distancia (en kilmetros) de un centro a otro, as mismo muestra las alternativas de traslado.
Una agencia de CityTour internacional desea determinar lo siguiente:
Para los turistas que desean conocer nicamente el centro turstico nmero 10 hallar la trayectoria de menor
distancia.
680 610
2 5 8
790
1050 790 1030
550
580
540
1 3 760 6 10
900
660 940

770 510 1390


790
700
4 7 9
830 270

SOLUCIN:
Estructura:

K1 K2 K3 K4

X1 X2 X3 X4
1 2 3 4

r1 r2 r3 r4
Donde:
Xi: Estado actual en el que se encuentra el turista en la etapa i
X1={1}
X2={2, 3, 4}
X3={5, 6, 7}
X4={8, 9}
Ki: Estado al que dirige en la etapa i
K1={2, 3, 4}
K2={5, 6, 7}
K3={8, 9}
K4={10}
fi (Xi) : Valor acumulado de la funcin objetivo (menor distancia) para el estado Xi desde la etapa i hasta el
destino final (nodo 10)
ri : Distancia recorrida en la etapa i

Ing. Efran Murillo


Programacin Dinmica 7

Kix: Decisin optima en la etapa i dado el estado Xi en el que se encuentra en la etapa i


A continuacin se muestran las iteraciones recursivas del problema aplicando el METODO DE RETROCESO :

Etapa 4 r4(k4) Solucin Optima


x4 k4=10 f4(x4) k4*
8 1030 1030 10
9 1390 1390 10
En la tabla anterior se muestra las distancias ms cortas que hay desde el nodo donde se encuentra actualmente (8 9) al
nodo final (10).

Etapa 3 r3(k3)+f4(k3) Solucin Optima


x3 k3=8 k3=9 f3(x3) k3*
5 610+1030=1640 790+1390=2180 1640 8
6 540+1030=1570 940+1390=2330 1570 8
7 790+1030=1820 270+1390=1660 1660 9
En la tabla precedente se muestra tambin las distancias ms cortas que hay desde el nodo donde se encuentra
actualmente (5, 6 7) hasta el nodo final (10), pasando por 8 9. Estas distancias se determinan aplicando la
ecuacin recursiva r3(k3)+f4(k3).
Por ejemplo para determinar la distancia que hay entre X3=5 y el nodo final (10), tomando la decisin K3=8,
ser igual a la distancia que entre la ciudad 5 a la ciudad 8 mas la distancia que hay entre la ciudad 8 hasta la
ciudad 10, osea 610+1030=1640.

Etapa 2 r2(k2)+f3(k2) Solucin Optima


x2 k2=5 k2=6 k2=7 f2(x2) k2*
2 680+1640=2320 790+1570=2360 1050+1660=2710 2320 5
3 580+1640=2220 760+1570=2330 660+1660=2320 2220 5
4 510+1640=2150 700+1570=2270 830+1660=2490 2150 5

Etapa 1 r1(k1)+f2(k1) Solucin Optima


x1 k1=2 k1=3 k1=4 f1(x1) k1*
1 550+2320=2870 900+2220=3120 770+2150=2920 2870 2
La tabla precedente nos muestra las distancias que desde el nodo 1 hasta el nodo 10, pasando por 2, 3 4 y son
2870, 3120 y 2920 kilmetros, respectivamente.
Por lo tanto la solucin ptima en detalle ser:
Etapa nodo actual nodo destino Interpretacin
1 1 2 Encontrndose en la ciudad 1, se tendr que ir a la ciudad 2.
2 2 5 De la ciudad 2 ir a la ciudad 5.
3 5 8 De la ciudad 5 ir a la ciudad 8
4 8 10 Finalmente de la ciudad 8 ir a la ciudad 10
La distancia recorrida desde la ciudad 1 hasta la ciudad 10 es 2870 kilmetros.

APLICACIN 2 : Anlisis de Reemplazo de Equipos


La principal mquina de un proceso qumico de produccin es inspeccionada anualmente, siendo conservada o
reemplazada. El costo de mantenimiento y el valor de rescate de esta maquina se presenta en la tabla siguiente:
Edad (aos): 1 2 3 4

Ing. Efran Murillo


Programacin Dinmica 8

Costo de mantenimiento (miles de $) 700 300 900 1200


Valor de rescate (miles de $) 950 500 200 0
El costo de una mquina nueva es de $ 2 000 000. La vida til de las instalaciones que realizan este proceso de
produccin es de 5 aos al final de lo cual toda la instalacin ser rescatada. La mquina actual completar 3
aos en la prxima inspeccin. Determine el plan de mantenimiento y reemplazo de esta mquina.
SOLUCIN:
Estructura:

K1 K2 K3 K4 K5 K6
X1=8 X2 X3 X4 X5 X6
1 2 3 4 5 6

r1 r2 r3 r4 r5 r6

Donde:
Xi: Edad del activo al inicio de la etapa i
Ki: Decisin de Conservar o Reemplazar en la etapa i
Para la etapa 6 la nica decisin es Vender.
fi (Xi) : Valor acumulado de la funcin objetivo (menor costo) para el estado del activo Xi desde la etapa i hasta
el final del horizonte de vida.
ri : Costo de reemplazar o conservar el activo.
En la etapa 6 el valor de r6 es el producto del valor de rescate del activo.
x
Ki : Decisin optima en la etapa i dado el estado Xi en el que se encuentra el activo en la etapa i

A continuacin presentamos la red del problema en trminos de costos de reemplazar o conservar el activo.

A continuacin se muestran las iteraciones recursivas del problema:

Ing. Efran Murillo


Programacin Dinmica 9

Ao 5

Ao 4

Ao 3

Los resultados en K3* de RC indican que posiblemente este problema tiene ms de una solucin ptima.

Ao 2

Ing. Efran Murillo


Programacin Dinmica 10

Ao 1

Por lo tanto las polticas ptimas en base a las tablas de recursividad sern: (dos soluciones ptimas)
AO Alternativa 1 Alternativa 2
1 R R
2 C C
3 C R
4 R C
5 C C
V V

Analizando la solucin ptima de la alternativa 1, se tiene:


En el ao 1 la decisin ptima ser de Reemplazar (R), esto implica comprar una mquina nueva, la cual al final
del ao tendr 1 ao de edad.
En el ao 2, dado que se tiene una mquina de 1 ao de edad, la decisin ptima ser Conservar (C), por lo tanto
al final del ao 2 la mquina tendr 2 aos de edad, y as sucesivamente se rescata las mejores decisiones en las
dems etapas del problema.
Entonces si la empresa quiere a la larga optimizar sus costos de operacin y mantenimiento, deber aplicar
cualquiera de las dos alternativas de polticas de reemplazo para sus activos.

APLICACIN 3: Presupuesto de Capital


Una corporacin recibe cuatro propuestas de sus tres plantas respecto a la posible expansin de las instalaciones.
La corporacin tiene un presupuesto de $8 millones para asignarlo. A cada planta se le solicita someta sus
propuestas, indicando el costo total (c) y el ingreso total (R) para cada propuesta. En la tabla siguiente se
resumen los costos e ingresos (en millones de dlares). La meta de la corporacin es la de maximizar el ingreso
total resultante de la asignacin de los $8 millones a las tres plantas. Determine la asignacin ptima de las
propuestas a cada planta, suponiendo que se acepta slo una propuesta por planta.
Planta 1 Planta 2 Planta 3 Planta 4
Propuesta c1 R1 c2 R2 c3 R3 c4 R4
A 0 0 0 0 0 0 0 0
B 3 5 1 2 2 3 1 3
C 4 6 4 5 3 5 3 6
D - - 5 8 6 9 - -
SOLUCIN:
Estructura:

K1 K2 K3 K4
X1=8 X2 X3 X4
1 2 3 4

r1 r2 r3 r4
Donde:
Xi: Capital disponible en la etapa i.

Ing. Efran Murillo


Programacin Dinmica 11

X1: Capital disponible para las 4 plantas


X2: Capital disponible para las plantas 2, 3 y 4
X3: Capital disponible para las plantas 3 y 4
X4: Capital disponible para la planta 4
Ki: Propuesta elegida para la planta i
fi (Xi) : Valor acumulado de la funcin objetivo (mayor rendimiento) desde la etapa i hasta el final
ri : Rendimiento en la etapa i
Kix: Decisin optima en la etapa i dado el estado Xi en el que se encuentra el monto del capital disponible en la
etapa i

A continuacin presentamos las iteraciones recursivas del problema:


Etapa 4

Etapa 3

Etapa 2

Ing. Efran Murillo


Programacin Dinmica 12

Etapa 1

En consecuencia analizando las iteraciones recursivas, se tiene la siguiente Poltica Optima:


CAPITAL CAPITAL
PLANTA DISPONIBLE PROPUESTA REQUERIDO RENDIMIENTO
1 8 B 3 5
2 5 B 1 2
3 4 C 3 5
4 1 B 1 3
TOTAL 15
A la planta 1 se debera asignar la propuesta B, a la planta 2 tambin la B, a la planta 3 se debe asignar la
propuesta C y a la planta 4 la propuesta B, obteniendo un rendimiento total mximo de 15 millones de dlares.

APLICACIN 4: Plan de Produccin


Un constructor produce barcos a pedido, y tiene los siguientes pedidos para ser entregados al final de los
prximos 6 meses:
Mes: Jul Ago Sep Oct Nov Dic
Nro de barcos: 1 2 5 3 2 1
l puede construir hasta 4 barcos en cualquier mes, y puede guardar hasta 3 barcos en stock. El costo de
construccin de los barcos considera un costo fijo de 10 000 dlares y un costo variable de 4 000 dlares por
barco construido. Para mantener un barco en stock durante el periodo de un mes, el constructor gasta $ 1 000.
Cul debe ser el plan optimo de construccin, de modo que se minimice el costo total del constructor?. Formule
un modelo de programacin dinmica para obtener la solucin.
SOLUCIN:
Estructura:

K1 K2 K3 K4 K5 K6
Ing. Efran Murillo
X1=8 X2 X3 X4 X5 X6
1 2 3 4 5 6

r1 r2 r3 r4 r5 r6
Programacin Dinmica 13

Demanda d 1 =1 d2=2 d3=5 d4=3 d5=2 d6=1

Donde:
Xi: Inventario al inicio del mes i
Ki: Nmero de unidades a producir en el mes i
fi (Xi) : Valor acumulado de la funcin objetivo (menor costo) desde la etapa i hasta el final
ri : Costo de produccin + costo de inventario en la la etapa i
Kix: Decisin optima en la etapa i dado el estado Xi en el que se encuentra el inventario inicial disponible en la
etapa i
Las relaciones siguientes expresan los costos en miles de dlares:
10 4 Ki, siKi 0
Cp(Ki) =
0, siKi 0
Ci(Xi) = 1*Xi

A continuacin se muestran las iteraciones recursivas del problema:

Etapa 6: Diciembre

Etapa 5: Noviembre

Para esta etapa debe observarse que 2 X5+K5 3; 2 porque al menos hay que satisfacer la demanda del mes y 3
por que a lo ms se puede almacenar 1 barco para el siguiente mes:
X5+K5-d51 X5+K51+d5, como d5=2, se tiene que X5+K53.

Etapa 4: Octubre

Ing. Efran Murillo


Programacin Dinmica 14

Para esta etapa debe observarse que 3X4+K46; 3 por que la demanda del mes es 3 y 6 por que se puede
almacenar hasta 3 barcos para los posteriores meses:
X4+K4-d43 X4+K43+d4, como d4=3, se tiene que X5+K56.

Etapa 3: Septiembre

Para esta etapa debe observarse que 5 X3+K3 7

Etapa 2: Agosto

Para esta etapa debe observarse que 3 X2+K2 5

Etapa 1: Julio

Para esta etapa debe observarse que 1 X1+K1 4

Por lo tanto la Solucin ptima ser:

SOLUCION
OPTIMAMes X inicial K d X final Cp Ci CT

Ing. Efran Murillo


Programacin Dinmica 15

Jul 0 4 1 3 10+4(4)= 26 3 29
Ago 3 0 2 1 0 1 1
Sep 1 4 5 0 10+4(4)= 26 0 26
Oct 0 3 3 0 10+4(3)= 22 0 22
Nov 0 3 2 1 10+4(3)= 22 1 23
Dic 1 0 1 0 0 0 0
96 5 101
En consecuencia se deber producir 4, 0, 4, 3, 3 y 0 unidades en los meses de Julio, Agosto, Septiembre,
Octubre, Noviembre y Diciembre respectivamente, obteniendo un costo total mnimo de 101 mil dlares.

APLICACION 5: Contratacin de Personal


Un contratista necesita decidir el tamao de su fuerza de trabajo en las 5 semanas siguientes. El tamao mnimo
de la fuerza de trabajo necesario para las 5 semanas es de 6, 5, 3, 6 y 8 respectivamente. El exceso de
trabajadores que se mantienen en la fuerza laboral costar 300 dlares por trabajador, por semana y las nuevas
contrataciones en cualquier semana incurrirn en un costo fijo de 400 ms 200 dlares por trabajador, por
semana.
Si la fuerza de trabajo inicial es de 4 trabajadores, y el costo de despido en cualquiera de las semanas es de 200
dlares, determine los tamaos ptimos de la fuerza de trabajo para el horizonte de planeacin de 5 semanas.
Determinar la poltica de contratacin de personal en un horizonte de 5 semanas
SOLUCIN:
La estructura del problema es:

K1 K2 K3 K4 K5
X1=4
X1 X2 X3 X4
1 2 3 4 5

El requerimiento r1 r2 r3 r4 r5
semanal de 6 5 3 6 8
personal es:

Donde:
Xi: Nmero de trabajadores disponibles al inicio de la semana i
Ki: Nmero de trabajadores a mantener en la semana i
fi (Xi) : Valor acumulado de la funcin objetivo (menor costo) desde la etapa i hasta el final
ri : Costo de contratacin + costo de despido +costo de exceso
Kix: Decisin optima en la etapa i dado el estado Xi en el que se encuentra el nmero de trabajadores disponibles
en la etapa i

Costo Contratacin =
400 200 * NroTrabaja doresContr atados , si NroTrabaja doresContratados 0

0, si NroTrabajadoresContratados 0

Ing. Efran Murillo


Programacin Dinmica 16

Costo de despido = 200*NroTrabajadoresDespedidos


Costo de exceso = 300*NroTrabajadoresExcedentes

Entonces las iteraciones recursivas del problema son:

ETAPA 5

ETAPA 4

ETAPA 3

ETAPA 2

ETAPA 1

Poltica ptima:
Etapa Xi Ki Requerimiento Contrato Despido Exceso Costo

Ing. Efran Murillo


Programacin Dinmica 17

1 4 6 6 2 - - 800
2 6 6 5 - - 1 300
3 6 6 3 - - 3 900
4 6 6 6 - - - -
5 6 8 8 2 - - 800
Total 2800
La solucin ptima es contratar 2 trabajadores en la primera semana, conservar 6 trabajadores durante las 3
semanas siguientes y contratar 2 trabajadores ms en la ltima semana. Esta poltica da como costo mximo
2800 dlares.
Ejercicio: Determinar la poltica ptima de contratacin de personal, si el requerimiento semanal es:
Semana 1 2 3 4 5
Requerimiento 5 3 8 5 7

APLICACIN 6: probabilidad de Funcionamiento


Considere el diseo de un dispositivo electrnico que consta de cuatro componentes principales. Los cuatro
componentes estn dispuestos en serie, de manera que la falla de uno de ellos har que falle todo el dispositivo.
(ver siguiente diagrama):

1 2 3 4

La confiabilidad del dispositivo se puede mejorar a travs de la instalacin de unidades de reserva, lo que
significa que cada componente principal puede incluir hasta tres unidades en paralelo. (ver diagrama siguiente):

El capital total disponible para el diseo del dispositivo es $15 000. Los datos de la confiabilidad R i(ki) y el costo
ci(ki) del i-simo componente ( i = 1, 2, 3, 4) dadas ki unidades en paralelo se resumen a continuacin.
Suponiendo que el dispositivo debe tener como mnimo 1 unidad de cada componente, determine el nmero de
unidades paralelas, ki, que debe tener el dispositivo de cada componente i de tal forma que se maximice su
probabilidad de funcionamiento (confiabilidad) sin exceder el capital asignado.

COMPONENTES EN SERIE
N unidades 1 2 3 4
en paralelo P Costo P Costo P Costo P Costo
1 0,8 3 0,9 3 0,6 2 0,7 4
2 0,82 5 0,95 4 0,8 4 0,75 5
3 - - - - 0,9 5 0,85 7
Nota: el costo esta en miles de soles
SOLUCIN:
Estructura:

Ing. Efran Murillo


Programacin Dinmica 18

Donde:
Xi: Capital disponible para la etapa i
X1: Capital disponible para los 4 componentes
X2: Capital disponible para los componentes 2, 3 y 4
X3: Capital disponible para los componentes 3 y 4
X4: Capi tal disponible para el componente 4
Ki: Nmero de unidades en paralelo asignadas del componente i
fi (Xi) : Valor acumulado de la funcin objetivo (mayor probabilidad de funcionamiento) desde la etapa i hasta el
final
ri : probabilidad de funcionamiento en la etapa i
Kix: Decisin optima en la etapa i dado el estado Xi en el que se encuentra el capital disponible en la etapa i
Entonces las iteraciones recursivas del problema son:
ETAPA 4

ETAPA 3

ETAPA 2

Ing. Efran Murillo


Programacin Dinmica 19

ETAPA 1

POLITICA OPTIMA
Componente 1 2 3 4
Capital Disponible 15 2 9 4
N Unidades 1 1 3 1 Total
Probabilidad 0.8 0.9 0.9 0.7 0.4536
Por lo tanto la solucin es incluir 1 unidad del componente 1, 1 unidad del componente 2 y 3 unidades del
componente 3, de esta manera el dispositivo alcanza una probabilidad de funcionamiento del 45.36%.

APLICACIN 7: Problema de la Mochila


Suponga que se tiene 3 tipos de cargamento a transportar en una barco con capacidad para 10 toneladas. En la
siguiente tabla se muestra el peso y la utilidad de cada tipo de cargamento.

Utilidad/ unidad de
Peso carga
Carga A 4 Ton s/. 1100
Carga B 3 Ton s/.700
Carga C 5 Ton s/.1200

Determinar el nmero de unidades de cada tipo de carga a incluir en el barco de tal manera que se maximice su
utilidad.
SOLUCIN:
Estructura

Donde:
Xi: Capacidad disponible en la etapa i
X1: Capacidad disponible para las 3 cargas
X2: Capacidad disponible para las cargas B y C
X3: Capacidad disponible para la carga C
Ki: Nmero de unidades a incluir en el barco de la carga i
fi (Xi) : Valor acumulado de la funcin objetivo (mayor utilidad) desde la etapa i hasta el final

Ing. Efran Murillo


Programacin Dinmica 20

ri : Utilidad en la etapa i
Kix: Decisin optima en la etapa i dado el estado Xi en el que se encuentra la capacidad disponible del barco en
la etapa i
Entonces las iteraciones recursivas del problema son:
ETAPA 3

ETAPA 2

ETAPA 1

POLITICA OPTIMA

Capacidad
CARGA Disponible Ki* Utilidad
A 10 1 1100
B 6 2 1400
C 0 0 0
Total 2500

Ing. Efran Murillo


Programacin Dinmica 21

Por lo tanto se debe incluir 1 carga del tipo A y 2 cargas del tipo B, alcanzando una utilidad de S/.2500.00.

APLICACIONES PROPUESTAS

APLICACIN 1.- Una compaa dispone de 7 vendedores que deben trabajar en tres regiones. Las
siguiente tabla muestra el nmero de ventas que resulta al asignar n vendedores a una regin:
n Regiones
# de trabajadores 1 2 3
0 10 12 8
1 14 15 12
2 17 18 15
3 23 22 19
4 28 27 22
5 31 33 29
6 35 36 34
7 40 42 39

Si la compaa exige por lo menos 1, 2 y 2 agentes para las regiones 1, 2 y 3 respectivamente, determine la
asignacin ptima de agentes.

APLICACIN 2.- Una empresa sabe que la demanda de su producto durante cada uno de los cuatro meses
siguientes ser como sigue:
Mes 1 2 3 4
Unidades 1 3 2 4

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 1 dlar por cada unidad producida. Al final de cada mes, se incurre en
un costo de 50 centavos de dlar por unidad en inventario. Las limitaciones de capacidad permiten la produccin
de un mximo de 5 unidades durante cada mes. El tamao de las 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 que cumpla a tiempo con las demandas y que reduzca al mnimo la suma de los costos de produccin y
de almacenamiento durante los cuatro meses. Suponer que hay cero unidades al principio del primer mes.

APLICACIN 3.- Una empresa de aparatos electrodomsticos tiene un contrato para entregar el siguiente
nmero de radios durante los tres meses siguientes: mes 1, 200 radios; mes 2, 300 radios; mes 3, 300 radios. Por
cada radio que se produce durante los meses 1 y 2, se incurre en un costo variable de 10 dlares; por cada radio
producido durante el mes 3, se incurre en un costo variable de 12 dlares. El costo de almacenamiento es 1.50
dlares por cada radio en inventario al final de un mes. El costo de preparar la produccin durante un mes es 250
dlares. Los radios que se fabrican durante un mes pueden servir para abastecer la demanda de ese mes o de
alguno futuro. Suponga que la produccin durante cada mes debe ser mltiplo de 100. Dado que el nivel inicial
de inventario es cero, utilice la programacin dinmica para determinar un calendario ptimo de produccin.

APLICACIN 4.- Un extraterrestre est a punto de regresar a casa. Para que su viaje tenga xito deben
funcionar bien el relevador solar, el impulsor y la mquina de caramelos. Encontr tres actores desempleados
que desean ayudar a tener lista la nave para su despegue. En la tabla siguiente se presenta la probabilidad de que
cada componente trabaje en forma correcta durante el viaje, en funcin del nmero de actores desempleados
asignados a la reparacin de cada componente.

Ing. Efran Murillo


Programacin Dinmica 22

NRO DE ACTORES
ASIGNADOS A UN COMPONENTE

COMPONENTE 0 1 2 3
Impulsor .30 .55 .65 .95
Relevador solar .40 .50 .70 .90
Dulcera .45 .55 .80 .98

Con programacin dinmica ayude a maximizar la probabilidad de que el extraterrestre tenga un buen viaje de
regreso.

APLICACIN 5.- Para graduarse en la universidad del estado, ngela necesita pasar al menos uno de los
tres cursos que toma este semestre. Est inscrita en francs, alemn y estadstica. El horario de las dems
actividades le permite dedicar 4 horas de estudio por semana. La probabilidad de que ngela pase cada materia
depende del nmero de horas que dedique a estudiarla (vase tabla siguiente)

PROBABILIDAD DE
HORAS DE APROBAR EL CURSO
ESTUDIO POR
SEMANA Francs Alemn Estadstica
0 .20 .25 .10
1 .30 .30 .30
2 .35 .33 .40
3 .38 .35 .45
4 .40 .38 .50

Utilice programacin dinmica para determinar cuntas horas por semana debe dedicar ngela al estudio de cada
materia. (Sugerencia: Explique por qu maximizar la probabilidad de pasar al menos una materia es equivalente
a minimizar la probabilidad de no aprobar las tres materias).

APLICACIN 6.- Cuesta 40 dlares comprar un telfono en una tienda de departamentos. Los costos
estimados de mantenimiento durante cada ao de funcionamiento se muestra en la tabla siguiente:

AO 1 2 3 4 5
COSTO DE MANTENIMIENTO (Dlares) 20 30 40 60 70

Puedo conservar un telfono cuando mucho 5 aos. Acabo de comprar un telfono nuevo, y mi telfono anterior
no tiene valor de salvamento. Determine cmo reducir al mnimo el costo total de compra y funcionamiento de
un telfono durante los siguientes 6 aos.

APLICACIN 7.- Suponga que un automvil nuevo cuesta 10000 dlares y que el costo anual de operacin
y valor de reventa son los que se muestran en la tabla siguiente:

EDAD DEL VALOR DE COSTO DE


AUTOMVIL REVENTA OPERACIN
(Aos) (Dlares) (Dlares)
1 7000 300 ao 1
2 6000 500 ao 2
3 4000 800 ao 3
4 3000 1200 ao 4

Ing. Efran Murillo


Programacin Dinmica 23

5 2000 2000 ao 5
6 1000 1000 ao 6
Si tengo hoy un auto nuevo, determine una poltica de reemplazo que minimice el costo neto de poseer y operar
un automvil durante los siguientes 6 aos.

APLICACIN 8.- Una Corporacin petrolera tiene 4 millones de dlares para invertir en tres campos
petroleros. Las utilidades que gana el sitio i (i=1, 2, 3) dependen de la cantidad invertida en l, tal como se
muestra en la siguiente tabla:

CANTIDAD UTILIDADES(millones de dlares)


INVERTIDA
(millones de dlares) Campo 1 Campo 2 Campo 3

0 4 3 3
1 7 6 7
2 8 10 8
3 9 12 13
4 11 14 15
Si se supone que la cantidad invertida en cada campo debe ser mltiplo exacto de 1 milln de dlares, determine
con programacin dinmica una poltica de inversiones que eleve al mximo las utilidades que gana la
corporacin con sus tres campos petroleros.

APLICACIN 9.- El nmero de crmenes en cada una de las tres demarcaciones policiacas de una ciudad
depende del nmero de patrullas asignada a ellas (vase la siguiente tabla)

NUMERO DE PATRULLAS
ASIGNADAS A CADA DEMARCACION
0 1 2 3 4 5
Demarcacin 1 14 10 7 4 1 0
Demarcacin 2 25 19 16 14 12 11
Demarcacin 3 20 14 11 8 6 5

Se dispone de un total de 5 patrullas. Con programacin dinmica determine cuntas patrullas deben asignarse a
cada demarcacin.

APLICACIN 10.- Una Corporacin internacional produce aviones livianos a pedido, y tiene los siguientes
pedidos para ser entregados al final de los prximos 5 aos:

Ao: 1 2 3 4 5
Nro de aviones: 3 5 2 1 4

La Corporacin puede construir hasta 4 aviones en cualquier ao, y puede guardar hasta 3 aviones en stock. El
costo de construccin de los aviones considera un costo fijo de 1 000 000 de dlares y un costo variable de 500
000 dlares por avin construido. Para mantener un avin en stock durante el periodo de un ao, el constructor
gasta $ 50 000. Cul debe ser el plan optimo de construccin, de modo que se minimice el costo total de la
corporacin?. Formule un modelo de programacin dinmica para obtener la solucin.

Ing. Efran Murillo

You might also like