Allocating elective choices can be complex. Let us help you calculate the optimal allocation that satisfies as many preferences as possible.
With input data like the above, the result becomes:
Fig 2. Here we can see how lessons have been divided into blocks. Within each block, all courses can run in parallel without students’ choices clashing.
You can also get the allocation for each student as well as warnings when it was not possible to solve.

Fig 3. Here you can see the allocated elective courses for the students and which block they belong to. You will also be warned if there were students who could not get their choices without clashes.
Interested? Book a free consultation with one of our scheduling consultants.