Научная статья на тему 'Алгоритм оптимизации учебного расписания в вузе'

Алгоритм оптимизации учебного расписания в вузе Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2337
273
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТОМАТИЗАЦИЯ УПРАВЛЕНИЯ УЧЕБНЫМ ПРОЦЕССОМ / AUTOMATING THE MANAGEMENT OF EDUCATIONAL PROCESS / АЛГОРИТМ СОСТАВЛЕНИЯ РАСПИСАНИЯ / ALGORITHM FOR SCHEDULING / ОПТИМИЗАЦИЯ РАСПИСАНИЯ / OPTIMIZATION OF THE SCHEDULE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шишканова Татьяна Андреевна

Изложен алгоритм оптимизации автоматизированного составления учебного расписания в вузе.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE OPTIMIZATION ALGORITHM IN HIGH SCHOOL CURRICULA

The aim of this work a statement of the optimization algorithm automated the compilation of curricula in higher education.

Текст научной работы на тему «Алгоритм оптимизации учебного расписания в вузе»

- Т.А. Шишканова, 2015

УДК 37:004

Т.А. Шишканова

АЛГОРИТМ ОПТИМИЗАЦИИ УЧЕБНОГО РАСПИСАНИЯ В ВУЗЕ

Изложен алгоритм оптимизации автоматизированного составления учебного расписания в вузе.

Ключевые слова: автоматизация управления учебным процессом, алгоритм составления расписания, оптимизация расписания.

Качество подготовки специалистов в вузах и особенно эффективность использования научно-педагогического потенциала зависят в определенной степени от уровня организации учебного процесса. Немалую роль в котором играет учебное расписание. Автоматизировать процесс составления расписания занятий достаточно сложно из-за неоднозначности параметров оптимизации, их достаточно много и они субъективны, поэтому сложно поддаются формализации. Поэтому задачу автоматизации составления расписания предлагается решать в два этапа:

1. Получение оптимального расписания в соответствии с наложенными ограничениями;

2. Редактирование диспетчером полученного расписания (при необходимости).

Для того чтобы определить параметры оптимизации и свести решение данной задачи к уже известному решению обозначим условия, без выполнения которых составление расписания невозможно:

• Вместительность аудиторий должна быть достаточной для учебного плана, которые в ней занимаются, при

этом возможен вариант, «поточной аудитории», когда в одной аудитории проводятся занятия одновременно для нескольких групп студентов. Для проверки этого условия подсчитаем общий объем аудиторного фонда в человекочасах за семестр.

V = р ■ т, (1)

где р - количество посадочных мест во всех аудиториях, т - количество часов в учебном плане. Затем рассчитаем общую нагрузку за семестр N = в ■ т, (2)

где в - количество студентов. И сравниваем полученные величины. Если то будем считать, что первое условие выполнено.

• Должны выполняться требования к оборудованию аудиторий, в которых проводятся занятия: поточная аудитория, компьютерный класс, лингафонный класс, лаборатория, спортивный зал и т.д. И их вместимость должна быть достаточной для проведения специализированных занятий в соответствии с учебным планом. Для проверки этого условия, необходимо составить сводную таблицу, в которой будут отображены данные о спе-

Таблица 1

Тип аудитории Лекционная Лаборатория Компьютерный класс Спортивный зал

№ ауд.

Кол-во мест

циализированном аудиторном фонде (табл. 1).

После того, как таблица заполнена, необходимо провести расчеты, по аналогии с первым условием. Если потребность в специализированных аудиториях удовлетворена, можем автоматизировать процесс составления расписания. Кроме основных ограничений, налагаемых на расписание, учитывается множество дополнительных факторов:

• требования САНПИНа;

• традиции вуза;

• субъективные предпочтения.

Так к дополнительным условиям

можно отнести:

• лекции должны проводиться в начале дня, практики - в конце;

• учебная нагрузка каждой группы должна распределяться равномерно по всем дням недели;

• в занятиях студентов не должно появляться окон, в то же время возможно наличие окна в расписании преподавателя [1];

• по возможности, преподавателям должны предоставляться дни, удобные для них;

• в пятницу количество занятий должно быть меньше, чем в остальные дни недели;

• первым занятием в понедельник должен идти относительно простой предмет, иначе успеваемость студентов может существенно снизиться;

• занятия в лабораториях должны проводиться после теоретических занятий;

• учебные занятия должны начинаться в одни и те же часы, с перерывами 10 минут между занятиями и одним общим перерывом 40 минут;

• следует предусмотреть время для проведения консультаций и факультативов.

В результате анализа требований к составлению учебного расписания, выявлена необходимость разработать

алгоритм, позволяющий изменять приоритеты ограничений, наложенных на расписание, и, при необходимости увеличивать их количество. В основе предлагаемого алгоритма лежит идея побалльной оценки расположения отдельного занятия в сетке расписании. Так, разработана шкала, в соответствии с которой каждому занятию присваивается некое базовое количество балов. После чего на него накладываются определенные условия, как обязательные, так и дополнительные. Например, занятия, проводимые преподавателем, приходящим только по четным дням недели имеют меньшую свободу расположения в расписании, чем, занятия проводимые преподавателем, приходящим каждый день.

Главным критерием, по которым будем оптимизировать расписание, является минимизация окон в учебном расписании студентов. В качестве математического аппарата будем использовать теорию расписаний, где основным понятием является понятие операции. Операция рассматривается как элементарная задача, подлежащая исполнению. Каждая операция характеризуется:

1) индексом принадлежности к определенной работе [2];

2) индексом принадлежности к определенной машине [2];

3) числом, представляющим собой длительность операции [2].

По первому индексу все множество операций разбивается на систему непересекающихся подмножеств, называемых работами, т.е. формируется «сетка» расписания. Разбиение исходного множества по второму индексу приводит к взаимно непересекающимся подмножествам операций, относящихся к определенным машинам [2].

Применительно к нашему алгоритму: машины - это учебные классы, работа, выполняемая машиной - за-

Рис. 1

нятие, которое проводится преподавателем в данной аудитории.

Часто бывает удобно представлять упомянутые соотношения в виде ориентированного графа (рис. 1). Вершины (узлы) графа изображают операции, а дуги - отношение непосредственного предшествования. Две вершины связаны отношением порядка, если существует путь между ними [2].

Машиной будем называть устройство, способное выполнить все, что связано с некоторой операцией, системой обслуживания - множество всех машин, используемых для выполнения некоторого множества операций. Совокупность машин, работ (операций) и дисциплин назначения операций соответствующим машинам называется процессом обслуживания [2].

Составление расписания для процесса обслуживания означает, что для каждой операции на временной оси задается участок, когда эта операция должна выполняться соответствующей машиной, т.е. что для каждой операции задается один или более интервалов (а1, Ь1), (а2, Ь2),... таких, что

• (Ь1 - а1) + (Ь2- а2)+... - равно длительности операции;

• число а1Х - значение а1, относящееся к X, не меньше, чем а1У для двух операций X и У относящихся к одной работе и таких, что У < X;

• каждый из интервалов (а., Ь.) расположен целиком внутри одного из отрезков времени доступности соответствующей машины [2].

Обязательные ограничения, накладываемые на расписание:

1. Для каждой работы задается последовательность составляющих ее операций, она определяется техноло-

гическим процессом, в нашем случае это последовательность определяется внутренним регламентом вуза, например, проведение одного занятия состоит из следующей последовательности 40 минут занятие - 5 минут перерыв - 40 минут занятие.

2. Запрещено «перекрытие» занятий. Все работы представляют собой строго упорядоченные последовательности операций. Для заданной операции X существует не более одной операции У такой, что У << X, и одной операции Е такой, что X << Е. Т.о. составление расписания может рассматриваться как задача упорядочения операций, выполняемых каждой машиной [2].

3. Отсутствует прерывания операций. Для каждой операции задан единственный интервал (а Ь), причем длительность операции равна (Ь - а) [2].

4. Каждая операция выполняется только одной машиной, т.е. каждое занятие проводятся в отдельной аудитории, отвечающей заданным требованиям (компьютерный класс, лаборатория, поточная аудитория и т.д.) [2].

5. В каждый момент времени машина может выполнять не более одной операции [2].

6. Количество рабочих мест в аудитории не меньше, чем количество учащихся.

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

Рассмотрим величины, используемые в дальнейшем как критерии оцен-

ки расписаний, и соотношения между ними. Исходные величины определяются спецификой решаемой задачи. Пусть система состоит из т машин, пронумеруем их 1, 2,..., т, так же пронумеруем и работы числами от 1 до п, и пусть г - момент готовности (момент начала занятия). Эта величина представляет собой момент поступления 2-й работы в систему, т.е. г. есть минимально возможное время начала первой из операций работы 2, 2 = 1,..., п;

- плановый (директивный) срок. Эта величина представляет собой момент, к которому 2-ая работа должна быть выполнена, т.е. представляет собой директивное время окончания операции [2].

Допустимая длительность прохождения работы в системе равна

а. = + г.

1 1 1

Достаточно задать две из трех величин г., а. Теоретически, безразлично какие две из них заданы, а какая находится из приведенного соотношения, поэтому для каждой работы все они считаются заданными.

Работа 2 состоит из д. операций. Для каждой операции задается набор следующих величин:

тп> *п>

т. ,

где т - номер машины, на которой выполняется операция ], 1 < т.. < т, 1. - длительность выполнения операции, т.е. длина интервала времени, требуемого машиной т1. для выполнения операции ].

о;

Ч = 1

1=г

(3)

t. - общая длительность всех операций работы 2 (длительность работы) [2].

Предположим, что t.. включает в себя все настройки машины, предшествующие выполнению операции, и все переналадки ее после выполнения операции. Подобное предположение равносильно тому, что длительности настройки машины не зависят от последовательности операций, то есть время, необходимое для подготовки машины к выполнению некоторой операции, не зависит от того, какую операцию последней выполнила машина. В большинстве случаев подобные предположения являются хорошим приближением к действительности и значительно упрощают математическую модель. Однако существуют случаи, когда такие предположения невозможны и нужно учитывать точные длительности настроек и возможную их зависимость от порядка выполнения операций.

Прежде чем начать составление расписания необходимо внести данные об учебной нагрузке, аудиторном фонде, преподавателях и учебных группах. После чего накладываются ограничения, и формируется расписание. На первом этапе случайным образом расставляются занятия, имеющие наименьшую степень свободы, в соответствии со шкалой:

1 - занятия, проводимые преподавателями только в определенные дни;

2 - занятия, для проведения которых требуется специализированное оборудование (лингафонный класс, спортивный зал, интерактивная доска, лабораторные стенды и т.д.);

3 - все остальные занятия.

В результате получаем некое сгенерированное расписание (табл. 2), которое дальше будем оптимизировать по отсутствию «окон» в расписании у студентов. Сначала формализуем описание «окон». Общую длитель-

Группа Дисциплина Преподаватель Тип занятия Доп. требования

1 пара И0-01 Философия Тихвинский П.Н. лекция нет

2 пара ЗИ-02 Иностранный язык Иванова Т.А. практика нет

3 пара - - - - -

4 пара ММ-01 Теория вероятностей и математическая статистика Белов Б.А. практика нет

5 пара

ность пребывания студентов в вузе в день можно рассчитать по формуле

' = 1(+ Д' >' (4)

где т - количество учебных пар за день, а Д - перерыв между двумя соседними занятиями. Чтобы избавиться от «окон», накладываем условие

(t ^ min(t)

I А ^ А_

А min = Кд • tn

(5)

где КД - количество учебных пар в этот день, а fn - время перерыва между двумя соседними занятиями, примем его равным десяти минутам. Д . = 10 КД.

min Д

Представим расписание, полученное после первой генерации в виде схемы рис. 2. На ней зеленым цветом отмечены занятия, имеющие вес равный 3 (в соответствии со шкалой), красным цветом отмечены «окна», желтым цветом - занятия, имеющие вес равный 1, при выполнении минимизации эти пары двигать нельзя. Голубым цветом отмечен резерв, который может быть задействован при составлении расписания.

Для того чтобы избавиться от «окон» воспользуемся методом прямого перебора. Будем пошагово анализировать сгенерированное расписание с целью нахождения занятий, имеющих вес равный 3 для замещения ими «окон».

1 пара 2 пара 3 пара 4 пара 5 пара

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 3

Занятия, имеющие одинаковый вес и участвующие в перестановке, равнозначны между собой (рис. 3).

В результате применения этого метода получим (рис. 4).

При необходимости могут быть добавлены и другие ограничения. Это добавляет алгоритму гибкость, при условии, что логика работы не ме-

няется. После этого полученное расписание передается диспетчеру для дальнейшей организации учебного процесса. При необходимости диспетчер может его модифицировать.

Большим преимуществом данного алгоритма является получение «рабочего» расписания уже после первой генерации. В предложенном алго-

ритме максимально учитываются пожелания преподавателей и интересы студентов, при этом все обязательные требования сохраняются (учебный план, нагрузка преподавателей).

Достоинством предложенного алгоритма является:

1. возможность решать задачи оптимизации расписания для систем, которые по каким-либо параметрам не могут быть описаны с помощью теории расписания;

2. возможность последовательной оптимизации по различным параметрам, отличающихся от предыдущих;

3. такой подход дает возможность объективно оценить влияние данного параметра на качество учебного процесса;

4. быстрота пересчета вычисляемых операций, за счет отсутствия необходимости возврата к предыдущим переборам.

СПИСОК ЛИТЕРАТУРЫ

1. Береговых Ю.В., Васильев Б.А., Володин Н.А. Алгоритм составления расписания занятий // Искусственный интеллект. -2009. - № 2.

2. URL: http://www.allmath.ru/applied-math/operations/operations27/operations. htm. 1ГШ

КОРОТКО ОБ АВТОРЕ_

Шишканова Татьяна Андреевна, аспирант, e-mail: [email protected],

Королевский институт управления, экономики и социологии.

UDC 37:004

THE OPTIMIZATION ALGORITHM IN HIGH SCHOOL CURRICULA

Shishkanova T.A., Graduate Student, e-mail: [email protected], Korolev Institute of Management, Economics and Sociology.

The aim of this work - a statement of the optimization algorithm automated the compilation of curricula in higher education.

Key words: Automating the management of educational process, algorithm for scheduling, optimization of the schedule.

REFERENCES

1. Beregovykh Yu.V., Vasil'ev B.A., Volodin N.A. Iskusstvennyi intellekt, 2009, no 2.

2. URL: http://www.allmath.ru/appliedmath/operations/operations27/operations.htm.

A

i Надоели баннеры? Вы всегда можете отключить рекламу.