
- •Некрасова м.Г. - Методы оптимизации Оглавление
- •Глава 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 Этап. Безусловная оптимизация.
4.1.2. Метод золотого сечения
Метод золотого сечения также является последовательным методом минимизации. Опираясь на свойства золотого сечения отрезка, этот метод использует найденные значения f(x) более рационально, чем метод деления отрезка пополам, что позволяет переходить к очередному отрезку, содержащему точку х* после вычисления одного, а не двух значений f(x).
Метод основан на делении текущего отрезка [a; b], где содержится искомый экстремум, на две неравные части, подчиняющиеся правилу золотого сечения, для определения следующего отрезка, содержащего максимум.
Правило золотого сечения: отношение всего отрезка к большей его части равно отношению большей части отрезка к меньшей. Ему удовлетворяют две точки с и d, расположенные симметрично относительно середины отрезка:
Путем сравнения f(с) и f(d) определяют следующий отрезок, где содержится максимум. Если f(d) > f(с), то в качестве следующего отрезка выбирается отрезок [с, b], в противном случае — отрезок [а, d].
Новый отрезок снова делится на неравные части по правилу золотого сечения. Следует отметить, что точка d является и точкой золотого сечения отрезка [с, b], т.е.
Поэтому на каждой следующей итерации (кроме "запуска" метода на исходном отрезке) нужно вычислять только одно значение критерия оптимальности.
Существуют аналитические формулы для расчета новой точки на отрезке, где находится максимальное значение f(x).
Золотое сечение отрезка [a; b] осуществляется двумя точками:
(3)
причем х1 есть вторая точка золотого сечения отрезка [a; x2], а х2 – первая точка золотого сечения отрезка [x1; b].
Зная одну из точек золотого сечения отрезка [a; b], другую можно найти по одной из формул
x1 = a + b - x2, x2 = a + b – x1. (4)
Пусть f(x)
Q[a;
b] и требуется
найти точку минимума х* функции f(x)
на [a; b].
Построим последовательности {an},
{bn},
{
},
n = 1, 2, …, следующим
образом:
(5)
первая и вторая точки золотого сечения (3) отрезка [an-1; bn-1].
Для определения чисел an,
bn,
по
найденным an-1,
bn-1,
необходимо
выполнить следующие операции:
1)
найти одну из точек золотого сечения
отрезка [an-1;
bn-1]
по известной другой точке
,
используя формулы (4) или (3);
2) вычислить значение f(x) во вновь найденной точке золотого сечения;
3)
сравнить значения
и
и
найти an, bn,
xn
по формулам (5).
Таким образом, на каждом шаге определения
an,
bn
и
,
n=2, 3, …, требуется
вычисление одного значения f(x).
Положив
,
найдем точку минимума х* с точностью
n:
(6)
откуда следует, что число шагов n метода золотого сечения, обеспечивающее заданную точность нахождения точки х*, должно удовлетворять неравенству:
(7)
Либо можно принять другое условие окончания поиска — величина отрезка, содержащего максимум, меньше заданной погрешности.
Метод золотого сечения обеспечивает более быструю сходимость к решению, чем многие другие методы, и применим, очевидно, только для одноэкстремальных функций, т.е. функций, содержащих один экстремум того типа, который ищется в задаче.
Н
а
рис. 18 приведены два этапа
поиска максимума функции
методом золотого сечения:
1
– интервал, включающий в себя искомый
максимум функции после первого этапа
(первого золотого сечения в точках c
и d);
2
– то же, после второго этапа (новая точка
e
и старая точка d).
Пример 17. Найти
минимальное значение f*
и точку минимума х* функции
на
отрезке [1.5; 2]. Точку х* найти с
точностью =0,05.
Решение. Вычисления проведем по формулам (5) представив результаты в табл. 12.
Таблица 12
n |
n |
an |
bn |
X1(n) |
x2(n) |
f(x1(n)) |
f(x2(n)) |
Примечание |
1 |
0,309 |
1,500 |
2,000 |
1,691 |
1,809 |
-92,049 |
-91,814 |
|
2 |
0,191 |
1,500 |
1,809 |
1,618 |
1,691 |
-91,464 |
-92,049 |
|
3 |
0,118 |
1,618 |
1,809 |
1,691 |
1,736 |
-92,049 |
-92,138 |
|
4 |
0,073 |
1,691 |
1,809 |
1,736 |
1,764 |
-92,138 |
-92,084 |
|
5 |
0,045 |
|
|
|
1,736 |
|
-92,138 |
|
Первоначальные значения х1 и х2 находим по формулам (3), а значения точности по формуле (6).
Из таблицы получаем
Заметим, что если воспользоваться формулой (7), то необходимое число шагов n можно определить заранее. В нашем случае n 4,79, т.е. n = 5, и отпадает необходимость во втором столбце табл. 12.
Пример 18. Найти точку минимума х*и минимум f* функции f(x)=x2+3x(lnx-1) на отрезке [0.5; 1] с точностью =0,05.
Решение. Вычисления представим в табл. 13.
Таблица 13
n |
n |
an |
bn |
х1(n) |
x2(n) |
f(x1(n)) |
f(x2(n)) |
Примечание |
1 |
0,309 |
0,5 |
1 |
0,691 |
0,809 |
-2,362 |
-2,287 |
|
2 |
0,191 |
0,5 |
0,809 |
0,618 |
0,691 |
-2,364 |
-2,362 |
|
3 |
0,118 |
0,5 |
0,691 |
0,573 |
0,618 |
-2,348 |
-2,364 |
|
4 |
0,073 |
0,573 |
0,691 |
0,618 |
0,646 |
-2,364 |
-2,368 |
|
5 |
0,045 |
|
|
0,646 |
|
-2,368 |
|
|
Следовательно, х* 0,646, и f* f (0,646) = -2,368.