I am not sure the name of this kind of problem, but anyway, the situation is as below.
Assign teachers into Groups and consider on each of their workload, availability etc. There are some other soft/hard constraint (equality/inequality) like
- Each group should have at least 2 teachers
- Everyone in the group have similar workload
- Total workload in the group is below a certain value
- All are in different expertise
I am trying to build a sub-optimal solution to solve this problem. Linear/non-linear programming seems not working for grouping problems. I am thinking of genetic algorithm or reinforcement learning.
Can this problem solve by using RL or DRL? I am trying to define the groups as state, and actions include "assignToGroup" and "removeFromGroup". And any kind of idea or suggestion of how to solve this problem?