3.3.2 Решение задач нелинейного программирования в среде приложения Matlab
Метод покоординатного спуска (Гаусса – Зейделя)
На каждом шаге метод «приближается» к решению последовательно по каждой из координат. Переход от точкик точке+1 назовем «внешней» итерацией. Внутри каждой «внешней» итерации находятся n «внутренних» для последовательного вычисления координат точки+1.
.
,
,
,
…………………………………………………………,
.
,
.
Блок-схема алгоритма метода покоординатного спуска с постоянным
шагом и программа приведены в Приложении 1. Графическая
иллюстрация решения приведена на Рис.3.9.
Рисунок 3.9 – Графическая иллюстрация движения к максимуму методом
покоординатного спуска.
Градиентный метод с постоянным шагом.
На каждой итерации метод «приближается» к решению, вычисляя новое значение каждой координаты в соответствии с формулой. Блок-схема алгоритма метода с постоянным шагом и программа приведены в Приложении. Графическая иллюстрация решения приведена на Рис. 3.10.
Рисунок 3.10 – Движение к максимуму с постоянным шагом.
В примере Рис.3.11 происходит дробление шага на первой итерации
алгоритма. В этом можно убедиться, поставив точку останова на строке 56.
Рисунок 3.11 – Графическая иллюстрация метода с дроблением шага
Градиентный метод наискорейшего спуска.
На каждой итерации вычисляется значение шага γ, максимизирующее значение целевой функции:
.
Новые координаты вычисляются с помощью этого значения:
Скалярное произведение векторов-градиентов на двух смежных итерациях равно нулю:
Это означает, что движение от точки к точке происходит по взаимно-ортогональным направлениям. (Рис.3.12).
Рис.3.12 – Движение к экстремуму по взаимно-ортогональным направлениям в методе наискорейшего спуска.
Сравнение методов.
Для сравнения точности и быстродействия методов в данной работе используется следующий простой прием. В вышеприведенных примерах решалась простейшая задача, точное решение которой находится из системы линейных уравнений.
f(
В таблице 3.1 для каждого метода приводится число итераций к, за которое из одной и той же начальной точки алгоритм приходит в точку хк, норма вектора-градиента в которой становится меньше заданного числа δ =0,01 -точности метода. Точка хк является решением задачи. Методы сравниваются по значению отклонения этой точки от точки х*=0 – точного безусловного максимума .
Таблица 3.1 –Сравнения точности и быстродействия методов
Метод | Отклонение | Число итераций |
Покоординатный спуск | 0.0030555 | 20 |
«По всем координатам сразу» с постоянным шагом | 0.0035189 | 22 |
«По всем координатам сразу» с дроблением шага | 0.0040109 | 14 |
Метод наискорейшего спуска | 0.0013446 | 12 |
ВЫВОДЫ
В данном дипломном проекте я представила решение задач нелинейного программирования различными методами для проведения анализа поведения этих методов на выбранных математических моделях нелинейного программирования.
Для достижения поставленной цели были выполнены следующие действия
-решены выбранные задачи нелинейного программирования графическим методом;
-решены выбранные задачи нелинейного программирования методом множителей Лагранжа
-представлена компьютерная реализация выбранных задач нелинейного программирования в среде пакетов Excel и Matlab
- Содержание
- Введение
- 1 Классический медод решения задач нелинейного программирования
- 1.1 Постановка задачи
- 1.2 Экстремум функции одной переменной
- 1.3 Экстремумы функций многих переменных
- 1.4 Метод неопределенных множителей Лагранжа
- 1.4.1 Основные положения
- 1.4.2 Геометрическая интерпретация метода множителей Лагранжа
- 1.4.3 Экономическая трактовка метода множителей Лагранжа
- 1.4.4 Особые случаи
- 1.5 Особенности реальных задач
- 2 Численные методы решения задач нелинейного программирования
- 2.1 Общая характеристика методов решения задач нелинейного программирования
- 2.2 Методы одномерной оптимизации
- 2.2.1 Метод прямого сканирования
- 2.2.2 Метод половинного деления
- 2.2.3 Метод "золотого сечения"
- 2.2.4 Метод Фибоначчи
- 2.3 Методы многомерной оптимизации
- 2.3.1 Метод Гаусса-Зайделя
- 2.3.2 Метод градиента
- 2.3.3 Метод наискорейшего спуска
- 2.3.4 Метод квантования симплексов
- 2.3.5 Поиск при наличии "оврагов" целевой функции
- 2.4 Методы поиска условного экстремума
- 2.4.1 Метод проектирования вектора-градиента
- 2.4.2 Метод ажурной строчки
- 2.5 Проблемы поиска глобального экстремума
- 3 Численные методы решения задач нелинейного программирования
- 3.1 Графический метод решения задач нелинейного программирования
- 3.2 Метод множителей Лагранжа
- 3.3 Компьютерная реализация решений задач нелинейного программирования
- 3.3.1 Решение задач нелинейного программирования в среде приложенияExcel
- 3.3.2 Решение задач нелинейного программирования в среде приложения Matlab
- Перечень ссылок
- Приложение а Блок-схемы методов