
- •1. Методы одномерной оптимизации
- •1.2.2. Метод золотого сечения
- •2. Методы безусловной оптимизации
- •2.1.1. Поиск по правильному симплексу
- •2.2.1. Метод циклического покоординатного спуска
- •2.2.2. Метод Зейделя
- •2.2.3. Метод Хука - Дживса
- •2.2.4. Метод Пауэлла
- •2.2.5. Типовые примеры
- •2.3.1. Метод градиентного спуска
- •2.3.2. Метод наискорейшего спуска
- •2.3.3. Типовой пример
- •3.1.1. Метод штрафных функций
- •3.1.2. Метод барьерных функций
- •3.1.3. Комбинированный метод штрафных функций
- •3.1.4. Типовой пример
- •3.2.2. Описание метода возможных направлений
- •3.2.3. Построение начального приближения
- •3.2.4. Выбор наилучшего подходящего направления
- •3.2.5. Определение длины шага
- •3.2.6. Типовой пример
- •3.3.3. Алгоритм статистичекого градиента
- •3.3.2. Алгоритм наилучшей пробы
- •4.2.2. Алгоритм метода
1.2.2. Метод золотого сечения
В методе дихотомии при выполнении каждой итерации определяются две новые пробные точки: х[кхг Рассмотрим такое симметричное их расположение на отрезке [а\ Ь], при котором одна из них становится пробной точкой и на новом отрезке, полученном после исключения части исходного отрезка. Использование таких точек позволяет на каждой итерации метода исключения отрезков, кроме первой, ограничиться определением значения функции /(х) только в одной точке, так как другое значение уже найдено на предыдущей итерации. Таким свойством обладают точки золотого сечения отрезка [а; Ь].
Золотым сечением отрезка называется такое деление отрезка на две неравные части, что отношение длины всего отрезка к ■ длине его большей части равно отношению длин большей и меньшей частей отрезка. Находятся две точки х, и х2 (х, < х2)
(1.12)
которые делят отрезок [а; Ь] в указанном отношении:
b~x
п > log
(1.11)
Ь-а-Ь
2е-6 Опишем алгоритм метода дихотомии.
ШагО.
Задать параметр точности 8 > 0, параметр
алгоритма 8е(0;
2s).
Шаг 1. Вычислить х] и х, по формулам (1.8) и значения функции/^,) и/(х2).
b-xt x,-a x2-a
Свойство золотого сечения как раз и замечательно тем, что точка хх также производит золотое сечение отрезка [я; х2], а точка х, в том же отношении делит отрезок [х,; Ь]. Это свойство и кладется в основу метода золотого сечения.
9
Отметим, что точки *, и х2 симметричны относительно середины очередного отрезка:
х = а + Ъ - х ; х = а+ Ъ - х .
Поэтому на каждой итерации недостающую пробную точку нового отрезка можно найти по перешедшей на него пробной точке, не используя формул (1.12).
В конце вычислений в качестве приближенного значения х" можно взять середину последнего из полученных отрезков. На каждой итерации отрезок поиска точки минимума уменьшается
в одном и том же отношении т = (-Л -1 ] 2, поэтому в результате
п итераций его длина становится равной hn = i"(b - а). Таким образом, точность ел определения точки х* после п итераций находится по формуле
e-=y = JT"(*-«). (1.15)
а условием окончания поиска х' с наперед заданной точностью s служит неравенство е t < e. Используя это условие и формулу (1.15), можно оценить число итераций, потребное для достижения заданной точности е:
2±_ Ь-а
(1.16)
Опишем алгоритм метода золотого сечения. Шаг 0. Задать параметр точности е > 0, положить
(1.14)
2s
/(х,) =/(л2), хг = а + Ь - х{ и вычислить/(х(). Положить ел = тел и перейти к шагу 2.
ЩагАЗавершить поиск, положив х' »х = ./' «/(xj.
1.3. Сравнительный анализ методов одномерного поиска
Эффективность прямых методов обычно оценивают или по объему вычислений, обеспечивающему заданную точность, или по гарантированной точности, достигнутой в результате выполнения заданного объема вычислений.
Поскольку при реализации методов одномерного поиска определение значений функции f{x) требует несравненно больших затрат, чем выполнение таких вспомогательных операций, как вычисление точек перебора, сравнение значений функции и т.п., то объем вычислений можно оценить количеством N вычислений значений функцииДх).
Метод считается тем эффективнее, чем меньше N, гарантирующее заданную точность определения точки х' минимума фун-кцииДх). Для сравнения рассматриваемых методов по этому признаку рекомендуется составить таблицу значений N(z) в зависимости от требуемой точности определения х'.
При сравнении методов по точности более эффективным считается тот из рассматриваемых методов, который обеспечивает достижение меньшего значения e(N) при одинаковом объеме вычислений. Для получения вывода о точности рекомендуется составить таблицу значений достигнутой точности z(N) в зависимости от количества N найденных значений функции/(х)для указанных методов.
Порядок выполнения лабораторной работы
Кратко описать изучаемые методы одномерного поиска.
Решить задачу (1.1) классическим методом.
II
Выполнить программную реализацию каждого алг
Провести расчеты указанной в индивидуальномзадачи при различных значениях параметров алгоритмов с ц?лью получения результатов, достаточных для сравнения изучаемых методов.
Выполнить сравнительный анализ (см. подразд. 1.3) изучаемых методов, составив для этого таблицы значений /V(e) и е (М
Сформулировать вывод о сравнительной эффективностиизучаемых методов. Содержание работы отразить в отчете.
Задания для лабораторной работы
1. Минимизировать функцию f (х) = ху[х^Л ~ х1 на отрезке [-1; 2].
— на отрез-
2. Минимизировать функцию /(х) = л--1п.т +ке [0,1; 3J.
Минимизировать функцию /(*) = х" + е~v на отрезке [0; 2].
Минимизировать функцию f(x) = x~\n(x+l) на отрезке [-0,3; 2].
) --—-— на отрез-
5. Минимизировать функцию f(x) = —
ке [0; 3].
6. Минимизировать функцию /(л-) = л3 -3sinjc на отрезке [0; 1].
Минимизировать функцию f(x) = е" + - на отрезке [0,5; 2].
Минимизировать функцию /(.*) = х* + х2 + х +1 на отрезке [-1;0].