university/college scheduling …...el problema de la programación de horarios en una universidad,...
TRANSCRIPT
TAKSHILA (INDIA) – WORLD’S FIRST UNIVERSITY
TIME-TABLES OPTIMIZATION(FUNDAMENTALS)
CASE:UNIVERSITY/COLLEGE SCHEDULING
MATHEMATICAL PROGRAMMING &
MATHEURISTICS
Ing. Jesús Velásquez-Bermúdez, Dr. Eng. Chief Scientist DecisionWare - DO Analytics
Junio 2018
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
2
TIME-TABLES OPTIMIZATION CASE: UNIVERSITY/COLLEGE SCHEDULING
ÍNDICE
1. INTRODUCCIÓN
1.1. OPCHAIN-EDO: EDUCATION SYSTEM OPTIMIZATION
1.2. OPERATIONS RESEARCH PROJECTS
2. TIME-TABLING 2.1. TIME-TABLING PROBLEM
2.2. UNIVERSITY TIME-TABLING PROBLEM 2.2.1. CURRICULUM-BASED COURSE TIMETABLING (CB-CTT)
2.2.2. FLOW FORMULATIONS
2.3. METODOLOGÍA MATEMÁTICAS 2.3.1. INTELIGENCIA ARTIFICIAL
2.3.1.1. HEURÍSTICAS Y METAHEURÍSTICAS 2.3.1.2. LOCAL SEARCH METHODS
2.3.2. PROGRAMACIÓN MATEMÁTICA
2.3.2.1. METODOLOGÍAS DE GRAN ESCALA 2.3.2.2. MATHEURISTICS
2.4. OBJETIVO
3. IMPLEMENTACIÓN DEL DSS/EDO-TT 3.1. SISTEMA DE INFORMACIÓN
3.2. IMPLEMENTACIÓN MODELOS MATEMÁTICOS
3.3. SOLUCIÓN VÍA MATHEURÍSTICAS 3.3.1. SOLUCIÓN INTEGRADA/BÁSICA
3.3.2. REDUCCIÓN DE DOMINIO 3.3.3. STEP-WISE OPTIMIZATION
3.3.4. ANÁLISIS DE FACTIBILIDAD
3.4. TECNOLOGÍAS DE OPTIMIZACIÓN 3.5. ARQUITECTURA FUNCIONAL
4. CASO: OPTIMIZACIÓN DE TIME-TABLES EN COLEGIOS
4.1. PROPUESTA DE VALOR 4.2. SISTEMA DE INFORMACIÓN
4.3. RESULTADOS AGREGADOS
4.4. CASO PARTICULAR: COLEGIO 10 4.4.1. TIEMPO SOLUCIÓN
4.4.2. RESULTADOS DETALLADOS
5. CASO: OPTIMIZACIÓN DE TIME-TABLES EN UNIVERSIDADES
5.1. PROCESO DE MATRICULAS 5.2. MODELOS MATEMÁTICOS
5.3. RESTRICCIONES (REGLAS) 5.4. IMPLEMENTACIÓN COMPUTACIONAL
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
3
TIME-TABLES OPTIMIZATION CASE: UNIVERSITY/COLLEGE SCHEDULING
1. INTRODUCCIÓN
Este documento contiene la conceptualización del proceso de toma de decisiones conocido en inglés como time-tabling, o programación de horarios de actividades. Se presenta como caso de análisis la
optimización de la programación de las actividades académicas.
1.1. OPCHAIN-EDO: EDUCATION SYSTEM OPTIMIZATION
OPCHAIN-EDO es un sistema de soporte de decisiones desarrollado por DecisionWare (DW)
Como parte de los servicios ofrecidos por OPCHAIN-EDO destacan: ▪ OHA: Programación de horarios para las actividades educativas. Asignación de recursos
(profesores, salones, … ) ▪ OHA-EXA: Programación de horarios para los exámenes de los cursos
▪ OHA-PLA: Planificación de recursos mediano plazo ▪ VRP: Ruteo de recolección/distribución de alumnos
▪ ALU: Asignación de alumnos a instituciones educativas
▪ LIS: Localización y dimensionamiento de capacidad de las sedes ▪ FSO: Optimización del suministro de alimentos
Los modelos matemáticos de OPCHAIN-EDO pueden ser personalizados para reglas de negocios
especiales de las instituciones educativas.
1.2. OPERATIONS RESEARCH PROJECTS
En el caso de universidades, teniendo en cuenta la complejidad matemática de los problemas tipo
“time-tabling”, DW manifiesta su disponibilidad para analizar la posibilidad de suministro de los matemáticos que hacen parte de OPCHAIN-EDO como parte de un Proyecto de Investigacion
en la temática de Investigación de Operaciones, desarrollado conjuntamente entre la universidad
y DW. Los beneficios potenciales:
▪ Desarrollo de conocimiento ▪ Estímulo a la Investigacion Operaciones
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
4
▪ Acceso a fondos especiales para R&D+i
▪ Acceso a licencias de software académicas
▪ Incorporación en el equipo a estudiantes y/o profesores ▪ Disminución de los costos de implementación
NOTA: Los interesados en conocer el sistema diseñado para la programación óptima de actividades
en universidades (multi-sede, multi-campus) pueden solicitar una presentación virtual a
2. TIME-TABLING
2.1. TIME-TABLING PROBLEM
A continuación se analiza de manera general “The Timetabling Problem” o el “El Problema de
Programación de Horarios”, el cual pertenece a un grupo de problemas más grandes determinados como problemas de “scheduling” (programación de actividades). Este problema genérico tiene un sin
números de casos específicos de aplicación como la programación de juegos en un torneo, la programación de la operación de trenes en una red férrea, la programación de horarios en las
universidades/colegios entre muchos otros.
Ha sido clasificado, por la literatura especializada, como un problema NP Hard. Esto significa que a
medida que las dimensiones del problema aumentan, el tiempo de solución crece exponencialmente.
Como caso especial, que ha recibido gran atención por parte de investigadores académicos y empresas desarrolladoras de tecnología, está la Programación de Horarios Académicos. Es tal su
grado de importancia que desde 1995, el Practice and Theory of Automated Timetabling (PATAT)
Working Group, que pertenece a la Association of European Operational Research Societies, viene trabajando con el objetivo de compartir los avances logrados, y de promover la investigación y el
desarrollo tecnológico para atacar dicho problema. Cada dos años realizan la International Series of Conferences on the Practice and Theory of Automated Timetabling a la cuál asiste la comunidad
interesada: académicos, profesionales de la ciencia de datos y proveedores de soluciones de analítica
avanzada.
Los problemas de Programación de Actividades (“Scheduling”) se pueden definir, en su forma más básica, con dos entidades: recursos y actividades. Su objetivo es determinar la forma como se deben
usar los recursos para realizar las actividades buscando optimizar el valor de un indicador de
desempeño.
Entre la gran variedad de problemas de scheduling se encuentran los problemas de time-tabling. Babaei et al. (2015) presentó una clasificación de los problemas de time-tabling, que ha sido
modificada de acuerdo con las definiciones presentadas en la Second International Time-Tabling Competition (Bettinelli et al. (2015)).
Con respecto al manejo del tiempo, los problemas de time-tabling se pueden clasificar en: ▪ Discrete Time-Tabling: en los cuales el tiempo se divide en períodos y se asume que las
actividades comienzan al inicio de cada período. Para tener períodos de diferente longitud, se puede asumir un horario en el que se pueden realizar las actividades. Este es el caso de los
horarios de las universidades/colegios.
▪ Continuos Time-Tabling: en los cuales las actividades pueden comenzar en cualquier momento; en este caso el modelo determina el instante en que comienza y en el que termina
una actividad. Este tipo de modelamiento es el requerido para la coordinación de plantas industriales.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
5
Los dos enfoques pueden dar los mismos resultados, para ello el problema de tiempo discreto debe
dividirse en un “infinito” de períodos para garantizar la precisión de la programación. Los dos
problemas son del tipo de programación mixta (MIP) y su complejidad es NP-Hard. En este documento solo se analizar el caso de Discrete Time-Tabling. El lector interesado puede obtener
más información en el paper: ▪ Logistics Operations: Optimization in Ports & Vessels Systems & Maintenance
https://www.linkedin.com/pulse/logistics-operations-optimization-ports-ships-systems-jesus-
velasquez/
2.2. UNIVERSITY TIME-TABLING PROBLEM
El problema de la programación de horarios en una universidad, o en un colegio, consta de una serie de reuniones entre profesores y estudiantes, en un conjunto de espacios disponibles, durante un
período compuesto por múltiples semanas, en las que se repiten cíclicamente las reuniones; la
programación debe respetar las limitaciones de recursos, las preferencias y las capacidades de los profesores, y múltiples reglas idiosincrásicas, administrativas o académicas, propias de la institución
académica. El gran volumen de datos unido con las restricciones hace de este un problema matemático formidable difícil de resolver de forma óptima. En adelante se habla de manera general
de universidades, pero lo expresado también es aplicable a colegios. El sistema de soporte de
decisiones para este caso se denominará DSS/EDO-TT.
En 2007, durante la Second International Timetabling Competition (ITC-2007), se definió “formalmente” el problema asignación de horarios en universidades (Curriculum-Based Course
Timetabling, CB-CTT) como un problema que consiste en encontrar la mejor asignación semanal de espacios (rooms) a períodos (franjas horarias o medio horarias, … ) y a profesores. Referencias:
Di Gaspero et al. (2007), McCollum et al. (2010) and Bonutti et al. (2012). El paper “An Overview
of Curriculum-Based Course Timetabling” (Bettinelli et al., 2015, Lubbecke, 2015) es utilizado como referencia principal para revisar el estado del arte del problema “University Timetabling”.
El timetabling centrado en la programación de cursos considera los siguientes problemas:
▪ Curriculum Base Course Problem (CB-CTT): el conjunto de materias es pre definido por un
plan de estudios que determina una serie de materias que el alumno debe tomar. Aplicable a colegios y a universidades.
▪ PostEnrolment Base Course Problem (PE-CTT): los estudiantes determinan que cursos
desean tomar para el siguiente periodo académico. Aplicable a universidades.
▪ Examination Timetabling (EXA-CTT) relacionado con la programación de exámenes finales
que deben presentar los alumnos. Aplicable a colegios y a universidades.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
6
Timetabling Problems
University Timetabling
Examination Timetabling
Course Based Timetabling
Post Enrollment Course Based Timetabling
Curriculum Course Based Timetabling
TrainTimetabling
HighschoolTimetabling
Sport -TournamentTimetabling
ProjectScheduling ...
SchedulingProblems
...
“THE SCHEDULING PROBLEM – UNIVERSITY TIMETABLING”
Un horario (time-table) factible debe satisfacer un conjunto de restricciones duras (hard) y, también, debe tener en cuenta un conjunto de restricciones blandas (soft), cuya violación produce
penalizaciones en la función objetivo. Desde ITC-2007, muchos investigadores han desarrollado
modelos avanzados y métodos para resolver CB-CTT. El trabajo de Bettinelli et al. (2015) está dedicado a revisar los principales trabajos sobre el tema, con énfasis en modelos matemáticos
basados en algoritmos exactos, con límites inferiores (lower bounds) y algoritmos heurísticos y metaheurísticos, que no aportan “lower bounds”. El objetivo es encontrar una asignación factible de
todas las actividades a los recursos, minimizando la suma ponderada, de acuerdo pesos
preestablecidos, de las sanciones correspondientes a las violaciones de las restricciones blandas. El artículo presenta una visión general de estos enfoques, y destaca extensiones que podrían hacer el
modelo CB-CTT aún más desafiante y cercano a la realidad.
La caracterización del “University Timetabling” busca generar un marco de referencia que permita la comparación de los nuevos enfoques, o de mejoras a los enfoques existentes. Así como de las formas
en que este tipo de problemas evolucionarán para dar respuesta a los nuevos requerimientos que
tendrán las instituciones de educación superior. Los cambios tecnológicos y pedagógicos que se avecinan, o que ya están en curso traerán una mayor complejidad al proceso de programación de
clases.
El problema real que debe resolver en la realidad dista mucho de los problemas teóricos CB-CTT y
PE-CTT.
2.2.1. CURRICULUM-BASED COURSE TIMETABLING (CB-CTT)
La definición formal (estándar, académica) del problema CB-CTT consiste en: Períodos: el horizonte de tiempo (normalmente 5 o 6 días de enseñanza) se divide en días y cada
día se divide en un número fijo de intervalos de tiempo; un período es un par (día, hora);
Cursos y Profesores: cada curso consiste en un número determinado de clases, es impartido por un profesor y a él asisten una cantidad determinada de alumnos. EL curso puede pertenecer a algunos
planes de estudio de la universidad/colegio y sus clases se deben dar durante un número mínimo de horas. Además, para cada curso pueden existir períodos durante los cuales el profesor del curso no
está disponible;
▪ Plan de Estudios (Curriculum): un plan de estudios corresponde a un conjunto de cursos que deben grupos de estudiantes
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
7
▪ Espacios (salones de clase): cada espacio se caracteriza por una capacidad de acuerdo con el
número de asientos en la sala.
La meta de CB-CTT consiste en encontrar la “mejor” asignación de conferencias/clases, espacios,
profesores y períodos, mientras satisfacen las siguientes restricciones duras (“hard”): ▪ Clases (Lectures): todas las conferencias/clases de un curso deben ser programadas, y deben
asignarse a los distintos períodos;
▪ Ocupación del Espacio: cada salón de clases puede utilizarse para una sola clase por período; ▪ Conflictos: clases de cursos pertenecientes al mismo plan de estudios impartido por el mismo
profesor no pueden programarse en el mismo período; ▪ Disponibilidad: períodos no disponibles para el profesor del curso no se puede utilizar para
programar una clase de ese curso
Para las restricciones blandas, el objetivo es la minimización de la suma ponderada (de acuerdo con
unos pesos establecidos) de múltiples funciones objetivo, que representan los costos por la violación de las siguientes restricciones de suaves (“soft”):
▪ Número mínimo de días de clase : para cada curso, una penalización se impone por cada día debajo del número mínimo de días en que se dicte el curso;
▪ Planes de Estudio Compacto: es preferible que las clases de un plan de estudios sean
consecutivas, sin períodos libres en el medio; así, se impone una penalización para cada conferencia aislada; es decir, una conferencia no adyacente a cualquier otra conferencia del
mismo plan de estudios en el mismo día; ▪ Capacidad del Espacio: una penalización se impone por cada estudiante que no puede tener
un asiento en la sala asignada a la clase del curso; ▪ Estabilidad del Espacio: es preferible que un curso se enseñe siempre en el mismo espacio,
por lo tanto, se impone una penalización por cada espacio adicional utilizado para un curso.
Además, o en reemplazo de algunas de las restricciones suaves pueden considerarse otros
componentes de costos indirectos o intangibles: ▪ Periodos Vacíos (Windows): Esta es una alternativa para considerar la compacidad del plan
de estudios: las calases de un plan de estudio no deben tener tiempo libres (sin docencia) entre
ellos; para un determinado plan de estudios, se considera una violación cada vez que hay una período vacío entre dos clases del plan de estudios en el mismo día;
▪ Carga del Estudiante (diaria): para un determinado plan de estudios, el número de clases diarias a las que puede asistir un estudiante debe estar dentro de un rango dado;
▪ Distancia/Tiempo entre Clases: los estudiantes deben tener el tiempo para pasar de un
edificio a otro entre dos clases; ▪ Adecuación del Salón: Algunos espacios pueden no ser adecuados para un curso determinado
debido a la ausencia del equipo necesario (esto debe ser modelado como una dura restricción); ▪ Clases Multi-período: algunos cursos requieren que las conferencias en el mismo día se
agrupen; es decir, que deben programarse en períodos adyacentes y en el mismo espacio. ▪ Clases Aisladas: En ocasiones se desea programar conferencias desde el mismo currículo en
períodos adyacentes. Dos períodos son adyacentes si pertenecen al mismo día y en horas
consecutivas, cuando esto no se cumple se considera una clase/conferencia aislada. En este caso, cada vez que hay una conferencia aislada, esto cuenta como una violación que se debe penalizar.
Entonces, el objetivo de CB-CTT es encontrar una solución que cumple con todas las limitaciones
duras y minimiza una suma ponderada de las violaciones de las restricciones suaves con pesos no
negativos.
El problema real que debe resolver el DSS/EDO-TT dista mucho de los problemas teóricos CB-CTT y PE-CTT, ya que de acuerdo con la visión del futuro de la formación universitaria, existen grupos
(clases, “lectures”) que comparten recursos a nivel de múltiples campus, posiblemente todos, y
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
8
además se requiere de una programación dinámica de los módulos de un curso que cubren todas las
semanas del calendario académico.
Si analizamos las metodologías propuestas para CB-CTT, podemos ver que hay muchos algoritmos
complejos y modelos que producen resultados de "buena calidad". También podemos observar que el problema es aún difícil de resolver hasta conseguir la optimalidad y sólo pocos métodos han sido
propuestos para hallar la solución óptima. La reciente accesibilidad a GPUs de propósito general ha
incrementado el desarrollo de métodos de procesamiento en paralelo; y por lo tanto se trata de un interesante área de investigación, que puede mejorar la eficacia de métodos exactos (Bozejko et al.
2014; Kolonias et al. 2014).
2.2.2. FLOW FORMULATIONS FOR CB-CTT
Bagger et al (2016) en “Flow Formulations for Curriculum-Based Course Timetabling”
presentan dos formulaciones programación entera-mixta (MIP, Mixed Integer Programming) para el problema CB-CTT. Las formulaciones contienen estructuras de red subyacentes que permiten dividir
el CB-CTT en dos modelos que se conectan mediante técnicas de formulación de flujos a través de una red. La primera formulación se basa en un problema de flujo de costo mínimo (minimum path
flow) que disminuye significativamente el número de variables enteras y mejora el rendimiento en
comparación con una formulación MIP intuitiva/natural. La segunda formulación se basa en un problema de flujo de varios productos (multi-commodity flow) que en general es NP-hard; sin
embargo, Bagger et al. demuestran que es suficiente resolver la relajación de programación lineal (LP-R) del modelo CB-CTT, esto es ignorar las condiciones de integralidad de las variables enteras.
La formulación es competitiva con otros enfoques basados en MIP y debe ser tenida en cuenta en el momento de implementar una formulación exacta, o en el momento de mejorar una ya existente.
2.3. METODOLOGÍA MATEMÁTICAS
A continuación, se describen brevemente las metodologías básicas más utilizadas.
Las metodologías matemáticas y las tecnologías de optimización para resolver el TTP se soportan en
dos fundamentos metodológicos principales: ▪ Inteligencia Artificial (AI)
o Metaheuristic search o Local search methods
o Constraint-based reasoning
o Logic programming o Knowledge-based systems
▪ Programación Matemática o Métodos directos
o Metodologías de gran escala o Matheuristics
A continuación, se analiza los fundamentos, las ventajas y las desventajas de los dos enfoques básicos. Los conceptos presentados se soportan en la revisión bibliográfica y tecnológica que se ha
llevado a cabo como parte del análisis y del diseño de varios problemas de time-tabling, principalmente para educaciones educativas.
2.3.1. INTELIGENCIA ARTIFICIAL
El interés por reproducir las características humanas a través de metodologías/tecnologías creados por el hombre tiene larga data esto debido a la necesidad de transferir el trabajo hacia máquinas que
lo realicen de forma automática, sin errores y con menos consumo de energía, esto incluye el
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
9
desarrollo de máquinas tan simples como el arado, hasta bastante complejas como son los algoritmos
modernos que corren los computadores actuales, que tratan de sintetizar el racionamiento humano.
Esto se resume en la creencia de la posibilidad de transferir a las máquinas, no sólo las características mecánicas humanas, sino, además, las características cognitivas e intelectuales. Los primeros
investigadores de la Inteligencia Artificial (Artificial Intelligence, AI) tomaron como base la neurona formalizada de McCulloch y postulaban que: "El cerebro es un solucionador inteligente de
problemas, de modo que imitemos al cerebro", pero no se puede ignorar que el primer nivel
de conocimiento se genera con base en percepciones (tal como lo muestra la siguiente figura), el segundo nivel se soporta en el método científico para estudiar los problemas.
La AI como campo de estudio, debe sus fundamentos a distintas ramas de la ciencia, así, se han ido tomando diferentes referentes desde la filosofía, la matemática, la psicología, la lingüística y las
ciencias de la computación, las cuales han modelado con sus aportes las características generales de las técnicas utilizadas para la representación y procesamiento del conocimiento.
Los fundamentos de los algoritmos, la lógica de los silogismos, la neurofisiológica del cerebro, el empirismo, el principio de inducción apuntaron a una formalización del pensamiento y como
consecuencia, a su reducción a un sistema físico y por ende posible de mecanizar; la formulación matemática de esta filosofía/enfoque, necesitaba de un paradigma que permitiera su operativización,
para la construcción de algoritmos formales para la inferencia lógica, lo que fue posible con el álgebra
de Boole (algebra booleana), constituyendo la lógica como el sistema básico de representación del conocimiento. Las ciencias de la computación son la base sobre la cual se materializó la AI utilizando
el hardware y el software como soporte para todas sus metodologías y tecnologías.
Dentro de la ciencia de la computación, la AI, es probablemente el campo de investigación más “espectacular”, el que más atrae al “público neófito”; esa atención se debe a su objetivo original:
reproducir la inteligencia humana en computadoras o como alguna vez se afirmó: hacer que las
computadoras “piensen”.
2.3.1.1. HEURÍSTICAS Y METAHEURÍSTICAS
Heurística proviene de una palabra griega que significa “hallar, inventar” (etimología que comparte
con eureka). Cuando se usa como sustantivo, se refiere a la disciplina, el arte o la ciencia del descubrimiento. En el campo de las matemáticas, las heurísticas usualmente proponen estrategias
que guían a un descubrimiento. El término fue utilizado por Albert Einstein en la publicación sobre
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
10
efecto fotoeléctrico (1905), con el cual obtuvo el premio Nobel en Física en el año 1921 y cuyo título
traducido al idioma español es: “Sobre un punto de vista heurístico concerniente a la producción y
transformación de la luz” (Wikipedia). Convencionalmente las heurísticas se diseñan para resolver un tipo de problema específico, cambia el problema, cambia la heurística.
El término metaheurística fue acuñado por Glover (1986) y combina el prefijo griego meta con
heurística para referenciarse a un marco algorítmico de alto nivel, independiente del problema de
optimización a resolver que proporciona un conjunto de estrategias para el desarrollo de algoritmos de optimización basado en heurísticas. La diferencia fundamental entre las heurísticas y las
metaheurísticas radica en que la heurística es especializada en un problema específico de optimización, en tanto que las metaheurísticas son aplicables a cualquier problema de optimización.
Las metaheurísticas más conocidas incluyen algoritmos genéticos/evolutivos, búsqueda tabú, recocido simulado y optimización de colonia de hormigas
El siguiente diagrama, extraído de Wikipedia, presenta una manera de clasificar algunas de las metaheurísticas más conocidas. Un elemento entre dos categorías indica que se puede colocar en
una o en la otra según el enfoque.
Algunas metaheurísticas conocidas son
▪ Optimización aleatoria ▪ Búsqueda local
▪ Búsqueda local iterada (Iterated Local Search) ▪ Búsqueda en entornos variados (Variable Neighborhood Search)
▪ Algoritmos voraces y ascensión de colinas ▪ Aceptación por umbrales (Threshold Accepting)
▪ Ascensión de colinas con reinicialización aleatoria
▪ Búsqueda primero el mejor ▪ Recocido simulado (Simulated Annealing)
▪ Optimización basada en colonias de hormigas ▪ Algoritmos de enjambre
▪ Búsqueda Tabú
▪ Algoritmos genéticos ▪ Algoritmos meméticos
▪ GRASP
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
11
▪ Meta-RaPS
▪ Algoritmos multiarranque
▪ Inteligencia de enjambre ▪ Optimización de enjambre de partículas
▪ Búsqueda por difusión estocástica ▪ Optimización extrema
▪ PeSOA: Penguins Search Optimization Algorithm
▪ Búsqueda dispersa (Scatter Search) ▪ Re-encadenamiento de trayectorias (Path Relinking)
Hay una cantidad enorme de variaciones e híbridos propuestos, y muchas más
metaheurísticas/heurísticas han sido probadas en problemas específicos. Este es un campo en investigación, con un gran número de publicaciones en revistas, una gran cantidad de investigadores
y de usuarios, además de una gran cantidad de aplicaciones.
Dado que la AI está basada en el comportamiento humano, ampliado a mecánicas de
comportamiento de otros seres vivos, AI hereda las ventajas y las imperfecciones de dichos racionamientos que tienen sus limitantes, las cuales se pueden sintetizar en la dificultad del ser
humano para incorporar de manera rápida, y automática, las leyes matemáticas que rigen los
procesos físicos, económicos, comerciales, sociales, … . Esto impide que la AI sea exacta en el manejo matemático ya que los algoritmos están basados en la lógica y en la percepción y no en ecuaciones
algebraicas exactas y en metodologías matemáticas formales.
La anterior situación genera dos características inherentes a las metodologías de optimización basadas en AI, con respecto a los dos aspectos fundamentales de la optimización: optimalidad y
factibilidad:
▪ Factibilidad: las soluciones basadas en AI, se caracterizan por obtener rápidas soluciones
factibles, esto se deriva de que el ser humano casi siempre tiene una solución a cada problema de decisión que enfrenta. Esta solución se caracteriza por ser rápida, lógica y factible, pero no
necesariamente la mejor). Para procesos en los que lo que se requiere una solución factible en
muy corto tiempo es una alternativa completamente válida.
▪ Optimalidad: dos aspectos se deben considerar en esta dirección: o Prueba de la optimalidad: los algoritmos basados en AI no están en capacidad de
probar que una solución es óptima (principio de optimalidad); esto se deriva de los
procesos lógicos seguidos por los humanos que, en la mayoría de los casos, ignoran (no se preocupan) si la decisión tomada es la mejor solución; y
o Orden de magnitud de la no-optimalidad (GAP): los denominados métodos exactos, basados en programación matemática, están en capacidad de evaluar el máximo error,
distancia al punto óptimo, lo que es deseable en los problemas difíciles de resolver hasta encontrar el óptimo. Esto se debe al que el racionamiento humano no incorpora la teoría
matemática en el proceso de sus decisiones, solo la lógica.
Por lo tanto, los algoritmos metaheurísticos siempre serán, como su nombre lo indica, una heurística
por naturaleza. Este hecho los distingue de los métodos exactos, que se soportan en una prueba matemática de que la solución óptima se encontrará en un tiempo finito (en muchos casos
prohibitivamente grande). Las metaheurísticas son desarrolladas para encontrar una solución que
sea "suficientemente buena" en un tiempo de computación que es "bastante pequeño".
Las metaheurísticas pueden ser débiles por otras razones como: i) la falta de una metodología universal estandarizada; ii) la falta de rigor científico en las pruebas; iii) la dificultad para comparar
diferentes implementaciones; y iv) la tendencia a crear métodos excesivamente intrincados. Sin
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
12
embargo, no se puede desconocer la habilidad de las metaheurísticas para obtener buenas soluciones
en casos en los que los métodos exactos no lo han hecho.
Haciendo un balance entre ventajas y desventajas, se puede afirmar que el principal inconveniente
de las metodologías basadas en metaheurísticas/heurísticas es que no proporcionan una prueba de la calidad de la solución obtenida (“lower bounds” para minimización y “upper bounds” para
maximización).
Desde el punto de vista empresarial (soluciones vendidas a un cliente) la debilidad de las
metaheurísticas esta directamente vinculada al control del programa de computación (algoritmo) el cual puede ser muy difícil de mantener una vez el programados del algoritmo no esté presente.
Para mayor conocimiento sobre metaheurísticas, se invita al lector a revisar el material disponible en
http://metaheuristics.org y http://metaheuristics.eu
2.3.1.2. CONSTRAINT PROGRAMMING
Texto extraído de Wikipedia.
La Programación por restricciones (Constraint Programming, CP) es un paradigma de la programación en informática, donde las relaciones entre las variables son expresadas en términos de
restricciones (ecuaciones). Actualmente es usada como una tecnología de software para la descripción y resolución de problemas combinatorios particularmente difíciles, especialmente en las
áreas de planificación y programación de tareas (calendarización, time-tables). Este paradigma representa uno de los desarrollos más fascinantes en los lenguajes de programación desde 1990 y
no es sorprendente que, recientemente haya sido identificada por la ACM (Association for Computing
Machinery) como una dirección estratégica en la investigación en computación.
Se trata de un paradigma de programación basado en la especificación de un conjunto de restricciones, las cuales deben ser satisfechas por cualquier solución del problema planteado, en lugar
de especificar los pasos para obtener dicha solución. La programación con restricciones se relaciona
mucho con la programación lógica y con la investigación de operaciones. De hecho cualquier programa lógico puede ser traducido en un programa con restricciones y viceversa. Muchas veces los
programas lógicos son traducidos a programas con restricciones debido a que la solución es más eficiente que su contraparte.
La diferencia entre ambos radica principalmente en sus estilos y enfoques en el modelado del mundo. Para ciertos problemas es más natural (y por ende más simple) escribirlos como programas lógicos,
mientras que en otros es más natural escribirlos como programas con restricciones. El enfoque de la programación con restricciones se basa principalmente en buscar un estado en el cual una gran
cantidad de restricciones sean satisfechas simultáneamente. Un problema se define típicamente como un estado de la realidad en el cual existe un número de variables con valor desconocido. Un programa
basado en restricciones busca dichos valores para todas las variables.
Algunos dominios de aplicación de este paradigma son:
▪ Dominios booleanos, donde solo existen restricciones del tipo verdadero/falso. ▪ Dominios en variables enteras y racionales.
▪ Dominios lineales, donde solo se describen y analizan funciones lineales.
▪ Dominios finitos, donde las restricciones son definidas en conjuntos finitos. ▪ Dominios mixtos, los cuales involucran dos o más de los anteriores.
Los lenguajes de programación con restricciones son típicamente ampliaciones de otro lenguaje. El primer lenguaje utilizado a tal efecto fue PROLOG. Por esta razón es que este campo fue llamado
inicialmente Programación Lógica con Restricciones. Ambos paradigmas comparten características
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
13
muy similares, tales como las variables lógicas (una vez que una variable es asignada a un valor, no
puede ser cambiado), o el backtracking.
En este documento no se analiza la solución de problemas de time-tabling utilizando esta
metodología.
2.3.1.3. LOCAL SEARCH METHODS
Las metaheurísticas basadas en búsqueda local (“local search”) iterativamente encuentran buenas
soluciones haciendo cambios a la “solución actual”. Estos cambios se llaman movimientos y son típicamente "pequeños" (donde las soluciones adyacentes están relativamente cerca de acuerdo con
una métrica “natural”), de allí el nombre de esta clase de metaheurísticas. El conjunto de soluciones que se pueden obtener mediante la aplicación de un solo movimiento para una solución dada se
llama el vecindario (“neighborhood”) de una solución. Dependiendo de la forma que se representa la
solución, se pueden definir tipos de movimientos diferentes. Cada tipo de movimiento da lugar a una “neighborhood structure”.
En cada iteración, la solución actual se sustituye por una solución en su vecindario. La regla que se
usa para seleccionar la nueva solución actual se llama la estrategia de movimiento, la estrategia más
común es la pendiente máxima (“steepest descent” para minimización, “steepest ascent” para maximización). Las metaheurísticas que utilizan esta estrategia a menudo se llaman “hill-climbers”
(escaladores). Otras estrategias de movimiento incluyen el mildest ascent/descent, en la que se selecciona el primer movimiento que mejora la solución actual. La selección de una solución al azar
es otra estrategia de uso general.
Una solución que es mejor que cualquier solución en su vecindario se llama un óptimo local (“local
optimum”). Cuando la solución actual es un óptimo local, la metaheurística utilizará una estrategia para "escapar" de este óptimo local, para buscar otro óptimo local que supere el actual; esta
estrategia caracteriza la metaheurística, y generalmente da origen a su nombre.
LocalSolver (LS) es un software comercial que se autodenomina como un “black-box local-search
solver for combinatorial optimization”, LS cuenta con su propio lenguaje de modelamiento (LSP), lo que permite concentrarse en la parte de modelado de los problemas de negocio, olvidándose de la
implementación de los algoritmos en lenguajes de programación de bajo nivel. LS utiliza técnicas de búsqueda local de alto rendimiento que permite resolver el problema sin procesos complejos de
“tuning” de los parámetros. Como cualquier “solver” basado en inteligencia artificial, LS no
proporciona garantía alguna sobre la calidad de las soluciones que devuelve. Pero en la práctica, y particularmente en el contexto de aplicaciones reales a gran escala, LS da soluciones de alta calidad
en corto tiempo. LS reduce drásticamente los costos de desarrollo y de mantenimiento de soluciones de optimización basadas en AI, y mejora su fiabilidad y robustez. LS soluciona problemas binarios
no-lineales.
A continuación, se presentan dos “benchmarks” que comparan LS con uno de los tres mejores solvers
comerciales para resolver problemas mixtos (QAP - Quadratic Assigment Problem, TSP - Travel Salesman Problem). Estos resultados califican a LS como un “solver” a considerar en el caso de
problemas combinatorios como el CB-CTT. Los “benchmarks” fueron realizados por Innovation24, la empresa dueña de LS.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
14
Cabe notar que los problemas que resuelve LS pueden formularse como de programación matemática, esto debido al lenguaje genérico LSP.
2.3.2. PROGRAMACIÓN MATEMÁTICA
Son múltiples los tipos de modelos basados en Programación Matemática (MP) que pueden ser requeridos por una organización, cada uno de ellos con fines específicos y complementarios; se
pueden nombrar: ▪ Optimización
▪ Equilibrio General Computable ▪ Modelos Estadísticos y/o Econométricos
▪ Dinámica de Sistemas
▪ Generadores Sintéticos de Variables Aleatorias ▪ Modelamiento de Procesos Estocásticos
A pesar de su diversidad, los diferentes tipos de modelos cumplen con una característica común: se
pueden formular por medio de expresiones algebraicas propias de la programación matemática, o
sea que todos pueden ser resueltos utilizando una herramienta de alto nivel orientada a manejar formulaciones algebraicas como son: IBM OPL, GAMS, AMPL, GMPL, MOSEL, AIMMS, OPTEX,
IMPRESS, LINGO, COIN-OR, GLPK y otros.
Respecto a los dos aspectos fundamentales de la optimización, esto implica que:
▪ Factibilidad: los “solvers” basados en MP se caracterizan por conseguir soluciones factibles.
▪ Optimalidad: dos aspectos se deben considerar:
o Prueba de la optimalidad: los algoritmos basados en MP están en capacidad de probar la optimalidad de la solución; y
o Orden de magnitud de la no-optimalidad (GAP): cuando no se obtiene la solución
óptima, los algoritmos basados en MP están en capacidad de determinar el máximo error/sobrecosto que se puede estar asumiendo. Esto implica determinar “lower bounds”
para minimización y “upper bounds” para maximización. Los aspectos relacionados con la optimalidad no pueden ser garantizados por las metodologías
basadas en AI.
Por otro lado, si se normaliza la formulación de expresiones algebraicas, es posible tener una forma
estándar de representar un modelo matemático que puede ser entendida por otro modelador matemático, convirtiéndose la programación matemática en un estándar para formular este tipo de
problemas. Adicionalmente, la combinación/división de problemas de programación matemática
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
15
genera nuevos problemas de programación matemática, que pueden ser resueltos de múltiples
maneras utilizando la misma tecnología informática. Por lo tanto, para facilitar el desarrollo de
modelos, y tomar potencia de las tecnologías informáticas modernas, es conveniente establecer principios básicos de modelaje de forma tal de potenciar el uso de los modelos y conseguir que los
mismos, y su plataforma tecnológica, sigan vigente al pasar el tiempo, gracias a concebir como una estructura dinámica que se adapte a los cambios de las tecnologías informáticas. Esto implica, previo
a la implementación de los modelos matemáticos, establecer normas que garanticen el entendimiento
del modelo matemático, por cualquier profesional conocedor del tema.
MATHEMATICAL PROGRAMMING AS AN STANDARD
MATHEMATICAL PROGRAMMING
MATHEMATICAL PROGRAMMING
MATHEMATICAL PROGRAMMING
Tres tipos de modelos pueden utilizarse para resolver el problema de time-tabling:
▪ Modelos de optimización integrados ▪ Utilización de metodologías de gran escala (como Benders y Relajación Lagrangeana)
▪ Matheurísticas: Heurísticas basada en el uso de modelos de programación matemática.
Para el lector interesado en conocer más sobre la aplicación de metodologías de gran escala, se le
invita a consultar:
Lubbecke (2015) comenta el trabajo de Bettinelli et al. y advierte de la ganancia obtenida por los métodos exactos) MIP (“Integer Programming-Based Methods”) que han entrado en la escena
con resultados absolutamente exitosos, debido a: i) el desarrollo de la velocidad de los algoritmos
exactos (CPLEX, GUROBI, EXPRESS), y ii) a la computación “multi-core” y a los múltiples GPUs que facilita la optimización paralela, aspecto que no es fácil de capturar con los algoritmos
metaheurísticos debido a la vinculación de códigos de bajo nivel con los problemas específicos, y por ende con programadores (personas) específicos. Además, las formulaciones basadas en problemas
de satisfacción (satisfiability) son muy interesantes y prometedoras, en particular debido a la presentación de los enfoques exactos.
2.3.2.1. METODOLOGÍAS DE GRAN ESCALA
Bagger et. al (2017) compararon su algoritmo con otros enfoques de la literatura para un total de 32 casos de datos. Se obtuvo un límite más bajo en 23 de los casos (71.8%), que eran al menos tan
buenos como los límites inferiores obtenidos por el “estado del arte”, y en ocho de estos casos, los
límites inferiores (“lower bounds”) eran más altos (menor GAP). En dos de los casos, el límite inferior mejoró los limites conocidos (”state of the art”). Por último, compararon el modelaje basado en la
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
16
Teoría de Benders (BT) con el modelo integrado (sin descomposición) en seis instancias adicionales,
mucho más grandes que los 32 casos iniciales; esta fue la primera vez que se calcularon “lower
bounds” para estos seis casos.
El trabajo “A University-Timetabling Problem and Its Solution Using Benders’ Partitioning”, aborda el problema CB-CTT haciendo uso de la BT. La metodología fue utilizada para
programar los cursos ofrecidos por la Facultad de Ingeniería, así como los ofrecidos en la Universidad
Virginia Tech. Los resultados muestran claramente una mejora en la calidad de horarios obtenidos, cuando la calidad se mide por la distancia total recorrida por los profesores desde sus oficinas hasta
las aulas donde se ofrecen los cursos. 2.3.2.2. MATHEURISTICS
Matheurística se refiere a un algoritmo de optimización derivado de la interoperación de
metaheurísticas y técnicas de Programación Matemática (Mathematical Programming, MP). Una de sus características esenciales es la explotación, en alguna parte del algoritmo, de características
derivadas del modelo matemático del problema que se debe resolver. Este campo pretende explotar las ventajas que brindan los modelos y técnicas de la MP en el desarrollo de plataformas
(meta)heurísticas; este tipo de enfoque también se conoce como “Model-Based Metaheuristics”.
La idea de las matheurísticas no es perder la característica de solución exacta de la solución de
programación matemática, sino facilitar la solución del problema incluyendo reglas lógicas que aceleran el proceso de solución. Las matheurísticas están más vinculadas a problemas mixtos (MIP)
pero también son utilizadas en problemas continuos no-lineales de alta complejidad.
Esta será la alternativa que se presentará en un numeral posterior para enfrentar el problema de
optimización de horarios académicos.
2.4. OBJETIVO
El objetivo de DSS/EDO-TT es minimizar los costos operativos de las instituciones académicas
teniendo en cuenta las siguientes características: ▪ Espacios que se pueden utilizar por grado-sección y materia;
▪ Recursos disponibles para las materias que lo requieran; ▪ Capacidades de los espacios;
▪ Especialidad, vocación y disponibilidad horaria de los profesores;
▪ Intensidades horarias semanales por cada materia y grado; ▪ Materias con múltiples secciones simultáneamente.
3. IMPLEMENTACIÓN DEL DSS/EDO-TT
A continuación se presenta un caso real de aplicación de matheurísticas para programación de múltiples colegios localizados en una misma región. Este sistema de soporte de decisiones se
denomina DSS/EDO-TT y fue implementado haciendo uso de OPTEX EXPERT OPTIMIZATION SYSTEM. Más información acerca de OPTEX se encuentra:
▪ OPTEX – Optimization Expert System
https://www.linkedin.com/pulse/optex-optimization-expert-system-new-approah-make-models-
velasquez/
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
17
3.1. SISTEMA DE INFORMACIÓN
A continuación se presentan las entidades que hacen parte del sistema DSS/EDO-TT
ÍNDICE CÓDIGO ENTIDAD OBJETO
DESCRIPCIÓN
al ALU Alumnos Personas que aprenden
co COL Sede Infraestructura para los cursos
cu CUR Curso Disciplinas académicas
d DIA Día Día de la semana
es ESA Especialidad Agrupamientos de cursos
g GRA Grado Año de educación en el que se encuentran los alumnos
h HOR Hora Escolar Horas habilitadas para los cursos
me MET Metodología Metodologías de enseñanza
n NIV Niveles Agrupación de grados definida por el estado
p PRO Profesor Recurso humano encargado de la enseñanza de las materias.
pa PES Plan Académico Intensidades horarias de cada curso por grado.
r REC Recurso Recursos necesarios para los cursos
rg REG Región Agrupación por ubicación geográfica
ro ROL Rol Rol del profesor
s ESP Espacio Ambientes que se utilizan para cursos
sd SED Macro sedes Agrupación de Sedes por ubicación geográfica
se SEC Sección Grupo de alumnos asociados a un grado escolar
te TES Tipo Espacio Caracterización de los espacios
tr TRE Tipo Recurso Tipo de recursos
tu TUR Turnos Determinan los grupos de horas de escolares
El diagrama presenta los datos de entrada y los de salida relacionados con el DSS/EDO-TT.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
18
▪ MATERIAS ▪ SECCIONES Y SUS TAMAÑOS ▪ PROFESORES CON SUS DISPONIBILIDADES
HORARIAS▪ DISPONIBILIDAD DE ESPACIOS POR
SECCIÓN Y MATERIA▪ RECURSOS DISPONIBLES▪ RECURSOS POR MATERIA▪ INTENSIDADES HORARIAS POR GRADO
ESCOLAR Y MATERIA
EDO-TTAcademic Scheduling
Optimization
▪ HORARIO POR ALUMNOS▪ HORARIO POR PROFESORES▪ HORARIO POR ESPACIO▪ CONSUMO DE RECURSOS POR HORA
ENTRADAS
SALIDAS
3.2. IMPLEMENTACIÓN MODELOS MATEMÁTICOS
A continuación, se presenta el modelaje requerido para definir los modelos matemáticos que integran
el DSS/EDO-TT. El modelaje matemático se divide en dos partes: el “core” y las reglas del negocio.
El “core” de cada uno de los modelos matemáticos está compuesto por un conjunto de ecuaciones
que son necesarias para representar apropiadamente el proceso físico asociado al modelo, el cual no se puede violar. Al “core” se deben adicionar las restricciones que representan cada una de las reglas
de negocio que se deben respetar en la solución del problema matemático asociada al modelo. Las
restricciones que integran el “core” no pueden eliminarse del modelo, ya que corresponden a las leyes físicas que siempre se deben considerar.
CORECONSTRAINTS
LEYES FÍSICAS
REGLA1
REGLA2
REGLAn
REGLA…
REGLANR
REGLANR-1
REGLAn+1
REGLA…
ETAPA 2ETAPA 1
CORECONSTRAINTS
LEYES FÍSICAS
STEPWISE OPTIMIZATION
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
19
Se debe notar que si el problema “core” no tiene solución, el problema integrado tampoco la tiene.
3.3. SOLUCIÓN VÍA MATHEURÍSTICAS
A continuación se describe la matheurística implementada en DSS/EDO-TT, la cual se orientan a resolver problemas comúnmente encontrados en la solución de problemas MIP de alta complejidad:
▪ Altos tiempos para probar que el problema no tiene solución factible.
▪ Resolución incremental del problema
3.3.1. SOLUCIÓN INTEGRADA/BÁSICA
Cuando el problema es pequeño, se puede resolver por programación matemática utilizando un solver de buen rendimiento que pueda resolver problemas de programación mixta (MIP); cuando en muy
grande, complejo, se requiere de metodologías avanzadas de optimización las cuales pueden estar
soportadas en: metodologías de gran escala, y/o en matheurísticas. En este documento se analiza la solución de problemas de time-tabling utilizando matheurísticas.
Siguiendo los principios de OPTEX, el ciclo básico de un modelo de optimización integrado por tres
pasos:
▪ Pre-Procesamiento: Lectura y cálculo de los conjuntos y de los parámetros que requiere el modelo matemático;
▪ Optimización: Solución del problema matemático haciendo uso de un solver de alto rendimiento de acuerdo con el formato del problema de optimización); y
▪ Post-Procesamiento: cálculo de variables que no se incluyen en el modelo ya que se pueden reemplazar por sus definiciones con base en las variables que resuelve el modelo matemático.
3.3.2. REDUCCIÓN DE DOMINIO
En el caso de los modelos MIP, y más específicamente en aquellos clasificados como NP Hard, como el CB-CTT, restringir/reducir el dominio de las variables y de las restricciones es un aspecto muy
relevante que se debe implementar para lograr tiempos de solución competitivos.
Los conjuntos definen la topología (conectividad) del sistema educativo. El proceso de reducción de
dominio se basa en dos pasos: 1. Leer los conjuntos básicos a partir de las tablas del sistema de información de optimización.
2. Cálculo de los conjuntos que determinan las condiciones de existencia de variables y de
restricciones. Este proceso eliminará las tuplas que no pueden existir en el modelo matemático, de forma tal de
reducir el dominio de variables y de restricciones. La reducción de dominio tiene como objetivo reducir la combinatoria de soluciones que podría tener que evaluar el algoritmo de optimización. La reducción
de dominio se basa en dos tipos de operaciones orientadas a: ▪ Factibilidad: eliminan variables y restricciones que no deben considerarse en el modelo
matemático
▪ Optimalidad: eliminan variables que no deben considerarse en el modelo matemático porque no pueden pertenecer a la solución óptima .
La reducción de dominio acelera significativamente el algoritmo de optimización y la debe producir el
modelador analizando el problema específico.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
20
COMMON
DATA MODEL
INFORMATIONSYSTEM
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth
- vL2(u) LLvuth = 0
PRE-PROCESSING
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth
- vL2(u) LLvuth = 0
POST-PROCESSING
Min t j h CTt(GTjth)
sujeto a:
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth
- vL2(u) LLvuth = 0
OPTIMIZATION
Sets & Parameters
ReadSets & Parameters
Read & Pre-Calculated
Primal & DualVariables
Sets & Parameters
Read & Pre-CalculatedSets & Parameters
Pre & Post Calculated
Primal & Dual
Variables
REDUCCIÓN DE
DOMINIO
OPERACIONES SOBRE CONJUNTOS
En el caso específico del problema de time-tables es importante que la fase del pre-procesamiento
se enfoque de manera similar a las técnicas de reducción de dominio, propias de la “Constraint Programming”.
En la construcción y la administración del sistema de información de optimización, al que deben acceder los modelos matemáticos, se debe aplicar la regla del menor esfuerzo en la recolección, el
procesamiento, y el mantenimiento de datos.
Esto se consigue al especificar condiciones “default” que cubran el espacio de solución validez más extenso posible. Posteriormente, se debe: i) incluir todas las adiciones, y ii) eliminar las exclusiones
del “default”; esto se realiza con base en tablas secundarias, que se deben incorporar en el modelo
de datos del sistema de información de optimización.
El anterior proceso se convierte es la base de la reducción de dominio ya que las condiciones de existencia serán el resultado de la intersección de los conjuntos default con las excepciones y de la
unión con las adiciones. Cuando estos procesos se ignoran, el tiempo de solución puede crecer
innecesariamente.
Para facilitar la formulación de modelos genéricos, entendidos como aquellos que permiten cualquier tipo restricciones en lo que se refiere a especificaciones de lo que se puede, o de lo que no se puede
hacer, se asume que pueden existir incompatibilidades entre “casi” cualquier par de parejas (duplas)
de entidades/objetos. Esto implica que es posible reducir “al mínimo” las duplas de las combinaciones que pueden existir en la solución del problema de “time-tabling”.
3.3.3. STEP-WISE OPTIMIZATION
En el ambiente de Optimización de OPTEX, el concepto de optimización incremental (Step-Wise
Optimization, SWO) esta asociado a la solución de un problema en el cual se realizan optimizaciones
coordinadas en la que en cada nuevo paso se incluye una ecuación, o un grupo de ecuaciones, y se toma como punto de partida la solución obtenida en el paso anterior, siempre y cuando esta sea
factible. Este es un tipo de matheurística incluida directamente en OPTEX.
Teniendo en cuenta que el problema CB-CTT está integrado por dos tipos de restricciones, fuertes
(hard) y blandas (soft), se considera conveniente asumir una estrategia de solución de dos fases: i) Primera Fase: se resuelve el problema con las restricciones duras
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
21
ii) Segunda Fase: si se consigue la factibilidad en la primera fase, se procede a incluir las
restricciones blanda.
Cualquiera de estos procesos puede realizarse incluyendo en orden de prioridad una a una cada
restricción (o en grupos de restricciones) para conseguir la solución, este ordenamiento puede acelerar el proceso y debe ser definido por el modelador.
COMMON
DATA MODEL
INFORMATIONSYSTEM
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth - vL2(u) LLvuth = 0
PRE-PROCESSING
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth - - vL2(u) LLvuth = 0
POST-PROCESSING
Min t j h CTt(GTjth)
sujeto a:
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth
- vL2(u) LLvuth = 0
OPTIMIZATIONHARD CONSTRAINTS
Sets & ParametersRead
Sets & ParametersRead & Pre-Calculated
Primal & DualVariables
Sets & ParametersRead & Pre-Calculated
Sets & ParametersPre & Post Calculated
Primal & DualVariables
FEASIBLE ?
Min t j h CTt(GTjth)
sujeto a:
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth
- vL2(u) LLvuth = 0
OPTIMIZATIONSOFT CONSTRAINTS
Primal & DualVariables
YES NO
TWO STAGES OPTIMIZATION
3.3.4. ANÁLISIS DE FACTIBILIDAD
Otro problema que se debe enfrentar es la factibilidad para la primera fase, la relacionada con restricciones duras, en ese caso se debe identificar la fuente de la infactibilidad y proceder a
corregirla. Dos fuentes de infactibilidad se deben considerar:
▪ Modelo matemático con errores en la formulación ▪ Errores en los datos del modelo
▪ Imposibilidad de satisfacer las demandas
Por lo anterior, es necesario tener una versión del (de los) modelos(s) matemático(s) que permita realizar el análisis de factibilidad de manera eficaz y rápida. En el caso específico del sistema educativo
se proponen modelos orientados a determinar las siguientes infactibilidades:
▪ Capacidad de los salones para dictar todas las materias ▪ Capacidad de la planta profesoral para dictar todas las materias
▪ Capacidad combinada de la planta profesoral y de los espacios para dictar todas las materias
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
22
COMMON
DATA MODEL
INFORMATIONSYSTEM
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth - vL2(u) LLvuth= 0
PRE-PROCESSING
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth - vL2(u) LLvuth= 0
POST-PROCESSING
Min t j h CTt(GTjth)
sujeto a:
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth
- vL2(u) LLvuth= 0
OPTIMIZATIONFEASIBILITY
Sets & ParametersRead
Sets & ParametersRead & Pre-Calculated
Primal & Dual
Variables
Sets & ParametersRead & Pre-Calculated
Sets & ParametersPre & Post Calculated
Primal & DualVariables
FEASIBLE ?
Min t j h CTt(GTjth)
sujeto a:
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth - vL2(u) LLvuth= 0
OPTIMIZATIONOPTIMALITY
Primal & DualVariables
YES NO
INFEASIBILITIES
El proceso de optimización se puede organizar de forma secuencial de forma tal de facilitar, y acelerar, la obtención de una solución inicial factible. La idea es realizar el proceso de optimización en múltiples
pasos (N), en los que los N–1 primeros están relacionados con el chequeo de las infactibilidades y el último paso con la optimalidad. Empíricamente, DW ha probado la eficacia de este método para
resolver este tipo de problema.
COMMON
DATA MODEL
INFORMATIONSYSTEM
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth - vL2(u) LLvuth= 0
PRE-PROCESSING
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth - vL2(u) LLvuth= 0
POST-PROCESSING
Min t j h CTt(GTjth)
sujeto a:
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth
- vL2(u) LLvuth = 0
Sets & ParametersRead
Sets & ParametersRead & Pre-Calculated
Primal & DualVariables
Sets & ParametersRead & Pre-Calculated
Sets & ParametersPre & Post Calculated
Primal & DualVariables
FEASIBLE ?
Min t j h CTt(GTjth)
sujeto a:
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth - vL2(u) LLvuth= 0
Primal & DualVariables
YESNO
INFEASIBILITIES STEPWISE
Min t j h CTt(GTjth)
sujeto a:
GDzth - uTN(z) LDuzth = 0
GDzth + GHAzth + DEFzth = DEMzth
ENuth - jL1(u) GTEjuth
- vL2(u) LLvuth = 0
FEASIBLE ?
FEASIBLE ?YES
YES
Se debe tener en cuenta que las restricciones blandas, penalizadas por su violación, puede conllevar
el ocultamiento de problemas de factibilidad, ya que, dependiendo del costo de las penalizaciones, es imposible diferenciar un error de factibilidad con la activación de las variables “artificiales”
relacionadas con la violación de las restricciones blandas. La división del proceso en dos fases evita
este problema.
A continuación se presenta dos partes del programa GAMS utilizado para el proceso de control de factibilidad y optimalidad.
▪ Declaración de Problemas
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
23
▪ Coordinación de Solución de Problemas
3.4. TECNOLOGÍAS DE OPTIMIZACIÓN
El SSD/EDO-TT puede implementarse utilizando una de múltiples tecnologías de optimización. Esto debido a la capacidad del robot cognitivo OPTEX para escribir programas de computador para
múltiples tecnologías de optimización.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
24
ALGEBRAIC LANGUAGE
OPTIMIZATION LIBRARY
SYSTEM FOR DSS SYSTEMS
DB2 - ORACLE
EXCEL - DBF
SQL SERVER - MySQL
ODME
OPTIMIZATION TECHNOLOGIES
GAMS
OPL
LINGO
GMPL
COMPUTER LANGUAGE
3.5. ARQUITECTURA FUNCIONAL
El diseño funcional del DSS/EDO-TT considera las siguientes funciones específicas que deben
cumplir los usuarios finales, los cuales se pueden clasificar como:
i) Programador ii) Planificador
iii) Desarrollador iv) Estudiante
A continuación, se describen las actividades que pueden apoyar los modelos matemáticos que integran el SDD/EDO-TT.
On-line
Database
Operations Environment
Research & Development
Planning Environment
Excel - CSV Files
Other Database
Execution
Systems
Legacy System
Off-line
Database
DSS/EDO-TT- ARQUITECTURA FUNCIONAL
Algunos ejemplos de las actividades que puede soportar el modelo DSS/EDO-TT se presentan a continuación:
▪ Research & Development:
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
25
Actividad orientadas a mejorar la calidad del DSS/EDO-TT. La puede realizar la entidad usuaria
o ser contratada a un tercero.
▪ Operación:
Programación de los grupos que harán parte de la oferta de cursos a los alumnos. Usuarios: responsable de programación de cursos a nivel de la universidad/colegio, de las regiones, de los
campus y de las sedes.
▪ Planificación:
o Análisis de capacidad de las materias que pueden dictar un departamento con base en una plantilla de profesores dada. Usuarios: jefes de departamento, …
o Análisis de la oferta de profesores que se requiere para cumplir con una demanda de un grupo de materias; por ejemplo, de las materias que dicta un departamento. Usuarios: jefes
de departamento, …
o Redefinición de los criterios de asignación de la planta profesoral con la finalidad aumentar su capacidad o de aumentar la calidad de vida académica de los profesores. Usuarios:
decanos, jefes de departamento o Análisis del costo económico de las restricciones de calidad de vida académica, vigentes o
futuras. Usuarios: decanos, …
o Análisis de capacidad para nueva infraestructura académica; por ejemplo, nuevos edificios, nuevos salones, …. Usuario: Oficina de planificación de la universidad.
4. CASO: OPTIMIZACIÓN DE TIME-TABLES DE COLEGIOS
4.1. PROPUESTA DE VALOR
En 2012, una empresa dedicada a brindar servicios educativos seleccionó a DW para el apoyo de sus decisiones relacionadas con la programación y el diseño de capacidades de 19 colegios/sedes.
Este proyecto dio origen a DSS/EDO-TT.
Como dato importante para el proyecto, el usuario asigno un salario de MIL QUINIENTOS
DÓLARES AMERICANOS (USD/mes 1.500,oo), netos, para la mayoría de los profesores. El beneficio del proyecto, estimado por DW, es:
▪ Disminución Mínima: 1 profesor por sede, Beneficio: 342.000 USD/año ▪ Disminución Estimada: 1.5 profesor por sede, Beneficio: 513.000 USD/año
4.2. SISTEMA DE INFORMACIÓN
El sistema de información al que acceden los modelos matemáticos es diferente de los sistemas de información a los que acceden los sistemas transaccionales y a las bodegas datos. Para diferenciarlo
claramente, en adelante ese sistema de información se denominará Optimization Information System (OIS). Los modelos matemáticos acceden al sistema de información en dos momentos:
▪ Input: Tiene como objetivo cargar los conjuntos y los parámetros básicos (leídos) de los modelos; por lo tanto, las tablas deben reflejar dichas estructuras, las cuales las define el
modelador, de común acuerdo con el responsable de la información de la universidad.
▪ Output: Debe almacenar la información resultado de los modelos, la cual se concreta en
múltiples de datos, que quien los conoce con propiedad es el modelador matemático. Se pueden mencionar los siguientes datos:
o Variables: : valor, costo reducido (variable dual), “lower bound”, “upper bound”, costo objetivo.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
26
o Restricciones: variable dual (costo marginal), holgura, valor del recurso (superior e
inferior).
o Mejores soluciones: lista de soluciones que están cerca de la solución óptima. o Pre y post procesamientos: cálculos intermedios realizados por los modelos
o Tablas relacionales: resultados orientados para ser integrados a sistemas de información relacionales.
Todos los modelos comparten el mismo sistema de información, lo que facilita la comunicación de datos entre modelos para apoyar todo el procesos de programación de horarios.
A continuación se presentan alguna de las “ventanas de datos” de las entidades que hacen parte del
sistema de información. La ventana presenta el menú de acceso del usuario final al sistema de información del DSS/EDO-TT, el cual puede residir en cualquier tipo de servidor tipo SQL. Este tipo
de pantallas es generado automáticamente por OPTEX, como una interfaz rápida para acceder,
visualizar y mantener las tablas del sistema de información.
SALONES
SALÓN-
SECCIONES
SALÓN-
TIPOS DE SALÓN
SALÓN-
HORAS RESTRINGIDAS
SALÓN MULTIMODAL-
SALONES SIMPLES
MATERIAS
MATERIA-
PLANES DE ESTUDIO
MATERIA-
SECCIONES
MATERIA-
SECCIONES
ROLES
ROL-
SECCIONES PROHIBIDAS
ROL-
GRADOS
ROL-
ESPECIALIDAD
CURSOS
CURSO-
RECURSOS
CURSO-
ESPECIALIDAD
CURSOS-
ESPACIOS-
SECCIÓN
CURSOS-
GRADO-
METODOLOGÍA-
PLAN ESTUDIO
CURSOS-
DÍASPROHIBIDOS
CURSOS-
HORAESCOLAR
CURSOS-
MATERIAS
La carga del sistema de información puede realizarse desde archivos fáciles de manejar para un
usuario final avanzado, como puede ser MS-EXCEL o archivos CSV (), a continuación se presenta
ejemplo de hojas de carga desde un libro MS-EXCEL.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
27
CURSOS
ESPACIOS
El sistema de información de OPCHAIN-EDO puede conectarse a cualquier sistema de la
organización de tal forma de vincular los datos de entrada-salida al sistema de información que comúnmente utiliza la organización.
OPERATIONALUSERS
MODELERS
MATHEMATICALMODELS
ODBCs ODBCs
ACADEMICENTERPRISE
INFORMATIONSYSTEM
OPCHAIN-EDO
INFORMATIONSYSTEM
4.3. RESULTADOS AGREGADOS
El proceso de optimización implica los siguientes tópicos, que son importantes:
▪ La solución del problema de un colegio no se consigue en una sola corrida del modelo
matemático. ▪ Es un proceso que implica por un lado aprendizaje del comportamiento de los modelos
matemáticos para cada colegio y en general del sistema de colegios.
Esto da origen a dos procesos de permanente análisis: ▪ El sistema de información de cada colegio se va ajustando en la medida que se avanza en el
proyecto, ya que por ser el primer proyecto que se realiza para el sistema de colegios las bases
de datos no cumplen al comienzo con la integridad y la veracidad de todos los datos. ▪ La información recabada a través del proceso de optimización permite realizar estimaciones del
costos de la nómina y del cantidad de profesores como función del tipo de colegios, en este caso dependiendo del numero de secciones (grupos de alumnos) que debe atender el colegio.
Lo anterior permite construir funciones que relacionan la nómina y la cantidad de profesores a medida que avanza el proyecto. Las gráficas presentan las funciones estimadas para cada caso.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
28
Profesores = 0.0204 Secciones2 + 0.6872 Secciones + 7.9836R² = 0.9867
15
20
25
30
35
40
45
50
8 13 18 23 28
Profesores
Secciones
PROFESORES vs. SECCIONES
Nomina = 32.626 Secciones2 + 931.26 Secciones + 13650R² = 0.9848
25000
35000
45000
55000
65000
75000
8 13 18 23 28
Nomina USD/mes
COSTO NÓMINA VS. SECCIONES
Secciones
Esta funciones permiten estimar cotas para las soluciones de un determinado colegio sin necesidad de realizar una corrida del modelo de optimización. Utilizando esta información generada por el
proceso de estudio de los colegios, es posible incluir cotas (“bounding”) para dos variables agregadas
fundamentales: profesores y costo de la nómina. Dado que la funciones provienen de un proceso estadístico, se puede caracterizar la precisión en y términos de probabilidad de tener la respuesta
correcta.
Para el caso en referencia se tiene que el valor esperado de la nómina está definido como:
Nómina Esperada = 32.626 Secciones2 + 931.26 Secciones + 13.650
Un rango de validez para la nómina óptima, con alto nivel de probabilidad (solo dos casos estuvieron fuera del intervalo), podría ser un rango de USD 6.000, que equivale a un rango de 4 profesores.
Nómina Esperada – 3.000 ≤ Nómina ≤ Nómina Esperada + 3.000
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
29
20000
30000
40000
50000
60000
70000
8 13 18 23 28
Nómina = f(Secciones)
Low Low
Low
Expected
Upp
Upp Upp
Real
Nómina Esperada = (32.626 Secciones2 + 931.26Secciones + 13.650)
Nómina Esperada – 3.000 ≤ Nómina ≤ Nómina Esperada + 3.000
Secciones
LAS FUNCIONES SIRVEN PARA
PLANIFICAR LA LOCALIZACIÓN Y EL DIMENSIONAMIENTO DE COLEGIOS
COSTO NÓMINA VS. SECCIONES
Esta restricción puede incluirse en el modelo matemático, de forma tal de eliminar una gran cantidad
de soluciones, unas por no ser óptimas, las mayores de Nómina + 3.000 y otras por no ser factible Nómina – 3.000. Este es un ejemplo de reducción de dominio como parte de una matheurística.
A continuación se presentan los resultados definitivos para las 19 sedes objeto de la optimización.
RESUMEN DE RESULTADOS
CASO COLEGIO SECCIONES
PROFESORES NÓMINA (USD)
SOLUCIÓN GAP SOLUCIÓN COTA
MINIMA GAP USD
ESTIMADA ERROR
ESTIMACION
14 SAN MIGUEL 2 9 17 0 25800 25800 0 24674 -1126
10 PURUCHUCO 12 18 0 27700 27700 0 29523 1823
19 VITARTE 12 18 0 27700 27700 0 29523 1823
7 CHINCHA 13 20 0 30900 30900 0 31270 370
2 CAMPOY 14 24 1 37000 35458 1542 33082 -3918
11 RIMAC 15 22 0 34100 34100 0 34960 860
16 SANTO TORIBIO 15 22 0 34100 34100 0 34960 860
5 CHACLACAYO 18 28 0 43400 43400 0 40984 -2416
6 CHIMBOTE 19 29 0 43700 43700 0 43122 -578
18 VES 21 30 1 45000 43500 1500 47595 2595
3 CANTOGRANDE 23 35 2 52800 49783 3017 52328 -472
12 SAN MARTIN 23 34 0 51400 51400 0 52328 928
9 LOS OLIVOS 24 36 2 54000 51000 3000 54793 793
13 SAM MIGUEL 1 24 36 0 54000 54000 0 54793 793
1 CALLAO 26 42 2 63600 60571 3029 59918 -3682
4 CARABAYLLO 26 39 1 58500 57000 1500 59918 1418
15 SANTA CLARA 26 40 3 60700 56148 4553 59918 -782
8 CHORRILLOS 30 47 0 71300 71300 0 70951 -349
17 SURCO 30 46 0 69900 69900 0 70951 1051
ANÁLISIS DE MÚLTIPLES SEDES
Adicionalmente, estas funciones sirven para planificar Agregadamente el sistema de colegios, ya que
determinan el costo de la nómina y la cantidad de profesores como función de la cantidad de secciones que tiene un colegio. Lo cual puede ser de gran utilidad cuando se requieren modelos
matemáticos para planificación y localización de instituciones académicas, como lo deben hacer la gran mayoría de gobiernos de las ciudades para ofrecer servicios de educación pública.
4.4. CASO PARTICULAR: COLEGIO 10
Para presentar los resultados detallados se selección el caso 10, cuyas características son: ▪ Espacios/salones: 19
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
30
▪ Conjuntos de Laptops: 3
▪ Profesores: 118
▪ Secciones:11 ▪ Grados: 11
▪ Materias: 20 ▪ Horas Escolares: 9
La tabla presenta Las características matemáticas de los problemas para cada colegio:
Caso Colegio Secciones Profesores GAP Nomina GAP USD V. Continuas V. Binarias Restricciones Elementos T. Factible T. Optimo T. Solucion
14 SAN MIGUEL 2 9 17 0 25800 0
10 PURUCHUCO 12 18 0 27700 0 84.832 407.259 51.512 1'868.471 0.85 3.49 5.25
19 VITARTE 12 18 0 27700 0
7 CHINCHA 13 20 0 30900 0
2 CAMPOY 14 24 1 37000 1542
11 RIMAC 15 22 0 34100 0
16 SANTO TORIBIO 15 22 0 34100 0
5 CHACLACAYO 18 28 0 43400 0
6 CHIMBOTE 19 29 0 43700 0
18 VES 21 30 1 45000 1500
3 CANTOGRANDE 23 35 2 52800 3017
12 SAN MARTIN 23 34 0 51400 0
9 LOS OLIVOS 24 36 2 54000 3000
13 SAM MIGUEL 1 24 36 0 54000 0
1 CALLAO 26 42 2 63600 3029
4 CARABAYLLO 26 39 1 58500 1500
15 SANTA CLARA 26 40 3 60700 4553
8 CHORRILLOS 30 47 0 71300 0 172.500 741.019 125.915 3'391.885
17 SURCO 30 46 0 69900 0 205.901 782.027 157.322 2'868.001
USD horas
Profesores Nomina Problema
Como puede notarse los problemas son de alta complejidad, llegando en el caso los casos más complejos al nivel de cerca de un millón de variables binarias (se debe notar que muchas de las
variables continuas, son realidad binarias, pero que su condición de variable discreta se garantiza por algunas restricciones en las que participan).
4.4.1. TIEMPO SOLUCIÓN
A continuación, se presenta el análisis del tiempo de solución del problema de referencia.
En primera instancia, se presenta el proceso de solución dividido en las tres fases del proceso: ▪ Tiempo hasta la factibilidad: 0.84 horas
▪ Tiempo hasta conseguir el óptimo: 3.5 horas
▪ Tiempo hasta probar el óptimo: 5 horas Se debe notar que a las 3.5 horas ya se tenía la solución óptima, pero no se tenía la garantía de su
optimalidad, actividad que consumió 1.5 horas.
Estos tiempos de solución corresponden a los obtenidos durante la ejecución del proyecto (2014).
EL problema se resolvió con base en un programa GAMS con CPLEX v12.5, en una máquina de 4 cores y 16 MBytes RAM.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
31
25500
26500
27500
28500
29500
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Optimization GAP - CASO 10
Upp Bound Low Bound
Horas
USD/mes
TiempoFactibilidad
TiempoÓptimo
TiempoPrueba Óptimo
Solver: 12.9CPUs: 4
RAM: 16 MbytesSpeed: 2.9 GHz
ANÁLISIS DE RENDIMIENTO - CASO DE REFERENCIA
Si se desea tener un estimado del tiempo de solución del mismo problema en una maquina actualizada y con utilizando una versión mas avanzada de CPLEX, se podría esperar que la relación
de tiempos del orden de 6.66 a 1 (0.75 horas para todo el proceso). El tiempo estimado se basa en una utilizar una versión CPLEX 12.7 y una estación de trabajo con 16 cores y 64 Mbytes RAM, cuyo
costo de alquiler en el mercado de servidores dedicados en la web es aproximadamente de 150
USD/mes (año 2019).
25500
26500
27500
28500
29500
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Upp Bound Low Bound
25500
26500
27500
28500
29500
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Upp Bound Low Bound
Solver: 12.5CPUs: 4
RAM: 16 MbytesSpeed: 2.9 GHz
Solver: 12.7CPUs: 16
RAM: 64 MbytesSpeed: 2.9 GHz
150 USD/month
ANÁLISIS DE RENDIMIENTO - CASO DE REFERENCIA
2019
2013
4.4.2. RESULTADOS DETALLADOS
A continuación se presentan detallados obtenidos para el CASO 10.
▪ Horario de Materias por Sección
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
32
RESULTADOSHORARIO SECCIÓN TERCERO DE PRIMARIA A
DÍA/HORA
LUNES MARTES MIÉRCOLES JUEVES VIERNES
HORA 1 GEOGRAFÍA MATEMÁTICAS COMUNICACIÓN RELIGIÓN COMUNICACIÓN
HORA 2 COMUNICACIÓN EDUCACIÓN FÍSICA INGLES LECTURA INGLES
HORA 3 INFORMÁTICA HISTORIA MATEMÁTICAS INGLES INGLES
HORA 4 MATEMÁTICAS ARTE MATEMÁTICAS INGLES GEOGRAFÍA
HORA 5 COMUNICACIÓN INGLES RELIGIÓN COMUNICACIÓN COMUNICACIÓN
HORA 6 CIENCIAS SOCIALES INGLES INGLES CIENCIAS Y TECNOLOGÍA TUTORÍA
HORA 7 INGLES EDUCACIÓN FÍSICA COMUNICACIÓN MATEMÁTICAS LECTURA
HORA 8 INGLES INFORMÁTICA ARTE CIENCIAS Y TECNOLOGÍA MATEMÁTICAS
HORA 9 CIENCIAS SOCIALES COMUNICACIÓN HISTORIA MATEMÁTICAS MATEMÁTICAS
▪ Horario de Materias por Profesor
RESULTADOS
HORARIO PROFESOR INGLES
DÍA/HORA
LUNES MARTES MIÉRCOLES JUEVES VIERNES
HORA 1INGLÊS
QUINTO DE PRIMARIA AINGLES
CUARTO DE PRIMARIA A
HORA 2INGLES
PRIMERO DE PRIMARIA AINGLES
CUARTO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA AGEGRAFÍA EN INGLES
CUARTO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA A
HORA 3GEOGRAFÍA EN INGLES SEXTO DE PRIMARIA A
LECTURA EN INGLES QUINTO DE PRIMARIA A
GEOGRAFÍA EN INGLES QUINTO DE PRIMARIA A
INGLES TERCERO DE PRIMARIA A
INGLES TERCERO DE PRIMARIA A
HORA 4INGLES
CUARTO DE PRIMARIA ACIENCIAS EN INGLES
PRIMERO DE PRIMARIA AINGLES TERCERO DE
PRIMARIA AGEGRAFÍA EN INGLES
TERCERO DE PRIMARIA A
HORA 5INGLES
SEXTO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA ACIENCIAS EN INGLES
PRIMERO DE PRIMARIA AINGLES QUINTO DE
PRIMARIA AGEGRAFÍA EN INGLES SEXTO
DE PRIMARIA A
HORA 6INGLES
QUINTO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA AINGLES CUARTO DE
PRIMARIA A
HORA 7INGLES
SEXTO DE PRIMARIA AINGLES
CUARTO DE PRIMARIA A
HORA 8INGLES
CUARTO DE PRIMARIA AINGLES
CUARTO DE PRIMARIA AINGLES
QUINTO DE PRIMARIA ACIENCIAS EN INGLES
PRIMERO DE PRIMARIA A
HORA 9INGLÉS
QUINTO DE PRIMARIA AGEGRAFÍA EN INGLES
CUARTO DE PRIMARIA AINGLES
SEXTO DE PRIMARIA AINGLES
CUARTO DE PRIMARIA A
▪ Horario de Materias por Salón/Espacio
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
33
RESULTADOS HORARIO SALÓN S105
DÍA/HORA
LUNES MARTES MIÉRCOLES JUEVES VIERNES
HORA 1GEOGRAFÍA
TERCERO DE PRIMARIA AMATEMÁTICAS
TERCERO DE PRIMARIA ACOMUNICACIÓN
TERCERO DE PRIMARIA ARELIGIÓN
TERCERO DE PRIMARIA ACOMUNICACIÓN
TERCERO DE PRIMARIA A
HORA 2COMUNICACIÓN
TERCERO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA ALECTURA
TERCERO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA A
HORA 3INFORMÁTICA
TERCERO DE PRIMARIA AHISTORIA
TERCERO DE PRIMARIA AMATEMÁTICAS
TERCERO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA A
HORA 4MATEMÁTICAS
TERCERO DE PRIMARIA AARTE
TERCERO DE PRIMARIA AMATEMÁTICAS
TERCERO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA AGEOGRAFÍA
TERCERO DE PRIMARIA A
HORA 5COMUNICACIÓN
TERCERO DE PRIMARIA AINGLES
TERCERO DE PRIMARIA ARELIGIÓN
TERCERO DE PRIMARIA ACOMUNICACIÓN
TERCERO DE PRIMARIA ACOMUNICACIÓN
TERCERO DE PRIMARIA A
HORA 6CIENCIAS SOCIALES TERCERO
DE PRIMARIA AINGLES TERCERO DE
PRIMARIA AINGLES
TERCERO DE PRIMARIA ACIENCIAS Y TECNOLOGÍA TERCERO DE PRIMARIA A
TUTORÍA TERCERO DE PRIMARIA A
HORA 7INGLES
TERCERO DE PRIMARIA ACOMUNICACIÓN
TERCERO DE PRIMARIA AMATEMÁTICAS
TERCERO DE PRIMARIA ALECTURA
TERCERO DE PRIMARIA A
HORA 8INGLES TERCERO DE
PRIMARIA AINFORMÁTICA
TERCERO DE PRIMARIA AARTE
TERCERO DE PRIMARIA ACIENCIAS Y TECNOLOGÍA TERCERO DE PRIMARIA A
MATEMÁTICAS TERCERO DE PRIMARIA A
HORA 9CIENCIAS SOCIALES TERCERO
DE PRIMARIA ACOMUNICACIÓN
TERCERO DE PRIMARIA AHISTORIA
TERCERO DE PRIMARIA AMATEMÁTICAS
TERCERO DE PRIMARIA AMATEMÁTICAS
TERCERO DE PRIMARIA A
▪ Horario Consolidado Sección, Día, Hora, Materia, Espacio, Rol/Profesor, Recurso-
Cantidad
HORARIO CONSOLIDADOSECCIÓN, DÍA, HORA, MATERIA, ESPACIO, ROL/PROFESOR, RECURSO (CANTIDAD)
▪ Profesores Asignados por Sede
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
34
PROFESORES UTILIZADOS
5. CASO: OPTIMIZACIÓN DE TIME-TABLES EN UNIVERSIDADES
La planificación de horarios de universidades es más compleja que la de los colegios por la cantidad
de pasos que tiene el proceso que se debe seguir.
Estos procesos son peculiares de cada universidad, y por lo tanto no se puede hablar de un sistema
de soporte genérico. En cada caso se debe revisar el proceso a seguir y a partir de allí ajustar los modelos matemáticos. A continuación se procede a presentar el diseño de un sistema de
programación de horarios de universidades, teniendo como referencia una universidad “típica”.
5.1. PROCESO DE MATRICULAS
El proceso se asume se divide en dos grandes épocas:
▪ Planificación: Ocurre antes de la fecha de matrículas, y presumiblemente antes de realizar los
exámenes finales. Se tiene la incertidumbre de los resultados finales de los alumnos, en lo que
se requiere si aprueban o no las materias que están cursando, lo que implica incertidumbre con respecto a la demanda de cupos en las clases. Por otro lado, sirve para estimar la demanda de
recursos (profesores, salones, … ) que se requieren para el siguiente período lectivo. El resultado de este proceso será la preinscripción de los estudiantes a cursos y la preasignación de
profesores.
▪ Programación: Ocurre después de terminado el período académico y antes de comenzar el
siguiente período. El resultado es la inscripción de los alumnos en los cursos que se va a abrir. Este proceso puede realizarse múltiples pasos en los estudiantes que a partir de una inscripción
propuesta por la universidad realizan ajustes a la inscripción propuesta por la universidad para generar la inscripción definitiva.
Para precisar lo que a continuación de describe, se aclaran las siguientes definiciones:
▪ Curso/Grupo: Una asignación de una materia específica que debe dictar un profesor específico a un grupo de alumnos específicos en una espacio (salón) específico utilizando un conjunto de
recursos específicos.
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
35
▪ Matrícula: Un grupo de cursos específicos que debe tomar un alumno específico. Existe una
matrícula por cada alumno que participa de actividades en la universidad.
▪ Paquete de Materias: Un grupo de materias que se planifican y se asignan en grupo, como si fuesen una sola materia.
La gran diferencia entre la programación de horarios en colegios y la programación en universidades radica en que los alumnos no son especificados (identificados uno a uno) y la matrícula es común
para todos los estudiantes que pertenecen a una sección de un determinado grado, los paquetes de materias corresponden al concepto de grupos de materias que debe tomar una sección de un grado
académico. Eso complica sensiblemente el problema matemático que se debe resolver.
Para enfrentar el problema se han propone considerar tres sub-procesos:
1. Pronóstico de la Demanda: realizada por la universidad 2. Programación Cursos: realizada por la universidad, antes de las matrículas
3. Asignación de Matrículas: realizada por los estudiantes, controlada por la universidad. Cada subproceso esta vinculado a uno, o varios modelos matemáticos, para cumplir con el objetivo
establecido.
PROCESOS ASIGNACIÓN: CURSOS & MATRÍCULAS
EDO-UTT-DEMANDAEDO-UTT-MATERIA
PRONÓSTICODEMANDA
EDO-UTT-CURSOS
PLANIFICACIÓNAGREGADA
Ajustes Condiciones Entorno
NuevasPropuesta Matrícula
EDO-UTT-MATRÍCULAS
PROGRAMACIÓNMATRÍCULA REAL
AJUSTES MATRÍCULA
xESTUDIANTE
FIN
EDO-UTT-MATRÍCULAS
PROGRAMACIÓNMATRÍCULA IDEAL
CURSOS Matrícula Sugerida
AJUSTES GRUPO
XCARRERA
CURSOS Definitivos
Profesor-Materia-Salón
CURSOS PropuestosProfesor-Materia-Salón
CURSOS Matrícula Definitiva
Condiciones Entorno
MateriaMatrículas
CursosProfesores
El diagrama presenta tres modelos matemáticos que podrían soportar todo el proceso. El proceso de
predicción de la demanda esta integrado por dos modelos matemáticos
5.2. MODELOS MATEMÁTICOS
A continuación se describen los modelos matemáticos previstos como parte del sistema de soporte
de decisiones EDO-TT.
1. EDO-TT-DEMANDA: Pronóstico de mediano/largo plazo de la cantidad de materias que se
dictarán y su vinculación a matrículas. Se hace énfasis en la necesidad de segmentar las matrículas para tener en cuenta la volatilidad de la demanda que depende del tipo de alumno.
Este modelo es del tipo de analítica avanzada descriptiva y no se analiza en el presente documento. Para más información sobre las metodologías sugeridas para este tipo de modelo,
se sugiere leer:
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
36
▪ Stochastic Advanced Analytics Modeling - OPCHAIN-SAAM
https://www.linkedin.com/pulse/stochastic-advanced-analytics-modeling-opchain-saam-
jesus-velasquez/
2. EDO-TT-MATERIAS: Pronóstico de corto plazo de las matrículas de las materias que se dictarán. Para propósitos de diseño se asume que este proceso produce tres (3) tablas:
▪ DEM_MFI: Demanda de materias finales
▪ DEM_PAQ: Demanda de paquetes ▪ DEM_PAQ_MFI: composición de las materias finales de los paquetes
3. EDO-TT-CURSOS: Planificación de CURSOS, corresponde a un modelo de programación
matemática, del tipo programación mixta lineal (MIP, Mixed Integer Programming) cuyo resultado es la programación agregada (sin tener en cuenta los alumnos de manera detallada)
que produce como resultado una tabla con la siguiente información:
▪ COD_GRU: Código del curso/grupo ▪ COD_PDI: Código del patrón día
▪ COD_HAC: Código de la hora académica ▪ COD_MFI: Código de la materia final
▪ COD_PRO: Código del profesor
4. EDO-TT-MATRÍCULAS: Asignación de matrículas (alumnos) a los CURSOS planificados en el
paso anterior. Produce como resultado una tabla con la siguiente información: ▪ COD_ALU: Código del alumno/matrícula
▪ COD_GRU: Código del curso/grupo
El modelo EDO-TT-MATRICULAS atiende dos subprocesos:
1. Matrícula Sugerida: asignación automática de las matrículas a los CURSOS, realizada por
medio de un modelo de optimización tipo MIP. Los resultados del proceso se concretan en la primera versión de la tabla ALU_MFI que contiene las matrículas “sugeridas” para todos los
estudiantes en cada una de las sedes que opera la universidad. De no existir ajustes por parte
de los alumnos, esta tabla sería el resultado final del proceso de asignación de matrículas.
2. Matrícula Real (Inscripción) : dado que las matrículas “sugeridas” pueden no satisfacer las expectativas (o de las necesidades) de los alumnos, se requiere de un subproceso que permita
el reajuste de la asignación de matrículas a CURSOS con base en decisiones y/o propuestas del
alumno; esto proceso se puede llevar a cabo con la ayuda del modelo de asignación de matrícula, limitándolo al alumno y teniendo en cuenta los cupos remanentes (los que quedan teniendo en
cuenta la asignación de matrículas a un grupo en un momento específico) en los CURSOS en que desea matricularse el alumno.
Para el proceso de consolidación de los ajustes se puede/debe considerar dos posibilidades:
1. En línea (on-line), lo que implica que en el momento que el alumno solicita el proceso de ajuste (dando click en un control asociado al proceso) en ese mismo momento se trata de realizar el
ajuste. El proceso implica: i) consultar si hay cupos remanentes y, si la respuesta es positiva, realizar el ajuste. En la medida que la cantidad de cupos remanentes sea muy pequeña, este
proceso será fallido.
2. Fuera de línea (off-line), en este caso las solicitudes de reajuste se almacenan en la base de
datos y con base en una frecuencia (cada hora, cada día, … ) por definir, se procede a solicitar al modelo matemático que realice los ajustes correspondientes. Este procedimiento, aumenta la
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
37
cantidad de reajustes exitosos ya que el balance de los movimientos se realiza considerando
simultáneamente todos los movimientos solicitados.
Se debe notar que pueden coexistir las dos alternativas.
El diagrama presenta el flujo de información en el proceso de ajuste de matrículas.
P-MATRÍCULAPROGRAMACIÓNMATRÍCULA REAL
AJUSTES MATRÍCULA
xESTUDIANTE
FIN
Matrícula Firme
TABLA ALU_MFI
COD_ALU COD_GRU
555555 VC2020
2343895 VC2025
2349384 VC2025
9802245 VC2025
9990012 DW3420
9991315 DW3420
9992442 DW3420
9992481 PM2000
555555 PT2003
TABLA ALU_MFI
COD_ALU COD_GRU
555555 VC2025
2343895 VC2025
2349384 VC2025
9802245 VC2025
9990012 DW3420
9991315 DW3420
9992442 DW3420
9992481 PM2000
555555 PT2003
Matrícula Sugerida
TABLA MAE_GRU – MAESTRA DE CURSOS
COD_GRU COD_ESP COD_PDI COD_HAC COD_MFI COD_PRO CAP_TOT CAP_REM
G01 SEDE-001 LUMIVI HD-01 VC2025 P-11 40 0
G02 SEDE-002 LUMIVI HD-01 VC2020 P-12 35 4
G03 SEDE-003 LUMIVI HD-01 VC2025 P-13 30 2
G04 SEDE-001 LUMIVI HD-02 VC2025 P-14 40 5
G05 SEDE-001 MAJUSA HD-03 H1040 P-15 40 4
G06 SEDE-008 MAJU HD-01 DW3420 P-16 20 2
G07 SEDE-008 MAJU HD-02 DW3420 P-17 20 0
G08 SEDE-008 MAJU HD-03 DW3420 P-15 20 0
G09 SEDE-007 LUMAMIJUVI HD-07 PM2000 P-19 30 10
G10 SEDE-009 MAJU HD-04 PT2003 P10 30 6
CURSOS Definitivos: Profesor-Materia-Salón
TABLA MAE_GRU – MAESTRA DE CURSOS
COD_GRU COD_ESP COD_PDI COD_HAC COD_MFI COD_PRO CAP_TOT CAP_REM
G01 SEDE-001 LUMIVI HD-01 VC2025 P-11 40 1
G02 SEDE-002 LUMIVI HD-01 VC2020 P-12 35 3
G03 SEDE-003 LUMIVI HD-01 VC2025 P-13 30 2
G04 SEDE-001 LUMIVI HD-02 VC2025 P-14 40 5
G05 SEDE-001 MAJUSA HD-03 H1040 P-15 40 4
G06 SEDE-008 MAJU HD-01 DW3420 P-16 20 2
G07 SEDE-008 MAJU HD-02 DW3420 P-17 20 0
G08 SEDE-008 MAJU HD-03 DW3420 P-15 20 0
G09 SEDE-007 LUMAMIJUVI HD-07 PM2000 P-19 30 10
G10 SEDE-009 MAJU HD-04 PT2003 P10 30 6
CURSOS Definitivos: Profesor-Materia-Salón
AJUSTE DE MATRÍCULAS
La calidad de los resultados del modelo de matrículas (modelo detallado) depende de la buena
segmentación que se realiza en el pronóstico agregado/segmentado, si la segmentación es pobre la
asignación de matrículas contendrá un porcentaje alto de demanda no satisfecha.
Para universidades multi-campus y/o multi-sedes, la planificación se debe realizar de manera jerárquica teniendo en cuenta que con las tecnologías digitales es posible tener un curso puede tener
alumnos de diferentes sedes, un profesor que pertenece a una sede y atiende múltiples sedes, múltiples salones que se utilizan para dictar un curso (uno en cada se sede), recursos en diferentes
sedes que se requieren para dictar el curso.
PRONOSTICODEMANDA
REGIÓN
CAMPUS
UNIVERSIDAD
SEDE
Condiciones FronteraUniversidad-Región-Campus-Sede
Asignación CURSOSCampus 1
Materias Universidad
RegiónCampus
Sede
PROGRAMACIÓNMATRÍCULA
SEDE S
SEDE seCAMPUS ca SEDE SE
PROGRAMACIÓNMATRÍCULA
SEDE se
PROGRAMACIÓNMATRÍCULACampus ca
Asignación CURSOSSede se
Asignación CURSOSSede SE
JERARQUÍA PLANIFICACIÓN AGREGADA
TIME-TABLES OPTIMIZATION - CASE: UNIVERSITY/COLLEGE SCHEDULING
38
5.3. RESTRICCIONES (REGLAS)
Primero que todo se debe tener en cuenta que, para el modelamiento matemático, la clasificación de
restricciones debe considerar tres tipos:
1. Leyes Físicas: corresponden a leyes físicas que se deben cumplir en cualquier caso y no se
pueden excluir del modelo matemático. Esta reglas serán parte de lo que se denomina modelo “core”. Ejemplo: Un estudiante no puede tomar dos clases diferente al mismo tiempo, un profesor
no puede dictar dos clases al mismo tiempo.
2. Reglas del Negocio: corresponde a reglas establecidas por la Universidad para regular la prestación de sus servicios educativos. Estas reglas no corresponden a leyes física y por lo tanto
pueden excluirse en el modelo matemático “core”. Este tipo de reglas se pueden dividir en:
i) Duras, “hard”, que siempre se deben cumplir y ii) Blandas, “soft” , que se pueden violar, asumiendo una “penalización subjetiva” en la
función objetivo.
3. Prácticas: corresponden a buenas prácticas (costumbres) asociadas al actual proceso de
programación de horarios, que se han convertido en reglas del negocio, pero que no lo son. Estas prácticas no deben incluirse en el modelo matemático ya que producen soluciones no-óptimas
disminuyendo el beneficio (valor agregado) por el modelamiento matemático.
Las reglas se manejarán por medio de un conjunto de tablas de tal forma de vincular las reglas del negocio con las restricciones que las representan. Esta relación facilitará el manejo de la inclusión, o
no, de una regla de negocio en una corrida del modelo matemático.
5.4. IMPLEMENTACIÓN COMPUTACIONAL
La implementación computacional sigue un proceso similar al descrito para los horarios de colegios.