Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3264 11459 1 PB PDF
3264 11459 1 PB PDF
Augusto Cortez Vsquez1,2, Gissela Rosales Gernimo1, Ral Naupari Quiroz1, Hugo Vega Huerta Z.1,2
1
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniera de Sistemas e Informtica
2
Universidad Ricardo Palma
Facultad de Ingeniera
cortez_august@yahoo.fr, hugovegahuerta@hotmail.com
RESUMEN
El artculo presenta un estudio para solucionar el problema de elaboracin de horarios o timeta-
bling en una facultad. Propone un modelo matemtico en el cual se definen las restricciones del
problema, y luego se establece el diseo de la solucin y la adaptacin del algoritmo a esta. Para
resolver el problema planteado utiliza algoritmos genticos los cuales pertenecen al grupo de tcni-
cas meta heursticas. Con este desarrollo se pretende obtener un modelo cuyo principal objetivo es
el de reducir el tiempo y la ocurrencia de errores en la generacin manual de los horarios de clase
por parte de las autoridades responsables de la Facultad de Ingeniera de Sistemas e Informtica
de la Universidad Nacional Mayor de San Marcos, y satisfacer al mximo las necesidades de los
usuarios. Esto significa un avance tecnolgico y organizativo cuyo propsito es el de minimizar los
cruces entre cursos y horas, evitando extensos intervalos entre clases y disminuyendo los niveles
de insatisfaccin entre los docentes y estudiantes.
Palabras claves: Algoritmos genticos, Timetabling, Optimizacin, asignacin de carga acad-
mica.
ABSTRACT
The paper presents a study to solve the problem of developing a schedule or in a school timetabling.
It proposes a mathematical model which defines the constraints of the problem, and then establis-
hing the solution design and adaptation of this algorithm. To resolve the problem using genetic al-
gorithms which belong to the meta heuristic techniques. With this development is to obtain a model
whose main objective is to reduce the time and the occurrence of errors in the manual generation
of school hours by the authorities of the Faculty of Engineering and Computer Systems National
University Mayor de San Marcos, and to fully satisfy the needs of users. This means a technolo-
gical and organizational whose purpose is to minimize the crossings between courses and hours,
avoiding large gaps between classes and lowering the levels of dissatisfaction among teachers and
students.
Key words: Genetic algorithms, Timetabling, Optimization, academic load allocation.
37
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
38
RISI 7(1), 37 - 56 (2010) Sistema de apoyo a la generacin de horarios basado en algoritmos genticos
ROG8. Las horas de un bloque para un determina- V. RDE1. No se deben de asignar cursos en horario
do curso en un mismo da deben de ser consecuti- de almuerzo.
vas adems de ser asignados a un docente y aula. Modelo General
ROG9. Cada bloque de un determinado curso slo Conjunto de Datos
puede asignarse a lo ms una sola vez cada da.
VI. Sea C = {1,..., c} c Z el vector de cursos aca-
ROG10. Los cursos no deben de solaparse entre dmicos.
ellos, ni en duracin ni ubicacin fsica, una vez Ejemplo: C = {
seleccionada la hora de inicio de stos y el aula
Algortmica I Clculo I Base de Datos
correspondiente.
}
Restricciones Obligatorias Especficas VII. Sea G = {g1,...,gn} el vector de grupos aperturados
ROE1. Un docente debe de impartir una cantidad para los cursos. Cada g G contiene un conjunto
determinada de horas de dictado de clases como de cursos Cg C, que no pueden ser programados
mximo y como mnimo segn su categora. en un mismo periodo de tiempo. Dos grupos distin-
ROE2. Los cursos de teora y prctica deben de tos pueden tener cursos iguales, por ejemplo sea
asignarse a aulas de tipo no laboratorio. Cg1 y Cg2 dos cursos pertenecientes a los grupos G1
ROE3. Los cursos de laboratorio deben de asignar- y G2, con G1 G2 puede ocurrir que Cg1 Cg2 0.
se a aulas de tipo laboratorio. Ejemplo: G = {
ROE4. No deben coincidir los horarios de los cursos Grupo 1 Grupo 2 Grupo 3
que corresponden a un mismo semestre y grupo.
}
ROE5. Pueden existir asignaciones previas de cur-
sos a un determinado periodo y aula. VIII.Sea L= {l1,...,ln} el vector de tipos que indica la mo-
dalidad del dictado de los cursos. Cada l L con-
ROE6. Pueden existir asignaciones previas de do-
tiene un conjunto de cursos Cl C, que no pueden
centes a un determinado perodo y curso.
ser programadas en un mismo periodo de tiempo.
ROE7. Los cursos son clasificados en los turnos de Dos tipos distintos pueden tener cursos iguales, por
maana, tarde y noche segn el semestre al que ejemplo sea Cl1 y Cl2 dos cursos pertenecientes a
pertenecen. los tipos L1 y L2, con L1 L2 puede ocurrir que Cl1
Cl2 0.
39
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
Definimos de antemano L= {lt, lp, ll}, cada elemen- XIV.Sea TC la matriz de periodos de tiempo t T en
to correspondiente a los cursos de tipo de teora, que se puede dictar el curso c C.
practica y laboratorio. Ejemplo: TC = {
Ejemplo: L= { Algortmica I
Base de
Inteligencia
Datos Artificial
Teora Prctica Laboratorio Periodo 1 1 0 0
} Periodo 2 1 0 0
IX. Sea T = {1,..., t} w Z el vector de periodos de 1 0 0
Periodo 6 0 1 0
tiempo en el que se puede dictar un curso cualquie-
Periodo 7 0 1 0
ra c C.
0 1 0
Ejemplo: T = { Periodo 11 0 0 1
Periodo 1 Periodo 2 Periodo 84 Periodo 12 0 0 1
Lunes 8am 9am Lunes 9am 10am Sbado 9pm 10pm 0 0 1
} Periodo 15 1 0 0
X. Sea I= {i1,...,in} el vector de das de la semana que ...
agrupa diferentes periodos. Cada i I contiene un }
conjunto de periodos Ti T. Dos das distintos no XV. Sea TD la matriz de periodos de tiempo t T co-
pueden tener periodos iguales, por ejemplo sea Ti1 rrespondiente a la disponibilidad horaria del docen-
y Ti2 dos periodos pertenecientes a los tipos I1 y I2, te para dictar un curso c C.
con I1 I2 debe ocurrir que Ti1 Ti2 = 0.
Ejemplo: TD = {
Definimos de antemano I= {il, im, ie, ij, iv, is}, cada Csar Augusto Alcntara
Luis Alarcn Loayza
elemento correspondiente a los das lunes, martes, Loayza
mircoles, jueves, viernes y sbado. Periodo 1 0 0
Periodo 2 0 0
Ejemplo: I= {
0 0
Lunes Martes Mircoles Jueves Viernes Sbado Periodo 6 1 0
} Periodo 7 1 0
XI. Sea D = {1,...,d} d Z el vector de docentes que 1 0
pueden dictar un curso cualquiera c C. Periodo 11 0 1
Periodo 12 0 1
Ejemplo: D= {
0 1
Jaime Pariona Quispe Daniel Quinto Pasce Periodo 15 0 0
}
XII. Sea A = {1,...,a} a Z el vector de aulas donde }
se puede dictar un curso cualquiera c C. XVI.Sea K = {k1,...,ka} k Z el vector de capacida-
Ejemplo: A= { des de las diferentes aulas.
Aula 101 Aula 102 Aula 103 Aula 104 Ejemplo: K= {
} 50 alumnos (Aula 101) 50 40 30
XIII.Sea DC la matriz de docentes d D que dictan el }
curso c C.
XVII.Sea Q = {q1,...,qc} q Z el vector de cantidad
Ejemplo: DC= { mxima de alumnos por curso.
Jaime Pariona Gilberto Salinas Azaa Ejemplo: Q= {
Algortmica I 0 0
0 0 50 alumnos (Algortmica I) 50 50 40
Base de Datos 1 0 }
0 0
XVIII.Sea H = {h1,...,hc} h Z el vector de cantidad
Anlisis de Sistemas 0 1
0 0 de horas semanales que se le asigna a cada uno
} de los cursos.
40
RISI 7(1), 37 - 56 (2010) Sistema de apoyo a la generacin de horarios basado en algoritmos genticos
41
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
X i jkl = TD jk
Variable de duracin
X i jkl = 1, i A, l T , j C , k D
Tenemos Wijkl tiempo de ocupacin del aula i por el cur-
(ROG5)
so j con el docente k en el periodo l.
Todo curso j debe tener una cantidad de alumnos Q
RZ matriculados que no sobrepase la capacidad K del aula
Wijkl = i.
i = {1,.., z}, j ,= {1,.., n}, k = {1,.., p}, l = {1,.., y} X ijkl <= 1 + (K i - Q j )
Modelamiento de Restricciones Obligatorias
X i jkl = 1, i A, l T , j C , k D
Este modelamiento se dar en funcin de las restriccio-
(ROG6)
nes obligatorias mencionadas anteriormente:
Todo curso j debe cumplir con una cantidad de horas
Todo curso j que se dicta en un periodo especfico l debe semanales H.
tener asignado a lo ms un docente k en un aula i.
z p y
p
X
z
* Wi jkl = H j
X
i =1 k =1
i jkl 1
i =1 k =1 l =1
i jkl
j C , l T (ROG1) j C (ROG7.a)
Todo docente k que ensea en un periodo especfico l
debe tener asignado a lo ms un curso j en un aula i. Todo curso j cuya cantidad de horas acadmicas sea
par se le asignar bloques de dos horas diarias hasta
z n cubrir la totalidad, sino se le asignar un da de tres
X
i =1 j =1
i jkl 1 horas y el resto de dos horas.
W ijkl = 2 + H j mod2
k D, l T (ROG2)
Toda aula i en un periodo especfico l debe tener asig- i A, l T , j C , k D (ROG7.b)
nado a lo ms un curso j y un docente k.
Todo curso j debe tener asignado un bloque de horas a
lo ms una vez dentro de los periodos [a,b] que perte-
n p
necen a un da de la semana I.
X
j =1 k =1
i jkl 1
z p b
i A, l T (ROG3) X
i =1 k =1 l =a
i jkl 1
Todo docente k debe tener asignado un curso j que co-
rresponda a su preferencia.
42
RISI 7(1), 37 - 56 (2010) Sistema de apoyo a la generacin de horarios basado en algoritmos genticos
j C , a, b T [a, b] I (ROG9) p b z
Todo curso j debe ser nicamente asignado en una aula
i con un docente k desde que inicia en un periodo a
X
k =1 j = a i =1
i jkl 1
hasta la finalizacin de su tiempo de duracin W.
a +Wijka
l T , a, b C [a, b] S [a, b] G
X
l =a
i jkl 1 (ROE4)
X
i =1 j =1 l =1
i jkl * Wi jkl MHDk X i jkl * Wi jkl NHDk
i =1 j =1 l =1
PrvTCi jkl = X ijkl
k D (ROE1)
X i jkl = 1, i A, l T , j C , k D
Todo curso j de tipo teora Lt debe ser asignado a un (ROE6)
aula i de tipo no laboratorio Mt.
L jT = M iT Los cursos son clasificados en los turnos de maana,
tarde y noche segn el semestre al que pertenecen
X i jkl = 1, i A, l T , j C , k D X i jkl = TTC jl
(ROE2.a)
X i jkl = 1, i A, l T , j C , k D
Todo curso j de tipo prctica Lp debe ser asignado a un ... (ROE7)
aula i de tipo no laboratorio Mp.
Modelamiento de Restricciones Deseables
L jP = M iP
Este modelamiento se dar en funcin de las restriccio-
nes deseables mencionadas anteriormente:
X i jkl = 1, i A, l T , j C , k D
(ROE2.b) Todo curso j que pertenece a un rango inicial a y rango
final b no debe ser asignado en un mismo periodo l con
Todo curso j de tipo laboratorio Ll debe ser asignado a respecto a otro rango inicial c y un rango final d que
un aula i de tipo laboratorio Ml. corresponden a semestres S consecutivos.
L jL = M iL p b z p d z
43
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
Criterio de optimizacin
i = {1,.., 25}, j , = {1,..,68}, k = {1,..,101}, l = {1,..,84}
Min( fog ( x) = w , donde w es una constante Variable de duracin
cualquiera.
Tenemos Wijkl tiempo de ocupacin del aula i por el cur-
Modelo Particular so j con el docente k en el periodo l.
Una vez definido el modelo general debemos adaptarlo RZ
a la FISI, dando como resultado un modelo particular el Wijkl = 0
cual acota an ms el dominio del problema.
i = {1,.., 25}, j , = {1,..,68}, k = {1,..,101}, l = {1,..,84}
Conjunto de Datos
Se cuenta con un total de 68 cursos a programar.
44
RISI 7(1), 37 - 56 (2010) Sistema de apoyo a la generacin de horarios basado en algoritmos genticos
X i jkl 1
X
l =a
i jkl 1
i =1 k =1
25 101 b
j C , l T (ROG1) X
i =1 k =1 l = a
i jkl 1
25 68
X
i =1 j =1
i jkl 1
X i jka = 1, i A, l , a T , j C , k D
(ROG10)
k D, l T 25 68 84 25 68 84
i =1 j =1 l =1 i =1 j =1 l =1
68 101
X
j =1 k =1
i jkl 1
k D (ROE1)
L jT = M iT
i A, l T (ROG3)
X i jkl = 1, i A, l T , j C , k D
X i jkl = 1, i A, l T , j C , k D (ROE2.a)
(ROG4) L jP = M iP
X i jkl = TD jk X i jkl = 1, i A, l T , j C , k D
(ROE2.b)
L jL = M iL
X i jkl = 1, i A, l T , j C , k D
X i jkl = 1, i A, l T , j C , k D
(ROG5)
(ROE3)
X i jkl = 1, i A, l T , j C , k D
25 b 101
(ROG6)
X
i =1 j = a j =1
i jkl 1
25 101 84
X ijkl = 1 + (K i - Q j )
X
i =1 k =1 l =1
i jkl * Ti jkl = H j
l T , a, b C [a, b] S [a, b] L
(ROE4)
45
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
Bi Total de horas ocupadas por algn curso/ (ultima Variable independiente 1: La automatizacin del pro-
hora ocupada del da por algn curso - primera hora ceso de generacin de horarios de clases.
ocupada del da por algn curso) Bs i I Indicador: Nmero de tareas manuales realizadas
(RDG3) en el proceso de generacin de horarios.
DTC jl = X ijkl Variable Dependiente 1: Margen de error del 2%.
X i jkl = 1 Indicador: Numero de clases del horario acadmi-
(RDG4) y (RDE1) co semestral que infrinjan una o ms restricciones del
Funcin Objetivo problema.
Funcin objetivo global Variable Dependiente 2: Reducir el tiempo de genera-
14422800 cin de horarios.
fog ( x) = fol ( x)
x =1
Indicador: Tiempo en la generacin de horarios de
clases.
x = {1,..,14422800} Variable Dependiente 3: Reducir el uso de recursos
implicados en la elaboracin de los horarios de clases
Donde x representa cada elemento de la matriz, N re-
Indicador: Costo de los recursos involucrados en la
presenta el nmero total de Elementos en la matriz de
elaboracin de horarios de clases.
cuatro dimensiones. El valor 14422800 es producto de
multiplicar las 25 aulas por los 68 cursos por los 101 Variable Dependiente 4: Aumentar la calidad de la
docentes por los 84 periodos. solucin.
Funcin objetivo local Indicador: Numero de clases del horario acadmi-
co semestral que infrinjan una o ms restricciones del
fol ( x) = ( chsl ( x) + chsg ( x) / 2) * ( chpl ( x) + chpg ( x) / 2)
problema.
Variable Dependiente 5: Aumentar la satisfaccin del
46
RISI 7(1), 37 - 56 (2010) Sistema de apoyo a la generacin de horarios basado en algoritmos genticos
47
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
48
RISI 7(1), 37 - 56 (2010) Sistema de apoyo a la generacin de horarios basado en algoritmos genticos
poblacin que sern utilizados para la reproduccin. ROG7. Un curso debe cumplir con una cantidad de
Su meta es dar ms oportunidades de seleccin a los horas semanales requeridas. Segn sea el caso si el
miembros ms aptos de la poblacin. nmero de horas acadmicas es par se asignar dos
horas diarias hasta cubrir la totalidad, sino se asignar
Emparejamiento: Consiste en unir de alguna forma los
un da de tres horas y el resto de dos horas. A cada uno
cromosomas de dos padres para formar dos descen-
de estos grupos de horas se les llamar bloques.
dientes. Existen diversas variaciones, dependiendo del
nmero de puntos de divisin a emplear, la forma de Definiendo de este modo la unidad a la cual se asignar
ver el cromosoma, etc. los recursos y asegurando que el algoritmo asignar
recursos a todas las clases sin excepcin con la finali-
Mutacin: Se encarga de modificar en forma aleatoria
dad de generar un horario factible, entonces se tendrn
uno o ms genes del cromosoma de un descendiente.
cumplidas de antemano la restriccin obligatoria ante-
Reemplazo: Es el mtodo por el cual se insertan los rior as como la siguiente:
hijos en la poblacin; por ejemplo, mediante la elimina-
ROG8. Las horas de un bloque para un determinado
cin del individuo ms dbil o al azar.
curso en un mismo da deben de ser consecutivas ade-
ms de ser asignados a un mismo docente y aula
3. RESULTADOS Y DISCUSIN
Esto nos permitir ahorrar tiempo computacional de-
Adaptacin del algoritmo bido a que se evitar la evaluacin del cumplimiento
de estas restricciones, y adems se podr simplificar la
Tomando en cuenta las bases tericas mostradas en implementacin del algoritmo.
los captulos 2 y 3, la estructura del problema observa-
do en el capitulo 1 y considerando los motivos por los Mediante un ejemplo sencillo veremos la generacin
cuales se seleccion los Algoritmos Genticos, la parte de las clases y su correspondiente estructura: Consi-
de este captulo tiene como objetivo disear un algorit- deremos el curso de Algortmica I, el cual tiene 3 tipos
mo que trate con eficacia y eficiencia el problema. Las definidos y se le aperturarn 3 grupos en el presente
modificaciones que se realicen al algoritmo se tratarn semestre, adems en la siguiente tabla tenemos las
en los siguientes puntos. horas semanales de dictado por cada tipo definido para
el curso:
Unidad de asignacin Tipo de Curso Horas de Dictado
En nuestro caso el elemento al cual le vamos a asignar Teora 5
los recursos (docentes, horarios y aulas) es la clase; la Practica 3
cual se define como la combinacin de un curso, el tipo Laboratorio 4
de ste, la cantidad de horas a dictar y el grupo. Tabla 1. Horas de Dictado de Algortmica I
CURSO TIPO DE CURSO HORAS DE DICTADO GRUPO Ahora tomaremos en cuenta lo expresado en la restric-
cin ROG7 : Para el curso de Algortmica I de tipo teo-
Fiigura 4. Estructura de la unidad de asignacin (clase)
ra se tiene asociado una cantidad de horas de dictado
impar, por lo tanto se tendra una clase de teora de tres
Una vez definido esto, nuestro algoritmo se encargar
horas y otra de dos. Por consiguiente el total de clases
de asignar un docente, un horario y un aula determina-
generadas seran:
da a cada una de las clases, los cuales son necesarios
para llevarla a cabo. Curso Tipo Horas Grupo
Algortmica I Teora 3 1
El proceso que generar el universo de clases, que Algortmica I Teora 2 1
servirn de elementos de entrada al algoritmo, ser un Algortmica I Practica 3 1
procedimiento lineal. Este tomar en cuenta los tipos Algortmica I Laboratorio 2 1
de curso (teora, prctica y laboratorio), la cantidad de Algortmica I Laboratorio 2 1
horas de dictado por cada tipo, los grupos que se aper- Algortmica I Teora 2 2
turen para el semestre en curso y la siguiente restric- Algortmica I Teora 3 2
cin obligatoria: Algortmica I Practica 3 2
49
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
50
RISI 7(1), 37 - 56 (2010) Sistema de apoyo a la generacin de horarios basado en algoritmos genticos
quitar tales asignaciones, pero esto est a expensas Es importante observar que los tres cromosomas son
de, posiblemente, cientos de iteraciones para encontrar iguales a nivel de estructura, pero aquello que los dife-
la solucin factible. Para ilustrar esta idea supongamos renciar ser el significado que tengan los alelos (valo-
que la asignacin del docente y horario ya estn defi- res de los genes) en cada fase; es decir, los alfabetos
nidos y ocurriese un conflicto de dos clases en un mis- usados en cada una de las fases sern distintos.
mo horario y aula, simplemente deberamos cambiar el
aula de clases a otra aula con el mismo horario; esto Codificacin mediante alfabetos duros
es cierto especialmente para esas clases que no tienen Como ya se ha mostrado tericamente existe una codi-
preferencia alguna de lugar. Este cambio es siempre ficacin directa y una codificacin indirecta, siendo sta
posible, y se hace a menudo, siempre y cuando el n- ltima la ms comn. En la codificacin indirecta se tra-
mero de las clases asignadas a un horario no exceda za la gama de valores posibles en una dimensin ms
el nmero de las aulas disponibles en ese horario. Lo simple, a menudo un espacio binario. La representa-
mismo ocurre con los docentes, podemos cambiar el cin binaria tiene ventajas de cmputo y de programa-
horario asignado a otro horario con el mismo docente cin debido a que presenta una estructura ms simple;
siempre y cuando los horarios disponibles para el do- sin embargo, cuando tratamos casos ms complejos es
cente no sean sobrepasados. difcil tratarlo a travs de una codificacin indirecta de-
Actualmente, el nmero de aulas disponibles es el bido a la complejidad de cmputo que implicara tener
mismo en cualquier horario, no cambia con respecto que traducir cada representacin.
al tiempo, en otras palabras las aulas se encuentran Para nuestro caso, notamos que la utilizacin de una
disponibles en su totalidad para todos los horarios con- representacin directa, debido a su facilidad de eva-
siderados; mientras que para el caso de los docentes luacin, permite el diseo de un sistema ms complejo
y su disponibilidad, stos son considerados datos ms tanto en sus condiciones y sus objetivos. Es por ello
voltiles y complejos. Por lo tanto, podemos ahorrar que para nuestro modelo consideraremos una codifica-
centenares de iteraciones adicionales de heurstica, cin directa en lugar de una codificacin indirecta.
separando el problema en fases.
Alfabeto utilizado
La simplificacin y la solucin del problema, dividindo-
lo en estas tres fases fomentan el hallazgo de solucio- En base a los requisitos particulares, y luego de esta-
nes de una manera ms rpida, puesto que la combi- blecida la arquitectura y codificacin a utilizar, mostra-
nacin de los conflictos de los docentes, de los horarios remos el alfabeto que se emplear en cada una de las
y de las aulas no se considera simultneamente, sino fases:
en diversas fases.
Fase 1 Fase 2 Fase 3
Representacin del problema el alfabeto constar Se usara la misma Se usara la misma
de enteros que re- forma de represen- forma de repre-
La solucin se realiza en tres fases, por tanto, tendre- presentarn a cada tacin para los ho- sentacin para las
mos que definir tres cromosomas, uno para cada fase. docente, los cuales rarios aulas
sern asignados
Cada uno de los cromosomas tendr una cantidad de
a cada una de las
genes igual al nmero de clases y el valor de estos ge- clases en el semes-
nes (alelos) ser igual al recurso asignado a la clase. tre actual. Con esto
Una ilustracin spera de un cromosoma es como si- tendremos un alfa-
beto especfico aso-
gue:
ciado a cada clase a
la cual le vayamos
Clase 1 Clase 2 Clase 3 Clase N asignar un docente
51
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
52
RISI 7(1), 37 - 56 (2010) Sistema de apoyo a la generacin de horarios basado en algoritmos genticos
evaluacin, lo cual implicara su desaparicin en trmi- Otro aspecto a tener en cuenta, es la posibilidad de
nos estadsticos al cabo de unas pocas generaciones introducir en la poblacin inicial soluciones de buena
junto a la prdida de informacin valiosa que pudieran calidad, por ejemplo, procedentes de la experiencia
contener; o Repararlas, lo cual aparece como una tarea acumulada en procesos anteriores. Esta forma de intro-
costosa pues habr de ser realizada en una gran canti- ducir conocimiento especfico es muy til pues permite
dad de ocasiones a lo largo del proceso evolutivo. Nin- al algoritmo contar con informacin valiosa inicialmen-
guna de las alternativas parece ptima en s misma. te. No obstante debe ser realizado con cuidado, pues
sembrar la poblacin inicial con soluciones no aleato-
La opcin que proponemos consiste en evitar la ge-
rias puede alterar el proceso evolutivo al dirigir la bs-
neracin de este tipo de individuos no factibles. Este
queda hacia un determinado espacio.
problema podra evitarse si al momento de generar la
poblacin inicial no se tomarn en cuenta ciertos recur- 4. CONCLUSIONES
sos que por las restricciones previamente nombradas, La Facultad de Ingeniera de Sistemas e Informtica
sera imposible que se use para una determinada clase. de la UNMSM no utiliza herramientas computacionales
Usando el mismo ejemplo anterior para la clase de Al- para generar los horarios de clase, los cuales manejan
gortmica I debera asignarse un docente aleatorio pero un alto grado de complejidad durante su elaboracin.
no del conjunto total de veinte docentes sino solamente Es por esto que se plante desarrollar una herramienta
de los tres posibles que pueden dictar dicho curso. basada en algoritmos genticos, que permita cubrir las
Con esto estamos generando una poblacin inicial que necesidades existentes y en cuyo proceso de investi-
de antemano ya cumple ciertas restricciones, lo cual gacin se lleg a las conclusiones que se presentan a
aliviar la tarea del mtodo que evaluar las solucio- continuacin:
nes, ya que no sern tomados en cuenta durante la 1. Se construy un algoritmo que permite encontrar
evaluacin. Dado que si los cromosomas iniciales no soluciones buenas y/o consideradas aceptables
consideran estos valores, las poblaciones subsecuen- dentro del margen de error definido y restricciones
tes generadas nunca los tendrn presentes, con ello se planteadas. Con lo cual se deduce que el objetivo
pretende ahorrar tiempo en la ejecucin del algoritmo. general de esta investigacin, que es encontrar una
Esta solucin tiene la ventaja aadida de permitir elimi- solucin mediante el uso de algoritmos genticos
nar directamente soluciones de muy mala calidad sin al problema de asignacin de docentes, periodos y
necesidad de evaluarlas. aulas a los cursos, se ha cumplido a cabalidad.
Dado que la estructura del cromosoma es igual en cada 2. Otra conclusin, desprendida del proceso de inves-
fase, esto es, un arreglo de longitud igual al nmero de tigacin, est relacionada con la divisin del pro-
clases a las cuales se les va asignar un recurso, el m- blema en distintas fases. Inicialmente no se pudo
todo utilizado (mostrado en el ejemplo anterior) para la apreciar el impacto total de su aplicacin sobre el
inicializacin de la poblacin ser el mismo para cada problema, pero una vez concluida la investigacin
una de las fases. Lo que variar por cada fase, aparte se observ lo siguiente:
del recurso en particular, sern los alfabetos generados 2.1. La divisin por fases permite reducir el tiempo
para cada gen de los cromosomas; esto se realizar a de procesamiento y el uso de recursos; debido
travs de un procedimiento lineal que acotar dichos a que en la medida que se van encontrando so-
alfabetos. luciones en cada fase, las cuales resultan ser
El hacer uso de un alfabeto en particular para cada gen informacin de entrada de la fase subsecuente,
del cromosoma, en cualquiera de las tres fases, nos el espacio de soluciones se va acotando cada
permitir en gran medida ahorrar la evaluacin de un vez ms. La aplicacin de la tcnica divide y
gran nmero de restricciones, dado que las soluciones vencers result de gran ayuda al momento
iniciales elaboradas no presentarn la infraccin de de tratar de resolver el problema a partir de la
estas restricciones. Con lo cual podramos considerar solucin de subproblemas.
sta como una mejor solucin que simplemente el he- Otro logro conseguido gracias a la divisin en
cho de asignar valores aleatorios. fases fue la simplicidad obtenida en la imple-
mentacin del algoritmo, debido a que las res-
53
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
tricciones relacionadas a los docentes, periodos 3. Una vez establecido el procesamiento del algorit-
y aulas fueron tomadas en cuenta de manera mo en un servidor, podr ser organizado sobre una
separada unas de otras, de acuerdo al recurso arquitectura de procesamiento distribuida. En este
asociado a cada fase. punto se presentan varias opciones, una es armar
2.2. Se pudo observar una debilidad al mtodo. una arquitectura de computacin paralela (compu-
Pues tal vez al momento de acotar el espacio tacin grid) ya que proporciona una gran cantidad
de soluciones mediante la generacin de una de recursos segn se necesite, claro que este mo-
solucin parcial por parte de una fase anterior, delo sera independiente al algoritmo y tendra que
se perdan ciertas soluciones factibles que ya realizarse un trabajo previo para implementar esta
no podran ser exploradas por las fases subse- arquitectura. Otra opcin ms ligada a la implemen-
cuentes y en la cual podra estar la solucin que tacin de la solucin sera elaborar un modelo de
estemos buscando. Para solucionar esto se procesamiento maestro-esclavo, donde un servidor
plante maximizar la diversidad de individuos maestro controle el proceso evolutivo, concentre la
dentro de la poblacin, de tal manera que nues- informacin resultante y asigne carga de trabajo a
tra poblacin se encuentre lo ms distribuido sus servidores esclavos. Dicha carga de trabajo po-
posible dentro del espacio de bsqueda acota- dra ser la evaluacin de una parte de los individuos
do donde el algoritmo poda desplazarse. Esto de la poblacin, dado que esto es lo que ms tiem-
significa hacer que los individuos sean lo ms po toma en procesar.
diferentes posibles en la poblacin sin interferir 4. Con la finalidad de hacer que el software sea ms
con los procesos de evolucin normal. configurable, se recomienda permitir a los futuros
usuarios poder escoger entre todas las restriccio-
TRABAJOS A FUTURO nes que maneja el sistema y decidir cules se aco-
plan a su realidad problema especfico.
1. Se pueden combinar algoritmos genticos con otra
5. Como ltima recomendacin, se sugiere aumentar
metaheurstica para mejorar el tiempo de genera-
el potencial del software al momento de la genera-
cin y calidad de la solucin. Por ejemplo, la fun-
cin de horarios integrando esta herramienta con
cin que se encarga de calcular la aptitud de cada
la informacin contenido en el SUM de la UNMSM
individuo de la poblacin en las diferentes fases
con la cual se podra calcular de manera automti-
podra ser remplazada por una red neuronal, la
ca la cantidad de grupos que se deberan aperturar
cual se encargara de realizar dicho clculo. Con
para los diferentes cursos de manera automtica o
lo cual se dotara a este nuevo algoritmo hbrido
por lo menos sugerirlos para su aprobacin.
una caracterstica de aprendizaje adicional a una
bsqueda guiada.
A su vez podra utilizarse una heurstica de bsque- 5. FUENTES BIBLIOGRFICAS
da, tal como un algoritmo voraz, que se encargue de Libros
generar la poblacin inicial con cierto grado de pre-
procesamiento y que por ende sea mejor que simple- Dawkins R. (1976). The Selfish Gene. USA, New
mente inicializar la poblacin de manera aleatoria. York:Oxford University Press.
2. La segunda mejora sera la de implementar un Daz, Adenso (1996).Optimizacin heurstica y redes
servicio Web con este algoritmo para que se pue- neuronales. Espaa: Editorial Paraninfo.
da tener acceso a l, de tal manera que no sea Fogel, David B (1995). Evolutionary Computation: To-
usado solamente por la facultad sino tambin abrir ward a New Philosophy of Machine Intelligence.
la posibilidad de brindar este servicio a otras fa- USA: IEEE Press.
cultades y/o instituciones que lo requieran. Otra Garey, Michael R. (1979). Computers and intractabi-
ventaja de implementar el servicio sera que se lity. A guide to the Theory of NP- Completeness.
estara destinando la carga del procesamiento a USA:Bell Telephone Laboratories.
un servidor dedicado para liberar al cliente de di- Gil Londoo, Natyhelem (2006). Algoritmos Genticos.
cha tarea. Medelln.
54
RISI 7(1), 37 - 56 (2010) Sistema de apoyo a la generacin de horarios basado en algoritmos genticos
Gil Tallavo, Marcos y Antonio Martnez, Amads (2006). Saleh M.A, Elmohamed y Fox, Geoffrey (1998) A
Algoritmo basado en Tab Search para el Proble- comparison of Annealing Techniques for Academic
ma de Asignacin de Horarios de Clases. Departa- Course Scheduling. Practice and Theory of Auto-
mento de Computacin Facultad de Ciencias y Tec- mated Timetabling II, Selected Papers from the 2nd
nologa Universidad de Carabobo Valencia, Estado International Conference, PATAT97.
Carabobo, Venezuela. Vzquez Espi, Mariano (1994). Recocido simulado: un
Glover, F. y Laguna, M. (1993). Tab Search. Modern nuevo algoritmo para la optimizacin de estructu-
Heuristic Techniques for Combinatorial Problems, ras. Madrid.
USA: C. Reeves, ed. Blackwell Scientific Publishing. Whitley, Darrell (1997). A genetic algorithm tutorial. Ho-
Goldberg, D. y Voessne, S (1999). Optimizing global- landa: Editorial Springer.
local search hybrids. In GECCO99: Proceedings
of the Genetic and Evolutionary Computation Con- Revistas
ference. pp. 220-228. Larrosa, J. y Meseguer (2003). Restricciones blandas:
Goldberg, David E. (1989). Genetic Algorithms in modelos y algoritmos. Revista Iberoamericana de
Search, Optimization, and Machine Learning, Ad- Inteligencia Artificial, Vol. Otoo/2003, N. 20, pp.
dison-Wesley Publishing Company. 69-81.
Johnsonbaugh, Richard (1999). Matemticas Discre- Alkan, Alpay y zcan,Ender (2003). Memetic Algo-
tas. Cuarta edicin, Prentice Hall. rithms for Timetabling. Evolutionary Computation,
Kaufmann, A. y Faure, R. (1977). Invitacin a la Inves- 2003. CEC 03. The 2003 Congress on, Vol. 3, pp.
tigacin de Operaciones. Segunda edicin, Mxi- 1796-1802.
co: CECSA. Berretta R,Cotta C, y Moscato P. (2003) Enhancing
Koza, John R. (1992). Genetic Programming. On the the performance of memetic algorithms by using a
Programming of Computers by Means of Natural matching-based recombination algorithm: Results
Selection. USA: The MIT Press. on the number partitioning problem. In M. Resende
Krasnogor, N. y Smith, J. (2005). A Tutorial for Com- and J. Pinho de Sousa, editors, Metaheuristics:
petent Memetic Algorithms: Model, Taxonomy and Computer Decision Making. Kluwer Academic Pu-
Design Issues. IEEE Transactions on Evolutionary blishers, Boston MA.
Computation. Casado Yusta, Silvia y Pacheco Bonrostro, Joaqun
Leiserson, C. Rivest, R. y Stein, C. Cormen, T. (2001). Intro- (2003). Estudio Comparativo de diferentes estra-
duction to algorithms. USA:The MIT Press McGrawHill. tegias meta heursticas para la resolucin del Labor
Scheduling Problem. Estudios de Economa Apli-
Lpez Ceballo, Paulina Danae (2000). El Mtodo de
bsqueda Tab para la programacin de horarios. cada, Vol. Diciembre/2003, N. 21, pp. 537-554.
Mxico: Editorial Universidad de Sonora. Franco Baquero, John Fredy, Eliana Mirledy Toro
Macas, E. A. (2004). Algoritmos de Bsqueda Local Ocampo y Ramn Alfonso Gallego Rendn (2008).
de GRASP para Solucin de 3-SAT. pp. 219-225. Course timetabling problem resolved using Tabu
Search. Ingeniera y Desarrollo N. 24.
Merz, P. y Freisleben, B.(1999) A comparison of me-
metic algorithms, tab search, and ant colonies for Glover, F (1989). Tab search - part I. ORSA Journal on
the quadratic assignment problem. In Proceedings Computing, Vol. Verano/2003, N. 3.
of the 1999 International Congress of Evolutionary Kirkpatrick S., Gelatt C.D. y Vecchi M.P, (1983) Optimi-
Computation (CEC 99). Washington DC, USA. zation by Simulated Annealing. Science, Vol. 220,
Michalewicz, Zbigniew (1996). Genetic algorithms + N 4598.
data structures = evolution programs. Alemania: Melin, B., Moreno Prez, J.A., Moreno Vega, J.M.
Editorial Springer. (2003) Meta heursticas: Una visin global. Revista
Moscazo, P. (1989). On evolution, search, optimiza- Iberoamericana de Inteligencia Artificial 19, 2, 7-28.
tion, genetic algorithms and martial arts: Towards Mushi, A. R. (2007). Simulated Annealing Algorithm
memetic algorithms. California Institute of Technol- for the Examinations Timetabling Problem. African
ogy, Pasadena, California, USA, Tech. Rep. Caltech Journal of Science and Technology (AJST) Science
Concurrent Computation Program, Reporte 826.
55
Revista de Ingeniera de Sistemas e Informtica vol. 7, N. 1, Enero - Julio 2010
and Engineering Series Vol. 8, N. 2, pp. 24- 32. Matriz (matemtica). Septiembre 2009 (Referido 01/11/2009).
Naji Azimi,Zahra (2004). Comparison of metaheuristic Disponible en URL: http://http://es.wikipedia.org/
algorithms for examination timetabling problem. J. wiki/Matriz_(matem%C3%A1tica)
Appl. Math. & Computing Vol. 16(2004), N 1-2, pp. Programacin Lineal. Octubre 2007 (Referido 01/12/2009).
337-354. Disponible en URL: http://es.wikipedia.org/wiki/
Programaci%C3%B3n_lineal
Fuentes Electrnicas
Red neuronal artificial. Agosto 2008 (Referido
Algoritmos genticos y computacin evolutiva. Abril 10/11/2009). Disponible en URL: http://es.wikipedia.
2004 (Referido 01/10/2009). Disponible en URL: org/wiki/Red_neuronal_artificial
http://the-geek.org/docs/algen/
Timetable. Octubre 2007 (Referido 01/10/2009). Dis-
Algoritmo voraz. Julio 2006 (Referido 01/12/2009). Dis- ponible en URL: http://en.wikipedia.org/wiki/Time-
ponible en URL: http://es.wikipedia.org/wiki/Algorit- table
mo_voraz
Vector (informtica). Diciembre 2008 (Referido 01/11/2009).
Inteligencia artificial. Octubre 2009 (Referido 06/11/2009). Disponible en URL: http://es.wikipedia.org/wiki/Ma-
Disponible en URL: http://es.wikipedia.org/wiki/Inte- triz_(programaci%C3%B3n)
ligencia_artificial
Vuelta Atrs. Febrero 2006 (Referido 20/11/2009). Dis-
Java Docs. Octubre 2009 (Referido 15/12/2009). Dis- ponible en URL: http://es.wikipedia.org/wiki/Vuel-
ponible en URL:http://jgap.sourceforge.net/java- ta_Atr%C3%A1s
doc/3.4.4/
56