1 2 3 4 5 6 7  8  9 10 11 12  

 

Como probablemente el lector habrá adivinado estamos tratando de armar el problema de manera que pueda resolverse usando redes de transporte y algoritmo de Ford-Fulkerson. Cuando se desea repartir la primera materia de cada profesor se debe crear una matriz de preferencias $\displaystyle A $. Si el profesor $\displaystyle p $ puede trabajar el día $\displaystyle d $ en la lección $\displaystyle l $, hacemos $\displaystyle A[p, k]=1 $, en donde $\displaystyle k $ es la casilla de $\displaystyle P $ correspondiente al día $\displaystyle d $, lección $\displaystyle l $ y sección $\displaystyle s $. Expliquemos un poco más esto. Las entradas de la matriz $\displaystyle P $ pueden organizarse como si se tratasen de un vector, colocando, por ejemplo una fila después de la otra, o bien una columna después de la otra. La segunda opción no es tan recomendable debido a que esto haría que las lecciones semanales fuesen asignadas casi todas el mismo día, y esto, por razones pedagógicas, resulta inapropiado. Es mejor la primera opción. Por supuesto hay otras forma de organizar o bien indexar la matriz $\displaystyle P $ (para tratarla como si fuese un vector) y esto dependerá del tipo de distribución que se desee. En $\displaystyle {\mathcal H} $orario, por ejemplo, se buscó que la repartición quedará gradeada, es decir, que de la sección o grupo 1-1, un profesor pasará al 1-2, después al 1-3, etc. Un esquema gradeado ayuda al docente en el sentido de que puede aplicar un mismo examen en varios grupos toda vez que no haya un receso de por medio. Además algunos estudiantes y el profesores prefieren un contacto de una lección pues les resulta menos cansado. Una vez que se ha creado la red de preferencias, el método de Ford-Fulkerson se encargará de hacer la mayor cantidad de asignaciones posibles. En este contexto debemos notar que si el flujo entre un recurso y una necesidad es de 1, significa que ha producido una asignación entre ambas.

 

Figura1.7: Pantallas de Inicio y Creación de secciones.

El modelo de preferencias planteado tiene un defecto. Puede suceder que al profesor se le asigne en forma múltiple en una misma lección. Para corregir esto, en $\displaystyle {\mathcal H} $orario se verifica que el profesor no esté ya asignado antes de efectuar cada asignación. Por supuesto que esta limitante hace que decrezca la eficiencia del algoritmo. No obstante, en la práctica $\displaystyle {\mathcal H} $orario dio resultados entre aceptables y buenos. Dado que resulta difícil automatizar absolutamente todo el proceso, en $\displaystyle {\mathcal H} $orario se incluye la posibilidad de realizar una asignación manualmente. Al dar click derecho en una casilla de la pizarra de asignaciones, el usuario puede saber cuáles profesores pueden ser asignados ahí, cuántas materias llevan asignadas, etc. Además de esto en $\displaystyle {\mathcal H} $orario se pueden hacer asignaciones directamente sobre el horario de cada profesor brindando así un tratamiento muy puntual. Una vez que todas las actualizaciones manuales han sido llevadas a cabo, el usuario puede solicitar la asignación automática y $\displaystyle {\mathcal H} $orario se encargará del resto. Aún más, una vez concluida dicha asignación, usando el modo manual, el usuario puede "retocar" el resultado generado. Hasta aquí se ha explicado en términos generales el algoritmo de repartición usado por el software $\displaystyle {\mathcal H} $orario. A continuación se describe rápidamente dicho programa. En la Fig 1.7 se muestran las pantallas inicial (créditos) y la de creación de grupos o secciones. 


 1 2 3 4 5 6 7  8  9 10 11 12

Revista Virtual, Matemática Educación e Internet.
Derechos Reservados.