r/>В
Метод бісопряженних градієнтів
Другим розглянутим методом став метод бісопряженних градієнтів. Цей метод, на відміну від методу сполучених градієнтів, підходить для НЕ позитивно певних систем лінійних рівнянь. У його основі лежить ідея побудови двох взаємно ортогональних послідовностей. Детальний опис алгоритму можна знайти в [11]. p align="justify"> Для ітераційних методів велику роль відіграють предобуславлівателі, метою яких є зниження числа обумовленості для матриці системи. Використовуючи як предобуславлівателя неповне розкладання, ми отримуємо завдання вибору порогу, з яким дане неповне розкладання буде вироблено. Провівши обчислення для різних значень порога, було вибрано найбільш підходяще. br/>В
Малюнок 15. Порогове значення для побудови предобуславлівателя
Результатом даного дослідження став вибір порогу 0.15.
2. Реалізація алгоритму
диференційний рівняння програмування алгоритм
Реалізація алгоритму рішення була написана в середовищі розробки MATLAB і представляє програму з графічним інтерфейсом користувача.
Нижче наведені скріншоти частині вікна програми, де користувачеві пропонується ввести праву частину диференціального рівняння (2.1), а також набір запізнювань, початкових значень параметрів і інші вихідні дані.
В
Малюнок 16. Скріншот частині вікна працюючої програми
В
Малюнок 17. Скріншот частині вікна працюючої програми
При написанні програми були використані деякі вбудовані в MATLAB і зовнішні бібліотеки, серед, яких:
1. Optimization Toolbox для безпосереднього вирішення завдань оптимізації.
2. Symbolic Math Toolbox для символьного обчислення градієнта і гессіан, введеної користувачем функції.
3. DerivEst для обчислення звичайно-різницевої апроксимації якобіана і гессіан.
4. SqpLab для реалізації SQP алгоритму і його модифікації.
Загальне число рядків, що міститься в програмі - більше 5000 без урахування зовнішніх бібліотек, серед яких близько 3000 містять ядро ​​обчислення - реалізація алгоритму рішення, 500 - для роботи з інтерфейсом користувача, а що залишилися 1500 - тестові приклади і unit-тести.
3. Чисельні приклади
У цій главі представлено кілька чисельних прикладів, на яких проводилося тестування програми, а також реальне завдання оцінки параметрів демографічної моделі.
Тестові приклади
В якості тестових прикладів бралися диференціальні рівняння, для яких відомі точні ...