0

I want to optimize an allocation of courses to students respecting their wishes. Every student grades all courses with numbers (eg. 1-6, more is better) 20 courses are assigned to 5 timeslots, so in each timeslot 3-6 courses are synchronous. I am looking for an optimal timetable of the courses and the students' allocation to courses, so that the global sum of grades is maximum.

My problem is the conflict, that a student cannot be in 2 courses in the same timeslot. In an LP formula I have the product of two boolean Variable

sum( student[coursenr] * timeslot[coursenr] ) <= 1

That's obviously not linear and has to solved with slack Variables, with many slack Variables. And even more new Constraints. Only very small problems are solvable. How can I improve my model?

0 Answers0