Розробка автоматизованої системи оптимального використання заготовок за для розкрою площинних матеріалів

Вибір і обґрунтування інструментальних засобів. Проектування блок-схем алгоритмів та їх оптимізація. Розробка вихідних текстів програмного забезпечення. Інструкція до проектованої системи. Алгоритм базової стратегії пошуку вузлів та оцінки якості.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 05.12.2014
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Міністерство освіти і науки України

ДВНЗ Криворізький національний університет

Кафедра моделювання та програмного забезпечення

ПОЯСНЮВАЛЬНА ЗАПИСКА

ДО КУРСОВОГО ПРОЕКТУ

на тему: «Розробка автоматизованої системи оптимального використання заготовок за для розкрою площинних матеріалів»

Проектував:

Студент групи ПЗАС 09-1с

Керівник:

Зубкевич В.Ю.

Кривий Ріг

2013

АНОТАЦІЯ

Пояснювальна записка складається з: 56 сторінок тексту, 10 рисунків, 1 додатку, 19 використаних в проекті джерел.

Об'єкт проектування - розробка автоматизованої системи оптимального використання заготовок за для розкрою площинних матеріалів.

В основній частині курсового проекту був виконаний аналіз основних можливостей системи, приведені алгоритми роботи, детальний опис програми. В якості порівняння, був проведений аналіз вже існуючих програм, з зазначенням їх недоліків.

У розділі «Економічне обґрунтування» було розглянуто питання економічної ефективності та показники ефективності проектованої системи.

КЛЮЧОВІ СЛОВА: САПР, САУ, РОЗКРІЙ, ПОЛОНО, ОПТИМАЛЬНЕ, ПРЯМОКУТНИК.

ЗМІСТ

ВСТУП

1. ТЕХНІЧНЕ ЗАВДАННЯ

2. АНАЛІЗ СУЧАСНОГО СТАНУ ЗАДАЧІ ПРОЕКТА

3. ВИБІР НАПРЯМКУ РОЗВ'ЯЗАННЯ ЗАДАЧІ ПРОЕКТУ

4. РОЗРОБКА МАТЕМАТИЧНОГО, ІНФОРМАЦІЙНОГО ТА МЕТРОЛОГІЧНОГО ЗАБЕЗПЕЧЕННЯ ПРОЕКТУ

5. РОЗРОБКА ТА ОПТИМІЗАЦІЯ АЛГОРИТМІЧНОГО ЗАБЕЗПЕЧЕННЯ ПРОЕКТУ

5.1 Вибір і обґрунтування інструментальних засобів

5.2 Розробка блок-схем алгоритмів та їх оптимізація

5.3 Вибір та обґрунтування апаратного забезпечення проектованої системи

5.4 Розробка вихідних текстів програмного забезпечення та вибір стандартного програмного забезпечення

5.5 Компіляція та тестування ПО

6. РОЗРОБКА ПРОГРАМНОЇ ДОКУМЕНТАЦІЇ

6.1 Вихідні тексти проектованої системи

6.2 Опис проектованої системи

6.3 Інструкції з використання проектованої системи

7. ЕКОНОМІЧНЕ ОБГРУНТУВАННЯ

ВИСНОВОК

ВИКОРИСТАННІ В ПРОЕКТІ ДЖЕРЕЛА

ДОДАТОК А - Специфікація

ВСТУП

У сучасному світі є три основні проблеми, вирішення яких присвячені останнім часом зусилля вчених. Це економія природних ресурсів, розробка раціональних технологій виробництва та організація оптимального управління. Сучасне автоматизоване виробництво являє собою складну систему, домогтися оптимального функціонування якої можна тільки застосовуючи на всіх її рівнях ефективні методи автоматизації управління роботою її складових. Стрімкий прогрес в області засобів інформаційного забезпечення вирішення задач науки і техніки передбачає кардинальну зміну підходів до технології вирішення наукових і виробничих проблем. Одним з найважливіших напрямків прискорення науково - технічного прогресу та підвищення ефективності виробництва є автоматизація всіх ланок виробничого циклу, у тому числі проектування, технологічної підготовки виробництва і управління. Об'єкти виробництва стають більш складними, проте терміни на проектування і технологічну підготовку їх виробництва в умовах конкуренції скорочуються. Екстенсивно вирішити дану проблему неможливо, тому не всі процеси проектування можуть бути виконані паралельно. Інтенсифікація праці конструкторського і технологічного персоналу можлива тільки при наявності обчислювальної техніки, застосуванні комп'ютерних технологій, що базуються на створенні та / або використанні автоматизованих систем управління (АСУ) і складових їх частин: систем автоматизованого проектування ( САПР ) і автоматизованих систем технологічної підготовки виробництва ( АСТШТ ). Розробка АСУ на базі математичних методів і моделей, сучасних інформаційних технологій дозволить вирішувати питання управління, проектування і виробництва на належному рівні, зберігаючи конкурентоспроможність виробленої продукції.

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

З проблеми оптимального розкрою опубліковано велику кількість робіт, починаючи з кінця 40-ч років, коли завдання розкрою вперше була поставлена і вирішена, і до теперішнього часу.

Однак, рішення вважається класичної задачі оптимального розкрою у виробничих умовах пов'язане з такими труднощами як, умова цеілочисельності рішення, вимоги гарантованого існування оптимального рішення за будь-яких вихідних даних, обмеження по кількості ножів поздовжньо-різального верстата (ПРС), а так само багатьох інших вимог, пов'язаних зі специфікою роботи окремих підприємств.

Літературний огляд показує, що існуючі моделі, алгоритми та методи вирішення оптимального розкрою не забезпечують виконання цих вимог.

З урахуванням цього метою курсової роботи є створення автоматизованої системи оптимального використання заготовок при розкрої площинних матеріалів на основі методів, моделей і алгоритмів оптимального розкрою.

Для досягнення поставленої задачі в роботі вирішуються такі наукові та практичні завдання:

розробка автоматизованої системи оптимального використання заготовок при розкрої площинних матеріалів;

створення алгоритмічного і програмного забезпечення автоматизованої системи оптимального розкрою ;

розробка науково - обгрунтованого методу і алгоритму генерування безлічі допустимих способів розкрою рулонів, а так же критеріїв формування множини допустимих способів для розкрою полотна;

аналіз ефективності оптимального розкрою в залежності від режимів роботи поздовжньо різального верстата ( ПРС ) і показників якості полотна.

У роботі застосовані сучасні методи математичного моделювання на основі цілочисельного лінійного програмування.

1. ТЕХНІЧНЕ ЗАВДАННЯ

Назва системи

Автоматизована система оптимального використання заготовок при розкрої площинних матеріалів.

Призначення

Система призначена для оптимізації розкрою заготовок на площинному матеріалі при мінімальних його витратах.

Область застосування

текстильна промисловість;

металургійна промисловість;

меблева промисловість;

легка промисловість.

Організація-замовник

ТОВ «УкрМебельТекстиль»

Організація-виконавець

ТОВ «ПрограммноеОбеспечение»

Організації співвиконавців

ТОВ «Белый Ветер»

Узгоджувальні і зацікавлені організації

ТОВ «УкрЦветМеталл», ТОВ «ПромПластик»

ПІДСТАВИ ДЛЯ РОЗРОБКИ СИСТЕМИ, ЇЇ ПРИЗНАЧЕННЯ, ОБЛАСТЬ ЗАСТОСУВАННЯ

Вартість робіт

Повна вартість робіт складає - 28690 гривень ( двадцять вісім тисяч шістсот дев'яносто гривень).

Початок розробки

Початок розробки 1 вересня 2013.

Кінець розробки

Кінець розробки 1 грудня 2014.

Чим закінчується розробка

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

Узагальнений алгоритм

Система отримує масив даних про заготовки та їх розкрої. Після обробки та перевірки введених даних, програма розподіляє розкрій на полотні відповідного матеріалу. Тип матеріалу впливає на відстань між розкроями. Фінальна стадія - висновок оператору варіантів оптимального розташування розкрою на полотні матеріалу при мінімальних його витратах.

Техніко-економічне обґрунтування розробки

Техніко-економічним обґрунтуванням програмного продукту є:

мінімізація витрат матеріалу;

зменшення часових витрат на оптимізацію;

усунення людського фактора при оптимізації;

економічна ефективність;

зменшення собівартості кінцевого продукту;

екологічні впливи.

УМОВИ ЕКСПЛУАТАЦІЇ ПРОЕКТОВАНОЇ СИСТЕМИ

Кліматичні умови

температура навколишнього повітря від 10 ° С до 35 ° С;

атмосферний тиск від 630 до 800 мм ртутного стовпа ;

відносна вологість повітря не більше 80 %;

запиленість повітря не більше 0,75 мг/м3;

крім цього, в повітрі не повинно бути парів агресивних рідин і речовин, що викликають корозію.

Механічні умови

Синусоїдальна вібрація :

діапазон частот, Гц 1-35 ;

амплітуда прискорення, м/с2 (§ ) 5 ( 0.5) ;

амплітуда переміщення, мм;

частота переходу, Гц.

Загальна тривалість впливу вібрації по всьому діапазону частот, ч:

тривалого, ч 7 ;

короткочасного, хв.

Загальна тривалість впливу вібрації в кожному піддіапазоні частот:

тривалого, ч 1.0;

короткочасного, хв.

Механічний удар багаторазового дії :

пікове ударне прискорення, м/с2 ( g ) 150 ( 15 ) ;

загальна кількість ударів 10 000-12 000 ;

тривалість дій ударного прискорення, мс 2-20.

Наявність полів і перешкод

Елементи системи повинні бути екраніруемого і захищені від впливів електромагнітних полів і перешкод.

Умови живлення

Електроживлення здійснюється від однофазної мережі змінного струму напругою 220 В ± 10 % і частотою 50-60 Гц.

Комп'ютер і його периферійні пристрої повинні підключатися до електричної мережі через спеціальні розетки, мають заземлювальні контакти. Заземлювальні контакти повинні забезпечувати надійне заземлення. Опір заземлюючого контуру має бути не більше 4 Ом.

Тривалість і характер переривання первинного живлення

Проектована система оснащена блоком безперебійного живлення, який захищає систему від перепадів напруги і переривання первинного харчування. Тривалість роботи ББЖ - 1 година.

Умови відновлення і ремонту проектованої системи та обслуговування

Для відновлення або ремонту системи, її компоненти необхідно перенести в чисте приміщення з кліматичними умовами:

температура навколишнього повітря від 10 ° С до 35 ° С;

атмосферний тиск від 630 до 800 мм ртутного стовпа ;

відносна вологість повітря не більше 80 %;

запиленість повітря не більше 0,75 мг/м3;

і відсутністю механічних факторів, а так же полів і перешкод.

Заходи з техніки безпеки при експлуатації системи

Під експлуатацією техніки тут розуміється комплекс технічних і організаційних заходів щодо забезпечення взаємодії користувачів іззасобами.

Користувач повинен вміти правильно звертатися із засобами комп'ютерної техніки, встановленим системним і прикладним ПЗ. Комп'ютери та мережі можна використовувати тільки у виробничих і навчальних цілях. Користувачі повинні дбайливо ставитися до наданого в їх користування устаткуванню. Користувачі, які не володіють навичками роботи на комп'ютері, мають пройти навчання.

При роботі користувач повинен уважно ставитися до підвищення шумності роботи пристроїв :

накопичувачів на магнітних дисках;

вентиляторів;

пристроїв друку ;

іншим несподіваних ефектів ( запахам гару, порушень нормального режиму роботи програм).

Користувач також повинен стежити за безперебійністю роботи КТ.

Комп'ютерне обладнання рекомендується розміщувати в приміщеннях не ближче 0,5 м від опалювальних приладів.

Екран відеомонітора необхідно розташовувати таким чином, щоб на нього не потрапляли прямі сонячні промені.

Користувачам рекомендується періодично очищати клавіатуру і мишу від забруднень, протирати захисні екрани та екрани відеомоніторів спеціальними засобами.

Техніко-економічні та інші показники наслідків можливої ??відомості системи

збільшення собівартості кінцевого продукту;

збільшення економічних витрат;

збільшення тимчасових витрат;

збільшення витрат матеріалу.

Характер роботи проектованої системи

Характер роботи проектованої системи - циклічний.

ЕКСПЛУАТАЦІЙНО-ТЕХНІЧНІ ХАРАКТЕРИСТИКИ СИСТЕМИ

Додаткові функції, реалізовані системою

Додатковими функціями є: розрахунок коефіцієнта витрат матеріалу, перевірка вхідних даних, експорт даних, збереження звітів, налаштування інтерфейсу користувача.

Комплектність проектованої системи на об'єкті

системний блок;

монітор;

пристрої периферії;

блок безперебійного живлення;

мережевий адаптер.

ОБСЯГ ВИКОНАНИХ РОЗРОБНИКОМ РОБІТ

Етапи і обсяг розробки по кожному етапу :

розробка технічного завдання;

розробка математичного забезпечення;

аналіз та проектування інформаційних потоків;

кодування і алгоритмізація ;

розробка ПЗ ;

тестування ;

підготовка документації ;

економічне обґрунтування розробки.

Терміни виконання етапів:

розробка технічного завдання - 25.09.2013 ;

розробка математичного забезпечення - 05.10.2013 ;

аналіз та проектування інформаційних потоків - 12.10.2013 ;

кодування і алгоритмізація - 26.10.2013 ;

розробка ПЗ - 18.11.2013 ;

тестування - 23.11.2013 ;

підготовка документації 29.11.2013 ;

економічне обґрунтування розробки - 29.11.2013.

Відповідальні виконавці та зразки по кожному етапу :

технічне завдання - ТОВ «ПрограммноеОбеспечение» ;

діаграми інформаційних потоків - ТОВ «ПрограммноеОбеспечение» ;

алгоритми розроблюваної системи - ТОВ «ПрограммноеОбеспечение» ;

бета- версія програмного забезпечення - ТОВ «ПрограммноеОбеспечение» ;

фінальна версія програмного забезпечення - ТОВ «ПрограммноеОбеспечение» ;

документація до програмного забезпечення - ТОВ «ПрограммноеОбеспечение» ;

економічне обґрунтування розробки - ТОВ «ПрограммноеОбеспечение».

ТЕХНІЧНІ ВИМОГИ ДО ПРОЕКТОВАНОЇ СИСТЕМИ

Інтенсивність і склад інформаційних потоків, що входять в проектовану систему, кількість обслуговуваних процесів з їх перерахуванням

Система отримує масив даних про розкрої, після перевірки вхідних даних проводитися оптимізація і візуалізація розкрою.

Режим роботи системи

Програма оптимізації працює в напівавтоматичному режимі.

Характер вторинного живлення проектованої системи і його параметри

Параметри вторинного живлення відповідають вимогам до персональних комп'ютерів.

Технічні характеристики проектованої системи і вхідних в неї складових частин

IBM сумісний комп'ютер з операційною системою від MS Windows ХР;

RGB монітор з роздільною здатністю від 1024x768 і вище;

ергономічна клавіатура і миша;

мережевий адаптер з пропускною здатність 100 Мbit, з не менш 2ма портами.

Вимоги до взаємозамінності апаратних засобів і програмних засобів, та необхідності застосування уніфікації та стандартизації

Установка системи в цілому, як і встановлення окремих її частин не повинна пред'являти додаткових вимог до покупки ліцензій на програмне забезпечення сторонніх виробників.

ВИМОГИ ДО ХУДОЖНЬО-КОНСТРУКТИВНОГО ОФОРМЛЕННЯ СИСТЕМИ

Ергономічні вимоги

Інтерфейс повинен бути розрахований на переважне використання маніпулятора типу «миша», тобто управління системою має здійснюватися за допомогою набору екранних меню, кнопок і т.д. Клавіатурний режим введення повинен використовуватися головним чином при заповненні та / або редагуванні текстових і числових полів екранних форм.

Всі написи екранних форм, а так само повідомлення, що видаються користувачеві ( крім системних повідомлень) повинні бути російською.

Система повинна відповідати вимогам ергономіки і професійної медицини за умови комплектування високоякісним обладнанням, що має необхідні сертифікати відповідності та безпеки Укрстандарту.

Вимоги до зовнішнього оформлення проектованої системи

Взаємодія користувачів з прикладним програмним забезпеченням, що входять до складу системи повинна здійснюватися за допомогою графічного інтерфейсу ( GUI ). Інтерфейс системи повинен бути інтуїтивно зрозумілим і зручним, не повинен бути перевантажений графічними елементами і повинен забезпечувати швидке відображення екранних форм. Програма повинна мати панель управління розкрою, форми редагування вхідних даних, візуалізація оптимізованого розкрою, а так само загальне меню з доступом до всіх можливостей програми.

ВИМОГИ ДО ПАТЕНТНОЇ ЗАХИЩЕНОСТІ СИСТЕМИ

науково-технічний рівень розробки - система розробляється на рівні корисної моделі;

сертифікації та ліцензування проектованої системи - проектована система повинна мати деклараційний патент на корисну модель;

авторські права на проектовану систему: належать організації-виконавцю.

ВИМОГИ ДО ЗАМОВНИКА ЩОДО ЗАБЕЗПЕЧЕННЯ РОЗРОБКИ, УПРОВАДЖЕННЮ ТА ЕКСПЛУАТАЦІЇ СИСТЕМИ

проведення допоміжних проектних і будівельних робіт: не потрібно;

комплектація допоміжного обладнання :

пристрій для вирізання розкрою ;

забезпечення спеціалізованої робочою силою при монтажі та запуску системи : не потрібно;

підготовка кадрів для обслуговування системи : до роботи з системою повинні допускатися співробітники, що мають навички роботи на персональному комп'ютері, ознайомлені з правилами експлуатації і пройшли навчання роботі з системою. Спеціально навчених кадрів для роботи з системою не потрібно.

ДОДАТКИ

Розрахунок техніко-економічної ефективності

Імовірно, впровадження проектованої системи має дати прибуток підприємству в розмірі 4,000 гривень на місяць.

Мережевий графік розробки

Роботи зі створення системи виконуються в три етапи:

проектування. Розробка ескізного проекту. Розробка технічного проекту ( тривалість - 1 місяць);

розробка робочої документації. Адаптація програм ( тривалість 3 місяці);

введення в експлуатацію ( тривалість - 2 тижні).

Дані про об'єкт, на якому буде використовуватися проектована система

Вимоги до даних про об'єкт, на якому буде виконуватися проектована система, не пред'являються.

Схеми цього об'єкта

Особливі вимоги до схем не пред'являє.

План розміщення обладнання об'єкта

Особливі вимоги до плану розміщення обладнання не пред'являється.

План розміщення системи по приміщеннях об'єкта

Особливі вимоги до плану розміщення проектованої системи по приміщеннях об'єкта не пред'являються.

План кабельних галерей і трас

Особливі вимоги до плану кабельних галерей і трас не пред'являються.

План розміщення первинних джерел живлення

Особливі вимоги до плану розміщення первинних джерел живлення не пред'являються.

Тимчасові діаграми функціонування об'єкта, для якого проектується система

Вимоги до тимчасових діаграмах функціонування об'єкта не пред'являються.

2. АНАЛІЗ СУЧАСНОГО СТАНУ ЗАДАЧІ ПРЕКТУ

Детальний аналіз та узагальнення зібраної інформації дають можливість окреслити подальші етапи дослідження, а для кожного з них розробити відповідні заходи, виконання яких призведе до перетворення вхідних даних і поточних результатів розрахунку в очікувані результати виконання роботи. У нашому випадку такими результатами будуть :

адаптовані відомі або розроблені нові методики формування допустимих карт розкрою різних концептуальних схем і відповідних їм базових конфігурацій;

уточнення традиційні або запропоновані власні методи оптимізації одно-, двох - і багатокритеріального плану розкрою ;

вироблення рекомендацій щодо удосконалення процесу виготовлення заготовок з ПДМ чи проектування нового ТП розкрою плит на заготовки.

На сьогоднішній день відомо, що переважна більшість типових задач проектування складних виробничих систем формально зводяться до перебору всіх допустимих її варіантів і вибору серед них найкращих з деякої дискретної сукупності заданих характеристик. Щодо оптимізації технологічний процес ( ТП) розкрою, то тут розрізняють два типи дискретних оптимізаційних задач : екстремальні завдання і задачі розпізнавання властивостей. В екстремальних задачах потрібно знайти такі значення аргументів, при яких функція цілі сягає екстремуму. Переважно це стосується задачі оптимізації плану розкрою ПДМ на меблеві заготовки, в якій аргументами є отримані інтенсивності використання карт розкрою і, як наслідок, кількості заготовок по картах розкрою. У задачах розпізнавання властивостей потрібно визначити, чи має функція мети з дискретними аргументами певний фіксований властивість. Процес формування допустимих карт розкрою різних концептуальних схем і відповідних їм базових конфігурацій з дотриманням обмеження на задані кількості заготовок і вимоги максимальної ефективності використання матеріалу є одним із прикладів такого типу завдань. Оскільки область визначення екстремальної задачі задається деякими властивостями її аргументів, які описуються, наприклад, системою рівнянь або нерівностей, то саме рішення задачі розпізнавання властивостей є одним з етапів вирішення екстремальної задачі.

З розвитком комп'ютерної техніки більшість науковців зосереджують свої зусилля на розробці спеціалізованих САПР складних виробничих систем (рис. 2.1). Якщо традиційне інженерне проектування таких систем - це свого роду класика, то їх комп'ютерне моделювання базується на тісній взаємодії людини-проектанта з інструментарієм САПР.

Рисунок 2.1 - Приклад програми САПР розкрою листового матеріалу

Ця так звана людино - машинна система дає можливість найбільш ефективно використовувати характерні особливості людини - проектанта - його знання, вміння та інтуїцію в поєднанні з сучасними можливостями комп'ютерної техніки. Водночас, застосування АСТПП, до складу якої повинна входити підсистема спеціального призначення - САПР ТП виготовлення меблевої продукції, не тільки значно покращує і прискорює виконання різних розрахунків, а й на якісно новому рівні дає можливість приймати інженерно й економічно обґрунтовані управлінські рішення.

Кінцевим результатом оптимального проектування ТП розкрою за допомогою спеціалізованої САПР є представлене замовнику безліч допустимих альтернативних варіантів його реалізації. Багато науковці вважають, що формальними засобами для складних виробничих систем практично неможливо отримати єдиного оптимального рішення. Методика вибору потрібного варіанту з безлічі альтернативних передбачає прийняття компромісного рішення щодо таких двох ситуацій :

якщо вимогам технічного завдання відповідають кілька спроектованих варіантів, то серед них вибирається один найкращий для більш детальної його опрацювання на етапі ескізного проектування;

якщо жоден із запропонованих варіантів не задовольняє виставленим вимогам замовника, то це спонукає розробника вибрати одну з двох стратегій подальшої поведінки - зобов'язати замовника внести корективи в технічне завдання або відмовитися від подальшого проектування.

На сьогоднішній день проглядається постійне оновлення асортименту випуску меблевої продукції, здійснюється систематичне впровадження сучасних ТП виготовлення, проводиться заміна морально застарілого обладнання на нове спеціалізоване з комп'ютерним управлінням. Все це дає можливість значно зменшити її собівартість, підвищити продуктивність праці, поліпшити культуру виробництва. У сукупності перелік цих та багатьох інших першочергових завдань створює важливу народногосподарську проблему, вирішити яку можна поступово завдяки розробкам нових, більш досконалих автоматичних ліній або технологічних комплексів спеціального призначення.

3. ВИБІР НАПРЯМКУ РОЗВ'ЯЗАННЯ ЗАДАЧІ ПРОЕКТУ

У роботі розглядається відома задача розміщення прямокутників на площині. Подібні завдання виникають при проектуванні електронних систем. Так, на етапі планування інтегральних систем потрібно розташувати без взаємних перетинів в прямокутної області кристала прямокутні компоненти (блоки), які мають фіксовані розміри. Вихідними даними для зазначеної прикладної задачі є розміри блоків та їх кількість, а критерій якості розміщення спрямований на мінімізацію використовуваної площі.

Завдання розміщення прямокутників ставитися до класу NP-важких (окремий випадок задачі, коли розміщуються прямокутники мають рівну ширину, відомий як завдання упаковки в контейнери). На практиці використання точних методів рішення не представляється можливим у силу великих порядків завдань. Саме цим пояснюється підвищений інтерес до наближених методів її вирішення. Наприклад, не погано себе зарекомендували в практиці дослідження прикладних проблем підходи, засновані на методах моделювання відпалу та генетичної еволюції.

У даній роботі представлений комбінований метод для вирішення задачі розміщення блоків однакової геометрії, заснований на застосуванні жодних алгоритмів, еволюційно-генетичного підходу і багаторівневої техніці відомості до завдань менших порядків.

4. РОЗРОБКА МАТЕМАТИЧНОГО ТА ІНФОРМАЦІЙНОГО ЗАБЕЗПЕЧЕННЯ

Позначимо через Р={p1,…, pn} безліч прямокутників. Кожен прямокутник pi Є P дописується парою позитивних дійсних чисел (wi hj), які відповідають довжині і ширині прямокутника. Параметри: п, pi, wi, hi ( i = 1,n ), будемо називати параметрами задачі.

Рішенням задачі розміщення є вектор = (xi,..., xn ), де хi, = (x2i, x-2j ) відповідає координатам розташування прямокутника рi, де x2i, x-2j Є R.

Опишемо обмеження, пов'язані з вимогою розміщувати прямокутники без взаємних перетинів. Для цього введемо відображення g (pi, xi, pj, xj), яке повертає площа прямокутника, отриманого перетином прямокутника рj, з координатами хi, з прямокутником рi, розташованим в точці з координатами xj.

У цьому випадки обмеження, пов'язане з виключенням взаємних перетинань розміщених прямокутників, можна записати у вигляді (4.1):

Позначимо X1 () та Х2 () такі величини (4.2):

Ці значення визначають відповідно висоту і ширину прямокутника.

У цьому випадки відношення суми площ фігур до площі прямокутника будемо називати коефіцієнт ефективності використання площі (4.3):

Якість рішення тим краще, чим менше периметр прямокутника і чим більше коефіцієнт ефективності використання площі. У силу цього пропонується наступний вид функції мети (4.4):

Задачу (4.1), (4.4) будемо називати завданням розміщення прямокутників на площині.

В основі процесу проектування системи для подальшої розробки лежить аналіз та проектування інформаційних потоків. Інформаційний потік - це сукупність циркулюючих у системі алгоритмів та даних, повідомлень між системою і зовнішнім середовищем, необхідних для управління і контролю операцій. Будь-яка обробка інформації всередині інформаційної системи відбувається за допомогою даних потоків.

Інформаційне забезпечення в проектованій системі складається із трьох основних частин:

вхідна інформація;

проміжна інформація;

вихідна інформація.

Далі будемо називати цю інформацію, як інформаційний потік. Інформаційний потік - це кількість інформації, яка проходить крізь перетин каналу зв'язку за одиницю часу. Також інформаційний потік можна визначити як визначений напрям переміщення інформації у просторі та часі; мірна величина, яка вимірюється як швидкість передачі інформації.

В системах реального часу, розрахунок інформаційних потоків є дуже важливим. Так як проектованаа система не належить до систем реального часу, то вимоги до розрахунку швидкості інформаційних потоків не жорсткі.

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

Дані проектованої системи можуть бути класифіковані за ступенем їх зміни у процесі роботи системи.

Вхідні дані. Верстак передає програмі інформацію про розмір полотна, розміри полотна можуть бути тільки позитивними - 2 змінні типу float = 128 біт (16 байт).

Оператор має можливість : ввести масив координат фігури, завантажити з зовнішнього пристрою або передати по локальній мережі. Кожен прямокутник має два параметри : довжина і ширина. Один прямокутник, що складається з двох параметрів мають тип float, займає 128 біт ( 16 байт). Для зберігання п прямокутників необхідно 16 * n байт.

Проміжні дані. При частковому побудові розміщення прямокутників на площині крім параметрів прямокутника використовуються координати вершини кожного прямокутника. Параметри прямокутника - 2 параметра типу float займають 16 байт. Координати вершини - 2 параметра типу float займають 16 байт.

Для часткового побудови розміщення n прямокутників необхідно 32 * n байт пам'яті.

Вихідні дані. В якості вихідних даних - масив прямокутників з параметрами довжини і ширини, а так само координатами їх вершини типу float (16 байт + 16 байт).

Для візуального виведення n прямокутників необхідно 32 * n байт пам'яті.

Рисунок 4.1 - Схема інформаційних потоків

5. РОЗРОБКА ТА ОПТИМІЗАЦІЯ АЛГОРИТМІЧНОГО ЗАБЕЗПЕЧЕННЯ ПРОЕКТУ

5.1 Вибір і обґрунтування інструментальних засобів

Qt - це кроссплатформенна бібліотека, метою якої є витіснення нативних API з програм. Зараз Qt - це величезний об'єктно-орієнтована система, в більшості випадків дозволяє обійтися без залучення будь-яких інших бібліотек. У першу чергу Qt - відмінний засіб для створення графічного інтерфейсу користувача (GUI). До складу Qt входить дизайнер, що дозволяє легко створювати графічні інтерфейси для програми.

Файл збірки можна буде створити одним викликом утиліти qmake (природно, під керуванням цільової платформи). Від себе додам, що іноді цей файл доводиться правити руками (а як же). Про значимість даної бібліотеки говорить хоча б те, що вона використовується в таких успішних проектах, як Borland C++ Builder 6 і Opera.

Перелічимо основні гідності ядра бібліотеки Qt :

вбудована підтримка Unicode і локалізації (дуже добре і дуже правильно реалізованої, смію зауважити ). У Qt4 обіцяють новий механізм рендеринга шрифтів, що підтримує Unicode ;

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

багатофункціональні керовані інтервалами таймери які роблять можливим просто і швидко вставляти багато різних завдань в керований подіями ГПИ ;

ієрархічні і настроюються об'єктні дерева, що організують приналежність об'єктів природним чином ;

захищені покажчики QGuardedPtr, які автоматично приймають значення NULL при знищенні відповідного об'єкта, на відміну від звичайних покажчиків в C, які в цьому випадку стають " невизначеними покажчиками ";

Зручна документація, доступна і російською мовою ( посилання на жаль не знаю, але можу з задоволенням вислати за заявкою ). До складу ядра бібліотеки входять як класи для побудови GUI (наприклад: мітка, поле введення, кнопка тощо), так і класи, призначені для організації різних структур зберігання даних (наприклад, списковий ), роботи з файлами, мережевої взаємодії і багато чого іншого. Деякі з цих можливостей реалізовані у вигляді додаткових модулів;

модуль Canvas, потужний інструмент для роботи з двомірної графікою. Він використовує принцип структурування графіки, що, безсумнівно, буде корисно в програмуванні простих двомірних ігор і подібного роду речах. Полотно складається з кількох " елементів ", кожен елемент представлений об'єктом. об'єктів з певними швидкостями по осях ;

модуль Network, що забезпечує підтримку мережі в додатках;

модуль OpenGL, що дозволяє працювати з тривимірною графікою за допомогою бібліотеки OpenGL. Підтримується з версії 2.3.2. ;

модуль SQL, який реалізує доступ до баз даних з додатків Qt. Даний модуль розбитий на три рівні: користувальницький (елементи інтерфейсу ), програмний ( абстрактний доступ до баз даних) і рівень драйверів ;

модуль Table, що надає у ваше розпорядження сітку для відображення табличних даних. Сітка являє собою дуже потужний і гнучкий інтерфейс, працювати з яким - одне задоволення ;

модуль XML, що використовує інтерфейс SAX2 і реалізацію DOM другого рівня.

5.2 Розробка блок-схем алгоритмів та їх оптимізація

Пропонується алгоритм послідовного розміщення прямокутників, в основі якого лежать розумні стратегії. Передбачається, що прямокутники впорядковані. Алгоритм ітерації за ітерацій послідовно розміщує один прямокутник за іншим у заданому порядку. Якщо немає можливості розмістити прямокутник, він пропускається і розглядається наступний. Так продовжується до тих пір, поки всі прямокутники не будуть переглянуті.

Алгоритм на початку кожної ітерації формує обмежене число вузлів - точок в області розміщення. Потім намагається розмістити у вузли згідно деякої стратегії черговий прямокутник. Для кожного варіанту розміщення розраховується значення критерію з урахуванням розміщених на попередніх ітераціях об'єктів. З усіх варіантів розміщення вибирається найкращий з точки зору функції мети (формула 4.4). Опишемо детально етапи роботи алгоритму ( рис. 5.1).

Вхідні дані А1 : 1 ) параметри завдання, 2) упорядкована послідовність прямокутників.

Перебрати всі прямокутники в зазначеному порядку. Для кожного прямокутника :

А2 - за допомогою стратегії пошуку вузлів сформувати безліч вузлів для розміщення ;

А3 - кращий вузол не заданий ;

А4 - перебрати всі вузли розміщення. Для кожного вузла:

А5 - зберегти частково побудоване розміщення ;

А6 - помістити прямокутник у вузол згідно стратегії розміщення ;

А7 - перевірити обмеження ( формула 4.1), (формула 4.2). Якщо обмеження порушені - перехід до А11 ;

А8 - розрахувати значення критерію (формула 4.3) ;

А9 - якщо кращий вузол не заданий, то поточний вузол вважати кращим.

А10 - якщо значення критерію кращого вузла менше значення критерію поточного вузла, то поточний вузол вважати кращим ;

А11 - відновити збережене в А5 частково побудоване розміщення і перейти до наступного вузла ;

А12 - якщо кращий вузол знайдений, то помістити прямокутник в кращий вузол згідно стратегії розміщення.

А13 - перейти до наступного прямокутнику.

Рисунок 5.1 - Алгоритм послідовного розміщення

Для пошуку вузлів для розміщення використовуємо базову стратегію пошуку вузлів (рис. 5.2). Вхідні дані В1: 1) параметри завдання, 2) частково побудоване розміщення; 3) розміщений прямокутник Рі.

В2 - список вузлів розміщення порожній;

В3 - додати в список вузлів розміщення точку початку координат;

В4 - перебрати всі розміщені прямокутники в частково побудованому рішенні. Для кожного прямокутника:

В5 - додати в список вузлів розміщення точки (якщо вони раніше не були додані):

В6 - перейти до наступного прямокутнику;

В7 - список вузлів сформований.

Рисунок 5.2 - Алгоритм базової стратегії пошуку вузлів

Базова стратегія легко реалізується і не вимагає значних обчислювальних ресурсів, тому що не потрібно для кожного прямокутника перераховувати заново весь набір вузлів.

Описаний вище алгоритм розміщення прямокутників не містить детального опису критерію якості, за яким можна було б порівняти якість вузлів при розміщенні в них конкретного прямокутника. Пропонується схема розрахунку якості розміщення прямокутника у вузол, яка враховує щільність частково побудованого розміщення (рис 5.3).

Вхідні дані С1: 1) параметри завдання, 2) частково побудоване розміщення; 3) поточне безліч вузлів розміщення ; 4) безліч вже розміщених прямокутників 5) розміщується прямокутник з довжиною xpi та висотою xpj.

Кожному вузлу uk поставимо у відповідність прямокутник wk із розмірами і координатою лівого верхнього кута в точці (0, 0). Нехай функція повертає загальну площу перетину двох розміщених на площині прямокутників та . Тоді запропонований алгоритм виглядає наступним чином:

С2 - перебираються всі вузли . Для кожного вузла обчислюється значення ;

С3 - серед всіх вузлів вибирається той, для якого значення мінімально.

Рисунок 5.3 - Алгоритм критерій оцінки якості вузлів розміщення

автоматизована розкрой площинний програмний

Як показує практика, використання техніки розбиття вихідної задачі на підзадачі менших розмірностей дозволяє підвищити якість одержуваних рішень і прискорити роботу алгоритму.

5.3 Вибір та обґрунтування апаратного забезпечення проектованої системи

Апаратне забезпечення (англ. hardware) -- комплекс технічних засобів, який включає ЕОМ: зовнішні пристрої, термінали, абонентські пункти тощо, які необхідні для функціонування тієї чи іншої системи; фізична частина ЕОМ.

Для роботи з даною програмою користувачу необхідне наступне апаратне забезпечення:

комп'ютер;

монітор;

клавіатура;

миша.

Комп'ютер необхідний для встановлення та запуску програми, монітор - для її відображення користувачу розкрою. За допомогою комп'ютерної миші користувач може запустити програму, та загрузити необхідні дані для розрахунку розкрою. Клавіатура необхідна на той випадок, якщо оператор хоче власноручно корегувати дані.

Особливих вимог до фірми виготовлювача не передбачено. Чим вищі параметри апаратного забезпечення комп'ютера, тим швидше програма буде видавати результат.

5.4 Розробка вихідних текстів програмного забезпечення та вибір стандартного програмного забезпечення

Розглянемо файл widget.cpp. Структура widget зберігає у собі список всіх необхідних полів для коректних маніпуляцій програми.

Перелічимо всі основні замінні програми:

point_arr - масив прямокутників

nx - довжина прямокутника;

ny - ширина прямокутника;

х - координата крайньої точки;

у - координата крайньої точки.

Нижче представлений код програми з описом до нього:

Widget::Widget(QWidget *parent)

: QWidget(parent)

{

viewer = new QGraphicsView;

scene = new QGraphicsScene;

mainmenu = new QMenuBar;

toolbar = new QToolBar ;

statusbar = new QStatusBar;

load_form = new QWidget;

load_form->setWindowTitle("Загрузить координаты");

QGridLayout *load_lay = new QGridLayout;

list_view = new QListWidget;

do_load = new QPushButton("Открыть файл...");

load_submit = new QCommandLinkButton("Подтвердить");

load_lay->addWidget(do_load);

load_lay->addWidget(list_view);

load_lay->addWidget(load_submit);

load_form->setLayout(load_lay);

QToolButton *paint_btn = new QToolButton;

paint_btn->setText("Построить");

toolbar->addWidget(paint_btn);

QMenu *f_menu = new QMenu("Файл");

QMenu *s_menu = new QMenu("Редактировать");

QMenu *a_menu = new QMenu("Справка");

QAction *open_act = f_menu->addAction("Загрузить");

QAction *save_act = f_menu->addAction("Сохранить");

f_menu->addSeparator();

QAction *exit_act = f_menu->addAction("Выход");

mainmenu->addMenu(f_menu);

mainmenu->addMenu(s_menu);

mainmenu->addMenu(a_menu);

QGridLayout *lay = new QGridLayout;

lay->setMenuBar(mainmenu);

lay->addWidget(toolbar);

lay->addWidget(viewer);

lay->addWidget(statusbar);

setLayout(lay);

setWindowTitle("Squares");

resize(500,400);

viewer->setScene(scene);

connect(paint_btn,&QToolButton::clicked,this,&Widget::paint_it);

connect(open_act,&QAction::triggered,load_form,&QWidget::show);

connect(save_act,&QAction::triggered,this,&Widget::save_to_file);

connect(exit_act,SIGNAL(triggered(bool)),qApp,SLOT(quit()));

connect(do_load,&QPushButton::clicked,this,&Widget::load_from_file);

connect(load_submit,&QCommandLinkButton::clicked,load_form,&QWidget::close);

}

Функція необхідна для виводу прямокутників:

void Widget::paint_it(){

QPoint *buffer = new QPoint;

for(int i=point_arr.count()-1;i>0;i--)

for(int j=0;j<i;j++)

if(point_arr.at(j)->x()>point_arr.at(j+1)->x() || point_arr.at(j)->x()>point_arr.at(j+1)->x()){

buffer->setX(point_arr.at(j)->x());

buffer->setY(point_arr.at(j)->y());

point_arr.at(j)->setX(point_arr.at(j+1)->x());

point_arr.at(j)->setY(point_arr.at(j+1)->y());

point_arr.at(j)->setX(buffer->x());

point_arr.at(j)->setY(buffer->y());

}

int nx=0, ny=0;

for(int i=0; i<point_arr.count(); i++){

scene->addRect(nx,ny,point_arr.at(i)->x(),point_arr.at(i)->y());

nx=point_arr.at(i)->x();

ny=point_arr.at(i)->y();

}

}

Функція load_from_file() завантажує файл с координатами прямокутників:

void Widget::load_from_file(){

list_view->clear();

point_arr.clear();

QStringList lst;

QString fileName = QFileDialog::getOpenFileName(this,tr("Открыть"), "", "Текст (*.txt)");

QFile file(fileName);

if(file.open(QIODevice::ReadOnly |QIODevice::Text)){

while(!file.atEnd()){

lst.clear();

QString str = file.readLine();

list_view->addItem(str);

lst = str.split(" ");

point1 = new QPoint;

point1->setX(lst.at(0).toInt());

point1->setY(lst.at(1).toInt());

point_arr.push_back(point1);

}

}

}

Після того як оператор виконав всі розрахунки, та маніпуляції з розкроєм, він може забрести свої результати. Для цього в програмі існує така функція save_to_file:

void Widget::save_to_file(){

QImage image(scene->width(), scene->height(), QImage::Format_ARGB32_Premultiplied);

QPainter painter(&image);

scene->render(&painter);

QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"),"",tr("Images (*.png)"));

image.save(fileName);

}

Що стосується стандартного програмного забезпечення, то для роботи з даною системою на комп'ютері користувача мають бути встановлені:

налаштована операційна система Windows, зі всіма необхідними для ПК драйверами;

Встановлений.NET Framework.

При дотриманні вищевказаних вимог, дане програмне забезпечення буде працювати коректно.

5.5 Компіляція та тестування ПО

Для того щоб запустити програму необхідно відкрити файл squares_img.exe. Наступним кроком є відкриття текстового файлу або набір тексту з клавіатури. Для того щоб відкрити файл необхідно натиснути Файл>Відкрити. В програмі встановлений фільтр, а отже користувач зможе відкрити лише файл з форматом *.txt.

В якості вхідних даних завантажуємо текстовий файл з наступним текстом:

10 20 0

12 14 0

30 30 0

30 10 0

12 15 0

23 23 0

10 20 0

12 14 0

30 30 0

30 10 0

12 15 0

23 23 0

10 20 0

12 14 0

30 30 0

30 10 0

12 15 0

23 23 0

Проведемо ряд тестів, для виявлення помилок в проектованій системі.

Тест 1: В даному тесті, поведемо перевірку, оптимального розміщення прямокутників на полотні. Перевіримо працездатність ПЗ оптимізацію, причому проведемо тест 40 разів, засікаючи при цьому час (рис. 5.4)

Рисунок 5.4 - Тест 1

Як видно з даного тесту, всі прямокутники розташовані оптимально на полотні, з мінімальними затратами полотна. Середня обробка програмного забезпечення 1.84 секунди. Тобто, на обробку одного прямокутнику необхідно 0,00283951 секунди часу.

Тест 2: В даному тесті поміняємо місцями в текстовому файлі координати прямокутників, щоб вдостовіритись, що їхнє положення у файлі не міняє результату після оптимізації на полотні(рис 5.5).

Рисунок 5.5 - Тест 2

Як видно з тесту 2, програма знов вистроїла усі прямокутники оптимально, с мінімальними затратами полотна. Алгоритм побудований таким чином, що вся прямокутники спочатку обробляються, а потім вистараються на полотні.

Проведені тести дають зрозуміти, що якість роботи програмного забезпечення багато в чому залежить від кількості прямокутників в текстовому файлі, а також від кількості типів прямокутників. Час відпрацювання програми залежить від кількості прямокутників і довжини полотна, що складає приблизно 0.008 секунди на один прямокутник.

6. РОЗРОБКА ПРОГРАМНОЇ ДОКУМЕНТАЦІЇ

6.1 Вихідні тексти проектованої системи

Вихідні тексти файлу widget.cpp. Даний файл представляє собою структуру, яка береже в собі список всіх необхідних полів, для коректних маніпуляцій програми.

#include "widget.h"

Widget::Widget(QWidget *parent)

: QWidget(parent)

{

viewer = new QGraphicsView;

scene = new QGraphicsScene;

mainmenu = new QMenuBar;

toolbar = new QToolBar ;

statusbar = new QStatusBar;

load_form = new QWidget;

load_form->setWindowTitle("Загрузить координаты");

QGridLayout *load_lay = new QGridLayout;

list_view = new QListWidget;

do_load = new QPushButton("Открыть файл...");

load_submit = new QCommandLinkButton("Подтвердить");

load_lay->addWidget(do_load);

load_lay->addWidget(list_view);

load_lay->addWidget(load_submit);

load_form->setLayout(load_lay);

QToolButton *paint_btn = new QToolButton;

paint_btn->setText("Построить");

toolbar->addWidget(paint_btn);

QMenu *f_menu = new QMenu("Файл");

QMenu *s_menu = new QMenu("Редактировать");

QMenu *a_menu = new QMenu("Справка");

QAction *open_act = f_menu->addAction("Загрузить");

QAction *save_act = f_menu->addAction("Сохранить");

f_menu->addSeparator();

QAction *exit_act = f_menu->addAction("Выход");

mainmenu->addMenu(f_menu);

mainmenu->addMenu(s_menu);

mainmenu->addMenu(a_menu);

QGridLayout *lay = new QGridLayout;

lay->setMenuBar(mainmenu);

lay->addWidget(toolbar);

lay->addWidget(viewer);

lay->addWidget(statusbar);

setLayout(lay);

setWindowTitle("Squares");

resize(500,400);

viewer->setScene(scene);

connect(paint_btn,&QToolButton::clicked,this,&Widget::paint_it);

connect(open_act,&QAction::triggered,load_form,&QWidget::show);

connect(save_act,&QAction::triggered,this,&Widget::save_to_file);

connect(exit_act,SIGNAL(triggered(bool)),qApp,SLOT(quit()));

connect(do_load,&QPushButton::clicked,this,&Widget::load_from_file);

connect(load_submit,&QCommandLinkButton::clicked,load_form,&QWidget::close);

}

Widget::~Widget()

{

}

void Widget::paint_it(){

QPoint *buffer = new QPoint;

for(int i=point_arr.count()-1;i>0;i--)

for(int j=0;j<i;j++)

if(point_arr.at(j)->x()>point_arr.at(j+1)->x() || point_arr.at(j)->x()>point_arr.at(j+1)->x()){

buffer->setX(point_arr.at(j)->x());

buffer->setY(point_arr.at(j)->y());

point_arr.at(j)->setX(point_arr.at(j+1)->x());

point_arr.at(j)->setY(point_arr.at(j+1)->y());

point_arr.at(j)->setX(buffer->x());

point_arr.at(j)->setY(buffer->y());

}

int nx=0, ny=0;

for(int i=0; i<point_arr.count(); i++){

scene->addRect(nx,ny,point_arr.at(i)->x(),point_arr.at(i)->y());

*if(i>1){

if(point_arr.at(i)->y()>point_arr.at(i-1)->y()+point_arr.at(i+1)->y()){

ny=point_arr.at(i)->y();

}

}*/

nx=point_arr.at(i)->x();

ny=point_arr.at(i)->y();

}

}

void Widget::load_from_file(){

list_view->clear();

point_arr.clear();

QStringList lst;

QString fileName = QFileDialog::getOpenFileName(this,tr("Открыть"), "", "Текст (*.txt)");

QFile file(fileName);

if(file.open(QIODevice::ReadOnly |QIODevice::Text)){

while(!file.atEnd()){

lst.clear();

QString str = file.readLine();

list_view->addItem(str);

lst = str.split(" ");

point1 = new QPoint;

point1->setX(lst.at(0).toInt());

point1->setY(lst.at(1).toInt());

point_arr.push_back(point1);

}

}

}

void Widget::save_to_file(){

QImage image(scene->width(), scene->height(), QImage::Format_ARGB32_Premultiplied);

QPainter painter(&image);

scene->render(&painter);

QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"),"",tr("Images (*.png)"));

image.save(fileName);

}

6.2 Опис проектованої системи

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

Алгоритм проектованої системи побудований на відомому алгоритмі послідовного розміщення, котрий застосовує базову стратегію пошуку вузлів.

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

Дане програмне забезпечення виведе зображення оптимального розкрою, за короткий час, зможе зберегти результати оптимізації до файлу зображення. Детальніший опис програми представлений в розділі 6ю3 курсової роботи.

В інтерфейсі програми присутній мінімалізм, а тому користувачу він буде інтуїтивно-зрозумілим. При розробці інтерфейсу були дотримані всі вимоги, а саме: зрозумілість, адаптованість до дій користувача та ін. Завдяки відсутності лишніх елементів, користувач зможе вільно використовувати всі функції, передбачені програмою.

6.3 Інструкції з використання проектованої системи

Для того, щоб почати працювати з даною програмою, необхідно відкрити файл squares_img.exe. Програма складається з чотирьох робочих елементів, рисунок 6.1.

Рисунок 6.1 - Програма squares_img

Перша робоча область представляє собою панель управління. За допомогою цієї панелі, користувач зможе виконувати різноманітні функції.

Друга робоча область, представляє собою графічний вихід розкрою на полотні.

В третій робочій області відображається результат програми. В даній області користувач має можливість переглянути скільки часу знадобиться для оптимізації, так скільки вже пройшло часу.

Якщо користувач бажає завантажити координати (формат файлу має мати розширення *.txt), для цього, на панелі інструментів йому необхідно натиснути Файл>Загрузить, рисунок 6.2.

Рисунок 6.2 - Приклад відкривання файлу

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

Після натискання відповідної кнопки, програма почне оптимізувати, після чого видасть результати. Для того щоб очистити текст, необхідно натиснути Редактировать>Очистить все.

Для того, щоб завершити роботу з даною програмою, користувачу необхідно натиснути Файл>Выход.

7. ЕКОНОМІЧНЕ ОБГРУНТУВАННЯ

У даній частині курсової роботи буде проведений розрахунок витрат, які визначають ціну даного програмного продукту.

Витрати - розмір ресурсів, використаних в процесі господарської діяльності за певний часовий етап. Можливо і більш детально описати типи витрат.

За впливом на собівартість кінцевого продукту витрати можна розділити:

прямі витрати;

непрямі витрати.

За взаємозв'язку з завантаженням виробничих потужностей можна розділити :

змінні витрати ;

постійні витрати.

Сукупність прямих ( змінних ) і непрямих ( постійних ) витрат становить валові витрати.

ВВ = Впост + Взмін, (7.1 )

де ВВ - валові витрати;

Впост - постійні витрати;

Взмін - змінні витрати.

Змінні витрати, пов'язані із створенням програмного продукту розраховуються за формулою:

Взмін = Векспл + Вопл + Вдопом, ( 7.2)

де Векспл - витрати, пов'язані з експлуатацією використовуваних засобів праці, грн. ;

Вопт - сукупні витрати, пов'язані з оплатою праці розробника програмного продукту, грн. ;

Вдопом - витрати на допоміжні матеріали, грн.

Витрати на експлуатацію використовуваного обладнання розраховуються за формулою:

Векспл = Вм * Трозр, (7.3 )

де Вм - вартість одної машино-години роботи обладнання, за допомогою якого розроблявся даний програмний продукт, грн./ год ;

Тразр - час, витрачений на розробку даного проекту, час.

Розрахуємо витрати на експлуатацію використовуваного обладнання.

Вартість машино-години визначається за формулою:

Вм = А + Ве + Він, (7.4 )

де А - розмір амортизаційних відрахувань, грн. ;

Ве - витрати на оплату витраченої електроенергії, грн. / Ч. ;

Він - інші витрати, пов'язані з обслуговуванням устаткування, грн.

У інші витрати включаються: страхові внески, податки, витрати по сертифікації продукту, витрати, пов'язані зі збутом ( реалізацією ) товарів.

Для розрахунку амортизаційних відрахувань рекомендується використовувати наступну формулу:

А = , (7.5)

де КВ - капіталовкладення в проект (вартість обладнання, що використовується для розробки програмного продукту), грн.

Тпл - плановий термін служби обладнання, год.

Плановий термін служби обладнання розраховується за формулою:

Тпл = tзм * Дроб * Тсл, (7.6)

де tзм - тривалість зміни (8 годин);

Дроб - число робочих днів у році ( Драб = 260 днів);

Тсл - термін служби обладнання, роки ( Nпл = 5 років).

Знаючи тривалість зміни, число робочих днів у році і термін служби обладнання, розрахуємо плановий термін служби обладнання, використовуючи формулу (7.6):

Тпл = 8 * 260 * 5 = 10 400 (год)

Тепер, знаючи плановий термін служби обладнання та вартість обладнання, що використовується для розробки програмного продукту, розрахуємо числове значення амортизаційних відрахувань, використовуючи формулу (7.5 ):

А = 2654 / 10400 = 0,2551 (грн./год)

Витрати на оплату витрачено електроенергії розраховуються з потужності, завантаження та часу роботи струмоприймачів (комп'ютерів), а також тарифів на електроенергію за формулою:


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.