Implementación de un algoritmo genético en JavaScript para solucionar el problema de asignación de docentes para un periodo académico en el IST Yavirac
DOI:
https://doi.org/10.46480/esj.5.3.159Palabras clave:
Inteligencia artificial, Procesamiento de datos, Lenguajes de computación, AlgoritmosResumen
La asignación de los docentes que van a dictar una asignatura en un periodo académico es un problema común en las instituciones de educación superior. Este problema ya ha sido resuelto con diferentes técnicas, Yo presento una solución de una aplicación web con aplicación de un algoritmo genético en el backend. El IST Yavirac, al no contar con personal administrativo, realiza esta actividad con su planta docente, que deben combinar sus actividades de docencia con esta actividad administrativa. El problema de asignación de docentes por semestre, debido al número de variables y su complejidad es de tipo NP-completo, es decir no existe una única solución, sino más bien existe un conjunto de soluciones válidos. Para resolver este problema, se optó por el uso de Inteligencia Artificial, específicamente con el diseño e implementación de un algoritmo genético; esta solución se implementa sobre una web API REST en un servidor Web con NodeJS y puede ser implementado en la nube para producción. Este artículo, muestra el en-foque utilizado para dar una solución práctica, apoyado en el uso de ontologías para representar los objetos de negocio en cromosoma en lugar de la representación clásica que se basa en cadenas de caracteres. Este enfoque permite el cálculo de soluciones viables, que puedan ser aceptadas por los usuarios; su cálculo se reduce a unos pocos minutos en comparación con la solución manual que puede llegar a tomar hasta cinco días de trabajo.
Descargas
Referencias
Ansari, A., Bakar, A.A., 2014. A Comparative Study of Three Artificial Intelligence Techniques: Genetic Algorithm, Neural Network, and Fuzzy Logic, on Scheduling Problem, in: 2014 4th International Conference on Artificial Intelligence with Applications in Engineering and Technology. Presented at the 2014 Artificial Intelligence with Applications in Engineering and Technology (ICAIET), IEEE, Kota Kinabalu, Malaysia, pp. 31–36. https://doi.org/10.1109/ICAIET.2014.15
Athiththan, K., Rovinsan, S., Sathveegan, S., Gunasekaran, N., Gunawardena, K.S.A.W., Kasthurirathna, D., 2018. An Ontology-based Approach to Automate the Software Development Process, in: 2018 IEEE International Conference on Information and Automation for Sustainability (ICIAfS). Presented at the 2018 IEEE International Conference on Information and Automation for Sustainability (ICIAfS), IEEE, Colombo, Sri Lanka, pp. 1–6. https://doi.org/10.1109/ICIAFS.2018.8913339
Beligiannis, G.N., Moschopoulos, C., Likothanassis, S.D., 2009. A genetic algorithm approach to school timetabling. Journal of the Operational Research Society 60, 23–42. https://doi.org/10.1057/palgrave.jors.2602525
Express/Node introduction - Learn web development | MDN [WWW Document], 2021. URL https://developer.mozilla.org/es/docs/Learn/Server-side/Express_Nodejs/Introduction (accessed 8.29.21).
JavaScript | MDN [WWW Document], 2021. URL https://developer.mozilla.org/es/docs/Web/JavaScript (accessed 8.27.21).
Kumar, M., Husain, M., Upreti, N., Gupta, D., 2010. Genetic Algorithm: Review and Application. SSRN Journal. https://doi.org/10.2139/ssrn.3529843
Ley Orgánica de educación superior, LOES, 2020.
Matias, J.B., Fajardo, A.C., Medina, R.P., 2018. A Hybrid Genetic Algorithm for Course Scheduling and Teaching Workload Management, in: 2018 IEEE 10th International Conference on Humanoid, Nanotechnology, Information Technology,Communication and Control, Environment and Management (HNICEM). Presented at the 2018 IEEE 10th International Conference on Humanoid, Nanotechnology, Information Technology,Communication and Control, Environment and Management (HNICEM), IEEE, Baguio City, Philippines, pp. 1–6. https://doi.org/10.1109/HNICEM.2018.8666332
MIT OpenCourseWare, 2014. 13. Learning: Genetic Algorithms.
Mohan, M., 2020. Why JavaScript Is the Programming Language of the Future [WWW Document]. freeCodeCamp.org. URL https://www.freecodecamp.org/news/future-of-javascript/ (accessed 8.29.21).
Netscape Communications Corporation, 1995. NETSCAPE AND SUN ANNOUNCE JAVASCRIPT, THE OPEN, CROSS-PLATFORM OBJECT SCRIPTING LANGUAGE FOR ENTERPRISE NETWORKS AND THE INTERNET. MOUNTAIN VIEW, California.
Nuntasen, N., Innet, S., 2007. A Novel Approach of Genetic Algorithm for Solving University Timetabling Problems: a case study of Thai Universities 7.
The Linux Foundation, 2018. 2018 NODE.JS USER STUDY DETAILED REPORT OF FINDINGS.
Tilkov, S., Vinoski, S., 2010. Node.js: Using JavaScript to Build High-Performance Network Programs. IEEE Internet Comput. 14, 80–83. https://doi.org/10.1109/MIC.2010.145
Tsoukalas, L., Uhrig, R., Zadeh, L., 1997. Fuzzy And Neural Approaches in Engineering | Wiley. Wiley.
Wittern, E., Ying, A.T.T., Zheng, Y., Laredo, J.A., Dolby, J., Young, C.C., Slominski, A.A., 2017. Opportunities in Software Engineering Research for Web API Consumption, in: 2017 IEEE/ACM 1st International Workshop on API Usage and Evolution (WAPI). Presented at the 2017 IEEE/ACM 1st International Workshop on API Usage and Evolution (WAPI), IEEE, Buenos Aires, Argentina, pp. 7–10. https://doi.org/10.1109/WAPI.2017.1
Yavirac, n.d. URL http://yavirac.edu.ec/ (accessed 8.26.21).
Publicado
Número
Sección
Licencia
Los autores mantienen los derechos sobre los artículos y por tanto son libres de compartir, copiar, distribuir, ejecutar y comunicar públicamente la obra sus sitios web personales o en depósitos institucionales, después de su publicación en esta revista, siempre y cuando proporcionen información bibliográfica que acredite su publicación en esta revista.
Las obras están bajo una https://creativecommons.org/licenses/by-nc-nd/4.0/deed.es