
- •Некрасова м.Г. - Методы оптимизации Оглавление
- •Глава 1. Введение в методы оптимизации
- •Вопросы к главе 1
- •Глава 2. Основы теории оптимизации
- •2.1. Параметры плана
- •2.2. Целевая функция (план)
- •Вопросы к главе 2
- •Глава 3. Функция одной переменной
- •3.1. Определение функции одной переменной и её свойства
- •3.2. Исследование функций в экономике. Нахождение максимума прибыли
- •3.3. Определение глобального экстремума
- •3.4. Выпуклость, вогнутость функции
- •3.4. Критерий оптимальности
- •Замечание.
- •3.6. Идентификация оптимумов
- •Вопросы к главе 3
- •Глава 4. Одномерная оптимизация
- •4.1. Методы исключения интервалов
- •4.1.1. Метод сканирования
- •4.1.2. Метод деления отрезка пополам
- •4.1.2. Метод золотого сечения
- •4.1.2. Сравнительная характеристика методов исключения интервалов
- •4.2. Полиномиальная аппроксимация и методы точечного оценивания
- •4.2.1. Метод параболической аппроксимации
- •4.2.2. Метод Пауэлла
- •4.3. Сравнение методов одномерного поиска
- •Метод Пауэлла
- •Глава 5. Функции многих переменных
- •5.1. Функции многих переменных, их обозначение и область определения
- •5.2. Некоторые многомерные функции, используемые в экономике
- •5.3. Частные производные функции многих переменных
- •5.3. Экономический смысл частных производных
- •5.3. Частные производные высших порядков
- •5.6. Свойства функций нескольких переменных
- •5.7. Производная по направлению. Градиент. Линии уровня функции
- •5.8. Экстремум функции многих переменных
- •Вопросы к главе 5
- •Глава 6. Многомерная безусловная градиентная оптимизация
- •6.1. Концепция методов
- •6.2. Метод градиентного спуска
- •6.3. Метод наискорейшего спуска
- •Вопросы к главе 6
- •Глава 7. Критерии оптимальности в задачах с ограничениями
- •7.1. Задачи с ограничениями в виде равенств
- •7.2. Множители Лагранжа
- •7.3. Экономическая интерпретация множителей Лагранжа
- •7.4. Условия Куна - Таккера
- •7.4.1. Условия Куна – Таккера и задача Куна - Таккера
- •7.5. Теоремы Куна - Таккера
- •7.6. Условия существования седловой точки
- •Теорема 4. Необходимые условия оптимальности
- •Вопросы к главе 7
- •Глава 8. Модели динамического программирования
- •8.1. Предмет динамического программирования
- •8.2. Постановка задачи динамического программирования
- •8.3. Принцип оптимальности и математическое описание динамического процесса управления
- •8.4. Общая схема применения метода динамического программирования
- •8.5. Двумерная модель распределения ресурсов
- •8.6. Дискретная динамическая модель оптимального распределения ресурсов
- •2 Этап. Безусловная оптимизация.
- •8.7. Выбор оптимальной стратегии обновления оборудования
- •8.8. Выбор оптимального маршрута перевозки грузов
- •2 Этап. Безусловная оптимизация.
- •8.9. Построение оптимальной последовательности операций в коммерческой деятельности
- •1 Этап. Условная оптимизация.
- •Вопросы к главе 8
- •Пример выполнения задачи 1
- •Пример выполнения задачи 4
- •Пример выполнения задачи 5
- •Расчетно-графическое задание 2
- •Пример выполнения задачи 1
- •Пример выполнения задачи 2
- •Пример выполнения задачи 3
- •Пример выполнения задачи 4
- •1 Этап. Условная оптимизация.
- •2 Этап. Безусловная оптимизация.
- •2 Этап. Безусловная оптимизация.
6.3. Метод наискорейшего спуска
Основным недостатком градиентного метода является необходимость частого вычисления производных от функции f(х). Этого недостатка лишен метод наискорейшего спуска, который заключается в следующем.
В текущей точке вычисляется grad f(x), и затем в направлении градиента ищется min f(x). Практически это может быть осуществлено любым методом одномерной оптимизации (поиск по одному направлению – направление градиента), наиболее часто используется сканирование до первого локального минимума по направлению grad f(x).
В результате вдали от оптимума эффективность метода повышается, мы быстрее попадем в район оптимума, в окрестности которого эффективность метода снижается из-за частой смены направления поиска и приближается к эффективности метода градиента.
В ряде случаев можно повысить скорость выхода в район оптимума предъявлением невысоких требований к точности поиска min по направлению (задается величиной h – шагом поиска по направлению). Условием окончания может являться малость модуля градиента функции f(x): |grad f(x)| < . Можно также использовать и малость приращений по переменным в результате шага, но только в том случае, если на данном шаге мы «проскочили» оптимум, иначе может оказаться, что малость шага обусловлена не близостью к оптимуму, а малостью коэффициента пропорциональности шага h.
В ряде случаев используют уменьшение шага поиска оптимума по направлению после каждой смены направления. Условием окончания поиска в этом случае является достижение заданной малой величины шага.
Метод наискорейшего спуска отличается от градиентного спуска способом определения величины hk, которая находится из условия:
(*)
Такой выбор hk
обеспечивает максимально возможное
уменьшение функции f(x)
вдоль направления ее антиградиента
в
точке х(k).
Таким образом, для определения hk на каждом шаге метода наискорейшего спуска решается одномерная задача минимизации функции Фk(h), для чего можно использовать рассмотренные выше методы одномерной оптимизации.
Пример 64.
Минимизировать функцию
методом
наискорейшего спуска, завершив вычисления
при
,
i = 1, 2.
Решение. Найдем
частные производные:
1-й шаг. Положим х(0) = (0, 0), тогда
Функцию Ф0(h) находим, используя соотношение (*). Для нахождения точки минимума функции Ф0(h) используем метод Пауэлла. Поскольку шаг h изменяется в пределах 0 < h < 1, то за первоначальное значение примем h = 0, а h = 0.5. Таким образом находим h0 = 0.22.
Значит, х(1) =(0, 0) – 0.22(1, 1) = (-0.22, -0.22).
Вычислим значение производных: f(-0.22, -0.22) = (0.204, -0.236). Условия завершения поиска не выполняются, следовательно, переходим к следующему шагу.
2-й шаг. Составим функцию:
Снова используем метод Пауэлла, полагая h = 0 и h = 0.5, находим h1 = 0.32.
Значит, х(2) =(-0.22,-0.22) – 0.32(0.204, -0.236) = (-0.2853, -0.1445).
Вычислим значение производных: f(-0.2853, -0.1445) = (0.08, 0.0726). Условия завершения поиска не выполняются, следовательно, переходим к следующему шагу.
3-й шаг. Составим функцию:
Используем метод Пауэлла, полагая h = 0 и h = 0.5, находим h2 = 0.24.
Значит, х(3) =(-0.2853-0.240.08, -0.1445-0.240.0726) = (-0.3045, -0.1619).
Вычислим значение производных: f(х(3)) = (0.0182, -0.0205). Условия завершения поиска выполняются, поэтому требуемая точность достигнута и
Пример 65. Минимизировать функцию f(x, y) = x3+2y2-3x-4y, методом градиентного спуска с дроблением шага, завершив вычисления при
Решение. Найдем
частные производные:
1-й шаг. Положим х(0) = (0, 0), тогда
Функцию Ф0(h) находим, используя соотношение (*). Для нахождения точки минимума функции Ф0(h) используем метод Пауэлла. Поскольку шаг h изменяется в пределах 0 < h < 1, то за первоначальное значение примем h = 0, а h = 0.5. Таким образом находим h0 = 0.281.
Значит, х(1) =(0, 0) – 0.281(-3, -4) = (0.843, 1.124).
Вычислим значение производных: f(х(1)) = (-0.8681, 0.496). Условия завершения поиска не выполняются, следовательно, переходим к следующему шагу.
2-й шаг. Составим функцию:
Снова используем метод Пауэлла, полагая h = 0 и h = 0.5, находим h1 = 0.2121.
Значит, х(2) =(0.833+0.21210.8681, 1.124-0.21210.496) = (1.0171, 1.0188).
Вычислим значение производных: f( х(2)) = (0.1035, 0.0752). Условия завершения поиска не выполняются, следовательно, переходим к следующему шагу.
3-й шаг. Составим функцию:
Используем метод Пауэлла, полагая h = 0 и h = 0.5, находим h2 = 0.2196.
Значит, х(3) =(1.0171-0.21960.1035, 1.0188-0.21960.0752) = (0.9944, 1.002).
Вычислим значение производных: f(х(3)) = (-0.0335, 0.008). Условия завершения поиска выполняются, поэтому требуемая точность достигнута и