Мода

Обзор градиентных методов в задачах математической оптимизации. Простейший градиентный метод

1. Какие высказывания неверны? Метод Данцига

Ответ: можно отнести к группе градиентных

2. Какие из нижеперечисленных высказываний истинны:

Ответ: Задача ЛП с несовместной системой ограничений называется открытой

3. Какие из перечисленных методов не являются активными

Ответ: золотого сечения

4. Какие из приведенных высказываний верны:

Ответ: задача транспортного типа – частный случай задачи линейного программирования

5. Какие из приведенных утверждений истинны: Метод наименьших квадратов

Ответ: сводится в итоге к решению системы n линейных уравнений при аппроксимации результатов многочленами n-го порядка

6. Какие из указанных методов не являются градиентными

Ответ: симплексный метод (метод Нелдера-Мида)

7. Какие из указанных методов позволяют найти глобальный экстремум полимодальной функции

Ответ: сканирования

8. Какие методы среди перечисленных являются методами покоординатного поиска

Ответ: касательный

9. Отметьте верные утверждения

Ответ: метод простого перебора нельзя использовать при отыскании экстремума согласно процедуре Гаусса-Зайделя

10. Укажите истинное высказывание

Ответ: планом называется любое допустимое решение задачи

11. Укажите неправильное высказывание

Ответ: плоскость, содержащая хотя бы одну угловую точку выпуклого многогранника называется опорной плоскостью этого многогранника

12. Укажите номера правильных утверждений

Ответ: задачи транспортного типа нельзя решать методом Данцига, так как они относятся к задачам дискретного программирования(1). Первоначальный план в симплексном методе получаем приравниваем нулю всех базисных переменных(3)

13. Укажите правильное утверждение?

Ответ: базисное решение задачи ЛП вырожденное, если хотя бы одна из свободных переменных равна нулю

14. Что из нижеследующего неверно:

Ответ: любая точка на прямой является выпуклой линейной комбинацией двух точек, через которые проведена эта прямая

15. Что истинно из высказываний ниже?

Ответ: задача о коммивояжере относится к области дискретного программирования

16. Что истинно из следующего:

Ответ: одна из основных проблем оптимизации – «проблема размерности»

17. Что неверно в приведенных высказываниях?

Ответ: если функция цели задачи ЛП достигает экстремума в нескольких точках, то она достигает того же значения в любой точке, являющейся выпуклой линейной комбинацией этих точек.

18. Что из приведенных высказываний неверно?

Ответ: задачу ЛП можно решить процедурой упорядоченного перехода от одного плана к другому.

19. Что из предлагаемого истинно

Ответ: внутри области допустимых решений задачи ЛП не может быть экстремум

20. Что ложно из нижеприведенного?

Ответ: Для отыскания экстремума линейной целевой функции симплексным методом необходимо выполнить n-m итераций, n- количество неизвестных задачи, m- число ограничений общего вида

Метод Гаусса-Зейделя

Метод заключается в поочерёдном нахождении частных экстремумов целевой функции по каждому фактору. При этом на каждом этапе стабилизируют (k-1) факторов и варьируют только один i-ый фактор

Порядок расчёта: в локальной области факторного пространства на основании предварительных опытов выбирают точку, соответствующую наилучшему результату процесса, и из неё начинают движение к оптимуму. Шаг движения по каждому фактору задаётся исследователем. Вначале фиксируют все факторы на одном уровне и изменяют один фактор до тех пор, пока будет увеличение (уменьшение) функции отклика (Y), затем изменяют другой фактор при стабилизации остальных и т. д. до тех пор пока не получат желаемый результат (Y). Главное правильно выбрать шаг движения по каждому фактору.

Этот способ наиболее прост, нагляден, но движение к оптимуму длительно и метод редко приводит в оптимальную точку. В настоящее время он иногда применяется при машинном эксперименте.

Эти методы обеспечивают движение к оптимуму по прямой перпендикулярной к линиям равного отклика, т. е. в направлении градиента функции отклика.

Градиентные методы имеют несколько разновидностей, различающихся правилами выбора ступеней варьирования и рабочих шагов на каждом этапе движения к экстремуму.

Сущность всех методов состоит в следующем: первоначально на основании предварительных опытов выбирают базовую точку. Затем на каждом этапе вокруг очередной базовой точки организуют пробные эксперименты, по результатам которых оценивают новое направление градиента, после чего в этом направлении совершают один рабочий шаг.

Метод градиента (обычный) осуществляется по следующей схеме:

а) выбирают базовую точку;

б) выбирают шаги движения по каждому фактору;

в) определяют координаты пробных точек;

г) проводят эксперименты в пробных точках. В результате получают значения параметра оптимизации (Y) в каждой точке.

д) по результатам опытов вычисляют оценки составляющих вектор-градиента в т. М для каждого i-го фактора:


где H i -шаг движения по X i .

X i – координаты предыдущей рабочей точки.

ж) координаты этой рабочей точки принимают за новую базовую точку, вокруг которой проводят эксперименты в пробных точках. Вычисляют градиент и т. д., пока не достигнут желаемого параметра оптимизации (Y). Корректировка направления движения производится после каждого шага.

Достоинства метода: простота, более высокая скорость движения к оптимуму.

Недостатки: большая чувствительность к помехам. Если кривая имеет сложную форму, метод может не привести к оптимуму. Если кривая отклика пологая - метод малоэффективен. Метод не даёт информации о взаимодействии факторов.

а) Метод крутого восхождения (Бокса - Уилсона).

б) Принятие решений после крутого восхождения.

в) Симплексный метод оптимизации.

г) Достоинства и недостатки методов.

5.7.3 Метод крутого восхождения (Бокса- Уилсона)

Этот метод является синтезом лучших черт градиентных методов, метода Гаусса-Зейделя и методов ПФЭ и ДФЭ – как средства получения математической модели процесса. Решение задачи оптимизации данным методом выполняется так, чтобы шаговое движение осуществлялось в направлении наискорейшего возрастания (убывания) параметра оптимизации. Корректировка направления движения (в отличие от градиентных методов) производится не после каждого шага, а по достижению частного экстремума целевой функции. Далее в точках частного экстремума ставится новый факторный эксперимент, составляется новая математическая модель и вновь повторяется крутое восхождение до достижения глобального оптимума. Движение по градиенту начинают из нулевой точки(центра плана).

Метод крутого восхождения предполагает движение к оптимуму по градиенту.

Где i,j,k-единичные векторы в направлении соответствующих координатных осей.

Порядок расчёта .

Исходными данными является математическая модель процесса, полученная любым способом (ПФЭ, ДФЭ и т.д.).

Расчеты проводят в следующем порядке:

а) уравнение регрессии лучше перевести в натуральный вид по формулам кодирования переменных:

где x i -кодированное значение переменной x i ;

X i - натуральное значение переменной x i ;

X i Ц -центральный уровень фактора в натуральном виде;

l i -интервал варьирования фактора x i в натуральном виде.

б) вычисляют шаги движения к оптимуму по каждому фактору.

Для этого вычисляют произведения коэффициентов уравнения регрессии в натуральном виде на соответствующие интервалы варьирования

B i *.l I ,

Затем выбирают из полученных произведений максимальное по модулю,а соответствующий этому произведению фактор принимают за базовый фактор(B a l a). Для базового фактора следует установить шаг движения, который рекомендуется задавать меньшим или равным интервалу варьирования базового фактоpa


Знак шага движения l a ’ должен совпадать со знаком коэффициента уравнения регрессии, соответствующего базовому фактору (B a). Величина шагов для других факторов вычисляется пропорционально базовому по формуле:

Знаки шагов движения также должны совпадать со знаками соответствующих коэффициентов уравнения регрессии.

в) вычисляют функцию отклика в центре плана, т. е. при значениях факторов равных центральному уровню факторов, т. к. движение к оптимуму начинают из центра плана.

Далее производят вычисление параметра оптимизации, увеличивая значения факторов на величину соответствующего шага движения, если хотят получить Y max . В противном случае, если необходимо получить Y min , значения факторов уменьшают на величину шага движения.

Процедуру повторяют, последовательно увеличивая количество шагов до тех пор, пока не достигнут желаемого значения параметра оптимизации (Y). Каждый из факторов после g шагов будет иметь значение:

Если Y® max X i =X i ц +gl i ` ’

если Y® min .X i =X i ц -gl i ` . (5.36)

В основе метода лежит следующая итерационная модификация формулы

x k +1 = x k + a k s(x k),

x k+1 = x k - a k Ñ f(x k), где

a - заданный положительный коэффициент;

Ñ f(x k) - градиент целевой функции первого порядка.

Недостатки:

    необходимость выбора подходящего значения ;

    медленная сходимость к точке минимума ввиду малости f(x k) в окрестности этой точки.

Метод наискорейшего спуска

Свободен от первого недостатка простейшего градиентного метода, т.к. a k вычисляется путем решения задачи минимизации Ñ f(x k) вдоль направления Ñ f(x k) с помощью одного из методов одномерной оптимизации x k+1 = x k - a k Ñ f(x k).

Данный метод иногда называют методом Коши.

Алгоритм характеризуется низкой скоростью сходимости при решении практических задач. Это объясняется тем, что изменения переменных непосредственно зависит от величины градиента, которая стремится к нулю в окрестности точки минимума и отсутствует механизм ускорения на последних итерациях. Поэтому, учитывая устойчивость алгоритма, метод наискорейшего спуска часто используется как начальная процедура поиска решения (из точек, расположенных на значительных расстояниях от точки минимума).

Метод сопряженных направлений

Общая задача нелинейного программирования без ограничений сводится к следующему: минимизировать f(x), x E n , где f(x) является целевой функцией. При решении этой задачи мы используем методы минимизации, которые приводят к стационарной точке f(x), определяемой уравнением f(x *)=0. Метод сопряженных направлений относится к методам минимизации без ограничений, использующим производные. Задача: минимизировать f(x), x E n , где f(x) является целевой функцией n независимых переменных. Важной особенностью является быстрая сходимость за счет того, что при выборе направления используется матрица Гессе, которая описывает область топологии поверхности отклика. В частности, если целевая функция квадратичная, то можно получить точку минимума не более чем за количество шагов, равное размерности задачи.

Для применения метода на практике его необходимо дополнить процедурами проверки сходимости и линейной независимости системы направлений. Методы второго порядка

Метод Ньютона

Последовательное применение схемы квадратичной аппроксимации приводит к реализации оптимизационного метода Ньютона по формуле

x k +1 = x k - Ñ 2 f(x k -1) Ñ f(x k).

Недостатком метода Ньютона является его недостаточная надежность при оптимизации не квадратичных целевых функций. Поэтому его часто модифицируют:

x k +1 = x k - a k Ñ 2 f(x k -1) Ñ f(x k), где

a k - параметр, выбираемый таким образом, чтобы f(x k+1) min.

2. Нахождение экстремума функции без ограничения

Дана некоторая функция f(х) на открытом интервале (а, в) изменения аргумента х. Предполагаем, что exst внутри этого интервала существует (нужно сказать, что в общем случае математически заранее это утверждать не могут; однако в технических приложениях очень часто наличие exst внутри некоторого интервала изменения интервала изменения аргумента может быть предсказано из физических соображений).

Определение exst. Функция f(x) заданная на интервале (а, в) имеет в точке x * max(min), если эту точку можно окружить таким интервалом (x * -ε, x * +ε), содержащимся в интервале (а, в), что для всех ее точек х, принадлежащих интервалу (x * -ε, x * +ε), выполняется неравенство:

f(x) ≤ f(x *) → для max

f(x) ≥ f(x *) → для min

Это определение не накладывает никаких ограничений на класс функций f(x), что, конечно, очень ценно.

Если ограничится для функций f(x), достаточно распространенным, но все же более узким классом гладких функций (под гладкими функциями мы будем понимать такие функции, которые непрерывны вместе со своими производными на интервале изменения аргумента), то можно воспользоваться теоремой Ферма, которая дает необходимые условия существования exst.

Теорема Ферма. Пусть функция f(x) определена в некотором интервале (а, в) и в точке "с" этого интервала принимает наибольшее (наименьшее) значение. Если существует в этой точке двухсторонняя конечная производная , то существования необходимоexst .

Примечание. Двухсторонняя производная характеризуется свойством иными словами, речь идет о том, что в точке "с" производная в пределе одна и та же при подходе к точке "с" слева и справа, т.е.f(x) – гладкая функция.

* В случае имеет местоmin, а при →max. Наконец, если при х=х 0 , то использование 2-ой производной не помогает и нужно воспользоваться, например, определением exst.

При решении задачи I необходимые условия exst (т.е. теорема Ферма) используется очень часто.

Если уравнение exst имеет вещественные корни, то точки, соответствующие этим корням, являются подозрительными наexst (но не обязательно самыми экстремумами, ибо имеем дело с необходимыми, а не с необходимыми и достаточными условиями). Так, например, в точке перегиба Х п имеет место , однако, как известно, это не экстремум.

Заметим ещё, что:

    из необходимых условий нельзя сказать, какой вид экстремума найден max или min: для определения этого нужны дополнительные исследования;

    из необходимых условий нельзя определить, глобальный это экстремум или локальный.

Поэтому, когда находят точки подозрительные на exst, их дополнительно исследуют, например, на основе определения exst или 2-ой производной.

Лекция 6.

Градиентные методы решения задач нелинейного программирования.

Вопросы: 1. Общая характеристика методов.

2. Метод градиента.

3. Метод наискорейшего спуска.

4. Метод Франка-Фулфа.

5. Метод штрафных функций.

1. Общая характеристика методов.

Градиентные методы представляют собой приближенные (итерационные) методы решения задачи нелинейного программирования и позволяют решить практически любую задачу. Однако при этом определяется локальный экстремум. Поэтому целесообразно применять эти методы для решения задач выпуклого программирования, в которых каждый локальный экстремум является и глобальным. Процесс решения задачи состоит в том, что, начиная с некоторой точки х (начальной), осуществляется последовательный переход в направлении gradF(x), если определяется точка максимума, и –gradF(x) (антиградиента), если определяется точка минимума, до точки, являющейся решением задачи. При этом эта точка может оказаться как внутри области допустимых значений, так и на ее границе.

Градиентные методы можно разделить на два класса (группы). К первой группе относятся методы, в которых все исследуемые точки принадлежат допустимой области. К таким методам относятся: метод градиента, наискорейшего спуска, Франка-Вулфа и др. Ко второй группе относятся методы, в которых исследуемые точки могут и не принадлежать допустимой области. Общим из таких методов является метод штрафных функций. Все методы штрафных функций отличаются друг от друга способом определения «штрафа».

Основным понятием, используемым во всех градиентных методах, является понятие градиента функции, как направления наискорейшего возрастания функции.

При определении решения градиентными методами итерационный процесс продолжается до тех пор, пока:

Либо grad F(x*) = 0, (точное решение);

где
- две последовательные точки,
- малое число, характеризующее точность решения.

2. Метод градиента.

Представим человека, стоящего на склоне оврага, которому необходимо спуститься вниз (на дно). Наиболее естественным, кажется, направление в сторону наибольшей крутизны спуска, т.е. направление (-grad F(x)). Получаемая при этом стратегия, называемая градиентным методом , представляет собой последовательность шагов, каждый из которых содержит две операции:

а) определение направления наибольшей крутизны спуска (подъема);

б) перемещение в выбранном направлении на некоторый шаг.

Правильный выбор шага имеет существенное значение. Чем шаг меньше, тем точнее результат, но больше вычислений. Различные модификации градиентного метода и состоят в использовании различных способов определения шага. Если на каком-либо шаге значение F(x) не уменьшилось, это означает, что точку минимума «проскочили», в этом случае необходимо вернуться к предыдущей точке и уменьшить шаг, например, вдвое.

Схема решения.

принадлежащей допустимой области

3. Выбор шага h.

x (k+1) = x (k)

«-» - если min.

5. Определение F(x (k +1)) и:

Если
, решение найдено;

Замечание. Если grad F(x (k)) = 0, то решение будет точным.

Пример. F(x) = -6x 1 + 2x 1 2 – 2x 1 x 2 + 2x 2 2
min,

x 1 +x 2 2,x 1 0, x 2 0,= 0,1.

3. Метод наискорейшего спуска.

В отличие от метода градиента, в котором градиент определяют на каждом шаге, в методе наискорейшего спуска градиент находят в начальной точке и движение в найденном направлении продолжают одинаковыми шагами до тех пор, пока значение функции уменьшается (увеличивается). Если на каком-либо шаге F(x) возросло (уменьшилось), то движение в данном направлении прекращается, последний шаг снимается полностью или наполовину и вычисляется новое значение градиента и новое направление.

Схема решения.

1. Определение х 0 = (х 1 ,x 2 ,…,x n),

принадлежащей допустимой области,

и F(x 0), k = 0.

2. Определение grad F(x 0) или –gradF(x 0).

3. Выбор шага h.

4. Определение следующей точки по формуле

x (k+1) = x (k) h grad F(x (k)), «+» - если max,

«-» - если min.

5. Определение F(x (k +1)) и:

Если
, решение найдено;

Если нет:

а) при поиске min: - если F(x (k +1))

Если F(x (k +1)) >F(x (k)) – переход к п. 2;

б) при поиске max: - еслиF(x (k +1)) >F(x (k)) – переход к п. 4;

Если F(x (k +1))

Замечания: 1. Если grad F(x (k)) = 0, то решение будет точным.

2. Преимуществом метода наискорейшего спуска является его простота и

сокращение расчетов, так как grad F(x) вычисляется не во всех точках, что

важно для задач большой размерности.

3. Недостатком является то, что шаги должны быть малыми, чтобы не

пропустить точку оптимума.

Пример. F(x) = 3x 1 – 0,2x 1 2 + x 2 - 0,2x 2 2
max,

x 1 + x 2 7, x 1 0,

x 1 + 2x 2 10, x 2 0.

4. Метод Франка-Вулфа.

Метод используется для оптимизации нелинейной целевой функции при линейных ограничениях. В окрестности исследуемой точки нелинейная целевая функция заменяется линейной функцией и задача сводится к последовательному решению задач линейного программирования.

Схема решения.

1. Определение х 0 = (х 1 ,x 2 ,…,x n), принадлежащей допустимой области, и F(x 0), k = 0.

2. Определение grad F(x (k)).

3. Строят функцию

(min – «-»;max– «+»).

4. Определение max(min)f(x) при исходных ограничениях. Пусть это будет точка z (k) .

5. Определение шага вычислений x (k +1) =x (k) + (k) (z (k) –x (k)), где (k) – шаг, коэффициент, 0 1. (k) выбирается так, чтобы значение функции F(x) было max (min) в точке х (k +1) . Для этого решают уравнение
и выбирают наименьший (наибольший) из корней, но 0 1.

6. Определение F(x (k +1)) и проверяют необходимость дальнейших вычислений:

Если
или grad F(x (k +1)) = 0, то решение найдено;

Если нет, то переход к п. 2.

Пример. F(x) = 4x 1 + 10x 2 –x 1 2 –x 2 2
max,

x 1 +x 2 4, x 1 0,

x 2 2, x 2 0.

5. Метод штрафных функций.

Пусть необходимо найти F(x 1 ,x 2 ,…,x n)
max(min),

g i (x 1 , x 2 ,…,x n) b i , i =
, x j 0, j =.

Функции F и g i – выпуклые или вогнутые.

Идея метода штрафных функций заключается в поиске оптимального значения новой целевой функции Q(x) = F(x) + H(x), которая является суммой исходной целевой функции и некоторой функции H(x), определяемой системой ограничений и называемой штрафной функцией. Штрафные функции строят таким образом, чтобы обеспечить либо быстрое возвращение в допустимую область, либо невозможность выходы из нее. Метод штрафных функций сводит задачу на условный экстремум к решению последовательности задач на безусловный экстремум, что проще. Существует множество способов построения штрафной функции. Наиболее часто она имеет вид:

H(x) =
,

где

- некоторые положительные Const.

Примечание :

Чем меньше , тем быстрее находится решение, однако, точность снижается;

Начинают решение с малых и увеличивают их на последующих шагах.

Используя штрафную функцию, последовательно переходят от одной точки к другой до тех пор, пока не получат приемлемое решение.

Схема решения.

1. Определение начальную точку х 0 = (х 1 ,x 2 ,…,x n), F(x 0) и k = 0.

2. Выбирают шаг вычислений h.

3. Определяют частные производные и.

4. Определяют координаты следующей точки по формуле:

x j (k +1)
.

5. Если x (k +1) Допустимой области, проверяют:

а) если
- решение найдено, если нет – переход к п. 2.

б) если grad F(x (k +1)) = 0, то найдено точное решение.

Если x (k +1) Допустимой области, задают новое значениеи переходят к п. 4.

Пример. F(x) = – x 1 2 – x 2 2
max,

(x 1 -5) 2 +(x 2 -5) 2 8, x 1 0, x 2 0.