View
18
Download
0
Category
Preview:
Citation preview
Escuela Técnica Superior de Ingenieros Universidad de Sevilla
UN ALGORITMO DE BU SQUEDA TABU PARA
GENERAR EL CALENDARIO DE
EXA MENES DE LA NUEVA FACULTAD DE CIENCIAS
DE LA EDUCACIO N
Autor: Emilio González Caro
Tutor: Pablo Cortés Achedad
Departamento de Organización Industrial y Gestión de Empresas
1
I NDICE
1. OBJETO DEL PROYECTO ............................................................ Pág. 4
2. PROBLEMA GENÉRICO DE DISEÑO DE
CALENDARIOS .............................................................................. Pág. 7
2.1 Introducción al diseño de calendarios ......................................... Pág. 7
2.2 Diseño de calendarios de examen ............................................. Pág. 13
2.2.1 Antecedentes ................................................................ Pág. 13
2.2.2 Elementos del diseño de calendarios
de exámenes ................................................................. Pág. 14
2.2.3 Restricciones del diseño de calendarios
de exámenes ................................................................. Pág. 16
3. FACULTAD DE CIENCIAS DE LA EDUCACIÓN
DE LA UNIVERSIDAD DE SEVILLA ........................................ Pág. 22
3.1 Universidad de Sevilla .............................................................. Pág. 22
3.2 Espacio Europeo de Educación Superior .................................. Pág. 23
3.3 La Facultad de Ciencias de la Educación ................................. Pág. 25
3.4 Edificio de la Pirotecnia ............................................................ Pág. 27
3.5 Restricciones propias de la Facultad ......................................... Pág. 29
3.5.1 Restricciones duras ....................................................... Pág. 30
3.5.2 Restricciones suaves ..................................................... Pág. 35
4. MODELO MATEMÁTICO ........................................................... Pág. 37
4.1 Datos del modelo ...................................................................... Pág. 37
4.2 Variables del modelo ................................................................ Pág. 42
4.3 Parámetros del modelo.............................................................. Pág. 45
4.4 Restricciones del modelo .......................................................... Pág. 45
4.5 Función objetivo ....................................................................... Pág. 52
4.6 Modelo ...................................................................................... Pág. 52
5. SOLUCIÓN DEL MODELO MEDIANTE UN
ALGORITMO DE BÚSQUEDA TABÚ ....................................... Pág. 55
5.1 Introducción a la búsqueda tabú ............................................... Pág. 56
5.2 Fundamentos de la búsqueda tabú ............................................ Pág. 57
5.3 Memoria de corto plazo y sus elementos .................................. Pág. 59
5.3.1 Manejo de la memoria basada en recencia ................... Pág. 60
5.3.2 Niveles de aspiración ................................................... Pág. 60
5.3.3 Estrategia para la lista de candidatos ............................ Pág. 61
5.4 Memoria a largo plazo .............................................................. Pág. 63
2
5.4.1 Estrategias de intensificación ....................................... Pág. 64
5.4.2 Estrategias de diversificación ....................................... Pág. 65
5.4.3 Combinación de las estrategias de intensificación y
diversificación .............................................................. Pág. 66
5.5 Oscilación estratégica ............................................................... Pág. 68
5.6 Reencadenamiento de trayectorias ............................................ Pág. 68
5.7 Características del algoritmo tabú empleado en
la resolución del modelo ........................................................... Pág. 69
5.7.1 Solución inicial ............................................................. Pág. 70
5.7.2 Atributos de las soluciones ........................................... Pág. 72
5.7.3 Exploración sensible .................................................... Pág. 73
5.7.4 Estrategias basadas en la memoria de corto
y largo plazo ................................................................. Pág. 76
6. DESCRIPCIÓN DEL SOFTWARE DEL ALGORITMO DE
BÚSQUEDA TABÚ ...................................................................... Pág. 80
6.1 El entorno Matlab ..................................................................... Pág. 80
6.2 Recursos informáticos empleados ............................................ Pág. 81
6.3 Archivos de entrada .................................................................. Pág. 81
6.3.1 Archivo de Datos .......................................................... Pág. 82
6.3.2 Archivo de Horarios ..................................................... Pág. 86
6.3.3 Archivo de Días de examen ......................................... Pág. 88
6.4 Archivo de salida ...................................................................... Pág. 88
6.5 Estructura del programa y diagramas de flujo .......................... Pág. 89
6.5.1 Función Interfaz ........................................................... Pág. 90
6.5.2 Función Main ............................................................... Pág. 91
6.5.3 Función Lectura_datos ................................................. Pág. 94
6.5.4 Función Solucion_inicial .............................................. Pág. 99
6.5.5 Función restricciones .................................................. Pág. 105
6.5.6 Función grupos_mover ............................................... Pág. 109
6.5.7 Función busqueda_tabu .............................................. Pág. 112
6.5.8 Función busqueda_tabu_cambio ................................ Pág. 119
6.5.9 Función restricciones_cambio_dia ............................. Pág. 125
6.5.10 Función búsqueda_tabu_cambio_dia ......................... Pág. 128
6.5.11 Función salida_datos .................................................. Pág. 135
7. ANÁLISIS DE RESULTADOS ................................................... Pág. 137
7.1 Calendario de exámenes ......................................................... Pág. 137
3
7.2 Evolución de la mejor solución y del algoritmo en función
del número de iteraciones ....................................................... Pág. 155
7.3 Evolución de las restricciones suaves en función del
número de iteraciones ............................................................. Pág. 157
7.4 Evolución del tiempo de ejecución en función del número
de grupos de examen............................................................... Pág. 158
7.5 Evolución del tiempo de ejecución en función del
tamaño medio de los grupos ................................................... Pág. 159
8. CONCLUSIONES Y LÍNEAS FUTURAS ................................. Pág. 161
9. BIBLIOGRAFÍA .......................................................................... Pág. 164
10. ANEXO: MANUAL DE USUARIO ........................................... Pág. 165
10.1 Presentación.................................................................... Pág. 165
10.2 Instalación ...................................................................... Pág. 168
10.3 Introducción de datos ..................................................... Pág. 173
10.3.1 Archivo datos ............................................................ Pág. 174
10.3.2 Archivo Horarios ........................................................ Pág. 179
10.3.3 Archivo días de examen ............................................. Pág. 181
10.4 Ejecución del programa ................................................. Pág. 182
10.5 Archivo de salida ............................................................ Pág. 188
4
1. OBJETO DEL PROYECTO
La Universidad española siempre ha ido adaptando su oferta
formativa a las nuevas necesidades del mercado laboral con el paso de los
tiempos.
El último hito importante en este proceso de adaptación continua ha
sido la entrada de la Universidad española en el Espacio Europeo de
Educación Superior (EEES), más conocido como plan Bolonia. Esta
adaptación al EEES ha traído consigo una profunda reforma de la
Universidad, ya que ha sido necesario cambiar los planes de estudios de
todas las titulaciones para homogeneizarlas con el resto de países europeos.
Sin embargo, esta adaptación no contempla tan solo un cambio de los
planes de estudios, sino que va más allá, cambiando incluso la forma de
impartir la enseñanza. En este aspecto, se encuentra el trasfondo de la
problemática sobre la que versa este proyecto: la adaptación al EEES
impone una enseñanza para grupos reducidos de alumnos.
Debido a esto, las aulas de la nueva Facultad de Ciencias de la
Educación, que se ha construido pensando en estas nuevas titulaciones, son
de un tamaño reducido. Este hecho dificulta muchísimo la creación de un
calendario de exámenes, sobre todo para las titulaciones antiguas que aún
no se han extinguido y en las que el número de alumnos es muy grande.
Este problema logístico surgido a raíz del plan Bolonia, se conoce en
la literatura como problema de diseño de calendarios. Por tanto, el objetivo
principal de este proyecto consiste en encontrar una solución factible a
dicho problema generando un calendario de exámenes factible con un
esfuerzo humano reducido.
Como se comprobará en los siguientes apartados, el problema de
diseño de calendarios no es ni mucho menos un problema estándar. Se trata
de un tipo de problema que posee un alto grado de personalización. Este
alto grado de personalización constituye un arma de doble filo: por un lado
se trata de un problema que aparece en multitud de ámbitos y por lo tanto
muy estudiado.
5
Por otro lado, este alto grado de personalización hace que cada caso,
incluso dentro del mismo ámbito, sea distinto. Esto tiene como
consecuencia que cada caso particular necesita de una larga tarea de diseño
y adaptación para conseguir resultados satisfactorios.
La memoria se divide en dos grandes bloques. El primero de ellos
comienza dando una introducción acerca de la diseño de calendarios en
general. Tras esta introducción, se profundiza en el problema del diseño de
calendarios aplicado al ámbito académico que es donde se desarrolla el
proyecto.
Una vez introducido el concepto del problema de diseño de
calendarios, se pasa a realizar una breve reseña histórica de la Facultad de
Ciencias de la Educación que ayude a situar cronológicamente los pasos
que se han dado hasta la actualidad y que han generado el origen del
problema.
Tras esta introducción histórica, se continúa explicando las
particularidades de la Facultad de Ciencias de la Educación y lo que esto
implica en términos de restricciones. Con esta descripción de las
particularidades de la Facultad termina el primer bloque de la memoria.
La segunda parte contiene la descripción y solución del problema
planteado en el primer bloque. Para ello se comienza presentando el
modelo matemático utilizado para plasmar todas las restricciones
anteriormente explicadas. Además, se expondrá la función objetivo del
modelo y que deberá ser minimizada al final del proceso.
Para abordar la resolución computacional del modelo matemático
planteado, se hará uso de un algoritmo de búsqueda tabú adaptado a este
caso particular. Los principales conceptos de la búsqueda tabú así como las
particularidades del caso se explican en la sección siguiente al modelo
matemático.
Una vez explicado el problema y cómo se alcanzará una solución del
mismo, se presenta un apartado en el que se explica en detalle la lógica de
los archivos que componen el programa informático diseñado para
solucionar el problema.
6
A continuación, se realizan varias pruebas con una convocatoria
típica para poder calibrar y comprender como funcionan ciertos parámetros
del programa.
Para terminar la memoria se plantean las conclusiones a las que se ha
llegado y las posibles líneas de trabajo futuras.
7
2. PROBLEMA GENE RICO DE DISEN O DE CALENDARIOS
2.1 INTRODUCCIÓN AL DISEÑO DE CALENDARIOS
El problema de diseño de calendarios, también conocido por su
denominación en inglés Timetabling Problem (TTP), pertenece a un
conjunto más amplios de problemas denominados de Programación
(Scheduling). El objetivo principal de este problema consiste obtener un
calendario sujeto a una serie de restricciones.
Este problema que en primera instancia puede parecer sencillo,
constituye un importante problema de optimización combinatoria. Más
concretamente, este tipo de problemas se encuentran clasificados dentro de
los problemas con complejidad NP-Hard.
Formalmente, se puede definir el problema de varias formas entre las
que se pueden destacar las siguientes:
El Timetabling consiste en definir dónde y cuándo las personas y los
recursos deben estar en un instante dado.
El diseño de calendarios consiste en asignar un número de eventos,
cada uno con ciertas características, a un número limitado de
recursos sujeto a restricciones.
El problema de diseño de calendarios aparece en muchas
aplicaciones de áreas muy distintas presentándose distintas problemáticas
en cada una de ellas. A continuación, se detallarán brevemente algunos
ejemplos significativos de este tipo de problemas
DISEÑO DE CALENDARIOS EN EL ÁMBITO DEL TRANSPORTE
El ámbito del transporte constituye una de las áreas de mayor
aplicación de los problemas de diseño de calendarios abarcando desde el
transporte de personas al de mercancías. Además, en este sector este
aspecto resulta de vital importancia ya que una buena gestión del
8
calendario puede ser la diferencia entre el éxito o el fracaso de una
compañía del sector.
A modo de ejemplo, se expondrá brevemente la problemática del
diseño de calendarios aplicada al sector ferroviario. Se utilizará un
problema simple aunque realista y bastante común. El problema se plantea
de la siguiente forma: se dispone de una línea ferroviaria que conecta dos
grandes estaciones. Entre dichas estaciones principales se encuentran
situadas diversas situaciones intermedias.
Se trata de un problema típico de transportes guiados. En estos
transportes los vehículos se desplazan a través de infraestructuras
especialmente diseñadas para ellos que, generalmente resulta costosas de
construir. Además estas infraestructuras disponen de una capacidad
limitada así como de unas características particulares.
En este caso la problemática salta a la vista: en un mismo tramo de
vía (conocido como cantón en el lenguaje ferroviario) no pueden coincidir
varios trenes. De hacerlo podrían colisionar y provocar un gran desastre.
Por este motivo, una buena organización del tráfico ferroviario es vital ya
que, debido a la inversión en infraestructura, no parece razonable utilizar la
vía por debajo de sus posibilidades.
Además de este problema, existen otras muchas restricciones
operacionales que hacen que la generación de un calendario correcto no sea
un problema trivial.
Dentro de estas restricciones operacionales, se pueden destacar
algunas de las más importantes como son:
Los trenes deben parar un tiempo mínimo en algunas estaciones.
Los trenes no pueden adelantar dentro de la propia vía, aunque sí
mientras alguno está detenido en una estación.
Debe existir un lapso de tiempo entre dos llegadas o salidas
consecutivas.
También se pueden exigir ventanas de tiempo concretas para un tren
de tal forma que un tren no llegue a una estación después de cierta
hora o que otro no salga de una estación antes de una determinada
9
Estas restricciones son tan solo algunas de las más significativas
aunque pueden existir muchas más.
Siguiendo con el modelo y puesto que se trata de un problema de
optimización, será necesario definir una función objetivo que deberá ser
maximizada o minimizada siempre respetando las restricciones del modelo.
Una función objetivo típica podría ser la de maximizar los
beneficios. Estos beneficios dependerán de múltiples factores como los
tipos de trenes, la hora en la que viajen, etc. Por ejemplo no ofrecerá el
mismo beneficio un tren de cercanías que circule en hora punta de la
mañana hacia una gran ciudad que si ese mismo trayecto se realiza de
madrugada.
Con respecto a las variables que se suelen utilizar, hay que destacar
que existen varias formas de enfocar el problema. Sin embargo, una de las
opciones más extendidas consiste en discretizar el tiempo en slots y la vía
en bloques o cantones. De esta forma se puede definir la variable binaria
que toma el valor 1 cuando el tren j se encuentra en el cantón b en el
instante s.
Por último, se hará una reflexión acerca del enfoque de resolución de
este tipo de problemas. La resolución de estos problemas se encuentra
claramente influenciada por el gran tamaño que pueden alcanzar estos
problemas. Tan solo hay que pensar en una red de transporte ferroviario de
una ciudad mediana. En estos núcleos se gestionan cientos de operaciones
diarias. Este número de operaciones unido a la gran cantidad de kilómetros
de vías y a lo prolongado de su funcionamiento hacen que el problema
adquiera una dimensión gigantesca.
Además se trata de un problema combinatorio que hace que las
combinaciones aumenten exponencialmente. Todo esto hace que sea
prácticamente inviable una resolución analítica y exacta de este tipo de
problemas. Por lo tanto, en la práctica se usan meta-heurísticas de
resolución como pueden ser los algoritmos genéticos o la búsqueda tabú
que tratan de encontrar una solución lo más aproximada posible a la óptima
con un consumo de recursos moderado.
10
PROGRAMACIÓN DE ACTIVIDADES EN EL ÁMBITO DE LA
INDUSTRIA
El diseño de calendarios también se aplica al ámbito industrial. Un
ejemplo bastante estudiado es la programación de actividades en un taller.
El problema se puede describir de la siguiente forma: se dispone de
un número de máquinas o centros de trabajo que deben procesar un número
de encargos. Cada encargo consta de una serie de operaciones que deben
ser efectuadas cada una en su máquina correspondiente y en un orden
establecido.
La solución al problema consiste en asignar operaciones en los
distintos intervalos de tiempo para conseguir realizar todos los encargos del
taller. Obviamente, una buena planificación de estas operaciones puede
significar un gran aumento de la eficiencia del taller ya que, si el taller
posee unas dimensiones considerables, una asignación arbitraria puede
ocasionar un gran descontrol que originaría pérdidas económicas.
Dependiendo del problema particular en el que nos encontremos, el
modelo deberá incluir más o menos restricciones. Una gran parte de estas
restricciones son específicas de cada problema, aunque existen algunas que
son comunes a la gran mayoría de estos problemas:
El orden de las operaciones en cada trabajo debe ser respetado.
No se pueden realizar dos o más tareas de forma simultánea en la
misma máquina.
El modelado de las variables del problema puede variar según el
autor del modelo. Sin embargo, una notación bastante lógica es aquella que
utiliza una variable binaria para identificar qué tarea i se encuentra
asignada a cada máquina f en cada instante t:
Como función objetivo de este problema se pueden tomar varias. Sin
embargo, una de las funciones más comunes que se suelen utilizar es
aquella que busca minimizar el tiempo de todas las operaciones. Con esta
función se busca alcanzar la máxima rentabilidad en el taller.
Con respecto a la resolución de este problema existen varios
enfoques. En 1963 fue formulado este problema para un tamaño de 10x10
(10 máquinas y 10 encargos) por Muth y Thompson. Sin embargo, no fue
11
hasta 1989 cuando pudo ser resuelto exactamente. Esta solución fue
obtenida mediante un algoritmo de branch and bound que requirió 5 horas
de cómputo informático.
Posteriormente, en 1990, estos algoritmos fueron mejorados por
Applegate et al. [1] y este hecho unido al avance de la informática han
hecho que el problema haya llegado a ser resuelto en tan solo 372
segundos.
Otros métodos más sofisticados fueron apareciendo con el tiempo.
Entre ellos destaca el conocido en inglés como Shifting Bottleneck basadas
en la identificación del cuello de botella.
Sin embargo, los métodos exactos presentan el problema de que
necesitan de muchísimo tiempo para resolverse a medida que los problemas
toman un tamaño mayor. Debido a esto, nacieron métodos de búsqueda que
aproximan la solución del problema en un tiempo razonable.
Estos métodos son los mismos que se utilizaron para resolver el
problema de los trenes: la búsqueda tabú y los algoritmos genéticos.
DISEÑO DE CALENDARIOS EN EL ÁMBITO ACADÉMICO
Por último, se verá de forma genérica como se aplican las técnicas de
diseño de calendarios al ámbito académico. En esta ocasión se hará un
mayor hincapié que en los casos anteriores ya que el objeto del proyecto se
desarrolla en este ámbito.
En el ámbito académico se pueden distinguir varios procesos
distintos de diseño de calendarios:
Diseño de calendarios de exámenes (ETT, Exam Timetabling)
Diseño de calendarios para materias (CTT, Course Timetabling), que
su vez se subdivide en:
o Calendarización por materias basado en inscripciones (EB-
CTT, Enrollment-Based Course Timetabling)
o Diseño de calendarios por materias basado en Plan de Estudios
(CB-CTT, Curriculum-Based Course Timetabling)
12
Esta división de problemas en el ámbito académico resulta bastante
teórica y, en la práctica, la división entre el diseño de calendarios de
exámenes y el diseño de calendarios para materias es bastante difusa. El
motivo de esta escasa diferenciación es que, generalmente, la generación de
un buen calendario para las materias facilita la generación de un buen
calendario de exámenes y viceversa. Por ello, en grandes instituciones,
donde el diseño de calendarios es un tema de vital importancia, suelen
abordar ambos problemas de forma paralela con el fin de mejorar el
resultado obtenido.
El modelado de estos problemas, se puede realizar mediante una
utilización de una variable binaria . Esta variable de tres subíndices
toma un valor unitario cuando el grupo i está asignado al aula j en el
instante t. Dependiendo del tipo de problema, ya sea de diseño de
calendarios de examen o de diseño de calendarios de clase, esa asignación
será para realizar un examen o para recibir una clase.
Con respecto a las restricciones del problema, éstas son numerosas y
variadas ya que dependen mucho del problema en cuestión. Aun así hay
algunas restricciones que son comunes a estos problemas de ámbito
académico:
Un alumno no puede realizar más de un examen o recibir más de una
clase a la vez.
Un aula no se puede usar para dos fines distintos (clases y exámenes,
dos o más exámenes…) a la vez.
Generalmente un alumno no puede realizar más de un examen en el
mismo día. Esta condición resulta difícil de controlar muchas veces
ya que muchos alumnos se encuentran matriculados en distintos
cursos. Normalmente esta restricción se impone pensando que los
alumnos se encuentran matriculados de tan solo un curso. De esta
forma se evita que haya más de una asignatura de un mismo curso en
el mismo día.
Con respecto a la función objetivo se puede decir que en la práctica
ésta depende de los gustos de la institución para la que se esté diseñando el
calendario. De esta forma, es posible que algunas instituciones prefieran,
por ejemplo, minimizar los exámenes celebrados en sábado mientras que
otras prefieran un objetivo distinto. Sin embargo, hay una función bastante
13
utilizada en el ámbito académico. Esta función es aquella que busca
minimizar el número de conflictos del calendario, entendiendo como
conflicto un incumplimiento de una restricción.
2.2 DISEÑO DE CALENDARIOS DE EXÁMENES
2.2.1 ANTECEDENTES
El problema de diseño de calendarios para exámenes es precisamente
el problema que intenta resolver este proyecto. Por este motivo, en este
apartado se explicará con mayor profundidad dicho problema.
Como se ha indicado en el apartado anterior, el objetivo clásico de
este problema consiste en reducir al mínimo el número de conflictos que se
presentan en la configuración del calendario.
Estos conflictos van desde los más generales, como el hecho de que
un aula no se puede utilizar para realizar dos exámenes al mismo tiempo,
hasta otros muchísimo más específicos de la institución o del personal en
cuestión como puede ser que ciertos profesores solo puedan celebrar
exámenes durante la mañana.
Además, la dificultad de este problema aumenta considerablemente
en instituciones como universidades, ya que es necesario tener en cuenta
aspectos que en otras instituciones serían impensable.
Un ejemplo de estos detalles puede aparecer en campus grandes en
los que se celebren exámenes con dos partes. En estas situaciones, lo
normal es que ambas partes se celebren de forma consecutivas. Sin
embargo, en algunas ocasiones estos exámenes deben celebrarse en aulas
distintas si por ejemplo en alguna de ellas se necesita un equipo
informático y en la otra no. En estas situaciones, es importante asegurarse
de que las aulas no se encuentren demasiado lejanas entre sí ya que de lo
contrario es posible que los alumnos no dispongan de tiempo necesario
para cambiar de aula.
14
2.2.2 ELEMENTOS DEL DISEÑO DE UN CALENDARIO DE EXÁMENES
En este primer apartado, se comenzará haciendo referencia y
explicando los principales elementos de los que consta un problema de
diseño de calendario de exámenes.
PERIODO DE EXÁMENES
El periodo de exámenes es uno de los elementos principales del
problema. Se trata de un periodo temporal que indica las fechas en las que
se pueden celebrar los exámenes.
En la mayoría de las universidades durante el periodo de realización
de los exámenes queda suspendida la impartición de clases para permitir a
los alumnos realizar los exámenes con mayor comodidad. Sin embargo,
esto no siempre tiene porque ser así y, por ejemplo, en algunas
convocatorias como la Extraordinaria de Diciembre es costumbre
compaginar la realización de exámenes con la impartición de clases.
Para definir el periodo de exámenes será necesario proporcionar una
fecha de inicio y una fecha de fin o, en su defecto, la duración del mismo.
AULAS
Las aulas son el lugar físico donde se celebran los exámenes. Se trata
por tanto de un recurso limitado y que depende del edificio donde se
celebren los exámenes. Además, se trata de un recurso que generalmente no
varía con el paso de los años debido a que su creación o eliminación
requiere de reformas.
Para definir las aulas de las que se disponen, se necesitan de dos
aspectos fundamentales.
El primero de ellos es la capacidad de las aulas. La capacidad de las
aulas no es siempre constante y depende del uso que se haga de ella.
Cuando un aula está siendo usada para la impartición de clases, su
capacidad suele venir dada por el número de asientos disponibles para los
15
alumnos. Sin embargo, cuando se utiliza un aula para la celebración de un
examen su capacidad final es menor. Esto es debido a que durante la
realización de los exámenes es necesario separar a los alumnos entre sí para
evitar, en la medida de lo posible, que éstos puedan copiar de los
compañeros. De esta forma, la capacidad del aula dependerá del número de
sitios que sea necesario dejar vacíos para evitar que los alumnos se copien.
Otro aspecto a tener en cuenta es la disponibilidad de las aulas.
Como se ha visto durante la definición de los periodos de examen, en
ciertas ocasiones éstos coinciden con la impartición de clases. En estos
casos, resulta imprescindible disponer de un calendario de ocupación de las
aulas que indique cuando un aula se encuentra disponible y cuando no.
Además, incluso si durante el periodo de exámenes no se impartieran
clases, es necesario tener en cuenta este aspecto ya que un aula puede
encontrarse no disponible por otros motivos como mantenimiento,
celebración de seminarios, etc.
EXÁMENES
Los exámenes constituyen el elemento principal este problema.
Durante una convocatoria tradicional se realizan multitud de exámenes y
cada uno de ellos posee unas características distintas a los anteriores.
De forma genérica, es necesario suponer que cada examen tendrá sus
propias características de duración, número de alumnos matriculados,
máximo número de aulas en que se puede dividir, necesidades específicas
de aulas o talleres, preferencia por ciertos periodos de tiempo…y un sin fin
de propiedades que dependerán en gran parte de la institución para la que
se esté resolviendo el problema.
Por lo tanto, se hace necesario dedicar un tiempo a especificar todas
las peculiaridades que se van a tener en cuenta en la resolución del
problema y crear un listado con todas ellas para poderlas incluir en el
modelo.
16
PREFERENCIAS DE DISTRIBUCIÓN
Además de todas las características individuales de cada examen,
también existen normalmente unas prioridades de distribución de los
exámenes. Estas preferencias de distribución suelen ser muy variadas y
dependen principalmente de la institución para la que se esté resolviendo el
problema. Sin embargo, la gran mayoría de ellas se puede encajar en uno
de los siguientes grupos:
Misma aula: exámenes que deben o es recomendable que se celebren
en una misma aula.
Diferentes aulas: exámenes que deben o es recomendable que se
celebren en distintas aulas.
Mismo periodo: exámenes que deben o es recomendable que se
celebren en un mismo periodo.
Diferentes periodos: exámenes que deben o es recomendable que se
celebren en distintos periodos.
Orden de exámenes: exámenes que deben o es recomendable que se
celebren en un orden temporal determinado
2.2.3 RESTRICCIONES DEL DISEÑO DE CALENDARIOS DE
EXÁMENES
En este apartado se detallaran las restricciones más comunes del
problema de diseño de calendarios de exámenes. En primer lugar, hay que
explicar que existen dos tipos de restricciones distintas: las restricciones
duras (Hard Constraints) y restricciones suaves (Soft Constraints).
El primer tipo de restricciones, las restricciones duras, está formado
por un conjunto de condiciones que deben cumplirse obligatoriamente. Es
decir, cualquier solución del problema debe cumplir este grupo de
condiciones para poderse considerar una solución aceptable.
El segundo tipo de restricciones, las restricciones suaves, está
compuesto por un conjunto de restricciones que, pese a que es
recomendable cumplirlas, no resulta estrictamente necesario cumplirlas.
Estas restricciones pueden relajarse para hacer admisible una solución que
17
las incumpla. Es decir, que las restricciones suaves son un conjunto de
recomendaciones que hacen que la solución obtenida sea mejor, pero cuyo
incumplimiento no invalida el calendario obtenido.
Se puede decir por tanto que las restricciones suaves representan un
indicador de calidad de la solución obtenida. Es decir, cuanto menor sea el
número de restricciones suaves que infrinjamos mayor será la calidad de la
solución.
Una vez descritas los tipos de restricciones que componen el
problema, se pasará a hacer referencia a algunas de las restricciones más
comunes. Como ya se ha dicho anteriormente, el conjunto de las
restricciones de un problema depende en un alto grado de cada caso
particular. Sin embargo, existen una serie de restricciones que se pueden
considerar comunes a la práctica totalidad de los problemas de diseño de
calendarios de exámenes.
En un primer lugar, se indicarán cuáles son las restricciones duras
más comunes a la mayoría de los problemas. Se trata sobre todo de
restricciones que imponen limitaciones físicas que, obviamente deben
cumplirse de forma obligatoria:
Un examen solo puede ser asignado en un aula en todos los periodos.
Un aula no puede ser utilizada en los periodos en los que no está
disponible.
Un examen debe ser asignado en un aula (o en una serie de aulas) de
tal forma que la capacidad de todas ellas sea igual o mayor que el
número de estudiantes que deben realizar el examen. Por supuesto, la
capacidad a la que se hace referencia es la capacidad de las aulas
durante los exámenes.
No se debe exceder el número máximo de aulas que se pueden
asignar a un único examen.
Los exámenes deben celebrarse dentro del periodo especificado para
ello.
Además de estas restricciones, también habría que añadir en este
bloque aquellas restricciones que contemplen las preferencias de
distribución de los distintos exámenes.
18
Una vez se han comprobado las principales restricciones duras, se
procederá a reflexionar sobre las restricciones blandas. Como se ha
indicado, este tipo de restricciones no son de obligado cumplimiento y
responden a características deseables aunque no imprescindibles. Por este
motivo, este grupo de restricciones está compuesto normalmente por
aspectos secundarios alejados de las limitaciones físicas que muchas veces
se imponen en las restricciones duras.
Existen numerosas restricciones blandas por lo que se clasificaran en
distintos grupos, dentro de los cuales se hará referencia a las más
relevantes.
CONFLICTOS CON LOS ESTUDIANTES
Dentro de este grupo de restricciones se encuentran todas aquellas
preferencias que normalmente son solicitadas por los estudiantes.
Normalmente estas condiciones se ven reflejadas en los convenios que los
colectivos estudiantiles establecen con la dirección del centro.
Dependiendo de las características de dicho convenio, algunas de estas
restricciones pueden incluso convertirse en restricciones duras.
La primera de las restricciones de este grupo aconseja no celebrar en
un mismo día más de un examen del mismo curso. Como norma general, en
la mayoría de los centros educativos de nivel superior se evita en la medida
de lo posible esta situación ya que suele ocasionar las protestas del
alumnado.
Sin embargo, esta restricción se suele clasificar como suave ya que
en algunas convocatorias (como la Extraordinaria de Diciembre) puede ser
necesario incumplir esta restricción. En algunas universidades, la
normativa académica establece que la Convocatoria de Diciembre se
celebre en un corto periodo de tiempo.
Este hecho, combinado con la gran cantidad de asignaturas que
poseen algunos planes de estudio, hacen que sea físicamente imposible
situar una asignatura en cada día puesto llega a haber más asignaturas que
días. Además, hay que tener en cuenta que en las Convocatorias
Extraordinarias el alumnado no suele concurrir a todos los exámenes del
19
curso y por tanto se suele dar prioridad a la restricción de la duración del
periodo de exámenes.
La segunda de las restricciones se puede considerar una extensión de
la anterior. Esta restricción recomienda que los exámenes de un mismo
curso dispongan de días de descanso entre ellos. Realmente, esta restricción
regula el mismo suceso que la anterior: la aglomeración de exámenes. Sin
embargo, cuando los exámenes se encuentran en distintos días, aunque sean
consecutivos, suelen ser considerados correctos por la normativa
académica.
A pesar de esto, parece obvio que si por ejemplo se disponen de 15
días para realizar 5 exámenes no resulta conveniente celebrarlos todos en
los 5 o 7 primeros días y dejar el resto libre. Por este motivo, se incluye
esta restricción que intenta evitar situaciones como la anteriormente
descrita.
Por último, existe una restricción que se suele implementar en
campus universitarios grandes. Esta restricción a la que se hace referencia
recomienda no alejar demasiado entre sí partes de un mismo examen.
Como ya se comentó anteriormente, cuando durante un examen es
necesario cambiar de aula, no parece lógico poner estas aulas muy alejadas
en el campus si existen otras alternativas. En este sentido, y para permitir al
alumno cambiar cómodamente de aula, se suele recomendar que la
distancia entre las mismas no sea superior a 600 metros.
CONFLICTOS CON LOS PROFESORES
Dentro de este grupo de restricciones se encuentran todas aquellas
que hacen referencia a las preferencias de los profesores de cara a la
realización de exámenes. Obviamente, al tratarse de restricciones suaves,
hacen referencia a preferencias y no a imposiciones.
La primera de las restricciones tiene en cuenta la cantidad de
exámenes a la que un profesor asiste un mismo día. Generalmente, se suele
imponer que cada profesor asista a un máximo de un examen cada día. Sin
embargo, se trata de una restricción muy variable ya que depende de los
gustos de los profesores. Por ejemplo, puede haber profesores que estén
dispuestos a tener más de un examen en el mismo día si de esta forma ven
20
reducido su periodo de exámenes. Por lo tanto, e independientemente de la
preferencia personal, lo que sí está claro es que es un aspecto a tener en
cuenta.
La segunda de las restricciones de este grupo pretende dar solución a
un problema que ya ha sido resuelto para los alumnos. En esta restricción
se limita la distancia entre aulas de exámenes consecutivos. La idea es la
misma que con los alumnos: dar tiempo suficiente al profesor para que
cambie de un aula a otra en exámenes de varias partes. Al igual que en caso
del alumnado la distancia máxima que se suele imponer es de 600 metros.
OTROS CRITERIOS
En este grupo se añadirán todas aquellas restricciones que no
pertenecen ni a los alumnos ni a los profesores.
En primer lugar, se encuentra una restricción que valora la idoneidad
de los periodos de examen. Esta restricción pretende tener en cuenta que
ciertos exámenes pueden resultar más aconsejable celebrarlos en unos
periodos que en otros. Para medir la idoneidad de cada examen por los
periodos se suele asignar una penalización a cada periodo. Por ejemplo se
podría asignar la siguiente escala de penalizaciones:
Muy desaconsejable: 4.
Desaconsejable: 1.
Indiferente: 0.
Recomendable: -1.
Muy recomendable: -4.
Otro de los aspectos que normalmente debe ser tenido en cuenta en el
diseño de calendarios es la predilección de ciertos exámenes por algunas
aulas. Esta restricción no es más que la extensión de la idea anterior a las
distintas aulas de un edificio. Por ejemplo, cuando una facultad dispone de
2 o 3 edificios puede resultar interesante agrupar todos los exámenes en 1 o
2 edificios. De esta forma, el edificio sobrante se puede mantener cerrado
con el consiguiente ahorro económico que esto supone. En esta restricción
se suele adoptar un sistema de penalizaciones similar al de la restricción
anterior.
21
La tercera restricción de este grupo tiene en cuenta la asignación de
varias aulas para un mismo examen. Generalmente, cuando un grupo de
examen es numeroso, se suelen asignar varias aulas para repartir a los
alumnos entre ellas. Sin embargo, esta división del examen no debe ser
numerosa ya que esto genera numerosos problemas de organización. Uno
de los más importantes es la limitación de profesores ya que si asignan
muchas aulas cabe la posibilidad de que no halla profesores disponibles
para atenderlas todas. Por este motivo, se suele intentar que el número de
aulas asignadas sea el mínimo necesario.
La cuarta restricción de este grupo está muy relacionada con la
limitación de distancia impuesta a exámenes contiguos tanto de alumnos
como de profesores. Esta restricción limita la distancia entre las distintas
aulas de un mismo examen. La idea es que las distintas aulas de un mismo
examen se encuentren lo más cerca posible para facilitar la comunicación
entre los profesores ante cualquier imprevisto que pudiera surgir durante la
realización del examen.
La quinta y última restricción de este grupo recomienda no asignar a
aulas grandes exámenes demasiado pequeños. El motivo de esta restricción
es intentar utilizar al máximo la capacidad de las aulas ya que este recurso
es bastante escaso generalmente. Si no se incluyera esta restricción se
correría el riesgo de que se asignasen exámenes muy pequeños en aulas
muy grandes, lo que podría provocar una división innecesaria de grupos
más grandes para poderlo asignar en aulas más pequeñas. Para conseguir
este objetivo, la estrategia que se suele seguir es penalizar la
sobrecapacidad de las aulas.
22
3. FACULTAD DE CIENCIAS DE LA EDUCACIO N DE LA UNIVERSIDAD DE SEVILLA
3.1 UNIVERSIDAD DE SEVILLA
La Facultad de Ciencias de la Educación es un centro de estudios
perteneciente a la Universidad de Sevilla. La historia de esta Universidad
se remonta al año 1256, aunque no fue hasta el siglo XVI cuando recibió el
rango universitario. En 1472, Maese Rodrigo Fernández de Santaella
edificó el Colegio-Universidad Santa María de Jesús, consiguiéndose la
Real Cédula de fundación el 22 de febrero de 1502, y la bula papal el 12 de
julio de 1505. En esta bula, le fue permitida la enseñanza de Artes, Lógica,
Filosofía, Teología Derecho Canónico y Civil y Medicina.
El objetivo del centro fue la formación de doce colegiales pobres, y
la Capilla quedó bajo la advocación de Santa María de Jesús. Entre los
privilegios, se les autorizó a conferir los grados de bachiller, licenciado y
doctor en Teología, Derecho Canónico, Derecho Civil y el de maestro en
Artes. Además se le concedió todas las gracias y prerrogativas otorgadas
“in genere” a los demás Estudios Generales de España.
El fundador jamás llamó al Colegio “Universidad”, aunque estuviese
en su pensamiento. El 16 de julio de 1508, otra bula papal habló ya de
“Studium Generale”, por la que se le permitió la enseñanza de las Artes,
Lógica, Filosofía, Teología, Derecho Canónico y Civil y Medicina.
Desde esos primeros momentos fundacionales, hasta la actualidad, la
Universidad de Sevilla ha sufrido una constante evolución, influenciada por
los acontecimientos contextuales en los que se ha desarrollado. Cabe
destacar en esa evolución que como institución, y al igual que el resto de
las universidades españolas, sufrió una decadencia durante el siglo XVII.
No fue hasta la Ilustración, con las reformas del ministro Pablo de Olavide,
cuando la Universidad volvió a su esplendor.
23
A comienzos del siglo XIX la Universidad hispalense se extendió
absorbiendo las Universidades menores de Baeza y Osuna. El gran logro
del siglo XX fue la consagración de la autonomía universitaria, conseguida
la Ley de Reforma Universitaria (LRU) aprobada en 1983. En la década
siguiente la Universidad de Sevilla se caracterizó por la masificación,
siendo también significativo el aumento del profesorado, así como en los
Departamentos, que en 1994 superaron el centenar.
Por último, dos circunstancias han caracterizado, en líneas generales,
a la Universidad de Sevilla a lo largo del siglo XXI. La primera es la
aprobación de una nueva Ley Orgánica de Universidades (LOU), que ha
conllevado cambios sustanciales en la organización de la Universidad
(nuevos Estatutos verificados el 5 de julio de 2003), así como en el
Profesorado, entre otros. La segunda, se refiere a las trasformaciones que se
están produciendo producto de la creación del Espacio Europeo de
Educación Superior (EEES).
3.2 ESPACIO EUROPEO DE EDUCACIÓN SUPERIOR
La adaptación al Espacio Europeo de Educación Superior ha sido
uno de los mayores cambios que ha tenido que afrontar la Universidad en
los últimos años. Además, esta adaptación al EEES ha sido una de las
causas principales que ha originado el problema al que da solución este
proyecto. Para entender este hecho, se hará un repaso histórico de lo que
esta adaptación ha supuesto en la Universidad.
El Espacio Europeo de Educación Superior es un ámbito de
organización educativo iniciado en 1999 con la Declaración de Bolonia.
Debido a esto, es conocido popularmente como Plan Bolonia. El objetivo
del EEES es armonizar los distintos sistemas educativos de la Unión
Europea y proporcionar una forma eficaz de intercambio entre todos los
estudiantes, así como dotar de una dimensión y de una agilidad sin
precedentes al proceso de cambio emprendido por las universidades
europeas.
24
En España las bases de este profundo cambio se sentaron son la Ley
Orgánica 4/2007, de 12 de abril, por la que se modifica la Ley Orgánica
6/2001, de 21 de diciembre.
Sin embargo, el paso definitivo se da el 26 de octubre de 2007
cuando el Consejo de Ministros aprueba el Real Decreto de Ordenación de
Enseñanzas Universitarias oficiales. En este Real Decreto se fija una nueva
estructura de títulos en tres niveles, grado, máster y doctorado, en
consonancia con el EEES.
Además de esta modificación, la ley incluye los principales
objetivos, derechos y obligaciones. Los aspectos más importantes son:
Se permite a las propias universidades crear y proponer, de acuerdo
con las reglas establecidas, las enseñanzas y títulos que hayan de
impartir y expedir, sin sujeción a la existencia de un catálogo previo
establecido por el gobierno.
Adoptar una serie de medidas que, además de ser compatibles con el
EEES, flexibilicen la organización de las enseñanzas universitarias,
promoviendo la diversificación curricular y permitiendo que las
universidades aprovechen su capacidad de innovación, sus fortalezas
y sus oportunidades.
Impulsar un cambio en las metodologías docentes, que centra el
objetivo en el proceso de aprendizaje del estudiante, en un contexto
que se extiende ahora a lo largo de su vida. En este objetivo, entre
otros aspectos, pretende que la enseñanza universitaria se realice en
grupos de alumnos reducidos. Para conseguir esto, es necesario
invertir muchos recursos en la adecuación de las aulas actuales que
fueron concebidas para la impartición de clases a grupos numerosos.
En el diseño de un título se deberán reflejar más elementos que la
mera descripción de los contenidos formativos, tales como
justificación, objetivos, admisión de estudiantes, planificación,
recursos, resultados previstos y sistema de garantía de calidad.
Se proponen los créditos europeos (ECTS) como unidad de medida
que refleja los resultados de aprendizaje y volumen de trabajo
realizado por el estudiante.
En el supuesto de títulos que habiliten para el acceso o ejercicio de
actividades profesionales, el Gobierno establecerá las condiciones a
25
las que deberán adecuarse los planes de estudios para garantizar un
adecuado ejercicio profesional.
Se garantizan los derechos académicos adquiridos por los estudiantes
y los titulados conforme a sistemas educativos anteriores.
Se potencia la apertura hacia los estudiantes procedente de otros
países del EEES.
Se fomenta la movilidad de los estudiantes, tanto dentro de Europa,
como de otras partes del mundo.
Se establecen vínculos adecuados entre el EEES y el Espacio
Europeo de Investigación.
3.3 LA FACULTAD DE CIENCIAS DE LA EDUCACIÓN
La Facultad de Ciencias de la Educación no se crea como se conoce
en la actualidad hasta el año 1993, cuando la antigua Escuela de Magisterio
pasó a ser la Facultad de Ciencias de la Educación. A pesar de esto, ya en
el año 1975 se comienzan a dar los primeros pasos para su creación
definitiva posteriormente. Para ello, la Universidad de Sevilla ordena crear
las enseñanzas de Filosofía y Ciencias de la Educación aunque formando
parte de la Facultad de Filosofía y Letras. Posteriormente, en 1978, la
Facultad de Filosofía y Letras desapareció dando paso a tres Facultades: la
de Geografía e Historia, la de Filología y la de Filosofía y Ciencias de la
Educación.
Una vez creada la Facultad de Ciencias de la Educación en 1993 esta
se situó en un edificio de la avenida de Ciudad Jardín. En esta primera sede
estuvo ubicada la facultad hasta el curso académico 2010/2011. En este año
la Facultad cambia de sede, trasladándose a un nuevo edificio situado en el
campus de la Pirotecnia del que se darán más detalles en el siguiente
apartado.
El número de titulaciones impartidas en la Facultad de Ciencias de la
Educación ha ido variando desde su fundación a la actualidad. En estos
momentos en la Facultad conviven titulaciones de distinta naturaleza. Por
un lado, conviven las nuevas titulaciones adaptadas al EEES, conducentes a
títulos de grados, con las antiguas titulaciones que conducen a la obtención
26
de diplomaturas y licenciaturas. Por otro lado, también existen estudios
denominados de Tercer Ciclo, conducentes al título de Doctor, y otros
estudios de Postgrado.
A continuación se expone el listado de titulaciones que se imparten
en la actualidad en la Facultad:
1. Grado en pedagogía.
2. Grado en Educación Infantil.
3. Grado en Educación Primaria.
4. Grado en Ciencias de la Actividad Física y del Deporte.
5. Máster en Actividad Física y Calidad de Vida de Personas Adultas y
Mayores.
6. Máster en Dirección, Evaluación y Calidad de Instituciones de
Formación.
7. Licenciatura de Pedagogía (A extinguir).
8. Licenciatura de Psicopedagogía.
9. Licenciatura de Ciencias de la Actividad Física y del Deporte.
10. Maestro Educación Especial (A extinguir).
11. Maestro Educación Física (A extinguir).
12. Maestro Educación Infantil (A extinguir).
13. Maestro Educación Musical (A extinguir).
14. Maestro Educación Primaria (A extinguir).
15. Maestro Lengua Extranjera (A extinguir).
Todas estas titulaciones suman más de 5.200 alumnos, equivalente
aproximadamente al 16% del total de alumnos de la Universidad de Sevilla.
Para atender a su docencia, el centro cuenta más de 300 profesores y
profesoras que imparten docencia en 21 departamentos de la Universidad
de Sevilla.
27
3.4 EDIFICIO DE LA PIROTECNIA
El nuevo edificio de la Facultad de Ciencias de la Educación
comenzó a gestarse en 1996, debido a la necesidad de poseer un único
edificio que acogiera a todas las titulaciones. Finalmente la nueva facultad
se construyó en la calle Pirotecnia, al lado de la también joven Facultad de
Derecho, completando así el campus que componen Derecho, Trabajo
Social, Económicas y Psicología. Este nuevo campus se ha convertido así
en uno de los mayores de Andalucía, con más de 22.000 estudiantes.
Posee una extensión total de 25.422 metros cuadrados distribuidos en
cinco plantas, con dos inmuebles conectados entre sí a través de pasarelas.
De estas cinco plantas, la primera está destinada a la biblioteca y otros
servicios como el salón de actos, con capacidad para 220 plazas, y un
gimnasio de casi 1.000 metros cuadrados repartidos en dos niveles, uno de
ellos con aula. Las plantas segunda y tercera acogen las aulas y las dos
últimas están habilitadas para despachos.
Además, el edificio dispone un amplio patio interior, situado entre
los dos inmuebles del edificio, que se encuentra decorado con plantas como
palmeras y pinos japoneses. También dispone de bancos repartidos por toda
su extensión que invitan a la convivencia.
Las aulas de este nuevo edificio se encuentran pensadas para la
impartición de clases a grupos reducidos de alumnos, tal y como indica el
EEES. Existen dos tipos de espacios repartidos en la nueva construcción.
Las aulas más grandes se sitúan en las esquinas de cada planta y pueden
albergar hasta 120 alumnos. Otras aulas son de menor dimensión y están
destinadas al modelo de estudio implantado. Se busca un espacio para no
más de 70 alumnos y con sillas y mesas móviles para fomentar la
participación y el trabajo en grupo.
Todas las aulas están equipadas audiovisualmente con proyector y un
ordenador integrado en la mesa del profesor, así como numerosos enchufes
para que los alumnos puedan conectar sus ordenadores portátiles. Hay un
total de 40 aulas, contando talleres y otros espacios.
El nuevo edificio dispone también de 3 aulas de informática, con 50
ordenadores por sala, así como servicio de wifi en todo el recinto. La
28
biblioteca dispone de 374 puestos de estudio, 7 cabinas para consultar
documentos audiovisuales, 4 salas de grupo para 8 personas y un ala de
investigadores.
Además, la configuración del edificio, con numerosos y amplios
ventanales, proporciona una iluminación natural pensada para ahorrar
electricidad.
El proyecto del edificio es obra de los arquitectos sevillanos Cruz y
Ortiz, que ya ha diseñado varios edificios emblemáticos de la ciudad de
Sevilla como son la Estación de Santa Justa, el Estadio de la Cartuja o la
biblioteca pública Infanta Elena.
La obra fue adjudicada el 7 de julio de 2006 con un presupuesto
inicial de 22 millones de euros y un plazo de ejecución de 22 millones de
euros. El edificio fue cofinanciado mediante el Plan Plurianual de
Inversiones de la Consejería de Innovación, Ciencia y Empresa de la Junta
y por la enajenación del antiguo edificio de la Facultad situado en la
Avenida de Ciudad Jardín.
Finalmente, las obras se iniciaron en 2007 a cargo Cruz y Ortiz. Sin
embargo, durante la construcción surgieron divergencias entre el estudio
sevillano y la constructora debido principalmente a la rebaja de la calidad
de los materiales empleados por la constructora con el objetivo de abaratar
costes. Debido a estos recortes Cruz y Ortiz decidió emitir un comunicado
en el que indicaba que no se hacían responsables de las posibles faltas de
calidad constructiva y que desde octubre de 2008 dejaban de estar al frente
de la dirección de obras.
Tras la emisión del comunicado, la Universidad de Sevilla decidió
hacerles un contrato de asesoramiento estético con autoridad limitada. Este
contrato, según el estudio de arquitectos, resulto insuficiente y tan solo
permitió mejorar algunos asuntos parciales del exterior y del patio interior.
Aunque la entrada en funcionamiento del edificio estaba prevista
inicialmente para el curso 2008/2009, no fue hasta el curso académico
2010/2011 cuando se comienza a impartir docencia en el centro. Estos
retrasos han aumentado considerablemente el presupuesto inicial
elevándolo finalmente a unos 31 millones de euros.
29
3.5 RESTRICCIONES PROPIAS DE LA FACULTAD
En este apartado se explicarán cuales son todas las restricciones del
problema, incluidas las particulares y específicas de esta casuística. Una de
las particularidades que ha ocasionado mayores problemas ha sido la
adaptación de las aulas al EEES.
Esta adaptación al EEES ha tenido como consecuencia que la
capacidad de las aulas del nuevo edificio sea en su mayoría reducida. De
hecho, la capacidad del aula mayor es de tan solo 130 alumnos. Esta
situación se ve agravada por dos factores muy importantes:
La instauración de las nuevas titulaciones adaptadas al EEES no es
inmediata, sino que se realiza curso a curso. Para ello las antiguas
titulaciones comienzan a extinguirse desde primero hasta el último
curso, eliminando la docencia. A medida que los antiguos planes se
van extinguiendo se van incorporando los nuevos planes de estudio.
Esta situación hace que durante esta etapa transitoria existan
titulaciones antiguas, que poseen una gran cantidad de alumnos por
clases, que deben realizar exámenes en aulas que no están pensadas
para esta cantidad de alumnos.
Además, hay que tener en cuenta que la capacidad de las aulas para
la realización de los exámenes no es la misma que durante la
impartición de clases. Durante la celebración de los exámenes es
necesario separar a los alumnos, dejando un sitio vacío entre dos
alumnos consecutivos. De esta forma, la capacidad del aula se reduce
a la mitad durante la celebración de los exámenes.
Esta nueva situación, ha complicado mucho la elaboración del
calendario de la facultad, que antes se realizaba a mano, siendo de esta
forma la situación que ha dado pie a la elaboración de este proyecto.
30
3.5.1 RESTRICCIONES DURAS
Los calendarios de exámenes de la Facultad de Ciencias de la
Educación se encuentran condicionados por dos aspectos principalmente.
El primero de ellos es que deben cumplir una normativa recogida en
los estatutos de los estudiantes. Esta normativa fija unas reglas que deben
cumplirse ya que contemplan los derechos de los estudiantes.
Generalmente, estas reglan limitan la cercanía entre exámenes, los horarios,
etc.
El segundo aspecto a tener en cuenta son las limitaciones físicas y
logísticas del centro. Por ejemplo, debido a las limitaciones de profesores,
no se deben asignar más de tres clases distintas a un mismo examen. A
continuación se expondrán las restricciones duras particulares
GRUPOS DE CLASE DE UNA MISMA ASIGNATURA
En general, el número de alumnos matriculados en una asignatura es
mayor que las aulas del edificio. Debido a esto las asignaturas se suelen
dividir en varios grupos de clase que se reparten tanto en turnos de mañana
como de tarde. Estos distintos grupos de clases, deben realizar el examen
en el mismo día.
MÁXIMO NÚMERO DE AULAS ASIGNADAS A UN GRUPO DE
CLASE
Como ya se ha visto en apartados anteriores, la capacidad de las
aulas no es la misma durante la realización de exámenes que durante la
impartición de clases. Esta situación, unida a la limitada disponibilidad de
profesores, hace necesario que en algunas ocasiones sea necesario asignar
varias aulas a un mismo grupo de clase. Además, la hora de examen de
cada grupo de clase es única, es decir, que el examen se realiza
simultáneamente en todas las divisiones que se hagan del grupo. Debido a
esto, el número máximo de aulas, o divisiones, que se pueden hacer de un
grupo son 3.
31
TURNOS DE CLASE
Como se ha dicho anteriormente, las asignaturas se dividen en
grupos que imparten docencia tanto de mañana como de tarde. Es necesario
respetar este turno a la hora de asignar el examen, es decir, los grupos de
mañana deben realizar el examen durante la mañana y los de tarde por la
tarde. Aunque esta es la regla general, existen dos excepciones en las que
se permite ignorar esta regla:
Las asignaturas a extinguir: son las asignaturas que pertenecen a
titulaciones de planes antiguos que se están extinguiendo. En estas
asignaturas no se imparten clases por lo que la hora del examen es
libre, es decir, se pueden poner tanto durante la mañana como en la
tarde.
Los sábados: según la normativa de la Facultad, los sábados por la
tarde no se pueden celebrar exámenes. Debido a esto, los grupos de
tarde que realicen el examen en sábado deberán realizar el examen
por la mañana.
INCOMPATIBILIDAD ENTRE ASIGNATURAS
Otro aspecto a tener en cuenta es la incompatibilidad entre algunas
asignaturas para realizar el examen el mismo día. Como norma general, no
se puede celebrar más de un examen de un mismo curso en el mismo día,
sea de la tipología sea. Sin embargo, esta regla también posee una
excepción:
En caso de que resulte imposible colocar todas las asignaturas en
días distintos, se permite como máximo poner una asignatura común
y una optativa el mismo día. Sin embargo, estas asignaturas no
pueden ir en el mismo turno, es decir, deben ir una por la mañana y
otra por la tarde.
32
TAMAÑO DE LOS GRUPOS DE EXAMEN
Por último, y como se vio en las restricciones genéricas del problema
de diseño de calendarios, es necesario que la capacidad de las aulas
asignadas al examen sea superior al tamaño del grupo. Sin embargo,
establecer el tamaño de los grupos de examen no resulta una cuestión
trivial.
Es necesario tener en cuenta varios aspectos que dificultan esta tarea.
En primer lugar, hay que tener en cuenta que el calendario de exámenes
debe estar publicado antes de comenzar el curso académico, fecha en la que
los alumnos aún no han realizado la matrícula. Además, hay que recordar
que en las segundas convocatorias no concurren todos los alumnos a
examen ya que muchos de ellos aprueban en la primera convocatoria.
Debido a esto, se repasarán los aspectos más importantes a tener en
cuenta a la hora de conocer el número de alumnos en cada convocatoria:
Convocatoria Extraordinaria de Diciembre
Se trata de los primeros exámenes del curso académico ya que se
realiza en Diciembre. Como su propio nombre indica, se trata de una
convocatoria extraordinaria lo que significa que no concurren a examen
todos los alumnos matriculados. En concreto, solo se pueden presentar a
ella los alumnos que ya hayan cursado la asignatura en años anteriores.
Por lo tanto, para calcular el tamaño máximo del grupo de examen,
habrá que acudir a los resultados académicos del año anterior y comprobar
el número de alumnos que deberán volver a matricularse de la asignatura.
Exámenes de Enero-Febrero
Durante estos meses se realizan los exámenes de primera
convocatoria de las asignaturas cuatrimestrales del primer cuatrimestre.
Para calcular el tamaño de los grupos de exámenes habrá que tener en
cuenta tanto el número de matriculados como los resultados de la
Convocatoria Extraordinaria de Diciembre. Ambos resultados son
desconocidos por lo que será necesario estimarlos. Para ello, habrá que
33
utilizar estadísticas de años anteriores y obtener así una primera
aproximación del número de alumnos.
A pesar de que probablemente los alumnos se comportarán de forma
similar todos los años, habrá que añadir siempre un coeficiente de
seguridad para evitar que el tamaño final sobrepase a la capacidad
asignada.
Exámenes de Junio-Julio
En estos meses confluyen varias convocatorias. Para comenzar se
realizan la primera convocatoria de las asignaturas cuatrimestrales del
segundo cuatrimestre. Además, se celebran la primera convocatoria de las
asignaturas anuales y la segunda convocatoria de las asignaturas
cuatrimestrales del primer cuatrimestre.
Para todas ellas, habrá que tener en cuenta el número de alumnos
aprobados en convocatorias anteriores, ya sean Ordinarias o
Extraordinarias. Por lo tanto, el problema de la incertidumbre del número
de alumnos es mayor aun que en la convocatoria de Enero-Febrero ya que
hay más convocatorias de por medio. Para contrarrestar esto, resulta
conveniente introducir un coeficiente de seguridad mayor en la
convocatoria anterior.
Exámenes de Septiembre
En esta fecha se realizan los exámenes de la segunda convocatoria de
las asignaturas cuatrimestrales del segundo cuatrimestre y de las
asignaturas anuales. Esta convocatoria resulta la más complicada de
estimar debido a que todos los exámenes son ya de segunda convocatoria y
por tanto se debe tener más cuidado con la estimación introduciendo un
mayor coeficiente.
34
Disponibilidad de aulas
Además de las dificultades para calcular el tamaño de los grupos de
examen, hay que añadir el cálculo de la capacidad disponible en el edificio
albergar alumnos. Para este cálculo habrá que tener en cuenta los siguientes
aspectos:
El número de aulas disponibles: el edificio dispone de un total de 42
aulas. Sin embargo, muchas de ellas son seminarios o aulas
específicas (como las aulas de informática, plástica y música) y no
están disponibles para la realización de los exámenes generales.
Debido a esto, el número de aulas disponibles se reduce finalmente a
31 aulas.
El número de exámenes que se pueden asignar a un aula: para evitar
posibles conflictos entre exámenes consecutivos, el número máximo
de exámenes que se puede asignar a un aula en un mismo día es de
cuatro. Estos cuatro huecos o slot se distribuyen de la siguiente
forma:
o Slot 1: comprende desde las 8:00 h hasta las 11:00 h.
o Slot 2: comprende desde las 11:00 h hasta las 14:00 h.
o Slot 3: comprende desde las 15:00 h hasta las 18:00 h.
o Slot 4: comprende desde las 18:00 h hasta las 21:00 h.
La ocupación de las aulas: debido a las particularidades de las
titulaciones que se imparten, muchas de las cuales poseen prácticas
en institutos y colegios, los calendarios de exámenes de los distintos
cursos varían. De esta forma, los cursos en los que se realizan
prácticas comienzan sus periodos de exámenes mientras el resto aún
tienen clases. Esto tiene como consecuencia que no todos los slot se
encuentren disponibles siempre, reduciendo así la capacidad aún
más. Este hecho tiene su máximo exponente en la convocatoria de
diciembre. En esta convocatoria las clases de todas las titulaciones
tienen que convivir con los exámenes que, además deben celebrarse
en un pequeño espacio de tiempo.
35
3.5.2 RESTRICCIONES SUAVES
En este apartado se hará referencia a todas las restricciones suaves
que se han implementado en el modelo. Como se vio en apartados
anteriores, existen multitud de restricciones suaves que se pueden tener en
cuenta, sin embargo, no se han implementado todas ya que muchas de ellas
carecían de interés para este caso particular.
Las restricciones suaves que se han implementado en el modelo son
las siguientes.
SOBRECAPACIDAD DE LAS AULAS
Esta ha sido la primera restricción en tenerse en cuenta, ya que, el
principal problema del nuevo edificio es precisamente esta limitación de
capacidad. Es por ello que se ha considerado vital evitar, en la medida de lo
posible, un gran sobrecapacidad.
Para ello se ha seguido una estrategia de penalización. Esta
penalización se ha tenido en cuenta en tres etapas:
: si el grupo de examen pertenece a este
rango se le asigna una penalización de 2 unidades.
: si el grupo de examen pertenece a
este rango se le asigna una penalización de 1 unidad.
: si el grupo de examen pertenece a este
rango no se le asigna ninguna penalización.
CERCANÍA ENTRE EXÁMENES DEL MISMO CURSO
Se evitará en la medida de lo posible que dos exámenes del mismo
curso se asignen en días consecutivos. Esta medida busca evitar las quejas
del alumnado por sobrecarga de exámenes en un periodo de tiempo corto.
Para implementar esta restricción se han tenido en cuenta dos tramos:
36
Dos exámenes del mismo curso situados en días correlativos: en el
caso de que el algoritmo asigne esta solución se penalizará con 1
unidad.
Dos exámenes del mismo curso situados en días no correlativos: en
esta ocasión no se asignará ninguna penalización a la asignatura.
OCUPACIÓN PREFERENTE DE LOS SLOTS COMPLETAMENTE
LIBRES
Como se ha visto, los slot para colocar los exámenes son de 3 horas.
Sin embargo, la duración de los exámenes es bastante inferior y, realmente,
bastaría con tener dos horas consecutivas libres para poder realizar el
examen. Puesto que las clases resultan ser de una hora, en la práctica
resulta que disponemos de dos tipos de slots:
Slots de tres horas: son slots que disponen de sus tres horas
completamente libres.
Slots de dos horas: son slots que pese a tener una hora ocupada,
disponen de dos horas consecutivas libres y, por tanto, pueden ser
usados para exámenes.
Esta restricción intenta que, en la medida de lo posible, se utilicen los
huecos de 3 horas ya que permiten un mayor margen al examinador y
disminuye los posibles conflictos. No se ha incluido en las restricciones
duras porque, tras un estudio de los horarios de clase, se ha llegado a la
conclusión que en la práctica sería imposible situar todos los exámenes en
huecos de 3 horas debido a la escasez de estos.
Es decir, se entenderá que un slot está disponible cuando tenga al
menos dos horas consecutivas libres. Con esto la restricción queda dividida
de la siguiente forma:
Si un examen se encuentra asignado en un slot de dos horas se le
penalizará con dos unidades.
Si un examen se encuentra asignado en un slot de tres horas no se le
penalizará.
37
4. MODELO MATEMA TICO
Una vez conocido en profundidad el problema, se pasará a explicar el
modelo matemático utilizado para la resolución del mismo.
4.1 DATOS DEL MODELO
Para la resolución del problema se precisa de varios datos:
: son los exámenes que se celebraran en la convocatoria para la que
se esté resolviendo el problema. En este grupo no se incluyen las
asignaturas que precisen de un aula especial ya que éstas serán
asignadas manualmente.
: representa el número de alumnos del examen i.
: representa la capacidad del aula j.
: aulas disponibles para la celebración de exámenes. En este grupo
no se incluyen ni las aulas específicas ni los talleres reservados para
usos especiales.
: representa el conjunto de todos los días de examen, desde el
primer día disponible hasta el último eliminando únicamente los
domingos. De esta forma cada semana de exámenes constará de seis
días.
: conjunto de días que pertenecen al periodo de exámenes del
examen i. En general, el periodo de exámenes depende del examen
en cuestión y normalmente no abarca todo el periodo de exámenes
competo.
: conjunto de slots o periodos que están afectados por un día
festivo. Cada día festivo afecta a los cuatro slot que estén situados en
ese día.
: conjunto que indica cuando el aula j está no disponible para
la celebración de exámenes en el periodo t. Esta indisponibilidad
puede ser de varios tipos como impartición de clases o seminarios,
mantenimiento o limpieza. Sin embargo, el motivo más común es la
38
ocupación del aula para para la impartición de clases. Como se vio
anteriormente un slot se considerará ocupado o no disponible cuando
no disponga de al menos dos horas consecutivas libres.
: conjunto de periodos que corresponde a un día de sábado.
: conjunto de periodos que corresponden al sábado por la tarde.
Cada sábado del periodo de examen añade los dos slots del periodo
de tarde a este grupo.
: conjunto de exámenes que se imparten durante la mañana y, por
tanto, deben realizar el examen por la mañana.
: conjunto de exámenes que se imparten durante la tarde y, por
tanto, deben realizar los exámenes durante la tarde a no ser que sea
un sábado.
: conjunto de periodos que pertenecen al turno de mañana,
incluidos los sábados.
: conjunto de periodos de mañana que pertenecen a días
entresemana.
: conjunto de periodos que pertenecen al turno de tarde.
: conjunto de exámenes que no puede celebrarse el mismo día
que el examen i. En este grupo se incluyen todos los exámenes
comunes del mismo curso que i, en el caso que i sea un examen
común. En el caso de que i sea un examen optativo, contendrá al
conjunto de exámenes optativos del mismo curso que i.
: conjunto de exámenes que pertenecen a la misma
asignatura que el examen i, es decir, todos los exámenes que deben
celebrarse el mismo día que i incluido él mismo.
: conjunto de exámenes de asignaturas optativas que
pertenecen al mismo curso y titulación que el examen común i.
: conjunto de exámenes de asignaturas comunes que se
imparten durante el turno de mañana.
: conjunto de exámenes de asignaturas comunes que se
imparten durante el turno de tarde.
: conjunto de exámenes de asignaturas que se están
extinguiendo.
39
Una vez mostrados los datos que requiere el programa de forma
genérica, se mostrarán los datos específicos de la Facultad de Ciencias de la
Educación.
En primer lugar, se mostrará un listado de todas las aulas del edificio.
Este dato, a diferencia de otros como el número de asignaturas o alumnos,
permanecerá constante en las distintas ejecuciones del programa. Para que
variara este dato se tendrían que realizar reformas en el edificio que
hicieran variar el número de aulas o su capacidad. El listado actual de aulas
se presenta en la tabla 1:
Tabla 1
Denominación
abreviada
Denominación completa Capacidad Capacidad
para
examen
A.1.1 Aula 1.1 113 60
A.1.2 (UM) Aula 1.2 (Usos Múltiples) 16 -
A.1.3 (UM) Aula 1.3 (Usos Múltiples) 16 -
A.1.4 (UM) Aula 1.4 (Usos Múltiples) 16 -
A.1.5 (L.I.) Aula 1.5 (Laboratorio de Idiomas) 18 -
A.1.6 (L.Ps.) Aula 1.6 (Laboratorio de Psicología) 18 -
A.1.7 (E.F.) Aula 1.7 (Educación Física) 56 24
A.2.1 Aula 2.1 100 50
A.2.2 Aula 2.2 85 42
A.2.3 Aula 2.3 90 45
A.2.4 (G) Aula 2.4 (Grupo) 54 27
A.2.5 (G) Aula 2.5 (Grupo) 54 27
A.2.6 (G) Aula 2.6 (Grupo) 54 27
A.2.7 (G) Aula 2.7 (Grupo) 54 24
A.2.8 (G) Aula 2.8 (Grupo) 54 27
A.2.9 (G) Aula 2.9 (Grupo) 60 30
A.2.10 (G) Aula 2.10 (Grupo) 72 -
A.2.11 Aula 2.11 130 60
A.2.12 Aula 2.12 100 50
A.2.13 Aula 2.13 85 42
A.2.14 Aula 2.14 90 45
A.2.15 (G) Aula 2.15 (Grupo) 54 27
A.2.16 (G) Aula 2.16 (Grupo) 54 27
A.2.17 (G) Aula 2.17 (Grupo) 54 27
A.2.18 (L.Q.) Aula 2.18 (Laboratorio de Química) 30 -
A.2.19 (G) Aula 2.19 (Grupo) 24 12
A.2.20 (G) Aula 2.20 (Grupo) 32 15
A.2.21 (G) Aula 2.21 (Grupo) 32 15
A.2.22 Aula 2.22 130 65
A.3.1 Aula 3.1 105 51
40
A.3.2 Aula 3.2 85 42
A.3.3 Aula 3.3 90 45
A.3.4 (G) Aula 3.4 (Grupo) 54 22
A.3.5 (T.M.1) Aula 3.5 (Taller de Música 1) 48 -
A.3.6 (T.M.2) Aula 3.6 (Taller de Música 2) 25 -
A.3.7 (G) Aula 3.7 (Grupo) 48 24
A.3.8 (G) Aula 3.8 (Grupo) 48 24
A.3.9 (I.1) Aula 3.9 (Informática 1) 54 -
A.3.10 (I.2) Aula 3.10 (Informática 2) 54 -
A.3.11 (I.3) Aula 3.11 (Informática 3) 54 -
A.3.12 Aula 3.12 105 51
A.3.13 Aula 3.13 85 44
A.3.14 Aula 3.14 90 45
A.3.15 (G) Aula 3.15 (Grupo) 54 27
A.3.16 (G) Aula 3.16 (Grupo) 54 27
A.3.17 (G) Aula 3.17 (Grupo) 54 27
A.3.18 (L.B.) Aula 3.18 (Laboratorio de Biología) 20 -
A.3.19 (L.G.) Aula 3.19 (Laboratorio de Geología) 32 -
A.3.20 (L.P.) Aula 3.20 (Laboratorio de Plástica) 48 -
A.3.21 Aula 3.21 121 60
A.3.22 Aula 3.22 130 62
En esta tabla se encuentran listadas todas y cada una de las aulas
dispones en el edificio junto con su respectiva capacidad. Como ya se ha
comentado, las aulas disponen de dos capacidades distintas, una para la
impartición de clases y otra para la celebración de exámenes. Como se
puede observar, la capacidad para exámenes es bastante menor que su
capacidad nominal (aproximadamente la mitad).
Además existen aulas, como los laboratorios y seminarios, que no se
pueden utilizar para la celebración de exámenes. Estas aulas aparecen
marcadas con “-” en la columna correspondiente a la capacidad para
exámenes.
El resto de datos requeridos por el modelo, como pueden ser las
asignaturas (con todas sus características: si son comunes u optativas, de
mañana o de tarde, etc.) o las ocupaciones de aulas, son datos que
dependen de la convocatoria específica que se esté resolviendo.
Por ejemplo, no se realizan los mismos exámenes en la convocatoria
de Junio-Julio que en Enero-Febrero. Tampoco la ocupación de las aulas
41
resulta constante ya que generalmente depende del año y del cuatrimestre
para el que se esté resolviendo el problema.
Además de esta variabilidad con las convocatorias, se trata de una
cantidad bastante importante de datos ya que el número de asignaturas que
concurren a examen suele ser elevado.
Por estos motivos, no se incluirán en la memoria escrita un listado
completo de estos datos. En su lugar, se introducirán a modo de ejemplo los
datos de una de las titulaciones que concurren a examen. Para la titulación
Maestro de Educación primaria en la convocatoria de Enero-Febrero de
2011 los datos que recibiría el modelo se encuentran reflejados en la tabla
2:
Tabla 2
Curso Inicio
exámenes (dd/mm/aaaa)
Fin exámenes (dd/mm/aaaa)
Asignatura Grupo Turno Tipo Nº de
alumnos
1 10/01/2011 22/01/2011 TEORÍA E INST. COMTEM. EDUCACIÓN
1 V C 17
1 MATEMÁTICAS GENERALES PARA MAESTROS
1 V C 26
1 FUNDAMENTOS DE QUÍMICA GENERAL Y ORGÁNICA
1 V C 21
2 10/01/2011 22/01/2011 CIENCIAS DE LA NATURALEZA Y SU DIDÁCTICA
1 M C 70
2 T C 74
2 GEOGRAFÍA HUMANA GENERAL 1 M C 57
2 T C 56
3 M C 40
3 10/01/2011 22/01/2011 ORGANIZACIÓN DEL CENTRO ESCOLAR
1 M C 81
2 T C 60
3 DIDÁCTICA DEL ARTE Y DE LA CULTURA ANDALUZA
1 M O 45
2 T O 24
3 CONFIGURACIONES LITERARIAS DE ANDALUCÍA
1 M O 56
3 EDUCACIÓN AMBIENTAL 1 M O 45
2 T O 31
3 DIDÁCTICA DE LA FÍSICA Y LA QUÍMICA
1 M O 24
3 ENSEÑANZA Y RESOLUCIÓN DE PROBL. DE PRIMARIA
1 T O 23
3 PEDAGOGÍA. DIDÁCTICA DE LA 1 T O 38
42
RELIGIÓN
3 EDUCACIÓN PARA LA DIVERSIDAD Y LA IGUALDAD
1 T O 12
3 LINGÜÍSTICA INFANTIL Y HABLAS ANDALUZAS
1 M O 41
3 BASES PSICOSOCIALES DE LA EDUCACIÓN
1 T O 32
A partir de tablas como estas, el programa es capaz de extraer los
datos necesarios para su ejecución. Este aspecto, se comentará más
adelante en el apartado 6.3 de la memoria.
Con respecto a los datos de ocupaciones de las aulas, simplemente
añadir que se introducen en el modelo a través de una plantilla que se
explicará también en el apartado 6.3 de esta memoria.
4.2 VARIABLES DEL MODELO
En el modelo matemático diseñado para la resolución del problema se
utilizan únicamente dos tipo de variables.
VARIABLE
Se trata de una variable continua que pretende reflejar el porcentaje
de alumnos del grupo i que realizaran el examen en el aula j durante el
periodo t. Pese a ser una variable continua, la estructura del modelo
matemático hace que X no tome cualquier valor. En concreto, el modelo
asigna tan solo cuatro valores de los infinitos que puede tomar dicha
variable, dotando de esta forma de una mayor sencillez al modelo.
Estos cuatro valores que finalmente se ve obligada a tomar la
variable continua X son los siguientes:
: indica que ninguna división del examen i se encuentra
asignada en el aula j para el periodo t.
43
⁄ : esto significa que una de las tres divisiones del examen i
se encuentra asignada en el aula j para el periodo t.
⁄ : este valor indica que una de las dos divisiones del
examen i se encuentra asignada al aula j en el instante t.
: por último, esto indica que la única división del examen i
se encuentra asignada al aula j en el instante t.
A posteriori, será el usuario el que repartirá en función de sus
preferencias el porcentaje final de alumnos que se asignarán a cada aula.
Una vez visto el significado de la variable se pasará a analizar la
cantidad de variables que poseen el problema. Si se reflexiona un poco
acerca del significado de esta variable se puede observar que se trata de un
problema de grandes dimensiones.
Para calcular el número aproximado de variables con el que se
trabajara es necesario estimar tanto el número de exámenes como el de
periodos, ya que el número de aulas es fijo.
Comenzaremos por el número de exámenes. En una convocatoria
típica del mes de Enero se celebran más de trescientos exámenes,
aproximadamente unos 320. Sin embargo, esta cantidad puede ascender a
más del doble en la convocatoria de Junio-Julio, ya que en estos meses
confluyen convocatorias tanto de exámenes cuatrimestrales como anuales.
El número de aulas es el único parámetro constante en esta variable,
ya que se trata de un número que viene determinado por el edificio, que no
varía de una convocatoria a otra. Actualmente el edificio consta de un total
de 31 aulas disponibles para la realización de exámenes.
Por último es necesario estimar el número de slots disponibles. Este
número depende de la amplitud del periodo de exámenes. Este periodo se
encuentra es de unas cuatro semanas en una convocatoria de Enero-
Febrero. A pesar de que los periodos de exámenes de cada curso suelen ser
menores, típicamente 2-3 semanas, el periodo global se alarga debido a que
no todas las titulaciones comienzan sus exámenes a la vez.
Además, debemos tener en cuenta que cada semana cuenta con 6 días
hábiles para la celebración de examen. Cada uno de estos días dispone,
44
como se vio anteriormente de cuatro slots: dos de mañana y dos de tarde.
Con estos números se obtiene un número de periodos estimados de unos 96
slots.
Por lo tanto, para una convocatoria estándar el número de variables
entre 900.000 y 1.000.000 de variables. Sin embargo, en convocatorias
mayores como las de Junio-Julio este número aumenta aún más pudiendo
llegar fácilmente hasta 2.500.000 variables.
Un aspecto importante de estas variables, es que a pesar del gran
número de variables la gran mayoría de estas son nulas. De hecho, como
máximo podrían ser distintas de 0 apenas unas 1.000 variables si se
considera que todos los exámenes se dividen en 3 partes.
VARIABLE
Se trata de la segunda variable del modelo diseñado. En esta ocasión
se trata de una variable binaria que toma un valor de 1 si el examen i se
encuentra asignado al aula j en el instante t. En caso contrario, toma el
valor nulo. Es decir, toma el valor 1 siempre que y vale 0 siempre
que .
La principal función de esta variable binaria es la servir como
auxiliar en algunas restricciones como, por ejemplo, la restricción que
impone que cada examen se puede dividir como máximo en tres partes o
aulas.
Sin embargo, a pesar de que esta es su función principal, el hecho de
ser una variable binaria la hace más idónea que la variable para la
formulación de algunas restricciones. Por este motivo, en ciertas
restricciones se utilizará como variable principal.
Con respecto al número de variables del modelo, tan solo hay
que añadir que coinciden en número con las variables .
45
4.3 PARÁMETROS DEL MODELO
: conjunto de periodos o slots que pertenecen al mismo día en el
que se encuentra asignado el examen i.
: este parámetro indica el número de particiones o de aulas
del examen i.
4.4 RESTRICCIONES DEL MODELO
(1)
∑
Esta restricción obliga a que cada aula se encuentre asignada como
máximo a un grupo en cada periodo. El signo menor o igual de la
restricción, que a primera vista puede llamar la atención, es necesario para
permitir al modelo que un aula pueda estar libre en un slot determinado.
Esta restricción también constituye una de las razones por las que se
ha tenido que incluir la variable binaria δ en el modelo. Si esta misma
restricción se implementara con la variable continua X podría llevar a
situaciones en las que, estando asignados a un aula más de un examen en
un mismo slot, la restricción se cumpliera.
Un ejemplo de esto ocurre cuando tenemos más de una examen con
varias particiones. Lo vemos a continuación:
Examen 1 que tiene un tamaño de 100 alumnos. En este caso, como
mínimo, el examen deberá celebrarse en dos aulas y como
consecuencia existirán dos y dos .
Examen 2 que tiene un tamaño de 80 alumnos. Debido al tamaño de
las aulas este examen deberá celebrarse como mínimo en dos aulas.
Por lo tanto existirán dos y dos .
46
Si el algoritmo asignara en el aula 3 y el slot tanto el examen 1 como
en el 2 la restricción se cumpliría puesto que
. Sin embargo, si utilizamos la variable binaria δ la restricción no se
cumpliría:
(2)
∑ ∑
Esta restricción obliga a que cada examen se asigne a un solo aula en
todos los slots. La restricción debe tener el un signo de estricta igualdad
para asegurar que todas las divisiones de un examen sean asignadas.
(3)
∑ ∑
∑
Esta es la restricción que garantiza que todas las particiones de un
examen quepan en el conjunto de las aulas asignadas. Hay que destacar un
aspecto bastante importante de esta restricción. La restricción verifica que
un examen en su conjunto quepa en el conjunto de aulas asignadas para ese
examen.
Este es el motivo por el que la restricción comprueba la capacidad
para cada examen y no para cada aula en todos sus slots. Si se hubiera
optado por esta segunda construcción, la restricción obligaría a que en cada
aula cupiera la mitad o una tercera parte del examen. Este hecho podría
generar que algunos grupos estuvieran sobredimensionados ocupando las
clases de mayor capacidad y dejando las aulas pequeñas vacías. Para
clarificar este aspecto se añadirá un ejemplo:
47
Supóngase que el examen número 33 de 150 alumnos se divide en
tres. Las divisiones se asignan a las aulas número 10, 12 y 15 de
capacidades 65, 65 y 30 en el slot 24. Con esta asignación las
variables y distintas de 0 para este examen serían las
siguientes:
o ⁄
o ⁄
o ⁄
Quedando la restricción como:
Vemos como la restricción se cumple en su conjunto ya que la
capacidad total asignada es de 160 alumnos mientras que el tamaño
del grupo es de 150. Sin embargo, si se hubiese comprobado cada
aula en cada periodo, el aula 15 en el instante 24 nos hubiera dado un
problema de capacidad ficticio ya que
.
(4)
∑∑
Esta restricción obliga a que no se asigne ningún examen a ningún
aula durante los periodos festivos. Como se ha indicado anteriormente, por
periodo festivo se entenderá cualquier día en el que no se pueda celebrar
ningún examen, exceptuando de este rango todos los domingos que se
consideran por defecto no lectivos.
48
(5)
∑
Esta restricción permite que el modelo no asigne exámenes en aulas
cuando no se encuentran disponibles. Esta restricción no considera como
ocupada cuando en un aula se está celebrando otro examen ya que de esto
se ocupa, como hemos visto, la restricción (1).
(6)
Esta restricción comprueba que cada examen se divida como
máximo en 3 partes. Se trata, como se vio en apartados anteriores, de una
restricción propia del problema en cuestión.
(7)
( )
Esta restricción impone que todas las particiones de un mismo
examen deben realizarlo a la vez. En ella tan solo es necesario fijar que
es una cota superior. Esta cota debe ser un número lo suficientemente
grande como para que permitir que la restricción funcione adecuadamente.
En el caso particular de este problema se ha tomado .
49
(8)
∑∑
Esta restricción evita que se asignen exámenes los sábados por la
tarde. La estructura de la restricción es igual a la restricción (4), sin
embargo, se han tratado como dos restricciones diferentes debido a que
conceptualmente provienen de dos aspectos distintos.
Mientras que la restricción (4) hace referencia al carácter no
laborable de los días festivos, esta restricción corresponde al hecho de que
por normativa académica los sábados por la tarde no se deben celebrar
exámenes.
(9)
∑ ∑
Esta restricción impone que todos los grupos de mañana deben
realizar su examen durante la mañana. Para ello se impone que durante los
turnos de tarde no exista ningún examen asignado.
(10)
∑ ∑
La restricción (10) es una restricción idéntica a la (9) pero para los
exámenes del turno de tarde. En esta restricción se obliga a que las
asignaciones de los exámenes del turno de tarde sea nula durante todas las
mañanas de lunes a viernes, es decir, excluyendo los sábados.
50
Esto último se hace porque los sábados por la mañana sí se pueden
celebrar exámenes del turno de tarde. Para las asignaturas a extinguir, no
existe restricción de este tipo puesto que al no impartirse clases el examen
se puede celebrar tanto por la mañana como por la tarde.
(11)
∑ ∑ ∑
Esta restricción tiene una función doble según sea el tipo de examen.
Para los exámenes comunes, el grupo contiene todos los exámenes del
mismo curso que no pertenezcan a la misma asignatura que i. Por lo tanto,
en las asignaturas comunes, lo que impone es que no pueda haber ningún
examen común del mismo curso en el mismo día que i.
Para las asignaturas optativas, el funcionamiento es similar, ya que lo
que evita es que en un mismo día pueda haber dos asignaturas optativas del
mismo curso.
Un detalle importante en la construcción de la restricción es la
exclusión de la asignatura a la que pertenece el grupo que se está
verificando. Esto es necesario para evitar que un examen sea incompatible
con él mismo. Si esto ocurriera, sería imposible cumplir la restricción tal
cual está formulada.
(12)
∑ ∑ ∑
∑
Esta restricción asegura que todas las divisiones de los exámenes de
una misma asignatura se celebren el mismo día. En esta restricción, al
51
contrario de lo que ocurre en la restricción anterior, es necesario que se
incluya el examen para el que se está comprobando la restricción.
(13)
∑ ∑ ∑
Esta restricción impone que, para las asignaturas comunes del turno
de mañana, no exista ninguna optativa del mismo curso el mismo día por la
mañana.
(14)
∑ ∑ ∑
Esta restricción impone que, para las asignaturas comunes del turno
de tarde, no exista ninguna optativa del mismo curso el mismo día por la
tarde.
Las restricciones (13) y (14) junto con la restricción (11) hacen que
como máximo en un mismo día coincidan una asignatura común y una
optativa del mismo día y, además, que cada una vaya en un turno.
(15)
∑ ∑
Con esta restricción se verifica que no se asigne ninguna partición
fuera del periodo de exámenes de cada examen. Esto es necesario debido a
que t abarca todos los slots, desde el primer día de exámenes hasta el
52
último. Sin embargo, cada examen dispone de un periodo de exámenes
particular y que, en general, puede ser menor que el periodo completo.
4.5 FUNCIÓN OBJETIVO
Para evaluar la idoneidad de la solución obtenida, se utilizará un
sistema de penalizaciones. Es decir, se fijará una penalización por el
incumplimiento de cada restricción. Esta penalización será función del tipo
de restricción que sea, por ejemplo, no será lo mismo incumplir una
restricción dura que una restricción suave. Para representar esta diferencia,
se asignará una penalización a las restricciones dura mucho mayor que a las
restricciones blandas (de varios ordenes de magnitud).
La función objetivo del problema que se ha elegido ha sido aquella
que consiga minimizar los exámenes en sábados. Pese a que el sábado es
un día válido para la celebración de exámenes, por ser un día de fin de
semana puede generar un mayor malestar entre los afectados. Por ello la
función objetivo elegida ha sido la siguiente:
∑∑∑
4.6 MODELO
Una vez vistas todas las restricciones del modelo así como la función
objetivo, se representará el modelo matemático completo para finalizar con
este apartado. El modelo matemático queda de la siguiente forma:
55
5. SOLUCIO N DEL MODELO MEDIANTE UN ALGORITMO DE BU SQUEDA TABU
Para la resolución del problema planteado, se ha optado por la
implementación en Matlab de un algoritmo de Búsqueda Tabú. En el
mercado existen soluciones estándar para la resolución de problemas de
optimización lineal como el que nos ocupa. Por ejemplo, el paquete
Microsoft Office nos ofrece una herramienta llamada Solver.
Esta herramienta se encuentra integrada en el entorno de Excel y
resulta una forma sencilla de resolver problemas de optimización lineal. Sin
embargo, existe una particularidad de este problema que hace inviable su
resolución mediante Solver: el tamaño del problema.
Como se ha discutido en el apartado anterior, un tamaño normal para
este problema dispone aproximadamente un total de 2.00.000 de variables
entre y . Se trata de un número de variables muy por encima de las
capacidades de Solver ya que el número máximo de variables que admite
es de tan solo 200 variables.
Debido a esta limitación se ha optado por el diseño de un algoritmo
de búsqueda tabú que se ha mostrado históricamente eficaz en el
tratamiento de este tipo de problemas combinatorios de gran tamaño.
Se comenzará haciendo un resumen genérico del algoritmo de
búsqueda tabú. Una vez finalizada esta descripción genérica se pasará a
estudiar las particularidades del algoritmo de búsqueda tabú utilizado en
este problema particular
56
5.1 INTRODUCCIÓN A LA BÚSQUEDA TABÚ
La Búsqueda Tabú (BT) o Tabu Search (TS) en inglés, es un
procedimiento metaheurístico utilizado para guiar un algoritmo heurístico
de búsqueda local para explorar el espacio de soluciones más allá de la
simple optimalidad local.
La Búsqueda Tabú incorpora una memoria adaptativa y exploración
sensible y por ello se la solución que proporciona se califica como
inteligente. Este uso de memoria adaptativa contrasta con diseños
“desmemoriados” y con diseños de “memoria rígida”.
Los elementos básicos de la búsqueda tabú tienen varias
características importantes, las cuales se desarrollaran en los siguientes
apartados:
1. Memoria adaptativa:
a. Selectividad, incluyendo olvido estratégico.
b. Abstracción y descomposición.
c. Tiempo:
i. Recencia de eventos.
ii. Frecuencia de eventos.
iii. Diferenciación entre corto y largo plazo.
d. Calidad e impacto:
i. Atracción relativa de elecciones alternativas.
ii. Magnitud de cambios en relaciones de estructura o
restricciones.
e. Contexto:
i. Interdependencia regional.
ii. Interdependencia estructural.
iii. Interdependencia secuencial.
2. Exploración sensible:
a. Imposición estratégica de limitaciones e inducciones:
condiciones tabú y niveles de aspiración.
b. Enfoque concentrado en buenas regiones y buenas
características de las soluciones: procesos de intensificación.
c. Caracterización y exploración de nuevas regiones
prometedoras: procesos de diversificación.
57
d. Patrones de búsqueda no monótonos: oscilación estratégica.
e. Integración y extensión de soluciones: reencadenamiento de
trayectorias.
La adecuada combinación de estos aspectos conduce
progresivamente a mejores soluciones e implementaciones prácticas.
El énfasis en la exploración sensible en búsqueda tabú, ya sea en una
implementación determinística o probabilística, se deriva de la suposición
de que una mala elección estratégica puede producir más información que
una buena elección al azar. Esto es debido a que, al emplear un sistema de
memoria, una mala elección basada en estrategia puede dar claves útiles
acerca de cómo podrían hacerse modificaciones provechosas a la estrategia.
De esta manera les son atribuidos a las soluciones distintas
características, conocidas en BT como atributos, que bajo ciertas
condiciones pueden declararse "tabú", siendo obviadas entonces por el
proceso de búsqueda pudiendo ser soluciones de calidad, que de esta
manera posee la facultad de dirigir la exploración.
5.2 FUNDAMENTOS DE LA BÚSQUEDA TABÚ
En este apartado se expondrán los principales conceptos de la
búsqueda tabú.
La búsqueda tabú trata de optimizar una función en un conjunto
. Para ello la BT comenzará como cualquier búsqueda local, procediendo
iterativamente de un punto a otro hasta satisfacer un criterio de
terminación. Cada tiene un entorno (o vecindad) asociado ,
y cada solución se puede alcanzar desde mediante una
operación llamada movimiento.
En esta definición de la forma de actuar de la BT han aparecido
varios conceptos clave que merecen una mención especial:
1. Espacio de soluciones : está formado por todas las posibles
soluciones del problema que se pueden obtener, en las que
soluciones parecidas, se encuentran próximas entre sí. Entiéndase
58
por parecidas, si cada solución posee un conjunto de cualidades o
atributos, que comparten algunos atributos, o los poseen fijados al
mismo valor o parecidos.
2. Vecindad : La búsqueda tabú trata de optimizar la función f(x)
en un conjunto X. Cada solución x perteneciente a X posee un
entorno, denominado vecindad y representado por N(x).
3. Movimiento: es la forma mediante la que avanza el algoritmo de
búsqueda tabú. Mediante los movimientos el algoritmo para de un
punto a otro punto perteneciente al entorno del primero. De
esta forma el algoritmo se va desplazando de un punto a otro
intentando siempre mejorar la solución.
La BT rebasa la búsqueda local empleando una estrategia de
modificación de a medida que la búsqueda progresa, reemplazándola
por otro entorno . En la determinación de este nuevo entorno, juega
un papel fundamental el empleo de estructuras especiales de memoria
sirvan para elegir un adecuado, organizando así la manera en la cual
se explora el espacio.
Las soluciones que son admitidas en por estas estructuras de
memoria se determinan de varias formas. Una de ellas, que da a la
búsqueda tabú su nombre, identifica soluciones encontradas sobre un
horizonte especificado y les prohíbe pertenecer a clasificándolas
como tabú.
En ciertas ocasiones, y a pesar de que una solución se encuentre
marcada como tabú, es posible que sea recomendable que pertenezca a
. Por tanto, a veces se opta por penalizar las soluciones que posee
estatus tabú en vez de excluirlas directamente del vecindario. De esta
forma, se desalentaría la elección las soluciones marcadas como tabú, pero
en caso de que alguna de esas soluciones sea “muy buena” se podría elegir.
En apartados posteriores se ampliará este concepto de soluciones “muy
buenas”.
La memoria usada en BT puede ser explícita o basada en atributos,
aunque ambas modalidades no son excluyentes:
La memoria explícita conserva soluciones completas, y consiste
típicamente en una élite de soluciones visitadas durante la búsqueda
(o en entornos altamente atractivos pero inexplorados para tales
59
soluciones). Estas soluciones especiales se introducen
estratégicamente para ampliar la vecindad futura y así presentar
opciones útiles que no se encuentran en la vecindad actual que se
está explorando.
La memoria basada en atributos guarda información sobre atributos
de las soluciones que cambian al moverse de una solución a otra. Por
ejemplo, en un contexto de grafos o redes, los atributos pueden
consistir en nodos o arcos que se añaden, se suprimen o se sustituyen
por los movimientos ejecutados.
5.3 MEMORIA DE CORTO PLAZO Y SUS ELEMENTOS
Una distinción importante en TS resulta al distinguir entre memoria
de corto plazo y memoria de largo plazo. Cada tipo de memoria está
acompañada de sus propias estrategias especiales. La memoria de corto
plazo más comúnmente usada lleva la cuenta de los atributos de solución
que han sido cambiados en el pasado reciente, y es llamada memoria
basada en recenciates (en hechos recientes).
Para explotar esta memoria, los atributos seleccionados que se
presentan en soluciones recientemente visitadas son designados como
"tabú-activos", y las soluciones que contienen elementos tabú-activos, o
combinaciones particulares de estos atributos, son las que se convierten en
tabú. Esto evita que algunas soluciones del pasado reciente pertenezcan a la
futura vecindad y por lo tanto sean revisitadas. También se evita que otras
soluciones que compartan tabú-activos se vuelvan a visitar.
El uso de evaluaciones tabú, que asignan grandes penalizaciones a
conjuntos apropiados de atributos tabú-activos, permite que el estatus tabú
varíe por grados.
60
5.3.1 MANEJO DE MEMORIA BASADA EN LA RECENCIA
El proceso se maneja creando una o más listas tabú, las cuáles
registran los atributos tabú-activos y explícita e implícitamente identifican
su estatus actual.
Se denomina tenencia tabú a la duración que un atributo permanece
tabú-activo (medido en número de iteraciones). La tenencia tabú puede
variar para diferentes tipos o combinaciones de atributos, y además puede
variar para diferentes intervalos de tiempo o etapas de búsqueda. Esta
tenencia variable permite la creación de diferentes tipos de ajuste entre
estrategias de corto y largo plazo. Esto produce también una forma
dinámica y robusta de búsqueda.
5.3.2 NIVELES DE ASPIRACIÓN
Este concepto es el que permite a la BT seleccionar las soluciones
“muy buenas” y permitir que, pese a estar calificadas como tabú
pertenezcan al nuevo vecindario.
El criterio de aspiración introduce un elemento importante de
flexibilidad en la búsqueda tabú. El estatus tabú de una solución (o un
movimiento) puede ser ignorado si ciertas condiciones se cumplen, en la
forma de niveles de aspiración. En efecto, estos niveles de aspiración dan
umbrales de atracción, los cuales controlan el hecho de que las aspiraciones
puedan ser consideradas admisibles a pesar de estar clasificadas como tabú.
Es obvio que cualquier solución que sea mejor que cualquiera de las
encontradas anteriormente merece ser considerada admisible, incluso
aunque para alcanzarla debamos utilizar un movimiento prohibido.
Criterios similares para la calidad de las soluciones producen
criterios de aspiración para subconjuntos de soluciones que pertenecen a
regiones comunes o que comparten características especificadas (tales
como un valor funcional particular o un nivel de imposibilidad).
61
5.3.3 ESTRATEGIAS PARA LA LISTA DE CANDIDATO
El carácter agresivo de BT se ve reforzado buscando el mejor
movimiento disponible que pueda ser determinado con una cantidad
apropiada de esfuerzo. Debe tomarse en cuenta que el significado de
"mejor" no está limitado solamente a la evaluación de la función objetivo.
Como anteriormente se señaló, las evaluaciones tabú están afectadas
por penalizaciones e incentivos, que son determinados por la historia de la
búsqueda.
Las estrategias para la lista de candidatos son usadas para restringir
el número de soluciones examinadas en una iteración dada, para los casos
en los que las vecindades son grandes o la evaluación de los vecinos
costosa.
Dada la importancia que BT da a la selección juiciosa de elementos
para el proceso de búsqueda, es crítico contar con reglas eficientes para la
generación y evaluación de buenos candidatos. Aún en casos donde las
estrategias para la lista de candidatos no se usan explícitamente, las
estructuras de memoria que den actualizaciones eficientes de evaluaciones
del movimiento de una iteración a otra, y que reduzcan el esfuerzo de
encontrar mejores o casi mejores movimientos, son parte integral de las
implementaciones de BT.
La actualización inteligente puede reducir apreciablemente los
tiempos de solución, y la inclusión de estrategias para la lista de
candidatos, para problemas grandes, puede aumentar significativamente los
beneficios resultantes.
La operación de estos elementos de corto plazo suele constar de las
siguientes fases:
Examen de la lista de candidatos
Prueba tabú
Prueba de aspiración
Evaluación con o sin penalización
Chequeo de fin
Ejecución del movimiento elegido
62
Las penalizaciones que se aplican en el proceso anterior tienen un
efecto de umbral: el estatus tabú o bien produce una evaluación sumamente
deteriorada o bien sirve para romper empates entre las soluciones cuyas
evaluaciones son las más altas. Tal efecto puede ser, por supuesto,
modulado para desplazar las evaluaciones hacia niveles intermedios entre
estos extremos. Si todos los movimientos actualmente disponibles
conducen a soluciones que son tabú (con evaluaciones que normalmente las
hubieran excluido de ser seleccionadas), las penalizaciones harán que se
escoja una solución "menos tabú".
Se suele seguir el orden previo, pudiéndose intercambiar lugares en
el proceso de la fase de prueba tabú con la de aspiración, esto es empleando
la prueba tabú sólo si el umbral de aspiración no es satisfecho. Además, la
evaluación tabú puede ser modificada creando incentivos basados en el
nivel de aspiración, de la misma forma en que se modifica al crear
penalizaciones basadas en el estatus tabú. En este sentido, las condiciones
de aspiración y las condiciones tabú pueden ser consideradas como
"imágenes especulares" entre sí.
Existe una variante de la BT llamada búsqueda tabú probabilística.
Esta variante mantiene un diseño similar y además posee un registro de las
evaluaciones tabú generadas durante el proceso de selección de un
movimiento. Basándose en este registro, el movimiento es seleccionado
probabilísticamente del conjunto de aquellos evaluados (o de algún
subconjunto de los mejores miembros de este conjunto), evaluando los
movimientos de tal manera que aquellos con valores más altos resulten
especialmente favorecidos.
El estatus tabú es frecuentemente permitido para que sirva como un
umbral todo-o-nada, sin referencia explícita a las penalizaciones o
incentivos, mediante la exclusión directa de selección de opciones tabú,
sujetas al resultado de las pruebas de aspiración. Bien las evaluaciones
modificadas sean explícitamente usadas o no, el movimiento seleccionado
puede no ser el que tenga el mejor valor para la función objetivo, y
consecuentemente la solución con el mejor valor para la función objetivo
encontrada durante toda la historia de la búsqueda será registrada
separadamente. Una forma típica de criterio de aspiración indica que tal
solución será escogida como la siguiente por visitar.
63
5.4 MEMORIA A LARGO PLAZO
En algunas aplicaciones, los componentes de la memoria BT de corto
plazo son suficientes para producir soluciones de muy alta calidad. Sin
embargo, en general, BT se vuelve significativamente más potente
incluyendo memoria de largo plazo y sus estrategias asociadas.
Tipos especiales de memoria basada en frecuencia son
fundamentales en consideraciones a largo plazo. Estas operan
introduciendo penalizaciones e incentivos determinados por el rango
relativo de tiempo durante el que los atributos han pertenecido a soluciones
visitadas durante la búsqueda, permitiendo la diferenciación por regiones.
Las frecuencias de transición mantienen un registro de con qué
frecuencia cambian los atributos, mientras que las frecuencias de
residencia mantienen el registro de las duraciones relativas de los atributos
en las soluciones generadas. Este tipo de memorias son acompañadas
algunas veces por formas extendidas de memoria basada en recencia.
Quizá sorprendentemente, el uso de memoria de largo plazo no
requiere secuencias de larga duración antes de que sus beneficios se hagan
visibles. Frecuentemente, sus mejoras comienzan a manifestarse en un
lapso de tiempo relativamente corto, y pueden permitir que los esfuerzos
para llegar a la solución finalicen un poco antes que de otra manera posible,
debido a que se encuentran soluciones de muy alta calidad dentro de un
rango corto de tiempo.
La oportunidad de encontrar soluciones aún mejores conforme el
tiempo crece, en el caso de que una solución óptima no haya sido aún
encontrada, se mejora al usar memoria de lago plazo en adición a la
memoria de corto plazo.
Dos componentes altamente importantes de largo plazo de búsqueda
tabú son las estrategias de intensificación y las estrategias de
diversificación.
64
5.4.1 ESTRATEGIAS DE INTENSIFICACIÓN
Las estrategias de intensificación están basadas en la modificación de
reglas de elección de tal manera que se favorezcan combinaciones de
movimiento y características de solución que históricamente hayan sido
buenas. Pueden iniciar además un regreso hacia regiones atractivas para
buscar en ellas más extensamente.
Existen numerosas variantes de este proceso de intensificación. Sin
embargo, hay dos que históricamente han resultado tener bastante éxito:
La primera de ellas es debida a Voss [1993] y consiste en introducir
una medida de la diversificación para asegurar que las soluciones
registradas difieran una de otra en un grado deseado. Además, borra
toda la memoria de corto plazo antes de reanudar el proceso desde la
mejor de las soluciones registradas.
La segunda de las variantes, debida a Nowicki y Smutniki [1993],
mantiene una lista secuencial de longitud limitada que añade al final
una nueva solución sólo si es mejor que cualquier otra previamente
vista.
Existen también otros enfoques bastante conocidos:
Desandar: el actual miembro de la lista es siempre el escogido y
suprimido como base para reanudar la búsqueda. Sin embargo, la
memoria de corto plazo BT que acompañó a esta solución también es
guardada, y el primer movimiento inhibe además el movimiento
previamente tomado de esta solución, con lo que un nuevo camino
de solución será iniciado. Este enfoque de recuperar soluciones élites
seleccionadas es llamado "back tracking" (desandar), y consiste
simplemente en crear una cola limitada de prioridad.
Entorno no visitado: este segundo enfoque se relaciona con la
estrategia de reanudar la búsqueda desde entornos no visitados,
previamente generados. Tal estrategia, mantiene el registro de la
calidad de estos entornos para seleccionar un conjunto élite, y limita
la atención a tipos específicos de soluciones, como son los entornos
de óptimos locales o entornos de soluciones visitadas en pasos
inmediatamente anteriores a alcanzar tales óptimos locales.
65
Descomposición: Otro tipo de enfoque de intensificación es la
"intensificación por descomposición", donde se pueden imponer
restricciones a partes del problema o a la estructura de solución para
generar una forma de descomposición que permita un enfoque más
concentrado en otras partes de la estructura.
5.4.2 ESTRATEGIAS DE DIVERSIFICACIÓN
Las estrategias de diversificación en BT, como su nombre sugiere,
están diseñadas para conducir la búsqueda hacia nuevas regiones. Con
frecuencia están basadas en modificar las reglas de elección para llevar a la
solución atributos que no hayan sido usados frecuentemente.
Alternativamente, se pueden introducir dichos atributos al reiniciar parcial
o completamente el proceso de solución. Los mismos tipos de memorias
previamente descritos son útiles como fundamento de tales procedimientos,
aunque estas memorias sean mantenidas a través de subconjuntos de
soluciones, que aquellos mantenidos por estrategias de diversificación.
Un enfoque simple de diversificación que mantiene una memoria
basada en frecuencia sobre todas las soluciones previamente generadas
consta de las siguientes fases:
Aplicar el algoritmo de memoria de corto plazo (MCP) descrito en el
apartado anterior.
Mantener la memoria basada en frecuencia de atributos en las
soluciones.
Cuando el ratio de hallazgo de nuevas mejores soluciones cae por
debajo de un umbral, entrar en el bucle siguiente:
Bucle: Aplicar la memoria BT de corto plazo hasta llegar a un
óptimo local BT.
Penalizar la inclusión de atributos que ocurran con frecuencia. Si se
alcanzó la iteración límite del bucle → Fin del bucle.
Continuar aplicando penalizaciones hasta que se seleccione un
movimiento que cree una solución mejor que su inmediato
predecesor→ Interrumpir entonces las penalizaciones.
66
Los óptimos locales de BT alcanzados por este enfoque, y usados
como base para lanzar una secuencia de pasos con el objeto de diversificar,
pueden naturalmente diferir de los verdaderos óptimos locales ya que las
reglas de selección de búsqueda tabú pueden excluir algunos movimientos
mejoradores.
El éxito de este enfoque sugiere el mérito de incorporar una variante
de BT que siempre continúe a un verdadero óptimo local una vez que un
movimiento mejorador se convierta en una elección aceptable (basado en
un criterio de aspiración que es activado sólo después de ejecutar un
movimiento mejorador). En este enfoque, mientras existan movimientos
que adicionalmente mejoren, el criterio de aspiración permitirá que uno de
ellos sea seleccionado mediante una regla de evaluación tabú que
penalizará las opciones basándose en su estatus tabú, restringiendo la
atención al conjunto de mejora.
Una vez que un verdadero óptimo local es alcanzado, el criterio de
aspiración especial se interrumpe hasta que un nuevo movimiento
mejorador se selecciona usando reglas de BT estándar.
5.4.3 COMBINACIÓN DE LAS ESTRATEGIAS DE INTENSIFICACIÓN Y
DIVERSIFICACIÓN
Un área en la que se viene trabajando es el modo en el cual las
memorias basadas en frecuencia son usadas para implementar las
estrategias de intensificación y diversificación. Existes dos patrones
generales distintos para explotar este tipo de memoria:
1. El primero de ellos consiste en aplicar una estrategia de
diversificación cuando la frecuencia es baja y una estrategia de
intensificación cuando la frecuencia es alta. Su representación se
puede observar en la figura 1:
67
Figura 1
2. El otro patrón, consiste en aplicar ambas estrategias cuando la
frecuencia es baja y utilizar solo la estrategia de intensificación
cuando la frecuencia aumenta. Este comportamiento se puede
observar en la figura 2.
Figura 2
68
5.5 OSCILACIÓN ESTRATÉGICA
Las estrategias vistas hasta este apartado constituyen la
configuración más básica de la búsqueda tabú. Existen otras estrategias más
desarrolladas y suelen mejorar los resultados obtenidos. Sin embargo, en
muchas ocasiones los buenos resultados obtenidos con las estrategias
anteriores justifican la no inclusión de estas nuevas estrategias. La primera
de las estrategias que se verá será la oscilación estratégica.
La oscilación estratégica proporciona un medio para lograr una
interacción muy efectiva entre intensificación y diversificación en el medio
y largo plazo. El enfoque opera orientando los movimientos en relación a
un cierto nivel crítico, identificándolo ya sea por una etapa de construcción
o un intervalo dado de valores para una función.
Tal nivel crítico representa a menudo un punto donde el método se
detendría normalmente. Sin embargo, en vez de detenerse al alcanzar este
nivel, las reglas para elegir los movimientos se modifican, para permitir
que la región definida por el nivel crítico sea traspasada.
El enfoque entonces, permite llegar hasta cierta profundidad
previamente especificada más allá del nivel crítico y regresa. La búsqueda
ahora procederá a alcanzar nuevamente el nivel crítico y traspasarlo, sólo
que esta vez se hará en dirección opuesta a la que se hizo anteriormente, y
el método se dirige a un nuevo punto de retorno. Este proceso de
aproximarse y traspasar una y otra vez el nivel crítico en direcciones
diferentes crea un comportamiento oscilatorio, el cual da al método su
nombre.
5.6 REENCADENAMIENTO DE TRAYECTORIAS
El reencadenamiento de trayectorias proporciona una integración
muy útil de las estrategias de intensificación y diversificación. Este enfoque
se basa en explorar trayectorias que "conectan" soluciones élite para
generar nuevas soluciones, empezando desde una de estas soluciones
llamada solución inicial, y generando una trayectoria en el espacio de
69
entornos que conduce hacia otras soluciones, llamadas soluciones guía.
Esto se logra seleccionando movimientos que introducen atributos
contenidos en las soluciones guía.
El enfoque puede verse como una instancia extrema (altamente
enfocada) de una estrategia que busca incorporar atributos de soluciones de
muy alta calidad, creando inducciones que favorezcan estos atributos en los
movimientos seleccionados. Sin embargo, en vez de utilizar una inducción
que simplemente apoye la inclusión de tales atributos, el enfoque de
reencadenamiento de trayectorias subordina todas las demás
consideraciones a la meta de elegir movimientos que introduzcan los
atributos de las soluciones guía, con el fin de crear una "buena composición
de atributos" en la solución actual. En cada paso la composición se
determina eligiendo el mejor movimiento, mediante los criterios usuales de
elección, del conjunto restringido de movimientos que incorporan un
máximo número, o un valor con peso máximo, de los atributos de las
soluciones guía.
Los atributos de estas soluciones guía reciben pesos "preemptivos"
como inductores para ser seleccionadas.
Únicamente a las formas más fuertes de ciertos criterios de
aspiración se les permite ignorar este tipo de regla de elección, de manera
que la trayectoria no se desvíe a menos que una solución vecina sea mejor
que cualquiera de las soluciones guía y la solución inicial, la regla de guía
se restablece después de que la desviación sigue su curso.
5.7 CARACTERÍSTICAS DEL ALGORITMO TABÚ EMPLEADO EN LA
RESOLUCIÓN DEL MODELO
En los apartados anteriores se ha explicado en líneas generales las
bases de funcionamiento de la búsqueda tabú. En este apartado se explicará
más detalladamente como se ha aplicado esa teoría general al problema de
diseño de calendarios en cuestión.
La función que se tratará de minimizar será la función que
proporciona el número de incompatibilidades. En esta función cada
70
restricción tendrá un peso determinado, en función de la importación de la
misma, y todas las incompatibilidades que posea la solución se irán
sumando. El algoritmo tratará de minimizar esta suma hasta que no exista
ninguna violación de las restricciones duras.
5.7.1 SOLUCIÓN INICIAL
El algoritmo de búsqueda tabú podría alcanzar una solución factible
partiendo desde cualquier solución inicial aleatoria. Sin embargo, el hecho
de partir desde una buena solución inicial hace que el tiempo y los recursos
empleados para llegar hasta una solución factible se reduzcan
drásticamente.
En este proyecto se ha optado por aportar al algoritmo una solución
inicial de la mayor calidad posible. De esta forma se ha conseguido que los
mejores movimientos posibles de cada paso de la búsqueda tabú se
encuentren en un área muy limitada y concreta del basto espacio de
soluciones global.
El algoritmo que genera la solución inicial comienza calculando las
divisiones mínimas de todos los exámenes. Es decir, si se tiene un grupo de
examen de 80 alumnos y la capacidad del aula mayor es de 60, es obvio
que ese grupo deberá dividirse como mínimo en dos clases. Esta prueba
lógica se realiza con todos los grupos de examen dividiendo inicialmente
en una, dos o tres clases en función del tamaño del grupo y de la capacidad
del aula máxima.
Una vez hecho esto, el algoritmo comienza a ordenar los días de
exámenes de mejor a peor. Para ello se asumirá que los mejores días son
aquellos que disponen de más slots libres y, por tanto, estos serán los
primeros en la lista. Una vez ordenados los días se elige aquel que disponga
de más slots libres siempre que:
Todos los exámenes de la primera asignatura quepan en el día.
El día no sea sábado.
71
Ésta segunda condición se incluye con la idea de que no se elijan
siempre los sábados como primer día por el hecho de que no hay clases. En
caso de que no se cumpla alguna de las condiciones anteriores se pasaría a
seleccionar el siguiente día.
Una vez seleccionado el “mejor día”, el algoritmo selecciona todos
los exámenes de un curso comenzando por el primer curso de la primera
titulación introducida. Todos estos exámenes seleccionados deben ir
asignados en días distintos.
Una vez elegido el día y los exámenes del curso, se procede a asignar
la primera asignatura. Se ha de procurar siempre que los exámenes de la
asignatura que sean de mañana se asignen por la mañana y los de tarde por
la tarde (siempre que no sea sábado, en cuyo caso solo se asignará por la
mañana). En el caso de tener una asignatura a extinguir se asignará en el
turno que tenga más huecos libres.
Esta asignación de la asignatura se realiza intentado asignar todos los
exámenes de la asignatura en el día seleccionado anteriormente. Para ello
se realizan una serie de comprobaciones:
En primer lugar se comprueba que no existan en el día en cuestión
ninguna asignatura incompatible. Esta condición obviamente se
cumplirá en la primera asignatura del curso, sin embargo, será útil en
las siguientes asignaturas.
Se comprueba también que todas las particiones que deben ir por la
mañana quepan en los turnos de mañana y se hace lo propio con los
exámenes de por la tarde.
Una vez comprobado que la asignatura cabe y que en el día no existe
ningún examen incompatible, se procede a asignar las particiones de los
exámenes en algún hueco libre. Durante esta asignación no se atiende a la
capacidad de las aulas ni al tamaño de los grupos, ya que esta será una
cuestión que debe resolver la búsqueda tabú. En el caso de que alguna de
las condiciones no se viera satisfecha, se procedería a seleccionar un día
que diste dos del anterior (día D+2). Con este nuevo día se repetiría las
comprobaciones y en caso de no cumplirse se volvería a avanzar otros dos
días.
72
De esta forma se iría recorriendo el periodo de exámenes saltando
días de dos en dos hasta volver al primer día seleccionado. En ese momento
se seleccionaría el día siguiente (D+1) y se volverían a repetir las
comprobaciones. En caso de seguir sin verse satisfecha se volverían a saltar
dos días. De esta forma se recorre todo el periodo de exámenes pero de
forma que la asignación de asignaturas procura siempre que las asignaturas
de un mismo curso se encuentren separadas al menos un día entre ellas.
Una vez asignada una asignatura, se procede a asignar la siguiente.
Para ello comienza de nuevo en el “mejor día” y se vuelven a realizar las
mismas comprobaciones. En caso de no cumplirse pues va cambiando de
día hasta recorrer el periodo de exámenes completo tal y como se explica
en los párrafos anteriores.
Este proceso se va repitiendo hasta asignar todas y cada una de las
asignaturas del curso seleccionado. Una vez asignado un curso, se procede
a seleccionar el siguiente y así sucesivamente hasta conseguir una solución
inicial completa.
Como se puede observar, este algoritmo proporciona una solución de
alta calidad facilitando mucho la tarea de la búsqueda tabú.
5.7.2 ATRIBUTOS DE LAS SOLUCIONES
Son caracterizados como atributos de las soluciones todas las aulas y
periodos que se encuentran asignados en algún momento de la resolución a
alguna asignatura.
De esta forma, y llevando a cabo un registro correcto, es posible
determinar el estatus tabú. Este estatus estaría conformado por el conjunto
de aulas y periodos que son asignadas como tabú para cada uno de los
exámenes.
Es preciso darse cuenta de que dicho conjunto tabú forma un grupo
dinámico, en constante evolución y cambio a lo largo del proceso, en
función de los resultados que se vayan obteniendo a medida que avanzan
las iteraciones.
73
Para controlar que atributos son tabú en un instante determinado, es
necesario contar con dos parámetros clave en el algoritmo de búsqueda
tabú. Estos parámetros son:
Frecuencia tabú: fija el número de veces que se puede repetir en una
solución un atributo antes de considerarlo tabú.
Tenencia tabú: es un atributo que indica el número de iteraciones que
permanecerá como tabú un atributo concreto. Una vez pasada ese
número de iteraciones el atributo podrá ser incluido de nuevo en una
solución.
Estos parámetros se fijan al principio de la ejecución y permanecen
constantes a lo largo de todo el proceso.
5.7.3 EXPLORACIÓN SENSIBLE
Para explorar el área de soluciones de manera sensible, se lleva a
cabo en primer lugar una cuidadosa elección de vecindario, que incluye la
elección del grupo a mover. A esta elección del vecindario, se le suman dos
filtros que ayudan a encaminar la búsqueda de una manera inteligente.
La exploración sensible comienza eligiendo el grupo de examen que
se moverá. Existen numerosas formas de elegir el grupo de examen: ir
seleccionándolos todos por orden, aleatoriamente…sin embargo, la forma
que mejores resultados ha dado ha sido la de ir eligiendo aquellos grupos
que violen alguna de las restricciones duras. Es decir, solo se selecciona un
grupo para moverlo si este incumple alguna restricción.
De esta forma, se evita mover grupos que ya están bien asignados. Se
trata de una lista dinámica ya que, a medida que se van realizando
iteraciones, es posible que alguno de los grupos que cumplían todas las
restricciones vuelva a incumplir alguna.
Una vez elegido el grupo que se va a mover, se pasa a seleccionar el
vecindario en el que se buscará la siguiente solución. Hay que elegir el
vecindario de forma juiciosa ya que la amplitud y la forma del espacio de
soluciones desaconsejan tratar todo el espacio como un único vecindario. Si
74
se escogiera todo el espacio de soluciones como un único vecindario, el
tiempo de evaluación crecería exponencialmente desperdiciando muchos
recursos.
Para elegir bien el vecindario es preciso entender la forma del
espacio y la solución inicial proporcionada. En este apartado se irá
comprendiendo porqué se ha creado una solución inicial más depurada en
vez de proporcionar una aleatoria.
En primer lugar, se hará hincapié en el hecho de que todas las
particiones de una asignatura se encuentran asignadas en un mismo día
gracias a la solución inicial. Este hecho hace que la BT, antes de intentar
moverse fuera del día, lo intente dentro del mismo.
Esta preferencia inicial de la BT por el día en el que se encuentra
asignada la asignatura, proviene de la propia naturaleza de las restricciones:
al cambiar de día una de las particiones de una asignatura se incumplirán
varias restricciones al mismo tiempo (la que obliga a que todas las
particiones de un examen se celebren a la misma hora, la que obliga a que
todos los exámenes de una misma asignatura se celebren el mismo día…).
Este incumplimiento simultaneo hace que aumente mucho la
penalización y por tanto tan solo la BT tan solo cambiará de día una vez
que haya marcado como tabú todas y cada una de las opciones del día al
que inicialmente fue asignada la asignatura.
Por lo tanto, inicialmente parece lógico escoger como vecindario tan
solo el día en que se encuentra asignada la asignatura inicialmente. Es más,
puesto que los exámenes del turno de mañana tan solo pueden realizar el
examen durante la mañana y las de tarde por la tarde, se restringirá
inicialmente el vecindario a estas zonas factibles.
Sin embargo, en esta última disminución del vecindario hay que
tener presente dos aspectos importantes:
Si el día asignado para la asignatura resulta ser un sábado, todos los
exámenes se asignarán por la mañana, independientemente del turno
al que pertenezcan. Es decir, que el vecindario de los exámenes en
sábado será inicialmente tan solo los turnos de mañana.
75
Si tenemos un examen de una asignatura a extinguir, el vecindario
deberá estar compuesto por todos los slots del día puesto que es
indiferente cuando se asigne.
Por último, si se continúa reflexionando acerca cómo realiza los
movimientos la búsqueda tabú podemos acotar aún más el vecindario.
Existen días en los que no se encuentran disponibles todos los slots por la
coincidencia con la impartición de clases. En estas ocasiones es posible
sacar del vecindario inicial estos slots ocupados ya que el algoritmo evitará
en un primer momento asignar exámenes en esos huecos.
Resumiendo, el vecindario inicial que se elegirá para las soluciones
estará compuesto por los slots disponibles del día (de mañana, de tarde o
todos en función del tipo de examen a mover) en que se encuentre asignada
la asignatura.
Esta estrategia de reducir al máximo el vecindario presenta una clara
ventaja, la velocidad de ejecución del algoritmo aumenta exponencialemte,
disminuyendo así los recursos consumidos. Además la calidad de la
solución encontrada no disminuye en absoluto puesto que lo único que se
hace es seleccionar en primer lugar la parte del espacio donde el algoritmo
va a moverse. Para ello se elimina otra parte a la que, aunque fuera
considerada en la evaluación, no sería nunca seleccionada hasta agotar la
primera parte.
Sin embargo, no todo son ventajas. Acotar de esta manera el espacio
hace que pueda darse el caso de que, una vez evaluado todo el vecindario
inicial para un examen, este siga sin cumplir todas las restricciones.
Llegado este punto, y apoyándose en la memoria de búsqueda tabú,
se introducirán estrategias para reconducir estas situaciones. Estas
estrategias basadas en memoria se explicaran más detenidamente en el
siguiente apartado.
Una vez elegido cuidadosamente el vecindario, hay que realizar
todos los movimientos y evaluarlos. En este problema se han distinguido
dos tipos de movimiento: el cambio de un grupo a un aula vacía y el
intercambio de las aulas asignadas a dos grupos distintos.
El primer tipo de movimiento, está pensado para moverse por las
aulas que se encuentran vacías. El movimiento consiste en cambiar el aula
76
que un grupo tiene asignada por otra que se encuentre libre. De esta forma,
el aula que inicialmente estaba ocupada pasa a quedar libre y viceversa, el
aula que estaba libre pasa a estar ocupada.
El segundo tipo de movimiento se introduce para poder considerar
también el intercambio de clases entre dos grupos. Este movimiento es
posible siempre que un aula este ocupada por otro grupo, en tal caso, el
resultado del movimiento es que se intercambian las aulas.
Con estos dos movimientos es posible recorrer todo el espacio de
soluciones a partir de la solución inicial, ya que, un aula tan solo puede
estar llena o vacía y ambas situaciones se han tenido en cuenta.
Como se indicó al principio del apartado, a la cuidadosa elección del
vecindario se le suman la actuación de dos filtros: el mecanismo tabú y el
mecanismo de aspiración.
Estos filtros se utilizan de la siguiente forma: una vez evaluados
todos los posibles movimientos del vecindario, se ordenan de mayor a
menor idoneidad. A continuación, se utiliza el filtro tabú para comprobar si
el movimiento en cuestión se encuentra marcado como tabú. En el caso de
que el movimiento sea tabú se utiliza la prueba de aspiración.
La prueba de aspiración comprueba si el movimiento tabú mejora o
no la solución que se tiene del problema. Si la prueba indica que el
movimiento mejora la solución actual se ignora su estatus tabú y el
movimiento es seleccionado como el siguiente paso. En caso negativo, el
movimiento resulta ignorado y se pasa al siguiente en la lista, evitando así
que la búsqueda repita continuamente las mismas soluciones.
5.7.4 ESTRATEGIAS BASADAS EN LA MEMORIA DE CORTO Y
LARGO PLAZO
En este apartado se explicará el uso que se ha hecho tanto de la
memoria a corto plazo MCP como de la memoria de largo plazo MLP.
La MCP es la encargada de llevar a cabo la estrategia de
intensificación haciendo uso tanto de la memoria explicita como de la
77
memoria basada en atributos. La memoria explicita se usa para calcular y
almacenar el valor de toda la vecindad mientras que, la memoria basada en
atributos, se usa para elegir el vecindario tal y como se ha explicado en el
apartado anterior.
El uso apropiado de la frecuencia y tenencia tabú, posibilita una
exploración rápida, evitando que las soluciones sean revisitadas y además
obligando a veces a innovar en la siguiente solución por estar ciertos
atributos marcados como tabúes activos.
Con respecto a la memoria de largo plazo, cabe decir que se usa
principalmente para diversificar la búsqueda. Para ello, la memoria a largo
plazo almacena el valor de las últimas soluciones y el grupo seleccionado
para el movimiento. Si durante un periodo concreto (medido en número de
iteraciones) la solución no mejora (o empeora) y el grupo elegido es el
mismo, la memoria activa los mecanismos necesarios para diversificar la
búsqueda.
Esta diversificación tiene lugar en dos etapas. La primera de ellas se
ha implementado con idea de acelerar un poco la búsqueda tabú aunque, si
se esperara lo suficiente, no sería necesaria ya que el algoritmo de BT
llegaría a esta nueva región a lo largo de su búsqueda. Sin embargo, la
segunda etapa es completamente necesaria debido a la construcción del
vecindario inicial que se realizó. En los siguientes párrafos se explicará en
detalle el funcionamiento de estas dos etapas.
La primera etapa utiliza la misma característica del espacio de
soluciones que se utilizó para acotar el vecindario aunque a una escala
menor. El algoritmo que genera la solución inicial, asigna todas las
particiones de una misma asignatura en una misma hora. Esto hace que
para que una partición cambie de hora deba explorar primero todos los
huecos de la hora en la que se encuentra asignada. Esto es debido a que
cuando una partición cambia de hora es penalizada durante las iteraciones
que está cambiando por no estar todas las particiones asignadas en la
misma hora.
Por lo tanto, cuando la MLP detecta que la BT se ha quedado
“estancada” durante un número de iteraciones se activa esta primera etapa
de diversificación. Su función consiste en cambiar el vecindario de tal
forma que se obliga a cambiar de hora el grupo de examen y así la BT
78
puede continuar su proceso buscando una mejor solución en otra zona hasta
el momento inexplorada.
El cambio de hora lo realiza siempre dentro del mismo turno, es
decir, si un examen posee sus dos particiones asignadas en el slot 1 (que
abarca desde las 8:00 h hasta las 11:00 h) se busca una nueva solución en el
slot 2 (de 11:00 h a 14:00h). Esto es así porque no tendría sentido buscar
una mejor solución en los turnos de tarde ya que si la asignatura se
encuentra asignada en los turnos de mañana es porque debe de ir asignada
en la mañana.
Una vez realizado este cambio, la BT continúa su búsqueda de una
mejor solución. La MLP vuelve a registrar tanto el grupo que se mueve
como la evolución de las últimas soluciones (medido en número de
iteraciones). Si durante un número de iteraciones fijado la solución no
mejora (o empeora) y el grupo elegido es el mismo, se pone en marcha la
segunda etapa del proceso de diversificación.
En esta segunda etapa, la BT ha intentado ya situar el grupo de
examen en todos los slots posibles del día al que fue asignado en la
solución inicial. Si tras esto la BT no ha conseguido encontrar ninguna
solución en la que el grupo cumpla todas las restricciones, se considera que
resulta imposible asignar la asignatura en el día seleccionado.
Por lo tanto, en esta segunda etapa se cambia el vecindario de tal
forma que se “fuerce” a todos los grupos de la asignatura a cambiar de día.
Es importante remarcar que es necesario cambiar a todos los grupos y no
solo al que incumple alguna restricción. De otra forma el resto de grupos de
la asignatura pasarían a incumplir la restricción que los obliga a que todos
sus exámenes se celebren el mismo día. Si no se cambiaran todos a la vez,
el mismo algoritmo de BT los iría pasando uno a uno al día en cuestión,
aunque este proceso sería mucho más lento.
Para la elección del nuevo día de la asignatura, se utiliza un
algoritmo similar al que se usó en la solución inicial aunque con algunas
pequeñas modificaciones. Se selecciona el día que obtenga una mayor
puntuación tras evaluar todos los disponibles. Esta puntuación, se asigna a
los días en función de varios parámetros como son el número de slot
disponibles, la presencia o no de asignaturas incompatibles…además se
79
lleva un registro de todos los días en los que la asignatura a estado asignado
para evitar de esta forma que el algoritmo entre en un ciclo.
Una vez elegido el mejor día para la asignatura, se modifica el
vecindario de la BT consiguiendo de esta forma la diversificación buscada.
Una vez cambiado de día, la BT continúa su proceso de mejora dentro de
este nuevo día.
Por supuesto, si en este nuevo día no se pudiera encontrar una buena
ubicación para la asignatura el algoritmo volvería a entrar en estas dos
etapas de diversificación para volver a cambiar de hora o día la asignatura.
Cabe la posibilidad de que, una vez inspeccionados todos los días, la
asignatura siguiera sin encontrar una ubicación óptima. En este caso, el
algoritmo considerará que es necesario dividir el grupo de examen para así
facilitar su ubicación. El examen variará entonces el número de divisiones
inicial, siempre en función de las divisiones que presente actualmente.
Es decir, si el examen no se encuentra dividido se dividirá en dos
partes. Por el contrario, si el examen se encuentra dividido en dos partes
pasará a estar dividido en tres. Una vez dividido el examen, es necesario
borrar la memoria que almacena los días en los que ha estado asignado la
asignatura para así poder reiniciar el ciclo completo.
Como se puede comprobar, se recurre a la división de los grupos
siempre como último recurso. Esto se hace así porque las divisiones de los
exámenes siempre traen como consecuencia mayores problemas de
organización y, por tanto, se busca de esta forma que el número de
divisiones de un examen sea mínimo.
Como se vio en la descripción del algoritmo de BT existen
numerosas estrategias distintas a las estrategias de intensificación y
diversificación como son la oscilación estratégica o el reencadenamiento de
trayectorias. Sin embargo, estas últimas no se han tenido en cuenta en el
algoritmo de este problema ya que los resultados obtenidos con la
intensificación y la diversificación han sido satisfactorios.
80
6. DESCRIPCIO N DEL SOFTWARE DEL ALGORITMO DE BU SQUEDA TABU
6.1 EL ENTORNO MATLAB
Matlab es una herramienta informática simple, versátil y de gran
poder para aplicaciones numéricas, simbólicas y gráficas, que contiene una
gran cantidad de funciones predefinidas para aplicaciones en ciencias en
ingeniería. Debido a estas características, se ha elegido este lenguaje de
programación para la implementación del algoritmo de búsqueda tabú
encargado de resolver el problema de diseño de calendarios.
Las funciones incorporadas en Matlab facilitan bastante la
programación, ya que evita un gasto innecesario al momento de realizar
operaciones básicas, y no tan básicas, que forman parten del algoritmo
específico. Estas funciones van desde el manejo de matrices, hasta
aplicaciones en Estadística e Investigación Operativa.
Otro de los aspectos destacados y que también justifica la utilización
de Matlab es su cómoda integración con el entorno de Excel. Como se verá
posteriormente, debido a la gran cantidad de datos que necesita el
programa, se ha optado por introducir los datos desde Excel en vez de
introducirlos directamente por pantalla durante la ejecución del programa.
La fácil integración entre Excel y Matlab ha permitido crear una
sencilla plantilla que permite introducir los datos poco a poco, sin
necesidad de tener el programa en ejecución y con la posibilidad de
modificarlos fácilmente. Además, esta forma de introducir los datos
permite al usuario poder utilizarlos en una ejecución posterior del programa
sin tener que volver a introducir de nuevo todos los datos.
A continuación se enumerarán algunas de las principales
características de Matlab:
Capacidad para manejo matemático simbólico.
Funciones para la elaboración de gráficos y visualización avanzada.
81
Programación mediante un lenguaje de alto nivel.
Soporte para programación estructurada y orientada a objetos.
Facilidades básicas para el diseño de una interfaz gráfica.
Extensa biblioteca de funciones.
Paquetes especializados para algunas ramas de ciencia e ingeniería.
Sistema de ayuda en línea.
Interacción con otros entornos.
6.2 RECURSOS INFORMÁTICOS EMPLEADOS
La versión de Matlab utilizada es la 7.8.0.347 (R2009a), y las
principales características técnicas del equipo informático utilizado son:
Sistema operativo: Windows 7 Home Edition Premium. Versión 32-
bits.
Procesador: Intel Core 2 Duo T9500. 2.6GHz.
Memoria Ram: 3 GB.
6.3 ARCHIVOS DE ENTRADA
El programa recibe tres ficheros de entrada creados con el programa
Excel. Estos archivos pueden estar tanto en formato Excel 2003 (*.xls)
como en formato Excel 2007 (*.xlsx), además no es necesario que tengan
un nombre específico, sino que el usuario puede seleccionarlo directamente
a través del propio explorador de Windows desde la interfaz del programa.
Sin embargo, sí es necesario que estos archivos respondan a un
formato concreto para que el programa pueda cargar correctamente los
datos. En los siguiente apartados se explicará más detenidamente cual debe
ser este formato para cada uno de los archivos.
82
6.3.1 ARCHIVO DE DATOS
A pesar de que el usuario puede escoger libremente el nombre, a lo
largo de la memoria se utilizará el nombre de “Datos” para referirse al
primero de los archivos. Este archivo contiene toda la información de cada
uno de los grupos de clase que realizan examen en la convocatoria:
titulación a la que pertenece, curso, tipología de la asignatura, turno, etc.
Cada una de las líneas del archivo contiene información de un
examen de la convocatoria para la que se esté resolviendo el problema, a
excepción de la primera línea que es el encabezado e indica la información
que se debe introducir en cada una de las columnas. Por tanto, la
información se debe introducir siempre a partir de la segunda fila. El
formato del archivo es el siguiente:
Primera columna (Columna A)
En esta columna, como se indica en su encabezado, se debe
introducir la titulación a la que pertenece el examen de su fila. Una vez
introducido el nombre de una titulación, no es necesario copiar el nombre
de la misma para todos y cada uno de los exámenes de esa titulación.
Si la celda correspondiente a la titulación se encuentra vacía, el
programa interpreta que ese examen pertenece a la titulación que se
encuentre en la parte superior de la columna. Es decir, si se escribe el
nombre de una titulación en la casilla A-5 de Excel, el programa interpreta
que mientras no se escriba nada distinto, todos los exámenes que se
encuentren por debajo de la fila 5 (incluida) pertenecen a la misma
titulación.
Esto consigue que el usuario solo necesite escribir una vez el nombre
de la titulación, aunque si lo estima necesario el usuario puede rellenar
todas las celdas de la columna.
83
Segunda columna (Columna B)
En esta columna se debe introducir, en formato numérico, el curso al
que pertenece la asignatura correspondiente a su fila. Al igual que en el
caso de la titulación, en esta columna tampoco es necesario rellenar todas
las casillas de las columnas.
El programa interpreta una casilla vacía como si estuviera escrita con
el último número escrito de sus filas superiores. Por tanto, tan solo será
estrictamente necesario escribir en la casilla cuando exista un cambio de
curso, aunque se pueden escribir todas o parte de ellas si se estima más
cómodo.
En esta columna, merecen una especial mención los denominados
complementos de formación. Los complementos de formación son unas
asignaturas que no se encuentran ligada a ningún curso en concreto de la
titulación a la que pertenecen. A pesar de ello, su casilla no puede dejarse
en blanco puesto que si no el programa interpretaría que pertenecen al
último curso escrito.
Por lo tanto, se les debe asignar un curso distinto al de todas las
asignaturas, por ejemplo el 6. Si el usuario desea asegurarse que todos los
complementos de formación se celebren en distintos días, es necesario que
les asigne a todos ellos el mismo curso. En caso contrario, el usuario
debería asignarle distintos cursos a los complementos que no tengan porqué
encontrase en distintos días, por ejemplo 6, 7, 8, etc.
Tercera columna (Columna C)
En esta columna se indica la fecha de inicio del periodo de exámenes
para la asignatura en cuestión. La fecha debe introducirse, tal y como
indica su encabezado, en el formato siguiente: dd/mm/aaaa, donde “d”
indica día, “m” mes y “a” el año. Al igual que en las columnas anteriores,
si la casilla se deja vacía el programa interpreta que la fecha de inicio es la
última escrita por arriba.
84
Cuarta columna (Columna D)
En esta columna se indica la fecha en la que finaliza el periodo de
exámenes de la asignatura en cuestión. Al igual que en la columna C la
fecha hay que introducirla en el formato dd/mm/aaaa. La interpretación que
hace el programa de una casilla vacía es la misma que en las otras
columnas: se interpreta como la última casilla rellena por arriba. Es decir,
que tan solo es necesario escribir la fecha cuando esta difiera de lo escrito
en las filas inmediatamente superiores.
Quinta columna (Columna E)
En esta columna se indica el nombre de la asignatura tal y como lo
mostrará el programa una vez hallada la solución. Las casillas vacías de
esta columna se interpretan de la misma forma que en las columnas
anteriores. Esto resulta útil cuando una asignatura está compuesta por
varios grupos de clase ya que de esta forma no es necesario repetir el
nombre, bastaría con ponerlo en el primer grupo.
Por supuesto, en el caso de que se decida escribir el nombre en todos
los grupos el programa lo interpretaría correctamente, como grupos de
distintas asignaturas, con todas las consecuencias que esto implica. Sin
embargo, esta práctica se desaconseja en general ya que esto implica que se
ha de escribir exactamente igual, incluidas las tildes, puntos, comas,
espacios…por lo tanto, y para asegurarse un correcto funcionamiento
resulta recomendable escribirlo tan solo una vez.
Sexta columna (Columna F)
En esta columna se debe introducir el número del grupo de clase en
formato numérico: 1, 2, 3… para las asignaturas formadas por un solo
grupo de clase, se ha de poner el número 1, a pesar de que sea el único. En
esta columna carece de sentido dejar alguna casilla vacía, ya que cada línea
corresponde a un grupo distinto y, por tanto, tendrá una numeración
distinta.
85
Séptima columna (Columna G)
En esta columna se especifica el turno, de mañana o de tarde, en el
que se imparte el grupo en cuestión. En esta columna, al igual que en la
anterior, tampoco se deben dejar ninguna casilla vacía sino que se deben
rellenar todas y cada una de ellas. En esta columna solo se debe escribir
una de las tres “claves” que se indican a continuación:
Para las asignaturas que se impartan durante el turno de mañana, es
decir de 8:00 h a 14:00 h, se debe escribir en la casilla la siguiente
clave: “M” (sin comillas y en mayúsculas).
Para las asignaturas que se impartan durante el turno de tarde, de
15:00 h a 21:00 h, se debe escribir la siguiente clave: “T” (sin
comillas y en mayúsculas).
Por último, para las asignaturas a extinguir, en las que no hay
docencia, se debe escribir la siguiente clave: “V” (sin comillas y en
mayúsculas).
Octava columna (Columna H)
En esta columna se debe indicar si se trata de una asignatura común a
todos los alumnos, ya sea troncal u obligatoria, o se trata de una asignatura
optativa. En esta columna se deben escribir todas y cada una de las
casillas, sin dejar ninguna en blanco. Para identificarlas, se debe utilizar
una de las siguientes “claves”:
Para las asignaturas que sean comunes a todos los alumnos, como las
troncales y las obligatorias, se utilizará la siguiente letra: “C” (Sin
comillas y en mayúsculas).
Para las asignaturas que sean optativas, se utilizará la siguiente letra:
“O”.
86
Novena columna (Columna I)
En esta columna se debe introducir el número de alumnos que se
presentaran a la convocatoria que se esté resolviendo. Es importante tener
en cuenta un aspecto, debido a que se ha impuesto que cada examen se
puede dividir como máximo en 3 partes y a que el tamaño de las clases es
limitado, el número máximo de alumnos por grupo está limitado. En este
caso el aula de mayor tamaño es de 60 alumnos por lo que el grupo
máximo que podemos ubicar es de 180 alumnos. Los datos de esta columna
se deben introducir en formato numérico.
Décima columna (Columna J)
Esta columna contiene un número que identifica al grupo de la
asignatura. Se trata de una formalidad del funcionamiento interno del
programa que a su vez permite llevar un recuento del número de grupos
que se examinaran. Por la construcción del archivo Excel, esta columna
contiene un número menos que la fila en la que se encuentre el grupo, es
decir, la fila 2 contiene el grupo 1, la 3 el grupo 2…
Por este motivo el archivo Excel que se facilita como plantilla lleva
implementada una fórmula que asigna el número automáticamente. Por lo
tanto, para rellenar esta columna basta con arrastrar la fórmula desde la
esquina inferior izquierda de la casilla.
6.3.2 ARCHIVO DE HORARIOS
Al igual que en el archivo anterior, el usuario puede elegir libremente
el nombre del este archivo. En esta ocasión, el archivo contiene la
ocupación de las aulas por hora y día durante el periodo de exámenes. Este
archivo resulta necesario para poder determinar cuándo un aula se
encuentra libre para la celebración de un examen. Como en el caso anterior,
la información se proporciona a través de un archivo Excel de formato
definido.
87
Puesto que la ocupación de las aulas depende del día en el que se
observe, en este archivo será necesario introducir tantas hojas como días de
examen haya, incluso si es festivo. Los domingos, son los únicos días de la
semana que deben nunca deben disponer de hoja de ocupación.
La apariencia de una hoja del archivo se puede observar en la figura
3:
Figura 3
Como se puede observar, el cuadro de ocupación se encuentra
dividido por aula y hora. Para introducir los datos en este archivo basta con
marcar con una “C” (En mayúsculas y sin comillas) las aulas que se
encuentren ocupadas con clases y, por tanto, no puedan ser utilizadas para
la celebración de exámenes.
Es importante resaltar, que solo es necesario marcar las aulas que no
se encuentren disponibles en una hora determinada, es decir, que los
sábados por la tarde o los días festivos no se deben marcar con una “C” ya
que el programa asume por defecto que estos días no son lectivos.
Por lo tanto, este archivo debe contener la ocupación diaria de las
aulas para los periodos lectivos, contemplando de esta forma la no
disponibilidad de un aula por motivos extraordinarios y distintos de los días
festivos o los sábados tarde.
88
6.3.3 ARCHIVO DE DÍAS DE EXAMEN
Este archivo de Excel debe contener los nombres ordenados de cada
una de las hojas Excel del archivo anterior. Puesto que el archivo que
contiene la ocupación de las aulas debe tener tantas hojas como días tenga
el periodo de examen, resulta lógico nombrar todas esas hojas según el día
que contengan. Este es el motivo por el que nos referimos a este archivo
con este nombre.
Al igual que los archivos anteriores, este Excel se puede renombrar
como el usuario quiera ya que posteriormente será seleccionado mediante
el explorador de Windows.
El formato que debe contener este archivo, así como su contenido,
son bastante sencillos. Con respecto al formato simplemente hay que
rellenar la primera columna (Columna A) del archivo Excel respetando el
encabezado, es decir, comenzando a escribir a partir de la segunda línea.
Con respecto al contenido, decir que en este Excel deben figurar los
nombres exactos de todas y cada una de las hojas Excel del archivo que
contiene la ocupación. Por ejemplo, si el Excel de ocupación posee 10
hojas que se llaman: 1 de enero, 2 de enero, etc. En este archivo habrá que
escribir 1 de enero en la casilla A2, 2 de enero en la casilla A3, etc.
6.4 ARCHIVOS DE SALIDA
Una vez finalizada la ejecución del algoritmo, el programa genera un
archivo de salida (en formato Excel) que contiene la mejor solución
encontrada a lo largo de la búsqueda. Al igual que en los archivos
anteriores, el usuario puede dar un nombre libremente a este archivo.
El formato del archivo Excel de salida es el siguiente: se crean tantas
hojas como titulaciones existan en la convocatoria y en cada una de ella se
sitúan las asignaturas correspondientes la titulación. De esta forma, el
usuario se encuentra fácilmente clasificadas todas y cada una de las
asignaturas de la convocatoria.
89
Para cada asignatura se incluye la información necesaria para saber a
qué aula y hora se encuentran asignados los exámenes. La apariencia de
una hoja de este archivo se puede observar en la figura 4:
Figura 4
Como se puede observar, para cada asignatura se proporciona
información acerca de la fecha, el curso, el tipo…así como el aula y la hoja
en la que se encuentra asignado el examen en cuestión.
6.5 ESTRUCTURA DEL PROGRAMA Y DIAGRAMA DE FLUJO
En este apartado, se irán escribiendo y detallando todas y cada una
de las funciones por las que está compuesto el programa. Para ello, en
primer lugar se realizará una descripción del cometido de la función. Una
vez explicado este aspecto, se explicará el prototipo de la función así como
los parámetros de entrada y salida de la misma. Por último, se representará
la estructura de la función mediante un diagrama de flujo.
90
6.5.1 FUNCIÓN INTERFAZ
DESCRIPCIÓN
Se trata de una función creada desde el asistente para crear GUI de
Matlab. Esta función contiene la interfaz gráfica que aparece al ejecutar el
programa y que posee el aspecto que se observa en la figura 5:
Figura 5
Como se puede observar, se trata de una interfaz sencilla que tiene
como función principal permitir que el usuario pueda indicar distintas
ubicaciones de forma gráfica.
Estas ubicaciones son las direcciones de los tres archivos de entrada:
el de datos, el de horarios y el de días de examen. Además es posible
especificar la ubicación deseada y el nombre para el archivo de salida.
91
El cometido de esta función consiste en generar la interfaz gráfica
para facilitar al usuario la inserción de datos para, una vez indicados todos,
llamar a la función principal del programa al pulsar el botón “Ejecutar”.
PROTOTIPO
Esta función no dispone de elementos de entrada ni de salida y, por
lo tanto, su prototipo es simplemente el nombre de la función. Esto
responde al hecho de que los datos de entrada se introducen a través de
archivos Excel o a través de consola.
Por otro lado, los datos de salida se presentan también mediante un
archivo Excel.
6.5.2 FUNCIÓN MAIN
DESCRIPCIÓN
La función main constituye la función principal del programa. Pese a
que en ella no se realiza ninguna operación destacada, resulta vital para el
correcto funcionamiento del programa. Su principal cometido es servir de
hilo conductor, llamando a las funciones correspondientes en cada
momento para que el programa funcione correctamente.
PROTOTIPO
El prototipo de la función es el siguiente:
main(ubicacion_datos,ubicacion_horarios,ubicacion_dias
_examen,ubicacion_solucion)
Pese a ser la función principal, se puede observar como dispone de
parámetros de entrada. Esto se debe al hecho de que las direcciones de los
archivos de entrada y de salida se introducen a través de la interfaz gráfica.
92
Debido a esto, se ha estimado oportuno que la función interfaz llame
a la principal una vez introducida las direcciones haciendo de esta forma
que main disponga de datos de entrada.
PARÁMETROS DE ENTRADA
Como parámetros de entrada la función main recibe los siguientes
datos:
ubicacion_datos: contiene la dirección del archivo de datos.
ubicacion_horarios: contiene la dirección del archivo de
horarios.
ubicacion_dias_examen: contiene la dirección del archivo de
días de examen.
ubicacion_solucion: contiene la dirección donde el usuario
desea guardar la solución que proporciona el programa.
PARÁMETROS DE SALIDA
Esta función no devuelve ningún parámetro porque la solución se
devuelve a través de un fichero Excel.
DIAGRAMA DE FLUJO
El diagrama de flujo de la función main se representa en la figura 6:
93
Se llama a la función
de lectura de datos
Se genera la solución inicial con
los datos obtenidos
Se inicializa la
búsqueda tabú
Se prepara el
archivo de salida
Fin del programa
Se evalúa la solución
inicial obtenida
Se inicializa la
búsqueda tabú
¿La solución encontrada
es correcta?
Se notifica al usuario
los errores
Figura 6
94
6.5.3 FUNCIÓN LECTURA_ DATOS
DESCRIPCIÓN
La función lectura_datos es el módulo encargado de leer todos los
ficheros Excel y traducirlo al lenguaje con el que trabaja el programa.
Además de los datos que se introducen a través de los ficheros Excel, este
módulo necesita que el usuario introduzca algunos datos por pantalla.
La “traducción” que realiza este módulo, consiste básicamente en
convertir los archivos Excel en varias matrices de unos y ceros. Estas
matrices contienen diversa información sobre las relaciones existentes entre
los distintos exámenes, y resultan básicas para el funcionamiento del
programa.
Como ejemplo de estas matrices se puede presentar la matriz que
contiene información de los periodos de examen de cada grupo. Como cada
grupo dispone de un calendario distinto de examen, tanto en duración como
en fecha de comienzo, se decide crear la siguiente matriz:
Se trata de una matriz rectangular que posee tantas filas como
exámenes existen en la convocatoria y tantas columnas como días
de examen hay en total. Cada fila “i” se llena con 1 o 0 dependiendo
de si el día “j” pertenece o no al periodo de exámenes del grupo i.
De esta forma se consigue disponer de una gran cantidad de
información en tan solo una matriz de unos y ceros.
PROTOTIPO
El prototipo de la función es el siguiente:
[diasexamen,grupos,aulas,periodos,diasemana,tau,cap,f
estivo,turno,manana,tarde,grupoincompatible,grupoclas
e,grupooptativa,aulasafec,divisiones,periodo_examen,d
ias_sabado,grupocurso,matriz_numeros,matriz_texto,txt
_aulas,dias_periodo,hueco_2,hueco_3]=Lectura_datos(ub
icacion_datos,ubicacion_horarios,ubicacion_dias_exame
n)
95
PARÁMETROS DE ENTRADA
Los parámetros de entrada de esta función son escasos, esto es
consecuencia de que la mayor parte de la información se introduce a través
de los archivos Excel. Los parámetros de entrada son:
ubicacion_datos.
ubicacion_horarios.
ubicacion_dias_examen.
El significado de estos parámetros ya fue explicado en el anterior
apartado.
PARÁMETROS DE SALIDA
Esta función dispone de una gran cantidad de parámetros de salida,
ya que su función consiste precisamente en generar esa información y
transmitirla al resto del programa. Los parámetros de salida son:
diasexamen: esta variable almacena la cantidad de días que
existen para la realización de exámenes, descontando únicamente los
domingos que no son tenidos en cuenta.
grupos: contiene el número de exámenes que se realizarán en la
convocatoria, es decir, este número coincide con el número de filas
del archivo Excel Datos menos una (para descontar el encabezado).
aulas: contiene el número de aulas que existen disponibles para la
celebración de exámenes.
periodos: contiene el número de periodos o slots del periodo de
exámenes. Su valor se obtiene multiplicando por cuatro el número de
días de examen.
diasemana: este parámetro almacena el día de la semana (lunes,
martes,…) en que comienza el periodo de exámenes.
tau: este parámetro es un vector que almacena el tamaño de cada
uno de los grupos que concurrirán a examen.
cap: se trata de un vector que almacena la capacidad de cada una de
las aulas de la Facultad.
96
festivo: este vector contiene información acerca de que días son
laborables y que días son festivos.
turno: este parámetro almacena información sobre el turno
(mañana, tarde o a extinguir) que pertenecen cada uno de los
exámenes de la convocatoria.
manana: se trata de un vector que almacena todos los slots que
pertenecen al turno de mañana.
tarde: se trata de un vector que almacena todos los slots que
pertenecen al turno de tarde.
grupoincompatible: este parámetro es una matriz cuadrada que
almacena información acerca de qué grupos son incompatibles entre
ellos, es decir, que grupos deben ir forzosamente asignados en días
distintos. Para ello almacena un 1 en la posición (i, j) si los grupos i
y j son incompatibles. En caso contrario, almacena un 0.
grupoclase: esta matriz almacena información acerca de que
exámenes pertenecen a la misma asignatura y, por lo tanto deben
realizar el examen el mismo día. De esta forma el programa asigna
un 1 en la posición (i, j) si los grupos i y j pertenecen a la misma
asignatura. En caso contrario se asigna un 0.
grupooptativa: este parámetro es una matriz cuadrada que
almacena información acerca de los exámenes de las asignaturas
optativas. Se asigna un 1 a la posición (i, j) siempre que el examen j
pertenezca a una asignatura optativa del mismo curso que el examen
i. En caso contrario se asigna un 0.
aulasafec: se trata de una matriz rectangular que almacena
información sobre las aulas que no se encuentran disponible para la
realización de exámenes en un periodo determinado. Al igual que el
resto de matrices almacena la información en forma de 1 y 0. Cuando
en la posición (i, j) hay un 1 significa que el aula i no se encuentra
disponible en el slot j. En caso contrario, el aula i se encuentra
disponible en el slot j.
divisiones: este vector almacena el número de divisiones que se
han hecho en cada uno de los grupos o exámenes que existen en la
convocatoria.
periodo_examen: en esta matriz se almacena información
relativa a los días del periodo de exámenes global en los que es
97
posible celebrar cada uno de los exámenes. Es decir, cuando la
posición (i, j) de la matriz es 1 quiere decir que el examen i se puede
celebrar en el día j. Si fuera 0 quería indicar que el examen i no se
puede celebrar el día j.
dias_sabado: este vector contiene información sobre los días del
periodo de exámenes que son sábados.
grupocurso: esta matriz almacena información acerca de los
grupos de examen que pertenecen a un mismo curso. Representa una
información útil para que, en la solución inicial, se repartan lo mejor
posible en el tiempo los exámenes de un mismo curso.
matriz_numeros: esta matriz contiene toda la información
numérica que se introdujo en el archivo Excel Datos. La única
modificación que el programa hace de estos datos es que completa
las casillas que se dejaron vacías automáticamente.
matriz_texto: esta matriz contiene toda la información de texto
que se introdujo en el archivo Excel Datos. Al igual que en su
homóloga de datos numéricos, la información proveniente del Excel
ha sido completada para rellenar todas las celdas.
txt_aulas: este vector contiene la designación que se da a cada
una de las aulas del edificio para poder identificarlas posteriormente
cuando prepare los datos de salida del programa.
dias_periodo: este vector almacena, en forma de texto, los días
del periodo de examen. Por ejemplo si el primer día de exámenes
fuera el 10 de enero de 2011 este vector almacenaría en primer lugar
“10/01/2011”.
hueco_2: esta matriz almacena información sobre qué huecos o
slots disponen de dos horas consecutivas libres.
hueco_3: esta matriz almacena información sobre qué huecos o
slots disponen de tres horas consecutivas libres.
DIAGRAMA DE FLUJO
El diagrama de flujo de esta función se representa en la figura 7:
98
Lectura y
preparación del
archivo Datos.xls
Generación de
todas las matrices
de datos
Lectura de los
archivos
Horarios.xls y
dias_examen.xls
Generación de la
matriz de
ocupación
Fin
Figura 7
99
6.5.4 FUNCIÓN SOLUCION_INICIAL
DESCRIPCIÓN
Esta función constituye la primera función que contiene un algoritmo
más o menos complejo. Las funciones anteriores, como se puede
comprobar en sus diagramas de flujo, son funciones con un cometido
bastante sencillo y su creación responde a motivos fundamentalmente de
organización.
La finalidad de esta función consiste en proporcionar a la búsqueda
tabú una solución inicial de una alta calidad con idea de reducir al máximo
los dilatados tiempos de ejecución. Si nos encontráramos ante un problema
de un tamaño más reducido, la generación de este tipo de soluciones
iniciales es posible que careciera un poco de sentido. En problemas más
pequeños la ejecución de la búsqueda tabú sobre una solución aleatoria es
lo suficientemente eficaz como para converger en una solución óptima en
un espacio de tiempo razonable.
Como se explicó en apartados anteriores, esta función genera una
solución de tal calidad que permite reducir al máximo la vecindad de la
búsqueda tabú.
PROTOTIPO
El prototipo de esta función es el siguiente:
[X,delta]=solucion_inicial(diasexamen,grupos,aulas,per
iodos,festivo,turno,grupoincompatible,grupoclase,grupo
optativa,aulasafec,divisiones,periodo_examen,dias_saba
do,grupocurso,matriz_texto)
Como se puede comprobar, esta función recoge gran parte de los
parámetros de salida que se generan en la función lectura_datos
devolviendo tan solo dos matrices cuyos significados se verán en los
siguientes apartados.
100
PARÁMETROS DE ENTRADA
Los parámetros de entrada de esta función son:
diasexamen
grupos
aulas
periodos
festivo
turno
grupoincompatible
grupoclase
grupooptativa
aulasafec
divisiones
periodo_examen
dias_sabado
grupocurso
matriz_texto
La descripción de estos parámetros se llevó a cabo en el apartado
“parámetros de salida” de la función lectura_datos por lo que no se volverá
a repetir en este.
PARÁMETROS DE SALIDA
Los parámetros de Salida de esta función son:
X: es una matriz tridimensional que almacena la variable principal
del modelo . Esta variable almacena un valor entre 0 y 1 en cada
posición (i, j, t) que indica, según se explicó en el modelo
matemático, a que aulas y en qué instante se encuentra asignado cada
uno de los exámenes.
delta: al igual que X es una matriz tridimensional que, en esta
ocasión, guarda la información de la variable binaria . En cada
101
posición (i, j, t) delta guarda un 1 o un 0 en función del
correspondiente valor de la variable .
DIAGRAMA DE FLUJO
El diagrama de flujo de esta función resulta algo más complejo que
el de las anteriores funciones. Se representará en la figura 8:
102
Cálculo de los slots disponibles
por día inicialmente
Se eliminan los huecos de festivos
y del sábado por la tarde
Valoración de los días en
función de los huecos libres
Para todos los cursos
Se toma como día inicial el que
obtenga una mejor valoración y
no sea sábado
Se seleccionan todos los
exámenes de un curso
Para todos los
exámenes de un curso
Calculo los huecos que
necesito para la asignatura
Día inicial:2:(Día inicial-2)
¿Fin del curso?
¿Fin de los
cursos?
FIN
B A C
103
¿Es festivo o no
pertenece al periodo
de exámenes?
¿Caben todas las
particiones en el día?
¿Hay grupos
incompatibles o
asignaturas optativas
en el día?
Se asigna en
el día
¿Fin del bucle?
¿Es festivo o no
pertenece al periodo
de exámenes?
¿Caben todas las
particiones en el día?
¿Hay grupos
incompatibles o
asignaturas optativas
en el día?
Se asigna en
el día
(Día inicial+1):2:(Día inicial-1)
¿Fin del bucle?
B A
B A C
104
Día inicial:2:(Día inicial-2)
¿Es festivo o no
pertenece al periodo
de exámenes?
¿Caben todas las
particiones en el día?
¿Hay grupos
incompatibles? Se asigna en
el día
¿Fin del bucle?
(Día inicial+1):2:(Día inicial-1)
¿Es festivo o no
pertenece al periodo
de exámenes?
¿Caben todas las
particiones en el día?
¿Hay grupos
incompatibles? Se asigna en
el día
¿Fin del bucle?
Figura 8
A B
105
6.5.5 FUNCIÓN RESTRICCIONES
DESCRIPCIÓN
Esta función es la que posee implementadas todas las restricciones
del modelo matemático, tanto las duras como las suaves. Su cometido
consiste en recibir cada una de las soluciones que se van generando a lo
largo del proceso y evaluarlas. Esta evaluación se realiza con un sistema de
penalizaciones que, en función de la restricción que se incumpla, penaliza
en mayor o menor medida la solución.
De esta forma, al sumar las penalizaciones de todas las restricciones
se obtiene finalmente la evaluación de la solución en su conjunto. Esta
evaluación, se devuelve dividida en dos términos: el correspondiente a las
restricciones duras por un lado, y el de las restricciones suaves por otro.
Esto es necesario porque, a pesar de que la búsqueda tabú intenta disminuir
ambos términos, el que indica cuando se ha llegado al óptimo es el primero.
El término correspondiente a las restricciones suaves, se utiliza
simplemente para deshacer posibles empates entre distintos movimientos.
En estos casos de empate, es cuando se elige el movimiento con menor
evaluación en las restricciones suaves ya que siempre se da prioridad a la
evaluación de las restricciones duras.
PROTOTIPO
El prototipo de esta función es el siguiente:
[evaluacion_f,evaluacion_g]=restricciones(diasexamen,g
rupos,aulas,periodos,diasemana,tau,cap,festivo,turno,m
anana,tarde,grupoincompatible,grupoclase,grupooptativa
,aulasafec,divisiones,periodo_examen,dias_sabado,cambi
ar,hueco_2,hueco_3,X,delta)
Se puede observar como la función recibe como entrada la mayoría
de parámetros generados en la función de lectura de datos así la solución
(X y delta) a evaluar.
106
PARÁMETROS DE ENTRADA
Los parámetros de entrada de esta función son:
diasexamen
grupos
aulas
periodos
diasemana
tau
cap
festivo
turno
manana
tarde
grupoincompatible
grupoclase
grupooptativa
aulasafec
divisiones
periodo_examen
dias_sabado
cambiar: este parámetro es un parámetro auxiliar que se utiliza
para acelerar la comprobación de las restricciones. El motivo de este
parámetro proviene del hecho de que hay ciertas restricciones cuya
comprobación requiere mucho esfuerzo computacional. En concreto
se trata de las restricciones (11), (12), (13), (14) y (15) del modelo
matemático del problema. Estas restricciones solo pueden cambiar de
estado (pasar de cumplirse a no cumplirse o viceversa) con los
movimientos que cambian de día a las asignaturas. Por lo tanto, para
agilizar la búsqueda lo que se hace es que tan solo se comprueban
cuando se realiza algún cambio de día. Una vez realizado el cambio,
se verifica mediante una función si el cambio se ha realizado
correctamente, es decir, si cumple las cinco restricciones antes
enunciadas. En caso afirmativo, el algoritmo deja de verificar dichas
restricciones hasta nuevo cambio. En caso negativo, el algoritmo
107
sigue verificando dichas restricciones hasta que se cumplan,
momento en el que dejan de verificarse hasta nuevo cambio.
hueco_2
hueco_3
X
delta
Con excepción del parámetro cambiar que ha sido explicado, el resto
de parámetros provienen de funciones anteriores con lo que no se volverá a
explicar su significado.
PARÁMETROS DE SALIDA
Los parámetros de salida de esta función son:
evaluacion_f: en este parámetro se guarda la suma de todas las
penalizaciones por incumplimientos de restricciones duras. Este es el
parámetro que indica cuando una solución es aceptable o no, es
decir, cuando el valor de este parámetro es nulo indica que la
búsqueda tabú ha encontrado una solución admisible.
evaluacion_g: en este parámetro se guarda la suma de todas las
penalizaciones por incumplimientos de restricciones suaves. Su valor
difiere del de evaluacion_f en varios órdenes de magnitud. La razón
de esta diferencia radica en el hecho de que lo que realmente busca
minimizar la búsqueda tabú es la suma de estos dos parámetros. Sin
embargo, siempre debe tener prioridad cumplir una restricción dura
antes que, por ejemplo, varias suaves. Debido a esta idea la función
de las restricciones suaves pasa a ser más de desempate entre
movimientos que obtengan la misma evaluación en las restricciones
duras.
DIAGRAMA DE FLUJO
El diagrama de flujo de esta función se representa en la figura 9:
108
Para todas las
restricciones duras
¿Se cumple la
restricción?
evaluacion_f=evaluacion_f+Penalización
¿Fin de bucle?
Para todas las
restricciones suaves
¿Se cumple la
restricción?
evaluacion_g=evaluacion_g+Penalización
¿Fin de bucle?
FIN
Penalización=0
Penalización=0
Figura 9
109
6.5.6 FUNCIÓN GRUPOS_MOVER
DESCRIPCIÓN
El cometido de esta función es identificar, de entre todos los grupos
que concurren a examen, cuáles de ellos incumplen alguna restricción. De
esta forma, cuando se seleccionan los grupos sobre los que se va a crear la
vecindad en la búsqueda tabú, tan solo se tienen estos grupos dejando a un
lado los grupos que se encuentran bien asignados. Esto resulta útil para
acotar la búsqueda tabú a aquellas áreas donde sea posible mejorar,
evitando en un primer lugar mover grupos que ya se encuentran bien
asignados.
Sin embargo, esta elección de grupos que presentan problemas no
impide que los grupos que estén bien se muevan. Para ello se han
introducidos movimientos de intercambio entre grupos. De esta forma, si
durante el movimiento de un grupo con problemas, el mejor movimiento
resulta de intercambiar el aula con un grupo que está bien el algoritmo
ejecutará dicho movimiento.
Lo que sí se consigue con esta fórmula, es que los grupos que están
bien asignados solo se muevan para mejorar la solución. Además esta
fórmula también consigue acelerar la búsqueda tabú, ya que solo se buscan
mejores soluciones en zonas muy susceptibles de encontrarlas.
PROTOTIPO
El prototipo de esta función es el siguiente:
[lista_comprobar]=grupos_mover(diasexamen,grupos,aulas
,periodos,diasemana,tau,cap,festivo,turno,manana,tarde
,grupoincompatible,grupoclase,grupooptativa,aulasafec,
divisiones,periodo_examen,dias_sabado,X,delta)
110
PARÁMETROS DE ENTRADA
Los parámetros de entrada de esta función son:
diasexamen
grupos
aulas
periodos
diasemana
tau
cap
festivo
turno
manana
tarde
grupoincompatible
grupoclase
grupooptativa
aulasafec
divisiones
periodo_examen
dias_sabado
X
delta
Todos y cada uno de los parámetros de entrada de esta función han
sido explicados en funciones anteriores.
PARÁMETROS DE SALIDA
Esta función tan solo devuelve un único parámetro:
lista_comprobar: este parámetro es un vector que almacena
información sobre qué grupos incumplen alguna restricción, es decir,
indica que grupos al menos es necesario mover para alcanzar una
solución admisible. Además, esto también ofrece una idea acerca de
111
lo que le queda a la búsqueda tabú para terminar y, por tanto,
ofreciendo un parámetro útil para medir el avance de la búsqueda. Su
formato es bastante simple, almacena un 1 en la posición i si el grupo
i incumple alguna restricción. En caso contrario, almacena un 0.
DIAGRAMA DE FLUJO
El diagrama de flujo de esta función se representa en la figura 10:
Para todos los grupos
Para todas las restricciones
¿El grupo “i”
cumple la
restricción?
lista_comprobar(i)=1
lista_comprobar=0
¿Se han
comprobado todas
las restricciones?
¿Se han todos
los grupos?
FIN
Figura 10
112
6.5.7 FUNCIÓN BUSQUEDA_TABU
DESCRIPCIÓN
Esta función del programa es la que contiene algoritmo de búsqueda
tabú diseñado para el problema. En este algoritmo, con el paso de las
iteraciones, los movimientos de la búsqueda tabú van conduciendo
progresivamente a una solución del problema de mayor calidad. Para ello,
se hace uso de una cuidadosa elección del vecindario junto un uso eficiente
de la memoria y de la condición tabú de los distintos atributos.
Con todo ello, se pretende alcanzar una solución óptima aunque sin
dejar de lado uno de los pilares de la búsqueda tabú: el uso racional de los
recursos. Este último aspecto, toma especial relevancia en problemas de
grandes dimensiones como este, ya que el tamaño del espacio de soluciones
hace prácticamente inviable un diseño basado en la exploración completa
del espacio sin ningún tipo de filtro.
PROTOTIPO
El prototipo de la función busqueda_tabu es el siguiente:
[X_solucion,delta_solucion,f_siguiente,g_siguiente,h,f
,f_solucion_devolver,g_solucion,evaluacion_solucion,di
visiones]=busqueda_tabu(diasexamen,grupos,aulas,period
os,diasemana,tau,cap,festivo,turno,manana,tarde,grupoi
ncompatible,grupoclase,grupooptativa,aulasafec,divisio
nes,X,delta,f_solucion,g_solucion,evaluacion_solucion,
periodo_examen,dias_sabado,hueco_2,hueco_3,matriz_text
o)
Se puede observar como los parámetros de entrada de esta función son
todos los parámetros generados en las funciones llamadas anteriormente.
PARÁMETROS DE ENTRADA
Los parámetros de entrada de la función son:
diasexamen
113
grupos
aulas
periodos
diasemana
tau
cap
festivo
turno
manana
tarde
grupoincompatible
grupoclase
grupooptativa
aulasafec
divisiones
X
delta
f_solucion: este parámetro contiene la evaluación que la función
restricciones ha devuelto tras la evaluar la solución mediante todas
las restricciones duras del modelo. Puesto que a la entrada de la
función la búsqueda tabú no ha comenzado su proceso de búsqueda,
esta evaluación contiene en un principio la evaluación de la solución
inicial generada.
g_solucion: este parámetro es similar al parámetro anterior, ya
que también es devuelto por la función restricciones. La única
diferencia estriba en que, en este caso, proviene de la evaluación de
las restricciones suaves. Al igual que f_solucion en el momento de
entrada a la función busqueda_tabu su valor se corresponde con la
evaluación de la solución inicial.
evaluacion_solucion: este parámetro contiene la evaluación
completa de la solución, es decir, la suma de los dos parámetros
anteriores.
periodo_examen
dias_sabado
hueco_2
114
hueco_3
matriz_texto
Al igual que en las funciones anteriores, se ha explicado el
significado de los parámetros que aparecen por primera vez mientras que
los parámetros que ya han aparecido simplemente se han nombrado.
PARÁMETROS DE SALIDA
Los parámetros de salida de la función son:
X_solucion: esta matriz contiene la solución encontrada por la
búsqueda tabú y su construcción es la misma que la de la matriz X.
delta_solucion: esta matriz tiene la misma construcción que la
matriz delta aunque se reservar para almacenar la δ de la solución.
f_siguiente: este parámetro contiene la evolución de las
restricciones duras del último movimiento elegido por la búsqueda
tabú. En general este valor de este parámetro será distinto del valor
de f_solucion ya que en este último solo se almacena la evaluación
de la solución.
g_siguiente: en este parámetro se almacena la evaluación de las
restricciones suaves del último movimiento elegido por la búsqueda
tabú.
h: este parámetro almacena la iteración en la que se encuentra la
búsqueda tabú.
f: este vector contiene la evolución del parámetro f_siguiente con el
paso de las iteraciones. Se utiliza para realización de gráficos que
muestren la evolución de la búsqueda tabú.
f_solucion_devolver: en este vector se almacena la evolución
del parámetro f_solucion con el paso de las iteraciones.
g_solucion
evaluacion_solucion
divisiones
De todos los parámetros que la búsqueda tabú devuelve, no todos son
utilizados por el programa para presentar los resultados. Muchos de ellos,
como f_solucion_devolver o h, son utilizados para comprobar la evolución
115
de la búsqueda tabú. Es decir, son parámetros que se pueden utilizar por el
diseñador del algoritmo para medir la eficiencia del mismo y que, de cara
al usuario final, no tienen repercusión alguna.
DIAGRAMA DE FLUJO
El diagrama de flujo de esta función se representa en la figura 11:
116
Mientras que
h<ITERMAX
¿Se han movido
todas las divisiones
del grupo?
Se selecciona una
partición que no se
haya movido
Se seleccionan los
grupos con problemas
Para todos los grupos
con problemas
¿CAMBIO=1?
GRUPO_CAMBIADO=GRUPO_CAMBIADO+1
¿GRUPO_CAMBIADO>UMBRAL?
CAMBIO=1
GRUPO_CAMBIADO =0
A B
117
Se genera la vecindad
en función del turno de
la asignatura
Se evalúan todos los
movimientos de la vecindad
(Función restricciones)
Se ordenan los movimientos
de mejor a peor
Para todos los
movimientos
¿Es Tabú?
¿Cumple el
criterio de
aspiración?
Se ejecuta el
movimiento
¿Es el mejor
movimiento
hasta ahora?
Se selecciona
como solución
Se actualizan los
parámetros tabú
A B
A B
118
¿Todos los grupos
con problemas tienen
CAMBIAR=1?
¿CAMBIO_TURNO=1?
busqueda_tabu_cambio_dia
CAMBIO_TURNO=0
¿Todos los grupos
con problemas tienen
CAMBIAR=1?
busqueda_tabu_cambio
CAMBIO_TURNO=1
¿La solución es
admisible?
¿Se ha llegado al
máximo de iteraciones? FIN
Figura 11
B A
119
6.5.8 FUNCIÓN BUSQUEDA_TABU_CAMBIO
DESCRIPCIÓN
La finalidad de esta función es acelerar la búsqueda tabú. Por la
propia construcción de las restricciones, una asignatura elegirá como
primeros movimientos siempre aquellos que mantengan la misma hora que
en la asignación inicial. En esto influye el hecho de que para cambiar una
asignatura con varias divisiones de hora se necesitan varias iteraciones.
En dichas iteraciones, la evaluación de la solución empeorará ya que
durante este movimiento no todas las particiones se encontrarán a la misma
hora. Por este motivo, se define un umbral (medido en número de
iteraciones) a partir del cual un grupo es “obligado” a cambiar de hora para
de esa forma diversificar la búsqueda más rápido.
Hay que destacar que se trata de una medida que trata de acelerar la
búsqueda ya que, si se espera el tiempo necesario, la búsqueda tabú
alcanzará estas regiones por ella misma.
PROTOTIPO
El prototipo de esta función es el siguiente:
[X_solucion,delta_solucion,f_siguiente,g_siguiente,h,f
,f_solucion_devolver,f_solucion,g_solucion,evaluacion_
solucion,divisiones,cambio,X,delta,iteracion_actual,te
nencia_tabu,tabu_start,frecuencia_eleccion,contador,va
lor_f,hueco_2,hueco_3,cambiar]=busqueda_tabu_cambio(di
asexamen,grupos,aulas,periodos,diasemana,tau,cap,festi
vo,turno,manana,tarde,grupoincompatible,grupoclase,gru
pooptativa,aulasafec,divisiones,X,delta,f_solucion,g_s
olucion,evaluacion_solucion,periodo_examen,dias_sabado
,iteracion_actual,tenencia_tabu,tabu_start,frecuencia_
eleccion,contador,h,cambio,valor_f,X_solucion,delta_so
lucion,f,f_solucion_devolver,f_siguiente,g_siguiente,h
ueco_2,hueco_3,cambiar)
Se puede comprobar como en este caso, los parámetros de entrada de
la función son, por un lado, todos aquellos que fueron pasados a la función
120
busqueda_tabu, y por otro, todos los parámetros correspondientes al propio
algoritmo de búsqueda tabú.
Estos últimos parámetros son necesarios ya que esta función no es
más que la continuación del algoritmo de búsqueda tabú. La principal
diferencia y a la vez su razón de ser es que el vecindario que genera obliga
al algoritmo a cambiar los grupos marcados de hora. Además, también hay
que destacar que en esta función tan solo se mueven aquellos grupos que
sobrepasaron el umbral sin mejorar (incumpliendo a su vez alguna
restricción) y que, como consecuencia, fueron señalados para cambiar de
hora.
PARÁMETROS DE ENTRADA
Los parámetros de entrada de la función son:
diasexamen
grupos
aulas
periodos
diasemana
tau
cap
festivo
turno
manana
tarde
grupoincompatible
grupoclase
grupooptativa
aulasafec
divisiones
X
delta
f_solucion
121
g_solucion
evaluacion_solucion
periodo_examen
dias_sabado
iteracion_actual: este parámetro almacena la iteración en que
se encuentra el algoritmo. Se trata de una parámetro que se utiliza
para comprobar si un movimiento es tabú o no.
tenencia_tabu: este parámetro almacena el número de
iteraciones que un movimiento permanecerá en status tabú.
tabu_start: en este parámetro se almacena la iteración en la que
se marca como tabú un movimiento. A partir de esta iteración, y
durante tantas iteraciones como marque el parámetro tenencia_tabu,
el movimiento en cuestión permanecerá como tabú.
frecuencia_eleccion: este parámetro guarda información
acerca de cuantas veces ha sido elegido un grupo para moverse.
contador: como su propio nombre indica se trata de un contador
que se usa para crear el vector valor_f. Este parámetro se usa dentro
del bucle que selecciona el grupo que se va a mover y, como no se
entra en dicho bucle en todas las iteraciones, es necesario llevar un
contador específico para este bucle.
h
cambio: se trata de un vector que, como se vio en el diagrama de
flujo de la función busqueda_tabu, marca cuando un grupo debe
entrar en esta función para cambiar de hora. También se usa cuando
para permitir la entrada en la función que cambia de día.
valor_f: vector que almacena el valor de la variable f_solucion
cada vez que el algoritmo cambia de grupo. Esto sirve para hacerse
una idea de la evolución de la calidad de la solución una vez que se
ha movido por completo un grupo.
X_solucion
delta_solucion
f
f_solucion_devolver
f_siguiente
g_siguiente
122
hueco_2
hueco_3
cambiar
PARÁMETROS DE SALIDA
Los parámetros de salida de la función son los siguientes:
X_solucion
delta_solucion
f_siguiente
g_siguiente
h
f
f_solucion_devolver
f_solucion
g_solucion
evaluacion_solucion
divisiones
cambio
X
delta
iteracion_actual
tenencia_tabu
tabu_start
frecuencia_eleccion
contador
valor_f
hueco_2
hueco_3
cambiar
Todos estos parámetros han sido explicados anteriormente por lo que
no han sido descritos de nuevo.
123
DIAGRAMA DE FLUJO
El diagrama de flujo de esta función se representa en la figura 12:
Mientras que
h<ITERMAX
¿Se han movido
todas las divisiones?
Para todos
los grupos
¿CAMBIO=1?
Se selecciona una partición
que no se haya movido
Se genera un vecindario que
obligue a cambiar de hora
Se evalúan todos los
movimientos
Los movimientos se
ordenan de mejor a peor
B A
124
Para todos los
movimientos
¿Es tabú? ¿Cumple el
criterio de
aspiración?
Se ejecuta el
movimiento
¿Es el mejor
movimiento hasta
el momento?
Se selecciona
como solución
Actualizo los
parámetros tabú
¿Se han movido
todas las particiones
del grupo?
CAMBIO=0
¿Se han movido
todos los grupos
marcados?
¿Se ha llegado al máximo
de iteraciones?
FIN
A B
Figura 12
125
6.5.9 FUNCIÓN RESTRICCIONES_CAMBIO_DIA
DESCRIPCIÓN
Esta función es utilizada dentro de la función
busqueda_tabu_cambio_dia. Su cometido es comprobar que el cambio de
día de las asignaturas realizado en dicha función se ha realizado
correctamente. Esto se realiza porque, en el caso de que se haya realizado
correctamente el cambio de día, no será necesario comprobar una serie de
restricciones ((11), (12), (13), (14) y (15)) ya que ninguna posible solución
que se genere en busqueda_tabu o busqueda_tabu_cambio violará estas
restricciones. Con esto se consigue un considerable ahorro de recursos.
Por tanto, lo que realmente se realiza en esta funcion es comprobar
tan solo que la solución generada a la salida de busqueda_tabu_cambio_dia
no viola ninguna de las restricciones antes mencionadas. Si esto ocurre se
considera que el cambio se ha efectuado de forma correcta y, por tanto, no
se vuelven a comprobar durante la ejecución de busqueda_tabu o
busqueda_tabu_cambio. En el caso contrario, se obliga a seguir
comprobando estas restricciones en las otras funciones para evitar de esta
forma que el algoritmo considere que la solución es admisible porque
cumple el resto de restricciones.
PROTOTIPO
El prototipo de esta función es el siguiente:
[evaluacion_f]=restricciones_cambio_dia(diasexamen,gru
pos,aulas,periodos,manana,tarde,grupoincompatible,grup
oclase,grupooptativa,divisiones,periodo_examen,X,delta
)
PARÁMETROS DE ENTRADA
Los parámetros de entrada de la función son:
diasexamen
grupos
126
aulas
periodos
manana
tarde
grupoincompatible
grupoclase
grupooptativa
divisiones
periodo_examen
X
delta
Todos estos parámetros han sido explicados ya en anteriores
funciones.
PARÁMETROS DE SALIDA
Esta función posee un único parámetro de salida:
evaluacion_f: su significado es el mismo que la función
restricciones, proporciona la evaluación de la solución. Sin embargo,
en esta función esta evaluación no contempla todas las restricciones
duras sino tan solo aquellas que tienen en cuentan que las asignaturas
estén bien ubicadas en los días. Por tanto, para que el cambio de día
se encuentre bien hecho este parámetro debe ser nulo.
DIAGRAMA DE FLUJO
El diagrama de flujo de esta función se representa en la figura 13:
127
Para todos los
grupos
Para las
restricciones de
cambio de día
¿Se cumple la
restricción?
evaluacion_f=evaluación_f+Penalización
Penalización=0
¿Se verificado todas
las restricciones?
¿Se verificado
todos los grupos?
FIN
Figura 13
128
6.5.10 FUNCIÓN BUSQUEDA_TABU_CAMBIO_DIA
DESCRIPCIÓN
Esta función, al igual que busqueda_tabu_cambio, presenta una
estructura bastante similar a la función busqueda_tabu. Su principal
finalidad es forzar a ciertos grupos a cambiar de día. Además posee una
función secundaria: en el caso de que tras probar con todos los días del
periodo de examen sea imposible asignar el examen, el algoritmo procede a
dividir el grupo.
Estas dos características hacen que la estructura de la función sea
distinta a la de la función busqueda_tabu pese a disponer de muchas
similitudes.
PROTOTIPO
El prototipo de esta función es el siguiente:
[X_solucion,delta_solucion,f_siguiente,g_siguiente,h,f
,f_solucion_devolver,f_solucion,g_solucion,evaluacion_
solucion,divisiones,cambio,X,delta,iteracion_actual,te
nencia_tabu,tabu_start,frecuencia_eleccion,contador,va
lor_f,dias_asignados,cambiar,hueco_2,hueco_3,dividir]=
busqueda_tabu_cambio_dia(diasexamen,grupos,aulas,perio
dos,diasemana,tau,cap,festivo,turno,manana,tarde,grupo
incompatible,grupoclase,grupooptativa,aulasafec,divisi
ones,X,delta,f_solucion,g_solucion,evaluacion_solucion
,periodo_examen,dias_sabado,iteracion_actual,tenencia_
tabu,tabu_start,frecuencia_eleccion,contador,h,cambio,
valor_f,X_solucion,delta_solucion,f,f_solucion_devolve
r,f_siguiente,g_siguiente,dias_asignados,hueco_2,hueco
_3,dividir,matriz_texto)
PARÁMETROS DE ENTRADA
Los parámetros de entrada de esta función son:
diasexamen
129
grupos
aulas
periodos
diasemana
tau
cap
festivo
turno
manana
tarde
grupoincompatible
grupoclase
grupooptativa
aulasafec
divisiones
X
delta
f_solucion
g_solucion
evaluacion_solucion
periodo_examen
dias_sabado
iteracion_actual
tenencia_tabu
tabu_start
frecuencia_eleccion
contador
h
cambio
valor_f
X_solucion
delta_solucion
f
f_solucion_devolver
130
f_siguiente
g_siguiente
dias_asignados
hueco_2
hueco_3
matriz_texto
Todos los parámetros de esta función han sido explicados en
funciones anteriores. Concretamente, se utilizan los mismos parámetros
que en la función busqueda_tabu_cambio.
PARÁMETROS SALIDA
Los parámetros de salida de esta función son:
X_solucion
delta_solucion
f_siguiente
g_siguiente
h
f
f_solucion_devolver
f_solucion
g_solucion
evaluacion_solucion
divisiones
cambio
X
Delta
iteracion_actual
tenencia_tabu
tabu_start
frecuencia_eleccion
contador
valor_f
131
dias_asignados
cambiar
hueco_2
hueco_3
DIAGRAMA DE FLUJO
El diagrama de flujo de esta función se representa en la figura 14:
132
Mientras que
h<ITERMAX
¿Se han movido
todas las divisiones
del grupo?
¿Se han movido
todos los grupos de
la asignatura?
Para todos
los grupos
¿CAMBIO=1?
Se elige el grupo y todos
los grupos que pertenezcan
a la misma asignatura
Se valoran los días en
función de los huecos libres
Se quitan los días
incompatibles con la asignatura
Se quitan los días en los que ya
haya estado asignada la asignatura
A C B
133
Se selecciona una
partición que no se
haya movido
Se genera una vecindad
para cambiar la
asignatura al día elegido
Se evalúan todos los
movimientos de la vecindad
(Función restricciones)
Se ordenan los movimientos
de mejor a peor
Para todos los
movimientos
¿Es Tabú?
¿Cumple el
criterio de
aspiración?
Se ejecuta el movimiento
¿Queda
algún día?
Se divide el
grupo
Se ordenan los días
de mejor a peor
Se valoran
todos los días
Se quitan los
días
incompatibles
con la
asignatura
Se selecciona el
mejor día
A C B
A B
134
¿Es el mejor
movimiento
hasta ahora?
Se selecciona
como solución
Se actualizan los
parámetros tabú
¿Se ha movido
toda la asignatura?
CAMBIO=0
¿Se han movido
todas las asignaturas
marcadas?
¿El cambio de día de todas las
asignaturas ha sido correcto?
(restricciones_cambio_dia)
CAMBIAR=1 CAMBIAR=0
FIN
¿Se ha
llegado al
máximo de
iteraciones
B A
Figura 14
135
6.5.11 FUNCIÓN SALIDA_DATOS
DESCRIPCIÓN
Esta función la encargada de recibir la solución generada por la
búsqueda tabú y preparar el archivo de salida. Para ello, la función recibe la
matriz de la solución y debe relacionar cada grupo con su nombre original
haciendo de esta forma entendible la solución.
Además, debe ser capaz de separar todas las asignaturas de un mismo
curso para presentarlas por separado.
PROTOTIPO
El prototipo de esta función es el siguiente:
[]=Salida_datos(X,grupos,aulas,periodos,divisiones,mat
riz_numeros,matriz_texto,txt_aulas,dias_periodo,ubicac
ion_solucion)
PARÁMETROS DE ENTRADA
Los parámetros de entrada de la función son los siguientes:
X
Grupos
Aulas
Periodos
Divisiones
matriz_numeros
matriz_texto
txt_aulas
dias_periodo
ubicacion_solucion
Todos estos parámetros han aparecido en anteriores funciones y, por
lo tanto, ya han sido descritos.
136
PARÁMETROS DE SALIDA
Esta función no presenta ningún parámetro de salida. Esto es debido
a que la solución del problema se presenta en forma de fichero Excel.
DIAGRAMA DE FLUJO
El diagrama de flujo de esta función se representa en la figura 15:
Para todas
las carreras
Se lee la solución
la carrera
Se crea una hoja en
el archivo Excel
Se escribe el
encabezado en la hoja
Se escribe la
solución en la hoja
¿Se han terminado
las carreras?
FIN
Figura 15
137
7. ANA LISIS DE RESULTADOS
Para el análisis de los resultados obtenidos, se han realizado diversas
ejecuciones con una convocatoria tipo. Más concretamente se ha utilizado
un problema de 320 grupos, que responde a una convocatoria típica de
Enero-Febrero. En primer lugar, se presentará la solución obtenida
clasificándola por titulación.
Una vez presentada y analizada cualitativamente la solución, se
mostrarán los resultados de las pruebas realizadas con el programa. Dichas
pruebas, buscan comprender la influencia de distintos aspectos que se
consideran clave en la ejecución del programa.
7.1 CALENDARIO DE EXÁMENES
El programa presenta la solución obtenida separando las asignaturas
por titulaciones. Para la convocatoria de Enero-Febrero de 2011 la solución
obtenida se presentará en distintas tablas.
Para la titulación de Maestro de Educación especial la solución se
muestra en la tabla 3:
Tabla 3
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
10/01/2011 1 EDUCACIÓN FÍSICA ALUMNOS C 1 V A.2.2 Primera
10/01/2011 2 ASP. EVOL. Y EDU. DEF. VISUAL C 1 M A.2.13 Primera
10/01/2011 2 ASP. EVOL. Y EDU. DEF. VISUAL C 1 M A.3.13 Primera
10/01/2011 2 ASP. EVOL. Y EDU. DEF. VISUAL C 2 T A.2.22 Cuarta
10/01/2011 2 ASP. EVOL. Y EDU. DEF. VISUAL C 3 M A.2.9 Primera
10/01/2011 2 ASP. EVOL. Y EDU. DEF. VISUAL C 3 M A.2.12 Primera
10/01/2011 3 ORIENTACIÓN Y ACCIÓN TUTORIAL
O 1 M A.1.7 Primera
10/01/2011 3 ORIENTACIÓN Y ACCIÓN TUTORIAL
O 1 M A.2.14 Primera
10/01/2011 3 ORIENTACIÓN Y ACCIÓN TUTORIAL
O 2 T A.2.12 Cuarta
138
12/01/2011 1 ASPEC. DIDACT Y ORGAN. E.E C 1 V A.2.1 Cuarta
12/01/2011 2 PROBLEMA BAS. APREN. MATEMÁTICO
C 1 M A.2.12 Segunda
12/01/2011 2 PROBLEMA BAS. APREN. MATEMÁTICO
C 1 M A.2.22 Segunda
12/01/2011 2 PROBLEMA BAS. APREN. MATEMÁTICO
C 2 T A.2.11 Cuarta
12/01/2011 2 PROBLEMA BAS. APREN. MATEMÁTICO
C 2 T A.2.12 Cuarta
12/01/2011 2 PROBLEMA BAS. APREN. MATEMÁTICO
C 3 M A.3.1 Segunda
12/01/2011 2 PROBLEMA BAS. APREN. MATEMÁTICO
C 3 M A.3.12 Segunda
12/01/2011 3 FORMACIÓN PLAS. ESTÉTICA E.E O 1 M A.2.14 Primera
12/01/2011 3 FORMACIÓN PLAS. ESTÉTICA E.E O 1 M A.3.13 Primera
12/01/2011 3 FORMACIÓN PLAS. ESTÉTICA E.E O 2 T A.2.8 Tercera
12/01/2011 3 FORMACIÓN PLAS. ESTÉTICA E.E O 2 T A.2.9 Tercera
14/01/2011 3 EDUCACIÓN FAMILIAR O 1 M A.2.14 Primera
14/01/2011 3 EDUCACIÓN FAMILIAR O 1 M A.3.12 Primera
14/01/2011 3 EDUCACIÓN FAMILIAR O 2 T A.1.1 Tercera
17/01/2011 3 TÉCNICAS DE MODIFICACIÓN DE CON.
O 1 M A.3.1 Primera
17/01/2011 3 TÉCNICAS DE MODIFICACIÓN DE CON.
O 2 T A.2.22 Tercera
17/01/2011 3 TÉCNICAS DE MODIFICACIÓN DE CON.
O 3 M A.2.11 Segunda
19/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN
O 1 M A.2.22 Primera
19/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN
O 1 M A.3.15 Primera
21/01/2011 1 TEORÍA E INST. COMTEM. EDUCACIÓN
C 1 V A.2.14 Primera
21/01/2011 2 ASP. EVOL. Y EDU. DEF. MOTÓRICA
C 1 M A.2.1 Segunda
21/01/2011 2 ASP. EVOL. Y EDU. DEF. MOTÓRICA
C 1 M A.2.4 Segunda
21/01/2011 2 ASP. EVOL. Y EDU. DEF. MOTÓRICA
C 2 T A.2.1 Tercera
21/01/2011 2 ASP. EVOL. Y EDU. DEF. MOTÓRICA
C 2 T A.2.15 Tercera
21/01/2011 2 ASP. EVOL. Y EDU. DEF. MOTÓRICA
C 3 M A.2.9 Segunda
21/01/2011 2 ASP. EVOL. Y EDU. DEF. MOTÓRICA
C 3 M A.2.12 Segunda
21/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR
C 1 M A.2.1 Primera
21/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR
C 1 M A.3.13 Primera
139
21/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR
C 2 T A.2.16 Tercera
21/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR
C 2 T A.2.22 Tercera
21/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR
C 3 M A.2.2 Segunda
21/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR
C 3 M A.2.11 Segunda
La siguiente titulación es Maestro de Educación Física y su
calendario de exámenes se muestra en la tabla 4:
Tabla 4
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
10/01/2011 3 APRENDIZAJE Y DESARROLLO MOTOR C 1 M A.2.17 Primera
10/01/2011 3 APRENDIZAJE Y DESARROLLO MOTOR C 1 M A.3.1 Primera
10/01/2011 3 APRENDIZAJE Y DESARROLLO MOTOR C 2 M A.2.14 Segunda
10/01/2011 3 APRENDIZAJE Y DESARROLLO MOTOR C 2 M A.3.1 Segunda
11/01/2011 1 CONOCIMIENTO DEL MN, SOCIAL Y E C 1 V A.1.7 Primera
11/01/2011 2 TEORÍA Y PRACT DEL ACONDICION. FÍSICO C 1 M A.2.11 Segunda
11/01/2011 2 TEORÍA Y PRACT DEL ACONDICION. FÍSICO C 1 M A.2.12 Segunda
11/01/2011 2 TEORÍA Y PRACT DEL ACONDICION. FÍSICO C 2 M A.2.3 Primera
11/01/2011 2 TEORÍA Y PRACT DEL ACONDICION. FÍSICO C 2 M A.2.9 Primera
11/01/2011 2 TEORÍA Y PRACT DEL ACONDICION. FÍSICO C 2 M A.2.13 Primera
11/01/2011 3 TEORÍA E HISTORIA DEL DEPORTE O 1 M A.2.3 Segunda
11/01/2011 3 TEORÍA E HISTORIA DEL DEPORTE O 1 M A.3.3 Segunda
11/01/2011 3 TEORÍA E HISTORIA DEL DEPORTE O 1 M A.3.21 Segunda
12/01/2011 3 EXPRESIÓN CORPORAL I C 1 M A.3.14 Primera
12/01/2011 3 EXPRESIÓN CORPORAL I C 2 T A.2.22 Cuarta
13/01/2011 2 FUNDAMENTOS DEP. COLECT. BALONCESTO Y VOLEY
O 1 M A.2.13 Primera
13/01/2011 2 FUNDAMENTOS DEP. COLECT. BALONCESTO Y VOLEY
O 1 M A.3.14 Primera
13/01/2011 2 FUNDAMENTOS DEP. COLECT. BALONCESTO Y VOLEY
O 2 M A.2.2 Primera
13/01/2011 2 FUNDAMENTOS DEP. COLECT. BALONCESTO Y VOLEY
O 2 M A.2.3 Primera
14/01/2011 3 EDUCACIÓN DE PERSONAS ADULTAS O 1 M A.2.1 Primera
15/01/2011 2 BIOLOGÍA CELULAR DEL MOVIMIENTO O 1 M A.1.1 Primera
15/01/2011 2 BIOLOGÍA CELULAR DEL MOVIMIENTO O 2 M A.2.4 Primera
17/01/2011 3 EF DE NIÑOS CON NEC. EDU. ESPECIALES O 1 M A.2.2 Primera
19/01/2011 3 DEP. Y ACT. FÍSICO-RECREATIVAS EN LA NATU.
O 1 M A.2.9 Segunda
19/01/2011 3 DEP. Y ACT. FÍSICO-RECREATIVAS EN LA O 1 M A.2.22 Segunda
140
NATU.
19/01/2011 3 DEP. Y ACT. FÍSICO-RECREATIVAS EN LA NATU.
O 2 M A.2.2 Primera
19/01/2011 3 DEP. Y ACT. FÍSICO-RECREATIVAS EN LA NATU.
O 2 M A.3.13 Primera
20/01/2011 1 DIDÁCTICA GENERAL C 1 V A.1.7 Primera
20/01/2011 2 DIDÁCTICA DE LA EDUCACIÓN FÍSICA C 1 M A.2.2 Primera
20/01/2011 2 DIDÁCTICA DE LA EDUCACIÓN FÍSICA C 1 M A.2.3 Primera
20/01/2011 2 DIDÁCTICA DE LA EDUCACIÓN FÍSICA C 2 M A.2.12 Segunda
20/01/2011 2 DIDÁCTICA DE LA EDUCACIÓN FÍSICA C 2 M A.3.22 Segunda
20/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN O 1 M A.3.1 Primera
21/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 1 M A.3.12 Primera
21/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 2 M A.2.16 Primera
21/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 2 M A.3.14 Primera
22/01/2011 1 TEORÍA E INST. COMTEM. EDUCACIÓN C 1 V A.1.1 Primera
22/01/2011 2 BASES BIOLÓGICAS Y FISIOLÓGICAS DEL MOV
C 1 M A.2.3 Primera
22/01/2011 2 BASES BIOLÓGICAS Y FISIOLÓGICAS DEL MOV
C 1 M A.3.1 Primera
22/01/2011 2 BASES BIOLÓGICAS Y FISIOLÓGICAS DEL MOV
C 2 M A.2.2 Primera
22/01/2011 2 BASES BIOLÓGICAS Y FISIOLÓGICAS DEL MOV
C 2 M A.3.12 Primera
La siguiente titulación es Maestro Educación infantil, su solución se
presenta en la tabla 5:
Tabla 5
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
10/01/2011 2 EDUCACIÓN FÍSICA Y SU DIDÁCTICA C 1 M A.2.8 Segunda
10/01/2011 2 EDUCACIÓN FÍSICA Y SU DIDÁCTICA C 1 M A.2.22 Segunda
10/01/2011 2 EDUCACIÓN FÍSICA Y SU DIDÁCTICA C 2 T A.2.22 Tercera
10/01/2011 2 EDUCACIÓN FÍSICA Y SU DIDÁCTICA C 2 T A.3.4 Tercera
10/01/2011 2 EDUCACIÓN FÍSICA Y SU DIDÁCTICA C 3 T A.2.12 Tercera
10/01/2011 2 EDUCACIÓN FÍSICA Y SU DIDÁCTICA C 3 T A.3.2 Tercera
10/01/2011 3 GEOGRAFÍA Y MEDIO AMBIENTE O 1 M A.2.2 Segunda
12/01/2011 2 INTRODUCCIÓN A LA FILOSOFÍA C 1 M A.2.11 Segunda
12/01/2011 2 INTRODUCCIÓN A LA FILOSOFÍA C 1 M A.2.13 Segunda
12/01/2011 2 INTRODUCCIÓN A LA FILOSOFÍA C 2 T A.2.8 Cuarta
12/01/2011 2 INTRODUCCIÓN A LA FILOSOFÍA C 2 T A.3.22 Cuarta
12/01/2011 2 INTRODUCCIÓN A LA FILOSOFÍA C 3 T A.2.22 Tercera
12/01/2011 2 INTRODUCCIÓN A LA FILOSOFÍA C 3 T A.3.4 Tercera
13/01/2011 3 CONF. LITERARIA DE ANDALUCÍA O 1 M A.3.22 Segunda
14/01/2011 3 TALLER DE CIENCIA RECREATIVA O 1 M A.2.11 Segunda
141
14/01/2011 3 TALLER DE CIENCIA RECREATIVA O 2 T A.2.1 Cuarta
15/01/2011 3 LENGUAJE INF. PARA LA INTOD. DE NOC. MAT.
O 1 M A.2.1 Primera
15/01/2011 3 LENGUAJE INF. PARA LA INTOD. DE NOC. MAT.
O 2 T A.2.2 Primera
18/01/2011 1 CONOCIMIENTO DEL MN, SOCIAL Y CULTURA
C 1 V A.2.5 Primera
18/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 1 M A.2.2 Primera
18/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 1 M A.2.3 Primera
18/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 2 T A.1.1 Tercera
18/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 2 T A.2.9 Tercera
18/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 3 T A.2.1 Tercera
18/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 3 T A.2.15 Tercera
19/01/2011 3 INTR. A LAS CIENCIAS DE LA TIERRA O 1 M A.2.14 Primera
20/01/2011 1 TEORÍA E INST. COMTEMPO. DE EDUCACIÓN
C 1 V A.2.7 Primera
20/01/2011 3 DESARROLLO DE LA EXP. MUSICAL Y SU DIDAC
C 1 M A.2.9 Segunda
20/01/2011 3 DESARROLLO DE LA EXP. MUSICAL Y SU DIDAC
C 1 M A.3.21 Segunda
20/01/2011 3 DESARROLLO DE LA EXP. MUSICAL Y SU DIDAC
C 2 T A.3.4 Tercera
20/01/2011 3 DESARROLLO DE LA EXP. MUSICAL Y SU DIDAC
C 2 T A.3.14 Tercera
20/01/2011 3 DESARROLLO DE LA EXP. MUSICAL Y SU DIDAC
C 3 T A.3.15 Tercera
20/01/2011 3 DESARROLLO DE LA EXP. MUSICAL Y SU DIDAC
C 3 T A.3.22 Tercera
21/01/2011 2 LENGUAJE MUSICAL C 1 M A.2.9 Primera
21/01/2011 2 LENGUAJE MUSICAL C 1 M A.2.11 Primera
21/01/2011 2 LENGUAJE MUSICAL C 2 T A.2.3 Tercera
21/01/2011 2 LENGUAJE MUSICAL C 2 T A.2.9 Tercera
21/01/2011 2 LENGUAJE MUSICAL C 3 T A.2.11 Tercera
21/01/2011 2 LENGUAJE MUSICAL C 3 T A.2.12 Tercera
22/01/2011 1 LITERATURA INFANTIL C 1 V A.2.4 Primera
22/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN O 1 M A.2.6 Primera
22/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN O 1 M A.3.22 Primera
22/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN O 2 T A.2.1 Primera
22/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN O 2 T A.2.7 Primera
142
La siguiente titulación es Maestro Educación Musical y su solución
se presenta en la tabla 6:
Tabla 6
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
14/01/2011 1 DIDÁCTICA GENERAL C 1 V A.2.7 Primera
14/01/2011 2 FORMACIÓN VOCAL Y AUDITIVA C 1 M A.2.16 Primera
14/01/2011 2 FORMACIÓN VOCAL Y AUDITIVA C 1 M A.3.1 Primera
14/01/2011 2 FORMACIÓN VOCAL Y AUDITIVA C 2 T A.2.1 Tercera
14/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 1 M A.2.11 Primera
14/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 2 T A.2.11 Tercera
17/01/2011 1 TEOR. E INST. COMPTEM. DE EDUCACIÓN C 1 V A.2.5 Primera
17/01/2011 2 HISTORIA DE LA MÚSICA Y EL FOLKLORE C 1 M A.2.9 Primera
17/01/2011 2 HISTORIA DE LA MÚSICA Y EL FOLKLORE C 1 M A.2.12 Primera
17/01/2011 2 HISTORIA DE LA MÚSICA Y EL FOLKLORE C 2 T A.2.2 Tercera
17/01/2011 2 HISTORIA DE LA MÚSICA Y EL FOLKLORE C 2 T A.2.9 Tercera
17/01/2011 3 FORMACIÓN RÍTMICA Y DANZA C 1 M A.2.22 Segunda
17/01/2011 3 FORMACIÓN RÍTMICA Y DANZA C 2 T A.2.3 Tercera
19/01/2011 1 CONOC. DEL MEDIO NATU, SOCIAL Y CULTURAL
C 1 V A.3.17 Primera
19/01/2011 2 MÚSICA Y DRAMATIZACIÓN O 1 T A.2.1 Tercera
19/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN O 1 M A.1.7 Primera
La siguiente titulación es Maestro Educación Primaria y su solución
se presenta en la tabla 7:
Tabla 7
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
10/01/2011 1 FUNDAMENTOS DE QUÍMICA GENERAL Y ORGÁNICA
C 1 V A.2.9 Segunda
10/01/2011 3 DIDÁCTICA DE LA FÍSICA Y LA QUÍMICA O 1 M A.2.5 Primera
11/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN O 1 T A.2.1 Tercera
12/01/2011 3 ENSEÑANZA Y RESOLUCIÓN DE PROBL. DE PRIMARIA
O 1 T A.3.14 Tercera
13/01/2011 3 LINGÜÍSTICA INFANTIL Y HABLAS ANDALUZAS
O 1 M A.3.1 Primera
14/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 1 M A.3.13 Primera
14/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 1 M A.3.14 Primera
14/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 2 T A.2.9 Tercera
14/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 2 T A.2.12 Tercera
15/01/2011 3 BASES PSICOSOCIALES DE LA EDUCACIÓN O 1 T A.2.3 Primera
17/01/2011 3 DIDÁCTICA DEL ARTE Y DE LA CULTURA ANDALUZA
O 1 M A.3.1 Segunda
17/01/2011 3 DIDÁCTICA DEL ARTE Y DE LA CULTURA ANDALUZA
O 2 T A.2.12 Tercera
143
19/01/2011 1 TEORÍA E INST. COMTEM. EDUCACIÓN C 1 V A.2.7 Primera
19/01/2011 3 CONFIGURACIONES LITERARIAS DE ANDALUCÍA
O 1 M A.2.9 Primera
19/01/2011 3 CONFIGURACIONES LITERARIAS DE ANDALUCÍA
O 1 M A.3.16 Primera
20/01/2011 2 CIENCIAS DE LA NATURALEZA Y SU DIDÁCTICA
C 1 M A.3.14 Primera
20/01/2011 2 CIENCIAS DE LA NATURALEZA Y SU DIDÁCTICA
C 1 M A.3.17 Primera
20/01/2011 2 CIENCIAS DE LA NATURALEZA Y SU DIDÁCTICA
C 2 T A.2.15 Tercera
20/01/2011 2 CIENCIAS DE LA NATURALEZA Y SU DIDÁCTICA
C 2 T A.2.22 Tercera
20/01/2011 3 EDUCACIÓN PARA LA DIVERSIDAD Y LA IGUALDAD
O 1 T A.3.3 Tercera
21/01/2011 1 MATEMÁTICAS GENERALES PARA MAESTROS
C 1 V A.2.4 Primera
21/01/2011 3 EDUCACIÓN AMBIENTAL O 1 M A.3.1 Primera
21/01/2011 3 EDUCACIÓN AMBIENTAL O 2 T A.1.1 Tercera
22/01/2011 2 GEOGRAFÍA HUMANA GENERAL C 1 M A.2.16 Primera
22/01/2011 2 GEOGRAFÍA HUMANA GENERAL C 1 M A.2.22 Primera
22/01/2011 2 GEOGRAFÍA HUMANA GENERAL C 2 T A.2.13 Primera
22/01/2011 2 GEOGRAFÍA HUMANA GENERAL C 2 T A.3.4 Primera
22/01/2011 2 GEOGRAFÍA HUMANA GENERAL C 3 M A.2.14 Primera
La siguiente titulación es Maestro Especialidad Lengua Extranjera y
su calendario de exámenes se presenta en la tabla 8:
Tabla 8
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
10/01/2011 3 LENGUA EXTRANJERA. NIVEL SUPERIOR C 1 M A.2.11 Segunda
10/01/2011 3 LENGUA EXTRANJERA. NIVEL SUPERIOR C 1 M A.3.13 Segunda
11/01/2011 2 INTRODUCCIÓN A LA LITERATURA INGLESA O 1 T A.2.9 Tercera
12/01/2011 3 HIST. Y ANAL. DE MÉTODOS DE ENSEÑANZA/APREN
O 1 M A.2.2 Primera
13/01/2011 2 EDUCACIÓN MULTICULTURAL O 1 T A.2.1 Tercera
14/01/2011 3 CREAT. NARRATIVA Y PRODUCC. DE TEXTO EN LENGUA
O 1 M A.3.17 Primera
17/01/2011 3 PEDAGOGÍA. DIDÁCTICA DE LA RELIGIÓN O 1 M A.3.13 Primera
18/01/2011 1 DIDÁCTICA GENERAL C 1 V A.2.4 Primera
18/01/2011 2 CONOC. DEL MEDIO NATU, SOCIAL Y CULTURAL
C 1 T A.2.2 Tercera
18/01/2011 2 CONOC. DEL MEDIO NATU, SOCIAL Y CULTURAL
C 1 T A.2.12 Tercera
19/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 1 M A.2.11 Segunda
19/01/2011 3 ORGANIZACIÓN DEL CENTRO ESCOLAR C 1 M A.2.13 Segunda
20/01/2011 1 TEORÍA E INST. COMTEM. EDUCACIÓN C 1 V A.1.7 Segunda
144
20/01/2011 2 HISTORIA: CONCEPTOS MÉTODOS Y FUENTES C 1 T A.2.1 Tercera
20/01/2011 2 HISTORIA: CONCEPTOS MÉTODOS Y FUENTES C 1 T A.2.2 Tercera
21/01/2011 3 DIDÁCTICA DE LA ARITMÉTICA Y LA GEOMETRÍA
C 1 M A.2.13 Segunda
21/01/2011 3 DIDÁCTICA DE LA ARITMÉTICA Y LA GEOMETRÍA
C 1 M A.3.1 Segunda
22/01/2011 1 MATEMÁTICAS Y SU DIDÁCTICA C 1 V A.2.15 Primera
22/01/2011 2 LA INVES. DIDAC. EN EL AULA DE LENGUA EXTRANJERA
O 1 T A.2.9 Primera
La siguiente titulación es Licenciado en Ciencias de la Actividad
Física y el Deporte y su calendario se presenta en la tabla 9:
Tabla 9
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
15/01/2011 5 EXPRESIÓN CORPORAL: METODOLOGÍA Y TÉCNICAS ESP
C 1 M A.2.7 Primera
15/01/2011 5 EXPRESIÓN CORPORAL: METODOLOGÍA Y TÉCNICAS ESP
C 1 M A.2.12 Primera
15/01/2011 5 EXPRESIÓN CORPORAL: METODOLOGÍA Y TÉCNICAS ESP
C 2 T A.1.7 Primera
15/01/2011 5 EXPRESIÓN CORPORAL: METODOLOGÍA Y TÉCNICAS ESP
C 2 T A.2.13 Primera
18/01/2011 5 JUEGOS EN EDUCACIÓN FÍSICA C 1 M A.1.7 Primera
18/01/2011 5 JUEGOS EN EDUCACIÓN FÍSICA C 1 M A.3.14 Primera
18/01/2011 5 JUEGOS EN EDUCACIÓN FÍSICA C 2 T A.2.22 Tercera
18/01/2011 5 JUEGOS EN EDUCACIÓN FÍSICA C 2 T A.3.3 Tercera
19/01/2011 5 MET. DE INVEST. APLICADA A CC DE LA ACT FÍSICA Y EL DEP
O 1 M A.2.3 Segunda
19/01/2011 5 MET. DE INVEST. APLICADA A CC DE LA ACT FÍSICA Y EL DEP
O 2 T A.2.8 Tercera
20/01/2011 5 ENSEÑANZA DE LOS FUND. ESP. DEL BALONCESTO
O 1 M A.2.2 Segunda
20/01/2011 5 ENSEÑANZA DE LOS FUND. ESP. DEL BALONCESTO
O 2 M A.2.4 Segunda
22/01/2011 4 ESTADÍSTICA O 1 M A.2.17 Primera
22/01/2011 5 ENSEÑANZA DE LOS FUND. ESP. DEL BALONMANO
O 1 M A.3.3 Primera
24/01/2011 4 EDUCACIÓN FÍSICA Y SALUD C 1 M A.2.9 Primera
24/01/2011 4 EDUCACIÓN FÍSICA Y SALUD C 1 M A.2.11 Primera
24/01/2011 4 EDUCACIÓN FÍSICA Y SALUD C 2 T A.1.1 Tercera
24/01/2011 4 EDUCACIÓN FÍSICA Y SALUD C 2 T A.2.5 Tercera
24/01/2011 6 BIOMECÁNICA DE LA ACTIVIDAD FÍSICA (CF) O 1 M A.2.1 Primera
24/01/2011 6 BIOMECÁNICA DE LA ACTIVIDAD FÍSICA (CF) O 1 M A.2.2 Primera
24/01/2011 6 BIOMECÁNICA DE LA ACTIVIDAD FÍSICA (CF) O 2 T A.2.2 Tercera
24/01/2011 6 BIOMECÁNICA DE LA ACTIVIDAD FÍSICA (CF) O 2 T A.2.3 Tercera
25/01/2011 5 ESTRUCTURA Y ORGANIZACIÓN DE INST. C 1 M A.2.3 Primera
145
DEPORTIVAS
25/01/2011 5 ESTRUCTURA Y ORGANIZACIÓN DE INST. DEPORTIVAS
C 1 M A.2.4 Primera
25/01/2011 5 ESTRUCTURA Y ORGANIZACIÓN DE INST. DEPORTIVAS
C 2 T A.2.2 Tercera
25/01/2011 5 ESTRUCTURA Y ORGANIZACIÓN DE INST. DEPORTIVAS
C 2 T A.2.4 Tercera
26/01/2011 4 ENSEÑANZA DE LA EDUCACIÓN FÍSICA Y EL DEPORTE
C 1 M A.2.5 Primera
26/01/2011 4 ENSEÑANZA DE LA EDUCACIÓN FÍSICA Y EL DEPORTE
C 1 M A.2.12 Primera
26/01/2011 4 ENSEÑANZA DE LA EDUCACIÓN FÍSICA Y EL DEPORTE
C 2 T A.2.3 Tercera
26/01/2011 4 ENSEÑANZA DE LA EDUCACIÓN FÍSICA Y EL DEPORTE
C 2 T A.2.6 Tercera
27/01/2011 5 PLANIFICACIÓN Y DISEÑO DE ACT. FÍSICAS Y DEPORTIVAS
C 1 M A.2.3 Primera
27/01/2011 5 PLANIFICACIÓN Y DISEÑO DE ACT. FÍSICAS Y DEPORTIVAS
C 1 M A.2.4 Primera
27/01/2011 5 PLANIFICACIÓN Y DISEÑO DE ACT. FÍSICAS Y DEPORTIVAS
C 2 T A.2.3 Tercera
27/01/2011 5 PLANIFICACIÓN Y DISEÑO DE ACT. FÍSICAS Y DEPORTIVAS
C 2 T A.2.6 Tercera
28/01/2011 4 FISIOLOGÍA DEL EJERCICIO C 1 M A.2.1 Primera
28/01/2011 4 FISIOLOGÍA DEL EJERCICIO C 1 M A.2.4 Primera
28/01/2011 4 FISIOLOGÍA DEL EJERCICIO C 2 T A.2.1 Tercera
28/01/2011 4 FISIOLOGÍA DEL EJERCICIO C 2 T A.2.5 Tercera
29/01/2011 4 ENSE. DE FUND. ESPECIF. DEL VOLEIBOL O 1 M A.2.14 Primera
29/01/2011 4 ENSE. DE FUND. ESPECIF. DEL VOLEIBOL O 2 T A.2.2 Primera
29/01/2011 5 EL DEPARTAMENTO DE EDUCACIÓN FÍSICA C 1 M A.2.1 Primera
29/01/2011 5 EL DEPARTAMENTO DE EDUCACIÓN FÍSICA C 1 M A.2.7 Primera
29/01/2011 5 EL DEPARTAMENTO DE EDUCACIÓN FÍSICA C 2 T A.2.3 Primera
29/01/2011 5 EL DEPARTAMENTO DE EDUCACIÓN FÍSICA C 2 T A.2.16 Primera
02/02/2011 4 DEPORTE ESCOLAR C 1 M A.1.1 Primera
02/02/2011 4 DEPORTE ESCOLAR C 1 M A.2.4 Primera
02/02/2011 4 DEPORTE ESCOLAR C 2 T A.2.6 Tercera
02/02/2011 4 DEPORTE ESCOLAR C 2 T A.2.13 Tercera
04/02/2011 4 ENSE. DE FUND. ESPECIF. DE LA GIMNASIA ARTÍSTICA
O 1 M A.2.6 Primera
146
La siguiente titulación es Licenciado en Pedagogía y su calendario de
exámenes se presenta en la tabla 10:
Tabla 10
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
18/01/2011 5 DISEÑO DE MAT. CURR. EN EDUCACIÓN FÍSICA, MUSICAL
O 1 M A.2.11 Segunda
18/01/2011 5 DISEÑO DE MAT. CURR. EN EDUCACIÓN FÍSICA, MUSICAL
O 2 T A.3.4 Tercera
18/01/2011 5 DISEÑO DE MAT. CURR. EN EDUCACIÓN FÍSICA, MUSICAL
O 2 T A.3.14 Tercera
19/01/2011 5 ORIENTACIÓN UNIVERSITARIA O 1 M A.2.12 Segunda
19/01/2011 5 ORIENTACIÓN UNIVERSITARIA O 2 T A.3.3 Cuarta
20/01/2011 5 DISEÑO DE MAT. CURR. EN LENGUA Y LITERATURA
O 1 M A.2.13 Primera
20/01/2011 5 DISEÑO DE MAT. CURR. EN LENGUA Y LITERATURA
O 2 T A.2.12 Tercera
22/01/2011 1 HISTORIA DE LA EDUCACIÓN EN ANDALUCÍA O 1 V A.2.5 Primera
22/01/2011 3 PSICOLOGÍA DE LOS GRUPOS Y LAS ORGANIZACIONES
O 1 M A.2.11 Primera
22/01/2011 3 PSICOLOGÍA DE LOS GRUPOS Y LAS ORGANIZACIONES
O 1 M A.2.12 Primera
22/01/2011 5 EVALUACIÓN DE PROGRAMAS DE FORMACIÓN PERMAN
O 1 M A.3.2 Primera
24/01/2011 4 ECONOMÍA DE LA EDUCACIÓN C 1 M A.2.3 Primera
24/01/2011 4 ECONOMÍA DE LA EDUCACIÓN C 1 M A.2.4 Primera
24/01/2011 4 ECONOMÍA DE LA EDUCACIÓN C 2 M A.2.7 Primera
24/01/2011 4 ECONOMÍA DE LA EDUCACIÓN C 2 M A.2.12 Primera
24/01/2011 4 ECONOMÍA DE LA EDUCACIÓN C 3 T A.2.1 Tercera
24/01/2011 4 ECONOMÍA DE LA EDUCACIÓN C 3 T A.2.7 Tercera
24/01/2011 4 ECONOMÍA DE LA EDUCACIÓN C 4 T A.2.11 Tercera
25/01/2011 5 PROSPECTIVA Y PLANIFICACIÓN EDUCATIVA C 1 M A.2.1 Primera
25/01/2011 5 PROSPECTIVA Y PLANIFICACIÓN EDUCATIVA C 2 M A.2.12 Primera
25/01/2011 5 PROSPECTIVA Y PLANIFICACIÓN EDUCATIVA C 3 T A.2.1 Tercera
25/01/2011 5 PROSPECTIVA Y PLANIFICACIÓN EDUCATIVA C 4 T A.2.3 Tercera
26/01/2011 4 DIRECCIÓN DE CENTROS EDUCATIVOS C 1 M A.2.1 Primera
26/01/2011 4 DIRECCIÓN DE CENTROS EDUCATIVOS C 1 M A.2.2 Primera
26/01/2011 4 DIRECCIÓN DE CENTROS EDUCATIVOS C 2 M A.1.1 Primera
26/01/2011 4 DIRECCIÓN DE CENTROS EDUCATIVOS C 2 M A.2.4 Primera
26/01/2011 4 DIRECCIÓN DE CENTROS EDUCATIVOS C 3 T A.1.1 Tercera
26/01/2011 4 DIRECCIÓN DE CENTROS EDUCATIVOS C 3 T A.2.1 Tercera
26/01/2011 4 DIRECCIÓN DE CENTROS EDUCATIVOS C 4 T A.2.2 Tercera
26/01/2011 4 DIRECCIÓN DE CENTROS EDUCATIVOS C 4 T A.2.22 Tercera
27/01/2011 5 CURRICULUM Y EDUCACIÓN MATEMÁTICA O 1 M A.2.5 Primera
27/01/2011 5 CURRICULUM Y EDUCACIÓN MATEMÁTICA O 2 T A.2.4 Tercera
27/01/2011 6 PROCESOS PSICOLÓGICOS BÁSICOS (CF) O 1 M A.2.2 Primera
27/01/2011 6 PROCESOS PSICOLÓGICOS BÁSICOS (CF) O 2 T A.2.1 Tercera
147
28/01/2011 4 PEDAGOGÍA LABORAL O 1 M A.1.1 Primera
28/01/2011 4 PEDAGOGÍA LABORAL O 2 T A.2.3 Tercera
28/01/2011 4 PEDAGOGÍA LABORAL O 2 T A.2.6 Tercera
28/01/2011 4 PEDAGOGÍA LABORAL O 3 T A.1.1 Tercera
29/01/2011 5 DISEÑO DE MAT. CURR. EN CIENCIAS EXPERIMENTALES
O 1 M A.2.5 Primera
29/01/2011 5 DISEÑO DE MAT. CURR. EN CIENCIAS EXPERIMENTALES
O 2 T A.2.9 Primera
01/02/2011 1 SOCIOLOGÍA DE LA EDUCACIÓN C 1 V A.2.8 Primera
01/02/2011 2 PEDAGOGÍA AMBIENTAL C 1 V A.2.5 Primera
01/02/2011 3 TECNOLOGÍA EDUCATIVA C 1 M A.2.1 Primera
01/02/2011 3 TECNOLOGÍA EDUCATIVA C 1 M A.2.6 Primera
01/02/2011 3 TECNOLOGÍA EDUCATIVA C 2 M A.2.3 Primera
01/02/2011 3 TECNOLOGÍA EDUCATIVA C 2 M A.2.4 Primera
01/02/2011 3 TECNOLOGÍA EDUCATIVA C 3 T A.2.4 Tercera
01/02/2011 3 TECNOLOGÍA EDUCATIVA C 3 T A.2.12 Tercera
03/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 1 V A.2.1 Primera
03/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 1 V A.3.22 Primera
03/02/2011 2 LA INFORMÁTICA APLICADA A LA INVESTIGACIÓN EDUCA
O 1 V A.2.9 Primera
03/02/2011 3 ALFABETIZACIÓN Y EDUCACIÓN CONTINUA C 1 M A.1.7 Primera
03/02/2011 3 ALFABETIZACIÓN Y EDUCACIÓN CONTINUA C 1 M A.2.3 Primera
03/02/2011 3 ALFABETIZACIÓN Y EDUCACIÓN CONTINUA C 2 M A.2.2 Primera
03/02/2011 3 ALFABETIZACIÓN Y EDUCACIÓN CONTINUA C 2 M A.2.5 Primera
03/02/2011 3 ALFABETIZACIÓN Y EDUCACIÓN CONTINUA C 3 T A.1.1 Tercera
04/02/2011 4 DISEÑO, DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 1 M A.2.1 Primera
04/02/2011 4 DISEÑO, DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 1 M A.2.8 Primera
04/02/2011 4 DISEÑO, DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 2 M A.2.3 Primera
04/02/2011 4 DISEÑO, DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 2 M A.2.5 Primera
04/02/2011 4 DISEÑO, DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 3 T A.2.2 Tercera
04/02/2011 4 DISEÑO, DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 3 T A.2.4 Tercera
04/02/2011 4 DISEÑO, DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 4 T A.2.3 Tercera
04/02/2011 4 DISEÑO, DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 4 T A.2.5 Tercera
05/02/2011 1 FILOSOFÍA DE LA EDUCACIÓN C 1 V A.2.8 Primera
05/02/2011 2 PEDAGOGÍA INTERCULTURAL O 1 V A.2.5 Primera
05/02/2011 3 ORGANIZACIÓN Y DIVERSIDAD O 1 M A.2.1 Primera
05/02/2011 3 ORGANIZACIÓN Y DIVERSIDAD O 1 M A.2.6 Primera
148
La siguiente titulación es Licenciado en Psicopedagogía y su
calendario de exámenes se presenta en la tabla 11:
Tabla 11
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
15/01/2011 2 EVALUACIÓN DE PROGRAMAS DE INTER. PSICOPEDAGO.
O 1 T A.2.8 Primera
17/01/2011 6 TEORÍA E INST. COMTEM. EDUCACIÓN O 1 T A.2.15 Tercera
18/01/2011 2 INNOVACIÓN EDUCATIVA O 1 M A.2.3 Segunda
19/01/2011 6 PSICOLOGÍA DE LA EDUCACIÓN O 1 M A.2.5 Segunda
20/01/2011 2 FORMACIÓN DEL PROFESORADO O 1 M A.2.8 Segunda
21/01/2011 6 ORGANIZACIÓN DEL CENTRO ESCOLAR O 1 M A.2.7 Segunda
22/01/2011 2 PSICOLOGÍA DE LA ADOLESCENCIA O 1 T A.2.8 Primera
22/01/2011 2 PSICOLOGÍA DE LA ADOLESCENCIA O 1 T A.3.13 Primera
24/01/2011 1 EVALUACIÓN Y DESARROLLO INSTITUCIONAL O 1 T A.2.1 Cuarta
25/01/2011 2 DISEÑO DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 1 M A.1.1 Primera
25/01/2011 2 DISEÑO DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 2 T A.1.1 Tercera
25/01/2011 2 DISEÑO DESARROLLO E INNOVACIÓN DEL CURRICULUM
C 2 T A.2.7 Tercera
26/01/2011 1 TEORÍA DE LA ACCIÓN PSICOPEDAGÓGICA O 1 M A.2.16 Primera
26/01/2011 1 TEORÍA DE LA ACCIÓN PSICOPEDAGÓGICA O 1 M A.3.21 Primera
27/01/2011 2 MODELOS DE ORIENTACIÓN E INTER PSICOPEDAGÓGICA
C 1 M A.2.12 Primera
27/01/2011 2 MODELOS DE ORIENTACIÓN E INTER PSICOPEDAGÓGICA
C 2 T A.2.2 Tercera
27/01/2011 2 MODELOS DE ORIENTACIÓN E INTER PSICOPEDAGÓGICA
C 2 T A.2.7 Tercera
28/01/2011 1 TEORÍA Y PROCESOS DE LA INNOVACIÓN EDUCATIVA
O 1 M A.2.2 Primera
28/01/2011 1 TEORÍA Y PROCESOS DE LA INNOVACIÓN EDUCATIVA
O 1 M A.2.3 Primera
28/01/2011 6 PROCESOS PSICOLÓGICOS BÁSICOS O 1 T A.2.2 Tercera
28/01/2011 6 PROCESOS PSICOLÓGICOS BÁSICOS O 1 T A.2.4 Tercera
28/01/2011 6 PROCESOS PSICOLÓGICOS BÁSICOS O 1 T A.2.22 Tercera
29/01/2011 1 CLIMA SOCIAL, CULT Y COMUNI ORGANIZACIONES EDUCA
O 1 T A.1.7 Primera
29/01/2011 1 CLIMA SOCIAL, CULT Y COMUNI ORGANIZACIONES EDUCA
O 1 T A.2.13 Primera
29/01/2011 2 PSICOLOGÍA DE LA ORIENTACIÓN ESCOLAR C 1 M A.2.6 Primera
29/01/2011 2 PSICOLOGÍA DE LA ORIENTACIÓN ESCOLAR C 1 M A.2.11 Primera
29/01/2011 2 PSICOLOGÍA DE LA ORIENTACIÓN ESCOLAR C 2 T A.2.8 Primera
29/01/2011 2 PSICOLOGÍA DE LA ORIENTACIÓN ESCOLAR C 2 T A.2.12 Primera
02/02/2011 1 DIAGNOSTICO DE LAS DIFICULTADES EN EL APRENDIZAJE
O 1 M A.1.1 Segunda
04/02/2011 1 INTERVENCIÓN PSICOPEDAGÓGICA EN LOS TRASTORNO
O 1 T A.2.1 Tercera
149
La siguiente titulación es Grado en Educación Primaria y su
calendario de exámenes se presenta en la tabla 12:
Tabla 12
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 1 M A.3.1 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 1 M A.3.4 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 2 M A.1.1 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 2 M A.2.16 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 3 M A.2.6 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 3 M A.2.13 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 4 M A.2.14 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 4 M A.2.15 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 5 M A.1.7 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 5 M A.3.13 Primera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 6 T A.2.15 Tercera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 6 T A.3.12 Tercera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 7 T A.2.6 Tercera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 7 T A.2.12 Tercera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 8 T A.2.13 Tercera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 8 T A.2.14 Tercera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 9 T A.2.4 Tercera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 9 T A.3.21 Tercera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 10 T A.2.17 Tercera
24/01/2011 1 PROCESOS SOCIOLÓGICOS BÁSICOS EN LA EDUCACIÓN
C 10 T A.2.22 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 1 M A.2.3 Primera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 1 M A.2.7 Primera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 2 M A.2.9 Primera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 2 M A.2.11 Primera
150
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 3 M A.2.8 Primera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 3 M A.2.13 Primera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 4 M A.2.14 Primera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 4 M A.2.15 Primera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 5 M A.1.7 Primera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 5 M A.3.1 Primera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 6 T A.2.8 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 6 T A.2.12 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 7 T A.2.15 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 7 T A.3.1 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 8 T A.2.7 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 8 T A.2.11 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 9 T A.2.13 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 9 T A.2.14 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 10 T A.2.4 Tercera
26/01/2011 1 FUNDAMENTOS DE CIENCIAS DE LA MATERIA C 10 T A.3.12 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 1 M A.2.2 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 1 M A.2.5 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 2 M A.2.3 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 2 M A.2.7 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 3 M A.2.8 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 3 M A.3.2 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 4 M A.2.15 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 4 M A.3.3 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 5 M A.2.12 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 5 M A.2.16 Primera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 6 T A.2.2 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 6 T A.2.3 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 7 T A.2.7 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 7 T A.2.11 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 8 T A.1.1 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 8 T A.2.5 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 9 T A.2.4 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 9 T A.2.14 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 10 T A.2.8 Tercera
02/02/2011 1 PSICOLOGÍA DEL DESARROLLO C 10 T A.2.12 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 1 M A.1.1 Primera
04/02/2011 1 DIDÁCTICA GENERAL C 1 M A.2.7 Primera
04/02/2011 1 DIDÁCTICA GENERAL C 2 M A.2.2 Primera
04/02/2011 1 DIDÁCTICA GENERAL C 2 M A.2.16 Primera
04/02/2011 1 DIDÁCTICA GENERAL C 3 M A.2.9 Primera
04/02/2011 1 DIDÁCTICA GENERAL C 3 M A.2.17 Primera
04/02/2011 1 DIDÁCTICA GENERAL C 4 M A.2.12 Primera
04/02/2011 1 DIDÁCTICA GENERAL C 4 M A.2.13 Primera
04/02/2011 1 DIDÁCTICA GENERAL C 5 M A.2.14 Primera
04/02/2011 1 DIDÁCTICA GENERAL C 5 M A.2.15 Primera
151
04/02/2011 1 DIDÁCTICA GENERAL C 6 T A.2.7 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 6 T A.2.22 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 7 T A.2.15 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 7 T A.3.1 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 8 T A.2.9 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 8 T A.2.11 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 9 T A.2.12 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 9 T A.2.16 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 10 T A.1.1 Tercera
04/02/2011 1 DIDÁCTICA GENERAL C 10 T A.2.13 Tercera
La siguiente titulación es Grado en Ciencias de la Actividad Física y
el deporte y su calendario de exámenes se presenta en la tabla 13:
Tabla 13
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
22/01/2011 1 VOLEIBOL I C 1 M A.3.14 Primera
22/01/2011 1 VOLEIBOL I C 1 M A.3.15 Primera
22/01/2011 2 FUNDAMENTOS DE LA GIMNASIA Y SU ENSEÑANZA
C 1 M A.2.5 Segunda
22/01/2011 2 FUNDAMENTOS DE LA GIMNASIA Y SU ENSEÑANZA
C 1 M A.2.13 Segunda
25/01/2011 1 ANATOMÍA HUMANA C 1 M A.2.7 Primera
25/01/2011 1 ANATOMÍA HUMANA C 1 M A.2.22 Primera
25/01/2011 2 SOCIOLOGÍA DEL DEPORTE C 1 M A.2.2 Primera
25/01/2011 2 SOCIOLOGÍA DEL DEPORTE C 1 M A.2.8 Primera
27/01/2011 1 HABILIDADES M Y SISTEMÁTICA DEL EJERCICIO
C 1 M A.2.1 Primera
27/01/2011 1 HABILIDADES M Y SISTEMÁTICA DEL EJERCICIO
C 1 M A.2.7 Primera
01/02/2011 2 BALONMANO I C 1 M A.2.2 Primera
01/02/2011 2 BALONMANO I C 1 M A.2.7 Primera
03/02/2011 1 DIDÁCTICA DE LA EDUCACIÓN FÍSICA C 1 M A.1.1 Primera
03/02/2011 1 DIDÁCTICA DE LA EDUCACIÓN FÍSICA C 1 M A.2.6 Primera
03/02/2011 2 BIOMECÁNICA DE LA ACTIVIDAD FÍSICA Y DEL DEPORTE
C 1 M A.2.8 Primera
03/02/2011 2 BIOMECÁNICA DE LA ACTIVIDAD FÍSICA Y DEL DEPORTE
C 1 M A.2.11 Primera
05/02/2011 1 BALONCESTO I C 1 M A.2.3 Primera
05/02/2011 1 BALONCESTO I C 1 M A.2.4 Primera
05/02/2011 2 FISIOLOGÍA DEL EJERCICIO C 1 M A.2.7 Primera
05/02/2011 2 FISIOLOGÍA DEL EJERCICIO C 1 M A.2.14 Primera
152
La siguiente titulación es Grado en Pedagogía y su calendario de
exámenes se presenta en la tabla 14:
Tabla 14
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
22/01/2011 1 SOCIOLOGÍA GENERAL C 1 M A.1.7 Primera
22/01/2011 1 SOCIOLOGÍA GENERAL C 1 M A.3.21 Primera
22/01/2011 1 SOCIOLOGÍA GENERAL C 2 M A.1.1 Segunda
22/01/2011 1 SOCIOLOGÍA GENERAL C 2 M A.1.7 Segunda
22/01/2011 1 SOCIOLOGÍA GENERAL C 3 T A.2.1 Segunda
22/01/2011 1 SOCIOLOGÍA GENERAL C 3 T A.2.2 Segunda
22/01/2011 1 SOCIOLOGÍA GENERAL C 4 T A.2.3 Segunda
22/01/2011 1 SOCIOLOGÍA GENERAL C 4 T A.2.4 Segunda
24/01/2011 2 ORGANIZACIÓN Y GESTIÓN EDUCATIVA C 1 M A.2.8 Primera
24/01/2011 2 ORGANIZACIÓN Y GESTIÓN EDUCATIVA C 1 M A.2.22 Primera
24/01/2011 2 ORGANIZACIÓN Y GESTIÓN EDUCATIVA C 2 M A.3.2 Primera
24/01/2011 2 ORGANIZACIÓN Y GESTIÓN EDUCATIVA C 2 M A.3.3 Primera
24/01/2011 2 ORGANIZACIÓN Y GESTIÓN EDUCATIVA C 3 T A.3.1 Tercera
25/01/2011 1 EL CONOCIMIENTO CIENTÍFICO EDUCATIVO C 1 M A.1.7 Primera
25/01/2011 1 EL CONOCIMIENTO CIENTÍFICO EDUCATIVO C 1 M A.3.21 Primera
25/01/2011 1 EL CONOCIMIENTO CIENTÍFICO EDUCATIVO C 2 M A.2.6 Primera
25/01/2011 1 EL CONOCIMIENTO CIENTÍFICO EDUCATIVO C 2 M A.2.11 Primera
25/01/2011 1 EL CONOCIMIENTO CIENTÍFICO EDUCATIVO C 3 T A.2.5 Tercera
25/01/2011 1 EL CONOCIMIENTO CIENTÍFICO EDUCATIVO C 3 T A.2.11 Tercera
25/01/2011 1 EL CONOCIMIENTO CIENTÍFICO EDUCATIVO C 4 T A.2.9 Tercera
25/01/2011 1 EL CONOCIMIENTO CIENTÍFICO EDUCATIVO C 4 T A.2.22 Tercera
26/01/2011 2 TECNOLOGÍA EDUCATIVA C 1 M A.2.17 Primera
26/01/2011 2 TECNOLOGÍA EDUCATIVA C 1 M A.2.22 Primera
26/01/2011 2 TECNOLOGÍA EDUCATIVA C 2 M A.3.2 Primera
26/01/2011 2 TECNOLOGÍA EDUCATIVA C 2 M A.3.3 Primera
26/01/2011 2 TECNOLOGÍA EDUCATIVA C 3 T A.1.1 Cuarta
27/01/2011 1 DISEÑOS DE INVESTIGACIÓN Y ANÁLISIS DE DATOS EN EDU
C 1 M A.2.8 Primera
27/01/2011 1 DISEÑOS DE INVESTIGACIÓN Y ANÁLISIS DE DATOS EN EDU
C 1 M A.2.22 Primera
27/01/2011 1 DISEÑOS DE INVESTIGACIÓN Y ANÁLISIS DE DATOS EN EDU
C 2 M A.1.7 Primera
27/01/2011 1 DISEÑOS DE INVESTIGACIÓN Y ANÁLISIS DE DATOS EN EDU
C 2 M A.3.1 Primera
27/01/2011 1 DISEÑOS DE INVESTIGACIÓN Y ANÁLISIS DE DATOS EN EDU
C 3 T A.1.1 Tercera
28/01/2011 2 HISTORIA DE LA EDUCACIÓN CONTEMPORÁNEA
C 1 M A.2.7 Primera
28/01/2011 2 HISTORIA DE LA EDUCACIÓN CONTEMPORÁNEA
C 1 M A.2.11 Primera
28/01/2011 2 HISTORIA DE LA EDUCACIÓN CONTEMPORÁNEA
C 2 M A.1.7 Primera
153
28/01/2011 2 HISTORIA DE LA EDUCACIÓN CONTEMPORÁNEA
C 2 M A.2.12 Primera
28/01/2011 2 HISTORIA DE LA EDUCACIÓN CONTEMPORÁNEA
C 3 T A.2.1 Cuarta
01/02/2011 1 BASES FILOSÓFICAS Y ANTROPOLÓGICAS DE LA EDUCAC.
C 1 M A.1.1 Primera
01/02/2011 1 BASES FILOSÓFICAS Y ANTROPOLÓGICAS DE LA EDUCAC.
C 1 M A.1.7 Primera
01/02/2011 1 BASES FILOSÓFICAS Y ANTROPOLÓGICAS DE LA EDUCAC.
C 2 M A.2.9 Primera
01/02/2011 1 BASES FILOSÓFICAS Y ANTROPOLÓGICAS DE LA EDUCAC.
C 2 M A.2.12 Primera
01/02/2011 1 BASES FILOSÓFICAS Y ANTROPOLÓGICAS DE LA EDUCAC.
C 3 T A.2.3 Tercera
01/02/2011 1 BASES FILOSÓFICAS Y ANTROPOLÓGICAS DE LA EDUCAC.
C 3 T A.2.5 Tercera
01/02/2011 1 BASES FILOSÓFICAS Y ANTROPOLÓGICAS DE LA EDUCAC.
C 4 T A.2.2 Tercera
01/02/2011 1 BASES FILOSÓFICAS Y ANTROPOLÓGICAS DE LA EDUCAC.
C 4 T A.2.6 Tercera
02/02/2011 2 TÉCNICAS E INSTRUMENTOS DE DIAGNOSTICO C 1 M A.2.13 Primera
02/02/2011 2 TÉCNICAS E INSTRUMENTOS DE DIAGNOSTICO C 1 M A.2.14 Primera
02/02/2011 2 TÉCNICAS E INSTRUMENTOS DE DIAGNOSTICO C 2 M A.1.7 Primera
02/02/2011 2 TÉCNICAS E INSTRUMENTOS DE DIAGNOSTICO C 2 M A.2.11 Primera
02/02/2011 2 TÉCNICAS E INSTRUMENTOS DE DIAGNOSTICO C 3 T A.2.1 Tercera
03/02/2011 1 EDUCACIÓN Y DIVERSIDAD C 1 M A.2.7 Primera
03/02/2011 1 EDUCACIÓN Y DIVERSIDAD C 1 M A.2.12 Primera
03/02/2011 1 EDUCACIÓN Y DIVERSIDAD C 2 M A.2.13 Primera
03/02/2011 1 EDUCACIÓN Y DIVERSIDAD C 2 M A.2.14 Primera
03/02/2011 1 EDUCACIÓN Y DIVERSIDAD C 3 T A.2.1 Tercera
03/02/2011 1 EDUCACIÓN Y DIVERSIDAD C 3 T A.2.2 Tercera
03/02/2011 1 EDUCACIÓN Y DIVERSIDAD C 4 T A.2.3 Tercera
03/02/2011 1 EDUCACIÓN Y DIVERSIDAD C 4 T A.2.4 Tercera
04/02/2011 2 METODOLOGÍA DE LA EVALUACIÓN C 1 M A.2.4 Primera
04/02/2011 2 METODOLOGÍA DE LA EVALUACIÓN C 1 M A.2.11 Primera
04/02/2011 2 METODOLOGÍA DE LA EVALUACIÓN C 2 M A.2.22 Primera
04/02/2011 2 METODOLOGÍA DE LA EVALUACIÓN C 2 M A.3.1 Primera
04/02/2011 2 METODOLOGÍA DE LA EVALUACIÓN C 3 T A.2.14 Tercera
05/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 1 M A.1.1 Primera
05/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 1 M A.1.7 Primera
05/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 2 M A.2.9 Primera
05/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 2 M A.2.11 Primera
05/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 3 T A.2.12 Primera
05/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 3 T A.2.13 Primera
05/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 4 T A.2.2 Primera
05/02/2011 1 PROCESOS PSICOLÓGICOS BÁSICOS C 4 T A.2.22 Primera
154
La última titulación es Grado en educación infantil y su calendario
de exámenes se presenta en la tabla 15:
Tabla 15
Fecha Curso Asignatura Tipo Grupo Turno Aula Hora
27/01/2011 1 PSICOLOGÍA DEL DESARROLLO C 1 M A.2.11 Primera
27/01/2011 1 PSICOLOGÍA DEL DESARROLLO C 2 M A.1.1 Primera
27/01/2011 1 PSICOLOGÍA DEL DESARROLLO C 3 T A.2.5 Tercera
27/01/2011 1 PSICOLOGÍA DEL DESARROLLO C 3 T A.2.12 Tercera
27/01/2011 1 PSICOLOGÍA DEL DESARROLLO C 4 T A.2.9 Tercera
27/01/2011 1 PSICOLOGÍA DEL DESARROLLO C 4 T A.2.11 Tercera
29/01/2011 1 DIDÁCTICA GENERAL C 1 M A.1.1 Primera
29/01/2011 1 DIDÁCTICA GENERAL C 2 M A.2.22 Primera
29/01/2011 1 DIDÁCTICA GENERAL C 3 T A.2.4 Primera
29/01/2011 1 DIDÁCTICA GENERAL C 3 T A.3.2 Primera
29/01/2011 1 DIDÁCTICA GENERAL C 4 T A.2.15 Primera
29/01/2011 1 DIDÁCTICA GENERAL C 4 T A.3.1 Primera
01/02/2011 1 CORRIENTES CONTEMPORÁNEAS DE LA EDUCACIÓN. IMP
C 1 M A.2.11 Primera
01/02/2011 1 CORRIENTES CONTEMPORÁNEAS DE LA EDUCACIÓN. IMP
C 2 M A.1.1 Segunda
01/02/2011 1 CORRIENTES CONTEMPORÁNEAS DE LA EDUCACIÓN. IMP
C 3 T A.2.8 Tercera
01/02/2011 1 CORRIENTES CONTEMPORÁNEAS DE LA EDUCACIÓN. IMP
C 3 T A.2.11 Tercera
01/02/2011 1 CORRIENTES CONTEMPORÁNEAS DE LA EDUCACIÓN. IMP
C 4 T A.2.1 Tercera
01/02/2011 1 CORRIENTES CONTEMPORÁNEAS DE LA EDUCACIÓN. IMP
C 4 T A.2.7 Tercera
Si se observa detenidamente la solución proporcionada por el
algoritmo, se pueden destacar varias características clave:
Reparto equitativo de los exámenes: si se observa con detenimiento
la solución obtenida para las distintas titulaciones, se puede
comprobar que los exámenes de cada titulación se encuentran
repartidos de una forma bastante equitativa a lo largo del periodo de
exámenes. De esta forma, se contribuye a que los alumnos puedan
repartirse mejor su tiempo facilitando así la consecución de sus
objetivos académicos.
Minimización de exámenes consecutivos: gracias a la solución
inicial proporcionada, el número de exámenes de un mismo curso en
días consecutivos se ha llevado al mínimo posible. Si se observa con
155
cuidado, se puede observar como la gran mayoría de los exámenes
guardan al menos un día de descanso entre ellos.
7.2 EVOLUCIÓN DE LA MEJOR SOLUCIÓN Y DEL ALGORITMO EN
FUNCIÓN DE LAS ITERACIONES
En la siguiente figura se muestra la evolución de la mejor solución
encontrada por el algoritmo de búsqueda tabú (en verde) junto con la
evolución de los pasos del algoritmo (en azul), también conocida
comúnmente como curva de aprendizaje.
Para un problema de 320 grupos de examen la gráfica se muestra en la
figura 16:
Figura 16
Como se puede observar, la evolución del algoritmo de búsqueda
tabú es muy similar al de la mejor solución durante prácticamente toda la
ejecución. La razón de este buen comportamiento del algoritmo es la
156
correcta elección del grupo a mover, es decir, del punto sobre el que se
genera el vecindario.
Como se recordará, el algoritmo tabú escogía siempre para mover
aquellos grupos que incumplían alguna restricción. De esta forma, la
probabilidad de encontrar una solución mejor es bastante alta. Esto hace
que en la mayoría de las ocasiones la búsqueda tabú avance correctamente
encontrando siempre mejores soluciones.
Sin embargo, existen tres o cuatro puntos en los que se puede
comprobar como la búsqueda tabú se aleja de la solución. Existen dos
situaciones que han originado esto.
La primera situación que explica esto es el hecho de que la búsqueda
tabú es incapaz de encontrar una mejor solución en el día en que se
encuentra asignado el examen. Esto ocasiona que, conforme avanzan las
iteraciones y se va marcando como tabú los mejores movimientos, el
algoritmo se vea forzado a seleccionar otros movimientos peores. Esto
explica los dos primeros casos que se encuentran antes de la iteración 150.
Para salir de esta situación, es necesario recurrir a la memoria de la
búsqueda tabú que detecta este estancamiento y hace continuar la
búsqueda.
La segunda circunstancia que se da es la entrada en juego de los
mecanismos para cambiar de hora y de día. Como se indicó en los
apartados anteriores, cuando la solución se queda estancada el algoritmo
procede a recordar que dichos grupos no han sido capaces se asignarse
correctamente.
Una vez llegado al último grupo, el algoritmo procede a mover todos
aquellos grupos que han generado estancamiento. Para ello es necesario o
bien moverlos de hora o bien de día. Ambos movimientos ocasionan un
aumento inicial de la evolución de los movimientos aunque, cuando se
mueve toda la asignatura, se consigue mejorar la solución obtenida. Este es
el origen de los picos azules en las últimas iteraciones (a partir de la 330
más o menos).
157
7.3 EVOLUCIÓN DE LAS RESTRICCIONES SUAVES EN FUNCIÓN DE
LAS ITERACIONES
En el apartado anterior se ha comprobado la evolución de la
evaluación global de la solución. En esta evaluación global se encuentra
tanto reflejada tanto las restricciones duras como las suaves.
Sin embargo, debido al mayor peso relativo de las restricciones duras
con respecto a las suaves, que es mayor en varios ordenes de magnitud, no
se puede apreciar bien su evolución. Por este motivo se incluirá una gráfica
con la evolución de las restricciones suaves.
La figura 17 refleja dicha evolución para un problema de 320
alumnos:
Figura 17
Como se puede observar, la evaluación de estas restricciones no es
siempre descendente. Esto es debido a que se otorga mayor prioridad a
cumplir cualquier restricción dura antes que a una suave.
158
Sin embargo, a pesar de esta prioridad, se puede comprobar como en
líneas generales su evolución es descendente. Esto es debido a que con
cada movimiento el algoritmo intenta siempre mejorar este parámetro
consiguiendo finalmente reducir bastante su valor.
Si se observa con detenimiento la gráfica en su parte final, llama la
atención la repentina subida que experimenta en las últimas iteraciones.
Esta subida es debida precisamente a los cambios de día y hora que se
realizan al final de la ejecución. Durante estos cambios se mueven gran
cantidad de grupos en sitios donde la ubicación de los mismos es
complicada. Esto ocasiona que el algoritmo tenga que renunciar a cumplir
estas restricciones para poder cumplir las duras.
7.4 EVOLUCIÓN DEL TIEMPO DE EJECUCIÓN EN FUNCIÓN DEL
NÚMERO DE GRUPOS DE EXAMEN
Durante todo el proyecto se ha intentado siempre reducir al máximo
el tiempo y los recursos empleados por el algoritmo para hallar una
solución admisible.
El motivo de esto ha sido siempre el evitar que la ejecución del
algoritmo abarcara un tiempo excesivamente grande. Para comprender la
importancia del tiempo de ejecución se llevará a cabo un análisis que ponga
de manifiesto cuáles son los principales aspectos que influyen en este
parámetro.
En primer lugar, se ha estimado oportuno estudiar la influencia de
aumentar el número de grupos de examen mientras se mantienen constantes
el resto de parámetros como pueden ser el número de aulas, los días de
examen, la ocupación de las aulas, etc.
159
Para ello se ha tomado una convocatoria de características estándar y
se ha ido aumentando progresivamente el número de número de grupos. El
resultado obtenido se puede visualizar en la figura 18:
Como se puede observar, la evolución del tiempo de ejecución es
bastante sensible al número de grupos de examen. Además la evolución no
es lineal sino que el tiempo de ejecución aumenta con el número de grupos,
reflejando en mayor grado un típico comportamiento en los problemas del
tipo NP-Hard.
7.5 EVOLUCIÓN DEL TIEMPO DE EJECUCIÓN EN FUNCIÓN DEL
TAMAÑO MEDIO DE LOS GRUPOS
En este apartado se estudia cómo influye el tamaño medio de los
grupos de examen en el tiempo de ejecución. Para ello se ha escogido una
convocatoria estándar y se ha ido variando el número de alumnos por
examen. En esta ocasión, se ha elegido una convocatoria de 320 alumnos.
0
2000
4000
6000
8000
10000
12000
Tiem
po
(s)
Tiempo vs Nº de grupos
40 grupos
80 grupos
120 grupos
160 grupos
200 grupos
240 grupos
280 grupos
320 grupos
Figura 18
160
En la figura 19 se puede comprobar la evolución del tiempo de
ejecución.
Como se puede observar, el tiempo de ejecución resulta muy sensible
al tamaño medio de los grupos. De hecho se comprueba cómo cada vez que
se aumenta en 15 alumnos la media de los grupos el tiempo de ejecución
prácticamente se dobla. Esta situación probablemente irá empeorando a
medida que aumente el tamaño medio ya que el limitado tamaño de las
clases hace que a medida que los grupos aumentan de tamaño se hace más
difícil asignarlos.
0
5000
10000
15000
20000
25000
Tiem
po
(s)
Tiempo vs Tamaño Medio
Media 40
Media 55
Media 70
Figura 19
161
8. CONCLUSIONES Y LI NEAS FUTURAS
En este proyecto se ha resuelto un problema de diseño de calendarios
de exámenes, catalogado en la literatura como NP-Hard. Más
concretamente, se ha diseñado el calendario de exámenes para la nueva
Facultad de Ciencias de la Educación de la Universidad de Sevilla.
En este centro, la problemática que generaba la creación del
calendario de exámenes era bastante importante. El principal motivo de
esta problemática se encuentra en el hecho de que, mientras que las aulas
del nuevo edificio de la facultad poseen un tamaño reducido, en algunas
titulaciones existen grupos de examen muy numerosos que no caben en
dichas aulas.
Esto obliga a repartir los alumnos en diversas aulas para poder
celebrar el examen. Sin embargo, esta asignación de diversas aulas no se
puede realizar de cualquier forma debido a restricciones logísticas. Esto
hace que la creación de un calendario de exámenes de forma manual, tal y
como se venía haciendo hasta el momento, resulte prácticamente inviable.
Para solucionar este problema, se ha diseñado un modelo matemático
que incluye todas las condiciones que debe cumplir un calendario de
exámenes para considerarse admisible.
Este modelo matemático combinado correctamente con un algoritmo
de búsqueda tabú especialmente optimizado para este caso particular, ha
dado como resultado un algoritmo capaz de resolver el problema en
cuestión.
Este algoritmo ha sido implementado con la ayuda del programa
Matlab obteniendo unos resultados que mejoran notablemente la anterior
mecánica de creación de calendarios.
Además, para la creación de dicho calendario el programa precisa de
información sobre las asignaturas que van a concurrir a examen con todas
sus características, así como información sobre las ocupaciones de las
162
aulas. Para facilitar al máximo la utilización del programa, la introducción
de estos datos se realiza gracias a unas plantillas Excel con un formato
predefinido.
Finalmente, para intentar optimizar al máximo el consumo de
recursos por parte del algoritmo de búsqueda tabú, se han realizado
numerosas pruebas para recopilar datos suficientes que permitan
comprender el funcionamiento del programa.
Estas pruebas se han documentado mediante la inclusión de varías
gráficas que intentan reflejar el comportamiento de los parámetros claves
del modelo. Observando dichas gráficas se obtienen las siguientes
conclusiones:
El tiempo de ejecución depende fuertemente del número grupos que
concurran a examen. Se puede observar como estos parámetros no
guardan una relación en absoluto lineal. De hecho, el tiempo de
ejecución responde de manera muy significativa ante cualquier
variación del número de exámenes.
El tamaño medio de los grupos de examen resulta también un
parámetro clave debido a que el principal problema del nuevo
edificio es precisamente el reducido tamaño de las aulas.
Al ser un problema tipo NP-Hard, una juiciosa elección del
vecindario de la búsqueda tabú unido a una solución inicial de alta
calidad resultan factores críticos para conseguir tiempos de ejecución
razonables.
El objetivo principal del proyecto se considera cumplido ya que se ha
conseguido un software capaz de crear el calendario de exámenes de una
forma rápida y eficaz.
Además, la introducción de datos a través de archivos Excel hace que
la ejecución del programa a lo largo de los años resulte muy cómoda ya que
bastará con cambiar el número de alumnos matriculados y las fechas de
examen. Si se hubiera optado por otro origen de datos, como la
introducción directamente con pantallas, el tiempo de introducción de datos
año tras año haría muy pesada la resolución del problema.
Existen varios caminos posibles para futuras líneas de trabajo. En
primer lugar, se podría comenzar incorporando un algoritmo de solución
163
inicial más eficiente que probablemente reduciría en un gran porcentaje el
tiempo de ejecución.
Otra de las opciones, sería la investigación en la lógica del propio
algoritmo de búsqueda tabú. Probablemente, la introducción de nuevos
filtros que ayuden a encauzar mejor la solución conseguiría una mejora de
la eficiencia global del programa.
Sin embargo, y a pesar de que cualquier mejora de la eficiencia
resulta positiva, en este caso particular tampoco resulta crítico, siempre y
cuando se mantenga dentro de unos límites razonables. Hay que tener en
cuenta, que este programa se ejecutará tan solo cuatro veces por curso
académico y que, por tanto, una mejora de la eficiencia en términos de
minutos o segundos finalmente resultará un ventaja mínima.
Evidentemente, esta cuestión resultaría distinta si se tratara de un
programa que se necesita ejecutar diaria o semanalmente en cuyo caso
habría que dar mayor peso a este aspecto.
164
9. BIBLIOGRAFI A
1) Applegate, D., & Cook, W. (1991). A Computational Study of the
Job-Shop Scheduling Problem. ORSA Journal on Computing, vol. 3,
Issue 2, pp. 149-156.
2) Caprara, A.; Fischetti. M; Toth. P. (2002). Modeling and solving the
train timetabling problem. Operations Research, vol. 50, nº 5, pp
851-861.
3) de Werra, D. (1985). An introduction to timetabling. European
Journal of Operational Research,vol. 19, Issue 2, pp 151-162.
4) Dell'Amico, Mauro; Trubian, Marco. (1993). Applying tabu search
to the job-shop scheduling problem. Annals of Operations Research,
Springer Netherlands, Springer Netherlands, vol. 42, nº 3, pp. 231-
252.
5) E. K, Burke; G., Kendall; E., Soubeiga. (2003). A Tabu-Search
Hyperheuristic for Timetabling and Rostering. Journal of Heuristics.
vol 9. nº 6. pp 451-470.
6) Hertz, A. (1991). Tabu search for large scale timetabling problems.
European Journal of Operational Research, vol. 54, Issue 1, pp 39-
47
7) Walker, R.A.; Chaudhuri, S. (2005). Introduction to the scheduling
problem. IEEE Design & Test of Computers, vol.12, nº 2, pp. 60-69.
165
10. ANEXO: MANUAL DE USUARIO
Este anexo incluye el manual de usuario del programa. El principal
motivo de la escritura de este manual es poder proporcionar a los
responsables del calendario de exámenes de la Facultad de Ciencias de la
Educación. De esta forma, en caso de duda durante la utilización del
programa, poseerán un documento donde poder acudir. La estructura del
manual de usuario será la siguiente:
1. Presentación.
2. Instalación.
3. Introducción de datos.
4. Ejecución del programa.
5. Archivo de salida.
10.1 PRESENTACIÓN
En primer lugar se explicará cómo se presenta el programa al usuario
final. El programa se suministra en una carpeta llamada calendario_v1 en la
que se encuentran todos los archivos necesarios para su ejecución.
Dentro de esta carpeta existen 3 carpetas: “distrib”, “scr” y
“Plantillas de datos” así como dos archivos: “Setup.exe” y “logoUS.ico”.
Su aspecto se puede observar en la figura 20:
166
Figura 20
Setup.exe
Este ejecutable contiene el Runtime de Matlab que es el motor
encargado de ejecutar el programa. Resulta imprescindible su instalación
en cualquier ordenador que carezca de una versión de Matlab superior a la
7.8.0.347 (R2009a) que es la utilizada para la creación del programa.
Es importante resaltar que es necesario que se encuentre instalada
siempre una versión superior a la utilizada, en caso contrario podría dar
errores durante la ejecución.
LogoUS.ico
Este archivo es un archivo de icono. Contiene en su interior el
logotipo del programa, que es el mismo que el de la Universidad de Sevilla.
Es útil para conseguir tener un icono distinto al estándar de Windows.
167
Carpeta distrib
Esta carpeta contiene en su interior distintos archivos para el
funcionamiento interno del programa. Los archivos más importantes son:
calendario_v1.exe: es el ejecutable que hay que utilizar para lanzar el
programa.
calendario_v1_pkg.exe: este ejecutable contiene en su interior una
copia del Runtime de Matlab y otra del programa calendario_v1. Al
ejecutarse se abre una pantalla de MS DOS en la que tras responder
afirmativamente a unas preguntas genera los archivos
“MCRInstaller.exe” y “calendario_v1.exe”. El primero de ellos es el
Runtime de Matlab mientras que el segundo es el programa. Este
ejecutable solo debe usarse en caso de borrado accidental de alguno
de estos archivos.
Carpeta scr
Esta carpeta contiene en su interior diversos archivos para el
funcionamiento del programa. Con excepción de “calendario_v1.exe”, que
no es más que una copia del programa, ninguno de los demás resulta de
interés para el usuario final.
Carpeta Plantillas de Datos
Esta carpeta contiene en su interior las plantillas de datos que deben
ser introducidas en el programa. Las plantillas de datos que contiene son
tres: “Datos”, “Horarios” y “Días de examen”. Estos tres archivos son los
archivos de entrada del programa y más adelante se explicará cómo deben
ser rellenados.
Las plantillas se proporcionan tanto en formato Office 2003 (*xls)
como en formato Office 2007 (*xlsx). El programa admite ambas versiones
de Office por lo que el usuario puede elegir libremente la versión que
encuentre más cómoda.
168
Además, el usuario puede cambiar el nombre de las plantillas. De
esta forma, se da libertad al usuario para que, por ejemplo, añada en cada
plantilla la convocatoria para la que está ejecutando el programa.
10.2 INSTALACIÓN
La instalación del programa debe realizarse en todos aquellos
equipos que no dispongan de una versión de Matlab igual o superior a la
7.8.0.347 (R2009a).
Para instalar el programa, el usuario tendrá que seguir unos sencillos
pasos:
En primer lugar debe copiar en su equipo la carpeta raíz del
programa “calendario_v1”. Una vez hecho esto el usuario deberá ejecutar
el archivo “Setup”. Una vez hecho esto aparecerá en la pantalla una
ventana como la que representa la figura 21:
Figura 21
El idioma español no se encuentra disponible en esta instalación, por
lo que se recomienda utilizar el inglés. Una vez pulsado el botón OK el
programa comenzará a prepararse para su instalación.
Pasado un pequeño tiempo, en función de las características del
equipo informático, aparecerá una ventana como la que se puede observar
en la figura 22:
169
Figura 22
En este punto de la instalación habrá que pulsar el botón “Next”
varias veces hasta que aparezca la siguiente ventana:
Figura 23
170
En esta ventana se pulsará el botón “Install” y el Runtime de Matlab
quedará instalado en el equipo. Una vez terminada la instalación, aparecerá
un mensaje de confirmación como el de la figura 24:
Figura 24
Una vez pulsado el botón “Finish” ya se encontrará instalado en el
equipo el motor de Matlab con lo que será posible ejecutar el programa.
Llegados a este punto, se recomienda al usuario que realice un
acceso directo al programa en su escritorio. De esta forma, se evitarán
modificaciones involuntarias de las carpetas del programa que podrían
ocasionar un funcionamiento incorrecto del mismo.
Para crear el acceso directo, el usuario debe buscar el archivo
“calendario_v1” en el interior de la carpeta “distrib”. Una vez hecho esto,
se debe hacer clic con el botón derecho del ratón en este archivo y pulsar
sobre la opción “Crear acceso directo”. Una vez creado el acceso directo se
debe copiar y pegar en el escritorio para poder acceder desde allí al
programa.
171
Dependiendo de la versión de Windows utilizada es posible que para
crear el acceso directo se deba realizar lo siguiente: hacer clic derecho
sobre el archivo, situarse encima del texto “enviar a”, y seleccionar
“Escritorio (crear acceso directo)” del menú desplegable.
Una vez creado el acceso directo y si el usuario quiere puede poner
el icono de la universidad de Sevilla en dicho acceso directo. Para ello es
necesario cambiar el icono por defecto que Windows asigna al programa.
El procedimiento para cambiar este icono es el mismo que en
cualquier otro acceso directo. En el icono del acceso directo en el escritorio
se hace clic derecho y se selecciona el texto propiedades. Una vez hecho
esto aparecerá una ventana similar a la representada en la figura 25:
Figura 25
172
Una vez hecho esto se debe hacer clic en el botón “Cambiar
icono…”. Al hacer esto saldrá un mensaje de información como el que
aparece en la figura 26:
Figura 26
Se hace clic en aceptar tras lo cual aparece una ventana como la
representada en la figura 27:
Figura 27
En esta ventana habrá que hacer clic en “Examinar…” y buscar en la
ventana que aparece el archivo “logoUS.ico” que se encuentra en la carpeta
173
raíz del programa. Una vez hecho esto aparecerá una ventana como la que
se puede observar en la figura 28:
Figura 28
Simplemente bastará con hacer clic en aceptar y comprobar como el
icono del acceso directo ha cambiado por el logotipo de la Universidad de
Sevilla.
10.3 INTRODUCCIÓN DE DATOS
Antes de ejecutar el programa, es necesario introducir todos los datos
en las distintas plantillas suministradas con el programa. Esta es la parte
más delicada de toda la ejecución del programa ya que es muy importante
adaptarse al formato que se explicará a continuación.
En caso de que no se siguiera el formato predefinido, la ejecución del
programa podría no ser satisfactoria, interrumpiéndose inesperadamente o,
por el contrario, podría ofrecer una solución distinta a las expectativas del
usuario.
174
La reacción del programa dependerá del error cometido. El programa
posee implementadas unas comprobaciones que ayudan al usuario a evitar
este tipo de errores. Sin embargo, no todos los errores pueden ser
detectados por lo que es necesario prestar especial atención a este aspecto.
10.3.1 ARCHIVO DATOS
Este archivo es el primero al que se debe hacer referencia en el
programa y su aspecto se muestra en la figura 29:
Figura 29
Lo primero que es necesario hacer es elegir un nombre para el
archivo. El nombre que por defecto se pone a esta plantilla es el nombre de
“Datos” aunque el usuario puede elegir otro nombre que se adapte mejor a
sus necesidades.
En ese punto es importante resaltar que no es recomendable realizar
este cambio de nombre directamente sobre la plantilla facilitada ya que
ocasionaría su pérdida para la siguiente ejecución. Se recomienda realizar
una copia de las plantillas para así conservar siempre los originales.
Una estrategia que puede resultar útil de cara al futuro es ir
almacenando cada una de las plantillas por convocatorias. De esta forma,
cuando se vuelva a ejecutar el programa tan solo será necesaria adaptar los
175
cambios que haya habido de un año a otro, evitando tener que introducir de
nuevo todos los datos.
Una vez realizada la copia de la plantilla y renombrada se deben
introducir los datos en la misma. Para ello debe seguirse un formato
predefinido que varía en función de la columna que se esté rellenando. Las
consideraciones más importantes de cada columna son:
Primera columna (Columna A)
En esta columna, como se indica en su encabezado, se debe
introducir la titulación a la que pertenece el examen de su fila. Una vez
introducido el nombre de una titulación, no es necesario copiar el nombre
de la misma para todos y cada uno de los exámenes de esa titulación.
Si la celda correspondiente a la titulación se encuentra vacía, el
programa interpreta que ese examen pertenece a la titulación que se
encuentre en la parte superior de la columna. Es decir, si escribimos el
nombre de una titulación en la casilla A-5 de Excel, el programa interpreta
que mientras que no escribamos nada distinto, todas los exámenes que se
encuentren por debajo de la fila 5 (incluida) pertenecen a la misma
titulación.
Esto consigue que el usuario solo necesite escribir una vez el nombre
de la titulación, aunque si lo estima necesario el usuario puede rellenar
todas las celdas de la columna.
Segunda columna (Columna B)
En esta columna se debe introducir, en formato numérico, el curso al
que pertenece la asignatura correspondiente a su fila. Al igual que en el
caso de la titulación, en esta columna tampoco es necesario rellenar todas
las casillas de las columnas.
El programa interpreta una casilla vacía como si estuviera escrita con
el último número escrito de sus filas superiores. Por tanto, tan solo será
estrictamente necesario escribir en la casilla cuando exista un cambio de
176
curso, aunque se pueden escribir todas o parte de ellas si se estima más
cómodo.
En esta columna, merecen una especial mención los denominados
complementos de formación. Los complementos de formación son unas
asignaturas que no se encuentran ligada a ningún curso en concreto de la
titulación a la que pertenecen. A pesar de ello, su casilla no puede dejarse
en blanco puesto que si no el programa interpretaría que pertenecen al
último curso escrito.
Por lo tanto, se les debe asignar un curso distinto al de todas las
asignaturas, por ejemplo el 6. Si el usuario desea asegurarse que todos los
complementos de formación se celebren en distintos días, es necesario que
les asigne a todos ellos el mismo curso. En caso contrario, el usuario
debería asignarle distintos cursos a los complementos que no tengan porqué
encontrase en distintos días, por ejemplo 6, 7, 8, etc.
Tercera columna (Columna C)
En esta columna se indica la fecha de inicio del periodo de exámenes
para la asignatura en cuestión. La fecha debe introducirse, tal y como
indica su encabezado, en el formato siguiente: dd/mm/aaaa, donde “d”
indica día, “m” mes y “a” el año. Al igual que en las columnas anteriores,
si la casilla se deja vacía el programa interpreta que la fecha de inicio es la
última escrita por arriba.
Cuarta columna (Columna D)
En esta columna se indica la fecha en la que finaliza el periodo de
exámenes de la asignatura en cuestión. Al igual que en la columna C la
fecha hay que introducirla en el formato dd/mm/aaaa. La interpretación que
hace el programa de una casilla vacía es la misma que en las otras
columnas: se interpreta como la última casilla rellena por arriba. Es decir,
que tan solo es necesario escribir la fecha cuando esta difiera de lo escrito
en las filas inmediatamente superiores.
177
Quinta columna (Columna E)
En esta columna se indica el nombre de la asignatura tal y como
queremos que nos lo muestre el programa una vez hallada la solución. Las
casillas vacías de esta columna se interpretan de la misma forma que en las
columnas anteriores. Esto resulta útil cuando una asignatura está compuesta
por varios grupos de clase ya que de esta forma no es necesario repetir el
nombre, bastaría con ponerlo en el primer grupo.
Por supuesto, en el caso de que se decida escribir el nombre en todos
los grupos el programa lo interpretaría correctamente, como grupos de
distintas asignaturas, con todas las consecuencias que esto implica. Sin
embargo, esta práctica se desaconseja en general ya que esto implica que se
ha de escribir exactamente igual, incluidas las tildes, puntos, comas,
espacios, etc. Por lo tanto, y para asegurarse un correcto funcionamiento
resulta recomendable escribirlo tan solo una vez.
Sexta columna (Columna F)
En esta columna se debe introducir el número del grupo de clase en
formato numérico: 1, 2, 3… para las asignaturas formadas por un solo
grupo de clase, se ha de poner el número 1, a pesar de que sea el único. En
esta columna carece de sentido dejar alguna casilla vacía, ya que cada línea
corresponde a un grupo distinto y, por tanto, tendrá una numeración
distinta.
Séptima columna (Columna G)
En esta columna se especifica el turno, de mañana o de tarde, en el
que se imparte el grupo en cuestión. En esta columna, al igual que en la
anterior, tampoco se deben dejar ninguna casilla vacía sino que se deben
rellenar todas y cada una de ellas. En esta columna solo se debe escribir
una de las tres “claves” que se indican a continuación:
Para las asignaturas que se impartan durante el turno de mañana, es
decir de 8:00 h a 14:00 h, se debe escribir en la casilla la siguiente
clave: “M” (sin comillas y en mayúsculas).
178
Para las asignaturas que se impartan durante el turno de tarde, de
15:00 h a 21:00 h, se debe escribir la siguiente clave: “T” (sin
comillas y en mayúsculas).
Por último, para las asignaturas a extinguir, en las que no hay
docencia, se debe escribir la siguiente clave: “V” (sin comillas y en
mayúsculas).
Octava columna (Columna H)
En esta columna se debe indicar si se trata de una asignatura común a
todos los alumnos, ya sea troncal u obligatoria, o se trata de una asignatura
optativa. En esta columna se deben escribir todas y cada una de las
casillas, sin dejar ninguna en blanco. Para identificarlas, se debe utilizar
una de las siguientes “claves”:
Para las asignaturas que sean comunes a todos los alumnos, como las
troncales y las obligatorias, se utilizará la siguiente letra: “C” (sin
comillas y en mayúsculas).
Para las asignaturas que sean optativas, se utilizará la siguiente letra:
“O” ” (igualmente sin comillas y en mayúsculas).
Novena columna (Columna I)
En esta columna se debe introducir el número de alumnos que se
presentaran a la convocatoria que se esté resolviendo. Es importante tener
en cuenta un aspecto, debido a que se ha impuesto que cada examen se
puede dividir como máximo en 3 partes y a que el tamaño de las clases es
limitado, el número máximo de alumnos por grupo está limitado. En este
caso el aula de mayor tamaño es de 60 alumnos por lo que el grupo
máximo que podemos ubicar es de 180 alumnos. Los datos de esta columna
se deben introducir en formato numérico.
179
Décima columna (Columna J)
Esta columna contiene un número que identifica al grupo de la
asignatura. Se trata de una formalidad del funcionamiento interno del
programa que a su vez permite llevar un recuento del número de grupos
que se examinaran. Por la construcción del archivo Excel, esta columna
contiene un número menos que la fila en la que se encuentre el grupo, es
decir, la fila 2 contiene el grupo 1, la 3 el grupo 2, etc.
Por este motivo el archivo Excel que se facilita como plantilla lleva
implementada una fórmula que asigna el número automáticamente. Por lo
tanto, para rellenar esta columna basta con arrastrar la fórmula desde la
esquina inferior izquierda de la casilla.
10.3.2 ARCHIVO HORARIOS
Esta plantilla contiene la ocupación diaria de todas las aulas durante
el periodo de exámenes. Su aspecto se ve reflejado en la figura 30:
Figura 30
180
Al igual que en el archivo anterior, se recomienda realizar una copia
de la plantilla proporcionada y renombrarla según las preferencias del
usuario.
Este archivo resulta necesario para poder determinar cuándo un aula
se encuentra libre para la celebración de un examen. Puesto que la
ocupación de las aulas depende del día en el que se observe, en este archivo
será necesario introducir tantas hojas como días de examen haya, incluso si
es festivo. Los domingos son los únicos días de la semana que nunca deben
disponer de hoja de ocupación.
El primer paso por lo tanto es crear todas las hojas necesarias. Para
ello se debe copiar la plantilla desde la casilla A1 hasta la casilla T35. Una
vez copiada esta plantilla se debe crear una nueva hoja de Excel dentro del
mismo archivo y, situándose en la casilla A1 hacer clic derecho y “pegar”.
Con respecto al nombre que se debe asignar a la hoja hay que decir que es
libre. Sin embargo, resulta útil escribir el nombre del día a que representan:
15 de enero, 16 de enero, etc.
De esta forma se asegura que no exista desplazamiento de la plantilla
que, en caso de existir, invalidaría la solución. Para comprobar que la
plantilla se encuentra bien situada se debe comprobar que las aulas de
arriba se encuentren en el rectángulo que definen las casillas A6 y T19. Por
otro lado, las aulas que se encuentran debajo tienen que estar en el
rectángulo que definen A22 y S35. Cualquier otra ubicación de los
cuadrantes en la plantilla Excel implicaría un error en la interpretación de
los datos por parte del programa.
La introducción de los datos resulta bastante sencilla, una vez
generada todas las hojas, simplemente es necesario recorrerlas y escribir
una “C” en las horas que se encuentren ocupadas por impartición de clases
u otros motivos distintos.
Es importante resaltar dos aspectos:
1. Solo es necesario marcar las aulas que no se encuentren
disponibles en una hora determinada, es decir, que los sábados
por la tarde o los días festivos no se deben marcar con una “C” ya
que el programa asume por defecto que estos días no son lectivos.
181
2. Para marcar un aula como ocupada se puede utilizar cualquier
otra letra distinta de “C”. Lo realmente importante es que la
casilla de la hora correspondiente se encuentre escrita con algún
texto.
10.3.3 ARCHIVO DÍAS DE EXAMEN
Este es el último archivo que es necesario suministrar al programa.
Al igual que los otros archivos, se recomienda realizar una copia y
renombrarlo a gusto del usuario. Su aspecto se muestra en la figura 31:
Figura 31
Este archivo de Excel debe contener los nombres ordenados de cada
una de las hojas Excel del archivo anterior (Horarios).
Para ello, se deben copiar los nombres exactos de todas y cada una
de las hojas Excel del archivo que contiene la ocupación respetando
además el mismo orden. Todos estos nombres deben ir en la primera
columna, comenzando desde la casilla A2 hacia abajo.
182
Por ejemplo, si el archivo Excel de ocupación posee 10 hojas que se
llaman: 1 de enero, 2 de enero,… en este archivo habrá que escribir 1 de
enero en la casilla A2, 2 de enero en la casilla A3…
Lo realmente importante de este archivo es que contenga el mismo
nombre que las hojas del archivo horario y en el mismo orden. En caso
contrario, el programa no sería capaz de leer la ocupación de las aulas.
10.4 EJECUCIÓN DEL PROGRAMA
Una vez instalado el programa y preparados los archivos de entrada,
el siguiente paso es la ejecución del mismo. Para ello, es necesario ejecutar
el archivo calendario_v1.exe que se encuentra en la carpeta distrib. En el
caso de que durante la instalación del programa se creara el
correspondiente acceso directo bastaría con abrirlo.
Una vez ejecutado el programa, deberá aparecer la ventana principal
del mismo que posee un aspecto como el mostrado en la figura 32:
183
Figura 32
En esta ventana habrá que indicar al programa las ubicaciones de los
distintos archivos de entradas así como el nombre y la ubicación del
archivo de salida.
Para ello, habrá que ir pulsado en los distintos botones “Examinar…”
que aparecen en el programa. Una vez pulsado este botón se abrirá una
ventana con el explorador de Windows de tal forma que el usuario tan solo
tendrá que buscar y seleccionar los archivos creados anteriormente. Para el
archivo de salida, el usuario tendrá que buscar la ubicación que desee para
la solución así como indicar el nombre y el formato del archivo de salida.
En el primero de los rectángulos editables el usuario tendrá que
introducir el archivo donde se encuentra la información de las asignaturas
que concurren a examen en la convocatoria. Este archivo ha sido llamado
genéricamente como Datos aunque, como ya se comentó, podrá tener
cualquier nombre.
184
En el segundo de los cajones de texto se debe indicar la ubicación del
archivo que se ha denominado genéricamente Horarios y que contiene
información acerca de la disponibilidad de las distintas aulas.
En el tercer cajón editable se indicará donde se encuentra el archivo
que genéricamente se ha denominado Días de Examen. Estas tres acciones
se realizan a través de sus correspondientes botones examinar.
Por último, es necesario indicar el nombre y el formato del archivo
de salida. Para ello, cuando el usuario pulse el botón Examinar aparecerá
un explorador de Windows cuyo aspecto será similar al que se puede
observar en la figura 33:
Figura 33
En esta ventana el usuario elegirá la carpeta donde desea guardar la
solución. Además, en el cajón donde pone nombre se deben indicar el
nombre que se desea para el archivo de salida y, por último, en el menú
desplegable “Tipo” se debe seleccionar si se desea en formato Office 2003
u Office 2007.
185
Una vez que se ha indicado toda esta información se pulsará el botón
“Ejecutar” y el programa comenzará a funcionar.
Una vez que el programa ha comenzado a ejecutarse será necesario
introducir por pantalla dos datos más. Para ello aparecerán diversas
ventanas emergentes en las que habrá que introducir dicha información.
Lo primero que solicita el programa es el número de grupos que van
a concurrir a examen. Para ello el usuario observará una ventana como la
mostrada en la figura 34:
Figura 34
Esta información puede ser obtenida por el usuario en el archivo
Datos observando la columna “Id” que se encuentra en última posición.
Para ello bastará con acudir al último examen y comprobar su Id. Otra
opción, consiste en acudir al último grupo, mirar su número de fila y
restarle uno (Debido a que el primer grupo se encuentra en la fila 2).
Una vez obtenida la información, bastará con introducir en formato
numérico dicho dato y pulsar “OK”.
El siguiente dato que necesitará el programa será la cantidad de días
festivos que posee el periodo de exámenes que no sean domingo. Es muy
importante resaltar este aspecto ya que el programa por defecto no
considera los domingos y, por tanto, la inclusión de estos días como
festivos puede ocasionar errores en la ejecución. El usuario podrá observar
una ventana como la reflejada en la figura 35:
Figura 35
186
Si el número de festivos es distinto de cero, el programa requerirá
que se le indique la fecha de dichos días festivos. Para ello, al pulsar OK
aparecerá una ventana como la de la figura 36 tantas veces como días
festivos se hayan indicado:
Figura 36
En esta ventana habrá que introducir la fecha del día festivo en el
formato dd/mm/aaaa. Una vez ingresada la fecha se pulsará OK y el
programa comenzará a ejecutarse.
Mientras dura la ejecución del programa, que puede demorarse varias
horas en función de las características de la convocatoria que se esté
resolviendo, el usuario podrá observar la ventana de la figura 37:
Figura 37
Como se puede comprobar, en la ventana aparece un medidor del
progreso del programa. Este indicador irá avanzando poco a poco hasta
llegar al 100%, momento en el que finalizará la ejecución del programa.
187
Cuando el programa finalice su ejecución, aparecerán dos mensajes
en función del resultado de la ejecución.
El primero de ellos, que será el más normal, confirmará al usuario
que la ejecución del programa ha terminado con éxito y que, por tanto, la
solución obtenida se adapta perfectamente a los requerimientos
previamente establecidos. La apariencia de este mensaje se puede observar
en la figura 38:
Figura 38
Una vez que se pulse el botón OK el programa se cerrará y el usuario
podrá buscar la solución en la carpeta que indicó al comienzo de la
ejecución.
El otro mensaje aparecerá cuando el programa no haya sido capaz de
encontrar una solución que satisfaga todos los requerimientos. Esta
situación solo se dará en casos muy excepcionales en los que lo más
probable es que resulte imposible encontrar una solución que verifique
todas las condiciones impuestas. El mensaje que verá el usuario será el que
se muestra en la figura 39:
Figura 39
Una vez que el usuario pulse OK el programa terminará su ejecución
generando dos archivos. El primero de ellos será un archivo Excel que
contendrá la mejor solución encontrada con el programa. La ubicación de
188
este archivo será la que el usuario proporcionó al principio de la ejecución
para la solución. Además de este archivo con la solución, el programa
generará otro archivo llamado “errores.txt” en la misma ubicación de la
solución.
Este archivo de texto contendrá en su interior un listado con los
grupos de examen que incumplen algún requerimiento. Los grupos de
examen serán identificados mediante su número de grupo que aparece en la
columna “Id” del archivo Datos.
De esta forma, el usuario podrá comprobar cuál es el problema y
relajar alguna de los requerimientos para poder asignar estos grupos
manualmente.
10.5 ARCHIVO DE SALIDA
El archivo de salida que genera el programa contiene la solución
encontrada por el mismo. Este archivo se encuentra en formato Excel y en
su interior las asignaturas se encuentran divididas por titulación.
Cada titulación dispone de una hoja Excel con su nombre y todas las
asignaturas en la que se indica la fecha y el lugar de la realización del
examen para los distintos grupos.
Hay que tener cuidado con un detalle: el programa, además de una
hoja por cada titulación, genera las tres hojas estándar de Excel llamadas
Hoja 1, Hoja 2 y Hoja 3. Estas tres hojas se encuentran en primer lugar y
no contienen ninguna información relevante para el usuario por lo que se
recomienda borrarlas.
El aspecto del archivo de salida cuando es generado por el programa
se representa en la figura 40:
189
Figura 40
Como se puede observar, en la columna fecha aparece un número
pero que no tiene formato de fecha. Esto es debido a que Excel interpreta la
fecha como un dato numérico. Para modificar este aspecto, basta con
seleccionar la columna fecha y editar su formato. Para ello, se hace clic con
el botón derecho del ratón y se selecciona la opción formato de celda.
Dentro de este menú bastará con seleccionar formato fecha y pulsar
aceptar.
De esta forma, se podrá observar la fecha en su formato
correspondiente. Esto se puede observar en la figura 41:
Figura 41
Recommended