Académique Documents
Professionnel Documents
Culture Documents
a la Programacin Dinmica
Telfono :
52+(961) 5-03-22
Fax :
52+(961) 5-05-27
E-mail :
coello@eecs.tulane.edu
Telfono :
(52)+(961) 2-49-90
RESUMEN
La programacin dinmica es una tcnica matemtica de optimizacin muy
utilizada en una gran variedad de disciplinas que, sin embargo, adolece
de varios problemas entre los que destaca el de la dimensionalidad. El
algoritmo gentico por su parte, es una tcnica de optimizacin ms
general que puede no slo resolver la clase de problemas que suelen
dejarse a la programacin dinmica, sino que adems es capaz de mantenerse estable an en situaciones en que los espacios de bsqueda son
muy grandes. Este trabajo muestra la forma de transformar un problema
de programacin dinmica en uno que pueda ser resuelto por un algoritmo
gentico.
Introduccin
Richard Bellman [1] desarroll en los aos 50s las
ideas bsicas de la programacin dinmica, postulando el
principio de optimalidad que dice:
"Una poltica ptima tiene la propiedad de que cualquiera que sean su estado
y decisin iniciales, las decisiones subsecuentes deben constituir una
poltica ptima con respecto al estado resultante de la decisin inicial."
Matemticamente
expresarse como:
el
principio
de
optimalidad
puede
f n (S n ) = mx R n (S n , d n ) + f n-1 (S n-1 )
dn
Inicialmente, se genera aleatoriamente la poblacin inicial, que estar constituda por un conjunto de cromosomas,
o cadenas de caracteres que representan las soluciones
Ejemplo de Aplicacin
A fin de ilustrar cmo resolver un problema tpico de
la programacin dinmica haciendo uso del algoritmo
gentico, mostraremos a continuacin un ejemplo.
Ejemplo 11 : Tres plantas trmicas abastecen un centro de
carga que demanda una cierta cantidad de energa elctrica
P de 180 MW, y se pregunta cunta energa elctrica debe
proporcionar cada una de las plantas de manera que el costo
total de generacin sea mnimo, teniendo en cuenta que a
cada planta le corresponde una curva caracterstica que
relaciona la produccin de energa con su costo, y cuyas
ecuaciones se muestran a continuacin:
Tomado de [7].
1. 0
(v * 500 +1) *(C1+ C2 + C3)
donde C1, C2 y C3 son los costos, que se calculan como indicamos anteriormente, y v es el valor absoluto de la
diferencia entre la suma obtenida y 180. Ntese que se usa
el valor recproco del costo, porque el algoritmo gentico
siempre maximiza, y en este caso deseamos efectuar una
minimizacin. Debe tenerse cuidado, por supuesto de que
C1+C2+C3 no sea cero, pues se producira un error de
sistema. Esta situacin puede anticiparse con un chequeo
antes de efectuar la divisin, asignando un valor muy bajo
(e.g. cero) a la aptitud en caso de que esta situacin se
presente.
3) Operadores : Se usar una cruza de 2 puntos, la cual se
efecta de la forma que se indica en la Figura 2. La probabilidad que se dar a la misma ser del 80%. En cuanto a la
mutacin, se le asignar una probabilidad baja, tal y como
sugiere Goldberg [5], por lo que ser del orden del 1%. El
tamao de poblacin manejado para este ejemplo ser de 50
cromosomas, y se correr el algoritmo gentico durante 20
generaciones.
Conclusiones
El problema tpico de la programacin dinmica es que
es vctima de la llamada "maldicin de la dimensionalidad"
a la que el mismo Bellman hizo alusin. En este trabajo
hemos visto cmo, por su parte, la tcnica de bsqueda
conocida como el algoritmo gentico, se ve mucho menos
afectada por este fenmeno, adems de poder aplicarse de
forma ms fcil, rpida y eficiente en la solucin de un
problema de optimizacin. Si adems consideramos que el
algoritmo gentico tiene un carcter mucho ms general, y
goza del llamado "paralelismo implcito" que le permite
trabajar con varias soluciones simultneamente, parecen
sobrar razones para proponerlo como la mejor opcin para
resolver problemas de optimizacin sometidos a restricciones, como los que suelen abordarse con la programacin
dinmica. Creemos que el uso extendido de esta novedosa
tcnica se traducir en grandes beneficios para aquellos
profesionales que tienen que enfrentarse a esta clase de
problemas de manera cotidiana.
Bibliografa
[1] Bellman, Richard. Dynamic Programming. Princeton University Press,
Princeton. pp. 83. Nueva Jersey. 1957.
[2] Bellman, Richard. Adaptive Control Processes:
Princeton, New Jersey. Princeton University Press.
Guided
Tour.
[3] Daellenbach, Hans G.; George, John A. y McNickle, Donald C. Introduccin a las Tcnicas de Investigacin de Operaciones. CECSA. Mxico.
1987. 711 p.
[4] Holland, John. Adaptation in Natural and Artificial Systems. University of Michigan Press. 1975.
[5] Goldberg, David E. Genetic Algorithms in Search, Optimization and
Machine Learning. Addison-Wesley Publishing Co., Inc. 1989. 412 p.
[6] Buckles, Bill P. & Petry, Frederick E. Genetic Algorithms. IEEE
Computer Society Press. Technology Series. 1992. 109 p.
[7] Luthe, Rodolfo; Olivera, Antonio y Schutz,
Numricos. Editorial Limusa. Mxico. 1990. 443 p.
Fernando.
Mtodos