2016-03-08 45 views
-1

我有一個課堂大小和班級容量的定期課堂任務問題。決策變量是二元的。只要分配的總容量大於課程大小,該模型就允許將一個課程分配到多個房間。我想添加到這個模型的約束是確保分配給每個課程的房間的相應大小在彼此之間的合理範圍內(比如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

這更像是一個建模問題,所以我猜OR-Exchange(https://www.or-exchange.org/)會更合適。您可以嘗試最小化每個課程的常數的最大偏差。 – ayhan

+0

@ayhan是的,minmax公式應該很有趣。用常數(而不是其他決策變量)代替偏差是我所需要的。非常感謝你! – Abdurrahman

回答

0

介紹變量minseatmaxseat,形成不平等:

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

+0

這非常有意義! – Abdurrahman