Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Zhadan_lektsii_6_semestr

.pdf
Скачиваний:
23
Добавлен:
03.06.2015
Размер:
10.08 Mб
Скачать

Предположим,что градиент функции f(x) удовлетворяет условию Липшица:

fx(x) − fx(y) ≤ L x − y x, y X,

(92)

и рассмотрим вопрос о сходимости итеративного процесса (89) в том случае , когда шаг αk берется постоянным,удовлетворяющим условию:

0 < αk <

1

,

(93)

L + c

 

 

 

где c > 0 любое положительное число .

Теорема8. Пусть X выпуклое замкнутое множество и f(x) дифференци - руемая функция,градиент которой удовлетворяет условию Липшица(92).Пусть, кроме того,начальная точка x0 X такова,что множество

˜ { ≤ }

X(x0) = x X : f(x) f(x0)

компактное,а шаг αk берется постоянным и таким,что выполняется неравенство (93).Тогда последовательность {xk}, генерируемая методом проекции градиента , имеет предельные точки,которые являются стационарной точками в задаче(86). Если f(x) выпуклая функция , то каждая стационарная точкаx есть решение задачи(86).

Доказательство. Для проекции a¯ X точки a Rn на множество X согласно (16)выполняется неравенство

a¯ − a, x − a¯ ≥ 0 x X.

 

Беря в нем a¯ = xk+1, a = xk − αkfx(xk), x = xk, приходим к

(94)

xk+1 − (xk − αkfx(xk)) , xk − xk+1 ≥ 0.

Обозначим sk = xk+1 − xk.Неравенство(94)при этих обозначениях перепишется

как

 

sk + αkfx(xk), sk ≤ 0

 

или

(95)

sk 2 + αk fx(xk), sk ≤ 0.

Представим f основании(92)

f(xk+1)

(xk+1) как f(xk+1) = f(xk) + fx(˜xk), sk , где x˜k [xk, xk+1

= f(xk) + fx(xk), sk + fx(˜xk) − fx(xk), sk

 

 

≤ f(xk) + fx(xk), sk + L x˜k 2 xk sk

 

 

f(xk) + fx1(xk), sk + L sk =

1

sk 2

=

f(xk) + αk[ sk 2 + αk fx(xk), sk ] + L − αk

 

]. Тогда на

.

Отсюда с учетом(95)и(93)получаем

f(xk+1) − f(xk) ≤ L − α−1 sk 2 ≤ −c sk 2. (96)

k

51

Имеем для этой подпоследовательности
j→∞
lim

На основании неравенства(96)и ограниченности непрерывной функции f(x) на

компактном множестве ˜ заключаем,что

X(x0)

lim (f(xk+1) − f(xk)) = 0,

k→∞

а также

lim sk = lim xk+1 − xk = 0.

k→∞ k→∞

Так как последовательность { } принадлежит компактному множеству ˜ , xk X(x0)

существует сходящаяся подпоследовательность xkj }.Пусть xkj = x .

skj = πX xkj − αkj fx(xkj ) − xkj → 0.

Поэтому в силу непрерывности оператора проектирования

πX (x − αfx(x )) = x ,

где α равняется постоянному шагу, α = αk.

Согласно утверждению ??, если x является проекцией точки x − αfx(x ) на множество X, то имеет место неравенство :

x − (x − αfx(x )), x − x ≥ 0 x X.

 

Таким образом,

(97)

fx(x ), x − x ≥ 0 x X,

т.е.точка x является стационарной.

Если f(x) выпуклая функция,то условие(97)достаточно для того,чтобы точка x была бы решением задачи(16).

Рассмотренный метод проекции градиента является релаксационным, так как все точки итеративного процесса(89)принадлежат допустимому множеству и целевая функция убывает от итерации к итерации.Приведем без доказательств некоторые утверждения,касающиеся свойств итеративного процесса(89).

1.Пусть f(x) выпуклая функция.Тогда для любого xk справедливо неравенство

C f(xk) f k ,

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

2.Предположим теперь,что f(x) сильно выпуклая функция с константой θ. Предположим также,что шаг αk берется постоянным из интервала (0, 4θ/L2). Тогда

xk+1 − x ≤ C xk − x ,

52

где 0 < C < 1.Данное неравенство означает,то метод проекции градиента с постоянным шагом сходится к точке минимума сильно выпуклой функции на X с линейной скоростью.

3.Если x точка строгого мнимума функции f(x) на X, т . е . для некоторого γ > 0 выполняется

f(x) − f(x ) ≥ γ x − x x X,

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

проекции градиента рассматривают ее модификацию

xk+1 = xk + λksk,

sk = πX (xk − αkfx(xk)) .

(98)

Здесь αk то же самое,что и в основной схеме,а λk выбирается из условия

 

λk = arg min f (xk + λsk)

 

или из условия

0≤λ≤1

 

 

 

λk = arg

min f (xk + λsk) ,

 

0≤λ≤λ

 

где λ максимальное значение параметра λ, для которого xk + λsk X. Схему (98)

принято называть схемой с ускорением.

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

1.5.2.Метод условного градиента

Рассмотрим другой метод решения задачи(86),получивший название метода условного градиента.Метод относится к классу методов спуска и основан на идее линеаризации целевой функции.

Предположим,что в задаче(86)множество X является выпуклым компактом. Предполагаем также,что f(x) дифференцируемая функция.Итеративный процесс в методе описывается следующим рекуррентным соотношением

xk+1 = xk + αksk,

 

(99)

где sk = x¯k − xk и точка x¯k есть решение вспомогательной задачи

(100)

x X

 

f

x

(x

k

), x

x

k

.

min

 

 

 

 

 

 

Шаг αk определяется из решения одномерной задачи минимизации

αk = arg min f(xk + αsk),

0≤α≤1

53

что соответствует наискорейшему спуску.Возможно также приближенное решение этой задачи,например,с использованием правила Армихо.О направлении sk говорят как об условном антиградиенте.

Обратим внимание,что вспомогательная задача(100)эквивалентна задачи минимизации линейного приближения целевой функции,так как,если точка x¯k есть

решение(100),то эта же точка будет и решением задачи

 

 

 

 

min f

(x),

f

(x) = f(x

) +

f (x

), x

x

k

,

x X k

 

k

 

k

 

x k

 

 

 

 

 

 

 

fx(xk), x на X.

 

 

как,впрочем,и точкой минимума функции

 

 

Обозначим через ηk = fx(xk), sk минимальное значение целевой функции во вспомогательной задаче(100).Понятно,что всегда ηk ≤ 0. Возможны два случая :

1) ηk = 0. Тогда

fx(xk), x − xk ≥ 0 x X.

Выполнение данного неравенства означает,что xk является стационарной точкой в задаче(86).

2) ηk < 0. Тогда из fx(xk), sk < 0 следует,что возможно движение вдоль направления sk с уменьшением значения целевой функции f(x).

Предположим сначала,что шаг αk выбирается по правилу Армихо:

 

f(xk + αksk) − f(xk) ≤ αkεηk,

(101)

где 0 < ε < 1.

Теорема9. Пусть X выпуклый компакт и f(x) дифференцируемая функ - ция,градиент которой удовлетворяет на X условию Липшица

fx(x) − fx(y) ≤ L x − y x, y X.

Пусть,кроме того,шаг αk выбирается путем дробления начального шага,равного единице,по правилу Армихо(101).Тогда для любого начального x0 X метод условного градиента порождает последовательность точек {xk}, которая имеет предельные точки и любая предельная точка x является стационарной для задачи (86).Если f(x) выпуклая функция на X, то x решение задачи (86).

Доказательство. Обозначим

2(ε − 1)ηk

α¯k = L sk 2 .

Если на k-ой итерации выполняется неравенство(101),то аналогично тому,как это делается в методе градиентного спуска с правилом Армихо выбора шага,можно показать,что αk ≤ α¯k.Поэтому,производя дробление шага,начиная с единичного шага,мы в принципе можем столкнуться с двумя случаями.В первом случае будем получать,что αk = 1 (это соответствует тому,что неравенство(101)выполняется при

54

αk = 1).Во втором случае αk < 1,т.е.произведено хотя бы одно дробление.Но это возможно только при α¯k < 1,и мы дроблением шага добиваемся выполнения(101)а, следовательно,и выполнения неравенства αk ≤ α¯k.Но тогда обязательно αk ≥ θα¯k, где 0 < θ < 1 параметр дробления шага в правиле Армихо . Таким образом , всегда

min{1, θα¯k} ≤ αk ≤ 1.

Пусть последовательность {xk} бесконечная.Имеем {xk} X и f(xk+1) < f(xk). Множество X компактное,функция f(x) непрерывная.Поэтому существуют пределы:

klim [f(xk+1) − f(xk)] = 0,

 

→∞

 

и

(102)

lim (αkηk) = 0.

k→∞

 

Шаг αk, как уже отмечалось , на каждой итерации удовлетворяет неравенству (101), в котором величина α¯k зависит от ηk и sk.

Из компактности множества X следует,что можно указать константу C > 0, для которой sk ≤ C на каждой итерации.Отсюда получаем,что

α¯

2(ε − 1)ηk

.

 

k

LC2

 

Обозначим

 

2θ(1 − ε)

 

 

 

δ =

 

> 0.

 

 

 

 

LC2

 

Имеем либо αk = 1, либо αk ≥ −δηk > 0, поэтому из (102)

(103)

 

lim ηk = 0.

 

k→∞

 

Так как ηk минимальное значение функции fx(xk), x − xk на X, то

(104)

ηk ≤ fx(xk), x − xk x X.

Последовательность {xk} принадлежит компактному множеству X,и,стало быть, имеет предельные точки.Пусть xkj → x X. Для этих kj согласно(104)выполняются неравенства

ηkj ≤ fx(xkj ), x − xkj x X.

 

Отсюда,переходя к пределу,получаем с учетом(103)

 

fx(x ), x − x ≥ 0 x X,

(105)

т.е. x является стационарной точкой для задачи(86).

Если f(x) выпуклая функция,то условие(105)достаточно для того,чтобы точка x была решением задачи(86).

Сделаем несколько замечаний.

55

Замечание1. Утверждение теоремы сохранится,если вместо правила Армихо выбора шага αk применять правило одномерной минимизации.

Замечание2. Если f(x) выпуклая на X функция,то имеет место следующая оценка

C

 

f(xk) f k

, k = 1, 2, . . . .

Замечание3. Если x точка острого минимума функции f(x) на X, то метод условного градиента сходится за конечное число шагов.

Понятно,что метод условного градиента целесообразно применять только для решения тех задач,в которых достаточно просто находить минимум линейной функции на множестве X, например , еслиX есть некоторый шар в пространстве Rn:

X = {x Rn : x − a ≤ r} .

Тогда,решая задачу

min c, x ,

x X

получаем для точки x¯, являющейся ее решением

r

x¯ = a − c c.

Если X полиэдр , то вспомогательная задача (100) для нахождения точкиx¯ есть задача линейного программирования.

1.5.3.Метод возможных направлений

 

 

 

 

 

 

 

 

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

 

(106)

x X

 

R

n : gi(x)

 

 

 

 

min f(x),

X = x

 

 

0, 1

 

i

 

m

,

 

вкоторой f(x) и gi(x) дифференцируемые функции, 1 ≤ i ≤ m. Таким образом ,

вотличие от задачи (86) здесь допустимое множество X задается функционально с помощью ограничений типа неравенства.

Теперь точка x X является стационарной для задачи(106),если существует

такое u Rm+, что Lx(x , u ) = 0 и g(x ), u = 0. Здесь L(x, u) = f(x) + g(x), u

функция Лагранжа,составленная для задачи(106).

Напомним определения,которые были введены ранее в главе**.

Определение12. Направление s Rn называется возможным относительно множества X в точке x X, если можно указать α¯ > 0 такое,что x + αs X для 0 ≤ α ≤ α¯.

56

Определение13. Направление s Rn называется направлением убывания функции f(x) в точке x Rn, если можно указать α¯ > 0 такое,что f(x + αs) < f(x) для 0 < α ≤ α¯.

Совокупность всех возможных относительно множества X в точке x X направлений является конусом.Обозначим его KX (x).Если X выпуклое множество и векторы x X, y X, то s = y −x KX (x). В случае , когда множествоX имеет вид (16),также несложно указать направление из KX (x) в точке x X.Действительно,обозначим через J0(x) = {1 ≤ i ≤ m : gi(x) = 0} множество индексов активных

ограничений в точке x.Если s KX (x), то gxi (x), s ≤ 0 для всех i J0(x).Если же

gxi (x), s < 0 для всех i J0(x), то обязательно s KX (x).

Что касается множества всех направлений убывания функции f(x) в точке x

Rn,то оно также является конусом.Его обозначим Kdec(x).Если функция f(x) дифференцируема в x, то любой вектор s Rn, для которого fx(x), s < 0, принадлежит

конусу Kdec(x).

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

Опишем теперь общую схему метода,которая реализует данную идею.Пусть x0 X задано и пусть найдена точка xk.Новую точку xk+1 вычисляем согласно следующему рекуррентному соотношению:

xk+1 = xk + αksk,

где sk KX (xk) ∩ Kdec(xk), а шаг αk выбирается таким образом,чтобы,по крайней мере,выполнялись условия: xk+1 X и f(xk+1) < f(xk).

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

Схема1 . В ней для определения вектора sk на каждой итерации решается вспомогательная задача

 

 

min σ

 

 

 

 

 

fx(xk), s

 

σ,

 

(107)

i

 

σ,

i J0(xk),

gx(xk), s ≤

 

 

 

s

 

Q,

 

где Q некоторое компактное множество в Rn.Обычно в качестве множества Q берется единичный шар в какой-нибудь норме,например,

Q1 = {s Rn : s ≤ 1}

57

или

Q2 = {s Rn : s 2 ≤ 1} ,

причем выбор в качестве Q множества Q1 приводит к тому,что вспомогательная задача(107)оказывается задачей линейного программирования.

Пусть [σk, sk] решение задачи(107).Если σk < 0, то sk KX (xk) и sk Kdec(xk), т.е.направление sk оказывается одновременно и допустимым и направлением убы-

вания.В случае,когда J0(x) = и Q = Q2, оно просто совпадает с направлением антиградиента функции f(x) в точке xk.

Шаг αk выбирается посредством какой-либо процедуры одномерного поиска при дополнительном условии,что αk ≤ α¯k, где α¯k максимальный шаг,для которого

xk + αksk X.

Если же в решении [σk, sk] оказывается,что σk = 0, то точка xk при выполнении

условия регулярности ограничений Мангасариана-Фромовица в этой точке , согласно

которому существует такое s¯ Rn, что gxi (xk), s¯ < 0, i J0(xk), является стацио - нарной точкой для задачи(106).

Данный вариант метода возможных направлений может либо вообще не сходиться,либо"застревать"вблизи точек,не являющимися стационарными.Это происходит потому,что в выборе направления sk участвуют лишь активные ограничения в точке xk и совсем не принимаются в расчет"почти активные"ограничения.В связи с этим рассмотрим другой вариант метода,в котором эти"почти активные"ограничения уже учитываются.

Схема2 (Зойтендейка) .Положим

Jε(x) = 1 ≤ i ≤ m : gi(x) ≥ −ε ,

где ε > 0.

Перед началом рассчетов задается x0 X и ε0 > 0, а также 0 < θ < 1.Пусть на k-м шаге получена точка xk X и известно εk > 0.Для нахождения sk решается вспомогательная задача

 

 

min σ

 

 

 

 

 

fx(xk), s

 

σ,

 

(108)

i

 

σ,

i Jεk (xk),

gx(xk), s ≤

 

 

 

s

 

Q,

 

Если в ее решении [σk, sk] величина σk удовлетворяет неравенству σk ≤ −εk, то sk берется в качестве возможного направления и направления убывания.Если нет,то параметр εk уменьшают,полагая εk := θεk и снова решают вспомогательную задачу

(108).

Для этого варианта метода возможного направления при определенных предположениях уже установлена сходимость.

58

1.6.Методы последовательной безусловной минимизации

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

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

f = x X

{

 

R

n : g(x)

 

m}

 

(109)

min f(x),

X =

x

 

 

0

 

,

 

где функция f(x) и вектор - функцияg(x) = [g1(x), . . . , gm(x)]T непрерывны на Rn. Считаем,что допустимое множество X не пусто и что задача имеет решение.Множество всех точек из X, являющихся решением (109), обозначим X .

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

Пусть δ(x|X) индикаторная функция множества X:

δ(x X) =

0,

 

x X,

|

+

,

 

 

x / X

Составимcее помощью вспомогательную функцию

P(x) = f(x) + δ(x|X)

ирассмотрим задачу задачу безусловной минимизации

min P (x).

(110)

x Rn

 

Задачи(109)и(110)эквивалентны и можно в принципе было бы решать(110) вместо(109).Однако то,что теперь функция P (x) задана на всем пространстве Rn не очень помогает,так как она разрывна и может принимать бесконечные значения. Избавиться от этого недостатка можно,аппроксимируя функцию δ(x|X) последовательностью функций δk(x|X) с более хорошими с вычислительной точки зрения свойствами.Важно только,чтобы эта последовательность функций стремились к функции δ(x|X) в пределе . Тогда вместо (110) решается последовательность задач

min P

(x), P

(x) = f(x) + δ

(x X),

x X

k

k

k

|

где

 

 

 

(111)

 

 

klim→∞ δk(x|X) = δ(x|X).

Разные подходы к выбору последовательности функций δk(x|X) приводят к разным классам методов.

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

Обратимся сначала к методам,построенным на основе внешней аппроксимации

59

функции δ(x|X). Они получили название методов внешних штрафных функций.

От последовательности функций {δk(x|X)} желательно потребовать,чтобы каждая из функций δk(x|X) была бы определена и непрерывна на всем пространстве Rn. Кроме того,желательно,чтобы она обладала следующими свойствами:

1.

δk(x|X) = 0, x X;

2.

δk(x|X) > 0, x / X;

3.

δk+1(x|X) > δk(x|X) x / X;

4.

limk→∞ δk(x|X) = +∞, x / X.

Если эти свойства выполняются,то данная последовательность функций δk(x|X) удовлетворяет предельному равенству(111).

Встает вопрос,как наиболее просто строить эти последовательности функций {δk(x|X)}.Рассмотрим один из возможных подходов.

Определение14. Штрафом(внешним)для произвольного множества X Rn называется любая функция ψ(x), удовлетворяющая условиям :ψ(x) = 0 при x X

иψ(x) > 0 при x Rn \ X.

Спомощью функции ψ(x) строим семейство штрафных функций

P (x, t) = f(x) + tψ(x),

(112)

где t > 0 коэффициент штрафа.Если t увеличивается,то увеличивается и вклад добавки к целевой функции f(x) в недопустимых точках в(112).

Функция P (x, t) обладает следующими свойствами: P (x, t) = f(x) при x X и

lim P (x, t) = +∞, / X.

t→∞

Таким образом,в качестве δk(x|X) можно брать

δk(x|X) = tkψ(x),

где {tk} монотонно возрастающая последовательность положительных чисел,стре-

мящихся к бесконечности,т.е. tk+1 > tk и tk → +∞.

Рассмотрим теперь способ,с помощью которого достаточно просто строить внешние штрафы.

Определение15. Непрерывную функцию B(g), определенную на Rm назовем внешней свертывающей функцией,если B(g) = 0 при g Rmи B(g) > 0 для всех g / Rm.

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]