О постановке задачи составления расписаний для вуза

УДК 004.02

О ПОСТАНОВКЕ ЗАДАЧИ СОСТАВЛЕНИЯ РАСПИСАНИЙ ДЛЯ ВУЗА

© 2012 г. А.Н. Иванченко, А.Ю. Абухания

Южно-Российский государственный South-Russian State

технический университет Technical University

Выполняется формализация основных элементов задачи составления расписания учебных занятий для вуза. Проводится анализ «жестких» и «мягких» ограничений. Описывается общая схема решения задачи.

Ключевые слова: расписание занятий вуза; «жесткие» и «мягкие» ограничения; оперативный учебный план; статические и динамические ограничения.

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б

Дисциплина 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), каждая строка которой содержит точно одну единицу:

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: ian2008.52@mail.ru

Абухания Амер Юсеф - аспирант, кафедра «Программное обеспечение вычислительной техники», ЮжноРоссийский государственный технический университет (Новочеркасский политехнический институт). E-mail: am27er@gmail.com

Ivanchenko Alexander Nikolaevich - Candidate of Technical Sciences, professor, department «Software computer engineering», South Russia State Technical University (Novocherkassk Polytechnic Institute). E-mail: ian2008.52@mail.ru

Abu hania Amer Yusef - post-graduate student, department «Software computer engineering», South Russia State Technical University (Novocherkassk Polytechnic Institute). E-mail: am27er@gmail.com