ОТЧЕТ ПО МО. Методы оптимизации
Скачать 0.74 Mb.
|
Минимизация многомерной функции без ограничений на переменныеВесь код для минимизации многомерной функции без ограничений на переменные находится в приложении Б и В. В качестве условия остановки было выбрано значение равное 0.001. Минимизация многомерной функции f1(x)Функция f1(x) задана формулой f1(x) = 2*(X1 - 7) * (X1 - 7) + 5 * (X2 - 2) * (X2 - 2) График функции представлен на рисунке 2.1. Исходя из графика можно увидеть, что точка минимума находится по координатам (7;2). Рисунок 2.2 – График многомерной функции f1(x) На рисунке 2.3-2.7 представлен результат работы программы для f1(x) функции Для каждого метода начальная точка бралась с координатами (0;0). Метод быстрого спуска сошёлся за 11 итераций, метод Гельфанда-Цейтлина сошёлся сразу же, не зависимо от выбранной точки. Метод Нелдера-Мида работал 5 итераций. Рисунок 2.3 – Работа программы для функции f1(x) методами Нелдера-Мида и быстрого спуска Рисунок 2.4 – График программы для функции f1(x) методом Нелдера-Мида Рисунок 2.5 – График программы для функции f1(x) методом быстрого спуска Рисунок 2.6 – Работа программы для функции f1(x) методом Гельфанда-Цейтлина Рисунок 2.7 – График программы для функции f1(x) методом Гельфанда-Цейтлина Минимизация многомерной функции f2(x)Функция f2(x) задана формулой f2(x) = (X1 - 2) * (X1 - 2) + (X2 - 7) * (X2 - 7) + 50 * (X2 + 2 * X1 - 6) * (X2 + 2 * X1 - 6) + 7.6 График функции представлен на рисунке 2.8. Исходя из графика можно увидеть, что точка минимума находится по координатам (0,009;6,01). Рисунок 2.8 – График многомерной функции f2(x) Для каждого метода начальная точка бралась с координатами (0;0). Метод быстрого спуска сошёлся за 568 итераций, метод Гельфанда-Цейтлина сошёлся за 30 итераций. Метод Нелдера-Мида работал 17 итераций. На рисунке 2.9-2.15 представлен результат работы программы для функции f2(x). Рисунок 2.9– Работа программы для функции f2(x) методом Нелдера-Мида Рисунок 2.10 – График программы для функции f2(x) методом Нелдера-Мида Рисунок 2.11 – Работа программы для функции f2(x) методом Быстрого спуска первые 15 итераций Рисунок 2.12 – Работа программы для функции f2(x) методом Быстрого спуска последние 20 итераций Рисунок 2.13 – График программы для функции f2(x) методом Быстрого спуска последние 20 итераций Рисунок 2.14 – Работа программы для функции f2(x) методом Гельфанда-Цейтлина Рисунок 2.15 – График программы для функции f2(x) методом Гельфанда-Цейтлина |