Está en la página 1de 13

16

1. MARCO TEORICO

1.1 TIMETABLING

El Scheduling es pensado como un proceso de toma de decisiones donde
concierne ubicar recursos limitados a determinadas tareas a travs del tiempo.
Estos recursos pueden ser mquinas, personas u otros objetos, mientras que las
tareas son denotadas como las operaciones donde estos recursos son empleados
(PINEDO, 1999, 2). Segn el tipo de problema que se presente en una situacin
real, Scheduling se puede diferenciar en tres diferentes tipos, de acuerdo a la
caracterizacin hecha por el autor A. Wren (1996, 46-75):

Rostering (Lista, Catalogo): ubicacin de recursos en determinados
periodos siguiendo un patrn.
Sequencing (Secuenciacin): encontrar un orden para la ejecucin de
las actividades.
Timetabling: muestra CUANDO una tarea o evento en particular debe
ser llevado a cabo.
El Timetabling se utiliza diariamente en distintas reas para regular diferentes
operaciones donde sea necesaria una ubicacin de una herramienta en un sitio
determinado en una hora especfica, como por ejemplo en el transporte (vuelos
17
areos), en el estudio (programacin de clases o de exmenes), en salud
(programacin de cirugas), en el campo del entretenimiento (deportes, eventos en
festivales), etc.

La educacin superior es uno de los campos donde el empleo de buenas tcnicas
de secuenciacin ha llegado a tener mucha importancia en los ltimos aos,
debido a la cantidad de materias que el estudiante puede elegir segn su
inclinacin, lo que incrementa la dificultad al momento de programar clases o
exmenes. Existen tres categoras en el Timetabling educacional (SHAERF, 1999,
87-127)

School Timetabling: se refiere a la programacin de las clases
semanales en una institucin educativa, teniendo en cuenta que
ningn profesor deba dar dos clases a la misma hora y viceversa.
Course Timetabling: esta clasificacin indica las conferencias o
laboratorios que se deben llevar a cabo semanalmente segn el
nmero de programas universitarios que necesiten de estas
actividades.
Examination Timetabling: considera la programacin de exmenes
finales en una universidad, de manera tal que los estudiantes no
deban presentar simultneamente dos o ms exmenes y que los
exmenes programados para un estudiante se encuentren los ms
18
separados posible.

Cabe anotar la diferencia que se presenta entre estas categoras, y esta es que
mientras el School y el Course Timetabling tienen un plazo determinado de una
semana para su programacin, el plazo del Examination Timetabling es definido
por cada institucin en particular.

1.1.1 Examination Timetabling. En la programacin de exmenes finales se
experimenta una situacin dramtica a la hora de programar, ya que no se
dispone de mtodos automticos que faciliten esta labor. Actualmente las
universidades se han interesado por ofrecer una estructura de cursos en la cual el
alumno tiene libertad de variar sus materias de acuerdo a lneas de nfasis,
aumentando la complejidad de la programacin de estos exmenes para cada
estudiante, siendo este el problema al cual se enfrenta el Examination Timetabling.

El problema bsico del Examination Timetabling es la programacin de exmenes
en un nmero de periodos determinados, teniendo en cuenta una serie de
restricciones, que dependen en su mayora de la institucin educativa. Aquellas
restricciones que no pueden dejar de cumplirse se conocen como restricciones
duras (BYKOV, 2003, 12); un ejemplo de este tipo de restriccin es la de Clash-
free o traslape, la cual indica que ningn estudiante debe presentar dos
evaluaciones en el mismo periodo. Una solucin factible, es aquella solucin que
cumple con todas las restricciones duras.
19
Satisfacer la restriccin de traslape es necesario, pero no es suficiente para una
institucin. Existen adems otro tipo de restricciones que no son esenciales, pero
que son deseables para que la solucin obtenida sea aceptable. Este tipo de
restricciones se denominan suaves (12) y son estas las que varan segn la
institucin. Algunos ejemplos de estas restricciones son: considerar que algunos
exmenes no pueden ser programados en periodos determinados; no debe haber
ms estudiantes en un saln que la cantidad de sillas disponibles en ste; ningn
estudiante debe tener exmenes consecutivos, etc.

El problema bsico de Examination Timetabling se puede especificar as: (85-72)

Los datos comunes de entrada son:

N es el nmero de exmenes
M es el nmero de estudiantes
P es el nmero dado de periodos o Timeslots

NxN ij
c C ) ( = es la matriz de incompatibilidad donde cada elemento
de ella indica el nmero de estudiantes que deben presentar tanto
el examen i como el examen j. Esta es una matriz simtrica de
tamao N donde los elementos diagonales
ii
C representan el
nmero de estudiantes que deben presentar el examen i.

20
La solucin al problema se representa a travs de un vector. El vector
N i
t T ) ( = , donde t
i
especifica el timeslot o periodo asignado al examen i.
Cada timeslot debe estar representado por un nmero entero no negativo
) 1 ( P t
i
.

Las restricciones bsicas consideradas para este tipo de problema son el
Clash-free o traslape, la restriccin de proximidad, y la restriccin de
adyacencia. Como ya se expres anteriormente, la primera restriccin se
refiere a que un estudiante no puede estar al mismo tiempo presentando
dos o ms exmenes y esta restriccin es considerada dura. Una solucin
factible es aquella que satisface completamente esta restriccin, que est
determinada por la siguiente ecuacin:

Ecuacin 1 Ecuacin de traslape

=
=
=

+ =

=
0
1
) , (
, 0 ) , ( *
1
1
1
forma otra de
t t si
t t clash
donde t t clash c
j i
j i
N
i j
j i ij
N
i


Las siguientes restricciones penalizan las situaciones donde un estudiante
deba presentar dos exmenes de manera consecutiva o en periodos
cercanos. La restriccin de proximidad se refiere a la penalizacin que se
21
genera dependiendo de la cercana existente entre dos exmenes
programados, siendo mayor el grado de penalizacin entre ms cerca se
encuentren los exmenes. Esta restriccin aplica cuando se quiere dejar
tiempo prudente entre los exmenes para beneficio del estudiante. Es una
restriccin suave cuya penalizacin se debe minimizar.

Ecuacin 2 Ecuacin Proximidad

= + =

forma otra de
t t si
t t prox
donde
M
t t prox c
Minimizar
j i
t t
j i
N
i
N
i j
j i ij
j i
0
5 1 2
) , (
,
) , ( *
5
1
1 1
*


La restriccin de adyacencia hace referencia al nmero de conflictos
presentados cuando los estudiantes tienen exmenes en periodos
adyacentes (consecutivos) durante el mismo da, as:

Ecuacin 3 Ecuacin adyacencia
( ) ( )
j. examen el presenta se que en da el indica d valor El
0
1 1
) , (
), , ( *
tj
1
1 1

= =
=

= + =
forma otra de
d d t t si
t t adjs
donde t t adjs c Minimizar
tj ti j i
j i
j i
N
i
N
i j
ij

22
Una solucin aceptable es aquella que deja el valor de la penalizacin por traslape
en cero, y minimiza el valor de las otras restricciones.

El problema de Examination Timetabling maneja la siguiente terminologa:

Tabla 1 Terminologa Examination Timetabling
TERMINO SIGNIFICADO
Evento (examen) Actividad que debe se lleva a cabo
Timeslot o periodo
Intervalo en el tiempo donde el evento
puede ser programado
Persona (estudiante)
Individuo que atiende a uno o ms
eventos programados
Conflicto
Si dos eventos requieren una o ms
personas para ser llevado a cabo
Hecha por los autores.

1.2 GRAFOS COLOREADOS

Como se dijo anteriormente, una respuesta factible es aquella que satisface las
restricciones duras, como la de traslape. Para este caso, la obtencin de esta
solucin factible en el Examination Timetabling es anloga a resolver el problema

*
El valor de 5 en el exponente se refiere a la penalizacin hasta cinco periodos de cercana.
23
de grafos coloreados; un grafo est conformado por vrtices o nodos y arcos que
los relacionan entre s.

Desde 1967, Welsh y Powell sealan la conexin existente entre el problema
bsico del Timetabling con el problema de colorear los vrtices de un grafo de tal
forma que dos vrtices adyacentes (que se encuentren unidos por un arco) no
presenten el mismo color y que el nmero de colores sea el mnimo, y fue
caracterizado de la siguiente manera: Se tienen n trabajos { } 1 = i
N
i
J juntos, con una
matriz de conflictos { }
ij
m M donde
ij
m es igual a cero (0) o uno (1) dependiendo si
el trabajo
i
J o el trabajo
j
J pueden llevarse a cabo en el mismo da. El problema
consiste en minimizar el nmero de das necesitados para llevar a cabo los n
trabajos (1967, p. 85-86).

Se observa de esta manera la analoga existente entre el problema del
Examination Timetabling y el de coloracin de grafos ya que ambos pretenden
ubicar un nmero de eventos determinado en un espacio definido de tiempo,
teniendo en cuenta la restriccin de incompatibilidad mencionada anteriormente.
La nica diferencia entre estos dos modelos de problemas radica en la holgura del
tiempo determinado para asignar los eventos existentes en el Examination
Timetabling, puesto que en este tipo de problemas el nmero de periodos se
encuentra definido, mientras que en la coloracin de grafos se pretende minimizar
el nmero de colores empleados hasta lograr alcanzar el nmero cromtico que
24
se refiere al nmero mnimo de colores que se requieren para pintar
completamente el grafo.

En el grafo, visto como una representacin del Examination Timetabling, los
vrtices corresponden a los exmenes a programar, y los arcos indican que por lo
menos un estudiante debe presentar estos dos exmenes, sealando de esta
manera una incompatibilidad entre ellos. La coloracin del grafo consiste en
asignar colores a los nodos de tal forma que aquellos que se encuentren
conectados entre s por un arco no tengan el mismo color; se busca adems
utilizar el nmero mnimo de colores posible (BYKOV, 15).

El problema de la coloracin de grafos fue catalogado por Karp (1972, 85-104)
como problema NP-complete, para el cual no existe evidencia de que pueda o no
ser resuelto en tiempo polinomial usando un algoritmo determinstico; la solucin
para este tipo de problemas puede obtenerse a travs de un nmero finito de
pasos, sin embargo, la cantidad de pasos crece como una funcin exponencial
segn el tamao del problema. Esto implica que el uso de un algoritmo exacto
para encontrar un coloreado ptimo consuma demasiado tiempo computacional y
que resulte ms prctico resolver ese tipo de problemas a travs de algoritmos
inexactos, conocidos como heursticos, que pretenden alcanzar una solucin
cercana a la ptima en un tiempo de procesamiento razonable; es decir, se
sacrifica precisin por un tiempo de procesamiento menor.

25
Varios modelos de heursticos para la coloracin de grafos son analizados y
comparados en la literatura (NEWALL, 1999, 92). En esencia, lo que pretenden
estos modelos es llenar un periodo que se encuentre en blanco con exmenes,
teniendo en cuenta cierto orden. Este orden a seguir, vara segn el heurstico
seleccionado. Lo que motiva este ordenamiento es ubicar el examen ms difcil
primero, dependiendo de la medicin que se tenga de esta dificultad. Esta
medicin se realiza ya sea teniendo en cuenta los grados o el nivel de
saturacin que presente cada uno de los nodos del grafo.

El grado de un vrtice corresponde a la cantidad de arcos que entran y salen de
ste, significando esto el nmero de exmenes que presentan incompatibilidad
con dicho vrtice (PINEDO, 174). As mismo, existen mtodos cuyo criterio de
seleccin est dado por el valor del nivel de saturacin de un nodo, el cual indica
el nmero de nodos coloreados diferente conectados a l (BRELAZ, 1979, 252).

Los anlisis realizados por los autores mencionados llegan a la conclusin que el
modelo que mejor desempeo tiene (menor nmero de colores empleados) es
aquel desarrollado por Daniel Brelaz y originalmente denominado DSATUR.

1.2.1 Algoritmo DSATUR (BRELAZ, 252)

PASO 1. Se organizan los vrtices de manera decreciente segn el
valor del grado.

PASO 2. Colorear el vrtice que presente el mayor grado con color 1.
26

PASO 3. Seleccionar el vrtice con el mximo nivel de saturacin. Si
se presenta un empate, seleccionar el vrtice con mayor
grado no coloreado an.

PASO 4. Colorear el vrtice seleccionado con el mnimo color posible.

PASO 5. Si todos los vrtices se encuentran coloreados, pare. Sino,
regresar al paso 3.


1.3 SIMULATED ANNEALING

Debido a que el modelo de grafos coloreados satisface solamente la restriccin de
traslape o restriccin dura, es necesario emplear otros procedimientos que
permitan cumplir de una forma aceptable las restricciones suaves como son la
proximidad y adyacencia. Uno de estos procedimientos es el Simulated Annealing.

Este procedimiento es presentado por Kirkpatrick, Gellat y Vecchi (1983, 671-680)
como un modelo computacional del proceso fsico del incremento de la estabilidad
de la energa en una estructura molecular como consecuencia del calentamiento y
enfriamiento del material. Este concepto del recocido de un material es adaptado
al reorganizamiento aleatorio e iterativo de una respuesta inicial donde se busca
mejorar el valor de una funcin objetivo que depende de esta configuracin inicial
y as llegar a una solucin cercana a la ptima. Este metaheurstico se caracteriza
por aceptar aleatoriamente repuestas malas con el fin de no caer en ptimos
locales.
27

La equivalencia entre el proceso de recocido de un material y el modelo de
optimizacin combinatoria se fundamenta as:

La energa del sistema es el valor de la funcin objetivo con la configuracin
actual en ese momento.
Mejoramiento iterativo: reorganizamiento microscpico de los tomos. En el
problema de optimizacin es cada movimiento de la solucin inicial. En
cada iteracin, un tomo es desplazado aleatoriamente. Dicha variacin
produce un incremento o decremento de la energa E.
La temperatura vara gradualmente a travs de una rata de variacin .

Un anlisis detallado del Simulated Annealing se puede encontrar en el artculo de
Kirkpatrick, Gellat y Vecchi (671-680).

1.3.1 Algoritmo simulated annealing. El siguiente es el algoritmo del Simulated
Annealing

PASO 1. Generar solucin inicial
0
e

PASO 2. Seleccionar temperatura inicial
0
T , el nmero de
iteraciones por cada nivel de temperatura N, la
temperatura final
f
T y rata de decrecimiento .

PASO 3. Calcular ) (
0 0
e f h =
28

PASO 4. Hacer
0
h h
optimo
= y
0
e e
optimo
=

PASO 5. Hacer
0
T T = y 1 = k

PASO 6. Hacer 0 = n

PASO 7. Generar solucin
k
e y calcular ) (
k k
e f h =

PASO 8. Si
optimo k
h h < , entonces
k optimo
h h = y
k optimo
e e =
Si no, generar un nmero aleatorio x distribuido
uniformemente en [0,1]
Si
|
|
.
|

\
|
<
T
h h
k optimo
e x

k optimo
k optimo
e e
h h
=
=

Fin Si
Fin Si

PASO 9. 1 , 1 + = + = k k n n

PASO 10. Si N n , entonces regresar al paso 7
Sino continuar con el paso 11
Fin Si

PASO 11. T T =

PASO 12. Si
f
T T > entonces regresar al paso 6
Si no continuar con el paso 13
Fin Si

Paso 13.Terminar

También podría gustarte