universidad de chile facultad de ciencias...

83
UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS DEPARTAMENTO DE INGE NIERIA INDUSTRIAL FORMULACIÓN DE UN MODELO DE PROGRAMACIÓN MATEMÁTICA PARA LA ASIGNACIÓN DE HORARIOS ESCOLARES TESIS PARA OPTAR AL GRADO DE MAGÍSTER EN GESTION DE OPERACIONES ROBERTO DEL BARCO GAMARRA PROFESOR GUIA: SR. PABLO ANDRES REY MIEMBROS DE LA COMISIÓN EVALUADORA SR. RICHARD WEBER HAAS SR. JAIME MIRANDA PINO SR. VICTOR PARADA DAZA SANTIAGO DE CHILE MAYO, 2010

Upload: dobao

Post on 19-Sep-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDAD DE CHILE FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS DEPARTAMENTO DE INGENIERIA INDUSTRIAL

FORMULACIÓN DE UN MODELO DE PROGRAMACIÓN MATEMÁTICA

PARA LA ASIGNACIÓN DE HORARIOS ESCOLARES

TESIS PARA OPTAR AL GRADO DE MAGÍSTER EN

GESTION DE OPERACIONES

ROBERTO DEL BARCO GAMARRA

PROFESOR GUIA:

SR. PABLO ANDRES REY

MIEMBROS DE LA COMISIÓN EVALUADORA

SR. RICHARD WEBER HAAS

SR. JAIME MIRANDA PINO

SR. VICTOR PARADA DAZA

SANTIAGO DE CHILE

MAYO, 2010

-ii-

A mis Padres , hermanos y Zumel, por su apoyo y confianza incondicional.

-iii-

Agradecimientos

A Dios, pues sin su guía, compañía y fortaleza ésta tarea hubiera quedado inconclusa. A toda mi familia, a quienes no puedo menos que agradecerles por el apoyo tanto económico como espiritual, pues he corrido con la mejor de las suertes al tenerlos a mi lado. A mi esposa, Zumel Espinoza, por haberse contagiado con mi entusiamo en el momento de emprender con el Magíster, quedando en statu quo otros planes conjuntos. Como parte de este proyecto de formación profesional, tiene un particular espacio la acogida recibida por la Residencia Universitaria Cardenal Caro. Expreso a sus directores y principalmente amigos Gabriela Vivanco y Victor Allende -al igual que a la Comunidad Marianista- mi mayor agradecimiento por su consejo y amistad. Agradezco a la Universidad de Chile que me permitió vivir una experiencia académica que marcará mi desarrollo profesional de aquí en adelante. La enseñanza recibida por parte de los señores docentes -quiénes son personajes reconocidos dentro del área de la gestión de operaciones- motiva mi actuar y condicionan el deseo de aportar, desde cualquier esfera, al desarrollo de la ciencia. Al Dr. Pablo Rey, tutor del presente trabajo, quién no escatimó su tiempo para poder guiar el desarrollo del mismo, sus comentarios y observaciones permitieron hacer de éste un mejor trabajo. Finalmente, y como una enseñanza práctica de cómo la logistica se constituye en un pilar fundamental en la prestación de servicios, agradezco a Julie Lagos Barra por su colaboración y gestión.

A todos ellos, gracias.

-iv-

Resumen El problema de programación de horarios en una institución educativa consiste en determinar

una secuencia de encuentros entre profesores y estudiantes en un determinado período de tiempo

satisfaciendo un conjunto de restricciones de diversa índole. En particular, una buena

configuración horaria permite construir los lineamientos estratégicos, programáticos y operativos

de la política de servicio en el área educativa. La motivación del presente trabajo se basa en la

solución a un problema que pertenece a esta familia combinatorial, donde el entorno esta

definido por el sistema educativo boliviano focalizado en la Unidad Educativa Colegio

Americano de la Ciudad de Oruro, tomando en cuenta las condicionantes distintivas de la

misma.

La solución planteada obedece a un enfoque exacto, mediante la conformación de un modelo de

programación entera mixta. La determinación de la función objetivo consistió en dividir el

conjunto de restricciones esenciales y el otro con los atributos deseables en un horario a ser

penalizados en la función objetivo.

La instancia abordada, correspondiente a la configuración horaria de la gestión 2008, presentó

alrededor de 25.000 variables y 89.000 restricciones alcanzando soluciones con un gap menor al

5% en aproximadamente 28 horas de funcionamiento. El problema de programación entera

mixta fue modelado con OPL STUDIO 3.5.1. y resuelto con CPLEX 7.5. Sobre la misma

instancia se evaluó la aplicación de un enfoque alternativo basado en la búsqueda local para

disminuir el costo computacional además de generar un horario compacto para los educadores,

alcanzándose soluciones con menos del 5% de gap en 8 horas.

Por la comparación del desempeño del enfoque exacto con la heuística se desarrollo una familia

de instancias cuyos resultados revelaron que para instancias pequeñas se alcanza buenos

rendimientos en tiempos razonables además de quedar establecido que existe una mayor

dependencia del costo computacional con el tamaño del problema que con las características

distintivas del mismo.

-v-

Índice General Pág

Capítulo I

1.1. Introducción 1

1.2. Caracterización y clasificación de los problemas de asignación de horarios 2

Capitulo II

2.1. Planteamiento y Formulación del Problema 5

2.2. Objetivos 7 2.2.1. Objetivo General 7 2.2.2. Objetivos Específicos 7

2.3. Diseño Metodológico 7 2.3.1. Aspectos metodológicos e investigativos 7 2.3.2. Definición del sistema 8 2.3.3. Construcción del modelo 8 2.3.4. Solución del modelo 9 2.3.5. Validación del modelo 9

Capítulo III

3.1. Introducción 10

3.2. El problema de asignación de horarios escolares en su versión básica 13 3.2.1. Formulación del problema PHEB 13

3.3. Resolución del PHEB basada en flujo de grafos 14 3.3.1. Fijando los Cursos del Colegio 14 3.3.2. Fijando las horas de clase 15

3.4. El modelo de extensión a la versión del PHEB 16 3.4.1 Aplicación de Tabu Search al modelo extendido del PHEB 18

3.5. Modelo General de asignación de Horarios Escolares (PHE) 19 3.5.1. Descripción del problema para el modelo general PHE 19

Capítulo IV

4.1. Descripción de la Unidad Estudiada 24

4.2. Elementos para la Formulación del Problema 29

4.3. Configuración Horaria Actual 31

Capítulo V

5.1. Formulación Matemática 36 5.1.1. Índices 36 5.1.2. Parámetros: 36 5.1.3. Variables de decisión 36 5.1.4. Restricciones 37 5.1.5. Función Objetivo 39

-vi-

5.2. Desarrollo del algoritmo de solución del modelo planteado 41 5.2.1. Consideraciones Iniciales con relación a la instancia abordada 41 5.2.2. Carga Horaria 41 5.2.3. Límite del Número de lecciones diarias y disponibilidad de profesores 42 5.2.4. Disponibilidad de cursos 42 5.2.5. Penalidades 43 5.2.6. Descripción del Software y Hardware empleado 44 5.2.7. Resolución del modelo 44

5.3. Heurística de Solución 46

Capítulo VI

6.1. Resultados utilizando la heurística 51

6.2. Familia de Instancias de prueba 52 6.2. Comparación de enfoques para la familia de instancias 56

6.3. Visualización de los resultados 56

Capítulo VII

Bibliografía

Anexos

-vii-

Índice de Figuras Pág

FIGURA 1. Alumnado del Colegio Americano en 2007 y 2008 27

FIGURA 2. Configuración del Horario del Colegio Americano en la gestión 2008 32

FIGURA 3. Extracto de la Configuración de la Agenda de clases de los profesores del Colegio Americano en la gestión 2008 33

FIGURA 4. Interfaz para el ingreso de disponibilidades curso/profesor 43

FIGURA 5. Tiempos de resolución de la instancia por el método exacto .vs. GAPs 45

FIGURA 6. Movimiento entre cursos para mejora de la Función Objetivo 49

FIGURA 7. Tiempos de resolución de la instancia .vs. GAPs 52

FIGURA 8. Tiempos de resolución de la familia de instancias .vs. GAPs, enfoque exacto 54

FIGURA 9. Extracto de la configuración horaria de la instancia abordada presentada en Microsoft Excel 60

-viii-

Índice de Tablas

TABLA 1. Penalidades para la F.O. del modelo extendido de PHEB 18

TABLA 2. Partición del conjunto R 22

TABLA 3. Ciclos por nivel de Educación en el Colegio Americano 25

TABLA 4. Datos de Registro en el Ministerio de Educación de Bolivia 26

TABLA 5. Partición del conjunto R para el problema abordado 35

TABLA 6. Características de la instancia empleada 41

TABLA 7. Penalizaciones en la Función Objetivo por Categorías 43

TABLA 8. Tamaño de la instancia 44

TABLA 9. Resultados obtenidos del método exacto para la instancia empleada 44

TABLA 10. Resultados obtenidos de la heurística para la instancia empleada 51

TABLA 11. Descripción de las Características de la familia de instancias 53

TABLA 12. Resultados de la familia de instancias por el enfoque exacto 54

TABLA 13. Resultados de la familia de instancia para ambos enfoques 55

TABLA 14. Ahorros con el empleo del enfoque heurístico 56

TABLA 15. Resultados de la instancia abordada 56

TABLA 16. Asignación general para el cuerpo docente en la instancia estudiada 58

-ix-

Anexos

Tabla Anexo A.1. Matriz Carga Horaria Materia - Curso de la instancia empleada xi

Tabla Anexo A.2. Matriz Carga Horaria Profesor - Curso de la instancia empleada xii

Tabla Anexo A.3. Máximo de lecciones, Hrs. requeridas y disponibles de los Profesores xiii

Tabla Anexo A.4. Disponibilidades por curso en la instancia empleada xiv

-1-

Capítulo I

Preliminares

1.1. Introducción

En las últimas décadas, el aporte de la investigación de operaciones en la resolución de

problemas prácticos ha alcanzado nivel impensados, fruto de la incorporación de las

herramientas tecnológicas actuales y fundamentalmente el desarrollo de métodos

exactos basados en la profundización de conceptos teóricos que hacen de ésta, una

ciencia apasionante y diversa.

Por su parte, uno de los problemas combinatoriales enteros más clásicos en la literatura

se circunscribe a la programación de actividades. Entre las distintas versiones de estos,

surge el problema de asignación horaria en sus diversas formas, cuya característica

principal es la de asignar recursos a distintas actividades, sean estas productivas o de

servicio.

En el transcurso del tiempo este tipo de asignaciones han tenido una gran aplicación en

los problemas de programación de horarios escolares y universitarios. Si bien la esencia

de estos problemas se concibe como sencilla, la complicación surge en función del

entorno educativo donde es aplicado. Esto significa, que cualquier variante conceptual

en el medio educativo permitirá configurar un problema en particular, produciendo de

esta forma la necesidad de adecuar un determinado método de solución, para una

situación específica y en un entorno único. Esta complejidad ha dado lugar, en muchos

de los casos, a justificar el empleo de metaheuristicas para el abordaje de solución.

La motivación del presente trabajo va enfocada en la resolución de un problema que

pertenece a esta familia, donde el entorno esta definido por el sistema educativo

Boliviano focalizado en la Unidad Educativa Colegio Americano de la ciudad de Oruro,

tomando en consideración las condicionantes distintivas de la misma; sean estas

-2-

referidas aspectos tales como: el régimen educativo, la política de servicio del cuerpo

docente, las condicionantes académicas y políticas de la unidad estudiada.

1.2. Caracterización y clasificación de los problemas de asignación de horarios

El problema de programación de horarios en una institución educativa consiste en

determinar una secuencia de encuentros entre profesores y estudiantes en un

determinado período de tiempo satisfaciendo un conjunto de restricciones de diversa

índole. La solución manual de este problema se constituye en una tarea ardua y

normalmente requiere varios días de trabajo, sin que se asegure que la solución

encontrada sea satisfactoria para todos los agentes involucrados.

Por esta razón, se ha dado una atención especial a una resolución computacional de este

tipo de problemas de programación de actividades. Los primeros esfuerzos nacieron en

la década de los años 60 [CjGc61], desde entonces, son numerosas las publicaciones

que se han escrito sobre el tema. Muchos autores, entre ellos [SchA99] y [WerD85]

acreditan que los problemas de horarios no pueden ser automatizados en forma

completa, tanto porque es difícil discernir cuàndo un horario es mejor que otro, como

también es por el hecho de que dado un espacio de soluciones, la intervención humana

puede elegir una mejor configuración a la que el sistema podría llegar.

Por otra parte, se ha llegado al consenso en la comunidad científica que el problema de

asignación de horarios es de difícil generalización, esto como habíamos indicado

anteriormente debido a la diversidad de regímenes educacionales, el entorno y las

características de cada institución; por esta razón las soluciones desarrolladas están

relacionadas a una institución específica.

Schaerf [SchA99] clasifica los problemas de programación de horarios en tres

categorías:

-3-

• Programación de horarios escolares (School timetabling problem): Se refiere a la

asignación de horarios en una institución con las características de una escuela

secundaria típica. De forma general, esta conformado por un conjunto de profesores,

estudiantes, materias y carga horaria a ser asignada.

El objetivo básico es elaborar un horario de tal forma que:

- Se asigna la carga horaria de todas las materias a todos los cursos.

- Cada lección (o módulo de clase) no es asignada en una misma sala ni con el

mismo profesor, para cualquiera de las horas de clase.

Una característica importante de los problemas de esta categoría es la rigidez de los

horarios disponibles para la configuración del horario. Adicionalmente, el grupo de

estudiantes que se consideran para la asignación de clases es el mismo por el hecho

de pertenecer a un mismo curso. (es decir, cuarto medio, primero básico, etc).

• Programación de horarios de cursos (Course timetabling problem): Se refiere a la

asignación de clases en una institución con las características de una universidad,

esta conformado por un conjunto de cursos (por ejemplo: Cálculo, Anatomía etc.),

salas y mallas curriculares de carreras profesionales (por ejemplo: Ingeniería

Industrial, Medicina, etc).

El problema consiste en asignar cursos en salas con horarios disponibles, respetando

las capacidades existentes y que ningún estudiante que matriculó cursos de un

mismo semestre, tenga horarios de clase en forma simultánea.

• Programación de horarios de exámenes (Examination timetabling problem): Se

refiere a la programación de exámenes en una institución con las características de

una universidad, esta conformado por un conjunto de estudiantes (los cuáles están

matriculados en distintos cursos), exámenes para cada estudiante y horarios

-4-

disponibles para la realización de los exámenes. El objetivo es programar cada

examen de forma tal que ningún estudiante tenga dos o más exámenes

simultáneamente.

Cada problema de programación de horarios 1 puede ser clasificado también a partir de la

necesidad o no de una función objetivo. El Problema de Factibilidad esta relacionado

aquellos problemas en los cuales se requiere un cuadro de horario que sea factible y que

simplemente satisfaga todas las restricciones impuestas. Por su parte, el Problema de

optimización trata de identificar entre el espacio de soluciones factibles que satisfacen

un conjunto de restricciones esenciales, aquella solución que minimice una cierta

función objetivo incorporando un conjunto de restricciones no esenciales.

1 El problema de programación de horarios escolares es citado en la literatura muchas veces como class-teacher, de igual forma, el problema de programación de horarios de cursos es conocido también como University timetabling.

-5-

Marco Metodológico

Capitulo II

Desarrollo de la Estrategia Investigativa 2.1. Planteamiento y Formulación del Problema

En muchos casos, para resolver el problema de asignación de horarios o formular un

horario factible, se utiliza alrededor de una semana de trabajo de un experto sin llegar a

satisfacer todos los requerimientos del problema; esto por las características de la unidad

educativa y el entorno educat ivo donde se desarrolla. Además, dado su nivel de decisión

de mediano plazo, el problema de asignación de horarios se repite año tras año, por la

remoción de profesores, creación o cierre de paralelos en un mismo curso, cambios en la

malla curricular, etc.

Dentro de la literatura existe una escasa cantidad de formulaciones matemáticas para el

abordaje del problema de asignación de horarios escolares. Los modelos de

programación matemática existentes resuelven versiones del problema en una

adaptación muy simplificada del caso real, dificultando la generalización de estos como

herramientas de generación de horarios.

Entre las dificultades principales para la modelación de un Problema de asignación de

Horarios Escolares esta la determinación de una función objetivo. En general el valor

óptimo de una función objetivo en la práctica esta dado a partir de la negociación de los

intereses de los participantes en el proceso de enseñanza, intereses que en muchos de los

casos son mutuamente excluyentes. Este interés se encuentra relacionado

fundamentalmente por el comportamiento de los actores del sistema, esto es, la

asignación de valor a un determinado horario escolar por parte de los profesores y los

educandos.

En ese sentido, concebir a una configuración como la distribución más efectiva de la

carga horaria a la que debe ser sometido un grado cualquiera, nos da a entender que

-6-

existe un conjunto de soluciones factibles dentro del sistema analizado, del cual

obtendremos una configuración que optimice una función de los ponderadores que

agregan valor a los participantes del sistema. En la mayoría de los casos el valor

agregado tiene relación directa con los educadores, quienes requieren que la estructura

de sus tareas educativas siga el patrón deseado.

En los últimos años, en la República de Bolivia se ha desarrollado esfuerzos en la

formulación de programas de mejoramiento ligados a la Educación en el nivel primario

y secundario [Mine05]. En ese sentido el Sistema de Medición de la Calidad Educativa–

SIMECAL- como mecanismo de control de las unidades educativas en el país, permite

discernir en estrategias de transformación de la educación basada en aspectos como la

interculturalidad.

El cuestionamiento acerca de la importancia de encontrar la mejor solución al problema

planteado, permite concluir en que la configuración horaria dentro de la estructura de

cualquier Unidad Educativa es una herramienta elemental en la planificación de las

actividades curriculares y extracurriculares de la institución. En particular, una buena

configuración horaria permite constituir los lineamientos estratégicos, programáticos y

operativos de la política de servicio en el área educativa.

Cuando nos referimos a los lineamientos estratégicos estamos citando el hecho de que el

mantener una estructura horaria, acorde a los requerimientos de los educadores y

educandos, nos permite establecer los periodos de tiempo en los que se desarrollaran

actividades que tienen que ver con la formación integral de los estudiantes permitiendo

hacer un énfasis en las habilidades y destrezas de los mismos con un programa de

diferenciación de alto nivel sin dejar de lado la carga horaria exigida por las leyes

vigentes.

-7-

2.2. Objetivos

2.2.1. Objetivo General

Formular e implementar un modelo de programación matemática para la asignación de

horarios escolares en una aplicación real.

2.2.2. Objetivos Específicos

• Determinar las variables de decisión relevantes en un problema de asignación de

horarios escolares.

• Especificar el conjunto de datos e identificar las fuentes de información necesarias

para la elaboración de programas de asignación de horarios escolares.

• Desarrollar una estrategia para la solución de los modelos que surgen en el problema

de configuración del cuadro escolar.

• Desarrollar un modelo de asignación de horario escolar, en el entorno definido por el

sistema educativo boliviano, focalizado en la unidad educativa Colegio Americano de

la ciudad de Oruro, tomando en consideración las condicionantes distintivas tales

como: el régimen educativo, la política de servicio del cuerpo docente, las

condicionantes académicas y políticas de la unidad estudiada.

• Validar el modelo de asignación de horario escolar comparando la solución obtenida

con los métodos convencionales, en términos de las restricciones del problema y las

medidas de eficiencia establecidas.

2.3. Diseño Metodológico

2.3.1. Aspectos metodológicos e investigativos

• El presente proyecto parte del enfoque metodológico interpretativo porque el

problema como los demás momentos de la investigación están en función de los

requerimientos de la unidad de análisis. [HeFe07]

• El nivel de investigación que se utilizó está en función tanto del objetivo general

como de los objetivos específicos planteados, teniendo la investigación un nivel

descriptivo. [HeFe07]

-8-

• Los resultados a los que arriba el presente proyecto se introdujeron para

constituirse en una herramienta en la toma de decisiones de la Unidad Educativa,

por tanto el tipo de investigación es aplicado.

La investigación de operaciones se caracteriza por la utilización de modelos

matemáticos que buscan solucionar el problema de toma de decisiones asociados a la

investigación. Como disciplina tiene un marco metodológico bien definido y tiene la

suficiente generalidad como para ser aplicado en problemas de muy diversa índole. La

metodología se compone de cuatro etapas principales: Definición del sistema,

construcción del modelo, solución del modelo y validación de las soluciones [OrVV00].

2.3.2. Definición del sistema

En esta etapa corresponde identificar el ámbito del sistema bajo estudio, establecer el

objetivo del mismo e identificar sus alternativas de decisión. Para establecer el ámbito es

necesario desarrollar un modelo conceptual del sistema. Esto consiste en identificar sus

componentes y las relaciones existentes entre ellas, definir los límites o fronteras del

mismo, el medio ambiente y las posibles influencias de éste sobre el sistema.

Para el desarrollo de lo anterior se tomó en cuenta la dimensión espacial del sistema, el

nivel de las decisiones, la separabilidad de las decisiones, el tiempo y recursos

disponibles además de las condicionantes distintivas del problema de estudio. En el

Capítulo IV se aborda la definición del sistema de la unidad analizada.

2.3.3. Construcción del modelo

Una de las principales características de la investigación de operaciones es la utilización

de modelos matemáticos en la resolución de los problemas. En ese sentido, entendamos

a un modelo como la representación idealizada de una situación u objeto concreto. Los

modelos matemáticos emplean elementos matemáticos en la representación: símbolos,

variables, funciones, etc. Muchas de las aplicaciones de Investigación Operativa utilizan

este tipo de modelos para generar y evaluar alternativas de solución.

-9-

Los elementos característicos de un modelo matemático son las variables de decisión, las

restricciones y las medidas de efectividad. La forma en que estos elementos son

diseñados depende de la aleatoriedad e incertidumbre de los datos, de las características

de las soluciones requeridas y de las herramientas de resolución disponibles. La

construcción del modelo matemático es dada en el Cap ítulo V del presente trabajo.

2.3.4. Solución del modelo

Encontrar la solución de un modelo matemático consiste en determinar los valores de las

variables de decisión de manera que se cumplan las restricciones consideradas y que se

optimice la medida de eficiencia establecida. Desafortunadamente, para cierto tipo de

problemas de alta complejidad se requiere desarrollar enfoques aproximados que

entreguen buenas soluciones en tiempos razonables.

En correlación con la etapa siguiente, si al analizar la solución se detectan resultados no

satisfactorios, debe volverse a las etapas anteriores y efectuarse las correcciones

necesarias.

2.3.5. Validación del modelo

En el capítulo VI se trata de analizar la capacidad del modelo para generar soluciones

que se adecuen a las condicionantes del problema. Para comparar el desempeño del

modelo de programación matemática se generaron un conjunto de instancias que cubran

un espectro de posibilidades. Junto con la caracterización de las instancias en términos

de número de variables y restricciones, se tomo en cuenta el desempeño del modelo en

función del tiempo de solución y la calidad de la misma.

-10-

Marco Teórico

Capítulo III

Estado del arte 3.1. Introducción

A partir de los trabajos pioneros de Csima y Gotlieb [CjGc61] en la década de los años

sesenta del Siglo XX, muchos artículos relacionados a problemas de horarios se

encuentran descritos en la literatura con diferentes métodos de solución.

En primera instancia, la mayoría de las técnicas empleadas fueron las heurísticas

constructivas, que consisten en una configuración gradual del horario, llenando lección

por lección2 hasta que todas las lecciones estén dentro del mismo o hasta cuando

aparezca un conflicto.

En una segunda instancia, los investigadores comenzaron aplicar técnicas generales de

resolución del problema como son la programación entera, flujo en grafos y coloración

en grafos.

Tripathy [TripA84] aplicó relajación lagrangiana para que un problema de asignación de

cursos se reduzca a un problema básico, utilizando una función objetivo lineal que mide

el deseo de que una lección de una determinada materia se dicte en una hora de clase

dada. Las restricciones que imposibilitan que los estudiantes de un mismo curso asistan

a más de una sala de clase en una misma hora de clase3 son relajadas e incorporadas en

la función objetivo. Las variables duales relativas a estas restricciones son obtenidas por

el método de subgradiente combinado con Branch & Bound.

2 Llámese lección o clase a la actividad de enseñanza que se desarrolla durante una hora de clase. 3 Llámese hora de clase a uno de los períodos en los que es dividida una jornada de enseñanza normal.

-11-

Con relación a la técnica de coloración de grafos [WoDc70] y [NgTj74], el problema de

programación de horarios escolares se reduce a un problema k-coloreo de un grafo

interpretando cada color como una hora de clase diferente. Sea G = {V,A} el grafo

definido por un conjunto de vértices Vv ∈ donde v corresponde a una lección y el

conjunto de arcos ( ) Avv ∈21 , entre cada par de lecciones que no pueden ser asignadas

simultáneamente. El problema entonces es el de colorear los vértices de G empleando k

colores, de forma que las lecciones de una misma hora de clase estén asignadas con el

mismo color.

Recientemente, aparecieron soluciones basadas en la aplicación de metaheurísticas

como: Simulated Annealing, Tabú Search, algoritmos genéticos, satisfacción de

restricciones y una amplia gama de combinaciones.

Abramson y Dang en [AdDh93] aplicaron Simulated Annealing para resolver un

problema de asignación de horarios que incluye la asignación de salas. La función

objetivo esta dada por la minimización del número de conflictos de cursos, de profesores

y de salas, para cada hora de clase. Una solución de este enfoque esta dada por una lista

de lecciones para cada hora de clase, siendo cada lección una asociación entre profesor,

curso y sala que los autores denominaron elemento. Dada una solución factible, se

selecciona una configuración vecina y se elige de forma aleatoria una lección que será

removida e insertada en otra configuración para luego calcular la diferencia entre el

costo de insertar y remover la lección entre estas dos configuraciones; si la diferencia es

negativa (o sea se mejora la función objetivo) se acepta el cambio, caso contrario con

una probabilidad asociada se acepta el cambio dependiendo de la temperatura del

proceso.

Los diversos enfoques que se han desarrollado sobre la base de tabú search difieren en la

determinación del concepto de movimiento y en la función objetivo a optimizar; en

puntos siguientes retomaremos este punto con mayor detalle. Hertz [HerA92] aplico

-12-

Tabú Search para resolver un problema donde un grupo de lecciones es dividido en

tópicos los cuales deber ser enseñados en un cierto orden, para un curso dado y a lo

largo de un conjunto de días. Cada tópico tiene asociado a un profesor, un día de inicio y

cierto número de horas de clase. Las restricciones del problema se dividen en dos

grupos: esenciales y no esenciales, estas últimas son relajadas e incorporadas en la

función objetivo penalizando cada restricción de este grupo que sea violada. El objetivo

es encontrar una solución que satisfaga el conjunto de restricciones esenciales y que

minimice el número de violaciones de las restricciones relajadas. Un mo vimiento es

considerado como el cambio de posición de la sesión de un tópico a un día diferente.

Colorni y otros [CoDM98] han aplicado algoritmos genéticos para la resolución de este

tipo de problemas donde inicialmente se presentan escenarios infactibles. En este caso la

función objetivo incorpora criterios acerca de la didáctica, requerimientos

organizacionales y personales además de un número de infactibilidades. Para su

resolución, la función objetivo es jerarquizada atribuyendo pesos relativos a los criterios

incorporados, dando una mayor valoración a las infactibilidades.

Yoshihawa, Kaneko y Nombra en [YmKN94] tratan el problema de asignación de

horarios como uno de satisfacción de restricciones donde se trata de encontrar el valor

de cada variable discreta, definida en un dominio finito, satisfaciendo un conjunto de

restricciones.

A continuación, realizaremos una descripción detallada de los principales enfoques de

solución encontrados en la literatura para el abordaje del problema de asignación de

horarios escolares en diversos contextos.

-13-

3.2. El problema de asignación de horarios escolares en su versión básica

Empleando la nomenclatura descrita en [SoMa00] y [EsIS76] vamos a describir un

Problema de asignación de Horarios Escolares en su versió n Básica, (de aquí en

adelante denotado por PHEB).

3.2.1. Formulación del problema PHEB

Sean:

- Hh∈ : Una hora de clase que pertenece al conjunto finito H de horas de clase

semanales.

- Mt ∈ : Un profesor que pertenece al conjunto M de profesores del colegio, por su

parte t también esta asociado a HTi ⊆ , donde T representa un conjuntos de horas

de clase en las cuales el profesor i esta disponible para enseñar.

- Nc ∈ : Un curso del colegio. Por su parte c es elemento de HC j ∈ donde jC es

un conjunto de horas de clase en las cuales un curso j esta disponible.

- chijrR ×= )( : Una matriz de números enteros no negativos, los cuales representan el

número de lecciones que cada profesor i tiene que dictar para cada curso j.

Definición 3.2.1.1. El PHEB consiste en determinar la existencia de una función

{ } { }Nhkjif ,...,1,...,1:),,( × , (donde 1),,( =kjif si el profesor i enseña al curso j en la

hora de clase k) que satisfaga:

a) 1),,( =kjif { }ji CTk ∩∈∀

b) ∑∈

=Hk

ijrkjif ),,( ti ,..,1=∀ cj ,..,1=∀

c) ∑=

≤t

i

kjif1

1),,( cj ,..,1=∀ y 1,..,k h∀ =

d) ∑=

≤c

j

kjif1

1),,( ti ,..,1=∀ y 1,..,k h∀ =

La restricción (a) asegura que existe un encuentro entre el profesor i conjuntamente al

curso j si es que ambos están disponibles en el horario de clase k. La restricción (b)

-14-

garantiza que el número total de encuentros durante la semana entre el curso j y el

profesor i es exactamente el número requerido ijr ; es decir, la suma total de encuentros

del curso con el profesor será igual a la carga horaria por asignatura4 del mismo. La

restricción (c) impide que más de un curso tenga a un mismo profesor en una misma

hora de clase, de igual forma la restricción (d) asegura que ningún profesor tenga

asignado en una misma hora de clase a mas de un curso.

Even en [EsIS76] demuestra que una instancia simple del PHEB pertenece a una clase

NP-completo y que por tanto el problema general de programación de horarios escolares

también lo es.

3.3. Resolución del PHEB basada en flujo de grafos

A continuación describiremos los dos procedimientos heurísticos presentados por de

Werra en [WerD85] y Freitas Souza en [SoMa00] para la resolución del PHEB en donde

aparecen restricciones acerca de la no disponibilidad de profesores y de cursos. Ambos

algoritmos propuestos tratan de obtener una solución factible, el primer algoritmo

descrito en la sección 3.3.1 consiste en construir un horario curso por curso a partir de

resolver el problema de flujo máximo en un grafo asociado. En el segundo caso descrito

en la sección 3.3.2, el procedimiento de solución esta dado a partir de fijar las horas de

clase en lugar de los cursos.

3.3.1. Fijando los Cursos del Colegio

Dado un curso jc construimos un grafo asociado al PHEB de la forma siguiente:

- Introduzca un nodo en el grafo por cada hora de clase kh y por cada profesor it que

dicta una lección al curso j.

4 Llámese carga horaria al conjunto de lecciones que debe llevar un curso, de una misma materia, en un periodo dado. (corrientemente este periodo es una semana)

-15-

- Unir cada nodo kh con it solamente si el profesor it se encuentra disponible en la

hora de clase kh .

- Introduzca un nodo fuente s con arcos {s, kh }para todas las horas de clase kh y un

nodo destino t con arcos { it ,t} para todos los profesores it

- Establezca u como la capacidad del arco { it ,t} o entiéndase a u como el número de

lecciones que el profesor it debe enseñar al curso ijc , esto es igual a: iji rttu =),(

- Fije en 1 las capacidades de los demás arcos, esto es khsu k ∀=1),( y

ikthu ik ,1),( ∀= .

A continuación se debe calcular el flujo máximo desde el nodo fuente s al nodo t. La

solución de este problema nos brinda un horario de clases 5 para cada curso jc una vez

que cada componente de la solución de flujo máximo este asociado a un arco que una a

un profesor con una hora de clase. La construcción del grafo se repite para los cursos

restantes, de forma de obtener el horario de lecciones completo para todos los cursos del

colegio. Resulta lógico pensar que el horario de un curso se encontrará completamente

lleno si la carga horaria del mismo es igual al total de horas de clase disponibles. Caso

contrario no existe una solución a partir de este procedimiento puesto que se da una

asignación inadecuada de profesores a horas de clase en un curso predecesor o de

iteraciones anteriores a la considerada.

3.3.2. Fijando las horas de clase

Un procedimiento análogo al anterior consiste en considerar una hora de clase a la vez.

En este caso, se crea un grafo para cada hora de clase y se traza un arco uniendo un

nodo profesor con un nodo curso si existe una lección que los involucre, el costo de cada

arco define la urgencia de la lección. El objetivo entonces consiste en encontrar un

5 Entiéndase como horario de clases al cuadro que registra el conjunto de lecciones que han sido asignadas para toda la semana, para un determinado curso del colegio.

-16-

emparejamiento de peso máximo. Se trata de un procedimiento heurístico toda vez que

no garantiza que la asignación de una hora de clase sea la óptima.

3.4. El modelo de extensión a la versión del PHEB

Se trata de una adaptación al método Tabú Search donde se permite que durante la fase

de búsqueda el usuario pueda modificar de forma manual tanto el horario de clases como

las restricciones del problema. El modelo fue desarrollado por Andrea Schaerf [SchA96]

y su aplicación se dio en un colegio de enseñanza media italiano.

A la nomencla tura descrita en el punto 3.2.1. se añade las siguientes matrices binarias:

thT 1 si el profesor t ( )Mt ∈ esta disponible en el horario de clase h ( )Hh ∈ 0 ∼

jhC 1 si el curso j ( )Nj ∈ esta disponible en el horario de clase h ( )Hh ∈ 0 ∼

jhD 1 si el curso j ( )Nj ∈ debe tener clase en el horario h ( )Hh∈ 0 ∼

Entonces, la variable de decisión viene definida como:

tjhx 1 si el profesor t ( )Mt ∈ es asignado al curso j ( )Nj ∈ en la hora de clase

h ( )Hh ∈ 0 ∼

La formulación del problema es dada por:

1

1

1

1

. .

) ,

) ,

) ,

) ,

) {0,1} , ,

tjh

M

tjh jht

N

tjh thj

H

tjh tjh

M

tjh tjt

tjh

Solve x

s a

a x c j h

b x t t h

c x r t j

d x d j h

e x t j h

=

=

=

=

≤ ∀

≤ ∀

= ∀

≥ ∀

∈ ∀

-17-

La restricción (a) nos indica que un profesor t puede ser asignado a un curso j en la hora

de clase h si es que el curso se encuentra disponible en esa hora de clase. La restricción

(b) de manera similar condiciona la asignación de un curso si es que el profesor t se

encuentra disponible en h.

La restricción (c) asegura que las asignaciones se den para la carga horaria semanal por

materia. La restricción (d) involucra el hecho de que para ciertas horas de clase (por

ejemplo las primeras horas de la mañana) cada curso debe tener de manera obligatoria la

asignación de una lección de materia (por lo menos una). Esto tiene sentido en el hecho

de que por ejemplo un alumno de primaria no puede tener la primera hora de la mañana,

de un día cualquiera, libre6.

En contraposición de aquello puede existir horas de clase de una jornada de enseñanza

(por ejemplo el último periodo de la tarde) en las que un curso no tenga clase aunque lo

tenga disponible.

En lo que concierne a la función objetivo, ésta es evaluada en función de un conjunto de

indicadores relacionados a los cursos y los profesores. Para cada profesor se especifica

los límites máximos y mínimos de lecciones a dictar por jornada además de especificar

las horas de clase en la que a ellos les gustaría (o desearían) dictar a un curso.

Para cada curso se establece la sala 7 (ambiente) donde la mayoría de las lecciones serán

desarrolladas. En este sentido, la función objetivo es una sumatoria sobre el producto de

la asignación de profesores a cada curso (evaluada temporalmente por día o semana) y

los pesos relativos (penalidades) de los indicadores mencionados. Schaefer designó para

su modelo, los siguientes pesos relativos de la función objetivo:

6 Entiéndase por hora libre al hecho de que el curso no tenga asignada ninguna clase en ese periodo, aunque el curso tenga ese horario disponible para ser asignado. 7 Entiéndase por sala de clase al espacio en el cual se desarrolla el proceso de enseñanza

-18-

TABLA 1. Penalidades para la F.O. del modelo extendido de PHEB Componentes F.O. Descripción Valor de la

penalidad wi Puente profesor Hora de clase ociosa en un mismo día en la agenda

del profesor 1

Puente curso Hora de clase ociosa en un mismo día en el horario del curso 6

Bajo límite diario La carga horaria diaria para un profesor es menor a su límite mínimo establecido

4

Sobre límite diario La carga horaria diaria para un profesor es mayor a su límite máximo establecido

3

Indeseado Asignación de un profesor en una hora no deseada 3 Cambio Sala Cambio de un curso de su sala para dos horas de

clase consecutivas de una misma materia 5

3.4.1 Aplicación de Tabu Search al modelo extendido de l PHEB

Para facilitar la inspección dentro del espacio de búsqueda se incorpora a la función

objetivo descrita en la sección anterior la penalización (w=20) a las infactibilidades en lo

que corresponde a la asignación de más de un profesor a un mismo curso en una hora de

clase y la asignación de una hora de clase en un horario no disponible para el profesor.

En lo que corresponde a la estructura del vecindario se definen dos clases de

movimientos. El primero es el movimiento elemental que consiste en trueque de dos

horas de clase -h1 y h2 con h1>h2- para un profesor. Es indudable que este tipo de

movimientos dentro de soluciones factibles generan una solución infactible (a.i. asignar

dos profesores a un mismo curso en un mismo h) que debe ser reconfigurada. En este

sentido, y siempre que se presente una infactibilidad al realizar el primer movimiento

elemental, se da lugar al movimiento en dupla que consiste en un segundo movimiento

elemental, intercambiando en esta ocasión la hora de clase en conflicto y la que fue

movida en el paso anterior. Estos movimientos permiten establecer una relación de

vecindario permitiendo una búsqueda en el espacio del entorno, pudiendo configurar

otro horario a partir de movimientos elementales sobre uno inicial. El tamaño del

vecindario es del orden de 5,0*)1(** −HHM .

-19-

La solución inicial se genera utilizando el método aleatorio de búsqueda (con

movimientos laterales), seleccionando la mejor solución encontrada en un número

determinado de instancias. Se inicia el algoritmo de Tabú Search hasta que sea

interrumpido cuando no existan mejoras sustanciales en un número fijo de iteraciones.

El proceso se reinicia tomando como punto de partida la nueva solución encontrada en el

ciclo anterior; este procedimiento se repite hasta que no existan mejoras en un número

de ciclos fijo. El hecho que se aplique un método aleatorio de búsqueda es que, por un

lado, a partir del mismo se consigue fácilmente la solución inicial; y por otro lado, con

sus movimientos laterales modifica la solución en cada ciclo permitiendo que el

algoritmo Tabu Search explore en varias direcciones.

En lo que corresponde al criterio de aspiración, el comportamiento de las penalidades a

las infactibilidades cambia en las dos fases del procedimiento: en la fa se de la

generación de la solución inicial las penalidades son w, en tanto que en cada iteración

del algoritmo Tabu Search las penalizaciones toman valores aleatorios para no dirigir la

búsqueda de manera determinística; se establecen límites [0.01, 10] para permitir violar

las restricciones en un determinado grado.

3.5. Modelo General de asignación de Horarios Escolares (PHE)

Pasamos a describir el modelo de Costa [CosD94] que trata de incluir un conjunto

importante de restricciones que son las que posiblemente aparecen en este tipo de

problemas.

3.5.1. Descripción del problema para el modelo general PHE

a) Conjuntos:

− },....,,{ 21 mtttT = Conjunto de m profesores

− },....,,{ 21 ncccC = Conjunto de n cursos

-20-

− },....,,{ 21 phhhH = Conjunto de p horas de clase. Se considera que p = nd x hd,

donde nd representa el número de días a la semana que se trabaja en el colegio y hd

representa el número de horas de clase al día.

− },....,,{ 21 nssssS = Conjunto de ns materias

− },....,,{ 21 nrrrrR = Conjunto de nr salas especializadas

− },....,,{ 21 nssssssssSS = Conjunto de nss materias especializadas, esto es, un

subconjunto de S que contiene a las materias que deben dictarse en salas

especializadas (i.e. Computación)

− },....,,{21 mttt HTHTHTHT = Conjunto de horarios

itHT durante los cuales el i-ésimo

profesor esta disponible para enseñar }{ HHTit

− },....,,{21 nccc HCHCHCHC = Conjunto de horarios

jCHC durante los cuales el j-

ésimo curso esta disponible para aprender }{ HHCjc ⊂

a.1) Notación complementaria

− kA Conjunto de lecciones en la hora de clase k

− sHS Conjunto de horas durante las cuales la materia s no debe ser enseñada

− ),( ksadaClaseAsign , número de clases de la materia s que son asignadas a la hora k

− ),(Pr yxofcomun , el número de profesores comunes en las clases o lecciones x e y

− ),( yxCursocomun , el número de cursos comunes en las clases o lecciones x e y

− ),( ktSalaDisp , el número de salas especializadas tipo t disponibles en la hora k

− ),( ktSalareq , el número de salas especializadas tipo t requeridas en la hora k

− ),(Pr turnoioflleno , la suma de clases secuenciales del profesor i en cada turno 8.

− ),(Pr turnoioflibre , el número de horas libres en la agenda del profesor i por turno.

b) Supuestos:

− Durante todo el día, las salas de enseñanza comunes tienen disponibilidad ilimitada 8 Entiéndase por turno, la media jornada de clase (i.e. turno mañana y turno tarde)

-21-

− Para cada curso se ha definido la cantidad y duración de las lecciones a llevar.

c) Conjunto de Restricciones {R}:

− Sobre posición de profesores: un profesor no puede enseñar más de una lección en

una misma hora de clase.

− Sobre posición de cursos: un profesor no puede tener más de una lección en una

misma hora de clase.

− Sobre posición de salas especializadas: el número de salas especializadas requeridas

no puede ser mayor a la cantidad disponible, para cualquier hora de clase.

− Indisponibilidad de profesor: un profesor no puede ser asignado en horas de clase

en las que no este disponible.

− Indisponibilidad de curso: un curso no puede tener asignadas horas de clase en las

que no este disponible.

− Agenda compacta: para los cursos es un requisito no presentar puentes o baches e su

configuración horaria, para los profesores es deseable tener una cantidad mínima de

baches en su agenda.

− Precedencia : existen materias que en muchos casos no pueden ser asignadas de

manera secuencial. (i.e. Calculo y Física)

− Preparación de salas especializadas: una sala especializada no esta disponible

cuando se esta preparando para una lección especifica posterior.

− Lecciones de a dos (duplas): en muchas instituciones existen lecciones de materias

que se deben dictar en dos horarios, lo que se pide es que estos horarios deban ser

consecutivos.

Muchas de las restricciones presentadas (y otras más) no ocurren en problemas de

asignación de horarios, pero Costa las incluyo para obtener un modelo más general. Para

abordar la formulación matemática del problema se realiza una partición del conjunto de

restricciones {R} en dos subconjuntos {Re} restricciones esenciales o duras y {Rr}

restricciones susceptibles a relajarse o suaves. En tal sentido, una solución que satisface

las restricciones esenciales se llama factible, y aquella que satisface todas las

restricciones se llama aceptable.

-22-

TABLA 2. Partición del conjunto R Restricciones Duras {Re} Restricciones Suaves {Rr}

Indisponibilidad de profesor Sobre posición de profesores Indisponibilidad de curso Sobre posición de cursos

Precedencia Sobre posición de salas especializadas Lecciones de a dos (duplas) Agenda compacta

Preparación de salas especializadas

d) Función Objetivo:

∑=

=1

)()(i

ii QfwQf

)()()()()()( 54321 QfQfQfQfQfQf ++++=

∑ ∑∑∑

∑ ∑ ∑∑∑ ∑

= == =

= = ∈∈<= ∈<

+−

+++=

M

i

nd

turno

nr

t

H

k

H

k

ns

s HSkAyx

H

k Ayx

turnoioflibrexturnoiofllenoktSalaDispktqSala

ksadaClaseAsignyxCursocomunyxofcomunQfskk

1

*2

11 1

1 11

)},(Pr),((Pr}),(),(Remax{

),(),(),(Pr)(

La función objetivo esta estructurada jerárquicamente, donde cada uno de los )(Qf i

componentes de la función objetivo tiene una penalización iw que le confiere la

importancia relativa a las restricciones relajadas. Los )(Qf i calculan el grado de

violación de la i-ésima restricción relajada. )(1 Qf , evalúa la cantidad de profesores que

se encuentran asignados a dos clases en un misma hora; )(2 Qf , evalúa cuantos cursos

tiene asignados dos clases simultáneamente; )(3 Qf , evalúa cuantas clases de la materia

s son asignadas a horas de clase en las cuales no se desea dictar esa materia; )(4 Qf ,

evalúa cuantas veces no existen salas especializadas disponibles cuando se las requiere y

)(5 Qf mide cuan compacto es el horario.

-23-

Marco Práctico

Capítulo IV

El Problema de Horario Escolar en la Unidad Estudiada En el desarrollo del presente capítulo se describe en detalle las características y el

entorno del problema de estudio abordado. En las secciones subsecuentes se introduce el

problema y se puntualiza los requerimientos exigidos por la unidad educativa para

considerar a una configuración de horario escolar como aceptable.

Con relación al contexto histórico en el que se enmarca la actividad educativa en Bolivia

en general, El 7 de julio de 1994 se promulgó la Ley 1565 de Reforma Educativa, que

modificó el Código de la Educación Boliviana. La reforma educativa impulsa una

transformación integral del Sistema Educativo Nacional (institucional y técnico–

pedagógica). Se propone mejorar su calidad y eficiencia, instaurando un sistema

educativo intercultural–bilingüe y participativo que garantice el acceso de todos los

bolivianos a la educación. Desde el punto de vista educativo, la reforma no sólo ha

apoyado el proceso de aprendizaje, sino también ha brindado apoyo a la labor de

enseñanza, con la elaboración de guías para docentes, cursos de actua lización y asesores

pedagógicos que dan asistencia técnica a los establecimientos educacionales.9

A partir de esta reforma, las instituciones que prestan servicios de educación primaria y

secundaria deben ajustar sus programas académicos con el objeto de adecuarse a los

lineamientos de la nueva estructrura educativa, lo que conlleva la necesidad de hacerse

de herramientas de apoyo a la gestión administrativa, en la búsqueda de una estructura

académica que condiga con la carga horaria por grado y que por otro lado incorpore en

su análisis a los actores fundamentales del proceso educativo, profesor y alumno, ya que

su desempeño es el que determinará el aprendizaje en la sala de clases.

9 Reinaga T., (1999). Reforma al sistema de remuneraciones de los docentes del servicio de educación pública en Bolivia. Magister en Gestión y Políticas Públicas Universidad de Chile, Estudio de Caso 41, p. 9.

-24-

4.1. Descripción de la Unidad Estudiada

La Unidad Educativa Colegio Americano10 se crea con la Resolución Ministerial Nº

2658 al amparo de las leyes de la República de Bolivia, teniendo como sede a la ciudad

de Oruro, y comprende todos los grados del nivel inicial hasta el nivel secundario.

Desde su creación, su labor está comprometida con la formación de nuevas generaciones

socialmente útiles, con conciencia nacional y que coadyuven con un mayor progreso y

potenciamiento económico-social de Bolivia. La historia del Colegio Americano se va

colmando de estupendos capítulos de sacrificio y éxito, cuyo conocimiento constituirá

una rica veta para el historiador y el poeta; todos los niños y jóvenes que jugaron y

juegan por sus corredores, todas la generaciones que pasaron y pasarán por sus aulas

bebiendo en sus aulas las aguas puras de la ciencia y el arte, muy pronto darán brillo a la

nación por sus trabajos y por sus luces.

Asimismo, desde su fundación, el Colegio Americano ha establecido el bachillerato -

Científico Humanístico- Diversificado en las áreas de Ciencias Exactas, Ciencias

Biológicas y Ciencias Sociales; las cuales permiten a los jóvenes una formación que

estimula y despierta su vocación profesional.

En concordancia con el Decreto Supremo 23950 y la Ley 1565 de la Reforma Educativa

Boliviana, en su Reglamento sobre Organización Curricular, en el establecimiento los

niveles de organización pre-escolar, primario y secundario están formados por ciclos.

Los ciclos constituyen periodos de duración variada dentro de un determinado nivel, en

los cuales los educandos desarrollan determinadas competencias, como parte del proceso

educativo.

-25-

TABLA 3. Ciclos por nivel de Educación en el Colegio Americano Nivel de Educación Ciclos

Pre-escolar o inicial a. El ciclo de primeros aprendizajes. b. El ciclo de preparación escolar.

Primaria a. El ciclo de aprendizajes básicos. b. El ciclo de aprendizajes esenciales. c. El ciclo de aprendizajes aplicados

Secundaria a. El ciclo de aprendizajes tecnológicos. b. El ciclo de aprendizajes diferenciados.

Fuente: Elaboración propia en base a documentación de la Unidad de estudio

Bajo el mismo sustento organizativo el currículo de la educación boliviana está

orientado a satisfacer las necesidades básicas de aprendizaje de los diversos tipos de

educando a los que atiende el sistema en cada una de sus áreas, niveles y ciclos. En los

niveles pre-escolar, primario y secundario, el currículo nacional está compuesto por un

tronco común curricular de alcance nacional y por ramas complementarias

diversificadas, diseñadas y de uso en cada unidad educativa, núcleo, distrito y

departamento.

En todo el territorio de la República, en cada Unidad Educativa y Núcleo Educativo

tanto en la educación fiscal como en la educación privada, es obligatorio el desarrollo

del tronco común curricular y de las ramas complementarias diversificadas específicas.

El tronco común curricular de alcance nacional asume la perspectiva intercultural

adoptada por la educación Boliviana. Comprende las competencias básicas que

adquieren y desarrollan todos los educandos y rige para todo el territorio de la

República.

Las ramas complementarias de carácter diversificado están orientadas a la adquisición y

desarrollo de competencias y contenidos complementarios relacionados con la

especificidad ecológica, étnica, sociocultural, socioeconómica y sociolingüística de cada

departamento y municipio del país en los que se organiza y desarrolla el currículo.

-26-

TABLA 4. Datos de Registro en el Ministerio de Educación de Bolivia DESCRIPCION GENERAL DE LA UNIDAD EDUCATIVA

CODIGO UNIDAD EDUCATIVA 81230185 PROVINCIA 01-Cercado SECCIÓN 01-Capital (Oruro) AREA Urbano NOMBRE UNIDAD EDUCATIVA AMERICANO DIRECCION Potosí 5648 Caro y Cochabamba DEPENDENCIA Privada TIPO DE UNIDAD EDUCATIVA Seccional NIVEL Inicial/Primaria/Secundaria MACRO DISTRITO Oruro ZONA Central TURNO Mañana y Tarde Fuente: Lista de unidades educativas de dependencia publica y privada, Ministerio de Educación de Bolivia, 2008

En lo que corresponde a la configuración operativa, la institución trabaja en dos turnos,

por el lapso de siete horas de clase diarias, durante cinco días a la semana. Cada hora de

clase consta de 45 minutos, con un lapso de 10 minutos entre clase para cambio de sala

(si el caso así lo amerita) y un lapso de descanso entre el tercer y cuarto horario de 20

minutos (desca nso pedagógico) en el turno de la mañana y 15 minutos entre la primera y

segunda hora de la tarde.

En particular el nivel inicial sale de la configuración general del establecimiento, ya sea

por los horarios de ingreso y salida diferenciados -en base a la carga horaria a cumplir y

las características de este estracto particular del conglomerado educativo- o por el hecho

que los primeros cursos no participan del proceso de enseñanza durante toda la jornada,

lo hacen solamente en el transcurso de la mañana . Esto porque los ciclos de aprendizaje

que pertenecen a este nivel requieren una menor cantidad de horas de clase. En el caso

de los primeros cursos del nivel primario ellos realizan actividades extracurriculares

durante una o dos tardes entre semana.

El plantel docente esta conformado en el 2008 por 35 profesores entre titulares y

contratados, número que tiene directa dependencia con la cantidad de alumnado del

colegio; presentándose [obedeciendo a la demanda de estudiantes] la necesidad de abrir

-27-

paralelos de los cursos preestablecidos por la normativa boliviana existente. Esto es, si

bien son catorce los cursos predefinidos en los que se desarrolla el proceso de

enseñanza, en la actualidad el establecimiento esta compuesto por 19 cursos (5

paralelos).

FIGURA 1. Alumnado del Colegio Americano en 2007 y 2008

0 10 20 30 40 50 60 70 80

Nº Alumnos por curso

PK

K

1

2

3

4

5

6

7

8

I

II

III

IV

Cu

rso

s

2007 2008 Fuente: Lista de unidades educativas de dependencia pública y privada, Ministerio de Educación de Bolivia .

Cada profesor titular tiene asignadas las materias que debe enseñar, presentándose los

casos en los que un mismo profesor enseña una asignatura en el nivel primario y otra en

el nivel secundario (i.e. el profesor de la asignatura Ciencias Naturales en los últimos

cursos del nivel primario es profesor de Química en el nivel secundario). Por otro lado, y

como una particularidad de la institución, que tiene origen en la estructura de tipo

Cooperativa, existe un conjunto de los profesores titulares que tienen prioridad en la

conformación de su agenda. En el caso de los profesores contratados la situación es

distinta y en la mayoría de los casos sus horas disponibles u horarios deseados pueden

ser susceptibles de alterar (i.e. existen casos que un profesor contratado recibe un trato

especial; el profesor de anatomía de los últimos cursos del nivel secundario tiene una

-28-

agenda prioritaria puesto que desarrolla actividades paralelas a las académicas en otras

instituciones del área de la salud).

Con relación a la carga horaria, esta se encuentra definida al inicio de la gestión y resulta

de la planificación estratégica de la institución. A diferencia de otras instituciones

educativas los profesores contratados no deben acumular un determinado nivel de horas

de clase, por tanto ellos se rigen simplemente a las horas que han sido asignadas por

materia. En este sentido tanto para los profesores titulares -que tienen a su cargo varios

cursos o varias materias para un mismo curso- como para los profesores contratados -

que prefieren desarrollar su trabajo en turnos cerrados durante una misma jornada para

poder realizar actividades extras que no involucren al trabajo de aula- prefieren una

agenda compacta con el mínimo de puentes posibles. Por razones pedagógicas, el colegio no puede dictar más de una hora de clase de una

materia a un mismo curso en una jornada de trabajo (aunque existen casos especiales en

el nivel primario). Existe un manejo particular con las clases de Educación Física y

Deportivos (i.e. Fútbol y Natación) en las cuales se trata de dar una continuidad mayor,

fundamentalmente por los tiempos de desplazamiento que involucran. En este sentido

existen horarios en los que un conjunto de cursos tanto de primaria como de secundaria

tienen por defecto ocupados los horarios para realizar la actividad deportiva no por

curso, sino mas bien por la categoría etária de sus componentes (i.e. Futbol Sub-9,

Natacion Sub-11,etc). Si bien no existen clases simultáneas en la mayoría de los cursos, en particular el

Segundo Medio (segundo curso del nivel Secundario) tiene una hora de clase

correspondiente a orientación vocacional en las tres áreas diversificadas. Esto es, una

vez a la semana el curso se divide en tres grupos para asistir a tres clases simultáneas

distintas: Botánica, Geometría y Comunicación.

Con relación al manejo de las aulas o salas de clase, cada grupo de educandos (curso)

tiene asignado un aula para el desarrollo del proceso de enseñanza. Esto es, la rotación

dentro de los periodos de clase se da fundamentalmente por parte de los profesores, y en

-29-

su caso cuando así lo amerite, los estudiantes cambian de sala a una de similar

capacidad. En este sentido, en particular para la institución estudiada, la asignación de

aulas de clase no forma parte de la problemática a ser resuelta en el desarrollo del

presente trabajo. Sobre el mismo aspecto, existen salas especializadas en lo que corresponde a los

laboratorios de Física, Química, Computación e Ingles (para primaria). Las clases en las

dos primeras salas se dan en un frecuencia quincenal por tanto la planificación global

por área de contenidos programáticos (Departamento de Física y Departamento de

Química) define la temporalidad del uso de cada sala, evitando así un posible choque de

horarios. Existen dos salas de computación y cuatro profesores del Departamento; cada

sala cuenta con dos profesores por ciclo y capacidad para un curso promedio. En lo que

corresponde al laboratorio de Ingles para primaria, la misma se utiliza una vez a la

semana por cada curso.

4.2. Elementos para la Formulación del Problema

Partimos con la identificac ión de los conjuntos empleados en la formulación del

problema:

Conjuntos:

},....,,{ 21 mpppP = Conjunto de m profesores.

},....,,{ 21 ncccC = Conjunto de n cursos.

},....,,{ h521 ×= hhhH Conjunto de horas de clase. Se considera que el número

de días a la semana que se trabaja en el colegio son

cinco, y 5xh representa el número de horas de clase al

día.

},....,,{ 21 nssssS = Conjunto de s materias para cada n-ésimo curso. Cada

materia de un curso esta asociada a un único profesor

previamente establecido.

1 2{ , }T t t= Conjunto de t turnos de clases para la configuración

-30-

semanal. En el caso actual se trabaja en dos turnos,

mañana (4 horas) y tardes (3 horas) durante toda la

semana.

{( , ) : , }v w v wCP i j i C j P= ∈ ∈ Conjunto Simultáneo de pares (profesor i, curso j) que

deben dictarse de manera simultánea. En ese sentido C

y P son el subconjunto de cursos y profesores

simultáneos. 11

},....,,{21 mttt HTHTHTHT = Conjunto de horarios

itHT durante los cuales el i-ésimo

profesor esta disponible para enseñar }{ HHTit

⊂ .

},....,,{21 nccc HCHCHCHC = Conjunto de horarios

jCHC durante los cuales el j-ésimo

curso esta disponible para aprender }{ HHCjc ⊂ .

Dentro de los requisitos de la situación abordada, establecemos el conjunto de

exigencias relacionadas al problema:

Características de los requisitos del problema:

a) Sobre posición de cursos: Un profesor no puede enseñar a más de un curso en una

misma hora de clase.

b) Sobre posición de profesores: A un curso no puede asignarse una clase con más de

un profesor en una misma hora de clase.

c) Carga horaria: Todos los profesores deben cumplir con la carga horaria de lecciones

semanales en cada uno de los cursos. 12

d) Indisponibilidad de Profesor: Un profesor no puede ser asignado a una hora de clase

en la que no este disponible.

11 Por ejemplo, la materia de Educación Física, que debe ser dictada de manera simultánea por género. 12 Una configuración de horario de profesores que viola estas primeras tres restricciones es considerada infactible.

-31-

e) Indisponibilidad de Curso: Un curso no puede tener asignada una materia, y estar

relacionada a un profesor, en una hora de clase en la que no se encuentre el curso

disponible.

f) Número máximo de clases (lecciones) diarias por curso de una misma materia: Un

curso no puede tener más de cierto número de lecciones de una misma materia, al

día. En la mayoría de los casos, un profesor del establecimiento no puede dictar mas

de una hora de clase diaria por curso, sin embargo existen miembros del plantel

docente que dictan dos o más materias distintas al mismo curso, por tanto esta

salvedad es importante tomarla en consideración.

g) Clases simultáneas: La asignación para los cursos y profesores que pertenecen al

conjunto simultáneo se debe realizar a la misma hora de clase. Esta restricción tiene

aplicación a la asignatura de Educación Física (donde los grados se dividen por

género no por paralelo) y a la asignatura de Ingles (donde los grados se dividen por

niveles en el conocimiento del idioma).

h) Horario compacto para los profesores: la agenda de clases de los profesores13 debe

ser tan compacta como sea posible.

4.3. Configuración Horaria Actual

En la Figura 2 se representa la configuración horaria del establecimiento en la gestión

2008. Por cada materia en el horario existe un profesor asociado, esto significa que para

un conjunto de profesores de área existe un número de materias a su cargo.

Esta instancia nos sirve como punto de partida -en lo que corresponde a la carga horaria

y disponibilidades de cursos y profesores- para poder evaluar la eficacia de l modelo

pudiendo comparar los resultados alcanzados con los valores actuales tanto de los

puentes como de la asignación a horarios no deseados.

13 Entiéndase como agenda de clases de profesores al cuadro que registra el conjunto de lecciones que han sido asignadas para un determinado profesor que pertenece al colegio.

FIGURA 2. Configuración del Horario del Colegio Americano en la gestión 2008

Fuente: División de Administración de Personal del Colegio Americano.

-33-

FIGURA 3. Extracto de la Configuración de la Agenda de clases de los profesores del Colegio Americano en la gestión 2008

Fuente: División de Administración de Personal del Colegio Americano.

-34-

Marco Propositivo

Capítulo V

Formulación del Modelo Matemático El objetivo del presente capítulo es presentar el modelo de programación matemática

para el problema de asignación de horarios escolares abordado.

Como se ha expuesto en los puntos anteriores no existe en la literatura variadas

formulaciones matemáticas para la resolución del problema de asignación de horarios

escolares; esto se debe al grado de complejidad que llega alcanzar el problema – NP

completo- que restringe el empleo de técnicas exactas para su resolución. En muchos de

los casos los modelos desarrollados se constituyen en una versión simplificada del caso

real.

Una de las características más importantes a tomar en cuenta en el desarrollo de la

formulación matemática como un problema de programación entera, es la definición de

la función objetivo del problema de asignación de horarios; de hecho la conformación de

la función a optimizar no se obtiene de una lectura directa del problema, por lo que se

trata de encontrar la mejor relación de intereses que existen entre los actores del sistema.

Esto es, tratar de hallar una estructura donde los intereses de los educandos y los

educadores se entrelacen y nos permitan configurar un horario que cumpla en mayor

medida los requerimientos de la situación real.

En este sentido, la estrategia empleada para la solución del problema consiste en dividir

las restricciones del problema 14 en dos subgrupos : uno de ellos conteniendo las

restricciones duras o esenciales (que no pueden ser violadas) y el otro con las

restricciones suaves o deseables (si el caso lo amerita pueden ser violadas) las mismas

son evaluadas en una función objetivo lineal basada en penalidades.

14 Empleando la explicación expuesta en el punto 3.5.1

-35-

La tabla siguiente muestra la partición del conjunto R de restricciones de cómo se ha

conformado el abordaje del problema de asignación de horario escolar.

TABLA 5. Partición del conjunto R para el problema abordado

Restricciones Duras {Re} Restricciones Suaves {Rr}

Sobre posición de profesores Agenda compacta

Sobre posición de cursos Asignación en horas no deseadas

Carga Horaria

Número máximo de clases

Indisponibilidad de curso

Con relación a las penalidades, las mismas se constituyen en valores que ponderan la

posible existencia de baches en las agendas de los profesores y la asignación en horas no

deseadas.

En puntos anteriores se ha mencionado que una de las características propias de la

unidad en estudio es su importancia relativa de un conjunto de profesores dentro de la

estructura de la organización.

En ese sentido, algunos miembros de la planta docente forman parte del Consejo

Administrativo de la Cooperativa “Unidad Educativa Colegio Americano”, teniendo que

desarrollar actividades de gestión conjuntamente a la gerencia directiva de la institución.

Por tanto, sus disponibilidades y la presencia de puentes en la configuración de su

agenda de enseñanza presentan un tratamiento prioritario en comparación a sus colegas

docentes titulares.

En el caso de los docentes contratados se tiene un especial cuidado en la conformación

horaria del docente de Anatomía y en general, se respeta las disponibilidades de aquellos

docentes que a la par prestan sus servicios en colegios públicos.

-36-

5.1. Formulación Matemática

5.1.1. Índices

m : profesores, Pm ∈

n : cursos, Cn ∈

d : días de semana

h : horas por día (horas de clase) Hh ∈

t : turnos de clase t T∈

Cada uno de los cursos reciben h horas de clase al día, además se tiene d días en la

semana, en total dxh lecciones semanales.

5.1.2. Parámetros:

1 si el profesor esta disponible en la hora de clase del día _

0 ikl

i l kdis prof

=

:

1 si el curso esta disponible en la hora de clase del día _

0 jkl

j l kdis curso

=

:

Carga horaria semanal del profesor (asociado a una materia ) para el curso .ijCarga i m j=

Maxleccij = Número máximo de clases o lecciones diarias que el profesor i (responsable de la materia m) puede dictar al curso j.

iα = Penalización por la presencia de baches o puentes en la configuración horaria del profesor i.

ilkβ = Penalización por la asignación de lecciones a un profesor i el día k a la hora j en la cual no es deseado (aunque este disponible) tener clases.

jlkµ = Penalización por la asignación de lecciones a un curso j el día k a la hora l en la cual no es deseado (aunque este disponible) tener clases.

5.1.3. Variables de decisión

1 si el profesor es asignado al curso el día en la hora de clase 0 ijkl

i j k lx

=

:

1 si el profesor es asignado algún curso, el día en el turno 0 ikt

i k ty

=

:

-37-

iktBaches = El número de puentes o baches15 en la agenda de clases del profesor i en el día k en el turno t.

Variables adicionales:

si l H es la hora de clase de la lección del profesor el día en el turno 0 si el profesor no esta asignado a ningún curso el día en el turno . ikt

primera i k tA

i k t∈

=

l

si l H es la hora de clase de la lección del profesor el día en el turno 0 si el profesor no esta asignado a ningún curso el día en el turno . ikt

última i k tZ

i k t∈

=

l

5.1.4. Restricciones

a) Sobre posición de cursos: En un día k y hora de clase l, un curso j, tiene

asignado a lo más a un profesor.

1

1 , ,m

ijkli

x j k l=

≤ ∀∑ (5.1.1)

b) Sobre posición de profesores: En un día k y hora de clase l, un profesor i enseña

a lo más a un curso. Adicionalmente aquello, agrupamos la restricción de sobre

posición con la de Horas Disponibles de los Profesores ; limitando la asignación

de un profesor i a un curso cualquiera solamente en las horas de clase en las que

el profesor se encuentre disponible.

∑=

∀≤n

jiklijkl lkiprofdispx

1

,,_ (5.1.2)

c) Carga horaria: Todos los profesores deben cumplir con la carga horaria de

lecciones (clases) semanales asignadas a cada curso. La matriz que involucra el

parámetro de la carga horaria se encuentra expresado en términos de la relación

profesor – materia por curso.

1 1

,d h

ijkl ijk l

x Carga i j= =

= ∀∑∑ (5.1.3)

15 Hora libre “ociosa” entre dos horas de clases en un mismo turno del día

-38-

d) Número máximo de lecciones diarias por curso de una misma materia : El

número de lecciones diarias de una misma materia que pueda dictar un profesor a

un curso se encuentra acotada por ijMaxlecc

∑=

∀≤h

lijijkl kjiMaxleccx

1

,, (5.1.4)

e) Presencia de un profesor en un determinado día: Para verificar si un profesor i

se encuentra asignado o no a un día k en el turno t (dividiendo el conjunto H en

base a la pertenencia a cada turno t, esto es { } { }1 1 2 3 4 2 5 6 7, , , ; , ,t tl h h h h l h h h= = ),

se habilita la siguiente desigualdad:

, , , , tijkl ikt tx y i j k t l≤ ∀ (5.1.5)

f) Número de puentes o baches: para calcular el número de baches entre dos horas

que conforman la agenda de clases de un profesor en un mismo turno, se

introduce las siguientes restricción:

1 1

, ,t

n h

ikt ikt ikt ikt ijklj l

Baches Z A y x i k t= =

≥ − + − ∀∑∑ (5.1.6)

Por su parte, para activar las variables iktZ , de la última lección del profesor i el día k en

el turno t, y la variable iktA , de la primera lección del profesor i el día k en el turno t, se

incluye las siguientes restricciones:

1

, , ,t

n

ikt t ijkl tj

Z l x i k l t=

≥ ∀∑ (5.1.7)

1

( ) , ,t

n

ikt ikt t ijkl tj

A Wy W l x i k l=

≤ − − ∀∑ (5.1.8)

Con 1W h= + .

g) Clases simultáneas: La asignación para los cursos y profesores que pertenecen al

conjunto simultáneo se debe realizar a la misma hora de clase.

{ }0 , ( , ),( , ) , , ,v v w wi j k l i j kl v v w w v w v wx x k l i j i j i i C j j P− = ∀ ∧ ∈ ∈ ∈ (5.1.9)

-39-

Extendiendo el modelamiento, incluimos la restricción soft restante, acerca de la

disponibilidad de los cursos en determinados horarios, al conjunto R. En la restricción

(5.1.1) se establece que un curso puede tener asignada a lo más una materia (relacionada

a un profesor i) en una hora de clase; sin embargo existen situaciones en la unidad

estudiada en las que los cursos no están disponibles para una clase regular.

Como se mencionó en puntos anteriores las clases deportivas se las desarrolla por rango

de edades (Sub–9, Sub-11, etc.) entonces es necesario que los cursos que involucran a

estos rangos tengan las mismas horas de clase libres. De este análisis resulta la

restricción que sustituirá a la (5.1.1)

h) Disponibilidad de cursos: Un curso j no puede tener asignada ninguna asignatura

(relacionada al profesor i) en un día y hora en la que no este disponible.

∑=

∀≤m

ijklijkl lkjcursodispx

1

,,_ (5.1.1 )b

5.1.5. Función Objetivo

2

1 1 1 1 1 1 1 1 1 1 1

minm d m n d h m n d h

i ikt ilk ijkl jlk ijkli k t i j k l i j k l

z Baches x xα β µ= = = = = = = = = = =

= + +∑∑∑ ∑∑∑∑ ∑∑∑∑ ( . .)F O

Desarrollando cada término de la función objetivo:

a) La primera sumatoria nos permite compactar la agenda de clases de cada

profesor. A su vez, iα es un vector de pesos relativos que pondera la

importancia en el conjunto de profesores, es decir, representa el grado de

prioridad de los miembros de la planta docente en la configuración del horario. A

mayor valor del componente de α , el profesor i tiene preferencia a no tener

puentes de clase.

b) La segunda sumatoria penaliza la asignación de una hora de clase en un día y

hora, en que si bien el profesor i esta disponible, no es deseado que tenga

asignada una hora de clase. El caso se refiere al hecho que para la institución no

-40-

es conveniente que el docente se encuentre dictando clases, sino desarrollando

otras actividades fuera de lo curricular.

c) La última sumatoria penaliza la asignación de una hora de clase al curso j, en la

cual existen actividades programadas a lo largo del año (visitas, laboratorios,

club deportivo, asistencia a conferencias) en las que no es deseado que se tenga

actividad de enseñanza.

En resumen, el PHE puede ser modelado de la forma siguiente:

2

1 1 1 1 1 1 1 1 1 1 1

1

min

sujeto a:

_ , ,

m d m n d h m n d h

i ikt ilk ijkl jlk ijkli k t i j k l i j k l

m

ijkl jkli

z Baches x x

x disp curso j k l

α β µ= = = = = = = = = = =

=

= + +

≤ ∀

∑∑∑ ∑∑∑∑ ∑∑∑∑

1

1 1

(5.1.1b)

_ , , (5.1.2)

,

n

ijkl iklj

d h

ijkl ijk l

x disp prof i k l

x Carga i j

=

= =

≤ ∀

= ∀

∑∑

1

(5.1.3)

, , (5.1.4)

t

h

ijkl ijl

ijkl ikt

x Maxlecc i j k

x y=

≤ ∀

1 1

1

, , , , (5.1.5)

, , (5.1.6)t

t

t

n h

ikt ikt ikt ikt ijklj l

n

ikt t ijklj

i j k t l

Baches Z A y x i k t

Z l x

= =

=

≥ − + − ∀

∑∑

1

, , , (5.1.7)

( ) , , ; 1 t

t

n

ikt ikt t ijkl tj

i k t l

A Wy W l x i k l W h=

≤ − − ∀ = +∑

{ }{ }

(5.1.8)

0 , ( , ),( , ) , , , (5.1.9)

0,1 , , , v v w wi j k l i j kl v v w w v w v w

ijkl

x x k l i j i j i i C j j P

x i j k l

− = ∀ ∧ ∈ ∈ ∈

∈ ∀

{ } (5.1.10)

0,1 , , (5.1.11)

0 5 , , ikt

ikt

y i k t

Baches i k t

∈ ∀

≤ ≤ ∀ (5.1.12)

0 , 7 , , (5.1.13)ikt iktA Z i k t≤ ≤ ∀

-41-

5.2. Desarrollo del algoritmo de solución del modelo planteado

5.2.1. Consideraciones Iniciales con relación a la instancia abordada

El espacio en el cual se ha abordado el problema queda limitado por las características

del Colegio Americano en lo que corresponde a sus políticas de enseñanza y

diferenciación del grupo de oferentes de educación privada16; el tiempo en el cual se

aplica el modelo planteado es el año 2008, fruto de ello se da lugar a la comparación con

la configuración horaria del mismo año como fue mencionado en el punto 4.3.

TABLA 6. Características de la instancia empleada Conjuntos Nro de Elementos

P: profesores 35 C: cursos 19 H: horas de clase S: materias T: turnos

7 43 2

L: lecciones de clase 534 CP: pares simultáneos 13 HT: profesor disponible17 33 HC: curso disponible 8

A continuación pasamos a exponer la estructura de los datos de entrada del modelo,

específicamente nos referimos a la carga horaria por asignatura, disponibilidades de los

profesores, disponibilidades de los cursos, penalizaciones por violación de horarios no

deseados tanto por cur so como por profesor, finalmente las penalizaciones por concepto

de puentes en la agenda de los profesores.

5.2.2. Carga Horaria

La Tabla Nº A.1 de la sección de anexos presenta la estructura de la carga horaria

materia-curso, detallada en la matriz s nS xN de materia por curso. A partir de la matriz

binaria de asignación de profesor de área a cada curso, se da lugar a la carga horaria por

16 Las características del problema han sido descritas en el punto 4.1. 17 Se utiliza la intersección de los conjuntos C P∩ para la disponibilidad de los profesores y cursos que deben dictar una asignatura a un mismo grado pero que están divididos por otros criterios.

-42-

profesor que se constituye en el parámetro de entrada al modelo. La Tabla Nº A.2. de

anexos presenta la carga horaria profesor – curso para la instancia analizada.

Cabe mencionar que dentro de la etapa de análisis de los resultados, el tamaño de las

instancias de prueba a ser utilizadas obedecerán a la misma configuración presentada en

las tablas mencionadas anteriormente para la instancia real. Esto con el objeto de

enmarcarnos en el entorno educativo de la entidad estudiada. (i.e. si bien el modelo

puede adecuarse a diversas realidades educativas, en la construcción de instancias de

prueba nos enmarcaremos en los lineamientos estratégicos de la Unidad Educativa

Colegio Americano en específico).

5.2.3. Límite del Número de lecciones diarias y disponibilidad de profesores

Una particularidad del problema abordado es que existe un conjunto de materias en las

que un docente dicta dos o más asignaturas a un mismo curso. Por esta razón, para

validar la restricción (5.1.4.) se confeccionó la matriz profesor-curso en la que se

establece el límite de clases diarias. En la Tabla Nº A.3. se detalla la matriz del número

de lecciones por profesor, a su vez se especifica las horas requeridas y disponibles por

cada docente para poder cubrir la demanda de horas de enseñanza de la carga horaria por

curso. En la penúltima columna de la Tabla Nº A.3. se encuentran las holguras entre lo

requerido y disponible, valores que representan las horas disponibles pero en las que no

se desea asignar clases; a éstas se imputaran las penalizaciones en la Función Objetivo.

En la última columna de la mencionada Tabla, se presenta la densidad de la agenda

horaria por profesor (calculada como el cociente entre la carga horaria por profesor y las

horas disponibles) que permiten concluir en el grado de flexibilidad en la conformación

del horario para cada profesor en particular.

5.2.4. Disponibilidad de cursos

La disponibilidad por cursos se establece en relación a los ciclos de aprendizaje

presentes en la educación primaria y los horarios reservados para actividades

extracurriculares en el nivel secundario.

-43-

En ese sentido la Tabla Nº A.4. de anexos presenta las disponibilidades por curso para la

instancia analizada. En su composición se distinguen ocho disponibilidades que difieren

por el ciclo de enseñanza dentro de un mismo nivel, esto es, por ejemplo, que los cursos

que componen el nivel primario tienen diversas disponibilidades aunque en conjunto

ellos formen parte de un mismo nivel de enseñanza.

FIGURA 4. Interfaz para el ingreso de disponibilidades curso/profesor

5.2.5. Penalidades

Cada componente de la función objetivo, penaliza por asignaciones de clase en las que

no se desea tener clase o en su caso se penaliza la presencia de baches en la agenda del

profesor. Haciendo uso de la valoración de Andrea Schaerf [SchA96] descrita en el

punto 3.4. se presenta en la Tabla Nº 7 tanto las penalidades mα por la categoría de

profesores según el grado de prioridad como las penalidades mhdβ y nhdµ .

TABLA 7. Penalizaciones en la Función Objetivo por Categorías Componentes F.O. Subconjuntos Valor de la penalidad

Puente profesor mα

Categoría A Categoría B Categoría C

3 2 1

Asignación Indeseada Profesor mhdβ

Categoría A Categoría B Categoría C

3 2 1

Asignación Indeseada Curso nhdµ Todos los cursos 4

-44-

5.2.6. Descripción del Software y Hardware empleado

Desde la perspectiva del software, el problema de programación entera mixta fue

modelado con OPL STUDIO 3.5.1. de Ilog Software y resuelto con CPLEX 7.5. la

elección del lenguaje de modelación se debe a la facilidades que brinda para la

organización de la información y la posibilidad de conexión con Microsoft Excel y

Visual Basic.

Desde la perspectiva del hardware, la instancia del problema fue resuelta bajo una

arquitectura PC con un procesador Pentium IV de 1.6 MHz y 512 Mb de memoria RAM.

TABLA 8. Tamaño de la instancia No. Restricciones 89285 No. Variables Binarias 23625 No. Variables Enteras 1051

5.2.7. Resolución del modelo

En adelante presentamos los resultados del modelo planteado. Los resultados reportados

están estructurados de la siguiente manera: primero, se presenta en cuanto tiempo se

llega a la solución raíz, luego se indica el GAP18 que tiene la primera solución obtenida

y el tiempo que se demora el modelo en obtenerla, si es que se encuentra alguna solución

factible para el problema. Luego, se reportarán soluciones para distintos GAPs menores

al 5%, con los respectivos tiempos de ejecución para cada una y finalmente la mejor

solución obtenida para ese escenario en particular.

TABLA 9. Resultados obtenidos del método exacto para la instancia empleada Soluciones Tiempo [seg.] GAP [%]

Raíz 10,69 - 1ra Solución 1243,91 99,86 2da Solución 21718,08 96,47 3ra Solución 27516,97 53,70 4ta Solución 29397,61 30,56 5ta Solución 81309,39 16,67 Mejor solución 102631,33 4,86

18 GAP es la brecha de la solución obtenida con respecto al valor que tiene la relajación lineal. Los GAP’s que se mostrarán en todos los resultados son con respecto al valor de la relajación lineal.

-45-

FIGURA 5. Tiempos de resolución de la instancia por el método exacto .vs. GAPs

96,47

53,70

4,86

99,86

30,56

16,67

0,00

20,00

40,00

60,00

80,00

100,00

0 20000 40000 60000 80000 100000 120000

t [seg.]

GA

P [%

]

Como se puede observar los resultados no son muy alentadores en términos del costo

computacional para alcanzar una solución con un GAP menor al 5% (el tiempo

empleado es del orden de 28,5 horas). Sin duda por las características del problema, el

costo computacional puede ser asumido si es que la solución obtenida cubre las

expectativas en cuanto a puentes de horario por categoría y el empleo de horas en

periodos no deseados19. Sin embargo surge el cuestionamiento en cuanto al trade off que

realiza la institución con relación a los costos operacionales y la flexibilidad de la

solución.

Luego, el evaluar diversas configuraciones factibles sin que ellas aseguren optimalidad

pero que sean lo suficientemente buenas para constituirse en una solución aceptable para

el problema, se convierte ahora en una salida viable para ganar en flexibilidad y no

perder de vista la confiabilidad de los resultados alcanzados. Por otro lado, se presenta

como un enfoque alternativo lo expuesto en la teoría para problemas con un tamaño

como el de la instancia abordada, con el empleo de técnicas de búsqueda local para

alcanzar soluciones aproximadas al óptimo con menores costos computacionales.

19 Como la configuración horaria se constituye en una herramienta de planificación anual puede asumirme mayores rangos tolerables para encontrar la solución en términos de tiempo.

-46-

5.3. Heurística de Solución

En puntos anteriores hemos señalado que los problemas de esta familia combinatorial de

conformación de horarios escolares hacen empleo de heurísticas de solución ya sea

porque la solución exacta solo se adecua a problemas pequeños o en su caso porque los

tiempos de resolución por el método exacto son muy elevados. En ese sentido pasamos a

describir una heurística para el problema abordado de manera de caracterizar

posteriormente en que casos y bajo que circunstancias sería útil inclinarnos por su

empleo. Adicional a la literatura consultada, para esta etapa de la investigación se

consultó el trabajo desarrollado por Marcone Souza [SoMa00] sobre la aplicación de

metaheurísticas al problema de horarios. Algunos conceptos desarrollados por el autor

para construir la heurística, son empleados para comprobar si es que permite resolver la

instancia abordada en un menor tiempo y alcanzar mejores soluciones con relación al

enfoque exacto.

En el punto 3.4.1. se ha descrito el enfoque a seguir para el empleo de las técnicas de

Búsqueda Local. En particular nos inclinamos por esta clase de técnicas para la solución

aproximada del problema debido al hecho que las mismas permiten construir de manera

iterativa los horarios de clase tomando como punto de partida una solución factible que

cumpla un conjunto de restricciones esenciales y nos permita incluir las restricciones

deseadas a partir de un procedimiento de búsqueda.

En la Tabla Nº 5 dividimos el conjunto de Restricciones R en las esenciales o duras y las

suaves o deseables; a juicio de aquello debemos definir dos tipos de infactibilidad de las

soluciones: Definimos como un horario infactible aquel que viole cualquiera de las

Restricciones Duras {Re}; será definido como un horario infactible tipo I si no se

cumple la restricción de sobreposición de cursos (en un día k y hora de clase l, un curso

j, tiene asignado más de un profesor) o si un curso no tiene asignada una clase. Por otro

lado, será definido como un horario infactible tipo II si la restricción violada es la del

número máximo de clases (El número de lecciones diarias de una misma materia que

pueda dictar un profesor es mayor que ijMaxlecc ).

-47-

La función objetivo se construye como la minimización de una función lineal de

penalidades sobre las infactibilidades jerarquizadas en orden de importancia relativa y el

cumplimiento del conjunto de Restricciones Suaves {Rr} del problema abordado

(Agenda Compacta y asignación en horas no deseadas).

1 1 1 1

( )h m m d

l l i ikl i i k

Min Z A B C Bachesθ λ φ= = = =

= + + +∑ ∑ ∑∑ (5.3.1.)

Donde:

, ,θ λ φ Son los ponderadores de importancia relativa.

1

0 , , 1

1 m

ijkli

n

lx j k lj

A

=

= ∀ =

=∑

∑ Variable que cuenta el número de veces que un curso

j no tiene clase en el horario l H∈

1

1 , ,1

1 m

ijkli

n

lx j k lj

B

=

> ∀ =

=∑

∑ Variable que cuenta el número de veces que un curso

j tiene asignado a más de un profesor (por ende a más

de una clase) en el horario l H∈

1

, , 1

1 h

ijkl ijl

m

ix Maxlecc i j ki

C

=

> ∀ =

=∑

∑ Variable que cuenta el número de veces que un

profesor i dicta más del límite permitido diario por

materia

En la configuración del vecindario, hacemos uso de las nociones iniciales descritas en el

punto 3.3. a partir de un enfoque de flujo en grafos y el problema de ruta mínima

descrito en [SoMa00]. En ese entendido, partiendo de una solución factible y utilizando

la nomenclatura de grafos tenemos que para una configuración horaria representaremos

un grafo G= (N,A) de modo que:

− El grafo que representa toda la estructura horaria es la unión de los subgrafos

jG para cada curso analizado, esto es: 1 2 .... jG G G G j N= ∩ ∩ ∩ ∀ ∈ .

− Los nodos N de cada subgrafo jG representan las horas de clase disponibles pa ra el desarrollo del proceso de enseñanza durante una semana para el curso j, i.e. { }1 2 3, , ,..,j hN H H H H= .

− Los arcos A de cada subgrafo jG existen si la actual asignación de clase (asociada al

profesor) en el horario k puede intercambiarse con la hora de clase $k . ${ }( , )jA k k= .

-48-

− De la solución inicial se configura el vector iP cuya fila i contiene el número de

puentes o baches de clase que tiene el profesor i en la configuración horaria actual. A

partir del mencionado vector definimos el costo de arco $( , )k kc como la diferencia entre

el valor de la fila i de iP y la fila i$de la configuración actualizada de i

P$ .

− De la estructura anterior, el movimiento interno en cursos que mejora el valor de la

función objetivo (i.e. compacta la configuración horaria disminuyendo el número de

puentes de clase por profesor) se consigue identif icando un ciclo con costo negativo

en jG (aplicando el algoritmo de Floyd- Warshall para la ruta mínima todos a todos)

y evaluando si el cambio de configuración a partir de este ciclo no genera una

solución infactible y además mejora el valor de la FO. El procedimiento iterativo se

desarrolla por curso hasta que no exista costos de ciclo negativo que cumplan con el

criterio anteriormente mencionado.

− En particular, realizar el análisis de manera independiente para cada grafo jG no

aprovecha la característica que cada curso se encuentra relacionado con los demás

por los mismos nodos (horas de clase) y porque comparten asignaturas (y por ende

profesores). En términos simples, un movimiento interno en cursos no incorpora el

análisis de mejora si es que se permuta horas de clase “entre” cursos obteniendo

ciclos de costo negativo que mejorarían la función objetivo.

En ese sentido, surge la alternativa de trueque entre dos horas de clase del par de

profesores $ $$ $

( : )j j j jk kk k

i i i i→ → de forma de que se produzca el ciclo de costo negativo

involucrando dos grafos jG de distintos cursos conectados por los mismos nodos y

se cumpla que $ $( ) ( ) 0j jc k k c k k→ + → < , i.e que disminuya el valor de la FO y en

conclusión sea una mejor configuración. Este procedimiento iterativo lo

denominamos el movimiento entre cursos.

-49-

FIGURA 6. Movimiento entre cursos para mejora de la Función Objetivo

$k i

$ki

$j $j

$( ) 0jc k k→ <

$( ) 0jc k k→ <

$k

$k

$ $( ) ( ) 0j jc k k c k k→ + → <

i

$j$j

i

− Cuando se desarrolle un movimiento entre cursos, se genera una nueva

configuración dentro de un mismo curso (generando nuevos ciclos de costo negativo

factibles) hecho que posibilita la presencia de mejoras a la función objetivo

aplicando el movimiento interno en cursos. Por tanto, el procedimiento iterativo de

búsqueda de mejora interna se engatilla cada vez que exista un movimiento entre

cursos. Tanto el movimiento interno y entre cursos definen la estructura del

vecindario.

En lo que corresponde a la solución inicial utilizamos la modelació n de la sección 5.1 en

búsqueda de una solución factible (esto es, conseguir una solución relajando la restricción

5.1.4 y que no presente una infactibilidad tipo I) esto se logra en el entorno de programación

sustituyendo la Función Objetivo por el comando Solve en OPL STUDIO 3.5.1.

Tabu Search para la heurística aplicada20

En el punto 3.4.1. se ha mencionado algunos aspectos referentes al empleo del algoritmo

Tabu Search adaptado a la problemática abordada. El proceso se inicia tomando como punto

de partida la solución factible encontrada bajo las características del párrafo anterior;

continúa de manera iterativa explorando el vecindario de la solución actual a través de la

mecánica del procedimiento de los movimientos internos y entre cursos que han sido

explicados con anterioridad. El algoritmo trata de mejorar el valor de la función objetivo de

la ecuación (5.3.1) y se repite hasta que no existan diferencias significativas en el transcurso

de las iteraciones del algoritmo. Se establece una lista tabú que contiene T de los

20 El procedimiento empleado se muestra en la sección de Anexos.

-50-

movimientos mas recientes para evitar ciclaje. Junto aquello la función de aspiración W, es

igual a 1W Z= − para utilizar un movimiento que este en T y que compacte el horario.

-51-

Capítulo VI

Análisis de los Resultados

En el presente capítulo pasamos a exponer los resultados alcanzados en la aplicación de

la heurística y posteriormente las comparaciones de los resultados obtenidos con los de

la solución exacta. A partir de aquello analizaremos como se comportan ambos enfoques

con diversas instancias del problema elaboradas con similar estructura a la descrita en

los capítulos anteriores.

6.1. Resultados utilizando la heurística

El objetivo al momento de plantear el empleo de la heurística es la disminución de los

puentes de clase y por ende la constitución de un horario compacto para los educadores.

Todo esto evaluado desde el punto de vista del costo computacional y el GAP de la

solución. Para ello utilizamos el procesamiento de datos de la instancia abordada

realizado para la solución exacta.

La tabla siguiente muestra los resultados alcanzados por la heurística con la lista tabú de

30T = y penalidades 3, 2, 1θ λ φ= = = :

TABLA 10. Resultados obtenidos de la heurística para la instancia empleada Soluciones Tiempo [seg.] GAP [%]

Raíz 0,20 - 1ra Solución 559,76 44,94 2da Solución 7601,33 33,76 3ra Solución 12382,64 24,17 4ta Solución 19108,45 19,86 5ta Solución 28458,29 5,83 Mejor solución 30789,40 3,46

Analizando los resultados de la heurística se puede observar que se alcanza valores

menores al 5% en GAP alrededor de las 8 horas de funcionamiento (después de las 8

horas el computador se satura y progresivamente queda sin memoria), es evidente que

existe un ahorro computacional con mejores resultados con relación al método exacto.

-52-

Los tiempos de mejora en la reducción del GAP siguen una tendencia exponencial como

muestra la figura siguiente; la diferencia en el costo computacional entre ambos métodos

es considerable.

FIGURA 7. Tiempos de resolución de la instancia .vs. GAPs

0

10

20

30

40

50

60

70

80

90

100

0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000 110000 120000 130000t [seg]

%

Met. Exacto

Heuristica

Exponencial (Met. Exacto)

Exponencial (Heuristica)

Si bien esta reducción permitió encontrar una buena solución en 1/3 del tiempo que la

obtenida con el método exacto, por un parte las agendas de profesores con mayor

prioridad dentro de la institución presentan mayor número de baches que la solución

encontrada por el método exacto (esto porque son ciertamente estas agendas las que

presentan una mayor densidad y son poco flexibles en su conformación, por tanto el

algoritmo prefiere reducir el número de baches de los profesores con mayores horas

disponibles pero que no necesariamente son los profesores con mayor prioridad relativa)

y por otra la reducción de la brecha en el GAP con la de la solución relajada no es tan

significativa como resulta en el análisis del costo computacional (existe una reducción

del GAP de 1,4% entre la mejor solución de la heurística y del método exacto,

aproximadamente una mejora en 28,81%).

6.2. Familia de Instancias de prueba

Si bien durante el desarrollo del presente informe se ha hecho referencia en detalle a la

instancia configurada con los datos de la presente gestión en la entidad educativa,

consideramos necesario generar un conjunto de instancias de prueba de diverso tamaño

-53-

para poder valorar el desempeño de los dos enfoques de solución. Dichas instancias se

configuran bajo el mismo esquema de trabajo de la unidad analizada, esto significa que

nos mantenemos con una estrategia de enseñanza diversificada en los últimos cursos del

nivel secundario, clases simultáneas, disponibilidades por grupo etáreo para los

deportivos, etc.

TABLA 11. Descripción de las Características de la familia de instancias

Instancia Parámetros Variables

P C H T S L CP ? Binarias Enteras Total

1 14 5 7 2 13 127 0 0,50 2590 421 3011

2 21 8 7 2 19 211 0 0,63 6090 631 6721

3 27 10 7 2 36 274 0 0,68 9720 811 10531

4 32 15 7 2 40 417 5 0,72 17120 961 18081

5 35 19 7 2 43 534 13 0,78 23625 1051 24676 P : Profesores; C: Cursos; H: Horas de clase; T: turnos; S: materias; L: lecciones; CP: Horas compartidas; ?: densidad

Las instancias 1 y 2 corresponden a la estructuración de un horario para el nivel primario

(5 y 8 cursos respectivamente) sin consideración de los paralelos de curso, la instancia 3

incorpora el nivel primario y los dos primeros cursos del nivel secundario, la instancia 4

engloba a la totalidad de los cursos del colegio sin incorporar los paralelos, la instancia 5

es la abordada en detalle en las secciones anteriores. La idea de evaluar las dos primeras

instancias, en las que no se incluye al nivel secundario, es que en inicio podamos valorar

como se comporta el enfoque exacto con problemas de menor tamaño (dado que en la

literatura se señala que los modelos exactos son bastante útiles para problemas

pequeños) y por otro lado, poder evaluar como afecta la restricción (5.1.9) - acerca de

las clases simultáneas en los cursos diferenciados y paralelos de curso- en los tiempos de

solución y el GAP.

La Tabla Nº12 muestra los resultados de la familia de instancias aplicando el enfoque

exacto de solución descrito en el punto 5.1. en el caso de la primera instancia se alcanza

el valor optimo de la solución entera en menos de 600 segundos, en el caso de las

instancias 2 y 3 el algoritmo se detiene aproximadamente a las 7 horas de

-54-

funcionamiento tras haber alcanzado valores del orden de 5% en GAP. En el caso de la

instancia 4 el costo computacional es de 28 horas para alcanzar valores dentro del

margen aceptable de solución.

TABLA 12. Resultados de la familia de instancias por el enfoque exacto

Tiempo [seg] GAP [%] Tiempo [seg] GAP [%] Tiempo [seg] GAP [%] Tiempo [seg] GAP [%] Tiempo [seg] GAP [%]Raiz 0,25 - 0,92 - 2,39 - 6,69 - 10,69 -1ra Solución 65,74 103,00 143,81 11,00 400,38 113,00 1492,30 543,00 1243,91 99,862da Solución 132,86 102,00 285,67 10,00 1075,04 108,00 2317,25 542,00 21718,08 96,473ra Solución 403,80 101,00 424,19 9,00 13134,13 107,00 3177,95 439,00 27516,97 53,704ta Solución 475,70 2,00 576,45 8,00 19667,64 102,00 4065,19 434,00 29397,61 30,565ta Solución 490,40 1,00 724,16 6,00 19922,28 9,00 77349,72 18,32 81309,39 16,67Mejor solución 589,74 0,00 26259,00 4,94 26596,00 5,01 101023,21 5,12 102631,33 4,86

Soluciones Instancia 5Instancia 1 Instancia 2 Instancia 3 Instancia 4

Con relación a la última instancia podemos concluir que si bien existe un grado de

complicación mayor para configuraciones con clases simultáneas, el costo

computacional tiene una mayor dependencia del tamaño de la instancia, es decir,

depende del grado combinatorial de profesores y cursos a relacionar. Con esto se pudo

comprobar lo descrito en la literatura acerca de la factibilidad de emplear el enfoque

exacto para problemas de menor tamaño obteniéndose resultados en tiempos aceptables,

a medida que el problema crece los tiempos de resolución crecen y se pierde en

eficiencia. La figura Nº 8 con escala logarítmica muestra el comportamiento de las

soluciones en cuanto al tiempo de resolución y la reducción porcentual del GAP.

FIGURA 8. Tiempos de resolución de la familia de instancias .vs. GAPs, enfoque exacto

1

10

100

1000

1 10000 100000000

Tiempo [seg]

GA

P [

%]

Instancia 1 Instancia 2 Instancia 3 Instancia 4 Instancia 5

-55-

TABLA 13. Resultados de la familia de instancia para ambos enfoques

Soluciones INSTANCIA 1 INSTANCIA 2 INSTANCIA 3

Enfoque Exacto Enfoque Heurístico Enfoque Exacto Enfoque Heurístico Enfoque Exacto Enfoque Heurístico Tiempo [seg] GAP [%] Tiempo [seg] GAP [%] Tiempo [seg] GAP [%] Tiempo [seg] GAP [%] Tiempo [seg] GAP [%] Tiempo [seg] GAP [%]

Raíz 0,25 - 0,08 - 0,92 - 0,12 - 2,39 - 0,15 -1ra Solución 65,74 103,00 42,73 66,95 143,81 11,00 64,71 18,00 400,38 113,00 280,27 89,042da Solución 132,86 102,00 71,74 34,68 285,67 10,00 74,42 15,66 1075,04 108,00 896,85 79,253ra Solución 403,80 101,00 109,03 20,20 424,19 9,00 91,54 11,43 13134,13 107,00 2278,00 34,084ta Solución 475,70 2,00 147,47 3,20 576,45 8,00 162,94 9,95 19667,64 102,00 19955,30 14,655ta Solución 490,40 1,00 196,16 1,45 724,16 6,00 320,99 4,18 19922,28 9,00 20154,85 3,08

Mejor solución 589,74 0,00 215,78 0,00 26259 4,94 2461,99 1,29 26596,00 5,01 22774,98 2,68

Soluciones INSTANCIA 4 INSTANCIA 5

Enfoque Exacto Enfoque Heurístico Enfoque Exacto Enfoque Heurístico Tiempo [seg] GAP [%] Tiempo [seg] GAP [%] Tiempo [seg] GAP [%] Tiempo [seg] GAP [%]

Raíz 6,69 - 0,18 - 10,69 - 0,2 -1ra Solución 1492,30 543 492,46 85,02 1243,91 99,86 559,76 44,942da Solución 2317,25 542 2757,77 73,97 21718,08 96,47 7601,33 33,763ra Solución 3177,95 439 9376,42 39,94 27516,97 53,70 12382,64 24,174ta Solución 4065,19 434 11533,00 8,39 29397,61 30,56 19108,45 19,865ta Solución 77349,72 18,32 25372,59 6,37 81309,39 16,67 28458,29 5,83

Mejor solución 101023,21 5,12 28417,30 5,01 102631,33 4,86 30789,4 3,46

-56-

6.2. Comparación de enfoques para la familia de instancias

La Tabla Nº 13 presenta los resultados de la aplicación de ambos enfoques sobre las

instancias planteadas. El nivel de ahorro computacional en la totalidad de las instancias,

aplicando el enfoque heurístico, es considerable acompañado de una disminución del

GAP. Señalemos, sin embargo, que para las instancias pequeñas el enfoque exacto

resuelve el problema en tiempos razonables o en su caso alcanza valores menores al 5%

con mayor facilidad que en instancias grandes.

TABLA 14. Ahorros con el empleo del enfoque heurístico

Ahorro en el Costo Computacional [%]

Disminución en el GAP [%]

Instancia 1 63,4 0,0Instancia 2 90,6 73,8Instancia 3 14,4 46,6Instancia 4 71,9 2,1Instancia 5 70,0 28,8

6.3. Visualización de los resultados

Hasta el momento sólo se ha mostrado los resultados obtenidos con el modelo para

ambos enfoques, siendo analizados por el tiempo de resolución y por la calidad de esta

con respecto al óptimo lineal, pero sin embargo, no se ha comentado acerca de cómo es

la solución, es decir, el número de puentes de clase en la configuración del horario

disgregado por categorías de profesor, la estructura de las agendas de los profesores y la

asignación de materias por nivel y por curso. En los párrafos siguientes presentamos

estos resultados de manera de poder visualizar el producto obtenido con el desarrollo del

presente trabajo.

TABLA 15. Resultados de la instancia abordada Puentes de

Clase Asignación Horas no

Deseadas Ponderación

en la F.O Categoria A 0 0 0 Categoria B 0 0 0 Categoria C 6 0 6 Total 6 0 6

-57-

La Tabla Nº 15 muestra los resultados alcanzados en la F.O. según los componentes de

la misma, esto es, existen 6 puentes de clase para los profesores de categoría C (menor

prioridad) como mejor solución encontrada por el enfoque exacto. Si bien todavía no nos

encontramos en el óptimo, la configuración horaria no incorpora baches en la agenda de

profesores de mayor prioridad. En adición aquello, 4 de los puentes de horario

corresponden a los profesores del nivel primario inferior (entre el 1ro y el 4to curso)

cuya característica diferencial al resto de la planta docente es que los mismos deben

quedarse en el asesoramiento del curso independiente de que se encuentren en proceso

de enseñanza de una materia a su cargo. Esto significa que efectivamente el número de

puentes de clase se disminuye a dos para toda la configuración horaria del

establecimiento.

La Tabla Nº 16 presenta la estructura de las agendas de los profesores por categorías, en

este caso el horario tiene valores binarios para describir si el profesor tiene asignada una

clase en el turno respectivo (independiente del curso en el que se desarrolle el proceso de

enseñanza), esta es la tabla resumen que nos permite verificar la existencia de puentes de

clase en la agenda de los profesores. A partir de esto se configura la agenda por curso

relacionando el profesor y la materia que dicta con la asignación que presenta el curso en

su horario.

En la Figura Nº 9 se presenta un extracto de la distribución de las horas de clase entre los

profesores y los cursos relacionados. A partir de esto se construye el horario final por

curso y por materia para la instancia abordada. Por tratarse de un cuadro de horario

bastante amplio a manera de ejemplo extraemos parte del mismo para poder socializar

los resultados alcanzados con el empleo del modelo planteado.

-58-

TABLA 16. Asignación general para el cuerpo docente en la instancia estudiada ASIGNACIÓN DE AGENDA DE PROFESORES: CATEGORIA C L M M J V L M M J V L M M J V L M M J V L M M J V

1 0 0 0 0 0

TU

T_K

IN

1 1 0 1 0 1

TU

T_1

ro

1 1 1 1 1 1

TU

T_2

Da

1 0 1 1 1 0

TU

T_2

Dg

1 1 1 0 0 1

TU

T_3

ro

2 0 0 1 1 1 2 0 1 1 0 1 2 0 1 1 0 1 2 1 1 1 1 0 2 1 1 1 1 1 3 0 1 1 1 1 3 0 1 1 1 1 3 1 1 1 0 1 3 1 1 1 1 0 3 1 1 0 1 1

4 1 1 1 1 1 4 0 1 0 1 1 4 1 1 1 0 1 4 1 1 1 1 1 4 0 1 1 1 0 5 0 0 0 0 0 5 0 0 0 0 0 5 0 0 0 0 0 5 0 0 0 0 0 5 0 0 0 0 0 6 0 0 0 0 0 6 1 0 0 0 0 6 0 0 0 0 0 6 0 0 0 0 0 6 0 0 0 0 0

7 0 0 0 0 0 7 1 0 0 0 0 7 0 0 0 0 0 7 0 0 0 0 0 7 0 0 0 0 0

L M M J V L M M J V L M M J V L M M J V L M M J V

1 1 1 1 1 1

TU

T_4

tA

1 0 1 1 1 0

TUT_

4tG

1 1 1 1 1 1

MA

T_IN

T

1 0 1 1 0 1

EFR

_BU

R

1 1 1 0 0 1

PE

D_P

ET 2 0 1 0 0 1 2 1 0 1 1 1 2 1 1 1 1 1 2 0 0 0 0 0 2 1 1 0 0 1

3 1 1 1 0 1 3 1 0 1 1 1 3 1 1 1 1 1 3 0 0 0 0 0 3 1 1 0 0 1 4 1 1 1 0 1 4 1 0 1 1 1 4 1 1 1 1 1 4 0 0 0 1 0 4 1 1 0 0 1 5 0 0 0 0 0 5 0 0 0 0 0 5 1 1 1 1 1 5 1 0 0 0 0 5 0 1 0 0 1 6 0 0 0 0 0 6 0 0 0 0 0 6 0 0 0 0 0 6 1 1 0 1 0 6 1 1 0 0 0 7 0 0 0 0 0 7 0 0 0 0 0 7 0 0 0 0 0 7 1 0 0 0 0 7 1 0 0 0 0 L M M J V L M M J V L M M J V

1 1 0 0 1 0

ING

_IN

T

1 0 1 1 1 1

ING

_IG

O

1 0 1 0 0 1

AR

Q_U

IT

2 1 1 0 1 1 2 0 1 1 1 1 2 0 0 0 0 0 3 0 1 1 0 1 3 0 0 0 1 1 3 0 0 0 0 0 4 0 1 1 0 1 4 1 1 1 1 1 4 1 0 0 0 0 5 1 0 0 1 0 5 0 0 0 0 0 5 0 0 0 0 0 6 0 0 0 0 0 6 0 1 1 0 0 6 0 0 0 0 0

7 0 0 1 0 0 7 0 1 1 0 1 7 0 0 0 0 0 ASIGNACIÓN DE AGENDA DE PROFESORES: CATEGORIA B L M M J V L M M J V L M M J V L M M J V L M M J V

1 1 1 1 1 1

TU

T_5

to

1 0 0 1 1 0

MIR

_GA

R

1 0 0 0 1 0

FR

E_C

AD

1 0 0 0 0 0

SU

S_C

AD

1 1 0 0 0 0

VIC

_AV

I

2 1 1 1 1 1 2 1 0 1 1 0 2 0 0 0 1 0 2 0 0 0 0 0 2 1 0 0 0 0 3 1 1 1 1 1 3 1 1 1 1 0 3 0 0 0 1 0 3 0 0 0 0 0 3 1 0 0 0 0 4 0 0 0 0 0 4 1 1 1 1 0 4 0 0 0 1 1 4 0 0 0 0 0 4 1 1 0 0 0

5 0 0 0 0 0 5 0 0 1 1 0 5 1 0 1 0 0 5 0 0 0 0 0 5 1 1 1 1 1 6 0 0 0 0 0 6 0 0 1 1 0 6 1 0 1 0 0 6 1 0 0 0 0 6 1 1 1 1 1 7 0 0 0 0 0 7 0 0 1 1 0 7 1 0 1 0 0 7 1 0 0 0 0 7 1 1 1 1 1

-59-

L M M J V L M M J V L M M J V L M M J V L M M J V

1 0 0 0 0 0 JO

S_L

OP

1 1 1 1 1 1

TE

R_D

EL

1 0 0 0 0 0

OB

E_G

AL

1 0 0 0 0 0

AY

D_A

RR

1 1 1 1 1 1

RO

B_I

TA

2 0 0 0 0 0 2 1 1 1 1 1 2 0 0 0 0 0 2 0 0 0 0 0 2 1 1 1 1 1 3 0 0 0 0 0 3 1 1 1 1 1 3 0 0 0 0 0 3 0 0 0 0 0 3 1 1 1 1 1

4 0 0 0 0 0 4 1 1 1 1 1 4 0 0 0 0 0 4 0 0 0 0 0 4 1 1 1 1 1 5 1 0 1 0 1 5 1 1 0 1 0 5 1 1 0 1 1 5 1 0 0 0 0 5 0 0 0 0 0 6 1 0 1 0 1 6 1 1 0 1 0 6 1 1 0 1 1 6 1 0 0 0 1 6 0 0 0 0 0

7 1 0 1 0 0 7 1 1 0 1 0 7 1 1 0 1 1 7 1 1 0 1 0 7 0 0 0 0 0 L M M J V L M M J V L M M J V L M M J V

1 1 0 1 1 1

ING

_SIN

1 1 0 0 1 1

LIL_

MU

S

1 0 0 0 0 0

GE

R_M

US

1 1 1 1 1 1

NIL

_GA

R

2 1 0 1 1 1 2 1 0 0 1 1 2 0 0 0 0 0 2 1 1 1 1 1

3 0 1 1 1 1 3 1 0 0 1 1 3 0 0 0 0 0 3 1 1 1 1 1 4 0 1 1 1 1 4 1 0 0 0 1 4 0 0 0 1 0 4 1 1 1 1 1

5 0 0 0 0 0 5 0 0 0 0 0 5 1 0 1 0 0 5 0 1 1 1 0 6 0 0 0 0 0 6 0 0 0 0 0 6 1 0 1 0 0 6 1 1 1 1 0 7 0 0 0 0 0 7 0 0 0 0 0 7 1 1 1 0 0 7 1 1 1 1 1 ASIGNACIÓN DE AGENDA DE PROFESORES: CATEGORIA A L M M J V L M M J V L M M J V L M M J V L M M J V

1 1 1 1 1 1

JUL_

RIV

1 1 1 0 1 0

TE

R_G

AM

1 0 0 0 0 0

JUA

_BA

Y

1 1 0 1 0 1

CO

R_D

EL

1 1 1 1 1 1

DIR

EC

TO

2 1 1 1 1 1 2 1 1 0 1 0 2 1 1 1 1 0 2 1 0 1 0 1 2 1 1 1 1 1 3 1 1 1 1 1 3 1 1 0 1 0 3 1 1 1 1 0 3 1 0 1 0 1 3 1 1 1 1 1

4 1 1 1 1 1 4 0 0 0 1 0 4 1 1 1 1 0 4 1 0 1 0 1 4 1 0 1 1 1 5 1 1 1 1 1 5 1 0 0 0 0 5 1 1 0 1 0 5 1 1 0 0 0 5 0 0 0 0 0 6 0 0 1 0 0 6 1 1 0 1 0 6 1 1 1 1 0 6 1 1 1 1 1 6 0 0 0 0 0

7 0 0 0 0 0 7 1 1 0 1 0 7 1 1 1 1 0 7 1 1 1 1 1 7 0 0 0 0 0 L M M J V L M M J V L M M J V

1 0 1 1 0 0

TE

O_M

OL

1 0 0 0 0 0

PS

I_C

OL

1 0 0 0 0 0

DO

C_C

OM

2 0 1 1 0 0 2 0 0 0 0 0 2 0 0 0 0 0

3 0 1 1 0 0 3 0 0 0 0 0 3 0 0 0 0 0 4 0 1 1 0 0 4 0 0 0 0 0 4 0 0 0 0 0 5 0 0 0 0 0 5 0 1 1 1 0 5 1 1 1 0 0 6 0 0 0 0 0 6 0 1 1 1 1 6 1 0 1 0 0 7 0 0 0 0 0 7 0 1 1 1 1 7 0 0 0 0 0

-60-

FIGURA 9. Extracto de la configuración horaria de la instancia abordada presentada en Microsoft Excel

-61-

Capítulo VII

Conclusiones

En el desarrollo del presente trabajo nos enfocamos en el abordaje de un problema

clásico en la literatura como es el de la programación de actividades, en particular en el

de la programación de horarios escolares. La motivación del mismo se basa en la

búsqueda de la resolución de un problema que pertenece a esta familia combinatorial,

donde el entorno esta definido por el sistema educativo Boliviano focalizado en la

Unidad Educativa Colegio Americano de la ciudad de Oruro, tomando en consideración

las condicionantes distintivas de la misma.

Después de una revisión bibliográfica de los enfoques de solución alternativos para el

problema, se detallaron las características distintivas de la unidad estudiada,

especificando su estructura operacional y estrategias de diferenciación. Esto resultó

relevante para contextualizar el problema de asignación de horarios y en función de

aquello poder socializar la importancia de la resolución del mismo.

Uno de los aspectos en los que se tuvo mayor consideración dentro de la modelación del

problema de asignación de horarios escolares fue la determinación de la función

objetivo. En este tipo de problemas, en general el valor óptimo de una función objetivo

esta dado a partir de la negociación de los intereses de los participantes en el proceso de

enseñanza, intereses que en muchos de los casos son mutuamente excluyentes. La

estrategia empleada para la solución del problema consistió en dividir el conjunto de

restricciones del problema {R} en dos subconjuntos, uno de ellos conteniendo las

restricciones duras o esenciales y el otro con las restricciones suaves o deseables las que

fueron evaluadas en la función objetivo lineal basada en penalidades.

Dentro el enfoque de solución exacta se formuló un modelo de programación entera

mixta sujeto al subconjunto de restricciones esenciales y operando sobre las

condicionantes deseables en la función objetivo.

-62-

La instancia abordada presentó alrededor de 25.000 variables y 89.000 restricciones

alcanzando soluciones con un GAP menor al 5% en aproximadamente 28 horas de

funcionamiento. El problema fue modelado con OPL STUDIO 3.5.1. de Ilog Software y

resuelto con CPLEX 7.5

Se evaluó la aplicación de un enfoque alternativo basado en búsqueda local para

disminuir el costo computacional -a partir del trabajo realizado por Marcone Souza

[SoMa00] sobre la aplicación de metaheurísticas al problema de horarios- reduciendo el

número de puentes de clase y por ende la constitución de un horario compacto para los

educadores. Los resultados fueron mejores comparando con los del enfoque exacto,

alcanzando soluciones con menos del 5% en GAP alrededor de las 8 horas de

funcionamiento.

Sin embargo, si bien esta reducción permitió encontrar una buena solución en 1/3 del

tiempo que la obtenida por el método exacto, no se puede afirmar que de manera

exclusiva el enfoque heurístico sea la mejor alternativa para la unidad estudiada. Esto

porque en los resultados de la heurística las agendas de profesores con mayor prioridad

dentro de la institución presentan mayor número de baches que la correspondiente a la

del enfoque exacto. Se constituye en una alternativa razonable para evaluar el

desempeño del enfoque heurístico, en función del criterio de categorización, desarrollar

un procedimiento que nos permita priorizar las agendas de los profesores.

Esto da pie al trade off que debe realizar el planificador entre los dos enfoques para la

instancia abordada. Con esto queremos decir que dependerá de los atributos que se pidan

a las soluciones (en consideración al costo computacional, GAP, baches prioritarios, etc)

para definir cua l de los enfoques de solución es el más adecuado para su aplicación. Sin

duda, considerando el concepto de eficiencia operacional el enfoque heurístico presenta

ventajas con relación al enfoque exacto, pero este último nos asegura optimalidad a un

determinado nivel de costo operacional.

-63-

Para poder comparar el comportamiento de ambos enfoques de solución en problemas

de diverso tamaño se conformó una familia de cuatro instancias que se sumaron a la

existente, las mismas fueron evaluadas en base al costo computacional y el GAP con la

solución relajada. Los resultados revelaron que para instancias pequeñas el enfoque

exacto alcanza buenos rendimientos en tiempos razonables y además demostraron la

mayor dependencia del costo computacional con el tamaño del problema que con las

características distintivas del mismo.

Al utilizar el GAP que existe entre el valor de la solución entera y el valor de la

relajación lineal como medida de comparación entre los dos enfoques, es posible que

existan algunas distorsiones en las soluciones puesto que las mismas pueden encontrarse

mucho más cerca del óptimo de lo que según CPLEX están. Sin embargo, al no

alcanzarse a recorrer el árbol de manera completa, no se puede comprobar efectivamente

si se está en el óptimo.

Finalmente, con el desarrollo del presente trabajo se pudo configurar una herramienta de

apoyo a la toma de decisiones a nivel operacional dentro de un entorno educativo,

demostrando la practicidad de los elementos de gestión abordados en el transcurso del

magíster; no solo dentro de las áreas tradicionales de su aplicación, sino, incursionando

en sistemas que a la luz se divisan simples pero que presentan un grado de complejidad

susceptible a ser modelado.

-ix-

Bibliografía

[AdDh93] Abramson D. y Dang H. School Timetables: A Case Study Using Simulated Annealing, Applied SA, Lecture Notes in Economics and Mathematical Systems, 1993, pp.104-124.

[BuKi98] Burke E, Kingston J y Pepper P. A Standard Data Format for Timetabling Instances, in [8], 1998, pp.213- 222.

[CosD94] Costa D. A Tabu Search Algorithm for computing an operational timetable, European Journal of Operational Research Society, v. 76, 1994, pp. 98-110.

[CjGc61]

Csima, J, Gotlieb C. Tests on a computer method for construction of school timetables, Communications of the ACM, v. 7, 1961, pp. 160-163.

[CoDM98] Colorni A, Dorigo M & Maniezzo V. Metaheuristics for High School Timetabling, Computational Optimization and Applications, v.9, 1998, pp.275-298.

[CtKj95] Cooper T. y Kingston J. A Program for Constructing High School Timetables, Proc. 1st Int. Conf. on the Practice and Theory of Automated Timetabling, Napier University, Edinburgh, 1995.

[CwHr05] Combs W, Hawkins R, Pore T, Schechet A, Wahls T y Ziantz L. The Course Scheduling Problem as a Source of Student Projects, Dickinson College, SIGCSE'05, St. Louis, Missouri, USA, 2005.

[CndW90] Chahal N, y de Werra D. An interactive system for constructing timetables on a PC. European Journal of Operational Research Society, v. 40, 1989, pp. 32-37.

[EsIS76] Even S, Itai A, Shamir A. On the complexity of timetabling and multicommodity problems, SIAM Journal of Computation, 1976, pp. 691-703.

[HiLi97] Hillier F y Lieberman G. Introducción a la investigación de operaciones. McGraw-Hill, 6ta edición. 1997.

[HeFe07] Hernandez, Roberto, Fernandez, Carlos, Baptista, Pilar, Metodología de la Investigación, Segunda Edición, Edit. McGraw-Hill, México, 2007

[HerA92] Hertz A. Finding a feasible course schedule using tabu search. Discrete Applied Mathematics, v. 35, 1992, pp. 255-270.

[Mine08] Ministerio de Educación de Bolivia. Proyecto de transformación de la educación secundaria1ra Fase, 2008.

[NgTj74] Neufeld, G. y Tartar, J. Generalized Graph Colorations. SIAM Journal on Applied Mathemathics, v. 29, 1974, pp. 91-98.

-x-

[OrVV00] Ortiz C, Varas S y Vera J. Optimización y modelos para la gestión, Dolmen ediciones s.a, 1era edición.2000.

[RpOe95] Reis P. y Oliveira E. A Language for Specifying Complete Timetabling Problems, University of Porto, Portugal, This work was partially supported by the Portuguese Foundation for Science and Technology, 1995.

[RpOe99] Reis P. y Oliveira E. A Constraint Logic Programming Approach to Examination Scheduling, AICS'99, Artificial Intelligence and Cognitive Science Conference, Cork, Ireland, September 1999.

[SchA96] Schaerf A. Tabu Search techniques for large high-school timetabling problems. In Proceedings of the 30th National Conference on Artificial Intelligence, 1996, pp. 363-368.

[ShOl04] Santos H, Ochi L y And Souza M. An Eficient Tabu Search Heuristic for the School Timetabling Problem. Metaheuristics: Computer Decision-Making. Kluwer Academic Publishers, 2004.

[SoMa00] Souza M. Tesis Doctoral: Programación de Horarios en escuelas, una aproximación por metaheurísticas, Universidad Federal de Rio de Janeiro, 2000, 149h.

[SmMn00] Souza, M, Maculan N, Ochi L. Melhorando Quadros de Horário de Escolas através de Caminhos Mínimos, Tendencias em Matemática Aplicada e Computacional, v. 1, 2000, pp. 515-524.

[TripA84] Tripathy, A. School timetabling - A case in large binary integer linear programming. Management Science, v. 30, 1984, pp. 1473-1489.

[YmKN94] Yoshihawa M, Kaneko K & Nombra Y. A constraint-based approach to high school timetabling problems. In Proceedings of the 12th National Conference on Artifcial Intelligence, 1994.

[WerD85] de Werra D. An introduction to timetabling, European Journal of Operational Research Society, v. 19, 1985, pp. 151-162.

[Wols97] Wolsey L. Integer Programming, John Willey y sons, 1997.

[WoDc70] Wood, D.C. A technique for colouring a graph applicable to large scale timetabling problems. The Computer Journal, v. 12, 1970, pp. 317-319.

-xi-

Anexos

Tabla Anexo A.1. Matriz Carga Horaria Materia - Curso de la instancia empleada

MATERIAS K 1º 2ºA 2ºG 3º 4ºA 4ºG 5º 6º 7º 8º IA IG IIA IIG IIIE IIIB IVE IVB TOTAL

MAT_SEC1 - - - - - - - - - - - - - 5 5 4 3 3 3 23

MAT_SEC2 - - - - - - - - - - - 5 5 - - - - - - 10 QUIMICA GEN - - - - - - - - - - - - 3 3 3 - - - 2 11

QUIMICA_IIIyIV - - - - - - - - - - - 3 - - - 2 2 2 - 9 FISICA_II - - - - - - - - - - - - - - - 3 3 2 2 10

FISICA_I - - - - - - - - - - - 4 4 3 3 - - - - 14 BIOLOGIA - - - - - - - - - - 3 3 3 2 2 2 2 2 3 22 HISTORIA - - - - - - - - - - - - - - - 2 2 2 2 8

LITERATURA - - - - - - - - - - 4 3 3 3 3 2 2 3 3 26 ING_AVANZ - - - - - - - - - - - - 4 4 - 4 - 4 - 16

ING_MEDIO - - - - - - - - - - 4 4 - - 4 - 4 - 4 20 ING_INTERMED - - - - - - - 5 5 5 - - - - - - - - - 15

EDUC_ FIS 1 y 2 - 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 18 COMPUTACION - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 17

REL IGION - 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 20 DIBUJO_TEC - - - - - - - - - - - 1 1 1 1 1 1 1 1 8

DIBUJO_BAS - - 1 1 1 1 1 1 1 1 1 - - - - - - - - 9 PSICOLOGIA - - - - - - - - - - - 1 1 1 1 - - - - 4

FILOSOFIA - - - - - - - - - - - - - 1 1 1 2 1 1 7 GEOMETRIA - - - - - - - - - - - - - - - 1 - 2 - 3

CAL/ESTADIS - - - - - - - - - - - - - - - 2 1 2 1 6 ANAT/COMUNI - - - - - - - - - - - - - - - - 2 - 2 4 CIV ICA - - - - - - - - - - - - - - - 2 2 2 2 8

GEOGRAFIA - - - - - - - - - - - - - - - 2 2 2 2 8 SOC_MEDIO - - - - - - - - - - - 4 4 4 4 - - - - 16

MAT_INTER - - - - - - - - 5 5 5 - - - - - - - - 15 LENGUAJE - - - - - - - - 5 5 - - - - - - - - - 10

C_NATURALES - - - - - - - - 3 3 - - - - - - - - - 6 TVO 1 y 2 - 1 1 1 1 1 1 1 2 2 2 - - - - - - - - 13

ING_BASICO 2 4 4 4 5 5 5 - - - - - - - - - - - - 29 E_SOCIALES - - - - - - - - 3 3 3 - - - - - - - - 9

MUSICA 1 y 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 19 TUT_KINDER 12 - - - - - - - - - - - - - - - - - - 12

MIXTO_1º - 15 - - - - - - - - - - - - - - - - - 15 MIXTO_2ºAyG - - 16 16 - - - - - - - - - - - - - - - 16

MIXTO_3º - - - - 15 - - - - - - - - - - - - - - 15 MIXTO_4ºAyG - - - - - 15 15- - - - - - - - - - - - - 15

MIXTO_5º - - - - - - - 15 - - - - - - - - - - - 15

TOTAL 15 23 26 26 26 26 26 26 29 29 26 32 32 31 31 32 32 32 32

-xii-

Tabla Anexo A.2. Matriz Carga Horaria Profesor - Curso de la instancia empleada PROFESORES K 1º 2ºA 2ºG 3º 4ºA 4ºG 5º 6º 7º 8º IA IG IIA IIG IIIE IIIB IVE IVB TOTAL

1. TUT_KIN 12 - - - - - - - - - - - - - - - - - - 12

2. TUT_1ro - 15 - - - - - - - - - - - - - - - - - 15 3. TUT_2Da - - 16 - - - - - - - - - - - - - - - - 16

4. TUT_2dG - - - 16 - - - - - - - - - - - - - - - 16 5. TUT_3ro - - - - 15 - - - - - - - - - - - - - - 15

6. TUT_4tA - - - - - 15 - - - - - - - - - - - - - 15 7. TUT_4tG - - - - - - 15 - - - - - - - - - - - - 15

8. TUT_5to - - - - - - - 15 - - - - - - - - - - - 15 9. MAT_INT - - - - - - - - 5 5 5 5 5 - - - - - - 25

10. JUL_ RIV - - - - - - - - - - 4 3 3 3 3 2 2 3 3 26 11. MIR_GAR - - - - - - - - 8 8 3 - - - - - - - - 19

12. TER_GAM - - - - - - - - 3 3 - - 3 3 3 - - - 2 17 13. JUA_BAY - - - - - - - - - - 3 3 3 2 2 2 2 2 3 22

14. FRE_CAD - 1 1 - 1 1 - 1 2 2 2 - - - - - - - - 11 15. SUS_CAD - - - 1 - - 1 - - - - - - - - - - - - 2 16. VIC_AVI - 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 20

17. JOS_LOP - - - - - - - - - - - 1 1 1 1 1 1 1 1 8 18. EFR_BUR - - 1 1 1 1 1 1 1 1 1 - - - - - - - - 9

19. TER_DEL 2 4 4 4 5 5 5 - - - - - - - - - - - - 29 20. OBE_GAL - 1 1 - 1 1 - 1 1 1 1 1 - 1 - 1 - 1 - 12

21. AYD_ARR - - - 1 - - 1 - - - - - 1 - 1 - 1 - 1 6 22. PED_PET - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 17

23. COR_DEL - - - - - - - - - - - - - 5 5 4 3 3 3 23 24. ROB_ ITA - - - - - - - - - - - 4 4 3 3 2 1 2 1 20

25. DIRECTO - - - - - - - - - - - 3 - - - 5 5 4 2 19 26. TEO_MOL - - - - - - - - - - - - - - - 2 2 2 2 8

27. ING_SIN - - - - - - - - - - - - 4 4 - 4 - 4 - 16 28. ING_INT - - - - - - - 5 5 5 - - - - - - - - - 15

29. ING_ IGO - - - - - - - - - - 4 4 - - 4 - 4 - 4 20 30. LIL_MUS 1 1 1 1 1 1 1 1 1 1 1 - - - - - - - - 11 31. GER_MUS - - - - - - - - - - - 1 1 1 1 1 1 1 1 8

32. PSI_COL - - - - - - - - - - - 1 1 2 2 1 2 1 1 11 33. NIL_GAR - - - - - - - - - - - 4 4 4 4 4 4 4 4 32

34. ARQ_UIT - - - - - - - - - - - - - - - 1 - 2 - 3 35. DOC_COM - - - - - - - - - - - - - - - - 2 - 2 4

TOTALES 15 23 26 26 26 26 26 26 29 29 26 32 32 31 31 32 32 32 32

-xiii-

Tabla Anexo A.3. Máximo de lecciones, Hrs. requeridas y disponibles de los Profesores

PROFESORES K 1º 2ºA 3º 4ºA 5º 6º 7º 8º IA IIA IIIE IIIB IVE IVB Max Horas

Requeridas? Horas

Disponibles

Holguras

Densidad?

TUT_KIN 4 - - - - - - - - - - - - - - 4 12 15 3 0,80 TUT_1ro - 4 - - - - - - - - - - - - - 4 15 23 8 0,65 TUT_2Da - - 4 - - - - - - - - - - - - 4 16 20 4 0,80 TUT_2Dg - - - - - - - - - - - - - - - 4 16 20 4 0,80 TUT_3ro - - - 4 - - - - - - - - - - - 4 15 20 5 0,75 TUT_4tA - - - - 4 - - - - - - - - - - 4 15 20 5 0,75 TUT_4tG - - - - - - - - - - - - - - - 4 15 20 5 0,75 TUT_5to - - - - - 4 - - - - - - - - - 4 15 15 0 1,00 MAT_INT - - - - - - 1 1 1 1 - - - - - 1 25 25 0 1,00 JUL_ RIV - - - - - - - - 1 1 1 1 1 1 1 1 26 26 0 1,00 MIR_GAR - - - - - - 2 2 1 - - - - - - 2 19 22 3 0,86 TER_GAM - - - - - - 1 1 - - 1 - - - 1 1 17 19 2 0,89 JUA_BAY - - - - - - - - 1 1 1 1 1 1 1 1 22 23 1 0,96 FRE_CAD - 1 1 1 1 1 1 1 1 - - - - - - 1 11 13 2 0,85 VIC_AVI - 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 20 21 1 0,95 JOS_LOP - - - - - - - - - 1 1 1 1 1 1 1 8 15 7 0,53 EFR_BUR - - 1 1 1 1 1 1 1 - - - - - - 1 9 29 20 0,31 TER_DEL 2 2 2 2 2 - - - - - - - - - - 2 29 35 6 0,83 OBE_GAL - 1 1 1 1 1 1 1 1 1 1 1 - 1 - 1 12 12 0 1,00 PED_PET - - 1 1 1 1 1 1 1 1 1 1 1 1 1 1 17 21 4 0,81 COR_DEL - - - - - - - - - - 1 1 1 1 1 1 23 24 1 0,96 ROB_ITA - - - - - - - - - 1 1 1 1 1 1 1 20 20 0 1,00 DIRECTO - - - - - - - - - 1 - 2 2 2 1 2 19 35 16 0,54 TEO_MOL - - - - - - - - - - - 1 1 1 1 1 8 11 3 0,73 ING_SIN - - - - - - - - - - 1 1 - 1 - 1 16 20 4 0,80 ING_INT - - - - - 1 1 1 - - - - - - - 1 15 35 20 0,43 ING_IGO - - - - - - - - 1 1 - - 1 - 1 1 20 35 15 0,57 LIL_MUS 1 1 1 1 1 1 1 1 1 - - - - - - 1 11 11 0 1,00 GER_MUS - - - - - - - - - 1 1 1 1 1 1 1 8 17 9 0,47 PSI_COL - - - - - - - - - 1 2 1 1 1 1 2 11 12 1 0,92 NIL_GAR - - - - - - - - - 1 1 2 2 2 2 2 32 32 0 1,00 ARQ_UIT - - - - - - - - - - - 1 - 1 - 1 3 35 32 0,09 DOC_COM - - - - - - - - - - - - 1 - 1 1 4 4 0 1,00

? Corresponde a la suma de la carga horaria por profesor ? Calculado como el cociente entre carga horaria y horas disponibles por profesor

-xiv-

Tabla Anexo A.4. Disponibilidades por curso en la instancia empleada Lunes Martes Miérc Jueves Viernes Lunes Martes Miérc Jueves Viernes

DIS

P_M

ED

IO II

I y IV

1 x x x x x

DIS

P_M

ED

IO I

y II

1 x x x X x

2 x x x x x 2 x x x X x

3 x x x x x 3 x x x X x

4 x x x x x 4 x x x X x

5 x x x - x 5 x x x X -

6 x x x - x 6 x x x X -

7 x x x - x 7 x x x X -

DIS

P_8

vo

1 x x x x x

DIS

P_I

NTE

RM

ED

IO 1 x x x X x

2 x x x x x 2 x x x X x

3 x x x x x 3 x x x X x

4 x x x x x 4 x x x X x

5 - - x x - 5 - - x X x

6 - - x x - 6 - - x X x

7 - - x x - 7 - - x X x

DIS

P_B

AS

_4to

Y 5

to 1 x x x x x

DIS

P_B

AS

_3ro

y 2

do 1 x x x X x

2 x x x x x 2 x x x X x

3 x x x x x 3 x x x X x

4 x x x x x 4 x x x X x

5 x - - x - 5 x x - - -

6 x - - x - 6 x x - - -

7 x - - x - 7 x x - - -

DIS

P_B

AS

ICO

_1ro

1 x x x x x

DIS

P_K

IND

ER

1 - - - - -

2 x x x x x 2 x x x x x

3 x X x x x 3 x x x x x

4 x X x x x 4 x x x x x

5 x - - - - 5 - - - - -

6 x - - - - 6 - - - - -

7 x - - - - 7 - - - - -

-xv-

Procedimiento_entre_cursos Inicialización j ß 1; Repetir procedimiento ß 0; Mientras [j = n]

{

Para cada arco ${ }( , )jA k k= de costo negativo evaluar:

Si [ $ $( ) ( ) 0j jc k k c k k→ + → < , forman un ciclo de costo negativo que

mejora el valor de la función objetivo y no genera infactibilidad] entonces: {

Actualizar jG ; Actualizar horario del curso j;

Actualizar jG ; Actualizar horario del curso j ;

Aplicar Sub {Procedimiento_interno_en_cursos Inicialización j ß 1; Rep_proc ß 0; Mientras [j = n]

{ Mientras [exista un ciclo de costo negativo en el subgrafo

jG que mejore el valor de la función objetivo y no genere

infactibilidad] {

Actualizar jG ; Actualizar horario del curso j; Rep_proc ß 1;

} FinMientras; Si [Rep_proc = 1 y j = n] entonces: j ß 1;

Rep_proc ß 0; sino: j ß j+1; FinSi;

} FinMientras; FinSub Procedimiento_interno_en_cursos};

Repetir procedimiento ß 1; }

FinSi; FinPara; Si [Repetir procedimiento = 1 y j = n] entonces: j ß 1;

Repetir procedimiento ß 0; sino: j ß j+1; FinSi;

} FinMientras; Fin Procedimiento_entre_cursos;

-xvi-

// modelación en OPL // *** Preparacion de Datos *** SheetConnection sheetData1("C:\Documents and Settings\usuario\Escritorio\Seminario de Tesis\MODELO\modelo0\versionDefinitiva1.xls", 1); SheetConnection sheetData2("C:\Documents and Settings\usuario\Escritorio\Seminario de Tesis\MODELO\modelo0\versionDefinitiva1.xls", 2); SheetConnection sheetResultados("C:\Documents and Settings\usuario\Escritorio\Seminario de Tesis\MODELO\modelo0\resultados_version_definitiva"); // *** Indices *** int+ n_cursos = 19; // cursos int+ m_profes = 35; // profesores int+ d_dias = 5; // dias int+ h_clase = 7; // horas int+ materi= 43; // materias int+ turnos=2; // *** Rangos *** range profes 1..m_profes, cursos 1..n_cursos, dias 1..d_dias, horas 1..h_clase, materias 1..materi, Boolean 0..1, aux_i 1..m_profes, aux_hora 1..h_clase*m_profes, turno 1..turnos, ll 0..m_profes-1; // *** Parametros de Excel *** int cargahoraria[profes,cursos] from SheetRead(sheetData2, "cargahoraria"); int Nro_lecciones[profes,cursos] from SheetRead(sheetData2, "Max_leccion2 "); int disp_medio2[horas,dias] from SheetRead(sheetData1, "DISP_MEDIO2"); int disp_IImedio[horas,dias] from SheetRead(sheetData1, "DISP_ESPECIAL1"); int disp_medio1[horas,dias] from SheetRead(sheetData1, "DISP_MEDIO"); int disp_8vo[horas,dias] from SheetRead(sheetData1, "DISP_8VO"); int disp_intermedio[horas,dias] from SheetRead(sheetData1, "DISP_INTERMEDIO"); int disp_basico2[horas,dias] from SheetRead(sheetData1, "DISP_BASICO_2"); int disp_basico1[horas,dias] from SheetRead(sheetData1, "DISP_BASICO_1"); int disp_1ro[horas,dias] from SheetRead(sheetData1, "DISP_1RO"); int disp_kinder[horas,dias] from SheetRead(sheetData1, "DISP_KINDER"); int penal_medio2[horas,dias] from SheetRead(sheetData1, "penal_medio2"); int penal_medio1[horas,dias] from SheetRead(sheetData1, "penal_medio1"); int penal_8vo[horas,dias] from SheetRead(sheetData1, "PENAL_8VO"); int penal_intermedio[horas,dias] from SheetRead(sheetData1, "penal_intermedio"); int penal_basico2[horas,dias] from SheetRead(sheetData1, "penal_basico2"); int penal_basico1[horas,dias] from SheetRead(sheetData1, "penal_basico1"); int alpha[profes] from SheetRead(sheetData2, "penalizaciones"); Boolean disponibilidad_profes[aux_hora,dias]from SheetRead(sheetData1, "disponibilidad_profestotal"); var Boolean disponibilidad_curso[cursos,horas,dias]; var Boolean t[profes,horas,dias]; // parámetro= 1 si el profesor "i" esta disponible el día "k" en la hora de clase "l" //*** Variables de Decisión var Boolean x[profes,cursos,dias,horas]; // v. de decision 1 si el profesor "i" que dicta materia "m" es asignado al curso "j" el día "k" en la hora de clase "l" var Boolean Y[profes,dias,turno]; // v. de decision 1 si el profesor "i" es asignado algún curso en el día "k" en el turno "s" var int B[profes,dias,turno] in 0..h_clase-2; // v. de decision # de puentes en la agenda del profesor "i" en el día "k" en el turno "s" // *** Variables para la funcion objetivo *** var int Z[profes,dias,turno]in 0..h_clase; // v. adicional= "L" si "l" es la hora de clase de la última lección del profesor "i" el día "k" en el turno "s" var int A[profes,dias,turno]in 0..h_clase; // v. adicional= "L" si "l" es la hora de clase de la primera lección del profesor "i" el día "k" en el turno "s" var int HB in 0..9999999; // ponderacion var int HP in 0..9999999; // DISPONIBILIDAD DE PROFESORES PONDERADOS float p_TUTORKINDER[horas,dias] from SheetRead(sheetData1,"PROF1"); float p_TUTOR1ro[horas,dias] from SheetRead(sheetData1,"PROF2");

-xvii-

float p_TUTOR2doA[horas,dias] from SheetRead(sheetData1,"PROF3"); float p_TUTOR2doG[horas,dias] from SheetRead(sheetData1,"PROF4"); float p_TUTOR3ro[horas,dias] from SheetRead(sheetData1,"PROF5"); float p_TUTOR4toA[horas,dias] from SheetRead(sheetData1,"PROF6"); float p_TUTOR4toG[horas,dias] from SheetRead(sheetData1,"PROF7"); float p_TUTOR5to[horas,dias] from SheetRead(sheetData1,"PROF8"); float p_MAT_INT[horas,dias] from SheetRead(sheetData1,"PROF9"); float p_JULIETA[horas,dias] from SheetRead(sheetData1,"PROF10"); float p_MIRIAN_INT[horas,dias] from SheetRead(sheetData1,"PROF11"); float p_TGAMARRA[horas,dias] from SheetRead(sheetData1,"PROF12"); float p_JBAYA[horas,dias] from SheetRead(sheetData1,"PROF13"); float p_FCADENA[horas,dias] from SheetRead(sheetData1,"PROF14"); float p_SCADENA[horas,dias] from SheetRead(sheetData1,"PROF15"); float p_TOPO[horas,dias] from SheetRead(sheetData1,"PROF16"); float p_MONO[horas,dias] from SheetRead(sheetData1,"PROF17"); float p_BURGOSDIB[horas,dias] from SheetRead(sheetData1,"PROF18"); float p_TERESITA[horas,dias] from SheetRead(sheetData1,"PROF19"); float p_OBED[horas,dias] from SheetRead(sheetData1,"PROF20"); float p_AYDE[horas,dias] from SheetRead(sheetData1,"PROF21"); float p_PETRICIOCOMP[horas,dias] from SheetRead(sheetData1,"PROF22"); float p_CORINA[horas,dias] from SheetRead(sheetData1,"PROF23"); float p_ITAMARI[horas,dias] from SheetRead(sheetData1,"PROF24"); float p_DIRECTOR[horas,dias] from SheetRead(sheetData1,"PROF25"); float p_TEOFILA[horas,dias] from SheetRead(sheetData1,"PROF26"); float p_INGSINIKA[horas,dias] from SheetRead(sheetData1,"PROF27"); float p_INGINTERMEDIO[horas,dias] from SheetRead(sheetData1,"PROF28"); float p_INGIGOR[horas,dias] from SheetRead(sheetData1,"PROF29"); float p_LILIAN_MUSI[horas,dias] from SheetRead(sheetData1,"PROF30"); float p_GERY_MUSI[horas,dias] from SheetRead(sheetData1,"PROF31"); float p_PSICOLOGA[horas,dias] from SheetRead(sheetData1,"PROF32"); float p_NILDA[horas,di as] from SheetRead(sheetData1,"PROF33"); float p_ARQUITECTO[horas,dias] from SheetRead(sheetData1,"PROF34"); float p_DOCTOR_COMU[horas,dias] from SheetRead(sheetData1,"PROF35"); minimize HB + HP + sum(i in profes,k in dias,t in 1..2)(alpha[i]*B[i,k,t]) subject to { //********** LLENADO DE DISPONIBILIDAD DE CURSO ************* forall(h in horas,k in dias) disponibilidad_curso[1,h,k]=disp_kinder[h,k]; forall(h in horas,k in dias) disponibilidad_curso[2,h,k]=disp_1ro[h,k]; forall(i in 3..5,h in horas,k in dias) disponibilidad_curso[i,h,k]=disp_basico1[h,k]; forall(i in 6..8,h in horas,k in dias) disponibilidad_curso[i,h,k]=disp_basico2[h,k]; forall(j in 9..10,h in horas,k in dias) disponibilidad_curso[j,h,k]=disp_intermedio[h,k]; forall(h in horas,k in dias) disponibilidad_curso[11,h,k]=disp_intermedio[h,k]; forall(j in 12..13,h in horas,k in dias)disponibilidad_curso[j,h,k]=disp_medio1[h,k]; forall(j in 14..15,h in horas,k in dias)disponibilidad_curso[j,h,k]=disp_IImedio[h,k]; forall(j in 16..19,h in horas,k in dias)disponibilidad_curso[j,h,k]=disp_medio2[h,k]; //********** LLENADO DE DISPONIBILIDAD DE PROFES ************ forall(i in profes,k in dias,h in horas) { if i=1 then t[i,h,k]=disponibilidad_profes[h,k] endif; if i=2 then forall(p in 8..14) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=3 then forall(p in 15..21) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=4 then forall(p in 22..28) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=5 then forall(p in 29..35) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=6 then forall(p in 36..42) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=7 then forall(p in 43..49) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=8 then forall(p in 50..56) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=9 then forall(p in 57..63) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=10 then forall(p in 64..70) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=11 then forall(p in 71..77) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=12 then forall(p in 78..84) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=13 then forall(p in 85..91) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=14 then forall(p in 92..98) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=15 then forall(p in 99..105) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=16 then forall(p in 106..112) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=17 then forall(p in 113..119) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=18 then forall(p in 120..126) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=19 then forall(p in 127..133) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=20 then forall(p in 134..140) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=21 then forall(p in 141..147) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=22 then forall(p in 148..154) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=23 then forall(p in 155..161) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=24 then forall(p in 162..168) t[i,h,k]=disponibilidad_profes[p,k] endif;

-xviii-

if i=25 then forall(p in 169..175) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=26 then forall(p in 176..182) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=27 then forall(p in 183..189) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=28 then forall(p in 190..196) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=29 then forall(p in 197..203) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=30 then forall(p in 204..210) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=31 then forall(p in 211..217) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=32 then forall(p in 218..224) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=33 then forall(p in 225..231) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=34 then forall(p in 232..238) t[i,h,k]=disponibilidad_profes[p,k] endif; if i=35 then forall(p in 239..245) t[i,h,k]=disponibilidad_profes[p,k] endif;}; //**************RESTRICCIONES********************************* //a) Sobre posición de cursos: Un profesor no puede enseñar a más de un curso en una misma hora de clase. // incluye a: Indisponibilidad de profesor: forall (i in profes,j in cursos,k in dias,h in horas) x[i,j,k,h]<=t[i,h,k]; //b) Sobre posición de profesores: A un curso no puede asignarse una lección con más de un profesor en una misma hora de clase. forall (i in profes,j in cursos,k in dias,h in horas) x[i,j,k,h]<=disponibilidad_curso[j,h,k]; //c) Carga horaria: Todos los profesores deben cumplir con la carga horaria de lecciones semanales en cada uno de los cursos. forall (i in profes,j in cursos) sum(k in dias,h in horas) x[i,j,k,h]=carga horaria[i,j]; //d) Número máximo de lecciones (clases) diarias por curso de una misma materia: Un curso no puede tener más de cierto número de lecciones de una misma materia, al día. forall (i in profes,j in cursos,k in dias) sum(h in horas) x[i,j,k,h]<=Nro_lecciones[i,j]; // clases simultaneas por paralelo forall (k in dias,h in horas){ // educacion fisica x[20,3,k,h]-x[21,4,k,h] =0; x[20,6,k,h]-x[21,7,k,h] =0; x[20,12,k,h]-x[21,13,k,h] =0; x[20,14,k,h]-x[21,15,k,h] =0; x[20,16,k,h]-x[21,17,k,h] =0; x[20,18,k,h]-x[21,19,k,h] =0; // TVO x[14,3,k,h]-x[15,4,k,h] =0; x[14,6,k,h]-x[15,7,k,h] =0; // INGLES MEDIO x[27,14,k,h]-x[29,15,k,h] =0; x[27,16,k,h]-x[29,17,k,h] =0; x[27,18,k,h]-x[29,19,k,h] =0;}; // Presencia de un profesor en un determinado día en el turno s forall (i in profes,k in dias) Y[i,k,1]>=(1/4)*(sum(j in cursos,h in 1..4)x[i,j,k,h]); forall (i in profes,k in dias) Y[i,k,2]>=(1/3)*(sum(j in cursos,h in 5..7)x[i,j,k,h]); // activar las variables,de la última lección del profesor i el día k, y la variable, de la primera lección del profesor i el día k en los turnos s, se incluye las siguientes restricciones forall (i in profes,k in dias,l in 1..4) Z[i,k,1]>=l*(sum(j in cursos)x[i,j,k,l]); forall (i in profes,k in dias,l in 5..7) Z[i,k,2]>=l*(sum(j in cursos)x[i,j,k,l]); forall (i in profes,k in dias, l in 1..4) A[i,k,1]<=5*Y[i,k,1]-(5-l)*(sum(j in cursos) x[i,j,k,l]); forall (i in profes,k in dias, l in 5..7) A[i,k,2]<=8*Y[i,k,2]-(8-l)*(sum(j in cursos) x[i,j,k,l]); //forall (i in profes) sum(k in dias) Y[i,k]<=5; // Número de puentes o baches profesor forall (i in profes,k in dias) B[i,k,1]>=Z[i,k,1]-A[i,k,1]+Y[i,k,1]-sum(h in 1..4,j in cursos) x[i,j,k,h]; forall (i in profes,k in dias)

-xix-

B[i,k,2]>=Z[i,k,2]-A[i,k,2]+Y[i,k,2]-sum(h in 5..7,j in cursos) x[i,j,k,h]; // ponderacion por hora disponible de cada curso HB = sum (i in profes,j in 3..5,k in dias,h in horas) x[i,j,k,h] * penal_basico1[h,k] + sum (i in profes,j in 6..8,k in dias,h in horas) x[i,j,k,h] * penal_basico2[h,k] + sum (i in profes,j in 9..10,k in dias,h in horas) x[i,j,k,h] * penal_intermedio[h,k] + sum (i in profes,k in dias,h in horas) x[i,11,k,h] * penal_8vo[h,k] + sum (i in profes,j in 12..15,k in dias,h in horas) x[i,j,k,h] * penal_medio1[h,k] + sum (i in profes,j in 16..19,k in dias,h in horas) x[i,j,k,h] * penal_medio2[h,k]; // ponderacion por hora por profesor HP = sum (j in cursos,k in dias,h in horas) x[1,j,k,h] *p_TUTORKINDER[h,k] + sum (j in cursos,k in dias,h in horas) x[2,j,k,h] *p_TUTOR1ro[h,k] + sum (j in cursos,k in dias,h in horas) x[3,j,k,h] *p_TUTOR2doA[h,k] + sum (j in cursos,k in dias,h in horas) x[4,j,k,h] *p_TUTOR2doG[h,k] + sum (j in cursos,k in dias,h in horas) x[5,j,k,h] *p_TUTOR3ro[h,k] + sum (j in cursos,k in dias,h in horas) x[6,j,k,h] *p_TUTOR4toA[h,k] + sum (j in cursos,k in dias,h in horas) x[7,j,k,h] *p_TUTOR4toG[h,k] + sum (j in cursos,k in dias,h in horas) x[8,j,k,h] *p_TUTOR5to[h,k] + sum (j in cursos,k in dias,h in horas) x[9,j,k,h] *p_MAT_INT[h,k] + sum (j in cursos,k in dias,h in horas) x[10,j,k,h] *p_JULIETA[h,k] + sum (j in cursos,k in dias,h in horas) x[11,j,k,h] *p_MIRIAN_INT[h,k] + sum (j in cursos,k in dias,h in horas) x[12,j,k,h] *p_TGAMARRA[h,k] + sum (j in cursos,k in dias,h in horas) x[13,j,k,h] *p_JBAYA[h,k] + sum (j in cursos,k in dias,h in horas) x[14,j,k,h] *p_FCADENA[h,k] + sum (j in cursos,k in dias,h in horas) x[15,j,k,h] *p_SCADENA[h,k] + sum (j in cursos,k in dias,h in horas) x[16,j,k,h] *p_TOPO[h,k] + sum (j in cursos,k in dias,h in horas) x[17,j,k,h] *p_MONO[h,k] + sum (j in cursos,k in dias,h in horas) x[18,j,k,h] *p_BURGOSDIB[h,k] + sum (j in cursos,k in dias,h in horas) x[19,j,k,h] *p_TERESITA[h,k] + sum (j in cursos,k in dias,h in horas) x[20,j,k,h] *p_OBED[h,k] + sum (j in cursos,k in dias,h in horas) x[21,j,k,h] *p_AYDE[h,k] + sum (j in cursos,k in dias,h in horas) x[22,j,k,h] *p_PETRICIOCOMP[h,k] + sum (j in cursos,k in dias,h in horas) x[23,j,k,h] *p_CORINA[h,k] + sum (j in cursos,k in dias,h in horas) x[24,j,k,h] *p_ITAMARI[h,k] + sum (j in cursos,k in dias,h in horas) x[25,j,k,h] *p_DIRECTOR[h,k] + sum (j in cursos,k in dias,h in horas) x[26,j,k,h] *p_TEOFILA[h,k] + sum (j in cursos,k in dias,h in horas) x[27,j,k,h] *p_INGSINIKA[h,k] + sum (j in cursos,k in dias,h in horas) x[28,j,k,h] *p_INGINTERMEDIO[h,k] + sum (j in cursos,k in dias,h in horas) x[29,j,k,h] *p_INGIGOR[h,k] + sum (j in cursos,k in dias,h in horas) x[30,j,k,h] *p_LILIAN_MUSI[h,k] + sum (j in cursos,k in dias,h in horas) x[31,j,k,h] *p_GERY_MUSI[h,k] + sum (j in cursos,k in dias,h in horas) x[32,j,k,h] *p_PSICOLOGA[h,k] + sum (j in cursos,k in dias,h in horas) x[33,j,k,h] *p_NILDA[h,k] + sum (j in cursos,k in dias,h in horas) x[34,j,k,h] *p_ARQUITECTO[h,k] + sum (j in cursos,k in dias,h in horas) x[35,j,k,h] *p_DOCTOR_COMU[h,k]; } setting cplexLogFile = "myLogFile.log";