0

我正在编写一个脚本,该脚本使用固定第一队的循环算法创建锦标赛装置。而且效果很好。

问题是,当我创建这些固定装置时,我必须尽可能地把家和家分布在离哈哈哈... H - 是家而 A - 不在的模式中。限制是球队不能连续打 3 场主场(或客场)比赛。

我尝试的是保留每支球队参加的主场和客场比赛的数量,然后主场或客场人数最少的球队将在应有的地方比赛。

例如

Team 1 (2 H and 1 A) VS Team 2 (with 2 H and 2 A)

结果将是:

Team 2(H) vs Team 1(A) // because Team 1 played least number away of games 

问题:有没有其他方法可以实现这种在家外分发,如果是这样的话,它背后的想法是什么?

4

2 回答 2

0

您所寻求的平等分配模式并不容易获得。进行“随机洗牌”的建议并不能解决问题。可以平等地分配球队与对手,平等地作为主场和客队,平等地在时间/地点进行比赛。对于偶数个团队和奇数个团队,必须满足不同的要求。除此之外,创建每个时间表的数学完全不同(例如,7 支球队联赛的赛程与 8 支球队的联赛不同)。

查看此链接上提供的有关“平等分配”的信息。

平均分配;只有当您为您安排的团队数量提供正确数量的时间段时,才能使用团队、时间段以及家庭和访客。了解时间表的结构非常重要。您上面关于平等 Home & Away (H & A) 的问题已在上面的链接中得到解答。您可以做的最好的事情是在每轮循环赛中连续进行两场 H 或两场 A 比赛。有一个小例外,当循环赛结束并开始下一轮循环赛时,球队可以连续进行 3 场主场或 3 场客场比赛。这只发生在少数球队身上,这是不可避免的,但 H & A 在每 2 轮循环赛结束时保持平衡。

在安排球队进行循环赛时,用最简单的术语来说,您希望同时创建球队循环赛、主场和访客状态的循环赛以及时间/地点时段的循环赛...... .

为了使主题进一步复杂化,需要不同数量的循环赛(一个)来满足平等的“团队”分布,不同数量的循环赛(两个)来满足“主场和访客”的平衡,以及不同数量的循环赛来满足满足“时隙”平衡。对于偶数队来说,平衡在所有时间段内平等比赛的所有球队所需的循环赛数量等于安排的球队数量的一半。这在安排奇数个团队时会发生变化。

于 2014-08-01T09:17:27.907 回答
0

@Bob R 连接处的 3H 或 3A 的“不可避免”异常实际上是可以避免的。参见 D. de Werra (1981) 'Scheduling in sports',在'Studies on Graphs and Discrete Programming'(编辑 P. Hansen),北荷兰,第 381-395 页。

于 2015-05-05T22:04:56.717 回答