У меня проблема с группировкой студентов в лабораторные группы.
Учащиеся, сгруппированные в одной лаборатории, не должны группироваться в других лабораториях.
Один из членов группы должен быть назначен руководителем лаборатории для этой лаборатории. Каждый студент должен быть руководителем лаборатории один раз.
См
Как решить эту вариацию школьниц kirkkmans для оригинальной задачи, которую мне удастся решить с помощью Goose. Спасибо, что указал мне правильное направление.
Я использую поиск по табу, чтобы выполнить группировку (задача 1) и создать двудольный граф, и использую Хопкрофта-Карпа для назначения руководителей групп лаборатории (задача 2).
Мне нужно добавить другие ограничения:
A. Студенты работают в паре, назначается руководитель лаборатории и составляется расписание семестра, отлично. В следующем и следующем семестрах студенты снова группируются (другой курс). Алгоритм должен избегать группирования студентов, где в одной и той же лабораторной группе последний и предыдущий семестры. Естественно, в конце концов это было бы невозможно. Но наилучшая возможная группировка должна быть найдена.
B. Чтобы сделать его еще более сложным, было бы здорово, если бы назначенные руководители лабораторий не были назначены руководителями лаборатории в той же лаборатории. То есть, если в лаборатории участвуют 8 и 1 учеников, студент 1 назначается руководителем лаборатории 1 в 1 семестре. Следующий семестр s1 не должен назначаться руководителем лаборатории в l4, но может назначаться руководителем лаборатории в любой другой лаборатории.