3 часть (1081356), страница 58
Текст из файла (страница 58)
вектора е ' представляются в виде е. з 1 (ь)-ь (ю= е — е н находятся из решения следующей задачи линейного з программирования с переменными ов, е, е, 1 = 1, ..., и: (ь)+ (ю- 1ь = — оь -) пнп, п дх 1=1 П (/) Е (е — е )+ос<0, (б1а, дд,(х ) (ь)+ дх 3 и (е() +е() )<1, (50) у=с оь,е,е, )О, (ь)+ (ь)- е() е() =О, 1=1,...,п. Замечание.
Для ускорения сходимости метода возможных направлений множество индексов (49) иногда определяют не по точному, а приближенному равенству д;(х(")) = 0 со все возрастающей точностью еа, т.е. вместо!в используют множества 1ь(еь) = К вЂ” еь < д,(х(~)) < О), где еь -+ 0 при и -) аа. 3 4. Нелинейное программирование 403 2. Выбор величины псрсмсщснип пв.
Вели сина с!с, находится по аналогии со случаем лингйных ограничений (24), (25) на допустимое множества сс, т.с. аь = пс!п(с!в!,, с!!в!, а!)~ где а". опрсдсллстсп из (37), а аы, ! = 1, ..., пс, — максимально возможное перемещение вдоль направлении е!сд с учетом с-го ограниченно (48), найденное из условии д,(х!сб + аь,е!сб) = О. 3.
Еритсрий окончания вычислений. Условием достиженин заданной точности решения я > 0 задачи (47), (48) методом возможных направлений служит выполнение хотя бы одного из неравенств 5Г'(х!~У)(! < с, пь < с. При выполнении этого условия полагают х' х1 1, Г" в Г(х1~1). Любое из равенств Г'(х00) = О, пс = 0 означает, что точка минимума х* функции Г(х) на множестве (7 найдена точна: х" = х<с1. Пример 3. Решить следующую залачу нелинейного программировании методом возможных направлений, завершая вычисления при !)Гс(х00)!) < 0,1 или сгь < 0,1: Х(х) = — т! — хт -о шсп, д,(х) = хт + Х2 — 25 < О '() "" '"шщук (р р ') фф рснцирусмыми в Ео, поэтому можно использовать метод возможных направлений.
Выберем начальное приближение х1о! = (О; 1). Очевидно, х1о! б (7. Шаг 1. 1. Тасс как дс(х1о1) = — 24 < О, то хбй пвллстсл внутренней точкой множества Н и Гс = !з!. 2. Вектор е1о! находим по формуле ебй = — Г'(хсо!) = (1, 1). 3.
Найдем максимальна возможное перемещение ао! из условии д,(х(о1+аосе1оУ) 0: (О+по!.1)з+(1+по! 1)г 25 = 2аго +2ао! — 24 = О, оп!у.да пш — — 3. Определил ао из (38), получим сто = +са, так как функции Фо(п) = = у(х!ос + аебб) = — 2с! — 1 неограниченно убывает прп а -+ +аа. Отсюда находим величину перемсщснип на первом шаге: по —— = сшп (3, +ас) = 3. 4. Найдем слсдуюшсс приближение (22); х01 = (О, 1) + 3(1, 1) = (3, 4). Шаг 2. 1. Поскольку дс(х10) = О, то х01 — граничнан точка множества (7 и Г! = (1). Гл. 17, Методы оптимизации 404 ~~ — — — о~ — ~ ппп, — ~~+е< ~ — е< ~~+е< ~ +о <0 е< ~~+е< ~ +е< ~~+е< ~ <1 и е< ~ е< ~ > 0 е< ~ е< 1 = 0 омеу,еу, е е.
у=1,2. Решив ее симплекс-методом, получим о~ — — 1/8, е,' + = 9/16, е ' = (9/16, -7/16). 3. Величину перемещения а~ находим, как и на предыдущем шаге: ам — -16/65, а,' =+ос, т.е. а< = 16/65. 4. Очередное приближение х<т~ находим из (22): х<~< = (3; 4) + — ( —; — — ) = (3,188; 3,892). 16/9 7~ 65 1,16' 16) Шаг 3. Так как д~(х<т>) = О, то точка х<т> является граничной. Находя е<т< и ат по общему правилу, получим: от — — 0,125, е<~1 = (0,547; — 0,453), ат = 0,186. Отсюда х<з> = (3,240; 3,809).
Переходя к следующему шагу, найдем оз = 0,094 < 0,1, т.е. требуемая точность достигнута и х* х<з1 = (3,240; 3,809), /" ю /(х<з>) = = — 7,049. <> Решить задачи нелинейного программирования 17.291 — 17.298 методом возможных направлений, завершая вычисления при <<Е'(х<")) << ~ (0,01 или оь ( (0,01. 17.291. /(х) = 2х< + хз — ь ппп, я+ха 9<0 17.292. Дх) = х~< + х~з — 12х< — бхз -+ гп(п, д<(х) = хт + х~ з— 16 ( О. 17.293.
/(х) = — х< — 2хз — ~ ппп, д<(х) = х~< + хт ~— 1 ( (О, дз(х) = -х< — хз ( О. 17.294. /(х) = х~< — 2х< — хз — ~ ппп, д<(х) = 2х~< + Зх~з — 6 ( О. 2. Вектор е<О находим из решения задачи линейного программирования (50): г 4. Нелинейное программирование 405 17,295. Дх) = 4хг~+ хгг+ 2хг -+ гшп, дг (х) = хг + хг — 4хг < О, дг(х) = -х1+хг — 2 < О.
17.296. Дх) = 10хг — хг — ь ппп, дг(х) = хг — 4х1+ хг + 3 < О, дг(х) = хг+ 4хг г4хг г4 ( О. 17.297. у(х) = 4хг + хг -в ппп, д (х) =хг+хг — 1<0, дг(х) = х1 — хг (О. 17.298. Дх) = хг~ — Зхг + хгг -+ ппп, д1 (х) = хг — 2хг ( О, дг(х) = — х1+хг ( О. 3. Градиентньге методы решения задач нелинейного программирования. Один из подходов к решению задач нелинейнога программирования состоит в такой молификации градиентных методов безусловной минимизации (см. г 2), чтобы в процессе построения последовательных приближений к точке минимума учитывались ограничения на допустимое множество.
Ниже рассматриваются два метода минимизации, основанных на этом подкопе применительна к решению гладкой задачи выпуклого программирования у(х) -в нйп,, х б У, где У С Е„вЂ” выпуклое замкнутое множество, у'(х) — выпуклая лифференцируемая на Н функция. Первый метод (метод проекции градиеита). На каждой итерации этого метода предусмотрена процедура возврата очередного приближения градиентного спуска х~ "+О = хрй — аьу'(х~"~) на лопустимое множество У, если х~"+0 ф У. Такой возврат производится посредством проектирования к~выл на У, т.е.
замены х~"+~~ на ближайшую точку множества У. Определение. Пусть заданы замкнутое множество У С б„и точка а Е С„. Тачка зц = Рц(з) называется проекцией точки з на множество У, если р(ггг, з) = ппп р(х, з), иее тле р(х, у) = йх — у0 — расстояние межлу точками х и у в пространстве Е„. Очевидно, для точки з Е У проекция Рц(в) совпадает с з. Таким образом, в метоце проекции градиента последовательные приближения хрй к точке минимума х' целевой функции у(х) на множестве У Вычисляются па формулам х~~+О = Рц(х~~~ — аьу~(х00)!, Й = О, 1, ..., хйй Е Н. (52) Гл.
17. Методы оптимизации 406 В зависимости от способа вычисления аь из (52) различают несколько вариантов метода проекции градиента, самымп распространенными из которых являются следующие. 1. аь находится, как в методе наискорейшего спуска безусловной мкнимизапии (см. з 2), т.с. Фь(оь) = ш|пФь(о), где Фь(о) = Дх~ь~— в>0 — ау'(хрй)). 2.
В предположении, что градиент г'(х) целевой функции удовлетворяет на множестве У условию Липшица, т.е. )(Г'(х') — Г'(х")б < Ц(х' — х" б (53) для всех х', х" Е (7, полагают оь = а, (с = О, 1, ..., где а — произвольное число из интервала (О; 2/Ь). Если известна минимальная константа Липшица Ь из (53), то выбирают, как правило, а = 1/5. Вычисленил по формуле (52) завершаются при выполнении одного из неравенств б1" (хрй)б < е нли бхйй — х~~ '>)( < е, где величина е ) О определяет точность решения задачи.
Окончательно полагают х' — х<~>, у* и у(хрй). Отметим, что определение проекции Ро(г) для точки г ~ У является самостоятельной задачей нелинейного программирования в у"(х) = бх — гб~ = ~ (х, — гу) — > глш, г Е (7, (54) у=! (7 = х б б„(((газ = ~х, ~ (Ло (замкнутой шар радиуса Ло с ценз=1 тром в точке О в пространстве 5„). <~ Запишем условие задачи (54) для рассматриваемого случая в дх) = ~ ~(х — гз)в -+ пцп, 1=1 т<Лг угы (55) решение которой может вызвать затруднения.
В частном случае, когда множество У определяется лишь линейными ограничениями, задача (54) представляет собой задачу квадратичного программирования. Ее решение может быть найдено за конечное число шагав, как описано выше. Особый интерес при использовании метода проекции градиента представляют такие множества У, для которых задача проектирования решается в явном виде. Пример 4. Найдите проекцию Ро(г) точки г е б„на множество э 4. Нелинейное прогр ммироваияе 407 Рассмотрим возможные случаи.
1. х Е У, т. е. ~ з! < Лаз. Тогда Р!!(х) = х. ,=1 аа 2. х ф у, т.е. ~ хэ = Л1 > Л~о. Запишем ограничение-неравенство 1=1 (55) в виде равенства, добавив в его левую часть дополнительную переменную х„.ь! — — у > О. В результате пол1 !иы задачу на условный минимум (см. Часть 2, с. 214): аа Г'(х) = ~~ (х. — ху) -+ пип, у=! уа(х,у)=~~ х,.+у — Ло=О.
1=1 Для ее решения запишем необходимые условия экстремума функции аа о Лагранжа 1,(ха у, Л) = ~ ~(х — х ) +Л у хт+ у — Ло~ 1=1 1=1 дт, — = 2(х, — х ) + 2Лхз — — О, у = 1,,,., н, дх дС вЂ” = 2Лу = О, ду к х! + уэ — Л~ = О. Решив эту систему п+ 2 уравнений с учетом предположения ~ х~~ = 1=1 = Л > Ло, находим ху = — г„у = 1, ..., н, Л = — — 1, у = О, т. е. Л" '"'' Л, аа х= — г=Лох/ ,1=1 А(х, у, Л) Проверим выполнение достаточного условия л!инимума в найденной тачке. Для этого найдем все частные производные вто /Ло Л !! д'Ь Л рого порядка в точке (х; у; Л) = ~ — 'х; 0; — — 1у! ! — = 2 —, Л,Л ' ' Лс,/ дх,' Лс' де У дзь дэба, / Л д ду ' '"' ' дх!дх, ' ' ду (,Л. Гл. 17. Методы оптимизации 408 й п Поэтому ~)эЕ = 2 — ~~ г1хэ+2 ( — — 1 ~ г1рт > 0 при ~~ г(ха+ г(уэ > О, л з=1 у=! т.с. достаточное условие минимума выполняется Окончательно 2 < д2 1=1 в з >Во.
>> если Ри(в) = (56) Лог ~ г, если ч э о=1 У(х) = -т1+ х, '-+ |пш, хэ + хээ < 1. «з В качестве начального приближения возьмем, например, точку х~о> = = (О; 0,05) 6 ГУ. Градиент Г'(х) = ( — 1,2тт) удовлетворяет условию Липшица (53) с константой Ь = 2, так кав ЦГ'(х') — Г'(х") Ц = = 2[х!~ — х~'[ < 2Цх' — х" Ц. Поэтому в (52) можно положить оь = а 6 (О; 1), й = О, 1, ..., например, о>„.