Я разрабатываю расписание соревнований, но придерживаюсь условий.
Я выдвинул 5 условий, в соответствии с которыми соревнования должны им соответствовать.
Я должен делать жадно алгоритм.
Я придумал это до сих пор:
while len(gamesgreedy) != len(games):
v1 = CompetitionSchedule.violation_team_round_multiple(
self, gamesreedy, start_index)
v2 = CompetitionSchedule.violation_bye_per_team(
self, gamesgreedy, start_index)
v3 = CompetitionSchedule.violation_double_city(
self, gamesgreedy, start_index)
v4 = CompetitionSchedule.violations_double_match(self, gamesgreedy,)
v5 = CompetitionSchedule.violations_home_away(
self, gamesgreedy, start_index)
for x in gamestup:
gamesgreedy.append(x) if sum(v1, v2, v3, v3, v4, v5) <
У меня есть пул всех возможных совпадений, и я хочу добавить одно совпадение с наименьшим количеством нарушений и так далее, пока я не получу полное расписание.
Нарушения целые числа. Итак, сначала gamesgreedy
- это пустой список, а затем добавьте совпадение 1
и проверьте, приносит ли это наименьшее количество нарушений по сравнению со всеми другими совпадениями.
После этого мне придется повторить этот шаг где функции теперь проверяют gamesgreedy
с совпадением 1
и совпадением 2
в нем, и так далее.