Professional Documents
Culture Documents
Ing. en Sistemas Computacionales Modelos Probabilsticos Paul Ramrez De la Cruz 23 ene 2007
Contenido
23ene2007
Introduccin
La investigacin de operaciones es un rea de las matemticas surgida durante la Segunda Guerra Mundial La investigacin de operaciones se refiere al diseo y aplicacin de modelos matemticos con el fin de obtener la mejor solucin posible a un problema, dadas ciertas limitaciones de recursos La programacin dinmica es un mtodo de investigacin de operaciones que permite resolver un problema de n variables dividindolo en n problemas de una variable cada uno La solucin particular de cada etapa depende del contexto, por lo que no hay un modelo general para programacin dinmica La solucin ptima de cada etapa se utiliza como variable de entrada de la etapa siguiente
23ene2007
Ejemplo prototipo
Supongamos que una corporacin tiene un presupuesto de $5 millones para hacer ampliaciones en tres de sus plantas Cada planta tiene varias propuestas de inversin, junto con su costo de expansin (c) y el retorno (beneficio) total esperado (r)
Planta 1 Propuesta
Planta 2
Planta 3
c1 0 1 2 -
r1 0 5 6 -
c2 0 2 3 4
r2 0 8 9 12
c3 0 1 -
r3 0 4 4
1 2 3 4
23ene2007
Ejemplo prototipo
Supongamos que a cada planta se le permitir realizar una de sus propuestas El objetivo es maximizar el beneficio de la compaa al invertir los $5 millones por completo Una forma poco eficiente de realizar la seleccin de la propuesta adecuada para cada planta es realizar un anlisis exhaustivo En esta situacin, habr 3(4)(2) = 24 combinaciones posibles
Algunas no son factibles, por ejemplo: (3,3,2) requiere de una inversin de $6 millones Otras son factibles, pero con un beneficio bajo, por ejemplo: (1,1,2) produce un retorno de slo $4 millones
Programacin Dinmica Determinista 5
23ene2007
Ejemplo prototipo
Si se tiene un problema con muchas ms opciones, el anlisis exhaustivo se hace an ms ineficiente La informacin obtenida de combinaciones examinadas previamente no se utiliza para eliminar nuevas combinaciones que sean peores o infactibles El problema no se puede formular como programacin lineal, porque el beneficio obtenido no es una funcin lineal de la inversin
Programacin Dinmica Determinista 6
23ene2007
Planteamiento
Dividamos el problema en tres etapas, cada una de las cuales representa el dinero que se asigna a una sola planta
Etapa 1: Dinero asignado a la planta 1 Etapa 2: Dinero asignado a las plantas 1 y 2 Etapa 3: Dinero asignado a las plantas 1, 2 y 3 En este caso la numeracin de las etapas es arbitraria
Observemos que cada etapa tiene un conjunto de estados que puede asumir:
{0,1,2,3,4,5}: La cantidad de dinero gastada en la planta 1, x1 {0,1,2,3,4,5}: La cantidad de dinero gastada en las plantas 1 y 2, x2 {5}: La cantidad de dinero gastada en las plantas 1, 2 y 3 (porque se debe gastar todo), x3
23ene2007
Planteamiento
Notemos que a diferencia de la programacin lineal, aqu las xi, son una representacin de los posibles estados de cada etapa Cada estado tiene asociado un beneficio Observemos tambin que a fin de tomar una decisin en la tercera etapa, slo requerimos conocer cunto se gast en las dos etapas previas y no cmo se gast
Programacin Dinmica Determinista 8
23ene2007
Planteamiento
Determinemos el beneficio asociado con cada estado Comenzando con la primera planta:
23ene2007
Si el capital disponible, x1, es de cero, entonces la propuesta que maximiza el beneficio para dicho capital es la propuesta uno, y el beneficio en la etapa uno ser de cero Si el capital disponible, x1, es de uno, entonces la propuesta que maximiza el beneficio para dicho capital es la propuesta dos, y el beneficio en la etapa uno ser de cinco Prosiguiendo as, tenemos:
0 1 2 3 4 5
1 2 3 3 3 3
0 5 6 6 6 6
9
Planteamiento
Ahora realicemos los clculos para la etapa 2 Supongamos que deseamos calcular la mejor asignacin para cuando x2 = 4 La propuesta 1 de la etapa 2 da un beneficio de 0; como se requiere de una asignacin de 0, quedan 4 para la etapa 1, la cual a su vez proporciona 6. Beneficio total: 6 La propuesta 2 da un beneficio de 8, quedan 2 para la etapa 1, la cual a su vez proporciona 6. Beneficio total: 14 La propuesta 3 da un beneficio de 9, queda 1 para la etapa 1, que a su vez da 5. Beneficio total: 14 La propuesta 4 da un beneficio de 12, lo cual deja 0 para la etapa 1, que da un beneficio de 0. Beneficio total: 12 Viendo las opciones anteriores, la mejor propuesta es (etapa 1,etapa 2) = (3,2) o (2,3), lo cual da un beneficio total de 14
Programacin Dinmica Determinista 10
23ene2007
Planteamiento
Si el capital disponible, x2, es
0 1 2
3
4 5
23ene2007
2
2o3 4
Programacin Dinmica Determinista
13
14 17
11
Planteamiento
Ahora vayamos a la etapa 3. Como debemos asignar toda la inversin, debe ocurrir que x3 = 5 La propuesta 1 de la etapa 3 da un beneficio de 0; como tiene costo de 0, quedan 5 para las etapas 1 y 2, entonces la opcin a tomar en la etapa 2 es la 4, que da un beneficio acumulado de 17 para las etapas 1 y 2. Beneficio total: 17 La propuesta 2 da un beneficio de 4, deja 4 para las etapas 1 y 2, por lo cual la mejor propuesta para estas dos es la 2 o la 3, lo cual da un beneficio acumulado de 14 para las etapas 1 y 2. Beneficio total: 18 Notemos que los clculos se hacen de forma recursiva: para calcular la etapa 3 se usa la etapa 2, y esta a su vez se resuelve usando la solucin de la etapa 1
23ene2007
12
Principio de optimalidad
Las futuras decisiones para las etapas restantes constituirn una poltica ptima, sin importar cul haya sido la poltica adoptada en las etapas previas
23ene2007
13
Ejercicio
Repita el ejemplo anterior, Suponga que la corporacin tiene un presupuesto de $6 millones para hacer ampliaciones en tres de sus plantas
Planta 1 Propuesta
Planta 2
Planta 3
c1 0 1 2 -
r1 0 6 5 -
c2 0 2 3 4
r2 0 4 6 8
c3 0 1 -
r3 0 5 14
1 2 3 4
23ene2007
El problema original de n variables de decisin se puede dividir en n etapas con una decisin por tomar en cada etapa Cada etapa tiene un nmero de estados asociado a ella La decisin tomada en una etapa conduce a cierto estado en la etapa siguiente (anterior) Dado el estado actual, la decisin ptima para cada uno de los estados restantes no depende de las decisiones o etapas previos Existe una relacin recursiva que identifica la decisin ptima para la etapa i, dado que la etapa i-1 (recursin hacia delante) o i+1 (recursin hacia atrs) ha sido resuelta La etapa final (inicial) debe ser resoluble sin hacer referencia a las siguientes
23ene2007
15
Denotemos por rij al beneficio por la propuesta j en la etapa i y al costo correspondiente por cij Sea fi xi el beneficio obtenido en la etapa i, suponiendo que se est en el estado xi , entonces f1 x1 max r1 j y
fi xi max rij fi 1 xi cij ; i 2,3
cij xi
c1 j x1
23ene2007
16
Sean rij y cij como antes Sea yi el beneficio ptimo obtenido en las etapas 1, 2,, i Sea fi yi el beneficio obtenido en la etapa i, suponiendo que se est en el estado y i , entonces f 3 y3 max r3 j
c3 j y3
Ejemplo 2
Suponga que se desea seleccionar la ruta ms corta entre las ciudades O y T La red a continuacin muestra las rutas posibles entre ambas ciudades, las cuales cruzan por las ciudades intermedias A-E
A 7 8 O B
12 8 9 7 C 13 E D 9 T
23ene2007
18
Ejemplo 2
fi xi
23ene2007
Utilizando programacin dinmica podemos dividir el problema en tres etapas La red siguiente muestra las etapas 1, 2 y 3 en que se ha dividido el problema Definimos las frmulas recursivas hacia delante: f0 x0 0
rutas xi1 , xi
min
d x
i 1
, xi fi 1 xi 1 ; i 1, 2,3
19
Ejemplo 2
fi xi
rutas xi , xi1
min
d x , x f x ;
i i 1 i 1 i 1
i 1, 2,3
23ene2007
20
Etapas
f0 = 0 7 8 O 5 5 C 5 C 7 13 17 E f1 = 7 A 8 B f1 = 7 A 8 B 9 17 6 E T 12 8 D D 9 f2 = 12 f2 = 12 f3 = 21
23ene2007
21
Etapa 1
Nodo A
Distancia ms corta al nodo A = 7 (desde el nodo O) Distancia ms corta al nodo B = 8 (desde el nodo O) Distancia ms corta al nodo C = 5 (desde el nodo O)
Programacin Dinmica Determinista 22
Nodo B
Nodo C
23ene2007
Etapa 2
Nodo D
Ruta AD: 7+2 = 19; Ruta BD: 8+8 = 16; Ruta CD: 5+7 = 12 Distancia ms corta al nodo D = min{7+12,8+8,5+7} = 12 (desde el nodo C) Ruta BE: 8+9 = 17; Ruta CE: 5+13 = 18 Distancia ms corta al nodo E = min{8+9,5+13} = 17 (desde el nodo B)
Programacin Dinmica Determinista 23
Nodo E
23ene2007
Etapa 3
Nodo T
Ruta DT: 12+9 = 21; Ruta ET: 17+6 = 23 Distancia ms corta al nodo T = min{12+9,17+6} = 21 (desde el nodo D)
23ene2007
24
Ejercicio 2
Resuelva el problema anterior con recursin hacia atrs Verifique que se obtiene el mismo resultado
23ene2007
25
Ejercicio 3
Encuentre la ruta ms corta entre O y T usando programacin dinmica con recursin hacia adelante suponiendo que se tiene la siguiente red
10 A D
17
5 O 8 9 C
23ene2007
4 B 10
8 T 9 E
26
Tarea
Encuentre la ruta ms corta entre O y T usando programacin dinmica con recursin hacia adelante suponiendo que se tiene la siguiente red
A 6 2 3 B 4 2 C 4 1 5 F 3 H
27
7 4 D 4 6 2 E 3 4 3 3 T 1 G
23ene2007
Referencias
Hillier, Frederick S. y Lieberman Gerald J. Introduccin a la investigacin de operaciones. McGraw-Hill Interamericana. 8 edicin. Mxico, 2006. Optimization Partner. Dictionary of optimization. http://www.optimizationpartner.se/index.php?cid=38 Consultado el 22 de enero de 2007 Taha, Hamdy A. Investigacin de operaciones. Una introduccin. Pearson Educacin. 6 edicin. Mxico, 1997 Trick, Michael A. A tutorial on dynamic programming. http://mat.gsia.cmu.edu/classes/dynamic/dynamic.html Consultado el 22 de enero de 2007
23ene2007
28