我有一个整数程序,为使用约束的教师和学生安排“时段”:
for req in reqs: sked_model += sum([x[slot] for slot in slots if ('0', 'art', req[2]) == (slot[4], slot[1], slot[3])]) == 1, ""
我需要创建一个额外的约束,同时为同一位教师和学生安排紧随其后的时间段。其他信息:
'老虎机'代表(时间,课程,教师,学生,年级)的元组。 'reqs'也代表(年级,课程,学生)的元组
答案 0 :(得分:0)
我会创建另一个0,1变量,表示将两个插槽分配给学生和教师的决定
即。为学生和老师提供第2和第3个插槽
x(2,3),s,t
然后添加反映该决定的约束 即
x2,s,t >= x(2,3),s,t
x3,s,t >= x(2,3),s,t
看看它是怎么回事,如果这变得棘手,你可以看一下学生或老师定义的日子,并在你的表述中分配。
了解其他一些配方的https://pdfs.semanticscholar.org/1848/cee0d33b41b765427909297d69b8956be5f2.pdf