university/college scheduling …...el problema de la programación de horarios en una universidad,...

38
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 [email protected] Junio 2018

Upload: others

Post on 26-May-2020

2 views

Category:

Documents


0 download

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

[email protected]

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

[email protected]

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.