Генератор групп на несколько раундов с минимумом повторов
- Частичное участиеУкажите, какие участники присутствуют на каких сессиях, вместо предположения, что все участвуют в каждом раунде.
- Вместимость групп и сессийЗадайте вместимость каждой группы и переопределяйте ее для отдельных сессий, когда меняются комнаты или модераторы.
- Правила по сессиямПрименяйте правила вместе, отдельно, фиксированные места, повторы и баланс только к нужным сессиям.
- Взвешенные предпочтенияДобавляйте предпочтения, которые при необходимости можно нарушить, и настраивайте их вес относительно других целей.
- Цели встреч для парЗадавайте, сколько раз конкретные пары должны встретиться: точно, минимум или максимум.
- Цели посещения группУправляйте тем, сколько раз выбранные люди посещают выбранные группы в разных сессиях — удобно для станций, задач и лимитов посещений.
- Расширенная настройка ограниченийНастраивайте лимиты повторов, режимы баланса по атрибутам, штрафы и другие детали за пределами быстрых настроек.
- Настройки solverНастраивайте лимиты времени, детерминированные seed, семейство solver и другие параметры оптимизации.
- Анализ результатовПросматривайте разбор оценки, выполнение ограничений, штрафы и сохраненные результаты подробнее.
Где полезен генератор групп на несколько раундов
Используйте GroupMixer, когда случайного разбиения на один раунд недостаточно: несколько сессий, меньше повторов, балансировка и ограничения.
Создавать группы на несколько раундов
Получите полный план по раундам вместо ручного перемешивания между сессиями.
Минимизировать повторные пары
Уменьшайте повторные контакты, чтобы участники воркшопов, занятий и событий встречали новых людей.
Планировать ротации на воркшопе
Организуйте обсуждения за столами, упражнения или breakout-группы со свежим составом в каждом раунде.
Планировать раунды нетворкинга
Создавайте speed networking или mixer-раунды, не возвращая людей в одни и те же разговоры.
Балансировать группы
Добавляйте атрибуты вроде отдела, роли, навыка или опыта, если группы должны быть разнообразными и сбалансированными.
Учитывать реальные ограничения
Держите людей вместе или отдельно, закрепляйте фасилитаторов и оптимизируйте расписание по нескольким раундам.
Частые вопросы
Использование GroupMixer
Вставьте имена (по одному в строке) в текстовое поле, задайте количество групп или людей в группе и нажмите "Создать группы". Группы появятся сразу.
Конфиденциальность, доступ и лимиты
Да. GroupMixer полностью бесплатен. Если он оказался вам полезен и вы хотите поддержать разработку, можно сделать пожертвование через GitHub Sponsors. Пожертвовать через GitHub Sponsors.
Нет. В GroupMixer нет ограничений на использование.
Нет. Учетная запись или регистрация не нужны. Вставьте имена, настройте параметры и сразу создайте группы.
В вашем браузере на этом устройстве. Список участников и все остальные введенные вами данные остаются на вашем устройстве во время работы.
Да. После загрузки страницы вы можете продолжать использовать GroupMixer офлайн в браузере.
Элементы управления и расширенная настройка
Да. Откройте расширенные параметры, чтобы добавить правила Держать вместе (Keep Together) и Держать порознь (Keep Apart), несколько сессий и балансировку по атрибутам.
Да. Добавьте участникам атрибуты, например роль, навык, гендер или отдел, а затем выберите, какой атрибут балансировать между группами.
Да. Используйте Закрепленных людей (Pinned people) в расширенных параметрах, чтобы закрепить конкретных людей за конкретной группой во всех сессиях. Это полезно для лидеров, докладчиков или любых участников, которые должны оставаться в известной группе.
Да. Задайте количество сессий и включите "Избегать повторяющихся пар", чтобы сократить повторы между раундами.
Да. Используйте редактор сценариев для частичного посещения. Перед созданием расписания можно задать, какие участники посещают каждую сессию.
Да. Используйте редактор сценариев, чтобы задать пользовательскую вместимость групп, включая разные вместимости для разных групп или сессий.
Да. Используйте Посещения групп (Group Visits) в редакторе сценариев, чтобы задать точное, минимальное или максимальное количество посещений выбранными людьми выбранных групп в выбранных сессиях. Это полезно для ротации по станциям, знакомства с задачами и лимитов посещений.
Используйте редактор сценариев для элементов управления, которые не доступны на этой странице: частичное посещение, пользовательская вместимость по группам и сессиям, правила для отдельных сессий, взвешенные предпочтения, Встречи пар (Pair Encounters), Посещения групп (Group Visits), расширенная тонкая настройка, настройки solver, предыдущие результаты и анализ результатов.
Управление и расширенная настройка
Импортируйте CSV предварительного назначения Zoom или таблицу с email участников, выберите число комнат и сессий, оставьте включённым «Минимизировать повторные пары» и сгенерируйте группы. Затем используйте Share & Export → Download Zoom breakout CSV. Для нескольких сессий GroupMixer скачивает ZIP с отдельным Zoom CSV для каждого раунда; перед нужным раундом загрузите правильный CSV на экран Breakout Room pre-assign в Zoom. Zoom сопоставляет участников по email, поэтому они должны войти с тем же адресом.
Автоматический алгоритм
GroupMixer использует гибридный конвейер оптимизации. Он компилирует сценарий в плотное индексированное представление, строит качественное допустимое начальное расписание, а затем запускает оптимизатор локального поиска с предпросмотром ходов с сохранением оценки, record-to-record acceptance, адаптивным выбором семейств ходов, диверсификацией и остановкой, масштабируемой по времени выполнения. Открыть карту архитектуры Auto solver.
Solver минимизирует взвешенную оценку. Основные слагаемые — штрафы за повторные встречи, штрафы за дисбаланс атрибутов, взвешенные штрафы за мягкие ограничения и награда за уникальные контакты. Чем меньше, тем лучше: повторы и нарушения ограничений увеличивают оценку, а новые уникальные пары уменьшают ее.
GroupMixer не начинает с полностью случайной группировки. Сначала он пробует ограниченный конструктор, управляемый сценарием ограничений/оракулом. Этот конструктор строит каркас, допустимый по жестким ограничениям, использует чистую структуру Social Golfer там, где она помогает сократить повторы, проецирует эту структуру обратно в реальный сценарий и проверяет результат перед началом поиска.
Плотный поисковый движок многократно предлагает локальные изменения текущего расписания. Каждое кандидатное изменение предварительно проверяется по модели оценки, прежде чем оптимизатор решит, сохранять ли его, поэтому поиск может улучшать расписание, сохраняя допустимость по жестким ограничениям.
Поиск и сокращение повторов
Да. Основной поиск — это оптимизатор в стиле итерированного локального поиска с поведением record-to-record или threshold accepting: улучшающие ходы принимаются, а ограниченные неулучшающие ходы могут приниматься на ранних этапах, чтобы поиск мог выйти из локальных оптимумов. GroupMixer также использует адаптивный выбор окрестностей, всплески диверсификации и механизмы, вдохновленные tabu search, в специализированных путях минимизации повторов. Это не просто одна учебная метаэвристика; он сочетает несколько идей поиска вокруг модели оценки распределения по группам.
Сокращение повторов начинается до локального поиска. GroupMixer пытается построить сильный шаблон контактов в стиле social golfer, используя точные или почти точные структуры с нулевыми повторами, когда они соответствуют сценарию. После этого плотный поиск отслеживает количество контактов пар, вознаграждает первые контакты, штрафует избыточные повторы и улучшает расписание, не нарушая требований.
Ограничения и оптимальность
Требования, такие как посещение, вместимость, Фиксированные размещения (Fixed Placements), Держать вместе (Keep Together) и Держать порознь (Keep Apart), применяются при построении расписания и проверяются перед поиском. Предпочтения, такие как Лимит повторов (Repeat Limit), Балансировать атрибуты (Balance Attributes), Итоги атрибутов (Attribute Totals), Предпочитать вместе (Prefer Together), Предпочитать порознь (Prefer Apart), Встречи пар (Pair Encounters) и Посещения групп (Group Visits), представляются как взвешенные штрафы или цели, поэтому ими можно поступаться, когда сценарий чрезмерно ограничен.
Требования — это правила, которые GroupMixer должен выполнить, чтобы вернуть расписание. К ним относятся посещение, вместимость группы, Фиксированные размещения (Fixed Placements), Держать вместе (Keep Together) и Держать порознь (Keep Apart). Предпочтения — это оцениваемые цели: нарушать их разрешено, но это увеличивает оценку. К ним относятся Лимит повторов (Repeat Limit), Балансировать атрибуты (Balance Attributes), Итоги атрибутов (Attribute Totals), Предпочитать вместе (Prefer Together), Предпочитать порознь (Prefer Apart), Встречи пар (Pair Encounters), Посещения групп (Group Visits) и цель уникальных контактов.
Если GroupMixer находит оценку 0, это указывает на оптимальность для активной модели оценки: не осталось оцениваемых нарушений или штрафов за повторы, которые можно улучшить. Однако во многих сценариях с ограничениями истинный оптимум может быть больше 0, потому что требования конфликтуют или схема математически невозможна. GroupMixer не предназначен для доказательства того, что положительная оценка глобально оптимальна, а для многих сложных сценариев такое доказательство на практике совершенно невыполнимо.
Нет. Требования рассматриваются как правила допустимости, а не как рекомендации. Сначала GroupMixer пробует конструкторы, ориентированные на качество; если они не могут построить расписание, он может перейти к SAT-конструктору допустимости. Если SAT solver докажет, что требования невыполнимы, GroupMixer завершится с ошибкой вместо того, чтобы ослаблять их. Если допустимое расписание найдено, GroupMixer использует его как начальную точку и продолжает оптимизировать предпочтения и другие цели качества.
Бенчмарки и лучшие результаты
В большинстве случаев, вероятно, нет. Общие инструменты оптимизации, такие как OR-Tools, могут моделировать части этой задачи, но для большинства практических сценариев получить расписания лучше, чем у GroupMixer, с помощью одного только универсального solver крайне сложно. GroupMixer сочетает поиск со специфичными для задачи эвристиками построения, которые универсальный поиск по ограничениям не сможет дешево переоткрыть: круговые расписания пар, тройственные системы Киркмана и почти Киркмана, конструкции аффинных плоскостей над конечными полями и трансверсальных дизайнов, конструкции MOLS и MOLR, RTD на основе матриц квази-разностей, разрешимые BIBD, собственные стартовые банки social golfer, опубликованные банки расписаний и рекурсивный lifting. Чтобы превзойти GroupMixer, обычно нужен другой комбинированный алгоритм, а не просто универсальная модель.
Сообщите о нем через страницу запроса функции. Укажите форму сценария, результат GroupMixer, лучшее расписание и как вы его оценивали. Случаи, когда другой метод превосходит GroupMixer, особенно полезны: они могут стать регрессионными тестами или бенчмарк-кейсами для улучшения solver. Отправить запрос функции.
Поиск использует рандомизированное исследование, если не задана детерминированная seed. Поэтому разные запуски могут находить разные высококачественные расписания с одной и той же оценкой или похожими оценками. В редакторе сценариев опытные пользователи могут задать seed, когда важна воспроизводимость.