Составление расписания (существует ли открытый проект?)

Обсуждаем вопросы продвижения Linux в школах, делимся опытом, рассказываем об успехах, просим помощи

Модератор: Модераторы разделов

Аватара пользователя
~karlson~
Сообщения: 21
ОС: Open SUSE 11.1; SLES 10 SP2

Re: Составление расписания

Сообщение ~karlson~ »

Paul_ls, спасибо, постараюсь разобраться с прогой и переводом. Чем смогу тем помогу. ;)
VENI VIDI VICI
Спасибо сказали:
Paul_ls
Сообщения: 154

Re: Составление расписания

Сообщение Paul_ls »

Portnov писал(а):
21.10.2008 09:18
Теоретически, возможно следующее решение. Пишется 'ядро' системы, которое умеет перебирать варианты расписания, исходя из основных условий (количество часов по предметам и преподавателям, количество аудиторий, минимизация 'окон'...). К нему пишутся модули, которые, используя функции ядра, перебирают варианты, проверяя какие-то дополнительные специфические условия (специфические для каждого учебного заведения). Человеку надо будет из возможных предложенных решений выбрать наиболее подходящее (под пожелания преподавателей, например). Т.е. комбинируем перебор с естественным интелектом. Получается не автоматическое составление расписания, а автоматизированное, но это может сильно увеличить производительность труда диспетчера...


См. FET. Программа написана именно модульно, модульнее некуда. Я бы даже сказал _очень_ не рационально. Код прямой как 3 копейки, после компиляции исполнимый модуль 130M! Зато разобраться с ним может и первокурсник, который в школе бейсик учил.
IMHO за базу можно взять легко, рекомендую посмотреть. Интерфейсная часть мне не нравится. Бесконечные меню это не наглядно и снижает эффективность работы, но зато сколько учтено факторов для расписания (некоторые я даже сам еще не понял)!
Спасибо сказали:
Аватара пользователя
IronSnake
Сообщения: 8
ОС: Debian Lenny

Re: Составление расписания

Сообщение IronSnake »

Хм... Позвольте и мне вставить свои 5 копеек... Есть у нас такой курс, как Теория Расписаний. Я на него, к сожалению, недоходил, однако, мне кажется, можно показать, что задача эта NP-hard in strong sense, тобишь не решаемая за полиномиальное время. Поэтому никаких алгоритмов, кроме эвристических, я здесь не вижу...
Спасибо сказали:
Ответить