Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALVARADO
PROGRAMACI
N
DINMICA
INVESTIGACIN DE OPERACIONES
II
PROGRAMACIN DINMICA
CONTENIDO
Introduccin2
Programacin Dinmica.3
1.1 Caractersticas de los problemas de programacin dinmica...3
1.2 Ejemplos de programacin dinmica...4
El problema de la diligencia...4
1.3 Programacin dinmica determinista...8
Aplicaciones de programacin dinmica determinstica8
Modelo del tamao de la fuerza de trabajo9
Modelo de reposicin de equipo..11
1.4 Programacin dinmica probabilista..15
Aplicaciones de programacin dinmica probabilsticas.15
Un juego aleatorio16
1.5 Uso de programas de computacin19
Bibliografa...24
PROGRAMACIN DINMICA
Introduccin
La PD fue desarrollada por Richard Bellman y G B Dantzing. Sus importantes
contribuciones sobre esta tcnica cuantitativa de toma de decisiones se publicaron en 1957
en un libro del primer autor denominado Dynamic Programming (Princeton University
Press. Princeton, New Jersey) (Domnguez, 2000).Inicialmente a la PD se le denomin
programacin lineal estocstica problemas de programacin lineal con incertidumbre.
La programacin dinmica (PD) determina la solucin ptima de un problema de n
variables descomponindola en n etapas, con cada etapa incluyendo un sub problema de
una sola variable. La principal contribucin de la PD es el principio de optimalidad, el cual
establece que una poltica ptima consiste de sub polticas ptimas, un marco de
referencia para descomponer el problema en etapas.
La programacin dinmica es una tcnica que se puede aplicar para resolver muchos
problemas de optimizacin. La mayor parte de las veces, la programacin dinmica obtiene
soluciones con un avance en reversa, desde el final de un problema hacia el principio con
lo que un problema grande y engorroso se convierte en una serie de problemas ms
pequeos y ms tratables.
As, la programacin dinmica se puede definir como una tcnica matemtica til que
resuelve una serie de decisiones secuenciales, cada una de las cuales afecta las
decisiones futuras. Proporciona un procedimiento sistemtico para determinar la
combinacin de decisiones que maximiza la efectividad total (Taha, 2004).
En contraste para el problema de programacin dinmica, trata de un enfoque de tipo
parcial para la solucin de problemas y las ecuaciones especficas que se usan se deben
desarrollar para que represente cada situacin individual.
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
10
x ibi y C 2 (x ix i1)
C1 (x ib 1)
, el costo de contratar,
trabajadores adicionales.
PROGRAMACIN DINMICA
11
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
12
PROGRAMACIN DINMICA
13
Ejemplo:
PROGRAMACIN DINMICA
14
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
15
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
16
PROGRAMACIN DINMICA
17
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
18
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
19
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
20
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
21
= 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
22
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
23
PROGRAMACIN DINMICA
24
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
25
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
26
BIBLIOGRAFA