Este es un algoritmo (en realidad una familia de algoritmos) para repartir
asignaturas. Se pretende que tenga las siguientes características:
Que no intervenga el azar
Que las personas más avanzadas en su carrera docente o
investigadora tengan preferencia, pero no preferencia absoluta
Que una persona pueda expresar sus preferencias para dar
y para no dar asignaturas
Que tenga carácter público
Que no intervengan decisiones personales. Todo viene determinado por
el algoritmo
1. Variantes del algoritmo
Para seleccionar el algoritmo en concreto que se va a usar es necesario
especificar P, porcentaje de proteccionismo:
Completamente proteccionista (P=100%): Las personas pueden
retener las asignaturas que deseen de las que dieron el curso anterior.
Solo a las que descarten y a las nuevas se les aplica el algoritmo
Libre mercado (P=0%): A todas las asignaturas se les aplica
el algoritmo
Parcialmente proteccionista (P entre 0% y 100%): Las personas pueden
retener las asignaturas que deseen de las que dieron el curso anterior
hasta un máximo del P% de su dedicación máxima
También es necesario asignar un poder de decisión a cada
profesor. Este poder de decisión se expresa en puntos y estos pueden
venir en función del puesto, antigüedad, edad, etc. Mi propuesta
es que estos puntos coincidan con lo que cada profesor cobra en euros
(¿Por qué?)
Por último hay que decidir si se permite, una vez asignadas
las asignaturas, el intercambio posterior. Parece lógico
que así sea.
2. Entrada del algoritmo
Hay que proporcionar datos de asignaturas y profesores.
2.1 Datos de asignaturas
Las asignaturas que salen a mercado, sus créditos, sus grupos y el
cuatrimestre en que se dan. Las asignaturas que sean prioritarias para
el Departamento, se marcan con un asterisco. Estas asignaturas se
reparten primero. Por ejemplo:
Nombre
Créditos
Nº grupos
Cuatrimestre
Los grupos de teoría y prácticas se cuentan como asignaturas diferentes.
2.2 Datos de profesores
Se compone fundamentalmente de los créditos que pueden llegar a dar como
máximo y su poder de decisión. En el caso de que el profesor acarree un
superávit o déficit de créditos del curso anterior frente a la
media, también se hacen constar como créditos iniciales. Por ejemplo:
Nombre
Créditos
Poder de decisión
Créditos iniciales
Los créditos son los que realmente pueden llegar a dar, es decir, su
dedicación menos lo que se quita por cargos, etc. Las asignaturas
que conserva si el algoritmo es proteccionista, o créditos que ya
está dando en otros lugares se computan como créditos iniciales.
También se computan como créditos iniciales los créditos
concedidos por dirección de proyectos de fin de carrera (medio crédito
por proyecto leído hasta un máximo de seis).
En cuanto al poder de decisión, la única condición
es que no puede haber dos iguales, para evitar empates y tener que
recurrir al azar.
Con los datos del ejemplo, podemos calcular cuál es el porcentaje de
ocupación medio necesario para dar las asignaturas
(αQM). Se calcula como la suma de créditos que
hay que dar dividido por la suma de los créditos que los profesores
pueden dar (sus créditos menos sus créditos iniciales).
Si el algoritmo funciona, los porcentajes
de ocupación particulares una vez repartidas las asignaturas
no deberían diferir mucho de este. En el caso del ejemplo,
el porcentaje es: αQM=%.
2.3 Preferencias de los profesores
La clave del algoritmo es que los profesores pueden expresar sus preferencias
para dar pero también para no dar cada asignatura. Estas preferencias
las expresan como un porcentaje de su poder de decisión. Cada vez
que un profesor varía sus preferencias en función de lo que
le vaya tocando, el algoritmo se ejecuta con la esperanza de converger a
una solución. En nuestro caso, por ejemplo, las preferencias podrían
ser:
Estas preferencias se calculan en el ejemplo al azar cada vez que recargáis la página.
En la última columna aparece una medida de la popularidad de las asignaturas, que luego
se usa en una parte mínimamente importante del algoritmo. Se calcula como una votación
entre los profesores ponderada por la cantidad de créditos que pueden llegar a dar.
3. Salida del algoritmo
La salida del algoritmo es un listado de profesores con los grupos
de asignaturas que le han sido asignados y su porcentaje de
ocupación αQ, que es igual al los céditos
que el profesor da frente a los créditos que podría dar.
Del mismo modo, se indica para cada profesor y asignatura asignada,
qué porcentaje de puntos se gastó en la subasta frente
a los que en principio se ofrecieron.
En el ejemplo con el que se está trabajando, nos queda:
Comenzarían ahora una serie de iteraciones donde las personas
moverían sus preferencias si no están conformes con
la docencia que les toca.
4. Descripción del algoritmo
El algoritmo comienza transformando los porcentajes de preferencias
en puntos del poder de decisión que cada profesor da a cada
asignatura.
El algoritmo consta de dos fases.
4.1 Primera fase
En la primera fase, los profesores van pujando por las asignaturas
que, de cogerlas, no harían que su ocupación superara
la ocupación media αQM. Primero pujan por
las más prioritarias.
4.2 Segunda fase
En la segunda fase, solamente pujan en cada ronda aquellos que tengan
menor ocupación.
4.3 Notas
Cuando un profesor tiene que elegir entre varias asignaturas por las
que opta por igual, se atiende por prioridad según los criterios
siguientes:
La que más créditos tenga (para intentar dejar
las pequeñas para el final y que las ocupaciones se
acerquen a la ocupación media todo lo posible)
La menos popular
La de mayor cuatrimestre (pues serán las más
difíciles de dar, al estar en cursos superiores)
La primera de la lista
Si el caso es el de varios profesores que tienen igual derecho
y hay que optar por uno, se hace también por prioridad, según:
Quien tenga más puntos
Quien poseyera más puntos iniciales. La condición de
que no puede haber varios con los mismos puntos iniciales deshace
siempre el empate
Al final de cada ronda, sea la fase 1 o la fase 2, tenemos un ganador
de la subasta y una asignatura elegida. Hay que hacer los pagos
correspondientes. Se usan las reglas siguientes:
Si el profesor puso puntos para dar esa asignatura,
se le cobra uno más de la siguiente mejor oferta
de los candidatos que optan a esa asignatura en esta
ronda, o 0, si este número es negativo o no
hay otras ofertas
Si el profesor puso puntos para no dar esa asignatura,
hay que cobrar a los que se han librado de darla de
entre los candidatos que optan a esa asignatura en la ronda.
Se les cobra un punto
más que lo que puso este profesor sobre la mesa para
no darla. Esos puntos que se cobran a estos profesores
se le dan al que tiene que darla, en compensación
por dar algo que no le gusta y valen para próximas
iteraciones del algoritmo
Cuando no quedan grupos de una asignatura porque ya se han repartido
todos, los puntos que cada profesor aún tiene para optar a
esa asignatura se reparten proporcionalmente a sus preferencias entre
las que aún tienen grupos por dar. Este reparto se hace en
centésimas de punto usando la ley D'Hondt para que no
se desperdicie ningún resto.
4.4 Estadísticas
Una vez concluido el reparto, se procede a calcular algunas
estadísticas:
La satisfacción se mide tomando cada uno de los deseos
de dar o no dar una asignatura y viendo, en la asignación
final, en qué porcentaje se cumplen estos deseos
Como medida del esfuerzo, se resta de la unidad el resultado
de dividir los puntos gastados entre los puntos iniciales
del profesor
5. Mejoras
Pongo alguno de los defectos observados y modo de paliarlos, si
es que se encuentra:
Equilibrio en el reparto: se observa que, aunque las
cargas se equilibran, puede haber, sobre todo en los profesores
de menor número de créditos y debido al tamaño
fijo de las asignaturas, algunos caso de despunte.
Para paliar este defecto que no es singularmente especial
de este algoritmo,
al año siguiente se condideren los
céditos dados de más o de menos en el curso anterior
como créditos iniciales.
De este modo, si un año se da de más o de menos,
se compensa al año siguiente. De rebote, esto permite
considerar otras dedicaciones adicionales y que varían
año a año, como sonla dirección
de tesis, proyectos de fin de carrera, etc.
Restricciones: incorporar algún tipo de
restricciones absolutas (p.ej. muchos asociados no pueden dar
clase por la tarde). Aunque esto se puede solucionar con una
negociación final, una vez asignadas las asignaturas.
O, quizás, que los profesores con restricciones, carguen
puntos en la parte de "No dar" de esas asignaturas