jueves, 4 de marzo de 2010

Proyecto #2

La asignación de alumnos y maestros a grupos, horas y salones.





Primero divido el problema en partes mas pequeñas:





¿Existe una combinación de alumnos para que en todos los grupos haya el mismo numero de alumnos?


Si no es posible, buscar una combinación con una diferencia mínima de alumnos por grupo.





Después: ¿Existe una combinación de horas en la cual todos los grupos tengan la misma cantidad de horas?


Tomando en cuenta que ya habíamos llenado los grupos con la misma cantidad o mínima diferencia de alumnos.





¿Existe una combinación de salones en la que se puedan repartir la misma cantidad de horas?


Tomando en cuenta que a cada grupo ya se le asignaron sus horas.





¿Exitse una combinación de salones en la cual todos los maestros den clase en la misma cantidad de salones?


Tomando en cuenta que cada salón tiene sus horas, cada hora sus grupos y cada grupo sus alumnos.



Para solucionar este problema de la manera mas óptima necesitamos que todos los recursos con que contamos sean utilizados eficientemente y no desperdiciar unos y a otros sobrecargarlos.





Algoritmo:





1.- Revisar el total de alumnos por asignar, los maestros, la cantidad de grupos, las horas de clase y los salones disponibles que hay.


2.- Acomodar el mismo numero de alumnos por grupo, dividiendo el total de alumnos entre los grupos o si no que la diferencia sea mínima.


3.- Una vez repartidos los alumnos, se reparten las horas para los grupos, demanera que los grupos lleven la misma cantidad de horas.


4.- Darle a los salones las horas que seran utilizados.


5.- Asignar los maestros a los salones en en los que daran clase sin empalmarlos.





Este algoritmo realiza almenos 10 cosas como minimo para decidir la mejor asignación.



Este tipo de problema que es del tipo P porque si conocemos la cantidad de alumnos, maestros, grupos, salones y horas podemos encontrar la asignación más optima

1 comentario:

  1. Un poco de formalismo no te haría daño en la presentación, ni el apoyarte más en la literatura. Frecuentemente los algoritmos presentados en la literatura ya son bastante buenos y no tan triviales de diseñar que valdría la pena intentar reinventar la rueda ;)

    ResponderEliminar