Hola gracias por responderme :)
Mira te explico es una escuela secundaria en donde separan cada generación de alumnos en 3 años (1er año, 2do año, 3er año) y cada año tiene 4 grupos (1A, 1B, 1C, 1D.... 3C, 3D) y trabaja dos turnos Matutino y Vespertino.
Resumiendo es una escuela con 12 salones y en cada salón va un año-grupo x dos turnos
Las materias se imparten en bloques semanales de lunes a viernes y depende el turno es el horario por ejemplo
Matutino
| Horario | Lunes | Martes | Miércoles | Jueves | Viernes |
| 7-8 | | | | | |
| 8-9 | | | | | |
| 9-10 | | | | | |
| 10-11 | | | | | |
Vespertino
| Horario | Lunes | Martes | Miercoles | Jueves | Viernes |
| 2-3 | | | | | |
| 3-4 | | | | | |
| 4-5 | | | | | |
| 5-6 | | | | | |
El caso de las materias es así:
Cada salón tiene asignadas para toda la semana 40 horas en la mañana y 35 en la tarde, cada materia cubriría el espacio de una hora y tiene asignadas ciertas horas para ese grupo por ejemplo
Matemáticas - 5 Horas para 1A Matutino
Español - 6 Horas para 1A Matutino
...
...
Matematicas - 5 Horas para 3D Vespertino
Español - 6 Horas para 3D Vespertino
Y el profesor trabaja asi:
El tiene ya un "año-materia" seleccionadas, es decir ya sabemos que profesor da que materia a que año, pero tiene un horario sujerido por ejemplo
Profesor 1
Tiene asignadas 30 horas para el turno matutino
Tiene sugeridas 40 horas para el turno matutino
| Horario | Lunes | Martes | Miercoles | Jueves | Viernes |
| 2-3 | X | | | | |
| 3-4 | X | X | X | | |
| 4-5 | X | X | X | | |
| 5-6 | | X | | | |
Profesor 2
Tiene asignadas 10 horas para el turno matutino
Tiene sugeridas 15 horas para el turno matutino
| Horario | Lunes | Martes | Miercoles | Jueves | Viernes |
| 2-3 | X | | | | |
| 3-4 | X | | X | X | |
| 4-5 | X | | X | X | |
| 5-6 | | | | X | |
Cada "X" es un día que puede asistir a dar la clase y la idea de la aplicación es que seleccione la hora mas conveniente para asignar un maestro a esa hora tomando en cuenta estos criterios
- Una materia no se repita mas de 2 veces por día
- Una materia no se repita mas veces que las asignadas a ese año Eje. Historia - 4 horas a la semana
- Un Profesor no tenga asignado a dos años diferentes a la misma hora y dia
- Un Profesor no tenga asignado años en las horas que no tiene como sugeridas
Espero quede un poco mas claro la verdad es que si me ha costado trabajo entender tantas reglas jeje pero en fin, muchas gracias por tomarte el tiempo de ayudarme, te lo agradezco de corazón :)