什么样的算法非常适合优化歌剧院的座位分配?

时间:2016-10-02 10:17:22

标签: algorithm linear-programming

所以我有一个10行10列座位的歌剧院(总数:100)。每个座位都分配了一个偏好值Aij。如果组不在同一行中获得席位,则首选项值减半。例如:如果歌剧院的预订是5人,并且前排只能容纳2人,下一行则容纳3人,每个座位的偏好值实际上减半。 'n'>总共有n个预订100个座位。什么是最大化客户偏好(n * Aij)的最佳方法。如果可以通过线性编程完成,那么方程式应该如何。

1 个答案:

答案 0 :(得分:2)

我认为将MIP建模起来并非易事。

我尝试使用主二进制变量x(i,j,g,r),其中(i,j)是分配给组g的座位的行和列。集r{singlerow,multiplerows},表示该组是否位于同一行。

不确定这是否是一个特别好的配方,但似乎有效。以下是我使用的等式:

enter image description here

我认为有许多组g每个都有一个大小。一个小组获得所需的所有座位,或者没有任何座位。 我怀疑约束编程方法可能更容易。

结论:可以使用MIP配方完成,但有点麻烦。