
- •Филиал «севмашвтуз» государственного образовательного учреждения высшего профессионального образования «Санкт-Петербургский государственный морской технический университет» в г. Северодвинске
- •Часть 2
- •Содержание
- •Аннотация
- •Лабораторная работа № 3. Тема: Решение задач одномерной оптимизации на эвм. Теория
- •1. Концепция методов
- •2. Метод сканирования
- •3. Метод поразрядного поиска
- •Алгоритм метода поразрядного поиска для минимизации функции.
- •4. Метод дихотомии (половинного деления)
- •Алгоритм метода дихотомии для минимизации функции.
- •5. Метод золотого сечения
- •Алгоритм метода золотого сечения для минимизации функции.
- •6. Метод квадратичной интерполяции
- •Алгоритм метода золотого сечения для минимизации функции.
- •Содержание лабораторной работы
- •1. Задание на лабораторную работу
- •2. Содержание отчёта по лабораторной работе
- •Контрольные вопросы
- •Приложение 1.
- •Лабораторная работа №4. Тема: Решение задач нелинейного программирования на эвм. Теория
- •1. Концепция методов.
- •2. Метод градиента
- •Алгоритм градиентного метода.
- •3. Метод наискорейшего спуска
- •Алгоритм метода наискорейшего спуска для поиска минимума.
- •4. Метод сопряжённых градиентов
- •Алгоритм метода сопряжённых градиентов для поиска минимума.
- •5. Метод тяжелого шарика
- •Алгоритм метода тяжёлого шарика для поиска минимума.
- •Содержание лабораторной работы
- •1. Задание на лабораторную работу
- •2. Содержание отчёта по лабораторной работе
- •Контрольные вопросы
- •Приложение 2. Варианты заданий для лабораторной работы №4
- •Литература
Лабораторная работа №4. Тема: Решение задач нелинейного программирования на эвм. Теория
1. Концепция методов.
В данных методических указаниях рассматриваются методы построения улучшающих последовательностей при отыскании экстремума функции R(x) без активных ограничений. Активными принято называть такие ограничения, на границе которых находится решение. Если известно, что решение лежит строго внутри допустимой области, например, в случае ограничений типа неравенств, то такие ограничения лучше выводить из задачи на этапе ее постановки. Кстати, следует отметить, что ограничения типа равенств всегда активные.
Величина шага Δх в рекуррентном соотношении
xi+1 = xi + Δхi
вычисляется с использованием градиента целевой функции R(x), т.е.
Δхi = f(grad R(x))
при этом шаг может определяться с использованием градиента в одной (текущей) или в двух (текущей и предыдущей) точках. Направление градиента, как известно, показывает направления наискорейшего возрастания функции, а его модуль – скорость этого возрастания.
В отличие от других рассмотренных выше вычислительных методов поисковые методы оптимизации содержат неформально (т.е. субъективно) задаваемые параметры, которые существенно влияют на эффективность поиска, вследствие чего один и тот же метод может дать совершенно различные траектории поиска. Поэтому для всех методов, рассматриваемых далее, на рис. 1 приводится лишь одна из возможных траекторий. Кроме того, для всех приведенных траекторий выбраны различные начальные условия, с тем чтобы не загромождать построения. На этом и последующих рисунках зависимость R(x1, x2) приведена в виде линий уровня на плоскости в координатах x1 – х2.
Рис. 1. Иллюстрация траекторий поиска минимума функции градиентными методами: 1 – оптимум; 2 – траектория метода градиента; 3 – траектория метода тяжелого шарика; 4 – траектория метода наискорейшего спуска; 5 – траектория метода сопряженных градиентов; 6 – начальные точки траекторий
2. Метод градиента
Метод градиента в чистом виде формирует шаг по переменным как функцию от градиента R(x) в текущей точке поиска. Простейший алгоритм поиска minR(x) записывается в векторной форме следующим образом:
xi+1 = xi – h grad R(xi),
или в скалярном виде:
Величина рабочего шага в направлении градиента h grad R(x) зависит от величины градиента, который заранее учесть трудно, и от коэффициента пропорциональности шага h, с помощью которого можно управлять эффективностью метода.
Поиск каждой новой точки состоит из двух этапов:
1) оценка градиента R(x) путем вычисления частных производных от R(x) по каждой переменной xj;
2) рабочий шаг по всем переменным одновременно.
Величина h сильно влияет на эффективность метода. Большей эффективностью обладает вариант метода, когда шаг по каждой переменной определяется направляющими косинусами градиента
где
В этом случае величина рабочего шага не зависит от величины модуля градиента, и ею легче управлять изменением h. В районе оптимума может возникать значительное "рыскание", поэтому используют различные алгоритмы коррекции А.
Наибольшее распространение получили следующие алгоритмы:
hi = const = h (без коррекции);
hi = hi–1 /2, если R(xi) < R(xi–1); hi = hi–1, если R(xi) > R(xi–1);
3. hi = hi–1, если α1 ≤ α ≤ α2; hi = 2hi–1, если α1 > α; hi = hi–1/3, если α2 < α,
где α – угол между градиентами на предыдущем и текущем шаге; α1 и α2 – заданные пороговые значения выбираются субъективно (например, α1 = π/6, α2 = π/3).
Вдали от оптимума направление градиента меняется мало, поэтому шаг можно увеличить (второе выражение), вблизи от оптимума направление резко меняется (угол между градиентами R(x) большой), поэтому А сокращается (третье выражение).
Для оценки частных производных используются разностные методы:
1. Алгоритм с центральной пробой
2. Алгоритм с парными пробами
где gi – пробный шаг по i-й переменной, выбираемый достаточно малым для разностной оценки производной.
Первый алгоритм требует меньших затрат по сравнению со вторым (обычно затраты выражаются количеством вычислений критерия оптимальности), но позволяет получить решение менее точно, чем второй, и эта погрешность зависит от величины пробного шага.
На рис. 1 приведена одна из возможных траекторий поиска минимума двумерной функции градиентным методом (наряду с другими ниже рассматриваемыми методами).
Условием
окончания поиска может являться малость
модуля градиента R(x),
т.е.
.