УДК 004.02
О ПОСТАНОВКЕ ЗАДАЧИ СОСТАВЛЕНИЯ РАСПИСАНИЙ ДЛЯ ВУЗА
© 2012 г. А.Н. Иванченко, А.Ю. Абухания
Южно-Российский государственный South-Russian State
технический университет Technical University
(Новочеркасский политехнический институт) (Novocherkassk Polytechnic Institute)
Выполняется формализация основных элементов задачи составления расписания учебных занятий для вуза. Проводится анализ «жестких» и «мягких» ограничений. Описывается общая схема решения задачи.
Ключевые слова: расписание занятий вуза; «жесткие» и «мягкие» ограничения; оперативный учебный план; статические и динамические ограничения.
In article running a formalization of the basic elements of the problem of scheduling training sessions for high school. Analyzed «hard» and «soft» constraints. Describes the general scheme of solving the problem.
Keywords: university course scheduling; «hard» and «soft» constraints; online curriculum; static and dynamic constraints.
Деятельность любого вуза включает множество последовательно и параллельно выполняющихся процессов различных видов (семестровые учебные занятия, экзаменационные сессии, исследовательская работа студентов, научные мероприятия и др.), которые используют общие ресурсы (аудитории и лаборатории, исследовательское и производственное оборудование, компьютерную и презентационную технику, преподавателей). В этих условиях актуальной является задача повышения эффективности деятельности вуза путем разработки и реализации методов, моделей и программного обеспечения для составления рациональных расписаний различных процессов [1 - 3].
Остановимся на понятии «процесс». Очевидно, существует иерархическая вложенность процессов. Например, процесс обучения студента в вузе состоит из последовательности подпроцессов: обучение на 1 курсе, обучение на 2 курсе и т.д., каждый из которых также включает последовательность своих подпроцессов: обучение в осеннем семестре, сдача экзаменов в зимнюю экзаменационную сессию и т.д. Будем считать, что на нижнем уровне этой иерархии находятся учебные занятия - «элементарные процессы» (ЭП), представляющие собой совокупность взаимосвязанных ресурсов и деятельности, привязанных к определенному временному интервалу.
Выполним формализацию понятий «ресурс», «временной интервал», «деятельность» и «расписание» в рамках рассматриваемой предметной области
[4].
В качестве ресурса будем рассматривать аудиторный фонд вуза - множество А = {а,-}. Перечисление элементов данного множества не составляет труда -достаточно выполнить сквозную нумерацию всех
учебных аудиторий университета. Однако, имея в виду необходимость проверки в процессе составления расписания различных условий «пригодности» конкретной аудитории а- для конкретной деятельности, будем считать - мультииндексом: - =(-ь,-а,-с, -I), где -ь = 1,...,пь - номер учебного корпуса в кампусе университета; -а = 1,...,па - номер аудитории в учебном корпусе; ]с = 1,...,пс - индекс вместимости аудитории (например, аудитория на 25, 50 или 100 человек); -I = 1,...,п - тип аудитории (например, лекционная, компьютерный класс, лаборатория электроники и т.п.).
Для формализации понятия временной интервал отметим, прежде всего, что расписание занятий составляется на определенный период обучения. Существует два подхода в задании периода для составления расписания.
При первом подходе в качестве периода берется «естественный» период учебного плана - семестр, при втором - одна учебная неделя или две подряд идущие недели (первая и вторая, «синяя» и «красная» и т.п.). Первый подход («семестровое расписание») является наиболее точным, так как позволяет:
- учитывать текущие особенности календаря (праздничные дни);
- устанавливать для каждой дисциплины индивидуальные сроки ее изучения;
- рационально распределять различные виды занятий и контрольные мероприятия по дисциплине в течение периода ее изучения (например, обеспечить «начитывание» лекций в начале изучения дисциплины) и пр.
Второй подход («недельное расписание») проще в реализации, более понятен участникам образовательного процесса (преподавателям и студентам) в силу ритмичности недельного расписания, однако имеет существенные недостатки:
- все виды занятий по всем дисциплинам должны планироваться на весь семестр, что влечет также необходимость планирования зачетной сессии в конце семестра;
- объем каждого вида занятий по каждой дисциплине должен быть кратен продолжительности семестра в неделях;
- неизбежные «потери» части учебных занятий в праздничные дни.
Заметим, однако, что эти особенности не влияют на формальную постановку задачи составления расписания - мы рассматриваем лишь понятие «период составления расписания», в качестве которого в последующем может выступать неделя, две недели или семестр.
По существующей в вузах традиции продолжительность любого учебного занятия составляет 2 академических часа, называемых «парой», которая обычно равна 90 мин; время начала каждой пары фиксировано, а рабочий день может вместить, например, 7 пар, начинающихся в 8-00, 9-45, 11-30, 13-15, 15-00, 16-45, 18-30. Именно «пара» и составляет элементарный временной интервал ti, а совокупность всех временных интервалов в отрезке времени, соответствующем периоду составления расписания, и образует множество Т = которое используется в процессе составления расписания.
Для удобства выполним структуризацию множества Т, считая i мультииндексом:
образом, деятельность характеризуется тройкой объектов:
= {gk > dq > Pi).
' = {'w >'d > 'p )
где iw = 1,...,пк - номер недели в пределах периода; id = 1,...,па - номер дня недели (обычно па = 5 или 6); ip = 1,...,пр - номер пары (например, пр = 7).
Подобная структуризация позволяет оценить мощность множества Т. Так, при двухнедельном периоде планирования получим |Т| = 2*6*7 = 84.
Определим теперь понятие деятельность. Вначале приведем несколько остенсивных определений данного понятия: «лекция по дисциплине «Программирование» для потока из двух групп, которую читает профессор Иванов И.И.», «лабораторное занятие по физике для подгруппы, которое проводит ассистент Петров П.П.» и т.п. При формализации очевидным образом выделяются: gk - группа обучаемых (множество обучаемых на данном занятии, которое не обязательно совпадает с академической студенческой группой и может быть частью группы или «потоком» из нескольких академических групп), dq - изучаемая
дисциплина (совокупность названия дисциплины и вида учебного занятия) и р1 - преподаватель. Таким
Р
Будем называть в дальнейшем эту тройку учебной единицей (teaching unit). Совокупность всех учебных единиц вуза для рассматриваемого периода составления расписания образует множество U = {up}. Заметим, что U является мультимножеством:
U = {(up, np)},
где np - кратность элемента up, равная количеству повторений учебной единицы в течение расчетного периода (например, лекция по дисциплине «Математика» для заданного потока должна быть проведена 3 раза в течение двух недель).
Исчерпывающее перечисление элементов множества U можно получить, обработав все учебные планы вуза, действующие в заданном расчетном периоде. В последующем под учебным планом (УП, Curriculum) подразумевается нормативный документ, определяющий содержание и организацию подготовки по конкретной специальности (или по направлению подготовки), последовательность, объемы и сроки изучения дисциплин, виды учебных занятий. Учебный план -это наиболее полное, исчерпывающее «хранилище» всех данных, определяющих образовательные процессы по специальности (направлению) на протяжении всего периода освоения студентом образовательной программы (ОП, Academic Program).
Учитывая, что в вузах применяется групповая форма организации обучения, т.е. одним из субъектов образовательного процесса всегда является группа обучаемых, уточним смысл термина «группа». Отметим, что между сущностями «обучаемый» и «группа» существует отношение «многие ко многим», т.е. один обучаемый может входить одновременно во множество групп. Так, основной структурной единицей студенческого контингента вуза является академическая группа, которая, как правило, формируется в момент зачисления в вуз из студентов одной специальности или направления и существует в течение всего периода обучения. Однако при планировании образовательного процесса на конкретный период времени (например, семестр) формируются различные учебные группы (study group), которые в большинстве случаев можно отнести к следующим видам:
- учебная группа совпадает с академической группой (такие группы используются при проведении практических занятий, семинаров, лекций по специальным дисциплинам);
- учебная группа включает несколько академических групп (такие группы называются потоками и используются, как правило, при проведении лекций; в поток могут входить академические группы одной специальности, нескольких специальностей одного факультета или академические группы разных факультетов);
- одна академическая группа разбивается на несколько учебных групп, которые в этом случае называются подгруппами (подгруппы используются при проведении лабораторных занятий).
С целью упрощения примем, что для текущего периода планирования расписания сформирован полный перечень учебных групп для всего вуза: G = ^к} и для каждого gk задан свой «оперативный учебный план группы» (ОУПГ) в виде множества «троек» р1, пр}. Приведем примеры (табл. 1 и 2).
Таблица 1
Учебный план потока ФИТ 3-5, 3-5б на весну 2011-12 уч. года
Дисциплина dq Преподаватель Pi Часов в неделю Пр
Сети ЭВМ (лек.) Сидоров С.С. 3
Функциональное и логическое программирование (лек.) Григорьев Г.Г. 3
Объектно-ориентированное программирование (лек.) Иванов И.И. 3
Параллельное программирование (лек.) Петров П.П. 2
Таблица 2
Учебный план ФИТ 3-5б (1-я подгруппа) на осень 2011-12 уч. года (gk)
Дисциплина dq Преподаватель Pi Часов в неделю Пр
Базы данных и СУБД (лаб.) Миронова М.И. 2
Компьютерная графика (лаб.) Семин П.И. 2
Теория вычислительных процессов (лаб.) Гаврилов А.И. 2
Базы данных и СУБД (лаб.) Миронова М.И. 2
Очевидно, что составление подобных ОУПГ является рутинной процедурой обработки учебных планов специальностей и достаточно просто автоматизируется. Заметим, что каждый из ОУПГ является подмножеством множества U для фиксированного элемента gk, а все множество U определяется множеством ОУПГ вуза.
Сделаем важное замечание относительно существующей зависимости между учебными группами, которая при составлении расписания проявляется как одно из «жестких» ограничений. Так, если gi ° gj ^^ , то учебным группам gi и g- не могут
планироваться занятия на одну и ту же пару. Для определенности примем, что зависимость учебных групп
задана булевой матрицей BG = {bgj} (0 - нет зависимости, 1 - есть зависимость).
Перейдем к формализации понятия расписание. Проведенная выше формализация понятий ресурс, временной интервал и деятельность позволяет рассматривать расписание (schedule) как некоторое однозначное отображение s из множества U во множество (декартово произведение) T х A:
s: U^ T х A .
Иными словами, расписание s ставит в соответствие каждой учебной единице упорядоченную пару (временной интервал, аудитория). Удобной графической иллюстрацией для отображения s может служить следующая таблица (бинарная матрица F), каждая строка которой содержит точно одну единицу:
(ti, ai) (ti, a2) ... (ti, aA (h, ai) ■■■ (tnT, а„л)
0 i 0 0 0
0 0 0 i 0
0 0 i 0 0
Пусть S - множество всех возможных отображений для заданных U, T и A. Очевидно, что не каждое отображение из S можно считать расписанием из-за возможной его физической нереализуемости. Так, например, два элемента из множества S приведут к нереализуемости всего отображения s, если в один и тот же временной интервал конкретный студент должен находиться в разных аудиториях (это соответствует случаю bgy = 1). Будем считать, что требование физической реализуемости сформулировано некоторым набором «жестких» ограничений Rh [4 - 6]. Теперь множество отображений из S, удовлетворяющих всем ограничениям из Rh, можно назвать множеством расписаний Sh с S. Заметим, что некоторые из жестких ограничений можно интерпретировать как априорный запрет на использование определенных ячеек матрицы F. Будем считать, что в такие ячейки записывается специальное значение «и/a» (not available).
Рассмотрим перечень «жестких» ограничений:
1. Условие доступности аудиторий - предполагается, что каждая аудитория имеет свой график доступности, запрещающий ее использование в определенные временные интервалы. Это означает, что некоторые столбцы матрицы F должны быть заранее вычеркнуты (или заполнены значениями «n/a»). Подобное ограничение можно назвать статическим, так как его выполнение обеспечивается до решения задачи составления расписания и приводит к простому сужению области поиска решения.
2. Условие доступности преподавателей - предполагается, что преподаватель может иметь свой «график присутствия», означающий, что в определенные временные интервалы он находится вне вуза и не
может участвовать в учебном процессе. Это также статическое ограничение, и его выполнение сводится к априорной расстановке некоторого количества значений «п/а» в строках матрицы F, соответствующих заданному преподавателю.
3. Условие совместимости двух учебных единиц ui и означающее, что в заданном временном интервале (паре) каждый студент и каждый преподаватель может участвовать только в одном элементарном процессе. Проверка данного ограничения сводится к вычислению пересечения ui П и - если оно пусто, то учебные единицы ui и и совместимы. Заметим, что данное ограничение является динамическим, так как его нужно проверять только в процессе решения задачи, однако для сокращения вычислений соответствующая булева матрица Ви может быть сформирована заранее.
4. Условие совместимости учебных единиц и аудиторий, которое предполагает существование списка допустимых аудиторий для каждой учебной единицы. Допустимость может быть связана как с вместимостью аудитории, так и с ее специализацией (поточная лекция не может проводиться в лаборатории, лабораторное занятие по механике не может проводиться в химической лаборатории и т.п.). Это - статическое ограничение, и его выполнение также сводится к априорной расстановке некоторого количества значений «п/а» в строках матрицы F.
5. Условие «достижимости»: две аудитории, назначаемые в расписании в смежных временных интервалах, могут оказаться «недостижимыми» по отношению к преподавателю или студентам, если расстояние между соответствующими учебными корпусами велико (динамическое ограничение).
Наряду с «жесткими» ограничениями принято рассматривать и «мягкие» ограничения Rm, которые могут быть нарушены, и в целом степень нарушения совокупности таких ограничений может характеризовать «качество» расписания [1, 4 - 6].
Рассмотрим перечень «мягких» ограничений:
1. Количество учебных занятий в день, проводимых преподавателем, не должно превышать заданного значения Wp. Проверка данного ограничения может быть выполнена достаточно эффективно с учетом того, что индексы р для ир и i для являются мульти-индексами (т.е. в индексе р содержится индекс преподавателя I, а в индексе i содержится номер дня недели й).
2. Количество учебных занятий в день, на которых должен присутствовать студент, не должно превышать заданного значения Ws. Проверка данного ограничения производится с использованием вышеупомянутой булевой матрицы BG.
3. Учебные занятия, планируемые преподавателю на конкретный день, должны быть расположены в смежных временных интервалах (без «окон»). Соответственно, количество таких «окон» может служить мерой качества расписания.
4. Учебные занятия, планируемые студенту на конкретный день, также должны быть расположены в
смежных временных интервалах (без «окон»), а количество «окон» влияет на оценку качества расписания.
5. Желательно отсутствие «переходов» между учебными корпусами в течение дня как для преподавателей, так и для студентов (соответственно, количество переходов служит мерой качества расписания).
6. Желательно планировать лекции в начале рабочего дня и не чередовать их с занятиями других видов.
7. Количество избыточных мест в аудитории по отношению к количеству студентов не должно быть большим.
8. Обеспечение режима двухсменной работы вуза, когда за каждым из факультетов для текущего учебного года закрепляется определенная «смена» (1-я или 2-я), означающая желательность планирования занятий для студентов в определенные временные интервалы, например, для первой смены - пары с 1 по 5, а для второй с 3 по 7. Отклонение от рекомендуемой сменности влияет на качество расписания.
Можно предположить, что приведенный список «мягких» ограничений не является исчерпывающим и может расширяться.
Выполненная формализация задачи составления расписания учебных занятий для вуза позволяет предложить следующую схему решения задачи:
1. Подготовка исходных данных: формирование множеств и, Т и А. Это - достаточно рутинный процесс, однако в силу больших размеров данных множеств и наличию в них структурных особенностей (что выражается использованием мультииндексов) его реализация должна опираться на тщательную проработку соответствующих структур данных (информационной модели) и предусматривать разработку программных средств автоматизации обработки данных с «дружественными» пользовательскими интерфейсами.
2. Формирование исходного состояния для матрицы F путем обработки массива статических ограничений, а также формирование вспомогательных булевых матриц BG (зависимость учебных групп) и Ви (зависимость учебных единиц).
3. Генерация «нулевого» приближения - допустимого расписания 5 £ Sh на сформированной матрице F, удовлетворяющего динамическим ограничениям, и оценка его «качества» путем свертки векторного критерия, в котором частные критерии являются мерой оценки степени нарушения «мягких» ограничений.
4. Организация итерационного процесса улучшения текущего расписания путем использования какого-либо из известных методов дискретной оптимизации [4 - 6].
Литература
1. Завьялов А.М., Новиков А.В. Автоматизация задачи составления учебного расписания [электронный ресурс] //
Системный анализ в науке и образовании : электрон. журн. 2009. № 1. http://www.sanse.ru/archive/12 (дата обращения: 02.07.2012).
2. Добрынин В.Н., Миловидова А.А. Технология оценки сложности для выбора метода решения задачи составления расписания [электронный ресурс] // Системный анализ в науке и образовании : электрон. журн. 2011. № 4. URL: http://www.sanse.ru/archive/22 (дата обращения: 02.07.2012).
3. Ерунов В.П., Морковин И.И. Формирование оптимального расписания учебных занятий в вузе // Вестн. ОГУ. 2001. № 3. С. 55 - 63.
4. University course scheduling using parallel multi-objective evolutionary algorithms [электронный ресурс] / M.M. Al-dasht, M.H. Saheb, I. Najjar, M.H. Tamimi, T.O. Takruri // J. Theor. and Appl. Information Technology. 2010. Vol. 22, № 2. P. 129 - 136. URL: http://www.jatit.org/volumes/researchpa-
Поступила в редакцию
pers / Vol22No2/8Vol22No2.pdf (дата обращения: 02.07.2012).
5. Oluwasefunmi T. Arogundade, Adio T. Akinwale, Omotoyo-si M. Aweda A. Genetic Algorithm Approach for a Real-World University Examination Timetabling Problem [электронный ресурс] // Int. J. Computer Applications. 2010. Vol. 12, № 5, December 2010. 4 p. URL: http://www.ijcaonline.org/volume12/number5/pxc3872083. pdf (дата обращения: 02.07.2012).
6. Ramirez E.R. Using genetic algorithms to solve high school course timetabling problems : A Thesis Presented to the Faculty of San Diego State University. In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science [электронный ресурс]. 2010. 57 р. URL: http://sdsu-dspace.calstate.edu/xmlui/bitstream/handle/ 10211.10/ 567/ Ramirez_Eugene.pdf (дата обращения: 02.07.2012).
1 августа 2012 г.
Иванченко Александр Николаевич - канд. техн. наук, профессор, кафедра «Программное обеспечение вычислительной техники», Южно-Российский государственный технический университет (Новочеркасский политехнический институт). E-mail: [email protected]
Абухания Амер Юсеф - аспирант, кафедра «Программное обеспечение вычислительной техники», ЮжноРоссийский государственный технический университет (Новочеркасский политехнический институт). E-mail: [email protected]
Ivanchenko Alexander Nikolaevich - Candidate of Technical Sciences, professor, department «Software computer engineering», South Russia State Technical University (Novocherkassk Polytechnic Institute). E-mail: [email protected]
Abu hania Amer Yusef - post-graduate student, department «Software computer engineering», South Russia State Technical University (Novocherkassk Polytechnic Institute). E-mail: [email protected]