Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект САПР_.doc
Скачиваний:
13
Добавлен:
13.09.2019
Размер:
1.02 Mб
Скачать

Лекція № 4

ОПТИМІЗАЦІЯ ТЕХНІЧНИХ РІШЕНЬ В САПР

4.1 Основні поняття оптимізації

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

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

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

Цільову функцію можна записати у вигляді:

. (4.1)

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

У випадку одного проектного параметра ( ) цільова функція (4.1) є функцією однієї змінної та її графік – деяка крива на площині. При цільова функція є функцією двох змінних та її графіком є поверхня.

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

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

Задачі оптимізації. Можна виділити два типи задач оптимізації – безумовні і умовна. Безумовна задача оптимізації полягає у відшуковуванні максимуму або мінімуму дійсної функції (4.1) від дійсних змінних та визначенні відповідних значень аргументів на деякій множині - мірного простору. За звичай розглядаються задачі мінімізації. До них легко зводяться і задачі пошуку максимуму шляхом заміни знаку цільової функції на протилежний.

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

Обмеження-рівності виражають залежність між проектними параметрами, яка повинна враховуватись при знаходженні рішення. Ці обмеження відображають закони механіки, наявність ресурсів і т.ін.

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

(4.2)

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

(4.3)

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

Теорія і методи розв’язку задач оптимізації при наявності обмежень є предметом досліджень розділу прикладної математики – математичного програмування.

4.2 Постановка задачі оптимізації

Нехай необхідно спроектувати контейнер у формі прямокутного паралелепіпеда об’ємом , причому бажано використати на його виготовлення якомога менше матеріалу.

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

. (4.4)

Ця функція у даному випадку є цільовою, а умова - обмеженням-рівністю, яке дозволяє виключити один параметр:

, ,

. (4.5)

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

Разом з тим дану задачу можна ускладнити і поставити додаткові умови. Наприклад, нехай даний контейнер має довжину не менше 2м. Ця умова запишеться у вигляді обмеження-нерівності на один з параметрів, наприклад:

. (4.6)

Таким чином отримали умовну задачу оптимізації: мінімізуючи функцію (1.5) і враховуючи обмеження-нерівність (1.6), знайти оптимальне значення проектних параметрів ( ).

4.3 Одномірна оптимізації

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

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

1) необхідно взяти похідну ;

2) знаходяться критичні точки з рівняння ;

3) до критичних точок додаються граничні точки відрізка ;

4) визначаються значення функції у всіх критичних точках;

5) співставляються отримані результати у пункті 4 та визначається і значення.

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

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

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

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

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

,

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

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

4.4 Багатомірні задачі оптимізації

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

; ; ... ; . (4.7)

Приклад. Необхідно спроектувати контейнер у формі прямокутного паралелепіпеда об’ємом м3, причому витратити на його виготовлення якомога менше матеріалу.

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

. (4.8)

Ця функція в даному випадку є цільовою функцією, а умова м3 – обмеженням-рівністю, котре дозволяє виключити один параметр:

, (4.9)

звідки . (4)

Тому цільова функція матиме вигляд:

. (4.10)

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

В даному прикладі фактично отримано задачу безумовної оптимізації (2), оскільки обмеження рівність було використано для виключення параметра .

Про диференціюємо цільову функцію отримаємо систему двох алгебраїчних рівнянь:

(4.11)

Розв’язуючи систему матимемо: м, м.

Таким чином, оптимальною формою контейнера в даному випадку є куб, з довжиною ребра 1 м.

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

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

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

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

  1. задовольняють систему лінійних рівнянь

(4.12)

  1. є додатними, тобто

, ,..., ; (4.13)

  1. забезпечують найменше значення лінійної цільової функції

. (4.14)

Будь-який розв’язок системи рівнянь (4.12), що задовольняє систему нерівностей (4.13), називається допустимими розв’язками. Допустимий розв’язок, який мінімізує цільову функцію (4.14), називається оптимальним розв’язком.

Для розкриття сутності лінійної моделі оптимізації розглянемо графічний метод розв’язку задачі лінійної оптимізації.

Нехай виконується обробіток ґрунту і , що вимагає використання обладнання: , , . Час роботи з кожним видом обладнання характеризується наступними даними:

Обробіток ґрунту

(норма часу)

2

1

0

(норма часу)

1

3

1

Завантаження обладнання (год)

200

180

50

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

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

, (4.15)

при обмеженнях ; ; ; ; .

Умова задачі графічно показана на рис.4.1.

Рис.4.1. Застосування графічного методу розв’язку задачі лінійної оптимізації

Пряма відповідає рівнянню , яке відображає обмеження використання обладнання . Точки та знаходяться із умов: ; ;

; . Аналогічним чином проводяться лінії та , що відповідають рівнянням, які відображають обмеження , .

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

В даному прикладі розв’язок визначається екстремальною точкою , координати якої визначаються з розв’язку системи рівнянь

; .

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

4.5. Оптимізація систем методом нелінійного та динамічного програмування

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

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

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

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

Детально ознайомитись з роботою методу Фібоначчі можна використовуючи систему MathCAD, завантаживши в неї демонстаційний файл Fibonachy.mcd.

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

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

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

1. Поведінка системи розглядається в часі.

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

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

4. Змінні і обмеження формуються за окремими кроками.

5. Вибір оптимального вирішення на кожному кроці заключається в перетворенні числових значень параметрів стану системи на початку кроку в інші числові значення.

6. Модель повинна мати якомога менше змінних.

7. Оптимальність рішення на кожному кроці оцінюється в термінах критерію ефективності системи.

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

K=max (min) F(x,u),

при умовах:

• шукане управління системою заходиться в області допустимих значень ;

• система х повинна знаходитись в області допустимих значень хдоп;

• задані обмеження не є початковим і кінцевим станом системи;

• задані функції, які характеризують дану систему.

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