Я рассматриваю гипотетическую проблему и ищу руководство о том, как подходить к решению проблемы с алгоритмической точки зрения.
Проблема:
Рассмотрим университет.У вас есть следующие предметы:
- Педагогический персонал.Каждый сотрудник преподает один или несколько документов.
- Студенты.Каждый студент берет одну или несколько работ.
- Комнаты.В комнатах обучается определенное количество студентов, и в них содержится оборудование определенного типа.
- Документы.Требуется определенный тип оборудования и определенное количество времени в неделю.
Предоставляется информация о зачислении (т. Е. Сколько студентов зачислено на каждый документ и какой персонал выделен для обучения каждому документу), как я могу рассчитать расписание, которое подчиняется следующим ограничениям:
- Персонал может учить только одной вещи за один раз.
- Студенты могут посещать только одну работу за один раз.
- В комнатах может находиться только определенное количество студентов.
- Документы, требующие определенного типа оборудования, могут храниться только в комнате, в которой предоставляется оборудование такого типа.
- Часыс понедельника по пятницу, 8-12 и 1-5.
Обсуждение:
На самом деле я не слишком обеспокоен ситуацией, описанной выше- это общий класс проблем, который мне интересен.На первый взгляд мне кажется, что это хорошо подходит для генетического алгоритма, но функция пригодности для такого алгоритма была бы невероятно сложной.
Какой хороший подход для решения такого рода проблем, удовлетворяющих ограничениям??
Я думаю, что, вероятно, нет способа решить эту проблему идеально, поскольку учащиеся вполне могут взять комбинацию бумаг, которая приводит к невозможным ситуациям, особенно с ростом числа студентов и бумаг.