I consider a hypothetical problem and seek guidance on how to approach the solution of the problem, from an algorithmic point of view.
Problem:
Consider a university. You have the following objects:
- Teaching Staff. Each employee teaches one or more documents.
- Students. Each student accepts one or more documents.
- The rooms. The rooms accommodate a certain number of students and contain certain types of equipment.
- Papers. Require a specific type of equipment and a certain amount of time each week.
Information on enrollment provided (for example, how many students are recorded in each document and which employees are allocated for each document), how can I calculate a schedule that is subject to the following restrictions:
- Staff can only learn one thing at a time.
- Students can attend only one document at a time.
- Numbers can contain only a certain number of students.
- Papers requiring a certain type of equipment can only be stored in a room that provides this type of equipment.
- Opening hours: Monday to Friday, 8-12 and 1-5.
Discussion:
In fact, I'm not too concerned about the situation described above - this is a general class of problems that interests me. At first glance it seems to me that this is well suited for a genetic algorithm, but the suitability function for such an algorithm will be incredibly complex.
What is a good approach to solve this constrained problem?
I think that there is probably no way to solve this problem, since students can take a combination of papers, which leads to impossible situations, especially as the number of students and documents grows.
language-agnostic algorithm genetic-algorithm
Thomi
source share