我想根据学生的意愿优化课程分配。每个学生用数字给所有课程打分(例如1-6,越多越好)20门课程被分配到5个时间段,因此每个时间段中3-6门课程是同步的。我正在寻找课程的最佳时间表和学生的课程分配,以使全球成绩总和最大。
我的问题是冲突,一个学生不能在同一时间段参加两门课程。在 LP 公式中,我有两个布尔变量的乘积
sum( student[coursenr] * timeslot[coursenr] ) <= 1
这显然不是线性的,必须用松弛变量和许多松弛变量来解决。甚至更多新的约束。只有非常小的问题是可以解决的。如何改进我的模型?