Como parte de mi tesis, escribí un marco java genérico para el algoritmo de optimización multiobjetivo mPOEMS (optimización prototipo multiobjetivo con pasos de mejora evolutiva), que es un GA que utiliza conceptos evolutivos. Es genérico de manera que todas las partes independientes del problema se han separado de las partes dependientes del problema, y se proporciona una interfaz para usar el marco con solo agregar las partes dependientes del problema. Por lo tanto, quien quiera usar el algoritmo no tiene que comenzar desde cero, y facilita mucho el trabajo.
Puede encontrar el código here.
Las soluciones que puede encontrar con este algoritmo se han comparado en un trabajo científico con los últimos algoritmos SPEA-2 y NSGA, y se ha demostrado que tiene un rendimiento comparable o incluso mejor, dependiendo de las métricas que tome para medir el rendimiento, y especialmente según el problema de optimización que esté buscando.
Lo puedes encontrar here.
También como parte de mi tesis y prueba de trabajo apliqué este marco al problema de selección de proyectos que se encuentra en la administración de la cartera. Se trata de seleccionar los proyectos que añaden más valor a la empresa, respaldar la estrategia de la empresa o apoyar cualquier otro objetivo arbitrario. P.ej. la selección de un determinado número de proyectos de una categoría específica, o la maximización de las sinergias del proyecto, ...
Mi tesis que se aplica este marco para el problema de selección de proyectos: http://www.ub.tuwien.ac.at/dipl/2008/AC05038968.pdf
Después trabajé en una cartera departamento de gestión en uno de los Fortune 500, donde utilizaron un software comercial que también aplicó un GA al problema de selección del proyecto/optimización de la cartera.
recursos adicionales:
La documentación del marco: http://thomaskremmel.com/mpoems/mpoems_in_java_documentation.pdf
mPOEMS papel de la presentación: http://portal.acm.org/citation.cfm?id=1792634.1792653
realidad con un poco de todo el mundo el entusiasmo pudiera adaptarse fácilmente el código del marco genérico de un problema arbitrario de optimización multiobjetivo.
http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/8/27408/01219605.pdf?arnumber=1219605 –
No creo que sea demasiado complejo. El problema más grande es que es un algoritmo no determinista y, por lo tanto, a menudo no se puede garantizar una cierta calidad de los resultados y, por lo tanto, las personas prefieren otras heurísticas (donde pueden). – flolo
No es complejo: el problema es que suena complejo: en realidad no necesita mucho conocimiento de genética para implementar sus propias GA. – Nobody