Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2021
https://hdl.handle.net/11673/52725
Downloaded de Peumo Repositorio Digital USM, UNIVERSIDAD TECNICA FEDERICO SANTA MARIA
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE INFORMÁTICA
SANTIAGO DE CHILE - CHILE
Agradecimientos
Este trabajo presenta el último paso para conseguir mi tı́tulo y por ende, es el mejor momen-
to para agradecer a la gente que me acompañó durante el proceso!
Gracias especiales a mis dos pares de abuelos, que me criaron y cuidaron gran parte de mi
infancia, lo que no fue por compromiso, sino que me quieren mucho, donde por igual ellos
querı́an pasar tiempo conmigo y yo querı́a pasar tiempo con ellos. Mis abuelos maternos
que me cuidaron de más grande, mi tata Isaı́as Macı́as y me lela Rosita Rivera; y mis abuelos
paternos que me criaron de chiquito, mi tata Edmundo Riquelme y mi abuelita Gloria Celis.
Sin ellos toda mi vida hubiera sido diferente y estoy muy agradecido que me quisieran tanto
y me preocupo todos los dı́as que los veo en devolverles ese cariño.
Agradecimientos extras a mis compañeros y amigos; que sin ellos no me hubiera divertido
tanto en la universidad. Procrastinar con ustedes fue un honor caballeros, espero podamos
procrastinar en el futuro!
Finalmente gracias a mi profesora guı́a, que por suerte conocı́a de antemano e hizo que este
trabajo fuese divertido de hacer.
ÍNDICE GENERAL
Siglas 9
1 Introducción 10
2
3
2.6.8 Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7 Función Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Marco Conceptual 30
3.1 Estudios previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2 Taxonomı́a del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 Estudios relevantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.4 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4 Propuesta de Solución 42
4.1 Construcción inicial de sesiones . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1.1 Construcción inicial aleatoria . . . . . . . . . . . . . . . . . . . . . . 43
4.1.2 Construcción inicial Greedy . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2.1 Representación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.2 Función de evaluación . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.3 Estructura de la propuesta . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.4 Movimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.5 Parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5 Experimentos 55
5.1 Formato de Instancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2 Generador de Instancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3 Análisis de instancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.4 Instancias de pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.5 Sintonización de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.6 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6 Validación de la Solución 68
6.1 Resultados de Gurobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.2 Resultados de la heurı́stica . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.2.1 Sintonización manual . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.2.2 Sintonización para mejor calidad . . . . . . . . . . . . . . . . . . . . 78
6.2.3 Sintonización para mejor tiempo . . . . . . . . . . . . . . . . . . . . 78
6.2.4 Comparativa entre sintonizaciones . . . . . . . . . . . . . . . . . . . 80
6.2.5 Análisis de convergencia . . . . . . . . . . . . . . . . . . . . . . . . 83
6.3 Comparativa de Gurobi con Heurı́stica . . . . . . . . . . . . . . . . . . . . . 87
6.4 Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
7 Conclusiones 91
ÍNDICE DE FIGURAS
3.1 Clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2 Asignación de 3 tuplas de artı́culos para un problema ABP de una conferencia
de 12 artı́culos y 4 sesiones paralelas. . . . . . . . . . . . . . . . . . . . . . . 37
3.3 Intercambio entre sesiones para un problema ABP . . . . . . . . . . . . . . . 37
3.4 Intercambio de artı́culos de una misma sesión para un problema ABP . . . . 37
4
ÍNDICE DE FIGURAS 5
6.3 Convergencia para la instancia (5). Instancia que Gurobi determinó óptima
con el mayor tiempo de cómputo. Semilla (3717). Ejes en escalas logarı́tmicas. 85
6.4 Convergencia para la instancia (2). Una de las instancias para las que Gurobi
alcanzó un lı́mite de tiempo. Semilla (8355). Ejes en escala logarı́tmica. . . . . 86
6.5 Convergencia para la instancia (21). Instancia infactible con mayor tiempo de
cómputo. Semilla (5877). Ejes en escala logarı́tmica. . . . . . . . . . . . . . . 87
ÍNDICE DE TABLAS
6.1 Resultados para 28 de 45 instancias para las que Gurobi encontró el óptimo.
Descendiente según tiempo de ejecución. . . . . . . . . . . . . . . . . . . . 70
6.2 Resultados para 5 de 45 instancias para las que Gurobi no alcanzó a encontrar
el óptimo. Descendiente según tiempo de ejecución. . . . . . . . . . . . . . 70
6.3 Resultados para 12 de 45 instancias para las que Gurobi determinó que no
existe solución. Descendiente según tiempo de ejecución. . . . . . . . . . . . 71
6.4 Resultados para análisis de correlación con métricas de Pearson y Spearman . 73
6.5 Resultados heurı́sticos para 28 instancias con óptimo conocido. 25 semillas.
Parámetros manuales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.6 Resultados heurı́sticos para 5 instancias con óptimo desconocido por tiempo.
25 semillas. Parámetros manuales. . . . . . . . . . . . . . . . . . . . . . . . 75
6.7 Resultados heurı́sticos para 12 instancias determinadas como infactibles. 25
semillas. Parámetros manuales. . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.8 Resultados heurı́sticos para 28 instancias con óptimo conocido. 25 semillas.
Parámetros para maximizar calidad. . . . . . . . . . . . . . . . . . . . . . . 79
6.9 Resultados heurı́sticos para 5 instancias con óptimo desconocido por tiempo.
25 semillas. Parámetros para maximizar calidad. . . . . . . . . . . . . . . . . 79
6
ÍNDICE DE TABLAS 7
8
SIGLAS
GECCO The Genetic and Evolutionary Computation Conference. 10, 12–14, 16, 25, 28, 33, 35,
38, 39, 60, 62, 67, 91, 92
9
CAPÍTULO
INTRODUCCIÓN
Las conferencias cientı́ficas son un aspecto esencial del mundo académico. Permiten a los
presentadores exponer su trabajo, a los participantes asistir a charlas de interés y de esa
forma complementar la instancia con retroalimentación activa de un tema particular de es-
tudio. Sin embargo, realizar una conferencia puede esconder grandes gastos y problemas.
Costos que van desde la inversión inicial de organizar un evento hasta los gastos en viajes in-
ternacionales. De este último es incluso posible encontrar un costo medioambiental [Gré08],
llevándonos a preguntar qué tan sustentable es una conferencia [Neu+20].
Al enfocarse en las personas, es posible notar que la correcta planificación del evento juega
un papel clave en el buen uso del tiempo. Los planificadores usualmente se ven abrumados
por la gran cantidad de tiempo que toma programar una planificación exitosa y el efecto que
ésta puede tener en sus asistentes. No se ha mencionado, además, que los participantes
pueden tener roles claves en la sociedad, caso notable es el de los obstetras [GLV07], el cual
debido a una gran conferencia anual logran disminuir la tasa de natalidad en las fechas de
dicha conferencia. Finalmente debido a la condición global actual se empezó cuestionar más
que nunca el tema de las conferencias online, para las cuales ya se están realizando estudios
[MMW20] enfocados en mejorar la experiencia de éstas.
10
CAPÍTULO 1. INTRODUCCIÓN 11
El problema general consiste en un conjunto de artı́culos que deben ser programados dentro
de sesiones en un programa especifico, programa que puede estar extendido en múltiples
dı́as y horarios. Cada artı́culo está enfocado en un tema en particular, es presentado por un
expositor y está asociado a una categorı́a temática (track). Todo esto junto a un importante
número de restricciones espacio-temporales que dificultan el proceso de programación de
una adecuada planificación final.
Se presenta un proceso de evaluación que resuelve los casos de pruebas sencillos usando el
modelo matemático propuesto implementado en el solver Gurobi y los casos más comple-
jos usando el algoritmo de búsqueda local. A partir de los resultados presentados es posible
concluir que ambos acercamientos son capaces de encontrar soluciones de calidad en gran
parte de los problemas. Por otro lado en los casos más complejos el acercamiento heurı́sti-
co es capaz de encontrar soluciones de muy buen nivel en tiempos muy acotados, siendo
incluso capaz de entregar recomendaciones para resolver instancias que son consideradas
infactibles. Ası́, los acercamientos pueden ser considerados como herramientas eficientes
para la toma de decisiones administrativas con respecto a la planificación de una conferen-
cia, minimizando los costos asociados y generando un buen marco de estudio del problema.
CAPÍTULO
En este capı́tulo se presenta una definición general del problema de planificación de con-
ferencias también conocido como Conference Scheduling Problem (CoSP). La definición se
enfoca principalmente en las conferencias GECCO. Se detallan los actores e involucrados,
participantes y asistentes, el problema actual y las dificultades futuras. Todo esto a fin de
determinar qué recursos son escasos y convierten al CoSP en un problema de difı́cil resolu-
ción. En detalle este capı́tulo entregará la definición formal del problema acompañado de un
modelo matemático de programación lineal para el problema.
Un problema CoSP puede ser definido a partir de artı́culos que deben ser expuestos exacta-
12
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 13
mente una vez a lo largo del programa de la conferencia. Se busca que la planificación pueda
entregar una grata experiencia tanto para los asistentes como para los expositores. Por esto
algunas conferencias organizan las exposiciones de acuerdo a temas de interés. Ası́, es po-
sible entender un track como una categorı́a temática o lı́nea de estudio a la que pertenece
cada artı́culo.
La Figura 2.1 provee un breve ejemplo de una conferencia de 3 Tracks, diferenciados por
colores distintos, con 24 artı́culos agrupados en seis sesiones utilizando dos salones y tres
bloques horarios. Además, se considera que cada sesión puede contener cuatro artı́culos.
Para este ejemplo, los artı́culos 13, 14, 15, 16, 5, 6, 7 y 8 pertenecen al track verde y, por
ende, son afines entre si en términos de área de estudio. Una conferencia basada en tracks
tiene como principal enfoque evitar sesiones de un mismo track en paralelo. Esto para que
los asistentes interesados en tracks especı́ficos puedan asistir a cada una de las sesiones y
puedan atender todas las presentaciones del tema. La conferencia ilustrativa de la Figura 2.1
representa una conferencia de juguete que posee una solución trivial.
HORARIO 1 HORARIO 2 HORARIO 3
SALON 1 1 2 3 4 5 6 7 8 9 10 11 12
SALON 2 13 14 15 16 17 18 19 20 21 22 23 24
Las conferencias The Genetic and Evolutionary Computation Conference (GECCO) 1 son una
de las conferencias más selectivas del campo de la inteligencia artificial, siendo además la
más importante de la SIGEVO de la ACM, por lo tanto, su planificación es clave para los
académicos e investigadores del área.
El enfoque utilizado por dicha conferencia consiste en organizar un programa para el cual
cada artı́culo sea programado en las mismas sesiones junto a otros artı́culos de una misma
Área de Estudio (Track)2 . Se considera, además, que las sesiones se programan dispersas
a lo largo de distintos bloques de tiempo, con exposiciones en paralelo a lo largo de una
cantidad de salas disponibles. Para las GECCO cada uno de los artı́culos pertenecen a uno
de los 13 tracks definidos, y como se mencionó antes, cada uno de los artı́culos dentro de la
misma sesión comparten track.
1
https://gecco-2019.sigevo.org/index.html/Program
2
https://forum.wordreference.com/threads/track-conference.1654475/
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 14
La planificación que tuvo lugar el año 2019 se presenta en la Figura 2.2. La imagen muestra
dos dimensiones, una dimensión espacial denotada por las filas de la tabla que representan
las salas disponibles para las sesiones y una dimensión temporal indicando todos los bloques
de horarios para los cuales es posible programar una sesión. La planificación tuvo un total
de 56 sesiones, 13 tracks, 7 horarios, 8 salones utilizados y máximo 4 artı́culos por sesión. Es
posible observar, además, que cada sesión se identifica por una sigla seguida de un número,
la sigla representa el track correspondiente mientras que el número es un identificador de la
sesión a fin de diferenciar las sesiones de un mismo track. Concretamente es posible observar
que la primera sesión del salón “South Hall 1A” fue llevada a cabo el dı́a lunes 15 de Julio
Schedule and Floor Plans 29
por la mañana y se presentaron artı́culos únicamente del track Evolutionary Multiobjective
Optimization (EMO). Las 13 categorı́as pueden ser revisadas en el sitio web de la GECCO.
Parallel Sessions, Monday, July 15 through Wednesday, July 17
Club A
p. 73 p. 75 p. 77 p. 81 p. 84 p. 87 p. 89
ECIP1 ECIP2 ECIP3 HOP1 HOP2 HOP3 HOP4
Club B
p. 64 p. 64 p. 64 p. 81 p. 84 p. 87 p. 90
ACO-SI1 THEORY1 GECH1 ACO-SI2 RWA5 THEORY3
Club C
p. 72 p. 76 p. 78 p. 80 p. 85 p. 88
ECOM1 ECOM2 EMO3 ECOM3 ECOM4 RWA7 GECH4
Club D
p. 72 p. 75 p. 77 p. 81 p. 83 p. 87 p. 89
CS1 SBSE1 EML2 CS2 EML3 EML4 DETA2
Club E
p. 72 p. 76 p. 77 p. 80 p. 83 p. 86 p. 89
RWA1 RWA2 RWA3 GECH2 RWA6 RWA8 RWA9
Club H
p. 74 p. 75 p. 78 p. 81 p. 85 p. 88 p. 90
Authors
Panorama Poster
Hall Setup
A lo largo de esta sección se definirá en detalle el caso de estudio, donde se busca que un con-
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 15
1 1+ 1+ 1
EXPOSITOR ARTICULO SESION
1+ 1+
1
1
TRACK
2.2.1. Programa/Grilla
Un programa consiste en una grilla bidimensional que ubica sesiones a lo largo del tiempo
y espacio. A su vez cada sesión ubica artı́culos de un mismo track. La Figura 2.4 muestra un
ejemplo de una conferencia pequeña de quince sesiones y con cinco tracks.
2.2.2. Artı́culo
Un artı́culo consiste en un documento que debe ser expuesto dentro de una sesión. Cada
artı́culo pertenece a un único track. Cada artı́culo debe tener al menos un expositor. Es im-
portante indicar que un expositor puede presentar varios artı́culos. Un ejemplo de un artı́culo
serı́a “Control Parameter Sensitivity Analysis of the Multi-guide Particle Swarm Optimization
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 16
Algorithm” de los autores “Kyle Harper Erwin (Allan Gray, University of Stellenbosh) y Andries
Engelbrecht (University of Stellenbosh)”3 .
2.2.3. Sesión
A Hybrid Evolutionary Algorithm Framework for Optimising Power Take Off and Place-
ments of Wave Energy Converters
A Novel Hybrid Scheme Using Genetic Algorithms and Deep Learning for the Recons-
truction of Portuguese Tile Panels
10:40
2.2.4. Tracks
Los tracks corresponden a categorı́as temáticas, o bien áreas de estudio. Un track consiste en
un tema especı́fico para el cual un grupo de investigadores interesados en el área propone
dicha categorı́a como parte de la conferencia. Hasta la fecha de la última conferencia existı́an
13 tracks distintos en GECCO. Algunos de los más conocidos Ant Colony Optimization and
Swarm Intelligence (ACO-SI), Complex Systems (Artificial Life / Artificial Immune Systems /
Generative and Developmental Systems /Evolutionary Robotics / Evolvable Hardware) (CS)
y Real World Applications (RWA). Mas información puede encontrarse en el sitio web de la
conferencia4 .
Cada track tiene un comité que organiza y revisa los artı́culos enviados, determina los artı́cu-
los nominados a mejor artı́culo y asigna los maestros de ceremonia (chairs) y organizadores
que estarán presentes en cada una de las sesiones.
2.2.5. Celda
Una celda corresponde a un espacio dentro de la grilla, su único propósito es servir de con-
tenedor para una sesión. Una conferencia no necesariamente va a llenar cada uno de los
espacios disponibles en la grilla con sesiones.
Históricamente los tracks tienen la facultad para nominar un subconjunto de los artı́culos
pertenecientes a dicho track para mejor artı́culo. Luego dichos artı́culos son planificados en
una misma sesión y votados por los asistentes. Como ejemplo la GECCO-2019 tuvo 13 tracks,
de los cuales 11 nominaron artı́culos. En mas detalle el track Evolutionary Multiobjective Op-
timization (EMO) de entre sus más de 30 artı́culos, únicamente nominó 4 y los planificó en la
sesión EMO2 (primera fila y primera columna). Las sesiones con las presentaciones de estos
artı́culos se presentan destacados con una estrella ? en la Figura 2.2.
4
https://gecco-2020.sigevo.org/index.html/Program+Tracks
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 18
Corresponden a tracks particulares que van mas allá de la mera presentación de un artı́culo,
dichas sesiones no nominan artı́culos a mejor artı́culo.
2.3. Actores
Para las conferencias GECCO se tiene los siguientes involucrados: expositores, organizado-
res, chairs, y un comité de planificación. En primer lugar los expositores corresponden a
personas encargadas de presentar artı́culos. Estas personas pueden ser o no el autor del
artı́culo en cuestión y cada expositor puede presentar mas de un artı́culo para una misma
conferencia. Los organizadores tienen un papel más que nada administrativo, pero se busca
que al menos un organizador pueda estar presente en las sesiones de sus respectivos tracks.
Los chair corresponden a los maestros de ceremonia de cada sesión y se necesita que estén
presentes en la sesión completa. Históricamente cada track tiene dos chairs.
Finalmente los asistentes, que corresponden a las personas naturales y académicos que asis-
ten a la conferencia, son clave en la especificación del problema de planificación de confe-
rencias basadas en preferencias de asistentes (attender-based perspective (ABP)[Van+18]),
pero son irrelevantes para esta formulación del problema.
Se necesita que cada sesión tenga al menos un chair que pueda estar presente durante
toda la sesión.
Se necesita que cada sesión tenga al menos un organizador que pueda estar presente
toda la sesión.
Se necesita cumplir con las preferencias horarias de los expositores. Estas preferencias
normalmente son una restricción o imposibilidad sobre ciertos bloques horarios.
Finalmente se busca optimizar el uso del espacio basado en la asistencia histórica que
cada track tiene y el tamaño de los salones a utilizar.
Para la primera versión del modelo se presenta una versión simple del problema que permite
asignar artı́culos dentro de una sesión sin planificar internamente el orden de estos artı́cu-
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 20
los en cada sesión. El detalle de la planificación interna de cada sesión se planificará con el
modelo completo que se presenta en la siguiente sección.
Guı́a de sub-ı́ndices
Los ı́ndices a utilizar a lo largo de este documento seguirán normalmente la siguiente estruc-
tura.
a : (A)rticle/Artı́culo
b : (B)lock/Bloque
l : Subs(L)ot
r : (R)oom/Habitación (2.1)
p : (P)erson/Persona
s : (S)ession/Sesión
t : (T)rack
2.6.2. Variables
Debido a que el número de sesiones que se busca es el mı́nimo posible, es posible estimarlo
como la mı́nima cantidad por cada track de manera de lograr planificar todos los artı́culos.
Ası́, la cantidad de sesiones será considerado un valor constante a lo largo de la resolución
del modelo de programación lineal. A este parámetro se le denomina Ys .
1 2 3
Figura 2.6: Ejemplificación de definición de variables. (1) Simboliza el asignar las variables
wps . (2) Simboliza la asignación de artı́culos en sesiones xas . (3) Simboliza la asignación de
ysrb , una sesión dentro de la grilla/programa.
Fuente: Contenido Original
Variables auxiliares
Mas adelante se presentarán las restricciones del modelo, presentadas como un sistema
lineal y para escribir ciertas restricciones linealmente se necesita definir la siguiente variable
auxiliar.
2.6.3. Constantes
Número de sesiones: La cantidad de sesiones es definida para cada instancia, dado que se
busca programar la conferencia minimizando la cantidad de sesiones a utilizar, es posible
determinar este la cantidad mı́nima de sesiones como las necesarias para planificar cada uno
de los artı́culos. Donde finalmente cada track tendrá un conjunto de sesiones disponibles.
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 22
Listado de Constantes
A ∈ N = Capacidad máxima de artı́culos por sesión
Ba ∈ (0, 1) = Artı́culo a es Best Paper
Fsr ∈ (0, 1) = Sesión s puede estar en salón el r
Tst ∈ (0, 1) = Sesión s pertenece al track t
Γa ∈ N = Track al que pertenece el artı́culo a
Λs ∈ N = Track al que pertenece la sesión s
∆sr ∈ N = Falta de espacio al planificar la sesión s en el salón r (2.4)
Autor(a) = Autor/Expositor del artı́culo a
Conf lictos(p) = Conjunto de bloques no permitidos para la persona p
Chairs(s) = Conjunto de chairs disponibles para la sesión s
Organizadores(s) = Conjunto de organizadores disponibles para la sesión s
Sesiones(t) = Conjunto de sesiones del track t
BestP aper() = Conjunto de todos los artı́culos que son best paper
La mayor parte del resto de las constantes del problema se explican por si solas, sin embargo,
a continuación se provee la descripción de aquellas que requieren especial consideración.
∆sr : Las instancias originalmente informan la asistencia para los tracks, pero es posible
extender su valor para cada una de las sesiones pertenecientes al track. El parámetro
consiste en la diferencia entre la asistencia histórica y la capacidad del salón, o bien la
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 23
La decisión de extender esta constante por sesiones fue meramente debido a la facilidad de
escribir instancias y que son mucho mas cercanas a los datos provistos en la práctica.
2.6.4. Restricciones
3. Cada sesión puede estar en una única celda (r, b) y a la vez cada celda solo puede ser
utilizada por una sesión. XX
ysrb = 1 ∀s (2.7)
r b
X
ysrb ≤ 1 ∀r, b (2.8)
s
4. Prohibir que un artı́culo se planifique en una sesión que no le corresponde por track.
5. Que un artı́culo sea planificado en una sesión implica que el autor también deberá
estar presente en esa sesión.
6. Que exista un artı́culo best paper en alguna sesión implica que la sesión será catalogada
como una contenedora de best paper ?.
8. Evitar que autores/expositores tengan que presentar en bloques de tiempo con con-
flictos personales; ya sea por compromisos o la incapacidad de estar presente en dicho
horario.
9. Evitar que una persona cualquiera tenga que estar en más de dos sesiones paralelas al
mismo tiempo.
XX
σpsrb ≤ 1 ∀p, b (2.14)
s r
wps + ysrb − σpsrb ≤ 1 ∀p, s, r, b (2.15)
σpsrb ≤ wps ∀p, s, r, b (2.16)
σpsrb ≤ ysrb ∀p, s, r, b (2.17)
10. Planificar todos los best paper en una única sesión por cada uno de los tracks. Con-
siderando que la cantidad de best paper no será superior a la cantidad de artı́culos
por sesión, pueden ser planificados arbitrariamente en cualquier sesión. La siguiente
ecuación utiliza la primera sesión disponible para ello.
11. Asegurarse que asista al menos un chair y un organizador a cada sesión de su respectivo
track y por ende respectiva sesión.
X
ysrb ≤ wps ∀s, r, b, p ∈ chairs(s) (2.19)
p
X
ysrb ≤ wps ∀s, r, b, p ∈ organizers(s) (2.20)
p
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 25
El modelo anterior puede ser extendido al micro manejo del tiempo para instancias en las
cuales la cantidad de restricciones es lo suficientemente grande para no lograr encontrar
una solución. Las GECCO no necesariamente deben seguir una relación 1-1 entre expositores
y artı́culos, y además la existencia de un expositor considerablemente solicitado puede gene-
rar soluciones infactibles considerando solo el modelo simplificado. En dichos casos confinar
a un expositor a una única sesión es un problema, ya que si la situación lo amerita dicha
persona deberı́a tener la capacidad de saltar entre sesiones (aunque esto fuese una solución
poco grata). Para esto se extiende el modelo a uno que considere los sub slot dentro de cada
sesión.
2.6.6. Variables
Las variables presentadas en el modelo simplificado serán extendidas para los subslot l des-
tacando los siguientes cambios:
La asignación de artı́culos xasl ahora incluye la dimensión l para cada uno de los subs-
lot.
La asignación de personas wpsl igualmente debe incluir la dimensión l para cada subs-
lot.
Se agregaron las variables cps y ops para representar que una persona designada como
chair u organizador debe estar en una sesión completa y no puede estar parcialmente
en una sesión.
Del mismo modo que en el modelo simplificado, para poder escribir algunas restricciones
como expresiones lineales, es necesario definir la siguiente variable auxiliar.
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 26
2.6.8. Restricciones
1. Cada artı́culo debe ser planificado una única vez.
XX
xasl = 1 ∀a (2.27)
s l
4. Cada sesión puede estar en una única celda (r, b) y a la vez cada celda solo puede ser
utilizada por una sesión a la vez.
XX
ysrb = 1 ∀s (2.30)
r b
X
ysrb ≤ 1 ∀r, b (2.31)
s
5. Prohibir que un artı́culo se planifique en una sesión que no le corresponde por track.
X
xasl = 0 ∀a, s, Γa 6= Λs (2.32)
l
6. Que un artı́culo sea planificado en una sesión implica que el autor/expositor también
deberá estar presente en esa sesión.
7. Planificar todos los best paper en una única sesión por cada uno de los tracks, permi-
tiéndoles estar en cualquier subslot.
X
xasl = 1 ∀t,a ∈ BestP aper(), s = sessions(t)0 (2.34)
l
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 27
9. Evitar que autores/expositores tengan que presentar en bloques de tiempo con con-
flictos personales; ya sea compromisos o la incapacidad de estar presente en dicho
horario.
10. Evitar que una persona cualquiera tenga que estar en más de dos sesiones paralelas al
mismo tiempo.
XX
σpslrb ≤ 1 ∀p, b, l (2.37)
s r
wpsl + ysrb − σpslrb ≤ 1 ∀p, s, l, r, b (2.38)
σpslrb ≤ wpsl ∀p, s, l, r, b (2.39)
σpslrb ≤ ysrb ∀p, s, l, r, b (2.40)
11. Asegurarse que asista al menos un chair y un organizador a cada sesión de su respectivo
track y por ende respectiva sesión.
X
ysrb ≤ cps ∀s, r, b, p ∈ chairs(s) (2.41)
p
X
A · cps ≤ wpsl ∀p, s (2.42)
l
X
ysrb ≤ ops ∀s, r, b, p ∈ organizadores(s) (2.43)
p
X
A · ops ≤ wpsl ∀p, s (2.44)
l
Considerar la asistencia histórica y la capacidad de los salones como una restricción dura no
resulta realista, pues considera que el problema podrı́a quedar sin solución por una persona
atendiendo una sesión de pie. Debido a esto, en este trabajo se opta por minimizar la falta
de asientos. Para ello es posible calcular un ∆sr que indique la diferencia absoluta entre la
capacidad histórica y la capacidad del salón y agregar una función objetivo de la forma:
XXX
mı́n z1 = ysrb · ∆sr
s r b
Espacio de búsqueda
2.8. Resumen
Se definió cada una de las partes involucradas en las GECCO, esto es, recursos económicos,
temporales, espaciales, organizacionales y humanos. Junto con un conjunto de definiciones
que se resumirán nuevamente a continuación. La idea se puede resumir como determinar
el programa que asigna presentaciones de acuerdo a track y disponibilidad de expositores,
chairs y organizadores prohibiendo que sesiones del mismo track, ası́ como sesiones con best
paper se lleven a cabo en paralelo minimizando el mal uso de los salones.
Finalmente este capı́tulo propone dos modelos matemáticos que permiten resolver respec-
tivamente una versión simplificada y una versión compleja del problema de planificación de
conferencias. La primera versión modela el problema como un problema de satisfacción de
CAPÍTULO 2. DEFINICIÓN DEL PROBLEMA 29
restricciones, sin embargo, la falta de granularidad que provee puede determinar un proble-
ma como infactible incluso cuando la solución está a muy poco de ser factible. La segunda
versión permite definir en detalle el programa de cada sesión. Esto aumenta su espacio de
búsqueda considerablemente y aumenta la cantidad de soluciones factibles para un proble-
ma cualquiera. Ası́, es posible observar que las soluciones del modelo simplificado son un
subconjuto de soluciones del modelo extendido. Ss ⊆ Se
MARCO CONCEPTUAL
Planificar una conferencia siempre ha sido tema de estudio, donde la solución natural, y por
ende, la primera y ampliamente utilizada hasta el dı́a de hoy consiste en reunir un grupo de
trabajo que con pizarra y papel en mano comienza a organizar y distribuir charlas a lo largo
de bloques de tiempo. En sus inicios, a falta de videoconferencias, los organizadores debı́an
reunirse presencialmente en algún paı́s anfitrión a realizar una apropiada programación del
evento [Dos+17]. Este enfoque puede resultar para conferencias pequeñas, donde la capa-
cidad humana aún puede entregar buenos resultados en un tiempo razonable, sin embargo
el tiempo se ha encargado de moverse a conferencias de niveles colosales de las cuales la
planificación terminaba por resultar en un gran dolor de cabeza.
30
CAPÍTULO 3. MARCO CONCEPTUAL 31
las clasifica en dos categorı́as. La primera categorı́a considera los problemas donde la ven-
tana de vencimiento es entregada desde un comienzo mientras que la segunda categorı́a
considera los problemas donde se debe asignar dichas ventanas (principalmente asignar el
inicio de la ventana de vencimiento). El autor además provee un completo estudio sobre las
soluciones de cada una de las variantes encontradas. Estas van desde el uso de algoritmos
personalizados, el uso de heurı́sticas e incluso técnicas completas como Branch & Bound
(B&B).
Dentro del Educational Timetabling el trabajo de [Sch99] entrega un vasto estudio sobre la
planificación de clases y exámenes en un perı́odo fijo de tiempo, por ejemplo semanas. El
problema considera un conjunto dado de alumnos, cursos, docentes e instalaciones en que
se necesita elegir la mejor planificación para realizar clases y/o exámenes. Dicha programa-
ción debe evitar, entre otras restricciones, que una persona deba estar en dos lugares a la
vez.
El estudio presenta además un resumen de las variantes más comunes del problema, nor-
malmente por temas de instalaciones o por situaciones que generalmente suceden en la
práctica. Por mencionar algunas se tienen las clases simultaneas (e.g. dos clases deben pla-
nificarse en un mismo salón), múltiples profesores (e.g. cuando un curso tiene mas de un
profesor asignado), salones especiales (e.g. clases en laboratorios), entre otros. Finalmente
el artı́culo indica que las soluciones mas comunes encontradas en la literatura hacen uso de
heurı́sticas directas como Simulated Annealing (SA), Búsqueda Tabú, Algoritmos Genéticos,
entre otros acercamientos de búsqueda heurı́stica.
Por otro lado, este trabajo además presenta los tres principales problemas del área de Educa-
tional Timetabling. Primero School Timetabling, que es la planificación de clases escolares,
es decir, normalmente considera grupos de alumnos, evitando que los profesores y alumnos
tengan más de una clase programada al mismo tiempo. Es importante notar que, en la épo-
ca escolar, las clases son normalmente compartidas por un grupo de alumnos y por ende la
planificación se hace para una clase completa y no para alumnos independientes. Existen de
todas formas excepciones a esto último, por ejemplo, las clases de educación fı́sica donde
dos clases tienen la misma materia a la vez. El segundo es el Course Timetabling, que es la
planificación de las clases de cursos universitarios evitando la programación en un mismo
horario de clases con alumnos en común. La programación de cursos universitarios conside-
ra cada alumno como un elemento particular del problema y no existe un sı́mil a las “clases”
del School Timetabling. Por último, el Examination Timetabling que particulariza la planifi-
cación de exámenes universitarios. En este problema se busca entre otras cosas, minimizar el
traslape de estudiantes extendiendo, en lo posible, el tiempo entre exámenes (i.e. no dejar
exámenes consecutivos) o bien requisitos especiales como lo serı́an el planificar exámenes
en salones contiguos.
CAPÍTULO 3. MARCO CONCEPTUAL 32
El hecho de enumerarlas no es por que sean de interés particular para el problema estudiado
en este trabajo de tı́tulo, sino mas bien, debido a que todas son extensibles para la mayorı́a
de los problemas de planificación y, de hecho, cambiando los eventos exámenes por expo-
siciones de artı́culos en las restricciones es posible conformar fácilmente un problema de
planificación de conferencias.
Restricciones duras
1 Sin exámenes con recursos en común (estudiantes, salas) asignados simultánea-
mente
2 El número de estudiantes asignados a un salón necesita estar bajo la capacidad del
salón, y debe haber suficientes salones para todos los exámenes
En su estudio [Van+18], el autor propone solucionar un problema ABP donde busca maximi-
CAPÍTULO 3. MARCO CONCEPTUAL 33
Restricciones blandas
1 Distribuir los conflictos de exámenes en forma uniforme y no en bloques de tiempo
consecutivos
2 Grupos de exámenes que deban realizarse al mismo tiempo en el mismo dı́a o lugar
3 Exámenes que deban ser consecutivos
4 Planificar todos los exámenes, o los mas largos, tan pronto como sea posible
5 Se debe cumplir un orden o precedencia entre exámenes
6 Limitada cantidad de estudiantes y/o exámenes por bloques de tiempo
7 Requisitos de tiempo (e.g. exámenes que no puedan ser planificados en ciertos
bloques de tiempo)
8 Exámenes que tengan conflicto al panificares en el mismo dı́a en bloques cercanos
9 Exámenes pueden dividirse en ubicaciones similares
10 Solo se pueden asignar exámenes de misma duración en la misma sala
11 Recursos necesarios (e.g. instalaciones del salón)
zar la asistencia de los asistentes y minimizar la cantidad de movimientos entre sesiones que
tengan que hacer. Por otro lado, el acercamiento presenter-based perspective (PBP) es muy
cercano a las conferencias GECCO que se consideran como caso de estudio de este trabajo
de tı́tulo, conferencia donde los temas son conocidos como tracks. Este estudio está fuerte-
mente relacionado con este trabajo de tı́tulo y será analizado en detalle en la Sección 3.3.
Existen otro tipo de alternativas para mejorar la experiencia de planificar una conferencia,
éstas son por ejemplo el entregar herramientas que faciliten la organización y visualización
del programa. Sticky Schedule [Dos+17] consiste en una aplicación de muchos usuarios que
permite la interacción y uso de múltiples pantallas compartidas a gran escala para tener una
visualización completa y granular del programa final. Este tipo de soluciones no resuelven el
problema como tal, pero contribuyen a que el proceso de planificación pueda realizarse por
un conjunto de personas de manera ordenada.
Cobi [Zha+13] consiste en una aplicación que facilita e involucra a la comunidad en el proceso
de planificación, ayudando a recolectar preferencias, restricciones y afinidades temáticas a
fin de contribuir de manera sistemática, visual e informada a la toma de decisiones sobre la
planificación. Nuevamente esta es una solución atı́pica, sin embargo, este tipo de aplicacio-
nes viene a resolver un problema distinto, que se asocia a su capacidad que se tiene para
CAPÍTULO 3. MARCO CONCEPTUAL 34
Uist [Gri+16] busca mejorar la experiencia de los usuarios mediante aplicaciones que ayuden
a descubrir intereses, charlas y exposiciones mediante una plataforma web que permita a los
presentadores subir vı́deos cortos sobre sus futuras exposiciones. Uist finalmente se com-
porta como un sistema de recomendaciones que ayuda a visibilizar los temas y artı́culos de
una conferencia; este tipo de sistemas tampoco resuelve el problema como tal pero mejora
la experiencia del público al simplificar la etapa de descubrimiento, ya que probablemente
para el público en una conferencia de más de 100 artı́culos sea difı́cil leer cada uno de los
resúmenes.
Las dos principales categorı́as de los problemas de planificación son el Timetabling Problem
y el Job Scheduling. Las cuales difieren principalmente por el uso de un espacio fı́sico en
tiempos particulares.
Sin embargo bajo ciertas interpretaciones se pueden encontrar muchas similitudes entre
ambos. Por ejemplo el problema de asignación de tareas con muchos procesadores puede
ser visto como un problema de asignación de eventos en salones paralelos, incluso mas aún,
el problema de planificación de conferencias basadas en temas (tracks) puede ser visto como
una planificación de tareas con precedencia donde una sesión debe ir antes que otra, y no
puede ejecutarse la siguiente hasta que la anterior esté completa.
La variante de problema de planificación estudiada en este trabajo de tı́tulo cae dentro de los
Timetabling. Dentro de los problemas basados en planificación de eventos, y más particu-
larmente en los de ı́ndole académica. Los problemas basados en eventos pueden considerar
desde reuniones, campeonatos [SMK04], exhibiciones[LL10] y horarios de buses [Zha+21].
Poco esfuerzo se ha hecho por crear una taxonomı́a por el problema, sin embargo esto pro-
bablemente es debido a la cantidad exponencial de variantes que pueden nacer según las
restricciones particulares de cada problema, sin mencionar que muchas variantes, según la
CAPÍTULO 3. MARCO CONCEPTUAL 35
1 Problemas de Planificación
2 Eventos
3 Timetabling
4 Examination Timetabling
5 Course Timetabling
6 School Timetabling
7 Conference Timetabling
8 attender-based perspective (ABP)
9 presenter-based perspective (PBP)
10 Basadas en temas/tracks
11 GECCO ;
12 EURO-K ;
13 Tareas / Trabajos
14 Flow Shop Problem
15 Planificación de Procesos
16 Planificación de viajes
17 ...
Basado en preferencias
Las conferencias basadas en preferencias (ABP del artı́culo [Van+18] referenciado en la sec-
ción previa) buscan, como su nombre lo indica, satisfacer en mayor parte las necesidades y
preferencias de los asistentes antes que de los presentadores.
El problema particular que busca resolver [Van+18], es una planificación ABP de sesiones
de una conferencia a fin de maximizar la asistencia del público. Esto se logra considerando
como primer objetivo planificar los artı́culos de forma que cada persona del público pueda
asistir a la presentación de la mayor cantidad de artı́culos de interés. Como segundo objetivo
se busca minimizar la cantidad de “movimientos entre sesiones” que puedan existir. Estos
movimientos entre sesiones se producen cuando alguna persona del público debe salir de
CAPÍTULO 3. MARCO CONCEPTUAL 36
[Van+18] con estos objetivos resuelve la planificación de tres conferencias distintas (MathS-
port, MAPSP y ORBEL). El autor propone una solución basada en un algoritmo de dos etapas
que incluyen el uso de programación lineal y heurı́sticas.
La primera etapa (modelo lineal) se encarga de construir las “tuplas” de artı́culos en paralelo
a fin de minimizar la inasistencia. Esto se hace con un vector de preferencias de cada persona
del público minimizando los costos asociados a la inasistencia. Como resultado de esta etapa
se obtienen N vectores de artı́culos que serán expuestos en paralelo. Como ejemplo en la
Figura 3.2 se tiene una conferencia de 12 artı́culos en la que se determinaron 3 tuplas. El
resultado indica que, por ejemplo, exponer los artı́culos (2), (11), (1) y (6) en paralelo generan
la menor inasistencia total para cada una de las personas del público.
2 11 1 6
5 7 3 8
4 12 9 10
Figura 3.2: Asignación de 3 tuplas de artı́culos para un problema ABP de una conferencia de
12 artı́culos y 4 sesiones paralelas.
Fuente: Contenido Original
entre sesiones. La heurı́stica corresponde a un método de búsqueda local que permite co-
mo movimientos el intercambio entre sesiones (Figura 3.3) o el intercambio entre artı́culos
dentro de una misma sesión (Figura 3.4).
2 11 1 6 5 7 3 8
5 7 3 8 2 11 1 6
4 12 9 10 4 12 9 10
2 11 1 6 2 6 1 11
5 7 3 8 5 7 3 8
4 12 9 10 4 12 9 10
Figura 3.4: Intercambio de artı́culos de una misma sesión para un problema ABP
Fuente: Contenido Original
El artı́culo de [Van+18] presenta como la instancia más compleja tratada las conferencias
ORBEL, con 4 sesiones paralelas y un aproximado de 80 artı́culos totales. En este caso, los
resultados obtenidos por su propuesta alcanzan tiempos de cómputo del orden del minuto
como máximo.
El objeto de estudio de este documento consiste en entregar una mejor experiencia para los
presentadores confeccionando una planificación categorizada en áreas para los asistentes.
Para resolver el problema, primero los organizadores de un área en particular (track), gene-
ran de antemano cada una de las sesiones y planificación interna de ellas, es decir, deter-
minan el orden de los artı́culos de cada sesión. Los organizadores crean grupos de sesiones
(dentro del artı́culo llamados streams) que deben ser planificadas en secuencia en un mis-
mo salón e idealmente no deben ser interrumpidos. Por último se presenta un conjunto de
instalaciones donde cada una tiene su respectivo listado de salones.
Ası́, la mayor parte de la planificación “micro” se lleva a cabo por los organizadores y no por
la propuesta de solución. La propuesta que utilizan es un modelo de programación lineal
entera que busca satisfacer y minimizar lexicográficamente, según el siguiente listado, las
1
https://www.euro-online.org/web/pages/312/euro-k-conferences
CAPÍTULO 3. MARCO CONCEPTUAL 39
siguientes necesidades:
1. Todas las sesiones de una área de estudio (track) deben ser planificadas en un único
edificio. Esto de forma de concentrar la atención del público interesado.
2. Correlación entre las áreas de estudio según la contigüidad de los edificios, es decir,
que áreas de estudio similares se encuentren cercanas las unas de las otras.
3. Minimizar la cantidad de salones a utilizar después de planificar cada uno de los streams.
Esto a fin de facilitar la navegación del público.
5. Finalmente se busca minimizar el mal uso del espacio, es decir, que los salones donde
se planifican las sesiones tengan la suficiente cantidad de asientos para un número
estimado de asistentes.
El modelo anterior se puede dividir fácilmente en pequeños problemas, donde por ejemplo
el tercer objetivo puede ser resuelto independientemente para cada uno de los edificios. Las
pruebas del acercamiento demostraron que solo tarda unas cuantas horas en entregar una
solución que, además, cumple considerablemente con cada uno de los objetivos descritos.
En [CVC19] los autores estudiaron un problema similar al abordado en este trabajo de tı́tulo.
El problema estudiado fue la International Conference on Production Research 2018 para
la que se generaron instancias similares que tenı́an entre 120 y 240 artı́culos o charlas a pre-
sentar. A diferencia de este trabajo (y de las EURO-K), este tipo de conferencias no tiene un
sı́mil de lo que se denomina un track, si no más bien uno de los objetivos del problema es
agrupar artı́culos similares y crear sesiones con artı́culos comunes. La definición es principal-
mente un modelo de programación lineal y su resolución se llevo a cabo mediante técnicas
heurı́sticas basadas en GRASP y generación de columnas. Para cada una de las instancias se
entregó un lı́mite de tiempo de 1[hr] para los solver matemáticos (Gurobi). Por otro lado la
propuesta heurı́sticas lograba alcanzar su soluciones en menos de 1[min].
Aun por el lado de las PBP, pero en otra área se tiene el trabajo de [VMF17] el cual busca
agrupar (clustering) artı́culos dentro de sesiones según su contenido considerando restric-
ciones adicionales a la agrupación. En este artı́culo se proponen dos nuevas modificaciones
a algoritmos de agrupación uno mediante un modelo de programación lineal y otro a partir
de una modificación del algoritmo K-Medoids. El artı́culo trabaja sobre las planificaciones
de las conferencias 13th International Conference on Machine Learning and Applications,
ICMLA-14 y 27th y 28th Conference on Artificial Intelligence of Association for the Advan-
cement of Artificial Intelligence, AAAI-13, AAI-14 que, a diferencia de las GECCO, no tienen
tracks definidos. El autor incluso indica que en este tipo de conferencias la variedad de temas
CAPÍTULO 3. MARCO CONCEPTUAL 40
En [BCS21] se busca formular una versión del problema que considere tanto la perspectiva de
los organizadores como la de los participantes y presentadores. Su definición busca entonces
planificar artı́culos con tópicos similares en sesiones comunes. Los organizadores por un lado
ven su trabajo simplificado debido a que no se necesita mayor recolección de datos y los
participantes se ven beneficiados debido a que las sesiones tendrán artı́culos similares y,
probablemente, de interés para el que asista. Desde la perspectiva del expositor se prohı́be
que éste tenga dos artı́culos en sesiones paralelas. El problema estudiado es una versión
bastante relajada del problema de planificación de conferencias en general y el mismo autor
la define como flexible.
El estudio presenta como solución tres modelos matemáticos. El primero un modelo de pro-
gramación lineal que permite resolver instancias pequeñas y medianas. El segundo que mo-
dela el problema como uno de agrupamiento que resuelve mediante técnicas de Branch &
Cut instancias más grandes que el primero. El tercer modelo de agrupamiento con Set Parti-
tioning resuelto mediante Branch Cut & Price resulta la propuesta más efectiva resolviendo
las instancias más grandes. Las instancias utilizadas fueron instancias reales y artificiales deri-
vadas de las conferencias XV Latin American Robotics Symposium (LARS) y la Brazilian Logic
Conference (EBL) que involucran 86 y 96 artı́culos respectivamente. Para los tres modelos
un lı́mite de tiempo de 12[hrs] fue establecido donde los dos primeros modelos para las ins-
tancias artificiales más grandes no alcanzaron siquiera a resolver la relajación del problema,
mientras que el último modelo tuvo un desempeño mucho mejor llegando como máximo a
las 5[hrs] de tiempo de cómputo en los casos más complejos.
3.4. Resumen
A lo largo de este capı́tulo se presentó un estudio del estado del arte del problema. Este
estado del arte incluye una gran cantidad de problemas cercanos como lo serı́an los Job
Scheduling, variantes y problemas de planificación de eventos y los de Educatonal Timeta-
bling.
Para este último se presentan sus principales variantes School Timetabling, Course Timeta-
bling y Examination Timetabling. Problemas que, si bien en un principio no están relaciona-
das por completo al problema que se resuelve en este trabajo, proveen mucha información
respecto a tipos de restricciones y objetivos que podrı́an extenderse a cualquier problema
de planificación.
Se observa también que existe una tendencia no menor al desarrollo de aplicaciones para
CAPÍTULO 3. MARCO CONCEPTUAL 41
Se presenta también un intento por determinar la taxonomı́a del problema, donde cierta-
mente su desarrollo es complejo y probablemente no esté del todo correcto. Esto debido
que, como se mencionó antes, ciertos problemas pueden catalogarse al mismo tiempo en
dos categorı́as distintas.
Finalmente se presenta un estudio detallado de las dos variantes mas significativas del pro-
blema; attender-based perspective (ABP) y presenter-based perspective (PBP). Se explican en
detalle los dos artı́culos más importantes encontrados en la literatura. El estudio de [Van+18]
con la resolución de un problema ABP y el estudio de [SPV18] con la resolución de un proble-
ma PBP. Esta última es la mas cercana a este trabajo y uno de los pocos artı́culos que define
en concepto tracks en el problema de planificación de conferencias.
CAPÍTULO
PROPUESTA DE SOLUCIÓN
La solución propuesta en este documento puede considerarse una propuesta en dos fases
que busca soluciones de calidad permitiendo que el algoritmo recorra zonas infactibles del
espacio de búsqueda. En la primera fase se utiliza una construcción inicial greedy aleatoria
que puede resultar en soluciones infactibles. Y en la segunda fase, se utiliza un algoritmo de
búsqueda local Simulated Annealing con recalentamiento.
La primera etapa del algoritmo parte con un conjunto total de artı́culos A, agrupados úni-
camente por el track al que pertenecen. Dado los requisitos del problema, la primera fase
debe determinar para cada uno de los tracks la cantidad mı́nima de sesiones necesarias para
programar cada uno de sus artı́culos. Por ejemplo, considerando una conferencia cualquiera
que tiene 100 artı́culos, que permite cuatro artı́culos por sesión y donde un trackarbitrario
tiene 14 artı́culos, es posible calcular la cantidad de sesiones para ese track como 14
4
→ 4.
El mismo procedimiento debe aplicarse a cada uno de los tracks para obtener ası́ la canti-
dad total de sesiones a programar para la conferencia. Una vez obtenidas éstas cantidades
se consideran dos alternativas de construcción de sesiones: un algoritmo de construcción
aleatorio y un algoritmo de construcción greedy.
42
CAPÍTULO 4. PROPUESTA DE SOLUCIÓN 43
El segundo algoritmo de construcción toma, para cada track, su listado de artı́culos, bara-
jados en orden aleatorio y se van asignando artı́culos a sesiones siguiendo los siguientes
pasos:
2. El cálculo anterior solo es valido si es que los conflictos totales no abarcan todos los
bloques disponibles. En caso de que el artı́culo no pueda encontrar una sesión que
satisfaga lo mı́nimo, será planificado en la primera sesión con suficiente espacio.
puede decir que los conflictos de tiempo no son inherentes de los artı́culos, sino mas bien
son heredados del expositor que debe presentar dicho artı́culo.
De manera intuitiva se puede pensar que los casos más complejos de resolver sean aque-
llos con pocas sino únicas soluciones, por ende, la asignación de artı́culos en sesiones serı́a
igualmente única. Dicho esto se puede dar aproximar el tamaño de espacio de búsqueda y
complejidad si se intentase resolver el problema solo por estos medios. En este caso para ca-
da track se tendrı́a que resolver un problema de asignación O(|artı́culos|), donde |artı́culos|
representa la cantidad de artı́culos de dicho track.
A pesar de que es posible repetir varias veces la etapa de la construcción inicial o incluso ex-
tenderla con otros algoritmos greedy mas sofisticados, pruebas preliminares determinaron
que ejecutar mas una vez la construcción inicial (tanto aleatoria como greedy) no generaba
mejores resultados en la siguiente fase, y por ende el proceso repetitivo no aportaba valor
en el proceso, por lo que finalmente se determinó que una vez era suficiente.
En este trabajo de tı́tulo se propone un algoritmo de búsqueda local iterativa estocástica muy
utilizado en el ámbito de la optimización combinatoria. Simulated annealing es un algoritmo
muy general que con reglas sencillas permite explotar y diversificar según la etapa del pro-
ceso de búsqueda del algoritmo. La propuesta consiste en llevar a cabo simulated annealing
con enfriamiento proporcional, recalentamientos periódicos, mecanismos de detección de
estancamiento, temperaturas iniciales de acorde a la calidad y mecanismos de castigo para
soluciones infactibles.
4.2.1. Representación
La representación a utilizar en esta etapa será la grilla general del programa de tamaño Ha-
bitaciones × Bloques. Donde cada celda de la grilla estará utilizada por cero o una sesión de
las construidas en la etapa de construcción descrita en la sección 4.1.
La Figura 4.1 muestra un ejemplo de representación de solución. La grilla fue poblada con el
proceso de construcción como se explica a continuación. El criterio para poblar la grilla es
ir secuencialmente por cada track asignando de izquierda a derecha, asignando por salón
cada una de las sesiones. Observando el ejemplo de la Figura 4.1 en que se tiene una grilla
de 5 tracks, donde se elige aleatoriamente cada track y se planifican sus sesiones. Primero se
considera el track celeste que tiene cuatro sesiones y se planifica en la misma sala en bloques
consecutivos la mayor cantidad de sesiones posible. Luego se considera el track amarillo que
posee cuatro sesiones. Su primera sesión queda planificado en el primer horario disponible y
se continúan asignando con el siguiente salón desde el primer bloque horario nuevamente.
La misma lógica se aplica tanto para los tracks morado, rojo y verde. La figura muestra un
ejemplo básico y los bloques horarios podrı́an ser los de un mismo dı́a o estar divididos en
varios dı́as.
A pesar de que ésta asignación permite comenzar el proceso de búsqueda con un buen pro-
grama, esta construcción inicial no revisa el cumplimiento de las restricciones de conflictos
con bloques de horario ası́ como tampoco la asignación de una persona en mas de una se-
sión en paralelo. Por otro lado, tampoco considera el objetivo de minimización del mal uso
del espacio.
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
Lı́neas 19, 20, 24 y 26: Penalizar la presencia del presentador de un artı́culo como chair
u organizador en otra sesión y viceversa. Amplificado por ser una restricción dura y a
nivel de bloque (1 ∗ nAS ∗ γ).
Lı́nea 28: Penalizar que un expositor tenga dos artı́culos programados en el mismo
bloque y sub slot de tiempo.
Lı́nea 30: Penalizar la falta de espacio necesaria acorde a la asistencia histórica de cada
sesión respecto al track al que pertenece.
31 return cost
Algoritmo 3: Función de evaluación con factor de amplificación γ y cantidad de artı́cu-
los por sesión nAS
CAPÍTULO 4. PROPUESTA DE SOLUCIÓN 49
1 Ti = temperatura inicial;
2 for i = 1 → N do
3 if χ iterations without improvement then
4 Ti+1 += β − (β − 1) · Ni
5 Sn = choose random from neighbour(S) ;
6 ∆ = quality(Sn ) - quality(S) ;
7 if ∆ < 0 then
8 S = Sn
9 else
10 if exp( −∆
T
) > rand(0, 1) then
11 S = Sn
12 Ti+1 = Ti ∗ α
Algoritmo 4: Flujo general de Simulated Annealing (SA) con enfriamiento proporcio-
nal y recalentamiento lineal proporcional al número de iteraciones.
4.2.4. Movimientos
Intercambio de Sesiones
1. Las nuevas posiciones pueden tener algún artı́culo, con algún expositor que tenga el
nuevo bloque como un horario no deseado (o imposible al que asistir).
CAPÍTULO 4. PROPUESTA DE SOLUCIÓN 50
2. Las nuevas posiciones podrı́an permitir que dos sesiones de un mismo track se plani-
fiquen en paralelo.
3. Las nuevas posiciones podrı́an crear nuevos conflictos tanto para chairs como con or-
ganizadores que ya estaban planificados en otras sesiones en el mismo horario.
La Figura 4.2 muestra un pequeño ejemplo donde dos sesiones arbitrarias de dos tracks dis-
tintos se intercambian de posición (las sesiones pueden ser de cualquier track y no se impide
ambas sean de un mismo track). Se acompaña del Algoritmo 5 que muestra detalladamente
el proceso de intercambio.
Todo estos cálculos son penalizados en la función de costos que se presenta en el Algoritmo 3.
De todas maneras, el movimiento provee una gran oportunidad para explorar el espacio
de búsqueda, e incluso preliminarmente se podrı́a esperar que este movimiento deberı́a
predominar en etapas tempranas del algoritmo, donde los movimientos macro destacan más
que los granulares.
Intercambio de chair
Es necesario que este movimiento se realice durante todo el proceso de búsqueda, ya que
el intercambio de sesiones, organizadores y artı́culos puede, en efecto, volver infactible la
asignación de chairs. Para hacer el cambio se elige una sesión aleatoria, y un chair aleatorio
del track de la sesión en cuestión, véase Algoritmo 6.
Intercambio de Organizadores
El intercambio de organizadores, tal como el intercambio de chairs, se lleva a cabo para po-
der encontrar una asignación de organizadores suficientes tal que no tengan mas de una
responsabilidad en un mismo bloque horario. Es necesario también que este movimiento se
realice a lo largo de todo el proceso de búsqueda, ya que el intercambio de sesiones, chairs
y artı́culos puede en efecto volver infactible la asignación. Para hacer el cambio se elige una
sesión aleatoria, y un organizador aleatorio del track correspondiente a la sesión en cuestión,
véase Algoritmo 7.
Intercambio de Artı́culos
Para llevar a cabo este movimiento se eligen dos sesiones aleatorias de un mismo track, luego
desde cada sesión se elige aleatoriamente un artı́culo y finalmente se intercambian, véase Fi-
gura 4.3 y Algoritmo 8. Este intercambio permite respetar que cada artı́culo esté en sesiones
válidas respecto al track, sin embargo no asegura que alguno de los dos artı́culos hayan que-
dado en una posición inválida o bien en conflicto con algún chair u organizador. Este cambio
puede generar cualquier infactibilidad en la solución, tanto por horarios como conflictos con
chairs y organizadores que estén ya programados en alguna sesión paralela. Nuevamente
CAPÍTULO 4. PROPUESTA DE SOLUCIÓN 52
recordar que todas los ajustes infactibles son castigados por la función de evaluación según
el Algoritmo 3.
3 10 13
7 14 21
Figura 4.3: Intercambio de artı́culos, se eligen dos sesiones de un mismo track y se intercam-
bian dos artı́culos aleatorios de cada uno
4.2.5. Parámetros
La versión utilizada de Simulated Annealing (SA) corresponde al algoritmo estándar con op-
ción de estancamiento y recalentado. A continuación se listan cada uno de los parámetros
CAPÍTULO 4. PROPUESTA DE SOLUCIÓN 53
Parámetros propios de SA
Temperatura inicial: Valor inicial de la temperatura del algoritmo. Este valor normal-
mente debe elegirse teniendo en cuenta la magnitud que tengan la capacidad de los
salones, la asistencia histórica, y el factor de multiplicación. Esto debido a que lo ideal
es castigar en varios órdenes de magnitud a las soluciones infactibles, por ejemplo en
una conferencia con salones de capacidad 30 y un factor de multiplicación 1000 será
fácil discernir que una solución es factible o no. Por otro lado, para una conferencia
con capacidades para 200 personas por salón y utilizando un factor de multiplicación
500 para la función de evaluación, se podrı́a llegar a confundir una solución infactible
con una que hizo un mal uso del espacio.
Tasa de Enfriamiento α ∈ [0, 1]: Factor por el cual disminuye la temperatura en cada
iteración. Tt+1 = Tt ∗ α.
Multiplicador de infactibilidad : Factor γ por el cual penalizar los costos de las restric-
ciones duras insatisfechas en las soluciones.
4.3. Resumen
Este capı́tulo presenta una propuesta de algoritmo heurı́stico para resolver el Conference
Scheduling Problem (CoSP). Inicialmente se utiliza un algoritmo de construcción de sesio-
nes a fin de maximizar la factibilidad de las soluciones iniciales y ası́ evitar trabajo futuro.
En esta construcción se presentaron dos enfoques, uno completamente aleatorio y un enfo-
que greedy. Ninguna de las dos opciones asegura una factibilidad inicial, pero se espera que
simplifiquen el proceso de búsqueda local posterior.
El algoritmo implementa una función de costo en el Algoritmo 3, la cual permite hacer cálcu-
los eficientes, debido a que cada movimiento genera a lo mas diferencias de costos en máxi-
mo dos columnas de la grilla del programa. El método de búsqueda local sigue la estructura
de un Simulated Annealing estándar, con enfriamiento proporcional, recalentamientos recu-
rrentes lineales en proporción del número de iteraciones. Además, considera cuatro movi-
mientos especializados para el proceso de búsqueda en vecindarios: intercambio de sesio-
nes, el cambio de un chair, el cambio de un organizador y el intercambio de artı́culos.
CAPÍTULO
EXPERIMENTOS
En este capı́tulo se presentan los experimentos realizados para la validación de las estrategias
propuestas para resolver el problema de planificación de conferencias basadas en tracks.
Primero se presenta el formato que tienen las instancias de prueba propuestas. Se presenta
también un generador para crear instancias similares al tamaño de las GECCO. A continuación
se presentan las 45 instancias de pruebas utilizadas en este trabajo de tı́tulo. Posteriormente
se presenta un análisis dimensional de las instancias y se propone un indicador cualitativo de
análisis de complejidad. Finalmente se presenta el proceso de sintonización de parámetros
para la ejecución del algoritmo heurı́stico propuesto.
Para los experimentos se trabajó con un formato de instancias que satisfacen las necesidades
de los modelos presentados en la Sección 2.6. En el repositorio1 de este trabajo pueden
encontrarse el conjunto de instancias de pruebas utilizadas.
Definición de las constantes principales como nA, nP, nB, nR, nT, nAS
1
https://github.com/keleron/memoria-conference-scheduling
55
CAPÍTULO 5. EXPERIMENTOS 56
Por cada artı́culo hay una tupla compuesta por el id, el track al que pertenece, la per-
sona que es expositor y si corresponde a un best paper.
Luego por cada persona hay tiene una tupla compuesta por el id, y una lista de bloques
para los cuales existe conflicto.
Luego por cada track hay una tupla compuesta por el id y la asistencia histórica.
Luego por cada salon hay una tupla compuesta por el id y la capacidad del salón.
Luego por cada track hay una tupla compuesta por el id y una lista de las personas que
son chairs de dicho track.
Luego por cada track hay una tupla compuesta por el id y una lista de las personas que
son organizadores de dicho track.
En el Texto 5.1 se muestra un ejemplo reducido de una instancia de prueba. En este ejemplo
cada lı́nea que comienza con un # indica únicamente un comentario y esas lı́neas son igno-
radas al momento de la lectura. Estas lı́neas sirven claramente para la claridad del formato
de las instancias.
Para las siguientes lı́neas: El primer número de cada lı́nea corresponde al identificador
(ID) de la entidad en cuestión.
Lı́nea 3: Por cada uno de los artı́culos se especifica el track al que pertenece (con
t < nT ), un expositor que presenta el artı́culo en la conferencia (con p < nP ) y si
el artı́culo es un nominado a best paper o no ∈ (0, 1). En el ejemplo se tiene el artı́culo
0, perteneciente al track 3, presentado por la persona 28, y no está nominado a mejor
artı́culo. Luego, el artı́culo 1 perteneciente al track 7, presentado por la persona 23 y
está nominado a mejor artı́culo.
Lı́nea 13: Por cada track se indica la asistencia histórica. En el ejemplo se tiene el track
0 que, históricamente, tiene 30 asistentes por sesión y el track 1 que históricamente
tiene 10 asistentes por sesión.
CAPÍTULO 5. EXPERIMENTOS 57
Lı́nea 18: Por cada salón se indica su capacidad. En el ejemplo se tiene que el salón 0
tiene capacidad para 10 personas, mientras que el salón 1 tiene capacidad para 20.
Lı́nea 23: Por cada track se indica el listado de chairs disponibles. En el ejemplo se tiene
que el track 0 tiene como chairs disponibles a las personas 13 y 14; y el track 1 tiene
como chairs disponibles a las personas 37 y 28.
Lı́nea 29: Por cada track se indica el listado de organizadores disponibles. En el ejemplo
se tiene que el track 0 tiene como organizadores disponibles a las personas 36, 27 y 34
y el track 1 tiene como organizadores disponibles a las personas 24 y 2.
CAPÍTULO 5. EXPERIMENTOS 58
Por otro lado la cantidad de conflictos viene dada por un porcentaje que especifica que tan
llena estará la matriz total de conflictos, esto es, considerando absolutamente todos los con-
flictos de bloques posibles. Para una conferencia cualquiera, una persona puede tener como
máximo nB − 1 conflictos horarios, ya que si tiene más, toda la conferencia serı́a su conflic-
to. Ası́ el espacio o matriz de conflictos tiene un tamaño nP · (nB − 1) y de ese espacio se
tiene un parámetro del generador para elegir cuanto porcentaje de conflictos será en efecto
agregado a la instancia; luego de eso los conflictos se reparten aleatoriamente.
El Algoritmo 9 muestra el procedimiento macro realizado para generar las instancias. Las
primeras lı́neas se encargan de crear cada uno de los arreglos de las instancias de artı́culos,
personas, salones, bloques y tracks. Primero el ciclo de la Lı́nea 7 genera nA−4 artı́culos con
tracks distribuidos uniformemente. Luego el ciclo de la Lı́nea 13 crea los 4 artı́culos restantes
que representan los “mejores artı́culos” de tracks especiales. Los tracks que se mencionaron
podı́an nominar un solo artı́culo y además todos ellos deben estar en una misma sesión, esto
mas que nada es un truco práctico en el que se separan en un track único para ellos. Luego se
mezclan aleatoriamente los artı́culos y personas. El ciclo de la Lı́nea 19 se encarga de asignar
expositores a cada artı́culo. Se hace de esta forma para asegurarse que no hay personas sin
responsabilidades. Luego, el ciclo de la Lı́nea 21 elige aleatoriamente por cada track, 3 o 4
artı́culos que serán nominados como mejor artı́culo. Finalmente de acuerdo al porcentaje
de conflictos elegido para generar la instancia se calcula cuántos conflictos representa ese
porcentaje y se van asignando conflictos a cada persona hasta alcanzar dicho número.
CAPÍTULO 5. EXPERIMENTOS 59
La factibilidad de cada instancia del problema viene determinada por un número de factores
diferentes, y determinar un horizonte conflictivo es difı́cil debido a la dimensionalidad de
CAPÍTULO 5. EXPERIMENTOS 60
todas las variables involucradas. A continuación se hará un esfuerzo por enumerar dichos
horizontes.
Número de artı́culos
Se necesita que la cantidad de artı́culos sea menor que la cantidad máxima de artı́culos que
la planificación puede albergar, donde una mayor holgura permite una fácil distribución de
los artı́culos en muchas sesiones, y además permite a los expositores tener mejores opciones
en términos de horarios.
Mientras menos holgura exista es menos probable que la instancia del problema tenga una
solución factible. Si se observa la Figura 2.2 que muestra el programa final de la GECCO2019
se puede verificar que dicha conferencia tuvo solo una sesión libre. En este caso la mayorı́a
de las sesiones tenı́a cuatro artı́culos por sesión y cerca de 10 sesiones tenı́an 3 artı́culos, se
puede decir que los organizadores hicieron un gran trabajo haciendo la planificación, ya que
la conferencia gozaba de poca holgura en términos de artı́culos y espacio. Sin embargo como
se verá más adelante esto es posible debido a otros factores.
Número de personas
Tamaño de la grilla
El número de salones determina que tan paralelizables son las sesiones, permitiendo ası́
mas libertad para asignar sesiones de distintos tracks; y por otro lado la cantidad de horarios
simplifica en cierta medida el cumplir con restricciones como evitar tracks en paralelo. Sin
embargo no es tan sencillo y bajo esta situación, es posible que se presenten tres tipos de
escenarios:
1. En caso de que la cantidad de tracks sea mayor que la cantidad de salones disponibles.
CAPÍTULO 5. EXPERIMENTOS 61
2. En caso de que la cantidad de tracks sea menor que la cantidad de salones disponibles.
En este caso se enfrentará un escenario más complejo de gestión de espacio, ya que
existirá la misma cantidad de tracks compitiendo por un espacio en un solo bloque
horario. Esto requiere desplazar a otros horarios algunas sesiones incrementando ası́
la posibilidad de planificar dos sesiones de un mismo track en paralelo.
3. Luego si se tiene una mayor cantidad de sesiones que de bloques disponibles, la instan-
cia se cataloga instantáneamente como infactible. Esto escapa totalmente del alcance
de este estudio y habrı́a que desarrollar un modelo que permita minimizar las sesiones
conformadas con artı́culos de diferentes tracks.
Hardware utilizado
Las instancias de pruebas fueron creadas mediante el generador anterior con dimensiones
similares a la GECCO y dejando en valor constante la cantidad de artı́culos y la cantidad de
tracks, ya que parecen ser un estándar para dichas conferencias.
La cantidad total de instancias generadas viene determinada por la permutación de los si-
guientes parámetros:
Cantidad de Tracks: Del mismo modo, al igual que la GECCO2019, se dejó en 14 tracks.
Cantidad de Personas: La cantidad de personas puede ser o bien 130, 150 u 170.
Cantidad de salones: Debido a que la GECCO2019 tuvo 8 salones, las instancias gene-
radas tendrán 5, 6, 7, 8 u 9 salones.
CAPÍTULO 5. EXPERIMENTOS 62
Cantidad de bloques: Debido a que la GECCO2019 tuvo 7 bloques, las instancias gene-
radas tendrán 6, 7, 8 u 9 bloques.
Artı́culos por sesión: La Gecco2019 tuvo todas sus sesiones con un máximo de 4 artı́cu-
los por sesión, sin embargo como proceso exploratorio se generaron instancias con 4
o 5 artı́culos por sesión.
A partir de este conjunto de instancias, es posible identificar que varias de ellas son infactibles
por naturaleza. Esto, dado que no hay suficientes celdas en la grilla del programa para plani-
ficar tantas sesiones y, por ende pueden, ser descartadas inmediatamente desde el conjunto
de pruebas. Luego, debido a que este trabajo quiere enfocarse en determinar las instancias
mas complejas se puede, del mismo modo, descartar cualquier instancia fácil. Una forma de
determinar la facilidad de una solución es ver cuanta holgura disponible posee dicha instan-
cia. Ası́ por ejemplo, si se genera una instancia donde el tamaño de la grilla tiene 50 celdas,
la cantidad de sesiones permitidas será o bien 50 o 49, que representa la menor holgura
posible.
La misma tabla Tabla 5.1 muestra instancias de todo tipo de tamaños y posibles combina-
ciones de los parámetros en la generación. Cada parámetro está lo mas uniformemente dis-
tribuido a lo largo de las 45 instancias. Ciertamente no es posible construir fácilmente un
conjunto de instancias que sea uniforme respecto a sus parámetros, esto debido a que un
gran número de dichas instancias es inherentemente infactible. El orden de la tabla viene de-
terminado por la dificultad del problema de manera descendiente que se explicará en detalle
en la sección de resultados.
CAPÍTULO 5. EXPERIMENTOS 63
Instancias
ID INSTANCIA ID INSTANCIA
0 A173-P130-R5-B8-L5-T14-C0.3 23 A173-P170-R5-B8-L5-T14-C0.2
1 A173-P170-R6-B9-L4-T14-C0.2 24 A173-P170-R7-B6-L5-T14-C0.3
2 A173-P130-R9-B6-L4-T14-C0.3 25 A173-P150-R6-B9-L4-T14-C0.3
3 A173-P150-R7-B6-L5-T14-C0.2 26 A173-P150-R5-B8-L5-T14-C0.3
4 A173-P170-R9-B6-L4-T14-C0.1 27 A173-P150-R7-B6-L5-T14-C0.3
5 A173-P170-R9-B6-L4-T14-C0.2 28 A173-P170-R6-B7-L5-T14-C0.3
6 A173-P130-R9-B6-L4-T14-C0.1 29 A173-P170-R5-B8-L5-T14-C0.3
7 A173-P170-R6-B9-L4-T14-C0.3 30 A173-P150-R5-B8-L5-T14-C0.2
8 A173-P150-R9-B6-L4-T14-C0.2 31 A173-P170-R6-B9-L4-T14-C0.1
9 A173-P130-R7-B6-L5-T14-C0.2 32 A173-P130-R7-B6-L5-T14-C0.1
10 A173-P130-R6-B7-L5-T14-C0.2 33 A173-P170-R5-B8-L5-T14-C0.1
11 A173-P150-R6-B9-L4-T14-C0.2 34 A173-P150-R6-B9-L4-T14-C0.1
12 A173-P130-R5-B8-L5-T14-C0.1 35 A173-P150-R6-B7-L5-T14-C0.3
13 A173-P170-R7-B6-L5-T14-C0.2 36 A173-P130-R7-B6-L5-T14-C0.3
14 A173-P150-R6-B7-L5-T14-C0.2 37 A173-P130-R6-B7-L5-T14-C0.3
15 A173-P170-R6-B7-L5-T14-C0.1 38 A173-P130-R6-B9-L4-T14-C0.1
16 A173-P130-R6-B9-L4-T14-C0.3 39 A173-P130-R5-B8-L5-T14-C0.2
17 A173-P130-R6-B9-L4-T14-C0.2 40 A173-P170-R7-B6-L5-T14-C0.1
18 A173-P150-R9-B6-L4-T14-C0.1 41 A173-P150-R5-B8-L5-T14-C0.1
19 A173-P150-R7-B6-L5-T14-C0.1 42 A173-P150-R6-B7-L5-T14-C0.1
20 A173-P170-R6-B7-L5-T14-C0.2 43 A173-P130-R6-B7-L5-T14-C0.1
21 A173-P170-R9-B6-L4-T14-C0.3 44 A173-P130-R9-B6-L4-T14-C0.2
22 A173-P150-R9-B6-L4-T14-C0.3
En la Subsección 4.2.5 se indican los parámetros necesarios para la ejecución del algoritmo,
incluyendo además parámetros necesarios para la elección de movimientos y distribución
en la que se explora el vecindario.
Para la sintonización de parámetros se busca el mejor valor que puedan tomar los paráme-
tros del algoritmo ya sea para mejorar la calidad de las soluciones que se encuentran o bien
minimizar el tiempo de cómputo. Para este trabajo se utilizará el algoritmo ParamILS para
realizar dicho proceso.
ParamILS [HHS07] presenta una solución general basada en búsqueda local para encontrar la
configuración óptima de parámetros de un algoritmo. El sintonizador destaca principalmente
por evitar los problemas de confianza (over-confidence) y sobre ajuste (over-tunning), bus-
cando encontrar una configuración considerablemente buena con un bajo número de ins-
CAPÍTULO 5. EXPERIMENTOS 64
Conjunto de entrenamiento
0 A173-P130-R7-B6-L5-T14-C0.2.cs
1 A173-P150-R6-B9-L4-T14-C0.2.cs
2 A173-P170-R6-B9-L4-T14-C0.3.cs
3 A173-P150-R7-B6-L5-T14-C0.2.cs
El artı́culo entonces presenta Focused ILS como una propuesta a fin de disminuir el tiempo
de cómputo necesario para encontrar la configuración óptima de parámetros.
ParamILS lleva años liderando la sintonización de parámetros, tanto para competencias co-
mo para problemas reales, y continua siendo objeto de estudio. Un trabajo notable es el
de [Hut+09]. El trabajo realiza un estudio completo de las familias de sintonizadores de
parámetros y extiende ParamILS con una propuesta que adaptativamente limita el tiempo
para la evaluación de configuraciones de parámetros.
p4 = 1 − p1 − p2 − p 3
Para evaluar la calidad de las soluciones encontradas por el algoritmo heurı́stico propuesto
se calcula la diferencia porcentual entre la mejor solución encontrada por el solver, cuando la
hay, y respecto a la mejor solución obtenida en experimentos preliminares para la instancia
más compleja. En el caso del escenario de minimización de tiempo de ejecución se conside-
ra la diferencia porcentual previamente descrita ponderada por 1000 sumada al tiempo de
ejecución respectivo.
La tabla Tabla 5.3 resume los valores obtenidos en este proceso. Acá se puede observar que la
sintonización manual no está lejos de los valores óptimos entregados por ParamILS y fueron
suficientes para la resolución de cada una de las instancias. Es importante indicar que las
probabilidades para elegir movimientos siempre fueron uniformes igual a un 0.25 % cada
una.
Por otro lado, la segunda sintonización, fija un enfriamiento mas lento y una mayor cantidad
de iteraciones de estancamiento antes de un nuevo recalentamiento. Esto se traduce en un
Simulated Annealing con menos recalentamientos y de convergencia mas lenta.
CAPÍTULO 5. EXPERIMENTOS 67
Algoritmo α γ χ β p1 = p2 = p3 = p4
Manual 0.999 1000 1000 1000 0.25
Min. calidad 0.900 100 1000 1000 0.25
Min. tiempo 0.999 100 10000 1000 0.25
5.6. Resumen
VALIDACIÓN DE LA SOLUCIÓN
En el presente capı́tulo se describen los resultados obtenidos al evaluar los métodos de reso-
lución en un conjunto de instancias de pruebas especialmente diseñado para este propósito.
En la primera parte de este capı́tulo se mostrarán los resultados obtenidos para cada una de
las 45 instancias de interés mediante el solver de programación lineal de Gurobi1 . A partir de
este proceso de resolución, las instancias son catalogadas respecto a los resultados obtenidos
en óptima, tiempo e infactible. Las instancias óptimas consideran los casos en que el solver
fue capaz de encontrar una solución óptima dentro de un tiempo de 1[hr]. Las instancias
tiempo son aquellas en que las que alcanzó el lı́mite de tiempo de 1[hr] sin encontrar la
solución óptima. Las instancias infactibles son aquellas en que el resultado del proceso dicta
que la instancia no tiene una solución que satisfaga todas las restricciones del problema.
Mas adelante en este capı́tulo se presentarán los resultados para las mismas instancias, pero
utilizando el algoritmo heurı́stico que se propuso en el Capı́tulo 4.
Acá se compara y analizan los resultados de las tres configuraciones de parámetros de interés
y se evalúa el proceso de sintonización. Mas adelante se entrega un análisis y gráfica de
convergencia para las instancias mas interesantes de cada tipo (óptimas, con lı́mite de tiempo
e infactibles).
68
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 69
Los resultados reportados con el solver Gurobi consideran un tiempo máximo de ejecución
de 3600[s] = 1[hr]. A partir de éstas ejecuciones, es posible identificar entonces la solución
óptima, obtener la mejor solución encontrada en el lı́mite de tiempo especificado o bien
determinar que el problema no tiene solución.
La Tabla 6.1 muestra los resultados obtenidos en las instancias en que Gurobi fue capaz de
encontrar la solución óptima al problema en el lı́mite de tiempo especificado. En esta tabla
se muestra, para cada instancia, el valor de función objetivo encontrada (Z), la cota inferior
mı́nima de (Z) determinada por Gurobi (BOUND), la diferencia porcentual entre dichos valo-
res (GAP), el tiempo de ejecución utilizado para encontrar (Z) (TIME) y finalmente el estado
en que finalizó el proceso (STATUS).
Todas las instancias listadas en la Tabla 6.1 presentan un GAP igual a cero, es decir, el proceso
de resolución utilizando Gurobi determinó que fue posible encontrar la solución óptima.
Como ejemplo de lo anterior se pueden considerar instancias (44), (13), (29) y (28) como
las cuatro instancias con R9, donde las primeras tres se encuentran dentro de las instancias
con mayor tiempo, y la última en las de tiempo medio. Análogamente con R6 se observa
que la mayorı́a está disperso en las instancias con mejor tiempo de ejecución, sin embargo,
no parecen haber instancias suficientes para determinar que, en efecto, R6 no se distribuye
uniformemente en términos del tiempo.
Estos últimos análisis, respecto a la cantidad de bloques y salones disponibles, están fuerte-
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 70
Tabla 6.1: Resultados para 28 de 45 instancias para las que Gurobi encontró el óptimo. Des-
cendiente según tiempo de ejecución.
Tabla 6.2: Resultados para 5 de 45 instancias para las que Gurobi no alcanzó a encontrar el
óptimo. Descendiente según tiempo de ejecución.
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 71
Tabla 6.3: Resultados para 12 de 45 instancias para las que Gurobi determinó que no existe
solución. Descendiente según tiempo de ejecución.
mente relacionados uno con el otro, ya que ambos por si solos pueden significar poco, sin
embargo, juntos determinan el tamaño a la grilla de sesiones. Además que los resultados
indiquen una tendencia hacia ciertos tamaños apoyan la hipótesis propuesta en el análisis
de instancias de la Sección 5.3.
Es posible notar que a mayor cantidad de salones y menor cantidad de bloques el problema
resulta ser mas difı́cil, esto indica una conferencia mas paralelizable y con menos opciones de
bloques para cada sesión de los tracks. Estos resultados indican ciertamente que la cantidad
de tracks determina el horizonte del tamaño de la grilla para el cual el problema se vuelve
difı́cil de resolver.
solución, ya sea por el tamaño de la grilla o bien por la cantidad de conflictos. En esta tabla
se presenta el valor objetivo Z indefinido para algunas instancias, lo que indica que Gurobi
no logró encontrar ninguna solución. Por otro lado, como se mencionó antes, BOUND es un
valor obtenido por Gurobi para determinar cual es, posiblemente, el valor mı́nimo de Z, y
como se puede observar acá ninguna instancia alcanza a tener Z=BOUND, y más aun, para
algunas instancias Gurobi no fue siquiera capaz de entregar esa cota mı́nima.
Continuando con la Tabla 6.2 se observa que, al ser una muestra de instancias considerable-
mente pequeña, no parece posible indicar alguna tendencia adicional respecto hacia donde
crece la dificultad del problema. A fin de encontrar algún patrón, se analizaron dichas ins-
tancias (disponibles en el repositorio) y las instancias no presentan ninguna distribución de
conflictos especial. Las restricciones se observan bien distribuidas en el conjunto completo
de personas de la instancia.
Finalmente la Tabla 6.3 presenta el conjunto de instancias para las cuales el solver Gurobi
indicó la condición infactible después de un tiempo de resolución menor a 1[h]. En este caso
es posible observar que la mayorı́a de las instancias infactibles fueron instancias con un 30 %
de conflictos y, la que presenta el menor tiempo de ejecución efectivamente es la instancia
de 20 % de conflictos. Esto podrı́a ser concluyente respecto a que la cantidad de conflictos
es determinante para saber si un problema tiene solución y que, además, 30 % parece ser
una cota superior para la cual el problema se vuelve imposible por naturaleza.
Adicionalmente se provee en la Tabla 6.4 los resultados de correlación lineal respecto a las
variables que conforman una instancia con función objetivo el tiempo de ejecución. De la
tabla se puede concluir que la cantidad de conflictos es la caracterı́stica de las instancias que
más importa para determinar el tiempo de cómputo, seguido por la cantidad de salones.
Estos resultados avalan el análisis previo sobre los resultados, que confirman en efecto que
hay una leve relación entre los salones y la dificultad.
Con estos resultados se puede determinar estadı́sticamente qué instancias fueron las más
complicadas y aún más importante, empı́ricamente se puede discriminar las instancias de la
Tabla 6.2 como las instancias mas difı́ciles generadas. Dichas instancias son, por ende, impor-
2
https://orangedatamining.com/
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 73
Figura 6.1: Visualización de FreeViz: Correlación de variables respecto al objetivo del tiempo
para las instancias factibles
Fuente: Contenido Original
Tabla 6.4: Resultados para análisis de correlación con métricas de Pearson y Spearman
distintas. Esto, seguido de un análisis de convergencia para las instancias mas interesantes
utilizando la sintonización de parámetros manuales para su fácil visualización.
A continuación se presentan los resultados para las tres sintonizaciones. Estos resultados
fueron obtenidos al ejecutar el algoritmo propuesto con las tres sintonizaciones de paráme-
tros mostradas en la Subsección 4.2.5 del capı́tulo Propuesta de Solución. Y corresponden a
la sintonización manual, a una sintonización que maximice la calidad y otra que minimice el
tiempo de ejecución.
Las Tabla 6.5, Tabla 6.6 y Tabla 6.7 muestran los resultados totales de ejecutar el algoritmo
con la sintonización manual. Cada una de las tablas resume la ejecución de cada instancia 25
veces. Para cada instancia se muestran los valores mı́nimo (Mı́n(Z)), máximo (Máx(Z)), y pro-
medio (P(Z)) de función objetivo obtenidas con las diferentes semillas. Además se muestra el
tiempo de ejecución promedio (P(T)) y el estado del proceso entregado por Gurobi (STATUS)
para referencia. Se considera que un experimento fue “perfecto” cuando Máx(Z)=Mı́n(Z)=P(Z).
Dichos experimentos de resaltan en las tablas de resultados usando un asterisco ∗.
Mı́n(Z): Se ve que para toda instancia determinada como óptima la heurı́stica fue capaz
de encontrar soluciones e intuitivamente se ve que son buenas soluciones. (Todas las
instancias alcanzaron el óptimo entregado por Gurobi)
Máx(Z): Vemos que la mayorı́a de las instancias tiene un valor igual a su mı́nimo, lo que
indica que la heurı́stica encontró 25 veces el mismo valor y por ende muestra cierta
estabilidad del algoritmo heurı́stico propuesto. Por otro lado, en las instancias que no
se obtiene el mismo valor mı́nimo, instancias (7), (8), (9), (16) y (17), la diferencia es
muy pequeña.
P(Z): Si se observa el valor promedio de función objetivo es posible revisar los casos
en los que el mı́nimo no calza con el máximo, instancias (7), (8), (9), (16) y (17), para
entender qué tan distribuido está, en cada caso, el conjunto de soluciones. La instancia
(7) encontró valores entre Z=139 y Z=140, con un P(Z)=139.0 lo que indica una fuerte
tendencia a Z=139. Mas en detalle es posible verificar que la instancia (7) en solo una
ejecución obtiene una función objetivo Z=140 y con las otras 24 semillas obtiene la
calidad óptima Z=139. En la instancia (8) 24/25 ejecuciones encontró el óptimo. En
la instancia (9) 11/25 (y las demás a una unidad del óptimo). Para la instancia (16) se
encuentra en 24/25 y para la instancia (17) se encuentra en 22/25.
P(T): Respecto al tiempo, se observa que la heurı́stica es capaz de resolver las instan-
cias en tiempos mucho menores que los requeridos por el solver Gurobi. Se observa
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 75
Tabla 6.5: Resultados heurı́sticos para 28 instancias con óptimo conocido. 25 semillas.
Parámetros manuales.
Tabla 6.6: Resultados heurı́sticos para 5 instancias con óptimo desconocido por tiempo. 25
semillas. Parámetros manuales.
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 76
Tabla 6.7: Resultados heurı́sticos para 12 instancias determinadas como infactibles. 25 semi-
llas. Parámetros manuales.
también una ligera tendencia a aumentar el tiempo de ejecución a medida que la ins-
tancia se vuelve más compleja. Al observar por ejemplo las instancias (21), (22) y (24) se
nota que están dentro de las más difı́ciles y resultan ser las que más tiempo necesitan
(12, 12 y 9 segundos respectivamente), sin embargo tomando el panorama completo
esta tendencia no parece ser tan clara, ya que, por ejemplo, las instancias (36) y (44)
están dentro de las más fáciles con 8 y 12 segundos.
La Tabla 6.6 resume los resultados obtenidos por el algoritmo heurı́stico propuesto para el
conjunto de instancias para las que Gurobi no fue capaz de encontrar la solución óptima
en el tiempo dado. La tabla presenta la misma información de mı́nimo, máximo y promedio
de función objetivo, tiempo de ejecución promedio y estatus del proceso de Gurobi. Las
observaciones respecto a estos resultados se resumen a continuación:
Mı́n(Z): Todas las instancias tienen un valor mı́nimo que avala la ventaja del uso de un
método heurı́stico, siendo éste siempre capaz de encontrar una solución de calidad en
el tiempo dado.
Máx(Z): Todas las instancias, a excepción de la número (2), comparten mı́nimo y máxi-
mo por lo que se sigue demostrando la estabilidad de la heurı́stica. La instancia (2)
alcanzó un máximo de Z=4011, que indica que el resultado fue infactible, al menos en
una ejecución. Esto nos indica que dicha instancia seguramente es la mas difı́cil para el
algoritmo heurı́stico propuesto, y que en ciertos casos la heurı́stica no puede encontrar
siquiera un resultado válido respecto a factibilidad.
P(Z): Solo la instancia (2) es de interés en este caso. La instancia (2) entrega un P(Z)=810.7,
que indica que en un número no menor de ejecuciones se obtuvo un valor de función
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 77
objetivo distinto a Z=10. Al observar los resultados en detalle, semilla por semilla, se tie-
ne que la instancia (2) obtuvo como resultado en seis ocasiones Z=10, en 13 ocasiones
Z=11, en una ocasión Z=12 y en 5 ocasiones entregó un Z > 4000. Esta instancia desta-
ca considerablemente por sobre las demás, en ninguna otra instancia se presenta esta
variedad de resultados. Es probable que esta instancia requiera mas tiempo de eje-
cución para entregar siempre la solución óptima. La instancia no parece tener alguna
distribución de conflictos anormal, los conflictos se distribuyen de manera equitativa
entre los diferentes actores del problema.
T(Z): No hay suficientes datos como para concluir una tendencia. Si consideramos éstas
instancias y las de la tabla anterior tampoco se ve una tendencia en los tiempos de
ejecución.
Finalmente analizando la Tabla 6.7 se presentan los resultados de la heurı́stica en las instan-
cias que se sabe, gracias a Gurobi, que son inherentemente infactibles. A partir de dichos
resultados se puede concluir lo siguiente:
Mı́n(Z): Todas las instancias muestran valores mucho mas altos que los resultados an-
teriores. Esto lógicamente se debe a su infactibilidad y penalización por restricciones
duras incumplidas. Para la sintonización manual se consideró un multiplicador por cas-
tigo de 1000, por lo que se puede estimar intuitivamente cuántas restricciones duras
Z
están siendo incumplidas con ∼ 1000 . Tomando como ejemplo la instancia (21) se tiene
un valor de Z=8069 que indica que, aproximadamente, se podrı́a esperar que existan
8 restricciones duras incumplidas en la solución y una calidad de 69. De todas maneras
es relevante notar que estos valores siguen siendo pequeños, y entregan información
aproximada de qué tan cerca se está de tener una solución factible en cada caso. Esta
información podrı́a ser útil para los organizadores para solicitar mayor disponibilidad
o flexibilidad a los expositores en un caso real de la planificación de la conferencia.
Máx(Z): La mayorı́a de las instancias no comparte este valor con su mı́nimo, en casos
infactibles el algoritmo no siempre va a converger al mismo valor ya que probablemen-
te, se encontrará en continua exploración, sin embargo, los valores son muy similares
a su mı́nimo, y converge en términos de órdenes de magnitud. Las instancias que no
coinciden en órdenes de magnitud son las instancias (21), (22) y (26), para las cuales, es
muy probable, que el proceso de exploración sea más agresivo. La instancia que pre-
senta las mayores diferencias es la instancia (21) con Mı́n(Z)=8069 y Máx(Z)=12073.
Sin embargo gracias a que el factor de multiplicación considerado en éstas pruebas es
1000, hacer la comparativa con esos dos números no es justo para la heurı́stica y lo
mejor serı́a comparar de acuerdo a órdenes de magnitud. Ası́, se observa que la so-
lución listada como Z=8069 representa en realidad 8 restricciones incumplidas y 69
de calidad de uso de espacio (8,69) y la solución listada como Z=12073 representan en
realidad 12 restricciones incumplidas y 73 de calidad respecto al uso de espacio (12,73).
Esto implica que si se hace la comparación considerando solo infactibilidades se puede
decir que Mı́n(Z)∼Máx(Z).
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 78
P(Z): No hay nada destacable del valor promedio mas que lo mencionado anteriormen-
te. Todas las instancias tienen una tendencia del promedio hacia el Mı́n(Z). Justificando
nuevamente la estabilidad de la heurı́stica.
T(Z): No parece haber alguna tendencia en como se distribuye el tiempo de cómputo
en éstas instancias.
Las Tabla 6.8, Tabla 6.9 y Tabla 6.10 muestran los resultados de ejecutar el algoritmo heurı́sti-
co con la sintonización de parámetros obtenida al considerar como objetivo la optimización
de la calidad final. Aquı́ es importante mencionar que uno de los parámetros distintos, con
respecto a la sintonización manual, es el factor de castigo para restricciones incumplidas que
en vez de ser 1000 es 100.
En la Tabla 6.8 se observa que las columnas Mı́n(Z) y Máx(Z) son invariantes respecto a los
resultados obtenidos con la sintonización manual. La columna P(Z) muestra diferencias, para
las cuales la actual sintonización tiene un desempeño ligeramente peor que la sintonización
manual. Con esto podemos concluir que las instancias con óptimo conocido no presentan
una mayor variación respecto a los parámetros que optimizan la calidad y además son equi-
valentes. En términos de tiempo fue mejor por décimas de segundos y, como se verá mas
adelante en la Tabla 6.14, solo en términos acumulados se nota la diferencia.
En la Tabla 6.10 se observa lo antes mencionado nuevamente. Las columnas Mı́n(Z), Máx(Z)
y P(Z) se ven disminuidas en cerca de un orden de magnitud lo que no representa que los
parámetros estén realmente encontrando mejores soluciones. Haciendo el mismo análisis en
las instancias “diferentes” ((21), (22) y (26)) se observa que, de manera equivalente, mues-
tran los mismos cambios en la magnitud entre los valores mı́nimos y máximos. Por lo que la
evidencia muestra que los casos particulares se comportan del mismo modo.
Las Tabla 6.11, Tabla 6.12 y Tabla 6.13 muestran los resultados de ejecutar el algoritmo con
la sintonización que considera como objetivo la minimización de los tiempos de ejecución.
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 79
Tabla 6.8: Resultados heurı́sticos para 28 instancias con óptimo conocido. 25 semillas.
Parámetros para maximizar calidad.
Tabla 6.9: Resultados heurı́sticos para 5 instancias con óptimo desconocido por tiempo. 25
semillas. Parámetros para maximizar calidad.
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 80
Tabla 6.10: Resultados heurı́sticos para 12 instancias determinadas como infactibles. 25 se-
millas. Parámetros para maximizar calidad.
En la Tabla 6.11 se observa que las columnas Mı́n(Z), Máx(Z) y P(Z) son invariantes respecto
a los obtenidos con la sintonización de mejor calidad. Se observa en este caso que el P(T)
disminuyó en 1 segundo en las instancias (5) y (6), sin embargo, la diferencia es mı́nima y
posiblemente sea coincidencia. Hay solo un caso especial que es la instancia (9) que su valor
de Máx(Z) en todos los otros experimentos tenia un Z=31, pero en éste experimento aumento
a Z=32. No es un cambio considerable para los resultados, pero tampoco es despreciable.
Observando la Tabla 6.12 se ve que las columnas Mı́n(Z), Máx(Z) y P(Z) se mantuvieron inva-
riantes respecto a la sintonización de mejor calidad.
En la Tabla 6.13 se observa el único cambio en los resultados, donde tanto Mı́n(Z), Máx(Z) y
P(Z) empeoraron en calidad considerablemente.
Tabla 6.11: Resultados heurı́sticos para 28 instancias con óptimo conocido. 25 semillas.
Parámetros para minimizar tiempo.
Tabla 6.12: Resultados heurı́sticos para 5 instancias con óptimo desconocido por tiempo. 25
semillas. Parámetros para minimizar tiempo.
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 82
Tabla 6.13: Resultados heurı́sticos para 12 instancias determinadas como infactibles. 25 se-
millas. Parámetros para minimizar tiempo.
sin embargo es posible estimar debido a la magnitud que valor le corresponde a la sintoniza-
ción manual. Ası́, la fila “MANUAL ESCALADO” permite realizar esta comparación. Con esto
se puede concluir que tanto para Mı́n(Z), Máx(Z), P(Z) la sintonización manual “escalada”
obtuvo los mejores resultados.
Tabla 6.14: Resumen acumulativo (suma) de las tres sintonizaciones para las 45 instancias
para 25 semillas distintas. 3×24×25 ejecuciones.
Los resultados generales indican que la heurı́stica es lo suficientemente buena para encon-
trar resultados en cualquier caso, lo que hace pensar además que es lo suficientemente es-
table independiente de la semilla con la que se trate. Aún mas importante, en el hecho que
en un principio este trabajo no contemplaba resolver instancias infactibles, sin embargo, la
heurı́stica fue lo suficientemente buena para minimizar de todas formas la cantidad de res-
tricciones incumplidas, lo que permite entregar información útil a los organizadores de una
conferencia dada acerca de la cantidad mı́nima de cambios necesarias para volver la actual
instancia en una factible. Normalmente dichos cambios podrı́an ser pedirle a los expositores
que flexibilicen su disponibilidad horaria o bien considerar solicitar más personal.
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 83
Los gráficos de convergencia muestran la relación de calidad de solución versus tiempo (ite-
raciones) para las diferentes ejecuciones del algoritmo.
La Figura 6.2 muestra un proceso de búsqueda tı́pico. Los puntos rojos muestran soluciones
infactibles mientras que los verdes representan soluciones factibles. Recordando que la so-
lución inicial para SA no es aleatoria, sino un conjunto de técnicas greedy es posible afirmar
que tiene un decaimiento considerablemente rápido en la calidad de la solución (Z) y tem-
pranamente llega a la zona de “estancamiento”. La zona comienza en un principio solo con
soluciones infactibles y continua mejorando hasta encontrar soluciones factibles. Finalmente
la heurı́stica continua buscando mejores soluciones y de ser necesario vuelve a recalentar. Se
aprecia que el recalentamiento funciona e incluso permite a la heurı́stica navegar por solu-
ciones infactibles durante toda la ejecución del algoritmo. Algo curioso de mencionar es que
debido a que se utiliza un factor de castigo y un recalentamiento lineal, la gráfica es atı́pica
respecto a las gráficas de los SA estándar.
A173-P130-R9-B6-L4-T14-C0.3
600000
500000
400000
Objetivo(Z)
300000
200000
100000
0
0 1 2 3 4 5
Iteraciones 1e6
de 8 lı́neas horizontales se puede indicar que existen 8 niveles de dificultad distintos y que
además implica que la heurı́stica es capaz de empeorar cerca de 8 veces su solución a fin de
explorar nuevas zonas de búsqueda.
A173-P170-R9-B6-L4-T14-C0.2
104
Objetivo(Z)
103
102
Figura 6.3: Convergencia para la instancia (5). Instancia que Gurobi determinó óptima con el
mayor tiempo de cómputo. Semilla (3717). Ejes en escalas logarı́tmicas.
blemente, haber resuelto las restricciones que menos libertad de movimiento permitı́an.
Finalmente recién cerca de las iteraciones 106 se encuentra la primera solución factible y
continua con la mejora de la calidad. A diferencia de la gráfica anterior ésta encontró una
solución factible mucho mas tarde y necesitó cerca de 10 veces más iteraciones para lograr-
lo. Se observa también que hay un menor numero de lı́neas horizontales rojas distinguibles,
y además mucho espacio entre la primera lı́nea de soluciones infactibles y el conjunto de
soluciones factibles. Esto implica que el algoritmo debe lograr una mejorı́a muy grande en
muy pocos movimientos lo que podrı́a explicar entonces porqué en algunas ejecuciones el
algoritmo no es capaz de encontrar soluciones factibles. Esto, pues aparentemente se nece-
sita explorar un vecindario de soluciones muy particular para poder continuar mejorando la
solución.
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 86
A173-P130-R9-B6-L4-T14-C0.3
106
105
104
Objetivo(Z)
103
102
101
100 101 102 103 104 105 106 107
Iteraciones
Figura 6.4: Convergencia para la instancia (2). Una de las instancias para las que Gurobi al-
canzó un lı́mite de tiempo. Semilla (8355). Ejes en escala logarı́tmica.
Como es de esperarse no hay puntos factibles (de color verde), sin embargo, que no existan
soluciones factibles permite observar de mejor manera los niveles de infactibilidad antes
mencionados. Esto, gracias también a que la escala ahora lo permite. En este caso se ve
que el algoritmo es capaz de empeorar su solución a fin de explorar una gran cantidad de
veces durante el proceso. La cantidad de niveles de infactibilidad observados corresponden
a aproximadamente 12 niveles. Además este gráfico permite observar de manera más fácil
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 87
A173-P170-R9-B6-L4-T14-C0.3
104
Objetivo(Z)
103
Figura 6.5: Convergencia para la instancia (21). Instancia infactible con mayor tiempo de
cómputo. Semilla (5877). Ejes en escala logarı́tmica.
Las Tabla 6.15, Tabla 6.16 y Tabla 6.17 resumen los resultados obtenidos tanto por el solver
Gurobi como los obtenidos por el algoritmo heurı́stico propuesto en este trabajo de tı́tulo. En
cada caso se muestra el valor de función objetivo obtenido por el solver, su tiempo de con-
vergencia en segundos y el estado del proceso indicado por éste mismo. Además se muestra
la calidad promedio de las soluciones encontradas por la heurı́stica y el tiempo promedio de
resolución en segundos usando la configuración de parámetros manual.
De la Tabla 6.15 se puede verificar que, en estos problemas, ambos acercamientos fueron
siempre capaces de encontrar la solución óptima al problema. Eso sı́, los tiempos de cómpu-
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 88
to requeridos por Gurobi son de dos a tres órdenes de magnitud mayores que los tiempos
requeridos por cada ejecución del algoritmo heurı́stico propuesto.
En la Tabla 6.16 se muestran las instancias en que Gurobi no pudo encontrar la solución ópti-
ma en el tiempo máximo de 1[hr] dado, se observa que la heurı́stica fue capaz de encontrar
siempre soluciones de mejor calidad. En las instancias (0) y (1) de esta tabla, la solución en-
contrada por la heurı́stica consigue valores de función objetivo inferiores que el solver. En
los tres casos restantes la heurı́stica obtiene soluciones factibles en tiempos muy acotados,
cosa que le fue imposible al solver en la hora dada para el proceso de resolución.
Por último, en la Tabla 6.17 se presenta el resumen de resultados para las instancias deter-
minadas infactibles por Gurobi. En este caso la heurı́stica coincide con el solver, pero a di-
ferencia de éste, es capaz de reportar soluciones que minimizan la insatisfacción de dichas
restricciones. Como se indicó anteriormente, esta información puede ser útil para promover
la flexibilidad de dichos temas, cambiando tal vez los roles de algunos asistentes de modo
de obtener soluciones viables para todos. Los tiempos de cómputo de la heurı́stica como en
todos los casos anteriores se mantiene por debajo de los 15 segundos en promedio.
6.4. Resumen
A partir de dichos resultados se comprobaron algunas de las intuiciones previas del Sec-
ción 5.3 del Experimentos y se analizó hacia donde crece realmente la complejidad del pro-
blema. Se presentó también un gráfico (Figura 6.1) y la Tabla 6.4 a fin de justificar la correla-
ción que existe entre las caracterı́sticas de las instancias y sus tiempos de ejecución.
En la segunda parte se este capı́tulo se presentan los resultados obtenidos por la heurı́sti-
ca para las tres sintonizaciones de parámetros: manual, mejor solución y mejor tiempo. La
Tabla 6.14 mostró un resumen acumulado general de 25 × 45 ejecuciones que finalmente
demostró lo invariante del comportamiento. Aún ası́ la sintonización tuvo este comporta-
miento debido a la sintonización de un factor de castigo, y por ende el navegar por zonas
infactibles tiene un valor inherentemente mas bajo (revisar el capı́tulo para mas detalles).
Tabla 6.15: Comparativa de los resultados de GUROBI con la heurı́stica para instancias con
óptimo conocido. Mejores valores
Tabla 6.16: Comparativa de los resultados de GUROBI con la heurı́stica para instancias con
óptimo desconocido debido al tiempo. Mejores valores
CAPÍTULO 6. VALIDACIÓN DE LA SOLUCIÓN 90
Tabla 6.17: Comparativa de los resultados de GUROBI con la heurı́stica para instancias deter-
minadas como infactibles. Mejores valores
de dichos resultados se observa que el algoritmo heurı́stico casi siempre llegaba al mismo
nivel de calidad obtenido por el solver en tiempos mucho más acotados.
Finalmente para la heurı́stica se comparan los procesos de convergencias de tres de las ins-
tancias mas difı́ciles. Se considera una de cada clasificación, una con óptimo conocido, una
con lı́mite de tiempo alcanzado y una determinada como infactible. Se pudo comprobar la
convergencia visualmente y observar cómo el algoritmo fue capaz de mejorar sus soluciones
y escapar de espacios infactibles, incluyendo el comportamiento para la mas difı́cil de las
instancias. Dicha sección explica el ¿por qué? y ¿cómo? el algoritmo explora gráficamente el
espacio de búsqueda.
Al final del capı́tulo se presentó la comparativa entre los resultados encontrados por Gurobi
y la heurı́stica. Respecto a calidad la heurı́stica siempre fue capaz de encontrar el óptimo
para alguna ejecución. La cantidad de ejecuciones para las cuales no se encontró el óptimo
fue muy baja y, a partir de esto se puede concluir que en esos casos es suficiente ejecutar
la heurı́stica una vez más. En términos de tiempo la heurı́stica nunca superó los 15[s], y si se
pone en contraste con las instancias de mas de 1[hr] es notable la mejorı́a en varios órdenes
de magnitud.
CAPÍTULO
CONCLUSIONES
En este trabajo de tı́tulo se estudio a profundidad los problemas del Conference Scheduling
Problem (CoSP). Más especı́ficamente se consideró como caso de estudio las The Genetic
and Evolutionary Computation Conference (GECCO), una de las conferencias mas grandes e
importantes del área de investigación de algoritmos meta-heurı́sticos y genéticos. Este tra-
bajo presentó una formalización completa de la definición de las GECCO describiendo los
recursos, actores y restricciones asociadas considerando como foco principal la planificación
de la conferencia considerando la agrupación de artı́culos por temas o tracks.
En este trabajo se presentó un estudio del estado del arte, a partir del cual se entiende que
la literatura divide los problemas del CoSP en attender-based perspective (ABP) y presenter-
based perspective (PBP). Ası́, el problema de planificación de conferencias GECCO puede ser
clasificado en la segunda categorı́a. La literatura muestra una clara tendencia a preferir estu-
diar problemas basados en los asistentes, donde la mayorı́a de los artı́culos se enfocaban en
resolver ese tipo de problemas. De los pocos artı́culos referentes a la planificación de tracks,
[SPV18] presentó el estudio más relevante para este trabajo de tı́tulo. En este estudio, a pe-
sar de no resolver el mismo problema que este trabajo, entrega una definición formal y clara
de este tipo de problemas. Por otro lado, en la literatura se encontró una cantidad conside-
rable de aplicaciones de usuario para facilitar la planificación manual, ya sean aplicaciones
móviles para recolección de datos, sistemas de recomendación y hasta incluso herramientas
91
CAPÍTULO 7. CONCLUSIONES 92
de pizarra.
El trabajo de [SPV18] es complementario al de este trabajo y como trabajo futuro serı́a bueno
poder o bien extender el algoritmo de [SPV18] con las funcionalidades de el problema es-
tudiado en este trabajo, o bien extender la heurı́stica propuesta a las necesidades de las
conferencias EURO-K.
Ası́, se utiliza como función de evaluación la calidad de las soluciones respecto al uso de
espacio y la cantidad de restricciones incumplidas. Este último se multiplica por un factor lo
suficientemente alto para dar prioridad en su minimización. El algoritmo propuesto debido a
su estructura asegura que se usará la mı́nima cantidad de sesiones y que cada sesión estará
conformada por artı́culos de un mismo track, sin embargo, todo el resto de restricciones, ya
sea sesiones de un mismo track en simultáneo, personas en dos lugares a la vez y en tiempos
no preferidos, son minimizadas en la función de evaluación.
Además la propuesta del algoritmo presenta un SA atı́pico, donde los recalentamientos tie-
nen un aumento lineal-proporcional a la cantidad de iteraciones y no solo proporcional a la
temperatura previa (véase Capı́tulo 4).
Los resultados determinan que la heurı́stica es capaz de encontrar el óptimo para todas las
instancias con óptimo conocido Tabla 6.15. Por otro lado se encontró la cota inferior para
las instancias para las cuales se tuvo tiempo insuficiente y se conocı́a una cota Tabla 6.16,
mientras que para aquellas de tiempo insuficiente, pero sin información de cota, no se pue-
de saber si encuentra el óptimo, solo se puede saber que se obtuvieron soluciones factibles
y relativamente buenas comparadas a instancias similares. Para las instancias infactible los
resultaron indicaron, gracias a la función de evaluación y las penalizaciones de las insatisfac-
ciones de restricciones, que las soluciones encontradas en estos casos no estaban muy lejos
de ser factibles. En estos casos, las soluciones que obtuvo la heurı́stica, tenı́an a lo más 12
restricciones incumplidas.
Debido a que este trabajo presenta la primera heurı́stica utilizada para resolver este proble-
ma en particular no se tienen resultados de otro tipo de heurı́stica, por lo que únicamente
se puede concluir que es rápida respecto a un solver completo y no respecto a otro tipo de
heurı́sticas.
Por otro lado los resultados obtenidos con las configuraciones de parámetros obtenidas me-
diante la sintonización de parámetros no mostraron ninguna mejora considerable ni en ca-
lidad ni en tiempo respecto a los resultados obtenidos con la sintonización manual. Como
trabajo futuro se considera mejorar el proceso de sintonización utilizando un sintonizador
que no requiera discretizar los parámetros. Esto debido a que el trabajo actual limita la can-
tidad de parámetros a probar, cuando por ejemplo, tanto la tasa de enfriamiento es un valor
inherentemente real y no discreto. Además es importante evaluar los resultados finales sin
considerar el factor de penalización de infalibilidades para mejorar la comparación de resul-
tados.
Finalmente como trabajo futuro se podrı́a considerar extender el algoritmo para obtener los
parámetros adaptativamente, ya que como se vio en el Capı́tulo 6, Figura 6.4 ciertas instan-
cias tienen dificultad para encontrar el movimiento adecuado para salir de la infactibilidad.
Por otro lado, podrı́a considerarse extender este trabajo para artı́culos no clasificados (sin
track definido) y, mediante el uso de técnicas de clasificación, agrupar los artı́culos por tema
y complementarlos con el algoritmo ya propuesto. Además, podrı́a considerarse evaluar la
combinación de este trabajo con el de [SPV18] que propone la planificación ”macro“ de se-
siones en edificios y streams de forma de aumentar el nivel de automatización del proceso
de planificación de las conferencias EURO-K.
CAPÍTULO 7. CONCLUSIONES 94
Por último, otra área de estudio más cercana serı́a el uso de modelos no-lineales para la re-
solución del problema, donde las últimas versiones de Gurobi han entregado mejorı́as en
tiempos de cómputo considerable en varios órdenes de magnitud. Este trabajo estudió pre-
liminarmente esos casos, pero se optó por no seguir esa lı́nea para mantener la consistencia
con los modelos lineales de la literatura.
BIBLIOGRAFÍA
[Sch99] A. Schaerf. ((A Survey of Automated Timetabling)). En: Artificial Intelligence Re-
view 13.2 (abr. de 1999), págs. 87-127. ISSN: 1573-7462. DOI: 10 . 1023 / A :
1006576209967.
[Sam04] Scott E. Sampson. ((Practical Implications of Preference-Based Conference Sche-
duling)). En: Production and Operations Management 13.3 (2004), págs. 205-215.
DOI: 10.1111/j.1937-5956.2004.tb00506.x.
[SMK04] J Schönberger, D.C Mattfeld y H Kopfer. ((Memetic Algorithm timetabling for
non-commercial sport leagues)). En: European Journal of Operational Research
153.1 (2004). Timetabling and Rostering, págs. 102-116. ISSN: 0377-2217. DOI:
https : / / doi . org / 10 . 1016 / S0377 - 2217(03 ) 00102 - 4. URL: https :
//www.sciencedirect.com/science/article/pii/S0377221703001024.
[GLV07] Joshua S. Gans, Andrew Leigh y Elena Varganova. ((Minding the shop: The case
of obstetrics conferences)). En: Social Science & Medicine 65.7 (2007), págs. 1458-1465.
ISSN: 0277-9536. DOI: https://doi.org/10.1016/j.socscimed.2007.05.
034.
[HHS07] F. Hutter, H. H. Hoos y T. Stützle. ((Automatic Algorithm Configuration based on
Local Search)). En: Proc. of the Twenty-Second Conference on Artifical Intelligen-
ce (AAAI ’07). 2007, págs. 1152-1157.
[Gré08] David Grémillet. ((Paradox of flying to meetings to protect the environment)).
En: Nature 455.7217 (oct. de 2008), págs. 1175-1175. DOI: 10.1038/4551175a.
[Hut+09] Frank Hutter y col. ((ParamILS: An Automatic Algorithm Configuration Frame-
work)). En: Journal of Artificial Intelligence Research 36 (oct. de 2009), págs. 267-306.
95
BIBLIOGRAFÍA 96
[Qu+09] Rong Qu y col. ((A survey of search methodologies and automated system de-
velopment for examination timetabling)). En: J. Scheduling 12 (feb. de 2009),
págs. 55-89. DOI: 10.1007/s10951-008-0077-5.
[LL10] Hsin-Yun Lee y Yu-Cheng Lin. ((A decision support model for scheduling exhibi-
tion projects in art museums)). En: Expert Systems with Applications 37.2 (2010),
págs. 919-925. ISSN: 0957-4174. DOI: https : / / doi . org / 10 . 1016 / j .
eswa.2009.03.003. URL: https://www.sciencedirect.com/science/
article/pii/S0957417409002504.
[Zha+13] Haoqi Zhang y col. ((Cobi: Communitysourcing Large-Scale Conference Sche-
duling)). En: CHI ’13 Extended Abstracts on Human Factors in Computing Sys-
tems. CHI EA ’13. Paris, France: Association for Computing Machinery, 2013,
págs. 3011-3014. ISBN: 9781450319522. DOI: 10.1145/2468356.2479597.
[Jan+15] Adam Janiak y col. ((A survey on scheduling problems with due windows)). En:
European Journal of Operational Research 242.2 (2015), págs. 347-357. ISSN:
0377-2217. DOI: https://doi.org/10.1016/j.ejor.2014.09.043.
[Gri+16] Carla F. Griggio y col. ((The UIST Video Browser: Creating Shareable Playlists of
Video Previews)). En: Proceedings of the 29th Annual Symposium on User In-
terface Software and Technology. UIST ’16 Adjunct. Tokyo, Japan: Association
for Computing Machinery, 2016, págs. 59-60. ISBN: 9781450345316. DOI: 10.
1145/2984751.2985703.
[Lau+16] Hoong Chuin Lau y col. ((PRESS: PeRsonalized Event Scheduling Recommender
System (Demonstration))). En: Proceedings of the 2016 International Conferen-
ce on Autonomous Agents & Multiagent Systems. AAMAS ’16. Singapore, Singa-
pore: International Foundation for Autonomous Agents y Multiagent Systems,
2016, págs. 1513-1515. ISBN: 9781450342391.
[Dos+17] Vishal Doshi y col. ((StickySchedule: An Interactive Multi-User Application for
Conference Scheduling on Large-Scale Shared Displays)). En: Proceedings of the
6th ACM International Symposium on Pervasive Displays. PerDis ’17. Lugano,
Switzerland: Association for Computing Machinery, 2017. ISBN: 9781450350457.
DOI: 10.1145/3078810.3078817.
[VMF17] Diego Vallejo-Huanga, Paulina Morillo y Cèsar Ferri. ((Semi-Supervised Cluste-
ring Algorithms for Grouping Scientific Articles)). En: Procedia Computer Science
108 (2017). International Conference on Computational Science, ICCS 2017, 12-
14 June 2017, Zurich, Switzerland, págs. 325-334. ISSN: 1877-0509. DOI: https:
//doi.org/10.1016/j.procs.2017.05.206.
[SPV18] Thomas Stidsen, David Pisinger y Daniele Vigo. ((Scheduling EURO-k conferen-
ces)). En: European Journal of Operational Research 270.3 (2018), págs. 1138-1147.
ISSN: 0377-2217. DOI: https://doi.org/10.1016/j.ejor.2017.10.015.
[Van+18] Bart Vangerven y col. ((Conference scheduling — A personalized approach)). En:
Omega 81 (2018), págs. 38-47. ISSN: 0305-0483. DOI: https://doi.org/10.
1016/j.omega.2017.09.007.
BIBLIOGRAFÍA 97