首页 新闻 会员 周边

班级调度问题

0
悬赏园豆:20 [已关闭问题] 关闭于 2013-05-30 13:34

一个算法问题。
考虑将小班划分为大班的问题。
现在某大学某专业一个年级有 n 个小班,各班人数依次为 {x1,x2,x3,,,,,xn}。现在要求大班的人数大致为 Y ,问最好的解决方案是将这 n 个小班分为几个大班?如何分配?

 

我现在的解法是求出各个小班的平均人数 x ,再解出最少大班数:minCY = n * x / Y;

再求出剩余没有规类的人数,将它们模拟分配到之前的大班中,看每个大班会因此增加几个人:

perC = (n * x % y) / minCY;

再假定一个“大班允许增加人数比率” P ,假设当 perC / Y 大于 P 时则还需要增加一个大班,若小于 P 则不需要增加大班。

 

但是这样解存在一个问题,当 perC / Y 小于 P 时,说明剩余的人应该被插入到已经分配好的大班中去,这样与大学中的实际调度发生了矛盾,比如,一个班应该有一个课表,这样会导致该课表可能不再适合于此班的多数人。

Trustable的主页 Trustable | 初学一级 | 园豆:164
提问于:2013-04-26 13:37
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册