Excel 基于其他决策变量约束决策变量的范围

Excel 基于其他决策变量约束决策变量的范围,excel,mathematical-optimization,linear-programming,Excel,Mathematical Optimization,Linear Programming,我有一个关于课程规模和课堂能力的常规课堂作业问题。决策变量是二进制的。该模型允许将一个课程分配给多个房间,只要分配的总容量大于课程大小。我想添加到这个模型中的约束条件是确保分配给每个课程的各个房间的大小都在合理的范围内(比如说20个座位)。如何以线性方式实现这一点?我如何防止模型将60名学生的课程分配到两个10人和50人的房间,而是确保他们的大小接近(最好甚至相等) 我正在使用Excel和OpenSolver 以下是一些示例数据: Course/Room 324A 321D 124

我有一个关于课程规模和课堂能力的常规课堂作业问题。决策变量是二进制的。该模型允许将一个课程分配给多个房间,只要分配的总容量大于课程大小。我想添加到这个模型中的约束条件是确保分配给每个课程的各个房间的大小都在合理的范围内(比如说20个座位)。如何以线性方式实现这一点?我如何防止模型将60名学生的课程分配到两个10人和50人的房间,而是确保他们的大小接近(最好甚至相等)

我正在使用Excel和OpenSolver


以下是一些示例数据:

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个座位)。

引入变量
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
minseat(课程)=座位(房间)-(1-分配(课程,房间))*M

maxseat(当然)-minseat(当然)如果没有一些示例数据,很难以任何方式回答这个问题。另外,这个网站更多的是调试之类的东西。那么你已经做了什么?您是否可以展示一些东西,让我们知道从哪里开始?这更像是一个建模问题,所以我想还是Exchange()更合适。您可以尝试最小化每个课程与常数的最大偏差。@ayhan是的,一个最小-最大公式应该很有趣。我需要的是用一个常数(而不是其他决策变量)来代替一个偏差。多谢各位@DirkReichel我添加了一个非常简短的示例。这非常有意义!