Формирование расписания занятий университета с использованием методов ранжирования

Н.Н. Клеванский, С.С. Кашин

ФОРМИРОВАНИЕ РАСПИСАНИЯ ЗАНЯТИЙ УНИВЕРСИТЕТА С ИСПОЛЬЗОВАНИЕМ МЕТОДОВ РАНЖИРОВАНИЯ

Рассматривается применение методов многовекторного и многокритериального ранжирования для решения задачи составления расписания занятий университета.

Многовекторное и многокритериальное ранжирование,

формирование расписания занятий, «жесткое» ранжирование,

эффективность по Парето.

N.N. Klevanskiy, S.S. Kashin SOLVING THE UNIVERSITY COURSE TIMETABLING PROBLEMS BY THE USE OF RANKING METHODS

The article examines the use of multi-vectorial and multi-criteria ranking methods for the university course timetabling problem.

Multi-vectorial and multi-criteria ranking, timetabling, hard ranking,

Pareto efficiency.

Расписание занятий формируется на основе учебных поручений для проведения занятий. Учебные поручения включают дисциплину, присущие ей особенности (вид занятия и требования к аудитории), студенческий контингент и преподавателя. Задача составления расписания занятий университета формулируется следующим образом: для множеств учебных поручений на проведение занятий, таймслотов и аудиторий составить расписание, которое удовлетворяет всем обязательным ограничениям и минимизирует количество нарушений желательных ограничений [ 1].

Алгоритм составления расписания занятий можно представить в виде рисунка.

Рассмотрим подробнее содержание учебного поручения, взяв за основу тестовые задания, разработанные Беном Пэйчером для International Timetabling Competition [2, 3]. Этим заданиям присуще следующее:

- отсутствие сведений о преподавателях;

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

- наличие обязательных и желательных ограничений.

Алгоритм формирования расписания занятий

Пусть Е = {е,|/ = 1..1} - множество учебных поручений, где I - количество

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

- "е, е Е 35' с 5 и 0 - подмножество студентов учебного поручения е,, где

5 = {у^|у = 1..3} - множество всех студентов, 3 - общее количество студентов;

- "е, е Е 3{ф' | ф! .ф} с Г и 0 подмножество особенностей учебного поручения, где г=к,| п = \..Ы} - множество особенностей, характеризующих учебные поручения и

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

- Я = {гк|к = 1..К} - множество аудиторий, в которых будут проводиться занятия,

К - общее число аудиторий. Каждая аудитория характеризуется следующими данными:

- рк - количество учебных мест (вместимость) аудитории Гк;

- "гк е Я 3{фк | ф[ .ф} с Г и 0 подмножество особенностей аудитории.

Определено множество таймслотов Т = {т|^ = 1..М} - временных интервалов

проведения занятий, М - общее число таймслотов интервала расписания (для тестовых заданий [2,3] интервал расписания равен одной неделе).

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

"г, е Е 3 Яс Я и 0 ,

"г, е Е "гк е Я гк е Я\ « рк > |5'| л ф, с фк.

Каждое учебное поручение характеризуется вектором загруженности, содержащим две векторные компоненты - критерии загруженности поручения по студентам 01 и аудиториям 02.

Критерий загруженности 01', компонентами которого являются текущие оценки загруженности студентов учебного поручения г,, определяется выражением:

"е, е Е,301' = {@1'\х = 1.]5'|} .

Число компонент данного вектора определяется числом студентов учебного поручения. Оценка загруженности студента я/ определяется выражением:

и, - и

sched ,

"е,, "^ е 5, $0/= М _ иМ ,

где и/ - количество учебных поручений студента я/, и"]скес1 - количество включенных в

расписание занятий студентов я/.

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

"е, е Е,302, ={02;> = 1. |Я,} .

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

"г, е Е "Гк е Я, $02к = Л Ъ х д1к,

1 Лк

где I - количество учебных поручений; Лк - количество учебн^1х поручений, претендующих на аудиторию гк; лк - количество включенных в расписание занятии в аудитории гк; д,к - коэффициент соответствия аудитории гк учебному поручению г,, определяемый выражением:

^ =ихф—.

Цикличный выбор наиболее загруженного учебного поручения (см. рисунок) осуществляется с помощью многовекторного ранжирования [4]. В качестве численного примера рассмотрим 10 наиболее загруженных учебных поручений в очередном цикле формирования расписания.

Таблица 1

Первый векторный критерий с включением нулевых загруженностей студентов

№ учебных поручений

16 25 40 64 96 147 207 214 238 273

01(1) 0,635 0,625 0,633 0,625 0,625 0,625 0,635 0,633 0,625 0,633

01(2) 0,635 0,617 0,625 0,625 0,625 0,625 0,635 0,625 0,625 0,625

01(3) 0,635 0,608 0 0,625 0,617 0,625 0,635 0,625 0,625 0,625

01(4) 0,635 0,598 0 0,617 0,617 0,625 0,635 0,617 0,625 0,625

01(5) 0,625 0 0 0,617 0,617 0,625 0,635 0 0,617 0,625

01(6) 0,625 0 0 0,617 0,608 0,617 0,625 0 0,617 0,617

01(7) 0,625 0 0 0,608 0,608 0,617 0,625 0 0,617 0,617

01(8) 0,617 0 0 0,608 0,608 0,617 0,617 0 0,608 0,617

01(9) 0,617 0 0 0,598 0,598 0,617 0,617 0 0,6 0,617

01(10) 0,617 0 0 0,598 0,598 0 0,617 0 0 0,617

Скалярные данные первого векторного критерия (табл. 1) отсортированы в убывающем порядке для каждого учебного поручения. Для последующего ранжирования учебных поручений недостающие значения представлены нулем. Это определяется

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

Для выбора наиболее загруженного поручения применяется метод «жесткого» ранжирования [4]. В ходе его применения попарно анализируются все поручения.

Результаты анализа заносятся в оценочную матрицу ||СИ|| (к = 1.1;I = 1.1;к ФI), элементы Ск1 которой однозначно определяют соотношение между к-м и 1-м поручениями и подбираются таким образом, чтобы отсечь неэффективные варианты.

Попарное сравнение учебных поручений ек, ег осуществляется на основе анализа критериев 0к (у), 0 (у), у = 1, а, где а - количество компонент векторного критерия 0. Для возможных значений подмножеств поручений Ы+, Ы-, Ыкг (соответственно подмножества номеров лучших, худших и равных критериев) введем следующие значения элементов оценочной матрицы ||Скг||:

- если Ы+к1 = ЩЫ~к1 = ЩЫ=ы = ^ a}, то Ск1 = ^ с— = 1;

- если Ы+к1 = {l, a}, Ы~к1 = ЩЩ = Щ, то Ск1 = N2, с— = 0, Ы2 >> 1;

- если Ы+к1 = Щ^ а}, Щ = Щ, то Скг = 0, Сгк = Ы2 ;

- если Ы+а ф ЩЫ~ = ЩЫ=а ф Щ, то Са = Ыз, с— = ° 1 << Ыз < Ы2;

- если Ы+к1 = ЩФ ЩФ П, то Скг = ° Сгк = Ыз;

- если Ы+ Ф ЩЫ- Ф П,|| > 0, то Ск1 определяется в виде:

/ V1

, С1к = С-,

Си = X а у

X 0 у

V уеЫ-1 у

где оу - коэффициенты важности критериев.

Первая оценочная матрица представлена в табл. 2.

Таблица 2

Оценочная матрица

16 25 40 64 96 147 207 214 238 273

16 N2 N2 N2 N2 N3 0 N2 N2 N2

25 0 2/2 0 0 0 0 0 0 0

40 0 2/2 1/8 1/8 1/8 0 0 1/8 0

64 0 N3 8/1 N3 1/5 0 6/1 1/3 0

96 0 N3 8/1 0 1/7 0 6/2 1/5 0

147 0 N3 8/1 5/1 7/1 0 6/1 N3 0

207 N3 N2 N2 N2 N2 N3 N2 N2 N3

214 0 N3 N3 1/6 2/6 1/6 0 1/6 0

238 0 N3 8/1 3/1 5/1 0 0 6/1 0

273 0 N2 N3 N3 N3 N3 0 N3 N3

Для формулировки разрешающих правил (специальных неформальных правил, зависящих от специфики задачи и позволяющих провести ранжирование систем) вводятся характерные числа [4]: Н1 - число элементов в 1-м столбце оценочной матрицы, значение которых больше единицы; Мг - число элементов в 1-м столбце той же матрицы, значение которых меньше единицы; Скг тах - максимальное значение элемента в 1-м столбце матрицы ||Скг||. Физический смысл характерных чисел:

- Нг показывает количество вариантов из рассматриваемого множества, превышающих 1-й;

- Мі показывает, над сколькими вариантами доминирует 1-й вариант;

- Скітах определяет, сколько раз к-е поручение доминирует над 1-м (к є {і, а} к Ф і). Характерные числа для оценочной матрицы (табл. 2) приведены в табл. 3.

Таблица 3

Характерные числа

16 25 40 64 96 147 207 214 238 273

Н1>, 1 8 8 5 6 3 0 7 4 2

МУ1 8 0 0 4 3 6 9 2 5 7

с(1) к! тах N3 N2 N2 N2 N2 N3 0 N2 N2 N2

Варианты, для которых С^1^ > М2, не могут принадлежать множеству

эффективных решений, поэтому столбцы и строки, соответствующие учебным поручениям № 25, 40, 64, 96, 214, 238 и 273, исключаются из оценочной матрицы. Исходя из данных табл. 3, можно сделать вывод, что лучшим является учебное поручение № 207. Оно включается в частный кортеж Парето, а столбцы и строки, соответствующие этому поручению, исключаются из оценочной матрицы. Результат представлен в табл. 4.

Таблица 4

Оценочная матрица

16 147

16 N3

147 0

Анализ оценочной матрицы (табл.4) позволяет получить характерные числа И(2'>, М((1) и С™т, которые приведены в табл. 5.

Таблица 5

Характерные числа

16 147

Н(1)1 0 1

1 0

С(1>,, ^ к! тах 0 N3

Из табл. 5 видно, что учебное поручение № 16 является более эффективным, чем учебное поручение № 147. Оба учебных поручения включаются в частный кортеж Парето с соответствующими рангами (табл. 6). Таким образом, частный кортеж Парето по первому критерию: Р1 = <207, 16, 147>.

Таблица 6

Ранги первого векторного критерия

16 25 40 64 96 147 207 214 238 273

2 N2 N2 N2 N2 3 1 N2 N2 N2

Выполнение аналогичных расчетов по второму векторному критерию дает следующие ранги второго критерия (табл. 7).

Ранги второго векторного критерия

Таблица 7

16 25 40 64 96 147 207 214 238 273

R2 3 8 N2 5 2 7 6 N2 4 1

Для дальнейшего ранжирования будут использованы результаты ранжирования по векторным критериям. В табл. 8 представлены полученные значения псевдокритериев (рангов Я1, Я2).

Таблица 8

Ранги обоих критериев

16 25 40 64 96 147 207 214 238 273

2 N2 N2 N2 N2 3 1 N2 N2 N2

РІ2 3 8 N2 5 2 7 6 N2 4 1

Исходя из данных табл. 8, можно сделать вывод об эффективности учебных поручений № 16, 147 и 207. Остальные неэффективные поручения исключаются из рассмотрения. Исходные данные для ранжирования приобретут следующий вид (табл. 9).

Таблица 9

Ранги обоих критериев после исключения неэффективных вариантов

16 147 207

2 3 1

R2 3 7 6

Получаем оценочную матрицу (табл. 10).

Таблица 10

Оценочная матрица

16 147 207

16 N2 1/1

147 0 0

207 1/1 N2

Таблица 11

Характерные числа

16 147 207

Н 0 2 0

м. 1 0 1

Ск! тах 1 N2 1

Таким образом, учебное поручение № 147 - неэффективно, а учебные поручения № 16 и № 207 - равнозначны и войдут в кортеж Парето с одинаковыми рангами, то есть может быть выбрано любое из них.

После выбора наиболее загруженного учебного поручения необходимо выбрать аудиторию и таймслот (см. рисунок) для проведения занятия. При выборе необходимо учесть все обязательные ограничения и свести к минимуму нарушения желательных ограничений. Пусть выбрано учебное поручение № 207. Для него в формируемом расписании существует конечное число X вариантов пар аудитория/таймслот, в которых возможно проведение занятия. Необходимо оценить получающиеся расписания и выбрать оптимальное. Каждое расписание оценивается векторным критерием со следующими компонентами:

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

- количество студентов, имеющих одно занятие в течение учебного дня;

- количество «блоков» из трех и более занятий подряд в течение учебного дня для каждого студента.

Выбор оптимального варианта расписания является многокритериальной задачей и производится при помощи метода «жесткого» ранжирования.

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

Таблица 12

Векторная компонента оценки возможных расписаний

№ пар аудитория / таймслот, в которых может проводиться занятие

7/3G 7/37 7/44

Ki 21 21 24

K 2 59 58 56

K 3 512 507 503

Оптимальный вариант определяется после проведения расчетов, аналогичных описаным выше. В данном примере это аудитория 7 и таймслот 44.

Заключение

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

ЛИТЕРАТУРА

1. Клеванский Н.Н. Метод формирования расписания занятий университета /

Н.Н. Клеванский, С. С. Кашин // Образовательные технологии: научно-технический

журнал № 2. Воронеж: Научная книга, 2006. С. 83-87.

2. http://www.idsia.ch/Files/ttcomp2002/

3. Клеванский Н.Н. Анализ заданий PATAT / Н.Н. Клеванский, С.С. Кашин // Техническая кибернетика, радиоэлектроника и системы управления: материалы VIII Всерос. науч. конф. студентов и аспирантов. Таганрог: ТРТУ, 2006. С. 81-82.

4. Сафронов В.В. Основы системного анализа: методы многовекторной

оптимизации и многовекторного ранжирования / В.В. Сафронов. Саратов: Научная книга, 2009. 329 с.

Клеванский Николай Николаевич - Klevanskiy Nikolay Nikolayevich -

кандидат технических наук, доцент кафедры Candidate of Technical Sciences, «Программное обеспечение вычислительной Associate Professor of the Department техники и автоматизированных систем» of «Software for Computing Engineering

Саратовского государственного технического университета

Кашин Станислав Сергеевич -

аспирант кафедры

«Программное обеспечение вычислительной техники и автоматизированных систем» Саратовского государственного технического университета

and Automated Systems» of Saratov State Technical University

Kashin Stanislav Sergeyevich -

Post-graduate Student of the Department

of «Software for Computing Engineering and Automated Systems» of Saratov State Technical University

Статья поступила в редакцию 22.06.10, принята к опубликованию 30.09.10