Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos

La Universidad Autónoma de Bucaramanga requiere un modulo de software que facilite la automatización de la elaboración de los horarios de las asignaturas de los diferentes programas académicos de la universidad. La programación de los horarios de las asignaturas de cada una de las facultades que con...

Full description

Autores:
Verjel Clavijo, Gerardo Alfonso
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2005
Institución:
Universidad Autónoma de Bucaramanga - UNAB
Repositorio:
Repositorio UNAB
Idioma:
spa
OAI Identifier:
oai:repository.unab.edu.co:20.500.12749/1345
Acceso en línea:
http://hdl.handle.net/20.500.12749/1345
Palabra clave:
Genetic algorithms
Distributed Artificial Intelligence
Genetic programming
Genetics of computer science
Systems Engineering
Investigations
Analysis
Java
Genetic algorithm techniques
Software development
Algoritmos genéticos
Inteligencia artificial distribuida
Programación genética
Genética de la ciencia de la computación
Ingeniería de sistemas
Investigaciones
Análisis
Java
Técnicas de algoritmos genéticos
Desarrollo de software
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/2.5/co/
id UNAB2_3f7c6dd74db29b4727fe09aec9337370
oai_identifier_str oai:repository.unab.edu.co:20.500.12749/1345
network_acronym_str UNAB2
network_name_str Repositorio UNAB
repository_id_str
dc.title.spa.fl_str_mv Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos
dc.title.translated.eng.fl_str_mv Distributed scheduling in Java using genetic algorithm techniques
title Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos
spellingShingle Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos
Genetic algorithms
Distributed Artificial Intelligence
Genetic programming
Genetics of computer science
Systems Engineering
Investigations
Analysis
Java
Genetic algorithm techniques
Software development
Algoritmos genéticos
Inteligencia artificial distribuida
Programación genética
Genética de la ciencia de la computación
Ingeniería de sistemas
Investigaciones
Análisis
Java
Técnicas de algoritmos genéticos
Desarrollo de software
title_short Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos
title_full Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos
title_fullStr Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos
title_full_unstemmed Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos
title_sort Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos
dc.creator.fl_str_mv Verjel Clavijo, Gerardo Alfonso
dc.contributor.advisor.spa.fl_str_mv Rincón Serrano, Eduardo
dc.contributor.author.spa.fl_str_mv Verjel Clavijo, Gerardo Alfonso
dc.subject.keywords.eng.fl_str_mv Genetic algorithms
Distributed Artificial Intelligence
Genetic programming
Genetics of computer science
Systems Engineering
Investigations
Analysis
Java
Genetic algorithm techniques
Software development
topic Genetic algorithms
Distributed Artificial Intelligence
Genetic programming
Genetics of computer science
Systems Engineering
Investigations
Analysis
Java
Genetic algorithm techniques
Software development
Algoritmos genéticos
Inteligencia artificial distribuida
Programación genética
Genética de la ciencia de la computación
Ingeniería de sistemas
Investigaciones
Análisis
Java
Técnicas de algoritmos genéticos
Desarrollo de software
dc.subject.lemb.spa.fl_str_mv Algoritmos genéticos
Inteligencia artificial distribuida
Programación genética
Genética de la ciencia de la computación
Ingeniería de sistemas
Investigaciones
Análisis
dc.subject.proposal.none.fl_str_mv Java
Técnicas de algoritmos genéticos
Desarrollo de software
description La Universidad Autónoma de Bucaramanga requiere un modulo de software que facilite la automatización de la elaboración de los horarios de las asignaturas de los diferentes programas académicos de la universidad. La programación de los horarios de las asignaturas de cada una de las facultades que conforman la Universidad es un problema multivariable que involucra optimización de recursos. Entre las variables determinantes se encuentran la cantidad de docentes, su disponibilidad horaria, las asignaturas que pueden impartir; la cantidad, capacidad y disponibilidad horaria de los salones; entre otras. Además existen ciertas restricciones que complican aún más esta tarea como por ejemplo: las franjas horarias según los niveles, evitar los cruces de asignaturas que pertenecen a un mismo nivel, evitar los cruces de los horarios de los docentes, etc. Esto en la actualidad se hace con ayuda de herramientas ofimáticas como Word y Excel, causando inconsistencias al momento de integrar toda la información. El desarrollo de un algoritmo tradicional para la solución de este tipo de problema resultaría bastante complejo, por lo que se utilizaron técnicas de algoritmos genéticos que simulan el proceso de evolución natural. El objetivo principal del sistema de Programación de Horarios en Java Utilizando Técnicas de algoritmos Genéticos es la realización de los horarios de los docentes de la universidad Autónoma de Bucaramanga con el fin de evitar el cruce de Docentes, Salones, Cursos de un mismo nivel, Cursos que sean requisitos de otros Cursos, respetar la disponibilidad de los docentes entre otros.
publishDate 2005
dc.date.issued.none.fl_str_mv 2005
dc.date.accessioned.none.fl_str_mv 2020-06-26T17:56:29Z
dc.date.available.none.fl_str_mv 2020-06-26T17:56:29Z
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.local.spa.fl_str_mv Trabajo de Grado
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.redcol.none.fl_str_mv http://purl.org/redcol/resource_type/TP
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/20.500.12749/1345
dc.identifier.instname.spa.fl_str_mv instname:Universidad Autónoma de Bucaramanga - UNAB
dc.identifier.reponame.spa.fl_str_mv reponame:Repositorio Institucional UNAB
url http://hdl.handle.net/20.500.12749/1345
identifier_str_mv instname:Universidad Autónoma de Bucaramanga - UNAB
reponame:Repositorio Institucional UNAB
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv Vergel Clavijo, Gerardo Alfonso (2005). Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos. Bucaramanga (Colombia) : Universidad Autónoma de Bucaramanga UNAB
AGUILAR JOYANES LUIS, MARTINEZ ZAHONERO IGNACIO. “Programación en Java 2”
BOOCH GRADY, RUMBAUGH JAMES, JACOBSON IVAR. “El lenguaje unificado de modelado UML”.
PRESSMAN S, ROGER. “Ingeniería del software un enfoque practico cuarta edición”
SUN MICROSYSTEM. “Object- oriented Analysis and Design Using UML”.
1] MARCOS AURELIO CARVALCAINT PACHECO ICA: Núcleo de Pesquisa en Inteligencia Artificial Pontificia Diversidad de Católica Rió de Janeiro Algoritmos Genéticos: Principios y Aplicaciones http://www.ica.ele.puc-rio.br/pesquisa/download/paper.pdf Fecha: 19 de febrero del 2003
[2] PABLO ESTEVEZ VALENCIA Instituto de Ingenieros de Chile Optimización Mediante Algoritmos Genéticos http://cipres.cec.uchile.cl/~em753/pdf/optimizacion.pdf Fecha: 12 de Marzo del 2003
[3] SERGIO NESMACHOW Universidad de la Republica, Instituto de Computo Evolución en el diseño de los Algoritmos Genéticos Paralelos http://www.fing.edu.uy/~sergion/gp/documentos/propios/EDCAGP.pdf Fecha: 8 de Septiembre del 2005
[4] JAVA EN CASTELLANO Tutoría de Java http://programacion.com/java/tutorial/jdcbook/5/#jdcbookcalculodistribuido
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/co/
dc.rights.local.spa.fl_str_mv Abierto (Texto Completo)
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
http://purl.org/coar/access_right/c_abf2
dc.rights.creativecommons.*.fl_str_mv Atribución-NoComercial-SinDerivadas 2.5 Colombia
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/2.5/co/
Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
Atribución-NoComercial-SinDerivadas 2.5 Colombia
eu_rights_str_mv openAccess
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.coverage.spa.fl_str_mv Bucaramanga (Colombia)
dc.publisher.grantor.spa.fl_str_mv Universidad Autónoma de Bucaramanga UNAB
dc.publisher.faculty.spa.fl_str_mv Facultad Ingeniería
dc.publisher.program.spa.fl_str_mv Pregrado Ingeniería de Sistemas
institution Universidad Autónoma de Bucaramanga - UNAB
bitstream.url.fl_str_mv https://repository.unab.edu.co/bitstream/20.500.12749/1345/1/2006_Tesis_Gerardo_Alfonso_Verjel_Clavijo.pdf
https://repository.unab.edu.co/bitstream/20.500.12749/1345/2/2006_Tesis_Gerardo_Alfonso_Verjel_Clavijo.pdf.jpg
bitstream.checksum.fl_str_mv 12b39c80b4381f83186243ac0d790a84
407888dad6f87a57c2bb878edcc77b7d
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositorio Institucional | Universidad Autónoma de Bucaramanga - UNAB
repository.mail.fl_str_mv repositorio@unab.edu.co
_version_ 1808410558868750336
spelling Rincón Serrano, EduardoVerjel Clavijo, Gerardo Alfonso2020-06-26T17:56:29Z2020-06-26T17:56:29Z2005http://hdl.handle.net/20.500.12749/1345instname:Universidad Autónoma de Bucaramanga - UNABreponame:Repositorio Institucional UNABLa Universidad Autónoma de Bucaramanga requiere un modulo de software que facilite la automatización de la elaboración de los horarios de las asignaturas de los diferentes programas académicos de la universidad. La programación de los horarios de las asignaturas de cada una de las facultades que conforman la Universidad es un problema multivariable que involucra optimización de recursos. Entre las variables determinantes se encuentran la cantidad de docentes, su disponibilidad horaria, las asignaturas que pueden impartir; la cantidad, capacidad y disponibilidad horaria de los salones; entre otras. Además existen ciertas restricciones que complican aún más esta tarea como por ejemplo: las franjas horarias según los niveles, evitar los cruces de asignaturas que pertenecen a un mismo nivel, evitar los cruces de los horarios de los docentes, etc. Esto en la actualidad se hace con ayuda de herramientas ofimáticas como Word y Excel, causando inconsistencias al momento de integrar toda la información. El desarrollo de un algoritmo tradicional para la solución de este tipo de problema resultaría bastante complejo, por lo que se utilizaron técnicas de algoritmos genéticos que simulan el proceso de evolución natural. El objetivo principal del sistema de Programación de Horarios en Java Utilizando Técnicas de algoritmos Genéticos es la realización de los horarios de los docentes de la universidad Autónoma de Bucaramanga con el fin de evitar el cruce de Docentes, Salones, Cursos de un mismo nivel, Cursos que sean requisitos de otros Cursos, respetar la disponibilidad de los docentes entre otros.INTRODUCCIÓN 1. OBJETIVOS 15 1.1 OBJETIVO GENERAL 15 1.2 OBJETIVOS ESPECÍFICOS 15 2. ALGORITMOS GENETICOS 16 2.1 COMO TRABAJA UN ALGORITMO GENÉTICO 17 2.1.1 Codificación del Dominio 17 2.1.2 Evaluación de la Población 18 2.1.3 Función de Adaptación 20 2.1.4 Selección 21 2.1.5 Cruce 22 2.1.6 Mutación 23 3. El ALGORITMO GENETICO SIMPLE (AGS) 24 4. ALGORITMOS GENETICOS PARALELOS 26 4.1 DIFERENCIA ENTRE EL ALGORITMO GENÉTICO SIMPLE Y EL ALGORITMO GENÉTICO PARALELO 27 4.2 DIVISIÓN DE LOS ALGORITMOS GENÉTICOS PARALELOS 28 4.2.1 Algoritmo Genético Paralelo global o de una sola población 28 4.2.2 Algoritmos Genéticos de Múltiples poblaciones o Distribuido 30 4.2.3 Diferencias entre El Algoritmo Genético Global o de una solo población y el Algoritmo Genético Paralelo Distribuido o de múltiple población. 32 5. PROGRAMACION DISTRIBUIDA 33 5.1 SERVICIO DE BÚSQUEDA 34 5.2 RMI (Remote Method Invocation) 34 5.3 JDBC 35 6. DESARROLLO DEL PROYECTO 36 6.1 ANALISIS Y DISEÑO 36 6.1.1 Declaración del Problema 36 6.2 ANÁLISIS DE REQUERIMIENTOS DEL SISTEMA DE PROGRAMACIÓN DE HORARIOS 38 6.2.1 Requerimientos Funcionales del Sistema de Horarios 38 6.2.2 Requerimientos no funcionales 40 6.2.3 Seudorequerimientos 41 6.2.4 Escenarios 43 6.3 CASOS DE USO DEL SISTEMA DE PROGRAMACIÓN DE HORARIOS. 45 6.3.1 Actores. 45 6.3.2 Casos de Uso 45 6.3.3 Diagrama de Casos de Uso Modulo de Generación de Horarios 48 6.3.4 Diagramas de Secuencia del sistema de Horarios. 48 6.3.4.1 Diagrama de Secuencia del caso de uso Ingresar Datos 49 6.3.4.1.1 Diagrama de Colaboración del caso de uso Ingresar Datos 50 6.3.4.2 Diagrama de Secuencia del caso de uso Buscar Datos 51 6.3.4.2.1 Diagrama de Colaboración del caso de uso Buscar Datos 52 6.3.4.3 Diagrama de Secuencia del caso de uso Eliminar Datos 53 6.3.4.3.1 Diagrama de Colaboración del caso de uso Eliminar Datos 54 6.3.4.4 Diagrama de Secuencia del caso de uso Actualizar Datos 55 6.3.4.4.1 Diagrama de Colaboración del caso de uso Actualizar Datos 56 6.3.4.5 Diagrama de Secuencia del caso de uso Generar Horarios 57 6.3.4.5.1 Diagrama de Colaboración del caso de uso Generar Horarios 58 6.3.4.6 Diagrama de Secuencia del caso de uso Consultar Horarios 59 6.3.4.6.1 Diagrama de Colaboración del caso de uso Consultar Horarios 60 6.3.4.7 Diagrama de Secuencia del caso de uso Modificar Horarios 61 6.3.4.7.1 Diagrama de Colaboración del caso de uso Modificar Horarios 62 7. DICCIONARIO DE DATOS 63 8. DESARROLLO DEL ALGORITMO GENETICO 84 8.1 POBLACIÓN INICIAL 84 8.2 FUNCION DE EVALUACION 86 8.3 OPERADORES GENETICOS 90 8.3.1 Operador de Selección 90 8.3.2 Operador de Cruce 91 8.3.3 Operador de mutación 93 9. CONCLUSIONES 96 REFERECIASPregradoThe Autonomous University of Bucaramanga requires a software module that facilitates the automation of the elaboration of the schedules of the subjects of the different academic programs of the university. The programming of the schedules of the subjects of each of the faculties that make up the University is a multivariate problem that involves optimization of resources. Among the determining variables are the number of teachers, their time availability, the subjects they can teach; the number, capacity and hourly availability of the classrooms; among other. In addition, there are certain restrictions that further complicate this task, such as: time slots according to levels, avoiding crossings of subjects that belong to the same level, avoiding crossings of teachers' schedules, etc. This is currently done with the help of office tools such as Word and Excel, causing inconsistencies when integrating all the information. The development of a traditional algorithm to solve this type of problem would be quite complex, so genetic algorithm techniques were used that simulate the process of natural evolution. The main objective of the Schedule Programming system in Java Using Genetic Algorithm Techniques is the realization of the schedules of the teachers of the Autonomous University of Bucaramanga in order to avoid the crossing of Teachers, Classrooms, Courses of the same level, Courses that are requirements of other courses, respect the availability of teachers among others.application/pdfspahttp://creativecommons.org/licenses/by-nc-nd/2.5/co/Abierto (Texto Completo)info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Atribución-NoComercial-SinDerivadas 2.5 ColombiaProgramación distribuida de horarios en Java utilizando técnicas de algoritmos genéticosDistributed scheduling in Java using genetic algorithm techniquesIngeniero de SistemasBucaramanga (Colombia)Universidad Autónoma de Bucaramanga UNABFacultad IngenieríaPregrado Ingeniería de Sistemasinfo:eu-repo/semantics/bachelorThesisTrabajo de Gradohttp://purl.org/coar/resource_type/c_7a1fhttp://purl.org/redcol/resource_type/TPGenetic algorithmsDistributed Artificial IntelligenceGenetic programmingGenetics of computer scienceSystems EngineeringInvestigationsAnalysisJavaGenetic algorithm techniquesSoftware developmentAlgoritmos genéticosInteligencia artificial distribuidaProgramación genéticaGenética de la ciencia de la computaciónIngeniería de sistemasInvestigacionesAnálisisJavaTécnicas de algoritmos genéticosDesarrollo de softwareVergel Clavijo, Gerardo Alfonso (2005). Programación distribuida de horarios en Java utilizando técnicas de algoritmos genéticos. Bucaramanga (Colombia) : Universidad Autónoma de Bucaramanga UNABAGUILAR JOYANES LUIS, MARTINEZ ZAHONERO IGNACIO. “Programación en Java 2”BOOCH GRADY, RUMBAUGH JAMES, JACOBSON IVAR. “El lenguaje unificado de modelado UML”.PRESSMAN S, ROGER. “Ingeniería del software un enfoque practico cuarta edición”SUN MICROSYSTEM. “Object- oriented Analysis and Design Using UML”.1] MARCOS AURELIO CARVALCAINT PACHECO ICA: Núcleo de Pesquisa en Inteligencia Artificial Pontificia Diversidad de Católica Rió de Janeiro Algoritmos Genéticos: Principios y Aplicaciones http://www.ica.ele.puc-rio.br/pesquisa/download/paper.pdf Fecha: 19 de febrero del 2003[2] PABLO ESTEVEZ VALENCIA Instituto de Ingenieros de Chile Optimización Mediante Algoritmos Genéticos http://cipres.cec.uchile.cl/~em753/pdf/optimizacion.pdf Fecha: 12 de Marzo del 2003[3] SERGIO NESMACHOW Universidad de la Republica, Instituto de Computo Evolución en el diseño de los Algoritmos Genéticos Paralelos http://www.fing.edu.uy/~sergion/gp/documentos/propios/EDCAGP.pdf Fecha: 8 de Septiembre del 2005[4] JAVA EN CASTELLANO Tutoría de Java http://programacion.com/java/tutorial/jdcbook/5/#jdcbookcalculodistribuidoORIGINAL2006_Tesis_Gerardo_Alfonso_Verjel_Clavijo.pdf2006_Tesis_Gerardo_Alfonso_Verjel_Clavijo.pdfTesisapplication/pdf790051https://repository.unab.edu.co/bitstream/20.500.12749/1345/1/2006_Tesis_Gerardo_Alfonso_Verjel_Clavijo.pdf12b39c80b4381f83186243ac0d790a84MD51open accessTHUMBNAIL2006_Tesis_Gerardo_Alfonso_Verjel_Clavijo.pdf.jpg2006_Tesis_Gerardo_Alfonso_Verjel_Clavijo.pdf.jpgIM Thumbnailimage/jpeg4731https://repository.unab.edu.co/bitstream/20.500.12749/1345/2/2006_Tesis_Gerardo_Alfonso_Verjel_Clavijo.pdf.jpg407888dad6f87a57c2bb878edcc77b7dMD52open access20.500.12749/1345oai:repository.unab.edu.co:20.500.12749/13452021-04-29 08:06:54.552open accessRepositorio Institucional | Universidad Autónoma de Bucaramanga - UNABrepositorio@unab.edu.co