загрузка...
 
2.11.4. Метод першого порядку
Повернутись до змісту

2.11.4. Метод першого порядку

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

Задача формулюється в такому вигляді:

, (2.27)

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

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

,                         (2.28)

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

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

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

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

.                          (2.29)

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

                                  (2.30)

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

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

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

,                (2.31)

.     (2.32)

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

,            (2.33)

де  - вектор, який дорівнює або 1, або 0; ,  - правостороння різниця (у відсотках) розміру кроку (ввести DELTA в команді OPFRST).

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

Знайдений таким чином екстремум використовується як початкова точка для наступної ітерації і т.д.

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

- різниця значень цільової функції між кращим проектом і поточним проектом менше похибки збігу цільової функції

;                         (2.34)

- різниця значень цільової функції між попереднім проектом і поточним проектом менше похибки збігу цільової функції

.                           (2.35)

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

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

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



загрузка...