Розробка програмного комплексу для оптимізації конічних передач
У процесі вирішення задачі оптимізації зазвичай необхідно знайти оптимальні значення деяких параметрів, що визначають це завдання. При вирішенні інженерних задач їх прийнято називати проектними параметрами, а в економічних задачах їх зазвичай називають параметрами плану. В якості проектних параметрів можуть бути, зокрема, значення лінійних розмірів об'єкта, маси, температури і т. п. Число… Читати ще >
Розробка програмного комплексу для оптимізації конічних передач (реферат, курсова, диплом, контрольна)
МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ ДОНБАСЬКА ДЕРЖАВНА МАШИНОБУДІВНА АКАДЕМІЯ КАФЕДРА «КОМП'ЮТЕРНІ ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ»
ПОЯСНЮВАЛЬНА ЗАПИСКА з дисципліни «Математичні методи дослідження операцій»
ТЕМА: «ПК для оптимізації конічних передач»
варіант № 5
Краматорськ 2011
ЗАВДАННЯ на курсовий проект до дисципліни
«Математичні методи дослідження операцій»
Група ІТ — 08 — 1 варіант № 5
Тема проекту: «Розробка програмного комплексу для оптимізації конічних передач»
Задача: «Оптимізувати цільову функцію що виражає дію конічної передачі через пошук її максимального значення, а також знайти максимальну допустиму силу, що діє на вали передачі».
Примітки:
— відсутні вихідні дані для тестових варіантів завдання призначити самостійно;
— проект необхідно виконати відповідно з вимогами до виконання курсового проекту по методах синтезу й оптимізації (див. файл «Структура КП. doc»);
— зміна й уточнення теми за згодою керівника можливо тільки на першому етапі роботи (1−2 тиждень);
— готовий проект повинен бути зданий на перевірку не пізніше, ніж за два дні до захисту.
РЕФЕРАТ Курсовий проект з дисципліни «Математичні методи дослідження операцій» на тему: «Розробка програмного комплексу для розв’язання оптимізаційної задачі «студента групи ІТ-08−1 Коженко Олексія Валерійовича містить ___ сторінок машинописного тексту, ___ малюнків, ___ таблиць, ___ сторінок додатка.
Мета курсового проекту — отримання навичок розробки інтелектуального програмного продукту для рішення задачі оптимізації(підтримки рішення) у заданій предметній області.
Розроблений програмний продукт дозволяє оптимізувати процес прийняття рішення по оптимізації конічної передачі.
Матеріали проекту можуть бути використані для прийняття коректних та оптимальних рішень на машинобудівних підприємствах.
КОНІЧНА ПЕРЕДАЧА, ВХІДНІ ПАРАМЕТРИ, КОНІЧНА, КОЕФІЦІЄНТИ ВАЖЛИВОСТІ, ЦІЛЬОВА ФУНКЦІЯ, ПРОГРАМНИЙ ПРОДУКТ.
ЗМІСТ
1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ
1.1 Опис предметної області
1.2 Алгоритм розв’язку задачі на оптимізацію конічної передачі
2. УЗАГАЛЬНЕНА ПОСТАНОВКА ЗАДАЧІ
2.1 Оптимізація параметрів
3. РОЗРОБКА ПРОГРАМНОГО ПРОДУКТУ
3.1 Підстави до розробки ПП з оптимізації конічної передачі
3.2 ТЗ для рішення задачі оптимізації конічної передачі
3.2.1 Вступ
3.2.2 Основа для розробки ПП з оптимізації конічної передачі
3.2.3 Призначення розробки ПП з оптимізації конічної передачі
3.2.4 Вимоги до ПП з оптимізації конічної передачі
3.2.4.2 Вимоги до надійності ПП з оптимізації конічної передачі
3.2.4.3 Умови експлуатації ПП з оптимізації конічної передачі
3.2.4.4 Вимоги до складу та параметрів технічних засобів
3.2.4.5 Вимоги до інформаційної та програмної сумісності
3.2.5 Вимоги до програмної документації
3.2.6 Техніко-економічні показникиПП з оптимізації конічної передачі
3.2.7 Порядок контролю й приймання ПП з оптимізації конічної передачі
3.2.8 Висновки про вибір моделі створення програмного продукту
3.3 Вибір мови програмування
3.4 Діаграма прецедентів
3.5 Модулі та їх взаємодія між собою
3.6 Керівництво користувача
3.6.1 Умови виконання програми
3.6.2 Виконання програми
3.7 Довідкова система
4. ПРИКЛАД РОЗРАХУНКУ КОНІЧНОЇ ПЕРЕДАЧІ
ВИСНОВОК ВИКОРИСТАНА ЛІТЕРАТУРА ПРИКЛАДЕННЯ А
ВСТУП В наш час одним з головних шляхів підвищення ефективності проектно-конструкторських робіт є автоматизація проектування на основі застосування ЕОМ. Одне з найважливіших напрямів автоматизації проектування конструкцій і технологій — оптимальне проектування.
Для вирішення завдання оптимізації математичних моделей об'єктів або систем запропоновано досить багато різних алгоритмів та їх модифікацій. На жаль, жоден з них не має по відношенню до інших таких переваг, які дозволили б вважати його найбільш ефективним для вирішення будь-якої задачі. В якості критерію ефективності зазвичай приймають витрати машинного часу на вирішення завдання з даною точністю, число обчислень функції для досягнення оптимальної точки та ін.
Практика вирішення складних завдань оптимізації вимагає використання, залежно від конкретної ситуації, різних алгоритмів та їх програмних реалізацій. Алгоритми безумовної оптимізації допомагають в значній мірі полегшити програмне конструювання і вибір відповідних алгоритмів при вирішенні екстремальних задач у системах автоматизованого проектування.
В автоматизації виробництва і, зокрема, при розрахунку конічних передач застосовуються програмні продукти, що використовують методи оптимізації, однак недостатньо часто через складність організації програмного коду і наявності великої кількості ДЕСТів, що регламентують розрахунки.
Основна мета курсового проекту з дисципліни «Математичні методи дослідження операцій» — одержання навичок розробки інтелектуального програмного продукту для рішення завдання оптимізації (підтримки рішення) у заданій предметній області
1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ
1.1 Опис предметної області
Конічні передачі
Конічні зубчаті колеса застосовують у передачах, вісі валів яких перетинаються під деяким кутом. Зазвичай (рис 1).
Рисунок 1 — Конічна прямозуба передача а), передача з кутом б) Застосовують у всіх галузях машинобудування, де за умовами компонування машини необхідно передати рух між пересічними осями валів. Конічні передачі складніше циліндричних, вимагають періодичної регулювання. Для нарізання зубчастих конічних коліс необхідний спеціальний інструмент. У порівнянні з циліндричними конічні передачі мають велику масу і габарит, складніше в монтажі. Крім того, одне з конічних коліс, як правило шестерня, розташовується консольно. При цьому, внаслідок підвищеної деформації консольного валу, збільшуються нерівномірність розподілу навантаження по ширині зубчастого вінця і шум.
Переваги:
· Забезпечення можливості передачі і перетворення обертального руху між ланками з пересічними осями обертання;
· Можливість передачі руху між ланками зі змінним міжосьовим кутом при широкому діапазоні його зміни;
· Розширення компонувальних можливостей при розробці складних зубчастих і комбінованих механізмів.
Недоліки:
· Більш складна технологія виготовлення і збірки конічних зубчастих коліс;
· Великі осьові і ізгібние навантаження на вали, особливо у зв’язку з консольним розташуванням зубчастих коліс.
1.2 Алгоритм розв’язку задачі розрахунку плоско конічної передачі
1) Назначаємо матеріал та розраховуємо допускємі навантаження.
Допускне контактне навантаження:
Для шестерні:
=2ННВ+70;
SH=1,1;
приймається КHL=1;
;
Для колеса:
=2ННВ+70;
SH=1,1;
;
Для прямозубих передач в якості розрахункового контактного напруження приймається менше ;
2) Визначаємо коефіцієнти
KH=KHбKHвKHV,
де KHб=1 (прямі зуб’я), KHв=1,1 (при b2/d1=0,3;колеса прироблюються), KHV=1,2 (прийнято приблизно).
3) Визначаємо діаметр колеса
4) Визначаємо модуль
5) Визначаємо число зубів
6)Визначаємо геометричні параметри зубчастих колес
de1=mZ1; de2=mZ2;
д2=arctgU1−2ф; д1=90є-д2;
Зовнішні діаметри виступів та впадин зубів:
da1=de1+2m· cosд1; da2=de2+2m· cosд2;
df1=de1−2,4m· cosд1; df2=de2−2,4m· cosд2;
Зовнішня конічна довжина
Середня конічна довжина Rm=Re-0,5b.
Середній модуль зубів
Середні поділкові діаметри шестерні та колеса:
dm1=mZ1; dm2=mZ2;
7) Призначаємо ступінь точності зубчатих колес
В залежності від колової швидкості
2. УЗАГАЛЬНЕНА ПОСТАНОВКА ЗАДАЧІ
2.1 Оптимізація параметрів
Оптимізація параметрів — визначення таких номінальних значень внутрішніх параметрів X (…) об'єкта проектування, при яких функція f (x) — цільова функція, функція якості - приймає екстремальне (min і max) значення.
У процесі вирішення задачі оптимізації зазвичай необхідно знайти оптимальні значення деяких параметрів, що визначають це завдання. При вирішенні інженерних задач їх прийнято називати проектними параметрами, а в економічних задачах їх зазвичай називають параметрами плану. В якості проектних параметрів можуть бути, зокрема, значення лінійних розмірів об'єкта, маси, температури і т. п. Число n проектних параметрів x1, x2, …, Xn характеризує розмірність (і ступінь складності) задачі оптимізації.
Вибір оптимального рішення проводиться за допомогою деякої залежною величини (функції), яка визначається проектними параметрами. Ця величина називається цільовою функцією (або критерієм якості). У процесі виконання завдання оптимізації повинні бути знайдені такі значення проектних параметрів, при яких цільова функція має мінімум (або максимум). Таким чином, цільова функція — це глобальний критерій оптимальності в математичних моделях, за допомогою яких описуються інженерні або економічні завдання.
Цільову функцію можна записати у вигляді: U = f (x1, x2, …, xn).
Прикладами цільової функції, що зустрічаються в інженерних і економічних розрахунках, є міцність або маса конструкції, потужність установки, обсяг випуску продукції, вартість перевезень вантажів, прибуток і т. п.
У разі одного проектного параметра (n = 1) цільова функція є функцією однієї змінної, і її графік — деяка крива на площині. При n = 2 цільова функція є функцією двох змінних, і її графік — поверхня в тривимірному просторі.
Цільова функція не завжди може бути представлена?? у вигляді формули. Іноді вона може приймати тільки деякі дискретні значення, задаватися у вигляді таблиці і т. п. У всіх випадках вона повинна бути однозначною функцією проектних параметрів.
Цільових функцій може бути декілька. Наприклад, при проектуванні виробів машинобудування одночасно потрібно забезпечити максимальну надійність, мінімальну матеріаломісткість, максимальний корисний об'єм (або вантажопідйомність). Деякі цільові функції можуть виявитися несумісними. У таких випадках необхідно вводити пріоритет тієї чи іншої цільової функції.
У цій роботі в якості вхідних параметрів були обрані: P1 — потужність, n — частота обертання, U — передавальне число, P2- потужність. В якості проектних параметрів були обрані: Qсила, що діє на вали конічної передачі, lp — діаметр колеса, P -модуль зубів. В якості цільової функції була обрана функція, яка враховує ці три критерії (малюнок 2). При цьому кожен із критеріїв має свій коефіцієнт значимості, які користувач може задавати (чим важливіше параметр, тим більше коефіцієнт значимості). Цільова функція обчислюється за такою формулою 1.
f (P, Q, lp) = k1 * P + k2 * Q + k3 * lp, (1)
де k1, k2, k3 — коефіцієнти призводять вихідні параметри до безрозмірних, чим важливіше параметр, тим вище коефіцієнт.
Рисунок 4 — Входні і вихідні параметри
Програмний продукт дозволяє знайти максимальну допустиму силу, що діє на шарніри передачі при максимальному удільному зусиллі та довжині валу.
3. РОЗРОБКА ПРОГРАМНОГО ПРОДУКТУ
3.1 Підстави до розробки ПП з оптимізації конічної передачі
конічна передача алгоритм модуль
Алгоритми даного типу задачі застосовуються в деяких невеликих програмних пакетах науково-дослідницьких програм, а купувати пакет програм заради одного методу обчислення недоцільно. Цей метод не є важким для кодування та потребує невеликих фінансових, матеріальних та трудових ресурсів для забезпечення даної мети. Купуючи програмний продукт такого роду користувач витрачає майже той самий час для ознайомлення з програмою, що й її розробкою, крім того необхідність ознайомлення з даним пакетом займе багато часу й зусиль.
3.2 ТЗ для рішення задачі оптимізації конічної передачі
3.2.1 Вступ
Програмний продукт (ПП) представляє собою модель автоматизованної інформаційної системи для оптимізації розрахунків конічної передачі. ПП может використовуватися як частина розробки при створенні АІС для сучасних проектів та розробок.
3.2.2 Основа для розробки ПП з оптимізації конічної передачі
Розробка ведеться на основі індивідуального завдання до курсової роботи з дисципліни «Математичні методи дослідження операцій»
Організація, що затвердила цей документ: ДДМА
Дата затвердження: 1 квітня 2011 р.
Тема розробки: «ПП з оптимізації конічної передачі».
3.2.3 Призначення розробки ПП з оптимізації конічної передачі
ПП призначений для здійснення швидкого, точного та автоматичного розрахунку конічної передачі, використовуючи методи оптимізації, може використовуватися як частина розробки або самостійно.
3.2.4 Вимоги до ПП з оптимізації конічної передачі
3.2.4.1 Вимоги до функціональних характеристик
Програмний комплекс повинен виконувати наступні функції:
а) забезпечити наглядне представлення вхідної та розрахункової інформації;
б) виводити значення оптимізації цільової функції
в) мати інтуїтивно зрозумілий інтерфейс.
3.2.4.2 Вимоги до надійності ПП з оптимізації конічної передачі
Серед вимог до надійності необхідно виділити наступні:
а) ПК не повинен приводити до збоїв в роботі ОС;
б) ПК повинен забезпечувати обробку інформації, введеної користувачем.
3.2.4.3 Умови експлуатації ПП з оптимізації конічної передачі
Умови експлуатації ПМК визначаються СанПиН 2.2.2 545−96 «Гігійнічні вимоги до відеодисплейних терміналів, персональним обчислювальним машинам та організації роботи».
3.2.4.4 Вимоги до складу та параметрів технічних засобів
CPU: 1GHz або вище ОЗП: 512 MB или выше Видеоадаптер та мониіор: VGA (640×480) Super VGA (800×600) або більша роздільна здатність.
Вільне місце на HDD: 50Мб або більше.
Пристрої взаємодії клавіатура та миша.
3.2.4.5 Вимоги до інформаційної та програмної сумісності
Головною вимогою для данного продукта є наявність мови програмування Borland Delphi7.0 та незалежність від апаратної платформи.
3.2.5 Вимоги до програмної документації
Програмна документація повинна містити:
а) робочий проект ПМК;
б) вихідні коди ПМК з коментарями;
в) керівництво користувача;
г) контекстно-залежну допомогу;
д) керівництво по встановленню ПМК.
3.2.6 Техніко-економічні показники ПП з оптимізації конічної передачі
Економічна ефективність від впровадження ПП забезпечується за рахунок скорочення витрат часу на ручні розрахунки плоско ремінних передач.
Вартість розробки ПП становить 300 грн.
Стадії й етапи розробки наведені в таблиці 1.
Таблиця 1 — Стадії й етапи розробки
Етап/Строк виконання | Зміст робіт | Процентне відношення, % | |
Технічне завдання 10.04.11 20.04.11 | Аналіз і формалізація вимоги до ПП, планування робіт для розробки прикладення. | ||
Ескізний проект 20.04.11 30.04.11 | Попередня розробка ПП | ||
Технічний проект 30.04.11 15.05.11 | Реалізація робочої версії ПП | ||
Робочий проект 15.05.11 15.06.11 | Коректування та доробка програмного забезпечення та розробка документації. | ||
Впровадження 15.06.11 15.07.11 | Розробка заходів щодо впровадження й супроводу ПП | ||
3.2.7 Порядок контролю й приймання ПП з оптимізації конічної передачі
Контроль коректності функціонування й придатності ПП до експлуатації виконується спільно Розроблювачем і Замовником ПП на підставі вимог до ПП, надаваних Замовником. Рішення про приймання в експлуатацію приймається на підставі акту тестових випробувань.
3.2.8 Висновки про вибір моделі створення програмного продукту
У ході виконання курсової роботи були придбані навички аналізувати й формалізувати вимоги замовника, розраховувати витрати на створення програмного продукту, виконувати планування робіт, становити технічне завдання на створення програмного продукту, а так само навички розробки ПП.
3.3 Вибір мови програмування
Для виконання курсової роботи я вибрав мову Object Pascal та середу розробки Delphi. Delphi поєднує в собі зручність візуальних методів розробки, продуктивність оптимізуючого компілятора й потужність. Delphi дозволяє багаторазово використати один раз створений код, зменшуючи час, витрачений на розробку. Це потужна мова програмування, що включає обробку помилкових ситуацій, що дозволяють підвищити надійність програм. Нові й поліпшені способи доступу до даних, збільшення ймовірності повторного використання коду, завдяки спадкуванню візуальних форм і інші можливості цього інструмента.
3.4 Діаграма прецедентів
Для заданої предметної області основною метою є отримання максимально показнику цільової функції за введеними параметрами.
Рисунок 5 — UML-діаграма «Ввод параметрів для розрахунку та оптимізації конічної передачі»
Основні функції керування ПП з оптимізації конічної передачі
— задати початкові параметри передачі;
- задати коефіцієнти важливості складових цільової функції;
— розрахувати конічну передачу;
- побудувати графік залежності цільової функції від її параметрів;
— оптимізувати розрахунки конічної передачі;
- зберегти отримані дані в текстовому файлі.
3.5 Модулі та їх взаємодія між собою
Діаграма переходів наведена на рисунку 6.
Рисунок 6 - Діаграма переходів станів (STD)
Рисунок 7 - Контекстна діаграма програмного продукту
3.6 Керівництво користувача
3.6.1 Умови виконання програми
Для запуска програми переконайтесь у відповідність вашого комп’ютера системним вимогам, викладеним в пункті 3.1. Якщо Ваш комп’ютер має такі ресурси, то з диску, прикладеному до курсової роботи, скопіюйте файл Project1. exe та запустіть його. Після встановлення программи на Вашому комп’ютері приступайте до роботи.
3.6.2 Виконання програми
Розроблений програмний продукт дозволяє проводити розрахунок конічних передач з елементами оптимізації. При розрахунку враховується тип виконання передачі, кут нахилу зубів передачі.
Програма дозволяє знайти максимальну допустиму силу, що діє на вали передачі при максимальному удільному зусиллі та довжині валу.
В результаті проектування був розроблений програмний продукт, назва якого Project1.exe. Додаток не вимагає для своєї роботи ніякого додаткового ПЗ.
Для виконання завдання до курсової роботи була вибрана мова Object Pascal (середовище розробки Delphi7).
Для підтримки роботи даного розробленого продукту потрібна наявність наступного ПЗ: Windows 2000/XP/2003, Vista, Windows 7.
Користувач також може аналізувати результати при зміні деяких вхідних параметрів, представляти результати аналізу наочно і у вигляді графіків.
Кнопка «Оптимізувати» проводить оптимізацію цільової функції
F (Q, lp, P) = K1*Q + K2*lp + K3*P,
за декілька кроків та дозволяє знайти максимуми параметрів, а також побудувати графіки залежностей значення функції від окремих параметрів (рис. 8).
Кнопка «Зберегти у файл» дозволяє зберегти отримані дані у текстовому файлі у каталозі програми (рис. 8).
Кнопки «Очистити» дозволяють очистити поле для виведення інформації та поле для побудови графіків (рис. 8−9).
Рисунок 8 — Головна форма програми
Рисунок 9 — Головна форма програми
3.7 Довідкова система
В розробленому програмному продукті є наявність довідкової інформації. Для отримання довідкової інформації необхідно натиснути в головному меню Справка ->Вызов справки. При цьому виникне виклик help-документа, створеного за допомогою Microsoft Help Workshop.
Рисунок 10 — Вікно довідки Довідкова система складається з трьох розділів: «Загальні відомості», «Опис предметної області» та «Інформація по ПП».
4. ПРИКЛАД РОЗРАХУНКУ КОНІЧНОЇ ПЕРЕДАЧІ
Вхідні дані:
Р1 = 4,87 кВт Р2 = 4,63 кВт
n1 =1445 мин-1
n1 =802,8 мин-1
Кпер =1,8
U1,2 = 1,8
1) Назначаємо матеріал та розраховуємо допускємі навантаження Приймається для виготовлення шестерні та колеса Сталь 45 з термообробкою — покращення.
Для шестерні - твердість поверхні зубів Н1=269.302 НВ (найбільш вірогідна твердість Н1=285 НВ), уВ1=890 МПа, уТ1=650 МПа при діаметрі заготовки до 80 мм.
Для колеса — твердість поверхні зубів Н2=235.262 НВ (найбільш вірогідна твердість Н2=250 НВ), уВ1=780 МПа, уТ1=540 МПа при діаметрі заготовки до 125 мм.
Допускне контактне навантаження:
Для шестерні:
=2ННВ+70=2*285+70=640 МПа;
SH=1,1;
приймається КHL=1;
;
ZR=1 (прийнято Ra=1б25ююю0б63);
ZV=1 (очікується V<5 м/с);
KL=1 (закрита рясно змазуючи передача);
KXH1 (очикується діаметр колеса менше 700 мм);
Для колеса:
=2ННВ+70=2*250+70=570 МПа;
SH=1,1;
приймається КHL=1;
;
Для прямозубих передач в якості розрахункового контактного напруження приймається менше ;
2) Визначаємо коефіцієнти
KH=KHбKHвKHV,
де KHб=1 (прямі зуб’я), KHв=1,1 (при b2/d1=0,3;колеса прироблюються), KHV=1,2 (прийнято приблизно).
3) Визначаємо діаметр колеса Приймаємо найближче стандартне de2=125мм.
4) Визначаємо модуль Враховуючи, що для силових конічних передач рекомендоване число зубів шестерні Z1=17…20 при U=1,0…1,5 попередньо призначаємо Z1=20.
Приймаємо стандартне me=3,5 мм.
5) Визначаємо число зубів
(підбором стандартних значень модуля не вдалося забезпечитиціле число зубів колеса Z2);
6)Визначаємо геометричні параметри зубчастих колес
de1=mZ1=3,5· 20=70мм;
de2=mZ2=3,5· 36=126мм;
д2=arctgU1−2ф=arctg1,8=60,9454є;
д1=90є-д2=90є-60,9454є=29,0546є;
b=20мм;
Зовнішні діаметри виступів та впадин зубів:
da1=de1+2m· cosд1=70+2·3,5·cos20,0546є=76,129 мм;
da2=de2+2m· cosд2=126+2·3,5·cos60,9454є=129,40 мм;
df1=de1−2,4m· cosд1=70−2,4·3,5·cos20,0546є=62,66 мм;
df2=de2−2,4m· cosд2=126−2,4·3,5·cos60,9454є=121,92 мм;
Зовнішня конічна довжина Середня конічна довжина
Rm=Re-0,5b=72,0694−0,5· 20=62,0694 мм.
Середній модуль зубів Середні поділкові діаметри шестерні та колеса:
dm1=mZ1=3,014· 20=60,280 мм;
dm2=mZ2=3,014· 36=108,504 мм;
7) Призначаємо ступінь точності зубчатих колес В залежності від колової швидкості
назначаємо ступінь точності 8-В ГОСТ 1758–81.
ВИСНОВОК
В даній роботі було проведено вивчення теоретичного матеріалу з предметної області, аналіз, реалізація розрахунку та створення програмного продукту для оптимізації конічної передачі, знайти максимальну силу, що діє на вал передачі, максимальну довжину валу. При цьому враховується тип виконання передачі, кут нахилу зубів передачі.
Програмний продукт супроводили докладною пояснювальною запискою та простою довідковою системою.
Використання програмного продукту може бути різним — від демонстрації як приклад у начальних цілях до використання на підприємствах, у конструкторських бюро, в проектних інститутах для розрахунку та оптимізації конічних передач. Це значно збільшить ефективність та прибутковість таких підприємств.
ВИКОРИСТАНА ЛІТЕРАТУРА
1. Гольштейн, Е. Г. Линейное программирование./ Гольштейн, Е.Г., Юдин, Д. Б. Теория, методы и приложения. — М., Наука, 1969. — с. 424;
2. Грешилов, А. А. Прикладные задачи математического программирования: учебное пособие для ВУЗов./ Грешилов, А.А. — М., Логос, 2006. — с. 286;
3. Зайченко, Ю. П. Исследование операций./ Зайченко, Ю.П. — 2-ое издание, перер. и доп. — Киев., Высшая школа, 1979. — с. 392;
4. Таха.
Введение
в исследование операций./ Таха, Хэмди, А. — 6-е изд. — М., Изд. дом «Вильямс», 2001. — с. 912.
5. Кузнецов А. В., Сакович В. А., Холод Н. И. «Высшая математика. Математическое программирование «, Минск, Высшая школа, 2001 г.
6. Красс М. С., Чупрынов Б. П. «Основы математики и ее приложения», Издательство «Дело», Москва 2001 г.
7. Карнаух С. Г. «Расчеты механических передач. Учебное пособие к курсовому и дипломному проектированию для студентов механических специальнотей», ДДМА, Краматорск 2004 г.
8. В. И. Ермаков «Общий курс высшей математики», Москва, Инфра-М, 2000 г.
ПРИКЛАДЕННЯ А
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, TeEngine, Series, TeeProcs, Chart,
Menus, OleCtnrs, Math;
type
TForm1 = class (TForm)
Panel1: TPanel;
Label11: TLabel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit6: TEdit;
Edit7: TEdit;
GroupBox2: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
RadioGroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label12: TLabel;
Chart1: TChart;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
N4: TMenuItem;
OleContainer1: TOleContainer;
Edit4: TEdit;
Label3: TLabel;
RadioGroup4: TRadioGroup;
Memo1: TMemo;
Series1: TLineSeries;
Series2: TLineSeries;
Series3: TLineSeries;
procedure BitBtn1Click (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure BitBtn3Click (Sender: TObject);
procedure BitBtn4Click (Sender: TObject);
procedure BitBtn2Click (Sender: TObject);
procedure N2Click (Sender: TObject);
procedure N4Click (Sender: TObject);
// procedure RadioGroup4Click (Sender: TObject);
// procedure BitBtn2Click (Sender: TObject);
//procedure N2Click (Sender: TObject);
// procedure BitBtn3Click (Sender: TObject);
// procedure BitBtn4Click (Sender: TObject);
// procedure BitBtn5Click (Sender: TObject);
// procedure N5Click (Sender: TObject);
// procedure N4Click (Sender: TObject);
// procedure Label2Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
P1, U, n, Q, k1, k2, k3, max_func, min, d1op, v, d2op, lp, P, P0, C0,Ca, Cv, Cp, a1, Ft, b, d1,d2,e, aop, F0, max_Q, max_p, max_lp, func, min2, x, x2: real;
j, i_min, ap: integer;
d_tabl, d_tabl2,mas_raz1, mas_raz2: array [0.11] of real;
{ z1op, lpop, z2op, Kv, Kz1, ap, Ka, Ku, Kr, Kj, Kp, Ksm, Ke, Pizn_dop, k1, k2, k3: real;
P1,t1, t2, t3, hsum, U, n, Km, Knag, pop, min, p, a0, a, func, max_func, max_pizn_dop, max_a, max_lp, yy: real;
z1, z2, j, i_min, lp: integer;
p_tabl, mas_raz: array [0.5] of real; }
implementation
//uses Unit2;
{$R *.dfm}
procedure TForm1. BitBtn1Click (Sender: TObject);
var i: integer;
begin
aop:=0;
min:=10 000;
max_func:=-10 000 000;
d_tabl[0]: =71.0;
d_tabl[1]:=80.0;
d_tabl[2]:=90.0;
d_tabl[3]:=100.0;
d_tabl[4]:=112.0;
d_tabl[5]:=125.0 ;
d_tabl[6]: =140.0 ;
d_tabl[7]: =160.0 ;
d_tabl[8]: =180.0 ;
d_tabl[9]: =200.0 ;
d_tabl[10]: =224.0 ;
d_tabl[11]: =250.0 ;
P1:=StrToFloat (Edit1.Text);
n:=StrToFloat (Edit2.Text);
j:=StrToInt (Edit7.Text);
U:=StrToFloat (Edit6.Text);
P0:=StrToFloat (Edit4.Text); //Допускаемое окружное усиление (из таблицы 72,73)
k1:=StrToFloat (Edit8.Text);
k2:=StrToFloat (Edit9.Text);
k3:=StrToFloat (Edit10.Text);
d1op:=1100*exp (1/3*ln (P1/n)); //Ориентировочное значение диаметра первого шкива
for i:=0 to 11 do // Поиск ближайшего табличного значения диаметра первого шкива
begin
x:=d1op-d_tabl[i];
mas_raz1[i]:=abs (x);
end;
for i:=0 to 11 do
begin
if (mas_raz1[i]
begin
min:=mas_raz1[i];
i_min:=i;
// Memo2.Lines.Add (' mas_raz ='+FloatToStrF (mas_raz1[i], ffFixed, 5,2)+
// ' min ='+FloatToStrF (min, ffFixed, 5,2)+
// ' i_min = '+FloatToStrF (i_min, ffFixed, 5,2));
end;
end;
d1:=d_tabl[i_min]; // Назначаем диаметр первого шкива
v:=3.14*d1*n/60 000; // Скорость ремня
case RadioGroup1. ItemIndex of
0: e:=0.02;
1: e:=0.015;
end;
d2op:=U*d1*(1-e); // Ориентировочное значение диаметра второго шкива
min:=1 000 000;
for i:=0 to 11 do // Поиск ближайшего табличного значения диаметра первого шкива
begin
x2:=d2op-d_tabl[i];
mas_raz2[i]:=abs (x2);
end;
for i:=0 to 11 do
if (mas_raz2[i]
begin
min:=mas_raz2[i];
i_min:=i;
// Memo2.Lines.Add (' mas_raz2 ='+FloatToStrF (mas_raz2[i], ffFixed, 5,2)+
// ' min ='+FloatToStrF (min, ffFixed, 5,2)+
// ' i_min = '+FloatToStrF (i_min, ffFixed, 5,2));
end;
d2:=d_tabl[i_min]; // Назначаем диаметр второго шкива
case RadioGroup1. ItemIndex of
0: aop:=2*(d1+d2); // Ориентировочное межосевое расстояние
1: aop:=d1+d2;
end;
//aop<=5500
while aop<=5500 do
begin
lp:=2*aop+0.5*3.14*(d1+d2)+sqr (d2-d2)/4*aop; // Длина ремня
case RadioGroup2. ItemIndex of
0: C0:=1; //Коэффициент, учитывающий наклон передачи к горизонту
1: C0:=0.9;
2: C0:=0.8;
end;
a1:=180-((d2-d1)/aop)*57; // Угол обхвата ремнем первого шкива
Ca:=1−0.003*(180-a1); //Коэффициент охвата ремнем первого шкива
Cv:=1; //Коэффициент скорости
case RadioGroup2. ItemIndex of
0: Cp:=1.6; //Коэффициент режима работы
1: Cp:=1.7;
2: Cp:=2;
end;
P:=P0*C0*Ca*Cv/Cp; //Допустимое удельное усилие
Ft:=1000*P1/v; //Окружная сила (полезная)
b:=Ft/P; //Ширина ремня
b:=round (b); // В расчётах используем ближайшее целое значение ширины ремня
F0:=1.7*b*j; // Сила предварительного натяжения
Q:=abs (2*sin (a½)*F0);// Сила действия на валы ременной передачи
func:=k1*Q + k2*lp+P*k3;
Chart1.Series[0]. AddXY (Q, func);
Chart1.Series[1]. AddXY (lp, func);
Chart1.Series[2]. AddXY (P, func);
if func > max_func then
begin
max_func:=func;
max_Q:=Q;
max_lp:=lp;
max_p:=P;
end;
Memo1.Lines.Add ('При aop='+FloatToStrF (aop, ffFixed, 5,2)+
' Q='+FloatToStrF (Q, ffFixed, 5,2)+
' lp='+ FloatToStrF (lp, ffFixed, 5,2)+
//' d1='+FloatToStrF (d1, ffFixed, 5,2)+
// ' d2='+FloatToStrF (d2, ffFixed, 5,2)+
' P='+FloatToStrF (P, ffFixed, 5,2));
aop:=aop+100;
end;
Memo1.Lines.Add (' ');
Memo1.Lines.Add (' РЕЗУЛЬТАТЫ ОПТИМИЗАЦИИ:');
Memo1.Lines.Add (' ');
Memo1.Lines.Add ('Исходные данные: ');
Memo1.Lines.Add (' ');
Memo1.Lines.Add (' P1, кВт = '+FloatToStrF (strtofloat (edit1.Text), ffFixed, 5,2));
Memo1.Lines.Add (' n1, 1/мин = '+FloatToStrF (strtofloat (edit2.Text), ffFixed, 5,2));
Memo1.Lines.Add (' U = '+FloatToStrF (strtofloat (edit6.Text), ffFixed, 5,2));
Memo1.Lines.Add (' j = '+FloatToStrF (strtofloat (edit7.Text), ffFixed, 5,2));
Memo1.Lines.Add (' P0 = '+FloatToStrF (strtofloat (edit4.Text), ffFixed, 5,2));
Memo1.Lines.Add (' K1 = '+FloatToStrF (strtofloat (edit8.Text), ffFixed, 5,2));
Memo1.Lines.Add (' K2 = '+FloatToStrF (strtofloat (edit9.Text), ffFixed, 5,2));
Memo1.Lines.Add (' K3 = '+FloatToStrF (strtofloat (edit10.Text), ffFixed, 5,2));
Memo1.Lines.Add (' ');
Memo1.Lines.Add (' Значение целевой функции F (Q, lp, P)=' + FloatToStrF (max_func, ffFixed, 5,2)+ #13#10 +
' Сила действия на валы ременной передачи, Н = ' +FloatToStrF (max_Q, ffFixed, 5,2)+#13#10+
' Длина ремня, мм = '+FloatToStrF (max_lp, ffFixed, 5,2) + #13#10+
' Допускаемое окружное удельное усилие, Вт= ' +FloatToStrF (max_p, ffFixed, 5,2));
end;
procedure TForm1. FormCreate (Sender: TObject);
begin
Application.HelpFile := 'Help.HLP';
d_tabl2[0]: =71.0;
d_tabl2[1]:=80.0;
d_tabl2[2]:=90.0;
d_tabl2[3]:=100.0;
d_tabl2[4]:=112.0;
d_tabl2[5]:=125.0 ;
d_tabl2[6]: =140.0 ;
d_tabl2[7]: =160.0 ;
d_tabl2[8]: =180.0 ;
d_tabl2[9]: =200.0 ;
d_tabl2[10]: =224.0 ;
d_tabl2[11]: =250.0 ;end;
procedure TForm1. BitBtn3Click (Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm1. BitBtn4Click (Sender: TObject);
begin
Memo1.Lines.SaveToFile ('file.txt');
end;
procedure TForm1. BitBtn2Click (Sender: TObject);
var i: integer;
begin
for i:=0 to 2 do
begin
Chart1.Series[i]. Clear;
end;
end;
procedure TForm1. N2Click (Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1. N4Click (Sender: TObject);
begin
Application.HelpCommand (HELP_FINDER, 0);
end;
end.