Группируйте студентов в классы на основе предпочтений друзей - PullRequest
1 голос
/ 07 марта 2019

Каждый год учителя в школе должны организовывать занятия для учеников на следующий год. Студенты выбирают количество друзей, с которыми они хотели бы быть (по порядку). Это может варьироваться, но в настоящее время ограничено шестью именами. Школьная политика заключается в том, что у каждого ученика должен быть хотя бы один друг - очевидно, чем предпочтительнее этот друг, тем лучше. Учитывая, что каждый из N учеников имеет ранжированные / взвешенные предпочтения одноклассников, как их можно оптимально разделить на классы C. Другие ограничивающие факторы будут:

  • Размеры классов должны быть максимально похожими
  • Пол должен быть достаточно равномерно распределен

Как любой алгоритм может быть изменен, чтобы включить «не может быть со студентом X» - предполагая, что достаточно большой отрицательный рейтинг / взвешивание может обеспечить это?

Казалось бы, эта проблема лучше всего решается компьютером, освобождая время для более важных задач. Это не проблема курсовой работы, а проблема реального мира, в которой мне было бы интересно найти и понять решение. Я нашел много сообщений о группировке людей по предпочтительной группе, но не оценил членов группы.

Пожалуйста, сообщите, если это неправильный форум.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...