Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROGRAMACIN DINMICA
PROGRAMACIN DINMICA
1.1 Caractersticas de los problemas de programacin dinmica
Las caractersticas de la programacin dinmica se emplean para formular e identificar la
estructura de los problemas de este tipo.
A continuacin se presentarn estas caractersticas bsicas que distinguen a los
problemas de programacin dinmica.
1. El problema se puede dividir en etapas que requieren una poltica de decisin en
cada una de ellas. En muchos problemas de programacin dinmica, la etapa es la
cantidad de tiempo que pasa desde el inicio del problema, en ciertos casos no se
necesitan decisiones en cada etapa.
2. Cada etapa tiene un cierto nmero de estados asociados a ella. Por estado se
entiende la informacin que se necesita en cualquier etapa para tomar una decisin
ptima.
3. El efecto de la poltica de decisin en cada etapa es transformar el estado actual en
un estado asociado con la siguiente etapa (tal vez de acuerdo a una distribucin de
probabilidad).
4. El procedimiento de solucin est diseado para encontrar una poltica ptima para
el problema completo, es decir, una receta para las decisiones de la poltica ptima
en cada etapa para cada uno de los estados posibles.
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
ptimalidad para la programacin dinmica). En general en los problemas de PD, el
conocimiento del estado actual del sistema expresa toda la informacin sobre su
comportamiento anterior, y esta informacin es necesario para determinar la poltica
ptima de ah en adelante.
6. El procedimiento de solucin se inicia al encontrar la poltica ptima para la ltima
etapa. La poltica ptima para la ltima etapa prescribe la poltica ptima de decisin
para cada estado posible en esa etapa.
7. Se dispone de una relacin recursiva que indica la poltica ptima para la etapa
dada la poltica optima para la etapa (n+1)
A pesar de esta caracterstica, los problemas que pueden ser atacados con la PD tienen
otras dos propiedades adicionales:
Slo un nmero reducido de variables se debe conocer en cualquier etapa con el fin
de describir al problema. En efecto, los problemas de la PD se caracterizan por la
dependencia de los resultados derivados de decisiones sobre un nmero reducido
de variables.
El resultado de una decisin en cualquier etapa altera los valores numricos de un
nmero reducido de variables relevantes al problema. La decisin actual ni
PROGRAMACIN DINMICA
PROGRAMACIN DINMICA
Puesto que se ofrecan seguros de vida a los pasajeros de las diligencias, este vendedor
no quiso dejar pasar la oportunidad y se propuso determinar la ruta ms segura. Como el
costo de cada pliza se basaba en una evaluacin cuidadosa de la seguridad de ese
recorrido, la ruta ms segura deba ser aquella con la pliza de seguro de vida ms barata.
El costo de la pliza estndar para el viaje en diligencia del estado i al j se muestra en
figura 1 como una etiqueta en los caminos (flechas) para ir de un estado a otro.
As la pregunta central es: cul ruta (conjunto de caminos) minimiza el costo total de la
pliza?, para contestar esta pregunta es necesario hacer notar que, el procedimiento poco
inteligente de seleccionar el camino ms barato ofrecido en cada etapa sucesiva no
necesariamente conduce a una decisin ptima global.
La PD parte de una pequea porcin del problema y encuentra la solucin ptima para ese
problema ms pequeo. Entonces gradualmente agranda el problema, hallando la solucin
ptima en curso a partir de la anterior, hasta que se resuelve por completo el problema
original.
A continuacin se explican los detalles involucrados en la implementacin de esta filosofa
general. La idea es calcular el costo mnimo (acumulativo) de la pliza de seguros entre los
dos estados de cada etapa y despus utilizar esos costos como datos de entrada para la
etapa inmediata siguiente.
PROGRAMACIN DINMICA
Figura 3
Etapa 2: estados 5, 6, 7
conectados con los estados 2, 3,
Esta informacin, junto con los costos mnimos de los estados 2, 3 y 4 (figura 4)
determinan el costo mnimo (acumulativo) para el estado 5 como:
Figura 4
Etapa 2: Estados 5
conectado con los
estados 2, 3, 4.
PROGRAMACIN DINMICA
Figura 6
Etapa 2: Estados 7 conectados con
los estados 2, 3, 4.
CLCULOS PARA LA ETAPA 3
Para los clculos se toman los datos de la figura 5.7
PROGRAMACIN DINMICA
Figura 7
Etapa 3: estados 8, 9 conectados con
los estados 5, 6, 7.
Figura 8
Etapa 4: Estados 10
En resumen, el costo mnimo total desde el estado 1 al estado 10 es
conectados con los estados
de 11.
8, 9
El estado 10 se puede alcanzar desde los estados 8 y 9.
PROGRAMACIN DINMICA
PROGRAMACIN DINMICA
x ibi y C 2 (x ix i1)
C1 (x ib 1)
, el costo de contratar,
trabajadores adicionales.
PROGRAMACIN DINMICA
Ejemplo:
Un contratista constructor estima que la fuerza de trabajo necesaria durante las prximas 5
semanas ser de 5, 7, 8, 4 y 6 trabajadores, respectivamente. La mano de obra en exceso
que se conserve le costara $300 por trabajador semanalmente, y la nueva contratacin en
cualquiera semana tendr un costo fijo de $400 ms $200 por trabajador y por semana.
Los datos del problema se resumen como sigue:
PROGRAMACIN DINMICA
10
PROGRAMACIN DINMICA
11
Ejemplo:
PROGRAMACIN DINMICA
12
Una empresa debe determinar la poltica ptima, durante los prximos 4 aos (n=4), de
reemplazo de una mquina, que en la actualidad tiene 3 aos. La tabla 1 muestra los
datos del problema. La empresa establece que toda mquina que tenga 6 aos de edad
debe reemplazarse. El costo de una maquina nueva es $100,000.
Tabla 1.
Aos con relacin a sus
utilidades, costos y valor de
PROGRAMACIN DINMICA
13
Tabla 2
Representacin de la
edad de la maquina en
funcin del ao de
decisin.
La red indica que al comenzar el ao 2, las edades posibles de las maquinas son de 1 4
aos.
Para el comienzo del ao 3, las antigedades posibles son 1, 2 y 5 aos, y para el
comienzo del ao 4, las antigedades posibles son 1, 2, 3 y 6 aos.
La solucin de la red de la Tabla 2 equivale a determinar la ruta ms larga, del inicio del
ao 1 al final del ao 4. Se iniciara la forma tabular para resolver el problema. Todos los
valores son en miles de $. Ntese que si se reemplaza una mquina en el ao 4 (es decir,
al final del horizonte de planeacin) los ingresos incluirn el valor de recuperacin, s(t), de
la mquina reemplazada y el valor de recuperacin, s(1) de la mquina de repuesto.
PROGRAMACIN DINMICA
14
PROGRAMACIN DINMICA
15
Tabla 3.
Las polticas alternativas ptimas empezando en el ao 1 son (R, K, K, R) y
(R, R, K, K). El costo total es de 55,300 dlares.
PROGRAMACIN DINMICA
16
Un juego aleatorio
Es una variacin del juego de la ruleta rusa, se hace girar una rueda con marcas de n
nmeros consecutivos: 1 a n, en su superficie. La probabilidad de que la rueda se detenga
en el nmero i despus de un giro es pi. Un jugador paga $x por el privilegio de hacer girar
la rueda un mximo de m giros. La recompensa para el jugador es el doble de la cantidad
obtenida en el ltimo giro. Suponiendo que le jugador se repite (hasta con m giros cada
vez) una cantidad razonablemente grande de veces, propone una estrategia optima para el
jugador.
Se puede formular el problema como un modelo de programacin dinmica con las
siguientes definiciones:
1 La etapa i corresponde a la i-sima vuelta de la rueda, i = 1, 2, , m
2 En cada etapa hay dos alternativas: se gira la rueda una vez ms o se termina el
juego
3 El estado j del sistema en la etapa i es el nmero que se obtuvo la ltima vez que se
gir la rueda, el cual est entre 1 y n
Sea
fi(j) = Ingreso mximo esperado cuando el juego est en la etapa i (el giro) y que el
resultado del ltimo giro fue j
En este caso se tiene que
2 j , si termina
f i j max
k 1
pk f i 1 k , si contina
PROGRAMACIN DINMICA
17
Rn f1 0 x
Los clculos comienzan con fm+1 y terminan con f1, de
modo que hay m+1 etapas. Como f1(0) representa el rendimiento esperado de las m
vueltas, as que el rendimiento esperado neto, Rn, es:
Ejemplo:
Supongamos que la ruleta est marcada con los nmeros 1 a 5 y que las probabilidades de
que se detenga en cada nmero son p1 = 0.30, p2 = 0.25, p3 = 0.20, p4 = 0.15, p5 = 0.10.
El jugador paga $5 por un mximo de cuatro vueltas. Determine la estrategia ptima para
cada una de las cuatro vueltas y encuentre el rendimiento esperado neto asociado.
Etapa 5
f5(j) = 2j
Resultado
de
Etapa 4
la vuelta 4
f4(j) = mx.{2j,(pkf5(k))}
f5(j)
Decisin
= mx.{2j,0.3x2 + 0.25x4 + 0.2x6 + 0.15x8 +
0.1x10}
2
Terminar
= mx.{2j,5}
Solucin ptima
= mx.{2j, p1f5 (1)+ p2f5(2)+ p3f5 (3)+ p4f5 (4)+ p5f5
(5)}
2
Resultado
de la vuelta
3
4
4
Terminar
Rendimiento esperado
4
j
Terminar
Solucin ptima
8
Terminar
Terminar
Girar
f4(j)
Decisin
5
1
2 10
Terminar
5
Girar
Girar
PROGRAMACIN DINMICA
18
Terminar
Terminar
10
10
Terminar
Etapa 2
f2(j) = mx.{2j, (pkf3(k))}
= mx.{2j, p1f3 (1)+ p2f3(2)+ p3f3 (3)+ p4f3 (4)+ p5f3 (5)}
= mx.{2j,0.3x6.15 + 0.25x6.15 + 0.2x6.15 + 0.15x8 +
0.1x10}
PROGRAMACIN DINMICA
19
= mx.{2j,6.8125}
Resultado
de la vuelta
3
Rendimiento esperado
Solucin ptima
Terminar
Girar
f4(j)
Decisin
6.8125
6.8125
Girar
6.8125
6.8125
Girar
6.8125
6.8125
Girar
6.8125
Terminar
10
6.8125
10
Terminar
Etapa 1
PROGRAMACIN DINMICA
20
El programa InvOp (361 kb), desarrollado por la Universidad del Cuyo en Argentina,
se aplica para la solucin de problemas relacionados con transporte y redes.
El programa Lingo, propiedad de Lindo Systems Inc (USA), que dado su gran
tamao (18.9 Mb), se recomienda que Usted lo recupere directamente de la pgina
Web del propietario de dicha tecnologa http:// www.lindo.com
Posteriormente se irn incorporando otros programas de computacin especficos para
cada caso y cuyo uso ser descrito mediante ejemplos en la Clase.
Uso del programa Solver de Excel (Microsoft)
Para conocer la aplicacin del mtodo SOLVER de EXCEL (Microsoft), se utilizar un
ejemplo prctico:
Max Z= 10 X1 + 8 X2
Sujeto a:
30X1 +20X2 <= 120
PROGRAMACIN DINMICA
21
PROGRAMACIN DINMICA
22
El resto del formato es para darle una presentacin ms bonita a la hoja. Ahora a
resoverlo. Al hacer click en Herramientas, Solver se tendr una pantalla como la siguiente.
Lo primero que hay que hacer es especificar la celda objetivo y el propsito: maximizar. Se
escribe B3 (o $B3 B$3 $B$3 como sea, da igual), en el recuadro "cambiando las
celdas", se hace un click en la flechita roja, para poder barrer las celdas B6 y C6; lo mismo
da si se escriben directamente los nombres.
PROGRAMACIN DINMICA
23
Y finalmente, se hace click en resolver y ya. Parece un poco largo en comparacin con los
otros paquetes de programacin lineal, pero esto se har slo una vez, para los prximos
programas se podr utilizar la misma hoja cambiando los coeficientes. Sin embargo, como
se puede notar, la flexibilidad de modelar es muy grande, y se puede introducir
directamente en una hoja donde se haga el anlisis de Planeacin Agregada, Transporte,
Inventario, Secuencias, balanceo, etc.
PROGRAMACIN DINMICA
24
BIBLIOGRAFA