Content uploaded by Vitaliy Snytyuk
Author content
All content in this area was uploaded by Vitaliy Snytyuk on Jan 01, 2023
Content may be subject to copyright.
В.Є. Снитюк, О.М. Сіпко
Технологія еволюційного
формування розкладів
у закладах вищої освіти
Монографія
Київ 2022
УДК 004.891
С 53
Монографія рекомендована до друку Вченою радою
факультету інформаційних технологій Київського
національного університету імені Тараса Шевченка
Рецензенти:
Волошин О.Ф. ‒ професор кафедри моделювання складних сис-
тем Київського національного університету імені Тараса Шевченка,
доктор технічних наук, професор;
Кучанський О.Ю. ‒ професор кафедри інформаційних систем
та технологій Київського національного університету імені Тараса
Шевченка, доктор технічних наук, доцент;
Олецький О.В. ‒ доцент кафедри мультимедійних систем Наці-
онального університету «Києво-Могилянська академія», кандидат
технічних наук, доцент.
Снитюк В.Є., Сіпко О.М. Технологія еволюційного фор-
мування розкладів у закладах вищої освіти. Київ : Видавець
ФОП Піча Ю.В., 2022. 136 с.
ISBN 978-966-969-152-1 (e-book)
Розглядається задача формування розкладу занять у закладах вищої
освіти. Визначено основні проблеми, які супроводжують процес складання
розкладу занять. Показано, що в основі цього процесу на сьогодні у більшо-
сті випадків знаходиться принцип домінуючого суб’єктивізму.
Зазначено, що дана задача відноситься до класу задач багато-
критеріальної оптимізації. Побудовано цільові функції, які дозволяють
врахувати інтереси студентів та викладачів, а також передбачено врахуван-
ня штрафів за порушення м’яких обмежень. Відповідні цільові функції є
недиференційованими і можуть бути поліекстремальними.
Розроблено еволюційну технологію пошуку оптимізованого розкладу
на основі використання модифікованого генетичного алгоритму. Проведе-
но експериментальну верифікацію одержаних результатів.
Для наукових співробітників, викладачів, аспірантів, а також усіх тих,
чия діяльність пов’язана з алгоритмізацією задач комбінаторної оптимізації.
УДК 004.891
Дизайн обкладинки: Наталія Тмєнова
© В.Є. Снитюк, О.М. Сіпко
ISBN 978-966-969-152-1 (e-book) © Видавець ФОП Піча Ю. В., 2022
ЗМІСТ
Перелік умовних позначень………………………………………..
Вступ……………………………………………………………………
5
6
РОЗДІЛ 1. ТЕОРЕТИЧНІ ОСНОВИ ФОРМУВАННЯ
РОЗКЛАДУ ЗАНЯТЬ У ЗАКЛАДАХ ВИЩОЇ ОСВІТИ……..
11
1.1. Проблема формування розкладів занять як одна із необ-
хідних умов ефективного освітнього процесу……………..
11
1.2. Аналіз методів формування розкладів занять……………..
14
1.2.1. Метод імітації відпалу……………………………………
21
1.2.2. Метод розфарбування графа…………………...………
22
1.2.3. Імітаційне моделювання…………………………………
23
1.2.4. Логічне програмування в обмеженнях………………..
24
1.2.5. Еволюційне моделювання……………………………….
25
1.2.6. Генетичні алгоритми……………………………………..
29
1.3. Огляд автоматизованих систем складання розкладів…….
31
1.4. Аспекти формалізації задач підвищення ефективності
функціонування закладу вищої освіти……………………...
34
Висновки до першого розділу……………………………………..
45
РОЗДІЛ 2. ЦІЛЬОВІ ФУНКЦІЇ У ЗАДАЧІ СКЛАДАННЯ
РОЗКЛАДІВ…......................................................................................
46
2.1. Домінуючий суб’єктивізм як один із основних принци-
пів формування ефективного розкладу………...………….
46
2.2. Інтегральна цільова функція та критерій ефективності
розкладу навчальних занять…………………………………...
51
2.3. Визначення коефіцієнтів цільової функції відображення
суб’єктивних переваг учасників освітнього процесу……...
54
2.4. Задача складання розкладу з використанням штрафної
функції………………………………………………..…………..
60
Висновки до другого розділу………………………………………
72
3
РОЗДІЛ 3. ЕВОЛЮЦІЙНА ТЕХНОЛОГІЯ СКЛАДАННЯ
РОЗКЛАДІВ З ВИКОРИСТАННЯМ НЕЧІТКИХ
ВИСНОВКІВ………………………………………………………….
73
3.1. Обгрунтування використання еволюційного моделю-
вання в задачі складання розкладу навчальних занять …..
74
3.2. Особливості формування структури розв’язку та почат-
кової популяції…………………………………………………..
81
3.3. Алгоритмізація еволюційного методу розв’язання задачі
складання розкладу навчальних занять……………………..
94
Висновки до третього розділу…………………………………….
98
РОЗДІЛ 4. ІНФОРМАЦІЙНО-АНАЛІТИЧНА СИСТЕМА
СКЛАДАННЯ РОЗКЛАДУ ТА ЕКСПЕРИМЕНТАЛЬНА
ВЕРИФІКАЦІЯ………………………………………………………
99
4.1. Особливості подання вхідної інформації та структура
інформаційно-аналітичної системи складання розкладу
занять ……………………………………………………………..
100
4.2. Структура бази даних………………………………………….
103
4.3. Принципи функціонування автоматизованої системи та
експериментальна верифікації одержаних результатів…..
114
Висновки до четвертого розділу…………………………………..
ВИСНОВКИ…………………………………………………………...
120
121
ЛІТЕРАТУРА………………………………………………………….
123
:
4
Перелік умовних позначень
NP
− Nondeterministically polynomial.
АССР
− Автоматизована система складання розкладів.
БД
− База даних.
ГА
− Генетичні алгоритми.
ЕС
− Еволюційна стратегія.
ЗВО
− Заклад вищої освіти.
ЗСР
− Задача складання розкладів.
ЗСРНЗ
− Задача складання розкладу навчальних занять.
ІБД
− Ієрархічна база даних.
ІЛМД
− Інформаційно-логічна модель даних.
ІМД
− Інфологічна модель даних.
ІАС
− Інформаційно-аналітична система.
ІС
‒ Інформаційна система.
КТ
− Комп’ютерна техніка.
МАІ
− Метод аналізу ієрархій.
МБД
− Мережева база даних.
МД
− Модель даних.
ОП
− Освітній процес.
ПАВ
− Послідовний аналіз варіантів.
ПЗ
− Програмне забезпечення.
РБД
− Реляційна база даних.
СУБД
− Система управління базою даних.
ФР
− Фрагмент розкладу.
5
ВСТУП
Ефективність функціонування сучасного виробництва у
різних галузях значною мірою залежить від рішень, прийня-
тих на етапах календарного планування та оперативного
управління. Поряд з покращенням якості планових рішень
все більш жорсткими стають вимоги до скорочення термінів
виробництва, підвищення оперативності та гнучкості управ-
ління. Сьогодні у створенні автоматизованих систем управ-
ління виробництвом активно використовуються нові для віт-
чизняної практики технології: управління проектами, управ-
ління ресурсами, промислова логістика тощо. Їх спільною
метою є оптимізація і використання наявних матеріальних
ресурсів та кадрового потенціалу шляхом складання різного
роду розкладів. Особливе місце серед них займає задача скла-
дання розкладу занять у закладах вищої освіти. Якість підго-
товки фахівців у таких закладах і, особливо, ефективність ви-
користання науково-педагогічного потенціалу залежать пев-
ною мірою від рівня організації освітнього процесу (ОП). Од-
на з основних складових цього процесу – розклад занять рег-
ламентує трудовий ритм, впливає на творчу віддачу виклада-
чів, тому його можна розглядати як фактор оптимізації вико-
ристання обмежених трудових ресурсів – викладацького
складу. Таким чином, вирішення проблеми розробки опти-
мальних розкладів занять у закладах вищої освіти має ще і
очевидну економічну складову.
Теорія розкладів є добре вивченою і описаною в багатьох
роботах, починаючи з 60-х років минулого сторіччя, такими
відомими вченими як Р.В. Конвей, Е.Г. Кофман, В.Л. Максвел,
Л.В. Міллер; зокрема, проблемою складання розкладів навча-
льних занять займались такі вчені як Д. де Верра, Б.А. Лагоша,
К.Г. Самофалов, В.П. Симоненко, Т. Строхлейн, В.М. Тома-
шевський, Г. Шмідт та інші.
Свого часу був сформульований клас NP-повних задач те-
орії розкладів, для розв’язання яких не знайдено ефективних
алгоритмів. Саме до таких задач можна віднести більшість
реальних задач виробничого планування, зокрема і задачу
складання розкладу навчальних занять. У порівнянні з сере-
6
диною минулого століття в останні роки з’явилась значна кі-
лькість програмних і апаратних засобів (мови програмування
високого рівня, сучасна комп’ютерна техніка), які розширю-
ють можливості розробників методів розв’язання задач теорії
розкладів.
Проведений аналіз сучасного стану досліджень у теорії
розкладів вказує на наявність ряду нерозв’язаних задач. Серед
них основними є такі:
– здійснено формальні постановки задач й описані моделі
і методи, що враховують різні обмеження, у той же час безпо-
середнє розв’язання практичних задач за допомогою цих мо-
делей виявляється неможливим як внаслідок їх великої розмі-
рності та NP-складності, так і тому, що в практичних задачах
необхідно враховувати не лише формальні, але і якісні кри-
терії та обмеження;
– проблеми розв’язання слабко структурованих задач на
даний час розглядаються в межах окремих наукових дисцип-
лін (починаючи від системного аналізу та теорії систем і за-
кінчуючи теорією оптимізації), що веде до розрізненості дос-
ліджень, відсутності єдиного підходу;
– не вивчено проблеми залежності якості отриманих
розв’язків від структурних характеристик та рівня визначено-
сті середовища;
– недостатньо досліджено проблеми відображення систе-
ми переваг зацікавлених осіб та їх врахування в цільових фу-
нкціях.
Оптимізація освітнього процесу пов’язана з важливістю
розв’язання вищевказаних задач, що вказує на актуальність
розробки еволюційних технологій складання розкладів занять
на основі суб’єктивних переваг.
Рух до інформаційного суспільства супроводжується дос-
лідженнями, що охоплюють різні аспекти навчальної діяльно-
сті, пов’язані з автоматизацією ОП. Проблема підвищення
якості підготовки фахівців у закладі вищої освіти (ЗВО) обу-
мовлює необхідність постійного вдосконалення організації
ОП, зокрема, підвищення якості розв’язання основних задач,
що регламентують підготовку фахівців: складання навчаль-
них планів та формування розкладу занять.
7
Задача складання розкладів є однією з найпоширеніших
задач, що розв’язуються кожною людиною (свідомо чи ні)
практично щодня. На сьогодні проводиться багато дослід-
жень, що охоплюють різні аспекти навчальної діяльності, у
тому числі й пов’язані з автоматизацією ОП. Однак, більшість
задач, що розв’язуються у рамках автоматизації ОП, не мають
тривіального розв’язку, що значно ускладнює їх остаточну
реалізацію.
Розв’язання задачі складання розкладів, у загальній поста-
новці, є процесом виконання певної фіксованої системи зав-
дань з використанням деякої множини ресурсів [54]. Скла-
дання розкладу занять у ЗВО є досить складною задачею на-
віть для групи фахівців [55].
Від своєчасного подання інформації, організації лабора-
торних практикумів, практичних занять або семінарів зале-
жить і рівень засвоєння інформації, рівень навченості. Вирі-
шенню релевантних проблем присвячено педагогічні теорії
початку та середини ХХ століття, які отримали розвиток у
наш час [111]. Спроби підвищення ефективності навчання
виконувались навіть шляхом узгодження графіків занять з
біологічними ритмами суб’єктів навчання з урахуванням їх
психологічного типу та проводились у різних країнах і у різні
часи.
Суб’єктивізм, який присутній у процесі складання розк-
ладів, призводить до численних конфліктів, значних часо-
вих витрат та одержання неоптимальних за різними крите-
ріями розкладів. Автоматизація процесу розв’язання задачі
складання розкладів (ЗСР) є досить складною проблемою, її
алгоритмізація наштовхується на аспекти NP-повноти. На-
гадаємо, що пошук точних алгоритмів розв’язання цих за-
дач, час роботи яких обмежено поліномом від розмірності
входу задачі, в даний час є безперспективним [61]. Експоне-
нційні алгоритми переборного типу вимагають значних
обчислювальних витрат навіть при розв’язанні задач серед-
ньої розмірності. Тому одним з важливих напрямків дослі-
джень є побудова та аналіз наближених алгоритмів з гаран-
тованою оцінкою точності для NP-повних задач. У даний
час цей напрям завоював величезне число прихильників у
8
середовищі дослідників, що займаються комп'ютерною ма-
тематикою.
Вперше задачу складання розкладів розглянуто у 1784
році у Великій Британії, коли було створено перший розк-
лад для гужового транспорту та паровозів, що рухались за
постійним маршрутом із вказаним часом прибуття потягів.
Перша збірка розкладів залізничного руху у Великій Бри-
танії була складена Джорджем Бредшоу [7].
З розкладом пов’язаний і Середній час за Гринвічем: у
1847 році британські залізничні компанії об’єдналися і для
загальнобританского розкладу було визначено єдиний час
за часом обсерваторії Гринвіча [25].
Однією з найперших конференцій, що присвячена суто
проблемі складання розкладів була Міжнародна конфере-
нція з теорії та практики автоматизованих розкладів
(International Conference of the Practice and Theory of
Automated Timetabling), що відбулася в Единбурзі в 1995
році [10]. Основними напрямами конференції стали навча-
льні розклади, робочі розклади і, останнім часом, спортивні
розклади. У березні 1996 року створено Робочу групу з ав-
томатизації розкладів (WATT), координаторами якої стали
Едмунд Берк і Ян Шредер.
Математики почали займатись проблемою створення
методології побудови розкладів порівняно недавно. У 1967
році в США вийшла перша у світі книга з теорії розкладів.
У СРСР вона з’явилась у перекладі в 1975 році. Кількість
літературних джерел, присвячених розв’язанню задач теорії
розкладів, сьогодні нараховує декілька десятків тисяч, дру-
куються статті у наукових спеціалізованих журналах і за-
хищаються дисертації. Але в останні роки кількість публі-
кацій зменшується і вони є все більш орієнтованими на ма-
тематиків вищої кваліфікації, які переважно зацікавлені в
одержанні суто теоретичних результатів.
Розклад навчальних занять – це документ, що регламен-
тує трудовий ритм, впливає на творчу віддачу викладачів,
тому його можна розглядати як фактор оптимізації ОП.
Розклад повинен задовольняти педагогічним вимогам, що
9
базуються на принципах аналітичної дидактики і кіберне-
тичної аналогії [31].
Перші програми для складання розкладу навчальних
занять з’явилися ще на початку 90-х років, однак, дотепер
використовуються менше, ніж у чверті всіх навчальних за-
кладів. Причин цьому досить багато. І однією з головних
причин є те, що розробники бачать і створюють програму
за своїм задумом, а диспетчери хочуть бачити програму по-
іншому. В результаті готова програма просто не влаштовує
диспетчера, у багатьох випадках вона навіть не відповідає
його уявленню про свою роботу.
10
РОЗДІЛ 1. ТЕОРЕТИЧНІ ОСНОВИ ФОРМУВАННЯ
РОЗКЛАДУ ЗАНЯТЬ У ЗАКЛАДАХ ВИЩОЇ ОСВІТИ
1.1. Проблема формування розкладів занять як одна
із необхідних умов ефективного освітнього процесу
Якість підготовки фахівців у ЗВО і особливо ефективність
використання науково-педагогічного потенціалу залежать
значною мірою від рівня організації ОП. Одна з основних
складових цього процесу – розклад занять – регламентує тру-
довий ритм, впливає на творчу віддачу викладачів, тому його
можна розглядати як фактор оптимізації використання обме-
жених трудових ресурсів – викладацького складу. Технологію
ж розробки розкладу варто сприймати не лише як трудоміст-
кий технічний процес, об’єкт автоматизації з використанням
комп’ютерної техніки (КТ), але й як акцію оптимального ке-
рування. Таким чином, має місце проблема розробки оптима-
льних розкладів занять у ЗВО з очевидним економічним ефе-
ктом. Крім цього, оптимальне керування такою складною си-
стемою неможливе без накопичення деякої статистичної ін-
формації про процеси, що відбуваються у системі. Тому сама
задача складання оптимального розкладу є лише частиною
складної системи керування ОП. Оскільки інтереси учасників
ОП різноманітні, задача складання розкладу – багатокритері-
альна.
Багатокритеріальність цієї задачі і складність об’єкта, для
якого будується математична модель, обумовлює необхідність
деталізованого математичного дослідження об’єкта для збіль-
шення функціональних можливостей алгоритмів складання
розкладів без значного ускладнення моделі і, як наслідок,
збільшення обсягів використовуваної пам’яті і часу розв’язан-
ня задачі.
Оскільки задача складання розкладу навчальних занять
(ЗСРНЗ) є NP-повною [3, 52] навіть для такої задачі як розпо-
діл
N
іспитів у
T
часових інтервалах, кількість можливих
розв’язків дорівнює
N
T
. Це число досягає великих значень для
реальних умов ЗВО, що налічує невелику кількість студентів.
Але задача складання розкладу іспитів у порівнянні із зада-
11
чею складання розкладу занять є суттєвим спрощенням. На-
приклад, кожний іспит чітко пов’язаний з певною групою
студен
тів і певним викладачем, чого не можна сказати про
звичайне заняття з будь-якої дисципліни, адже кожну дисцип-
ліну може викладати група викладачів, а вивчати її мають
групи студентів. Таким чином, визначення того, який викла-
дач у якої групи веде заняття, – це теж частина процесу
розв’язання задачі складання розкладу.
Детально зупинимося на тих аспектах ОП, які відносяться
до задачі складання розкладу, але спочатку визначимо основ-
ні поняття.
Розклад – впорядкована в часі множина навчальних за-
нять. Для кожного заняття має бути визначена група, для якої
проводиться заняття; викладач, який його проводить; дисци-
пліна; місце і час проведення заняття. Розклад вважається
створеним, якщо для кожної групи розподілені за часом всі
заняття з навчального плану і в розкладі немає ніяких розбіж-
ностей або невідповідностей. Далі розкриємо докладно кожне
із перелічених понять.
Групою, для якої проводиться заняття, може бути одна або
декілька навчальних груп, а також в окремих випадках части-
на навчальної групи – підгрупа. Для кожної навчальної групи
відома назва, форма навчання, спеціальність (освітня програ-
ма), рік вступу і кількість студентів. Кількість підгруп в групі
визначається, виходячи з кількості студентів. В одній підгрупі
не може бути більше 16 осіб (як правило). Спеціальність (осві-
тня програма) та форма навчання групи дають інформацію
про навчальний план, тобто про ті дисципліни, які студенти
цієї спеціальності (програми) вивчають протягом усього тер-
міну навчання. Рік вступу вказує на те, на якому курсі група
навчається в даний час. Для кожної спеціальності визначена
відповідна кафедра.
Викладач працює на кафедрі та веде різні дисципліни у
різних групах. Крім того, викладач може мати суб’єктивні
переваги щодо часу проведення занять.
Кожна дисципліна закріплена за певною кафедрою. Для
кожної дисципліни існує кілька видів занять, наприклад: лек-
12
ції, практичні чи лабораторні роботи, семінари. Дисципліну
можуть вести кілька викладачів.
Аудиторією є приміщення, де проводяться заняття. Для
кожної аудиторії відомо кількість місць і тип, наприклад: лек-
ційна, комп’ютерний клас, лабораторія, спортзал. Аудиторія
закріплена за певною кафедрою або є загальною для ЗВО чи
факультету. Варто відзначити, що ЗВО можуть мати кілька
корпусів, які знаходяться на деякій відстані один від одного.
Організація занять щодо часу залежить від форми нав-
чання. Різні значення можуть мати такі параметри як кіль-
кість тижнів, кількість днів на тиждень, кількість занять на
день. Наприклад, для денної форми навчання характерним є
чергування парного і непарного тижнів, а для заочної скоро-
ченої форми можуть існувати 3 різних тижні.
Для груп денної та заочної форм навчання розклад скла-
дається два рази на рік, перед початком кожного навчального
семестру.
Складанням розкладу, як правило, займаються диспетче-
ри відділу планування та контролю ОП.
Робочий план групи базується на навчальному плані, що
відповідає певній освітній програмі. Він містить список дис-
циплін для даної програми на даний семестр. Для кожної
дисципліни визначені види занять і необхідна кількість годин
на тиждень.
Бланк доручень викладачам кафедри містить список всіх
викладачів кафедри. Для кожного викладача перераховані
дисципліни, які він веде в семестрі; інформація про вид і кі-
лькість занять; вказівка на аудиторію, необхідну для занять,
назву груп та кількість груп або підгруп, для яких проходить
заняття, його побажання.
Коли потрібна інформація підготовлена, починається
складання розкладу. Диспетчер заповнює таблицю розкладу
для груп і одночасно веде облік аудиторних карток і розклад
викладачів.
З робочого навчального плану з’ясовується, які дисциплі-
ни повинні бути в розкладі для кожної групи. З бланка дору-
чень викладачам тієї кафедри, яка веде конкретну дисциплі-
ну, для групи визначається викладач. Потім для дисципліни
13
вибирається час і аудиторія. Вибраний час для викладача має
бути вільним і не позначений як небажаний. Аудиторія по-
винна бути вільною і сумісною з дисципліною та типом за-
няття. Чисельність студентів у групі повинна бути меншою
або дорівнювати кількості місць в аудиторії. У бланку дору-
чень викладачам кафедри може бути вказана конкретна ау-
диторія для заняття або необхідний тип аудиторії. Якщо кон-
кретна аудиторія не вказана, то заняття проходять в аудито-
рії, яка закріплена за кафедрою, до якої відноситься група або
в загальних аудиторіях ЗВО. Для студентів, а бажано і для ви-
кладачів не повинно бути «вікон» у розкладі. Для груп існує
максимально допустима кількість занять на день.
Задача складання розкладу може бути розв’язана різними
способами, наприклад, перебором усіх варіантів або з викори-
станням методів теорії розкладів і методів оптимізації. Ці ме-
тоди неприйнятні для розв’язання задачі вручну через їх
складність для людини. Як правило, задача розв’язується інту-
їтивно, з використанням минулого досвіду складання розкла-
дів. З огляду на велику ймовірність виникнення помилок і
значний час, що потрібен для створення розкладу, ЗВО
приймають рішення про розробку або закупівлю автоматизо-
ваної системи складання розкладу.
1.2. Аналіз методів формування розкладів занять
Дослідження низки наукових робіт [1, 2, 3, 4, 17, 30, 37, 51,
56, 73, 76, 77, 81, 82, 109] показало велику зацікавленість нау-
ковців методами розв’язання задачі складання розкладів нав-
чальних занять. Різноманітність результатів, одержаних у цій
області, визначається використанням як сучасних і класичних
методів і підходів до розв’язання даної задачі, так і розробкою
нових або модифікованих методів.
На прикладах із наукових джерел визначимо основні тен-
денції сучасного наукового пошуку в напрямку розробки та
удосконалення технологій розв’язання ЗСРНЗ. Так, особливо-
сті процесу складання розкладу занять для дистанційного
навчання розглянуті в статті [109]. Виконано аналіз різних
методів складання розкладів: імітації відпалу, розфарбову-
14
вання графа, імітаційного моделювання, логічного програму-
вання з обмеженнями. Критерієм оптимальності розкладу
визначено максимальне ущільнення викладацького наванта-
ження і наголошено на використанні генетичного алгоритму
для максимізації цільової функції. Аспекти застосування ге-
нетичного алгоритму розглянуті також і у роботі [41]. Той же
генетичний алгоритм розглянуто в [28], цільовою функцією
тут виступає усереднене значення рівня виконання вимог
викладачів: небажання проводити пари в певний час, мінімі-
зація кількості «вікон», рівномірність занять. Продовжується
розвиток напрямку використання генетичних алгоритмів у
статті [42] з ухилом в бік паралелізації обчислювального про-
цесу і використання Grid-систем.
Метод формування розкладу, який визначається побажан-
нями студентів, описаний в [95]. Запропоновані ідеї мають
щось спільне з відомими технологіями, подібними методу
Дельфі, оскільки присутні всі ті ж атрибути: заочність, бага-
торівневість, анонімність. Автор [72] пропонує інформаційну
модель на базі обмежень зв'язків елементів розкладу, розклад
формується з використанням методу аналізу ієрархій. У [37]
тема використання такої моделі розвинена в напрямку вико-
ристання генетичного алгоритму. У статті [112] запропонова-
но застосування елементів тензорного числення для опису
процесів складання розкладів для навчальних комплексів. У
роботі [104] зроблено висновок про недоцільність повністю
автоматизованого складання розкладу через трудомісткість
побудови точних математичних конструкцій і пропонується
використання діалогового процесу. Основні обмеження та
види критеріальних функцій систематизовані в [31]. Автор
стверджує, що існує два критерії пошуку цільової функції:
мінімізація витрат і максимізація ефективності складеного
розкладу. І, якщо з другим критерієм цілком можна погоди-
тися за умови уточнення поняття «ефективного розкладу», то
перший критерій викликає, як мінімум, здивування. Можли-
во, це мінімізація обчислювальних ресурсів, необхідних для
отримання опорного або квазіоптимального розв’язку, або
мінімізація витрат праці диспетчера. Оптимізація структури
інформаційної бази пропонується в [53]. Ще одним напрям-
15
ком, який переважає в деяких роботах [19, 57, 85], є викорис-
тання елементів нечіткої логіки, що є природним, враховую-
чи природу вимог суб’єктів освітнього процесу. Нечітка логі-
ка дозволяє помітно спростити формалізацію вимог, але часто
призводить до побудови розкладу, що має далеко не кращі
характеристики в результаті переходу від «жорстких» вимог
до більш «м’яких».
У роботі [33] описується можливість використання методів
підвищення ефективності кластерних систем при розв’язанні
оптимізаційних задач за рахунок адаптації алгоритмів до осо-
бливостей їхньої архітектури. В результаті розроблено пара-
лельний алгоритм, що дозволяє автоматизувати процес по-
шуку близьких до оптимальних параметрів згортки, що за-
безпечують високу якість отримуваних розкладів.
У [29] пропонується використовувати теоретико-графові
моделі і методи складання розкладів без переривань. Резуль-
татом роботи виступають розроблені комплекси програм для
проведення обчислювальних експериментів, що дозволяють
порівнювати швидкодію різних потокових методів, які вико-
ристовуються при перевірці умов існування розкладів без пе-
реривань.
В останні роки особливого поширення набуло викорис-
тання і дослідження методів еволюційного пошуку [45, 74].
Застосування методів еволюційного пошуку приводить до
отримання прийнятних результатів, однак має місце висока
обчислювальна трудомісткість і відносна неефективність на
заключних етапах еволюції.
Не менш цікавим є використання інтелектуальних методів
розв’язання задачі складання розкладів занять. В їх основі ле-
жить використання різних евристик і евристичних алгорит-
мів. Проте, розв’язання задачі складання розкладу за допомо-
гою евристик не гарантує знаходження глобального оптиму-
му [51].
У даний час для розв’язання задачі складання розкладу за-
стосовується ще один новий підхід – нейронні мережі [78].
Найважливішим недоліком застосування цього підходу є
складність вибору початкового стану нейронної мережі.
16
Розглянемо класичні підходи до розв’язання задачі
складання розкладів навчальних занять. При формуван-
ні розкладів встановлюють часовий період і це може бу-
ти один, два тижні чи місяць. Тоді розклад циклічно по-
вторюється весь семестр. Але, у загальному випадку, цієї
вимоги не дотримуються. Якщо навчальні плани скла-
дені таким чином, що дисципліни можуть викладатись
лише один раз в тиждень або через тиждень, то задача
складання оптимального розкладу може бути представ-
лена як задача лінійного цілочисельного програмуван-
ня. При такому підході інтереси суб’єктів ОП врахову-
ються у вигляді обмежень або критеріїв оптимальності.
Розглянемо одну з класичних математичних моделей за-
дачі складання розкладу навчальних занять [15]. Припустимо,
що у ЗВО є
N
навчальних груп, об’єднаних в
R
потоків,
r
–
номер потоку,
1,...,rR=
;
r
k
– номер навчальної групи в потоці
r
,
1,...,
r
kG=
. Для кожної групи
r
k
визначається множина но-
мерів робочих днів цієї групи
kr
T
, яка є підмножиною всіх ро-
бочих днів навчального закладу. Кожен робочий день розби-
вається на періоди навчання – пари, загальна кількість яких
J
, а
1,...,jJ=
– номер визначеної пари.
На основі навчального плану для кожного потоку склада-
ється список із
r
S
лекційних занять, де
1,...,
rr
sS=
– номер
конкретної дисципліни у списку. Для кожної групи
r
k
скла-
дається список із
kr
Q
запланованих практичних занять,
1,...,
kr kr
qQ=
– номер дисципліни у списку. Список усіх занять
для кожної конкретної групи буде складатися з усіх занять,
присутніх у списках. При цьому, якщо по дисципліні протя-
гом тижня проводиться більше одного заняття, ця дисципліна
згадується в списку лекцій чи практичних занять стільки ра-
зів, скільки їх передбачається навчальним планом для кож-
ного потоку чи групи.
Нехай
p
– номер (ім’я) викладача,
1,...,pP=
. Введемо бу-
леві змінні:
17
1, ,
0, .
r
r
p
rs
якщо на потоці r лекцію s читає викладач p
в іншому випадку
δ
=
1, ,
0, .
r kr
r kr
p
rk q
якщо у групі k практичне заняття q веде викладач p
в іншому випадку
∆=
Навчальне навантаження викладачів планується до скла-
дання розкладу занять, внаслідок чого на даному етапі вели-
чини
r
p
rs
δ
і
r kr
p
rk q
∆
можна вважати заданими. Для кожного ви-
кладача
p
також задається його аудиторне навантаження.
Нехай
1
A
– число аудиторій для лекцій,
2
A
– для практич-
них занять. У загальному випадку, класифікація аудиторій
може бути більш складною, тоді належність аудиторії до кон-
кретного типу визначається за такими ознаками як кількість
місць, тип лабораторії тощо.
При такому представленні початкових даних задача скла-
дання розкладу полягає у визначенні для кожного заняття з
потоком чи групою дня тижня і пари у ньому з урахуванням
виконання обмежень і оптимізації деякої цільової функції.
Введемо наступні булеві змінні:
1, ,
0, ;
r
r
tk
j
якщо в день t група k починає заняття з пари j
в іншому випадку
ξ
=
1, ,
0, ;
r
r
tk
j
якщо в день t група k закінчує заняття парою j
в іншому випадку
η
=
1, ,
0, ;
r
j
r
s
rt
якщо на потоці r на парі j читається лекція s
yв іншому випадку
=
1,
,
0, .
kr
rj
r
q
rk t kr
якщо на потоці r в день t на парі j у групі k
xпроводиться практичне заняття q
в іншому випадку
=
Тоді обмеження: „кожного дня на кожній парі для кожної
групи може проводитися не більше одного заняття” є таким:
18
11
1, 1,..., , 1,..., ,
, 1,..., .
kr r
kr r
rj j
kr r
QS
qs
rk t rt r r
qs
kr
x y r Rk G
tT j J
= =
+ ≤ ∀= ∀ =
∀∈ ∀=
∑∑
(1.1)
Інша обов’язкова умова складання розкладу: „для кожної
групи
r
k
повинні виконуватися всі види аудиторної роботи
протягом тижня” буде такою:
11 1
,
1,..., , 1,..., .
kr r
kr r
rj j
kr kr r
QS
Jqs
rk t rt kr
tT j q s
rr
x yW
r Rk G
∈= = =
+=
∀= ∀ =
∑∑ ∑ ∑
(1.2)
У конкретних задачах список обмежень може бути продо-
вжено.
Після складання обмежень необхідно вибрати критерій
оптимальності розкладу. Зокрема, можна розглядати крите-
рій максимізації зваженої кількості вільних від аудиторної
роботи днів для всіх викладачів, що при фіксованій довжині
робочого тижня еквівалентно максимальному сукупному
ущільненню аудиторного навантаження. Тоді критерій буде
таким:
1
max,
Pp
pt
tTp
z
∈=
Ω→
∑∑
(1.3)
де
T
i
P
– кількість робочих днів і кількість викладачів, від-
повідно;
p
Ω
– ваговий коефіцієнт, що визначається статусом
викладача;
p
t
z
– булева змінна, що приймає значення „0”, як-
що викладач має заняття в цей день і „1” в іншому випадку.
Побудована таким чином модель буде відображати осно-
вні фактори, що враховуються при складанні розкладу, і від-
носиться до класу задач лінійного булевого програмування,
розв’язок яких може бути знайдений, наприклад, методом
гілок і границь [2, 4]. Розв’язок таких задач навіть відносно
малої розмірності, зазвичай, вимагає великих витрат часу.
Однак в деяких випадках це може виявитися необхідною пла-
тою за точне виконання всіх обмежень. В інших випадках
можливе розбиття задачі на систему підзадач суттєво меншої
розмірності [55].
19
Представлена модель містить ряд недоліків, пов’язаних як
з неповною адекватністю представленого розв’язку досліджу-
ваній предметній задачі, так і значною трудомісткістю вико-
ристання запропонованого комплексу програм, що вимагає
участі кваліфікованого користувача.
Критеріальна функція, що визначає кількість вільних від
аудиторних занять днів викладачів, не є єдиною. При скла-
данні розкладів необхідно також оптимізувати аудиторний
час роботи студентів, зокрема прагнути до рівномірного роз-
поділу занять взагалі та лекцій зокрема по робочих днях, від-
сутності «вікон». До пріоритетних завдань належать також:
проведення лекцій, практичних та лабораторних занять у
спеціалізованих лабораторіях; максимізація кількості занять у
першу зміну та інші.
Кожен ЗВО має свою специфіку і тому моделі, які містять
критеріальні функції та обмеження, мають певні відмінності.
Разом із тим, очевидно, що раціональне розв’язання задачі
складання розкладів базується на формуванні інтегральної
функції, яка є певною згорткою окремих критеріальних
функцій. Інтегральний критерій може бути адитивною
функцією із ваговими коефіцієнтами, що визначаються екс-
пертами, він також може бути залежністю, структурна та па-
раметрична ідентифікація якої здійснюватиметься на базі
статистичної інформації. У будь-якому випадку, знаходження
оптимуму такого критерію є складною науковою задачею,
яка, у повному обсязі, залишається нерозв’язаною.
Підводячи підсумки проведеного аналізу, можна дійти ви-
сновку про те, що значну кількість наукових робіт присвячено
огляду отриманих до цього часу результатів, або оптимізації
процесу отримання ефективного розкладу з використанням
сучасних обчислювальних технологій, таких як генетичні ал-
горитми. Треба зауважити, що вони є методами хоч і спрямо-
ваного, але випадкового пошуку і їх реалізація, найчастіше, є
ресурсоємким процесом, який, разом з необхідністю перевір-
ки виконання значної кількості обмежень, часто не приводить
до отримання прийнятного результату за прийнятний час.
20
1.2.1 Метод імітації відпалу
Ідея методу імітації відпалу запозичена з досліджень по-
ведінки атомів металу в процесі його відпалу. У металі, нагрі-
тому до температури, яка перевищує точку його плавлення,
атоми перебувають в хаотичному русі. При цьому, вони пра-
гнуть до стану мінімуму енергії, але при високих температу-
рах енергія атомного руху перешкоджає цьому. В процесі по-
ступового охолодження металу виникають усе більш низько-
енергетичні стани, поки не буде досягнутий найнижчий з
можливих станів – глобальний мінімум [21, 68].
При розв’язанні задачі складання розкладів функцією
енергії є критеріальна функція, що враховує штрафи, які до-
даються до поточного розкладу за кожний суперечливий у
ньому момент, а низькоенергетичним станом – коректний
(хоч і невідомий) розклад. Загальну ідею алгоритму імітації
відпалу для задачі складання розкладу можна подати такою
схемою:
Крок 1. На першій ітерації генеруємо деякий коректний поча-
тковий розклад
0
X
, який вважається поточним розв’язком
задачі (
0
XX =
).
Крок 2. Задаємо початкове, високе значення температури 0
T
і
операції мутації розкладу (зміна часу проведення заняття,
зміна аудиторії, обмін місцями в розкладі двох занять тощо).
Крок 3. На основі введених операцій мутації і поточного
розв’язку генеруємо новий коректний розклад
t
X
.
Крок 4. Шукаємо приріст цільової функції
( ) ( ).
t
f fX fX∆= −
(1.4)
Якщо
0<∆f
(розв’язок не погіршився), то новий варіант роз-
кладу стає поточним (
t
XX =
); якщо
0>∆f
(розв’язок погір-
шився), то новий розклад стає поточним з ймовірністю
Tf
ep
∆−
=
. Відповідно, з ймовірністю
)1( p−
попередній розк-
лад зберігається як поточний. Такий підхід дозволяє виходити
із локальних екстремумів.
Крок 5. Температура зменшується.
21
Крок 6. Якщо не виконується критерій зупинки (виконання
заданого числа ітерацій; виконання заданого числа ітерацій
без покращення значення цільової функції на задане значен-
ня), то перейти на крок 3.
Для підвищення ефективності алгоритму реалізовують
збереження
m
кращих розв’язків, а також
n
останніх згенеро-
ваних розкладів. Це дозволяє запобігати зацикленню процесу
складання розкладу.
Точність розв’язку збільшують за рахунок повільнішої
зміни температури [24]. Незважаючи на зовнішню простоту,
такий підхід виявляється цілком ефективним для складання
невеликих розкладів, але є абсолютно неприйнятним в іншо-
му випадку через велику кількість кроків у невірному напрям-
ку.
Критеріями зупинки алгоритму можуть бути й інші умо-
ви. Крім того, для оптимізації розкладу може застосовуватись
не однократний запуск алгоритму з різними початковими
розкладами та вибір кращого із результуючих розкладів.
1.2.2 Метод розфарбування графа
Задачу складання розкладу можна розглядати як задачу
розфарбування графа, яку визначають як пошук хроматич-
ного числа графа чи, іншими словами, пошук мінімального
числа кольорів, необхідних для розфарбування вершин де-
якого графа з використанням для кожної пари сусідніх ве
р-
шин різних кольорів. Сама задача пошуку хроматичного чис-
ла є NP-повною задачею [54, 107].
Для постановки задачі складання розкладу, як задачі роз-
фарбування графа, будується граф , у якому кожна верши-
на є навчальним заняттям. Якщо між будь-якими двома вер-
шинами можливі конфлікти, наприклад, два заняття прово-
дяться в одній аудиторії, чи з одним викладачем, то вони
з’єднуються ребром. Це еквівалентно забороні одночасного
проведення цих занять. Тоді задача складання розкладу є за-
дачею мінімізації числа кольорів, необхідних для розфарбу-
вання графа. Кожний колір відповідає одному періоду роз-
кладу.
22
Очевидно, що будь-яке правильне розфарбування графа
G
визначає допустимий розклад (якщо при цьому розфарбу-
ванні використано
k
кольорів, то для
ki ,...,2,
1=
вершини,
розфарбовані
i
-м кольором, дають список лекцій, які потріб-
но читати на
i
-й парі). І навпаки, будь-який допустимий роз-
клад визначає правильне розфарбування графа
G
. Таким
чином, складання оптимального розкладу зводиться до зна-
ходження оптимального розфарбування побудованого графа.
Застосування такого підходу для розв’язання реальних за-
дач є малоефективним. У той же час, задача розфарбування
графа при складанні розкладів виявляється корисною у
випадку її комбінації з іншими алгоритмами [10].
1.2.3 Імітаційне моделювання
З огляду на NP-повноту задачі ЗСРНЗ, для її розв’язання
шляхом імітаційного моделювання застосовують імітацію дій
диспетчера при складанні розкладу [19]. У цьому випадку
алгоритм оперує безпосередньо розкладом і списком навчаль-
них занять, які необхідно включити в розклад. Процес скла-
дання розкладу починається з порожнього розкладу, коли всі
заняття знаходяться в списку неврахованих занять. Далі згідно
з алгоритмом переходять від одного незакінченого розкладу
до іншого, прагнучи якнайкраще розставити всі заняття,
включені в список. Процес продовжується доти, поки не буде
сформовано повний розклад, чи виконається фіксована кіль-
кість ітерацій.
Наведемо схему цього алгоритму більш детально. Він
складається з трьох основних дій [76].
1. Вибирається ще не включене в розклад заняття. Вибір
робиться на підставі аналізу «вузьких місць». У даному випа-
дку вузькими місцями є найбільш дефіцитні «ресурси»: ви-
кладачі, студенти та час. У першу чергу складається розклад
для найбільш дефіцитних ресурсів. Це можуть бути заняття,
що проводяться викладачами, які ставлять жорсткі умови що-
до часу їх проведення та інше.
2. Для обраного заняття визначаються всі можливі варіан-
ти його розміщення в розкладі, які задовольняють усі жорсткі
23
обмеження. Далі кожна така позиція оцінюється за допомо-
гою спеціальної евристичної цільової функції і заняття роз-
міщується в найкращу із можливих позицій.
3. Якщо у випадку п. 2 у розкладі виникла конфліктна си-
туація, то «конфліктуючі» заняття видаляють з розкладу і
вносять знову у список неврахованих занять.
При реалізації алгоритму особлива увага надається роз-
робці евристичних правил вибору чергового заняття зі спис-
ку, визначення найкращої для нього позиції в розкладі та
оцінюванні одержуваного розкладу.
Позитивною характеристикою такого підходу є можли-
вість детального врахування специфіки розв’язуваної задачі у
випадку складання розкладу для конкретного ЗВО. Недолі-
ком є низька варіативність, що обмежує можливість застосу-
вання розробленої системи в інших ЗВО[19]. Значна кількість
ітераційних процедур та присутність суб’єктивно обгрунто-
ваних ймовірнісних конструкцій є причиною великої трудо-
місткості обчислювального процесу.
1.2.4 Логічне програмування в обмеженнях
Складання розкладу є задачею з обмеженнями (Constraint
Satisfaction Problem). Для розв’язання таких задач розроблено
багато алгоритмів і, навіть, виник цілий напрямок – програ-
мування в обмеженнях (constraint programming).
Програмування в обмеженнях тісно пов’язано з традицій-
ним логічним програмуванням, у рамках якого воно і сфор-
мувалось. Ідея розв’язання задач таким методом полягає у
тому, що програміст визначає деяку множину змінних
n
xx ,...,
1
і області їх значень
n
ΩΩ ,...,
1
, описує додаткові обмеження,
яким повинні задовольняти змінні, а програмна система зна-
ходить значення змінних, що задовольняють одночасно всім
заданим обмеженням.
Розглянемо ЗВО, у якому працює
M
викладачів, у навча-
льному плані зафіксовано
N
предметів, аудиторний фонд
нараховує
L
приміщень. Визначається множина
{1,2,..., }PD=
,
елементами якої є всі періоди навчання (пари) у ЗВО протя-
гом тижня, a
D
– число всіх пар протягом тижня.
24
Нехай
ij
y
– період навчання, у який
i
-й викладач веде
j
-
й предмет,
.
ij
yP∈
Тоді обмеження «кожен викладач у кожен
момент часу може вести не більше одного заняття» є таким:
jjN
jjM
iyy
ji
ij
′
≠≤
′
≤≤
≤≠
′
,,1
,1,
. (1.5)
Нехай
i
z
– аудиторія, у якій проводить заняття
i
-й викла-
дач,
Lz
i
≤≤1
. Тоді обмеження «у кожній аудиторії в кожен
момент часу може проводитися не більше одного заняття» є
таким:
,1 ,1 , .
ii
z z iM i M ii
′
′′
≠ ≤≤ ≤ ≤ ≠
(1.6)
Результатом роботи алгоритму є множина значень кожної
змінної, що не суперечать зазначеним обмеженням. При цьо-
му область визначення змінних може істотно скоротитись чи
навіть містити єдине значення.
Основна перевага використання такого методу – скоро-
чення простору пошуку, що досягається не шляхом оціню-
вання кожного варіанта розкладу, а шляхом того, що система
сама виключає з розгляду «дороги, що свідомо ведуть у глу-
хий кут» [22].
З моменту появи комп’ютерної техніки та мов програму-
вання у ЗВО багато розробників програмного забезпечення
намагались, якщо не повністю розв’язати задачу складання
розкладу, то хоча б частково полегшити цей процес. Але, зіт-
кнувшись з великою складністю цієї задачі, більшість з них
так і не змогли створити дійсно цінний програмний продукт,
не зважаючи на те, що сьогодні ринок програмного забезпе-
чення для складання розкладів достатньо великий.
1.2.5 Еволюційне моделювання
Одним із перспективних напрямків теорії та практики оп-
тимізації, який на сьогодні інтенсивно розвивається, є еволю-
ційне моделювання [20, 32, 50, 106]. Цей напрямок охоплює
математичні методи, в яких закладені принципи природних
механізмів прийняття рішень, що забезпечують ефективну
адаптацію представників флори та фауни до навколишнього
25
середовища протягом мільйонів років [75]. Найбільш ефек-
тивним визнане використання еволюційних методів для
розв’язання тих задач оптимізації, для яких застосування ін-
ших методів з якихось причин є проблематичним.
Однак, незважаючи на те, що як самостійний науковий
напрямок еволюційне моделювання склалося ще в 60-х роках
минулого сторіччя, на сьогодні загально визнаного визначен-
ня поняття «еволюційне моделювання» не існує, як і не існує
однозначного критерію, за яким той чи інший метод оптимі-
зації може бути віднесений до класу еволюційних.
Так, одні науковці пов’язують еволюційне моделювання з
теорією еволюції Ч. Дарвіна, а до еволюційних методів відно-
сять виключно генетичні алгоритми [67], інші науковці вва-
жають за доцільне розширити перелік еволюційних методів
шляхом урахування тих, які не пов’язані з поглядами Ч. Дар-
віна, але базуються на природних алгоритмах, зокрема, це
стосується методу імітації відпалу [35] та мурашиних алго-
ритмів [18, 113]. Окрім того існує судження, що методи ройо-
вого інтелекту не належать до еволюційних [71, 77].
Такі розбіжності підтверджують висновок про те, що на
сьогодні не існує єдиного підходу до визначення переліку
методів, які можна віднести до класу еволюційних, а це свід-
чить і про відсутність узгодженого погляду на сутність самого
поняття «еволюційне моделювання».
Така неузгодженість поглядів стосовно еволюційного мо-
делювання як напрямку наукових досліджень призводить до
певного стримування його розвитку і не дозволяє відповісти
на питання про принципові відмінності природних алгорит-
мів оптимізації від алгоритмів математичного програмування,
хоча відповідь на нього може відкрити нові шляхи для удо-
сконалення існуючих та розробки нових ефективних методів
оптимізації.
Окремого розгляду потребує і питання стосовно класифі-
кації методів, які можуть бути віднесені до класу еволюцій-
них. Необхідність такої класифікації пояснюється декількома
причинами: по-перше, систематизація знань про існуючі ево-
люційні алгоритми сприяє виявленню тих специфічних
ознак, завдяки яким методи еволюційного моделювання за-
26
безпечують ефективне розв’язання складних оптимізаційних
задач; по-друге, наявність класифікації дозволяє визначати
шляхи удосконалення сучасних методів оптимізації; по-третє,
така класифікація сприяє обґрунтованості вибору методу оп-
тимізації для розв’язання конкретної задачі з урахуванням її
специфіки.
На сьогодні група найбільш відомих методів, які можуть
розглядатись на відповідність ознакам еволюційності, склада-
ється з: генетичних алгоритмів [45, 50], LARES [14, 45], оптимі-
зації роєм частинок [106], мурашиною колонією [106], колоні-
єю бактерій [9; 106] та роєм бджіл [106]. Причому останні чо-
тири методи належать до методів ройового інтелекту, в осно-
ву якого покладені алгоритми поведінки соціальних істот
[106].
Аналіз особливостей цих методів, на нашу думку, надасть
можливість уточнити поняття «еволюційне моделювання» та
здійснити класифікацію еволюційних методів оптимізації.
В основу методу LARES [14] покладена гіпотеза про те, що
формування розв'язку задачі оптимізації є аналогом синтезу в
хімічному реакторі нової речовини на основі змішування у
відповідних пропорціях вихідної сировини. При цьому вихі-
дною сировиною є «молекули», в які кодуються незалежні
змінні, а продукт реакції характеризується значенням енергії
сполуки. Розв'язком задачі є декодована «хімічна формула»
складу того продукту реакції, якому відповідає мінімум енер-
гії.
В алгоритмі рою частинок для розв’язання задачі оптимі-
зації використовується рій частинок, де кожна частинка є мо-
жливим розв’язком. Нехай – кількість агентів в рої. Кожна
i
-
а частинка може бути подана як об’єкт з множиною парамет-
рів:
•
i
x
– місце розташування частинки;
•
i
v
– швидкість руху частинки;
•
i
y
– особисте найкраще місце розташування частинки.
Особисте найкраще місце розташування частинки – роз-
ташування частинки з найкращим значенням цільової функ-
ції серед усіх, які коли-небудь відвідувала частинка за час сво-
27
го існування. Нехай
f
– функція, яку необхідно мінімізувати,
тоді вираз для найкращого особистого місце розташування в
залежності від часу є таким:
( ), ( ( 1)) ( ( )),
( 1) ( 1), ( ( 1)) ( ( )).
i ii
i
i ii
yt якщо f x t f y t
yt xt якщо f x t f y t
+≥
+=
+ +<
(1.7)
Стохастична складова алгоритму представлена двома ви-
падковими рівномірно розподіленими параметрами
)
1
,
0
(
~
1U
r
та
)1,
0(~
2Ur
, які масштабуються з використанням постійних
коефіцієнтів прискорення
1
c
і
2
c
, що відповідають за величи-
ну кроку, який може зробити частинка за одну ітерацію часу.
Як правило,
]2,0(,
21
∈cc
. Швидкість частинки на
i
-му кроці
розраховується окремо для кожного вимірювання
nj ,1∈
, та-
ким чином
ji
v
,
позначає
j
-й вимір вектора швидкості
i
-ої
частинки. Розрахунок
j
-го компонента вектора швидкості
i
-
ої частинки на
)1( +t
кроці проводиться за формулою:
)]()(
ˆ
)[()]()()[()()1( ,22,,11,, txtytrctxtytrctvwtv jijijijicji −+−+=+
. (1.8)
Таким чином,
2
c
управляє впливом глобального кращого
місця розташування, а
1
c
управляє впливом особистого кра-
щого місця розташування на швидкість руху кожної частин-
ки. Для покращення збіжності алгоритму вводиться коефіці-
єнт інерції
c
w
. Місце розташування кожної частинки в
i
-му
вимірі обчислюється за формулою:
)1()()1( ++=+ tvtxtx
iii
. (1.9)
Мурашиний алгоритм – один з ефективних поліноміаль-
них алгоритмів для знаходження наближених розв’язків зада-
чі пошуку маршрутів на графах. Сутність відповідного підхо-
ду полягає в аналізі та використанні моделі поведінки мурах,
що шукають дороги від колонії до їжі.
В основі алгоритму лежить поведінка мурашиної колонії –
маркування вдалих доріг великою кількістю феромону. Функ-
ціонування алгоритму починається з розміщення мурашок у
28
вершинах графа, потім починається рух мурашок – напрям
визначається імовірнісним методом на підставі формули:
∑⋅
⋅
=
=
N
kp
k
q
k
p
i
q
i
if
l
fl
P
0
, (1.10)
де
i
P
– ймовірність переходу шляхом
i
;
i
l
– довжина
i
-го
переходу;
i
f
– кількість феромону на
i
-му переході;
q
– ве-
личина, яка визначає «жадібність» алгоритму;
p
– величина,
яка визначає «стадність» алгоритму і
1=+ pq
. Кількість фе-
ромону на певному шляху визначає його перспективність. На
неперспективних шляхах феромон випаровується (зменшу-
ється концентрація).
1.2.6. Генетичні алгоритми
Сьогодні, згадуючи про еволюційне моделювання, найча-
стіше мають на увазі генетичні алгоритми (ГА). У ГА викори-
стовуються принципи природної еволюції, що у загальному
вигляді можуть бути сформульовані так: чим вищою є прис-
тосованість індивіда, тим вища ймовірність того, що у його
нащадків ця пристосованість буде виражена ще сильніше.
Головна перевага ГА полягає у тому, що вони дозволяють
розв’язувати складні задачі, для яких ще не розроблені стійкі і
прийнятні методи, особливо на етапі формалізації і структу-
ризації системи, зокрема і в когнітивних системах. Генетичні
алгоритми ефективні в комбінації з іншими класичними ал-
горитмами, евристичними процедурами, а також у тих випа-
дках, коли про множину розв’язків є деяка додаткова інфор-
мація, що дозволяє налаштовувати параметри моделі, коригу-
вати критерії відбору та еволюції [41, 50].
Першим кроком при розробці математичної моделі, що
базується на використанні ГА, є розробка структури хромо-
соми, яка і буде розв’язком задачі. У нашій задачі такою „хро-
мосомою” є розклад. Обрана структура повинна враховувати
всі особливості й обмеження, що визначатимуть потенційні
розв’язки, а також те, що від її вибору прямо залежать реалі-
зації алгоритмів кросоверу і мутації. У кінцевому рахунку,
29
вибір „хромосоми” впливає не лише на швидкість, але й на
збіжність алгоритму.
Оскільки хромосома є розв’язком задачі, то в ній має бути
зосереджена інформація про те, в який день в якій аудиторії
який викладач проводитиме яке заняття з якого предмету.
Така хромосома повинна була б містити, наприклад, для се-
редньостатистичного університету, приблизно, п’ять мільяр-
дів елементів, а кожний елемент ще від двох до восьми генів.
Якщо така хромосома є базовим елементом ГА, то на сучасних
комп’ютерах розв’язати задачу складання розкладу неможли-
во. Ще один із можливих варіантів хромосоми − це 5-7-вимір-
ний гіперкуб. Але тоді виникають проблеми із реалізацією
кросоверу. Таким чином, є необхідність скорочення як роз-
мірності задачі, так і зменшення кількості елементів у гене-
ральній сукупності, оскільки задача має значну інформаційну
надлишковість.
Одним з найбільш зручних представлень розв’язку роз-
глянутої задачі є тривимірна матриця, по осях
kji ,,
якої від-
кладаються, відповідно, групи, навчальні години і аудиторії
[2]. Елементом матриці є запит на проведення заняття з
i
-ю
групою даним викладачем по даній дисципліні в
j
-у годину в
k
-й аудиторії. Змістовно запит на проведення заняття є та-
ким: на етапі задання вихідних даних користувач для кожної
групи (підгрупи, потоку) вказує дисципліни і викладачів, що
будуть вести їх у рамках передбаченого навчального плану.
Після цього кожний зв’язок “дисципліна-група-викладач”
розглядається як певна сукупність з умовою, що алгоритм
“знає”, які дисципліни в якій групі який викладач веде і який
тип аудиторій для цього призначений.
Така структура хромосоми зручна тим, що вже на етапі
формування початкових даних можна виключити наперед
невдалі розв’язки, заблокувавши відповідні фрагменти. На
наступному кроці алгоритму створюється початкова популя-
ція, розмір якої залежить від розмірності задачі і складає, за-
звичай, кілька сотень розв’язків.
Для організації оптимізуючого процесу необхідно визна-
чити цільову функцію, чи, у термінах ГА, фітнес-функцію.
30
Перевагою такого вибору є можливість налаштування алго-
ритму під конкретну задачу шляхом варіювання коефіцієнтів
і, тим самим, зміни пріоритетів при пошуку оптимального
розкладу.
Таким чином, помістивши початкову популяцію в створе-
не штучне середовище і реалізувавши процеси селекції, кро-
соверу і мутації, одержують ітераційний алгоритм пошуку
оптимального розв’язку, на кожній ітерації якого викону-
ються такі дії:
Крок 1. Кожен індивід популяції оцінюється за значенням фіт-
нес-функції.
Крок 2. Кращі розв’язки (зазвичай, близько 5%) копіюються у
нову популяцію без зміни. Такий принцип (принцип елітиз-
му) запобігає втраті кращих розв’язків і забезпечує підвищену
збіжність алгоритму.
Крок 3. На основі пропорційного відбору з поточної популяції
вибираються два розв’язки, що піддаються рекомбінації. Для
цього хромосоми батьків обмінюються відповідними ділян-
ками.
Крок 4. Отриманий у попередньому пункті розклад може ви-
явитись некоректним. У цьому випадку можна повторювати
операцію рекомбінації доти, поки не буде отриманий ко-
ректний розклад, але краще передбачити евристичні механіз-
ми виправлення розкладу.
Крок 5. Якщо нова популяція сформована, то стара вилучаєть-
ся, після чого переходимо до кроку 1. В іншому випадку пере-
ходимо до кроку 3.
Одним з головних етапів функціонування ГА є оптиміза-
ція цільової функції. Зазвичай, такою фітнес-функцією є ади-
тивний показник оптимальності, що базується на штрафах,
які встановлюються кожному розв’язку за будь-який конф-
ліктний момент у розкладі [100].
1.3. Огляд автоматизованих систем складання
розкладів
Для повнішого розуміння проблем, пов’язаних із складан-
ням розкладів у ЗВО, розглянемо особливості, переваги та
31
недоліки відповідних автоматизованих систем, представлених
у мережі Інтернет.
На сьогодні відомо багато комп’ютерних програм скла-
дання розкладу занять у ЗВО, що добре зарекомендували себе
та успішно використовуються. Деякі програми модифікують-
ся, часто оновлюються та вже є потужними системами скла-
дання розкладу занять. Технічно ці програми мають різні ал-
горитми складання розкладу та різні платформи, на яких во-
ни побудовані. Отже, можна констатувати, що на сьогодні
створений інформаційний інструментарій для складання роз-
кладу занять, який може задовольнити вимоги найвибагливі-
шого менеджера та найскладнішого, з точки зору організації,
ЗВО.
Розглянемо кілька таких програм: «Деканат», «Рек-
торВНЗ», «АВТОР-2+», «МЕТОДИСТ».
Програма обліку студентів «Деканат» є засобом автомати-
зації управління контингентом студентів. Інформаційна сис-
тема (ІС) «Деканат» має клієнт-серверну архітектуру і вклю-
чає в себе базу даних на SQL Server, клієнтський додаток ІС
«Деканат» і допоміжну програму «Users Manager» для адміні-
стрування системи. Перед встановленням програми передба-
чається наявність сервера бази даних MS SQL Server. ІС «Де-
канат» інтегрована з ІС «Плани», «Приймальна комісія»,
«Електронні відомості», «Семестрові графіки груп», «Картки
студентів заочної форми навчання», «Visual Testing Studio».
«Ректор-ВУЗ» – програма, призначена для складання роз-
кладу занять у ЗВО. Програма складається з чотирьох розді-
лів: «Списки», «Навантаження», «Розклад» і «Заміни». Розділ
«Списки» служить для введення, редагування та друку спис-
ків кафедр, спеціальностей, груп, дисциплін, аудиторій, ви-
кладачів і видів занять. Розділ «Навантаження» використову-
ється для введення, редагування та друку навчальних планів
по кожній спеціальності або програмі, навантажень виклада-
чів, графіків розподілу годин по тижнях у межах семестру,
звітів по завантаженню викладачів, ка
федр і ЗВО в цілому.
Розділ «Розклад» призначений для складання розкладу по
групах, викладачах, аудиторіях і ЗВО в цілому. Розділ «Замі-
ни» дозволяє оперувати замінами викладачів. Розклад занять
32
можна складати в автоматичному, ручному або комбіновано-
му режимі; переходити від одного режиму до іншого можна в
будь-який момент часу. При складанні розкладу в автоматич-
ному режимі програма враховує всі сформульовані вимоги до
розкладу. При складанні розкладу в ручному режимі програ-
ма підказує можливі варіанти розстановки пар вибраного ви-
кладача, можливі варіанти заповнення порожніх клітин в роз-
кладі групи, стежить за кількістю місць в аудиторіях. Готовий
розклад занять однієї, всіх або деяких груп і викладачів можна
зберегти у форматах Microsoft Word, Excel або HTML.
Система АВТОР-2+ призначена для швидкого і зручного
складання розкладів занять і супроводу їх протягом усього
навчального року. Система допомагає легко будувати, кори-
гувати і роздруковувати розклад у вигляді зручних і наочних
документів. Програма відрізняється унікальним і дуже потуж-
ним алгоритмом побудови та оптимізації розкладу. Отрима-
ний автоматично розклад практично не вимагає ручної доро-
бки, тобто навіть при дуже складних і жорстких обмеженнях
автоматично розміщуються всі можливі заняття. Якщо у ви-
хідних даних є нерозв’язні протиріччя, то їх можна виявити і
усунути, використовуючи спеціальний блок аналізу.
АВТОР2+ дозволяє:
− оптимізувати «вікна» в розкладі;
− враховувати необхідний діапазон днів/годин як для груп,
так і для викладачів;
− оптимально розміщувати заняття по кабінетах (аудиторіях)
з урахуванням особливостей груп, предметів, викладачів і
місткості кабінетів;
− розділяти групи на кілька підгруп;
− вводити (крім основних предметів) спецкурси і факультати-
ви;
− оптимізувати рівномірність і трудомісткість розкладу.
«МЕТОДИСТ» – програмний комплекс, який поставляєть-
ся у двох варіантах Standart і Virtual. Він дозволяє розв‘язувати
такі основні задачі:
− розподіл і контроль навчального навантаження;
33
− облік методичних рекомендацій та особистих побажань ви-
кладачів («вікна», методичні дні, теніс по четвергах тощо);
− складання розкладу для будь-якого типу закладу освіти; −
формувати зміни/конфігурації з довільним складом груп зі
своїм навчальним графіком;
− закріплення спеціальних аудиторій;
− облік зайнятості викладачів і аудиторій;
− облік часу переходів між корпусами;
− можливість багаторазового автоматичного «покращення»
розкладу.
Здійснивши порівняльний аналіз цих систем можна зро-
бити висновок, що жодна система не відповідає необхідним
вимогам у повному обсязі. На жаль, відсутність досвіду вико-
ристання названих програм не дозволяє зробити їх повний
аналіз. Для програм, розроблених для середовища Windows,
суттєвими недоліками є нерозподілені заняття, наявність «ві-
кон» та тривалий час складання розкладу.
1.4. Аспекти формалізації задач підвищення
ефективності функціонування закладу вищої освіти
Організація навчального процесу в будь-якому ЗВО базу-
ється на складанні розкладу занять, оскільки об’єднує в собі
всі елементи інформаційного середовища, таких як викладачі,
студенти, аудиторії, дисципліни, спеціальності тощо. Тому го-
ловною задачею інформатизації в даній області на сьогодні є
оптимальний розподіл усіх вищенаведених ресурсів в табли-
цях розкладу занять з дотриманням певних обмежень. У зага-
льному вигляді структурно-функціональну модель інформа-
ційної системи ЗВО можна представити так, як зображено на
рис. 1.1.
Однією зі складових підвищення якості діяльності ЗВО є
використання інформаційно-комп’ютерного інструментарію
в управлінні освітнім процесом, що становить певну пробле-
му при складанні розкладів.
Розв’язання цієї проблеми має велике значення для забез-
печення оптимальності управлінських рішень шляхом інфор-
матизації рутинних процесів в управлінській діяльності керів-
34
ників [68]. У вищій школі сьогодні активно розвиваються про-
цеси гуманізації, що відповідає тенденціям у всьому українсь-
кому суспільстві. Саме тому важливим завданням є наукова
розробка технологічних основ забезпечення сприятливих
умов для розкриття й розвитку особистісного потенціалу го-
ловних учасників освітнього процесу − викладача та студента.
Зміна навчальних програм і методик, впровадження нових
педагогічних технологій, профілізація ЗВО вимагають дина-
мічності у створенні розкладу занять та забезпечення можли-
вості його оперативного регулювання.
Організація ОП сьогодні вже не може спиратись на прин-
ципи та методи, що використовувались в управлінні навіть
10-15 років тому. Але, слід визнати, що методи та інструменти
планування ОП залишаються поки переважно «ручними» і
здійснюються частіше на емоційній основі та на основі досві-
ду. Більшість керівників не відчувають потреби використання
автоматизованих технологій прийняття управлінських рі-
шень.
Інформатизація вищої освіти – сукупність взаємопов’яза-
них організаційних, управлінських, економічних, науково-
технічних, навчальних, виховних процесів, які спрямовані на
створення умов для задоволення інформаційних потреб усіх
учасників освітнього процесу (студентів, викладачів, співро-
бітників ЗВО).
Такі процеси сприяють розвитку їх інтелектуального по-
тенціалу, самореалізації і самовдосконалення, вони направле-
ні на забезпечення підготовки до повноцінної професійної
діяльності та життя в інформаційному суспільстві на основі
створення, розвитку і використання сучасних інформаційно-
комунікаційних систем, мереж, ресурсів та технологій.
Інформатизація – це стрижень, навколо якого сьогодні
повинна будуватись вся система функціонування сучасного
ЗВО. Розв’язання цієї проблеми надасть можливість виконати
замовлення інформаційного суспільства на підготовку фахів-
ців, які спроможні на сучасному рівні застосовувати інформа-
ційно-комунікаційні технології у професійній діяльності та
повсякденному житті [81].
35
Рис.1.1 – Структурно-функціональна модель
інформаційної системи ЗВО
36
З появою та розвитком комп’ютерної техніки процеси ге-
нерації та вибору альтернативних рішень стали реалізовува-
тись з її використанням. У зв’язку з цим з’явились нові задачі
формалізації та алгоритмізації процесів прийняття рішень,
які на сьогоднішній день складають окрему велику область
досліджень.
Формалізація тієї чи іншої задачі оптимізації, у загально-
му випадку, припускає опис усіх важливих факторів, які
впливають на досягнення мети, їх взаємодії, обмежувальних
умов та критерію оцінювання якості рішень, що приймають-
ся, на базі яких можна здійснювати вибір між альтернатива-
ми. Критерієм оцінювання виступає цільова функція, аргу-
ментами якої є кількісні характеристики, які описують фак-
тори, що впливають на досягнення мети в розв’язуваній зада-
чі [6, 34]. При цьому, розв’язку, який приводить до найкращо-
го результату, як правило, відповідає екстремальне значення
цільової функції, тобто точка її максимуму або мінімуму.
Процес генерації варіантів розв’язку та вибору найкращої
з отриманих альтернатив зводиться до створення всіх можли-
вих комбінацій значень характеристик, які впливають на ці-
льову функцію, і пошуку такої комбінації, яка приводить до її
екстремального значення. Всі можливі комбінації аргументів
при цьому утворюють простір пошуку розв’язку задачі, роз-
мірність якого визначається числом аргументів цільової фун-
кції. А кожна з зазначених комбінацій утворює точку в дано-
му просторі.
Слід відзначити, що цільова концепція при постановці за-
дачі вибору може знаходити відображення як при визначенні
множини допустимих альтернатив, так і при формулюванні
вимог до отримання ефективних, зокрема строго оптималь-
них рішень.
Таким чином, метою задачі оптимізації як практичного,
так і теоретичного характеру є вибір «найкращої» (припусти-
мої або оптимальної) конфігурації з множини альтернатив
для досягнення деякої поставленої мети. При цьому “най-
кращою” – в сенсі забезпечення оптимуму (максимального
або мінімального значення залежно від конкретної постанов-
37
ки задачі) заданої цільової функції при задоволенні певних
обмежень.
Розклад навчальних занять – це документ, який пов’язує в
єдину систему всі ланки і елементи ОП і регламентує навчаль-
ну роботу професорсько-викладацького складу, студентів і
навчально-допоміжного персоналу ЗВО. Він складається нав-
чальним відділом або навчально-методичним підрозділом
факультету на семестр, затверджується ректором (деканом) і
доводиться до викладачів і студентів не пізніше, ніж за 10 днів
до початку занять (зазвичай до початку семестру). У розкладі
занять вказується група, дисципліна, вид заняття, час і місце
проведення, прізвища викладачів.
До розкладу занять ставляться такі основні вимоги:
- точна і повна відповідність навчальному плану за обсягом,
змістом, видом і часом занять, забезпечення закладених до
навчальних планів і програм рівня сприйняття матеріалу,
систематичності і безперервності процесу навчання протя-
гом дня та рівномірного розподілу навчальної роботи сту-
дентів впродовж тижня, місця і семестру;
- забезпечення на заняттях міжпредметних і внутрішніх ло-
гічних зв’язків кожної дисципліни, які визначаються її
структурно-логічною схемою;
- забезпечення необхідних для самостійної роботи студентів
часових інтервалів між лекціями і практичними видами за-
нять з кожної дисципліни, чергування різних за рівнем
складності дисциплін і видів занять протягом дня і тижня;
- дотримання принципів наукової організації праці виклада-
чів і студентів, досягнення рівномірного навантаження ви-
кладачів з метою забезпечення їх підготовки до занять, пла-
номірного проведення методичної, редакційно-видавничої
і науково-дослідницької роботи (тут можуть враховуватись
індивідуальні потреби викладача і рекомендації керівника
кафедри);
- забезпечення ефективного використання аудиторного
фонду і навчально-лабораторної бази.
Існують й інші вимоги ергономічного і організаційно-
методичного характеру. До них, наприклад, відносяться: ро-
зумне задоволення індивідуальних побажань викладачів, реа-
38
лізація принципу індивідуального навчання, проведення за-
нять з чисельними або малочисельними групами та інші. В
ході наукових досліджень з методики складання розкладу за-
нять за допомогою комп’ютера виявлено близько тридцяти
обмежень, які необхідно враховувати при розробці оптималь-
ного розкладу.
Розв’язання задачі складання розкладів у загальній поста-
новці є процесом виконання деякої фіксованої системи зав-
дань за допомогою певної множини ресурсів чи обслуговую-
чих пристроїв [67]. При перенесенні загальної теорії розкладів
на розклад навчальних занять формулювання задачі складан-
ня розкладу занять звучить так: „Для заданого набору навча-
льних аудиторій (в даному випадку під навчальною аудиторі-
єю розуміється широке коло приміщень, в яких проводяться
заняття (від комп’ютерної аудиторії до спортивного залу) і
заданого набору часових інтервалів (уроків або навчальних
пар) побудувати такий розподіл навчальних занять для всіх
об’єктів (вчителів і навчальних груп), для якого обраний кри-
терій оптимальності має якнайкраще значення”.
Далі буде запропоновано створення такої математичної
моделі розкладу занять у ЗВО, яка дозволяла б ефективно (у
задані терміни і з заданою мірою оптимальності) розв’язувати
задачу автоматичного складання розкладу занять і була б
гнучкою (властивість урахування незначних структурних
змін у вхідній інформації) у випадку адаптації системи для
розв’язання конкретної практичної задачі.
Для побудови математичної моделі розкладу занять у ЗВО
введемо змінні та визначимо обмеження. Нехай у ЗВО є
G
навчальних груп,
k
– номер навчальної групи (
1,kG=
). За-
няття проводяться в робочі дні в півторагодинні інтервали,
які називають парами. Позначимо
t
– номер робочого дня
тижня (
tT∈
), де
T
– множина номерів робочих днів для гру-
пи
k
;
j
– номер пари (
1,jJ=
);
J
– загальна можлива кількість
навчальних пар на день. З кожною навчальною групою
k
протягом тижня у відповідності до навчального плану прово-
диться
S
занять. Позначимо
s
– номер дисципліни в списку
39
занять для групи
k
(
1,sS=
). Передбачається, що заняття про-
водяться у всіх групах. Тоді, якщо з певної дисципліни протя-
гом тижня проводиться більше одного заняття, ця дисципліна
згадується в списку занять стільки разів, скільки їх передбача-
ється навчальним планом для кожної групи. Нехай
p
– номер
викладача (
1,pP=
),
P
- загальна кількість викладачів.
Заняття кожного потоку можуть проводитись в наявному
аудиторному фонді ЗВО, який визначається до початку скла-
дання розкладу. Для того, щоб повноцінно вести наукову,
навчально-методичну роботу, готуватись до занять викладач
ЗВО повинен мати вільний час. Ця умова не є достатньою, але
є необхідною. Тоді доцільно вводити вагові коефіцієнти, з ви-
користанням яких повинен враховуватися статус викладача –
його вчене звання і науковий ступінь, займана посада, науко-
во-суспільна активність тощо. Пріоритетне право викладачів
на розподіл занять в алгоритмі складання розкладу визнача-
ється, як правило, згідно ранжування посад.
Оптимально складений розклад навчальних занять не по-
винен змінюватись під час семестру чи навчального циклу,
щоб не порушити враховані в розкладі обмеження та зв’язки
між об’єктами. Планування послідовності проведення видів
занять з дисципліни в навчальному процесі необхідно розгля-
дати зі сторони студента і його психофізіологічних особливо-
стей та розміщувати заняття у розкладі так, щоб практичні
заняття проводились після лекцій, а лабораторні заняття –
після практичних. Це підвищить ефективність використання
навчального часу, що відводиться державним освітнім стан-
дартом вищої освіти на вивчення окремих дисциплін.
Основною задачею при складанні розкладу є планування і
забезпечення методично правильного процесу вивчення усіх
навчальних дисциплін навчального плану: їх взаємозв’язки,
правильну послідовність і чергування усіх форм навчальної
роботи з дисциплін на базі врахування можливостей студентів
зі сприйняття і обробки навчальної інформації.
40
Ми існуємо в світі, де знання студентів оцінюють виклада-
чі, ефективність роботи викладачів – адміністрація ЗВО, ро-
боту адміністрації – трудовий колектив та Міністерство освіти
і науки тощо, тобто системи більш високого рівня ієрархії.
Для оцінювання ефективності (якості) розкладу такими сис-
темами є колективи викладачів і студентів як деякі спільноти,
що мають спільні інтереси та уподобання.
При складанні розкладу занять необхідно враховувати до-
сить велику кількість критеріїв, ступінь важливості яких має
істотний вплив як на процес складання, так і на якість скла-
деного розкладу. Процес складання розкладу занять для сере-
дніх розмірів ЗВО у ручному режимі займає кілька тижнів.
Безумовно, повністю повторити роботу людського мозку при
розв’язанні багатокритеріальних задач поки неможливо. Од-
нак це не означає, що автоматичні рішення будуть поступа-
тися їм за якістю. Обчислювальні потужності сучасних ком-
п’ютерів дозволяють за невеликий час синтезувати множину
варіантів розкладів. Існує ряд факторів, що визначають вибір
ручного способу складання розкладу навчальних занять. До
позитивних факторів віднесемо низьку собівартість такого
способу, що не потребує додаткових витрат на знаряддя праці
та оплату роботи висококваліфікованого фахівця, а саме:
− інструмент праці залишається «ручним»: олівець, гумка,
папір;
− завдання для виконання задачі складання розкладу є дуже
складним, але додаткової оплати фахівцю за значне усклад-
нення та збільшення часу його роботи під час складання роз-
кладу не передбачається;
− ручний спосіб складання розкладу дозволяє не оснащувати
робоче місце керівника комп’ютерною технікою.
Отже, без витрат на знаряддя та, маючи практично безко-
штовну працю висококваліфікованого фахівця, ЗВО отримує
розклад роботи на весь рік чи семестр.
До позитивних факторів, які впливають на вибір ручного
способу складання розкладу, також можна віднести економію
часу й зусиль на опанування нових технологій. Саме економі-
єю часу та зусиль керівники ЗВО переважно пояснюють своє
41
небажання сідати за вивчення комп’ютерної техніки взагалі та
спеціалізованих професійних програм, зокрема.
До негативних факторів ручного вибору складання розк-
ладу віднесемо такі:
− виснажлива ручна праця та нервове перевантаження;
− витрачання великої кількості часу при створенні одного, не
найкращого варіанту розкладу;
− складнощі у використанні розкладу та маніпуляцій з ним
під час роботи (наприклад, пошук замін);
− стагнація і зупинка професійного розвитку.
Отже, хоча і негативних факторів цього вибору було ви-
значено більше, проте, низька собівартість та економія часу й
зусиль на опанування нових технологій (два позитивних фак-
тори) на практиці переважають у виборі ручного способу
складання розкладу.
Проблема автоматизації складання розкладу навчальних
занять – одна з найскладніших задач прикладної математики.
Її розв’язання вимагає застосування нестандартних методів,
оригінального творчого мислення і глибокого розуміння суті
та складності проблеми. Традиційно існує два судження:
‒ багато програмістів впевнені, що цю задачу легко
розв’язати. Проте на практиці більшість розробників створю-
ють лише програми для ручного введення і редагування роз-
кладів, оскільки їх автоматичні алгоритми не можуть побуду-
вати справжній розклад: вони не справляються з реальними
складнощами. Це видно навіть на прикладі демо-версій. Част-
ка ручної праці в таких програмах складає 90-95%;
‒ диспетчери впевнені, що цю задачу неможливо розв’язати.
Так само вважають і деякі розробники, свідомо відмовляючись
від автоматизованого підходу. Пропоновані ними програми
також базуються на ручній праці. Комп’ютер просто замінює
лист ватману. Оскільки вибрати хороший продукт не так про-
сто, багато ЗВО купують (зазвичай по рекламі) подібні про-
грами. Але робота диспетчера при цьому не полегшується і
якість роботи не підвищується. В результаті втрачається дові-
ра до подібних програм.
42
Системний підхід у подоланні вищезазначених проблем
полягає у формуванні логічної схеми розв’язання ЗСР як ці-
лісної структури, яка буде визначати особливості проекту-
вання автоматизованої системи складання розкладів
(АССР). Підводячи підсумки аналізу методів складання ро-
зкладів занять у ЗВО та визначаючи перспективи і майбутні
результати, вказуємо на таке. Об’єктом дослідження в моно-
графії є процеси диспетчеризації занять у ЗВО. Предмет
дослідження – моделі, методи та інструментальні засоби
формування розкладу занять у ЗВО. Метою дослідження є
підвищення ефективності процесу диспетчеризації занять у
ЗВО шляхом розробки моделей і методів формування розк-
ладу навчальних занять на основі суб’єктивних переваг та
еволюційних технологій. Досягнення поставленої мети буде
проілюстровано розв’язанням таких задач:
– проведення аналізу існуючих принципів, моделей, мето-
дів та програмно-алгоритмічного забезпечення для
розв’язання задачі складання розкладу;
– здійснення формалізованої постановки та розв’язання
задачі складання розкладу занять для підвищення ефекти-
вності освітнього процесу;
– побудова математичних моделей, які дозволять визначати
якість розкладу навчальних занять;
– розроблення структури потенційних розв’язків задачі
складання розкладу занять;
– розроблення еволюційного методу оптимізації цільової
функції задачі складання розкладу занять;
‒ верифікація розроблених моделей та методу і формуван-
ня структурних та функціональних елементів інформацій-
но-аналітичної системи.
Дослідження та побудова технології складання розкладу
здійснюється на основі науково-практичної методології си-
стемного підходу. Розробка моделей та методу складання
розкладу навчальних занять буде виконано на основі тех-
нологій еволюційного моделювання, методу аналізу ієрар-
хій та нечіткої логіки. При розробці структури та форму-
ванні елементної бази інформаційно-аналітичної системи
43
складання розкладу занять використовуватимуться техно-
логії об’єктно-орієнтованого проектування.
Далі буде виконано формалізацію і розв’язано науково-
технічну задачу розробки моделей, методів та інструмента-
льних засобів складання розкладу навчальних занять у ЗВО
на основі еволюційного моделювання та нечітких експерт-
них висновків, зокрема:
− здійснено побудову математичних моделей для форму-
вання розкладу занять, в яких, на відміну від існуючих, ди-
ференційовано враховані вимоги суб’єктів ОП та штрафи
за їх невиконання, що дозволило підвищити ефективність
процесу диспетчеризації занять у ЗВО;
‒ розроблено матрично-еволюційний метод оптимізації
цільової функції формування розкладу занять, у якому за-
безпечено неперервність потенційних розв’язків-розкладів,
що зменшує час їх побудови та верифікації;
− цільові функції для розв’язання задачі складання розкла-
ду навчальних занять шляхом об’єктивізації процесу визна-
чення вагових коефіцієнтів переваг суб’єктів освітнього
процесу, що дозволило здійснювати порівняльний аналіз
ефективності розкладів;
− розвинено методи еволюційної спрямованої оптимізації
шляхом їх адаптації до розв’язання дискретної задачі фор-
мування розкладів занять у ЗВО, що сприяло повнішому
задоволенню вимог суб’єктів ОП та збільшити швидкість
пошуку прийнятного (квазіоптимального) розкладу.
Отримані теоретичні результати доведені до конкрет-
них методик і алгоритмів, які використані при розробці
автоматизованої системи складання розкладу навчальних
занять. Розроблені моделі та методи спрямовані на подаль-
ший розвиток технологій складання розкладів навчальних
занять і складуть методологічну базу для оптимізації ОП
шляхом формування покращених розкладів навчальних
занять.
44
Висновки до першого розділу
У першому розділі представлені основні парадигми реалі-
зації технологій складання розкладів. Кожна з них має як
сильні, так і слабкі сторони, тому вибір підходу для розв’я-
зання кожної конкретної задачі визначається її специфікою.
Так, наприклад, застосування відносно повільних алгоритмів
лінійного цілочисельного програмування для розв’язання
невеликих задач може виявитися прийнятною ціною за умови
дотримання максимально точного переліку обмежень. Для
складних задач кращими можуть виявитися алгоритми, що
базуються на імітації випалювання, елементах логічного про-
грамування чи генетичних алгоритмах. Можливо, найбільшо-
го ефекту може бути досягнуто при комбінації алгоритмів.
Виходячи з аналізу наведених вище підходів до визначен-
ня особливостей, які відрізняють еволюційні методи від інших
методів оптимізації, можна стверджувати, що на сьогодні не
викликають сумніву лише два положення. По-перше, всі ево-
люційні методи базуються на результатах вивчення процесів,
що відбуваються в природі, і, по-друге, серед усіх природних
процесів до еволюційних належать лише ті, які мають ознаки
оптимізаційних. При цьому під оптимізаційними ознаками
розуміється досягнення природною системою такого стану,
характеристики якого надають підстави визначити його
принципові відмінності від усіх інших можливих станів за
певним критерієм чи критеріями.
Формування розкладу є еволюційним процесом за
своїм змістом на макрорівні, оскільки перший сформо-
ваний розклад майже ніколи не є найкращим, а процес
його покращення здійснюється шляхом переходів від
одного розкладу до іншого з використанням евристики
про те, що більш ймовірно у процесі еволюції одержати
кращий розклад, базуючись на ефективному «батьківсь-
кому» розкладі, ніж на неефективному, або менш ефек-
тивному. Мікрорівень також є еволюційним, оскільки
конструювання розв’язків-розкладів теж є еволюційним
процесом.
45
РОЗДІЛ 2. ЦІЛЬОВІ ФУНКЦІЇ У ЗАДАЧІ
СКЛАДАННЯ РОЗКЛАДІВ
Проведений аналіз сучасного стану досліджень у
галузі інформатики, теорії розкладів, теорії прийняття рі-
шень, теорії штучного інтелекту та нечітких систем вказує
на наявність важливої проблеми – теорія розкладів є визна-
ною дисципліною, в класичних роботах якої здійснено фо-
рмальні постановки задач, що враховують достатньо різно-
манітні обмеження, в той же час безпосереднє розв’язання
практичних задач за допомогою цих моделей виявляється
неможливим як внаслідок їх великої розмірності та NP-
складності, так і тому, що в практичних задачах необхід-
но враховувати не лише формальні, але і якісні критерії
та обмеження.
Методика складання розкладу занять з використанням
комп’ютерної техніки перевірена у багатьох ЗВО. Встанов-
лено, що при стабільній структурі ОП застосовування ком-
п’ютера дає відповідні позитивні результати. Але на прак-
тиці розклад занять поки що майже завжди складається
вручну. Разом з тим, застосування комп’ютерів вже зараз
значно полегшує працю упорядників розкладу занять і під-
вищує його якість.
Далі розглянемо задачі, пов’язані з розподілом наванта-
ження між викладачами, формуванням розкладу занять та
розподілу ресурсів у ЗВО. Представлені розробки скеровані
на створення і вдосконалення методів та засобів
розв’язання задач складання розкладу та розподілу ресур-
сів, впровадження процедур прийняття рішень на різних
рівнях формування розкладу.
Для розв’язання вказаних задач пропонується викорис-
товувати методи еволюційного моделювання.
2.1 Домінуючий суб’єктивізм як один із основних
принципів формування ефективного розкладу
Формування навчальних планів у більшості ЗВО здійсню-
ється із значними трудовитратами та все ще під впливом
46
суб’єктивних переваг. Процес складання навчальних планів у
ЗВО базується на досвіді та інтуїції обмеженого кола праців-
ників вищої школи, потребує серйозного удосконалення та
наукового обґрунтування прийнятих рішень.
У свою чергу, процес складання розкладу навчальних за-
нять вимагає глибокого розуміння наукових основ навчання,
структурно-логічних схем підготовки, діючих робочих нав-
чальних планів і програм навчальних дисциплін, твердих
знань численної інформації з усіх питань, які впливають на
якість ОП. На сьогодні процесу складання навчального розк-
ладу занять притаманні такі характерні недоліки:
− відсутність узгодженості між дисциплінами в семестрі та
послідовності проведення занять;
− великі розриви в часі між проведенням практичних/лабо-
раторних занять і відповідними лекціями;
− не враховується послідовність вивчення дисциплін, різних
за складністю засвоєння та послідовність видів занять і
методів роботи. Спостерігаються випадки, коли протягом
одного дня плануються лише лекції, а інші дні зайняті
тільки практичними/лабораторними заняттями;
− не завжди забезпечується достатня перерва між складан-
ням заліків, іспитів, семінарів, практичних/лабораторних
занять.
Трудомісткість складання розкладу зумовлена участю ба-
гатьох представників різних ланок управління, планування і
забезпечення ОП при підготовці, обробці і використанні ве-
ликої кількості нормативної, навчальної, методичної доку-
ментації тощо.
Великі часові витрати, помилки та суб’єктивізм є найсут-
тєвішими недоліками, що змушують звертатися до наукоєм-
них інформаційних технологій, які в змозі звести до мінімуму
існуючі негаразди шляхом автоматизації складання розкладу
занять.
Огляд робіт, присвячених формалізованому складанню
навчальних розкладів, показав, що автоматизоване складання
навчального розкладу є складною комбінаторною задачею.
Найчастіше при розв’язанні задачі автоматизованого форму-
47
вання розкладу занять використовуються евристичні алго-
ритми, а у випадках, коли застосовуються точні методи, наяв-
ні моделі не враховують цілий ряд істотних вимог, зокрема,
умови безперервності вивчення дисциплін у різних семестрах,
логічної послідовності вивчення дисциплін та ін. Евристичні
методи не гарантують побудову допустимих і оптимальних
розкладів. У багатьох системах передбачається можливість у
разі тупикової ситуації почати наступну спробу побудови
розкладу з самого початку зі зміненими вихідними даними. В
інших випадках пропонується добудова частково згенерова-
ного розкладу вручну. Необхідність коригування даних ви-
никає також через порушення вимог, у зв’язку з неповнотою
застосовуваної математичної моделі.
Сьогодні відома значна кількість досліджень, що поясню-
ють з певними припущеннями закономірності навчання для
конкретних систем, у тому числі для формування необхідних
показників ОП [90]. Більшість досліджень враховують психо-
фізіологічні властивості студента: забування, інерцію сприй-
няття та осмислення нової інформації тощо. При цьому вва-
жається, що підвищення ефективності процесу навчання
можна досягти лише вдосконаленням засобів управління на
основі інформаційних технологій. Такий підхід не забезпе-
чить необхідного результату без використання елементів від-
повідної теорії управління. Урахування особливостей процесу
навчання як керованого процесу вимагає його подання у ви-
гляді відповідних математичних моделей об’єкта управління
(моделі суб’єкта процесу навчання) і моделей управління,
наприклад, на основі методів штучного інтелекту.
Однією з найбільш важливих особливостей ОП у сучас-
ному ЗВО є його спрямованість на ефективну професійну
підготовку майбутніх фахівців.
Якість підготовки будь-якого фахівця в сучасних умовах
визначається не лише рівнем його знань, але й професійними
вміннями, що дозволяють йому творчо вирішувати виникаючі
проблеми, активно взаємодіяти з людьми на основі встанов-
лення суб’єктних відносин. Система вищої освіти з навчання
фахівців повинна мати широкий набір засобів, що забезпечу-
48
ють розвиток умінь. Одним з найбільш важливих моментів у
цьому є взаємодія між викладачем і студентом: беручи до ува-
ги суб’єктні відносини і будучи їх активним учасником, сту-
дент починає сприймати реалізовані способи спілкування як
норму, як свій індивідуальний вибір.
Тому важливим аспектом при взаємодії цих суб’єктів ос-
вітнього процесу є створення сприятливих умов шляхом рів-
номірного розподілу навчального навантаження.
Освітній процес у вищій школі – це система організації
навчально-виховної діяльності, в основу якої покладено орга-
нічну єдність і взаємозв’язок викладання (діяльність виклада-
ча) і навчання (діяльність студента), спрямованих на досяг-
нення цілей навчання, розвитку особистості студента, його
підготовки до професійної діяльності.
Графік і план навчального процесу є основою для скл
а-
дання розкладу занять – важливого документу, яким регла-
ментується академічна робота студентів і викладачів.
Під час складання розкладу навчальних занять необхідно
враховувати:
- вимоги навчального плану;
- анатомічно-фізіологічні і психологічні особливості учас-
ників освітнього процесу;
- можливості навчально-матеріальної бази ЗВО;
- можливості аудиторного фонду;
- дидактичну доцільність віднесення навчальних дисцип-
лін у розкладі на робочий тиждень і конкретний день.
При складанні розкладу виникає проблема оптимального
управління ресурсами: викладацьким складом і аудиторним
фондом. У процесі розв’язання задачі складання розкладу
необхідно враховувати обов’язкові обмеження, а також додат-
кові вимоги, які можуть порушуватися в деяких випадках.
Жорсткі обмеження – це обмеження, які повинні неод-
мінно задовольнятись; такі, які фізично не можуть бути по-
рушені. Приклад жорсткого обмеження: «В один і той же час
у зазначеній аудиторії має бути заняття одного викладача з
однієї дисципліни
». Очевидно, що крім загальних для всіх
навчальних закладів такого типу обмежень, для кожного ЗВО
49
існують і свої жорсткі обмеження, викликані причинами різ-
ної природи. В результаті розв’язання задачі складання розк-
ладу необхідно отримати такий розклад, що одночасно задо-
вольняє всім жорстким обмеженням. Якщо це неможливо, то
перелік таких обмежень необхідно змінити або провести деякі
заходи, які дозволять отримати допустимий розклад.
М’які обмеження – це обмеження, які можна порушувати,
але ці порушення повинні бути зведеними до мінімуму. Їх
виконання не є таким же обов’язковим як жорстких. На відмі-
ну від жорстких обмежень, що мають об’єктивну сутність,
м’які обмеження мають об’єктивно-суб’єктивний і суб’єктив-
ний характер. Так, обмеження «Лекція проводиться не в ла-
бораторії» має об’єктивно-суб’єктивний характер, а обмежен-
ня «Доцент Горошко А. читає лекції в понеділок і вівторок» –
суб’єктивний. Очевидно, що порушення м’яких обмежень
призводить до погіршення розкладу, але не позбавляє його
допустимості. Оскільки таких порушень може бути багато і
вони мають різнобічний характер, то актуальність отримання
допустимого оптимального (прийнятного) розкладу є незапе-
речною.
Наведемо жорсткі та м’які обмеження, які необхідні для
процесу складання розкладу.
Жорсткі обмеження (приклад):
− викладач не може бути присутнім на двох заняттях одно-
часно;
− в одній аудиторії не можуть проводитись різні заняття
одночасно;
− місткість аудиторії не може бути меншою ніж кількість
присутніх у ній студентів;
− деякі заняття вимагають особливих аудиторій (напри-
клад, комп’ютерних класів, лабораторій, спортзалів то-
що);
− одна група не може вивчати декілька дисциплін на одно-
му занятті одночасно;
− тижневе навантаження для студентів бакалаврату стано-
вить не більше 30 годин;
50
− тижневе навантаження для студентів-магістрантів не пе-
ревищує 18 годин;
− тижневе навантаження для PhD-студентів становить не
більше 12 годин;
− кількість пар на день є не більшою 3.
М’які обмеження:
− викладачі можуть надавати перевагу конкретним часовим
інтервалам;
− викладачі можуть надавати перевагу певним аудиторіям;
− уникнення проміжних періодів у розкладі («вікон»);
− рівномірний розподіл занять протягом тижня;
− місткість аудиторій не повинна бути набагато більшою
ніж кількість присутніх студентів;
− більш складні заняття потрібно проводити на 1-2 парах;
− фізичне виховання рекомендується проводити на 3-4 па-
рах.
Крім визначення жорстких та м’яких обмежень самої за-
дачі, шляхом опитування студентів і викладачів було визна-
чено, що близько 98% опитуваних вважають, що розклад по-
винен складатись, у першу чергу, для студентів (співвідно-
шення важливості суб’єктів освітнього процесу (за певних
умов): 60% – для студентів, 40% – для викладачів). Виходячи з
цього, при розробці математичних моделей та цільових функ-
цій будемо враховувати спочатку переваги студентів, а потім
викладачів.
2.2 Інтегральна цільова функція та критерій
ефективності розкладу навчальних занять
Кожний ЗВО
має свою специфіку і тому моделі, які мі
с-
тять критеріальні функції та обмеження, мають певні відмін-
ності. Разом із тим, очевидно, що раціональне розв’язання
задачі складання розкладів базується на формуванні інтег-
ральної функції, яка є певною згорткою окремих критеріаль-
них функцій. Інтегральний критерій може бути адитивною
функцією із ваговими коефіцієнтами, що визначаються екс-
пертами, він також може бути залежністю, структурна та па-
раметрична ідентифікація якої здійснюватиметься на базі
51
статистичної інформації. У будь-якому випадку, знаходження
оптимуму такого критерію є складною науковою задачею,
яка, у повному обсязі, залишається нерозв’язаною.
Як вже вказано вище, основними суб’єктами, для яких
складається розклад, є студенти та викладачі. Дуже важливо
створити розклад, який задовольняв би їх вимоги. Найкра-
щим способом цього досягти є використання цільових функ-
цій окремо для викладачів і студентів. Тоді з’являється наступ-
на проблема – як визначити пріоритети між даними функці-
ями.
Традиційно для розв’язання задачі складання розкладу
навчальних занять із застосуванням генетичних алгоритмів
використовують спрощений варіант цільової функції [22, 128,
138], яка на нижчому рівні визначає ступінь придатності хро-
мосоми до формування наступного покоління. Такі цільові
функції враховують виконання лише жорстких обмежень,
накладених на розклад.
Для організації оптимізуючого процесу необхідно визна-
чити цільову функцію, чи, у термінах генетичних алгоритмів,
фітнес-функцію. Зазвичай, використовується адитивний по-
казник оптимальності, що базується на штрафах. Перевагою
такого вибору є можливість налаштування алгоритму під
конкретну задачу шляхом варіювання вагових коефіцієнтів і,
тим самим, зміни пріоритетів при пошуку оптимального роз-
кладу.
На вiдмiну від досліджень, які проводились раніше, про-
понуємо вважати критерiальною функцією визначення опти-
мальності розкладу його вiдповiднiсть запитам студентів i
викладачів. Оскільки у такому випадку присутнє суб’єктивне
оцінювання у композиції з об’єктивними даними, то форму-
вання такої функції є слабко структурованою задачею. Здійс-
нимо її формалiзацiю.
Позначимо
12
{ , ,..., }
n
R rr r=
– скінченну множину можливих
розкладів. Її скінченність гарантована скінченністю множин
навчальних дисциплін
12
{ , ,..., }
m
P pp p=
, сукупності виклада-
чів
12
{ , ,..., }
k
L ll l=
та навчальних аудиторій
12
{ , ,..., }
v
A aa a=
.
52
Задача формування оптимального розкладу з урахуванням
вищенаведеного полягає у пошуку
max ( ),
rR
Fr
∈
(2.1)
(,,,) ,r PSLA R∈Ω ⊆
(2.2)
де
()Fr
‒ цільова функція,
Ω
– сукупність обмежень, які визна-
чаються наявністю і спеціалізацією аудиторій, розподілом
викладачів по дисциплінах, дисциплін по аудиторіях тощо.
Виходячи з інтересів двох основних суб’єктних множин освіт-
нього процесу – студентів і викладачів, цільову функцію
F
вважатимемо вектором і представлятимемо як
(,)
SL
F FF=
, де
S
F
– цільова функція студентів,
L
F
– цільова функція виклада-
чів.
Тоді задача (2.1)-( 2.2) трансформується в задачу пошуку
max ( ), max ( ), ( , , , ).
SL
rR rR
Fr Fr r PSLA
∈∈
∈Ω
(2.3)
Згідно з теорією прийняття рішень, найчастіше задачу
(2.3) розв’язують, використовуючи метод головного критерію,
максимінний метод і метод адитивної згортки. У відповіднос-
ті до методу головного критерію потрібно з множини крите-
ріїв визначити основний, знайти його оптимум за умови, що
значення інших критеріїв будуть не меншими деяких конс-
тант. Тоді задача (2.3) набуде виду:
max ( ), ( ) , ( , , , ),
SL
rR
Fr Fr dr PSLA
∈
≥ ∈Ω
(2.4)
де
d
– константа, значення якої залежить від розмірності за-
дачі, даних і встановлюється особою, що приймає рішення.
За іншим, максимінним критерієм, необхідно знайти та-
кий критерій оптимальності, який має найменші значення на
підмножині розкладів
1
Ω
, що задовольняють умову (2.2), а
далі серед розкладів
1
r∈Ω
знайти такий, якому відповідає
максимальне значення іншого критерію. Задача (2.3) запи-
шеться так:
53
1
1
{,}
max min ( ),
i
i SL
r
Fr
∈
∈Ω
Ω ⊆Ω
. (2.5)
Максимінний критерій дозволяє здійснити й іншу інтер-
претацію. Зокрема, можна знайти підмножину розкладів, які є
допустимими та яким відповідає мінімальне значення одного
з критеріїв, і на цій підмножині знайти розклад, який є опти-
мальним за іншим критерієм. Задача (2.3) тоді буде такою:
1
*
*1
argmin ( ) , max ( ),
SL
rr
r Fr r Fr
∈Ω ∈Ω
= ∈Ω =
(2.6)
або
1
*
*1
argmin ( ) , max ( ).
LS
rr
r Fr r Fr
∈Ω ∈Ω
= ∈Ω =
(2.7)
Очевидно, що розв’язки задачі (2.6)-( 2.7) орієнтовані на
«найгірший» випадок, і визначають гарантовану нижню оцін-
ку для
S
F
або
L
F
. Максимінний критерій у порівнянні з мето-
дом головного критерію є більш детермінованим.
2.3 Визначення коефіцієнтів цільової функції
відображення суб’єктивних переваг учасників
освітнього процесу
Третій критерій, який може бути використаний для роз-
в’язання задачі складання розкладів, записується як адитивна
згортка
() () max,
(,,,).
SS LL
Fr Fr
r PSLA
aa
+→
∈Ω
(2.8)
Вагові коефіцієнти
S
a
і
L
a
визначають вплив компонента
цільової функції на загальний результат. Встановлення зна-
чень коефіцієнтів є емпіричною процедурою. Її формалізація
може здійснюватись різними способами. Наведемо один з
них. Вважаючи студента домінуючим суб’єктом у ЗВО, апріо-
рі раціонально встановити
0,6, 0,4
SL
aa
= =
. При подальшій
корекції використати таке правило: якщо відношення кілько-
сті студентів до кількості викладачів відповідає нормативному
54
значенню, то значення коефіцієнтів не змінюються, якщо ре-
альне відношення відрізняється від нормативного, то
S
a
і
L
a
потрібно коригувати.
Позначимо
S
N
– кількість студентів у ЗВО,
L
N
– кількість
викладачів,
Nom
– номінальне значення відношення кількості
студентів до кількості викладачів, визначене керівною інстан-
цією. Тоді, якщо виконується нерівність
1,
2
S
L
N
Nom Nom
N
≤≤
то
11
0,6 0,4,
22
S
S
L
N
Nom Nom
N
a
=− −⋅
(2.9)
в іншому випадку, якщо
3,
2
S
L
N
Nom Nom
N
≤≤
то
1
0,6 0,3.
2
S
S
L
N
Nom Nom
N
a
=+ −⋅
(2.10)
Одержуючи вирази (2.9) і (2.10), припускаємо, що реальне
співвідношення між кількістю студентів та кількістю виклада-
чів
13
,.
22
S
L
NNom Nom
N
∈
(2.11)
Так, якщо нормативне значення відношення
10,
S
L
N
N=
то
вважатимемо, що на практиці
[]
5,15
S
L
N
N∈
, і це відповідає дійс-
ному стану речей. При
S
L
NNom
N>
, очевидно, що кількість сту-
дентів є порівняно більшою і їх пріоритет у цільовій функції
має збільшуватись. Тому, у цьому випадку
[ ]
0,6, 0,9
S
a
∈
, а
[ ]
0,1, 0,4
L
a
∈
. У протилежному випадку, при
S
L
NNom
N<
, вва-
жатимемо, що
[ ]
0,2, 0,6
S
a
∈
, і
[ ]
0,4, 0,8
L
a
∈
. Таким чином,
використання виразів (2.9)-( 2.10) дозволить адекватно реагу-
вати на динаміку контингенту викладачів і студентів.
55
Розглянемо аспекти формування цільової функції
S
F
.
Очевидно, що студентів можна розглядати як певну множину,
розбиту на класи (групи по курсах і освітніх програмах), які
мають певні інтереси і переваги з однієї сторони, та як сукуп-
ність індивідів, кожен з яких має свій погляд на оптимальність
розкладу та його аспектів. Крім того, існують певні нормати-
вні вимоги, яких необхідно дотримуватись, формуючи розк-
лад.
Кожен ЗВО, а інколи й окремі факультети встановлюють
певні обмеження на розклад занять. Як приклад, можна наве-
сти такі:
1
{ },
H
ZЗаняття мають відбуватись у всі робочі дні
=
2{ },
H
ZКожен студент не може мати більше трьох пар на день=
3
{ },
H
ZКількість лекцій для групи не перевищує дві на день=
4
{}
H
ZЛекційні заняття не проводяться в лабораторіях=
тощо.
Оскільки студенти мають індивідуальні переваги, які у
тому числі залежать й від курсу та групи, то раціонально ці
індивідуальні переваги звести до групових переваг шляхом
визначення їх сукупності, опитування студентів та інтелекту-
ального аналізу його результатів.
Необхідно зауважити ще деякі аспекти формування
S
F
.
По-перше, якщо існуючі вимоги є директивними і навіть не-
значне недотримання їх є неможливим, то вважатимемо їх
обмеженнями, що визначають область допустимих розкладів
(розв’язків). Позначимо такі обмеження
d
Z
. Якщо ж існують
вимоги, які можуть бути певним чином з різних причин не-
дотриманими, то відповідні обмеження позначимо
v
Z
і сту-
пінь порушення обмеження врахуємо шляхом додавання (ві-
днімання) штрафних значень.
Припустимо, що
12
{ , ,..., },
d dd d
k
Z zz z=
12
{ , ,..., },
v vv v
l
Z zz z=
де
d
i
z
–
директивні вимоги,
v
j
z
– вимоги, які визначаються студентами,
1, , 1, .i kj l= =
Вимоги із множини
d
Z
є апріорі відомими і ви-
значеними директивними документами чи нормативами. Ін-
ші ж вимоги із
v
Z
не є заданими і їх визначення є однією з
56
перших задач, розв’язання якої потрібне для формування
ефективного розкладу.
Пропонуємо такий спосіб. Студенти незалежно один від
одного формують свої вимоги до розкладу. Далі усі вимоги
вносяться до єдиного переліку. Якщо в ньому зустрічаються
подібні вимоги – їх об’єднують. В іншому випадку авторам
протилежних вимог пропонують дійти до узгодженого варі-
анту вимоги або вилучити свої вимоги взагалі. У випадку їх
незгоди серед студентів проводиться голосування і та вимога,
за яку проголосувала більшість, залишається у списку вимог,
інша – вилучається.
Таким чином одержується множина вимог
v
Z
. Очевидно,
що вимоги
v
Z
є різнопріоритетними для кожного студента.
Для того, щоб узгодити індивідуальні переваги, кожному сту-
денту надається можливість визначити перевагу кожної з ви-
мог. Для цього за методом аналізу ієрархій [120] будують мат-
риці попарних порівнянь, для яких знаходять максимальні
власні числа та відповідні власні вектори. Нехай
max
λ
– макси-
мальне власне число матриці попарних порівнянь, яку одер-
жав
i
-й студент,
12
1, , ( , ,..., )
i ii i
l
i mx x x x= =
– власний вектор, який
відповідає цьому власному числу. Виконавши нормування
елементів цього вектора за формулою
1
,
ij
iн
jlij
j
x
x
x
=
=∑
(2.12)
одержимо, що
(0,1)
iн
j
x∈
і
1
1
lij
j
x
=
=
∑
. Тоді можна стверджувати,
що значення
iн
j
x
буде вказувати на пріоритет
j
-го критерію
для
i
-го студента. Оскільки всі студенти є рівнозначними
(рівнокомпетентними), то пріоритетність вимог для їх колек-
тиву (найчастіше, групи) визначається як середнє значення
пріоритетів критеріїв для кожного студента, тобто
57
1
1
, 1, .
miн
jj
i
x xj l
m
=
= =
∑
(2.13)
Таким чином, для групи студентів одержано вектор пріо-
ритетів вимог
12
( , ,..., )
l
X xx x=
.
Без обмеження загальності, перший доданок цільової
функції (2.8) набуде такого виду:
1
( ),
lv
SS S j j
j
F xz
aa χ
=
⋅=⋅ ⋅
∑
(2.14)
де коефіцієнт
S
a
визначається за (2.9) або (2.10), пріоритети
i
x
‒ за формулою (2.13), функція
()
v
j
z
χ
є індикатором та ін-
терпретується так:
1, ,
() 0, ,
якщо А виконано
Aв іншому випадку
χ
=
(2.15)
де
A
– певна вимога.
У виразі (2.14) потрібно детальніше описати обмеження
функції-індикатора (2.15). Але перш ніж це зробити, розгля-
немо особливості формування цільової функції викладачів
L
F
. Порівнюючи з процесом формування
S
F
, зауважимо, що
викладачі не мають групових переваг і врахування їх вимог
необхідно здійснювати індивідуально. Нехай
M
– кількість
викладачів, які розбиваємо на групи:
● завідувачі кафедр;
● доктори наук, професори;
● доктори наук, доценти;
● кандидати наук, доценти;
● кандидати наук без вченого звання;
● старші викладачі;
● асистенти.
Очевидно, що на практиці потрібно враховувати пріори-
тети представників таких груп. Якщо перераховані не всі гру-
пи викладачів, то можна додати потрібні групи в перелік. Та-
58
ким чином, нехай
K
∃
груп викладачів, тобто
12
{ , ,..., }.
K
T TT T=
.
За пріоритетністю та порядковою шкалою:
12
... .
K
TT T
(2.16)
Водночас схема переваг (2.16) не дозволяє здійснювати
кількісні оцінки. Тому особа, що приймає рішення, а це може
бути проректор з навчальної роботи, фахівець-диспетчер,
який складає розклади і знає міру впливу викладачів зазначе-
них груп, формує матрицю попарних порівнянь: визначає
пріоритети викладачів, представників груп
12 1
{ , ,..., }, (0,1), 1.
K
Ki i
i
y yy y y y
=
= ∈=
∑
(2.17)
Якщо адекватність такої процедури викликає сумніви, то
її можна об’єктивізувати на основі аналізу посадових окладів
представників груп.
Кожен викладач має свої переваги для формування роз-
кладу, причому кількість таких переваг у різних викладачів
буде різною. Позначимо
12
{ , ,..., }
jj j
ni
TT T
T
i ii i
z zz z=
– вектор переваг
i
-
го викладача з
j
-ї групи,
i
n
– кількість його елементів,
1, ,jM=
1,iK=
. Векторам
T
i
z
відповідатимуть розраховані з викорис-
танням методу, наведеного вище, значення вектора пріорите-
тів
12
{ , ,..., }, 1, , 1, .
ni
j jj j
i ii i
D dd d i Mj K= = =
Тоді, другий доданок
цільової функції (2.8) буде таким:
11 1
{ } { },
i
j
ll
n
KM T
j
LL L j i j i i
ji l
F y LT d z
aa χ χ
= = =
⋅= ⋅ ∈⋅ ⋅
∑∑ ∑
(2.18)
де
1, ,
{}
0, .
ij
ij
якщо викладач L належить групі T
LT в іншому випадку
χ
∈=
Таким чином, з урахуванням (2.14) і (2.18), задача (2.8) пе-
репишеться так:
59
1 11 1
( ) { } { } { } max,
i
j
ll
n
l KM T
vj
S jj L j ij i i
j ji l
Fr x z y L T d z
aχa χ χ
= = = =
= + ∈ ⋅→
∑ ∑∑ ∑
(2.19)
(,,,).r PSLA∈Ω
Зауважимо, що:
- на цьому етапі обмеження (2.2) залишаються без змін;
- розклад r явно в моделі та задачі (2.19) не присутній;
- оскільки значення
, ,,,
l
j
S Lj ji
xyd
aa
є відомими, то макси-
мум цільової функції залежатиме від значень функцій-
індикаторів, які вказують на виконання (невиконання)
вимог студентів та викладачів.
2.4. Задача складання розкладу з використанням
штрафної функції
Як зазначалось вище, для оцінки пристосованості хромо-
сом може використовуватись цільова функція – адитивний
показник оптимальності, що базується на штрафах.
Відомо, що методи штрафних функцій відносяться до
групи прямих методів розв’язання задач нелінійного програ-
мування [142]. Вони перетворюють задачу з обмеженнями в
послідовність задач безумовної оптимізації деяких допоміж-
них функцій. Останні отримують шляхом модифікації цільо-
вої функції за допомогою функцій-обмежень таким чином,
щоб обмеження в явному вигляді в задачі оптимізації не ф
і-
гурували. Це забезпечує можливість застосування методів бе-
зумовної оптимізації. У загальному випадку допоміжна фун-
кція є такою:
(,) () (, ),Fxa f x Gxa= +
(2.20)
де
()fx
– цільова функція в задачі оптимізації,
(,)Gxa
–
«штрафна» функція, параметр
0a>
. Точку безумовного мі-
німуму функції
(,)Fxa
будемо позначати через
()xa
.
60
Залежно від виду
(,)Gxa
розрізняють методи внутрішніх
штрафних або бар’єрних функцій і методи зовнішніх штраф-
них функцій.
Методи внутрішніх штрафних функцій застосовуються
для розв’язання задач нелінійного програмування з обме-
женнями-нерівностями [69]. У цих методах функції
(,)Gxa
підбирають такими, щоб їх значення необмежено зростали
при наближенні до границі допустимої області
Θ
(рис. 2.1).
Іншими словами, наближення до границі «штрафується»
різким збільшенням значення функції
(,)Fxa
. На границі
Θ
будується «бар’єр», що перешкоджає порушенню обме-
ження в процесі безумовної мінімізації
(,)Fxa
. Пошук міні-
муму допоміжної функції
(,)Fxa
необхідно починати з
внутрішньої точки області
Θ
. При цьому в процесі оптимі-
зації траєкторія спуску ніколи не вийде за межі допустимої
області. Всі перераховані властивості функції
(,)Gxa
визна-
чили найменування даної групи методів.
Рис. 2.1 – Внутрішня штрафна функція
Методи зовнішніх штрафних функцій застосовуються для
розв’язання задач оптимізації в загальній постановці, тобто за
наявності як обмежень-нерівностей, так і обмежень-рівностей.
1
(, )Gxa
2
(, )Gxa
21
aa>
Θ
61
У цих методах функції
(,)Gxa
вибирають такими, що їх зна-
чення рівні нулю всередині і на границі допустимої області
Θ
, а поза нею є додатними і зростають тим більше, чим силь-
ніше порушуються обмеження (рис. 2.2). Таким чином, тут
«штрафується» віддалення від допустимої області
Θ
.
Аналіз методів штрафних функцій дозволяє зробити на-
ступні висновки про їх обчислювальні властивості. Відповідно
до методів внутрішніх штрафних функцій ведуть пошук
розв’язку, не виходячи за межі допустимої області. Це дуже
важливо в тих випадках, коли цільова функція або обмеження
не визначені за межами допустимої множини. Крім того, пе-
рервавши обчислення в будь-який момент часу, завжди отри-
маємо допустимий розв’язок. Інколи для знаходження почат-
кової допустимої точки необхідно розв’язувати задачу, яку за
складністю можна порівняти з вихідною задачею нелінійного
програмування. У цьому випадку метод зовнішніх штрафних
функцій є кращим, оскільки він забезпечує розв’язання зада-
чі, стартуючи з будь-якої початкової точки.
Рис. 2.2 – Зовнішня штрафна функція
62
Далі розглянемо модифікований метод розв’язання задачі
складання розкладу з використанням штрафної функції. Він
має такі кроки:
Крок 1. Визначити структуру
S
потенційного розв’язку
r
.
Крок 2. Визначити критерій
E
зупинки пошуку оптимально-
го розв’язку.
Крок 3. Виконати кодування потенційного розв’язку.
Крок 4. Поки не виконаний критерій
E
:
Крок 4.1. Поки вибірка потенційних розв’язків
Z
неповна:
Крок 4.1.1. Згенерувати потенційний розв’язок
r
.
Крок 4.1.2. Якщо він не є допустимим (
1(,,,)r PSLA∉Ω
, то
перейти на крок 4.1.1.
Крок 4.1.3. Якщо розв’язок прийнятний (
2
(,,,)r PSLA∈Ω
),
то записати його у вибірку
Z
і перейти на
крок 4.1.
Крок 4.1.4. Якщо розв’язок
r
неприйнятний хоча б по
одному з обмежень з
2
(,,,)PSLAΩ
, то реалізувати один з трьох
варіантів:
А: Перейти на крок 4.1.1.
В: Якщо варіант А виконано більше
max
A
разів, то перейти
до варіанту С.
С: Покласти
1 2 12
() () () ( () ()),
S L it
Fr Fr Fr Fr Fr
a a βφ
=+− ∨
(2.21)
де
β
– ваговий коефіцієнт,
it
– номер ітерації,
(*)
φ
–
функція штрафу. Вважати
r
потенційним розв’язком і
перейти на крок 4.1.1.
Крок 4.2. Для всіх потенційних розв’язків обчислити зна-
чення цільової функції
(*)F
, враховуючи те, що, якщо розв’я-
зок є допустимим і прийнятним, то значення функції штрафу
(*) 0
φ
=
.
Крок 4.3. Виконати генерацію нових потенційних розв’яз-
ків, виходячи із значень цільової функції, застосовуючи опе-
рації кросоверу і мутації (якщо методом оптимізації є генети-
чний алгоритм) або з використанням нормально розподіле-
63
них чисел, якщо це еволюційна стратегія. У разі EvoMax [97]
застосовуються й інші технологічні елементи.
Крок 5. Обчислення значення критерію
max
0 ( ( ))
ii i
Fr F
φ
≤≤
.
У запропонованому методі застосовується штрафна функ-
ція. Звичайно, якби всі допустимі розв’язки були б прийнят-
ними, необхідності в її використанні не було. Але в переваж-
ній бі
льшості випадків на практиці це не так. Якщо розклад
складається диспетчером вручну, то обов’язково знаходиться
хоча б один викладач, який вважає розклад категорично для
себе неприйнятним, і диспетчер починає вносити зміни в роз-
клад, намагаючись задовольнити його вимоги і, звичайно ж,
завдаючи шкоди інтересам інших учасників освітнього про-
цесу. Штрафом у цьому випадку є витрачений час і, найча
с-
тіше, моральна шкода. Крім того, немає об’єктивного показ-
ника для порівняння якості розкладів.
Але повернемося до задачі (2.19). Оскільки
0
S
a
>
,
0
L
a
>
за визначенням і
1
(*) 0
F≥
,
2
(*) 0F≥
за побудовою, то функція
(*)F
у найгіршому випадку може приймати нульове значен-
ня, що відповідає допустимому, але неприйнятному розв’язку
для кожного з викладачів і для кожної студентської групи.
Якщо вважати пріоритети студентських груп і викладачів за-
даними, то отримання оптимального значення
max
F
буде від-
повідати отриманню оптимальних значень
1max
F
і
2max
F
. На
практиці переваги груп студентів і викладачів найчастіше є
антагоністичними, тому отримання значення
max 1max 2 maxSL
FF F
aa
= +
(2.22)
є бажаним, але недосяжним орієнтиром.
Зазвичай студентські групи є рівнопріоритетними, тому
найбільш традиційний спосіб збільшити значення цільової
функції – це першочергове виконання побажань і вимог вик-
ладачів з великими ваговими коефіцієнтами (ректори, про-
ректори, завідувачі кафедрами тощо). Визначати вагові кое-
фіцієнти викладачів пропонується методом аналізу ієрархій
(МАІ).
64
Метод аналізу ієрархій, розроблений відомим американ-
ським математиком Томасом Сааті [106], з успіхом використо-
вується для розв’язання багатьох практичних задач на різних
рівнях планування. Цей метод набув широкого розповсюд-
ження в останні десятиріччя. Згідно з цим методом вибір
пріоритетних рішень здійснюється за допомогою парних по-
рівнянь. За допомогою МАІ можна порівняти відносну важ-
ливість будь-яких кількісно невизначених факторів.
Mетод аналізу ієрархій полягає в декомпозиції (розкла-
данні) проблеми на більш прості складові частини і подаль-
шій обробці послідовності тверджень особи, яка приймає рі-
шення, за допомогою парних порівнянь. У результаті може
бути виражений відносний ступінь взаємодії в ієрархії. Ці
твердження потім виражаються чисельно.
MAI включає процедури синтезу багатьох тверджень, от-
римання пріоритетності критеріїв та знаходження альтерна-
тивних рішень. Важливим є те, що отримані таким чином
значення є оцінками в шкалі відношень, але відповідають так
званим "жорстким" оцінкам.
Вирішення проблеми – процес поетапного встановлення
пріоритетів. На першому етапі виявляють найбільш важливі
елементи проблеми, на другому – найкращий спосіб перевір-
ки тверджень та оцінки елементів. Весь процес підлягає пере-
вірці та переосмисленню доти, доки не буде встановлено, що
він охопив усі важливі характеристики вирішення проблеми.
Для кожної пари елементів універсальної множини екс-
перт оцінює перевагу одного елемента над іншим по відно-
шенню до властивості певної нечіткої множини. В своїй задачі
ми використовуємо висновки восьми експертів. Парні порів-
няння кожного експерта представимо наступними матриця-
ми:
Експерт №1 (старший викладач)
Професор
Доцент
Ст. викладач
Викладач
Професор
1
4
7
8
Доцент
1/4
1
3
7
Ст. викладач
1/7
1/3
1
2
Викладач
1/8
1/7
1/2
1
65
Вимоги експерта № 1:
- не більше 4-х пар на день;
- не більше 2-х лекцій на день;
- вибір певної аудиторії;
- пари в першій половині дня;
- відсутність «вікон»;
- вибір певного дня тижня.
Експерт №2 (викладач)
Професор
Доцент
Ст. викладач
Викладач
Професор
1
2
4
6
Доцент
1/2
1
2
4
Ст. викладач
1/4
1/2
1
2
Викладач
1/6
1/4
1/2
1
Вимоги експерта № 2:
- мінімальна кількість зайнятих днів на тиждень;
- максимальна кількість пар на день;
- не більше двох лекцій на день;
- наявність «вікна»;
- не більше шести пар на день.
Експерт №3 (професор)
Професор
Доцент
Ст. викладач
Викладач
Професор
1
3
6
7
Доцент
1/3
1
3
5
Ст. викладач
1/6
1/3
1
2
Викладач
1/7
1/5
1/2
1
Вимоги експерта № 3:
- вибір певного дня тижня;
- вибір певної аудиторії;
- не більше 3-х пар на день;
- черговість лекцій і лабораторних;
- відсутність «вікон».
66
Експерт №4 (викладач)
Професор
Доцент
Ст. викладач
Викладач
Професор
1
5
7
9
Доцент
1/5
1
2
4
Ст. викладач
1/7
1/2
1
3
Викладач
1/9
1/4
1/3
1
Вимоги експерта № 4:
- рівномірний розподіл пар на тиждень;
- не більше 3-х пар на день;
- вибір певної аудиторії;
- відсутність «вікон».
Вимоги експерта № 5:
- пари у вівторок і середу;
- відсутність «вікон».
Експерт № 5 (доцент)
Професор
Доцент
Ст. викладач
Викладач
Професор
1
3
6
9
Доцент
1/3
1
2
4
Ст. викладач
1/6
1/2
1
2
Викладач
1/9
1/4
1/2
1
Експерт № 6 (старший викладач)
Професор
Доцент
Ст. викладач
Викладач
Професор
1
5
7
8
Доцент
1/5
1
2
4
Ст. викладач
1/7
1/2
1
2
Викладач
1/8
1/4
1/2
1
Вимоги експерта № 6:
- рівномірний розподіл пар на тиждень;
- не більше 4-х пар на день;
67
- відсутність «вікон».
Експерт № 7 (професор)
Професор
Доцент
Ст. викладач
Викладач
Професор
1
6
7
9
Доцент
1/5
1
3
4
Ст. викладач
1/6
1/3
1
3
Викладач
1/9
1/4
1/3
1
Вимоги експерта № 7:
- не більше 3-х пар на день;
- не більше 1 лекції на день;
- вибір певної аудиторії;
- відсутність «вікон».
Експерт № 8 (викладач)
Професор
Доцент
Ст. викладач
Викладач
Професор
1
3
5
7
Доцент
1/3
1
3
6
Ст. викладач
1/5
1/3
1
3
Викладач
1/7
1/6
1/3
1
Вимоги експерта № 8:
- рівномірний розподіл пар на тиждень;
- мінімальна кількість пар на день;
- пари в першій половині дня;
- відсутність «вікон».
Цього виявилось достатньо для того, щоб визначити пе-
реваги (вимоги) викладачів і вагові коефіцієнти їх посад.
Таким чином, якщо не вдається сформувати вибірку до-
пустимих прийнятних розв’язків, її доповнюють неприйнят-
ними раніше розв’язками. Не виключено, що вибірка буде
складатися виключно з неприйнятних розв’язків. Може стати-
ся так, що максимальне значення цільової функції для прий-
нятних розв’язків виявиться менше хоча б одного значення
цільової функції для неприйнятних розв’язків, що відповідає
випадку найбільш повного задоволення вимогам викладачів з
68
великими значеннями вагових коефіцієнтів на шкоду моло-
дим або викладачам без ступенів та звань. У кожному разі ви-
користання штрафних функцій підвищує різноманітність
розглянутих потенційних розв’язків.
Розглянемо задачу конструювання функції штрафу. Як
вже було зазначено,
2
12
11
0, ( , , , ),
( () ()) ( , , ), .
lK
jj
jj
якщо r PRLA
Fr Fr f x yD в іншому випадку
φγ
= =
∈Ω
∨=
∨∨
(2.23)
У виразі (2.23) ненульове значення функції штрафу відпо-
відає випадку, коли не виконана хоча б одна з вимог студент-
ських груп або хоча б одного викладача,
D
– значення, що
інтегрує пріоритети вимог викладачів,
γ
– деякий параметр.
Оскільки «оштрафованими» можуть бути і розв’язки, що
не задовольняють вимогам студентських груп, і розв’язки, що
не задовольняють вимогам окремих викладачів, то доцільно
вважати штрафну функцію адитивною і записувати так:
1211122211 22
11
( ( ) ( )) ( ( )) ( ( )) ( ) ( , ).
lK
jj
jj
Fr F r Fr Fr f x f y D
φ βφ βφ β β
= =
∨ = + = ∨+ ∨
(2.24)
Очевидно, що чим більшою мірою порушуються обме-
ження, тим більшим має бути значення функції штрафу. За
побудовою функція штрафу є невід’ємною функцією, а вихо-
дячи зі свого призначення, для неї справедлива нерівність
max
0 (*) .F
ϕ
≤≤
(2.25)
Аналогічно і для її компонент:
max
0 ( ( ))
ii i
Fr F
φ
≤≤
і
1 1max
1
0() ,
l
j
j
fxF
=
≤∨ ≤
2 2max
1
0()
K
j
j
fyF
=
≤∨ ≤
. (2.26)
Розглянемо побудову штрафної функції
1
(*)
φ
. Введемо
функцію відстані від передбачуваного потенційного розв’язку
r
до області
2
(,,,)PSLAΩ
. Раніше було описано, що для того,
щоб отримати пріоритети вимог студентів
,j
x
1,jl=
, застосо-
вувався метод аналізу ієрархій Т. Сааті [106]. При побудові
69
матриці попарних порівнянь використовувались лише прий-
нятні побажання і вимоги. За таким же принципом побудує-
мо матрицю попарних порівнянь для неприйнятних варіантів
розкладів. Розглянемо як приклад вимогу студентських груп:
«Не більше трьох пар на день». Тоді неприйнятним для ст
у-
дентів є варіант розкладу, в якому існує «Більше трьох пар на
день». Очевидно, доцільно вважати, що
TTV=
, де
T
– при-
йнятна вимога,
T
– неприйнятна вимога,
V
– множина мож-
ливих вимог про щось. Для викладача А. Петренка у розгля-
нутому вище прикладі – це
T
= {Одна пара в понеділок, дві – у
вівторок і три в середу або одна пара у вівторок, чотири – в середу
і одна в п'ятницю, або ...}.
Таким чином, існує кілька підходів до визначення штраф-
ної «студентської» функції. Для першого способу досить пок-
ласти
1,
jj
xx
= −
1, ,jl=
1
1,
l
j
j
x
=
=
∑
1
1,
l
j
j
x
=
=
∑
(2.27)
і вважати, що
1111
( ) (1 )
ll
l
j jj
jjj
fx xl x
== =
∨= −=−
∑∑
. (2.28)
Переваги функції (2.28) – простота отримання, недолік –
припущення про те, що значення чогось небажаного є обер-
нено пропорційним значенню бажаного, що не завжди спра-
ведливо. Крім того, відсутня градація небажаних за певною
вимогою розкладів.
Для другого способу необхідно по матриці парних порів-
нянь визначити небажаність виконання тієї чи іншої вимоги.
Чим вимога є небажанішою, тим більшим є відповідне зна-
чення
,
j
x
1,jl=
. Вважаємо, що кожній бажаній вимозі відпо-
відає небажана вимога. Штрафна функція буде мати такий
вигляд:
111
()
l
l
jj
jj
fx x
==
∨=
∑
. (2.29)
70
Зауважимо, що в загальному випадку
jj
xx≠
,
1, .jl=
Реалізація третього способу пов’язана з повним викорис-
танням можливостей методу аналізу анархій Т. Сааті [106].
Для визначення небажаності реалізації тієї чи іншої вимоги
будуємо ієрархічну структуру вимог. На верхньому рівні зна-
ходяться вимоги, аналогічні розглянутим у другому способі, і
значення небажаності. Їх реалізації відомі:
j
x
,
1,jl=
. На ни-
жньому рівні необхідно побудувати матриці попарних порів-
нянь для підваріантів таких вимог.
Так, студентській вимозі
T=
{Одна лекція в понеділок} відпо-
відає небажана вимога
T=
{Тільки не одна лекція в понеділок}.
Очевидно, що
0234
TT T T T=
де
i
T
= {
i
лекцій в понеділок}.
Для вимог
,
i
T
0,4i=
,
1i≠
будуємо матриці попарних порів-
нянь і знаходимо значення рівня їх небажаності. Для загаль-
ного випадку – це значення
ji
x
,
1,
j
ik=
Тоді функція штрафу
буде такою:
1111
( ) ( ).
l
K
l
l
j j ij
jji
fx xx iй варіант j ї вимоги реалізовано
χ
== =
∨= ⋅− −
∑∑
(2.30)
Функція штрафу
21
( ,)
J
j
j
f yD
=
∨
конструюється аналогічним
чином. Єдиною принциповою відмінністю є необхідність
врахування як пріоритетів викладачів, так і їхніх вимог.
Використання штрафних функцій направлене на збіль-
шення різноманітності потенційних розв’язків; пошук
розв’язків, що відповідають великим значенням цільової фун-
кції, але які є неприйнятними для деяких учасників ОП.
71
Висновки до другого розділу
У другому розділі виконані математичні постановки задач
дослідження. Визначено, що основним принципом складання
розкладу на сьогодні є домінуючий суб’єктивізм. Встановлені
основні типи жорстких та м’яких обмежень, які враховуються
при складання розкладу.
Показано, що задача складання розкладу занять у закладі
вищої освіти є складною багатокритеріальною задачею. Вона
може бути розв’язаною шляхом зведення до однокритеріаль-
ної задачі та подальшим застосуванням відповідного методу,
наприклад, мінімаксного методу, методу головного критерію,
адитивної згортки тощо.
Запропоновано використати метод адитивної згортки, згі-
дно з яким цільова функція є зваженою сумою індивідуаль-
них цільових функцій, якими є цільові функції викладача і
студента. Розроблено метод встановлення значень вагових
коефіцієнтів цільової функції у залежності від співвідношен-
ня кількості викладачів до кількості студентів на основі при-
ведення суб’єктивних переваг студентів до колективного по-
рядку та методу аналізу ієрархій.
Оскільки м’які обмеження повною мірою часто не вико-
нуються, то побудована цільова функція з використанням
штрафів та запропоновано метод їх визначення.
72
РОЗДІЛ 3. ЕВОЛЮЦІЙНА ТЕХНОЛОГІЯ СКЛАДАННЯ
РОЗКЛАДІВ З ВИКОРИСТАННЯМ НЕЧІТКИХ
ВИСНОВКІВ
Математична теорія нечітких множин (fuzzy sets) і нечіт-
ка логіка (fuzzy logic) є узагальненнями класичної теорії мно-
жин і класичної формальної логіки. Ці поняття були вперше
запропоновані американським ученим азербайджанського
походження Лотфі Заде (Lotfi Zadeh) у 1965 р. [47]. Основною
причиною появи нової теорії стала необхідність оброблення
нечітких і наближених висновків при описі людиною проце-
сів, систем, об’єктів.
Перш ніж нечіткий підхід до моделювання складних сис-
тем отримав визнання у всьому світі, пройшло не одне деся-
тиліття з моменту зародження теорії нечітких множин. І на
цьому шляху розвитку нечітких систем визначають три пері-
оди.
Перший період (кінець 60-х – початок 70 рр. минулого сто-
ліття) характеризується розвитком теоретичного апарату не-
чітких множин (Л. Заде, Э. Мамдані, Р. Беллман). У другому
періоді (70-80-і роки) з’являються перші практичні результати
в області нечіткого управління складними технічними систе-
мами (наприклад, парогенератор з нечітким управлінням).
Одночасно стала приділятись увага проблемам побудови екс-
пертних систем, побудованих на нечіткій логіці, розробці не-
чітких контролерів. Нечіткі експертні системи для підтримки
прийняття рішень знаходять широке застосування в медици-
ні та економіці. Нарешті, в третьому періоді, який триває з
кінця 80-х років, з’являються пакети програм для побудови
нечітких експертних систем, а сфери застосування нечіткої
логіки помітно розширюються. Її елементи застосовується в
автомобільній, аерокосмічній і транспортній промисловості,
при виробництві побутової техніки, у сфері фінансів, аналізу
і ухвалення управлінських рішень та багатьох інших. Крім
того, на сучасному етапі важливо зауважити взаємопроник-
ність технологій ідентифікації та оптимізації, створення гіб-
ридних моделей та методів, розв’язання прикладних задач на
основі їх використання.
73
3.1 Обгрунтування використання еволюційного
моделювання в задачі складання розкладу
навчальних занять
Розглянемо деякі природні процеси, при цьому почнемо з
процесу селекції, який є прообразом основних операцій у ге-
нетичних алгоритмах.
Як відомо, в основі селекції знаходиться ідея отримання
кращих (за деякою ознакою) нащадків за рахунок відбору для
схрещування кращих (за цією ознакою) батьківських індивідів
з наявної популяції. Результатом багаторазового повторення
цих операцій є закріплення у нащадків обраної ознаки та по-
дальше формування однорідної за цією ознакою популяції.
Яскравим прикладом практичних результатів застосування
цієї ідеї є селекційна робота з отримання квітів форми та ко-
льорової гами, які не є домінуючими у вихідній популяції.
Іншим є приклад формування зграй птахів у період міг-
рації, характерним для якого є те, що зграя, як структура,
формується в певний період року з окремих індивідів, які ра-
ніше гніздились та харчувались окремо.
Третім можна навести приклад утворення зграї вовків,
особливістю якої є її формування лише за складних погодних
умов та суттєвої обмеженості звичної кормової бази.
Четвертий приклад - процеси пошуку та доставки їжі в ко-
лоніях мурах та роях бджіл. Для цих біологічних видів харак-
терним є соціальна організація, відповідно до якої пошук їжі
здійснюється розвідниками, а її доставка – фуражирами. При
цьому розвідники досліджують місцевість, знаходять їжу та
передають інформацію про неї фуражирам. Механізм пере-
давання інформації у цих видах є різним (мурахи використо-
вують феромон, а бджоли – танок), однак результат є однако-
вим – фуражири рухаються до джерела їжі цілеспрямовано,
при цьому мурахи ще й забезпечують мінімізовану довжину
маршруту доставки.
Останнім прикладом може бути формування колонії бак-
терій, характерним для якої є те, що під впливом хімічного
наповнення середовища форма цих колоній може утворюва-
74
ти правильні геометричні фігури, зокрема, подібні до сніжи-
нок.
Зрозуміло, що наведені приклади не охоплюють всієї різ-
номанітності природних систем, однак вже їх достатньо для
того, щоб виділити деяку спільну ознаку, яка стала основою
для розвитку еволюційного моделювання.
Для всіх розглянутих прикладів спільною ознакою є те, що
деякий показник, який за одних умов є ймовірнісним, під ді-
єю деякого впливу втрачає ознаки хаотичності та набуває
ознак впорядкованості.
Зокрема, хаотичне забарвлення квітів під дією селекції пе-
ретворюється на однорідне; хаотичне розташування в прос-
торі птахів та вовків під дією природних факторів приводить
до їхньої локалізації в обмеженій ділянці простору; хаотич-
ний рух розвідників за рахунок передавання здобутої інфор-
мації перетворюється в цілеспрямований рух фуражирів; хао-
тичне розташування бактерій під дією хімічних речовин на-
буває геометричних форм, близьких до правильних.
Для природних систем, які стали основою для розробки
різних еволюційних методів, загальним є перехід від хаотич-
ного стану до впорядкованого внаслідок впливу зовнішніх
факторів.
Однак подібні переходи мають місце не лише в природ-
них, але й у фізичних процесах. Фізичними прикладами та-
ких переходів є утворення регулярної структури у в’язкій рі-
дині внаслідок критичної різниці температур між її верхніми
та нижніми шарами (ефект Бенара) та виникнення лазерного
випромінювання внаслідок досягнення критичного рівня
енергії накачування [54, 60]. При цьому необхідно зазначити,
що впорядкування елементів системи внаслідок досягнення
зовнішнім фактором деякого критичного рівня притаманне
дисипативним системам – відкритим термодинамічним сис-
темам, які перебувають у стані, далекому від рівноважного
[54].
Той факт, що природні системи є дисипативними, достат-
ньо відомий [146]. Але з аналізу такої подібності між фізич-
ними та розглянутими природними системами випливає пи-
75
тання про те, який же спільний фактор у природних системах
досягає критичного рівня та є причиною їх переходу від хао-
тичного до впорядкованого стану.
Для відповіді на це питання більш детально розглянемо
процеси пошуку та доставки їжі, які відбуваються в мураши-
ній колонії.
Відповідно до [138] особливістю поведінки мурах є те, що
під час руху кожна з них залишає на поверхні землі певну
кількість феромону (особливої хімічної речовини, яка мають
специфічний запах), який з часом випаровується, а для доста-
вки їжі фуражири частіше обирають ті маршрути, на яких
запах феромону сильніший. На всіх маршрутах руху концен-
трація феромону буде залежати від часу його відкладення та
кількості мурах, які пройшли по ньому. Коротший маршрут
до джерела їжі на початку буде мати більшу концентрацію
феромону внаслідок швидшого повернення розвідника, а по-
тім ця концентрація буде підтримуватись рухом фуражирів.
Маршрути, які прокладені, але не використовуються, зника-
ють внаслідок випаровування феромону.
З вище наведеного зрозуміло, що формально фактором,
який регулює рух мурах, є феромон, однак залишаються пи-
тання про те, яку фундаментальну фізичну величину він уо-
соблює, та про те, що за критичний рівень є регулятором ди-
сипативної системи.
Фундаментальними фізичними величинами, які характе-
ризують стан дисипативної системи, є кількість та потоки ре-
човини, енергії, ентропії та інформації, при цьому утворення
впорядкованості пов’язується з обов’язковим експортом ент-
ропії за межі системи та з наявністю малих флуктуацій стану
окремих елементів системи [54].
Аналогічні механізми можна знайти й в інших природних
системах, які стали основою для створення методів оптиміза-
ції, тому всі ці методи можуть бути віднесені до еволюційних.
При цьому і самі еволюційні методи оптимізації містять ме-
ханізм впорядкування первинного випадкового розподілу
пробних точок у просторі незалежних змінних.
76
Так, під час застосування генетичних алгоритмів та мето-
дів ройового інтелекту про це свідчить стягування вихідної
популяції в одну точку, в методі LARES первинний хаотич-
ний розподіл молекул по рівнях енергії та пристроях штучно-
го хімічного реактора в кінцевому підсумку трансформується
в локалізацію всіх молекул у пристрої сепарації з мінімальним
значенням потенційної енергії, а в методі моделювання від-
палу первинний хаотичний розподіл положення пробної точ-
ки в просторі незалежних змінних наприкінці збігається в
одну точку.
Виходячи з наведеного, можна запропонувати такі визна-
чення.
Еволюційне моделювання – це математичний метод моде-
лювання процесу переходу системи від хаотичного до впоряд-
кованого стану.
Еволюційний метод – це математичний метод, в основу
якого покладені положення термодинаміки відкритих систем,
далеких від рівноваги.
Еволюційний метод оптимізації – це математичний метод,
в якому умови вихідної задачі оптимізації асоціюють з харак-
теристиками дисипативної системи, в якій забезпечується екс-
порт ентропії внаслідок критичної різниці між створюваною
інформацією та інформацією, яка забувається.
Існуючі на сьогодні еволюційні методи оптимізації різ-
няться за природними системами, поведінка яких покладена в
їх основу, та за особливостями реалізації відповідних природ-
них алгоритмів. Такі відмінності можуть бути покладеними в
основу їх класифікації.
Зрозуміло, що першою ознакою доцільно обрати галузь
науки, формалізація знань якої лежить в основі того чи іншо-
го методу. За цією ознакою сучасні методи еволюційного мо-
делювання можуть бути класифіковані на фізичні, хімічні та
біологічні.
Другою ознакою можна обрати спосіб, у який формується
нова комбінація незалежних змінних під час пошуку оптиму-
му. За цією ознакою всі методи поділяються на дві групи:
блочні та покоординатні. В блочних методах нова точка по-
77
шуку утворюється з окремих груп змінних, в той час як в по-
координатних методах нова точка пошуку утворюється варі-
юванням значення по кожній незалежній змінній окремо.
Третьою ознакою класифікації оберемо обсяг інформації
про цільову функцію, який використовується для вибору на-
прямку руху для ефективного пошуку оптимуму. За цією
ознакою розглянуті вище еволюційні методи можна поділити
на прямі та квазіградієнтні. В прямих методах на кожному
кроці використовується лише значення цільової функції, а в
квазіградієнтних методах (до яких належать методи ройового
інтелекту) внаслідок обміну даними між окремими агентами
враховується додаткова інформація про рельєф поверхні, яка
відповідає цільовій функції. Фактично такий обмін надає де-
яку оцінку значення градієнта, тому наступна точка обира-
ється з урахуванням отриманої оцінки напрямку покращення
значення цільової функції.
Зрозуміло, що наведена класифікація не є вичерпною і в
подальшому може бути уточнена. Окрім того, подальший
напрям досліджень вбачається в удосконаленні сучасних ме-
тодів еволюційного моделювання на основі визначених кла-
сифікаційних ознак.
Вважається, що історія еволюційного моделювання або
еволюційних обчислень почалась з робіт Дж. Холланда, Л.
Фогеля, А. Оуена і М. Уолша, І. Букатової, Л. Растригіна та
інших дослідників [149]. Усі вони взяли за основу ряд перетво-
рень живої субстанції, що існує в природі, спростили їх, побу-
дувавши ряд принципів і моделей еволюційних процесів. З
часом еволюційне моделювання перетворилось на теорію, на
основі якої здійснюється пошук квазіоптимальних і оптималь-
них розв’язків задач, деякі з них вважалися до цього н
е-
розв’язними.
Основна перевага еволюційного моделювання полягає у
можливості розв’язання задач, що мають багато локальних оп-
тимумів за рахунок комбінування елементів випадковості і
спрямованості аналогічно тому, як це відбувається в природі.
Іншим важливим чинником еволюційного моделювання є
моделювання процесів селекції, розмноження і успадкування.
78
При цьому одержувані за певними правилами альтернативні
розв’язки можуть породжувати нові розв’язки, які будуть “на-
слідувати” кращі характеристики попередніх. Суть стратегії
еволюційного моделювання полягає в реалізації цілеспрямо-
ваного процесу розмноження-загибелі, при якому розмно-
женню відповідає поява нових об’єктів, а загибелі – видалення
об’єктів у відповідності з визначеними критеріями природно-
го та штучного добору.
Сьогодні, згадуючи про еволюційне моделювання, найча-
стіше мають на увазі генетичні алгоритми. Вони використо-
вують механізми природної еволюції, що у загальному вигля-
ді можуть бути сформульовані так: чим вища пристосованість
індивіда, тим вища ймовірність того, що у його нащадків ця
пристосованість буде виражена ще сильніше.
Головна перевага ГА полягає у тому, що вони дозволяють
розв’язувати складні задачі, для яких ще не розроблені стійкі і
прийнятні методи, особливо на етапі формалізації і структу-
ризації системи, в когнітивних системах. ГА ефективні в ком-
бінації з іншими класичними алгоритмами, евристичними
процедурами, а також у тих випадках, коли про множину
розв’язків є деяка додаткова інформація, що дозволяє налаш-
товувати параметри моделі, коригувати критерії відбору та
еволюції [149].
Одним з головних етапів функціонування ГА є оптиміза-
ція цільової функції. Зазвичай, цільовою функцією є адитив-
ний показник оптимальності, що базується на штрафах, які
встановлюються кожному розв’язку за будь-який конфлікт-
ний момент у розкладі [73]. Перевагою такого вибору є мож-
ливість налаштування алгоритму під конкретну задачу шля-
хом варіювання коефіцієнтів і, тим самим, зміни пріоритетів
під час пошуку оптимального розкладу.
Представимо формування розкладу як певний еволюцій-
ний процес. Його відображенням є розробка, модифікація та
удосконалення автоматизованої системи складання розкладів
(АССР). Процес моделювання еволюції АССР є складною
слабко структурованою проблемою, тому що не існує строго
визначеної процедури, методу, алгоритму її вирішення, а та-
79
кож визначення рівнів ієрархії. Такі системи, як відомо, є
предметом вивчення у штучному інтелекті. Оскільки еволю-
ція системи є процесом переходу із стану в стан у залежності
від внутрішньої необхідності та зовнішніх умов, то організа-
ція запам’ятовування інформації, яка складається із вихідних
даних, обмежень, моделей, методів, засобів, критеріїв оцінки
одержаних рішень, становить основу для аналізу ефективнос-
ті кожного етапу життєвого циклу системи та прогнозування
майбутніх процесів і прийняття рішень. Таким чином, моде-
лювання еволюції є більш інформативним процесом ніж мо-
делювання систем [66].
Важливо зауважити, що моделювання еволюції систем у
переважній більшості випадків необхідно здійснювати на по-
чаткових етапах життєвого циклу. Верифікацію та оптиміза-
цію результатів пропонується здійснювати за допомогою ево-
люційного моделювання.
Хід еволюції визначається спадковою змінністю, яка є пе-
редумовою еволюції; боротьбою за існування як контролюю-
чим та направляючим фактором; природним відбором як
перетворюючим фактором. Адаптуючи вказані аксіоми до
проблеми еволюції АССР, зауважимо, що еволюційне моде-
лювання у цьому випадку повністю виправдане, оскільки:
1. Спадкова змінність вказує на можливість АССР створювати
кращий розклад (удосконалювати існуючий розклад), що і
визначає еволюційні передумови.
2. Контролюючим та направляючим фактором еволюції
АССР є виконання заданих обмежень задачі і необхі
дність
розв’язання задач оптимізації.
3. Природний відбір у цьому випадку визначається ефектив-
ністю результату розв’язання задачі.
Виконання наведених трьох умов свідчить про наявність
моделі еволюції.
Об’єктом, що еволюціонує, є сама АССР. Критерієм ево-
люції є ефективність АССР, структурним елементом (розв’яз-
ком) є розклад. Таким чином, ми одержали три складові ево-
люційного моделювання: модель еволюції, об’єкт еволюції і
критерій еволюції.
80
Використання стратегій, принципів, методів і алгоритмів
еволюційного моделювання при розв’язанні оптимізаційних
задач є якісно новим перспективним підходом до створення і
застосування складних штучних систем. Даний підхід дозво-
ляє отримувати ефективні рішення в різних галузях науки і
техніки за прийнятний час і з необхідною якістю.
3.2 Особливості формування структури розв’язку
та початкової популяції
Першим кроком при розробці математичної моделі є роз-
робка структури хромосоми, в якій буде зберігатися потен-
ційний розв’язок. У нашому випадку такою „хромосомою” є
розклад. Структура хромосоми повинна враховувати всі особ-
ливості та обмеження шуканого розв’язку.
Розглянемо будову хромосоми. Хромосома є набором генів
(фрагментів розкладу (ФР)). Хромосома є динамічним маси-
вом, кожним елементом якого є ФР. Один фрагмент в хромо-
сомі – це одне заняття в розкладі. Наш ФР матиме структуру,
що складається з чотирьох частин закодованої інформації:
- перша частина – день тижня;
- друга – номер навчальної пари;
- третя – номер групи, викладача і дисципліни;
- четверта – номер аудиторії.
Розглянемо приклад, де початковими даними для скла-
дання розкладу занять є: 5 днів тижня, 5 пар на день, 20 нав-
чальних груп, 40 викладачів, 80 дисциплін, 100 аудиторій.
Фрагмент розкладу, зазвичай, є бітовим рядком фіксова-
ної довжини, на кодування якого (в нашому випадку) відво-
диться 32 біта, а саме: на кодування першої частини фрагмен-
та відводиться 3 біти (5 днів тижня), другої – 3 біти (5 пар в
день), третьої – 18 біт (20 груп, 40 викладачів, 80 предметів),
четвертої – 7 біт (100 аудиторій). І таких фрагментів буде 500
(5 днів по 5 пар у 20 групах), тобто хромосома матиме 16000
біт. Наприклад, один фрагмент матиме вигляд: 010 011 10010
011000 0101110 1100001.
Якщо проаналізувати описане кодування, то можна поба-
чити ряд недоліків, які, в свою чергу, істотно впливають на
81
швидкість, а іноді й на збіжність алгоритму. По-перше, при
такому кодуванні сусідні числа (цілі представлення) можуть
відрізнятись у значеннях декількох бітів, так, наприклад, чис-
ла 7 (0111) і 8 (1000) у бітовому представленні розрізняються в
4-х позиціях, що ускладнює функціонування генетичного
алгоритму і збільшує час його збіжності. Для того, щоб уник-
нути цієї проблеми можна використовувати кодування, при
якому сусідні числа відрізняються меншою кількістю позицій,
використовуючи код Грея [9], але він також не є універсаль-
ним. По-друге, кодування такого роду призводить до неви-
правданої інформаційної надлишковості. На прикладі це мо-
жна пояснити так: використовуючи вищезгадані вихідні дані,
для кодування першої частини ФР (дня тижня) нам знадо-
биться 3 біти, якими можна закодувати 7 чисел, але даних у
нас менше – 5. Така надлишковість позначається на швидкості
збіжності алгоритму, адже постійно потрібно перевіряти зна-
чення ФР на належність певній множині. По-третє, якщо ви-
никає потреба за значенням «гена» визначити значення від-
повідної йому ознаки, то попередньо закодовану інформацію
розкодовують, щоб отримати числові або нечислові дані для
виведення результатів, на що також витрачається процесор-
ний час.
Тому пропонуємо інший метод представлення ФР: усі
дані, необхідні для складання розкладу, представити у кодо-
ваному десятковому вигляді. Це дещо спростить кодування,
адже, по-перше, не потрібно буде кодувати інформацію не-
числових даних в числові, числові дані в бінарні, бінарні дані
в код Грея, а, по-друге, потім усі ці дії проводити у зворотно-
му порядку.
Початкова інформація про викладачів, групи, заняття та
аудиторний фонд зберігається у таблицях зовнішньої бази
даних і кодується автоматично при введенні. Отже, кодування
частин ФР буде наступним: на кодування першої частини
фрагмента відводиться 1 знак (дні тижня лежать в діапазоні
[1;5]), другої – 1 знак (кількість пар – [1;5]), третьої – 6 знаків
(20 груп, 40 викладачів, 80 предметів – [1..20;1..40;1..80]), чет-
вертої – 3 знаки (аудиторії – [1;100]). При такому кодуванні ФР
82
буде містити в собі 11 знаків, а хромосома складатиметься з
500*11=5500 знаків. Тобто, десяткове кодування дає можли-
вість скоротити наш масив приблизно в 3 рази. Наприклад,
вищезображений ФР в десятковому кодуванні буде таким:
1 3 18 24 46 097,
де 1 – день тижня (понеділок); 3 – номер пари (третя пара);
18 – код номера групи, 24 – порядковий номер викладача, 46 –
номер дисципліни; 097 – номер аудиторії. При розкодуванні
цього ФР частина розкладу буде такою як зображено на рис.
3.1.
Рис. 3.1 – Візуалізація частини розкладу в розкодованому
вигляді
Далі з хромосом формують початкову популяцію. Біоло-
гічна популяція – досить велике співтовариство організмів,
що схрещуються між собою. Популяції характеризуються на-
бором ланцюжків генів кожного з об’єктів – хромосом, сукуп-
ність яких визначає генофонд популяції [138].
Для створення нового покоління з кращими показниками
із сукупності хромосом необхідно вибрати кращі для подаль-
шої репродукції. Сам процес відбору та репродукції хромо-
сом здійснюється так: з поточної популяції випадково вибира-
ється пара хромосом і з них визначається краща (таких хромо-
сом буде значно менше загальної кількості хромосом в попу-
ляції), причому функція відбору вказує на хромосому лише
один раз, що дає можливість замінювати найгірші хромосоми
на кращі в наступній популяції. Щоб отримати нову популя-
цію, відібрані хромосоми попарно схрещують між собою.
Оператори кросоверу характеризуються здатністю до
руйнування (disruption) батьківських хромосом. Кросовер для
83
цілочисельного кодування вважається більш руйнівним, якщо
в результаті його застосування відстань Хеммінга [85] між
хромосомами нащадків і хромосомами батьків велика. Інши-
ми словами, здатність цілочисельного кросоверу до руйну-
вання залежить від того, наскільки сильно він «перемішує»
(рекомбінує) вміст батьківських хромосом. Так, одноточковий
кросовер вважається слабко руйнуючим, а однорідний кросо-
вер у більшості випадків є сильно руйнуючим оператором.
Відповідно, двоточковий кросовер за руйнуючою здатністю
займає проміжну позицію по відношенню до одноточкового і
однорідного кросоверу.
Для кросоверу для дійсного кодування здатність до руй-
нування визначається тим, наскільки великою є відстань в
просторі пошуку між точками, що відповідають хромосомам
батьків і нащадків. Таким чином, руйнуючий ефект двоточ-
кового кросоверу залежить від вмісту батьківських хромосом.
Відзначимо, що одночасно із здатністю до руйнування го-
ворять також про здатність до створення (creation, const-
ruction) кросовером нових індивідів. Тим самим підкреслю-
ється, що, руйнуючи хромосоми батьків, кросовер може ство-
рити абсолютно нові хромосоми, що не зустрічалися раніше в
процесі еволюційного пошуку.
Саме тому в задачі складання розкладів навчальних за-
нять було вибрано однорідний кросовер як оператор схрещу-
вання. Його характеристикою є ще і те, що при більшій руй-
нації структури хромосоми майже відпадає можливість вико-
ристання мутації, принаймні ймовірність виникнення мутації
можна звести до мінімуму.
Наш фрагмент розкладу представлений 4-ма частинами,
кожна з яких – неподільна, але це не заважає нам точки кро-
совер
у розміщувати не за границями фрагментів, а саме між
частинами фрагмента. Отже, в даній задачі використовується
однорідний кросовер [119]: хромосоми розбивають на части-
ни, причому фрагмент теж розбивається на частини, і кожна
ділянка хромосоми першого батька має 50-відсотковий шанс
обмінятися з відповідною ділянкою хромосоми другого бать-
ка. Наприклад:
84
батьки: 2 3 18 24 46 097
5 4 35 98 42 020
нащадки: 5 4 18 24 46 097
2 3 35 98 42 020
Далі представлена схема процедури „Crossover”, що ви-
користовується в еволюційній технології розв’язання задачі
складання розкладів навчальних занять у закладі вищої освіти
(рис. 3.2). Після кросоверу до популяції застосовують опера-
тор мутації.
Застосування еволюційних алгоритмів при розв’язанні за-
дачі складання розкладів пов’язане з необхідністю врахування
«прокляття розмірності», оскільки середньостатистична кіль-
кість груп в середньостатистичному закладі вищої освіти ста-
новить від 50 до 200. Зауважимо, що в таких алгоритмах вико-
нується значна кількість операцій, які не ведуть до знаход-
ження оптимального розв’язку, і їх практичне тестування і
реалізація зіштовхується з проблемами, що пов’язані з часом
виконання.
Скоротити кількість операцій можна, використовуючи
деякі додаткові процедури, що оптимізують процес пошуку
розв’язку. Певним чином вони залежать від типу оператора
мутації.
Зазвичай при реалізації ГА спочатку застосовують опера-
тор схрещування, а потім оператор мутації, хоча можливі й
інші варіанти. Існує судження, що оператор мутації є основ-
ним пошуковим оператором і відомі алгоритми, які не вико-
ристовують інших операторів (кросовер, інверсію тощо), крім
мутації.
Дослідження показали, що в простих задачах, використо-
вуючи ГА з мутацією (і без кросоверу), знаходять розв’язок
швидше. Також для такого методу потрібен менший розмір
популяції. Якщо мають місце складні багатоекстремальні
функції, то краще використовувати ГА з кросовером, оскільки
цей метод більш надійний, хоча і вимагає більшого розміру
популяції.
85
Рис. 3.2 – Схема процедури «Crossover»
86
Використовуючи теорему шаблонів, можна стверджувати,
що мутація лише шкодить зростанню кількості представників
прийнятних шаблонів, оскільки зайвий раз їх руйнує. Однак
мутація просто необхідна для ГА з малим розміром популяції.
Сутність цього твердження в тому, що для нечисленних по-
пуляцій властива передчасна збіжність (premature convergen-
ce). Це та ситуація, коли в деяких позиціях всі індивіди мають
один і той же біт, але такий набір бітів не відповідає глобаль-
ному екстремуму. При цьому кросовер практично не змінює
популяції, тому що всі індивіди є майже однаковими. В цьому
випадку мутація здатна інвертувати «застряглий» біт у одного
з індивідів і знову розширити простір пошуку.
Оператором мутації найчастіше є випадкова і нерівномір-
на мутація Михалевича [27].
При випадковій мутації ген, який підлягає зміні, набуває
випадкового значення з інтервалу своєї області визначення. У
нерівномірній мутації значення випадково вибраного гена
хромосоми або зменшується, або збільшується на деяке зна-
чення
δ
, яке залежить від номера поточного покоління так,
що нащадок задовольняє обмеженням задачі:
*( , ), 0,
( , ), 1,
i ii
i
i ii
c tb c при
cctс a при
δβ
δβ
+− =
=−− =
(3.1)
max
1
(, ) 1 ,
t
ty y r
θ
ε
δ
−
=⋅−
(3.2)
де
β
– випадкове бінарне число,
t
– номер поточного поко-
ління,
i
b
і
i
a
– допустимі права і ліва границі зміни значення
i
-ї змінної,
r
– рівномірно розподілене випадкове число,
max
ε
–
кількість поколінь, параметр
θ
відображає ступінь залежності
від номеру покоління. Функція
(, )ty
δ
повертає значення з
відрізка
[0, ]y
, яке прямує до нуля зі збільшенням номеру по-
точного покоління.
Крім того, якщо протягом досить великого числа поколінь
не відбувається збільшення пристосованості, то застосовують-
ся «мала» і «велика» мутації покоління. При «малій» мутації
87
покоління до всіх індивідів, крім 10% кращих, застосовується
оператор мутації. При «великій» мутації кожен індивід або
мутує, або замінюється на випадково згенерований. Число
поколінь до реалізації «малої» і «великої» мутації під час ро-
боти алгоритму є постійним. Також оператор мутації можна
застосовувати тільки в тому випадку, якщо до даної пари
батьківських індивідів не був застосований оператор схрещу-
вання. Можна вибирати кілька точок в хромосомі для інверсії,
причому їх число також може бути випадковим.
При збільшенні ймовірності мутації і при зменшенні
впливу результатів відбору (наприклад, за рахунок викорис-
тання інших стратегій відбору) розмноження представників
пристосованих індивідів сповільнюється, але зате відбувається
інтенсивний пошук інших індивідів. І навпаки, зменшення
ймовірності мутації і збільшення впливу відбору веде до ін-
тенсивного використання знайдених кращих індивідів, але
тоді менше уваги приділяється пошуку нових [21].
У задачі складання розкладів розв’язком є оптимальний, в
деякому сенсі, варіант розкладу. Оператор мутації призначе-
ний для модифікації одного з таких варіантів. Оскільки по-
чаткові розклади генеруються випадковим чином, то така ге-
нерація не обов’язково буде забезпечувати пошук по всьому
простору розв’язків. Оператор мутації призначений саме для
того, щоб внести в популяцію випадкові розв’язки, які важко
або взагалі неможливо одержати, застосовуючи тільки опера-
тор схрещування.
Ймовірність мутації залежить від самої задачі, але, зазви-
чай, має досить мале значення (від ≈0,001 до ≈0,01 [11, 12]).
Оскільки в результаті мутації генеруються нові розв’язки і
відсутнє внесення хаосу в популяцію, використовуємо ймовір-
ність мутації менше 0,01.
Традиційно використовувалася мутація, що базується на
розігруванні випадкової величини, що має рівномірний роз-
поділ. Результати проведених експериментів вказують на те,
що «рівномірний» вибір фрагмента хромосоми і «рівномірна»
його мутація не спрямовані на скорочення часу пошуку оп-
тимального розв’язку, оскільки однакові шанси для модифі-
88
кації мають як «перспективні», так і «неперспективні» розв’яз-
ки. Причому мутація в перших може призводити до появи
«неперспективних» розв’язків, а в других – до появи «перс-
пективних», що вказує на випадковий ненаправлений харак-
тер пошуку оптимального розв’язку.
Зменшимо кількість «помилкових» кроків алгоритму, ви-
користовуючи замість рівномірного розподілу – нормальний.
Реалізація такого підходу має такі етапи. Спочатку визнача-
ють ділянку потенційних розв’язків, яка є однаковою в кожній
з хромосом і якій відповідає максимальне або близьке до ньо-
го значення функції належності. Нагадаємо, що фенотип цієї
ділянки є дійсним числом, що належить інтервалу, який вка-
зується на початку процесу кодування елементів початкової
вибірки або початкової популяції розв’язків [50, 51]. На нас-
тупному етапі розігрується випадкове число, що має нормаль-
ний розподіл із середнім, що відповідає фенотипу ділянки, і
середньоквадратичним відхиленням, таким, щоб інтервал
( 3, 3)mm
σσ
−+
, де
m
– фенотип відповідної ділянки,
σ
– се-
редньоквадратичне відхилення, збігався з апріорним інтерва-
лом зміни фенотипу. Цей інтервал грає певну роль при роз-
рахунку величини мутації. Відзначимо також, що середньок-
вадратичне відхилення в процесі пошуку розв’язку змінюєть-
ся, а саме, зменшується, що вказує на те, що в міру наближен-
ня до оптимального або квазіоптимального розв’язку ймовір-
ність значних мутацій зменшується. Результати експеримен-
тів вказують на 30-50% скорочення часу пошуку розв’язку в
порівнянні з використанням рівномірного розподілу.
Після реалізації мутації цільова функція перераховується.
Таким чином, помістивши початкову популяцію у створе-
не штучне середовище і реалізувавши процеси селекції, кро-
соверу і мутації, ми одержимо ітераційний алгоритм пошуку
оптимального розв’язку, на кожній ітерації якого виконують-
ся такі дії:
1. Кожен індивід популяції оцінюється за значенням фітнес-
функції.
2. Кращі розв’язки (зазвичай, близько 5%) копіюються у нову
популяцію без зміни. Такий принцип (принцип елітизму)
89
запобігає втраті кращих розв’язків і забезпечує прискоре-
ну збіжність алгоритму.
3. На основі пропорційного відбору з поточної популяції
вибираються два розв’язки, що піддаються рекомбінації.
Для цього хромосоми батьків обмінюються відповідними
ділянками.
4. Отриманий у попередньому пункті розклад може вияви-
тись некоректним. У цьому випадку можна повторювати
операцію рекомбінації доти, поки не буде отриманий ко-
ректний розклад, але краще передбачити евристичні ме-
ханізми виправлення розкладу.
5. Якщо нова популяція сформована, то стара вилучається,
після чого переходимо до п. 1. В іншому випадку перехо-
димо до п. 3.
Розглянутий алгоритм є не лише стійким до локальних мі-
німумів, але й завдяки внутрішньому паралелізму, виражено-
му в роботі не з окремими розв’язками, а з цілими класами
розв’язків, забезпечує відносно швидкий пошук оптимального
розв’язку.
Як один із методів розв’язання задачі складання розкладу
занять використовувався метод послідовного аналізу варіан-
тів.
На основі узагальнення ідей теорії послідовних рішень і
динамічного програмування В.С. Михалевич розробив загаль-
ну схему послідовного аналізу варіантів (ПАВ) [27]. З точки
зору формальної логіки схема ПАВ зводиться до такої послі-
довності повторення процедур:
- розбиття множини варіантів розв’язання задачі на кілька
підмножин, кожна з яких має специфічні властивості;
- використання цих властивостей для пошуку логічних
протиріч в описі окремих підмножин;
- виключення з подальшого розгляду тих підмножин варі-
антів розв’язку, в описі яких є логічні суперечності.
Методика послідовного розвитку, аналізу і відсіву варіан-
тів полягає в такому способі розвитку варіантів і побудови
операторів їх аналізу, які дозволяють відсівати безперспек-
тивні початкові частини варіантів до їх повної побудови.
90
Оскільки при відсіві безперспективних початкових частин
варіантів відсіваються тим самим і всі їхні продовження, то
відбувається значна економія обчислювальних витрат.
На базі цієї загальної схеми В.С. Михалевич і його колеги
розробили цілий ряд алгоритмів послідовного аналізу варіан-
тів, які отримали широке застосування на практиці.
Наближені методи можна розбити на наступні групи: ме-
тоди локальної оптимізації, модифікації точних методів, ев-
ристичні методи, які максимально враховують специфіку
розв’язуваних завдань, методи випадкового пошуку, а також
методи, що поєднують локальну оптимізацію з випадковим
пошуком.
Відзначимо, що багато наближених алгоритмів дозволя-
ють розв’язувати завдання дискретної оптимізації в діалого-
вому режимі. Це дає можливість у залежності від виділених
ресурсів (часу, пам'яті комп'ютера тощо) послідовно покра-
щувати отриманий розв’язок шляхом зміни всіх або деяких
вихідних даних.
Одними з найбільш поширених наближених методів є ме-
тоди локальної оптимізації, що мають на меті відшукання
локально оптимальних розв’язків. Нерідко в цих методах на
певних етапах виконання завдання використовуються методи
випадкового пошуку, а також різні способи (евристики), які
дають можливість скоротити перелік варіантів і максимально
враховують специфіку задачі. Слід зазначити, що алгоритми,
в яких комбінуються різні ідеї, на практиці часто виявляються
найбільш ефективними. З використанням цих методів були
розв’язані численні складні задачі класифікації об’єктів, роз-
міщення, планування і проектування. Основна перевага цих
методів – простота реалізації, а основний недолік це те, що
вони не можуть адаптовуватись до умов розв’язуваної задачі.
Значно більш гнучкими є методи, у яких ймовірнісний закон
залежить від результатів попередніх випробувань і змінюється
від ітерації до ітерації. Це методи випадкового пошуку з нав-
чанням.
Деталізація схеми ПАВ відбувалась у декількох напрям-
ках. З аналізу процесів розв’язання задач лінійної або дерево-
91
видної структури був сформований узагальнений принцип
оптимальності для монотонно рекурсивних функціоналів, на
основі якого можна будувати схему розв’язання, вільну від
деяких обмежень, властивих канонічним процедурам дина-
мічного програмування.
Метод ПАВ базується на відсіві безперспективних елемен-
тів як по обмеженнях, так і по цільовій функції. Його ідеї роз-
глянемо на прикладі такої задачі дискретного програмування
[3]. Потрібно знайти
()
min ( )
xDX
fx
∈
,
(
(3.3)
при обмеженнях
1
( ,..., ) 0, 1,
in
gx x i m≤=
,
, 1,
jj
x Qj n
= =
,
(3.4)
(3.5)
де
1
( ,..., )
j j nj
Qq q=
– задані скінченні множини. Вектор
1
( ,..., )
n
xx x=
назвемо розв’язком, якщо його компоненти
, 1,
jj
x Qj n∈=
.
Множину всіх розв’язків позначимо
Ω
. Розв’язок називається
допустимим, якщо він задовольняє нерівності (3.4). Множину
всіх допустимих розв’язків позначимо через
j
Ω
. Вектор
() 1
( ,..., ),
pn
x x x pn= <
будемо називати частковим розв’язком,
якщо
jj
xQ∈
. Якщо при цьому він може бути добудований до
допустимого розв’язку
11
( ,..., , ,..., )
pp n
x xx x
+
, то будемо називати
його допустимим частковим розв’язком.
Нехай
h
– деяка множина часткових розв’язків. Для будь-
якого впорядкованого набору елімінувальних тестів
01
{ , ,..., }
i
σ ξξ ξ
=
введемо позначення
( 1)
() t
hh
σ
+
=
, (3.6)
де
( 1)
( ) (0)
( 1)
1
, 1, 1,
()
i
i
i
i
h
h it h h
h
ξ
−
−
−
= =+=
. (3.7)
92
Тут через
()
i
h
ξ
позначено множину часткових розв’язків,
які виключаються тестом
i
ξ
. Викладемо загальний алгоритм
методу послідовного аналізу варіантів.
Нехай у результаті
k
кроків отримано множину повних і
часткових розв’язків
0 (0)
( { })
k
hh x=
, яку назвемо списком. З
множини
k
h
за допомогою деякого правила
µ
вибираємо де-
яку підмножину
()
k
h
µ
часткових розв’язків (множина
()
k
h
µ
може складатися і з одного часткового розв’язку). Кожен з
часткових розв’язків
0
() ()
pk
xh
µ
=
замінюємо системою частко-
вих розв’язків виду
00
( ) ( 1) 1 1 1 1
( ) { ( ,..., ) , 1, , }
p p p jj p p
x x x x x x j px Q
β
+ + ++
= = = = ∈
, (3.8)
де оператор
β
реалізує покрокове конструювання часткових
розв’язків. До отриманої множини
1
( ( ))
()
tk
kk
k
h
hh
h
βµ
µ
+
=
(3.9)
застосовуємо набір
σ
елімінувальних тестів, кожен з яких за
певною ознакою здійснює елімінацію (відсів) безперспектив-
них часткових розв’язків з множини
1
t
k
h
+
.
Отже,
k
-й крок методу ПАВ полягає в перетворенні спис-
ку
k
h
за формулами:
1
( ( ))
()
tk
kk
k
h
hh
h
βµ
µ
+
=
, (3.10)
11
()
t
kk
hh
σ
++
=
. (3.11)
У силу скінченності множини розв’язків і присутності в
наборі
σ
тестів
01
,
ξξ
послідовність
01
, ,...hh
збігається за скін-
ченне число кроків до множини оптимальних розв’язків зада-
чі (3.3)-(3.5).
Для розв’язання задачі складання розкладу навчальних
занять за допомогою методу ПАВ замість формули (3.3) вико-
ристовуємо функцію (2.19), а далі слідуємо схемою методу.
93
Застосувавши цей метод для розв’язання задачі скла-
дання розкладу навчальних занять і взявши як цільову фу-
нкцію інтегровану цільову функцію «викладача» і «студен-
та», були отримані такі висновки. Запропонований ітера-
ційний метод дозволяє отримувати точніші розв’язки у по-
рівнянні з класичними ітераційними методами, але при
цьому час розв’язання задачі збільшується в середньому в
1,46 рази. Виходячи з цього, можна стверджувати, що метод
ефективний для розв’язання задач невеликої розмірності,
оскільки при великій розмірності час розв’язання задачі
буде істотно збільшуватись.
3.3 Алгоритмізація еволюційного методу розв’язання
задачі складання розкладу навчальних занять
На етапі генерації розкладу спершу вводяться такі понят-
тя, як: заняття для потоку, заняття для групи та заняття для
підгрупи. Заняттям для потоку вважається лекція, яка прово-
диться одним викладачем з одного предмету на одному курсі,
але для декількох груп. Заняттям для групи вважається занят-
тя, яке проводиться для усіх підгруп певної групи одним вик-
ладачем з одного предмету. Заняття, яке проводиться для
окремої підгрупи вважаються заняттям для підгрупи. На ос-
нові саме цих даних і відбувається генерація розкладу.
Принцип генерації наступний. Спочатку програма з нав-
чального навантаження виділяє заняття для потоків, груп і
підгруп. Далі випадковим чином, рівномірно по днях, але
якомога ближче до першої пари, розміщуються заняття для
потоків, для кожного заняття вибирається приміщення з на-
бору придатних саме для цього типу занять. Потім аналогічно
розміщуються на вільні місця заняття для груп та підгруп.
При цьому враховуються наступні дані: а) кількість годин да-
ного заняття за семестр; б) можливість проведення виклада-
чем даної пари; в) придатність вибраного приміщення для
даного заняття; г) чи є вибране приміщення вільним для да-
ної пари. Алгоритм складання розкладу занять за допомогою
еволюційного моделювання складається з декількох етапів
(рис. 3.3).
94
Так
Ні
Початок
Формування початкової популяції
Оцінка придатності хромосоми
Виконання умов
завершення пошуку
Виведення
результатів
Закінчення
Відбір
Схрещування
Мутація
Рис. 3.3 – Блок-схема роботи еволюційного алгоритму
95
У більшості випадків розклад занять формується диспет-
чером, починаючи із першого курсу, за технологією, схожою
до одного із методів упаковки в контейнери. Визначається
викладач з найвищим пріоритетом і формується розклад його
занять згідно вимог. Далі вибирається наступний викладач
(другий за пріоритетом), для нього формується відповідний
його перевагам розклад, але з урахуванням розкладу занять
першого викла
дача. Аналогічно далі, до тих пір, поки зна
й-
деться викладач, для якого розклад занять не може бути сфор-
мованим на основі задоволення його вимог. Тоді потрібно
переглянути останній розклад, який задовольняв усім вимо-
гам попереднього викладача і здійснити його коригування,
але таким чином, щоб він відповідав і вимогам попереднього
викладача і вимогам останнього викладача. Якщо ж це не вда-
ється, то потрібно коригувати розклад іншого викладача,
який знаходиться вище за ієрархією пріоритетів. Такими є
основні кроки і принципи формування розкладу занять у
ЗВО. Запишемо їх формально у вигляді методу, який має такі
кроки:
Крок 1. Виконати ранжування викладачів за пріоритетами,
тобто
12
....
m
LL L
, якщо
12
....
m
pp p≥ ≥≥
, (3.12)
де
i
L
–
i
-й викладач,
i
p
– його пріоритет,
m
– загальна кіль-
кість викладачів,
1, ,i mm K=�
й існує не менше (
1
K−
)-ї пари
(
1
,
jj
pp
+
), для якої в (3.12) виконується нерівність
1jj
pp
+
>
,
1, 1jm= −
.
Крок 2. Для кожного викладача виконати ранжування його
вимог за індивідуальними перевагами, тобто
12
....
i
n
ii i
VV V
, якщо
12
.... i
n
ii i
qq q
, (3.13)
де
j
i
V
–
j
-а вимога
i
-го викладача,
i
n
– кількість вимог у
i
-го
викладача,
j
i
q
– значення пріоритетності
j
-ї вимоги
i
-го ви-
кладача,
1,im=
.
Крок 3.
1i=
(номер викладача).
96
Крок 4. Поки
im<
виконувати
Крок 4.1.
1l=
.
Крок 4.2. Для
1j=
до
i
n
виконати
Крок 4.2.1. Якщо
j
-а вимога
i
-го викладача виконується,
то
1ll= +
.
Крок 4.3. Якщо
lj=
, то формуємо розклад
i
-го викладача,
1
ii
= +
.
Крок 4.4. Якщо
lj<
, і
1
i
n=
, і
1i=
, то розклад створити не-
можливо (не виконується жодна вимога викладача з найви-
щим пріоритетом – вироджений випадок).
Крок 4.5. Якщо
lj<
, і
1
i
n=
, і
1i>
, то
1
ii= −
.
Крок 4.6. Якщо
lj<
і
1
i
n>
, то
1
ii
nn= −
.
Кроки наведеного методу реалізовуються у припущенні
абсолютної домінантності. Це означає, що вимоги викладача з
вищим пріоритетом будуть коригуватись тоді, коли не вико-
нується жодна із вимог наступного за пріоритетом викладача.
Зауважимо неєдиність такого припущення при складанні роз-
кладів занять.
97
Висновки до третього розділу
У третьому розділі обґрунтовано використання еволюцій-
ного моделювання для розв’язання задачі складання розкладу
навчальних занять. Представлено особливості формування
структури розв’язку та початкової популяції. При застосуван-
ні традиційних методів оптимізації і пошуку, у разі навіть
незначної зміни параметрів середовища, всі обчислення дово-
диться проводити заново. Еволюційний підхід дозволяє про-
водити аналіз і адаптацію вже створеної популяції до нових
умов середовища, чим скорочує час роботи алгоритму і реалі-
зує принцип машинної адаптації та навчання. Запропонова-
ний метод формування фрагмента потенційного розв’язку
дозволяє прискорити обчислювальний процес за рахунок за-
безпечення неперервності одержуваних розв’язків. Зокрема,
якщо буде виявлено, що деякий викладач не може провести
певне заняття з даного предмету, то більш ймовірно, що в пе-
ршу чергу на наступному кроці йому буде запропоновано
змінити форму заняття або предмет.
Проведено аналіз моделей та методів, які могли б бути ви-
користані при розв’язанні задачі складання розкладів занять.
У зв’язку із тим, що частина з них базуються на ітераційній
техніці пошуку оптимальних розв’язків, застосування яких
вимагає виконання повного перебору варіантів, як базис дос-
лідження вибрано еволюційне моделювання, однією із скла-
дових якого є генетичні алгоритми.
Визначено, що серед усіх еволюційних парадигм для
розв’язання задачі теорії розкладів найбільш адекватно вико-
ристовувати генетичні алгоритми.
98
РОЗДІЛ 4. ІНФОРМАЦІЙНО-АНАЛІТИЧНА СИСТЕМА
СКЛАДАННЯ РОЗКЛАДУ ТА ЕКСПЕРИМЕНТАЛЬНА
ВЕРИФІКАЦІЯ
Існує судження, що досвідчений диспетчер зможе скласти
розклад так, що він буде відповідати інтересам освітнього
процесу та суспільного життя закладу освіти. Однак з цим не
можна погодитись. Ручне розв’язання задачі складання розк-
ладу занять вимагає великих витрат часу, кваліфікованих фа-
хівців, і, як результат, одержаний розв’язок часто є далеко не
оптимальним.
Після введення початкової інформації потрібно її узгоди-
ти, у той час, як неможливість отримання необхідного розк-
ладу може бути визначена ще на етапі аналізу. Під час скла-
дання розкладу можливе виникнення безвихідних ситуацій.
Все це вимагає зміни вихідних даних та спрощення обме-
жень, і тут без людини не обійтися. Без внесення даних змін
розклад не матиме практичної цінності. Також слід врахувати
той момент, що розклад може змінюватися і під час його ви-
користання, тобто після складання, і тут є важливим людсь-
кий фактор. У цьому плані використовується підтримка дано-
го процесу автоматизованими методами і процедурами.
Основна перевага полягає в тому, що автоматизоване
складання усуває масу рутинної роботи, такої як: пошук мож-
ливих варіантів внесення чергових елементів в розклад, пере-
вірку виконання вимог, пошук випадкових помилок в готово-
му розкладі, оформлення розкладу на папері у вигляді різних
таблиць (для викладачів, груп), залишаючи людині більше
часу на більш інтелектуальні дії.
Комп’ютер у даному випадку також є інструментом, що
істотно посилює здібності людини, оскільки вона не в змозі
перебрати і проаналізувати таку ж кількість варіантів розкла-
дів як комп’ютер за фіксований час.
99
4.1. Особливості подання вхідної інформації та
структура інформаційно-аналітичної системи
складання розкладу занять
Перш ніж розпочати роботу над створенням автоматизо-
ваної системи складання розкладу занять, методом опитуван-
ня 110 студентів було визначено їх переваги. Це необхідно для
того, щоб адаптувати майбутній розклад до потреб студентів.
Отже, найважливішими для себе перевагами студенти визна-
чили:
− номер вільного дня тижня (якщо навантаження дозволяє);
− розподіл пар по днях.
У процентному співвідношенні вказані переваги були роз-
поділені таким чином (табл. 4.1 і табл. 4.2).
Таблиця 4.1
Відсоткове співвідношення вільності дня тижня
Кількість
студентів /
Дні
тижня
9 28 12 13 11 10 9 9 9
пн 0 10 10 5 2 5 5 20 0
вт 0 10 5 5 1 0 5 0 0
ср 0 10 5 5 1 0 5 0 0
чт 0 10 10 15 1 20 5 0 5
пт 100 60 70 70 95 75 80 80 95
За результатами, наведеними в таблиці, можна зробити
висновок про те, що найбільша кількість студентів (25,5%)
вважають, що пари повинні бути рівномірно розподілені в
понеділок, вівторок, середу та четвер. П’ятницю потрібно за-
лишити вільним днем.
Для визначення бажаного розподілу пар по днях студен-
там було запропоновано 4 можливих варіанти (табл. 4.2).
100
Таблиця 4.2
Відсоткове співвідношення розподілу пар по днях
Кіл-ть
студ. /
Варіант
розпо-
ділу пар
по днях
23 9 10 10 11 12 9 10 8 8
3-1-1-1-1 20 40 10 10 0 15 0 5 10 10
2-2-2-1-0
80
40
90
75
50
60
95
55
70
60
0-1-2-2-2 0 10 0 5 50 20 5 30 10 20
1-1-1-1-3
0
10
0
10
0
5
0
10
10
10
Отже, з табл. 4.2
видно, що найбільш вдалим (на думку
студентів) є такий розподіл пар: понеділок, вівторок, середа –
по 2 пари, четвер – 1 пара, п’ятниця – вільний день.
Вся необхідна для розв’язання поставленої задачі інформа-
ція задається до початку ітерацій генетичного алгоритму
розв’язання ЗСР. Для спрощення вважається, що задана інфо-
рмація є постійною протягом усього періоду, для якого скла-
дається розклад.
‘Не втрачаючи певного ступеня загальності поставленої за-
дачі, можна визначити деяку сукупність вхідних даних, необ-
хідних для формування обмежень і розв’язання задачі, і в той
же час загальних для всіх різновидів практичних реалізацій
системи. Через специфіку поставленої задачі (можливість по-
рівняно легкої адаптації математичної моделі для випадку
практичної реалізації в рамках конкретного ЗВО) форми до-
кументів вхідної інформації не розроблялись. Реквізити вхід-
ної інформації описані в табл. 4.3.
Для того, щоб розпочати автоматизоване складання розк-
ладу навчальних занять на першому етапі, необхідно запов-
нити базу даних. Для цього диспетчеру необхідно мати таку
інформацію:
101
Таблиця 4.3
Реквізити вхідної інформації
Найменування
реквізитів
вхідних документів
Характеристика реквізитів
Тип
Максимальна
довжина
Прізвище, ім’я, по
батькові викладача
текст. 30
Посада, вчений сту-
пінь, звання
текст. 20
Коефіцієнт статусу
викладача
числ. 1/1
Назва групи текст. 10
Чисельний склад
групи
числ. 2
Назва дисципліни текст. 50
Кількість годин
числ.
2
Номери аудиторій текст. 10
Інформація про ау-
диторії (тип)
текст. 10
Семестр числ. 2
Корпус
числ.
1
Місткість аудиторії числ. 3
− перелік аудиторного фонду із зазначенням місткості ауди-
торій і належність до факультету/кафедри;
− навчальний план;
− навантаження викладачів;
− спеціалізацію, посади і переваги викладачів;
− розклад дзвінків.
Програмний модуль для диспетчера та схема взаємодії йо-
го складових показана на рис. 4.1. Така організація програми
дозволяє оперативно вносити зміни в необхідних таб-
лицях.
102
4.2 Структура бази даних
База даних – це сукупність структурованих і взаємозалеж-
них даних і методів, що забезпечують додавання у вибірку і
відображення даних. З поняттям бази даних тісно пов’язане
поняття системи управління базою даних (БД). Це комплекс
програмних засобів, призначених для створення структури
нової бази, наповнення її змістом, редагування цього змісту і
візуалізації інформації. Під візуалізацією інформації бази ро-
зуміємо відбір відображуваних даних відповідно до заданого
критерію, їх упорядкування, оформлення і наступна видача
на пристрій виведення або передача по каналах зв’язку.
Вихідні дані доцільно зберігати в зовнішній БД у зручно-
му форматі для заповнення і представлення. Це дозволить
підключити модуль складання розкладу занять до складнішої
системи управління ОП в університеті. Але в роботі алгорит-
му використання такого формату неприйнятне через малу
швидкість доступу до таких даних та їх структури, що не від-
повідає внутрішнім структурам алгоритму. Перед початком
роботи алгоритму необхідно трансформувати зовнішні дані у
внутрішній формат, а після закінчення – виконати зворотну
трансформацію. Тому, насамперед, визначимось зі способом
організації даних або моделлю даних.
Модель даних (МД) – це сукупність угод про способи і за-
соби формалізованого опису об’єктів та їх зв’язків, що мають
відношення до автоматизації процесів системи. Вид МД і типи
структур даних відбивають концепцію організації й обробки
даних, які підтримує модель.
У рамках розв’язання поставленої задачі необхідно ство-
рити таку МД, при якій обсяг допоміжної інформації був би
мінімальним, існувала принципова можливість багатокорис-
тувальницького доступу до даних і був би забезпечений висо-
кий рівень захисту даних.
103
Диспетчер
Введення і
редагування
базових
таблиць БД
Введення і
редагування
навантаження
Складання
розкладу
Таблиці БД
Введення
обмежень
БД розкладу
Відображення
для
диспетчера
Розрахунок
розкладу
Введення
Редагування
Видалення
Обробка
інформації
Перевірка
коректності
даних
Рис. 4.1 – Структурна схема взаємодії модулів програми
104
У даний час існує три основних підходи до формування
МД: ієрархічний, мережний і реляційний.
Ієрархічна база даних (ІБД) складається з упорядкованого
набору „дерев”; більш точно – з упорядкованого набору де-
кількох екземплярів одного типу „дерева” (рис. 4.2). Тип
„дерева” складається з одного „кореневого” типу запису й
упорядкованого набору з нуля чи більше типів „піддерев”
(кожне з яких є деяким типом „дерева”). Тип „дерева” в ці-
лому є ієрархічно організованим набором типів запису.
Корпуси
Факультети
Кафедри
ЗВО
Спеціальності (ОП)
Дисципліни
Аудиторії
Рис. 4.2 – Ієрархічний спосіб організації даних
Мережний підхід до організації даних є розширенням
ієрархічного. В ієрархічних структурах запис-нащадок пови-
нен мати в точності одного предка, у мережній структурі да-
них нащадок може мати будь-яке число предків.
Мережна база даних (МБД) складається з набору записів і
набору зв’язків між цими записами, а якщо говорити більш
точно, з набору екземплярів кожного типу із заданого у схемі
БД набору типів запису і набору екземплярів кожного типу з
заданого набору типів зв’язку (рис. 4.3).
105
Дисципліни
Викладачі
Аудиторії
Дисципліни
Рис. 4.3 – Мережний спосіб організації даних
Тип зв’язку визначаєтьс
я для двох типів запису: предка і
нащадка. Екземпляр типу зв’язку складається з одного екземп-
ляра типу запису предка й упорядкованого набору екземпля-
рів типу запису нащадка.
Основними недоліками ієрархічного і мережного типів
БД є:
− занадто складно користуватись;
− фактично необхідні знання про фізичну організацію;
− прикладні системи залежать від цієї організації;
− їх логіка перевантажена деталями організації доступу до БД.
Недоліки ієрархічної і мережної БД привели до появи но-
вої, реляційної моделі даних (РМД), створеної Р. Коддом у
1970 році, що викликала загальний інтерес. РМД була спро-
бою спростити структуру БД. У ній були відсутні прямі поси-
лання на предків і нащадків, а всі дані були представлені у
вигляді простих таблиць, розбитих на рядки і стовпчики.
У перших реляційних СУБД не були реалізовані деякі з
ключових частин моделі Р. Кодда і цей недолік був усунений
тільки згодом. У міру росту популярності реляційної кон-
цепції реляційними стали називатись багато БД, які у дійсно-
сті такими не були.
У відповідь на неправильне використання терміну „реля-
ційний” Р. Кодд у 1985 році написав статті, де сформулював
12 правил, яким повинна задовольняти будь-яка БД, що пре-
тендує на звання реляційної. З того часу дванадцять правил
106
Кодда вважаються визначенням реляційної СУБД. Однак мо-
жна сформулювати і більш просте визначення:
Реляційною називається БД, у якій всі дані, доступні к
о-
ристувачу, організовані у вигляді таблиць, а всі операції над
даними зводяться до операцій над цими таблицями. Таке ви-
значення не залишає місця вбудова
ним показникам, що є в
ієрархічних і мережних СУБД. Незважаючи на це, реляційна
СУБД також здатна реалізувати відношення предок-нащадок,
однак ці відношення представлені винятково значеннями
даних, що містяться в таблицях.
Найбільш розповсюджене трактування РМД, очевидно,
належить К. Дейту [64], що відтворює її (з різними уточнен-
нями) практично у всіх своїх книгах. Згідно К. Дейту РМД
складається з трьох частин, що описують різні аспекти реля-
ційного підходу: структурної частини, маніпуляційної части-
ни і цілісної частини.
У структурній частині моделі фіксується, що єдиною
структурою даних, що використовується в РБД, є нормалізо-
ване n-арне відношення.
У маніпуляційній частині моделі затверджуються два
фундаментальних механізми маніпулювання РБД – реляцій-
на алгебра і реляційне числення. Перший механізм базується
в основному на класичній теорії множин (з деякими уточнен-
нями), а другий – на класичному логічному апараті числення
предикатів першого порядку. Основною функцією маніпуля-
ційної частини реляційної моделі є забезпечення міри реля-
ційності будь-якої конкретної мови РБД: мова називається
реляційною, якщо вона має не меншу виразність і потужність,
ніж реляційна алгебра чи реляційне числення.
Нарешті, у цілісній частині РМД фіксуються дві базові
вимоги цілісності, що повинні підтримуватися в будь-якій
реляційній СУБД. Перша вимога називається вимогою ціліс-
ності сутностей. Друга вимога називається вимогою цілісності
за посиланнями.
Після попереднього аналізу математичної моделі системи
і способів організації даних, а також наявного на ринку ПЗ
(ієрархічний і мережний способи організації припускають
107
об’єктно-орієнтований підхід до організації даних і на сьогод-
нішній день є такі СУБД (наприклад, Jasmіn чи Informix
Dynamic Server), але на момент розробки можливості їх вико-
ристання не було, у той же час існують дуже „могутні” реля-
ційні СУБД, тому вибір був зроблений на користь реляційно-
го способу організації збереження даних.
Проведемо аналіз початкової інформації з метою визна-
чення складу і структури даних для подальшої формалізації і
побудови інформаційно-логічної моделі (ІЛМД). Описана в
розділі 2 математична модель, а також додаткові відомості з
опису предметної області дозволяють визначити роль рекві-
зитів у взаємозв’язаній інформації, що міститься в документі.
На основі такого аналізу встановимо функціональні залежно-
сті реквізитів відповідно до рекомендацій і вимог нормалізації
даних, після чого проведемо саму нормалізацію. Мета норма-
лізації полягає в тому, щоб зменшити (але необов’язково усу-
нути) надмірність даних. Проте іноді деяка надмірність даних
створюється навмисно, щоб підвищити ефективність роботи
програми. Дамо визначення трьох форм нормалізації БД.
Таблиця знаходиться в першій нормальній формі (1NF),
якщо вона має первинний ключ, всі атрибути є простими ти-
пами даних і відсутні атрибути, що повторюються. Щоб від-
повідати 1NF, домени атрибутів повинні бути атомарними
значеннями і не повинно бути груп атрибутів, що повторю-
ються. Усі групи атрибутів, що повторюються, повинні бути
перенесені в нову таблицю.
Таблиця знаходиться в другій нормальній формі (2NF)
тоді, коли вона знаходиться в першій нормальній формі і ко-
жен неключовий атрибут повністю функціонально залежить
від первинного ключа (тобто, у 2NF кожен неключовий атри-
бут повинен повністю залежати від полів первинного ключа).
Таблиця знаходиться в третій нормальній формі (3NF),
якщо вона знаходиться в 2NF і не містить транзитивних за-
лежностей. Транзитивні залежності – це функціональні зале-
жності між неключовими атрибутами. Будь-який неключовий
атрибут, який функціонально залежить від іншого неключо-
108
вого атрибуту тієї ж таблиці, створює транзитивну залежність
і повинен бути переміщений в іншу таблицю.
Відповідні функціональні залежності досить тривіальні та
очевидно слідують з математичної моделі, тому в подальшому
описі вони не наводяться. Також в подальшому викладі опус-
каються проміжні ступені нормалізації. Тому наведемо лише
остаточну інфологічну модель БД (рис. 4.4).
Рисунок 4.4 – Інфологічна модель бази даних «Розклад»
База даних включає в себе такий перелік таблиць: групи,
викладачі, дисципліни, зв’язок дисциплін з викладачами,
групи, потоки, аудиторний фонд, тип аудиторії.
Розглянемо структуру бази даних, виходячи з якої форму-
ється розклад. База даних
1
DB
складається з чотирьох основ-
них таблиць, тобто
1 1234
,,,DB T T T T=<>
, (4.1)
109
де
1
T
– база навчальних дисциплін,
2
T
– база викладачів,
3
T
–
база груп,
4
T
– база аудиторій. У свою чергу
1 1 111 1 1
, , , , , ,...
dgk Pl
T TTTTTT
Λ
=<>
, (4.2)
де
1d
T
– назва дисципліни,
1g
T
– курс, на якому вивчається дис-
ципліна,
1k
T
– група, в якій вивчається дисципліна,
1
T
Λ
– кіль-
кість лекційних годин з цієї дисципліни,
1p
T
– кількість годин
практичних занять,
1l
T
– кількість годин лабораторних робіт
тощо;
11
1
2 2 222 2 2 2 2 2 2 2
, , , , , , , ,..., , ,
ip kp
л l k kl
dd
d dd d
d
vsz p
T TTTTT T T T T T T
Λ
=<>
, (4.2)
де
2v
T
– прізвище, ім’я, по батькові викладача,
2s
T
– його науко-
вий ступінь,
2z
T
– вчене звання,
2p
T
– посада викладача,
2i
d
T
–
назва
i
-ї навчальної дисципліни, яку має читати цей викла-
дач,
2iл
d
T
– кількість лекційних годин з
i
-ї навчальної дисцип-
ліни,
2ip
d
T
– кількість годин практичних занять з
i
-ї навчальної
дисципліни,
2
il
d
T
– кількість годин лабораторних робіт з
i
-ї
навчальної дисципліни,
1, v
iw=
;
3 33
,
g ks
T TT=<>
, (4.3)
де
3g
T
– назва (шифр) групи,
3ks
T
– кількість студентів в цій групі;
4 4 44
,,
a t km
T TTT=<>
, (4.4)
де
4a
T
– назва (номер) аудиторії,
4
t
T
– тип аудиторії,
4km
T
– кіль-
кість місць в цій аудиторії.
Моделі (4.1)-(4.4) носять теоретико-множинний характер і
використовуються для початкового змістовного уявлення про
об’єкти і суб’єкти освітнього процесу. Очевидно, що викорис-
товувати інформацію з
1
DB
у такому вигляді, як вона там за-
писана, неможливо. Саме тому, згідно певних законів (фор-
мул) дані з
1
DB
кодуються і формується база даних
2
DB
, де усі
дані мають числовий характер.
110
Дамо визначення розкладу занять у ЗВО, яке не претендує
на повноту, але містить переважну більшість його атрибутів.
Розкладом (
Sh
) будемо вважати таблицю даних із кортежами
,, , , ,, ,Sh Day Year Group Room Course Type Lecturer Time=<>
, (4.5)
де
Day
– день проведення занять,
Year
– курс, на якому навча-
ються студенти,
Group
– шифр групи студентів,
Room
– ауди-
торія, в якій відбувається навчання,
Course
– навчальна дис-
ципліна (предмет),
Type
– тип заняття (лекція, семінар, прак-
тичне заняття, консультація, іспит тощо),
Lecturer
– прізвище,
ім’я, по батькові викладача,
Time
– номер пари. Для того, щоб
мати можливість проводити подальшу обробку даних, необ-
хідно здійснити перетворення даних із різних форматів до
формату натуральних чисел. Матимуть місце такі відобра-
ження:
: , {1,2,...,6}; 6;
m
Day String Integer D→=
: , {1,2,..., 200}; 6;
m
Year Integer Integer Y→=
: ,{1,2,...,200}; 200;
m
Group String Integer G→=
: , {1,2,..., 300}; 300;
m
Room Integer Integer R→=
: , {1, 2,...,1000}; 1000;
m
Course String Integer C→=
: ,{1,2,...,7}; 7;
m
Type String Integer Ty→=
: , {1,2,..., 200}; 200;
m
Lecturer String Integer L→=
: , {1,2,..., 6}; 6.
m
Time Integer Integer Ti→=
Вище вказано, яких значень набуватимуть атрибути (4.5).
Справа позначені константи – їх максимальні значення, які
записані для попереднього орієнтування. Для кожного ЗВО
такі значення будуть різними. Загальна можлива кількість
розкладів визначається формулою
Sh m m m m m m m m
N D Y G R C Ty L Ti= ⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅
. (4.6)
Якщо в (4.6) підставити значення-орієнтири, то кількість
розкладів складе
1440000000000
Sh
N=
. Очевидно, що оціню-
вання за цільовою функцією (2.8) такої кількості розкладів є
надто тривалим. Але на практиці потрібно оцінювати меншу
їх кількість.
111
Яким же чином можна скоротити і зменшити кількість
можливих варіантів? Один із шляхів (на першому етапі):
– припустити, що в лекційних аудиторіях проводяться ви-
ключно лекції, в аудиторіях для семінарських занять – се-
мінари, в лабораторіях – лабораторні роботи тощо;
– навчальні дисципліни асоціювати з викладачами.
Такі спрощуючі припущення не завжди і не у повному об-
сязі можуть спрацювати, зокрема:
– не обов’язково семінари проводяться в спеціальних ауди-
торіях, вони можуть відбуватись і в лекційних аудиторіях
або лабораторіях;
– лекції може вести один викладач, а практичні заняття чи
лабораторні роботи – інший;
– на лабораторні роботи група може ділитись на підгрупи.
Для оптимізації процесу формування розкладу здійснимо
такі кроки.
1. Виконаємо об’єднання кортежів
Course
,
Lecturer
і
Type
,
тобто в одному атрибуті буде зосереджена інформація про
навчальну дисципліну (її назву), викладача (ПІП) та тип за-
няття, яке він проводить. Новий атрибут позначимо
INCLT
.
Має місце відображення
,, ,Course Lecturer Type INCLT< >→
(4.7)
: , {1,2,..., 7000},INCLT Srting String String Integer××→
7000
m
I=
.
Максимальне значення атрибуту
INCLT
є 7000, яке пояс-
нюється тим, що кількість викладачів дорівнює 200, кожен з
яких може вести заняття не більше ніж з 5 навчальних дисци-
плін, кожна з яких має не більше 7 форм занять. Очевидно,
що
m
I
взято для значень-орієнтирів з надлишком. З ураху-
ванням (4.7) кількість можливих розкладів складає 90 720 000
000, що майже в 16 раз менше, ніж у попередньому варіанті.
2. Вважаємо, що базовими документами для формування
розкладу є навчальний план, який має вигляд таблиці бази
даних з такими кортежами:
, , , , Pr, ,Lp Course Sem Ex Le La Nw=<>
, (4.8)
112
де
Sem
– номер семестру, в якому викладається навчальна ди-
сципліна
Course
;
Ex
– екзамен або залік;
Le
– кількість лекцій-
них годин з курсу
Course
в семестрі
Sem
;
Pr
– відповідна кіль-
кість практичних занять;
La
– кількість годин на лабораторні
заняття;
Nw
– кількість тижнів у семестрі
Sem
, і документ,
який визначає навчальне навантаження викладачів та містить
кортежі
Pr
, , , ,,,,,
Le La Co K
Np Lecturer Course Year Group N N N N N=<>
, (4.9)
де
Pr
,,, ,
Le La Co K
NNN NN
– кількість годин, відведених на лекції,
практичні заняття, лабораторні роботи, консультації, іспит
або залік, відповідно, з дисципліни
Course
в групі
Group
.
3. У першому наближенні вважатимемо, що на лабораторні
роботи група не ділиться на підгрупи, але така можл
ивість
може бути передбачена.
Таким чином, розклад (4.5) з урахуванням вищенаведено-
го набуде вигляду таблиці
*
,, , , ,Sh Day Year Group Room INCLT Time=<>
(4.10)
і його формування буде здійснюватись у результаті реалізації
перетворення
*
Lp Np Sh×→
(4.11)
за умови виконання обмежень (2.2).
Оскільки визначення структури потенційного розв’язку
задачі формування розкладу має велике значення для оптимі-
зації обчислювального процесу, то зауважимо, що перетво-
рення тріади <Викладач-Предмет-Форма_заняття> в ціле чи-
сло повинне здійснюватися за деяким алгоритмом. Наведемо
його особливості. На першому етапі виписуємо всі форми
занять з однієї дисципліни певного викладача. Далі, те ж саме
для іншої дисципліни, але того ж викладача. На наступному
кроці виписуємо дисципліни і форми заняття іншого викла-
дача тощо. Відзначимо, що викладачі впорядковані за посада-
ми, ступенями і званнями. Якщо зазначені атрибути збігають-
ся, то викладачі виписуються за алфавітом. Після отримання
113
списку у вказаному форматі виконуємо кодування, так, що
першому запису відповідатиме 1, а останньому – 800000.
У другому варіанті у вузлах решітки можуть бути кодовані
тільки предмети і форми занять, оскільки за першими двома
атрибутами і базою даних можна однозначно встановити ви-
кладача. Однак цей процес може бути більш ресурсоємким,
що належить встановити додатково.
Запропонований метод формування фрагмента потенцій-
ного розв’язку дозволить прискорити обчислювальний про-
цес шляхом забезпечення безперервності одержуваних
розв’язків. Зокрема, якщо буде виявлено, що деякий викладач
не може провести певне заняття з даної дисципліни, то більш
ймовірно, що в першу чергу на наступному кроці йому буде
запропоновано змінити форму заняття або дисципліну.
Одночасно з побудовою паралелепіпеда розкладу раціона-
льно будувати ще один паралелепіпед такої ж розмірності, але
у вузлах решітки якого знаходитимуться одиниці, які вказують,
що в такий-то день на такій-то парі для групи студентів в ауди-
торії проходить заняття і нуль, якщо там заняття немає. Такий
паралелепіпед необхідний для прискорення процесу побудови
потенційних розв’язків-розкладів і перевірки їх адекватності, а
також для обчислення значень цільової функції.
4.3. Принципи функціонування автоматизованої
системи та експериментальна верифікація одержаних
результатів
В основі функціонування автоматизованої системи лежить
розробка оптимального алгоритму для складання розкладу і
використання його в системі. Довідники бази даних системи
будуть заповнюватись диспетчером, також після закінчення
формування розкладу існуватиме можливість його зміни
вручну. Постійними новими даними для системи буде нав-
чальне навантаження, яке і є основним ключем при форму-
ванні розкладу. Система матиме можливість для редагування,
додавання і видалення всіх передбачених даних, також систе-
ма повинна бути багатокористувацькою з різними рівнями
доступу.
114
Під час практичної реалізації системи особлива увага
звертається на задачу написання “ядра” системи – методам
розв’язання задачі. Оскільки не ставиться задача написання
повнофункціонального комерційного продукту, інтерфейсна
частина виконана для цілей тестування ядра і визначення
меж застосовності алгоритмів, тому включає мінімум функці-
ональних можливостей. Методи розв’язання задачі складання
розкладу написані з використанням об’єктно-орієнтованих
технологій, що дозволить в майбутньому легко інкапсулювати
їх в подальші модифікації системи, не порушуючи цілісності
взаємодії різних алгоритмів.
Початкові дані задачі заносяться в таблиці БД за допомо-
гою форм. Одна з таких форм наведена на рис. 4.5.
Рисунок 4.5 – Форма для внесення початкових даних
Остаточний розклад занять виводиться у вигляді таблиці,
приклад якої наведений на рис. 4.6. Алгоритм розв’язання
задачі тестувався на різних вибірках вихідних даних. Як тес-
тові початкові дані використані реальні дані про групи, вик-
ладачів і предмети денної форми навчання одного із універ-
ситетів України, та випадково сформовані початкові дані
115
(дисциплінам випадковим чином призначали аудиторії для
проведення занять).
Для визначення ефективності й доцільності розроблених
моделей, методів і цільових функцій, а також актуальності
створеної автоматизованої системи, проведено розрахунки на
створених автоматично і «вручну» розкладах занять. Дослід-
ження проводились на розкладах для факультету інформа-
ційних технологій і систем, створених на різних вибірках по-
чаткових даних: для різних семестрів (осінній, весняний), для
різних навчальних років. Результати порівняльної характери-
стики значень цільових функцій для різних початкових даних
наведені в табл. 4.4.
Рис. 4.6 – Приклад розкладу занять
Розрахунок значень цільових функцій, отриманих при
автоматичному та «ручному» методах створення розкладу
навчальних занять, показав, що ефективність розроблених
моделей та методів на 5-9% є вищою у порівнянні з методом
«ручного» складання розкладу занять у ЗВО.
116
Таблиця 4.4
Значення цільової функції (ЦФ) для різних вибірок
початкових даних
Спосіб
створен-
ня розк-
ладу
Осінній
семестр
минулого
н.р.
(76 виклада-
чів, 43 гру-
пи, 49 ауди-
торій)
Весняний
семестр ми-
нулого
н.р.
(75 виклада-
чів, 43 гру-
пи, 46 ауди-
торій)
Осінній
семестр
нинішньо-
го н.р.
(74 викла-
дачі, 45
груп, 49
аудиторій)
Весняний
семестр
нинішньо-
го н.р.
(74 викла-
дачі, 45
груп, 47
аудиторій)
вручну 643,4 488,5 604,7 543,4
автома-
тично
682,3 521,4 663,1 571,2
Віднос-
ний при-
ріст ЦФ у
відсотках
≈5,7% ≈6,3% ≈8,8% ≈4,9%
Крім дослідження оптимальності автоматично складеного
розкладу занять, проведено дослідження залежності часу
розв’язання задачі складання оптимального розкладу від роз-
мірності задачі. В середньому, проводилось від 5 до 10 тестів
для кожної розмірності початкових даних. У результаті отри-
мано дані, наведені в табл. 4.5.
На рис. 4.7 зображений графік залежності середнього часу
розв’язання задачі від розмірності задачі (кількості пар на ти-
ждень і кількості груп).
Як видно, модифікований метод спрямованої оптимізації
з використанням штрафної функції в порівнянні з генетич-
ним алгоритмом дає 28-31% приросту швидкості знаходження
розв’язку за рахунок направленості пошуку оптимуму.
Таким чином, вибір засобів створення автоматизованої си-
стеми складання розкладу занять є обґрунтованим, представ-
лено структурний та функціональний опис автоматизованої
системи складання розкладу.
117
Здійснено опис та аналіз проведених експериментів на
різних початкових вибірках, який показав доцільність вико-
ристання модифікованого методу спрямованої оптимізації з
використанням штрафної функції в порівнянні з ГА з штра-
фами.
Таблиця 4.5
Залежність часу розв’язання задачі складання розкладу
від розмірності задачі (де * – задача не розв’язана через
перевищення заданого періоду часу (60 хв))
Розмірність задачі –
(кількість пар) ∙ (кіль-
кість груп) ∙ (кіль
кість
днів тижня)
Час розв’язання (хв.)
max
(ГА)
min
(ГА)
серед-
ній
(ГА)
max
(МСО)
min
(МСО)
серед-
ній
(МСО)
50 0,8 0,05 0,24
0,6
0,04
0,30
250 3,2 0,9 1,96
2,3
0,6
1,48
450 5,4 2,1 3,5
3,6
1,5
2,57
650 12 3,1 5,8
9
2,2
5,53
850 14 5,2 7,6
10
3,5
6,71
1050 25 10 14,05
16,5
7,3
11,9
1250 39 14,5 18,1
27,7
9,7
18,72
1450 46 19 26,5
32
12,9
22,33
1650 51 25 32
34,7
17,3
25,97
1850 * 30 *
52
21,9
36,95
2050 * 37 *
58
26,3
42,14
118
Рисунок 4.7 – Часова динаміка процесу розв’язання задачі
119
Висновки до четвертого розділу
У четвертому розділі представлено основні концепти ро-
зробки ІАС для складання розкладу навчальних занять та ви-
конано верифікацію розроблених моделей та методу. Зокре-
ма, показано, яким чином мають бути сформовані вихідні
дані, а саме, переваги студентів при визначенні вільних днів
на тижні, розподіл пар по днях. Також сформовано пул даних,
які визначають жорсткі обмеження.
Розроблено структуру бази даних включно із метаданими;
показано, які модулі мають функціонувати в ІАС та зображе-
на схемі їх взаємодії. Виконано аналіз та вибрано спосіб орга-
нізації бази даних. Показано, які таблиці входять до складу
бази даних. Дано визначення розкладу в термінах концептів
бази даних.
Встановлені додаткові евристики, які дозволяють зменши-
ти кількість можливих варіантів розкладу для розгляду. Роз-
роблено логіку інтерфейсу ІАС, проведені численні експери-
менти. Їх результати засвідчили переваги пропонованої тех-
нології, також проведено дослідження часу розв’язання задачі
від її розмірності.
120
ВИСНОВКИ
У монографії розглянута задача підвищення ефективності
функціонування закладу вищої освіти шляхом розробки мо-
делей і методів формування розкладу навчальних занять, зо-
крема:
Проведений аналіз принципів, моделей, методів та ін-
струментальних засобів свідчить про домінування механісти-
чного підходу до формування розкладу занять у закладах ви-
щої освіти з мінімальним урахуванням вимог суб’єктів освіт-
нього процесу.
Виконано формалізовану постановку та розв’язано задачу
складання розкладу занять з урахуванням вимог викладачів і
студентів та штрафів за їх невиконання, що дозволило здійс-
нювати порівняльний аналіз ефективності розкладів навчаль-
них занять як ступеня задоволення таких вимог.
Побудовано математичні моделі, в яких диференційовано
враховано вагові коефіцієнти студентів та викладачів, а також
пріоритетність вимог студентських груп та індивідуальні пе-
реваги викладачів, оптимізація ступеня задоволення яких і
визначає процес формування оптимізованого розкладу за-
нять.
Сформовано структуру потенційних розв’язків задачі
складання розкладів та їх подання у вигляді вузлів решітки
прямокутного паралелепіпеда, що дозволило зменшити кіль-
кість таких розв’язків. Їх генерація здійснюється з урахуван-
ням «жорстких» обмежень, а нові розв’язки отримують шля-
хом варіації можливих варіантів, що залишились, з урахуван-
ням їх перевірки на суперечливість. Це дозволяє скоротити
час пошуку оптимізованого розкладу на 28-31%.
Розроблено інтегральний матрично-еволюційний метод
оптимізації цільової функції задачі складання розкладів, си-
нергетичний ефект використання якого досягається через
скорочення розмірності задачі та спрямований пошук опти-
мального значення складної негладкої поліекстремальної за-
121
лежності, які дозволяють визначати ефективність розкладу як
ступінь задоволення вимог студентів і викладачів.
Результати експериментальної верифікації свідчать про
те, що запропоновані моделі та метод не дозволяють гаранту-
вати отримання оптимального розв’язку, вони спрямовані на
пошук розкладів, ефективність яких можна порівняти і, від-
повідно, вибрати найкращий з них. У порівнянні з методом
«ручного» складання розкладу занять у закладі вищої освіти
застосування запропонованої технології дозволяє одержати
розклад, який на 5-9% є ефективнішим.
122
ЛІТЕРАТУРА
1. A study of control parameters affecting online performance of
genetic algorithm for function optimisation/ J. D. Schaffler,
R.A. Caruana, L.J. Escheman, R. Das // Proc. of the Third Int.
Conf. on Genetic Algorithms and their Applications. – San
Mateo, CA: Morgan Kaufmann Publishers, 1989. – P. 51-60.
2.
Agin N. Optimum Seeking with Branch and Bound / N.
Agin // Management Science. – 1966. – № 4. – Pp. 176-185.
3. Aloulou M.A. Evaluation Flexible Solutions in Single Machine
Scheduling via Objective Function Maximization: the Study of
Computational Complexity / M.A. Aloulou, M.Y. Kovalyov,
M.-C. Portmann // RAIRO Oper. Res. – 2007. – №41. – P. 1-18.
4. Balas E.A. Note on the Branch-and-Bound Principle / E.
Balas // Operations Research. – 1968. – №2. – P. 442-444.
5. Baptiste Ph. Constraint-based scheduling: applying constraint
programming to scheduling problems/ Ph. Baptiste, C. Le
Pape, W. Nuijten. – Kluwer Academic Publishers, 2001.– 198 p.
6. Bellman R. Mathematical aspects of scheduling theory / R.
Bellman // Journal of the Society of Industrial and Applied
Mathematics. – 1956. – Vol. 4. – P. 168-205.
7. Bradshaw's Railway Time Tables and Assistant to Railway
Travelling, 1839
8. Brooks G.N. An algorithm for finding optimal or near –
optimal solutions to the production scheduling problem
[Text] / G.N. Brooks, C.R. White // J. Ind. Eng. – 1965. –
Vol. 16. – №1. – P. 34-40.
9. Brucker P. Resource-constrained project scheduling: Notation,
classification, models, and methods / [P. Brucker, A. Drexl, R.
Möhring, K. Neumann] // Europian J. Oper. Res. – 1999. –
Vol. 112. – №1. – P. 3-41.
10. Burke E.K. A University Timetabling System Based on Graph
Colouring and Constraint Manipulation / E.K. Burke, D.G. El-
liman, R.F. Weare // Journal of Research on Computing in
Education. – 1993. – № 28 – P. 46-62.
11. Egwali A.O. Synthesis-Algo: An Inclusive Timetable Generat-
ing Algorithm / A.O. Egwali, F.A. Imouokhome// African
123
Journal of Computing & ICT. – 2012. – Vol. 5. – №4. – Р. 92-
100.
12. Gafarov E.R. On Lower and Upper Bounds for the Resource-
Constrained Project Scheduling Problem / E.R. Gafarov, A.A.
Lazarev, F. Werner // Otto-von-Guericke-Universitat Mag-
deburg. – 2010. – 27 p. (Preprint 8/10, FMA, Otto-von-
Guericke-Universitat Magdeburg).
13. Gröbner M. A General View on Timetabling Problems / M.
Gröbner, P. Wilke. // Proc. of the 4th Int. Conf. on the Prac-
tice and Theory of Automated Timetabling. – 2002. – P. 234–
241.
14. Irizarry R. LARES: An Artificial Chemical Process Approach
for Optimization / R. Irizarry // Evolutionary Computa-
tion.– Vol. 12. – № 4 (2004). – P. 435-459.
15. Jian Ni. Genetic Algorithm and its Application in Scheduling
System / Jian Ni, Ning-Ning Yang // Telekomnika. – 2013. –
Vol. 11. – № 14. – Р.1934-1939.
16. Karaboga D. A comparative study of Artificial Bee Colony
algorithm / D. Karaboga, B. Akay // Applied Mathematics
and Computation. – 2009. – № 214. – P. 108-132.
17. Mastrolilli M. Efficient Approximation Schemes for Schedul-
ing Problems with Release Dates and Delivery Times/ M.
Mastrolilli // J. of Scheduling. – 2003. – V. 6. – №6. – P. 521-
531.
18. Merkle D. Ant Colony Optimization for Resource-
Constrainted Project Scheduling / D. Merkle, M. Midden-
dorf, H. Schmeck// IEEE Transactions on Evolutionary
Computation. – 2002. – Vol. 6. – №4. – P. 333-346.
19. Muller T. Some Novel Approaches to Lecture Timetabling /
T. Muller // In Proc. of the 4-th Workshop of Constraint Pro-
gramming for Decision and Control “CPDC’2002”. – Gliwice.
– 2002. – P. 352-369.
20. Odim O.M. On the Fitness Measure of Genetic Algorithm for
Generating Institutional Lecture Timetable / O.M. Odim,
B.O. Oguntunde, O.O. Alli // Journal of Emerging Trends in
Computing and Information Since. – 2013. – Vol. 4 – № 4. –
pp. 436-444.
124
21. Sipko O.M. Aspects of formulation of the objective function
in the problem of scheduling in higher educational institu-
tions based on subjective preferences / Sipko O.M., Snytyuk
V.Ye. // Nauka i Studia. – Polska, Przemyśl: Sp. z o.o. «Nau-
ka i studia». – 2014. – № 15 (125). – P. 49-51.
22. Stamatopoulos P. Nearly Optimum Timetable Construction
Through CLP and Intelligent Search / P. Stamatopoulos, E.
Viglas, S. Karaboyas// International Journal on Artificial In-
telligence Tools. – Vol. 7. – №.4. – 1998. – P. 58-71.
stp.diit.edu.ua/article/download/17545/15284
23. Syswerda G. Uniform crossover in genetic algorithms / G.
Syswerda // Proceedings of the Third International Confe-
rence on Genetic Algorithms. – San Mateo, CA: Morgan
Kaufmann Publishers, 1989. – P. 2-9.
24. Thompson J. Variants of simulated annealing for the examina-
tion timetabling problem / J. Thompson // Annals of Opera-
tional Research. – 1996. – № 63. – P. 142-156.
25. Walford E. Somers Town and Euston Square / E. Walford //
Old and New London: Volume 5. – 1878. – P. 340-355.
26. Zadeh L. Fuzzy sets // Information and Control. – 1965. –
№8. – P. 338-353.
27. Ануфрієв М.І. Вищий заклад освіти МВС України: Науко-
во-практичний посібник / М.І. Ануфрієв, О.М. Бандурка,
О.Н. Ярмиш. – Харків: Ун-т внутр. справ, 1999. – 369 с.
28. Астахова И.Ф. Cоставление расписания учебных занятий
на основе генетического алгоритма / И.Ф. Астахова, А.М.
Фирас // Вестник ВГУ, серия: Системный анализ и и
н-
формационные технологии. – 2013. – № 2. – С. 93-99.
29. Балтак С.В. Построение расписаний учебных занятий на
основе раскраски вершин графа / С. В. Балтак, Ю. Н. Сот-
сков // Информатика. Объединенный институт проблем
информатики НАН Беларуси. – 2006. – № 3(11). – С. 56-69.
30. Бевз С.В. Розробка автоматизованої системи формування
розкладу магістратури / [С.В. Бевз, В.В. Войтко, С.М. Бур-
бело, А.М. Шоботенко] // Наукові праці ВНТУ. – Вінни-
ця. – Вип.1. – 2009. – С. 1-10.
125
31. Безгинов А.Н. Обзор существующих методов составления
рас писаний / А.Н. Безгинов, С.Ю. Трегубов // Инфор-
мационные технологии и программирование. Межвузов-
ский сборник статей. – 2005. – №2 (14). – С. 5-18.
32. Беллман Р. Принятие решений в расплывчатых услови-
ях / Р. Беллман, Л. Заде // Вопросы анализа и процедуры
принятия решений. – М.: Мир. – 1976. – С.172-215.
33. Береговых Ю.В. Алгоритм составления расписания заня-
тий / Ю.В. Береговых, Б.А. Васильев, Н.А. Володин // Ис-
кусственный интеллект. – 2009. – № 2. – С. 50-56.
34. Берзин Е.А. Оптимальное распределение ресурсов и
элементы синтеза систем / Е.А. Берзин. – М.: Сов.радио,
1974. – 304 с.
35. Бойко О.М. Еволюційна технологія розв’язування задачі
складання розкладів навчальних занять / О.М. Бойко //
Искусственный интеллект. – 2006. – №3. – С. 341-348.
36. Бойко О.М. Еволюційна технологія складання розкладу
занять у ЗВО [Текст] / О.М. Бойко // Збірник праць Чет-
вертої Міжн. наук.-практ. конф. студентів, аспірантів та
молодих вчених “Шевченківська весна”. – Київ, 2006 р. –
C. 34.
37. Вишнякова И.Н. Моделирование и автоматизация состав-
ления расписания учебных занятий ВУЗов [Електронний
ресурс] / И.Н. Вишнякова, С.Ю Разумов. Режим доступа:
stp.diit.edu.ua/article/download/17545/15284
38. Волькенштейн М.В. Энтропия и информация / М.В.
Волькенштейн. – М.: Наука, 1986. – 192 с.
39. Воронков Ю.В. Организация электронного расписания с
использованием Microsoft Excel и VBA / Ю.В. Воронков//
Современные наукоемкие технологии. – 2009. – №11. –
С.64-68.
40. Гаврилова Т.А. Базы знаний интеллектуальных систем /
Т.А. Гаврилова, В.Ф. Хорошевский. − СПб.: Питер, 2000. −
384 с.
41. Глибовец Н.Н. Генетические алгоритмы и их использова-
ние для решения задач составления расписания / Н.Н.
126
Глибовец, С.А. Медвидь // Кибернетика и системный
анализ. – 2003. – № 1. – С. 95-108.
42. Годлевський М.Д. Розробка та налаштування паралель-
них генетичних алгоритмів для розв’язання задачі ство-
рення розкладу занять вузу на основі GRID-системи /
М.Д. Годлевський, О.О. Абабілов // Сборник научных
трудов "Вестник НТУ "ХПИ": Системний аналіз, управ-
ління та інформаційні технології, № 67. – Вестник НТУ
"ХПИ". – 2010. – С. 17-23.
43. Гурин Л.С. Задачи и методы оптимального распределе-
ния ресурсов / Л.С. Гурин, Я.С. Дымарский, А.Д. Мерку-
лов. – М.: Сов. радио, 1968. – 464 с.
44. Дейт К. Введение в системы баз данных / К. Дейт. – М.:
Наука, 1980. – 348 с.
45. Емельянов В.В. Теория и практика эволюционного моде-
лирования / В.В. Емельянов, В.В. Курейчик, В.М. Курей-
чик. – М.: ФИЗМАТЛИТ, 2003. – 432 с.
46. Єльникова О.В. Вимірювання рівня інформатизації на-
вчального закладу [Електронний ресурс] / О.В. Єльнико-
ва // Народна Освіта: Електронне наукове фахове видан-
ня АПН України. – Випуск 2(5). – 2008. // Режим доступу:
http://www.narodnaosvita.kiev.ua/vupysku/5/statti/4elni
kova.htm
47. Жалдак М. І. Основи теорії і методів оптимізації: Навча-
льний посібник / М. І. Жалдак, Ю. В. Триус. – Черкаси:
Брама-Україна, 2005. – С. 485-499.
48. Інформаційно-аналітична система управління навчаль-
ним процесом ЗВО / Ю.В. Триус, І.В. Стеценко, І.В. Гера-
сименко, В.Г. Гриценко // Інформаційні технології в осві-
ті: Збірник наукових праць. Випуск 9.– Херсон: Видавниц-
тво ХДУ, 2011. – С. 39-48.
49. Караковский В.А. Программы для составления школьного
расписания: возможности и опыт применения / В.А. Ка-
раковский, О.Л. Матусевич // XV Межд. конф. ”Приме-
нение нових технологий в образовании”. – Троицк. –
2004. – С. 376-380.
127
50. Кисляков А.В. Генетические алгоритмы: операции скре-
щивания и мутации / А.В. Кисляков // Информацион-
ные технологии. – 2001. – № 1. – С. 29-34.
51. Клеванский Н.Н. Формирование оптимального расписа-
ния занятий ВУЗ’а и средства его визуализации / Н.Н.
Клеванский, С.А. Костин // Материалы XV Межд. конф.
«Применение новых технологий в образовании». – Тро-
ицк: «Байтик», 2004. – С. 380-382.
52. Конвей Р.В. Теория расписаний / Р.В. Конвей, В.Л. Макс-
вел, Л.В. Миллер. – М.: Наука, 1975. – 360 с.
53. Корнеев В.В. Базы данных. Интеллектуальная обработка
информации / В.В. Корнеев, А.Ф. Гареев, С.В. Васютин,
В.В. Райх. – М.: “Нолидж”, 2000. – 352 с.
54. Коффман Э.Г. Теория расписаний и вычислительные
машины / Э.Г. Коффман. – М.: Наука, 1984. – 335 с.
55. Лагоша Б.А. Комплекс моделей и методов оптимизации
расписания занятий в вузе / Б.А. Лагоша, А.В. Петропав-
ловская // Экономика и математические методы. – 1993. –
№ 4. – С. 48-56.
56. Леонова М.В. Моделювання задач складання розкладу за-
нять у ЗВО: огляд та різні підходи до розв’язування / М.
Леонова // Вісник Запорізького національного універси-
тету. – 2013. – № 1. – С. 52-59.
57. Люгер Ф.Дж. Искусственный интеллект. Стратегии и
методы решения сложных проблем / Ф.Дж. Люгер. − М.:
“Вильямс”, 2003. − 864 с.
58. Мак-Вильямс Ф.Дж. Теория кодов, исправляющих ошиб-
ки: Пер. с англ. / Ф.Дж. Мак-Вильямс, Н. Дж. А. Слоэн. –
М.: Связь, 1979. – 744с.
59. Мельник О. О. Одноетапні задачі теорії розкладів у бага-
торівневій системі планування [Текст]: автореф. дис. на
здобуття наук. ступеня канд. техн. наук: спец. 05.13.06
«Інформаційні технології» / Олена Олексіївна Мельник,
Національний університет «Львівська політехніка». –
Львів, 2013. – 26 с.
60. Мельников А.Ю. Автоматизированное составление рас-
писания занятий в высшем учебном заведении / А.Ю.
128
Мельников, М. Сусяк // Современные проблемы инфор-
матизации в информационных системах и телекоммуни-
кациях: Сборник трудов. – 2006. – №11. – С. 344–345.
61. Метод декомпозиций для решения комбинаторных задач
упорядочения и распределения ресурсов / [Д.И. Батищев,
Э.Д. Гурман, И.П. Норенков, М.Х. Прилуцький // Ин-
формационные технологии. – 1997. – №1. – С. 29-33.
62. Митюшкин Ю.И. Soft Computing: идентификация зако-
номерностей нечеткими базами знаний / Ю.И. Митюш-
кин, Б.И. Мокин, А.П. Ротштейн. – Вінниця: УНІВЕРСУМ-
Вінниця, 2002. – 145 с.
63. Павлов А.А. Метод группового учёта аргументов и анали-
за иерархий (МГУАиАИ) в задачах принятия решений /
А.А. Павлов, А.А. Иванова, Р.А. Зигура. // Вісник НТУУ
«КПІ». Інформатика, управління та обчислювальна техні-
ка. – К.: ВЕК+. – 2007. – №47. – C. 207-216.
64. Плотнинский Ю.М. Математическое моделирование ди-
намики социальных процессов: Учебное пособие / Ю.М.
Плотнинский. – М.: МГУ, 1992. – 133 с.
65. Попов Ю.Д. Методи оптимізації [Електронний ресурс] /
Ю.Д. Попов, В.І. Тюптя, В.І. Шевченко. – К.: Ел. вид. ел.
бібл. фак-ту кібернетики КНУ ім. Т. Шевченка, 2003. – 215
с. – Режим доступу:
http://cyb.univ.kiev.ua/library/books/popov-30.pdf.
66. Потьомкін М.М. Удосконалення методу оптимізації роєм
часток та його застосування для розв’язання сепарабель-
них задач нелінійного програмування [Електронний ре-
сурс] / М. М. Потьомкін // Матеріали шостої Всеукр. на-
ук.-практ. інтернет-конференції "Україна наукова" (21-23
грудня 2009 р.), Ч.6. – К.: ТОВ "ТК Меганом", 2009. – С. 48-
50.
67. Потьомкін М. М. Класифікація методів еволюційного
моделювання [Електронний ресурс] / М. М. Потьомкін //
Матер. шостої Всеукр. наук.-практ. інтернет-конф. «Нау-
ковий потенціал України 2010» (22-24 березня 2010 р.), Ч.
3. – К.: ТОВ "ТК Меганом", 2010. – С. 33-38.
129
68. Потьомкін М. М. Шляхи підвищення ефективності ево-
люційних методів оптимізації [Електронний ресурс] /
М. М. Потьомкін // Матер. шостої Всеукр. наук.-практ.
інтернет-конф. "Українська наука ХХІ століття" (16-18 че-
рвня 2010 р.), Ч. 4. – К.: ТОВ "ТК Меганом", 2010. – С. 42-47.
– Режим доступу до журн.: http://intkonf.org/kandidat-
tehnichnih-nauk-potomkin-mm-shlyahi-pidvischennya-
efektivnosti-evolyutsiynih-metodiv-optimizatsiyi/.
69. Прилуцкий М.Х. Многокритериальное распределение
однородного ресурса в иерархических системах / М.Х.
Прилуцкий // Автоматика и телемеханика. – 1996. – №2.–
С. 24-29.
70. Прилуцкий М.Х. Распределение и упорядочение работ в
многостадийных системах / М.Х. Прилуцький, Д.В. По-
пов // Межвузовский тематический сборник научных
трудов ВГАВТ: Моделирование и оптимизация сложных
систем. – 1999. – С. 123-130.
71. Karaboga D. A Comparative Study of Artificial Bee Colony
Algorithm //D. Karaboga, B. Akay. /Applied Mathematics
and Computation. ‒ 2009. ‒ № 214. ‒ 108-132 pp.
72. Разумов Ю.А. Спеціалізована модель задачі про призна-
чення для складання розкладу занять вищих навчальних
закладів [Електронний ресурс] / Ю.А. Разумов. Режим до-
ступу: http://stp.diit.edu.ua/article/viewFile/14094/11909.
73. Ризун Н.О. Применение методов декомпозиции при ре-
шении многокритериальной задачи автоматизации сос-
тавления расписания учебных занятий в вузе / Н.О. Ри-
зун // Восточно-Европейский журнал передовых техно-
логий. – 2010. – №2/4 (44). – С. 59-70.
74. Романченко І.С. Еволюційні методи оптимізації та їх
використання у військовій галузі досліджень: монографія
[Текст] / І.С. Романченко, С.Л. Борисюк, М.М. Потьомкін
// Центр. НДІ Збройних Сил України. – Житомир: Рута,
2015. – 127 с.: рис., табл. – Бібліогр.: с. 118-127.
75. Ротштейн А.П. Интеллектуальные технологии идентифи-
кации: нечеткая логика, генетические алгоритмы, ней-
130
ронные сети / А.П. Ротштейн. − Винница: УНИВЕРСУМ-
Винница, 1999. − 320 с.
76. Рубальская О.Н. Автоматизированные системы составле-
ния учебных расписаний / О.Н. Рубальская. – М.:
НИИВО. – 2001. – 68 с.
77. Рубин А.Б. Биофизика: В 2-
х кн.: Учеб. для биол. спец.
вузов. Кн. 1. Теоретическая биофизика / А.Б. Рубин. – М.:
Высш. шк., 1987. – 319 с.
78. Рутковская Д. Нейронные сети, генетические алго-
ритмы и нечёткие системы: Пер. с польск. И.Д. Ру-
динского / Д. Рутковская, М. Пилинский, Л. Рутков-
ский. − М. : Горячая линия – Телеком, 2006.
79. Саад Алла Ібрагім. Паралельна реалізація генетичних
алгоритмів для задач теорії розкладів, заданих на перес-
тановках [Текст]: автореф. дис. на здобуття наук. ступе-
ня канд. техн. наук: спец. 01.05.02 «Математичне моделю-
вання та обчислювальні методи»/ Саад Алла Ібрагім; Ха-
рків. нац. ун-т радіо-електрон. – Х ., 2007. – 20 c.
80. Саати Т. Принятие решений. Метод анализа иерархий /
Т.Саати. – М.: Радио и связь,1993. – 278 с.
81. Севастьянов С.В. Геометрические методы и эффективные
алгоритмы в теории расписаний [Текст]: дис. … доктора
физ.-мат. наук: 01.01.09 / Сергей Васильевич Севастья-
нов. – Новосибирск, 2000. – 283 с.
82. Сипко Е.Н. Метод последовательного анализа вариантов
решения задачи составления расписания занятий / Е.Н.
Сипко // Искусственный интеллект. – Донецк, 2011. –
№ 1. – С. 243-250.
83. Сипко Е.Н. Оператор мутации в еволюционной техноло-
гии решения задачи составления расписаний / Е.Н. Сип-
ко //International Book Series, Information Science And
Computing, Book 7 Artificial Intelligence and Decision
Making. – Varna, 2008. – P. 111-116.
84. Сіпко Е.Н. Случайная мутация в задаче составления рас-
писания учебных занятий / Е.Н. Сіпко // Матеріали
Міжн. наук.-техн. конф. “SAIT 2010”. – Київ, 2010. – С. 315.
131
85. Сироджа И.Б. Нечеткий дедуктивный вывод в системе
квантов знаний для поддержки принятия решений в
условиях – неопределенности / И.Б. Сироджа, С.В. Россо-
ха // Открытые информационные и компьютерные ин-
тегрированные технологии. – 2006. – Вып. 30. – С. 50-56.
86. Сіпко О.М. Аналіз методів рекомбінації в еволюційній
технології розв’язання задачі складання розкладів навча-
льних занять / О.М. Сіпко // Матеріали ІV Міжн. наук.-
техн. конф. “Комп’ютерні науки та інформаційні техно-
логії”. – Львів, 2009. – C. 72.
87. Сіпко О.М. Аналіз результатів та перспективи застосуван-
ня еволюційного алгоритму розв’язання задачі складання
розкладів / О.М. Сіпко // Матеріали VІ Всеукр. конф.
молодих науковців «Інформаційні технології в освіті, на-
уці і техніці». – Черкаси: ЧНУ, 2008. – C. 42.
88. Сіпко О.М. Аспекти еволюційної технології для визна-
чення області компромісу між значеннями цільових фун-
кцій „викладача” і „студента” у задачі складання розкла-
дів / О.М. Сіпко // Матеріали VІІІ-ї Міжн. конф. „Інтеле-
ктуальний аналіз інформації”. – Київ, 2007. – С. 128.
89. Сіпко О.М. Вибір типу кросоверу в еволюційній техноло-
гії розв’язання задачі складання розкладів навчальних за-
нять / О.М. Сіпко // Матеріали ХVI Всеукр. наук. конфе-
ренції „Сучасні проблеми прикладної математики та ін-
форматики ”. – Львів, 2009. – С. 193.
90. Сіпко О.М. Визначення статусу суб’єктів навчального
процесу на основі аналізу ієрархій / О.М. Сіпко // Мате-
ріали Першої Міжн. наук.-техн. конф. «Обчислювальний
інтелект – 2011 (результати, проблеми, перспективи)». –
Черкаси, 2011. – С. 240.
91. Сіпко О.М. Врахування вимог студентів і викладачів в
задачі складання розкладу занять / Сіпко О.М., О.В. Ко-
тик // VІІ Міжн. школа-семінар «Теорія прийняття рі-
шень»: праці школи-семінару, 29 вересня – 4 жовтня 2014
р. – Ужгород: УжНУ, 2014. – С. 236.
92. Сіпко О.М. Груповий та індивідуальний підходи для
визначення вимог суб’єктів навчального процесу / О.М.
132
Сіпко // Матеріали Другої Міжн. наук.-техн. конф. “Об-
числювальний інтелект-2013”. – Черкаси, 2013. – С. 241.
93. Сіпко О.М. Імплементація цільової функції задачі скла-
дання розкладів в метод послідовного аналізу варіантів /
О.М. Сіпко // Матеріали V Міжн. школи-семінару «Тео-
рія прийняття рішень». – Ужгород, 2010. – С. 205.
94. Сіпко О.М. Метод послідовного аналізу варіантів розв’я-
зання задачі складання розкладу навчальних занять /
О.М. Сіпко // Праці VІ Міжн. школи-семінару «Теорія
прийняття рішень». – Ужгород, 2012. – С. 177-178.
95. Сіпко О.М. Методи обробки нечітко заданих початкових
даних в задачі складання розкладу занять / О.М. Сіпко //
Матеріали Міжн. наук.-практ. конф. «Інформаційні тех-
нології в освіті, науці і техніці». – Черкаси, 2012. – С. 63.
96. Сіпко О.М. Порівняльний аналіз операторів мутації в
оптимізаційних задачах [Текст] / О.М. Сіпко // Матеріа-
ли VІ Всеукраїнської конференції молодих науковців
ІТОНТ-2010. – Черкаси, 2010. – С. 51.
97. Снитюк В.Е. Аспекты эволюционного моделирования в
задачах оптимизации / В.Е. Снитюк // Искусственный
интеллект. – № 4. – 2005. – С. 284-291.
98. Снитюк В.Е. Об особенностях формирования целевой
функции и ограничений в задаче составления расписа-
ния занятий / В.Е Снитюк., Е.Н. Сипко // Математичні
машини і системи. – 2014. – № 3. – С. 88 – 95.
99. Снитюк В.Е. Программирование жизненного цикла сло-
жных систем в условиях неопределенности / В.Е. Сни-
тюк // Искусственный интеллект. − 2007. − № 4. − С. 562-
567.
100. Снитюк В.Е. Штрафные функции в задаче составления
расписания занятий / В.Е. Снитюк, Е.Н. Сипко // Мате-
матичні машини і системи. – 2015. – № 3. – С. 158-164.
101. Снитюк В.Є. Аспекти формування цільової функції в
задачі складання розкладу занять у ЗВО / В.Є. Снитюк,
О.М.Сіпко // Матеріали Дев’ятої Міжн. наук.-практ.
конф. «Математичне та імітаційне моделювання систем.
(МОДС – 2014)». – Київ-Жукін, 2014. – С. 349-353.
133
102. Снитюк В.Є. Еволюційний метод розв’язання задачі скла-
дання розкладу занять з використанням функції
штрафу / В.Є. Снитюк, О.М. Сіпко // Матеріали ІІ Міжн.
конф. «Інформаційні технології та взаємодії», КНУ імені
Тараса Шевченка. – Київ, 2015. – С. 109-111.
103. Снитюк В.Є. Формування цiльової функцiї в задачi скла-
дання розкладу занять у ЗВО на основi суб’єктивних пе-
реваг / В.Є. Снитюк, О.М. Сіпко // Матеріали 16-ї Міжн.
конф. System Analysis and Information Technologies (SAIT
2014). – Київ, 2014. – С. 263-264.
104. Соуса Ф. Полностью эвристическое расписание занятий,
управляемое пожеланиями студентов / Ф. Соуса, А. Ал-
вес // Наукові праці ВНТУ. – 2009. – № 2. – С. 1–4.
105. Субботин С.А. Метод оптимизации на основе моделиро-
вания перемещения бактерий с применением эволюци-
онных операторов / С.А. Субботин, А.А. Олейник // Би-
оника интеллекта. – № 2 (69). – 2008. – С. 137-144.
106. Субботін С.О. Неітеративні, еволюційні та мультиагентні
методи синтезу нечіткологічних і нейромережних моде-
лей / С.О. Субботін, А.О. Олійник, О.О. Олійник. – Запо-
ріжжя: ЗНТУ, 2009. – 375 с.
107. Taha H.A. Operations research. An introduction / H.A. Ta-
ha. ‒ Pearson education limited, 2017. ‒ 849 p.
108. Сычёв Е.В. Организационно-технический подход к соста-
влению расписания учебных занятий в ВУЗе / Е. В. С
ы-
чёв. // Современные наукоемкие технологии. – 2009. –
№11. – С. 87–89.
109. Томашевський В.М. Складання розкладів занять у дистан-
ційних системах навчання / В.М. Томашевський, Ю.Л.
Новіков, П.А. Камінська // Вісник НТУУ КПІ. – К.: ВЕК+
(Серія Інформатика, управління та обчислювальна техні-
ка). – Вип. 52. – 2011. – С. 118-130.
110. Wasserman P.D. Neural Computing: Theory and Practice /
Van Nostrand Reinhold, 1989. ‒ 230 p.
111. Чорний О.П. Формування графіка процесу навчання фа-
хівців інженерних спеціальностей [Електронний ресурс]/
О.П. Чорний, Ю.В. Лашко, Т.П. Коваль // Інженерні та
134
освітні технології в електротехнічних і комп’ютерних сис-
темах. – 2013. – №4. – Режим доступу до журналу:
http://eetecs.kdu.edu.ua.
112. Шостак И.В. Автоматизация процесса составления распи-
сания занятий на основе тензорного исчисления в учеб-
ном комплексе / И.В. Шостак, К.Э. Яновская, C.В. Россо-
ха // Авиационно-космическая техника и технология. –
2012. – № 9 (96). – C. 263-266.
113. Штовба С.Д. Муравьиные алгоритмы / С.Д. Штовба //
Exponenta Pro. Математика в приложениях. – 2003. – № 4.–
С. 70-75.
135
Науково-практичне видання
Віктор Євгенович Снитюк
Олена Миколаївна Сіпко
Технологія еволюційного
формування розкладів
у закладах вищої освіти
Монографія
Керівник видавничих проєктів Ю.В. Піча
Підписано до друку 19.01.2022 р.
Формат 60х84/16. Папір офсетний
Друк цифровий. Гарнітура Book Antiqua
Ум. друк. арк. 9,5. Обл.-вид. арк 9,8
Видавець ФО-П Піча Ю.В.
04080, Київ, вул. Новокостянтинівська, 1В
Свідоцтво
про внесення суб’єкта видавничої справи до
Державного реєстру видавців,
виготівників і розповсюджувачів
видавничої продукції:
ДК №822 від 27.02.2002 р.
Тел. (044) 592-39-36