• No se han encontrado resultados

Programación entera para el cálculo automatizado de horarios de clase

N/A
N/A
Protected

Academic year: 2021

Share "Programación entera para el cálculo automatizado de horarios de clase"

Copied!
37
0
0

Texto completo

(1)

Programación entera para el cálculo

automatizado de horarios de clase

Daniel Ayala María Belén Heredia Luis Miguel Torres

Centro de Modelización Matemática Escuela Politécnica Nacional

Segundo Congreso Internacional de Matemática Aplicada San Salvador, 5 – 7 de septiembre de 2016

(2)

Contenido

El problema El modelo y el algoritmo El sistema informático Los resultados 2 / 32

(3)

Antecedentes

I El cálculo de horarios en la EPN se realiza manualmente a

nivel de cada unidad académica

I Es una tarea difícil que requiere de días (o semanas)

I Es propensa a errores

I conflictos en el uso de aulas I excesivos cruces

I horarios incómodos para profesores y alumnos (p.ej.

(4)

Antecedentes

I Proyecto semilla Octubre 2012 – Diciembre 2013

I modelo de optimización basado en la programación entera I algoritmo de solución a nivel de prototipo

I pruebas de uso en la Facultad de Ciencias I proyecto de titulación María Belén Heredia

I Proyecto investigación Rectorado-ModeMat-DGIP

Enero 2014- Marzo 2015

I implementación del sistema a nivel de la EPN I desarrollo de bases de datos

I desarrollo de interfaces de usuario

I integración a los servicios informáticos de la EPN

(5)

Objetivo

I Desarrollar un modelo de optimización y un sistema

informático de ayuda a la decisión para I asignación de horarios de clase I asignación de aulas

respetando losrequerimientosde la EPN.

I Estos requerimientos se expresan medianterestricciones

fuertesydébiles.

I El horario calculado satisfaceTODASlas restricciones

(6)

Restricciones fuertes

I cruces entre materias asignadas al mismo profesor

I disponibilidad de tiempo de los profesores

I cruces entre materias de un mismo nivel

I cantidad de aulas disponibles

I capacidad y tipo de aulas

I configuración de las materias

I cruces definidos por el usuario

(7)

Restricciones débiles

I cruces entre materias de distintos niveles

(excepto en presencia de prerrequisitos)

I preferencia de horario de los profesores

I compacidad del horario por nivel

(8)

Contenido

El problema El modelo y el algoritmo El sistema informático Los resultados 8 / 32

(9)

Algunas definiciones básicas...

I materia: unidad (semestral) para agrupar contenidos que

se imparten en una carrera; se organiza enpénsums

I curso:grupo de estudiantes y profesor reunidos para la impartición de una materia

I un cursopuede reunir a estudiantes que tomandistintas

materias

I una materiapuede impartirse por medio devarios de

cursos

I período: unidad temporal para organizar la impartición de clases (=una hora en la EPN)

I sesión: cada una de las reuniones semanales de un curso;

(10)

Ejemplo: Carrera Ing. Matemática

(11)

Problema de asignación de horarios

Dados:

I cursos planificados

I disponibilidad horaria de los profesores

I disponibilidad de aulas

asignar cadasesiónde clase a unperíodo y a unaulade

manera que se respeten todas las restricciones fuertes y tantas restricciones débiles como sea posible.

(12)

Distancias entre cursos y sesiones

Ladistanciaentre dos cursos es:

d(c1,c2) =min{|niv(c1,p)−niv(c2,p)| : p∈Pc1∩Pc2}

dondePces el conjunto de pénsums asociados al cursocyniv(c,p)

es el nivel de la materia asociada acen el pénsump∈Pc.

La distanciadi`entre dos sesionesi,`∈Ses la distancia entre sus

cursos respectivos.

(13)

Otros parámetros

I matriz deconflictos entre sesiones

ai`=

1, sidi`=0oiy`están a cargo del mismo profesor,

0, caso contrario.

I Lik es elconjunto de períodosen los que la sesiónipuede

iniciar en el díak

I Nrkj es lacantidad de aulasde tipor disponibles el período jdel díak

I ωijk es lapenalizaciónporpreferencias de horario de

(14)

Otros parámetros

I matriz deconflictos entre sesiones

ai`=

1, sidi`=0oiy`están a cargo del mismo profesor,

0, caso contrario.

I Likes elconjunto de períodosen los que la sesiónipuede

iniciar en el díak

I Nrkj es lacantidad de aulasde tipor disponibles el período jdel díak

I ωijk es lapenalizaciónporpreferencias de horario de

profesorsi la sesióniinicia en el períodojdel díak

(15)

Otros parámetros

I matriz deconflictos entre sesiones

ai`=

1, sidi`=0oiy`están a cargo del mismo profesor,

0, caso contrario.

I Likes elconjunto de períodosen los que la sesiónipuede

iniciar en el díak

I Nrkj es lacantidad de aulasde tipor disponibles el período jdel díak

I ωijk es lapenalizaciónporpreferencias de horario de

(16)

Otros parámetros

I matriz deconflictos entre sesiones

ai`=

1, sidi`=0oiy`están a cargo del mismo profesor,

0, caso contrario.

I Likes elconjunto de períodosen los que la sesiónipuede

iniciar en el díak

I Nrkj es lacantidad de aulasde tipor disponibles el período jdel díak

I ωijk es lapenalizaciónporpreferencias de horario de

profesorsi la sesióniinicia en el períodojdel díak

(17)

Variables de decisión

xirkj=            1, si la sesióni∈Ses programada en un aula de tipor∈Ri,

para empezar en el períodoj∈H

en el díak∈D,

0, caso contrario.

yi` =

1, si existe un cruce entre las sesionesiy`,

(18)

Variables de decisión

xirkj=            1, si la sesióni∈Ses programada en un aula de tipor∈Ri,

para empezar en el períodoj∈H

en el díak∈D,

0, caso contrario.

yi` =

1, si existe un cruce entre las sesionesiy`,

0, caso contrario.

(19)

Modelo de PE (1)

minX i∈S X `∈S `>i γ(di`)yi`+ X i∈S X r∈Ri X k∈D X j∈Lik ωijkxirkj s.t. X r∈Ri X k∈D X j∈Lik xirkj = 1, ∀i∈S, (1) X i∈S X `∈S `6=i ai`yi` = 0, (2) X i∈Sc X r∈Ri X j∈Lik xirkj ≤ 1, ∀c∈C,∀k∈D, (3) X i:r∈Ri X ˆj:j∈Γiˆj xirkˆj ≤ Nrkj, ∀r∈R,∀k∈D,∀j∈H, (4)

(20)

Modelo de PE (2)

X r∈R xirkj+ X r∈R X ˆj∈Ωi`j x`rkˆj−1 ≤ yi` (5) ∀i, `∈S, ` >i, ∀k∈D,∀j∈Lik, xirkj∈ {0,1}, ∀i∈S,∀r∈R, (6) ∀k∈D,∀j∈H, yi` ∈ {0,1}, ∀i, `∈S, ` >i. (7) 16 / 32

(21)

Heurística constructiva

Laheurística constructivaestá basada en un método de inserción secuencial.

En cada iteración principal:

I Ordenar aleatoriamente las sesiones

I Para cada sesióni∈S

I asignarial mejor período (y aula) posibles

I siino puede ser asignada a ningún período,

remover sesiones conflictivasj

(22)

Heurística de mejora

Mejorar localmente la solución encontrada por la heurística constructiva

I Para cada par de sesiones{i, `} ∈S×S, siyi` =1: I removeriy`

I reprogramariy`al mejor par posible de períodos

(23)

Contenido

El problema

El modelo y el algoritmo

El sistema informático

(24)

Esquema de funcionamiento

Envío de datos Lab. Nacional de Cálculo Científico Reportes de resultados 20 / 32

(25)

Datos requeridos

I estructura curricular

I características de aulas y laboratorios

I disponibilidad de aulas

I disponibilidad de horario de los profesores

(26)

Estructura curricular

I carreras I materias I mallas I prerrequisitos 22 / 32

(27)

Aulas

I tipo

I capacidad

(28)

Horario de profesores

I disponibilidad

I preferencia

(29)

Configuración de cursos

I cursos vs. materias I sesiones I cupo I profesor I cruces específicos

(30)

Reportes

El modelo reporta el horario calculado

I por profesor

I por nivel

I por aula

I condensado (estilo SAEw)

(31)

Detalles técnicos

I Modelo de programación lineal entera con variables

binarias para las asignación de sesiones de clase a períodos y aulas

I Solución por heurísticas primales (inserción secuencial y

de mejoramiento), y por medio del solver SCIP

I Módulo de cálculo implementado en C++

I Base de datos implementada en MySQL

(32)

Contenido

El problema El modelo y el algoritmo El sistema informático Los resultados 28 / 32

(33)

Test Set

Table :Test Set

Ins. |C| |P| #Pre. #Lect. |S| Var. Cons.

1 26 3 14 30 66 778 182,619 2 45 1 40 58 108 1,827 233,089 3 45 2 36 58 108 1,827 233,089 4 43 4 28 58 113 2,193 371,197 5 32 1 13 58 87 18,152 225,134 6 37 2 26 58 98 21,447 334,512 7 40 4 48 58 104 21,945 300,679 8 37 1 27 58 98 26,774 334,932 9 61 6 65 58 156 39,789 747,881 10 98 8 153 58 241 92,449 1,501,199 11 98 8 81 58 241 92,449 1,501,199 12 98 4 105 58 241 92,449 1,501,199 13 107 8 135 64 260 101,981 1,746,631 14 104 11 110 69 253 126,921 2,325,177

(34)

Table :Computational Results: Heuristics

Ins. Constructive Heuristic Improvement Heuristic

Initial Sol. Time Final Sol. Time #iter. Impr.(%) Sol. Time Impr.(%)

1 110.00 0.02 88.33 19.93 963 20% 87.17 4.47 21% 2 353.26 0.44 288.02 259.69 920 18% 278.43 6.46 21% 3 230.83 0.00 183.00 155.92 523 21% 180.33 5.8 22% 4 429.50 0.10 313.17 141.85 629 27% 277.83 4.03 35% 5 321.29 0.00 234.64 87.00 888 27% 219.27 7.42 32% 6 323.00 0.10 172.33 167.14 967 47% 154.17 4.05 52% 7 253.00 0.03 156.00 164.83 672 38% 101.00 5.33 60% 8 363.88 0.29 245.36 133.53 712 33% 216.87 6.72 40% 9 555.50 1.15 463.67 1,637.18 648 17% 450.33 7.41 19% 10 1,259.38 18.77 1,060.33 3,609.40 288 16% 998.26 59.45 21% 11 680.83 13.80 488.67 3,605.94 370 28% 446.17 59.75 34% 12 1,125.07 10.50 1,040.50 3,604.10 256 8% 964.12 59.03 14% 13 1,031.00 31.96 977.67 3,624.29 18 5% 859.50 159.27 17% 14 1,037.05 4.74 844.79 3,601.82 544 19% 744.51 74.98 28% 30 / 32

(35)

Table :Computational Results: Gurobi, Scip and Heuristics

Ins. Gurobi SCIP Heuristics

Best sol. LB Gap Best sol. LB Gap Sol. Time 1 81.17 2.20 3,589% 110.33 1.00 10,933% 87.17 24.40 2 256.69 150.60 70% 293.26 127.83 129% 278.43 266.15 3 143.00 109.67 30% 190.50 103.67 84% 180.33 161.72 4 221.50 22.00 907% 340.33 6.00 5,572% 277.83 145.88 5 239.98 28.67 737% 252.81 19.33 1,208% 219.27 94.42 6 48.50 14.00 246% 202.83 11.00 1,744% 154.17 171.19 7 48.00 31.00 55% 133.00 34.00 291% 101.00 170.16 8 150.60 15.11 897% 300.14 11.00 2,629% 216.87 140.25 9 332.67 26.00 1,179% 627.17 11.00 5,602% 450.33 1,644.59 10 1,309.69 167.53 682% - 89.37 - 998.26 3,668.85 11 217.00 135.33 60% - 91.17 - 446.17 3,665.69 12 1,194.10 170.21 602% - 98.43 - 964.12 3,663.13 13 919.67 72.21 1,174% - 70.36 - 859.50 3,783.56 14 1,930.57 10.00 19,206% 2,269.85 2.00 113,392% 744.51 3,676.80

(36)

Referencias I

E. Burke, J. Marecek, A. J. Parkers, and H. Rudová.

A Branch-and-Cut Procedure for the Udine Course Timetabling Problem.

Annals of Operations Research, 194:71–87, 2012. E. Burke and S. Petrovic.

Recent Search Directions in Automated Timetabling.

European Journal of Operational Research, 140(2):266–280, 2002. A. Dorneles, O. C. de Araújo, and L. S. Buriol.

A fix-and-optimize heuristic for the high school timetabling problem.

Computers and Operation Research, 52:29–38, 2014. G. Lach and M. Lübbecke.

Curriculum Based Course Timetabling: New Solutions to Udine Benchmark Instances.

Annals of Operations Research, 194:399–412, 2010. R. Qu, E. Burke, B. McCollum, L. Merlot, and S. Lee.

A Survey of Search Methodologies and Automated System Development for Examination Timetabling.

Journal of Scheduling, 12(1):55–89, 2009. K. Schimmelpfeng and S. Helber.

Application of a real-world university-course timetabling model solved by integer programming.

OR Spectrum, 29:783–803, 2006. A. Shaerf.

A Survey of Automated Timetabling.

(37)

Referencias

Documento similar

2.- Aunque, para elaborar un comentario completo, debemos formular varias preguntas, en los ejercicios pedagógicos es preferible que reduzcamos, sobre todo al principio,

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

De acuerdo con Harold Bloom en The Anxiety of Influence (1973), el Libro de buen amor reescribe (y modifica) el Pamphihis, pero el Pamphilus era también una reescritura y

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Para denegación hegeliana del mal: «Así como no existe lo fal- so, no existe el mal, es objetada primero por Sade y luego por la subjetividad romántica: en la mé- dula de la

Entre las limitaciones que se establecen en el acceso al divorcio, des- taca la recogida en el artículo cincuenta y uno, donde se expone que el hombre que haya expresa su intención

En el instrumento se recopila toda la información necesaria para realizar el estudio pues es importante almacenar lo referente a los datos generales del discapacitado, las