2009-12-23 Resonancia en G.A.
Posted By dmmedina
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
