Учебная работа № 1197. Метод Зойтендейка

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 4,67 из 5)
Загрузка...
Контрольные рефераты

Учебная работа № 1197. Метод Зойтендейка

ГК и ВО России

НГТУ

Кафедра АСУ

Реферат на тему:

Метод Зойтендейка

Факультет: АВТ

Группа: АС513

Студент: Ефименко Д.В.

Преподаватель: Ренин С.В.

Новосибирск

1997

Содержание:

2
Случай линейных ограничений 2

Геометрическая интерпретация возможного

направления спуска 2

Построение возможных направлений спуска 3
Задачи с нелинейными ограниченияминеравенствами 9
Алгоритм метода Зойтендейка (случай нелинейных
ограниченийнеравенств)11
Учет нелинейных ограниченийравенств 14
Использование почти активных ограничений 15
Список литературы18

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

Следующее определение вводит понятие возможного направления спуска.

ОПРЕДЕЛЕНИЕ. Рассмотрим задачу минимизации f (х) при условии, что х ÍS, где f : Еn Е1 , а S—непустое мно­жество из Е n . Ненулевой вектор d называется возможным направлением в точке хÍS, если существует такое d>0, что х + lxÍ S для всех l Í(0,d). Вектор d называется возможным направлением спуска в точке xÍS, если существует такое d>0, что f (х+ld)<f(x) и х+ldÍS для всех l Í(0, 6).

Случай линейных ограничений

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

мини мизировать f(х)

при условиях Ах£b,

Ех .

Здесь А—матрица порядка m ´ n,Е —матрица порядка l ´ n, b есть mмерный вектор, а е есть l мерный вектор. В следующей лемме приводятся соответствующие характеристики допустимойобласти и формулируются достаточные условия для существо­вания возможного направления спуска. В частности, вектор dявляется возможным направлением спуска, если A1 d£0, Еd= 0 и Ñ f(х)T d< 0.

ЛЕММА. Рассмотрим задачу минимизации f (х) при условиях Ах £b и Ех= е. Пусть х— допустимая точка, и предположим, что А1 x=b1 и А2 x<b2 , где АT =(А1 T , А 2 T ), а bT =(b1 T , b2 T ). Тогда ненулевой вектор и является возможным направлением в точке х в том и только в том случае, если A1 d£0и Еd =0. Если, кроме того, Ñ f(х)T d<0, то d является возможным направлением спуска.

Геометрическая интерпретация возможного направления спуска

Проиллюстрируем теперь геометрически на примере множество возможных направлений спуска.

ПРИМЕР

Минимизировать при условиях

(x1 6)2 +(x2 2)2

x1 +2x2 £4

3x1 +2x2 £12

x1 £0

x2 £0

Возьмем х= (2, 3)T и заметим, что первые два ограничении являются активными в этой точке. В частности, матрица А 1 из леммы равна А1 = [1 3 2 2 ]. Следовательно, вектор d является возможным направлением т огда и только тогда, когда А 1 d£0, т.е. в том и только в том случае, если

d1 +2d 2 £0,

3d1 + 2d2 £0.

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

Если вектор d удовлетворяет неравенству 0> Ñf(х)T d=8d1 +2d2 , то он является направлением спуска. Таким образом, совокупность направлений спуска определяется откры тым полупространством {( d1 ,d2 }: 8d1 +2d2 < 0} . Пересече­ние конуса возможных направлени й с эти м полупространством задает множество всех возможных направлений спуска.

Рис. 1. Возможные направления спуска, 1 —конус возможных направле­ний: 2 — конус возможных направл ени й спуска; 3 — линии уровня целевой функции; 4 — полупространство направлений спуска.

Построение возможных направлений спуска

Пусть задана допустимая точка х. Как показано в лемме , ненулевой вектор и является возможным направлением спуска. Естественный подход к построению такого направления заключается в минимизации Ñf(х)T d. Заметим, однако, что если существует вектор d, такой, что Ñ f(х)T d <0, А 1 d£0, Еd= 0, то оптимальное значение целевой функции в сформу­лированной задаче равно — ¥, так как ограничениям этой за­дачи удовлетворяет любой вектор l d, где l—сколь угодно большое число. Таким образом, в задачу должно быть включено условие, которое ограничивало бы вектор и или оптимальное значение целевой функции. Такое ограничени е обычно называют нормирующим. Ниже приведены три задачи построения

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

Задачи Р1 и РЗ являют ся задачами линейного программиро­вания и, следовательно, могут быть решены симплексметодом. Задача Р2 содержит квадратичное ограничение, но может быть рассмотрена в несколько упрощенном виде. Так как d = 0 является допустимой точкой в каждой из приведен­ных выше задач и так как значение целевой функции в этой точке равно нулю, то ее оптимальное значение в задачах Р1, Р2 и РЗ не может быть положительным. Если минимальное значе­ние целевой функции в задачах Р1, Р2 или РЗ отрицательно, то по лемме построено возможное направление спуска. С другой стороны, если минимальное значение целевой функции равно нулю, то, как показано ниже, х является точкой Куна — Таккера.

ЛЕММА. Рассмотри м задачу минимизации f (х) при условиях Ах £b и Ех = е. Пусть х — допустимая точка, для которой А1 x=b и А2 x<b2 , где А T =(А1 T , А2 T ), а bT =(b1 T , b2 T ). Тогда х является точкой Куна—Таккера в том и только в том случае, если оптимальное значение целевой функции в задачах Р1, Р2 или РЗ равно нулю.

Доказательство. Вектор х является точкой Куна—Таккера тогда и только тогда, когда существуют векторы u³0 и v, такие, что. По следствию 2 из теоремы эта система разреши ма в том и только в том случае, если система не имеет решени й, т. е. тогда и только тогда, когда оптимальное значение в задачаx Р1, Р2 или РЗ равно нулю.

Ли нейный пои ск

Только что было показано, как строить возможное направление спуска или убедиться, что текущая точка удовлетворяет условиям Куна—Таккера. Пусть теперь х k —текущая точка, а dk возможное направление спуска. В качестве следующей точки xk+1 берется, где длина шага К& определяется из реше­ния следующей задачи одноме рной мини мизации:

Минимизировать

при условиях

Предположим теперь, что А T =(А1 T , А2 T ), а bT =(b1 T , b2 T ), такчто и .Тогда задачу одномерной мини­ мизации можно упростить следующим образом. Вопервых, за­метим, что Ехk =е и Еdk =0, так что ограничение излишне. Так как и для всех l³0. Таким образом, рассматриваемая задача приводится к следующей задаче линейного поиска;

(1)

Алгоритм метода Зойтендейка (случай линейных ограничений)

Ниже приведен алгоритм метода Зойтендейка для минимизации дифференцируемой функци и f при условии, что .

Начальный этап. Найти начальную допустимую точку х 1 , для которой . Положить k= 1 и перейти к основ­ному этапу.

Основной этап. Шаг 1. Пусть задан х k . Предположим, что АT =(А1 T , А2 T ), а bT =(b1 T , b2 T ),так что . Взять в качестве dk оптимальное решение следующей задачи(заметим, что вместо этой задачи можно использовать Р2 или РЗ):

Если , то остановиться; х k —точка Куна—Таккера, В противном случае перейти к шагу 2.

Шаг 2. Положить равным оптимальному решению е ле., дующей задачи линейного поиска:

где определяется в соответствии с (1). Положить, определить новое множество активных ограниче­ний в и переопределить А1 и А 2 . Заменить k на k+ 1 и перейти к шагу 1.

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

Итерация 1

Поиск направ ления. В точке имеем . Кроме того, в точке x1 активными являются толь­ко ограничения неотрицательности переменных, так что l = {3,4}. Задача для нахождения направления имеет вид

Рис. 2

Эту задачу можно решить симплекс методом для решения задач линейного программирования. На рисунке 2 показана допустимая область этой задачи.

Линейный поиск. Теперь, двигаясь из точки (0, 0) вдоль направления (1, 1), нужно найти точку, в которой значение це­ левой функции ми ни мально. Любая точка может быть записана в виде , а целевая функция в этой точке при нимает вид . Максимальное значение коэффициента l, для ко­торого точка допустима, в ычисляется по формулам и равно

Следовательно, если —новая точка, то значе ние по­лучается из решения следующей задачи одномерной миними­зации:

минимизировать —10+2

при условии 0 ££ .

Очевидно, что решением является , так что

Итерация 2

Поиск, направления. В точке имеем .

Рис 3.

Кроме того, множество активных ограниче ний в точке х2 равно l={2}, так ч то направление движения получается из решения следующей зад ачи:

минимизировать

при условии

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

Линейный поиск. При начальной точке х 2 любая точка в на­правлении d2 может быть представлена в виде Соответств ующее ей значение целевой функ­ции равно

Макси мальное значение l для которого точка Х2 +ld2 остается допустимой, определяется в соответствия с (1) следующим образом:

Таким образом, в качестве ^ берется оптимальное решение сле­дующе й задачи:

минимизировать

при условии

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

Рис 4.

Итерация 3

Поиск направ ления. Вточке х3 = имеем Кроме того, множество активных ограни­чений в точке хз равно l = { 2}, так что направление движения получается из решения следующей задачи:

Можно легко проверить по рис. 4. что действительно является решением этой задачи ли­нейного программирования. Соответствующее значение целевой функции равно нулю, и процедура заканчивается. Более того, точка является точкой Куна—Такке ра.

В этой конкретной задаче функция f выпукла, и по теореме 4.3.7 точка х является оптимальным решением.

Таблица 1

Результаты вычислени й по методу Зойтендейка для случая линейных ограничений

Рис. 5. Пои ск решения методом Зойтендейка (случай линейных ограничений).

В табл. 1 приведены результаты вычислений для рассмо­тренной задачи. На рис. 10.5 изображен процесс поиска решения в соответствии с описанным алгоритмом.

Задачи с нелинейными ограниченияминеравенствами

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

минимизировать f(х)

при условиях g i (х) £0,i=1, …,m.

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

ТЕОРЕМА. Рассмотрим задачу минимизации f(х ) при условиях gi (х)£0,i=1, …,m.. Пусть х—допустимая точка, а I—множество индексов активных в этой точке ограни­чений, т. е. . Предположим, кроме того, что функции f и gi для дифференцируемы в х, а функции gi для непрерывны в этой точке. Если при , то вектор d является возможным на­правлен ием спуска.

Ри с. 6. Совокупность возможных н аправлений спуска в задаче с нелиней­ными ограничен иями. 1— 1 е ограни чение; 2—3е ограничение; 3—4е ограни­чение; 4— 2е ограничение; 5— возможные направления спуска; 6— линии уровня целевой функции.

Доказательство. Пусть вектор и удовлетворяет неравенствам и при . Для выполняютсянеравенства , и так как gi непрерывн ы в точке х, то для достаточно малых . В силу дифференцируемости функций gi при имеем

где при . Так как , то при достаточно малых . Следовательно, при i = 1, . . ., m, т.е. точка допустимая для достаточно малых положи тельных значений . Аналогично из следует, что для достаточно малых > 0 имеем . Следов ательно, вектор и является возможным направлением спуска.

На рис. 6 показана совокупность возможных направлений спуска в точке х. Вектор d , удовлетворяющий равенству , является касательн ым к множеству в точке х. Поскольку функции gi нелинейны, движение вдоль такого вектора d может привести в недопустимую точку, что вы­нуждает нас тре бовать выполнения строгого неравенства .

Чтобы найти вектор d, удовле творяющий неравенствам для , естественно мини мизи­ровать максимум из и для . Обозначим этот макси мум через z. Вводя нормирующие ограничени я Для каждого j, получим следующую задачу для нахождения направления.

Пусть (z, d)—оптимальное решение этой задачи линейного про­граммирования. Если z <0, то очевидно, что d—возможное направление спуска. Если же z= 0, то, как показано ниже, те­кущая точка является точкой Ф. Джона.

ТЕОРЕМА.. Рассмотрим задачу минимизации f (х) при условиях gi (х) £0, i = 1,…, m. Пусть х— допустимая точка, а . Рассмотрим следующую задачу на­хождения направления:

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

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

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

Это и есть условие Ф. Джона.

Алгоритм метода Зойтендейка (случай нелинейных ограниченийнерав енств)

Начальный этап. Выбрать начальную точку х1 , для которой gi (xi )£0 при i= 1, …, m. Полож ить k= 1 и перейти к ос­новному этапу.

Основной этап. Шаг 1. Положить и ре­шить следующую задачу:

Пусть ( zk , dk ) — оптимальное решени е. Если zk =0, то остано­виться; xk является точкой Ф. Джона. Если zk < 0, то перейти к шагу 2.

Шаг 2. Взять в качестве ^ оптимальное решение следующей задачи одномерной минимизации:

где. Положить . заменить k на k+ 1 и перейти к шагу 1.

ПРИМЕР. Рассмотрим задачу

Решим эт у задачу методом Зойтендейка. Начнем процесс из точки .Отметим, что

Итерация 1

Поиск направления. В точке х 1 = (0.00, 0.75) T и меем а множество индексов активных ограничений есть I= { 3}. При этом Задача нахождения н аправления имеет вид

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

Ли нейный поиск. Любая точка по направлению d 1 == (1.00, —1.00)T из точки xi = (0.00, 0.75) T может быть представлена в виде ,а соответствующее ей значение целевой функци и равно . Макси­мальное значение, для которого остается допустимой точкой, равно == 0.414. При этом значении l активным ста­новится ограничение . Значение l получается из решения следующей задачи одномерной ми нимизации:

минимиз ировать 6l2 —2.5l—3.375

при условии 0£l£0.414

Оптимальное значение равно l 1 = 0.2083. Следовательно, х 2 = (x1 + l1 d1 ) ( 0.2083,0.5417)T .

Итерация 2

Поиск направления. В точке x2 = (0.2083, 0.5417) T имеем ( х2 )= ( 4,2500, —4.2500) T Активных ограничений в этой точке нет, и поэтому задача определения направления имеет вид

минимизировать z

при условиях —4.25d1 —4.25d2 —z£ 0,

1< d1 <1, j =1, 2.

Оптимальным решением является вектор d2 =(1, 1) T , а z2 = 8.50.

Линейный поиск. Можно легко проверить, что мак­ симальное l, при котором точка x2 +ld2 допустима, равно lmax == 0.3472. При этом активным становится ограничение . Значение l2 получается минимизацией при условии и, оче­видно, равно l2 = 0.3472, так что хз = х 2 +l 2 d2 = (0.5555, 0.8889)T .

Итерация 3

Поиск направления. В точке xз = (0,5555, 0.8889)T и меем (хз )= (—3.5558, —3.5554)», а множество индексов активных ограничени й есть I ={1}. Задача определения направления имеет вид

Оптимальным решением является вектор.

Лин ейный поиск. Максимальное значение l при котором точка x з + l dз допустима, равно lmax = 0,09245. При этом l ак­ти вным становится ограничение . Значение l3 полу­чается минимизациейпри условии 0,09245. Оптимальным решением этой за­дачи являетсяl3 = 0.09245, так что = (0.6479, 0.8397)T .

Итерация 4

Поиск, направления. Для точки х4 = (0.6479, 0.8397) T имеем =(— 3 .0878, —3.9370)^ а I ={2}. Задача определения направления имеет вид

Оптимальным решением этой задачи является вектор d4 = (0.5171, 1.0000) T и z4 = — 2.340.

Линейный поиск. Максимальное значение К , для которого точках4 + ld4 допустима, равно l m ах = 0.0343. При этом огра­ничение становится активным. Значение l4 полу­чается минимизацией f (x4 + ld4 ) == 3,569l 2 — 2.340l —6.4681 при условии и равно l 4 = 0.0343. Следовательно, новой точкой является x5 == x4 + l4 d4 = (0.6302, 0.8740)T .Значе­ ние целевой функции в этой точке равно 6.5443, т. е. сравня ю со значением —6.5590 в оптимальной точке (0.658872, 0.808226)T .

В табл. 2 приведены результаты вычислений на первых четырех итерациях метода. На рис. 7 показан процесс поиска оптимума.


Таблица 2

Рис 7

Учет нелинейных ограниченийравенств

М етод возможных направлений может быть модифицирован на случай, когда имеются нелинейные ограниченияравенства. Для иллюстрации обратимся к ри с. 8, который отвечает единствен­ ному ограничениюравенству. Для заданной допустимой точки х k , в этом случае не существует ненулевого направления d, та­кого, что при для некоторого положи­тельного d. Это затруднение можно преодолеть, если двигаться вдол ь касательного направлени я dk , для которого , а затем скорректировать движение и возвратиться в до­ пустимую область.

Рис. 8. Нелине йные ограниченияравенства. 1 —касательное н аправл ени е; 2 — корректирующее движение в допусти мую область.

Чтобы быть более точным, рассмотрим следующую задачу:

минимизировать f (х)

при условиях gi (х)£0, i= 1,…, m,

hi (х)= 0, i =1, …,i.

Пусть xk —допустимая точка и l= { i. gik )== 0}. Решим сле­дующую задачу линейного програм мирования:

Искомое направление dk является касательным к ограниче­ниямравенствам и к некоторым активным нели нейным ограни­чениямнеравенствам. Линейный поиск вдоль dk н последующее возвращение в допустимую область приводят в точку х k+1 , после чего процесс повторяется.

Рис. 9. Использование поч ти активных ограничений. 1 — опти мальное решение; 2— линии уровня целевой функции; 3—1е ограничение; 4— 2е ограничение.

Использование почти активных огран ичений

Напомним задачу определения направлени я как для случая ли­ нейных, так и нелинейных ограниченийнеравенств. Если задан­ная точка близка к границе, определяемой одним из ограниче­ний, и если это ограничени е не используется в процессе нахож­дения направления движения, то может случиться так, что удастся сделать только маленький шаг и мы окажемся на гра­нице, определяемой этим ограничением. На рис. 9 в точке х активным является только первое ограничение. Однако точка х близка к границе, определяемой вторым ограничением. Если м ножество I в задаче определения направления задать в виде I ={ 1}, то оптимальным будет направление d и до выхода на границу допустимой области можно сделать только маленький шаг. Если же в множество активных ограничений включить оба ограничения, т. е. положи ть I={1, 2) , то решение задачи Р

определения направления даст вектор и , который обеспечивает большие возможности для движения в рамках допустимой об­ласти. Таким образом, это н аводи т на мысль о том, что в ка­честве множества I следует брать совокупность индексов почти активных ограничений. Точнее, вместо множества { i: gi (х)= 0} в качестве I следует брать множество { i ,gi (х) ³0}, где е>0—достаточно малое чи сло. Метод возможных направлений не обязательно сходится к точке Ф. Джона. Это

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

Список литературы:

1. М. Базара, К. Шеттл «Нелинейное программирование. Теория и алгоритмы» М.: Мир 1982

2. Д. Химмельблау «Прикладное нелинейное программирование» М.: Мир 1975

Учебная работа № 1197. Метод Зойтендейка