Міністерство освіти і науки України
Чернівецький національний університет
імені Юрія Федьковича
Факультет комп’ютерних наук
Кафедра комп’ютерних систем і мереж
Нейронні мережі нового покоління
Курсова робота
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 р.
/>1. Призначенняі область застосування
Розробленапрограма повинна забезпечити створення розкладу для факультету вузу на основінавчального навантаження для груп з врахуванням вимог і побажань викладачів, атакож наявності приміщень для проведення занять. Розклад складається на одинсеместр, при цьому враховується можливість навчання по першому і другому тижнях.Отриманий варіант розкладу повинен експортуватися в MS Excel з форматуванням,яке забезпечує його зручне й ефективне використання.
Областьзастоcування програми — складання розкладу для факультетів вищих навчальнихзакладів України.
/>/>2. Технічні характеристики
2.1 Постановка задачі на розробкупрограми
Розробленапрограма повинна забезпечити створення розкладу для факультету вузу. Розкладскладається на один семестр, при цьому потрібно врахувати можливість навчанняпо першому і другому тижнях. Врахувати об’єднання навчальних груп у потоки, атакож поділ груп на підгрупи. При складанні розкладу потрібно мінімізуватикількість „вікон” для студентів і викладачів, кількість переходів міжприміщеннями і корпусами, врахувати пристосованість приміщень для проведеннязанять; вимоги викладачів до вільних пар. Отриманий варіант розкладу повиненекспортуватися в MS Excel у вигляді таблиці з відповідним форматуванням.
2.2 Опис алгоритму і функціонуванняпрограми
2.2.1 Огляд програм — аналогів
Розглянемо двісучасні програми для складання розкладу: „AVTOR-2+" та„Ректор 3.7.9"[1]. За своїми характеристиками програми-аналоги подібні, зокрема різні їхмодифікації дозволяють складати розклад як для шкіл, так і для вузів. Основні характеристикипрограм-аналогів наступні:
1) виконуютьмінімізацію кількості «вікон» для навчальних груп і викладачів;
2) враховують часпереходу між приміщеннями;
3) дозволяютьподіл навчальних груп на підгрупи;
4) враховуютьпристосованість приміщень для проведення занять;
5) виконують експортрозкладу в документи Word і Excel.
Програми „AVTOR-2+"та„Ректор 3.7.9" можуть складати розклад для шкіл задопустимий час. Наприклад, при використанні комп’ютера з процесором IntelCeleron 400 МГц й 256 МБ оперативної пам’яті розклад для старших класів школи (13навчальних груп) створюється приблизно за 40 хв. В той же час при складаннірозкладу для факультету вузу час розрахунку значно збільшується. Крім того,перелічені програми-аналоги є платними (вартість до 4 тис. грн), а безкоштовніпрограми для складання розкладу є або демонстраційними версіями, або показуютьзначно гірші результати [1].
В результатіаналізу програм-аналогів зроблено наступні висновки:
1) при розробціпрограми для складання розкладу слід врахувати особливості факультетів вузів;
2) програмаповинна мінімізувати кількість «вікон» для навчальних груп івикладачів, а також кількість переходів між приміщеннями (а особливо — міжкорпусами);
3) програмаповинна забезпечити експорт розкладу в документи MS Excel;
4) для зменшеннячасу складання розкладу та підвищення його якості використати новий метод — генетичні алгоритми.2.2.2 Теорія розкладів
Теорія розкладівдосліджує задачі, в яких необхідно впорядкувати, тобто визначити послідовністьвиконання сукупності робіт, використання певних засобів та ін. До таких задачвідносяться, наприклад, задачі складання розкладу для навчальних закладів [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.
Для оптимізаціїнавчального процесу групи слід об’єднувати в потоки, якщо в групах одного курсучитається лекція з однієї дисципліни.2.2.3 Генетичні алгоритми
Генетичніалгоритми ГА (Genetic Algorithms) є складовою еволюційних методів, оскількивиникли у результаті спроб копіювання еволюції живих організмів. Ідеягенетичних алгоритмів вперше висловив Дж. Холланд в кінці 60-х років ХХстоліття. Суть методу полягала у створенні комп’ютерної програми, яка бвирішувала складні задачі так, як це робить природа — шляхом еволюції. Відповідноу ГА використовують поняття, запозичені з генетики [3-5].
За допомогою ГАзадача вирішується наступним чином. Спочатку створюється математична модельштучного світу, який населений N істотами (особинами), причомугенетичний код кожної особини — це деякий розв’язок задачі (допустимий варіантрозкладу). Генетичний код кожної особини (генотип) записується у вигляді однієїхромосоми Х. Разом всі особини утворюють популяцію Р={X1,Xn,. ., XN}. У свою чергу кожна хромосома є набором зМ генів Ge(кожен ген описує одне заняття),тобто X={Ge1, Gem, GeM}.Відповідно до видів занять існує три типи генів: потоки, заняття групи тапідгруп. Кожний ген Ge={AL1,..., ALl,...,ALL} є послідовністю з L аллелів AL(цілих чисел), які описують одне заняття: номер групи, пари, дня, тижня,кількість підгруп і номер підгрупи, номери дисципліни, викладача, виду заняття,приміщення. Особина вважається тим більш пристосованою, чим краще рішеннязадачі вона забезпечує (мінімальне значення цільової функції F).
ГА подібні доеволюційних стратегій, але еволюційні стратегії оперують векторами дійснихчисел, а ГА — двійковими векторами.
Імітуючи еволюціюна комп'ютері часто використовується стратегія елітизму, яка полягає узбереженні життя кращому з індивідуумів поточного покоління.
За сучаснимиуявленнями еволюція — це процес постійної оптимізації біологічних видів. Вкласичних задачах оптимізації можна керувати декількома параметрами (позначимоїх значення через g1,… gM), а метою є максимізація(або мінімізація) деякої функції F (g1,… gM).Функція F називається цільовою функцією. Наприклад, якщо вимагаєтьсямаксимізувати цільову функцію «дохід компанії», то керованими параметрамибудуть число співробітників компанії, об'єм виробництва, ціни товари і т.д. Цільовафункція також називається функцією пристосованості (fitness function) абофункція оцінки, яка дозволяє серед популяції особин виділити найкращих.
У випадку розкладуцільова функція F забезпечує: мінімізацію кількості вікон для навчальнихгруп та викладачів, мінімізацію переходів між приміщеннями і корпусами,рівномірний розподіл занять з кожної дисципліни за днями тижня; враховуєпристосованість приміщень для проведення занять; вимоги викладачів до вільнихпар.
Існує багатометодів рішення оптимізацій них задач. У випадку, якщо цільова функціядостатньо гладка і має тільки один локальний максимум (унімодальна), теоптимальне рішення можна одержати методом градієнтного спуску. Ідея цьогометоду полягає у тому, що оптимальне рішення знаходиться методом ітерацій. Тобтобереться випадкова початкова точка, а потім в циклі відбувається зміщення цієїточки на малий крок в тому напрямі найшвидшого зростання цільової функції. Недолікомградієнтного алгоритму є дуже високі вимоги до функції — на практиціунімодальность зустрічається украй рідко, а для інших функцій градієнтний методчасто приводить до неоптимальної відповіді. Аналогічні проблеми виникають іззастосуванням інших математичних методів.
Генетичнийалгоритм являє собою метод, який відображає природну еволюцію методів вирішенняпроблем, у першу чергу задач оптимізації. Генетичні алгоритми — це процедурипошуку, засновані на механізмах природного відбору і спадкування. У нихвикористовується еволюційний принцип виживання найбільш пристосованих особин. Гавідрізняються від традиційних задач оптимізації кількома моментами:
ГА оброблюють незначення параметрів самої задачі, а їх закодовану форму;
виконують пошукрішення виходячи не з однієї точки, а з деякої популяції;
використовуютьтільки цільову функцію, а не її похідні або іншу додаткову інформацію;
використовуютьймовірнісні, а не детерміновані правила відбору.
Основний (класичний)генетичний алгоритм складається з наступних кроків (рис.2.1):
1. Ініціалізація,або вибір початкової популяції хромосом.
2. Оцінюванняпристосованості хромосом в популяції
3. Перевірка умовизакінчення алгоритму.
4. Селекціяхромосом
5. Використаннягенетичних операторів
6. Формуваннянової популяції
7. Вибір найкращоїхромосоми
Розглянемо ГАбільш детально:
1. Ініціалізація,або вибір початкової популяції хромосом. Полягає у випадковому виборі заданоїкількості N хромосом (особин).
2. Оцінюванняпристосованості хромосом в популяції полягає у розрахунку функціїпристосованості для кожної хромосоми pS (Xi). Приймається,що функція пристосованості завжди приймає невід’ємні значення. Звичайнознаходиться максимум цієї функції.
/>
Рис.2.1 Алгоритмкласичного ГА.
3. Перевірка умовизакінчення алгоритму. Алгоритм може бути закінчений, якщо його виконання неприводить до покращення отриманого результату або через певний проміжок часу. .
4. Селекція хромосомполягає у виборі на основі функції пристосованості тих хромосом, які будутьприймати участь у створення нащадків, тобто нового покоління. Такий вибірвиконується згідно принципу природного відбору, за яким найбільші шанси настворення потомства мають хромосоми з найвищими значеннями функціїпристосованості. Існують різні методи селекції. Найбільш популярним вважаєтьсяметод рулетки. Кожній хромосомі ставиться у відповідність сектор колесарулетки, величина якого пропорційна до функції пристосованості даної хромосоми.Ймовірність селекції хромосоми Xi, i=1. N (для випадку, що функція Fмаксимізується):
/>.
Таким чином,ймовірність селекції найбільша для хромосом з великим значенням функціїпристосованості. У результаті селекції формується батьківська популяція зчисельністю N у яку особини з великим значенням pS (Xi)можуть увійти кілька разів, а з малим значенням pS (Xi)- жодного.
5. Використаннягенетичних операторів до відібраних у результаті селекції батьківських хромосомприводить до створення популяції нащадків. В класичному ГА використовують дваосновних генетичних оператора: оператор схрещування (crossover) іоператор мутації (mutation). Як і живих організмах, ймовірність мутаціїзвичайно дуже мала (рм
В ГА мутація можевиконуватися на популяції батьків перед схрещуванням або на популяції нащадків,утворених у результаті схрещування.
Операторсхрещування. На першому етапі схрещування вибиваютьсяпари хромосом з батьківської популяції. Операції схрещування полягають у обмініфрагментами ланцюжків між двома батьківськими хромосомами (рис.2.2). Далі длякожної пари вибирається позиція гена (локус) в хромосомі, який визначаєточку схрещування. Якщо хромосома містить L двійкових чисел, то точкасхрещування LK вибирається випадковим чином з інтервалу [1,L]. В результаті схрещування утворюються два нащадки:
1) нащадок,хромосома якого на позиціях від 1 до LK складається з генів першогопредка, а позиції від LK+1 до L — з генів другого предка.
2) нащадок,хромосома якого на позиціях від 1 до LK складається з генів другогопредка, а позиції від LK+1 до L — з генів першого предка.
/>
Рис.2.2 Умовнасхема кросовера
6. Формуваннянової популяції. Хромосоми, отримані у результаті генетичних операторів допопуляції предків, утворюють нову популяцію. Така популяція стає поточної дляданої ітерації k ГА. На кожній ітерації розраховується значення функціїпристосованості для всіх хромосом. В результаті перевірки умови закінченняітерацій відбувається або зупинка алгоритму, або перехід до нового кроку ГА — селекції. В результаті селекції вся попередня популяція замінюється популяцієюнащадків з кількістю N. Етап схрещування і мутації також називається еволюцією,на якому відбувається рекомбінація генів у хромосомах.
7. Вибір найкращоїхромосоми. Найкращою вважається хромосома з максимальним значенням функціїпристосованості.
Головний фактореволюції — природний відбір, тобто природна селекція, приводить до того, щовиживають найбільш пристосовані особини.
Генетичнийалгоритм є комбінованим методом. Механізми схрещування і мутації в якомусьзначенні реалізують переборну частину методу, а відбір кращих рішень — градієнтнийспуск. Така комбінація дозволяє забезпечити стійко хорошу ефективністьгенетичного пошуку для будь-яких типів задач.2.2.4 Нечіткі системи
За допомогоюнечітких множин можна формально визначити неточні та багатозначні поняття, такіяк «висока температура», «молодий чоловік», «середнійзріст» або «велике місто» [3]. Перед формулюванням визначеннянечіткої множини необхідно задати так звану область значень (universe ofdiscourse). В випадку неоднозначного розуміння «багато грошей» великоюбуде визнана одна сума, якщо ми обмежимось діапазоном [0, 1000 грн.] та зовсімінша в діапазоні [0, 1000000 грн.]. Область значень, далі будемо називати просторомабо множиною, буде позначатись символом Х. Необхідно пам’ятати,що Х — чітка множина.
Визначення. Нечітка множина А в деякому (не порожньому) просторі Х,що позначається як А Í Х, називається множиною пар
A = { (x,mA (x)); xÎX} (2.1)
де
mA: X® [0,1] (2.2)
функціяприналежності нечіткої множини А. Ця функція приписує кожному елементу хÎ Хстепінь його приналежності до нечіткої множини А, при цьому можнавиділити три випадки:
1) mA (x) = 1 означає повну приналежність елемента х до нечіткої множини А,тобто х Î А;
2) mA (x) = 0 означає відсутність приналежності елемента х до нечіткоїмножини А, тобто х Ï А;
3) 0 А.
В літературізастосовується символьне описання нечітких множин. Якщо Х — цепростір з кінцевою кількістю елементів, тобто Х = {x1, …, xN},то нечітка множина А Í Х записується у вигляді
/> (2.3)
Приведений записмає символьний характер. Знак "-" не означає ділення, а означаєприписування конкретним елементам х1, …, хn степенівприналежності mA (x1),…, mA (xn). Іншими словами, запис
/>. (2.4)
означає пару
/>. (2.5)
Так само знак"+" в виразі (2.3) не означає операцію додавання, а інтерпретуєтьсяяк множинне сумування елементів (2.5). Слід зазначити, що так само можназаписувати і чіткі множини. Наприклад, множину шкільних оцінок можна символічнозаписати як
D = 2 + 3 + 4 + 5,(2.6)
що рівнозначнозапису
D = {2, 3, 4, 5}.(2.7)
Якщо Х — цепростір з нескінченною кількістю елементів, то нечітка множина А Í Хсимволічно записується у вигляді
Приклад. Якщо X = R, де R — множина дійсних чисел, то множинудійсних чисел «близьких до числа 7», можна визначити функцієюприналежності вигляду (рис.2.3)
/>. (2.8)
Тому нечіткамножина дійсних чисел, «близьких до числа 7», описується виразом
/>. (2.9)
На рисунку 2.3представлені дві функції приналежності нечіткої множини А дійсних чисел,«близьких до числа 7».
/> />
а) б)/> />
Рис.2.1 Функції приналежності нечіткої множини дійсних чисел,«близьких до числа 7»
2.3 Опис організації вхідних тавихідних даних
В якості вхідних (початкових)даних використано: навчальне навантаження викладачів (кількість занять длянавчальних груп із визначених дисциплін); вимоги до послідовності проведеннязанять; пристосованість приміщень для проведення занять; поділ груп напідгрупи, умови їх об’єднання у потоки; вимоги викладачів до вільних пар абоднів та ін. За змістом вхідні дані поділені на таблиці бази даних.
Вихідними данимипрограми є допустимий варіант розкладу. Розклад являє собою таблицю, в якійстовпці відповідають певній навчальній підгрупі, а рядки — певній парі звказанням назви дисципліни, прізвища викладача та назва приміщення.
Проміжними вихіднимирезультатами є варіант розкладу для покоління з номером k.
2.4 Опис організації вибору технічнихі програмних засобів
Розробленийпрограмний продукт орієнтований на роботу в ОС Windows 95/98/NT/XP, тому длякоректної роботи програми необхідне стабільне функціонування ОС. Програмастворена в середовищі Borland Delphi 6.0. Для збереження початкових данихвикористано базу даних, яка створена за допомогою системи керування базамиданих Firebird. Під час виконання програма звертається до програми MicrosoftExcel з пакету Microsoft Office для збереження результатів, а також до реєструОС.
До технічнихзасобів відносимо ПК, на яких буде проводитися складання розкладу. Мінімальнимивимогами до апаратної частини ПК, за яких програма працюватиме та буде видаватидостовірні результати, можна вважати:
/>• процесор 6-го покоління Intel Celeron 533МГц;
• об’ємоперативної пам’яті 64 Мб.;
• графічнийадаптер S3 Savage 4 Мб.;
• жорсткий дискємністю 10 Гб.;
• привід гнучкихдисків (дисковод).
2.5 Охорона праці
Робоче місце (РМ)- це обладнаний технічними засобами (засобами відображення інформації, органамиуправління, допоміжним обладнанням) простір, де здійснюється діяльністьвиконавця (або групи виконавців).
Удосконаленняорганізації РМ є однією з умов, що сприяють підвищенню продуктивності праці,тому питанню організації РМ тепер приділяється велика увага.
Основнимобладнанням робочого місця користувача ЕОМ є монітор, клавіатура, робочий стіл,стілець (крісло); допоміжним — пюпітр, підставка для ніг, шафи, полиці та ін. Вимогидо них відображені у нормативних документах: ВСПиПРВЦ; ГОСТ 12.2 032-78; ГОСТ22269-76.
Робочі місця з ЕОМповинні розташовуватися на відстані не менше як 1,5 м від стіни з віконнимипрорізами, від інших стін — на відстані 1 м, між собою на відстані не менше 1,5м. При розміщенні робочих місць необхідно виключити можливість прямогозасвічування екрана джерелом природного освітлення. Джерело природногоосвітлення (вікно) не повинно також потрапляти в зону прямого спостереженнякористувача.
При розміщенніробочих місць з відеотерміналами та персональними ЕОМ необхідно забезпечитивиконання наступних вимог:
робочі місця звідеотерміналами та персональними ЕОМ розміщуються на відстані не менше 1 м відстін зі світловими прорізами;
відстань міжбічними поверхнями відеотерміналів має бути не меншою за 1,2 м;
відстань міжтильною поверхнею одного відеотермінала та екраном іншого не повинна бутименшою 2,5 м;
прохід між рядамиробочих місць має бути не меншим 1 м.
Вимоги цьогопункту щодо відстані між бічними поверхнями відеотерміналів та відстані міжтильною поверхнею одного відеотерміналу та екраном іншого враховуються такожпри розміщенні робочих місць з відеотерміналами та персональними ЕОМ в суміжнихприміщеннях, з урахуванням конструктивних особливостей стін та перегородок.
Конструкціяробочого місця користувача відеотерміналу (при роботі сидячи) має забезпечуватипідтримання оптимальної робочої пози з такими ергономічними характеристиками: ступнініг — на підлозі або на підставці для ніг; стегна — в горизонтальній площині; передпліччя- вертикально; лікті — під кутом 70 — 90 град. до вертикальної площини; зап'ястязігнуті під кутом не більше 20 град. відносно горизонтальної площини, нахилголови — 15 — 20 град. відносно вертикальної площини.
Якщо використаннявідеотерміналу та персональної ЕОМ є періодичним, то устаткування, як правило,розміщується на приставному столі, переважно з лівого боку від основногоробочого столу. Кут між поздовжніми осями основного та приставного столів маєбути 90-140 град.
Висота робочоїповерхні столу для відеотерміналу має бути в межах 680-800 мм, а ширина — забезпечуватиможливість виконання операцій в зоні досяжності моторного поля.
Екранвідеотермінала та клавіатура мають розташовуватися на оптимальній відстані відочей користувача, але не ближче 600 мм, з урахуванням розміруалфавітно-цифрових знаків та символів.
Розташовувативідеотермінал на робочому столі необхідно так, щоб поверхня екрана знаходиласяна відстані 400-700 мм від очей користувача. Розташування екрану відеотерміналумає забезпечувати зручність зорового спостереження у вертикальній площині підкутом ±30 град. від лінії зору працівника.
Клавіатуру слідрозміщувати на поверхні столу або на спеціальній, регульованій за висотою,робочій поверхні окремо від столу на відстані 100 — 300 мм від краю, ближчогодо працівника. Кут нахилу клавіатури має бути в межах 5 — 15 град.
Рекомендуєтьсярозміщувати елементи робочого місця таким чином, щоб витримувалася однаковавідстань очей користувача від екрана, клавіатури, тримача документів.
3. Очікувані техніко-економічніпоказники
3.1 Визначення трудомісткостірозробки програмного продукту
Аналізрізноманітних підходів до нормування процесу програмування говорить, про те щов якості основного фактору, який визначає трудомісткість розробки, требаприйняти розмір вихідного тексту запису алгоритмів та даних (кількість рядківпрограми) [4].
Теоретичний термінрозробки програмного продукту в місяцях обчислюється за формулою:
TТ =2,5 · NТВК0,32, (3.1)
де NТВК — кількість тисяч вихідних команд.
В якості вихідноїкоманди приймемо рядок програми. Загальний розмір програмної частини дипломноїроботи складає приблизно 4500 рядків. В нашому випадку TТ дорівнює:
TТ =2,5 · 4,50,32 = 4,05 (міс).
Дійсний термінрозробки Т=2,5 міс. менший за теоретичний, що свідчить про ефективність тапрофесійність розробки програмного продукту.
Продуктивністьпраці програміста визначається за формулою:
П = 1000 · NТВК/ Т, (3.2)
де П — продуктивністьпраці розробника програмного продукту, вих. команд/міс.
В нашому випадкупродуктивність становить:
П = 1000·4,5/2,5=1800 (вих. команд/міс).
Весь час,необхідний для написання роботи, можна підрахувати за формулою:
Тзаг =Т + Топ + Тал + Тнал + Трук + Тдр,(3.3)
де Топ — час на вивчення опису задачі з врахуванням кваліфікації програміста, Тал — час на створення алгоритму, Тнал — час на налагодження програми, Трук — час на підготовку рукопису, Тдр — час на підготовку друкованогодокументу. Ці величини визначаються з врахуванням трьох параметрів: kС — ступеню готовності виконавця до роботи, B — якості формулювання задачі (взалежності від доробок В приймається від 1,2 до 1,5) та Nтвк. Значення kСвизначається в залежності від стажу роботи: для працюючих до 2 років kС=0,8;від 3 до 5 — 1,1-1,2; більш ніж 7 років — 1,5-1,6.
Розрахунокведеться за наступними формулами (в місяцях):
Tоп = NТВК· В / (0,72 · 80 · kС), (3.4)
Тал = NТВК/ (0,720 · 25 · kС), (3.5)
Тнал = NТВК/ (0,48 · 25 · kС), (3.6)
Трук = NТВК/ (0,72 · 20 · kС), (3.7)
Тдр =0,75 · Tрук. (3.8)
Приймемо k = 1,1та B = 1,2. Розрахунок за формулами (3.4 — 3.8) дає такі результати:
Tоп =4,5 · 1,2/ (0,72 · 80 · 1,1) = 0,09 (міс),
Тал =4,5/ (0,72 · 25 · 1,1) = 0,27 (міс),
Тнал =4,5/ (0,48 · 25 · 1,1) = 0,34 (міс),
Трук =4,5/ (0,72 · 20 · 1,1) = 0,28 (міс),
Тдр =0,75 · 0,28 = 0,21 (міс).
Час, необхіднийдля створення програми, за формулою (3.3) дорівнює:
Тзаг = 3,7місяці.
Таким чином,затрати часу на створення програм та документації оцінюються приблизно в 3,5місяця. Реальна цифра також приблизно 3,5 місяця.
3.2 Визначення собівартості годинироботи на ПК
Для визначеннясобівартості години роботи ПК розраховуються витрати на експлуатацію комп'ютераВек. В їх склад входять витрати на електроенергію та амортизаційнівідрахування.
Витрати наелектроенергію визначаються множенням витрат електроенергії за годину навартість 1кВт год. електроенергії та на час роботи комп'ютера за рік. Витратиелектроенергії визначається з паспортних даних комп'ютера. Для ПК на базіпроцесора Intel Intel Celeron 533 МГц вони складають 0,8 кВт год. Вартість 1 кВтгодини складає 24 копійок. Час роботи комп'ютера визначається множеннямкількості робочих днів року на час роботи ПК в день:
Троб =(365 — 104 — 6) * 8 = 2040 (год).
Тоді вартістьвитрат електроенергії за рік складає:
Sел =0,8 · 2040 · 0,24 = 391,7 (грн).
Норма амортизаціїдорівнює 10%, вартість комп'ютеру відповідає приблизно 2500 грн. Тодіамортизаційні витрати дорівнюють:
Sам =0,1 · 2500 = 250 (грн).
Річна зарплатаперсоналу з окладом 550 грн. складає:
Зр = 12* 550 = 6600 (грн).
Відрахування насоціальне страхування складають 3% від заробітної плати (2% — у фондзайнятості, 1% — у пенсійний фонд):
Всоц =0,03 * 6600 = 198 (грн).
Вартість витратнихматеріалів складає 2% від вартості обчислювальної техніки:
SВМ = 2500* 0,02 = 50 (грн).
Утримання таремонт приміщень складає 3% від вартості ПК:
Sрм = 2500* 0,03 = 75 (грн).
Таким чином, загальнізатрати на експлуатацію ПК за рік складають:
Век = Sел+ Sам + Зр + Всоц + SВМ + Sрм= 7564,7 (грн).
Собівартістьгодини роботи на ПК визначається діленням суми витрат на кількість годин роботикомп'ютера в рік:
C = Век/ Троб = 7564,7/2040 = 3,71 (грн. /год).
/>3.3 Розрахуноквитрат на створення програмного продукту
Для визначеннядоговірної ціни розраховуються поточні витрати на виконання програмногопродукту. Ці витрати розраховуються як сума прямих та накладних витрат навиконання дипломної роботи за весь період її написання.
Прямі витрати,пов'язані з використанням ПК для виконання дипломної роботи, розраховуютьсявиходячи з кількості годин Тгод роботи даної персональної ЕОМ,необхідних для виконання дипломної роботи та собівартості години їїексплуатації:
Впр = С· Тгод. (3.9)
Кількість годинроботи ПК:
Тгод =Троб·Тзаг / 12 = 2040 · 3,7/12 = 630 (год).
В такому випадкупрямі витрати:
Впр =3,71 · 630 = 2337,60 (грн).
Накладні витративключають в себе витрати на утримання персоналу, освітлення, опалення та іншівитрати. Вони складають 40-50% від суми прямих витрат.
Внакл =2337,6 · 0,4 = 935,04 (грн).
Поточні витрати настворення програмного продукту складають
ВППП =Впр + Внакл = 2337,60 + 935,04 = 3272,64 (грн).
/>3.4 Визначеннядоговірної вартості на програмний продукт
Договірна вартістьна програмний продукт визначається наступним чином:
Впп = ВППП· (1 + Р / 100%) · К, (3.10)
де Впп — витрати на виконання дослідження, передбаченого дипломною роботою, в грн., P- рівень рентабельності дослідження, К — коефіцієнт, що враховує заохочувальнунадбавку за якість розробки.
Ступіньрентабельності програми приймається рівною Р=20%.
Заохочувальнанадбавка за якість визначається в залежності від величини науково-технічногоефекту. Науково-технічний ефект — це інтегральний показник. Він включає в себе:
рівень новизни,
науково-технічнийрівень дослідження та інше.
Величинанауково-технічного ефекту приймається рівною 15, тобто К=1.
Таким чином,договірна вартість на програмний продукт:
Впп =3272,64 · (1 + 20% / 100%) · 1 = 3927,16 (грн).
3.5 Розрахунок ефективностівпровадження програмного продукту
Річний економічнийефект визначається за формулою:
Ер = Вор* T — Вприв, (3.11)
де Вор — витрати на одноразове розв'язування задачі в традиційних умовах (ручна обробкаінформації),
Т — періодичністьрозв'язування задачі (емпіричні дані відділу — 4), Вприв — приведенівитрати.
Витрати (в гривнях)при ручній обробці інформації визначаються за формулою:
Вор = Т1* A1, (3.12)
де Т1 — розрахункова трудомісткість (в люд. год) обробки інформації, А1 — середньогодинназарплата виконавця.
За даними факультетуТ1 = 40 годин, А1 = 8 грн.
Таким чином,витрати складають:
Вор = 40· 8 = 320 (грн).
Приведені витратирозраховуються за формулою:
Вприв =В1 + Ен * Впп, (3.13)
де В1 — річні експлуатаційні витрати на розв'язок задачі,
Ен = 0,15- нормативний галузевий коефіцієнт (враховує можливість використанняпрограмного продукту протягом кількох років),
Впп — договірнавартість на програмний продукт (розраховується за формулою 3.10).
Експлуатаційнівитрати розраховуємо за формулою:
В1 = Воп* T, (3.14)
де Воп — експлуатаційні витрати при одноразовому розв'язуванні задачі з використаннямпрограмного продукту.
Воп = t* R, (3.15)
де t — часрозв'язування задачі на ПК, С — собівартість години роботи на ПК. Зарезультатами переддипломної практики t = 0,3 години.
Воп =3,71 · 0,3 = 1,11 (грн).
Експлуатаційнівитрати за формулою (3.14):
В1 = 1,11· 4 = 4,44 (грн).
Звідси приведенівитрати за формулою (3.13):
Вприв =4,44 + 0,15 · 3927,16 = 539,50 (грн).
Річний економічнийефект від впровадження програмного продукту розраховуємо за формулою (3.11)
Eр = 320· 4 — 539,50 = 686,50 (грн).
Річний економічнийефект розрахований при використанні програмного продукту на одному факультеті.
При використаннірозробленої програми на багатьох факультетах економічний ефект значнозбільшиться.
Порівняннятрудомісткості при ручній та машинній обробці дає:
k = Т1/t= 40/0,3 = 133,
тобтотрудомісткість розв'язку зменшується в 133 рази.
В результатізастосування розробленого програмного продукту час, який витрачається на складаннярозкладу, зменшиться в 133 рази.
/>Списоквикористаних джерел
1. Володин В., Володина Н. Расписание — это просто или не очень просто. — [Електронний ресурс]. — tech. stolica.ru.
2. Танаев.С.В., Сотсков Ю.Н., Струсевич В.А. Теория расписаний. Многостадийныесистемы. — М.: Наука, 1989. — 327 с.
3. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетическиеалгоритмы и нечеткие системы: Пер. с польск. И.Д. Рудинского. — М.: Горячаялиния — Телеком, 2004. — 452 с.
4. Заде Л. Понятие лингвистической переменной и его применение к принятиюприближенных решений. — М.: Мир. 1976. — 162 с.
5. Вороновский Т.К., Махотило К.В., Петрашев С.Н., Сергеев С.А. Генетическиеалгоритмы, искусственные нейронные сети и проблемы виртуальной реальности. — Харьков:Основа, 1997. — 112 с.
6. Ковальчук В.М. Основи економічної теорії. — Тернопіль: 2003. — 203 с.
7. Руснак І.С., Бабюк А.В., Федорова О. Є. Охорона праці при роботі зкомп’ютером. — Чернівці: Рута, 2005. — 128 с.