Смекни!
smekni.com

Метод Зойтендейка (стр. 3 из 4)

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

Начальный этап. Выбрать начальную точку х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}. При этом Задача нахождения направления имеет вид

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

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

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

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

Оптимальное значение равно l1= 0.2083. Следовательно, х2= (x1+l1d1) -(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 +l2d2= (0.5555, 0.8889)T.

Итерация 3


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

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

Линейный поиск. Максимальное значение l при котором точка xз+ldз допустима, равно 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 допустима, равно lmах= 0.0343. При этом огра­ничение становится активным. Значение l4 полу­чается минимизацией f(x4+ ld4) == 3,569l2— 2.340l —6.4681 при условии и равно l4= 0.0343. Следовательно, новой точкой является x5==x4+l4d4= (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), то решение задачи Р