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

jadan (1)

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

Двойственная задача.Воспользуемся опять функцией Лагранжа.Пусть

φ(u, v) = inf L(x, u, v).

x Π

Данная функция,называемая двойственной,определена на множестве Rl ×Rk+,хотя,быть может в некоторых точках и принимает бесконечные значения,равные −∞.Поэтому мы вправе поставить задачу

φ = sup φ(u, v) = sup inf L(x, u, v).

(98)

[u,v] W

[u,v]

 

W x Π

 

 

 

 

 

Задача(98)в отличие от(96)называется

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

Лагранжа L(x, u, v).

 

 

 

 

Приведем ряд результатов,касающийся свойств функции φ(u, v). Положим

W0 = {[u, v] W : φ(u, v) > −∞} .

Лемма2. В двойственной задаче (98) множество W0 выпукло,функция φ(u, v) вогнута на W0.

Доказательство. Объединим для сокращения записи пару переменных u и v в единую переменную w = [u, v].Пусть w1 W0, w2 W0 и 0 ≤ λ ≤ 1.Имеем согласно определению функции φ(w) и линейности функции Лагранжа L(x, w) по переменной w:

φ (λw1 + (1 − λ)w2) = infx Π L (x,λw 1 + (1 − λ)w2) ≥

≥ λ infx Π L (x, w1) + (1 − λ) infx Π L (x, w2) = = λφ(w1) + (1 − λ)φ(w2).

Таким образом, φ(w) вогнутая функция.Отсюда также следует,что множество W0 должно быть выпуклым,поскольку из φ(w1) > −∞ и φ(w2) > −∞ следует,что φ (λw1 + (1 − λw2)) >

−∞.

Лемма3. Для любых x X и любых [u, v] W0 имеет место неравенство ψ(x) = f(x) ≥ φ(u, v).

Доказательство. Для любых x X и [u, v] W0 выполняется: u, g(x) = 0 и v, h(x) ≤ 0.Поэтому

ψ(x) = f(x) ≥ f(x) + u, g(x) + v, h(x) = L(x, u, v) ≥ inf L(x, u, v) = φ(u, v).

x Π

Лемма4. Если x решение прямой задачи, [u , v ] решение двойственной задачи,

то ψ = f(x ) ≥ φ(u , v ) = φ .

Доказательство. Данный результат следует из утверждения предыдущей леммы.

41

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

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

Теорема30. Пусть в задаче выпуклого программирования(81)выполнено условие регу-

лярности ограничений Слейтера.Тогда для того,чтобы точкаk

x X была бы решением

(81),необходимо и достаточно,чтобы нашелся вектор v R

,для которого выполняет-

ся соотношение двойственности

 

f(x ) = φ(v ).

(99)

При этом вектор v является решением двойственной задачи(81).

Доказательство. Необходимость.При сделанных предположениях по теореме27у

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

x

X вместе с некоторым векто-

k

k

 

 

ром v R+ для всех x Π и v R+ выполняются неравенства

 

L(x , v) ≤ L(x , v ) ≤ L(x, v ).

(100)

Более того,как было показано при доказательстве указанной теоремы,имеет место условие дополняющей нежесткости: vjhj(x ) = 0, j [1 : k].Поэтому правое неравенство в(100)на самом деле записывается как

f(x ) = L(x , v ) ≤ L(x, v ) x Π.

 

Отсюда следует,что

 

 

 

 

inf L(x, v

) = φ(v

),

(101)

f(x ) ≤ x Π

 

 

 

 

 

 

 

 

причем v W0 = {v R+k : φ(v) > −∞}.Но по лемме3

f(x ) ≥ φ(v) для любого v W0.

Сравнивая это неравенство с(101),приходим к выводу,что имеет место равенство(99).При этом v действительно является решением двойственной задачи,поскольку φ(v ) ≤ φ ≤

f(x ) = φ(v ).Следовательно,

φ(v ) = φ .

 

 

 

X и v R+k такие,что выполнено

Достаточность.Пусть существуют точки

x

равенство(99).Имеем в силу определений функций

 

ψ(x), φ(v) и (95):

 

 

φ(v ) = inf L(x, v

)

L(x , v )

 

sup L(x , v) = f(x

).

 

x Π

 

 

 

 

 

v R+k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сравнивая с(99),приходим к выводу,что

 

 

 

 

 

 

 

 

 

 

L(x , v ) = inf L(x, v

) =

sup L(x , v).

 

 

 

 

 

 

x Π

 

 

 

v

 

R+k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данные соотношения означают,что пара [x , v ] является седловой точкой функции Лагранжа на Π × Rk+.Поэтому по теореме26точка x есть решение задачи выпуклого программирования(81).

42

1.4.ЗАДАЧИ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ СПЕЦИАЛЬНОГО ВИДА

1.4.1.Задачи линейного программирования

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

Пусть имеются матрица A размером m × n, а также n-мерный вектор c и m-мерный вектор b.Приведем три постановки задач линейного программирования(ЛП)с указанием их названия,принятого в отечественной литературе:

1. Задача ЛП в канонической форме.

c, x

min

 

Ax

=

b,

(102)

x

0n.

 

2. Задача ЛП в стандартной форме.

 

 

 

c, x

min

(103)

Ax

b,

x

0n.

 

3. Задача ЛП в основной форме.

 

 

 

c, x

min

(104)

Ax

b.

 

Возможны также другие постановки,в которых присутствуют как равенства,так и неравенства,а к переменным либо не предъявляется никаких требований(они свободны, т.е.принадлежат всему пространству),либо,напротив,на них накладываются двусторонние ограничения,т.е.ограничения как справа,так и слева.Однако всегда можно от одной формы представления задачи перейти к другой.Делается это с помощью простых приемов. Например,ограничения типа неравенства Ax ≥ b сводятся к равенствам введением дополнительных переменных y ≥ 0m.Тогда вместо Ax ≥ b получаем Ax−y = b.Равенство Ax = b всегда формально можно записать как два неравенства: Ax ≥ b и −Ax ≥ −b.Свободные переменные x Rn можно представить в виде разности x = y − z пары новых переменных

x ≥ 0n и y ≥ 0n и т . д .

Рассмотрим задачу ЛП в канонической форме(102).Она является частным случаем задачи выпуклого программирования,в которой имеется линейная целевая функция и линейные ограничения как типа равенства Ax = b,так и типа неравенства −x ≤ 0n.Множество"простой структуры" Π здесь совпадает со всем пространством Rn.Составим для этой

43

задачи функцию Лагранжа

 

 

 

 

 

 

 

 

L(x, u, v) =

+ u, b

Ax

v, x

 

=

(105)

c, x T

 

 

 

= c − A u − v, x + b, u ,

 

 

 

где u Rm, v ≥ 0n.Найдем минимум функцию Лагранжа по переменной

x при фиксиро-

ванных u и v,т.е.вычислим двойственную функцию

φ(u, v):

 

 

 

φ(u, v) = min L(x, u, v).

 

 

 

(106)

 

x Rn

 

 

 

 

 

 

 

В силу линейности функции L(x, u, v) по x конечный минимум может достигаться в том и только том случае,когда

Lx(x, u, v) = c − AT u − v = 0n.

(107)

При выполнении этого условия из(105), (106)получаем,что

 

φ(u, v) = b, u ,

(108)

при этом двойственная функция фактически не зависит от переменной v.Сама двойственная задача заключается в максимизации функции(108)при дополнительном учете равенства(107)и требования неотрицательности всех компонент вектора v.Другими словами, она имеет вид

b,Tu

max

(109)

v + A u

=

c,

v≥ 0n.

Таким образом,двойственная задача опять является задачей ЛП.Ее можно представить в более простом виде,если исключить переменную v:

b,Tu

max

(110)

A u

c,

 

Задача(110)является задачей ЛП в основной форме.Если построить двойственную задачу к ней(как,впрочем и к задаче(109)),то придем к исходной задаче ЛП(102).

Аналогичным образом можно получить(проделайте это!),что двойственная задача для ЛП в стандартной форме(103)имеет вид:

b,Tu →

max

(111)

A

u

c,

 

u

0m.

 

а для ЛП в основной форме(104):

 

 

 

 

b,Tu →

max

(112)

A

u

=

c,

 

u

0m,

 

44

Сформулируем теперь теорему двойственности для задач линейного программирования на примере прямой задачи в канонической форме(102)и двойственной к ней задачи(110). Обозначим через X и U допустимые множества в этих задачах:

X = x Rn+ : Ax = b , U = u Rm : AT u ≤ c .

Теорема31. Имеют место следующие утверждения:

1. Для любых x X и u U имеет место неравенство c, x ≥ b, u ;

2.Точки x X и u U являются решениями соответственно прямой и двойственной задач(102)и(110)тогда и только тогда,когда

c, x = b, u ;

(113)

3.Прямая задача(102)имеет решение в том и только том случае,когда имеет решение двойственная задачи(110);

4.Если допустимые множества в прямой и двойственной задачах не пусты,то обе задачи(102)и(110)имеют решения;

5.Если допустимое множество в прямой задаче(102)не пусто,а в двойственной задаче пусто,то оптимальное значение целевой функции в прямой задаче бесконечно, и наоборот.

Утверждение пункта1)следует из леммы3.Утверждение пункта2)фактически есть утверждение теоремы30,которое для линейных задач справедливо и без предположения о выполнении условия регулярности ограничений Слейтера.Заметим также,что равенство (113)равносильно выполнению условию дополняющей нежесткости

x , v = 0, v = c − AT u ,

(114)

поскольку из допустимости точки x получаем:

b, u = Ax , u = AT u , x .

Следовательно,

x , v = x , c − AT u = c, x − AT u , x = c, x − b, u = 0.

В силу того,что все компоненты векторов x и v неотрицательны,условие(114)распадается на n равенств: xi vi = 0, 1 ≤ i ≤ n.

45

В.Г.Жадан

МЕТОДЫ ОПТИМИЗАЦИИ

(учебное пособие)

ЧастьIII

1.ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ОПТИМИЗАЦИИ

1.1.Начальные сведения о методах оптимизации

 

Нас будут интесовать алгоритмы решения оптимизационных задач вида

 

f = min f(x),

(1)

x X

 

где как допустимое множество X,так и множество оптимальных решений X X предполагаются непустыми.Найти решение задачи(1)аналитически,применяя условия оптимальности или используя геометрический подход,удается лишь в очень немногих простых случаях.Как правило,это возможно только тогда,когда целевая функция и допустимое множество выпуклы.Но в подавляющем большинстве случаев,особенно в практических приложениях,где зачастую размерность вектора x большая и функция f(x) имеет сложный вид,решение задачи аналитически становится невозможным.Поэтому приходится обращаться к численным методам, т.е.к специальным процедурам,которые находили бы решение задачи(быть может приближенное).Численные методы строятся с использованием специфики задачи,а именно,учитывают к какому классу относится целевая функция f(x) и каким об - разом задается допустимое множество X.Выделяют численные методы отыскания локальных и глобальных решений.Их так и называют методы локальной и глобаль-

ной оптимизации.

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

1

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

Итерационный численный метод генерирует последовательность точек x0, x1, x2,

. . .,которая,вообще говоря,является бесконечной.При этом начальная точка x0 задается,а последующие точки вычисляются по предыдущим по определенным правилам.Точка xk называется k-м приближением к решению , а вся совокупность точек

{xk} траекторией.

Переход от xk к точке xk+1 называется шагом или итерацией метода.Способ этого перехода и составляет суть метода,поэтому часто метод записывается виде итерационной схемы:

xk+1 = Φk(xk), k = 0, 1, 2, . . . .

(2)

Приведенная схема(2)является одношаговой, так как в ней для определения после - дующего приближения xk+1 используется только предыдущее приближение xk.

Иногда рассматривают многошаговые схемы,в которых при рассчете xk+1 кроме xk используются и другие приближения xk−1, xk−2 и т.д.Например,в двухшаговых схемах используются xk и xk−1.Тогда надо перед началом вычислений помимо x0 задать и x1, а итерационная схема (2) заменяется на xk+1 = Φk(xk, xk−1).

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

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

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

Определение1. Метод называется сходящимся к решению x X (из точки x0),если

lim xk = x .

k→∞

2

Иногда метод генерирует последовательность {xk}, которая не является сходя - щейся,но содержит сходящиеся подпоследовательности.Определение1в этом случае переформулируется следующим образом.

Определение2. Метод называется сходящимся к множеству решений X (из точки x0),если

lim ρ(xk, X ) = 0,

k→∞

где ρ(x, X) расстояние от точки x до множества X.

В том случае , когда множествоX есть компакт,из сходимости метода к X следует существование сходящихся подпоследовательностей у последовательности {xk}.

Определение3. Последовательность {xk} называется минимизирующей,если

lim f(xk) = f = inf f(x).

(3)

k→∞

x X

 

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

min f(x),

 

x

 

x R, f(x) = 1 + x2 , X = [0, +∞),

x X

в которой f = 0, X = {0}.Последовательность {xk} с xk = k + 1, k ≥ 0 является минимизирующей для этой задачи,однако она не сходится к решению задачи точке

x = 0.

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

Пусть последовательность {xk} сходится к точке x , являющейся решением зада -

чи(1).

Определение4. Метод сходится к x с линейной скоростью , если можно ука - зать такую константу 0 < C < 1 и K0 ≥ 0, что

xk+1 − x ≤ C xk − x

для любых k ≥ K0.

3

Определение5. Метод сходится к x со сверхлинейной скоростью,если

xk+1 − x ≤ Ck xk − x ,

где Ck > 0 и Ck → 0 при k → ∞.

Определение6. Метод сходится к x с квадратичной скоростью , если можно указать такую константу C > 0 и K0 ≥ 0, что

xk+1 − x ≤ C xk − x 2,

для любых k ≥ K0.

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

Определение7. Пусть можно указать такие C0 > 0, 0 < q < 1 и K0 ≥ 0, что

xk − x ≤ C0qk

при k ≥ K0. Тогда говорят , что метод сходится со скоростью геометрической прогрессии,где q знаменатель прогрессии .

Определения,аналогичные(4) Ð (6),могут быть даны и касательно сходимости по функционалу.В них только xk заменяется на f(xk), а x на f .Например,линейная скорость сходимости по функционалу означает,что

|f(xk+1) − f | ≤ C|f(xk) − f |

для некоторого 0 < C < 1 и при всех k ≥ K0.

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

Пусть ε1, ε2 и ε3 некоторые параметры требуемой точности.Тогда процесс прерывается,если выполняется какое-нибудь из неравенств:

1)xk+1 − xk ≤ ε1;

2)|f(xk+1) − f(xk)| ≤ ε2;

Если функция f(x) дифференцируемая,то можно проверять следующее условие 3) fx(xk) ≤ ε3,указывающее на то,с какой точностью выполняется необходимое

условие оптимальности в задаче.

4

Правила 1) и 2) основаны на использовании абсолютных изменений соответственно аргумента и значений целевой функции.Гораздо более обосновано использование их относительных изменений:

4)xk+1 − xk ≤ ε1 (1 + xk+1 );

5)|f(xk+1) − f(xk) ≤ ε2 (1 + |f(xk+1|).

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

1.2.Методы одномерной минимизации

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

f = min f(x),

(4)

x X

 

где x R, X = [a, b].При этом считаем,что a < b и функция f(x) непрерывна на

[a, b].

Алгоритмы решения задачи(4)существенным образом зависят от свойств функции f(x).Мы здесь в этом разделе ограничимся рассмотрением функций,которые получили название унимодальных.Приведем это определение в общем случае для произвольных функций f(x),не предполагая их непрерывность.

Определение8. Функция f(x) называется унимодальной на [a, b], если суще -

ствует такая точка x [a, b], что f(x1) > f(x2) для любых a ≤ x1 < x2 < x , и f(x1) < f(x2) для любых x < x1 < x2 ≤ b 1.

Если на [a, b] унимодальная функция f(x) достигает своего минимума,то она достигает его именно в точке x .Для непрерывных функций свойство унимодальности означает обязательное наличие у функции f(x) единственного локального минимума на [a, b],который одновременно является и глобальным минимумом.Можно показать,что для непрерывных функций одного аргумента свойство унимодальности на отрезке [a, b] равносильно ее строгой квазивыпуклости на [a, b].

Утверждение1. Пусть f(x) унимодальная на отрезке [a, b] функция,достигающая своего минимума в точке x [a, b]. Пусть , кроме того , имеются две точки x1 [a, b] и x2 [a, b] такие,что x1 < x2. Тогда :

1. если f(x1) ≤ f(x2), то x [a, x2];

1Известны также другие определения унимодальных функций и их обобщений,см.,например, [].Приведенное здесь определение взято из[].

5

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