Процедура составления расписания как

advertisement
Процедура составления расписания как целочисленной
задачи без потоков
Сергей Б. Шевелев
Россия, Санкт-Петербург
Март 18. 2010
Одной из распространенных задач целочисленного программирования является задача
составления расписания. Алгоритмы решения задач составления расписания относятся к классу
NP – полных. Решение задач этого типа предусматривает различные подходы. В последнее время
такие задачи стали весьма актуальными в связи с полной автоматизацией процессов управления
объектами различного назначения: транспорт, логистика, сборочное производство,
проектирование, организация учебного процесса в образовательных заведениях всех уровней [1].
Автор предлагает постановку и процедуру решения такой задачи на примере целочисленной
задачи без потоков, характерную для технических ВУЗов.
Общая постановка задачи
Для простоты изложения предлагаемой оригинальной процедуры составления расписания,
приведём постановку задачи для учебного процесса, характерного при стационарном (дневном)
обучении :
M - количество обобщенных групп,
i - номер обобщенной группы ,
Р – количество обобщенных преподавателей.
j - номер обобщенного преподавателя
T – общее число обобщенных занятий в неделю,
Q - количество учебных дней в неделю,
q – номер учебного дня недели
H - количество обобщенных занятий в день,
h – номер обобщенного занятия в течение дня.
Очевидно, что для составления сквозного недельного расписания
T=QH
t – номер обобщенного занятия (сквозной за неделю),
S= SL + SС – общее количество обобщенных аудиторий.
C – количество групповых занятий (ГЗ) согласно темплану,
c – номер конкретного ГЗ 1,…,C согласно темплану
SC- число аудиторий для ГЗ
Теперь необходимо дать блок понятий, реализующих общие для групп потоковые лекционные
занятия [1,3]:
L – количество лекций согласно темплану,
l – номер конкретной лекции 1,…,L , согласно темплану
SL - число аудиторий для лекций
k - номер обобщенной аудитории
Следует учесть, что потоковые занятия совсем не обязательны для всех групп, поскольку
существует разделение на специальности, направления и т.п. Тогда:
R - количество потоков,
r – номер потока 1,…,R,
kr- номер в потоке учебной группы в потоке r,
Qkr- множество номеров рабочих дней группы kr,
Lr – количество лекций в потоке r согласно темплану,
lr – номер конкретной лекции 1,…,Lr
При этом необходимо повториться по номенклатуре групповых занятий по потокам:
Cr – количество групповых занятий (ГЗ) в потоке r согласно темплану,
cr – номер конкретного группового занятия 1,…,Cr ,
i - номер обобщенной группы ,(1-М)
j - номер обобщенного преподавателя,(1-Р)
t – номер обобщенного занятия(сквозной за неделю),(1-Т)
q – номер учебного дня недели (1-Q)
1
h – номер обобщенного занятия в течение дня (1-H)
k - номер обобщенной аудитории,(1-S)
Примем за критерий оптимальности максимизацию свободных дней преподавателей. Тогда
задача будет формулироваться следующим образом:
найти
Q P
∑ ∑ξ pzqp –>max
q=1p=1
где ξ p- весовой коэффициент, определяемый статусом преподавателя,
zqp – булева переменная, равная 0, если преподаватель имеет занятия в данный день и равная 1
в противном случае,
при ограничениях:
Cir
L
∑ X qihcr + ∑ Yqhl < 1 c=1
l=1
Данное ограничение обусловлено тем, что в каждый день на каждой паре и для каждой группы
может проводиться не более одного занятия,
Q H Cir
∑ ∑ (∑X qihcr
q=1 h=1 c =1
L
+ ∑ Yqhl ) = W ir l=1
Равенство указывает, что для каждой группы ir должен выполняться установленный тематический
план на неделю.
Где Yqhl =1, если в день q на паре h читается лекция, то «l», «0» – в противном случае;
X qihcr =1, если в день q в группе ir на паре h проводится практическое занятие «c», «0» – в
противном случае.
Зададимся условиями и примем несовместимость непрерывного процесса обучения в силу
занятости конкретного преподавателя или отсутствия возможности предоставления именно
данного помещения учебной группе (лаборатория, учебный класс, компьютерный класс, спорт.зал
и т.п.).
Приведём ограничения в задаче составления расписания:
Jqihr – 1, если q–ий день группа ir начинает занятия с h-той пары,
Zqijr - 1, если q–ий день группа ir заканчивает занятия на h-той паре,
Yqhl - 1, если q–ий день на h-той паре читается лекция «l»,
Xqihcr - 1, если q–ий день в группе ir на h-той паре проводится ГЗ «c»,
Dpl – 1, если преподаватель p в читает лекцию l,
dpiсr – 1, если преподаватель p в в группе ir проводит ГЗ «с»,
Np – нагрузка преподавателя p в неделю
Wir - тематический план на неделю для группы ir
Тогда можно ввести следующие ограничения [2]:
H
1)
H
H
∑ h Jqih <∑ h (Xqihc +Yqjl) <∑ h Zqih
h=1
h=1
h=1
любое занятие не начинается раньше пары Jqih
и не кончается позже пары Zqih
H
C
L
H
2)
∑(∑ Xqihc +∑ Yqjl ) =∑ h (Zqih – Jqih) +1
h=1 c=1
l=1
h=1
все виды занятий заполняют интервал между первой Jqih
и последней Zqih парой
2
Cir
L
3)
∑ Xqihcr +∑ Yqjl < 1
c=1
l=1
в q–ий день на каждой h-той паре группа ir может иметь не более чем один вид занятий (ГЗ c или
лекция l)
Q
H
4)
∑ ∑ Xqihcr + Yqjl < 1
q=1 h=1
Групповые занятия (ГЗ) и лекция l для всех и всех групп ir могут проводиться не более одного
раза на какой-либо h-той паре
M Cir
L
5)
∑ ∑ dpic Xqihcr +∑ Dpc Yqjc < 1
i=1c=1
l=1
в q–ий день на каждой h-той паре преподаватель p может вести не более одного занятия ( ГЗ «с» в
одной группе i или лекцию «l» )
Q H
M C
C
6)
∑ ∑ ( ∑ ∑ dpic Xqihc +∑ Dpc Yqjl ) = Np
q=1 h=1 i=1 c=1
c=1
каждый преподаватель в течение надели должен выполнить свою аудиторную нагрузку
Q H
Cir
L
7)
∑ ∑( ∑ Xqihcr +∑ Yqhl ) = Wi
q=1 h=1 c=1
l=1
с группой ir должны быть проведены все занятия, запланированные на неделю,
L
8)
∑ Yqhl < SL
l=1
M Cir
∑ ∑ Xqihcr < SC
i=1 c=1
в каждый день q и в каждой паре h число лекций и число ГЗ не должно превышать общего числа
лекционных залов и аудиторий для ГЗ.
Таким образом мы подошли к реализации процедуры составления расписания, как
целочисленной задачи без потоков [1].
Принимая за SL - число аудиторий для лекций, а за критерий оптимальности - максимизацию
свободных дней преподавателей, то задачу можно сформулировать следующим образом.
Найти:
Q P
∑ ∑ξ pzqp –>max
q=1p=1
где ξ p- весовой коэффициент, определяемый статусом преподавателя,
zqp – булева переменная, равная 0, если преподаватель имеет занятия в данный день и равная 1
в противном случае,
при ограничениях:
Ci
∑ X qihc +
c=1
Q H Ci
∑ ∑ (∑X qihc
q=1 h=1 c =1
L
∑ Yqhl < 1 -в каждый день q на каждой паре h для каждой
l=1
группы i может проводиться не более одного занятия,
L
+ ∑ Yqhl ) = W i
l=1
Для каждой группы i должен выполняться тематический план на неделю:
3
Yqhl =1, если в день q на паре h читается лекция «l»,
0 – в противном случае;
X qihc =1, если в день q в группе i на паре h проводится практическое занятие «c»,
0 – в противном случае.
Ограничения в задаче составления расписания:
1)
∑ h Jqih <∑ h (Xqihc +Yqhl) <∑ h Zqih
h=1
h=1
h=1
любое занятие не начинается раньше пары Jqih
и не кончается позже пары Zqih
H
Ci
L
H
2)
∑(∑ Xqihc +∑ Yqjl ) =∑ h (Zqih – Jqih) +1
h=1 c=1
l=1
h=1
все виды занятий заполняют интервал между первой Jqih
и последней Zqih парой
Ci
L
3)
∑ Xqihc +∑ Yqhl < 1
c=1
l=1
в q–ий день на каждой h-той паре группа i может иметь не более чем один вид занятий (ГЗ c или
лекция l)
Q
H
4)
∑ ∑ Xqihc + Yqhl < 1
q=1 h=1
ГЗ с и лекция l для всех и всех групп i могут проводиться не более одного раза на какой-либо hтой паре
M Ci
L
5)
∑ ∑ dpic Xqihc +∑ Dpl Yqhl < 1
i=1c=1
l=1
в q–ий день на каждой h-той паре преподаватель p может вести не более одного занятия ( ГЗ «с» в
одной группе i или лекцию «l» )
Q H
M Ci
L
6)
∑ ∑ ( ∑ ∑ dpic Xqihc +∑ Dpl Yqhl ) = Np
q=1 h=1 i=1 c=1
l=1
каждый преподаватель в течение надели должен выполнить свою аудиторную нагрузку
Q H
7)
Ci
L
∑ ∑( ∑ Xqihc +∑ Yqhl ) = Wi
q=1 h=1 c=1
l=1
с группой i должны быть проведены все занятия, запланированные на неделю,
L
8)
∑ Yqjl < SL
l=1
M Ci
∑ ∑ Xqihc < SC
i=1 c=1
в каждый день q и в каждой паре h число лекций и число ГЗ не должно превышать общего числа
лекционных залов и аудиторий для ГЗ.
Предложенная процедура была опробована при составлении рабочего расписания ИТР
проектной организации и семестрового расписания
СЗТУ (Санкт-Петербург), показав
удовлетворительный результат.
4
Литература
1. Арефьев И.Б., Шевелев С.Б. Актуальные задачи формирования моделей графиков
распределения по маршрутам грузовых автомобилей СПб ТУ. «Автотранспортное
предприятие» ж. № 9, с. 32-34, 2007
2. Арефьев И.Б., Кивалов А.Н.Мартыщенко Л.А. Аналитическая логистика . Эконометрия
логистических систем Изд. 2-е. СПб, СЗТУ, 2008, 91с.
3. Арефьев И.Б., Северов А.А. Принципы разработки тестов. СПб, СЗТУ, AПСП, 2005,. с.
133-138.
5
Download