我的课堂大小和班级能力都有定期的课堂作业。决策变量是二进制的。只要分配的总容量大于课程大小,该模型允许将一个课程分配给多个房间。我想要添加到此模型的约束是确保分配给每个球场的房间的相应尺寸在彼此的合理范围内(比如20个座位)。如何以线性方式完成?如何防止模型将60名学生的课程分配到2个10和50容量的房间,而是确保他们的尺寸靠近在一起(最好是相等)。
我在OpenSolver中使用Excel。
以下是一些示例数据:
Course/Room 324A 321D 124B 328 Course Size Capacity Assigned Wasted
Management 0 0 0 1 15 25 10
Engineering 1 0 0 0 20 20 0
Science 0 1 1 0 60 75 15
Room Sizes 20 40 35 25
目标是尽量减少浪费的总空间(本例中为25个座位)。
答案 0 :(得分:0)
引入变量minseat
和maxseat
并形成不等式:
minseat(course) <= seats(room)+(1-assign(course,room))*M
maxseat(course) >= seats(room)-(1-assign(course,room))*M
maxseat(course)-minseat(course) <= 20
或者将maxseat(course)-minseat(course)
放入目标中并考虑一些成本因素。明智地选择M
。