You are on page 1of 73

 

Investigación de Operaciones II
La programación dinámica es útil para tomar una sucesión de
decisiones interrelacionadas.
No existe un planteamiento matemático estándar del problema
de programación dinámica.
La programación dinámica suministra una solución con mucho
menos esfuerzo que la enumeración exhaustiva.
La programación dinámica parte de una pequeña porción del
problema y encuentra la solución óptima para este problema
más pequeño. Entonces gradualmente agranda el problema,
hallando la solución óptima en curso a partir de la anterior, hasta
que se resuelve por completo el problema original.
La programación dinámica es un método de
investigación de operaciones que permite resolver un
problema de n variables dividiéndolo en n problemas
de una variable cada uno, en el cual la solución
particular de cada etapa depende del contexto, por lo
que no hay un modelo general para programación
dinámica.
 El problema original de n variables de decisión se puede dividir
en n etapas con una decisión por tomar en cada etapa.
 Cada etapa tiene un número de estados asociado a ella.
 La decisión tomada en una etapa conduce a cierto estado en la
etapa siguiente (anterior).
 Dado el estado actual, la decisión óptima para cada uno de los
estados restantes no depende de las decisiones o etapas
previos.
 Existe una relación recursiva que identifica la decisión óptima
para la etapa i, dado que la etapa i-1 (recursión hacia delante) o
i+1 (recursión hacia atrás) ha sido resuelta
 La etapa final (inicial) debe ser resoluble sin hacer referencia a
las siguientes.
Particiones del problema en los cuales se
pueden tomar decisiones que no dependan
de estados anteriores, sino sólo del estado
actual.
Por ejemplo: días, meses, años, etapas de
producción en una línea, etc. Para su
programación debe existir una etapa final
(N)
Decisiones cuantificables cuyos valores se intenta
determinar por medio de la resolución del modelo.
Su valor determina el valor de las variables de estado
de las etapas futuras.

Estados
Los estados son las distintas condiciones posibles en las
que se puede encontrar el sistema en cada etapa del
problema. El número de estados puede ser finito o
infinito.
Ecuación que indica como se acumula la función de
valor desde la etapa n hasta la etapa final.

Objetivo
Criterio de comparación entre distintos valores de las
variables de estado. Es el objetivo a alcanzar por la
resolución del problema en cada etapa.
N: número de etapas.
n: etiqueta para la etapa actual.
sn: estado actual para la etapa n.
xn: variable de decisión para la etapa n.
x*n: valor óptimo de xn (dado sn).
fn(sn,xn): contribución a la función objetivo de las etapas n,
n+1, …, N, si el sistema se encuentra en el estado
sn en la etapa n, la decisión inmediata es xn y en
adelante se toman decisiones óptimas.

f*n(sn) = fn(sn,x*n)
f*n(sn) = máx{ fn(sn,xn)}
xn
f*n(sn) = min{ fn(sn,xn)}
xn
xn
Supongamos que se trata de seleccionar la ruta más corta
entre dos ciudades como se muestra en la red (iniciando en
el nodo 1 y el destino en el nodo 7).
 Sea f(xi) la distancia más corta hasta el nodo
xi en la etapa i
 d(xi-1,xi) la distancia del nodo xi-1 hasta el
nodo xi
 Entonces calculamos fi a partir de fi-1
 Al comenzar en i = 1, la recursión pone:
f0(x0) = 0.
 La ecuación indica que las distancias más
cortas fi(xi) en la etapa i se debe expresar en
función del siguiente nodo, xi .
 A xi se le llama estado del sistema en la
etapa i.
fi(xi) = min {d(xi,xi+1)+fi+1(xi+1)}
todas las rutas
viables(xi,xi+1)
Este problema se refiere a un vendedor
mítico que tuvo que viajar hacia el oeste
por diligencia, a través de tierras indias
hostiles, aproximadamente hace 125
años. Aun cuando su punto de partida y
destino eran fijos, tenía un número
considerable de opciones para elegir qué
estados recorrer en su ruta.
 Cada estado esta representado por un bloque
numerado.
 Se requieren cuatro etapas para viajar desde su
punto de embarque en el estado 1 hasta su
destino en el estado 10
 Este vendedor era un hombre prudente, que se
preocupaba bastante respecto a la seguridad de su
viaje. Después de reflexionar un poco se le ocurrió
una forma un tanto ingeniosa de determinar la ruta
más segura.
 Se ofrecían seguros de vida a los pasajeros de las
diligencias. Como el costo de cada póliza se basaba
en una evaluación cuidadosa de la seguridad de ese
recorrido, la ruta más segura debía ser aquella con
la póliza de seguro de vida más barata.
Los costos de la póliza estándar para el viaje en diligencia del
estado i el j , el cual se denotará Cij, es:

8 9
5 6 7
5 1 4 10
2 7 4 6
2 3 4
3 3 2 4 6 6 3 8 3
1 2 4 3
4 4 1 5 7 3 3 9 4
¿Cuál sería la ruta que minimiza el costo total de la
póliza?

Un primer impulso podría conducirnos a elegir. Al


recorrido más barato ofrecido en cada etapa sucesiva.
Ruta 1 2 6 9 10
Costo 2 + 4 + 3 + 4 = 13
costo total
Sin embargo, sacrificando un poco en una etapa es
posible que se obtengan ahorros mayores de allí en
adelante.
Ruta 1 4 6
Costo 3 + 1 = 4

Ruta 1 2 6
Costo 2 + 4 = 6
 Una forma de resolver este problema es por tanteo. Pero el
número de rutas posibles es muy alto (en este caso 18) y por
lo tanto son muchos los cálculos a realizar.
 La programación dinámica suministra una solución con
mucho menos esfuerzo que la numeración exhaustiva
 La programación dinámica parte de una pequeña porción del
problema y encuentra la solución óptima para este problema
más pequeño. Entonces gradualmente agranda el problema,
hallando la solución óptima en curso a partir de la anterior,
hasta que se resuelve por completo el problema original.
Considérese que las variables de decisión Xn (n = 1,2,3,4) son
el destino inmediato en la etapa n.
Así, la ruta seleccionada sería 1 X1 X2 X3 X4,
en donde X4 = 10.
Sea fn (s, Xn) el costo total de la mejor política global para las
etapas restantes, dado que el vendedor se encuentra en el
estado s listo para iniciar la etapa n y selecciona a Xn como
destino inmediato.
 Cuando el vendedor tiene solamente una etapa más por
recorrer, su ruta queda completamente determinada por su
destino final.
 La solución inmediata al problema de una etapa es
* *
s f ( s) X
4 4
8 3 10
9 4 10
 Cuando el vendedor tiene dos etapas más por recorrer, la
solución requiere de unos cuantos cálculos.
La solución para tres etapas se obtiene de igual
forma
Moviéndose al problema de cuatro etapas, el costo de la
política óptima, dado el destino inmediato, nuevamente es la
suma del costo de la primera etapa más el costo mínimo de
allí en adelante.
n 
f ( s)  min Cs xn  f
* *
n 1 
( xn )
xn
 
Un barco de 4 toneladas se carga con uno o más de tres
artículos, la tabla siguiente muestra el peso unitario wi en
toneladas y el ingreso por unidad ri en miles de dólares, para
el artículo i ¿Cómo se debe cargar el barco para maximizar los
ingresos totales?
1. Etapa i se representa con el artículo i =1,2,…,n
2. Las alternativas en la etapa i se representar por mi, la cantidad de unidades
del artículo i que entran en el barco. El ingreso correspondiente es rimi.
Si se define [W/wi] como el máximo entero menor o igual a W/wi, se ve que
mi=0,1,…,[W/wi]
3. El estado en la etapa i se representa por xi, el peso total asignado a las
etapas (artículos) i, i+1,…,n
(La restricción del peso es la única que vincula entre sí a todas las n etapas)
f(xi)= ingreso máximo para las etapas i,i+1 y n dado el estado xi.
Expresando las xi+1 en función de xi para asegurar
que el lado izquierdo f(xi) sea función solo de xi .
xi - xi+1 =wimi (peso usado en la etapa i)
xi+1 =xi -wimi
 W=4 toneladas ⇨ X3=0,1,2,3,4
 [W/w3]= [4/1] =4⇨ m3=0,1,2,3,4
 Si w3m3 ≤ X3:
La solución óptima se determina de la siguiente manera:
W=4
x1 = 4 m1* = 2 (En el barco se cargan 2 unidades del
artículo 1)
X2 = x1 – 2m2* = 4–(2x2) = 0 [x2 = 0 m2* = 0]
X3 = x2 – 3m3* = 0–(3x0) = 0 [x3 = 0 m3* = 0]

m 1* = 2
m 2* = 0
m 3* = 0
Ingreso total = $ 62 000
Resuelva el problema anterior, para cada uno de los
siguientes conjuntos de datos:
a) W=6
i wi ri
1 4 70
2 1 20
3 2 40
b) W=4
i wi ri
1 1 30
2 2 60
3 3 80
 
BP Amoco dispone de 4 millones de dólares para invertir en
tres campos petroleros. Las utilidades que gana en el sitio i
(i=1,2,3) dependen de la cantidad invertida en el, así:

UTILIDADES (Millones de dólares)


CANTIDAD INVERTIDA
(Millones de dólares)
CAMPO 1 CAMPO 2 CAMPO 3

0 4 3 3
1 7 6 7
2 9 10 8
3 8 12 13
4 11 14 15
Si se supone que la cantidad invertida en cada
campo debe ser un múltiplo exacto de 1 millón de
dólares. Determinar con programación dinámica una
política de inversiones que eleva al máximo las
utilidades que gana BP Amoco con sus tres campos
petroleros.
Etapa n: Campo petrolero al cual se le va asignar una
cantidad de millones como inversión
(n=1,2,3).
Sn: Cantidad de millones disponibles para asignar a
los campos restantes.
Xn: Cantidad de millones invertidos en la etapa
Ui(xi):Utilidad obtenida en cada campo por asignarle
xi cantidad de dólares como inversión (i=1,2,3).
Fn*(sn,xn) = Un(xn) + f*n+1(sn - xn)
S3 F *(S3) X *3
0 3 0
1 7 1
2 8 2
3 13 3
4 15 4
F2*(s2,x2) = U2(x2) + f*3(s2 - x2)

X2
0 1 2 3 4 f *(S2) X *2
S2
0 6 6 0
1 10 9 10 0
2 11 13 13 13 1o2
3 16 14 17 15 17 2
4 18 19 18 19 17 19 1o3
F1*(s1,x1) = U1(x1) + f*2(s1 – x1)
X1
0 1 2 3 4 f *(S1) X *1
S1
4 23 24 22 18 17 24 1
SOLUCIÓN:
X*1= 1 millones CAMPO 1
X*2= 2 millones CAMPO 2
X*3= 1 millones CAMPO 3
EL MÁXIMO DE UTILIDADES QUE GANA BP AMOCO EN
SUS TRES CAMPOS PETROLEROS SERÁ DE 24
MILLONES DE DÓLARES, INVIRTIENDO EN EL CAMPO
1, UN MILLON DE DÓLARES; EN EL CAMPO 2, DOS
MILLONES DE DÓLARES Y EN EL CAMPO 3, UN
MILLON DE DÓLARES.
El consejo Mundial de la salud se dedica a mejorar el cuidado de
la salud en los países subdesarrollados del mundo. Ahora cuenta
con cinco equipos médicos para asignar entre tres de esos
países a fin de mejorar su cuidado médico, su educación
sanitaria y sus programas de entrenamiento. Por lo tanto, el
Consejo necesita determinar cuántos equipos asignar a cada
uno de estos países para maximizar la efectividad total de los
cincos equipos. La medida de efectividad que se está usando es
los años de vida adicionalmente del hombre. (Para un país
particular, esta medida es igual a la esperanza incrementada de
vida del país, en años multiplicada por su población) La tabla
siguiente da los años de vida adicionales del hombre (en
múltiplos de 1000) para cada país, para cada asignación de
equipos médicos.
Miles de años de vida adicionales del hombre
Nº de equipos
médicos País
1 2 3
0 0 0 0
1 45 20 50
2 70 45 70
3 90 75 80
4 105 110 100
5 120 150 130
 
Cuando una máquina llega a cierta edad, puede resultar más
económico remplazarla. El problema de remplazo de equipos
se reduce a determinar la edad más económica de la
máquina.
Supongamos que estamos estudiando el remplazo de una
máquina a lo largo de n años. Al principio de cada año,
decidimos si debemos dejar la máquina en servicio un año
más, o remplazarla por una nueva. r(t) y c(t) representan la
utilidad anual y el costo de operación de una máquina de un
año t de edad. s(t) es el valor de recuperación de la máquina
que ha estado en servicio durante t años. El costo de adquirir
una máquina nueva en cualquier año es I.
1. La etapa i esta representada por el año i, i = 1, 2, 3, ..., n
2. Las alternativas en la etapa (año) i requieren que la máquina se
conserve o se remplace al principio de año i.
3. El estado en la etapa i es la edad de la máquina al principio de año i.
Entonces:
fi(t) = ingreso neto máximo por los años i, i+1, …, y n.
dado que la máquina tiene t años de edad al principio del año i.

La ecuación recursiva se deriva como:


𝑟 𝑡 − 𝑐 𝑡 + 𝑓𝑖+1 𝑡 + 1 , 𝑠𝑖 𝑠𝑒 𝐶𝑂𝑁𝑆𝐸𝑅𝑉𝐴
𝑓𝑖 𝑡 = 𝑚𝑎𝑥 ቊ
𝑟 0 + 𝑆 𝑡 − 𝐼 − 𝑐 0 + 𝑓𝑖+1 1 , 𝑠𝑖 𝑠𝑒 𝑅𝐸𝑀𝑃𝐿𝐴𝑍𝐴
donde: 𝑓𝑛+1 . = 0
Una compañía necesita determinar la política de remplazo óptima para
una máquina que en la actualidad tiene 3 años, durante los cuatro años
próximos (n = 4), es decir, hasta principios del año 5. la siguiente tabla
proporciona los datos del problema. La compañía requiere que una
máquina de seis años se remplace. El costo de una máquina nueva es de
$100000.
Edad Utilidad Costo de operación, Valor de rescate
t (año) r(t) ($) c(t) ($) s(t) ($)
0 20000 200 -
1 19000 600 80000
2 18500 1200 60000
3 17200 1500 50000
4 15500 1700 30000
5 14000 1800 10000
6 12200 2200 5000
R = REEMPLAZAR
K = CONSERVAR
6 6
K S =RECUPERAR

5 5
K R

4 4 4
K R
K
INICIO 3 3 3
R
K K FINAL
2 R 2 2 R 2
R R
K
K
R R R
1 1 1 1 1

1 2 3 4 5
Año de la Decisión
REMPLAZARLA (R)
CONSERVARLA (K)
Etapa 4
t K R Solución Óptima
r(t) + f(t+1) - c(t) r(0) + s(t) + f(1) - c(0) - I f4(t) Decisión
1 19.0+60-0.6=78.4 20+80+80-0.2-100=79.8 79.8 R
2 18.5+50-1.2=67.3 20+60+80-0.2-100=59.8 67.3 K
3 17.2+30-1.5=45.7 20+50+80-0.2-100=49.8 49.8 R
6 Se debe remplazar 20+05+80-0.2-100=04.8 4.8 R
Etapa 3

t K R Solución Óptima
r(t) - c(t) + f4(t+1) r(0) + s(t) - c(0) – I + f4(1) f3(t) Decisión
1 19.0-0.6+67.3=85.7 20+80-0.2-100+79.8=79.6 85.7 K
2 18.5-1.2+49.8=67.1 20+60-0.2-100+79.8=59.6 67.1 K
5 14.0-1.8+04.8=17.0 20+10-0.2-100+79.8=9.6 17.0 K
Etapa 2

t K R Solución Óptima
r(t) - c(t) + f3(t+1) r(0) + s(t) - c(0) – I + f3(1) f2(t) Decisión
1 19.0-0.6+67.1=85.5 20+80-0.2-100+85.7=85.5 85.5 KoR
4 15.5-1.7+17.0=30.8 20+30-0.2-100+85.7=35.5 35.5 R
Etapa 1

t K R Solución Óptima
r(t) - c(t) + f2(t+1) r(0) + s(t) - c(0) – I + f2(1) f1(t) Decisión
3 17.2-1.5+35.5=51.2 20+50-0.2-100+85.5=55.3 55.3 R

Año 1 Año 2 Año 3 Año 4

K (t = 2) K (t = 3) R
(t = 3) R (t = 1) Vender

R (t = 1) K (t = 2) K
Las políticas alternativas óptimas empezando en el año 1:
1) Remplazar → Conservar → Conservar → Remplazar
2) Remplazar → Remplazar → Conservar → Conservar
El costo total es $55300
Determine la solución óptima teniendo del ejemplo
anterior, teniendo en cuenta:
a) La máquina tiene 2 años de servicio al iniciar el
año 1.
b) La máquina tiene 1 año de servicio al iniciar el
año 1.
c) La máquina se compra nueva al iniciar el año 1.
 
Si se supone que el proyecto se ejecutara en el lapso de n
semanas y que el número mínimo de empleados en la
semana i es bi trabajadores. Bajo condiciones ideales, nos
gustaría que en la semana i fuera exactamente bi, sin
embargo, dependiendo de los parámetros de costo, puede ser
más económico permitir que el número de empleados varíe
por encima o por debajo de los requerimientos mínimos. Dado
que xi es el número real de empleados en la semana i, se
puede incurrir en dos costos en la semana i:
1) C1(xi – bi) el costo de mantener un número de empleados
excesivo, xi – bi.
2) C2(xi – xi-1) el costo de contratar xi – xi-1 trabajadores
adicionales.
Los elementos del modelo de Programación dinámica se definen
como sigue:
1. La etapa i esta representada por la semana i, i = 1, 2, 3, …
2. Las alternativas de la etapa i son xi, el número de trabajadores
en la semana i.
3. El estado en la etapa i está representado por el número de
trabajadores en la etapa (semana) i = 1, xi-1.
La ecuación recursiva:
𝒇𝒊 𝒙𝒊−𝟏 = 𝐦𝐢𝐧 𝑪𝟏 𝒙𝒊 − 𝒃𝒊 + 𝑪𝟐 𝒙𝒊 − 𝒙𝒊−𝟏 + 𝒇𝒊+𝟏 (𝒙𝒊 )
𝒙𝒊 ≥𝒃𝒊

Donde fn+1(xn) = 0. Los cálculos empiezan en la etapa n con xn = bn y


terminan en la etapa 1.
Un contratista de la construcción calcula que el
número de trabajadores necesarios durante las
próximas cinco semanas es de 5, 7, 8, 4 y 6
trabajadores, respectivamente. El exceso de
trabajadores que se mantienen en la fuerza laboral
costará 300 dólares por trabajador, por semana y las
nuevas contrataciones en cualquier semana
incurrirán en un costo fijo de 400 más 200 dólares
por trabajador, por semana.
Si expresamos C1 y C2 en cientos de dólares,
tenemos:
b1 = 5, b2 = 7, b3 = 8, b4 = 4, b5 = 6

𝑪𝟏 𝒙𝒊 − 𝒃𝒊 =𝟑 𝒙𝒊 − 𝒃𝒊 , 𝒙𝒊 > 𝒃𝒊 , 𝒊 = 𝟏, 𝟐, … , 𝟓

𝑪𝟐 𝒙𝒊 − 𝒙𝒊−𝟏 = 4 + 𝟐 𝒙𝒊 − 𝒙𝒊−𝟏 , 𝒙𝒊 > 𝒙𝒊−𝟏 ,𝒊 = 𝟏, 𝟐, … , 𝟓


Etapa 5 (b5 = 6):

C1 (x5 – 6) + C2 (x5 – x4) Solución óptima


x4 x5 = 6 f5(x4) X*5
4 3(0)+4+2(2) = 8 8 6
5 3(0)+4+2(1) = 6 6 6
6 3(0)+0+2(0) = 0 0 6
Etapa 4 (b4 =4):

Solución
C1 (x4 – 4) + C2 (x4 – x3)+f5(x4) óptima
x3 x4 = 4 x4 = 5 x4 = 6 f4(x3) X*4
8 3(0)+0+8 = 8 3(1)+0+6 = 9 3(2)+0+0 = 6 6 6
Etapa 3 (b3 =8):

C1 (x3 – 8) + C2 (x3 – x2) + f4(x3) Solución óptima


x2 x3 = 8 f3(x2) X*3
7 3(0)+4+2(1)+6 = 12 12 8
8 3(0) +0 +6 = 6 6 8
Etapa 2 (b2 =7):

Solución óptima
C1 (x2 – 7) + C2 (x2 – x1)+f3(x2)

x1 x2 = 7 x2 = 8 f2(x1) X*2
5 3(0)+4+2(2)+12 = 20 3(1)+4+2(3)+6 = 19 19 8
6 3(0)+4+2(1)+12 = 18 3(1)+4+2(2)+6 = 17 17 8
7 3(0)+0+2(2)+12 = 12 3(1)+4+2(1)+6 = 15 12 7
8 3(0)+0+2(2)+12 = 12 3(1)+0+2(3)+6 = 9 9 8
Etapa 1 (b1 =5):

Solución
C1 (x1 – 5) + C2 (x1 – x0)+f2(x1) óptima
X0 x1 = 5 x1 = 6 x1 = 7 x1 = 8 f1(x0) X*1
3(0) + 4 + 2(5) 3(1) + 4 + 2(6) 3(2) + 4 + 2(7) 3(3) + 4 +
0 33 5
+ 19 = 33 + 17 = 36 + 12 = 36 2(8) + 9 = 35
La solución óptima se determina como:
x0 = 0 → x1* = 5 → x2* = 8 → x3* = 8 → x4* = 6 → x5* = 6

Es decir, planificar de la siguiente forma:


Número mínimo Número real de
Semana i de trabajadores trabajadores Decisión
(bi) (xi)
1 5 5 Contratar a 5 trabajadores
2 7 8 Contratar a 3 trabajadores
3 8 8 No realizar cambios
4 4 6 Despedir a 2 trabajadores
5 6 6 No realizar cambios
Servicar presta servicio de traslado de ingenieros y organiza
viajes de una semana al sur del país. Obtiene un contrato
para proporcionar 7, 4, 7 y 8 automóviles de alquiler a grupos
de estos ingenieros durante las cuatro próximas semanas,
respectivamente. Subcontrata con un agente de alquiler de
automóviles para que cubra sus necesidades. El agente cobra
una renta de $220 por vehículo por semana, más una tarifa
de $500 por cualquier transacción de alquiler. Sin embargo ,
Servicar puede optar por no regresar los automóviles rentados
al término de la semana, en cuyo caso la agencia sólo pagará
la renta semanal de $220. ¿Cuál será la mejor manera, para
Servicar de manejar la situación de los alquileres?

You might also like