iO 2 programacion dinamica

download iO 2 programacion dinamica

of 4

Transcript of iO 2 programacion dinamica

Propuesta de un Algoritmo para Resolver Problemas de Programacin Dinmica Aplicada a los Recursos HdricosPilar, Jorge V.Dto. de Hidrulica - Facultad de Ingeniera - UNNE Av. Las Heras 727 - (3500) Resistencia - Chaco - Argentina Tel: +54 (03783) 425064 (int. 119) - E-mail: [email protected] Web: http://www.jorge-pilar.amazonas.net INTRODUCCIN Algunos problemas que tienen que ver con tomar decisiones poseen una estructura especial: las decisiones deben ser tomadas en forma secuencial, en el tiempo y/o en el espacio. Estos problemas pueden descomponerse en varias etapas, las que pueden ser completadas de una o ms formas. A pesar de que las decisiones son tomadas de a una, ellas son altamente interdependientes. Para resolver este tipo de problemas, a mediados de la dcada del 50, Richard Bellman desarroll la programacin dinmica (PD). El planeamiento y operacin de sistemas de recursos hdricos presenta innumerables situaciones caracterizadas por una secuencialidad espacial y/o temporal en la toma de decisiones. Estas situaciones son especialmente adecuadas para ser abordadas a travs de la PD. La PD est limitada a problemas donde la funcin objetivo (FO) es funcin de una o ms variables de decisin y no proporcional a ellas (Hall y Dracup, 1974). Esta funcin puede, inclusive, ser discontinua, al punto de estar definida solamente para valores discretos de las variables (Labadie, 1977; Barros, 1997). Sintticamente, la solucin de problemas de PD consiste en buscar la decisin ptima paso a paso, teniendo en consideracin las futuras consecuencias de cada decisin: la decisin en una determinada etapa debe ser la mejor, no solamente considerando esa etapa, sino todas las restantes. PROBLEMAS DE PD La figura 1 esquematiza una de las N etapas de un proceso secuencial de asignacin de recursos. qi xi1 .... xij .... xiJ Siendo: qi variable de estado en la etapa i, faltando todava N-i etapas xij uno de los valores que puede adoptar la variable de decisin de xi en la etapa i xi*

etapas

Etapa i

xi

*

resto

decisin ptima en la etapa i.

Figura 1

Esquema de una etapa de un problema de PD

Para explicar el procedimiento de solucin de un problema de PD sern definidos los siguientes trminos: Ri (xij) el resultado (costo o beneficio) de la decisin j para la variable xi, en la etapa i fi (qi) el beneficio ptimo de las etapas i, i+1,..., N, para el valor qde la variable de estado en la etapa i. Por lo tanto, la solucin del problema en el paso i ser:

f i (qi ) = OPTIMO R i ( x ij ) f i+1 (qi x ij )

[

]

(1)

con la condicin que:

x ij qii=1

J

(2)

siendo J el grado de discretizacin de la variable de decisin. En otras palabras, esto significa que esta variable puede adoptar un valor entre J+1 valores posibles (includa la opcin de adoptar el valor cero) sin sobrepasar el lmite del recurso. Este lmite, en la etapa i, es definido por el valor de la variable de estado. El smbolo indica una operacin cualquiera, normalmente una suma o un producto. La ecuacin de estado en cada etapa debe ser del tipo: q i+1 = q i x i

(3)

La nica etapa en la cual el problema est totalmente definido es la ltima, o sea en la etapa N. Entonces, resuelto el problema para i = N, ser fcil resolverlo, sucesivamente, para i = N-1, hasta i = 1. Esta tcnica va generando su propio progreso y por eso a esta forma de resolucin se la denomina algoritmo de recursin y a las frmulas, frmulas recursivas (Barros, 1997; Bronson, 1996; Cifres, 1993; Hall y Dracup, 1974; Labadie, 1977; Taha, 1995; Ventsel, 1982; Wagner, 1986). El proceso de optimizacin de las decisiones es bifsico: fase 1, del fin para el inicio, reconociendo las mejores decisiones para cada etapa y fase 2, del inicio hasta el fin, leyendo las recomendaciones ptimas surgidas de la fase anterior. El algoritmo La filosofa del algoritmo que se presenta en este trabajo considera que, una vez representado el problema de PD en un espacio de decisin etapas-estados, podra ser analizado como un problema de origen-destino. Para explicar este algoritmo ser utilizado un ejemplo hipottico muy simple, que consiste en determinar cul es la poltica de expansin de menor costo de una empresa de servicios que provee agua para una pequea ciudad. La empresa prev que su capacidad de produccin actual, de 10hm3/d, debe evolucionar en el tiempo hasta ser, en el ao 4 de 20hm3/d, en el 8 de 30hm3/d y en el 12 de 40hm3/d. Los costos de las diferentes alternativas de expansin, en millones de dlares y valor presente son indicados a continuacin (los valores son hipotticos): CAPAC. FINAL (hm3/d) 20 30 40 3,8 5,9 7,5 0 1,3 2,3 --0 1,5 ----03

10 20 30 40

CAPAC. INICIAL (hm3/d)40

Produccin (hm /d)

4

0 1,5 2,3

6

0 1,5

7

30 7,5 20 5,9

31,3 0 2,3

5

Figura 2 Numeracin de los nudos viables

23,8

10 1 Ao 0

Aos Ao 4 Ao 8 Ao 12

Para aplicar el algoritmo, primeramente es necesario representar al problema en un espacio de decisin etapas-estado y enumerar los vrtices viables en orden creciente, segn lo indicado en la figura 2. Para resolver este algoritmo se puede utilizar el PROGDIN, un programa en lenguaje Fortran, elaborado por el autor. El PROGDIN hace la resolucin matricialmente, por lo que es necesario, previamente, elaborar una serie de matrices. Matriz de control La primera matriz que debe ser montada es llamada matriz de control. Con esta matriz se indica al programa los arcos viables: un 1 indica viabilidad y un 0 inviabilidad. Esta matriz posee una columna final que indica las etapas que todava faltan para llegar hasta el fin. La matriz de control del ejemplo es presentada en la figura 3. DESTINO 5 4 0 0 0 0 0 0 1 0 1 0 0 1 Matriz de control Etapas Faltantes 1 1 2 2 2 3

6 (N-1) 5 4 3 2 1

7 (N) 1 1 0 0 0 0

6 0 0 1 1 1 0 Figura 3

3 0 0 0 0 0 1

2 0 0 0 0 0 1

Matriz de costos (o beneficios) Esta matriz, tambin del tipo origen-destino, debe ser rellenada con los costos (o beneficios, segn el problema). La ltima columna, en correspondencia con la columna de las etapas faltantes de la matriz de control, debe ser rellenada con ceros. La matriz de los costos del ejemplo es presentada en la figura 4. DESTINO 7 (N) 6 5 4 3 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.5 0.0 0.0 0.0 0.0 2.3 1.3 0.0 0.0 0.0 0.0 0.0 7.5 5.9 Figura 4 Matriz de costos (o beneficios)

ORIGEN

6 (N-1) 5 4 3 2 1

2 0.0 0.0 0.0 0.0 0.0 3.8

0.0 0.0 0.0 0.0 0.0 0.0

Matriz de los clculos dinmicos Esta matriz posee N lneas y N+1 columnas. Las dos ltimas columnas corresponden, respectivamente, a la decisin ptima para cambiar de estado, que es llamada J, y la contribucin asociada con la FO, que es llamada f. Ella debe ser rellenada dinmicamente, comenzando por la primera lnea, que corresponde a uno de los nudos de la ltima etapa donde debe ser tomada una decisin. Por lo tanto, faltando solamente una etapa por delante, sta deber ser, necesariamente, el nudo N. En este caso, la columna j debe ser rellenada con el valor de N y la columna f con el costo asociado para ir desde el nudo N-1 al nudo N. Para el ejemplo, el primer binomio origen-destino ser el 6-7 y los valores de j y f, 7 y 0

ORIGEN

respectivamente. El mismo proceso es repetido para todas las lneas que representan los nudos de la ltima etapa (en el ejemplo, el nudo 5). Seguidamente, deben ser analizados los nudos correspondientes a la penltima etapa (cuando faltan 2 decisiones a ser tomadas). Para explicar cmo funciona el algoritmo, ser analizado el nudo 2 del ejemplo. Los destinos viables para l son los nudos 6 y 5. El costo para ir desde 2 hasta 5 es de 1,30 y el valor de f para 5 como origen es 1,50. Por lo tanto, el valor de f en 2, en el caso de j = 5 ser 1,30 + 1,50 = 2,80. A su vez, el costo para hacer 2-6 es 2,30 y el valor de f para 6 como origen es cero, o sea que el valor de f en 2 para j = 6 ser 2,30 + 0 = 2,30. Como el problema es de minimizacin, el valor de f asociado al nudo 2 ser el menor valor entre 2,80 y 2,30 , que es 2,30 , correspondiente a la decisin 6. Este clculo dinmico prosigue hasta el nudo 1. En este punto el valor de f ser el valor de la FO. El camino ptimo se encuentra leyendo ordenadamente los valores de j por lnea, desde la etapa 1 hasta la ltima. Para el caso del ejemplo la mejor secuencia de decisiones es la 1-2-6-7, siendo el valor obtenido de la FO de 6,10. En la figura 8 se muestra la matriz de los clculos dinmicos. DESTINO 5 4

7 (N) 6 (N-1) 5 4 3 2 1 Figura 8 CONCLUSIONES0.0 1.5

6

3

2

ORIGEN

0+0 = 0 1.5+0 = 1.5 2.3+0 = 2.3

j 7 7 6 6 6

f 0 1.5 0 1.5 2.3 6.1

0+1.5 = 1.5 1.3+1.5 = 2.8 7.5+0 = 7.5 5.9+1.5 = 7.4 3.8+2.3 = 6.1

2

Matriz de los clculos dinmicos

El algoritmo que se presenta se mostr eficaz y eficiente para resolver problemas que tratan sobre asignacin dinmica de recursos, FO aditiva y slo una variable de estado. Con algunas pequeas modificaciones su aplicacin puede ser ampliada a casos ms complejos, inclusive a casos con ms de una variable de estado (Pilar, 1999). Tambin, con l se consigui resolver problemas de redes de flujo del tipo de los abordados normalmente a travs del algoritmo de Dijkstra. Su aplicacin prctica puede ser hecha a travs del programa PROGDIN, codificado en Fortan, de fcil aplicacin. REFERENCIAS BIBLIOGRFICAS BARROS, M.T.L. 1997. A programao dinmica aplicada Engenharia de recursos hdricos. In: TCNICAS quantitativas para gerenciamento de recursos hdricos. Porto Alegre: Ed. da Universidade/UFRGS: ABRH. p.239-277. BRONSON, R. 1996. Investigacin de operaciones. Mxico: McGraw-Hill. 324 p. CIFRES Gimnez, E. 1993. Programacin dinmica y aplicaciones. In: ANDREU ALVAREZ, J.,ed. Conceptos y mtodos para la planificacin hidrolgica. Barcelona: Centro Internacional de Mtodos Numricos en Ingeniera, p.227-238. HALL, W., DRACUP, J. 1974. Ingeniera de sistemas en los recursos hidrulicos. Mxico: Mc Graw-Hill. 436 p. PILAR, J.V. 1999. La programacin dinmica aplicada a los recursos hdricos. Trabajo sometido a consideracin del editor responsable de la revista del CURIHAM (Rosario). TAHA, H.A. 1995. Investigacin de operaciones. 5.ed. Mxico. Alfaomega. 960 p. VENTSEL, E.S. 1983. Investigacin de operaciones: problemas, principios, metodologa. Mosc: MIR. 280 p. WAGNER, H.M. 1986. Pesquisa operacional. 2 ed. Rio de Janeiro: Prentice-Hall. 851 p.