Estoy considerando un problema hipotético, y buscando una guía sobre cómo abordar la solución del problema, desde un punto de vista algorítmico.Algoritmo para calcular el horario dado restricciones
El problema:
Considérese una universidad. Tiene los siguientes objetos:
- Personal docente. Cada miembro del personal enseña uno o más documentos.
- Estudiantes. Cada estudiante toma uno o más papeles.
- Habitaciones. Las habitaciones tienen un cierto número de estudiantes y contienen ciertos tipos de equipos.
- Papeles. Requiere un cierto tipo de equipo y una cierta cantidad de tiempo cada semana.
Dada la información sobre la matrícula (IE-cuántos estudiantes están inscritos en cada papel, y lo que el personal se asignan para enseñar a cada papel), ¿cómo puedo calcular un calendario que obedece a las siguientes restricciones:
- El personal solo puede enseñar una cosa a la vez.
- Los estudiantes solo pueden asistir a un trabajo a la vez.
- Las habitaciones solo pueden albergar a un cierto número de estudiantes.
- Los papeles que requieren cierto tipo de equipo solo se pueden guardar en una habitación que proporcione ese tipo de equipo.
- El horario de atención es de lunes a viernes, 8-12 y 1-5.
Discusión:
En realidad no estoy demasiado preocupado por la situación antes descrita - es la clase general de problema que tengo curiosidad por saber. A primera vista Me parece una buena opción para un algoritmo genético, pero la función de aptitud para tal algoritmo sería increíblemente compleja.
¿Cuál es un buen enfoque para tratar de resolver este tipo de problema de restricción de satisfacción?
Supongo que probablemente no haya manera de resolver esto perfectamente, ya que los estudiantes pueden tomar una combinación de documentos que conducen a situaciones imposibles, especialmente a medida que crece el número de estudiantes &.
... puede ser. Si bien hay solo 5 restricciones, hay potencialmente miles de estudiantes, cientos de documentos, cientos de salas y cientos de empleados. La complejidad de verificar todas esas restricciones entre sí es, creo, el problema original; ahora lo hemos movido. – Thomi
Mi punto es que no descartaría GAs simplemente porque la función de acondicionamiento físico es compleja, ya que tendrá que trabajar esa complejidad de cualquier manera (aprovechando métodos formales dados o lo que sea), GAs o no. – JohnIdol
Buen punto. Gracias. – Thomi