Unidad 1.programación Dinámica
Unidad 1.programación Dinámica
Unidad 1.programación Dinámica
DINMICA
INVESTIGACIN DE OPERACIONES II
Keila Zurisadai Flores Cruz, Josu Seixas Del ngel Domnguez
Guillermo Garca Gonzlez, Hipolito Camarillo Zagada, Cesar
Galvn Gonzlez
Ing. Nallely Herrera Bustamante
21/09/2013
INSTITUTO TECNOLGICO DE CERRO AZUL
PROGRAMACIN DINMICA 1
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 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 (PD) determina la solucin ptima de un problema de
n variables descomponindola en n etapas, con cada etapa incluyendo un subproblema de
una sola variable. La principal contribucin de la PD es el principio de optimalidad, el cual
establece que una poltica ptima consiste de subpolticas 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 3
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 4
incrementa ni decrementa el nmero de factores sobre los cuales depende el
resultado. As, para la siguiente decisin en la secuencia, el mismo nmero de
variables se considera (Hillier, 1991).
En un problema de PD una serie de decisiones se deben tomar en una secuencia dada.
Cuando esto se cumple, una poltica ptima se debe perseguir. No importa cules fueron
los estados y decisiones iniciales, las decisiones restantes constituirn una poltica ptima
con respecto al estado resultante de la primera decisin.
1.2 Ejemplos de Modelo de Programacin Dinmica.
El problema de la diligencia.
Un problema construido especialmente por el Profesor H M Wagner de la Universidad de
Stanford para ilustrar las caractersticas e introducir la terminologa de la PD es 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.
Figura 1. Sistema de caminos para el problema de la diligencia.
PROGRAMACIN DINMICA 5
De la ilustracin se puede observar que el viaje se puede realizar en 4 etapas, partiendo
del estado 1 hasta su destino en el estado 10:
Primera etapa: estados 1 y (2, 3, 4)
Segunda etapa: estados (2, 3,4) y (5, 6, 7)
Tercera etapa: estados (5,6,7) y (8, 9)
Cuarta etapa: estado (8,9) y10
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.
CLCULOS PARA LA ETAPA 1
Considerando los estados asociados con la etapa 1, se puede ver que los estados 2, 3 y 4
estn conectados cada uno con el estado inicial 1 por una sola flecha como se puede
apreciar en la figura 2. Por consiguiente, para la etapa 1 se tiene
Costo mnimo al estado 2 = 2 (desde el estado 1)
Costo mnimo al estado 3 = 4 (desde el estado 1)
Costo mnimo al estado 4 = 3 (desde el estado 1)
Figura 2 etapa 1: estados 2, 3,4
conectados con el estado inicial
1
PROGRAMACIN DINMICA 6
CLCULOS PARA LA ETAPA 2
Despus se avanza a la etapa 2 para determinar los costos mnimos
(Acumulativos) para los estados 5, 6 y 7 como se aprecia en la figura 3.
Considerando primero al estado 5, se ve que existen tres alternativas; a saber (2,5), (3,5),
(4,5).
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:
De forma similar para el estado 6 (figura 5), se tiene:
Figura 3
Etapa 2: estados 5, 6, 7
conectados con los estados 2, 3,
4.
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
Finalmente para el estado 7 (figura 6), se tiene:
CLCULOS PARA LA ETAPA 3
Para los clculos se toman los datos de la figura 5.7
CLCULOS PARA LA ETAPA 4
Para los clculos se toman los datos de la figura yuttty|5558
Figura 6
Etapa 2: Estados 7 conectados con
los estados 2, 3, 4.
Figura 8
Etapa 4: Estados 10
conectados con los estados
8, 9
Figura 7
Etapa 3: estados 8, 9 conectados con
los estados 5, 6, 7.
PROGRAMACIN DINMICA 8
En resumen, el costo mnimo total desde el estado 1 al estado 10 es de 11.
El estado 10 se puede alcanzar desde los estados 8 y 9.
Si se elige el estado 9, este proviene de haber elegido el estado 6, el cual a su vez de
haber elegido el estado 4 y finalmente el estado 1.
Es decir la ruta ptima es: 1, 4, 6, 9,10
Si se elige el estado 8, este proviene de haber elegido el estado 5, el cual a su vez de
haber elegido el estado 4 o el 3.
Si se elige el estado 4, la ruta ptima es: 1, 4, 5, 8,10.
Si se elige el estado 3, la ruta ptima es: 1, 3, 5, 8,10
Por lo tanto existen 3 rutas ptimas a elegir ya que la tres implican el costo mnimo total
que es 11.
1.3 Programacin Dinmica Determinstica (PDD)
En este caso se profundiza sobre el enfoque de programacin dinmica en los problemas
determinsticos, en donde el estado en la siguiente etapa est completamente determinado
por el estado y la poltica de decisin de la etapa actual. El caso probabilstico en el que
existe una distribucin de probabilidad para el valor posible del siguiente estado este se
analizara ms adelante.
Aplicaciones de programacin dinmica determinstica
Algunas de las aplicaciones de programacin dinmica determinstica son:
Modelo de Volumen-Carga Mochila
Modelo del tamao de la fuerza de trabajo
Modelo de reposicin de equipos
Modelo de inversin
Modelos de inventarios
A continuacin se presentarn algunas de estas aplicaciones, cada una de las cuales
muestra una nueva idea en la puesta en prctica de la PD.
A medida que se presente cada aplicacin, es importante prestar atencin a los tres
elementos bsicos de un modelo de PD:
Definicin de las etapas
Definicin de las polticas o alternativas
Definicin de los estados para cada etapa
De los tres elementos, la definicin del estado por lo comn es la ms sutil.
Las aplicaciones que se presentan a continuacin muestran que la definicin de estado
vara dependiendo de la situacin que se est modelando.
PROGRAMACIN DINMICA 9
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?
La experiencia indica que la comprensin del concepto de estado se puede mejorar
cuestionando la validez de la forma que dicta la intuicin.
Se sugiere intentar una definicin de estado diferente que pueda parecer ms lgica y
utilizarla en los clculos recursivos.
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.
Modelo del tamao de la fuerza de trabajo
En algunos proyectos de construccin, las contrataciones y los despidos se ejercen para
mantener un nmero de empleados que satisfaga las necesidades del proyecto. Debido a
que las actividades tanto de contratacin como de despido incurren en costos adicionales,
cmo se debe mantener el nmero de empleados a todo lo largo de la vida del proyecto?
Supngase que el proyecto se ejecutara durante el lapso de n semanas, y que la fuerza de
trabajo mnima requiere en la semana i es
, el costo de contratar,
trabajadores adicionales.
Los elementos del modelo de programacin dinmica se definen como sigue:
PROGRAMACIN DINMICA 10
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 11
Modelo de reposicin de equipo
Mientras ms tiempo este en servicio una mquina, su costo de mantenimiento es mayor y
su productividad menor. Cuando la mquina llegue a cierta antigedad ser ms
econmico reemplazarla. Es as que entonces el problema se reduce a determinacin de la
antigedad ms econmica de una mquina.
PROGRAMACIN DINMICA 12
Supngase que se estudia el problema de reposicin de la mquina durante un lapso de n
aos. Al inicio de cada ao, se debe decidir si mantener la maquina en servicio por un ao
ms o reemplazarla por una nueva. Sean r(t), c(t), los ingresos y el costos de operacin
anuales, y s(t) el valor de recuperacin de una maquina con t aos de antigedad. El costo
de adquisicin de una mquina nueva en cualquier ao es I.
Los elementos del modelo de programacin dinmica son:
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.
La determinacin de los valores factibles de la edad de la mquina en cada etapa requiere
de algo de ingenio. En la Tabla 2 se resume la red que representa el problema. Al iniciar el
Tabla 1.
Aos con relacin a sus
utilidades, costos y valor de
rescate
PROGRAMACIN DINMICA 13
ao 1 se tiene una mquina de 3 aos de antigedad. Se puede reemplazarla (R) o
conservarla (k) durante otro ao. Al inicia el ao 2, si hay reemplazo, la maquina nueva
tendr 1 ao de edad; en caso contrario, la mquina actual tendr 4 aos de antigedad.
Los mismos razonamientos se aplican al iniciar los aos 2 o 4. Si se reemplaza una
maquina con 1 ao de antigedad al iniciar los aos 2 y 3, su reposicin tendr 1 ao de
antigedad al inicio del ao siguiente. Tambin, al iniciar el ao 4, se debe reemplazar una
mquina con 6 aos de servicio, y al final del ao 4 se desechan las mquinas, con
recuperacin S.
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.
Tabla 2
Representacin de la
edad de la maquina en
funcin del ao de
decisin.
PROGRAMACIN DINMICA 14
La Tabla 3 se resume el orden en el cual se obtiene la solucin ptima. Al iniciar el ao 1,
la decisin ptima para t=3 es reemplazar la mquina. As, la mquina nueva tendr 1 ao
al iniciar el ao 2, y t=1 al iniciar el ao 2 determina conservarla o reemplazarla. Si se
reemplaza, la nueva mquina tendr 1 ao al inicial el ao 3; en caso contrario, la maquina
conservada tendr 2 aos. El proceso se contina de esta forma hasta llegar al ao 4.
PROGRAMACIN DINMICA 15
1.4 Programacin Dinmica Probabilstica (PDP)
La programacin dinmica probabilstica (PDP) es una tcnica matemticamente til para
la toma de decisiones interrelacionadas, se presenta cuando el estado en la siguiente
etapa no est determinado por completo por el estado y la poltica de decisin de la etapa
actual. En su lugar existe una distribucin de probabilidad para determinar cul ser el
siguiente estado. Sin embargo, esta distribucin de probabilidad si queda bien determinada
por el estado y la poltica de decisin en la etapa actual.
Por consiguiente la diferencia entre la programacin dinmica probabilstica y la
programacin dinmica determinstica (PDD) est en que los estados y los retornos o
retribuciones en cada etapa son probabilsticos. La programacin dinmica probabilstica
se origina en especial en el tratamiento de modelos estocsticos de inventarios y en los
procesos markovianos de decisin.
En este apartado se presentar algunos ejemplos generales, con objeto de hacer resaltar
la naturaleza estocstica de la programacin dinmica.
Aplicaciones de programacin dinmica probabilstica
Algunas de las aplicaciones de programacin dinmica probabilstica son:
Un juego aleatorio
Problema de inversin
Maximizacin del evento de lograr una meta.
A continuacin se presentar una de estas aplicaciones.
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 p
i.
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
f
i
(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
Entonces, la ecuacin recursiva se puede escribir como sigue:
Los clculos comienzan con f
m+1
y terminan con f
1
, de modo que hay m+1 etapas. Como
f
1
(0) representa el rendimiento esperado de las m vueltas, as que el rendimiento esperado
neto, R
n
, es:
( )
( )
1
1
2 , si termina
max
, si contina
n i
k i
k
j
f j
p f k
+
=
( )
1
0
n
R f 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 p
1
= 0.30, p
2
= 0.25, p
3
= 0.20, p
4
= 0.15, p
5
= 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 4
f
4
(j) = mx.{2j,(p
k
f
5
(k))}
= mx.{2j, p
1
f
5
(1)+ p
2
f
5
(2)+ p
3
f
5
(3)+ p
4
f
5
(4)+ p
5
f
5
(5)}
= mx.{2j,0.3x2 + 0.25x4 + 0.2x6 + 0.15x8 +
0.1x10}
= mx.{2j,5}
Resultado
de la vuelta
4
Rendimiento esperado
Solucin ptima
j
Terminar Girar
f
4
(j) Decisin
1
2 5
5 Girar
Etapa 5
f
5
(j) = 2j
Resultado de
la vuelta 4
Solucin ptima
j
f
5
(j) Decisin
1
2 Terminar
2
4 Terminar
3
6 Terminar
4
8 Terminar
5
10 Terminar
PROGRAMACIN DINMICA 18
2
4 5
5 Girar
3
6 5
6 Terminar
4
8 5
8 Terminar
5
10 5
10 Terminar
Etapa 3
f
3
(j) = mx.{2j, (p
k
f
4
(k))}
= mx.{2j, p
1
f
4
(1)+ p
2
f
4
(2)+ p
3
f
4
(3)+ p
4
f
4
(4)+ p
5
f
4
(5)}
= mx.{2j,0.3x5 + 0.25x5 + 0.2x6 + 0.15x8 +
0.1x10}
= mx.{2j,6.15}
Resultado de
la vuelta 3
Rendimiento
esperado
Solucin ptima
j
Terminar Girar
f
4
(j) Decisin
1
2 6.15
6.15 Girar
2
4 6.15
6.15 Girar
3
6 6.15
6.15 Girar
4
8 6.15
8 Terminar
5
10 6.15
10 Terminar
Etapa 2
f
2
(j) = mx.{2j, (p
k
f
3
(k))}
= mx.{2j, p
1
f
3
(1)+ p
2
f
3
(2)+ p
3
f
3
(3)+ p
4
f
3
(4)+ p
5
f
3
(5)}
= mx.{2j,0.3x6.15 + 0.25x6.15 + 0.2x6.15 + 0.15x8 +
0.1x10}
= mx.{2j,6.8125}
Resultado
de la vuelta
3
Rendimiento esperado
Solucin ptima
PROGRAMACIN DINMICA 19
j
Terminar Girar
f
4
(j) Decisin
1
2 6.8125
6.8125 Girar
2
4 6.8125
6.8125 Girar
3
6 6.8125
6.8125 Girar
4
8 6.8125
8 Terminar
5
10 6.8125
10 Terminar
Etapa 1
La nica opcin
disponible al iniciar el juego es girar.
De acuerdo con los cuadros anteriores, la solucin ptima es:
Vuelta nmero Estrategia ptima
1 Comienza el juego. Gire
2
Contine si la vuelta 1 produce 1,2, o 3; de otra
forma, termine el juego
3
Contine si la vuelta 2 produce 1, 2 o 3; de otra
forma, termine el juego
4
Contine si la vuelta 3 produce 1 o 2. De otra
forma, termine el juego
Ingreso neto esperado= $7.31-$5.00= $2.31
1.5 Uso de Programas de Computacin
Adicional al programa SOLVER, incluido en EXCEL-2000 de MIcrosoft (cuya explicacin
didctica del funcionamiento del programa Solver (445 kb), se incluye en este documento
que puede ser bajado por Usted), se incorporan otros programas que operan bajo sistema
WIndows 98/ME/2000/XP, debiendo disponer de una computadora actualizada con
f
1
(0) = mx.{2j, (p
k
f
2
(k))}
= mx.{2j, p
1
f
2
(1)+ p
2
f
2
(2)+ p
3
f
2
(3)+ p
4
f
2
(4)+ p
5
f
2
(5)}
= mx.{2j, 0.3x6.8125+ 0.25x6.8125 + 0.2x6.8125 + 0.15x8 + 0.1x10
= mx.{2j,7.31}
PROGRAMACIN DINMICA 20
procesador Pentium II y superiores, memoria mnima de 256 kb y capacidad de disco de 50
MB y los cuales pueden ser bajados a continuacin:.
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 PrgLin, cuya propiedad es de la Universidad de Lisboa (Portugal), el
cual se aplica para soluciones grficas de problemas de dos dimensiones.
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
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 activa Excel y en una hoja:
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 ahora para las restricciones: se hace click en agregar...
PROGRAMACIN DINMICA 22
En F7 est la primera restriccin, como se puede ver en la captura. Se especifica el sentido
de la restriccin <=, >= =. Aqu tambin se puede especificar el tipo de variable, por
defecto es continua, pero se puede escoger "Int" para entera o "Bin" para binaria. En el
recuadro de la derecha establecemos la cota. Aqu podemos escribir 120 pero mejor
escribimos $E$7 para que quede direccionado a la celda que contiene el 120, y despus lo
podramos cambiar y volver a encontrar la respuesta a manera de anlisis de sensibilidad.
Se repite ste paso para las otras dos restricciones.
La condicin de no negatividad hay que incluirla manualmente, as:
El cuadro de dilogo debe lucir as:
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
Domnguez, A. (2000). Programacin dinmica
http://www.slideshare.net/Alexdfar/programacin-dinmica-6588350.
Hillier, F.S. (1991). Introduccin a la Investigacin de Operaciones (3ra.
Edicin). Mxico: McGraw-Hill.
Taha, H.A. (2004). Investigacin de Operaciones (7. Edicin). Mxico:
PEARSON EDUCATION.
Goic F., Marcel. Programacin Dinmica. Facultad de Ciencias Fsicas y
Matemticas-Departamento de Ingeniera Industrial: Universidad de Chile
Saur, Denis V. (Julio 2003). Programacin Dinmica Determinstica. Facultad
de Ciencias Fsicas y Matemticas-Departamento de Ingeniera Industrial:
Universidad de Chile
http://www.investigacion-operaciones.com/Metodos_computacionales.htm