Académique Documents
Professionnel Documents
Culture Documents
PROGRAMACIN
DINMICA
INVESTIGACIN DE OPERACIONES II
CONTENIDO
Introduccin2
Programacin Dinmica.3
El problema de la diligencia...4
Un juego aleatorio16
Bibliografa...24
PROGRAMACIN DINMICA 2
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 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).
PROGRAMACIN DINMICA
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 4
El problema de la diligencia.
Este problema se refiere a un vendedor mtico que tuvo que viajar hacia el oeste utilizando
como medio de transporte una diligencia, a travs de tierras hostiles, en el ltimo cuarto del
siglo XIX. An cuando su punto de partida y destino eran fijos, tena un nmero
considerable de opciones para elegir qu estados (o territorios que posteriormente se
convirtieron en estados) recorrer en su ruta.
En la figura 1 se muestran las rutas posibles, en donde cada estado se representa por un
bloque numerado.
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.
Figura 3
Etapa 2: estados 5, 6, 7
conectados con los estados 2, 3,
4.
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.
Figura 5
Etapa 2: Estados 6
conectado con los estados
2, 3, 4.
PROGRAMACIN DINMICA 7
Figura 6
Etapa 2: Estados 7 conectados con
los estados 2, 3, 4.
Figura 7
Etapa 3: estados 8, 9 conectados con
los estados 5, 6, 7.
Figura 8
Etapa 4: Estados 10
conectados con los estados
8, 9
PROGRAMACIN DINMICA 8
Por lo tanto existen 3 rutas ptimas a elegir ya que la tres implican el costo mnimo total
que es 11.
Sin embargo, a medida que se presente cada aplicacin, resultar til considerar las
siguientes preguntas:
Qu relaciones unen las etapas?
Qu informacin se necesita para tomar decisiones factibles en la etapa actual, sin
reexaminar las decisiones que se tomaron en las etapas anteriores?
Con el tiempo, se descubrir que las definiciones que se presentan en las siguientes
aplicaciones proporcionan la forma correcta para resolver el problema.
Mientras tanto, el proceso mental propuesto deber mejorar la comprensin del concepto
de estado.
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.
Ejemplo:
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
rescate
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.
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
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.
En este apartado se presentar algunos ejemplos generales, con objeto de hacer resaltar
la naturaleza estocstica de la programacin dinmica.
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.
2 j , si termina
f i j max n
k 1 pk f i 1 k , si contina
Entonces, la ecuacin recursiva se puede escribir como sigue:
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:
Rn f1 0 x
PROGRAMACIN DINMICA 17
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
la vuelta 4 Solucin ptima
j f5(j) Decisin
1 2 Terminar
2 4 Terminar
3 6 Terminar
4 8 Terminar
5 10 Terminar
f4(j) = mx.{2j,(pkf5(k))}
Etapa 4
= mx.{2j, p1f5 (1)+ p2f5(2)+ p3f5 (3)+ p4f5 (4)+ p5f5
(5)}
= mx.{2j,5}
Resultado
de la vuelta
4 Rendimiento esperado Solucin ptima
1 2 5 5 Girar
PROGRAMACIN DINMICA 18
2 4 5 5 Girar
3 6 5 6 Terminar
4 8 5 8 Terminar
5 10 5 10 Terminar
Resultado de Rendimiento
la vuelta 3 esperado Solucin ptima
4 8 6.15 8 Terminar
5 10 6.15 10 Terminar
Resultado
de la vuelta
3 Rendimiento esperado Solucin ptima
PROGRAMACIN DINMICA 19
4 8 6.8125 8 Terminar
5 10 6.8125 10 Terminar
Etapa 1
f1(0) = mx.{2j, (pkf2(k))}
= mx.{2j, p1f2 (1)+ p2f2(2)+ p3f2 (3)+ p4f2 (4)+ p5f2 (5)}
= mx.{2j, 0.3x6.8125+ 0.25x6.8125 + 0.2x6.8125 + 0.15x8 + 0.1x10
= mx.{2j,7.31}
La nica opcin
disponible al iniciar el juego es girar.
De acuerdo con los cuadros anteriores, la solucin ptima es:
El programa WinQSB (3.9 Mb), cuya propiedad intelectual es del Dr. Yih-Long
Chang y es aplicable a todos los problemas de Investigacin de Operaciones. Para
conocer sus usos y aplicaciones, se incorpora el MANUAL DE USO del WINQSB.
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
Max Z= 10 X1 + 8 X2
Sujeto a:
30X1 +20X2 <= 120
2X1 + 2X2 <= 9
4X1 + 6X2 <= 24
X1,X2 >=0
La nica dificultad que tenemos es el de modelar el programa dentro del Excel, y eso, es
muy fcil. Por supuesto, hay infinidad de maneras de hacerlo, aqu propongo una.
Se ubican las celdas que se correspondern con el valor de las variables de decisin; en
ste caso, las celdas B6 y C6, se les da un formato para diferenciarlas de las dems, aqu
azul oscuro (ver captura abajo). Se ubica tambin, las celdas que contendrn los
coeficientes de las variables de decisin, B4 y C4, y se llenan con sus respectivos valores,
10 y 8. Aunque ste ltimo paso, se podra omitir y dejar los coeficientes definidos en la
celda de la funcin objetivo, as es mejor para los anlisis de sensibilidad y para que la
hoja quede portable para otro programa.
Se ubica la celda que se corresponder con la funcin objetivo (celda objetivo), la B3. En
ella se escribe la funcin que sea, en ste caso, ser el coeficiente de X1 (en B4) por el
valor actual de X1 (en B6) mas el coeficiente de X2 (en C4) por el valor actual de X2 (en
C6) O sea: =$B$4*$B$6+$C$6*$C$4
PROGRAMACIN DINMICA 21
Coeficientes para la primera restriccin: los podemos escribir en la misma columna de las
variables de decisin; en las celdas B7 y C7, con los valores 30 y 20, seguido del sentido
de la desigualdad (<=) y de su correspondiente RHS: 120. A la derecha ubicaremos el
valor actual de consumo de la restriccin, ella se escribir en funcin de las variables de
decisin y de los coeficientes de la restriccin. Esta celda, la utilizar Solver como la real
restriccin, cuando le digamos que el valor de sta celda no pueda sobrepasar la de su
correspondiente RHS. De nuevo ser el valor del coeficiente por el de la
variable:=B7*$B$6+C7*$C$6.
Ntese que ahora B7 y C7 no tienen el signo $. Pues es que luego que se haya escrito
sta celda, se podr arrastrar hacia abajo para que Excel escriba la frmula por nosotros
(la pereza!), pero tome los valores relativos a los coeficientes que le corresponda a los
mismos valores de las variables de decisin. Se repite los pasos anteriores para las otras
restricciones, pero ahora la frmula ser: =B8*$B$6+C8*$C$6 y =B9*$B$6+C9*$C$6.
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.
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