Posted By dmmedina
Procedemos a verificar las Estrategias Evolutivas


Para este método las diferencias son mas notorias, aunque también notamos que los resultados obtenidos son de mayor costo que con los G.A.
Posted By dmmedina
La forma en que vamos evaluar el funcionamiento de nuestros métodos es realizar varias ejecuciones consecutivas y comparar las respuestas, y si son bastante similares, significa que están funcionando bien. Como parámetros vamos utilizar 500 individuos y 1.000 generaciones; y vamos realizar 10 ejecuciones.
Comenzaremos con los Algoritmos Genéticos.


Y por lo que se puede apreciar al comparar, las soluciones son muy similares, y la respuesta de la optimización varia en un 2% aproximadamente en cada ejecución
Posted By dmmedina
Date: diciembre 23rd, 2009
Después de eliminar las sentencias que hacían omitir a los individuos infactibles, iniciamos las pruebas. Al hacer esto hay que diferenciar a los individuos no factibles utilizando el fitnees. Por tal razón a todos los individuos infactibles le asignamos un fitness máximo + la cantidad de restricciones que viola.
Realizamos varios experimentos variando el # de individuos y la cantidad de generaciones, hicimos 10 ejecuciones en cada experimento.
Hasta el momento el mejor resultado en cuanto a costos ha sido de $ 1'247.758,55.
- # Ind = 100; Max. Gen. = 100 -> Malos resultados. Entre $ 1'350.000,00 y $ 1'400.000,00. 8 segundos
- # Ind = 1000; Max. Gen. = 100 -> Resultados regulares y muy variables de ejecución a ejecución, siempre se queda con el mejor de la primera generación. Entre $ 1'305.000,00 y $ 1'335.000,00. 75 segundos
- # Ind = 1000; Max. Gen. = 500 -> Solo mejoró un poco ya que, en cada ejecución habían de 2 a 4 saltos en el mejor individuo. Entre $ 1'305.000,00 y $ 1'335.000,00. 221 segundos
- # Ind = 5000; Max. Gen. = 50 -> Buenos resultados, parecidos entre cada ejecución, pero se queda con el mejor de la primera generación. Entre $ 1'296.000,00 y $ 1'315.000,00. 539 segundos
- # Ind = 5000; Max. Gen. = 100 -> Igual al anterior, solo con 1 ó 2 saltos en las ejecuciones. Entre $ 1'290.000,00 y $ 1'307.000,00. 780 segundos
- # Ind = 10000; Max. Gen. = 100 -> tuve problemas con la memoria estática de C++ por lo que me quede revisando el código
Por los resultados anteriores, nos vimos en la necesidad de hacer nuevamente modificaciones al programa, solo generando la población inicial solo de individuos factibles



Posted By dmmedina
Date: diciembre 23rd, 2009
Hasta el momento hemos hemos terminado exitosamente la 3ra parte de nuestro proyecto SENACYT, y en estos pocos días los vamos a dedicar a afinar nuestros métodos de optimización: Algoritmos Genéticos, Estrategias Evolutivas y Algoritmos Evolutivos Flexibles.
Con este fin vamos a experimentar en cada uno de ellos hasta encontrar la resonancia de cada uno de ellos. Resonancia es determinar los valores adecuados de las variables de los métodos (# de individuos, cantidad de generaciones), de tal manera que cada vez que se ejecute el método con los mismos datos el resultado sea el mismo o muy similar.
Al revisar los métodos se pudo comprobar que no se lo dejaba trabajar de forma natural, ya que, estábamos eliminando a todos los infactibles desde la población inicial así como en las generaciones siguientes. Por lo cual no podemos medir con precisión la Resonancia, por lo que se van a modificar los métodos para dejar los infactibles, pero si se los va a clasificar usando una función de penalización.
Posted By dmmedina
Con la nueva variante, % de elitismo variable, pretendemos obtener una solución más robusta. Además vamos a realizar experimentaciones para determinar nuevamente cuales son las mejores condiciones que se adaptan a esta modalidad.
Posted By dmmedina
En los últimos días, con la visita del Dr. Blas Galván, de España, hemos estado trabajando en mejoras del Flexible. Y hemos comprendido mejor su funcionamiento, con este conocimiento hemos iniciado una nueva etapa de pruebas para determinar la "Resonancia" del método aplicado a nuestro problema.
Para esto hemos realizado varias pruebas del método, cambiando los valores de los parámetros: # de Generaciones (numGen), Tamaño de la Población (tamPob) y el % de Elitismo.
Además de esto quitamos del Flexible la condicional para eliminar los Individuos no Factibles y utilizamos una función de penalización para identificarlos, el objetivo de esto es mantener la diversidad de la población. Con este cambio su tiempo de ejecución disminuyó considerablemente.
1.- numGen = 500 y tamPob = 100 y porEli = 15%. En cada iteración la respuesta final siempre era muy diferente
2.- numGen = 5000 y tamPob = 100 y porEli = 15%. Tuvimos resultados similares al punto anterior
3.- numGen = 100 y tamPob = 1000 y porEli = 15%. En cada iteración las soluciones se asemejaron más
4.- numGen = 100 y tamPob = 10000 y porEli = 15%. En cada iteración las soluciones fueron aún mejor y más parecidas. Y se percibió que la convergencia era mucho mas temprana
5.- numGen = 100 y tamPob = 10000 y porEli = 1%. Fue mejor que la anterior
6.- numGen = 50 y tamPob = 15000 y porEli = 1%. Mejoró aún más. Y a partir de la generación 25 ya convergía.
7.- numGen = 30 y tamPob = 20000 y porEli = 1%. Obtuvieron muy buenos resultados en cada iteración. Y a partir de la generación 25 ya convergía. asi que de aquí en adelante se la dejó en 30 generaciones
Después de esto, se introdujo que el % de Elitismo fuera variable y decreciente, que iniciara con 95% y terminara con 5% conforme se avanza en la generaciones.
Con esta variante la capacidad de convergencia se vio muy afectada por lo que vamos aumentar el # de generaciones. Que al final esperamos obtener soluciones más robustas.
Pero el problema se mantuvo. El día de mañana consultaré con el Dr. Blas para consultarle sobre el camino a seguir
Posted By dmmedina
Realizamos una corrida con un margen de error del 5% y obtuvimos un costo de $ 103'337.332,3
Al mismo tiempo realizamos una corrección o modificación para minimizar el retardo en la ejecución con lo que pudimos ejecutar sin problema usando un error del 1% obteniendo estos resultados:

Obteniendo un costo de $ 103'678.134,4
Posted By dmmedina
Realizamos un experimento para el despacho óptimo de los 5 años. Generando de forma total los 60 meses para encontrar la política óptima y estos fueron los resultados:

El costo final pronosticado fue de $ 9'841.049,43. Lo que lo hace más costoso que lo obtenido anteriormente. Además que el tiempo de ejecución fue de casi 7 veces más que la solución anterior.
Este es el estado de la presa, usando esa política:

El aumento del costo y del tiempo de ejecución aumentó porque es mucho más difícil encontrar a individuos que satisfagan todas las restricciones para cada año.
Posted By dmmedina
Los resultados obtenidos son producto de optimizar anualmente el despacho y siempre procurando que en el 12vo mes el estado de la presa se encuentre al 100%. Utilizando los afluencias conocidas (en su momento serán reemplazadas por las pronosticadas)
Estos son las variables obtenidas utilizadas y obtenidas en esta optimización, con un costo de $ 8'998.559,9:

En vista que uno de los objetivos es la planificación a largo plazo del despacho Hidro-térmico. Hemos optimizado el despacho para 5 años obteniendo estos resultados:

Posted By dmmedina
Como la última ejecución duró más de 24 horas y no se obtuvieron muchos resultados. Hemos procedido disminuir el # de individuos que va a tener la población en un 75% para agilitar la ejecución.
Con esta modificación hemos iniciado la ejecución a la 16h30 del Martes 13, y vamos a dejarlo hasta mañana.
Hoy Miércoles 14 a las 09h54 se encuentra terminando la iteración # 16
A las 12h48 está en el iteración # 19 en la generación 55
Detubimos la ejecución a la 15h30, teniendo ya 22 iteraciones. Y esta es la mejor de ellas.