2009-12-23 Resonancia en G.A.
Posted By dmmedina
Date: diciembre 23rd, 2009
Category: G.A.
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

diciembre 29th, 2009 at 3:15 pm
Necesitamos los resultados de los siguientes experimentos:
1.- Determinar cuan sensible es la salida (nivel del embalse) a variaciones de la entrada en la Central Paute, imponiendo la restricción de que al final del periodo el nivel tenga el mismo valor que al inicio; tomar un periodo de 1 año; correr con los caudales de 10 años consecutivos; en cada caso calcular el nivel del embalse, las políticas de turbinamiento y el costo mínimo de operación del sistema.
2.- Correr la optimización de la Central Paute para un periodo de X años, sin imponer la restricción de que cada año el nivel embalse regrese al valor inicial; la idea es ver si ocurre alguna vez que el nivel del embalse llega al valor mínimo; por supuesto, en este caso se dejaría de turbinar; X sería el intervalo máximo para el cual tenemos datos de caudal, creo que son 40 o 50 años.
3.- correr el optimizador sobre el sistema Paute para 1 año con la restricción de que el nivel del embalse regrese al nivel inicial; suponga que el caudal durante los 12 meses del año es cero.
4.- Presentar los resultados del optimizador para diferentes casos; los casos los podemos ubicar en una gráfica tridimensional; un eje reprentaría: Paute, Furnas, Dos Centrales; otro eje representaría el algoritmo evolutivo utilizado en el optimizador; el ultimo representaría el periodo de optimizacion: 1 año, 5 años, X años, y la estriccion de regresar o no el nivel del embalse al valor inicial.
5.- Explicar por que pensamos que los algoritmos evolutivos están funcionando correctamente, y que ya no es posible mejorarlos mas. Los comentarios anteriores sin el contexto son difíciles de entender.
Espero que las respuestas a estos planteamientos estén listas para el viernes 8 de enero; creo que es tiempo suficiente, pues llevamos trabajando en este problema desde el mes de julio: es decir 6 meses.