Міністерство освіти і науки України
Чернівецький національний університет
імені Юрія Федьковича
Факультет комп’ютерних наук
Кафедра комп’ютерних систем і мереж
Нейронні мережі нового покоління
Курсова робота
2007
Пояснююча записка складається з основних розділів, які пов’язані з аналізом й обґрунтуванням теми магістерської роботи, призначенням і областю застосування, описом функціональних можливостей програми, вибором технічних і програмних засобів, організації вхідних та вихідних даних, розглядом очікуваних техніко - економічних показників та списком використаних джерел при розробці програмного продукту.
Програмний документ містить: розділів - 3, сторінок - 27.
Зміст
Анотація
Перелік умовних позначень
Вступ
1. Призначення і область застосування
2. Технічні характеристики
2.1 Постановка задачі на розробку програми
2.2 Опис алгоритму і функціонування програми
2.2.1 Огляд програм - аналогів
2.2.2 Теорія розкладів
2.2.3 Генетичні алгоритми
2.2.4 Нечіткі системи
2.3 Опис організації вхідних та вихідних даних
2.4 Опис організації вибору технічних і програмних засобів
2.5 Охорона праці
3. Очікувані техніко-економічні показники
3.1 Визначення трудомісткості розробки програмного продукту
3.2 Визначення собівартості години роботи на ПК
3.3 Розрахунок витрат на створення програмного продукту
3.4 Визначення договірної вартості на програмний продукт
3.5 Розрахунок ефективності впровадження програмного продукту
Список використаних джерел
ГА - генетичні алгоритми
ПК - персональний комп’ютер
РМ - робоче місце
В пояснюючій записці розглядається розробка на тему „Використання генетичних алгоритмів для складання розкладу” з умовним позначенням 482.362.80915-71.
Завдання на магістерську роботу затверджене на засіданні кафедри КСМ факультету комп’ютерних наук Чернівецького національного університету імені Юрія Федьковича, протокол засідання кафедри № 1 від 28 серпня 2006 р.
Розроблена програма повинна забезпечити створення розкладу для факультету вузу на основі навчального навантаження для груп з врахуванням вимог і побажань викладачів, а також наявності приміщень для проведення занять. Розклад складається на один семестр, при цьому враховується можливість навчання по першому і другому тижнях. Отриманий варіант розкладу повинен експортуватися в MS Excel з форматуванням, яке забезпечує його зручне й ефективне використання.
Область застоcування програми - складання розкладу для факультетів вищих навчальних закладів України.
Розроблена програма повинна забезпечити створення розкладу для факультету вузу. Розклад складається на один семестр, при цьому потрібно врахувати можливість навчання по першому і другому тижнях. Врахувати об’єднання навчальних груп у потоки, а також поділ груп на підгрупи. При складанні розкладу потрібно мінімізувати кількість „вікон” для студентів і викладачів, кількість переходів між приміщеннями і корпусами, врахувати пристосованість приміщень для проведення занять; вимоги викладачів до вільних пар. Отриманий варіант розкладу повинен експортуватися в MS Excel у вигляді таблиці з відповідним форматуванням.
Розглянемо дві сучасні програми для складання розкладу: „AVTOR-2+" та „Ректор 3.7.9" [1]. За своїми характеристиками програми-аналоги подібні, зокрема різні їх модифікації дозволяють складати розклад як для шкіл, так і для вузів. Основні характеристики програм-аналогів наступні:
1) виконують мінімізацію кількості "вікон" для навчальних груп і викладачів;
2) враховують час переходу між приміщеннями;
3) дозволяють поділ навчальних груп на підгрупи;
4) враховують пристосованість приміщень для проведення занять;
5) виконують експорт розкладу в документи Word і Excel.
Програми „AVTOR-2+" та „Ректор 3.7.9" можуть складати розклад для шкіл за допустимий час. Наприклад, при використанні комп’ютера з процесором Intel Celeron 400 МГц й 256 МБ оперативної пам’яті розклад для старших класів школи (13 навчальних груп) створюється приблизно за 40 хв. В той же час при складанні розкладу для факультету вузу час розрахунку значно збільшується. Крім того, перелічені програми-аналоги є платними (вартість до 4 тис. грн), а безкоштовні програми для складання розкладу є або демонстраційними версіями, або показують значно гірші результати [1].
В результаті аналізу програм-аналогів зроблено наступні висновки:
1) при розробці програми для складання розкладу слід врахувати особливості факультетів вузів;
2) програма повинна мінімізувати кількість "вікон" для навчальних груп і викладачів, а також кількість переходів між приміщеннями (а особливо - між корпусами);
3) програма повинна забезпечити експорт розкладу в документи MS Excel;
4) для зменшення часу складання розкладу та підвищення його якості використати новий метод - генетичні алгоритми.
Теорія розкладів досліджує задачі, в яких необхідно впорядкувати, тобто визначити послідовність виконання сукупності робіт, використання певних засобів та ін. До таких задач відносяться, наприклад, задачі складання розкладу для навчальних закладів [2].
У загальному формулюванні задача складання розкладу полягає у наступному. За допомогою деякої множини ресурсів або обслуговуючих пристроїв повинна бути виконана певна фіксована система завдань. Мета полягає в тому, що при заданих властивостях завдань і ресурсів, а також накладених на них обмежень, знайти ефективний алгоритм впорядкування завдань.
Загальна теорія розкладів передбачає, що всі обслуговуючі пристрої (або процесори) не можуть виконувати в даний момент часу більше одного завдання. Проте для розкладу навчальних занять така умова є достатньою, якщо в якості процесора при розподілі занять прийняти навчальну аудиторію. Так в деяких випадках в одній аудиторії можуть проводитися заняття з більш ніж з однією групою одночасно.
Таким чином формулювання задачі складання розкладу для навчальних закладів можна записати наступним чином: „Для заданого набору навчальних аудиторій (в даному випадку під навчальною аудиторією розуміється широкий круг приміщень, в яких проводяться навчальні заняття: від комп’ютерного класу до спортивного залу) і заданого набору часових інтервалів (навчальних пар) побудувати такий розподіл навчальних занять для всіх об’єктів (викладачі і навчальні групи), для якого вибраний критерій оптимальності буде найкращим.
Пошук оптимального або близького до оптимального розкладу виконується за допомогою одного з 4 підходів:
1) математичного програмування;
2) комбінаторного;
3) евристичного;
4) статистичного (ймовірнісного).
При використанні методів математичного програмування для розв’язку задач складання розкладу неминуча експоненційна складність часу розв’язку задачі. Для скорочення перебору використовуються різноманітні методи, зокрема методів віток і границь.
Комбінаторний метод зводиться до цілеспрямованої перестановки пар робіт в деякій послідовності, поки не буде отримано оптимальне (або близьке до оптимального) рішення.
Евристичні алгоритми засновані на прийомі зниження вимог. Він полягає у пошуку рішення, близького до оптимального, за допустимий час. Широко використовується так званий метод локального пошуку. При цьому наперед вибрана множина перестановок використовується для послідовного покращення початкового розв’язку до тих пір, поки таке покращення можливе, в іншому випадку буде отримано локальний оптимум.
Ймовірнісні методи полягають у випадковому виборі послідовності виконання робіт. Вибір повторюється багато разів, в результаті чого вибирається найкращий варіант розкладу.
Згідно з вищесказаним складемо математичну модель розкладу для факультету вузу:
Період розкладу QW = 2 тижні (1 і 2 тиждень, 10 робочих днів), номер тижня w=1. QW.
День тижня d=1. QD; де QD=10.
Номер пари z=1. QZ, де QZ=8.
Номер дисципліни j=1. QJ.
Для оптимізації навчального процесу групи слід об’єднувати в потоки, якщо в групах одного курсу читається лекція з однієї дисципліни.
Генетичні алгоритми ГА (Genetic Algorithms) є складовою еволюційних методів, оскільки виникли у результаті спроб копіювання еволюції живих організмів. Ідея генетичних алгоритмів вперше висловив Дж. Холланд в кінці 60-х років ХХ століття. Суть методу полягала у створенні комп’ютерної програми, яка б вирішувала складні задачі так, як це робить природа - шляхом еволюції. Відповідно у ГА використовують поняття, запозичені з генетики [3-5].
За допомогою ГА задача вирішується наступним чином. Спочатку створюється математична модель штучного світу, який населений N істотами (особинами), причому генетичний код кожної особини - це деякий розв’язок задачі (допустимий варіант розкладу). Генетичний код кожної особини (генотип) записується у вигляді однієї хромосоми Х. Разом всі особини утворюють популяцію Р={X1, Xn,. ., XN}. У свою чергу кожна хромосома є набором з М генів Ge (кожен ген описує одне заняття), тобто X={Ge1, Gem, GeM}. Відповідно до видів занять існує три типи генів: потоки, заняття групи та підгруп. Кожний ген Ge={AL1,..., ALl,..., ALL} є послідовністю з L аллелів AL (цілих чисел), які описують одне заняття: номер групи, пари, дня, тижня, кількість підгруп і номер підгрупи, номери дисципліни, викладача, виду заняття, приміщення. Особина вважається тим більш пристосованою, чим краще рішення задачі вона забезпечує (мінімальне значення цільової функції F).