Представьте себе небольшой местный бизнес (в моем случае это дневной уход за собаками) с несколькими десятками сотрудников, занятых неполный рабочий день. Цель состоит в том, чтобы автоматически создавать еженедельные штатные расписания. Мой вопрос о том, какие алгоритмические подходы исследовать для этой проблемы.
Необходимо помнить о многих ограничениях, главным образом (1) наличие персонала и (2) потребности каждой смены, а не только количество персонала для каждой смены, но навыки, необходимые для каждой смены (например, для определенной смены, вам может понадобиться кто-то, кто знает, как водить машину, чтобы делать пикапы / высадку собак, для другого, кто-то, кто знает, как принимать собачьи ванны и т. д.).
Другие ограничения включают такие вещи, как избегание или требование определенных комбинаций персонала - возможно, из-за личностных конфликтов, с одной стороны, или необходимости обучения с помощью осмоса от старшего до младшего персонала, с другой.
Также есть предпочтения, которые необходимо учитывать. Некоторые сотрудники предпочитают утро, иногда два дня подряд, а не понедельник и четверг и т. Д. Мы знаем, что не всегда можем учесть предпочтения каждого. На самом деле у нас есть иерархия, в которой сотрудники получают первые награды за свой выбор.
У меня есть догадка, что есть способ уменьшить или выразить эту проблему в существующий, уже решенный алгоритм. Но я не знаю, какие алгоритмы исследовать. Какие существующие конкретные алгоритмы будут наиболее перспективными?