ОБРАБОТКА ИНФОРМАЦИИ
УДК 519.2
Г. А. Попов
Астраханский государственный технический университет
ФОРМАЛИЗАЦИЯ ЗАДАЧИ СОСТАВЛЕНИЯ УЧЕБНОГО РАСПИСАНИЯ В ВЫСШЕМ УЧЕБНОМ ЗАВЕДЕНИИ
Введение
Составление расписания учебных занятий является одной из серьезных задач, которые приходится решать в каждом учебном заведении в начале каждого учебного года, семестра и т. п. Традиционно эта задача в вузах в основе своей решается вручную учебной отделом вуза. Использование компьютерной техники носит вспомогательный характер. Решение этой задачи в настоящее время еще больше усложнилось в связи с появление коммерческого набора студентов и активизацией коммерческой деятельности вузов, приводящей к резкому росту дефицита учебных помещений. К сожалению, до настоящего времени нет алгоритмов, позволяющих эффективно решить эту задачу [1-3]. Ниже предлагается вариант формализованной модели задачи составления расписания вуза.
Постановка задачи
На основе анализа задачи и консультаций с начальником учебного отдела Астраханского государственного технического университета (АГТУ) был сформирован список возможных требований к учебному расписанию. Отметим, что в конкретных ситуациях при составлении расписания могут быть востребованы далеко не все требования из приводимого ниже списка.
Всю совокупность требований можно условно разбить на следующие 4 категории (А, В, С, Н), имеющие разный уровень приоритетности.
A. Имеют абсолютный приоритет, т. е. учитываются всегда и не могут быть нарушены ни при каких обстоятельствах.
B. Имеют высокий приоритет и могут быть нарушены в единичных случаях при крайней необходимости.
C. Имеют средний приоритет, могут быть нарушены, хотя их нарушение крайне нежелательно.
Н. Имеют низкий приоритет, их нарушение не влечет за собой никаких серьезных последствий, однако желательно, по возможности, соблюдать эти требования.
Отметим, что приведенная градация требований достаточно условна и, как будет ясно из дальнейшего, возможность каждого конкретного требования может быть учтена на основе весовых коэффициентов, учитывающих важность требования.
Перечислим требования каждой категории.
Ограничения категории А
А1. В дневном расписании каждой группы/подгруппы (ПГ) студентов не должно быть просветов («окон»).
А2. В течение дня в каждой ПГ не должно быть более 5-ти пар занятий (для первого курса - не более 4-х пар).
А3. Если в дневном расписании число пар больше 2-х, то не должны проходить занятия только по одной дисциплине.
А4. Если в дневном расписании число пар больше 2-х, то не должны проходить только лекционные занятия.
А5. Занятия первого курса должны кончаться в первой половине дня.
А6. Некоторые занятия могут проходить в других организациях вне вуза (выездные занятия). В связи с этим необходимо учесть требования этих организаций (по месту, времени проведения, количеству студентов, участвующих в каждом занятии, и др.).
А7. Для каждой учебной аудитории необходимо учесть приоритетность ее выделения для каждой дисциплины (специальности, группы). Это, прежде всего, касается специальных и профилированных лабораторий.
А8. Необходимо учесть ограничения на учебные расписания конкретных должностных лиц, внешних совместителей и других выделенных сотрудников. В частности, члены ученого совета университета (ученых советов институтов, деканатов) не должны иметь учебных занятий в промежутки времени, когда предусмотрены заседания соответствующих советов. Ректору, проректорам и другим членам руководства вуза может быть удобно (или неудобно) проведение занятий в определенные промежутки времени, в определенных аудиториях.
А9. В каждом учебном корпусе на каждой паре необходимо зарезервировать одну свободную аудиторию, вмещающую одну стандартную группу.
Ограничения категории В
В1. В течение дня число учебных пар не должно превышать 4-х.
В2. Занятия на первом курсе должны начинаться с первой пары.
В3. Лекционные занятия должны предшествовать практическим и лабораторным занятиям.
В4. Необходимо в максимальной степени минимизировать перемещения студентов из одних помещений в другие, в особенности из одних учебных корпусов в другие.
В5. В течение учебного дня в случае, когда число пар больше 2-х, не должны проходить занятия только одного типа: лабораторные занятия в компьютерном классе, либо лабораторные занятия в специальной лаборатории, либо практические занятия, за исключением случаев, когда проведение занятия связано с внешней организацией или с внешними совместителями.
В6. Необходимо обеспечить наличие дня самостоятельной работы студентов для тех ПГ, у которых на данный семестр запланированы дипломные и курсовые работы.
Ограничения категории С
С1. Не ставить два занятия по физкультуре в одной подгруппе в течение дня подряд. Желательно, чтобы в течение учебного дня было не более одной пары по физкультуре и занятия на открытом воздухе проходили не позже определенного часа, что особенно важно в зимнее время года, когда рано темнеет.
С2. Каждый преподаватель в течение дня должен иметь не более 5-ти пар.
С3. Каждый преподаватель в течение дня не должен иметь более 3-х лекций подряд.
С4. В расписании преподавателей суммарная длина «окон» должна быть минимальной; в идеальном варианте в расписании преподавателей «окон» не должно быть вообще.
С5. Необходимо назначать занятия преподавателей, по возможности, в близкие аудитории с целью минимизировать их перемещения.
Ограничения категории Н
Н1. Занятия по физкультуре должны быть на последних парах дневного расписания ПГ.
Н2. Занятия по военной кафедре должны начинаться как можно раньше.
Н3. Занятия по некоторым дисциплинам (например, по математике) должны проводиться на первых парах дневных расписаний ПГ.
Н4. Не ставить преподавателям более 4-х пар в день.
Н5. Желательно обеспечить наличие свободного дня для самостоятельной работы студентов для всех ПГ из заданной их совокупности (группы, специальности, потока и т. п.).
Н6. Необходимо учесть индивидуальные пожелания отдельных преподавателей, связанные со временем начала и(или) окончания занятий у них в отдельные дни недели, числом пар в течение дня и т. п.
Н7. Для некоторых преподавателей необходимо обеспечить максимальное отличие или совпадение их расписаний с расписаниями некоторых других преподавателей. Данное требование связано, в частности, с возможностью обеспечить временные замены одних дисциплин другими либо совместить дисциплины ввиду предполагаемого отсутствия преподавателя, ведущего одну из этих дисциплин, в течение длительного времени; например, в связи с намеченными поездками либо относительно частым пропуском занятия по уважительным причинам (болезнью, отпуском, командировками и т. п.).
Н8. Для некоторых дисциплин желательно, чтобы они проходили одновременно; например, при наличии нескольких специальных дисциплин, читаемых по выбору студентов или выбираемых студентами.
Н9. Необходимо минимизировать потери учебных занятий, связанные с праздничными и другими мероприятиями, в результате которых занятия не проводятся.
Н10. Средняя дневная нагрузка по всем дням недели (за исключением, возможно, субботы) приблизительно должна быть одинаковой, т. е. колебания нагрузки по всем дням недели должны быть минимальными.
Формализация задачи
Опишем переменные, используемые при формализации задачи. Вначале опишем индексы, от которых зависят переменные.
Все пары в течение недели последовательно пронумерованы (индекс р). В течение одного дня у данной подгруппы может быть не более Мр пар. (см. условие А2). Заметим, что Мр может зависеть от дня недели.
Каждая группа разбита на 2 подгруппы, и все ПГ пронумерованы (индекс ,§). Соединение ПГ - в группы, групп - в потоки отображается с помощью матриц связности О и Р соответственно.
Все аудитории пронумерованы (индекс а). Для каждой аудитории указывается ее вместимость Уа и тип 0а : компьютерный класс - С, аудитория для практических или традиционных лекционных занятий - В, лекционная аудитория со средствами отображения - А, специальная лаборатория - S.
Все дисциплины пронумерованы (индекс С), где под дисциплиной понимается либо лекционный курс в потоке, либо курс практических занятий в группе, либо курс лабораторных занятий в подгруппе. Для каждой дисциплины заданы общее количество часов Т^ (в g-й подгруппе), какой преподаватель в какой подгруппе ведет эту дисциплину, тип хс с1-й дисциплины (лекция Л, лабораторное занятие С в компьютерном классе или S в специальной лаборатории, практическое занятие П). Отметим, что как список дисциплин, так и количество часов по ним могут быть различными для четных и нечетных недель.
Все преподаватели пронумерованы (индекс I). Пусть Ь(сГ) есть номер преподавателя, который ведет дисциплину С.
Введем переменные, используемые при формализации задачи. Пусть х^асС = 1, если занятие по С-й дисциплине у g-й ПГ проводится в а-й аудитории на р-й паре, и х^аС = 0 в противном случае. Тогда можно записать следующие ограничения, вытекающие из общих соображений относительно учебного расписания.
О1. Занятие не может проводиться одновременно в двух разных аудиториях; т. е. если аі Ф а2, то для всех р, g, а1, а2, а1 Ф а2,
Xpgal Сі • Xpga 2 С2 = °. (1)
Условие (1) можно заменить на следующее:
^ Xpgad £ Р gd , (2)
а
где р^ = 1, если g-я ПГ изучает дисциплину d, и р^ = 0 в противном случае.
О2. Одновременно не могут проводиться занятия по двум разным дисциплинам в одной и той же ПГ, т. е. если d1 Ф d2, то
Xpgaldl • Xpga2d2 = °. (3)
Условие (3) можно заменить на следующее:
^ Xpgad £рgd .
(4)
О3. Одновременно не могут две ПГ иметь занятия в одной и той же аудитории, если они - не две ПГ одной группы на практическом занятии или ПГ, входящие в один поток на лекционном занятии. Это означает, что если g1 Ф g2, то при d1 Ф d2, либо при d1 = d2 = d и тglg2d = °
= °. (5)
Здесь
т
g 1 g 2 d
Рг
О
g1 g 2
Xpglad1 • Х pg 2ad2
•Рg 1 d , если тd = Л •рg 1 d , если тd = П
если тd = С или тd = £,
Г
<
0
или, иначе, т= р^ (Р^2 X(т(d) = Л) + О**^ %(т^) = П) - коэффициент,
указывающий на принадлежность ПГ к одной группе или одному потоку, и эта ПГ (или этот поток) должна (должны) изучить дисциплину d (р^ = 1 в случае ПГ и О= 1 в случае потока); здесь с(А) = 1, если
условие А выполняется, и с(А) = 0 в противном случае, Р„ „ и О„ „ -
*1 * 2 *1 * 2
соответствующие элементы матриц Р и О соответственно.
Условие О3 можно переформулировать иначе: именно в данной аудитории могут находиться только те ПГ, у которых на данной паре проводятся занятия по данной дисциплине. Это позволяет формализовать условие О3 также и следующим образом: для всех p, a, d
I Xpgad (1 -р gd ) = °. (6)
g
Последнее равенство означает, что равны 0 все переменные X,
для которых р ^ = 0 .
О4. Все ПГ, которые изучают некоторую дисциплину, должны в момент её преподавания находиться в одной аудитории, т. е. для любыхp, a, d
I Xpgadрgd = I рgd I Xpgad П (1 - ртс1 )рgd . (7)
g g g т<g
Отметим, что выражение П (1 -р^)ряй равно 1 только для первой
т< я
(по номеру *) ПГ, которая изучает дисциплину I, поэтому П (1 - р md )р gd 1,
т< я
если на р-й паре в а-й аудитории хотя бы одна из ПГ, которая изучает дисциплину d, и равно 0 в противном случае. I ресть число всех под-
я
групп, изучающих дисциплину d.
05. Каждый преподаватель может в данной момент находиться только в одной аудитории, т. е.
= Ь^))xpglaldl • ^2a2d2 = 0, (8)
если выполняется хотя бы одно из соотношений:
= я 2, или a1 = a2, или = ё2.
Последнее условие равносильно следующему условию:
I ) = I)Xpgad < 1 для всех 1. (9)
я ,a, d
06. Общее количество часов по каждой дисциплине в каждой подгруппе должно совпадать с заданной величиной, зафиксированной в учебном плане дисциплины:
I Xp^!aй = • (10)
P,a
07. Вместимость аудиторий по каждой дисциплине должна быть не менее размера ПГ в случае лабораторных занятий, группы - в случае практических занятий и потока - в случае лекционных занятий:
VI р * г I ■ (11)
я я
где Яя - размер g-й подгруппы.
О8. Ограничение по возможностям аудиторий: по каждой дисциплине могут предъявляться определенные требования к технической оснащенности аудиторий:
=9а) • Xpgad) = *ва) • Хр,а*) = 0. (12)
р^ ,а,* р, g,a,d р, g,a,d
Формализуем теперь все требования категорий А, В, С, Н. Для удобства введем следующее обозначение:
I = I р,и - знак суммирования по всем парам и-го дня.
Мр (и-1)< р<Ыри
А1. В дневном расписании студентов не должно быть просветов («окон»), т. е. для всех g и и = 1,6
( V
I I xpgad -I Хр+1,gad < 2. (13)
Мр (и-1)<р<Мри \а,* а,* )
В условии (13) можно заменить квадрат на модуль; получим
I
Мр (и-1)<р<Мри
< 2. (14)
а, * а,*
Заметим, что величина I хр&аЛ = 1 тогда и только тогда, когда
а,*
у g-й группы на р-й паре есть занятие.
А2. Объем нагрузки студентов не должен превышать 5-ти пар в день (для первого курса - 4-х), но и не менее 2-х пар, т. е.
2 < V V х <Р для всех g и всех и = 1,6, (15)
_ 1—<р,и^ Pgad—^'‘g а,*
где рg = 4, если g е К1, и рg = 5, если g £ К1; К1 - множество ПГ первого курса.
А3. Число лекционных занятий в каждой ПГ не должно превосходить ал % числа дневных занятий (можно взять а = 70 ), если число пар больше двух, т. е. для всех g
Iр,и I С(Т* = ЛЖ!р,и I xpgad > 2) < аЛ Iр,и I xpgad , (16)
а,* а,* к,Т
где а* = а л/ .
д ал /100
Условие А3, не являющееся ни линейным, ни квадратичным, можно заменить на следующее:
(
Л (
а.й
аА
Р§а^
X X х
р,и
а,й
р,и^ Р%аЛ
- 2
> 0. (17)
Здесь мы воспользуемся тем, что для любых неотрицательных целочисленных тип условие т < п для п > 2 равносильно условию (уп - т)(п — 2) > 0 . Действительно, при п > 2 имеем у п > т; при п = 2 левая часть равна 0; при п = 1 получаем (у —1)(—2) > 0 - справедливо; при п = 0 имеем (у — 2)(—2) > 0 , т. к. у < 1.
А4. Число занятий по одной дисциплине в день не должно превышать Ь % в случае, когда число пар больше 2-х, т. е. для любых с1, g и и
Xр,и X хргас1 С(Х р,и X ХР^ > 2) < Ь* X р,и X
р,и А
ра ’
(18)
где В* = . Можно взять В = 70 % .
Л 100
По тем же соображениям, что и выше, последнее соотношение можно записать в следующем аналитическом виде:
(
Ь р,и
Хр&ай
р,и
а, d
\
р,и *
pgad
(
X X
р , и
Л
х„
р,и і—і Рgad V а^ у
> 0. (19)
А5. После г-й пары (например, г = 4) у первого курса занятий нет, т. е. для любого g е К1,
X X Хpgad 0 .
Мр (и-1)+г <р <Мри а, d
(20)
А6. Если занятия проходят в аудиториях а е В, где В - множество всех аудиторий вне вуза, то в течение времени юа до начала пары и после её окончания, но в течение текущего дня студенты должны быть свободны; т. е. для всех а е В
рз
(21)
і=рн к
где рн и р3 - номера учебных пар, на которых студенты р-й ПГ не смогут находиться в вузе из-за необходимости добраться до а-й аудитории
а
а
а
и возвратиться в вуз после занятий в ней. Выразим рн и р3 через моменты ТН и Та начала и окончания занятий в аудитории а и время юа, необходимое, чтобы добраться до аудитории а из вуза или возвратиться обратно в вуз. Очевидно, что Т% > юа .
Пусть и есть номер дня недели, в котором состоится пара р; тогда р
и =
Мг
+1, где [ ] - знак целой части числа. Величины рн и рЗ есть
наименьшее и наибольшее решения соответственно неравенств
г(р3) - ТЗа >ю,
ТН г (рН + гр ) >®а
при условии, что решение рн (пара рн ) попадает в и-й день недели; в противном случае рн есть первая пара и-го дня. Это означает, что
+1. Здесь г(/) есть время начала /-й пары,
рН = (и -1) • МР +1 = МР
МР
гр - длительность одной пары. Считая, что для пары /, попадающей в и-й день недели, справедливо соотношение
г(/) = г(/ — мр • (и —1)) = (г + гП)(/ — Мр • (и — 1)), где ?П - длительность перемены, последние неравенства можно переписать в виде
рн <-
Н
гр + гП
+Мр •(и-1); р3 >
Та
гр + гп
+ Мр • (и -1).
Отсюда получаем
рн = Мр
Мг
+ тах
(
1
V -I
гра
ТН
гр + гп
(22)
а
рз = Мр •
Мг
+
т-га
Т3
гр + гп
(23)
где ]х[ есть наименьшее целое число, не меньшее X.
А7. Аудитория для каждой конкретной дисциплины должны выбираться с учетом приоритетности аудитории по этой дисциплине, т. е. необходимо минимизировать величину
а
F1 = Z (xpgad - Pad )2 ® min (24)
P, g ,a,d
по переменным { xpgad }, где pad при 0 < pad < 1 описывает степень
приоритетности a-й аудитории для чтения d-й дисциплины, а при
pad < 0 описывает степень нежелательности проведения занятия по d-й
дисциплине в a-й аудитории.
A8. Для преподавателей, и прежде всего для руководства, следует предусмотреть (и даже зафиксировать) возможность проведения или непроведения занятий в определенное время и в определенных аудиториях. Это условие можно записать в виде условия максимизации функции
F2 = Z C(L(d) = l)ppalxpgad ® max , (25)
p, g ,a,d
где лpal - уровень приоритетности при лpal > 0 или неприоритетности при лpal < 0 проведения p-го занятия l-м преподавателем в a -й аудитории. Положим F2 = -F2.
А9. В любой момент в каждом корпусе к (нумеруем корпуса буквой к) должна быть свободна хотя бы одна лекционная аудитория (вместимостью
не менее vK человек) и хотя бы одна аудитория для практических занятий (вместимостью не менее vK человек); т. е. для всех К = 1, К max и любых p
Z Z Xpgad -C(Va > vK) < Слк-1, (26)
аеСк д d,g
Z Z Xpgad -X(V > vK) < CK-1, (27)
aeCK^ d,g
где Kmax - число всех учебных корпусов; С^л, C^K - списки всех лекционных аудиторий и аудиторий для практических занятий в к-м корпусе,
удовлетворяющих предъявляемым требованиям по вместимости, ел , СП -
число аудиторий вместимостью vK , v^ соответственно.
В1. В течение одного дня у студентов не должно быть более 4-х пар. Это условие формализуется аналогично условию А2, т. е. для всех и = 1,6 и g > 1
Z p,u Z Xpgad < 4. (28)
a,d
Различия условий А2 и В1 будут проявляться в весовых коэффициентах, с которыми они будут учитываться в целевой функции.
В2. Занятия на первом курсе должны начинаться с первой пары, т. е.
для всех g е К1 и и = 1,6
X ХМр (и-\)^ = 1. (29)
а,й
В3. Лекционные занятия не должны опережать практические занятия, а практические занятия не должны опережать лабораторные занятия. Данное условие может быть учтено путем сравнения на каждый текущий момент времени долей каждого вида занятий между собой; необходимо, чтобы их отношение не превосходило их общих долей в курсе дисциплины, т. е. для любого I, 1 < I < М • и
X X Хр,.«, %ы<!)=Л) > XX Хр^ ХЫЛ)=П) >
р£ а р£ а (зо)
> СЛа6XXХР^С(^) = Лаб),
г'е! а
Т П т Лаб
где С^ = =Л, СЛаб =-^Л~ - доли практических и лабораторных заня-
Tgd Tgd
^ т' Л т' П
тий по отношению к лекционным занятиям соответственно, ^,
аб - общее число часов лекционных, практических и лабораторных занятий по а-й дисциплине в g-й подгруппе.
В4. Для минимизации скопления студентов в вузе необходимо минимизировать суммарную величину перемещений студентов:
6 { ъ = X X
и=1 Мр (и-1)<р<Мри ^
X ри X А(а1а2)Х
л
2) Х Pga\d^ Хp+1,ga2d2
a1,a2,g ,ах,а2
где А(«1, «2) - условное расстояние между аудиториями и а2.
В5. Это условие, призванное ограничить однообразие занятий в течение учебного дня, дополняет условия А3 и А4 и может быть формализовано аналогично этим условиям. Получим: для всех g
Ь • Xp,u XХpgad - Xр,и XХ(Т(а) = П) ■
pgad
a,d
a,d
Xp,u X;
'pgad '
a,d
> 0, (32)
2
\ (
УЛаб,5 'X ри X Хрга<1 X ри ^)' ХР&ад- ' X „и XХтай 2
а,й
а,й
УЛаб,С • Xр,и X ХР^аС Xр,и XC(T(d) = С)
У V Л (
а,й
Р&ай
а,й
а,й
X р,и X ХРЯай 2
а,й
> 0, (33)
> 0, (34)
где уП, уЛаб 5 , уЛаб с - соответственно максимально допустимые доли
практических, специальных лабораторных и компьютерных занятий в течение учебного дня в случае, если число пар больше двух.
В6. Выделить хотя бы один день для самостоятельной работы студентов, в частности по курсовым и дипломным работам, что может быть в двух формах: жесткой а и мягкой б.
а) если й е Оп, где Оп - множество дисциплин, относящихся
к дипломным или курсовым работам, и Jй - номера ПГ, где ведется дисциплина й, то для любой ПГ g е Jй
6
X
и=1
(
X X
^-^р,и
л (
,х„
\
(
X ХPgaй
V а,йі^й у
+X X'
4-^Р,и
V
Хг
-ри ^—dХpgaй xХpgaй
Vа Рії((и~іУмр ,имр) у
= 0, (35)
где все слагаемые в В6, а равны 0. Первая сумма в квадратных скобках обозначает, что вместе с й-й не может в и-й день читаться и другая дисциплина, а вторая сумма обозначает, что в другой день дисциплины й нет.
Если необходимо, чтобы самостоятельным днем был конкретный день недели (например, суббота), к нулю приравнивается выражение в квадратных скобках последнего соотношения при соответствующем значении и; например, для субботы и = 6.
Наконец, укажем, что если необходимо, чтобы условие В6 выполнялось одновременно в один и тот же день для всех подгрупп, то в равенство В6, а необходимо внутри квадратных скобок добавить II;
g gеJ 0
б) в виде оптимизационной задачи:
Р4 = Xku
(
X р,и X
V
4р,и 1—1 pgad V а,й у
(36)
где к - коэффициент, учитывающий желательность того, чтобы свободным днем был именно и-й день недели. Данная форма условия основана на
том,
что у функции / = X киХи2 все частные производные
2
и=1
и =1
Л/
----= 2киХи > 0 при Хи > 0, и, следовательно, минимальное значение
Лхи
достигается, когда хотя бы одна из переменных Хи равна нулю, где
Г \
Хи - это выражение в квадратных скобках, т. е. Хи =2 „I £ х
);
в) если необходимо, чтобы днем самостоятельной работы был именно и-й день недели, то требование можно записать в виде
£ р,и £
х
РЯай
0. (37)
С1. Данное условие распадается на три условия, присутствующие в формулировке условия:
а) не ставить два занятия по физкультуре подряд: для любых й е Ф
и р ФМР • и (и = 1,6) (т. е. р-я пара не является последней в текущем учеб-
ном дне)
Хpgad ' Хp+1gad = 0 ; (38)
б) не ставить 2 занятия по физкультуре в течение дня: для любых й е Ф и и = 1,6
£^„ай < 1> (39)
Здесь Р - множество дисциплин по физкультуре;
в) дисциплины по физкультуре, проходящие на открытом воздухе, проводить как можно раньше: для любых йе Ф
Р5 = £ С (й, Р )xpgad ® mm, (40)
где С (й, р) - степень нежелательности проведения занятий по й-й дисциплине на р-й паре учебного дня; в частности, если занятия не должны проходить позже пары 10 текущего дня, то полагаем С(й, р) = +¥ для
всех р, М (и - 1) + 10 < р < М ри .
С2. Объем нагрузки преподавателей не должен превышать 5-ти пар в день, т. е. для любых I
£ с (Ь (й) = I) Хргай < 5 . (41)
g, а, й
а
р
С3. 1-й преподаватель должен иметь в день иметь не более Ш\ лекций: для всех I и и = 1,6
(42)
С4. Суммарная длина просветов в расписании преподавателей должна быть минимальной.
р=Е г, Е х(И<1)=/)Е р,и Е
С Л2
X - Е X
р,и ^ Рёа4 Аи р+1,
V 8,а 8,а
где г, - ранг I -го преподавателя. В последнем выражении квадрат можно
заменить на модуль.
С5. Перемещения преподавателей из аудитории в аудиторию и, особенно, из одного корпуса в другой должны быть минимальными.
Р7 = Е Г Е ХООД) = 1)С(Ь(й 2) = 1) • А(а1а2) ХряаА Хр+1яа242 ® ШШ. (44)
I аьа2,Я,<1ь<12
Н1. Данное условие может быть сформулировано в двух формах: жесткой а и мягкой б:
а) занятия по физкультуре должны быть последними занятиями учебного дня: для любого й е Ф, где Ф - множество всех дисциплин по
физкультуре, и для любых а,я и р0
С Л
Е
р 0 < р £ М р-и
Е Хряа’й' Хр0яай
V а',й 'Фй
= 0
(45)
где и =
+1 - день недели, когда проходит р0 -я пара. Это означает,
что если X
р 0 Яай
= 1 (на р0 -й паре проходит дисциплина й е Ф в ПГ я), то для любой другой дисциплины й на любой последующей паре р в течение дня справедливо хряа,й, = 0 (дисциплина й не проводится);
б) в этом случае правые части в Н1 суммируются по всем р0 и сумма минимизируется по всем наборам { х й }:
С Л
р.=Е
р0
(
Е
\
Е Хряа’й’ ХР0яай
р V а,й,а',й' р0 <р£Мр +1
р Мр
(46)
Н2, Н3. Некоторые дисциплины имеют шкалу приоритетности их проведения на различных парах. Например, занятия по естественнонаучным дисциплинам следует проводить раньше других. Пусть 5(р, й) - уровень желательности проведения с1-й дисциплины на р-й паре. Тогда для любой естественнонаучной дисциплины й
^9 = Е p, й)хр§ай ® Ш1П. (47)
p, г,а
Н4. Настоятельно рекомендуется не назначать преподавателям более 4-х пар в день, т. е. для любых I и и = 1,6
Е р,и Е ) =1)Храй £ 4 (48)
ё ,а,й
Приведенные ограничения будут иметь разный приоритет (например, разные целевые коэффициенты при внесении ограничений в целевую функцию в виде штрафов).
Н5. а) Для того чтобы условие Н5 выполнялось одновременно в один и тот же день для всех подгрупп, в равенство Н5 достаточно внутри квадратных скобок в условии В6, б добавить ЕЕ:
я о
рю = Е'
и=1
(
ЕЕЕ Е Х Рёай
ё V а,й
V
(49)
2
и
где 3 - множество ПГ, для которых предпочтительно иметь один и тот же день недели;
б) в жесткой форме выполнение указанного условия можно обеспечить, если включить в качестве дополнительной фиктивной нагрузки определенное число часов (скажем, 6 часов) на самостоятельную работу, а затем записать условие в форме условия В6, а;
в) если необходимо, чтобы днем самостоятельной работы был именно и-й день недели, то в условии Н5, а можно оставить лишь и-е слагаемое:
=
Е и ЕЕ Е
г
а,й
Рёай
(5о)
2
Н6. Преподаватели могут иметь предпочтения по времени начала занятий и времени их окончания, а также по минимальному числу пар
в день (и = 1,6):
рі2 = £ г
£
£ С( Ий) = / )• х
Мр(и-\)<р<Мр(и-\)+Ь/и Vg,а,й
® тіп, (5 \)
УУ
р\з = £ г
£
у Мр (и-\)+сіи < р<М ри
£ с( Щ) = /)•.
V g ,а,й
'pgad
УУ
~ = £ Г1 £ р,и £ С(И(й) = 1)Хpgad - /л,
^р,и
і V р,а,й
у
(53)
где й/ы, с/ы - номер пары, с которой 1-й преподаватель хотел бы начинать занятия в и-й день недели или до которой он хотел бы закончить их соответственно; /ы - наименьшее количество пар, которое хотел бы иметь /-й преподаватель в и-й день недели; г - ранг /-го преподавателя. Поло-
жим ^\4 = -Р\4 .
Н7. Степень совпадения или несовпадения расписаний двух преподавателей можно оценить на основе коэффициента ковариации между учебными расписаниями этих преподавателей - чем меньше этот коэффициент, тем больше отличие расписаний, а чем он больше, тем больше совпадение расписаний. Пусть /\ и /2 - номера двух преподавателей, для которых необходимо обеспечить максимальное совпадение или отличие их расписаний. Просуммировав указанные коэффициенты по всем парам преподавателей, получаем
^ = £е(і\Л) £с(И(й\)=і\) £ х^^-кт) =І2) £
12/ ^ЛМЛм\/—1\/ ^ л'ша\й\ 1\,12'1\ф12 Р\,й\ g\,a\ Р2,й2
2' 2' p'2g2a2d'2
g2,a2
где коэффициент е(1\, /2) = 1 в случае необходимости обеспечить отличия расписаний преподавателей с номерами /\ и /2 и е(/\, /2) = -\ - в случае совпадения их расписаний.
Н8. Обеспечить максимальное совпадение расписаний ассоциированных дисциплин (т. е. дисциплин, которые желательно вести на одних и тех же парах). Пусть й\ и й2 - ассоциированные дисциплины. Тогда по аналогии с условием Н7 можем записать:
(
р\б = £(у(й\) + v(d2))£ £ х
й\,й2:й\^й2
£
2^/_т /_і л■pg\a\d\ pg2a2d2
Р Vg\,a\ g2,a2 У
(55)
где v(d\) и v(d2) коэффициенты важности дисциплин d\ и d2 соответст-
венно. Положим Е\6 = —F\6.
Заметим, что аналогично условию Н7 можно записать требование обеспечить максимальное несовпадение расписаний для некоторых пар дисциплин, если возникнет необходимость в подобном требовании.
Н9. Как можно меньше занятий (с учетом их приоритетности) должно попадать на праздничные и другие дни, когда занятия не проводятся, т. е.
~ = Ер,и )ХКаЛ) ® таХ (56)
где gu - доля непраздничных дней, приходящихся в течение семестра на
и -й день недели. Положим F18 = — ^18.
Н10. Колебания нагрузки по дням недели должны быть наименьшими, т. е.
( Т
р19 = Ер,и К Е Е Хр^ -5g ® mІn, (57)
g Vа,с /
где 5g = Е - суммарная нагрузка (число пар) в неделю у g-й ПГ; ти -
с
коэффициент, учитывающий желательную степень дифференциации нагрузки по дням недели. В частности, можно взять ти =1 для и < 6 и т6 = 2, если желательно в субботу иметь поменьше занятий (приблизительно вдвое меньше).
Таким образом, рассматриваемая задача автоматизации составления учебного расписания, удовлетворяющего условиям А, В, С, Н, сформулированным в разделе «Постановка задачи», сводится к необходимости решить многокритериальную задачу минимизации функций F1,^2,...,F19
(в самом общем случае) при условии выполнения ряда ограничений (числом от 28 до 30 в зависимости от выбранной формы некоторых ограничений).
В приведенной формулировке полученная многокритериальная задача, вообще говоря, не может быть решена. Целесообразно свернуть полученные критерии Fp (С = 1,19) в один критерий F:
19
^ = Е WPFP, р=1
где Wp - весовой коэффициент, учитывающий важность р-го критерия.
Использование аналитических методов для решения полученной задачи затрудняется следующим требованием: принимает только зна-
чения 0 и 1. Для того чтобы придать этому требованию аналитическую форму, можно ввести следующее дополнительное условие:
Д1. Минимизировать следующее выражение по всем наборам
{ xpgad е [°; 1]}:
^20 = Е Xpgad (1 — Xpgad ) ® mІn . (58)
P,g ,а4,
Тогда критерий минимизации F0 следует заменить на критерий
20
F = F0 + w20 ^20 = Е wpFp , где w20 - коэффициент, отражающий «штраф»
P=1
за нарушение условия Д1. Этот коэффициент следует выбирать как можно больше.
Анализ формулировок всех приведенных выше формализаций требований позволяет сделать следующий важный вывод.
Теорема. Задача составления учебного расписания, удовлетворяющего условиям О, А, В, С, Н, Д1, может быть формализована как задача квадратичного программирования: минимизировать значение функции F по переменным х^ай , удовлетворяющим соответствующим условиям (1)-(12),
(13)-(26), (27)-(36), (37)-(43), (44), (47), (57) и ограничению х^ай е [0,1]
для всех p, g, а, с1.
Действительно, все приведенные выше соотношения и ограничения являются либо линейными, либо квадратичными, либо среди вариантов формализации требований имеются также и квадратичные.
Заметим, что при решении конкретных задач по составлению расписания может быть востребована только часть требований, а следовательно, только часть приведенных выше соотношений (1)-(12), (13)-(27), (28)-(37), (38)-(44), (45), (48), (58). Очевидно, что и в этом случае справедливо утверждение теоремы.
Отметим, что при отсутствии условия (58) задача составления учебного расписания может быть формализована как задача квадратичного булевского программирования.
Исходные данные
Анализ исходных данных, необходимых для реализации описанной выше модели учебного расписания, позволяет сгруппировать их по следующим группам.
I Данные, связанные с учебным процессом
1) g - число всех подгрупп; 2) матрица связности О подгрупп и Р -групп: О = 1, Р^ = 1, если ПГ g1 и g2 - в одной группе или
в одном потоке соответственно, и О = 0, Р„ „ = 0 в противном
<51’<52 <51’<52
случае; 3)В. - число студентов в g-й ПГ; 4) В - число всех дисциплин;
5) вектор (Х(С)}, где Ь(С) - номер преподавателя, ведущего С-ю дисциплину; 5) Тёс - число пар по С-й дисциплине в g-й ПГ в течение недели
в соответствии с учебным расписанием ПГ; 6) тип С-й дисциплины
(Л - лекция, П - практическое занятие, С - лабораторное занятие в компьютерном классе, S - лабораторное занятие в специализированной лабо-
ратории); 7) матрица р = {р^}, где р^ = 1, если g-я подгруппа изучает С-ю дисциплину, и р^ = 0 в противном случае (т. е. р^ = %(Т^ > 0)); 8) для всех ПГ значения 5g - суммарное число пар в неделю у g-й ПГ; 9) для всех дней недели значения gu - доля и-х дней недели в семестре, когда занятия не
будут проводиться (в связи с праздниками или по другим причинам); 10) список К всех ПГ первого курса; 11) tp - длительность одной пары, ^ - длительность перемены; 10) Т^, Т^ , Т^аб - общее число часов лекционных, практических и лабораторных занятий по С-й дисциплине в g-й подгруппе; 12) Оп - множество дисциплин, относящихся к дипломным или курсовым работам; 12) Ф - множество дисциплин по физкультуре; 13) gu - доля непраздничных дней, приходящихся в течение
семестра на и -й день недели.
II. Данные, связанные с возможностями учебного заведения
1) Mp - максимальное число учебных пар в день; 2) К - общее число учебных аудиторий; 3) по всем учебным аудиториям а: Уа - вместимость а-й аудитории; 4) 0а - тип а-й аудитории (О - лекционная аудитория
с учебной доской, А - лекционная аудитория со средствами отображения, С - компьютерный класс, ^ - специализированная лаборатория);
5) А(«1, а^) - условное расстояние между а^-й и а^-й аудиториями;
6) Ь - число всех преподавателей; 11) В - множество всех аудиторий вне вуза; 12) ТН и Т£ моменты начала и окончания занятий в аудитории а е В и время юа, необходимое, чтобы добраться до аудитории а е В из вуза или возвратиться обратно в вуз; 13) уЛ и уП (человек) - объемы зарезервированных в к-м корпусе аудиторий для лекционных и для практических занятий; 14) ктах - число всех учебных корпусов; 15) СЛ, С^ - число и Ск,Л, Ск,П - списки всех лекционных аудиторий и аудиторий для практических занятий в к-м учебном корпусе вместимостью уП , уЛ человек соответственно.
III. Данные, получаемые на основе субъективных оценок и методик 1) г1 - ранг 1-ого преподавателя; 2) pad - степень приоритетности
а-й аудитории для чтения С-й дисциплины при 0 < pad < 1 и степень нежелательности проведения занятия по С-й дисциплине в а-й аудитории при pad < 0; 3) для всех дисциплин С: у(с1) - важность а-й дисциплины;
4) по преподавателям: Ъы и с1и - номер пары, с которой 1-й преподаватель хотел бы начинать занятия и до которой хотел бы их закончить в и-й день недели; - наименьшее количество пар, которые хотел бы
иметь 1-й преподаватель в и-й день недели; 5) набор чисел (т„} степеней дифференциации нагрузки по дням недели; 6) - уровень приоритетности при > 0 или неприоритетности при < 0 проведения и-ого заня-
тия 1-м преподавателем в а-й аудитории; 7) wpl (p = 1,19) - важность критерия Fp ; 8) аЛ - доля в процентах лекционных занятий в дневном расписании студентов (при числе пар больше двух); 9) Ь - доля в процентах числа занятий по одной дисциплине (при числе пар больше двух); 10) номер г пары, после которой у первого курса не должно быть занятий; 11) уП, уЛаб,л уЛаб,С - соответственно максимально допустимые доли практических, специальных лабораторных и компьютерных занятий в течение учебного дня в случае, если число пар больше двух; 12) ки - коэффициент, учитывающий желательность того, чтобы свободным днем был именно и-й день недели; 13) С (С, p) - степень нежелательности проведения занятий по
С-й дисциплине на p-й паре учебного дня; 14) 5^, С) - уровень желательности проведения С-й дисциплины на p-й паре; 15) / - множество ПГ, для которых предпочтительно иметь один и тот же день недели для самостоятельной работы; 16) ти (и = 1,6) - коэффициенты, учитывающие желательную степень дифференциации нагрузки по дням недели
IV. Данные, получаемые на основе компьютерных экспериментов
1) W20 - величина штрафного порога, обеспечивающего целочис-ленность полученных решений.
Целесообразно все данные, перечисленные в разделе «Формализация задачи», апробировать и проверить на основе компьютерного эксперимента.
Заключение
Приведенная в работе формализация задачи составления учебного расписания приводит к модели задачи квадратичного программирования. Однако применение известных автору методов нахождения точных решений указанной задачи практически невозможно ввиду больших размеров полученной задачи. Действительно, среднее количество студентов в большинстве государственных российский вузов составляет, по-видимому, порядка 7 500 человек, что приводит к формированию порядка 300 ( = 7 500/15) подгрупп. Они имеют аудиторный фонд » 200 аудиторий. Среднее число учебных пар в неделю составляет 50, среднее число читаемых дисциплин по каждой специальности также порядка 50. Тогда в приведенной выше формализации задачи будет порядка 50 X 300 X 200 X 50 = 150 000 000 переменных хргас1, что в настоящее время делает невозможным применение существующих точных методов ее решения. Однако для решения полученной задачи могут быть привлечены различные приближенные и эвристические методы. Отметим, что, в частности, исходя из этого, в работе приводится несколько альтернативных формализаций одного и того же требования.
Автор выражает признательность начальнику учебного отдела АГТУ доценту А. А. Круглову за настоятельный совет заняться решением данной задачи, а также за консультации при ее формализации.
СПИСОК ЛИТЕРА ТУРЫ
1. Конвей Р. В., Максвелл В. Л., Миллер Л. В. Теория расписаний. - М.: Наука, 1975. - 360 с.
2. Танаев С. В., Шкурба В. В. Введение в теорию расписаний. - М.: Наука, 1975.
3. Теория расписаний и вычислительные машины / Под ред. Э. Г. Коффмана. -М.: Наука, 1984. - 335 с.
Получено 19.09.05
THE PROBLEM FORMALIZATION OF THE SCHEDULING IN A HIGHER EDUCATIONAL INSTITUTION
G. A. Popov
On the basis of the list of possible requirements to the educational schedule in a higher educational institution, the mathematical ratios formalizing these requirements are written out. The received set of mathematical ratios (equations, inequalities, optimization conditions) is considered as the model for scheduling problem. The received ratios allow drawing a conclusion that the scheduling problem can be formalized as a quadratic programming problem. The structured basic data list that is required for practical realization of the problem on the basis of the received formalized model is given in the work. It is established that the real sizes of the received problem do not allow solving it practically by the existing exact methods of quadratic programming problems yet.