дмету на одному курсі, но для декількох груп. Заняття для групи вважається заняття, Яку проводитися для усіх підгруп певної групи одним викладачем з одного предмету. Заняття, Яку проводитися для окремої підгрупі вважаються занятть для підгрупі. На Основі самє ціх даніх и відбувається генерація Розкладу. Зовнішній вигляд ОСНОВНОЇ форми програми наведено на рис.3.2 виділений пункт "Генеруваті" головного меню приводити в дію алгоритм генерації Розкладу.
В
Рис. 3. 2. Основна форма програми
Принцип генерації Наступний. Спочатку програма з навчального НАВАНТАЖЕННЯ віділяє заняття для потоків, груп и підгруп. Далі Випадкове чином, рівномірно по днях, альо якомога Ближче до першої парі, розміщуються заняття для потоків, для шкірного заняття вібірається приміщення з набору Придатний самє для цього заняття. Потім так саме розміщуються на Вільні місця заняття для груп та підгруп. При цьом враховуються наступні дані: а) Кількість годин даного заняття за семестр; б) можлівість проведення викладачем даної парі; в) Придатність Вибраного приміщення для даного заняття; г) чі є Вибране приміщення вільним для даної парі.
В
Рис. 3.3. Блок-схема алгоритмом генерації Розкладу.
Во время генерації працює процедура, яка випадкове чином міняє місцямі Робочі тижні Деяк пар у 50% пар Розкладу. Це дозволяє ще на стадії генерації мінімізуваті кількість можливіть вікон для студентов та більш компактно розмістіті усі види зайняти. Блок-схему алгоритмом генерації Розкладу наведено на рис.3.3 Блоки 2 і 3 аналогічні за Будова до блоку 1. Відмінність Полягає у вікорістанні змінніх Y и Z вместо змінної X, а такоже кількостей груп и підгруп відповідно вместо кількості потоків. Згадані блоки містять алгоритми размещения зайняти для потоків, груп и підгруп. Величини X, Y и Z є параметрами програми, что могут буті змінені користувачем и означаються, відповідно, кількості СПРОБА вставки у розклад потоків, груп и підгруп. За замовчуванням ці Величини встановлюються рівнімі 200. p> Алгоритм оптімізації Розкладу .
Програма дозволяє Проводити оптімізацію Розкладу в автоматичності режімі, тоб без втручання користувача. Вигляд форми, что відображає процес оптімізації Розкладу, наведено на рис.3.4.
В
Рис. 3.4. Вигляд форми, что відображає процес оптімізації Розкладу
В основу оптімізації покладено принцип генетичних алгорітмів. Цею принцип Полягає у застосуванні основних Принципів природної еволюції Головна до математичної МОДЕЛІ задачі. Основними ПЕРЕВАГА таких алгорітмів є: можлівість! Застосування до Вирішення широкого кола й достатньо складаний завдань, де Другие тіпі алгорітмів неефектівні; знаходження розв'язку, близького до оптимального, за порівняно Невеликий годину; простота корекції умів оптімізації; можлівість контролю процеса оптімізації.
Згідно з принципами генетичних алгорітмів на качану оптімізації відбувається початкова ініціалізація, тоб генерація певної популяції хромосом, что Складається з N особин. Кожна хромосома є допустимим, альо не оптимальні розв'язком задачі складання Розкладу - тоб Кожна хромосома є ПЄВНЄВ Расписание. Далі для кожної хромосоми популяції Розраховується цільова, або фітнес-функція, яка є мірою оптімальності даної хромосоми. Потім до популяції застосовуються Такі генетичні оператори, як схрещування (кросовер), мутація та вибір (селекція) хромосом. У результаті формується Нове покоління (популяція), яка з великою імовірністю містіть більш оптимальних представніків, чем попереднє. Генетичні оператори повторюються до Виконання умови Закінчення оптімізації, после чего з последнего Покоління вібірається найкращий представник, конвертується у розклад и вважається розв'язком поставленої задачі. Цею розв'язок НЕ є оптимальним, альо близьким до оптимального. Отриманий розклад Відображається на головній ФОРМІ програми у вігляді табліці. ВІН может змінюватісь користувачем в ручному режімі, такоже может буті Збереження у файл для подальшої роботи або експортованій у Microsoft Excel у вігляді, Придатний для друку та Використання. Програма такоже дозволяє експортуваті в Microsoft Word часткові Расписание для Навчальних груп та окрем вікладачів у вігляді, ЗРУЧНИЙ для друку.
В
Рис. 3.5. Блок-схема алгоритмом оптімізації Розкладу
Блок-схему алгоритмом оптімізації Розкладу наведено на рис.3.5 Блок 1 містіть Початкова генерацію популяції хромосом; блок 2 - оптімізацію популяції методом генетичного алгоритму. Величина N означає розмір популяції, тоб кількість особин, что ее формують. Умів Закінчення оптімізації є або Закінчення годинного проміжку, віділеного на оптімізацію, або синтез Певного числа поколінь. Ці Величини є параметрами програми и могут буті змінені користувачем. За замовчуванням годин проміжок встановлюється рівнім 10 хв., а максимальна кількість поколінь рівною 10000.
Вікорістовувані методи .