Проблема
Вот суть проблемы, которую я хочу решить. У нас есть работники, которые заботятся о детях в детском саду в течение выходных. Там 16 различных слотов, чтобы заполнить в один уик-энд. Так что за 4-недельный месяц там будет 64 слота. У нас есть максимум 30 питомников (хотя нам нужно гораздо больше, таких как дети?).
EDIT: каждый временной интервал дискретный - они не перекрываются.
В настоящее время есть человек, который каждый месяц придумывает расписание детского сада. Это сложная и трудоемкая задача, чтобы каждый месяц составлять этот график со всеми предпочтениями. Рассмотрев проблему, я подумал про себя: "Должен быть лучший способ!"
Алгоритмы
Я замечаю, что проблема в основном представляет собой двухсторонний график. проблема брака также является двудольным графом, который вы можете решить, используя соответствующий алгоритм, например Алгоритм соответствия Edmonds.
Но это предполагает, что каждый node в одном наборе node соответствует только одному node в другом наборе node. В моем случае каждый питомник работал только на один временной интервал. Поскольку мы серьезно недоукомплектованы, это не сработает! Куча людей придется работать два раза в месяц, чтобы заполнить все временные интервалы.
Это похоже на то, что это больше похоже на классическую проблему "больницы/жители". Он отличается от проблемы брака тем, что "женщины" могут принимать "предложения" от более чем одного "мужчины" (например, больница может принимать нескольких жителей). В моем случае детский работник может взять более одного временного интервала.
Что теперь?
Уф!
Теперь, когда у меня есть настроение... знает ли кто-нибудь какие-либо хорошие ссылки, которые объясняют или показывают такой алгоритм? Есть ли лучшие способы решения этого? Думаю ли я это? Я сделал поиск Google для "алгоритмов жителей больниц" и нашел документы студента-градиента. Г! Я закончил с дипломом CS и взял класс AI... но это было 6 лет назад. Помогите!
Приветствуется совет аааани!