Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

GENERATION SCHEDULE FOR THE UNIVERSITY USING GENETIC ALGORITHM

Maslov A.S. 1 Belov Y.S. 1
1 Kaluga Branch of Bauman Moscow State Technical University, Russia (National research university of technology)
The article sets out the views on the use of genetic algorithms in the process of generating a schedule for the University. Mandatory and desirable requirements to the University schedule are put forward. It describes the basic information of the basic mathematical sets that characterize the mathematical model of the University: many disciplines, many study groups, many teachers, many classrooms, and many time intervals. It describes the basic entities necessary for drawing up any timetables in the University: the audience; the time intervals; the teacher, the discipline, study groups. Various limiting obligatory and desirable conditions of reliability of the generated schedule are considered and mathematically proved. The efficiency of the schedule generation system based on genetic algorithms rather than other algorithms is indicated. The stages of building a schedule model are considered. The composition of the gene for the genetic algorithm obtained based on the constructed mathematical sets is considered. The stages of implementation of the genetic algorithm are examined. The article describes in detail what each stage of the genetic algorithm is responsible for: the formation of the initial population, the selection of individuals, the crossing (crossing over), the mutation, the checking the stopping conditions of the algorithm, the choice of the best individual. The results of the algorithms generation schedule are considered in relation to the scheduling manually time Manager and taking into account the preferences of both parties: teachers and students.
genetic algorithms
generation schedule
schedule optimization

Введение. Вопрос создания оптимального расписания для университета стоит очень давно. Расписание является неотъемлемой частью при планировании учебного процесса, так как без него не может функционировать ни одно учебное заведение. Создание расписания и организация учебного процесса занимает много времени для человека, поскольку необходимо учитывать множество различных факторов, в качестве которых могут выступать комфортные условия обучения у студентов, удобное время проведения занятий для преподавателей, ресурсы университета и т.д. Подходы к решению задач со столь большим количеством учитываемых параметров можно отнести к технологиям больших данных [1,2], а по сложности генерация расписания относится к классу NP-полных задач. Современные технологии позволяют автоматизировать и ускорить этот процесс в тысячи раз. Это стало возможно с появлением эвристических методов, одним из которых является рассматриваемый в данной статье генетический алгоритм. Для таких алгоритмов имеется сильная зависимость под конкретное учебное заведение, что не позволяет сделать универсальную систему. Эти алгоритмы помогают не только автоматизировать создание расписания, но и создать оптимальное расписание с учетом многих предпочтений. В данной обзорной статье будут рассматриваться материалы, взятые из других источников.

Математическая часть. При составлении расписания существуют обязательные и дополнительные, так называемые желательные, требования [3,4,5], которые могут меняться в зависимости от учебного заведения.

Обязательные требования:

  • Аудитория должна вмещать всех студентов, обучающихся в текущий период.   
  • Аудитория должна быть оборудована соответствующим образом.
  • Отсутствие не состыковок в расписании.
  • Полное выполнение учебного плана.
  • У преподавателей и студентов не должно быть больше 3-х лекций в день.
  • Желаемое количество пар в день не более 5 (в субботу - не более 3).

Дополнительные (желательные) требования:

  • У студентов отсутствуют «окна».
  • В начале учебного дня рекомендуется проводить лекционные занятия, затем –практические.
  • Минимальное количество переходов между корпусами/аудиториями.
  • Пожелания преподавателей.

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

Начальная информация — это множества [6,7]:

  • Преподаватели
  • Читаемые дисциплины
  • Группы
  • Временные интервалы
  • Аудитории

В качестве теоретико-множественной модели можно рассматривать функцию, отображающую декартово произведение множеств на булево множество.

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

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

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

Таким образом получается:

Каждая аудитория имеет расположение – корпус при наличии нескольких, этаж и сам кабинет, пример 5 – 108, где первая цифра показывает в каком корпусе находится аудитория, 1 – показывает на каком этаже, 08 обозначает номер аудитории. Таким образом для формального описания аудитории введем 3-арный кортеж:

 где - корпус,  - номер аудитории,  - тип аудитории.

2.                      Временной интервал. Расписание обычно составляется на один семестр, в котором известно количество недель обучения, учебных дней и пар в день. Поэтому каждую составляющую множества T можно обозначить в виде 3-арного кортежа:

 где  – номер недели,  - номер дня недели, - номер пары в учебном дне.

3.                      Множество, связывающее между собой преподавателей, читаемые дисциплины и группы. При создании расписания в нашем распоряжении есть список преподавателей, учебных групп и проводимых для них занятий. Благодаря этим данным мы можем сделать вывод в каких группах какие предметы должны быть проведены и какими преподавателями. Из-за всех этих связей можно выделить новую структуру – занятие, представляющее собой множество .

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

Таким образом, при составлении расписания нам необходимо три множества , которые можно определить следующими векторами:

- номер аудиторий для цикла занятий .

- номер пары из цикла  первого занятия.

Математическая модель создания расписания для учебного заведения выражается в задаче нелинейного булева программирования с ограничивающими условиями. Такая форма способствует принятию во внимание все условия, предъявляемые к данной модели.

Ограничивающие условия:

  • Отсутствие проблем для ведения занятий у преподавателей и групп в допустимых аудиториях.
  • Недопустимость «окон» в учебных днях для обучающихся.
  • Максимальное число занятий в день не должно превышать указанного порога.
  • Аудитория должна соответствовать типу проводимого предмета.
  • Полное выполнение учебного плана.

Математическая модель приведённых выше ограничивающих условий очень подробно приведена в статье [8].

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

Благодаря математической модели мы определили, что особь будет состоять из двух хромосом: первая - вектор , вторая - вектор .

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

Алгоритм будет содержать следующие этапы:

  • Формирование начальной популяции.

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

  • Селекция особей.

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

Функция пригодности – оценка значений пригодности особей и выбор лучших, более приспособленных особей. Свободные места в данной популяции заполняются в результате следующего шага.

  • Скрещивание (кроссинговер).

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

  • Мутация.

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

  • Проверка условия останова алгоритма.

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

  • Выбор максимально подходящей особи.

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

Вывод. По полученным данным, взятым из рассматриваемых источников, видно, что генерация расписания на основе генетических алгоритмов позволяет сократить время создания расписания до нескольких минут, что в сравнении с ручным составлением, которое занимает до нескольких недель, на порядок выше. Помимо этого, такая автоматизация позволяет учитывать интересы обеих сторон: и преподавателей, и студентов [9].

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