Расписание
От: Аноним  
Дата: 14.07.05 21:43
Оценка:
Подскажите алгоритм оптимизации расписания в ВУЗе
Re: Расписание
От: Аноним  
Дата: 15.07.05 09:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Подскажите алгоритм оптимизации расписания в ВУЗе


перебор- универсальный и незаменимый, со всякими условиями и ограничениями конечно.
или искусственный интеллект
Re[2]: Расписание
От: Cruelty  
Дата: 15.07.05 10:17
Оценка:
С практической или теоретической точки зрения?

Если с практической, то лучше оставить как было раньше . А вообще всегда
будут уважаемые преподаватели, которые хотят преподавать в четверг с 10 до
12 и вся оптимизация полетит к черту.

Если с теоретической то надо определить набор жестких условий (время
открытия здания, не больше одной лекции в одной аудитории в один момент
времени, одна группа студентов может быть только на одной паре в любой
момент времени и т.д. и т.п.). Ети условия должны жестко выполнятся -- иначе
расписание недопустимое. После етого надо определить набор мягких условий
(чтобы у студентов и преподавателей не было форточек, чтобы Николай Адамович
мог в четверг с 10 до 12 провести лекцию и т.п.). За нарушение мягких
условий надо накладывать штраф.

После етого можно адаптировать, например, генетический алгоритм (или вообще
любой алгоритм локального поиска "Local Search").

Плохо только, что полученное расписание будет отвратительным и все равно
придет ся все делать руками. Просто я знаю много попыток автоматизации
составления расписаний в унииверситетах, которые делались на
соответствуюсчих кафедрах отпимизации и НИ ОДНА разработка не применяется на
практике.
Posted via RSDN NNTP Server 1.9
Re[3]: Расписание
От: Аноним  
Дата: 15.07.05 16:50
Оценка:
Здравствуйте, Cruelty! Спасибо за совет.


Подскажите ссылки на реализации подобных алгоритмов (желательно С/С++).
Не очень понятно как (по какому алгоритму) переставлять пары в уже готовом расписании с кучей штрафов.

А насчет пользы составления расписания хотел бы не согласится до конца. Так как одному человеку для прорисовки карандашем на бумаге недельного расписания факультета из 70 групп с боллее 200 преподавателями требуется неделя (сам пробовал). И программная генерация некоторого безошибочного варианта крайне необходима.
Re[4]: Расписание
От: mihart  
Дата: 27.12.05 11:15
Оценка:
Здравствуйте, Аноним, Вы писали:

Есть такая книга: Теория расписаний. под рукой к сожалению нет. Точно есть в интернете в формате Doc.

В свое время долго бился над задачей (про книгу не знал, а жаль), однозначно пришел к тому, что нужно сначала разбивать нагрузку по дням, а уж потом внутри дня. Также в первую очередь следует расставлять лекции на самые "вакантные" места. Под вакантными в первую очередь понимается время, которое позволяет объединить максимальное кол-во групп в одной аудитории и т.д.
При решении задачи предполагалось, что аудиторий реально не хватает.
Результата добился (писал на 2 курсе), скорость считаю достаточной. Основная часть расстановки занимает 2 минуты при таком подходе. Потом я еще запускал оптимизирующий бесконечный цикл, занимающийся фактически перестановками до тех пор пока его не прервет пользователь. Объективно: результат этого цикла не намного улучшал результат.

Самая большая заморочка с всякими практиками типа полгруппы на английском пол на французском.

P.S. Многое может подстказать по теме Билл Гейтс, он такие штуки писал!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.