Научная статья на тему 'Штрафные функции в задаче составления расписания занятий'

Штрафные функции в задаче составления расписания занятий Текст научной статьи по специальности «Математика»

CC BY
457
71
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
розклад занять / цільова функція / штрафна функція / еволюційні технології / расписание занятий / целевая функция / штрафная функция / эволюционные тех-нологии / timetable scheduling / objective function / penalty function / evolutionary technologies

Аннотация научной статьи по математике, автор научной работы — В.Е. Снитюк, Е.Н. Сипко

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

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

In this paper we consider the problem of the timetable scheduling in universities. The use of pe-nalty functions in determining the quality of the timetable was proposed. Generation method of the poten-tial timetables based on the use of penalty functions was proposed. The structural features and structural elements of the penalty functions were suggested.

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

УДК 004.94

В.Е. СНИТЮК*, Е.Н. СИПКО**

ШТРАФНЫЕ ФУНКЦИИ В ЗАДАЧЕ СОСТАВЛЕНИЯ РАСПИСАНИЯ ЗАНЯТИЙ

Киевский национальный университет имени Тараса Шевченко, Киев, Украина Черкасский государственный технологический университет, Черкассы, Украина

Анотація. У статті розглядається задача складання розкладів занять у вищих навчальних закладах. Запропоновано використання штрафних функцій при визначенні якості розкладу. Розроблено метод генерації потенційних розкладів на основі використання штрафних функцій. Визначено структурні особливості та конструктивні елементи штрафних функцій.

Ключові слова: розклад занять, цільова функція, штрафна функція, еволюційні технології.

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

Ключевые слова: расписание занятий, целевая функция, штрафная функция, эволюционные технологии.

Abstract. In this paper we consider the problem of the timetable scheduling in universities. The use ofpenalty functions in determining the quality of the timetable was proposed. Generation method of the potential timetables based on the use ofpenalty functions was proposed. The structural features and structural elements of the penalty functions were suggested.

Keywords: timetable scheduling, objective function, penalty function, evolutionary technologies.

1. Введение

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

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

В отличие от жестких ограничений, имеющих объективную сущность, мягкие ограничения имеют объективно-субъективный и субъективный характер. Так, ограничение «Лекция проводится не в лаборатории» имеет объективно-субъективный характер, а ограничение «Доцент Горошко А. читает лекции в понедельник и вторник» - субъективный. Очевидно, что нарушение мягких ограничений приводит к ухудшению расписания, но не лишает его допустимости. Поскольку таких нарушений может быть много и они имеют разносторонний характер, то актуальность получения допустимого оптимального (приемлемого) расписания является неоспоримой.

Как оценивать то или иное расписание? Мы существуем в мире, где знания студентов оценивают преподаватели, эффективность работы преподавателей - администрация вуза, работу администрации - трудовой коллектив и Министерство образования и науки и т.д., то есть система более высокого уровня иерархии. Для оценивания эффективности (ка-

158

© Снитюк В.Е., Сипко Е.Н., 2015

ISSN 1028-9763. Математичні машини і системи, 2015, № 3

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

Известно, что задача составления расписаний относится к NP-полным. Ее решение осуществлялось различными методами, в основании которых лежали эвристики. Обзор таких методов приведен в [1]. В последние годы к решению задачи составления расписаний в учебных заведениях применяют и мультиагентные технологии [2].

2. Построение штрафных функций в задачах оптимизации

Применение штрафные функции находят в различных отраслях при решении технических и экономических задач. С их помощью сводят многокритериальные задачи к однокритериальным, задачи с ограничениями - к задачам без ограничений. Спектр типов штрафных функций достаточно широк и определяется спецификой рассматриваемых задач. В работе [3] рассмотрены основные типы штрафных функций, которые могут быть применены к решениям задач, где целевая функция является полиэкстремальной недифференцируемой зависимостью. Простейшей штрафной функцией является статическая, где к целевой функции в виде штрафа прибавляется некая константа, далее следует метрическая штрафная функция, где в качестве метрики используется расстояние от множества приемлемых решений. К другому типу принадлежат динамические штрафные функции, значение которых зависит от итерационного шага; адаптивные штрафные функции, где объединен учет расстояния и шага поиска оптимального решения. К ним добавлены «смертельные», с имитацией отжига, раздельные, коэволюционные штрафные функции [4]. Другая классификация рассматривается в статье [5], где штрафные функции делятся на барьерные, квадратичные, абсолютные, логарифмические и с учетом «важности» ограничений.

Однако впервые метод штрафных функций был предложен в 1943 г. американским математиком Р. Курантом и с 60-х годов использовался для решения задач локальной оптимизации, линейного и нелинейного программирования, чаще всего как вариации внутренних и внешних штрафов [6]. Идеи, которые содержатся в известных типах штрафных функций, в том или ином виде могут быть применимы для поиска приемлемого (оптимального) расписания.

3. Целевая функция и типы решений

Рассмотрим целевую функцию, в которой отражены интересы коллективов преподавателей и студентов [7]:

1 км щ

F г =as'Ydxjx 2) А е 7/ Y/ii-X 2^ -> max, (1)

j=\ j=і і=і i=i

r є Q.(P, S,L,A), (2)

где r - расписание, ocs,aL - весовые коэффициенты, указывающие на приоритеты студентов и преподавателей как субъектов учебного процесса, х. и у - приоритеты требований студентов и преподавателей соответственно, Zv - требования групп студентов, Ц - преподаватели, T - группы преподавателей, ZTJ - предпочтения преподавателей, dj - приоритеты таких предпочтений, l - количество требований студентов, K - количество групп преподавателей, определяемое их должностями, научными степенями и учеными званиями, М - количество преподавателей, її - количество преподавателей в і -й группе, Q -область ограничений, P, S, L, A - множество учебных дисциплин, групп студентов, препо-

ISSN 1028-9763. Математичні машини і системи, 2015, № 3

159

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

ло)=Хх]% Z1 и f2(г)=ZУіZ* 1<є tj Zdn -% zl

j=і

y=i

z=i

Z —1

Известно, что область Q состоит из объединения двух областей Q, и , где первая область определяет жесткие требования к расписанию, вторая - мягкие. Все жесткие требования к расписанию должны быть выполнены, то есть г є Ц (/', ,V, Z, И), или, что то же самое, должно быть выполнено условие

ІЦ (г) = 1, (3)

где функция-индикатор Хл

[1,хеА, [0,х g А.

Решение r называется допустимым, если выполнено условие (3). Решение г* называется оптимальным, если оно принадлежит множеству

{г* /Ха =1 & г* gQ2(P,S,L,A) & г* = argmaxF(r)}. (4)

4 г

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

Учитывая характер задачи (1)-(2) и мощность составляющих элементов расписания, поиск оптимального решения проблематичен. В подавляющем большинстве случаев найти оптимальное решение за приемлемое время не удается, к тому же оптимальное расписание apriori не известно. Тогда ограничиваются приемлемым решением, которое является допустимым и определяется по некоторому внешнему критерию. Заметим также, что область (Р, S, L, А) определяется ограничениями как типа равенств, так и неравенствами. Пример ограничения-равенства: «У преподавателя Петрова А. ровно по две пары в понедельник, во вторник и в среду» и неравенства: «У преподавателя Петрова А. не больше двух пар в день». Обычно мощность множества решений, удовлетворяющих ограничению -неравенству, не меньше, чем мощность множества решений, удовлетворяющих ограничению-равенству.

4. Поиск оптимального решения с использованием штрафной функции

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

Шаг 1. Определить структуру S потенциального решения r .

Шаг 2. Определить критерий E окончания поиска оптимального решения.

Шаг 3. Выполнить кодирование потенциального решения.

Шаг 4. Пока не выполнен критерий E :

Шаг 4.1. Пока выборка потенциальных решений Z неполна.

Шаг 4.1.1. Сгенерировать потенциальное решение г .

Шаг 4.1.2. Если оно не допустимо (г g £\(Р,8,Ь,А), то перейти на шаг 4.1.1.

160

ISSN 1028-9763. Математичні машини і системи, 2015, № 3

Шаг 4.1.3. Если решение приемлемо (г ^Q2(P,S,L,Al)\ то записать его в выборку Z и перейти на шаг 4.1.

Шаг 4.1.4. Если решение г неприемлемо хотя бы по одному из ограничений из Q^{P,S,L,A), то реализовать один из трех вариантов:

А: Перейти на шаг 4.1.1.

В: Если вариант А выполнен больше Атах раз, то перейти к варианту С.

С: Положить

F(r) = asFx(г) + aLF2 (г) - Plt(p(FY (г) v F2 (г)), (5)

где /З - весовой коэффициент, it - номер итерации, ср(*) - функция штрафа. Считать г потенциальным решением и перейти на шаг 4.1.1.

Шаг 4.2. Для всех потенциальных решений вычислить значения целевой функции F(*), учитывая то, что если решение допустимо и приемлемо, то значение функции штрафа <£>(*) = 0.

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

Шаг 5. Вычисление значения критерия E .

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

Но вернемся к задаче (1)-(2). Поскольку as>0,aL>0 по определению и i^(*) > О, F2(*) > 0 по построению, то функция F{*) в наихудшем случае может принимать нулевое значение, что соответствует допустимому, но неприемлемому решению для каждого из преподавателей и для каждой студенческой группы. Если считать приоритеты студенческих групп и преподавателей заданными, то получение оптимального значения F будет соответствовать получению оптимальных значений F и F . На практике предпочтения групп студентов и преподавателей зачастую являются антагонистичными, поэтому получение значения /'m.lx = asFlm!ix + aLF2imx является желаемым, но недостижимым ориентиром.

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

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

ISSN 1028-9763. Математичні машини і системи, 2015, № 3

161

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

5. Построение штрафной функции

Рассмотрим задачу конструирования функции штрафа. Как уже было указано,

<p(Fl(r)vF2(r)) =

О, г є Q^{P,R,L,A),

/(v х v у,, I), у), в противном случае.

У=1

і

у=1

(6)

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

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

<pd'\(г)v/- (г)) = [Рур,(7\(г)) + Рур,(F2(г)) = PJ\(vх ) + pj2(vy fl).

3 = 1

3= 1

(7)

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

0S<pC)<Fm (8)

Аналогично и для ее компонент:

О - сРі(Р(г)) < Fin

и 0 < х ) < Fln

J=1

К

5,0</2(vv)<F2i

3=1

Рассмотрим построение штрафной функции (рх{*). Введем функцию расстояния от предполагаемого потенциального решения г до области С^(.Р,£,7, А) . Ранее [1], для того, чтобы получить приоритеты требований студентов Xj,j = 1,1, использовался метод анализа

иерархий Т. Саати. При построении матрицы попарных сравнений использовались только приемлемые пожелания и требования. По такому же принципу построим матрицу попарных сравнений для неприемлемых вариантов расписаний. Рассмотрим в качестве примера требование студенческих групп: «Не более трех пар в день». Тогда неприемлемым для студентов является вариант расписания, в котором существует «Более трех пар в день».

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

Очевидно, целесообразно считать, что T\JT = V, где Т - приемлемое требование, Т - неприемлемое требование, V - множество возможных требований о чем-то. Для преподавателя Петрова А. в рассмотренном выше примере - это T ={Одна пара в понедельник, две -во вторник и три в среду или одна пара во вторник, четыре - в среду и одна в пятницу, или ...}.

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

162

ISSN 1028-9763. Математичні машини і системи, 2015, № 3

Xi = 1-х,

J =

uz

X, =1,

i=1

YjX<

y=i

= 1

и считать, что

і і і

/(V1X;) = E(1-X;) = /-E;

; У=і У=і

(9)

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

Для второго способа необходимо по матрице парных сравнений определить нежелательность выполнения того или иного требования. Чем требование является нежелательнее, тем больше соответствующее значение Xj,j = l,l. Считаем, что каждому желательному требованию соответствует нежелательное требование. Штрафная функция будет иметь такой вид:

(10)

Заметим, что в общем случае xj Ф х ,, j = 1,1.

Реализация третьего способа связана с полным использованием возможностей метода анализа иерархий Т. Саати. Для определения нежелательности реализации того или иного требования строим иерархическую структуру требований. На верхнем уровне находятся требования, аналогичные рассматриваемым во втором способе, и значения нежелательности. Их реализации известны: Xj, j = 1,1. На нижнем уровне необходимо построить матрицы попарных сравнений для подвариантов таких требований.

Так, студенческому требованию Т = {Одна лекция в понедельник} соответствует

нежелательное требование T ={Только не одна лекция в понедельник}. Очевидно, что Т = То {jh UE3 \JT 4, где Tt={i лекций в понедельник}. Для требований Т{,і-0,4,іф\ строим матрицы попарных сравнений и находим значения уровня их нежелательности. Для общего случая - это значения хр,і = \,к;. Тогда функция штрафа будет такой:

і = кі =

) = !>; У\у;) • у(і - й вариант j -го требования реализован).

]=і і=і

(11)

Функция штрафа /2(v у ,D) конструируется аналогичным образом. Единственным

}=і

J

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

5. Заключение

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

ISSN 1028-9763. Математичні машини і системи, 2015, № 3

163

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

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

1. Сипко Е.Н. Об особенностях формирования целевой функции и ограничений в задаче составления расписаний / Е.Н. Сипко, В.Е. Снитюк // Математичні машини і системи. - 2014. - № 3. - С. 88 - 95.

2. Babkin E. AgentTime: A distributed multi-agent software system for university’s timetabling / E. Babkin, H. Abdulrab, T. Babkina // From System Complexity to Emergent Properties. - Springer Berlin Heidelberg, 2009. - P. 354 - 441.

3. Smith A.E. Constraint-Handling Techniques - Penalty Functions / A.E. Smith, D.W. Coit // Handbook of Evolutionary Computation. - Institute of Physics Publishing and Oxford University Press, Bristol, U.K., 1997. - Chapter C 5.2. - 25 p.

4. Yeniay O. Penalty function methods for constrained optimization with genetic algorithms / O. Yeniay // Mathematical and Computational Applications. - 2005. - Vol. 10, N 1. - P. 45 - 56.

5. Попов В.Б. Эволюционные стратегии формирования оптимального кредитного портфеля финансовых предприятий / В.Б. Попов // Ученые записки Таврического национального университета имени В.И. Вернадского. - (Серия «Экономика и управление»). - 2011. - Т. 24 (63), № 1. - С. 164 -181.

6. Шмелев В.В. Точные штрафные функции в линейном и целочисленном линейном программировании / В.В. Шмелев // Автоматика и телемеханика. - 1992. - № 5. - С. 106 - 115.

7. Снитюк В.Є. Аспекти формування цільової функції в задачі складання розкладу занять у ВНЗ / В.Є. Снитюк, О.М. Сіпко // Матеріали IX міжнар. наук.-практ. конф. «Математичне та імітаційне моделювання систем. МОДС 2014». - Київ, 2014. - С. 349 - 352.

8. Снитюк В.Є. Еволюційна технологія розв’язування задачі складання розкладів навчальних занять / В.Є. Снитюк, О.М. Сіпко // Штучний інтелект. - 2006. - № 3. - С. 341 - 349.

Стаття надійшла до редакції 15.06.2015

164

ISSN 1028-9763. Математичні машини і системи, 2015, № 3

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