Aplicación de algoritmos genéticos para el diseño de un sistema de apoyo a la generación de horarios de clases para la Facultad de Ingeniería de Sistemas e Informática de la UNMSM - Naupari Quiroz, Raúl Esteban (2010)
Pretende encontrar una solución al problema de elaboración de horarios de clases que existe en la Facultad de Ingeniería de Sistemas e Informática de la UNMSM. Este problema consiste en la asignación de un conjunto de recursos dentro de un número limitado de periodos de tiempo; además de satisfacer un conjunto de restricciones que se presentan en el ámbito académico. La importancia de resolver el problema radica en minimizar el tiempo y la cantidad de personal que interviene en el proceso de elaboración de horarios, además de brindar un apoyo en dicho proceso al personal responsable. Durante la investigación se realizó una comparativa entre algunas técnicas de búsqueda y optimización conocidas, tales como: la Búsqueda Tabú, los Algoritmos Meméticos, el Recocido Simulado y los Algoritmos Genéticos, para identificar cual de ellas posee las mejores características que permita resolver nuestra problemática. Una vez realizado esto, se determinó utilizar los Algoritmos Genéticos, los cuales pertenecen al grupo de técnicas metaheurísticas. Estas técnicas son métodos que consisten en desarrollar algoritmos eficientes que sean capaces de dar “buenas soluciones” a problemas, en donde encontrar el óptimo resulta costoso. En base a lo descrito, se propone un modelo matemático en el cual se definen las restricciones del problema, para luego establecer el diseño de la solución y la adaptación del algoritmo a ésta. Para la implementación del algoritmo se utilizó el lenguaje de programación Java; obteniéndose como resultado diferentes horarios de clases, los cuales son validados con los horarios elaborados manualmente; dicha comparación permitirá determinar el alcance y las limitaciones del algoritmo creado en este trabajo. Finalmente se llegó a la conclusión que el modelo desarrollado encontró buenas soluciones al problema dentro del margen de error definido.