ign="justify"> 2. Метод зовнішньої точки (метод В«штрафнихВ» функцій).
У цьому завданню ми будемо використовувати метод зовнішньої точки.
Метод зовнішньої точки
Ідея методу:
Використовуються в якості штрафних функцій залежності, які всередині області Х близькі або дорівнюють нулю, а поза її необмежено зростають при видаленні від кордону допустимої області.
На рис. 4 представлені тенденції змін ітеративних рішень із зростанням коефіцієнтів a i.
В
Рис. 4
Цей метод можна застосовувати для обмежень типу рівностей і нерівностей.
У нашому випадку обмеження типу нерівностей, тому використовується штрафна функція виду:
В В
Приклади В«штрафнихВ» функцій:
а) Для обмежень типу рівностей:
В
функція штрафу:
s (2) (x, a ) = a [gj (x)] 2k, k = 1,2,3, ........., n
б) Для обмежень типу нерівностей:
В
sj (2) (x, a) = a [max (0, gj (x))] 2k
Переваги: ​​
В· Метод застосуємо при будь-яких обмеженнях.
В· Початок пошуку може відбуватися з будь-якої точки арифметичного простору Rn.
Недоліки:
В· Елементи послідовності можуть не перебувати в допустимій області.
В· Не всі методи чисельної безумовної оптимізації застосовні для ряду функцій штрафу.
В· Загальним недоліком методу штрафних функцій є зростання яружно функції із зростанням коефіцієнтів штрафу.
Рішення поставленого завдання
Метод покоординатного спуску
Початкова точка:
В
Крок:
Точність:
Коефіцієнт штрафу: 1.25
Результат:
В
В
методу сполучених градієнтів
Початкова точка:
В
Крок:
Точність:
Коефіцієнт штрафу: 1
Результат:
В
В
Програмна реалізація
Метод покоординатного спуску
// $ $ ---- Form CPP ----
// --------------------------------------------- ------------------------------
# include
# pragma hdrstop
# include
# include
# include "Unit1.h"
// --------------------------------------------- ------------------------------
# pragma package (smart_init)
# pragma resource "*. dfm" * Form1; shp = 1.25; shp1 = shp; shp2 = shp; shp3 = shp;
// ---...