Текст
                    Mathematics in Science and Engineering
Volume 77
COMPUTATIONAL METHODS
IN OPTIMIZATION
A Unified Approach
by
E. Polak
Department of Electrical Engineering and Computer Sciences
University of California
Berkeley, California
Academic Press
New York • London 1971


Э. Полак ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ Единый подход Перевод с английского Ф. И. Ерешко Под редакцией И. А. Вателя С предисловием Н. Н. Моисеева ИЗДАТЕЛЬСТВО «МИР» МОСКВА 1974
УДК 51.380.115 В книге дается единый подход к различным методам оптимизации. Изложение построено так, что методы решения задач нелинейного программирования, а также оптимального управления дискретными и непрерывными процессами рассматриваются параллельно. Особое внимание обращено на методологию конструирования алгоритмов. Здесь выделена фаза создания принципиальной схемы алгоритма и затем фаза реализации этой схемы в исполнимый на ЭВМ алгоритм. Для большинства алгоритмов доказана их сходимость и даны оценки скорости сходимости. На модельных примерах приводится сравнение ряда алгоритмов. Книга полезна как студентам старших курсов и аспирантам, занимающимся углубленным изучением методов оптимизации, так и инженерам и специалистам, применяющим и развивающим эти методы для решения практических задач. Редакция литературы по математическим наукам 20204-29 П L1 @1)-74 ^"^ © Перевод на русский язык, «Мир», 1974
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ Книга известного американского математика профессора Э. Полака занимает особое место в огромном потоке литературы, посвященной методам оптимизации. Алгоритм, как это справедливо заметил автор, — некоторое изобретение, и, как всякое изобретение, он проходит большой путь, прежде чем превратится в надежную конструкцию и начнет служить людям. Исходная идея, которая рождается у автора алгоритма, никогда в «чистом виде» не может быть реализована. Автор вводит понятия «принципиального» и «реализуемого» алгоритмов. При описании идеи «принципиального» алгоритма обычно не заботятся о том, чтобы каждая итерация требовала конечного (и, как правило, относительно небольшого) количества машинных операций. Например, при перечислении процедур «принципиального» алгоритма может быть и такая: «найти нуль функции /(#)», хотя сама эта процедура может оказаться весьма трудоемкой. Описание «реализуемого» алгоритма должно содержать указание о необходимой точности выполнения каждой из итераций. Введение подобных понятий позволило автору построить очень удобную и полезную инфраструктуру книги и проследить последовательную эволюцию алгоритма от его исходной «принципиальной» формулировки до «реализуемого» варианта, который, вообще говоря, жестко связан с природой решаемой задачи. В основе алгоритмов оптимизации не так уже много идей и, значит, существует лишь несколько исходных моделей алгоритмов и их принципиальных схем. Это позволяет провести довольно простую классификацию и сделать попытку построения некоторой «теории алгоритмов оптимизации». Книга профессора Полака, собственно говоря, и является попыткой построения такой теории алгоритмов с единым языком и единой схемой анализа основных «принципиальных» алгоритмов и их «реализуемых» вариантов. В центре внимания монографии, как и большинства книг, посвященных методам оптимизации, — проблема сходимости. Несмотря на то что автор очень четко описывает схемы алгоритмов, давая почти блок-схемы необходимых расчетов, больше
6 ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ всего его интересует выяснение сходимости и принципиальная1 возможность получить точное решение. В книге очень много субъективных оценок и суждений не только о тех или иных алгоритмах, но и о работах других авторов. Часто для этого имеются веские основания, поскольку оценки автора опираются на большой вычислительный опыт, как собственный, так и его ближайших коллег по Калифорнийскому университету и его учеников. Одно из главных достоинств книги — рассмотрение в комплексе вопросов оптимизации: создание принципиальной схемы алгоритма, доказательство соответствующей теоремы сходимости (гл. 1, 6) и, наконец, изложение реализуемой его- формы. Многие утверждения автора спорны и могут служить источником полемики. Замечу к слову, что, с моей точки зрения, это достоинство, а не недостаток книги. Перечисление бесспорных фактов и очевидных истин, к тому же педантично изложенных, — вряд ли наилучший способ писать книги в новых, быстро развивающихся областях человеческого знания. В этом отношении книга проф. Полака совсем не похожа на многочисленные руководства по проблемам оптимизации, которые в последние 10 лет появились на книжном рынке. Одно из таких спорных утверждений— тезис о предпочтительности изучения задач дискретного- управления по сравнению с задачами непрерывными, высказанный в начале книги. Мне кажется, что этот тезис несколько обедняет содержание книги. Автор, конечно, совершенно прав, когда говорит, что использование ЭВМ неизбежно требует дискретизации задачи и сведения в конечном итоге задачи оптимального управления к задачам нелинейного программирования, пусть специального* вида, но все-таки к конечномерным задачам оптимального управления. Точно так же трудно возразить автору, когда он говорит о том, что практически мы можем реализовать только кусочно постоянные управления, а измеримые функции являются практически лишь математическими фикциями. Но тогда зачем автор затрачивает столько усилий для доказательства сходимости? Ведь в действительности мы никогда не можем реализовать счетную последовательность итераций, и сходимость — это тоже, если угодно, некоторая математическая фикция. Я понимаю и ценю идеи конструктивистов и даже готов согласиться с тем, что мир в принципе не только дискретен, но и конечен, что не только неизмеримые, но даже просто непрерывные функции — это некоторые фикции. Но мне всегда кажется необходимым подчеркивать значение того инструмента, который носит название «асимптотика». Переход к континууму — асимптотика непрерывного — бесконечно обогатил человеческое
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ 7 «сознание и породил удивительнейший способ исследования — математический анализ. Проблемы отыскания оптимальных управлений — не только проблемы вычислительной математики и построения конкретных программ. Это — источник глубоких идей и понимания принципов управления. Разве мог появиться принцип максимума при изучении лишь дискретных систем управления? Конечно, нет. Ибо в теории дискретных систем принцип максимума верен только при специальных предположениях о выпуклости, а в непрерывном случае он верен всегда! Разве не рассматривая континуальные системы, можно было догадаться о том, что при уменьшении шага дискретизации, т. е. с ростом размерности соответствующей задачи нелинейного программирования неизбежно наступит такой момент, когда принцип максимума станет справедливым? Анализ дифференциальных уравнений оптимального управления дает ключ к пониманию качественных особенностей управления (например, числа точек переключения) и правильных постановок краевых задач, а также служит чисто практическим целям отыскания хорошего первого приближения, без чего любые численные методы, какими бы свойствами сходимости они ни обладали, будут малоэффективными. В результате применения автором его «шкалы оценок» вопросы эффективного решения краевых задач и методы решения задач оптимального управления, использующие варьирование в пространстве состояний, оказались в стороне. Это дает, безусловно, не совсем правильное понимание роли этих методов в решении конкретных задач. Так, например, если число фазовых переменных невелико (скажем, порядка 10),а система ограничений содержит ограничения типа узких мест или фазовые ограничения и интервал времени велик, то редукция к задачам нелинейного программирования заведомо не имеет смысла. Методы ™fita последовательного анализа вариантов здесь оказываются куда более эффективными. Однако о подобных методах в книге Полака нет ни слова. Таким образом, книга Полака весьма субъективна, но этим она и интересна. Ее прочтут многие, и многим она даст пищу для размышлений, анализа, дискуссий. Стиль и манера изложения ее таковы, что одновременно она может служить руководством по численным методам оптимизации. Переводчик и редактор проделали большую и полезную работу, дав советскому читателю русский перевод книги Полака. Добавления библиографического характера (главным образом, работ советских авторов) сделали список литературы по методам оптимизации объективнее. Н. Н. Моисеев
ИЗ ПРЕДИСЛОВИЯ АВТОРА Алгоритмы—это изобретения, которые очень часто оказьь ваются мало похожими друг на друга или даже не имеющими ничего общего. В результате долгое время считалось, что» систематизированную теорию алгоритмов построить нельзя. Однако последние годы показали, что это мнение неверно — большинство сходящихся алгоритмов обладает рядом общих свойств. и поэтому к их анализу возможен единый подход. В этой книге приводится большое число алгоритмов решения задач оптимизации, краевых задач и задач о поиске корней. Их. изложение следует развиваемой автором теории, в которой центральное место занимают вопросы сходимости алгоритмов и их реализуемости. Представленная в данной книге теория алгоритмов состоит из двух -основополагающих компонент. Одна из них — это совокупность очень простых моделей алгоритмов (прототипов) с соответствующими теоремами сходимости. Основное значение этих моделей состоит в том, что они соответствуют почти всем существующим алгоритмам для решения задач оптимального управления и нелинейного программирования. Следовательно, они дают глубоко систематизированный подход к изучению свойств сходимости алгоритмов. Этот систематизированный подход ценен для нас по трем причинам: он ориентирует на создание алгоритмов, сходимость которых гарантирована, значительно облегчает работу по доказательству сходимости конкретных алгоритмов и существенно упрощает методику преподавания алгоритмов. Вторая компонента рассматриваемой теории алгоритмов — это методология их реализации. Как правило, алгоритмы придумываются в принципиально простой форме, не обязательна реализуемой на цифровой ЭВМ. Так, например, алгоритм обычно строит последовательность точек 20, z\, z2, ..., которая сходится к точке г, являющейся решением задачи. В «принципиальном», или теоретическом, алгоритме построение точки Zi+\ no точке Zi может потребовать использования вспомогательного алгоритма, в котором сначала полагается уо = Zu а затем строите» бесконечная последовательность уОу уи #2, • •., сходящаяся к. zi+i (как, например, в случае алгоритмов штрафных функций) „
ИЗ ПРЕДИСЛОВИЯ АВТОРА 9 Следовательно, теоретически в подобном алгоритме никогда нельзя вычислить 2г+1 за конечное время. На практике мы прерываем построение последовательности у0, уи y2j ... после вычисления конечного числа ее членов. При этом нам надо заботиться о следующем: если на каждой итерации мы будем стро- «ть слишком большую последовательность у0, уи уг, ..., то можем затратить излишне много машинного времени, а если мы прервем ее слишком быстро, то можем утерять свойство сходимости. Представленная в зто>й книге методология реализации алгоритмов позволяет строить эффективные схемы прерывания этих последовательностей уо,У\,У2,'---> которые тем не менее не нарушают хорошей сходимости алгоритмов, получающихся в результате реализации их принципиальных прототипов. Эта книга может служить как учебным, так и справочным пособием. Она использовалась в качестве учебника по курсу численных методов оптимизации на факультете электротехники я ЭВМ Калифорнийского университета (Беркли). Задачи оптимального управления и нелинейного программирования рассмотрены в книге с единой точки зрения по образцу книги Canon M. D., Cullum С. D., Polak E., Theory of optimal control and mathematical programming, New York, 1970, в которой читатель найдет все необходимые для него сведения по условиям оптимальности, линейному и квадратичному программированию и выпуклости. В остальном настоящая книга достаточно автономна, причем в приложении В содержатся некоторые дополнительные математические сведения, которые могут понадобиться читателю. Для облегчения использования этой книги в качестве учебника автор несколько модифицировал ряд стандартных алгоритмов так, чтобы они соответствовали единому подходу. По- видимому, эти изменения не повлияли отрицательно на характеристики рассматриваемых алгоритмов. При отборе представленных в данной книге алгоритмов автор отдавал предпочтение тем, которые можно легко рассмотреть ? рамках теоретического плана книги, и тем, которые можно использовать как в задачах нелинейного программирования, так и в задачах оптимального управления. В результате в книгу не включены метод отсекающих плоскостей, редуцированный градиентный метод, выпуклый симплекс-метод и динамическое программирование. Для тех, кто будет пользоваться этой книгой в качестве справочника, добавлено приложение С, чтобы помочь в выборе эффективного реализуемого алгоритма. Конечно, оно отражает авторские предпочтения в выборе алгоритмов, но тем не менее позволяет читателю выбирать параметры для их модификации но собственному усмотрению.
10 ИЗ ПРЕДИСЛОВИЯ АВТОРА Представляя тот или иной алгоритм в его оригинальной или модифицированной форме, автор старался упомянуть имена era создателей. Но некоторые алгоритмы предлагались неоднократно (разными авторами); кроме того, нет полного единодушия в критериях отличия одного алгоритма от другого, чтобы с уверенностью можно было признать «право» данного лица на присваивание его имени алгоритму. Поэтому автор заранее извиняется, если он по небрежности забыл упомянуть чьи-либо заслуги. Происхождение некоторых алгоритмов вообще не выяснено и поэтому эти алгоритмы приведены без ссылок — будем считать, что они входят в технический фольклор. Список литературы в конце книги включает только те книги и статьи, к которым автор обращался прямо или косвенно при подготовке рукописи. Они не составляют исчерпывающей библиографии. Автор благодарен д-рам Е. Гилберту, X. Халкину. П. Хью- арду, Д. X. Якобсону и Е. Г. Мессерли за замечания, критику и предложения, а также слушателям курса алгоритмов, который читал автор, — Г. Гроссу, Ф. By и в особенности О. Пиронно, внесшим различные улучшения в текст книги. Новые алгоритмы, описание которых приводится в книге, были в какой-то мере проверены, и автор обязан К. Ярасасингаму, Дж. Споерлу и Дж. Рафелю за многие часы, потраченные ими на программирование и расчеты по этим алгоритмам. Особенно автор обязан своим бывшим студентам, д-рам Р. Клессигу и Г. Мейеру за сотрудничество в разработке алгоритмов и моделей алгоритмов; д-ру Р. Клессигу за помощь в чтении корректур, д-ру А. Коэну и М. Дж. Д. Пауэллу за то, что они предоставили в распоряжение автора их результаты па исследованию скорости сходимости алгоритмов до публикации, и д-ру В. И. Зангвиллу за приятные беседы в 1967 г., которые су- щественно стимулировали работу автора в области алгоритмов.
К СВЕДЕНИЮ ЧИТАТЕЛЯ Система нумерации и ссылок в тексте построена следующим образом. В пределах одного раздела определения, теоремы, уравнения, замечания и т. д. нумеруются последовательно жирным шрифтом с левого края. При ссылке на раздел в пределах одной главы используется только номер раздела, при ссылке на раздел другой главы используются номера главы и раздела. Например, слова «это показано в разделе 3» отсылают читателя к разделу 3 той же главы, а слова «это показано в разд. 2.3» отсылают к разделу 3 главы 2. Аналогично слова «подставляя из C)» отсылают к пункту 3 того же раздела, слова «подставляя из B.3)» отсылают к пункту 3 раздела 2 той же главы, и, наконец, слова «подставляя из C.2.3)» отсылают к пункту 3 раздела 2 главы 3.
ОБОЗНАЧЕНИЯ И СИМВОЛЫ 1. Обозначения* 1. R" обозначает я-мерное евклидово пространство. Длят записи элементов из R" используются строчные буквы; компоненты вектора х из R" изображаются следующим образом: х = (х1, л:2, ..., хп). Если я-строка является вектором из R\ то при умножении матрицы на нее она всегда рассматривается как вектор-столбец, т. е. как матрица размера я X 1 с опущенным знаком транспонирования. Скалярное произведение в R" обо- п значается через (•, •) и определяется формулой (х> у) = 2 XiVi. Норма в Rn обозначается через || • || и определяется формулой 2. C'v[tQ, tf] обозначает пространство кусочно непрерывно дифференцируемых функций,-заданных на отрезке [^о, tf] и принимающих значения в Rv; норма определяется равенством 11*11^= sup 3. L,2[to,tf] обозначает гильбертово пространство, состоящее- из классов эквивалентности функций, интегрируемых с квадратом, заданных на отрезке [7о, /f] и принимающих значения в R^ Норма и скалярное произведение в этом пространстве обозначаются соответственно через || • || 2 и <•, -J и определяются равенствами \\u{t)fdt и .-/ где ||-II и (•, •) — соответственно норма и скалярное произведение в R.
ОБОЗНАЧЕНИЯ И СИМВОЛЫ 13 4. UZo[to, ti] обозначает банахово пространство классов эквивалентности существенно ограниченных измеримых функций, заданных на отрезке [*0, *f] и принимающих значения в R^; норма определяется равенством IUIL= ess sup || а (О Ц. t^{to,tf] 5. /(•) или / обозначает функцию, причем точка символизирует некоторую неконкретизированную переменную; значение функции f(-) в точке z обозначается через /(г). Чтобы показать, что область определения функции /(•) есть Л, а множество ее значений есть В, мы пишем /: А->В. Функция f: А-+ЛС записывается развернуто в виде f = (f\ p, ..., fm), так что f(z) = (fl(z), р(г), ..., fm(z)). 6. Для заданной функции g: Rrt->Rm матрица Якоби в точке z обозначается через dg(z)/dz. Это матрица размера тУ^пу (/, /)-й элемент которой равен dyi{z)/dzj. 7. Для заданной функции f: R^-^R1 ее градиент в точке z обозначается через Vf(z). Мы всегда будем рассматривать V/'(z) как вектор-столбец, так что транспонированный к нему вектор есть df (z)/ dz, т. е. для любого у ^ Rn Через d2fl(z)/dz2 обозначается матрица Гессе для функции f (•) в точке z. Матрица Гессе имеет размер п X п и ее (/, &)-й элемент равен d2f (z)/dz!dzk. 8. Верхний индекс — 1 обозначает обратную матрицу, например Л. 9. Верхний индекс Т обозначает транспонированную матрицу, например Ат. 10. Чтобы избежать длинной записи {z'^T\\\z — г'Н^^е}, мы воспользуемся стандартным математическим обозначением для шаров В (zye); здесь || -||# — норма в рассматриваемом банаховом пространстве. 2. Символы А = В А равно В по определению Azd В А содержит В Леи В А содержится в В
J4 ОБОЗНАЧЕНИЯ И СИМВОЛЫ AU В А[\В А X В {z\ Р} z e A гф.А С° dC С / 0 / В (г, е) (а, Ь) [а, Ь] [А] || • || (•, •) • )( • II • 1!2 (•, -J II * L II • IU max min V€=W х ^ у R 2Т sgn (*) sat(-) объединение А и В пересечение А и В декартово произведение А и В множество точек г, обладающих свойством Р z принадлежит А z не принадлежит А внутренность множества С граница множества С замыкание множества* С (С — множество в банаховом пространстве) дополнение к / (/ — подмножество целых чисел) пустое множество единичная матрица; подмножество целых чисел {z'e= r|||z'-z||^<e} открытый интервал { X + (lX)b\0 Я 1} { замкнутый интервал { + A)|0 { )} выпуклая оболочка множества А евклидова норма (для вектора или матрицы) евклидово скалярное произведение диада: для ^eR" и j/eRm объект *)(у есть матрица хут размера пХ^пг норма в L%[t0, U] скалярное произведение в 1$ [t0, U] норма в Vto[t0, U] норма в банаховом пространстве & максимум по /е/ (множество / указывается не всегда) минимум f°(z) погеС объединение всех элементов v из W х ^ у для х, у из R", если х для i=lf 2, ..,, п множество всех подмножеств множества Т сигнум-функция: sgn {х) = 1 для х > О, sgn (х) = — 1 для х < 0, sgn @) = 0 Функция насыщения: sat(A:) = x для | х |^ 1, sat (^) = sgn (x) для | х | > 1 конец доказательства, конец замечания, конец примера и т. д.
1 ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ 1.1. Задачи нелинейного программирования и оптимального управления Эта книга содержит унифицированное изложение алгоритмов решения следующих трех задач оптимизации, упорядоченных по степени возрастания сложности: 1 Задача нелинейного программирования. Заданы непрерывно дифференцируемые функции /°: R/I-*R1, f: R*->Rm и г: R^R*. Найти точку г в множестве ?2 = {г|/(г) ^0, r(z)=0}> для которой f°(z)^.f°(z) при всех 2GQ1). ж Обычно мы будем записывать постановку задачи A) сокращенно: 2 mm{?(z)\f(z)^0,r(z) = 0}. 3 Задача дискретного оптимального управления. Задана динамическая система, описываемая разностным уравнением 4 xi+i — xi = fi(xifui)9 Jf/ERV, M/GR^, / = 0,1, ..., k— \y где хг — фазовое состояние системы, а щ — действующее на систему управление в момент /. Найти последовательность управлений <Й = (й0, йр ..., йк_г) и соответствующую ей траекторию 1^ = (?0, хи ..., xk), определяемую из D), минимизирующие целевую функцию 5 2Я(*ь«|) + Ф(**) при ограничениях 6 Si{ut)^0, i = 0, I, ... , k—l, 7 l) Вектор-функции fur имеют соответственно компоненты f1, f2, ..., fm и г1, г2, .. ., rl. Общепринятая форма записи / (z) = (fl B), f2 (z)t ..., /m B)), хотя и выглядит как вектор-строка, всегда будет подразумевать вектор- столбец. Запись f (z) ^ f (у) означает, что /* (z) < fl (у) для / = 1, 2, ..., т. Обозначение же f (z) Kf(y) употребляется в том случае, когда /' (г) < /* (у) для /=1,2,..,, т и fl(z)<fl(y) хотя бы для одного. L
16 i. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ Здесь все функции /,: RvX R^-> Rv, /?: Rv X R*-> R1, <p: Rv-> R!, st: R^-HR^, gt: RV->R^ и qt: Rv->Rm' непрерывно дифференцируемы. Целое число k задает длительность управляемого процесса. ¦ 8 Задача непрерывного оптимального управления. Задана динамическая система, описываемая дифференциальным уравнением Я -*-X(t) = f(x (О, U (О, О, X (t) €= RV, U (t) GR^/G [tOf h]y где x(t) — фазовое состояние системы в момент ty u(t) — действующее на систему управление в момент t, t0 — момент начала процесса и U — момент окончания процесса, который может задаваться или оставаться свободным. Найти измеримую функцию управления й{ •), определенную на отрезке [/<>, к], соответствующую ей траекторию х (•), удовлетворяющую (9), и конечный момент ^, если он не задан, минимизирующие функционал 10 \p{x(t), u(t), при ограничениях 11 s(u(t))^0 для f€=[f0, Ul 12 g(x(t),t) = 09 g(x(t),t)^O для t€=[t09tf]. Здесь функции f: Rv X R11 X R!-^RV й f: R'XR'XR^R1 непрерывно дифференцируемы по л: и по и, функции ф: RV-*R1, g: ^XR^R^h^: RvXR1~>R/ra непрерывно дифференцируемы ло х, функция s: R^-^^' непрерывно дифференцируема по и. Кроме того, /, f\ df/dx, df/du, df°/dx, df/du, gy q, dg/dx, dq/dx кусочно непрерывны по t. Ш Сделанные выше предположения о дифференцируемости, вообще говоря, сильнее тех, которые требуются для получения условий оптимальности, однако они, как правило, необходимы при использовании численных методов. Задача нелинейного программирования A) является простейшей из всех трех выписанных задач. Поэтому не удивительно, что львиная доля существующих алгоритмов относится именно к ней. Мы покажем, что ряд алгоритмов из области нелинейного программирования применим также и к задачам оптимального управления. С этой целью мы будем постоянно пользо-
1.1. ЗАДАЧИ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 17 ваться следующими двумя формами записи задач дискретного оптимального управления в терминах задачи нелинейного программирования (см. разд. 1.5 в [К13]). 13 Первая форма записи. Рассмотрим задачу дискретного оптимального управления C). Введем вектор Z = Хи Xk, UQ, и положим 14 k-\ 15 i=0 x\ — XO /0 \х0у ^0/ xk xk-\ fk-\ (Xk-\y Uk-\) go (xo) I gk (xk) 16 Qo (xo) (xk) sk_{{uk_x) j Тогда задача дискретного оптимального управления C) примет вид задачи B), так что ясно, что к задаче дискретного оптимального управления применимы, по крайней мере в принципе, все алгоритмы нелинейного программирования. Очень высокая размерность вектора z в A3) во многих случаях делает эту форму записи неудовлетворительной. Поэтому введем другую форму, в которой размерность вектора z не так катастрофически велика; чтобы получить задачу вида B), надо сначала произвести некоторые преобразования. 17 Вторая форма записи. Рассмотрим задачу дискретного оптимального управления C). Введем вектор z = (x0, щ,ии ..., uk^x) и обозначим через xt (x0, °U) решение уравнения D) в момент /, которое соответствует последовательности управлений °U = (ыа,
18 1. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ 18 19 fe_i). Положим ft-1 f (*) = 2 ft (xt (xo, Щ, ut) + ф (xk (xo, <U% 'go(xo) \ .;: <7o(*o) (x0, <U)) r(z) = \ 20 f(z) = Qk (xk ( $0 («о) В такой интерпретации задача дискретного оптимального управления снова принимает вид задачи нелинейного программирования B). Однако теперь вектор z имеет меньшую размерность, чем в первом случае A3), и число ограничений типа равенств, которое определяется размерностью вектора г (г), также существенно уменьшается. Теперь мы обсудим вопросы: откуда берутся задачи дискретного оптимального управления и почему во многих случаях формулировка задачи оптимального управления в дискретном виде предпочтительнее, чем в непрерывном? В задаче непрерывного оптимального управления требуется находить измеримую функцию и( •). Однако цифровые вычислительные машины не могут непосредственно оперировать с такими функциями, они оперируют только с последовательностью чисел. Следовательно, любой численный метод решения задач непрерывного оптимального управления предполагает ту или иную форму дискретизации задачи. Таким образом, задачи дискретного Оптимального управления часто являются дискретной формой задачи непрерывного оптимального управления, причем дискретизация осуществляется так, чтобы свести к минимуму математические трудности в оперировании с задачей, а также уменьшить требования к объему памяти и снизить число операций, приходящихся на одну итерацию. Как правило, исследователь прибегать к дискретной форме задачи оптимального управления всякий раз, когда речь идет о текущем управлении динами-
1.1. ЗАДАЧИ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 19 ческой системой с помощью малой вычислительной машины, так как в подобной ситуации решение задачи непрерывного оптимального управления может быть просто неосуществимо. Мы дадим наиболее общий способ получения задачи дискретного оптимального управления из задачи непрерывного оптимального управления. Отметим, что он позволяет путем выбора целого числа k учесть ограниченность объема памяти ЭВМ. Кроме того, в нем содержатся возможности уменьшения количества вычислительных операций, приходящихся на одну итерацию. Итак, предположим, что мы ограничили управление и(-) классом кусочно постоянных функций с не более чем k — 1 равноотстоящими точками разрыва. Пусть T — (tf — to)fk и (в предположении, что U задано) 21 u(t) = ut [ Тогда ограничения на управление A1) принимают вид 22 s, (и,) = s (и,) ^ 0 для / = 0,1, .... k—l. Обозначим через xt(t), / = 0, 1, ..., k—1, решение уравнения (9) на отрезке [to + /7\ t0 + (/ + 1) Т\, удовлетворяющее условию xt (to + iT) = Xi и соответствующее управлению u(t) = Ui на этом отрезке, причем л;0(/о) = л:0 и x.+l = xi(tQ+ (i + 1) Т) для / = 0, 1, . •., k — 1. Тогда 23 *,+, = *,+ ] f(xi(t),uift)dt, / = 0, 1, ..., k— 1. Заметим, что B3) имеет тот же вид, что и D), т. е. определяет дискретную динамическую систему. Для того, чтобы вычислить J f(xt(t),ui9t)dt9 мы должны решить (9) с начальным условием x(to + iT) = Xt и u(t) = ui при t(==[to + iT, /0+(/+1)Г]. Таким образом, эта форма дискретизации подразумевает получение чисел щ и xi9 которые при решении задачи на цифровой машине следует запоминать на каждой итерации, но ничего не говорит о способе интегрирования уравнения (9). Чтобы завершить описание задачи дискретного оптимального управления, положим 24 gt(xi) = g(xt9t0 + iT)9 Й1 (xt) = q(xht0 + iT)t / = 0, I,..., k.
20 1 ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ Необходимость интегрирования дифференциальных уравнений при решении задач оптимального управления приводит к ряду практических затруднений. Как правило, здесь возникают и теоретические трудности, поскольку упомянутое интегрирование на самом деле можно выполнить только приближенно. В дальнейшем мы приведем несколько результатов, относящихся к этому вопросу. Однако на данном этапе развития теорий численных методов у нас нет иного выхода, кроме как эвристически разрешать эти трудности в надежде на то, что будущее принесет нам более глубокое понимание затронутой проблемы. 25 Упражнение. Рассмотрим задачу непрерывного оптимального управления: 26 минимизировать f u{tJdt о при ограничениях 27 -^х (t) = Ах @ + Ьи (*), х @) = хо, t е= [0, *,], 28 U(f)|<l для / е= [0, ff], где jc@gRvh и (t) e R1 для / е [0, tf], A — постоянная матрица и Ь — постоянный вектор. (а) Показать, что если задача дискретного оптимального управления получена из задачи непрерывного оптимального управления B6) — B8) описанным выше способом, т.е. с помощью соотношений B2) — B4), то для функций f?(i?, щ) и f°i{xi> ut) можн° дать явное выражение. (б) Полученную из B6) — B8) задачу дискретного оптимального управления записать в виде задачи нелинейного программирования, используя две формы A3) и A7). ¦ Дискретизацию задачи непрерывного оптимального управления можно осуществить не только способом B1), но и многими другими. Например, воспользовавшись конкретной интерпретацией заданных ограничений на управление, можно свести бесконечномерную задачу (8) к конечномерной задаче B)» введя представление k-\ 29 и (t) = 2 ui sin wtt для t e [t0, U\y где wt заданы, а иь следует отыскать. Можно также положить 30 u(t)=2 и*/ Для / е= ft, + IT, t0 + (i /-о
1.2. УСЛОВИЯ ОПТИМАЛЬНОСТИ 2Г где управляющий вектор щ=(щ0, ип, ..., иа) задачи дискрет- ного оптимального управления имеет более высокую размерность, чем вектор и (t) задачи непрерывного оптимального- управления. 31 Упражнение. При использовании дискретизации вида B9) или C0) бывает довольно трудно получить из ограничений A1)- соответствующие ограничения на щ в B9) или на uif в C0). Пусть m(/)gR' и ограничение s(u{t))^0 имеет вид | и @1^1 (т.е. sl(u) = u—1, s2(u) = — и—1). Построить ограничения на щ в' B9) и на utj в C0), гарантирующие выполнение ограничений A1) на u(t). ш 1.2. Условия оптимальности До сих пор нет удовлетворительных тестов, позволяющих: проверить, оптимально ли конкретное допустимое ограничениями решение любой из трех сформулированных в предыдущем разделе основных задач оптимизации. Поэтому не удивительно,, что нет общих методов решения таких задач. Алгоритмы, которые мы далее опишем, позволяют лишь строить последовательности, предельные элементы которых удовлетворяют^ частным условиям оптимальности. В большинстве случаев, если не сделаны надлежащие предположения о выпуклости, такие условия являются только необходимыми. Вопрос об условиях оптимальности довольно обширен, и для ознакомления с ним в полном объеме мы отсылаем читателя к работе [К13]1). Здесь мы ограничимся формулировками,, по большей части без доказательств, ряда условий оптимальности, наиболее часто применяемых в численных методах. Кроме того, мы укажем несколько случаев, когда условия оптимальности удовлетворяются тождественно. В таких случаях любой алгоритм, использующий данные условия, становится бесполезным. 1 Теорема, Если точка z — оптимальное решение2) задачи нелинейного программирования A.1), т. е. !) См. также работы Дубовицкого и Милютина [*Дб], Пшеничного [*ni7j и Гирсанова [*ГЗ]. — Прим. перев. 2) Как правило, в задачах оптимизации для точек, удовлетворяющих всем ограничениям, вводится термин „допустимое решение". Затем на множестве всех допустимых решений выделяется „оптимальное решение" — точка, доставляющая минимум (максимум) целевой функции. Здесь и далее- автор употребляет термин „оптимальное решение" задачи, имея в виду просто ее решение. — Прим. перев.
*22 1. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ то существуют такие скалярные множители jn°<[0, ц ..., jim<:0 и о]I, -ф2, ..., V, не все равные нулю, что m / ¦2 2иМ'(г) + 2чЛ7г'(^ = о И 3 р//'B) = 0 для /=1, 2, ..., т. ¦ Один из первых вариантов этой теоремы принадлежит Джону [Д4]. В сформулированном виде эта теорема довольно трудна для доказательства; читатели, желающие ознакомиться -с доказательством, могут обратиться к работам [К13] или [МЗ]. Приведенные ниже два следствия являются важными частными случаями условий Куна — Таккера [К11]. 4 Следствие. Если существует такой вектор h ^ R", что <Vf B), й>>0 для всех/<={1, 2, ¦ .., mj, для которых f (г)=0, то множители, удовлетворяющие B) и C), должны также удовлетворять условию 0х°, яр1, -ф2, ..., г|/) Ф О, В -5 Упражнение. Доказать следствие D). ¦ •6 Следствие. Пусть векторы Sir1 B), /=1, 2, ...,/, в B) линейно независимы. Если существует такой вектор h e R", что (Vf (г), /г) > 0 для всех /е{1, 2, ..., т), для которых fB) = 0f и (Vr' (i), /г) = 0 для г=1, 2, ...,/, то наряду -с условиями B) и C) должно быть выполнено условие ц,0<0. ¦ 7 Упражнение. Доказать следствие F). ¦ Приведем теперь условие оптимальности для специального -случая задачи нелинейного программирования A.1), а именно для случая г (•) = 0 ]). По-видимому, впервые это условие было опубликовано Зойтендейком [34]; оно служит отправной точкой для построения ряда важных алгоритмов (метода возможных направлений, метода центров и т. д.). Данное условие отличается от условия, приведенного в теореме A), в одном очень важном отношении: оно не содержит никаких множителей. 8 Теорема. Пусть в задаче нелинейного программирования A.1) г (•) = 0, и пусть z — оптимальное решение задачи •<1.1), т. е. /°(z) = min (Hz) If (z):?0). l) Под символической записью г(.)=0 понимается тождественное равенство нулю функции г (•). Это эквивалентно просто отсутствию условий строгого равенства в задаче A.1). — Прим. перев.
1.2. УСЛОВИЯ ОПТИМАЛЬНОСТИ 2$ Тогда 9 min max <V/*B), Л) = 0, AgS /€=70B) где S — любое множество в R", содержащее начало координат в качестве внутренней точки, и Ю /о (*) = {0} U {/If (*) = 0, «€={lf 2, ...,m». Доказательство, Предположим, что (9) не выполнено. Тогда должен существовать такой вектор h' e S, что <У? (&), h') < б < 0 для всех / €= /0 E). Поскольку по условию теоремы г(-) = 0> то можно положить в B) Vrl(z) = 0. Беря теперь скалярное произведение от обеих частей соотношения B) с вектором h', получаем противоречие теореме A). ¦ 11 Упражнение. Доказать теорему (8), не прибегая к теореме A). К 12 Упражнение. Для частного случая г(-) = 0 теоремы A) и (8) эквивалентны. Выше мы вывели теорему (8) из теоремы A). Завершить демонстрацию эквивалентности, выведя теорему A) из теоремы (8) в предположении,'что г(-) = 0. Ш 13 Утверждение. Пусть множество Q—{z \fl (г)^0, /=1, 2,..., m) не имеет внутренних точек и г(-)=0. Тогда условиям B) и C) можно удовлетворить в каждой точке z^Q (т.е. теорема A) становится несодержательной, когда множество Q не имеет внутренних точек). Доказательство. Пусть z—произвольная точка множества Q. Так как Q не имеет внутренних точек, то не существует такого вектора h e R", что (Vf (г*), /г) < 0 для всех / €= / (г9)* где / (z*) А {/е {1, 2, ..., m) \ff(z9) = O]. Предположим, что- I(z*) = [il9 /2, ..., /а}. Тогда в силу сказанного выше линейное подпространство L = {v = «Vf *(z\ h), ..., <Vf'« (z-)f А» |Л e Rn] cz Ra не имеет общего луча с конусом С= {v \v<0} cz Ra. Следовательно, L и С можно отделить, т. е. существует такой нену- левой вектор | е= Ra, что 14 (g, у) = 0 для всех v^Lr. 15 (|э у)^0 для всех у е С-
124 1 ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ Далее, из A5) следует, что ?<^0, а из A4), — что 2 I1 № СО. Л) = 0. для всех /г е- R*. Но это означает, что 16 2gMf Полагая ц' = 0 для всех i & I (z*) и [а// = |/ для всех /y<=/(z*), мы видим, что условия B) и C) выполнены. ¦ 17 Упражнение. Показать, что в предположениях утверждения A3) равенство (9) может быть выполнено в любой точке г'е {г \f (г)^0). ш До сих пор мы приводили только необходимые условия оптимальности для задачи A.1). Теперь дадим достаточное условие. 18 Теорема. Рассмотрим задачу A.1). Предположим, что f (•), / = 0, 1, ..., т, — выпуклые функции, а г (•) — аффинная функция1). Если точка z удовлетворяет условиям r(z) = 0, f (г)^0 для /=1, 2, ..., т и существуют такие скалярные множители ц^О Для /==1, 2, ..., т и -ф1 для /=1,2, ..., /, что 19 - V/о (z) + S |i'Vf* E) + S ф^г' ($) = 0, 20 |xff' (^) = 0 для /=1, 2, ..., т, то 2 — оптимальное решение задачи A.1). (Эта теорема впервые приведена в работе fKll].) Доказательство. Пусть Q'= {z \f (z) ^ 0, r(z) = 0}. Тогда, поскольку r'(*) — аффинные функции, для всех гей' имеем {Vr* (z), z — г) = 0 и, следовательно, в силу A9) для всех 2GQ' 21 <V/o (i), г _ i) = V pt <yft (z)y z _ i)u Далее, так как функции f(-) выпуклы, то для всех гей' и любого /<= {/|f*(f) = O, /е= {1, 2, ..., ш}}, 22 (Vf((^), z-f><f(zX0. !) Определение аффинной функции см. в разд. 3.1 (перед замечанием <15)). — Прим. ред.
1.2. УСЛОВИЯ ОПТИМАЛЬНОСТИ Используя соотношения A9), B1) и B2) и выпуклость функции }°(-)> получаем, что для всех zeQ' 23 = /° (г) - S ц1 (Vf (&), z-z)^P (z). Итак, z оптимально. В Так как задачу дискретного оптимального управления можно записать в виде задачи нелинейного программирования^ ясно, что из приведенных условий оптимальности можно получить условия оптимальности и для задачи дискретного оптимального управления. Для более глубокого изучения вопроса читателю следует обратиться к работе [К 13]]); здесь мы ограничимся иллюстрацией этой процедуры на одном частном примере. 24 Теорема. Рассмотрим задачу A.3) и предположим, что &(•) = &(•)= • • • = fo-i (') = Я\ (•) = • • • = <7*-i ( •) = 0. Если последовательность управлений й0 йи ..., uk-\ и соответствующая ей траектория ?0> *и •••> &k оптимальны для задачи A.3), то существует такой скалярный множитель р°<0 и такие векторные множители pQy pu ..., pky ft0, nky \х0 ^ 0, ..., {xk-i ^0, i0 ^ 0, ik ^ 0, не все равные нулю, что 25 A-A+1 = l l\l ") А-и + Л \1. ") . '-0, 26 — Po = 27 ?ь = 28 щ 30 {Si(ui)9 A?) = 0 для / = 0, 1, 2, ..., A —1 (и **> Щ удовлетворяют условиям A.4), A.6) и A.7)). ш Чтобы вывести теорему B4) из теоремы A), поступим следующим образом. Сначала заметим, что B) эквивалентна соотношению dL B)/dz=0, где L (z)=\x°f° (г)+(щ f (z))+(^9 r {z))y M'==(p.1, \i2y ..., \im) и (ф = (г|I, г|J, ..., -ф^. Затем запишем задачу A.3) в форме A.1) с помощью A.13) и положим p° = p°> ]) См. также работу Пропоя [*П16]. — Прим. перев.
6 1 ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ ^ = (lo, I*» ?о> Аь >•> Afe-i) и i|> = (— Pi, — р2, ..., — 0л, ft0, ft*). Расписывая теперь L(z) с учетом того, что z=(x09 xi9 ..., xk9 Щ> ul9 ..., uk^{)9 находим 411 L (г) = />° [ S /? (*, И|) + Ф (**)] - Ь'=0 J k-l — S (A-+1, i/+i — *i — /t- (^, щ)) + i=0 Вычисляя dL(z)/dXi для / = 0, 1, ..., k и dL(z)/dut для i = 0, 1, ..., &—1 и полагая эти выражения равными нулю, получаем B6) —B8). Подчеркнем, что теорема B4) отличается от теоремы A) тем, что специфическая динамическая структура, присущая задаче дискретного оптимального управления, позволяет ввести -соответствующие конструкции в условия оптимальности. Следует отметить, однако, что в случае, когда постановка задачи {1.3) содержит все ограничения в общем виде, динамическая структура уже не приводит к специальным теоремам, более эффективным, чем теорема A). (Как мы покажем ниже, для изучаемого случая теорема B4) значительно эффективнее теоремы A).) 32 Замечание. Иногда желательно исключить величины Д2 из B8) и C0). Этого можно добиться, отбросив C0) и заменив ^28) условием для всех ди, для которых 34 Для задачи непрерывного оптимального управления нам понадобится лишь принцип максимума Понтрягина. Он дает необходимое условие оптимальности для одного частного слу- чая задачи A.8). Вывод его довольно сложен и мы отсылаем читателя за доказательством к работе [К13]. 35 Теорема (принцип максимума Понтрягина [П15]). Рассмотрим задачу A.8) и предположим, что t0, U заданы; g\. 9 t) = 0 для всех t Ф U на отрезке [/0, U] (мы будем писать
1.3 МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 27" g(•, U) как g (•)); g (•, f) = 0 для всех t Ф t0 на [/о, U\\ lo—единственное решение, удовлетворяющее условию q (х, t0)^S0r т. е. задано начальное состояние x(to) = Z0. Если й(-) — оптимальное управление в задаче A.8) и ? (•) — соответствующая' ему оптимальная траектория, то существует такой скаляр р°<0 и такие функции р(-), отображающие отрезок [fo> U\ в R\ что (р°, р(.))фО и df(*(t), u(tlt)\TAm (др>(*У), u(t\t)\T Тх для I dg (x (tA) \T I dq> (x ft,)) У 37 ( KKl))) ( У W ) I dg (x (tA) \T I dq> (x ft,)) У p {U) = ( KdKxl))) ¦ + ( У W ) fio при некотором Кроме того, для каждого вектора v e R^, удовлетворяющего неравенству 5(и)^0, и для почти всех t^[tOy U] 38 рГ (* @, й @, 0 + (^ @, / (* @, й @, 0> > > рТ (х (/), у, о + {р (/), / (i @, у, о>. » 39 Упражнение. Пусть в задаче A.8) U не фиксировано. Показать, что, вводя вспомогательные переменные, можно свести задачу со свободным временем к задаче с закрепленным временем. Из теоремы C5) получить принцип максимума для- задачи со свободным временем. Ш 1.3. Модели и условия сходимости численных методов Нашему дальнейшему изучению численных методов будут значительно способствовать те простые модели, которые мы опишем в настоящем разделе. Эти модели принесут нам тройную пользу. Во-первых, они дадут возможность внести определенную классификацию численных методов. Во-вторых, онет позволят сделать решающие выводы при установлении свойств- сходимости, не погружаясь в детали, т. е. не вдаваясь в сложнейшие подробности вспомогательных процедур, используемых в современных алгоритмах. Наконец, третье, наиболее важное направление применения моделей состоит в разработке процедур для получения «реализуемых» (implementable) алгоритмов, из их «принципиальных» (conceptual) прототипов. На протяжении всей книги мы будем различать принципиальный и реализуемый алгоритмы. Это различие будет опира- ться на следующий критерий: на каждой итерации принципиального алгоритма может осуществляться произвольное числа арифметических операций, а также обращений к вычислению функции, в то время как на каждой итерации реализуемого алгоритма должно осуществляться только конечное число
-28 1 ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ арифметических операций и обращений к вычислению функции; при этом подразумевается, что приемлемое приближение к значению функции можно вычислить на цифровой ЭВМ за конечное время. Совершенно ясно, что введенное различие -субъективно. Так, читатель может называть процесс отыскания корня трансцендентного уравнения обращением к вычислению функции, а автор настаивает на том, что этот процесс следует трактовать как бесконечную подпроцедуру и, следовательно, как недопустимое действие в качестве операции, предусматриваемой к выполнению на каждой итерации реализуемого алгоритма. В качестве эмпирической оценки реализуемости операции за конечное время автор берет вычисление приемлемого приближения к значениям таких функций, как е* и sin*. Однако он считает, что вычисление приемлемого приближения к наименьшему положительному корню уравнения е~х ~\- sinx = 0 требует бесконечного времени, поскольку любая практическая процедура отыскания этого корня, такая, как, например, метод Ньютона, требует вычисления большого числа значений е~* и sin*. В процессе конструирования численного метода обычно начинают с изобретения принципиального алгоритма. Затем этот принципиальный алгоритм модифицируется так, чтобы свести каждую его итерацию к конечному числу машинных операций, т. е. свести его к виду, который можно запрограммировать для счета на ЭВМ. Традиционная реализация на практике принципиального алгоритма сводилась к тому, что делалось все возможное для аппроксимации таких бесконечных операций, как отыскание минимума функции вдоль прямой или разрешение неявной связи. При этом точность указанных аппроксимаций в процедурах обычно выбиралась одной и той же независимо от того, далеко или близко мы находимся от разыскиваемой с помощью данного алгоритма точки. Основной недостаток такого подхода состоит в том, что он требует больших затрат времени на очень точные вычисления даже тогда, когда мы находимся еще достаточно далеко от разыскиваемой точки. Хуже того, в результате алгоритм может вообще не сходиться. В качестве альтернативного и намного более эффективного подхода к реализации алгоритма можно предложить адаптивный (использующий ' обратную связь) метод для прерывания по крайней мере некоторых под- процедур принципиальных алгоритмов. Описанные в этом разделе модели помогут нам изложить основные идеи адаптивного подхода к прерыванию бесконечных подпроцедур. В приложении А мы изложим подход к прерыванию без использования обратной связи. Хотя понятия принципиального и реализуе-
1.3 МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 29 мого алгоритмов в достаточной степени субъективны, читатель сможет далее убедиться в их чрезвычайной полезности при решении вопроса о том, имеет ли смысл в конкретных алгоритмах, предназначенных для программирования, вводить описанные ниже специальные процедуры прерывания. Более подробно мы поясним наши взгляды на этот предмет в последующих главах, где будет исследован целый ряд алгоритмов. На протяжении этой книги мы будем рассматривать алгоритмы для решения задач следующего вида. 1 Абстрактная проблема. Задано замкнутое подмножество Т 6 шахова пространства $\ найти точку множества Г, обладающую свойством Р. ¦ В случае задач нелинейного программирования или дискретного оптимального управления пространством $ является R'\ В случае же задач непрерывного оптимального управления этим пространством является L2 или Loo. Точки, обладаю-- щие свойством Р, могут либо быть решением одной из этих оптимизационных задач, либо удовлетворять некоторому условию оптимальности. Чтобы избежать этого сложного перечисления возможностей, мы будем называть точки из Г, обладающие свойством Р, желательными. Всюду мы будем предполагать, что Т содержит желательные точки, и, имея в виду наше интуитивное представление о том, что считать реализуемым, будем вводить в рассмотрение свойство Р только в том случае, когда мы располагаем разумным тестом для определения, обладает ли точка г из Г свойством Р. Например, предположим, что мы хотим минимизировать функцию f°(z) на R*. Для этой задачи r = Rrt и, принципиально, точка из R" желательна, если она минимизирует f°(z). Однако, если только функция f°(-) не выпукла, у нас нет теста для определения, минимизирует ли точка z' функцию f°(z), и, следовательно, нет реальной надежды на отыскание z'. Поэтому мы не можем позволить себе считать эту точку желательной. Вместо этого мы можем определить точку z' как желательную, если У/°(г') = 0, т. е. если она удовлетворяет простому тесту. Простейшие алгоритмы для отыскания желательной точки в замкнутом подмножестве Т пространства $ используют функцию поиска а: Г->Г и правило остановки с: T->Rl и имеют следующий вид: 2 Модель алгоритма, а: Т->Т, с: T->Rl. Шаг 0. Вычислить начальную точку zo<z=T. Шаг 1. Положить / = 0. Шаг 2. Вычислить а (г,). Шаг 3. Положить zi+i=aBi).
30 1. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ Шаг 4. Если с (zi+l)^c(Zi)9 то остановиться1); иначе положить / = /+ 1 и перейти к шагу 2. ¦ Теперь мы покажем, что можно получить с помощью этого алгоритма2). 3 Теорема. Пусть (i) функция с(-) либо непрерывна во всех нежелательных точках 2еГ, либо ограничена снизу для z <= Г; (и) для каждой точки гбГ, не являющейся желательной, существуют такие числа е(.г)>0 и 6(z)<0, что 4 с (а (*')) — с {z') < б (г)< 0 для всех- 2;gB (г, е (г)), где ()} Тогда последовательность {г*}, построенная алгоритмом B), либо конечна и ее предпоследний элемент является желательным, либо бесконечна и каждая ее предельная точка является желательной. Доказательство. Для начала заметим, что если 5 с(а(г))>с(г), то z — желательная точка. Это можно установить доказательством от противного с использованием условия (и). Предположим, что последовательность \zt) конечна, т. е. \zt) = {z0, zu ..., zk, zfe+i). Тогда на шаге 4 будет с {zk+l) > с (zk) и, значит, согласно E), точка zk желательная. Теперь предположим, что последовательность {zt} бесконечна и содержит сходящуюся к точке z' подпоследовательность. Мы запишем это так: zt-+z' для /е/(с:{0, 1, 2,...}. Допустим, что точка zr не является желательной. Тогда существуют такие числа г' > 0, 6' < 0 и k^K, что для всех i^k, /gJ(, 6 ||г,-2/У<е/ и 7 1) Непосредственную проверку, является ли точка Z{ желательной, можно заменить тестом с (zi + i)^c (zi). 2) Обращаем внимание читателя на то, что примечание 1) не следует рассматривать как определение желательной точки. В качестве иcxoдw ного понятия автор использует условие (и) теоремы 3, которое, видимо, следует трактовать как необходимое условие того, что точка z не является желательной. При этом очевидно, что условие E) — это достаточное условие желательности точки г. Таково же и отрицание условия (п), используемое при доказательстве сходимости к желательной точке последовательности {2j}, построенной алгоритмом. — Прим. перев.
1.3 МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 31 Поэтому для любых двух точек zh zi+j данной подпоследовательности, где /^&(и /, / + /е/С), должно быть 8 с (zi+j) — с (zt) = [с (zi+f) — с (zi+f_{)] + [с Далее, для i^K монотонно убывающая последовательность c(zi) должна сходиться потому, что функция с(-) либо непрерывна в точке z\ либо ограничена снизу на Т. Но это противоречит соотношению (8), из которого следует, что последовательность c(zt) не является последовательностью Коши для /е/(. Полученное противоречие доказывает справедливость теоремы. ¦ Несколько более сложная, но чаще используемая модель получается, если заменить функцию поиска а: Т->Т в алгоритме B) на многозначную функцию поиска Л, отображающую множество Т в множество всех его непустых подмножеств (мы будем это записывать так: А: Т->2Т). Тогда получается следующая процедура (которая также использует правило остановки с: Г—>R1): 9 Модель алгоритма. А: Т->2Т, с: Г-^R1. Шаг 0. Вычислить начальную точку z0 e Г. Шог 1. Положить / = 0. Шаг 2. Вычислить точку у ^ A (Zi). Шаг 3. Положить zi+{=y. Шаг 4. Если c(zi+i)^c(zi), то остановиться1); иначе положить / = /+1 и перейти к шагу 2. ¦ 10 Теорема. Рассмотрим алгоритм (9). Пусть (I) функция с(-) либо непрерывна во всех нежелательных точках геГ, либо ограничена снизу для геГ; (ii) для каждой точки z e Г, не являющейся желательной, существует такие числа e(z)>0 и б(г)<0, что И c(z") — c(z для всех z'^T, для которых \\z' — г||л^е(г), и для всех (z). Тогда последовательность {zt)y построенная алгоритмом (9), либо конечна и ее предпоследний элемент является желательным, либо бесконечна и каждая ее предельная точка является желательной. ¦ 1) См. подстрочное примечание к алгоритму B).
32 I. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ 12 Упражнение* Показать, что условие (И) в A0) означает, что если с (z') !> с (z) по крайней мере для одной точки z' ^ А (?), то z — желательная точка. ¦ 13 Упражнение. Доказать теорему A0). ¦ 14 Замечание. Читателю следует быть осторожным, чтобы не усмотреть за утверждениями приведенных выше теорем сходимости гораздо больше, чем они означают на самом деле. Отметим, что эти теоремы утверждают только, что если сх*о- дящаяся подпоследовательность существует, то ее предельная точка является желательной. Для того чтобы гарантировать существование этой предельной точки, необходимо сделать некоторые дополнительные предположения. Например, можно предположить, что множество Т компактно или что компактно множество {z^T \c(z)^c(zo)}> где z0 — начальная точка алгоритма. Причина, по которой такие предположения не включаются в формулировки теорем типа C) и A0), состоит в том, что, как правило, в рамках конкретных задач лучше устанавливать, порождает ли данный алгоритм компактную последовательность. Эта точка зрения станет яснее в следующих главах. ¦ Условия (i) и (ii) теоремы A0) не единственные, при которых заключение теоремы A0) справедливо. Можно показать (хотя и не очень просто), что приведенные ниже условия, принадлежащие Зангвиллу [33], сильнее условий теоремы A0), т. е. если эти условия выполнены, то выполнены также и условия теоремы A0). 15 Упражнение. Рассмотрим алгоритм (9). Пусть множество Т в A) компактно, правило остановки с(-) непрерывно и отображение А(-) обладает следующим свойством: если {zt\ и {Уг) — любые две последовательности в Г, сходящиеся соответственно к точкам zf и у' и удовлетворяющие условию уь е A {z{) для / = 0, 1, 2, ..., то у'еЛ(г')- Показать, что в этом случае заключение теоремы A0) остается справедливым при следующем условии: неравенство c(z')^c(z) выполняется по крайней мере для одной точки z' e A(z) тогда и только тогда, когда z^T— желательная точка. ¦ 16 Упражнение. Показать, что если функция поиска а( • ) (или А (•)) и правило остановки с( •) непрерывны, то выполнено условие (ii) теоремы C) (теоремы A0)). Показать, что это также справедливо и в случае условий, сформулированных в упражнении A5). Ш Теоремы сходимости C) и A0) можно трактовать как распространение второго метода Ляпунова, применяемого в ана-
1.3. МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 33 лизе устойчивости динамических систем, описываемых разностными уравнениями. Более слабые варианты этих теорем можно найти у Поляка [П9] и Зангвилла [31], [33], близкие идеи содержатся в работах Варайи [ВЗ], Левитина и Поляка [Л1], Топкиса и Вейнотта [Т1], Харта [XI], а в несколько менее явном виде у Эрроу с соавторами [Э1], Зойтендейка [34], Зу- ховицкого и Авдеевой [38]. Автор впервые опубликовал эти теоремы в работах [ПЗ — П7], не будучи осведомленным о весьма близких результатах Поляка, которые содержатся в его работе по градиентным методам [П9]1). Алгоритмы типа B) и (9) имеют смысл, только если имеется практически приемлемый способ вычисления точки zi+x=a(zi) или ziJr\ e A (zt). В то же время часто изобретаются алгоритмы типа B) или (9), для которых не существует никакого практического способа вычисления a(zt) или точек из множества A(zi). Например, для вычисления такой точки может потребоваться отыскание предельной точки некоторой последовательности, которую еще нужно построить. Как мы уже упоминали, для преодоления этой практической трудности надо ввести'подходящий способ прерывания, т.е. соответствующую процедуру аппроксимации. Сейчас мы опишем несколько процедур аппроксимации, впервые изложенных в [П5]. (Альтернативный подход описан и проиллюстрирован в приложении Айв [Мб].) Наиболее простой подход к введению процедуры прерывания в алгоритм B) состоит в определении аппроксимированного множества 17 Л8ф = {уе=Г|||*/-а(г)|^<е}, где е>0, геГ. Тогда можно модифицировать B) следующим образом. 18 Модель алгоритма. Пусть задано число е0 > 0. Шаг. 0. Вычислить начальную точку zQ e Г. Шаг. 1. Положить / — 0. Шаг. 2. Положить е = е0. Шаг. 3. Вычислить у е Ае (zt). Шаг. 4. Если с (у) — с(г*)<; — е, то положить Zt+\=y9 положить / = I + I2) и перейти к шагу 2; иначе положить 8 = е/2 и перейти к шагу 3. ¦ 1) См. также работу Поляка [*П13]. —Прим. перев. 2) Условие: во всех алгоритмах последовательность команд, содержащихся в инструкции к каждому шагу, таких, как «положить», должна выполняться в том порядке, который указан в инструкции. 2 Э. Полак
34 1. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ Приведенный алгоритм не прекратит работу машины после конечного числа итераций, так как он не содержит команды «остановиться». Произойдет одно из двух событий: алгоритм A8) либо построит бесконечную последовательность {z,}, либо «застрянет» в точке zk и зациклится между шагами 3 и 4, деля на каждом цикле г на 2. Сейчас мы покажем, какого рода точки можно разыскивать с помощью алгоритма A8). 19 Теорема. Пусть функция поиска а(-) в A7) и правило- остановки с(-) на шаге 4 алгоритма A8) удовлетворяют условию (ii) теоремы C), и пусть функция с(-) равномерно непрерывна на Г. Тогда алгоритм A8) либо зациклится в желательной точке после конечного числа итераций, либо построит бесконечную последовательность \гь), каждая предельная точка которой является желательной. Доказательство. Предположим, что алгоритм зациклился в точке zk. Тогда он должен циклиться между шагами 3 и 4, строя в этом процессе последовательность векторов у^ / = 0, 1, 2, ..., в множестве Г, для которых || yf — a (zk) \\a < е/2у и с (yf) — с(zk) > — ео/2;. Следовательно, yf-+a(zk) при /-> со, и так как по предположению функция с(-) непрерывна, то c(a(zk))^c(zk)y т.е. точка zk желательна. Предположим теперь, что последовательность {zi} бесконечна и zi -> z' для / е К cz @, 1, 2, ...}, где z' — нежелательная точка. Тогда существует такое целое число ^е/(, что для i e К, i^k, 20 21 где г' в B0) и 6' в B1) удовлетворяют условию (ii) теоремы C) по отношению к точке z\ Далее, поскольку функция с(-) равномерно непрерывна на Г, должно найтись такое число г" > 0, что с (у) — c(a(z))^. — 672 для всех z (= Т и всех y^Ae,,(z), и, следовательно, 22 с (у) — с (г,) < y для всех у е= А&„ (г.), где i^K> />6. Пусть e = min{e", —672} и 8 = ео/2-/, где / — такое целое число, что Тогда для каждого / s /С, />fe, и каждого у ^ Ai(zt)
1.3. МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 35 Таким образом, для каждой точки zb i e /С, /^&, значение е, используемое на шаге 3 в A8) для вычисления точки zi+u должно быть по крайней мере равным е. Поэтому, если /, / + / — два последовательных индекса в /С, причем i^k, то 25 c{z.+f)-c{Zi)<b-<o (как и в (8)). Следовательно, с (zt) не может сходиться к c(z')> а по условию теоремы функция с ( •) непрерывна. Итак, теорема доказана. S3 Вообще говоря, убедиться в том, что точка у лежит в Ae(z), может оказаться почти так же трудно, как вычислить a (z), чего мы как раз и намеревались избежать. Отсюда мы приходим к мысли о необходимости использования аппроксимаций, подобных AR(z), но не требующих выполнения трудоемких проверок. Теперь мы введем в рассмотрение модель алгоритма, которая обобщает A8) и имеет существенно более широкую сферу приложений. Она демонстрирует значительно более утонченный подход к реализации принципиальных алгоритмов, как это будет видно из дальнейших глав 1). 26 Модель алгоритма. Л: R+XT->2r, c:T-»Rl, e0 > О, г' е= @, во). Шаг 0. Вычислить начальную точку z0 e Г. Шаг 1. Положить / = 0. Шаг 2. Положить е = е0. Шаг 3. Вычислить у е А (е, zt). Шаг 4. Если с (у) — с (zt) ^ — е, то положить zi+l = г/, положить / ===== / —f- 1 и перейти к шагу 2; иначе перейти к шагу 5. Шаг 5. Если е^е7, то проверить, является ли точка z{ желательной, и перейти к шагу 6; иначе положить е = е/2 и перейти к шагу 2. Шаг 6. Если zt — желательная точка, то положить zi+l = zi и остановиться; иначе положить е = е/2 и перейти к шагу 3. ¦ 27 Теорема. Рассмотрим алгоритм B6). Пусть (i) функция с(-) либо непрерывна во всех нежелательных точках z ^ Г, либо ограничена снизу для 2GT; (ii) для каждой нежелательной точки геГ существуют такие числа e(z)>0, 6(z)<0 и y(z)<0, что 28 с (г*) — с ]) Отметим, что мы злоупотребляем символом А при обозначениях. Л в B6) — это не то А, что в (9) или A8).
36 1. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ для всех z' € В (г, е(г)), всех z" е Л (у, z') и всех у ^ [О, Y где В (г, е (г)) - {г* €= Г| II *' — * II*<« («)}. * Тогда последовательность {?/}, построенная алгоритмом B6), либо конечна и ее последний элемент является желательным, либо бесконечна и каждая ее предельная точка является же* лательной. Доказательство. Во-первых, мы должны показать, что алгоритм B6) корректен, т. е. не может зациклиться в нежелательной точке zk. (Совершенно ясно, что он не может зациклиться в желательной точке, так как это предотвращается командой «остановиться» на шаге 6.) Итак, предположим, что алгоритм зациклился в точке zky не являющейся желательной. Тогда алгоритм должен построить бесконечную последовательность векторов yj^A(so/2f, zk), / = 0, 1, 2, ..., удовлетворяющих неравенству с (yj) — с (zk) > — 80/27, что препятствует построению zk+\. Но так как точка zk нежелательная, то по условию (И) существуют числа e(zk)>09 6(zk)<0 и y(zk)>0, для которых B8) справедливо. Кроме того, найдется такое целое число /'>0, что eo/2f ^min{—6(zk)y y(zk)} и потому в силу B8) должно быть c(yj)— с {zk) ^ б (zk) <[ — ео/2у для всех /^/', а это противоречит нашему предположению о зацикливании алгоритма в точке z^. Следовательно, алгоритм B6) корректен. Далее, поскольку построение новой точки zt+x может не состояться, только если выполнится команда «остановиться» на шаге 6 алгоритма B6), случай конечной последовательности \Zi) тривиален. Поэтому предположим, что последовательность [Zi) бесконечна и Zi->z' для /е/Сс:{0, 1,2, ...}, где предельная точка z' нежелательная. Тогда, согласно (Н), существуют числа е(г')>0, 6(z')<0 и y(z')>09 для которых B8) справедливо. Поскольку zt-^zf для /е/С, должно найтись такое число k' е /С, что z{^B (zf, г (z')) для всех / е К, i > k\ и такое целое число k, что eo/2fe^min{ — 6(z')9 y(z')}. Следовательно, для любых двух последовательных точек zh zi+j9 i^k\ последовательности {г?}/е/с должно быть 29 а это означает, что последовательность c(zi), i^K, не является последовательностью Коши (т. е. не сходится). Однако в силу условия (i) она должна сходиться, так что мы пришли к противоречию. ж
1.3 МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 37 0 Замечание. Для ряда алгоритмов, таких, как B.1.16), <с которыми мы встретимся ниже, вопрос о том, является ли точка Zi желательной, легко решить в процессе вычисления 1/бА(б, z^. В подобных случаях (так же, как это сделано в B.1.16)) шаг 5 в B6) можно вообще исключить, при условии, •что проверка желательности точки и соответствующая команда «остановиться» объединены в расширенное описание шага 3. Разумеется, мы предполагаем, что читатель сможет без труда провести изменения подобного рода. ¦ 31 Упражнение. Показать, что при выполнении условий теоремы A9) аппроксимированное отображение Ае(-) и правило остановки ?(•) удовлетворяют условию (и) теоремы B7). ¦ 32 Упражнение. Показать, что при выполнении условий теоремы B7) приведенный ниже алгоритм обладает теми же свойствами сходимости, что и алгоритм B6). ¦ 33 Модель алгоритма. A:R+XT-*2T, с: Г-^R1, е0 >0, •в'е@, ео)> «>0, ре=(О, 1). Шаг 0. Вычислить начальную точку z0 e Т. Шаг 1. Положить / = 0. Шаг 2. Положить е = е0. Шаг 3. Вычислить у^А(е, zt). Шаг 4. Если с (у)— c(zt)^ — ссе, то положить zi+\ = y9 положить / = /+ 1 и перейти к шагу 2; иначе перейти к шагу 5. Шаг 5. Если е^е', то проверить, является ли точка zt желательной, и перейти к шагу 6; иначе положить 8 = ре и перейти к шагу 3. Шаг 6. Если zt — желательная точка, то положить 2t41 = 2^ и остановиться; иначе положить е = ре и перейти к шагу 3. ¦ В модели алгоритма B6) и в ее обобщении C3) мы начинали каждую итерацию с 8 = е0. В некоторых ситуациях это может оказаться неэффективным, поскольку при приближении zt к желательной точке 2 мы, возможно, тратим слишком много времени на уменьшение е до приемлемой величины. В таком случае единственное, что надо сделать, это несколько изменить модель C3), как показано ниже. 34 Модель алгоритма. Л: R+XT-^2T, с: Г-^R1, §0 > 0, •е'е=@, ё0), a>0jG@, 1). Шаг 0. Вычислить начальную точку zQ e Г. Шаг 1. Положить *' = 0. Шаг 2. Положить е = е0. Шаг 3. Вычислить у е А (е, zi).
38 1. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ Шаг 4. Если с {у) — с{гь)^. — ае, то положить zi+\ = y, положить е; =е, положить / = /+1 и перейти к шагу 3; иначе перейти к шагу 5. Примечание. Алгоритм C4) отличается от алгоритма C3) тем, что в нем не восстанавливается исходное значение е0, поскольку после шага 4 мы возвращаемся не к шагу 2, как в C3)г а к шагу З1). Примечание. Величину et запоминать не следует, она введена только в целях удобства доказательства теоремы C5). Шаг 5. Если е^е', то проверить, является ли% точка zt желательной, и перейти к шагу 6; иначе положить 8 = ре и перейти к шагу 3. Шаг 6. Если zt— желательная точка, то положить zi+l = Zi и остановиться; иначе положить 8 = ре и перейти к шагу 3. ¦ 35 Теорема. Пусть для отображений Л(*, •) и с(-) выполнены условия (i) и (и) теоремы B7). Если последовательность [Zi] построена алгоритмом C4), то она либо конечна и ее последний элемент является желательным, либо бесконечна и каждая ее предельная точка является желательной. Доказательство. Прежде всего, используя ту же схему рассуждений, что и в первой части доказательства теоремы B7), заключаем, что алгоритм C4) не может застрять в точке zkr т. е. зациклиться на построении бесконечной последовательности векторов ^Gi(PVb zk)f для которых c(yf) — c(zk)> > p;8fe_1# Следовательно, алгоритм C4) корректен. Далее, из-за наличия на шаге 6 команды „остановиться", совершенно очевидно, что если последовательность {zt} конечна, то последний и предпоследний ее элементы являются желательными (они попросту одинаковы). Следовательно, достаточно рассмотреть случай, когда последовательность \zt) бесконечна. Итак, пусть z — предельная точка последовательности {Zi},n пусть эта точка нежелательная. Тогда, согласно B8),, существуют такие числа е>0, 5<0 иу>0, что 36 c(z") — c(z')<6<0 для всех z'^B{z,z), всех z" <= А(у, z') и всех y e [°> у]> где В{&Ь){'Т\\\' Щ<} 1) Здесь и далее для алгоритмов вида C3) и C4) (с восстановлением и без восстановления исходного значения 8о) автор использует термины time-invariant и time-variant. В соответствии с содержанием этих алгоритмов целесообразно называть их стационарными и нестационарными. — Прим~ пер ее.
1 3 МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 39 Пусть множество /(си {0, 1, 2, ...} таково, что 2;->г при i->oo, i^K- Тогда должно найтись такое число /г'^/С, что Zi^B(z, e) для всех i^k', i^K. Поскольку последовательность {sjI^o монотонно убывает, то либо гь > min { — 6, у) Ае для всех / = 0, 1, 2, ..., либо существует такое целое число k^.k\ что 8/^е для всех i^k'. Предположим сначала, что et > е для / = 0, 1, 2, Тогда, согласно инструкции шага 4 алгоритма C4), 37 c(zi + i) — c(Zi)^ — ае для всех Пусть теперь/,/ + / — два последовательных индекса из К- Тогда 38 С B/ + /) — С B,) = [С {Zi + j) — С B, + у-!)] + . . . • • • + [с B,+1) — с B*)] < — /ае, откуда следует, что последовательность {c(Zi)}ieK не может сходиться. Но это противоречит условию (i) теоремы B7), согласно которому монотонно убывающая последовательность {c(zi))ie=K ограничена снизу и, следовательно, должна сходиться. Таким образом предположение гь > ё для / = 0, 1, 2, ... неверно. Поскольку для всех i^k должно быть et-^8, из C6) следует, что 39 c(zi + \) — c(zt)^6 <0 для всех / е /С, i^k. Тогда для двух последовательных индексов /, / + / из /С, где 40 С B/ + /) — С B?) = [С B/ + /) - откуда снова следует, что последовательность {с(г$шк не может сходиться. Однако это снова противоречит условию (i) теоремы B7), согласно которому эта последовательность должна сходиться. Итак, если z — предельная точка последовательности {2/}, то она желательная. ¦ В некоторых алгоритмах, таких, как метод возможных направлений D.3.20), проверка условия с (у) — c(zi)^. — 8 обходится слишком дорого из-за трудоемкости вычисления с (у). В подобных случаях можно использовать более простые тесты- заменители, включающие функцию, отличную от с(-). Сейчас мы опишем модель, разработанную автором совместно с аспи-
40 1. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ рантом Робертом Клессигом. Эта модель предназначена для- того, чтобы облегчить понимание природы нестационарных. версий1) методов возможных направлений и алгоритмов проекции градиента, с которыми мы столкнемся в гл. 4. Как мы - убедимся, в этой модели мы сможем воспользоваться тестом- заменителем, но это приведет к тому, что сама модель станет значительно сложнее, чем все предшествующие. Чтобы описать подобную модель, нам понадобятся четыре отображения: с: T->R\ я|э: R+Xr~>R"", H: R+X^->S<=# и М: ГХ^~>2Г. Свойства, которыми мы наделим эти функции и подмножество S, мы укажем ниже. 41 Модель алгоритма. Я: R+XF->Sc:^, М: ТХ$-+2Т» if: R+XT->R~, с: Г-^R1, е0 > 0, в'е= @, ё0), а > 0, ре @,1). Шаг 0. Вычислить начальную точку z0 e Г. Шаг 1. Положить / = 0. Шаг 2. Положить е = е0. Шаг 3. Вычислить вектор АеЯ(8, zt). Шаг 4. Вычислить г|э (е, zt). Шаг 5. Если -ф(е, г*)^ — ае, то перейти к шагу 8; иначе перейти к шагу 6. „Шаг 6. Если es^e', то вычислить -ф @, zt) и перейти к шагу 7i иначе положить е==ре и перейти к шагу 3. Шаг 7. Если г[5 @, агг) = 0, то положить 2*+i = 2^ и остановиться; иначе положить е = |3е и перейти к шагу 3. Шаг 8. Вычислить вектор y^M(zi, h) и перейти к шагу 9- Шаг 9. Положить г*+1 = у, положить ht = А, положить et = e,. положить i = / + 1 и перейти к шагу 3. Примечание. Величины е* и ht запоминать не следует. Они введены только с целью облегчения доказательства теоремы D2). Ж 42 Теорема. Рассмотрим алгоритм D1). Пусть (i) z — желательная точка, если г|э @, аг) = 0; (И) множества Т и 5 компактны; (iii) функция с (г) ограничена снизу для z e Г; (iv) если для любого е^0 и для любого z^T 43 1|>(в,г)< —|i, то существует такое число 5 (\i) > 0, что 44 с(z + th) — с(z)< — -^ для всех *е= [0, s(\x)] и всех АбЯ х) См. подстрочное примечание к модели алгоритма C4). — Прим.
1.3. МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 41 (v) для любого 2еГи любого 6 > 0 существует такое число * (г, 6) > 0, что 45 t|)(e, для всех ее[0,е(г,б)] и всех/gB(z,8(г,6)),где В(z,е(г,б)) = = {2/еГ|||2/ — z ||^ ^е (г, б)}, т. е. функция г|)(*, •) полунепрерывна сверху на {0} X Т; (vi) для любого заданного числа 8 > 0 существует такое число а (е) > 0, что если 46 г|) (е, z) ^ — <хе, то 47 cfo) —*(*)< —<r(e)e для всех z e Г, всех АеЯ(е,г) и всех у ^ M{z, A); (vii) для любого геГи любого Ле^ 48 Af (г, А) — {г + ЯЛ е Г| * (г + АЛ) = min [с (z + Щ \Ц > 0, z + X'h(=T для всех Я'е= [0, к]}}. Если последовательность {^}построена алгоритмом D1), то •она либо конечна и ее последний элемент является желательным, либо бесконечна и каждая ее предельная точка является желательной. Доказательство. Сначала мы должны показать, что алгоритм D1) корректен, т. е. что он не может зациклиться в точке zk на построении бесконечной последовательности векторов /(рЧь k)) Предположим, что ф@, zk) = 0. Тогда p^-i*^8' Для некоторого целого числа /^0, и, следовательно, в данной точке алгоритм D1) на шаге 6 вычислит ^@,2^), перейдет к шагу 7, положит zk+x = zk и остановится. Теперь предположим, что -ф @, zk) < 0. Тогда, согласно условию (v) теоремы D2), существует такое число е" > 0, что i|) (e, zk) < г|) @, zk)/2 для всех е € [0, в"]. Пусть / — целое положительное число, удовлетворяющее неравенству $Jek-{ ^ <min {в", — ар@, zk)/2a]. Тогда фф'^-ь «*)< — «РЧ-i, и, следовательно, алгоритм не может застрять в точке zk. Далее, наличие команды „остановиться" на шаге 7 алгоритма D1) делает, как легко видеть, тривиальным случай конечной последовательности {zt}. Поэтому предположим, что последовательность {zt} бесконечна. Сначала мы покажем, что ') Здесь вектор hi отличается от векторов, вводимых на шаге 9 алгоритма D1).
42 1. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ соответствующая последовательность {е*| сходится к нулю. Поскольку последовательность {et} монотонно убывает и ограничена снизу нулем, она должна сходиться. Пусть ег —>е* при /->оо. Допустим, что е* > 0. Так как et-=p/(I)e0, где /(/) — целое положительное число, то существует такое целое числа k, что 8^=8* для всех i^k. Таким образом, 49 -ф (e^j, zt) = г|з (е*, 2*) < — ае* для всех i > k + К В силу D7) 50 ^fe+i) — c{zt)<^ — а(е*)е* для всех i^k+\r откуда следует, что c(zi)-> — оо при г->оо. Но это противоречит условию (iii). Итак, е* = 0. Предположим теперь, что гг->г при /->оо. Поскольку 8t-~>oo при /->оо, должно существовать такое бесконечное множество индексов /С с: {0, 1,2,...}, что 51 г|) (e^i, zt) > — azt-.x для всех / е /С- Сопоставляя E1) с условием (v) и учитывая, чтое,-->0 при -> сю, получаем 52 0<fimi|>(e,_lf г откуда следует, что а|)@, г) = 0, и, значит, г — желательная точка. Наконец, рассмотрим последнюю возможность, а именно предположим, что последовательность {Z(\ не сходится. Поскольку {zi\ с: Г и множество Т по условию (И) компактно, последовательность {гг} должна иметь по крайней мере две предельные точки. Обозначим эти две предельные точки через z* и г. Допустим, что 53 ф@,г*) = -2[х<0, т. е. точка z* нежелательная. Покажем, что это предположение приводит к противоречию. Во-первых, по условию (v) найдется такое число 6{ > 0, что 54 г|>(е, z)< — I* для всех 8G[0, 6j] и всех геВ(г*, 6,). Во-вторых, поскольку z* ф z, найдется такое число б2 е @, 6j/2), что 55 B(z\ 262)ПВ($У 262) = 0. Так как лбе точки г* и г предельные, то каждое из множеств В (г*, б2) и В (г, 262) должно содержать бесконечное число членов последовательности {zi\. Пусть z}^B(z*y62) для некоторого / е {0, 1,2,...}. Поскольку [zi) не сходится кг', аг-
1.3. МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 43 также предельная точка для {zt}, найдется такое конечное целое число n(j), что 2/+-(/) е В (г, 2б2). Тогда в силу E5) должно быть 2у+-(/) §? ВB*, 262). Следовательно, найдется такое целое число я(/), /<л(/)</г(/), что 2/+й(/нЕВ(г', 262) и С/)() Обозначим через ^(/ = 0, 1, 2,...) величину шага, выбираемую алгоритмом, т. е. предположим, что 56 zi+l — Zi + Kihit i = 0, 1, 2, Так как z} <=B(z\ 62) и 2/+я(/) §Ё 5 (г*, 2б2), то 57 «ь<11*/+.</>*/11,11 2 р=0 Поскольку по условию (ii) множество S компактно, величина т = max (|| h \\$ | h e S} существует и конечна. Поэтому в силу E7) для всех /V Для которых гу е B(z", б2). Пусть в соответствии с условием (iv) (см. D4)) определена функция s (\х)9 где \х задается в E4), и пусть 59 r\i = mm{Xif s(\Xi)} для / = 0, 1, 2, Тогда в силу D4) и D8) 60 с (z?+1) — с (zi) < с (zt + т),Л,) — с (г,) < — r\t -у для всех Zi e В (г*, 2б2). Таким образом, для всех Zj^ B(z*, 62) < —t p=0
'44 1. ПРЕДВАРИТЕЛЬНЫЕ РЕЗУЛЬТАТЫ Теперь из E8) и E9) получаем 62 2 Ч/+р>min S V" л0")^(|х) \>min[| , а затем из F1) и F2) 63 с (z}+n (/)) — с (zj) < — -i- ц min{-^-, s для всех zf^B (z\ 62K Но поскольку обе точки z и 2 предельные для {гг}, существует такая подпоследовательность (г^еВ)^^, что- + я(*/) Для всех /е(°> !» 2> •••}• Поэтому всилуF3> 64 с (г1у +1) - с (гч) < - у |i min{-^-, s для всех /е {0, 1, 2, ...}.. Из F4) следует, что c(z/)~> — оо при /->оо, а отсюда в свою- очередь следует, что c(z^)-> — оо цри /->оо, поскольку {c(zt)} — монотонно убывающая последовательность. Таким образом, предположение E3) неверно, т. е. должно быть -ф @, 2*) = 0, а это означает что z —желательная точка. ¦ В заключение сформулируем два важных достаточных условия, гарантирующих, что бесконечная последовательность- {Zi}, построенная некоторой моделью алгоритма, сходится: к желательной точке. 65 Теорема. Рассмотрим одну из моделей алгоритмов на* стоящего раздела, и пусть она удовлетворяет всем условиям соответствующей теоремы сходимости. Пусть, кроме того,, функция с(-) ограничена снизу для всех геГ и с\z') Фс(z"} для любых двух желательных точек г' ф z" из Г. Пусть {zt}Z=o—бесконечная последовательность в Г, построенная данной моделью алгоритма. Если множество Т или С/(г0)== = {z е Т |с (г) <] с (z0)} компактно, то zt ->z при / -> оо, где. z — желательная точка. Доказательство. Так как последовательность \zt) компактна, она должна иметь предельные точки, которые, как: мы уже показали, должны быть желательными. Поскольку последовательность {c(Zi)} монотонно убывает и ограничена снизу, она должна сходиться, т. е. с(zt)->сч при /—>-оо. Следовательно, для двух предельных точек z' Ф z" последовательности {zt} должно быть с(г')явс(г") = сл9 а это противоречит условию, что с (z') ф с (z") для любых двух желательных
1.3. МОДЕЛИ И УСЛОВИЯ СХОДИМОСТИ ЧИСЛЕННЫХ МЕТОДОВ 45 точек z' -Ф z". Итак, последовательность {zt\ имеет только одну предельную точку. ¦ 66 Теорема. Рассмотрим одну из моделей алгоритмов настоящего раздела, и пусть она удовлетворяет всем условиям соответствующей теоремы сходимости. Пусть, кроме того, множество Т содержит только конечное число желательных точек. Пусть {^}П=о — бесконечная последовательность, построенная данной моделью алгоритма. Если множество Т или С'(;го) = = BеГ|с(г)<сBо)) компактно и zi+{— гг->0 при г->оо, то zt-+z при /~>оо, где z — желательная точка. ¦ 67 Упражнение. Доказать теорему F6). ¦ Теперь мы перейдем к исследованию алгоритмов с помощью моделей и теорем сходимости, введенных в этом разделе.
2 МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ 2.1. Градиентные и квазиньютоновские методы в R" Мы начинаем эту главу с обсуждения задачи минимизации непрерывно дифференцируемой функции /°: R/I-*R1. Вкратце эту задачу запишем так: 1 min\fQ(z)\ze=Rn}. Будем предполагать существование такой точки zQ е R", что множество ограничено (его замкнутость очевидна). Как мы уже отмечали при обсуждении условий оптимальности, в общем случае нет удовлетворительного критерия для установления, является ли данная точка /gR" решением задачи A). Поэтому все существующие алгоритмы, которые могут быть реализованы, отыскивают точки z' <= R", для которых V/ (г') = 0. В связи с этим мы будем говорить, что точка z'€=Rn желательна, если S7f°(zf) = Q. Напомним, что если функция f°{-) выпукла, то из теоремы A.2.18) следует, что точки, удовлетворяющие условию У/°(<г/) = 0, оптимальны для A), т. е. Градиентные и квазиньютоновские методы основаны на следующем принципиальном алгоритме (в нем требуется минимизировать функцию вдоль прямой на каждой итерации, что, разумеется, не выполнимо ни в одном практическом алгоритме): 3 Алгоритм. Пусть D (г) — положительно определенная матрица размера «Х^> элементами которой являются непрерывные функции от z. Шаг 0. Выбрать такую точку zQ e Rrt, что множество B) ограничено. Шаг 1. Положить 1 = 0. Шаг 2. Вычислить — D(Zi)S/f° (zt). Шаг 3. Положить Afe) = -Dfe)V/°D Если А (г,) = 0, то остановиться; иначе перейти к шагу 4.
2.1. ГРАДИЕНТНЫЕ И КВАЗИНЬЮТОНОВСКИЕ МЕТОДЫ В Пп 47 Шаг 4. Вычислить Л (г*) — наименьшее неотрицательное число, удовлетворяющее условию 4 /о (zt + К (zt) h (Zl)) = min{/° (zt + Л/г (г,)) |А, > 0}. положить / = Шаг 5. Положить zi+1 = Zf -f- K{zj)h ( и перейти к шагу 2. ¦ Если положить с (•) = /° (•) и задать функцию поиска а (•) равенством где /г (г) вычисляется по формуле, приведенной на шаге 3 в алгоритме C), а Я (г) определяется из D) (нижний индекс Рис. 1. Метод наискорейшего спуска: алгоритм C) при ?>(•)=/. опущен), то, как легко видеть, алгоритм C) будет того же типа, что и алгоритм A.3.2). Это означает, что можно установить его сходимость, непосредственно применяя теорему A.3.3), что мы сейчас и сделаем. 6 Теорема. Пусть [zt)—последовательность, построенная алгоритмом C). Тогда последовательность \zi} либо конечна и завершается точкой zk, причем ^f°(zk) = Oy либо бесконечна и каждая ее предельная точка z' удовлетворяет условию Доказательство. Поскольку функция /°(-) непрерывна, достаточно показать, что условие (ii) теоремы A.3.3) выполняется для с{ • ) = /°( •) и функции а(-)> определенной равенством E). Очевидно, что a(z) = z для каждой желательной точки 2eRft, так как V/°(z) = 0. Далее, если точка z'eR" такова, что Vf° (z') ф О, то
48 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Так как функция Vf° (•) непрерывна, то в силу теоремы о среднем (ВЛ.1) найдется такое число е', что для всех 7 /о (z' + Xh B0) - f° B0 = Я <V/° B/ + aft B0), ft (z0> <-*f. где a e [О, Я]. Следовательно, X(z')>0 для любой нежелательной точки z'. Пусть точка z' e Rre такова, что V/° (zf) Ф 0; тогда X (z0 > 0. Определим отображение 8: R^-^R1 равенством 8 Нетрудно убедиться, что функция 6(«) непрерывна и 9 в (zO = f° (z' + Я (zO /г (г')) - f° (zO = 6' < 0. Следовательно, существует такое число г' > 0, что I в(*)-е(*о !<—!¦• т. е. такое, что Ю 6(z)<-|-<0 для всех z e {z HI z — zr||<e'}. Но в соответствии с D) И /o(z + ^(z)A(z))-/o(z)<6(z), откуда, полагая e(zO = e/, 6(zO = 972, видим, что условие (п) теоремы A.3.3) выполнено. ¦ 12 Замечание. Отметим, что последовательность {fo(zt)} значений целевой функции, построенная алгоритмом C), монотонно убывает. Поскольку функция f°(-) непрерывна, а. множество C(zQ), определенное в B), ограничено, последовательность значений целевой функции сходится (f°(Zj)-*/° при /-><х> в предположении, что последовательность бесконечна). Кроме того, последовательность {zt} компактна, т. е. имеет сходящиеся подпоследовательности. Однако для локализации такэй точки z\ что f)(z0 = f0, нет смысла выделять сходящуюся подпоследовательность, поскольку прекращение вычисления значений членов последовательности {zt} (после достаточно большого числа итераций) приведет к точке zk, близкой к некоторой предельной точке z' последовательности {z?}, а во всех предельных точках z' последовательности {zt} значение целевых функций одно и то же, т.е. /о(г0 = /°. ¦ 13 Упражнение. Показать, что если в дополнение к сформулированным условиям ввести условие выпуклости функции f°( •), то алгоритм C) вычислит ее минимум. Что изменится, если функция /° (•) будет строго выпуклой? ¦
2.1. ГРАДИЕНТНЫЕ И КВАЗИНЬЮТОНОВСКИЕ МЕТОДЫ В R" 49 Так как функцию а( •), определяемую равенством E), нельзя реализовать на цифровой ЭВМ из-за содержащегося в D) требования оптимизации, надо попробовать модифицировать алгоритм C) так, чтобы его можно было реализовать и при этом чтобы его сходимость не нарушилась. Если функция /°(-) выпукла и непрерывно дифференцируема, а множество {z|/°(zX ^/°()} ограничено для некоторого известного значения г0, то Рис. 2. Алгоритм A4). довольно эффективной может оказаться приведенная ниже модификация. В качестве подпроцедуры нам понадобится поиск по методу золотого сечения, который мы сейчас опишем. Пусть функция Э: R+-*RJ выпукла и ее минимум достигается в конечной точке А' > 0. Следующий алгоритм строит за конечное число шагов отрезок длины е > 0, содержащий А': 14 Алгоритм (поиск по методу золотого сечения)._Величины е>0, р> 0 заданы; ^ = C— ]/F)/2 « 0,38; /?2 = (у1Г— l)/2 « «0,6s1). Примечание. Первые шесть шагов алгоритма вычисляют отрезок [а0, 60], содержащий минимизирующую точку А'. Последующие шаги уменьшают его длину до наперед заданной величины 8. Шаг 1. Вычислить 6(р), 6@). Шаг 2. Если 0(р)^8@), то положить ао = О, 60 = Р и перейти к шагу 7; иначе перейти к шагу 3. Шаг 3. Положить / = 0, р,0 = О. Шаг 4. Положить ixi+l = \it + p. Шаг 5. Вычислить 8(jli?+1). 1) Величины Fx и F2 называются дробями Фибоначчи; они удовлетворяют равенствам F2 — 1 — Ft и Fx = (F2)K
50 2 МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Шаг 6. Если 8 (\xi + l)^ 6(щ), то положить ао = ц,^, Ьо — \1+1 и перейти к шагу 7; иначе положить / = / + 1 и перейти к шагу 4. Примечание. Теперь А/ е [а0, Ьо]. Далее мы будем уменьшать отрезок, содержащий АЛ Шаг 7. Положить / = 0- Шаг 8. Положить lI = b! — af.. Шаг 9. Если //^е, то перейти к шагу 12; иначе перейти к шагу 10. Шаг 10. Положить v} = ai + P\l^ wt=^a} + F2//. ZZ/аг 11. Если э (оу) < Э (доу), то положить af+l—a}9 положить &/+.1=ш/, положить / = /+ 1 и перейти к шагу 8; иначе положить а/+1 = у/, положить 6/+1 = 6у, положить /==/+1 и перейти к шагу 8. Примечание. Отметим, что // = /72/о== (О,68O/о. 12. Положить Д = (а/ + 6/)/2 и остановиться. ¦ 15 Упражнение. Показать, что в случае aJ+1 — af и bf+i = wf будет wI+l = vj9 а в случае aI+l=v} и bJ+i==bf должно быть Отсюда следует замечательное свойство поиска по методу золотого сечения: на каждой итерации достаточно производить одно, а не два вычисления функции 0(-)« Поэтому для использования на практике алгоритма A4) его можно модифицировать, учитывая этот факт. Теперь мы уже в состоянии изложить реализуемую модификацию алгоритма C), которую можно использовать для нахождения минимума дифференцируемых выпуклых функций f°(-) в предположении, что множество [z\f°(z)^f°(z0)} ограничено. 16 Алгоритм (Полак [П5]). Пусть D(z) — положительно определенная матрица размера пУ^пу элементами которой являются непрерывные функции от z\ функция f° (•) предполагается выпуклой. Шаг 0. Выбрать такую точку z0 e R", что множество B) ограничено; выбрать е0 > 0 и выбрать р > 0 для алгоритма A4). Шаг 1. Положить / = 0. Шаг 2. Положить е = е0. Шаг 3. Вычислить — D {zt) V f°(z,). Шаг 4. Положить h (zt) == — D (zi) V f° fo). Если A(z,) = 0, то остановиться; иначе перейти к шагу 5.
2.1 ГРАДИЕНТНЫЕ И КВАЗИНЬЮТОНОВСКИЕ МЕТОДЫ В Пп 51 Шаг 5. Определить 6: R+~^R1 равенством 17 в (|Л) — f> BГ? Шаг 6. Применить алгоритм A4) для вычисления р, (см. шаг 12 из A4)), используя текущее значение е. Шаг 7. Если 0 (р-Х — е, то положить г^+1 = zt + ДЛ fo), положить i = i+ 1 и перейти к шагу 3; иначе положить e==s/2 и перейти к шагу 6. ¦ 18 Упражнение. Показать, что алгоритм A6) имеет вид A.3.18) и удовлетворяет условию теоремы A.3.19). Показать, таким образом, что алгоритм A6) либо прекращает вычисление 1) в точке zki которая в этом случае должна доставлять минимум функции /°(•), либо порождает такую бесконечную последовательность {zt}, что /° (z*)->/° = min {f°(z) |zeRn). Преобразовать A6) к виду A.3.33). ¦ Если функция /°(*) не обязательно выпукла, можно применить следующую модификацию алгоритма C), которая использует правило выбора величины шага, впервые предложенное, вероятно, Голдштейном [Г4]. 19 Алгоритм (Голдштейн [Г4]). Пусть D(z)— положительно определенная матрица размера «Хп, элементами которой являются непрерывные функции от z. Шаг 0. Выбрать такую точку z0 e Rn, что множество B) ограничено; выбрать а е @, 1/2). Примечание. Здесь достаточно хорошим представляется выбор а = 0,4: см., например, разд. 6.1. Шаг 1. Положить /==0. Шаг 2. Вычислить — D (zt) V f° (zt). Шаг 3. Положить h (z}) = — D(zt) Vf°(^). Если h(zt) = 0, то остановиться; иначе перейти к шагу 4. Шаг 4. Вычислить такое число %ь > 0, что 20 Я, A - a) (V/° (z,), h (zt)) < 9 (Я,; zt) < Xta (Vf (г.), h (г,)>, . где 21 9 (Яг, zt) = f° (zt + Я, Шаг 5. Положить г^+1 = г^ + fkih(z^)i положить / = / перейти к шагу 2. ]) Отметим, что алгоритм A6) не может зациклиться из-за наличия команды „остановиться" на шаге 4.
52 2 МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Рис. 3. Вычисление %i в соответствии с B0): Теперь мы покажем, что алгоритм A9) имеет вид A.3.9) к удовлетворяет условиям теоремы A.3.10). Напомним, что мы определили точку ^eR" как желательную, если Vf°(z') = O* 22 Теорема. Пусть [zi] — последовательность, построенная алгоритмом A9). Тогда последовательность {гг) либо конечна и завершается точкой zk, причем Vf°(zk) — Q9 либо бесконечна и каждая ее предельная точка z' удовлетворяет условию o(O 0 Р и с. 4. К доказательству теоремы B2). Доказательство. В модели A.3.9) положим n f°(-) и зададим отображение A: Rn 23 Л^) — !^ — 2Rn(cT равенством где h (z) задается так же, как и на шаге 3 алгоритма A9) (нижние индексы опущены), и [f> (z + Xh (z)) - f° (z)] - Л A - a) (V/° (z), h (z)), z + Xh (z)) — f° (z)} — Ы (Vf° (z), h (z)). 24 9 (X; z) 25 6 (Л; z) Поскольку алгоритм прекращает построение новых точек тогда и только тогда, когда h(zk) = 0 для некоторого zk (см» шаг 3), первая часть теоремы тривиальна. Для того чтобы продемонстрировать справедливость второй части теоремы, пока-
2.1 ГРАДИЕНТНЫЕ И КВАЗИНЬЮТОНОВСКИЕ МЕТОДЫ В R" 53- жем, что отображения /°(-) и Л(-) удовлетворяют условиям (i) и (ii) теоремы A.3.10), Выполнение условия (i) очевидно,, поскольку функция /°(•) непрерывна. Таким образом, осталось показать, что условие (ii) также выполняется. Пусть г|э (•, •) отображает R+ X R" в R1 и определяется равенством 26 и пусть1) Я = р (z) — наименьший положительный корень уравнения -ф (Я, z) = 0. Тогда для каждой точки z e R", для которой f°(H , z) = a(Vf>(z), A(z)><0, откуда р(г)>0 и ^(Л, г) < 0 для всех Ае[0, р(г)). Следовательно, для каждой, точки г, для которой V/0 (г) ^ 0, р(г) = max{ф (Я, г) | Л е [о, -^-]} < 0. 27 Далее, пусть точка 2GR" такова, что V/0B)^=0, (т.е. она не является желательной). Поскольку отрезок [0, p(z)/2] компактен и функция г|э (•, •) непрерывна по совокупности своих аргументов, найдется такое число г' > 0, что для всех zr & ^{z'\\\z'-z\\<,*'\ и всех Яе[0, р(г)/2] 28 а так как -ф(Я, г)<р(г) для всех Ле[0, p(z)/2], то 29 ^ для всех г'е!/!!/- eIKe7} и всех Я е [0, р (z)/2]. Таким образом, для всех z'^{z'\\\zr — г||^в'} должно быть справедливо следующее утверждение: если z" e А (гО, то z" = z' + + Я/Л(г/) и V^p(z)/2. Это вытекает из того, что р(г) есть наименьшее положительное значение Я, для которого 0 (Я; z) = 0. Далее, поскольку функция (V/°(«), /г(-)) непрерывна, найдется такое число е" > 0, что для всех z'e {z'Hlz' — H^"! 30 <v/o (г0, A (z0> < \ (V/° (г), /г (г)> - V (*)< 0- ]) Поскольку множество {z \ f° (z) < /° (z0)} ограничено, функция р (z) определена.
54 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Пусть eB) = min {е', г"). Тогда для всех z'^.{z'\\\z'— <Ie (z)} и всех z" = z' + А/А (z') е Л (г') должно быть -31 f° (z' + Я'А (г')) — f° (г') < Я'о (V/0 (г'), А (z')> < Полагая 6 (г) = р (г) ay (г)/2, видим, что условие (и) теоремы A.3.10) выполняется для функции f°(-) и отображения Л(-)> определенного равенством B3). ¦ 32 Следствие. Рассмотрим множество Z = {z \S7f°(z) — 0} и предположим, что /°B') =й= /°B") для любых двух точек z' Фг" из Z. Если множество С (г0) = {г ||f° (г) ^ /° (г0)} компактно, то любая бесконечная последовательность {^}?10, построенная алгоритмом A9), сходится к точке zgZ(cm. теорему A.3.65)). Доказательство. Поскольку множество С (z0) компактно, последовательность \Zi\ имеет предельные точки. Далее, по построению последовательность {/°B/)}~=0 монотонно убывает и ограничена снизу. Так как множество С (г0) компактно и функция /°(-) непрерывна, то /° (zt)->/2 > — оо при /~>оо. Предположим, что точки zr ф z" являются предельными точками последовательности \Zi). Тогда по теореме B2) они принадлежат множеству Z, и так как последовательность {/° (гг-)}!10 сходится, то f°{z') = f°(z"). Но это противоречит нашему предположению о том, что если точки zf ф z" принадлежат Z, то f°(z') Ф f^{z"). Поэтому последовательность {zt} может иметь только одну предельную точку. ¦ Для того чтобы вычислить значение Я^, удовлетворяющее неравенствам B0), можно использовать приведенный ниже алгоритм C3), который находит нужное значение Я; после конечного числа итераций. 33 Алгоритм. Пусть 8(-;^)и 0(-;г,-) определяются равенствами B4) и B5) соответственно; величины zi9 aE@, l/2)> р > 0 заданы. Шаг 1. Положить ц = р. Шаг 2. Вычислить 8(|i; Zi). Шаг 3. Если 9 (ц; zt) = 0, то положить Xt = \x и остановиться; если 6(ц; Zt) < 0, то положить м>==|ы + Р и перейти к шагу 2; если 8((х; zt) > 0, то перейти к шагу 4. Шаг 4. Вычислить 9(ц; zt).
2 1 ГРАДИЕНТНЫЕ И КВАЗИНЬЮТОНОВСКИЕ МЕТОДЫ В R" 55 Шаг 5. Если 9 (jli; zt) ^ 0, то положить kt = jlx и остановиться; иначе положить ао = \х — р, bo = \i и перейти к шагу 6. Примечание. Теперь A,e[a0, Ьо\. Шаг 6. Положить / = 0. Шаг 7. Положить vf = (а;. + bj)/2. Шаг 8. Вычислить Q(vj] гь), 6(ау.; zt). Шаг 9. Если Q_(vf; zt) :> 0 и 0 (ty, ^) ^0, то положить А* = ау и остановиться; иначе перейти к шагу 10. Шаг 10. Если Q{vf; zt) > 0, то положить а/+1 = ау, положить bJ+\ = V;, положить / = /+ 1 и перейти к шагу 7; иначе положить а/+1 = vf9 положить Ь/+1 = 6у, положить у = / + 1 и перейти к шагу 7. Ш 34 Упражнение. Показать, что сходимость алгоритма A9) сохраняется, если величину шага At- вычислять не в соответствии с B0), а с помощью алгоритма C6), описанного ниже. Иными словами, показать, что для алгоритма C5) справедлива теорема B2). Далее, пусть множество Z = [z\ S7f°(z) — 0} содержит лишь конечное число точек (ср. с [Г4, стр. 31]; см. также A.3.66)), а множество C(zo)= {z \f°(z)^ f°(z0)} компактно. Показать, что если последовательность {г*}, построенная алгоритмом C5), бесконечна, то она сходится к точке 2GZ. [Указание: Так как А;<р и Vf°(Zi)->0 при /->оо, то zi+l — 2i->0 при /->оо. Поскольку все предельные точки последовательности {г*} должны принадлежать Z, их может ^быть лишь конечное число, и, следовательно, предположив, что последовательность {г*} имеет более одной предельной точки, мы придем к противоречию.] Ш Несколько более эффективными, чем алгоритм A9), в смысле выбора величины шага оказываются алгоритмы C5) и C6I). 35 Алгоритм (Армийо [A3]). Пусть D (z) — положительно определенная матрица размера пу^п, элементами которой являются непрерывные функции от г. Шаг 0. Выбрать такую точку ^gR", что множество С (z0) (см. B)) ограничено; выбрать ае@, 1), р^@, 1) и р > 0. Примечание. Здесь рекомендуется выбрать a = l/2, P ^ @,5; 0,8) и р== 1 (см. разд. 6.1). Шаг 1. Положить / = 0/ ]) Обсуждение различных процедур выбора величины шага в алгоритмах оптимизации содержится в работе Данилина и Пшеничного [*Д2]. — Прим. перев.
56 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Шаг 2. Вычислить h{zt) = — D(Zi)Vfo(Zi). Шаг 3. Если h(zt) = Qy то остановиться; иначе перейти к шагу 4. Шаг 4. Использовать алгоритм C6) для вычисления Л/. Шаг 5. Положить zi+l = zt + Xih{zi), положить / — /+1 и перейти к шагу 2. ¦ 36 Алгоритм. Пусть 6(jr, zt) определяется равенством B5); zi9 ае(ОД), ре@,1),Р>0 заданы. Шаг 1. Положить [х — р. Шаг 2. Вычислить в (fx; zt). Шаг 3. Если 0 (ц; zt) ^ 0, то положить Xt = \x и остановиться; иначе положить jli = Рц и перейти к шагу 2. ¦ Рис. 5. Вычисление Л{- в соответствии с C6): Алгоритмы A6), A9) и C5) содержат ряд параметров. Как мы увидим в разд. 6.1, существуют достаточно веские основания полагать, что выбор р=1 и а близким к 7г в алгоритмах A9) и C6) должен обеспечивать хорошую скорость сходимости. Отметим, однако, что по мере приближения а к '/г подпроце- дура C3) в алгоритме A9) требует все больше времени, и, следовательно, выбор а = 0,4 можно признать разумным. Выбор -р= 1 для A4) также, вероятно, хорош. Но чтобы добиться хорошего выбора е0 в A6), может понадобиться провести несколько экспериментов. В этот алгоритм всегда можно ввести элемент эвристики, и, как только будет расходоваться слишком много времени на деление г пополам (см. шаг 7), следует уменьшить е0. Наконец, читатель не должен забывать, что алгоритмы по выбору шага A4), C3) и C6) можно модифицировать самыми различными способами. Кроме того, в алгоритмах A6), A9) и C5) можно выбирать матрицу D(-) и тем самым влиять на скорость сходимости. Этот вопрос мы обсудим подробнее в гл. 6; здесь же приведем только некоторые из наиболее часто встречающихся функ- ций ?>(•).
2.1. ГРАДИЕНТНЫЕ И КВАЗИНЬЮТОНОВСКИЕ МЕТОДЫ В Пп 57 Одним из первых начал применяться для минимизации функций метод наискорейшего спуска. Это принципиальный алгоритм типа C), в нем ?>(•) = / (/ — единичная матрица). Он был впервые предложен Коши [К7]. Позднее он был вновь предложен и изучен Карри [КЗ]. Этот алгоритм породил целый класс линейно сходящихся алгоритмов минимизации „первого порядка" (см. гл. 6, где обсуждаются скорость сходимости и плохая обусловленность). 37 Алгоритм. Минимизация непрерывно дифференцируемой функции f°: R^-^R1, градиентные методы „первого порядка". Шаг 0. Выбрать один из алгоритмов C3) или C6) в качестве процедуры !? определения величины шага и зафиксировать входящие в нее параметры'). Шаг 1. Выбрать ^gR" так, чтобы множество B) было ограничено. Шаг 2. Положить / = 0. Шаг 3. Вычислить Vf°(zt). Шаг 4. Если V/°B/) = 0, то остановиться; иначе перейти к шагу 5. Шаг 5. Вычислить А* посредством ф с h(Zi) — — V/°Bt). Шаг 6. Положить zi+l = Zi— KiS/f°(Zi), положить / = /+1 и перейти к шагу 3. ¦ Второй класс очень важных алгоритмов для минимизации функций порождается методом Ньютона — Рафсона. (Метод Ньютона — Рафсона в банаховых пространствах превосходна изложен в работах [А2] и [К2].) Пусть функция f°(-) дважды непрерывно дифференцируема и ее матрица Гессе d2f°(z)/dz* невырождена при всех z в достаточно большой области. Предположим, что мы находимся в некоторой точке zt этой области. Разлагая /°(«) в точке ziy получаем квадратичное приближение к /°(«г): /° (г) = /° (zt) + (V/o (zt), z-zt) + ^(z- zi9 ^± (z -*, Полагая в правой части градиент равным нулю, находим 38 (<?IlMyl Функция, определяемая правой частью равенства C8), называется итерационной функцией Ньютона — Рафсона, а равенство C8) дает выражение для точного минимума функции !) Сначала проверить, допустимо ли равенство A*=Aj_i. Возможно, величина шага Я/ станет константой для всех /, больших некоторого k. См* теорему F.1.53).
58 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ /°(), когда f°(') — положительно определенная квадратичная форма. (См. в [К13] условия, гарантирующие достижение квадратичной формой минимума. Очевидно, что у квадратичной функ- дии вида f°(z)==(d, z) + (г, Qz), где матрица Q не является положительно полуопределенной, нижняя грань значений равна — оо, и мы говорим в этом случае, что функция не имеет (конечного) минимума.) Теперь мы суммируем изложенное выше в виде следующего алгоритма: 39 Алгоритм (Ньютон — Рафсон). Минимизация дважды непрерывно дифференцируемой функции /°(•) с обратимой матрицей Гессе. Шаг 0. Выбрать г0 в R'\ Шаг 1. Положить / = 0. Шаг 2. Вычислить У/°(г*). Шаг 3. Если Vf°(^) = O, то остановиться; иначе вычислить Zi+i в соответствии с C8), положить / = /+1 и перейти к шагу 2. ¦ 40 Упражнение. Используя непрерывность итерационной функции Ньютона — Рафсона C8), показать, что если последовательность {zi}9 построенная алгоритмом C9), сходится к точке г, то Vf°(z) = O. ¦ Свойства скорости сходимости метода Ньютона — Рафсона обсуждаются несколько подробнее в разд. 6.1 и 6.2. Область сходимости для метода Ньютона — Рафсона можно расширить с помощью модификации Голдштейна [Г4], причем скорость сходимости остается той же, что и в исходном методе C9). Так как алгоритм, описанный ниже, имеет вид A9), его можно использовать только тогда, когда матрица Гессе 4. положительно определена (функция /°(-)) выпукла в достаточно большой области.. 42 Алгоритм (квазиньютоновский, Голдштейн [Г4]). Минимизация дважды непрерывно дифференцируемой функции/°(-) с положительно определенной матрицей Гессе. Шаг 0. Выбрать такую точку 20eR", что множество B) ограничено и матрица Гессе D1) всюду в нем положительно определена. Выбрать а <= @, 1/2)- Шаг 1. Положить / = 0. Шаг 2. Вычислить Vf°(et). Шаг 3. Если V/0(zt) = 0, то остановиться; иначе вычислить H(zt) и перейти к шагу 4.
2 I. ГРАДИЕНТНЫЕ И КВАЗИНЫОТОНОВСКИЕ МЕТОДЫ В R" " 59 Шаг 4. Положить h(zt) = — ( ( Я/аг 5. Положить р = 1 в C3) и использовать эту подпро- цедуру для вычисления А/. Шаг 6. Выбрать zi+l — zt + lih(zt)9 положить / = /+1 и перейти к шагу 2. S В следующем разделе мы обсудим модификации метода Ньютона — Рафсона, применяемые к невыпуклым функциям, которые также расширяют область сходимости метода C9)» А пока предлагаем читателю следующие упражнения: 43 Упражнение. Показать, что при выполнении сформулированных выше условий на функцию /°(-) алгоритм D2) либо* через конечное число итераций остановится в точке zk9 минимизирующей f°(z) no 2GR", либо построит бесконечную после- довательность, которая сходится к точке г; минимизирующей f°(z) на R". Ш 44 Упражнение. Построить квазиньютоновские алгоритмы, использующие для выбора шага подпроцедуры A4) и C6). ш В заключение отметим, что мы могли бы начать изложение- с несколько более общего принципиального алгоритма, чем C), а именно: пусть /*(•,•)— такая непрерывная функция, отображающая R1 X Rn в R", что для каждой точки z e R", для которой Vf°{z)=?O, выполняется неравенство 45 <V/°(z), Л@, z))<0. Тогда можно построить следующую процедуру для минимизации непрерывно дифференцируемой функции f°: R^-^R1: 46 Алгоритм. Шаг 0. Выбрать такую точку z0 e Rrt, что множество B) ограничено. Шаг 1. Положить / = 0. Шаг 2. Вычислить V/°fo). Шаг 3. Если Vf°(Zi) = 0> то остановиться; иначе вычислить такое число %t > 0, что 47 /°( и перейти к шагу 4. Шаг 4. Положить zl+l — Zi + h(Xiy zt), положить / = /+ 1 ег перейти к шагу 2. ш 48 Упражнение. Показать, что для алгоритма D6) справедлива теорема F). т В литературе почти нет описаний алгоритмов типа D6). Одинг из немногих таких алгоритмов принадлежит Мейну [М8].
<60 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ 2.2. Связь с вычислением производных Рассмотрим снова задачу где функция f°: Rrt->R! по крайней мере однократно непрерывно дифференцируема. Вычисление производных функции /°(-) с высокой точностью (такой же, как и значение самой функции f°(-)) может оказаться довольно дорогостоящим в смысле затрат машинного времени. ГРбэтому в итеративных процессах решения задачи A) желательно избегать насколько возможно подобных вычислений. Существуют в основном два типа алгоритмов для решения задачи A), которые или требуют небольшого числа обращений к вычислению производных функции f°(-)> или вовсе не требуют этого. Первый тип возник из методов, подобных методу наискорейшего спуска или методу Ньютона—Рафсона; при этом производные аппроксимируются конечными разностями с постепенным увеличением точности вычислений по мере приближения к решению задачи A). Второй тип принципиально не связан с вычислением производных. ¦Сейчас мы приведем несколько примеров алгоритмов, в которых удается либо полностью, либо частично избежать вычислений производных функции f° (•). 2 Алгоритм (модифицированный метод наискорейшего спуска, Полак [П5]). Пусть заданы е0 > 0, а е (О, V2), а' > 0 и р > 0. Шиг 0. Выбрать такую точку zogR", чтобы множество 3 iz\f° было ограниченным. Выбрать 80>0,aG @, V2), a' > 0 и р > 0. Примечание. Попробуйте взять a = 0,4, a'e[lO~2, 10], еое €=[1(Г2, Ю-3], ре [5, 10]. Шаг 1. Положить / = 0. Шаг 2. Положить е==е0. Шаг 3. Вычислить вектор ft(e, zt) e R", /-я компонента &, Zt) которого определяется равенством J + ee/)-f>(z,)]> /=1,2,,.., п, где ef есть /-й столбец единичной матрицы размера пХ«, т. е. ^ = A, 0, ..., 0), е2 = @, 1, 0, ..., 0) и т.д. 4. Вычислить /° {zt + ре/г (е, zt)) — /° (zt) А. Д (е, zt).
2.2 СВЯЗЬ С ВЫЧИСЛЕНИЕМ ПРОИЗВОДНЫХ 6! Шаг 5. Если А (е, zt) < 0, то вычислить такое число Я, что где 6 9 (A, zu Л (в, **)) = и перейти к шагу 6; иначе положить е==е/2 и перейти к шагу 3. Примечание. Алгоритм A.33) можно легко приспособить для вычисления значения А,, удовлетворяющего неравенствам E). Шаг 6. Если 6 (A, ziy Л(е, «/)) <! — а'е, то положить zi+{ — = et + AA(e, zt), положить / = /+ 1 и перейти к шагу 2; иначе положить 8 = 8/2 и перейти к шагу 3. ¦ 7 Упражнение. С помощью теоремы A.3.27) показать, что если [Zi] — последовательность, построенная алгоритмом B), то она либо конечна (т. е. после конечного числа итераций алгоритм зациклится в точке zk между щагами 3 и 5 или 3 и 6, повторяя деление е на 2), причем V/°B:fe) = 0, либо бесконечна и каждая ее предельная точка z' удовлетворяет условию V/°(zO = 0. ¦ 8 Упражнение. Построить алгоритм типа B), используя вычисление величины шага посредством простой модификации алгоритма A.36). ¦ 9 Упражнение. Пусть функция /° (•) выпукла. Построить алгоритм типа B), используя вычисление величины шага посредством алгоритма A.14). ¦ 10 Алгоритм (модифицированный квазиньютоновский метод, Полак [П5], ср. [Г5]). Пусть функция f°(«) строго выпукла и Дважды дифференцируема. Шаг 0. Выбрать такую точку zQ e R", что множество ограничено. Выбрать е0 > 0, а е @, 1/2) и а' > 0. Примечание. Попробуйте взять e0e[l0~~2, КГ"8], а = 0,4 и а'е[1(Г*, Ю-8]. Шаг 1. Положить * = 0. *) Вместо E) можно применить соответствующим образом приспособленную подпроцедуру A.36) по выбору шага, при которой на каждой итерации потребуется меньше времени для вычисления.
62 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Шаг 2. Положить е = е01). Шаг 3. Вычислить матрицу Я(е, zt) размера пУ^п, /-й столбец которой имеет вид 12 jm°(Zi + ee})-Vf0(Zi)]y /= 1, 2, ..., /г, где еу есть /-й столбец единичной.матрицы размера пу^п, т. е. *i = (l, 0, ..., 0), e2 = @Ll, ..., 0) и т. д. Шаг 4. Если Я(е, г*)"" существует и <V/°fe), Я F, г,Г1У/°(г,)>>0, то положить /г (е, 2*) = — Я(е, г^)" Vf°(^) и перейти к шагу 5; иначе положить е = е/2 и перейти к шагу 3. Шаг 5. Вычислить такое число I, что 13 X A - а) (V/0 (г,), А (8, *,)> < Э (Я, г,, /г (е, zt)) < ), /г (в, где 8 (•,•,•) определяется, как в F). Положить, если возможно, К= 1. Примечание. Примените алгоритм A.33). Шаг 6. Если 0(Л, гь Л(е, гг-))^ — а'е, то положить г;+1 = = г^ + Я/г(е, et), положить / = /+ 1 и перейти к шагу 2; иначе положить е==е/2 и перейти к шагу 3. 9 14 Упражнение. С помощью теоремы A.3.27) показать, что если последовательность [zt) построена алгоритмом A0), то она либо конечна, т. е. алгоритм зациклится в точке zk между шагами 3 и 6, повторяя деление 8 на 2, причем Vf°B*) = 0, либо бесконечна и сходится к такой точке z, что V/°B) = 0, т. е. z минимизирует f°(z) по 2GR" (см. A.3.65)). ¦ Теперь мы представим алгоритм для минимизации без ограничений, который не требует вычислений производных и не является очевидной модификацией алгоритма, требующего таких вычислений. Этот алгоритм в советской литературе называется методом локальных вариаций и, кажется, он был известен в той или иной форме достаточно давно. В частности, ]) Для того чтобы заставить алгоритм останавливаться в стационарной точке и гарантировать сверхлинейную сходимость, надо заменить шаг 2 на следующий: если V/0 (?() = 0, то остановиться; иначе положить е = = min{eo,|| V/°(Zf)||} и перейти к шагу 3. См. Коэн [K8J.
2 2 СВЯЗЬ С ВЫЧИСЛЕНИЕМ ПРОИЗВОДНЫХ 63 очевидна его связь с алгоритмом Гаусса — Зейделя (см. [Е1]). Недавно он был описан в [Б2] и [Ш1]1)- Метод особенно эффективен, когда функция /°(«) имеет вид 15 -2 # Нам понадобятся следующие обозначения: пусть еь для /== 1, 2, ..., п будет /-м столбцом единичной матрицы размера пХп, т. е. е{ = A, О, ..., 0), е2 = @, 1, 0, ..., 0) и т. д., и пусть dx = el9 d2 = — el9 d3 = e2, d4 = —e2, ¦ .., d2n_l = en, Рис. 6. Метод локальных вариаций. 16 Алгоритм (метод локальных вариаций, Банрчук и др. [Б2]). Шаг 0. Выбрать такую точку 20GRre, что множество 17 ограничено. Выбрать р0 > 0. Шаг 1. Положить / = 0, положить z = z0 и вычислить f°(z). Шаг 2. Положить р = р^. Шаг 3. Положить /=1. Шаг 4. Вычислить /°B + prf/). Шаг 5. Если /°(г + prf7) < /°(г), то положить 2 = z + pd/ и перейти к шагу 3; иначе перейти к шагу 6. Шаг 6. Если / < 2я, то положить / = /+1 и перейти к шагу 4; иначе перейти к шагу 7. 1) Метод локальных вариаций был впервые предложен Черноусько [*Ч1] как метод решения задач оптимального управления и вариационных задач более общего вида. Подробнее эти вопросы изложены в книге [*Ч2]. — Прим. ред.
64 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Шаг 7. Положить ^+1 = г, положить р/+1 = р/2, положить / = i + 1 и перейти к шагу 2. щ 18 Теорема. Если {гь}^0 — последовательность, построенная алгоритмом A6), то каждая ее предельная точка z' удовлетворяет условию Vf°(z') = O. (По предположению, сделанному для задачи A), функция /°(•) по крайней мере однократно непрерывно дифференцируема.) Доказательство. Так как множество C(z0) компактно, то, начиная процесс с z = zt и р = Рь алгоритм A6) может построить лишь конечное число промежуточных точек в цикле между шагами 3 и 6, прежде чем перейдет к осуществлению шага 7. Поэтому алгоритм A6) не может „застрять" в точке zi9 а должен построить бесконечную последовательность векторов [Zi) и соответствующую строго убывающую последовательность, чисел {р*}. Кроме того, поскольку множество С(г0) компактно, последовательность [zi] должна иметь предельные точки. Поэтому предположим, что г*->2' при i->oo, где iе /С с: {0, 1, 2, ...}. По построению имеем при /== 1, 2, ... 19 № + P*-id/)>f°(Zt) для всех /е= {1, 2, .,., 2п}. Отсюда в силу теоремы о среднем (В. 1.1) получаем, что при #'€=[(), 1] 20 f(zt + Pi-id!)- для всех /€ {1, 2, ...» 2/*} и всех i^K- Поскольку мы предположили, что функция V/°( •) непрерывна, и поскольку zi ->z' для i^K и р*-->0 при *'->оо, из B0) находим, что 21 (V/0 (*'), df) > 0 для / = 1, 2, ..., 2п. Из определения df тотчас же следует, что Vf°(z') = O. Ш 22 Следствие. Пусть множество Z=[z^C (z0) | V/° (z) = 0} состоит только из конечного числа точек и каждая его точка доставляет либо локальный минимум, либо локальный максимум функции f°(-)- Тогда последовательность {г*}, построенная алгоритмом A6), сходится к такой точке г, что S/f°(z) = O. ¦ 23 Упражнение. Доказать следствие B2). [Указание. Учесть, что zi+l — Zi-+0 при *'->оо (ср. A.3.66)).] ¦ Существует ряд других алгоритмов для отыскания минимума или стационарных точек функции, не требующих вычисления производных. Прекрасный обзор таких методов, основанных на эвристических рассуждениях, читатель найдет в статье Пауэлла [П2], в которой также приведен большой
2 3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В R^ 65 список литературы по алгоритмам оптимизации без ограничений 1). Обсуждение метода Гаусса-Зейделя и сопутствующих ему методов, которые можно строго обосновать, содержится в диссертации Елкина [Е1]. В заключение отметим, что идеи, лежащие в основе первого алгоритма, изложенного в этом разделе, можно использовать для модификации метода наискорейшего спуска с целью решения задач минимизации, в которых присутствуют интегралы и дифференциальные уравнения, в частности для того, чтобы адаптивно выбрать шаг интегрирования. Эти проблемы будут обсуждаться в разд. 5. 2.3. Методы сопряженных градиентов в R" Хотя скорость сходимости квазиньютоновских методов достаточно велика, они требуют на каждой итерации вычисления вторых частных производных и обращения матрицы Гессе, размер которой может оказаться большим. Эти две группы вычислений очевидно вызывают увеличение времени, требуемого для построения минимизирующей последовательности (т. е. последовательности {г,}, сходящей к такой точке <г, что /° (z) < f° (z) Для всех z e= R"). Сейчас мы опишем класс методов для минимизации дифференцируемой функции /°(-)« При несколько более сильном предположении, чем строгая выпуклость функции f°(-)> мы покажем, что эти методы можно применить для вычисления минимума f°(z) no 2GRft, В разд. 6.3 и 6.4 мы покажем, что по крайней мере для некоторых из этих методов скорость сходимости почти такая же, как и в квазиньютоновских методах. Методы сопряженных градиентов, которые мы собираемся описать, часто используются на практике даже тогда, когда функция /°(-)> подлежащая минимизации, не является выпуклой, и есть основания полагать, что такое их использование приводит к отысканию локального минимума. Однако по крайней мере в настоящее время мы не можем сделать сколько- нибудь строгих утверждений относительно свойств сходимости методов сопряженных градиентов, если они применяются для минимизации невыпуклой функции2). Методы сопряженных градиентов для решения систем линейных уравнений впервые предложили Хестенс и Штифель J) Обзоры методов минимизации без ограничений содержатся в работах Любича и Майстровского [*Л4], Поляка [*П10] и Пшеничного [*П19]. — Прим. перев. 2), Некоторые результаты, относящиеся к сходимости метода сопряженных градиентов в случае невыпуклой функции, содержатся в работе Поляка 1*П14]. — Прим. ред. 3 Э. Полак
66 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ [Х2], [ХЗ]. Эти методы обладают очень интересным свойством: они требуют не более п итераций для решения задачи 1 min {(rf, z) + <z, Нг)\г<= R*}, где Я — положительно определенная матрица размера п\п и c(GRn. Мы дадим сейчас эвристическое объяснение того, почему при использовании методов сопряженных градиентов для минимизации строго выпуклой функции можно ожидать хорошей сходимости. Итак, рассмотрим задачу min {f°{z) \z e R*} и предположим, что функция /°(•) строго выпукла и дважды непрерывно дифференцируема. Пусть z — оптимальное решение этой задачи; тогда V/°B) = 0, и для всех г, близких к г, мы получаем приближенное соотношение -f«B)==±{z-z9 H(z)(z-z)) = = -{H(z)z, г) + ±{г, H(z)z) + ±.{z, H где Н (z) = d2f°(z)/dz2. Простым обобщением соотношения (В.2.6) можно показать, что матрица Н (z) положительно определена, поскольку функция f°(-) строго выпукла; таким образом, в окрестности точки z задачу min [f°(z) \z e R*} можно приближенно представить в форме задачи A). Следовательно, есть основания ожидать, что любой метод, сходящийся при минимизации строго выпуклой функции и разрешающий задачу A) за достаточно малое число шагов, к концу процесса минимизации строго выпуклой функции тоже будет быстро сходиться. В этом разделе мы рассмотрим алгоритмы сопряженных градиентов для решения задачи 3 min{f°(z)\z<=Rn} в предположении, что функция f°( •) строго выпукла и дважды непрерывно дифференцируема, причем для всех z e [z\ f°(z)^i ^fQ(zo)} (где z0 — первое приближение к точке минимума функции /°(•)) и всех //eR" 4 0<т|Ы|2<(г/, H(z)y)^M\\y\\\ 0<m<M<oo'); границы т и М могут (но необязательно должны) быть соответственно наименьшим и наибольшим собственным значением матрицы Гессе Н (z) = d2f°(z)/dz2. 1) Отметим, что в силу условия т > 0 из (В.2.8) вытекает компактность множества {z \ /° (z) ^ f° (г0)}. Следовательно, поскольку гессиан Я (•) непрерывен, граница М всегда существует и ее постулирование излишне.
2.3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В r" 67 Все алгоритмы сопряженных градиентов имеют приведенную- ниже форму. Для каждой точки 2gRw положим 5 F(z) = {he=R)} 6 Алгоритм (прототип метода сопряженных градиентов). Шаг 0. Выбрать точку 20eR" и положить i = 0. Шаг 1. Вычислить V/°fo). Шаг 2. Если V/0B;) = 0, то остановиться; иначе вычислить ht^F (Zi) и перейти к шагу 3. Шаг 3. Вычислить такое число Я,- > 0, что Шаг 4. Положить zi+i = Zi + Xihiy положить / = /+1 и перейти к шагу 1. ¦ Отметим, что операция минимизации на шаге 3 делает все методы сопряженных градиентов чисто принципиальными. Естественно вводить в вычисление Я/ некоторую аппроксимацию. Различные аппроксимации, применяемые в настоящее время на практике (например, получаемые из полиномиальных разложений или при поиске по методу золотого сечения A.14)), нарушают условия, гарантирующие сходимость принципиальной формы алгоритма. В результате на практике приходится „восстанавливать" алгоритм через определенное число шагов. Позднее мы вернемся к этой проблеме. Прежде чем приступать к подробному описанию ряда методов сопряженных градиентов, отличающихся только специфическими способами вычисления векторов hi^F(Zi) на шаге 2 алгоритма F), установим одно достаточное условие сходимости алгоритма F). 8 Теорема. Рассмотрим задачу C) при сформулированных выше предположениях и алгоритм F). Предположим, что на шаге 2 алгоритма вектор ht всегда можно выбрать так, что для фиксированного р > 0 выполняется неравенство 9 -(V/o(e,),A/)>pl|V/oB,)||||A,||. Тогда алгоритм F) строит либо конечную последовательность {zi}, последний элемент которой минимизирует f°(z) по 2eRn, либо бесконечную последовательность {^}, сходящуюся к точке z, минимизирующей f°(z) no zgRw. Доказательство. Первая часть теоремы тривиальна, так как алгоритм останавливается в точке zk тогда и только тогда, когда S7f°(zk) — 0, а по условию функция /°(-) строго выпукла — это гарантирует, что такая точка разрешает задачу C).
68 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Чтобы доказать вторую часть теоремы, покажем, что отображения с(-) = /°(-) и А(-), определяемые ниже, удовлетворяют условиям (i) и (ii) теоремы A.3.10)'). Для каждой точки 2GR" положим 10 A (z) = {# = 2 +Я (г, Л) Л | h удовлетворяет (9), X(z,h) определяется из G)}. (Мы используем здесь G) и (9), разумеется, с опущенными индексами при z и /г.) Ясно, что условие (i) выполняется. Осталось установить, что для отображений f°(*) и Л(-) выполняется условие (ii) теоремы A.3.10). Поскольку функция /°(-) дважды непрерывно дифференцируема, из формулы Тейлора (В. 1.12) имеем = X (Vf> (г), Л> + %2 J A - 0 (Л, Я (г + а/г) /г) Л, о. где Н {z) — d2f°(z)/dz2. Так как по условию теоремы выполняются неравенства D), а (9) справедливо для каждого вектора /г, для которого z + Xh^ A(z) (при некотором числе X > 0), получаем, что для такого вектора h и любого числа Х^0 12 /о(г | Теперь предположим, что Vf°B) Ф 0. Тогда для всех у еЛ(г) должно быть (минимизируем правую часть неравенства. A2) по Я) Поскольку функция Vf°( •) непрерывна, для каждой точки z существует такое число е(г)>0, что для всех z'y удовлетворяющих условию || z' — z || ^е (z), справедливо неравенство Далее, поскольку A3) должно быть справедливо также и для всех у' ^ A{z')y где у' и г' подставлены соответственно вместо у 1) С этой целью положим Т = Rn и определим точку 2GRft как желательную, если Vf° (z) = 0. 2) Мы предполагаем, конечно, что и z, и z + Xh принадлежат множеству {z | /° (z) ^ /° (го)}, где z0 — некоторая заданная начальная точка.
2.3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В Rrt 69 и 2, мы заключаем, что для всех z'^[z'\\\z— всех /е4{z') 15 f° (*/') - f° (*') < - и, значит, условие (ii) теоремы A.3.10) выполнено. Таким образом, любая предельная точка 2 последовательности [Zi)y построенной алгоритмом F), должна удовлетворять условию Vf°(z) = O и, следовательно, минимизировать f°(z) по 2GRn, Теперь, так как /°(-) удовлетворяет D), то множество {z\f°{z)^f°(z0)} компактно (см. (В. 2.8)) и потому последовательность [zi\ должна содержать предельные точки, каждая из которых минимизирует f°(z) no 2GRn. Но функция f°(-) строго выпукла, так что такая минимизирующая точка z может быть только одна. Итак, последовательность {г*} имеет только одну предельную точку 2, которая и минимизирует f°(z) nO2G R". ¦ 16 Упражнение. Пусть числа Xt на шаге 3 алгоритма F) вычисляются не по G), а по A.33). Показать, что утверждение теоремы (8) остается справедливым. ¦ Другое достаточное условие сходимости алгоритма F) при решении задачи C) сообщено автору Зойтендейком. Это условие (приведенное ниже) кардинально отличается от всех теорем сходимости, которые мы рассматривали до сих пор, и мы оставляем его доказательство читателю в качестве упражнения. 17 Теорема (Зойтендейк [37]). Пусть алгоритм F), примененный к задаче C), строит такую бесконечную последовательность точек [Zi] и такую бесконечную последовательность направляющих векторов {hi}, что 18 <V/°te)f Ы) < П || Vf> (Zi) ВЦ Л, II, / = 0, 1, 2, ..., где tt < 0 и к 19 2^"^°° при fe—>оо. Тогда последовательность {zt} сходится к такой точке 2, что /°)f°) ft 20 Упражнение. Доказать теорему' A7). ¦ На этом наши предварительные замечания закончены, и мы готовы перейти к обсуждению конкретных правил для нахождения hi^Ffa), применяемых в различных модификациях алгоритма сопряженных градиентов. Начнем с описания процесса биортогонализации. (В данном изложении мы следуем
70 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Хестенсу [Х2].) Пусть дана симметрическая положительно определенная матрица размера пХп. Мы хотим построить две последовательности таких векторов g0, gl9 ... и h0, hu ... в R", что 21 (gi9 gj) = 0 для всех / Ф / и 22 (hiу Hhj) — 0 для всех / Ф /V Можно добиться этого с помощью метода ортогонализациет Грамма — Шмидта, используя прием „шнуровки)-* Пусть go e R* — произвольный вектор. Положим hQ = g0^ Положим далее 23 ?1 = ?о-Яо#йо, где Яо= что дает (go> g"i) == 0. Затем положим 24 *, = *, + Yo^o, где Yo= - ^t ?) ' что дает (Ло, Hh{) — 0. Продолжая далее, положим 25 g2 = ag0 + g{ — ui#A,; Л2 = где A;j и а выбираются так, чтобы было (g0, gi) = (g\, ft) = 0^ a Yi и Р выбираются так, чтобы было (Ао, ЯЛ2) = (Л1, ЯЛ2) = 0. Очевидно, этот процесс можно продолжать до некоторого- индекса т^п, при котором gm = /гт == 0. Докажем теорему B6), из которой будет следовать, что это построение должно закончиться именно таким образом. Из нее мы увидим также, что- все коэффициенты a, p и т. д. равны нулю. 26 Теорема. Пусть Н — симметрическая положительно определенная матрица размера пу^п, а ^gR" — произвольный. вектор. Положим для / = 0, 1, 2, ... 27 &+, = gt — KiHhi\ hi+l = gi+l + yihi9 где ho = go, a Xt и yt выбраны так, что (gt+и gt) = Oy <At-+1, #At) = 0, т. е. 28 X -J&llL л, - jjpfifi Yi- если знаменатели отличны от нуля, и Хг = 0, Yt = 0 в противное случае. Тогда для /, / = 0, 1, 2, ... 29 <ft> ^-e^Hft IP, (hiy Hhj) = 6ij(hi, Hht\ l)\ В оригинале „bootstrap" — Прим. перев.
2 3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В Rn 71 где 6ij — символ Кронекера, и g-t==Ai = 0 для всех /> га при га</г — 1. Доказательство. Предположим, что конструкции, определяемые формулами B7) и B8), приводят после га итераций к построению ненулевых векторов g0, gu ..., gm и Ло, hu ..., Am. Предположим также, что вектор gm+u построенный с помощью B7), равен 0. Тогда из B7) и B8) мы получим, что Ат+1=0, а отсюда gm+/ = AOT+/ = 0 для всех />1. Теперь предположим, что Am+I=0. Покажем, что тогда gm+i = 0. Для этого мы должны показать, что (AWf gw+i) = 0. Так как по построению Ло == g-q, то (Ао, gr1) = O. Предположим, что (Ау_1э §•/)== 0 для любого /е{1, 2, ..., га}. Тогда = (А7, g/ - Я7ЯА7) = <А7, #7) - Xj <Л/Э = (ff/ + Y/-iA/-i, g/> — Яу (ЯАу, Ау> = поскольку (g-y, Hg^^hi -~Y/-i^/-i> #Ay) = (Ay, ЯА7>. По индукции отсюда следует, что (Am, ^m+i) = 0. Так как векторы hm и gm+i ортогональны и Ат+1=0, из B7) заключаем, что O = l|gm+iir- + Ym(gm+i, Aw), т. е. если Ат+1 = 0, то и gm+l = 0. Окончательный вывод таков: конструкции, определяемые формулами B7) и B8), приводят к построению двух таких последовательностей векторов g09 gu ... и Ао, hu ..., что для некоторого числа га^О векторы gt и ht при всех 0^/^/п отличны от нуля, а при всех / > га равны нулю. Пусть целое число га таково, что gi Ф0 и fit фО для всех 0 <! i ^ га и gi = А* = 0 для всех / > га. Очевидно, что при / > га или / > га соотношения B9) выполняются тривиально. Остается рассмотреть только случай 0^/, /^га. Доказательство проведем по индукции. По построению {g0, gi) = 0 и (АО, Н/г{) — 0. Предположим, что для некоторого целого числа 0^&< 31 (ft. ?/> = (Ль ЯЛ7> = 0 для всех i Фи 0 < /, / < k. Пусть /е{1, 2, ..., ^—1}. Тогда Кроме того, выбирая Я/, можно добиться, чтобы было <ftfc+i. ^> = 0 и 53 (ft+i. go) = (ft — Л*ЯАЬ g0) = - А* (ЯАЬ ёГ0> = 0 (go = Ло)
72 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Аналогично, выбирая yky можно добиться, чтобы было {hk+u Hhk) = 0 и для is {0, 1, ..., k—\) 34 <АЛ+1, Hhi) - (ft+1 + Y*A*, #А,> = {gk+u Hht) = — у-(SV+!-&)) = О, поскольку Я* =? О для f = 0, 1, ...', m. Так как C1) выполняется для 6=1, то соотношения B9) должны быть справедливыми для всех 0 <! /, / ^ т. Векторы g0, gu ..., gm попарно ортогональны, а так как все они отличны от нуля, их общее число не может превосходить я, т. е. га<Ся. Доказательство закончено. ¦ 35 Следствие. Пусть gOi gu ..., gm и Ло, /гь ..., Aw —ненулевые векторы, построенные в соответствии с B7) и B8). Тогда 36 (Аь gk) = O для всех 0^/<&</п, q7 а _ (gt, St) _ (h., g.) 37 %i — (ff/f Я/г.) — (hv Hh.) • r — °> !» 2' ••- m- 38 Yt" Доказательство. Чтобы доказать C6), отметим, что для всех 0 < / < k < m 39 (Ль gfe> == (hi9 gk-{ последнее равенство в C9) было установлено при доказательстве теоремы B6); см. C0). Для доказательства C7) заметим, что ЛП (^' Si) _ (hi-Vi-lhi-V ^i) _ (hi> Sj) 4U (si9 Щ) - (Л? - y,_A-p Hht) ~ (hi> Hhi) ' Для доказательства C8) проведем следующие преобразования: ЛЛ (Hhi< St+i) __ {gj+i-gp St+i) (8t+v gi+i) {Hhi>hi) ~ _ (g{+v gl+i) __ (?,, fir,) так как
2 3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В ЦП 73 Посмотрим теперь, каким образом применяется в методах сопряженных градиентов изложенный только что процесс биортогонализации. Рис. 7. Минимизация квадратичной функции в R2 методом Флетчера — Ривса D2). 42 Алгоритм (Флетчер — Ривс [Ф5]I). Шаг 0. Выбрать zo<=Rn. Если V/°B0) = 0, то остановиться; иначе перейти к шагу 1. Шаг 1. Положить f = 0 и положить g0 = Ло = — V/° (z0). Шаг 2. Вычислить такое число Я* > 0, что 43 /°(г, + hhi) = min Шаг 3. Положить 44 Шаг 4. Вычислить f(i+i) Шаг 5. Если V/°Bi+1) = o> то остановиться; иначе положить 45 ft+i-- 46 Ai+i-ft+i + Yi^. где ^| положить / = /+1 и перейти к шагу 2. ¦ Прежде всего заметим, что выбор yt по D6) осуществляется точно так же, как и в процедуре биортогонализации; см. C8). Заметим далее, что в силу D3) должно быть (gi+u Ы) = 0. Сейчас мы увидим, что в случае, когда f°(-) — квадратичная функция, выбор %i осуществляется по такой же формуле, как и C7). Итак, рассмотрим квадратичный случай. 1) Этот алгоритм впервые был предложен Хестенсом и Штифелем для минимизации квадратичной функции, но с X., yt, определяемыми, как в B8); см. [ХЗ]. Идея Флетчера и Ривса состоит в использовании этого алгоритма для минимизации произвольных выпуклых функций; причем Я^, yt определяются по другим формулам, а именно по формулам D3) и D6) (см. D7)).
74 2- МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ 47 Теорема. Пусть f°(z) = (d, z) + (z, Hz)/2 для всех z e= R\ где H — симметрическая положительно определенная матрица размера nX^ndeR". Тогда алгоритм Флетчера — Ривса D2) строит точку 2, минимизирующую f°(z) по 2GR" за k^ итераций. Доказательство. Для рассматриваемого случая Следовательно, из D5) и D4) имеем 48 Выборг по формуле D3) влечет за собой равенство так что из D8) получаем формулу 49 49 ft. совпадающую с C7). Сравнивая D6), D8), D9) с B7), B8), () C8) и применяя теорему B6), заключаем по индукции, что для некоторого индекса k^.n вектор gk> построенный алгоритмом Флетчера — Ривса для рассматриваемой квадратичной функции, равен нулю. Таким образом, Vf°(zk) = 0 и, следовательно,. zk минимизирует f°(z) на Rn. Ш 50 Упражнение. Рассмотрим задачу C) при указанных пред- положениях. Показать, что для этой задачи алгоритм Флетчера— Ривса D2) строит такую последовательность точек {zi)y что она либо конечна и ее последний элемент zk удовлетворяет условию ?f°(zk) = Q, либо бесконечна и сходится к точке <г, минимизирующей f°(z) no z e Rn. [Указание: Покажите, что в этом случае для алгоритма Флетчера — Ривса выполнены условия теоремы A7).] Ш Теперь мы приведем алгоритм сопряженных градиентов,, который совпадает с алгоритмом Флетчера — Ривса в случае квадратичной функции. Однако сходимость его устанавливается несколько легче и, кроме того, можно получить оценку для скорости сходимости. Скорость сходимости алгоритма E1) будет исследована в разд. 6.3. 51 Алгоритм (Полак — Рибьер [П8]). Шаг 0. Выбрать 20gR", Если Vfo(a:o)==O, то остановиться; иначе перейти к шагу 1. Шаг 1. Положить / = 0 и положить g = h0 = — V/° (zQ). Шаг 2. Вычислить такое число Xt > 0, что 52 f>{zt + Xiht) = min {f{zt + Xht) Шаг 3. Положить 53 Zt+x^Zt
2.3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В R* 75 Шаг 4. Вычислить S/f°(zi+i). Шаг 5. Если Vf°(^+1) = O, то остановиться; иначе положить 55 *,+i-ft+i + Yi*i. где У!-^У положить / = /+ 1 и перейти к шагу 2. ¦ Отметим, что приведенный алгоритм отличается от алгоритма Флетчера — Ривса только формулой для вычисления у( {ср. E5) и D6)). Отметим также, что в случае f°(z) = (dy z) + + <г, Hz)/2, где Н — симметрическая положительно определенная матрица размера пУ^пу числа уь определяемые по D6) и по E5), совпадают согласно C8), и, следовательно, в этом случае совпадают оба метода. Выясним теперь, что происходит в общем случае задачи C) при сформулированных выше предположениях. 56 Теорема. Рассмотрим задачу C). Пусть г0, zu z2, ... и ho,hi,h2, ...—последовательности, построенные алгоритмом E1). Тогда найдется такое число р > 0, что 57 - <VHz,), й,> > р || Vf> (г,) || || А, ||. Доказательство. Для каждой точки 2GRn положим Н (z) = -= d*f° (z)/dz2 и g(z) = — V/°(г). Тогда, используя формулу Тейлора (В. 1.3), получим 58 l = - ft + hh J Я (г, + a^) Л. О Так как по построению (hiy gi+l) = 0, находим отсюда где 1 60 #*= J H(zi + tUht)dt. о (Отметим, что второе равенство в E9) следует из соотношений <Л*-1, g*> = 0 и A/ = ft + Y^-|.) Далее, из E5), E8) и E9) имеем Б силу D) и F0) для всех h<=Rn m\\h||2<(Л, ВД
76 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ и, значит, 62 lYi поскольку, как легко показать, || Ht II^M. Согласно неравенству треугольника, 63 или после преобразования с учетом F2) 64 II*<+i 1KB **+««(!+•?)• Окончательно имеем 65 (А,+1, ft+1> = {gi+l + \ihi9 ft+1> = (ft+1, ft+1>, * = 0, 1, 2 Таким образом, для / = 0,1,2,... = Whi+i II g|+1 II = ||^i+i ||A +Af/m) l + M/m' и теорема доказана. ш Приведем следствие, непосредственно вытекающее из теорем (8) и E6). 67 Следствие. Рассмотрим задачу C) при сформулированных выше предположениях. Алгоритм E1) строит либо конечную последовательность [гг)у последний элемент zk которой удовлетворяет условию S/f°(zk) = 09 либо бесконечную последовательность {Zi}9 сходящуюся к такой точке г, что У/°(г) = О (т. е. либо zk, либо z минимизирует f°(z) по всем 2GRn). ¦ Поскольку нельзя точно вычислить Xi по формуле E2) (или D3)), в практических расчетах происходит накопление ошибок, что может повлиять на свойства сходимости алгоритмов D2) и E1). Обычно, чтобы избежать накопления ошибок, эти алгоритмы восстанавливаются через каждые k^n+l итераций. В алгоритмах D2) и E1) восстановление через k итераций сводится к выбору hik = gik, i = 0, 1, 2, ..., вместо вычисления hik по D6) или E5). Скорость сходимости таких методов сопряженных градиентов «с восстановлением» обсуждается в разд. 6.3. С вычислительной точки зрения алгоритмы D2) и E1) примерно одинаково трудоемки на каждой итерации. Однако осу.
2.3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В R* 77 ществить сходящуюся реализацию удалось пока только для алгоритма E1); см. (С.4.1) и [КП]1). Мы закончим этот раздел изложением версии Флетчера — Пауэлла [Ф4] алгоритма Дэвидона [Д7] с переменной метрикой. Первое описание этого метода было опубликовано Дэви- доном [Д7] в 1959 г. и содержало ряд эмпирических соображений. В 1963 г. Флетчер и Пауэлл [Ф4] предложили более простое и более основательное его описание2). Их описание предполагает, что все вычисления проведены точно; иными словами, их версия является чисто принципиальным алгоритмом. Как и в других алгоритмах сопряженных градиентов, здесь можно при практических расчетах исключить накопление ошибок путем многократного восстановления алгоритма через определенное число итераций. Указанный алгоритм с переменной метрикой весьма популярен и обладает свойствами хорошей вычислительной устойчивости. Единственный его недостаток состоит в том, что на каждой итерации необходимо хранить в памяти ЭВМ матрицу Hi размера яХя, что при больших п (например, порядка 100) может быть сопряжено с трудностями в случае малой машины. В задачах дискретного оптимального управления число п бывает порядка 1000, и тогда имеет смысл использовать один из двух предыдущих методов. 68 Алгоритм (с переменной метрикой; Дэвидон [Д7], Флетчер и Пауэлл [Ф4]). Шаг 0. Выбрать гое^. Если V/°Bro) = O, то остановиться; иначе перейти к шагу 1. Шаг 1. Положить / = 0, положить Яо = / (/ — единичная матрица размера лХя) и положить go = V/°(z0K). Примечание. Заметим, что здесь gt и Ht определяются не так, как в E4) и F0). Способ выбора ht также отличается от использованного в алгоритмах D2) и E1). Шаг 2. Положить 69 hi = — Higi. Шаг 3. Вычислить такое число Xt > 0, что 70 f°^i + Khi) = mm[f°(zi + Xhi Шаг 4. Вычислить V/°(z* + Xthi). *) Существуют и другие реализации метода сопряженных градиентов^ См. работы Поляка [*П14] и Данилина [*Д1]. — Прим. перев. 2) См. также Шор [*Ш2]. — Прим. ред. 3) Выбор Но = I не обязателен. Можно взять в качестве Яо произвольную симметрическую положительно определенную матрицу.
78 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Шаг 5. Если V/°(z* + Лг/г,) = О, то остановиться; иначе положить 71 72 73 Aft = ft+i —ft. 74 . Дг,- = 2,-+ь— zh 75 Я,+1 = Я, - и перейти к шагу 6 l). Шаг 6. Положить * = i + 1 и перейти к шагу 2. ш Как было показано Мейером [М5], использование метода переменной метрики при минимизации квадратичной функции р>(г) = (d, z) + (z, Hz)/2 приводит к построению точно такой же последовательности векторов z-t и Л*, что и в методах D2) и E1). Следовательно, это метод того же типа, что и два предыдущих. Для того чтобы убедиться, что алгоритм F8) принадлежит тому же типу, что и F), нам осталось только проверить положительную определенность матрицы Hi. 76 Теорема (Флетчер — Пауэлл [Ф4]). Матрицы Hiy / = 0, 1, 2, ..., построенные алгоритмом F8), являются симметрическими и положительно определенными. Доказательство. Пусть / = 0. Матрица Я^ = / очевидно симметрическая и положительно определенная. В силу G5) матрица Я/+1 будет симметрической, если такова матрица Я*. Таким образом, осталось только доказать, что матрицы Ht положительно определены. Проведем доказательство по индукции. Предположим, что Ht — положительно определенная матрица (Hi>0). Тогда для любого ненулевого вектора 2gR" 77 77 Поскольку Hi > 0, матрица Я//2 существует и положительно определена. Положим p = Hfz и q= — H4i2Sg{. Тогда G7) принимает вид 78 {zt Hi+{Z) — т—-т Ьтл^—7Г7ГТ- !) Для #, ^ из R" мы обозначаем через х) {у матрицу хут размера «Х т.е. матрицу, (/, /)-й элемент которой равен х1уК Отметим, что (x)(y)z = х (у, z) = {у> г) х. (Матрица х) {у называется диадой.)
Применяя неравенство Шварца, получаем (р, р) (qy q) = IIII2IM12Xp> QJ и, следовательно, 79 Далее, поскольку в силу G0) должно быть (Aziy gi+l) = 01 то 80 и потому 81 (г, Я/+1г)>0. Теперь предположим, что г ^= 0, но (г, Я,+1,г) = 0. Тогда в силу G8) и (80) 82 (г, Дг,) = 0, 83 {p,p){q,q) = (p,qy. Однако из (83) вытекает, что p = aq для некоторого действительного числа а, т. е. что 2 = -аА^. Тогда с учетом (82) имеем (Ag/, &zt) = 0, что противоречит (80). Таким образом, если Hi > 0, то Hi+l > 0, а поскольку Но > 0, то Ht > 0 для / = 0, 1,2,.... ¦ В то же самое время, когда был введен метод переменной метрики, было показано, что он разрешает задачу min{{z, d)-\- + (г, Hz)/2\ z^l R") (где Я — симметрическая положительно определенная матрица) не более чем за п итераций. Затем, как мы уже отмечали, Мейер [М5] показал, что, будучи примененными к задаче минимизации квадратичной формы, методы Флетчера — Ривса и Дэвидона — Флетчера — Пауэлла приводят к построению идентичных последовательностей векторов zi9 ht. Однако и через десять лет после появления метода переменной метрики не было опубликовано ни одного доказательства сходимости для более общего случая. Совсем недавно Пауэлл доказал сходимость и оценил скорость сходимости для метода переменной метрики в случае минимизации строго выпуклых функций. Пауэлл был столь любезен, что позволил автору ознакомиться с его еше не опубликованной рукописью [П1], и сейчас мы приведем некоторые из этих новых результатов. В разд. 6.4 мы представим результаты Пауэлла, касающиеся скорости сходимости. 84 Теорема (Пауэлл). Рассмотрим задачу C). Если выполнены сформулированные выше условия на функцию /°(«) и
80 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЯ существует такая константа Липшица L > 0, что для всех (|f>()<H)} где 2 минимизирует f°(z) no zeR", то найдутся такие числа О < т ^М < оо, что для / = 0, 1,2, ... «6 т\\у |р<(*/, Hty)<М\\у ||2 для всех ys=Rn. Ш Мы докажем эту теорему в разд. 6.4 (см. F.4.40)). 87 Упражнение, Показать, что при указанных в условиях теоремы ограничениях на /°(«) алгоритм с переменной метрикой F8) удовлетворяет условиям теоремы (8). Отсюда вывести, что в данном случае алгоритм F8) строит либо конечную последовательность [Zi\, последний элемент которой минимизирует f°(z) no 2GRn, либо бесконечную последовательность {zi}9 сходящуюся к точке zy минимизирующей f°(z) no 2GRa. (Этот результат был также получен Дэниелом [Д8].) ¦ Дадим доказательство Пауэлла сходимости метода переменной метрики в применении к задаче C) с указанными условиями. Доказательство опирается на следующие четыре леммы. 88 Лемма. Для каждой точки 2f0GR" множество {z|/°(z)<C ^f°(zo)} выпукло и компактно. ¦ Эта лемма непосредственно следует из (В.2.8); поэтому доказательство мы опускаем. 89 Лемма. Пусть zh zi+x — любые две точки множества {z\ f°(z)^f°{z0)}, где z0 — заданная точка в R". Тогда все отношения ЦАг,||а (A*j. ^i) II Aft IP (A^Aft)' || Aft |p ' •ограничены. Здесь 91 Aft = «(^+1) — 8(*t) и Доказательство. В силу неравенства Шварца имеем (Дг,, Aft)^ ^||\zi\\ || Aft ||, так что достаточно доказать ограниченность отношений; || Д^ ||/|| Д,г? || и ||AzJ|2/(Az*, Дй), поскольку из нее немедленно следует ограниченность остальных отношений.
2.3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В R" 81 Как и ранее, обозначим Н (z) = d2f°(z)/dz2 для 2GRre. Сначала докажем ограниченность отношения || Д^ ||/|| Azt ||. В силу обобщенной теоремы о среднем (В. 1.5) 92 || Лй || = || g(zg + bzt) -g(Zi) |K || Дг, || sup \\H(z)\\. Поскольку функция #(•) предполагается непрерывной, а выпуклое множество [z | /° {z) < f° (z0)} (где zQ — заданная исходная точка) в силу леммы (88) компактно, найдется такое конечное число V > О, что || Н (z) || ^ V для всех z> для которых f°(z)^f°{z0). Следовательно, Для доказательства ограниченности || Дг^ ||2/(Д;гь Aft) воспользуемся формулой Тейлора (В. 1.3). В результате получим 94 J (Дгь Н (zt + tkzt) Azt) dt = {Azi9 Д^), о а с учетом D) имеем II Л*/ II2 * ^° ~~m—* j ч ^5 — • ¦ 96 Лемма. Пусть точка г минимизирует f° (г) по ге R", тогда для всех ?gR" 97 \\g(z)\\2>m[f°(z)-f>(z)], где g(.)==VfO(.). Доказательство. Так как функция /° (•) выпукла, то для всех zeR" (см. (В.2.4)) 98 f(z)-TO<<gB),z-2><|||rB)||||2_2||. Применяя (95) и неравенство Шварца (после переобозначения переменных в (95)), находим, что 99 \\z-z\f^±{z-z, g(z)-gB))^ Так как g{z) — 0, то из (98) и (99) получаем юо ' fo(z)-f42)<±\\g(z)ir.
82 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ 101 Лемма. Для последовательности точек {zt}9 построенной алгоритмом с переменной метрикой F8), к k 102 lim 2||Дг,||2<оо, lim 2 II Д& II2 < <*>, &->оо i=0 fe->oo i=0 где Azi и Agi определяются формулами (90) и (91) соответственно. (Лемма тривиальна, когда последовательность, построенная алгоритмом F8), конечна.) Доказательство. Используя формулу Тейлора (В. 1.12), находим ЮЗ Далее, —^/+1, Д^*} = 0 в силу построения zi+l. В силу этого равенства и условия D) 104 Суммируя A04) от / = 0 до / = оо, получаем 105 i=0 (Поскольку последовательность (f°(^)} монотонно убывает и ограничена снизу величиной /°(z), она должна сходиться к числу f°^f°(z). Поэтому 2 что приводит к A05).) Таким образом, первое неравенство в A02) доказано, второе следует из ограничений, установленных леммой (89). ¦ 106 Теорема (Пауэлл). Рассмотрим задачу C) при сформулированных выше предположениях. Если [zi] — последовательность, построенная алгоритмом с переменной метрикой F8), то она сходится к точке z, минимизирующей f°{z) no zeR". (Отметим, что алгоритм прекращает построение новых точек zt тогда и только тогда, когда он построил точку zi+u для которой V/°(Zt+1) = 0. Следовательно, случай конечной последовательности тривиален.) Доказательство. Доказательство довольно длинное, и для облегчения его понимания мы изложим план. Основная идея состоит
2.3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В R« 83 втом, чтобы получить выражение для следов матриц Gi — H7\ i = 0, 1, 2, ..., и затем показать, что предположение о том, что последовательность градиентов {gt} не сходится к нулю, приводит к противоречию. Отметим, что если gt = g(Zi)-+0, то в силу компактности множества {z \f°(z)<^f°(z0)} и непрерывности функции g(-) последовательность \zi) должна содержать предельные точки z\ в каждой из которых g(z') = 0. Но так как функция f°(-) строго выпукла, то существует ровно одна точка eeR", для которой g(z) = 0. Поэтому последовательность [гь) имеет лишь одну предельную точку 2. Таким образом, осталось показать, что последовательность градиентов {gt} сходится к нулю. Сначала получим выражение для следов матриц Gi = HTl. Прежде всего для удобства приведем здесь разностное уравнение G5), описывающее изменение матриц Н(: 107 Из свойств диад нетрудно вывести, что 108 0|+1-(/_ где / — единичная матрица размера пУ,п. Формулу A08) легко проверить, просто показав, что G/+1#t+1=/, где #?+1 определяется равенством A07), a Gi+] — равенством A08). Далее, замечая, что след диады х)(у размера пу^п равен {х, у), находим из A08), что след Tr(Gi+l) матрицы G*+1 равен 109 Т㹄)(, Учитывая соотношения F9), G1), G3) и вытекающее из G0) равенство (Аг<, gi+i) = 0, можно упростить сумму двух средних
84 2- МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ членов правой части: 110 _2(g,,Ag;) (g,, Я<г<) (Ag|, Ag<) _ t, Ag,> + (Ag,, Ag,) _ |[ gl+l (P -1| g{ С целью дальнейшего упрощения формулы A09) докажем, что ^ (8 i+v Учитывая соотношения G3) — G5) и равенство (gt+i, Azt) находим, что 112 {gi+ Подставляя g{ + kgt вместо g{+i в A12) и замечая, что <Agl, Hlgt) = {g(+l — g{, H{gt) = — {gh H{gi)(n6o {gt+u Htgt) = = 0), получаем из A12), что 113 (gi+i+|g+1> < ~ <Ag,.^i> Я'^г > ( Ht8t) Последнее равенство в A13) следует из того, что 114 {bgi,HiAgl = {gi+i, Higi+i) + {gi, Переходя к обратным величинам обеих частей в A13), получаем A11). Теперь подставляя A11) в (ПО) и затем в A09), находим 115
2 3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В R« 8S Разрешая разностное уравнение A15), имеем «-0. 1. По лемме (89) каждый член последней суммы в A16) ограничен,, и, значит, существует такое конечное число w > О, зависящее от 20, но не зависящее от f, что для / = 0, 1, 2, ... 117 Тт(Г 117 Тг Gf Оставшаяся часть доказательства посвящена в основном выводу того, что если последовательность {gf-} не сходится к нулю> то последние два члена в правой части неравенства A17) должны быть отрицательными. Мы докаж€м это, показав, что- последовательность {gj+\, Яу^/+1) содержит сходящуюся к нулю подпоследовательность (/+ 1 е К) и что должно найтись такое число v > 0, что || gJ+l \\2^v для всех /+1 в К. Чтобы показать, что последовательность (g/+i содержит сходящуюся к нулю подпоследовательность, исследуем след матрицы Hi+i. Из A07) имеем ..8 { Afir,) ^ (Дг,, Agt) ' Разрешая разностное уравнение A18), находим 119 119 (,+1)@)^ (Дг/,Я/Д^ + 1 = 0, 1, 2, Так как матрица Hi+X положительно определена, то Тг(#*+1)>0. Поэтому в силу леммы (89) должно найтись такое число w' > 0, что Из неравенства Шварца следует, что 121 (Д^, Н, bg,Y<\\ H, А^у |Р|| Ag, IP,
86 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ а так как матрица Нj положительно определена, то A44) дает 122 <A?/f Н, Ag}) > (gj+l, Hfg}+1). Учитывая все это, получаем из A20) 1^F~ <(+ } Поэтому по крайней мере две трети членов в сумме A23) должны удовлетворять условию 124 {gf+i,Hfg}+l)<3w'\\Agf\\\ так как иначе левая часть неравенства A23) была бы больше оо правой. Далее, лемма A01) устанавливает, что 2l|Ag* II2 < °°> и, значит, для /==0, 1, 2, ... по крайней мере две трети элементов в {(g7+i, Hjgj+i)})^ принадлежат сходящейся к нулю подпоследовательности. Теперь исследуем числитель в A17). Предполагая по-прежнему, что последовательность {gi} не сходится к нулю, заключаем, что монотонно убывающая последовательность f°(zi) сходится к f°>f°(z) и, следовательно, izo / \zi) ^^ I \?) j> v ^> \}ч i — и, i, z, . • •• Полагая у = ти/, получаем из (97) 126 ||g*H2>a>0, / = 0, 1, 2, .... оо Так как в силу леммы A01) 2 II Ag/IP < оо, то || Д^7||2->0 при /->оо и потому найдется такое целое число k, что 3w'\\ Ag/||2< < v/3w для всех j^k. Полагая / = Зй + 2 в A17), находим, что 3&+2 127 У Hg/+iH > (k+ !)ш> поскольку, согласно изложенному выше, по крайней мере k + I из 3(?+1) членов в A27) удовлетворяют неравенству Итак, для />3& + 2 имеем из A17) 129 Tr(G,.+1)<
2.3. МЕТОДЫ СОПРЯЖЕННЫХ ГРАДИЕНТОВ В Кп 87 Теперь покажем, что это неравенство приводит к противоре чию. След симметрической матрицы равен сумме ее собственных значений, так что след положительно определенной матрицы Gi+l не меньше ее наибольшего собственного значения, которое является обратным к наименьшему собственному значению матрицы #t+i. Итак, пусть \ii+\— наименьшее собственное значение матрицы Hi+{; тогда в силу A29) 130 Tr (Gi + \) \\?i + l H2 Но так как матрица Hi+i положительно определена, то должно быть 131 что противоречит A30). Поэтому мы заключаем, что g( ->oo при /->оо, и доказательство закончено. ¦ Вычислительные аспекты Для того чтобы добиться реализуемости алгоритмов типа D2), E1) или F8), Флетчер и Пауэлл организуют вычисление величины шага следующим образом (см. E2) и G0)): сначала вычисляют вх (Л; г,) = для некоторого фиксированного значения Я (скажем, для Я = 1). Затем с помощью четырех значений 6@; zt), 9 (Я; zt), 0^@; zt) и 9^(Я,; zt) строят интерполяционный кубический полином /?(•) для функции 9(-; zt) и вычисляют значение к', минимизирующее р (Я) при Я>0. Если 9(A/;zj)<0, то полагают Xi=X/; в противном случае полагают Я = ря (ре@, 1)) и процесс повторяют. При таком подходе к реализуемости алгоритмов D2), E1) и F8) алгоритмы Флетчера — Ривса D2) и Полака — Рибьера E1) сходятся очень медленно, в то время как алгоритм с переменной метрикой F8) сходится достаточно хорошо. Для того чтобы увеличить скорость сходимости алгоритмов D2) и E1) (с Я/, вычисленным, как выше), надо «восстанавливать» эти алгоритмы через каждые п + 1 итераций (см. F.3.4), F.3.60)). Алгоритм A.16) предлагает иную реализацию алгоритмов D2), E1) и F8):
$8 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ 132 Алгоритм (Полак). Шаг 0. Выбрать е0 > 0, а > 0, ре@, 1) и р>0; выбрать ^o^R" и положить /==0. Шаг 1. Положить е = е0. Шаг 2. Вычислить Vf°(z/). Шаг 3. Если V/° {zt) — 0, то остановиться; иначе вычислить ht (как в D2), E1) или F8), но всегда по одному и тому же правилу). Шаг А. Положить в (jx) = f° (^г + М-Л^) — f° (et-) и для вычисления р, использовать A.14) с текущим значением е. Шаг 5. Если 8(Д)^ — ае, то положить Яг==р, и перейти к шагу 6; иначе положить е==ре и перейти к шагу 4. Шаг 6. Положить zj+i = Zj + Mrj, положить / = /+1 и перейти к шагу 3. ¦ Автор располагает некоторыми экспериментальными данными, указывающими на то, что при реализации алгоритма E1) (возможно, также и D2)) в описанной выше форме A32) не требуется его восстановления, как в случае F.3.4), но на вычисление функции тратится, по-видимому, больше времени. На этом заканчивается первая часть обсуждения методов сопряженных градиентов. Скорость их сходимости мы обсудим в разд. 6.3 и 6.4, а другие реализации приведем в С.4. 2.4. Задачи дискретного оптимального управления без ограничений Как мы уже видели в гл. 1, задачи дискретного оптимального управления можно рассматривать как задачи нелинейного программирования специальной структуры и, как правило, высокой размерности. Поэтому все алгоритмы, которые мы обсуждали до сих пор в этой главе, по крайней мере в принципе применимы к задачам дискретного оптимального управления. В этом разделе мы обсудим алгоритмы, требующие при решении задач дискретного оптимального управления вычисления градиентов. Напомним, что такие алгоритмы требуют вычисления градиента минимизируемой функции на каждой итерации, что может оказаться довольно сложно, когда размерность пространства, в котором минимизируется функция, очень высока, К счастью, как мы вскоре убедимся, на помощь приходит структура задач оптимального управления, и она позволяет заменить одну задачу «высокой размерности» серией задач «низкой размерности». Наиболее часто задачи дискретного оптимального управления без ограничений возникают в случаях, когда для того, чтобы избавиться от ограничений на фазовые координаты и
2.4. ЗАДАЧИ ДИСКРЕТНОГО ОПТИМАЛЬНОГО УПРАВЛЕНИЯ 89 управления в динамической системе, используются штрафные функции, обсуждаемые в следующей главе. Эти задачи обычна формулируются так: 1 минимизировать 2 f°t (хр ut) + Ф (*fe), ^gRv, Mt-GR^ при ограничениях 2 xi+l — xi = fi(xi,ui), i = 0, 1, ..., k—l; xo = xOr где функции f°(-,-)> //(•»•) и ср(-) непрерывно дифференци- руемы по всем своим аргументам. Поскольку начальное состояние хо = хо задано, фазовые переменные xt однозначно определяются через B) последовательностью управлений z = (u0) щ, ..., uk_{), которую далее мы будем считать вектор-столбцом. Поэтому мы будем писать xi=xi(z) и понимать под этим, что xt (z) в каждый момент времени / вычисляется путем решения системы B) с начальным условием хо = хо при заданной последовательности z = (u0, u{> ..., uk_x). Таким образом, задача A) имеет вид 3 " где г = (щ, ии ..., !Ч) $!](^)) у( ?=0 Так как k может быть довольно большим (скажем, 1000), та число п в A) может быть еще больше, и это приводит к тому, что прямое вычисление V/° (z) становится в лучшем случае обременительным. Сейчас мы изложим метод для вычисления Vf°(z)f который никогда не требует от нас оперировать с векторами размерности, большей чем v (v обычно горазда меньше п). Начнем с замечания, что1) 5 vfo Bлт - df° (?l _ /*/°(*> dfQjz) dp (z) и что для / = 0, 1, 2, ..., k — 1 df(z) _ a/?(*f(z), к,) у dfjjXf^Uf) дх,{г) dut ~ dut +/iJi dxf * dut + dy(xk(z)) dxk(z) dxk l) Мы всегда рассматриваем V{° {z) как вектор-столбец. Однако д/° (z)/d z— матрица Якоби размера 1 X п, т. е. вектор-строка.
90 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Далее, для / = 0, 1, ..., k и /^/^& обозначим через O/t? матрицу размера v X v, определяемую из решения матричного разностного уравнения с начальным условием Ф^ = /, где / — единичная матрица размера v X v. 8 Упражнение. Показать, что Idff (x, (г), иЛ ф/-'+1-^ для l = i+Ut + 29...tk9 i 0 для /=1, 2, ..., I. ¦ С помощью (9) получаем df{z) 9fj{xt{z),ut) , t,1 ^(M*)."/)^ g/«K(^)."i) , 10 "^Г"^ dlT г 2j W ф/-г+1 alT г z),ut) , t,1 ^(M*)."/)^ g/«K(^)."i) г 2j W, ф/-г+1 alT wk Поскольку мы имеем обыкновение, когда это возможно, Оперировать с вектор-столбцами, транспонируем теперь все члены в A0): it /ff<*>V (dft(*tW'ttt)\ ¦ Пусть Pi для i = l, 2,...,k будет решением системы (ср. A.2.25)) 12 / = 0, 1, ....
2 4. ЗАДАЧИ ДИСКРЕТНОГО ОПТИМАЛЬНОГО УПРАВЛЕНИЯ 91 Тогда j=l, 2, ..., k. Сравнивая с A1), получаем Л 4 I I *~~~ I - \ ^Ui I \ ^Ui I \ uui I ' ' " / = 0, 1, ..., k—l. Итак, чтобы вычислить V/°(z), нужно сначала решить A2) и найти векторы ри ръ ..., рь а затем с помощью A4) закончить расчет V/°() 15 Упражнение. Включить описанную выше процедуру для вычисления V/°(z) в алгоритмы A.16), A.19), A.35), C.42), C.51) и C.68). Используя недиагональную матрицу D(z) в A.16) и A.19), исследовать, когда можно применить эти алгоритмы для решения задачи A)? Какие еще затруднения, кроме необходимости иметь большой объем памяти, могут встретиться при использовании C.68) для решения задачи A) на цифровых ЭВМ? ¦ Важно отметить, что формулы, выведенные выше для вычисления V/°B), можно также получить, разлагая /° (z+dz)—f°(z) в окрестности точки z до членов первого порядка и затем выделяя выражение для Vf°(z): 16 Р(г + 6г) — Р(г)Ф где дХ( для /==0, 1, 2, ..., k вычисляются из уравнений 17 6#*+i — 6xt = —^-~—¦—— 6xt H ^-^—-—— ди(, / = 0, 1, ..., k—l, 6х0 = 0. Таким образом, мы линеаризовали задачу A), B) в окрестности заданного управления (и0, ии ..., uk__x) и соответствующей траектории (х0, х{, ..., xk). 18 Упражнение. Используя A6), A7) вместе с A2), A3) и учитывая, что с точностью до членов первого порядка /°(г + бг) — Ьщ, Ьии ..., buk_{), вывести A4). ¦
92 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Продолжая развивать эту идею нахождения производных функции /°(«) путем подходящего разложения A) и B), можно попытаться вывести формулы для использования их в методе A.42) типа Ньютона — Рафсона (или версии, изложенной в разд. 2), разлагая A) и B) до членов второго порядка. Однако в силу нелинейности соотношений между б^ и Ьщ этот путь не приводит ни к каким очевидным упрощениям. Поэтому были предложены алгоритмы типа A.16) и A.19), в которых вектор направления h(z) вычисляется в результате решения задачи]) ]) Появление задачи A9), по-видимому, проще всего объяснить так Пусть у = (х, и) при х е Rv, «gR11 рассматривается как вектор-столбец. Тогда с точностью до членов второго порядка А где В ду2 (бх\б#,...9Ьх\6и1 д!\ (у) dft{y) df%)\ dxv ' ди{ ди* Г d2ft{y) дх1 ди» J ^vv I dxldxv | dxldul дх'дх1 dxvdx4 д2в(у) dxvdul d2f>(y) d2ft(y) d2ft{y) j d'fj du*dxl du[dxv | duldul '" dul dip fftiy) ди»дх* \ Вводя обозначения для четырех подматриц в (С), получаем 2ft(y) I dYiiy) \ &ft(y) I дх* I дхди I (d2fl(y)Y\ d2ft(y) / Л дх ди ) \ ди2 ' и теперь A9) очевидно. (Заметим, что*d'2fx (y)fdxi ди! — д*'ft (y)/duf дх*.)
2.5. ЗАДАЧИ НЕПРЕРЫВНОГО ОПТИМАЛЬНОГО УПРАВЛЕНИЯ 93 19 минимизировать */?(*<(*>¦»<).„ . dfl(xt(z),ut) 6Xl + — tdr<(Xi{z)-Ut))\A i 4 j 6л:у+ при ограничениях 20 = 0, 1, 2, ..., Л—1, Хотя такие алгоритмы имеют практическое значение, теоретического обоснования их сходимости нет. В следующем разделе мы приведем один алгоритм для решения задачи A9) и выведем формулы, значительно упрощающие применение методов типа Ньютона — Рафсона к задаче A). Прежде чем идти дальше, читателю предлагается закрепить предыдущее изложение, выполнив следующее упражнение. 21 Упражнение. Выписать алгоритм в форме A.19) для решения задачи A), в котором для вычисления вектора h (z) надо решить задачу A9) и затем положить h (z) = Fы0, 6щ,..., биь-х), где г —(ito, tti, ..., икшт1). Ш 2.5. Задачи непрерывного оптимального управления без ограничений Мы покажем сейчас, каким образом некоторые из алгоритмов, обсуждавшиеся в разд. 1 и 3, можно применить для решения задач непрерывного оптимального управления вида 1 минимизировать J /° (х (*), и (t), t)dt-\-<$ {x (tt)) *0
94 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ при ограничении 2 -?rX(t) = f(x(t),U (/), /), * €= ['о = ti], X (to) = *o, где f°: rXR^XR^R1, /: R'XR^XR'^R* и Ф: Rv->R*. Будем предполагать, что функции /°(•,•,•) и /(-,-,•) непрерывно дифференцируемы по х и по и и кусочно непрерывны по t. Предположим также, что для каждого xgRvh каждого ugR11 элементы матричных функций df°(x, и, -)/дх, df°(xy и, -)/ди, df(x, и, -)/дх и df(x, и, -)/ди кусочно непрерывны. Наконец, функцию ср(-) будем предполагать непрерывно дифференцируемой. В задаче A), B) моменты времени t0 и U считаются заданными. Однако методы, которые мы разовьем, также применимы к задачам, в которых конечный момент времени свободен» но ограничен, поскольку задачи со свободным временем можно следующим образом свести к задачам с фиксированным временем: 3 Упражнение. Рассмотрим задачу оптимального управления со свободным временем: Ц 4 минимизировать J /°(*(Q> u(t), t)dt 'о при ограничении 5 -±-x(t) = f(x @, и (/), /), t е= [t0, Ul х (Q =- ?09 где f°, f те же, что и в A), B), t0 задано, U не задано. Затем рассмотрим задачу оптимального управления с фиксированным временем: 6 минимизировать J /° (x (s), й (s), t (s)) v (sJ ds о при ограничениях 7 . -^x(s) = v(sff(x(s), u(s)9 i(s)), 5G[0, 1], *(O) = Jro, 8 ? t (s) = v EJ, se[0,1], i @) = tOf где функции /° и / те же, что и в D), E). Отметим, что в задаче F) — (8) динамическая система описывается уравнениями G), (8) и ее фазовое состояние в момент времени s есть (x(s), i(s)), где /(•) — действительная функция, а управление в момент 5 есть (й(з), v(s))9 где 5(-) — действительная
2.5. ЗАДАЧИ НЕПРЕРЫВНОГО ОПТИМАЛЬНОГО УПРАВЛЕНИЯ 95 функция. Таким образом, размерности фазового вектора и управляющего вектора в задаче F) — (8) больше (на 1) размерностей соответствующих векторов в задаче D), E). Показать, что если (и(-)> v( •)) — оптимальное управление для задачи F) —(8), а (*(•)> *°( •)) — соответствующая оптимальная траектория, то величины ff> #(•) и *(•)> определяемые равенствами 9 10 й (*о+ j v(sJds) = °u(s), ss[0, 1], sg[0, 1], являются соответственно оптимальным временем, оптимальным управлением и оптимальной траекторией для задачи D), E). ¦ Для того чтобы задача A), B) была поставлена корректно, мы должны потребовать по крайней мере, чтобы управления и( •) были измеримыми функциями. Мы сделаем несколько более сильное предположение: пусть функции и( -) в задаче A), B) принадлежат пространству L%>[t0, ft] классов эквивалентности измеримых функций, отображающих [^0, U] в R»*f для которых 12 ess sup || и (О IK оо- te[to.tf] Это — нормированное линейное пространство. Обозначим норму функции и(-) из L^o[tOy t(] через ||ttlL; напомним, что 13 HttlL = Введем скалярное произведение в ?«[/<>, 4]» положив (это стандартное скалярное произведение в гильбертовом пространстве L$[t09ti$).
95 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Пусть x(t\ и) обозначает решение1) уравнения B) в момент времени t при заданном начальном состоянии xQ в момент t=t0J соответствующее управлению и(-) (т.е. х (to\ и) = х0). Тогда, определив функцию F°: L?>[*0, /fl-^R1 равенством2) 15 Я (и) =jf°(x (t; и), и (t), t)dt + <p (x (/f; и)), мы видим, что задача A), B) эквивалентна задаче (ср. A.1)) 16 min{F°(u)\uf=VL[to,tf]}. Прежде чем продолжать изложение, определим градиент функции F°(-). Пусть gradf°( ¦)( •) — такое отображение из I« [fo, *f] X [*о, й] в Ru, что grsLdF°(u)s=Lt[to,tt] для каждого иеЩ/о, U] и3) 17 lim F° (« + о) - F° ("> ~ (grad ^ (я). о) Тогда будем называть grad F°( •)(•) градиентом функции /го(-)- Отметим, что если grad F° (и) (•) Ф 0, то в силу A7) должно найтись такое число s' > 0, что для всех s e @, s'j 18 F° (и — s grad F° (и)) — F° (и) < О, т. е. в тех случаях, когда grad/70(w)( •) ф 0, направление антиградиента определяет направление убывания точно так же, как в конечномерном случае, и, более того, это есть направление наискорейшего спуска. Легко видеть, что если й минимизирует F°(u) по и е Vto [to, U], то в силу A8), как и в конечномерном случае, grad F° (и) = 0. Теперь мы выведем формулы для вычисления gradF°(u)( •). Это можно сделать тем же способом, что и в разд. 4. Однако, чтобы продемонстрировать иной подход, мы будем следовать процедуре, предложенной в упражнении D.18). Итак, мы формально вычислим F°(u-{-du) — F°(u) с точностью до членов первого порядка, линеаризовав все функции в A) и B) в окрест- *) Мы предполагаем, что решение существует. Как следует из принятых предположений, решение должно быть единственным. 2) Для дальнейших вычислений удобно рассматривать х (•; и) как элемент пространства непрерывных функций, отображающих [/0, /f] в Rv, с нормой, определяемой операцией sup. 3) В наших целях такой упрощенный подход к градиентам вполне достаточен. В общем случае градиенты должны определяться исходя из дифференциалов. Доказательство существования grad F° (и) см. [Д6, теорема 10.7.3].
2.5. ЗАДАЧИ НЕПРЕРЫВНОГО ОПТИМАЛЬНОГО УПРАВЛЕНИЯ 97 ности управления и(-) и соответствующей траектории х( •), а затем получим gradF°(tt)( •), поскольку с точностью до членов первого порядка 19 F°{u + 6u) — F°(u) = (gradF°(u), Линеаризация всех функций в A) и B) в окрестности заданного управления и(-) и соответствующей траектории *(•; и) дает 20 где bx(t)y t^[to, tt], находится из решения уравнения в вариациях 21 4^@- для f e [^o, ^f] с начальным условием 6я(/о) = 0. Далее, пусть для s,t^[t09tf] матрица Ф(^,5) размера vXv определяется дифференциальным уравнением 22 где / — единичная матрица размера vXv. Тогда 23 ьх (t) - / ф (*, *) ^/(*(«;;);"(«).«) te (s) ds> и B0) принимает вид 24 F>ju + ta)-I»(u)-jj °r>(x(*.»).«(f), t) x +J ^('(^.«(').') to 4 Э. Полак
98 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ Изменим порядок интегрирования в первом слагаемом в правой части равенства B4): ' Ь »@. 0 ф (<> s) ^ (х (г, ф (<> s) J Определим p(<)eRv для ?е[/0, ft] как решение дифференциального уравнения (ср. A.2.36)) 9ft d (tV. /rtr a^ (x (f; и), и (Q, Q , dp (x (t. и), и (t), t) M dt p{-l} ~ P(l) dx ¦*" dx где p(ti)T = — dy(x(ti', и))/дх. Легко показать, что для любого s e= [to, U] , чг ftp (х (/,;«)) f* df» (x (/; и), и @. О л/. 4J 27 p(s)r= -^ 4>(tt,s)+\ Тх <S>(t,8)dt. Сравнивая B7) с B4) и B5), видим, что с точностью до членов первого порядка 28 6tt(s)ds Наконец, сравнивая B8) и A9), заключаем, что grad/™(«)(-) для t<^[tOt ti\ вычисляется по формуле 29 Сейчас мы покажем, как можно применить к задаче A) некоторые из алгоритмов, описанные в разд. 1 и 3. 30 Алгоритм (градиентный метод, ср. A.19)). Пусть ае@, 1/2) задано. Шаг 0. Выбрать u(-)*=i L?>[<0, U]. Шаг 1. Положить /==0. Примечание. Для того чтобы облегчить сравнение с материалом последующих разделов, мы будем писать и, х, р вместо щ9
2.5. ЗАДАЧИ НЕПРЕРЫВНОГО ОПТИМАЛЬНОГО УПРАВЛЕНИЯ . 99» i i Шаг 2. Вычислить x(t), t^[t0, ft], решая E) при u(t) = u(t)r t e [/о, ft]. ШагЗ. Вычислить /?(/)> решая B6) при u(t) — u(t) и Jt(f) = *(*)». *€=[*o,ft]. Шаг 4. Вычислить для f^[?0, ft] 31 gradЯ(^-_('/(*@.^@, О)^(О + (*Г (х@, »@, Шаг 5. Для t s [to, ft] положить h (и) (t) = — grad F° \ Если h(u)(-) — 09 то остановиться; иначе перейти к шагу 6. Шаг 6. Вычислить такое число Л* > 0, что 32 — Ml — а)II grad Я (и) |g<9 (Л*; ii) < — А,а || grad Я (и) |g, где i i i t Примечание. Величины Л*, удовлетворяющие C2), можно вы- числить с помощью алгоритма A.33), поскольку мы предполагаем, что min {Fo(и)\ие= Li[tOy ft]} < oo. i+l i i Шаг 7. Для te[tO9 ft] положить и (t) — u(t) + kih(u)(t), положить / = /+ 1 и перейти к шагу 2. ¦ 34 Упражнение. Показать, что последовательность управлений и( •), построенная алгоритмом C0), либо конечна и заканчивается элементом и( •), причем grad F°(u)( •) = 0, либо бесконечна и каждая ее предельная точка й(-) удовлетворяет условию grad F° (й) = 0. [Указание: Используйте доказательство теоремы A.22).] ¦ 35 Упражнение. Рассмотрим частный вид задачи A): 36 минимизировать 4" [ (*(t), R(t)x(t))-\-(u(t),Q{t)u(t))dt 'о при ограничениях 37 -±-x(t)=*A(t)X(t) + B(t), t^ [to, ti], *0o)-*o, где jc(()gRv, H^JeR^, R(t) и Q@ — симметрические положительно определенные матрицы для всех t^[tOt ftj и все ма-
100 2. МИНИМИЗАЦИЯ БЕЗ ОГРАНИЧЕНИЙ тричные отображения R(-), Q( •), А(•), В(•) непреррлвны. Выписать для данной задачи алгоритм вида A.16). Обосновать использование этого алгоритма для решения задачи C6), C7) и, показав, что выводы, полученные в A.18), справедливы также и для этого случая, доказать тем самым, что алгоритм строит последовательность управлений, действительно сходящуюся здесь к оптимальному управлению. а Задачу C6), C7) можно также решить, используя алгоритмы сопряженных градиентов. Мы проиллюстрируем это, выписав алгоритм Флетчера — Ривса C.42) для данного случая. 38 Алгоритм (Флетчер —Ривс; задача C6), C7)). о Шаг 0. Выбрать и{ •) е= ??, [t0, tt]. о Шаг 1. Вычислить x(t) для t^[to, ft], решая C7) при «(.) = "(•). Шаг 2. Вычислить p(t) для t^[to, ft], решая уравнение 39 ± р (t)T = - p(t)T A(t) + x (t)T R (t) при р {Up = 0. Шаг З. Вычислить 40 gradF°(a)(t)=-B(t)Tp(t) + QV)и(t), te[t0, ft]. 0 0 0 Шаг 4. Для <e[@, ft] положить g(t) = h(t) =* —gradF°(u)(t). Примечание. Теперь алгоритм восстановлен. о Шаг 5. Если g( •) = ()> то остановиться; иначе положить / = 0 и перейти к шагу 6. Шаг 6. Вычислить такое число Xt > 0, что 41 F0 (и + kth) = min {F°{u + Xh)\X>0}. i + \ i i Шаг 7. Для t e [to, ti] положить и (t) — u (t) + Xth (f). Шаг 8. Вычислить x {t) при / s [t0, ft], решая C7) с и{ •) = 9. Вычислить р (t) при ?€[fOtft]> решая уравнение 42 -^^(^^-'^(O^W + ^W^W с Mft)r = 0. Шаг 10. Вычислить 43 grad F» ( u ) (/) = - В (tf p (t) + Q (t) и (t), te=[to,tt].
2.5. ЗАДАЧИ НЕПРЕРЫВНОГО ОПТИМАЛЬНОГО УПРАВЛЕНИЯ 101 Шаг 11. положить 44 45 Если gradF°(*O( i+l /+1 i+l h (t)~ g •)- :ad (t) = 0 + ' , то остановиться ; иначе i+l [u)(t), tz=[to, i || Sih{t) с Y/ = - i+i 2 f Ifflg положить /==/+ 1 и перейти к шагу 6. в 46 Упражнение. Получить формулы, которые позволили бы применить алгоритм Флетчера — Ривса к общей задаче оптимального управления без ограничений A), B). ¦ 47 Замечание. Для того чтобы можно было применить алгоритм Полака — Рибьера B.51) к задаче C6), C7), надо заменить формулу для у* в D5) формулой , / ? + 1 / i 48 Yi—г- J U (t)-g{t), g(t))dt. Ш 1Ы1Ч Напомним, что
ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ: ЗАДАЧИ О ПОИСКЕ КОРНЕЙ И КРАЕВЫЕ ЗАДАЧИ 3.1. Нули функции и задачи с ограничениями типа равенств в R" Теперь мы вкратце рассмотрим задачу отыскания такой" точки z^Rn, что g(z) = 0, где функция g: Rrt->Rm непрерывно дифференцируема. Очевидно, задачу отыскания корней, уравнения можно представить в виде 2 а затем применить один из алгоритмов минимизации, изложенных в разд. 2.1. При этом вектор направления А (г), фигурирующий в алгоритмах разд. 2.1, будет задаваться формулой з где dg(z)/dz — матрица размера яХл> (*\ /)-й элемент которой: равен dgl(z)ldz!. Поскольку все обсуждавшиеся алгоритмы останавливаются в таких точках z\ что h (г') = 0, а по предположению матрица D(z) положительно определена для всех 2G [z\ f°(z)^ f°(z0)}, где z0 — начальное приближение к корню- уравнения A), мы заключаем, что алгоритмы минимизации иа разд. 2.1 можно использовать для вычисления только таких, точек z\ для которых Таким образом, если точка z' удовлетворяет уравнению D),. то она является корнем уравнения A) тогда и только тогда, когда g(z') = 0. Для этого достаточно, чтобы для всех z', для которых g{z') — 0, ранг матрицы dg(z')/dz был максимальным. Для того чтобы воспользоваться в задаче B) различными вариантами метода наискорейшего спуска, надо положить в C) /)(г) = /, где / — единичная матрица. При использовании квазиньютоновских методов необходимо помнить, что функция /°(-) в B) должна быть дважды непрерывно дифференцируемой
3.1 НУЛИ ФУНКЦИИ ЮЗ и строго выпуклой, кроме одного важного случая, когда размерности области определения и множества значений функции g(-) одинаковы, т. е. g: R^-^R". Здесь единственное необходимое ограничение состоит в том, что матрица Якоби dg(z)/dz должна быть невырожденной для всех 2G [г\ /0(zX/0B0)b где z0 — начальное приближение к корню уравнения A). Тогда мы полагаем причем, как легко проверить, матрица D(z) положительно определена, и находим из C) Отметим, что если g(z) = Vf°(z), где функция f°(-)> стационарную точку которой мы хотим отыскать, может быть и не выпуклой, то из F) формально получаем равенство * (*)»-(^ )"><*). которое имеет в точности тот же вид, что и в B.1.38). Хотелось бы отметить, что точно также, как формулуB.1.38) можно вывести с помощью эвристических соображений, применяя разложения второго порядка в точке zh так и формулу F) можно получить, применяя разложения первого порядка в точке zt. Покажем, как это делается. Предположим, что мы находимся в точке 2|SR". Разложим A) в ряд по степеням z — г% и сохраним только члены до первого порядка включительно: Обозначим решение уравнения G) через zi+{9 тогда ) *(*<). / = 0,1,2,..., что в точности совпадает с решением B.1.38) уравнения () VH) Таким образом, для решения задачи отыскания точки zeRn, удовлетворяющей условию g(z) = 0, где функция g: R"~>R/l непрерывно дифференцируема и ее матрица Якоби невырождена, метод Ньютона — Рафсона можно запидать в следующей форме:
104 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ 9 Алгоритм (Ньютон — Рафсон) для отыскания нулей функции g: R^-^R" при условии, что матрица {dg(z)/dzY~l существует и непрерывна1). Шаг 0. Выбрать zo<z=Rn. Шаг 1. Положить / = 0. Шаг 2. Вычислить g{zt). Шаг 3. Если g(Zi)=09 то остановиться; иначе вычислить zi+x согласно (8), положить / = /+ 1 и перейти к шагу 2. ¦' Теперь мы остановимся на решении систем уравнений, возникающих из необходимых условий оптимальности. Итак, рас- смотрим задачу 10 где функции /°: R^-^R1 и г: R"->RZ дважды непрерывно дифференцируемы. Для задачи A0) теорема A.2.1) утверждает, что если точка z оптимальна, то существуют такие множители jut0, ф1, ..., ty1, не все равные нулю, что п 2^f а так как точка z должна быть также допустимой (т. е, должна удовлетворять ограничениям задачи A0)), то мы имеем еще уравнение 12 r(z) = 0. (Отметим, что условие (х°^0 в A.2.1) теряет свое значение, когда нет ограничений типа неравенств, и поэтому оно опущено.) Для отыскания вектора z и множителей \х°, я^1, ..., ф^ удовлетворяющих уравнениям A1) и A2), можно использовать алгоритмы описанного выше типа (при условии, что не все множители равны нулю). При этом возможны два случая: либо А° = 0, либо нет. Если мы берем в A1) ?° = 0, то, полагая еще -ф = (ф1, -ф2, ..., <фО, х = (z, -ф) и задавая функцию g: R^XR'^R'XR* в виде .3 г) В силу непрерывности функции g (•) из (8) следует, что если последовательность {^}°^_ , построенная алгоритмом (9), сходится к точке г, то
3,1. НУЛИ ФУНКЦИИ 105 мы можем попытаться вычислить точку х, для которой g(x) = 0, с помощью квазиньютоновских или градиентных методов, обсуждавшихся в разд. 2.1. Квазиньютоновские методы могут оказаться здесь предпочтительнее в силу их значительно более быстрой сходимости. При этом они требуют вычислений функции не больше, чем градиентные методы, а добавляется только процедура обращения матрицы, которую легко осуществить, решая систему уравнений. Это видно из сравнения формулы C) для h(z) с D(z) — I и формулы F). Второй случай связан с тем, что уравнения A1) и A2) удовлетворяются при ju° Ф 0. Тогда можно, очевидно, положить р,0 == — 1 и, определяя х, как выше, задать функцию g: R'XR'-^X-R* в виде 14 Полученную задачу можно снова пытаться решать обсуждавшимися ранее методами. Однако заранее мы, вообще говоря, не знаем, реализуется ситуация, приводящая к A3) или же к A4). Тогда можно действовать следующим образом: попытаться вначале решить уравнение g(x) — 0, где g(-) имеет вид A4), минимизируя || g(x)\\2 на R"XRZ- Если обнаружится, что описанные в разд. 2.1 алгоритмы строят такую последовательность векторов х1у что ||g(**)||2 не сходится к нулю, то следует взять функцию g(-) в виде A3) и продолжить процесс. Есть по крайней мере один случай, когда с уверенностью можно сказать, что A° должно быть равно —1. Это происходит тогда, когда в области поиска градиенты {Vr*(z)}, /==1, 2,..., в A1) линейно независимы1)- Аналогичная ситуация (т. е. р,° = — 1) имеет место, когда функция г(-) аффинная (т. е. r(z) = Az-\-by где А — матрица размера /Xn, a b — вектор в R'). 15 Замечание. Предположим, что для всех 2GRre, для которых r(z) — 0, градиенты {Vr'(z)}, /=l, 2, ..., /, линейно зависимы. Тогда для любых z, для которых r(z) = 0, можно удовлетворить условию A1), положив jx° = O, и, значит, в этом случае теорема A.2.1) тривиальна, поскольку ее условия будут выполнены независимо от того, оптимальна ли точка z, для ') В данном случае ф = ((дг (z)/dz) (дг ($)ldz)T) * (дг (&)fdz) V/° (z), и, следовательно, можно уменьшить число переменных в A4) за счет усложнения вида g (•).
106 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ которой r(z) = 0. В таком случае, чтобы решить задачу A0),. нужно найти все корни уравнения r(z) = 0. ш Прежде чем закончить изложение материала, касающегося решения систем уравнений, фигурирующих в необходимых условиях оптимальности, мы хотим указать на один интересный факт. Рассмотрим задачу нелинейного программирования 16 min{/°(z)|r<(z) = 0, /=l,-2, ...,/; /=1, 2, ..., т), z<=R\ сформулированную в A.1.1), и предположим, что все функции в A6) непрерывно дифференцируемы. Эту задачу всегда можно записать в виде A0) следующим образом: для /=1, 2, ..., т положим 17 /•'+'(*) = (max {0, fl{z)}J. Так как rl+i(z) = 0 тогда и только тогда, когда fi( i=l, 2, ..., m, то задача A6) эквивалентна задаче 18 min{/°B)|r'B) = 0, /=1, 2, ..., 1 + т]. Однако для любой точки z из множества {з| /г(з)^0, /=1, 2, ..., га), для которой также и rl(z) = 0 при /=1, 2, ..., /, будет Уг'(г) = 0 при / = /+1, / + 2,...,/ +т. Следовательно, для всех таких z условие A1) может удовлетворяться тривиально и потому представление задачи A6) в виде A8), которое первоначально мотивировалось нашим желанием решить задачу A6) с помощью изложенных выше методов, совершенно неэффективно. Методы для решения задачи A6) мы изложим в следующей главе. 3.2. Краевые задачи и оптимальное управление дискретными процессами Этот раздел посвящен применению метода Ньютона — Раф- сона B.1.39) (в версии A.9)) и его модификаций типа B.1.42) к решению краевых задач в дискретных динамических системах. Мы рассмотрим два основных класса задач. Первый класс краевых задач довольно общий и не связан специально с задачами дискретного оптимального управления. Второй возникает из необходимых условий оптимальности в задачах дискретного оптимального управления и имеет определенную особенность в структуре, которая может использоваться при решении задач из этого класса. Итак, пусть дана дискретная динамическая система 1 xi+l — *, = /,(*,), ' = 0, 1, 2, ..., k— I, ^gRv,
3 2 ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ 107 с граничными условиями 2 где ft (•) — непрерывно дифференцируемые функции, у0 е Ra, ftGRv"a, a<v, Po, Pfe —матрицы размера aXv и (v — a) X v соответственно, имеющие свой полный ранг. Чтобы применить к этой краевой задаче метод Ньютона — Рафсона в версии A.9), мы должны сначала представить задачу A), B) в виде 3 ) Было изложено два способа, с помощью которых это можно сделать: A.1.13) и A.1.17). Мы воспользуемся обоими способами и покажем, что каждый из них приводит к совершенно различным реализациям метода Ньютона — Рафсона. Первую из этих реализаций иногда называют методом Гудмена — Ланса [Гб]. Вторую обычно называют квазилинеаризацией. Впервые такая интерпретация метода была предложена Мак- Джиллом и Кеннетом [Ml], затем она была существенно развита Беллманом и Калабой [Б5]. (См. также Ли [Л2].) Начнем с метода Гудмена — Ланса. Положим (ср. A.1.17)) 4 z = х0. Тогда, решая задачу A) для xo = z, мы получим xk как функцию от г, т. е. получим xk(z). Граничные условия B) теперь можно использовать для задания функции g(-) в виде , . (PkXk(z) — yk\ Из E) с очевидностью следует, что функция g отображает Rv на Rv, т. е. удовлетворяет требованиям на размерность, необходимым для возможности применения метода Ньютона — Рафсона. В дальнейшем мы будем действовать формально, полагая, что {dg(z)ldzyx существует для всех zgRv (или по крайней мере для достаточно большого открытого множества в Rv). Вообще говоря, это предположение априори проверить нельзя. Как следует из A.9), при заданной точке zl e= Rv метод Ньютона — Рафсона позволяет вычислить следующую за ней точку 2/+1 по формуле т. е. он требует решения уравнения 7 dz Zi+l ~- [ dz
108 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ Поскольку в рассматриваемом случае мы уже использовали: нижний индекс в обозначении хи i = 09 1, ..., k, то мы откажемся от употреблявшегося до сих пор обозначения и будем вместо z} писать z (оставляя верхний индекс для обозначения, как обычно, компонент вектора). Таким образом* уравнение (?) примет вид Из E) имеем Подставляя (9) в (8), видим, что на /-и итерации надо» решать систему уравнений ,. /+1 / / П Р*г =Poz — (Poz — Уо)=*Уо. / / 12 Упражнение. Пусть х*=**(г), / = 0, 1, ..., k9 будет реше- нием задачи A) в момент времени /, соответствующим началь- / / ному состоянию xo — z, и пусть матрицы Ф^5 где s = 0, U 2, ..., k и / = s, 5 + 1, ..., k, получаются из решения матричных разностных уравнений 13 6l+ltS — OieS = ^^OitS9 i = s,s+l,s + 2,...9k—U где d>StS=I (/—единичная матрица размера vXv). Показать, что дхь (г) 1 / Показать также, что <DitS удовлетворяет сопряженному уравнению 15 ф^,_ф|§,+1 = ф,.,+1-%^. s = i-l, i-2,...,0. Ж Подставляя A4) в A0), видим, что il+l I ! ! 16 РкФк, о Z — РкФк, 0Z — PkXk (Z) + Ук.
3.2. ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ Ю9 / Можно, конечно, получить Ф^ 0, решая A3) и вычисляя / затем PfcOfct0. Однако, если использовать A5), можно провести эти расчеты более рациональным способом, а именно: обозначим через Pi, i = 0, I, 2, ..., kf матрицы размера (v— a)Xv, определяемые из уравнений 17 pi-Pi^ = pi+l^At / = о, 1, ..., k-1, Pk = Pf, 1 i Тогда /У1>?,о —Л)- Поскольку разностное уравнение A7) содержит меньше переменных, чем A3), и, следовательно, требует меньше операций умножения, то для его решения требуется меньше времени. Теперь мы резюмируем сказанное выше в виде алгоритма. 18 Алгоритм (версия Гудмена — Ланса метода Ньютона — Рафсона[Г6]). о Шаг 0. Выбрать z <= Rv. Шаг 1. Положить / = 0. Шаг 2. Решить A) при xo = z для состояний Xi—x^z), / = 0, 1, ..., k. Шаг 3. Вычислить матрицы Якоби gj > i= U, 1, Zy •••, /2—1. Шаг 4. Вычислить Ро, решая A7). Шаг 5. Вычислить z , решая / /+i / / / 19 Ро * =Ро* — РкЧ + Уь /+i 20 Ро z —у0. Шаг 6. Положить /==/+1 и перейти к шагу 2. И Таким образом, в версии Гудмена—Ланса метода Ньютона— Рафсона на каждой итерации мы должны решать нелинейное разностное уравнение A) в прямом направлении от текущего начального состояния xo = z. Затем мы должны решать линейное сопряженное уравнение A7) в обратном направлении
по 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ с заданным условием на правом конце Pk = Pk. И наконец, мы должны решать систему уравнений A9), B0). 21 Замечание. Предположим, что сопряженная система A7) устойчива при решении в обратном направлении (т. е. Ф^;->0 при / —>0). При этом может оказаться, что ненулевые элементы матриц Рв очень малы по сравнению с ненулевыми элементами матрицы Ро, и, следовательно, система уравнений A9), B0) окажется плохо обусловленной, особенно если k велико. По-видимому, в настоящее время нет общих процедур для преодоления этой трудности. В некоторых случаях, однако, с помощью изложенного ниже метода Абрамова [А1] можно ослабить или даже устранить этот эффект плохой обусловленности. ¦ 22 Упражнение* Модифицировать алгоритм A8) так, чтобы сделать его пригодным для решения задачи A) с граничными условиями вида go(xo) = gk(xk) — 0> где функции go: RV->R°\ gk: Rv-^Rv~a непрерывно дифференцируемы, а их матрицы Якоби dgo(x)/dx и dgk(x)/dx имеют свой полный ранг для всех х в достаточно большом открытом множестве в Rv. ¦ 23 Упражнение. Модифицировать версию Гудмена—Ланса A8) метода Ньютона — Рафсона так, чтобы получить квазиньютоновский метод в форме алгоритма B.1.42). ¦ Чтобы получить версию метода Ньютона — Рафсона, называемую квазилинеаризацией, положим (см. A.1.13)) 24 Z — (х0, Х\у . . ., Xk) и будем, как и ранее, считать z вектор-столбцом. Тогда из A) и B) ясно, что функция g(-) задается в виде xi — *о — fo(xo) 25 Рохй — Уо PkXk — Ук
26 3 2 ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ \\\ Дифференцируя B5) и подставляя в (8), получаем ж ж <*/,(*,) >+| /' ' dh{xt) \ 1 C, **) / = 0, 1,..., ft—1, /+i / / 27 Po *o = Л>*о — (Л>*о — Уо), /+i / / 28 Pk *k = ^л — (Pkxk — yk). Приводя подобные члены, окончательно имеем 29 xi+l — xi =—^р *t i^-xi + /i(^). / = 0, 1, ..., ft—1, /+i /+i 30 Теперь мы резюмируем сказанное выше в виде следующего алгоритма. 31 Алгоритм (метод квазилинеаризации [Ml], [Б5]). ооо о Шаг 0. Выбрать z — (xo> xu ..., xk) так, чтобы выполнялись о о условия Ро*о = Уо, Рк*к = Ук- о о Примечание. Мы выбрали условия Р(>хо = уо, Р^Хк — Уь. только для того, чтобы улучшить начальное приближение. Допустимы о о также и другие условия. Когда мы на шаге 0 берем х0, xk, оо оо мы можем положить лг^=х0 + (*/ft) (xk—х0) для /=1,2, ..., k—1. Шаг 1. Положить / = 0. Шаг 2. Вычислить ft (xt)9 dfi (Xi)/dxt для / = 0, 1, 2, ..., k — 1. /+i /+i /+i /+i Шаг 3. Решить B9), C0) для z =(x0, xu ..., xk). Шаг 4. Положить / = /+1 и перейти к шагу 2. ¦ 32 Замечание. Отметим, что в версии Гудмена—Ланса A8) метода Ньютона — Рафсона мы всегда имеем дело с последо- / вательностью xiy / = 0, 1, 2, ..., &, удовлетворяющей разностному уравнению A) и не удовлетворяющей граничным условиям B). В то же время в версии, называемой квазилинеаризацией C1), последовательность хь / = 0, 1, 2, ..., к—1, всегда удовлетворяет граничным условиям B) и не удовлетворяет
П2 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ разностному уравнению A). Так как объем вычислений fi(Xi), f = 0, 1, ..., k— 1, на шаге 2 алгоритма C1) сравним с объемом вычислений, требующихся для решения задачи A) на шаге B) алгоритма A8), то эти две версии с точки зрения эффективности вычислений примерно эквивалентны. При выборе между ними обычно руководствуются тем, что в данном случае важнее — чтобы приближение к решению задачи A), B) удовлетворяло A) или чтобы оно удовлетворяло B). ¦ Как мы только что убедились, на каждой итерации метода квазилинеаризации мы должны решать линейную краевую задачу B9), C0). Иногда можно облегчить работу, необходимую для решения этой задачи, чем мы сейчас и займемся. Чтобы упростить дальнейшую запись, рассмотрим линейную краевую задачу 33 xi+i—xi = Aixi + vi, / = 0, 1, . •., k— 1, 34 где xt €= Rv, vi е= Rv, у0 е= Ra, yk<= Rv~a (a < v) и Po, Pk — матрицы соответствующего размера, имеющие свой полный ранг. Пусть Ф/л- — матрицы размера v X v, определяемые для / = 0, 1, . ¦., k и / = /, i + 1, ..., k соотношениями 35 Ф/+1§,—Фм = Л7ФМ> / = /,/+ 1, ..., k— 1, Фм = /, где / — единичная матрица размера vXv. Легко видеть, что k— 1 36 **=Ф Ц Следовательно, C4) принимает вид 37 Ро^о = Уо> 38 ЯА,о^о = й-2РА т. е. сводится к системе уравнений относительно только начального состояния ^о1)- Ясно, что, как только мы решим C7), C8) относительно хОу мы сможем вычислить остальные xiy г=1, 2, ..., k—1, решая C3) с начальным значением х0. 1) Система C7), C8) может не иметь решений, иметь единственное решение и семейство решений. Решение единственно, если матрица ( ° I V Pk®k, о / невырождена. Если матрица / + Л( невырождена для i — 0, 1,..., k— I, то также м#жно построить систему уравнений относительно только х^, но это потребует, очевидно, значительно больше усилий.
3 2. ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ ЦЗ Отметим, что, как и в версии Гудмена — Ланса метода Ньютона — Рафсона, можно вычислить матрицу ^Ф^,о, а также матрицы Р&Фб,i+i, / = 0, 1, ..., k—1, решив матричное уравнение1) ill I 39 Pi — Р/+1 = Р?+1Л1, / = 0, 1, ..., k — 1, Pk=*Pk> и найдя Pi+i = Pk<I>kji+u / = — 1, 0, 1, ..., k— 1. Это, очевидно, потребует меньших усилий, чем вычисление матриц PkOki> / = 0, 1,..., k, путем решения C5), поскольку разностное уравнение C9) имеет меньше переменных, чем C5), и, следовательно, на каждом шаге требует меньше операций умножения. Когда система C3) устойчива и k велико, элементы матрицы РкФк>0 (а также и Р^ил Для малых I) могут быть очень малы по сравнению с элементами матрицы Ро> так что система уравнений C7), C8) может быть плохо обусловленной; с этим явлением мы уже сталкивались в версии Гудмена — Ланса. В 1961 г. Абрамов [А1] предложил способ ослабления и даже устранения эффекта плохой обусловленности с помощью приема, который мы сейчас опишем2). Мы начнем с замечания о том, что уравнение C8) представляет собой перенос граничных условий из конечного момента времени k в начальный момент 0 и для этого переноса используются свойства сопряженного уравнения C9). Рассмотрим подробнее этот процесс переноса. Итак, пусть pSfOy pSt ь ..., дивекторы в Rv, определенные соотношениями 40 Ps.i — P8.l + l где PktS есть s-я строка матрицы Pk в C4). Положим 41 ws,i = (Ps,i> хд, ' = 0, 1, ..., k, где хь удовлетворяет C3) и C4). Тогда из C4) имеем wsk = yPk (s-я компонента вектора yk) и, кроме того, 42 Ws,i+l = (Ps.t+l,Vt), ' = 0, 1, ..., k— 1, 1) Здесь мы используем верхний индекс / только в качестве отличительной метки. 2) Я обязан Н. Н. Моисееву за данное краткое изложение работы А. А. Абрамова (см. [М9]).
114 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ ИЛИ 43 ws,t — ws,i+i=* — (pSti+i9 vt), i = О, 1, ..., А— 1, wsk = y\. Теперь ясно, что C8) можно записать по-другому, в виде 44 {pSt о, х0) = wSt о, 5 = 1, 2, ..., v — а, поскольку ps t = Ф? ,Р? s, / = 0, 1, 2, ..., 6. Пока мы дали просто иной способ вывода уравнения C8), состоящий из следующих операций: (i) решить D0) v — а раз с начальными условиями PStk = PltS, 5=1, 2, ..., v —a; (п) решить D3) v —а раз с начальными условиями wSt к = У%> 5= 1, 2, ..., v — a; (iii) построить систему уравнений D4). Трудоемкость этого процесса та же, что и в первом способе. Процедура Абрамова переноса граничных условий из точки с номером k в точку с номером 0 использует вместо векторов pSt i векторы qSt t = pSt ,-/|| pSt i ||. Преимущество этой процедуры состоит в том, что в то время как все компоненты векторов pSt0 могут быть очень малы по сравнению с ненулевыми элементами матрицы Ро (что вызывает существенно плохую обусловленность системы C7), D4)), векторы qSt0 заведомо не обладают этим нежелательным свойством. Мы покажем сейчас, что векторы qSti в самом деле можно использовать для построения нормализованной системы уравнений, заменяющей систему D4), которая может быть плохо обусловленной. Прежде всего заметим, что /==0> Затем положим 46 w,ti = (qSfi, xt), / = 0, 1, 2, ..., k, где xi удовлетворяет C3) и C4). Тогда 47 wS9i+l = (qS9l+l / = 0, 1, ..., k—l.
3 2 ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ П5 Перегруппировав члены, найдем 48 w , =—¦— j^r1 ~~ii—» ' = 0, 1, ..., k—1, Ук II ?s, k II Итак, систему D4) можно заменить системой 49 {qSt(h xo) = ws>O9 5=1, 2, ..., v —a, которая получается путем решения сначала разностного уравнения D5) v — а раз с начальными условиями qs k = PTk s (где PktS есть s-я строка матрицы Pk в C4)), а затем уравнения D8) л; — а раз с начальными условиями ®>St k — yskl(PksPTks)l/2. Таким образом, чтобы получить значение х0, удовлетворяющее C4) и такое, что соответствующие значения xky вычисленные из решения C3) с начальным значением х0, также удовлетворяют C4), можно решить систему уравнений C7), D9). Хотя может оказаться, что в системе уравнений C7), D9) компоненты векторов qSt0 не особенно малы или велики по сравнению с элементами матрицы Ро> мы можем все же столкнуться с эффектом плохой обусловленности, вызванным тем, что векторы qSt0 становятся почти параллельными, даже если векторы qStk были попарно ортогональны (это наиболее вероятно при больших k), т. е. мы можем обнаружить, что (Qi.о» <7/,о)=?=1> даже если (<7i\*> 9/. лM^^ ьФ]. По-видимому, в настоящее время нет общих методов для устранения всех причин, вызывающих эффекты плохой обусловленности в краевых задачах для систем разностных уравнений. Как мы убедимся позже, в случае дифференциальных уравнений ситуация выглядит более обнадеживающей. 50 Упражнение. Модифицировать метод квазилинеаризации C1) так, чтобы его можно было использовать для решения задачи A) с граничными условиями вида go(*o) = O> gk(xk) = 0, где функции go: Rv->Ra и gk: Rv->Rv"~a непрерывно дифференцируемы и их матрицы Яко5и dgo(z)/dzJ dgk(z)/dz имеют свой полный ранг для всех z в достаточно большом открытом множестве в Rv. ¦ 51 Упражнение. Получить версию (в духе квазилинеаризации) алгоритма B.1.42), применимую к решению краевых задач для систем разностных уравнений. ¦
116 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ 52 Упражнение. Показать, как можно использовать описанный выше метод Абрамова для ослабления эффекта плохой обусловленности в версии Гудмена — Ланса метода Ньютона — Рафсона A8). [Указание: Положите bxk = (dxk(z)/dz)( z —z) и покажите, что bxk — решение в момент k разностного уравнения в вариациях 53 6xi+l — 6xt = dfi}*** tor, / = 0, 1, ..., k—U axt Ж / 6xo= z —z с граничным условием на правом конце 54 P?Xk*=-PkXk(*) — yk- С помощью метода Абрамова получите хорошо обусловленную систему уравнений и замените ею систему A0).] в Займемся теперь следующей задачей дискретного оптимального управления: 55 минимизировать 2 f\{xv ui) + Ф(*ft)> xt ^ Rv> ui ^ R*\ при ограничениях 56 xi+l — Xi = fi{xu щ)9 i = 0, 1, 2, ..., k— 1, 57 xo = xo, где все функции /?(•, •)> /t.(-, •), ф(')и gk{-)(gfc: Rv->Ra) предполагаются дважды непрерывно дифференцируемыми. Мы включаем сюда и случай g^( ¦) = (), т. е. задачу оптимизации без ограничений, рассмотренную в предыдущем разделе. Если gk(') ?= 0, мы будем предполагать, что a < v и матрица Якоби dgk{x)jdx имеет свой полный ранг для всех х в достаточно большом открытом множестве в Rv. Напомним (см. A.2.24)), что если в задаче E5) й0, йь ... ..., uk-i — последовательность оптимальных управлений, а х0, хи ..., xk — соответствующая ей оптимальная траектория,
3.2. ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ 117 то найдутся такие векторные множители ри р2, ..., рк, ft, что- 58 xt+l — xi — /i(ij, Й|) —0, / = 0, 1, .... k— 1, 59 ?*(**) = °> 60 ,,(^>)%(^>)C2 / = 0, 1, ..., /г—1. 63 Замечание. При выводе соотношений E8) — F2) мы предположили, что задача E5) „невырождена", т. е. что фигурирующий в A.2.24) множитель р° можно положить равным —1. Когда задача вырождена, следует действовать способом, аналогичным описанному в разд. 1 для задачи A.16). В В ряде важных случаев можно с помощью F2) исключить йь / = 0, 1, 2, ..., k — 1, из системы уравнений E8) — F2) и получить систему меньшего числа уравнений относительно только Xt и pi. Эти особые случаи мы рассмотрим позже. А пока предположим, что очевидных упрощений системы уравнений не существует, т. е. рассмотрим общий случай. При попытке решения системы E8) — F2) методом Ньютона — Раф- сона мы сталкиваемся с возможностью двоякого выбора способа задания вектора z. Первый способ состоит в том, что z задается в виде 64 г = (хи х2у ..., хь р{, ръ ..., pk, я, ы0, ии ..., uk_x). Второй состоит в том, что полагается 65 z = (uOf щ, ..., uk-u pu ръ ..., рь я), с помощью E8) исключается xt из E8) — F2), а затем из системы уравнений вычеркивается E8). Выведем формулы для решения системы E8) — F2) методом Ньютона — Рафсона, исходя из задания вектора z в виде F4). Читателю предоставляется возможность самостоятельно рассмотреть случай использования представления F5). Отметим, что алгоритм, который мы получим, принадлежит к типу алгоритмов квазилинеаризации. Если вектор z задан в виде F4), то вектор-функция g(-} в C) определяется соотношениями E8) — F2). При этом
118 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ в силу F4) она имеет kv + kv + a + k\i = k Bv + \i) + а аргументов, а согласно E8) — F2) имеет fev + a-f(&—l)v + + v + k\x = k Bv + \i) + a компонент. Следовательно, она удовлетворяет требованию метода Ньютона — Рафсона, а именно отображает точку z в пространство, элементом которого она является (т. е. g: R^-^R", где п = kBv +\л)+ а). Теперь рассмотрим для данного случая соотношение (8). Ввиду чрезвычайной сложности системы E8) — F2), по-видимому, легче всего найти полное выражение для (8), положив / ж / Sz = z —z и представив (8) в виде Это можно сделать, разлагая в точке z уравнения E8) — F2) до членов первого порядка включительно. Тогда из E8) мы получим 67 6X 6xtKl i} &x ^~Ь9 /0. 1 *I. где б*о = О, и 68 h = Xi+\— *i — Ufa, ui)y i = Q> 1, ..•» k—\. Далее, из E9) получаем 69 ^М а из F0) — > ' (dft (х» и,) \т j 70 6pt — 6p/+i — [— - -as- К—asj—; -ft-n
3.2. ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ П9 где (d2f°. (х9 и)/ди дх}т — матрица размера v X М-» /"я строка которой есть (д/ди) [(d/° (x, и)/дхуу, и ^ = ft - ft- ^ j ft, - ^ щ 71 г п п ldhkk)\Tin 71 ^ = ft - ft+1 - ^ щ j ft- i=U 2, ..., k— 1. Из F1) имеем 72 bpk-[-^f) Ьп- где 73 Ti = pft — Наконец, из F2) имеем 74 -I ) -^ /-о. где Система уравнений F7) — G5) состоит из разностных уравнений F7) и G0) и алгебраических. При ее решении существуют две возможности: систему G4) либо можно единствен-
120 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ / ным образом разрешить относительно 6uiy либо нельзя. Если <74) нельзя решить так, чтобы получилось единственное выра- / / / жение для величин 6щ через 6х( и Ьрь, то мы сталкиваемся -с очень громоздкой системой уравнений, причем наши шансы на ее успешное решение весьма невелики, поскольку совершенно неясно, как можно эффективно свести эту задачу к последовательности более простых. Если же из G4) можно полу- / / / чить единственное выражение для &щ через Ьхь и 6pt, то, как мы сейчас покажем, положение значительно улучшается. / / Итак, предположим, что из G4) можно выразить Ьщ через 6xt i / и bpi и что это решение единственно. Тогда, подставляя Ьщ 1 /+i / / /+i / в F7) и G0) и заменяя 6xt на xt—xt и bpt на pt—pi9 получаем систему уравнений /+1 xi+l Ж — Xi = / A ж t xi 4" f /+1 :Pi + f i — vt 76 %i+\ — ^i := Ai Xi -\- Bi pi+i — Vi, i = 0, 1, ..., k — 1, 77 pi — Pt+i=== Ci Xi -j- Di pi+i — Wit i = 1, 2, ..., & — 1, где G8) вытекает из E7), F9) и G2)l). При изложении следующего ниже специального метода для решения краевой задачи G6) — G8) мы будем считать, что все появляющиеся по ходу решения обратные матрицы действительно существуют. В противном случае предполагаемые упрощения, очевидно, нельзя будет осуществить и придется решать эту краевую задачу либо как систему алгебраических уравнений, определенную G6) —G8), либо каким-нибудь другим способом, который может оказаться в данной ситуации более целесообразным. Чтобы упростить обозначения, опустим верхние индексы / и /+ 1 у всех букв в формулах G6) — G8). Итак, / / / / / !) Не следует путать фигурирующие здесь величины d>fe, w^ vt, pt и q. с аналогично обозначенными величинами, встречавшимися ранее в этом разделе.
3.2 ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ 12Г в худшем случае мы должны решать систему / 0 0 ... 0 0 — Во 0 ... О О ~АХ I 0 ... О 0 0 —Bi 0 ... о -л2 / о ...о о о о -в2 о ... 79 0 -с, 0 0 0 0 0 -с, ... 0 0 0 0 0 ... -С*-, 0 0 / ~-Dx О О о / _Б2 о о о Фи о о X х2 О -Bk-i О ... о о ... о о / —D&— 1 О 0 0 0 о / -gI — v0 — W\ y&-i X Pi Р2 Pk-l Pk где Л^ = /+^ Для / = 0, 1, ..., ft—1 и Di=I + Di для f=l, 2,..., й—1. Поскольку матрица в G9) имеет много нулей, проблема решения системы G9) не выглядит совсем безнадежной. Тем не менее мы все же предположим, что задача такова, что для упрощения расчетов можно воспользоваться динамической структурой. Мы поступим следующим образом. Начнем с замечания, что из G7) следует 80 Рл-i = Ck-xX^ + Dk-tpk — Wk-u где 81 fc-i =/ + Afc-i. Если считать р& известной постоянной, то
122 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ где просто по определению /C^1==Cfe.1, qk-i = ?>k-iPk — Wk-i- Теперь мы покажем, что для /=1, 2, ..., k 82 р/=л:/*/ + <7/, где матрицы Kj и векторы qs будут определены ниже. Итак, пусть для / = / + 1 83 Тогда из G6), где Л,- =/ + Ait получаем для / = 0, 1, 2, ..., к — 1 84 xi+l = AiXi + BiKi + iXi + l + Btfi+i — v(. Решая (84) относительно xi+l9 находим 85 xi+l = (I — BiKt+[rl (Aixt + Biqi+] — vt). Подставляя pt+1 в G7) из (83) и (85), окончательно получаем 86 Pi = dXi + DtKi+i (I — В(КшГ1 (AiXi + Btqi+X — vt) + где Dt = I + Dt для i'=l, 2, ..., k—1, или после приведения подобных членов 87 Pi = [Ct + + [Dt + DiKi+l (I - BiKi+гГ1 Bt\ qi+l - Таким образом, мы доказали, что (82) справедливо для /==/, причем Kij qi определяются соотношениями 88 Ki = Ci + DiKi+i(I-BiKi+lrlAh i=U 2, ..., * —1, 89 qt = Di[l + Кш (/-ВЛ+i) Bt\qi+l- iPvi—Wu /=1, 2, ..., k—l. Шлагая /C^—i = Cfe_x и qk^x = Dk_ipk — wk_u видим из (80), что (82) справедливо для j = k— 1. Теперь по индукции заключаем, что (82) справедливо для /= k, k— 1, ..., 1, при условии что обратные матрицы в (86) — (89) существуют, а мы выше предположили, что это так. Чтобы закончить эти преобразования, отметим, что можно положить 90 /С* —0, <7* = Р*- 91 Упражнение. Показать, что можно выбрать и другие граничные условия для (88) и (89), отличные от (90). В частности, рассмотреть Кк = — Фл, qk — Gln + k. [Указание: См. A20).] ¦
3.2 ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ 123 Теперь мы резюмируем изложенную процедуру решения системы G6) —G8). 92 Алгоритм (решения системы G6) — G8))!). Шаг 1. Для / = k, k—1, k — 2,..., 1 вычислить Kiy решая (88) с граничными условиями (90). Шаг 2. Для /=1, 2, ..., k—1 вычислить 93 Ц = Dt [i + Kt+AI-BiKi+ir1 Btl 94 h = - DtKi+i (I-BiKi+lrl Vi — wi. Примечание. Уравнение (89) с его граничными условиями можно теперь записать в более компактном виде: 95 qi = Liqi+l + li, i = 1, 2, ..., k— 1, qk=~pk. Шаг 3. Для / = 0, 1, 2, ..., k—1 вычислить 96 Mi = (Il 97 Ni=(I 98 mi = -( +iri Примечание. Уравнение G6) с его граничными условиями G8) можно теперь записать в более компактном виде: 99 xi+l=M4Xi + Ntqi+l + mi9 / = 0, 1, ..., k— 1, *о = •?<)> Gkxk = — gk- Шаг 4. Для /==1, 2, ..., k вычислить 100 Z* = L;L*+1 ...Lk_u Lk = I> i + l 101 /,== 2 LtLi+l ... Lf^l} + lh ~lk = Q. Примечание. Величины qt можно теперь записать в виде 102 qt^LiPk + li, /==1, 2, ..., /г. Шаг 5. Для /=1, 2, ..., А вычислить 103 Mt = M^Al^ ... MiNi-u Mk = Мк_хМк_2 ... Mo, 104 M, = Mh_xMk_2 ...Mit Mk = 0. l) Если Gk = 0, то с помощью описанной ниже процедуры можно вычислять qi для / = 1, 2,..., 6 — 1 непосредственно из (89), положив qk = #? (мы не знаем заранее pk).
124 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ Примечание. С учетом введенных определений решение задачи (99) принимает вид к— 1 k—l 105 xk = Mk?0 + 2 М& + 2 А^т*-! + Nk-Xqk + тк_{ = ii i /г—1 2 ^^ i т. e. где ?л и dfe — соответственно матрица и вектор, стоящие в правой части равенства A05) (dk не зависит от pk). Шаг 6. Положить 107 ?*= 2/*,?, + #*_!, ft—1 ft—1 108 <4 = Mfeio + 2 Mji + 2 Af,m,_, + тЛ.,. Примечание. Используя граничные условия G8), преобразуем A06) к виду 109 xk ПО kk k( + kk) + ОкA — ЕкФк)~1 (Ekyk + dk) = - gk. Шаг 7. Положить 111 n = -[Gk(I-EkOk)~lEkGl]-lX X [ft + Gfc (/ + ^Ф,)" (firff* + dh)]9 112 ^ J 113 Шаг 8. Для /= 1, 2, ..., & вычислить #ь решая (95), и xif решая (85) при xo = kOy pt определить из (82). В Отсюда ясно, что решение задачи дискретного оптимального управления E5) — E7) может занять чрезвычайно много времени (по крайней мере в общем случае при больших k и v)- Однако существует ряд очень важных случаев, допускающих значительные упрощения.
3.2. ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ 125 114 Пример. Пусть задача E5) — E7) имеет следующий вид: 115 минимизировать 2f?(*0 + у II xi И2 ?=0 при ограничениях 116 xi+l — xi = fi(xi)Bui, i = 0, 1, 2,..., k—l, Xq = Xq, Xfc = X^. В данном случае ф( • ) = 0 и gk{x^^=-xk— Jtb так что соэтноше- ние F1) обращается в pk = n, т. е. не содержит никакой информации и его можно опустить. В то же самое время соотношение F2) (в предположении невырожденности, т. е. при р° = — 1) принимает вид 117 — й{ + Втр1+1 = 0, / = 0, 1, 2, ..., k—l. Подставляя щ в A16) (и отбрасывая крышки в обозначениях), убеждаемся, что оптимальная траектория xQ, ?и ..., xk должна удовлетворять системе уравнений 118 xi+l — xi = Xq = причем последовательность оптимальных управлений определяется из A17), где величины рг удовлетворяют уравнениям A18), A19) с хь = хи 1 = 0, 1, ..., k. Очевидно, что решение системы A18), A19) намного проще решения системы E3) — F2), возникающей в общем случае. ¦ 120 Упражнение. Вывести формулы для решения системы A18), {119) методом Ньютона — Рафсона. ¦ 121 Упражнение. Рассмотреть задачу управления с квадратичной целевой функцией: 122 минимизировать -Ы при ограничениях 123 xi+l = AtXi+BiUi, i = 0, 1, ..., k—l,xo = где матрицы Rt размера vXv и матрицы Qi размера \х X Ц симметрические и положительно определенные. Показать, что в предположении о невырожденцости последовательность опти-
126 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ мальных управлений йо> йи ..., йк_х и оптимальная траектория i0, ?и ..., ?k удовлетворяют уравнениям 124 xi+l = Aixi + BiQ 125 pt = — R.xt + A\pi+V i = 1, 2, ..., k — 1, pk = - Rkxk> 126 u. = Q71B^.+1, . / = 0, 1, ..., k—U где pi, /=1, 2, ..., &, удовлетворяют A24), A25) вместе с ?i9 / = 0, 1, ..., ^. Показать также, что для этого случая 127 pi = Ki?i, /=1, 2, ..., k, где /С/ — матрицы размера vXv, определяемые из решения системы 128 Kt = - Rt + А^Кш (/ — BiQTlBTiKi+iTl Ai9 /=1, 2, ..., k-U с граничным условием /Cfe= —/?^. Отметим, что в соответствии с A27) мы получили закон управления с обратной связью: 129 ^-ОГ'яХи (/-^Г^Хч-,) / = 0, 1, ..., k—l. Показать, что можно было положить 130 Pt=*Ki?i + qi9 /=1, 2, ..., *, где матрицы /С^ определяются из решения системы A28) с граничным условием /(fc==0, a qt — из решения системы 131 Чг - Л[ [ + м ( ;т]шу /=1, 2, ..., с граничным условием ^== —/?Л- Какую из двух возможностей A27) или A30) выберете вы для проведения расчетов? ¦ В заключение этого раздела покажем, что в предположениях, сформулированных в упражнении A21), уравнение Рик- кати A28) всегда имеет решение независимо от того, положим мы /С/г= — Rk или /Cfe = 0. Этот факт следует из двух приведенных ниже лемм. 132 Лемма. Пусть D — симметрическая положительно полуопределенная матрица размера vXv, а К — отрицательно полуопределенная матрица размера vXv. Тогда матрица 1 — DK невырождена.
3.2 ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ ДИСКРЕТНЫМИ ПРОЦЕССАМИ 127 Доказательство. Прежде всего заметим, что так как матрица D симметрична и положительно полуопределена, то ?>лг = О тогда и только тогда, когда {х, Dx) = Ol), и матрица / — DK невырождена тогда и только тогда, когда невырождена матрица I-KTD. Допустим, что матрица / — KTD вырождена. Тогда найдется такой ненулевой вектор х', что 133 (/ откуда KTDx' = x' и, значит, 134 <?>*', KTDx') = (Dxr, x*). Из отрицательной полуопределенности матрицы Кт и положительной полуопределенности матрицы D вытекает, что 135 (Dx'y KT Dx') = (Dx\ x') = О, откуда Djc' = O и, значит, KTDx' — 0. Таким образом, мы пришли к противоречию, и доказательство закончено. ¦ 136 Лемма. Пусть К и D те же, что и в условиях леммы A32). Тогда матрица КA — DK)~~X отрицательно полуопределена. Доказательство. Мы показали в лемме A32), что (/ — DK)~l существует; следовательно, существует и матрица, фигурирующая в условиях данной леммы. Далее, для любого xgRv 137 (х, К{1 — DK)~l х) = {{I-DKT1 х, (I-DKf K(I-DKTlx) = = {y,Ky)-{y,KTDKy)<o, где у — A — DKY~l ху поскольку матрица К отрицательно полуопределена, а матрица D положительно полуопределена. ¦ 138 Теорема. Пусть матрицы /?*, /= 1, 2, ..., k, симметрические и положительно полуопределенные и матрицы Qit / = 0, 1, 2, ..., k—1, симметрические и положительно определенные. Тогда у разностного уравнения A28) существует решение Ki, г=1, 2, ..., k, при Kk — — Rk (отметим, что можно выбрать ** = 0). Доказательство. Покажем по индукции, что матрицы Ki не только существуют, но и отрицательно полуопределены. Прежде всего заметим, что матрица Kk= — Rk отрицательна полуопределена по определению. 1) Из симметричности и положительной полуопределенности матрицы D следует, что существуют диагональная матрица Л^О и такая матрица М размера п X пу что D = (МгЛ1/г) (Л1/*М).
'128 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ Предположим, что Kt+\ — отрицательно полуопределенная матрица. Полагая Di = BiQTlBi9 убеждаемся, что Dt — положительно полуопределенная матрица, так что по лемме A32) матрица Ki> задаваемая формулой A28), существует. По лемме A36) матрица Ki+\(I — DiKi+i)~~l отрицательно полуопределена. Поскольку Kt есть сумма двух отрицательно полуопределенных матриц, она тоже отрицательно .полуопределена. Таким образом, мы показали, что если матрица Ki+\ существует и отрицательно полуопределена, то и матрица Kt существует и также отрицательно полуопределена. Но Kk = — Rk как раз и есть отрицательно полуопределенная матрица, так что матрицы /Сь /=1, 2, ..., 6, определяемые из A28), существуют. в 139 Упражнение. Применить подход, использующий уравнение Риккати, и получить оптимальное управление для задачи минимизировать —1 S [to. 6 при ограничениях AiXt + Вы, i = 0, 1, 2, ..., k— 1, xo = xOj где матрицы Ri и Qi симметрические и положительно определенные. ¦ 3.3. Краевые задачи и непрерывное оптимальное управление Материал настоящего раздела тесно связан с материалом разд. 2. Действительно, ряд результатов настоящего раздела можно формально получить из соответствующих результатов разд. 2 простой заменой xt на x(t), щ на u(t), xi+l—xt на (d/dt)x(t) и т. д., поскольку разностное уравнение B.1) всегда можно рассматривать как дискретизацию дифференциального уравнения. Однако мы вскоре убедимся, что имеется существенная разница между формулами, получаемыми для дискретного и непрерывного случаев. Кроме того, ряд результатов, справедливых для непрерывного случая, или вовсе нельзя перенести на дискретный случай, или требуются специальные предположения. Мы увидим, что в случае краевых задач для непрерывных динамических процессов можно высказать больше содержательных утверждений, чем в случае краевых задач для дискретных процессов.
3.3. НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 129 Как и в разд. 2, мы сначала покажем, как применить метод Ньютона — Рафсона A.9) к решению краевых задач общего вида. Затем изучим специальный класс краевых задач, возникающий при использовании необходимых условий оптимальности (принципа максимума Понтрягина A.2.35)) в задачах непрерывного оптимального управления. Чтобы облегчить сраз- нение результатов данного ^предыдущего разделов, мы сохраним введенные в разд. 2 обозначения для номеров итераций, / / у а именно мы будем употреблять x(t), u(t), p(t) вместо обозначений Xj(t), Uj(t)> pf(t), более, казалось бы, соответствую, щих обозначениям разд. 1. Как мы видели в разд. 2, существуют по крайней мере две версии метода Ньютона — Рафсона для решения дискретных динамических краевых задач. Эти две версии, метод Гудмена — Ланса [Г6] и метод квазилинеаризации [Ml], [Б5], также применимы в случае краевых задач для непрерывных динамических процессов. Мы начнем с версии Гудмена — Ланса, поскольку из указанных двух она легче для понимания. Итак, пусть дана непрерывная динамическая система, описываемая дифференциальным уравнением 1 -jfX(t) = f(x(t),t), te[to,tf]9 где функция f: RVXR!-*RV непрерывно дифференцируема по х и кусочно непрерывна по t. Мы будем предполагать, что для любого x^Rn элементы матрицы Якоби df (x, -)/дх кусочно непрерывны. Кроме того, заданы граничные условия где уо е Ra, yf e Rv~~a, a < v и Pq9 Pf — матрицы размера a X v и (v — a) X v соответственно, имеющие свой полный ранг. Как и в дискретном случае, чтобы решить задачу A), B) с помощью метода Ньютона — Рафсона, ее надо сначала представить в виде Чтобы сделать это в случае версии Гудмена — Ланса метода Ньютона — Рафсона, определим x(t;tOi z) как решение уравнения A) в момент t, соответствующее начальному состоянию zy т. е. х (to\ t0, z) = z. Затем зададим функцию хг: Rv->Rv формулой 1) 4 xi (z) = х {ti\ t0, z) l) Мы предполагаем, что уравнение A) имеет решение на [/0, /f]' для любого начального состояния z e Rrt. 5 э. Полак
130 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ и функцию g: RV->RV формулой 5 *B) = | Очевидно, функция g(-) в E) дифференцируема. Теперь мы видим, что задача A), B) эквивалентна решению уравнения g(z) = 0 относительно начального состояния z с последующим вычислением x(t;t0, z) для t^[to,ti], причем выполнение условия Pix(tl;to,z) = yf гарантируется равенством g(z) — 0. В дальнейшем мы будем считать, что (dg(z)/dz)~l существует для всех 2gRv или по крайней мере для всех z в достаточно большом множестве в Rv. Очевидно, что это условие проверить нельзя. В реальной ситуации следует просто быть предусмотрительными при использовании метода Ньютона — Рафсона и, учитывая возможность неблагоприятной случайности, включить в программу тест, прекращающий вычисления, как только выясняется, что выстраиваемая последовательность расходится, или когда выполняется условие | det dg{z)/dz |< e, где е очень мало. Напомним (см. A.9)), что при заданной точке 2gRv метод Ньютона — Рафсона строит следующую точку z как решение уравнения Подставляя E) в F), получаем уравнения 8 которые после упрощения принимают вид dxAz) /+1 дхЛг) 1 I /+1 10 Р z =у . о "о Нетрудно показать, что, придавая приращение bz начальному состоянию z в уравнении A), мы получаем приращение
3.3 НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 13Г [х (tf; to, z + bz) — x(tt;t09z)], которое с точностью до членов второго порядка малости является решением уравнения 11 4t 6x {i) e дПх{%^^° 6*0), t е= [t0, % Ьх (Q - te, относительно 6x(tt). В самом деле, предположим, что для ty / 5 е [/о» й] матрица Ф(?, 5) размера vXv есть решение дифференциального уравнения 12 ^) df(x(t;joz)t) ?] ^ где / — единичная матрица размера vXv. Тогда 13 bx(U)=*<b(tuU)bz и, значит, Следовательно, уравнения (9) и A0) принимают вид / /+i / / / 15 Рр (tl9 to) z = PfQ> (tl910) z - Ргх{ (z) + r/f, 16 Poz=yo. 17 Упражнение. Показать, что матрица <b(t, s) удовлетворяет также сопряженному дифференциальному уравнению 18 Аф(/, 5)--Ф(/, 5)а/И^гМ), 5Е[/О, it], te[t0, U]. / Исходя из этого, показать, что матрицу PfO(/f,./o) можно вычислить как решение, дифференциального уравнения 19 «l>(s) = -P (s) */(*<*'»«>¦«> , s e [toi ti]f P (ft) - ft, ds x w — l v°' dx причем PfO (th to) = P (to). ¦ Отметим, что, как и в дискретном случае (ср. B.17)), здесь легче вычислить АФ(й, /0) из решения A9), чем непосредственно получить Ф(/о, ti) из решения A2), поскольку дифференциальное уравнение A9) имеет меньше переменных, чем A2). Теперь мы резюмируем изложенное выше в виде алгоритма:
|32 3- ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ 20 Алгоритм (версия Гудмена — Ланса метода Ньютона — Рафсона [Г6]) Шаг 0. Выбрать ze=Rv. Шаг 1. Положить / = 0. Шаг 2. Для t<=[to, U] вычислить x(t; to, z), решая A) при x(to) = z, и положить Xi (z) = х (U\ tOi z)\ Шаг 3. Для s e [tOy U] вычислить матрицу Якоби df(x(s; /о, z), f)ldx. 1 Шаг 4. Вычислить P(to), решая A9). Шаг 5. Вычислить z , решая 21 22 Ро z = уо. Шаг 6. Положить / = /+1 и перейти к шагу 2. ¦ Итак, аналогично схеме применения версии Гудмена — Ланса в дискретном случае (разд. 2) мы решаем на каждой итерации нелинейное дифференциальное уравнение A) в прямом направлении из начального состояния x(to) = z. Затем решаем линейное сопряженное уравнение A9) в обратном по времени направлении. И наконец, решаем линейную систему алгебраических уравнений B1), B2). Отметим, что здесь замечание B.21) также уместно. 23 Упражнение. Приспособить алгоритм B0) для решения уравнения A) с граничными условиями вида g0 (x (t0)) = 0, gf(*(*f)) = O, где функции go: Rv->Ra, gf: Rv->Rv-a, a < v, непрерывно дифференцируемы, а их матрицы Якоби имеют свои полные ранги для всех 2gRv. ¦ 24 Упражнение. Модифицировать алгоритм B0) так, чтобы получить квазиньютоновский метод в духе алгоритма B.1.42). ¦ Чтобы для краевой задачи A), B) описать версию метода Ньютона — Рафсона, называемую квазилинеаризацией [Ml], [Б5], надо сначала изложить метод Ньютона — Рафсона для решения уравнений вида 25 ?B)=: 0, где g: L->L (L — банахово пространство). Если в данном случае существует производная (dg(z)/dz)(-) функции g(-) по
3.3. НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 133 z e L, то она определяется как такой линейный функционал, отображающий L в L, что 26 lim J jrg-jj 2? !Le0, где || • \\L — норма в L. Предположим, что обратное отображение (dg( • )/dz)~~l (•) для (dg(*)/dz)(-) существует при всех z^L и непрерывно на Ly^L. Тогда метод Ньютона — Рафсона для решения уравнения B5) можно описать соотношением 27 -^Г-(г -*) = -?(*). / = 0, 1,2, .... Иными словами, как и в конечномерном случае, для вычисле- ж / ния z no z надо решить уравнение B7). Кроме того, как и в конечномерном случае, если z — предельная точка последовательности z, построенной согласно B7), то должно быть gB) = 0 (при условии, конечно, что эта последовательность сходится и (dg( • )/dz)~~l (•) — непрерывное отображение из L X L в L). Для наших целей этого обсуждения метода Ньютона — Рафсона в банаховых пространствах вполне достаточно. Для изучения ряда важных аспектов теории возмущений, а также скорости сходимости читатель может обратиться к основополагающей работе Канторовича и Акилова [К2] и к очень ясной статье Антосиевича [А2]. Продолжим описание метода квазилинеаризации. Отметим, что в дальнейшем переменная z будет выбираться несколько отличным от описанного в разд. 2 способом. Пусть L = RVX ХС^[/0, ff], где C'v\to, tf] — пространство всех кусочно непрерывно дифференцируемых функций, отображающих [to, t{] в Rv> причем норма вектора z = (x0, x( •)) в L определяется формулой 28 I|zHl=(II*0|I2+ sup ||* (*) II2)'/.. t e [t0, tf] Задавая вектор z^L, мы всегда будем разбивать его на две части: 29 2 = (*0>.*(-))э *o^R\ *(-)e=C;[/o, tt].
434 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ Чтобы определить отображение g(-) для задачи A), B), зададим отображения g: RvXC'v[t0, U]->CJv[to, Ul Po: Rv X XC'v[to, U]->Ra и Pf: RVXCC[/O, /f]->Rv~a равенствами t 30 g (x0, x(.))(t)=xo+ J / (x (s), s) ds — x @, / e= [t09 til. 31 32 = Poxo — y09 Po(x0, x Pt(x0, x где все величины в правых частях определяются так же, как: и в A), B). Далее, пусть отображение g: L->L задано в виде- g(Хо, х(')) 33 Pf(Xo, Из C0) и C1) ясно, что оно непрерывно дифференцируемо; вид его производных мы приведем ниже. В дальнейшем мы будем предполагать, как мы делали это в случае версии Гуд* мена — Ланса метода Ньютона — Рафсона, что (dg(z)/dz)~~l существует для всех г в достаточно большом множестве в L. 34 Упражнение. Показать, что если g( •) задается в виде C3),. то уравнение B7) принимает вид t j . M1?MlA[!x1 (s) -x(s)]ds-['xl (t) - x(t)] =- /41 / 35 (хо-хо)+ t = -х0- jf(x (s), s)ds + x {t), t e [to, ft]. /+i / / 36 Po (x0 — x0) = — Poxo + y0 37 P,[x &)-х(Щ = -Р{х(Ц + После упрощения системы C5) — C7) имеем 38 39 40 Ж /+i х @= хо+ / {s)-x{s)]ds J f(x(s), s)ds, < = Уо pix(tt).
3 3 НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 135 Чтобы решить систему C8) — D0), представим ее в виде -следующей линейной краевой задачи: 41 ЧГ х @= П дх ] [х (t)-x(t)] + f(x(t)t t), t<=[to, ti], ж /+1 42 Pox (to) = yo, Ptx (tf) = yr /+1 /+1 43 Упражнение. Показать, что любое решение (х0, х(-)) системы C8) — D0) удовлетворяет задаче D1), D2), а любое ре- шение х (•) уравнения D1) с начальным условием х0 = х (t0) удовлетворяет системе C8) — D0). Иными словами, показать, что системы C8) — D0) и D1), D2) эквивалентны. ¦ Теперь мы суммируем изложенные выше результаты в виде алгоритма. Отметим, что этот алгоритм можно формально получить из алгоритма B.31), просто заменяя xi+x—xt на (d/dt)x(t) и xi на x(t). 44 Алгоритм (метод квазилинеаризации [Ml], [Б5]). о Шаг 0. Выбрать функцию х( •) е C'v[t0, tf]9 удовлетворяющую условиям О Примечание. Строго говоря, подчинение функции х{-) этим краевым условиям не является необходимым, но оно, по-видимому, приводит к лучшему начальному приближению. Примечание. Пусть х0 и xf таковы, что Рохо = уо, Pixi = yf9 тогда можно положить х (t) = хо + -^- (xi - хо), t e [t09 ti]. Шаг 1. Положить / = 0. Шаг 2. Для t^[t0, U] вычислить f(x(t), t) и df(x(t), t)/dx. Шаг 3. Для t^[to, U] вычислить х (t), решая D1), D2). Шаг 4. Положить / = /+ 1 и перейти к шагу 2. ¦ 45 Упражнение. Приспособить алгоритм D4) для решения уравнения A) с граничными условиями вида go(x(to)) = 09 = 0, где функции gol Rv->Ra, gt: Rv->Rv~a, a < v.
136 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ непрерывно дифференцируемы и их матрицы Якоби имеют свой полный ранг для всех 2^RV. И 46 Упражнение. Модифицировать алгоритм D4) так, чтобы получить квазиньютоновский метод в духе алгоритма B.1.42). В 47 Замечание. Отметим, что первое из замечаний, приведенное в B.32), остается справедливым и для только что рассмотренных версий метода Ньютона — Рафсона: в версии Гуд- мена — Ланса мы всегда имеем дело с приближением к решению задачи A), B), т. е. с функцией х(-), удовлетворяющей (\)г в то время как в методе квазилинеаризации мы всегда имеем дело с приближением к решению задачи A), B), удовлетворяющим B). При выборе между указанными двумя версиями можно брать за основу именно эту разницу между ними. Те, кто занимается задачами траекторвой оптимизации, предпочитают метод квазилинеаризации, по-видимому, потому, что решение на каждой итерации краевой задачи D1), D2) для линейного дифференциального" уравнения требует меньше машинного времени, чем решение нелинейного дифференциального уравнения A), линейного дифференциального уравнения A9) и алгебраической системы B1), B2). ¦ Так как в версии, использующей квазилинеаризацию, линейная краевая задача D1), D2) должна решаться на каждой итерации, важно, чтобы это делалось эффективно. Сейчас мы опишем два метода решения краевых задач вида 48 -*-хЦ) = А (t) x(t) + v (t), t e= [/о, Ul где x{t)9 v(t)^Rv,a A(-) — кусочно непрерывное отображение из [tO9 tf] в пространство всех матриц1) размера vXv; yoeRa, i/GRv"a, а Ро, Р{ — матрицы размера aXv и (v — a)Xv с0" ответственно (a < v), имеющие свой полный ранг. Пусть Ф(и s) для /, s^[to,tf\ будет матрицей размера vXv, определяемой из решения уравнения 50 -^ Ф (/, s) = A (t) Ф (/, s), U s е= [to, ti], Ф (s, s) =7, ]) В этом пространстве в качестве нормы можно взять норму Фробе- ниуса, определяемую формулой || А \\2Ф = 2 а//» гДе ^ — (ai/)* ii
3 3 НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 137 где / — единичная матрица размера vXv. Тогда Ч 51 х (tf) = Ф (tu to) х (to) + J Ф (ft, s) v (s) ds, *o 52 . x (t0) = Ф (fOf ti) x (ft) + { Ф (to, s) v (s) ds. 4 Напомним, что матрица Ф(?, s) обладает следующими двумя свойствами: S3 Ф (*, s)~l = Ф (s, /), Ф (U s') Ф (s', s) = Ф (U 5), t9 5, 5' S [/о, ft]. Теперь можно использовать D9) вместе с E1) и E2) для получения замкнутой системы линейных уравнений относительно x(to) или x(ti). Так, начальное состояние x(to) решения #(•) в задаче D8), D9) можно найти как решение системы 54 Ч 55 Рр (tp у х (*о) = - J PfO ft, s) о E) rf5 + yf. Для того чтобы это решение было единственно, матрица должна быть невырожденной. Аналогично конечное состояние в задаче D8), D9) можно найти как решение системы 'о «7 РОФ (t0, tt) x (tf) = - J РоФ (t0, s) v (s) ds + yQ> ,4 58 Отметим, что в дискретном случае мы смогли получить уравнение только для начального состояния х0 (см. B.37), B.38)). Чтобы в дискретном случае получить систему уравнений относительно конечного состояния х^ нам следовало- бы потребовать, чтобы матрицы / + Aiy i = 0> I, ..., k—1, были невырожденными. Однако даже тогда необходимость обращения этих матриц сделала бы процедуру построения системы уравнений относительно х^ крайне трудоемкой.
138 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ Таким образом, мы замечаем любопытную разницу между дискретными и непрерывными системами: разностное уравнение легко решается в прямом, но не в обратном направлении, в то время как дифференциальное уравнение может решаться с одинаковой легкостью в обоих направлениях (при условии, конечно, что решение не растет или не убывает слишком быстро). Если уравнение D8) устойчиво (т. е. Ф(/, s)->0 при t-+oo)y то следует решать систему E4), E5), а если уравнение D8) неустойчиво (т. е. Ф(/, s) —>0 при s->—оо), следует решать систему E7), E8). В любом случае, однако, если разность U —10 велика, то обе системы E4), E5) и E7), E8) могут быть плохо обусловленными из-за того, что элементы матрицы Pi<b(tu to) окажутся весьма малыми по сравнению с элементами матрицы Ро или аналогичное утверждение имеет места для системы E7), E8). К счастью, система E4), E5) не единственная система уравнений, решение x(t0) которой таково* что траектория x(t; t0, x(t0)) уравнения D8) удовлетворяет D9) (аналогично для системы E7), E8)). Сейчас мы опишем, следуя Абрамову [А1], метод построения иной системы уравнении относительно x(t0). Вывести эти уравнения несколько труднее* чем уравнения E4), E5), но они намного лучше обусловлены. Применение метода Абрамова к системе E7), E8) мы оставляем читателю в качестве упражнения. Начнем с описания эффективного способа преобразования уравнения E5) (ср. с B.39)). Пусть P(t) для t e [t0, tt] будет матрицей размера (v — а) X v, удовлетворяющей сопряженному уравнению 59 *-p(t) = -p(t) A@, 16= [to, ti], Рft) = Pi. Тогда 60 P(t) = Pi<D(tut), te=[t0, tfl и, следовательно, E5) принимает вид Ч ' 61 Р (/0) х (Q = ~ J P (s) v (s) ds + yv Отметим, что дифференциальное уравнение E9) имеет меньше переменных, нежели E0), и, значит, легче получить F1) с использованием E9), нежели E5) с использованием E0). 62 Упражнение. Вывести формулу, аналогичную F1), для замены E7). [Указание: Воспользуйтесь сопряженным уравнением E9), но с другим граничным условием.] Ш
3 3 НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 139 Метод Абрамова состоит в «нормализации» матрицы P(t). Итак, пусть Q (t) для t^[tOj tf] будет матрицей размера (v — а) X v, определяемой соотношением 63 Q(t)=*M(t)P(t), тде P(t) — решение уравнения E9) и M(t)— невырожденная нормализованная матрица размера (v — a)X(v — а), которую мы зададим так, чтобы гарантировать выполнение условий 64 65 Используемая нами нормализация выражается равенством F5). Чтобы упростить запись, мы будем обозначать точкой над буквой дифференцирование по t, т.е. Q(t) = (d/dt)Q(t) и т.д. Тогда из F5) имеем '66 Q(t)Q(tf + Q(t)Q(tf = O, а из F3) — «7 Q(t) = M(t) P(t) + M(t) P(t). Подставляя теперь F7) в F6) и учитывая E9), получаем 68 [M(t)P(t) + M(t)P(t)]Q(t)T + + Q (t) [P (t)T M (t)T + P (t)T M (t)T] = = [АГ (t) P(t)-M (t) P (t) A (t)] Q (t)T + + Q (t) [P (t)T M (t)T - A (t)T P (t)T M (t)T] = = [Af (/) M (t)~l Q (t) Q (t)T -Q(t)A (t) Q (t)T] + + [Q (t) Q (t)T {M (t)-xY M (tf -Q(t)A (tf Q (tf} = 0. Очевидно, что F8) удовлетворится, если матрицу M(t) задать условием «9 lit (t) M (trl Q (t) Q (t)T = Q(t)A (t) Q (tf. Из F7), E9) и F3) выводим, что 70 Q(t) = M (t) M (trl Q(t) — Q (t) A (t). Предполагая, что матрица M(t) задана условием F9), получаем 1) 71 Q(t) = Q(t)A (t) Q (t)T [Q (t) Q (ОТ* Q(t)-Q (t) A (/), t e [t0, tt], Q (tt) = Pt. l) Заметим, что Q (t) Q (tf = PfPj-
140 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ Далее, пусть w(t) e Rv""a для / е [t0, U] определяется равенством 72 w(t) где Q(t) — решение уравнения G1), а x(t) — решение системы D8), D9). Тогда 73 w(t) = {Q{t)A(t)Q(t)T[Q(t)Q(t)TrlQ(t)-Q(t)A(t)}x(t) + Q(t)[A{t)x(t) + v(t)] = = Q(t)A (t) Q (t)T [Q (t) Q (t)Trl w(t) + Q (t) v (/), Таким образом, систему E4), E5) можно заменить системой 74 75 которая, очевидно, лучше обусловлена, чем E4), E5), и для решения которой надо предварительно разрешить G1), а затем G3). 76 Упражнение. Приспособить метод Абрамова для нахождения видоизмененной системы линейных уравнений относительна x(tf). В каком случае вы предпочли бы использовать метод Абрамова для нахождения системы уравнений относительно x(tf), а не x(t0)? Ш Отметим, что метод Абрамова намного более эффективен в непрерывном случае, чем в дискретном. Это связано с тем, что в непрерывном случае можно все ограничения на x(U} одновременно перенести на левый конец (т. е. преобразовать в ограничения на x(t0), в то время как в дискретном случае мы переносим по отдельности каждую строку ограничения B.2) на xkl). Ясно, что устранение плохой обусловленности методом Абрамова в непрерывном случае может проводиться успешнее,-чем в дискретном. Займемся теперь краевыми задачами, возникающими иэ необходимых условий оптимальности для некоторых задач непрерывного оптимального управления. В частности, рассмотрим задачу *f 77 минимизировать J /° (x (t), и (t), t)dt + q> (x *) Процедура Абрамова переноса граничных условий для дискретных систем излагается в разд. 2. — Прим. ред.
3.3. НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 141 при ограничениях 78 ЖХМ = 1(* W' и W' ')¦ * е ['о, til 79 х(*о) = *о> ?f(*ft)) = °> где функции f: Rv X R^ X R1 -> R1, f: Rv X R^ X R1 -> Rv, Ф: Rv->Rl и gfi Rv->Ra удовлетворяют условиям, сформулированным в A.1.8), т. е. df°/dXj df°/duy df/dx, df/du существуют и вместе с /° и / кусочно непрерывны по t. Более того, предположим, что dgfjdx существует и имеет свой максимальный ранг в достаточно большом множестве в R". Как и в разд. 2.5, будем считать, что управления и( •) принадлежат пространству LU> [t0, ft]. Применяя принцип максимума Понтрягина A.2.35) к задаче G7) — G9), находим, что если й( •) —оптимальное управление, а х( •) — соответствующая ему оптимальная траектория, то существует такой вектор я?^и такие функции р: [tOf ft] -> Rv (обычно называемые двойственными, или сопряженными, переменными), что (в предположении о невырожденности задачи, т.е. для данного случая р° == — 1 в A.2.35)) й(-), •#(•)> зх к р(-) удовлетворяют уравнениям 80 ±*(t)=*f {* (/), й (t), t), t €= [tOf ft], 82 83 и для почти всех t^[tOt ft] и всех mgR11 справедливо неравенство 84 - f (х (t), й (/), 0 + (;б (/), f (х (/), й @, /)> > ), и, t) + (р (t), f (х (t), и, *)>. Отсюда видно, что й (•), Я (•), р (•) и я должны также удовлетворять уравнениям t 85 х0 = J f (x (s), и (s), s)ds — x (t) =0, * e [f0, ft]» 86 ft(
142 3 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ 87 (двЛНЩ _ (?( \ дх I \ дх a).u (s),.) yp{s) {x (s),; (s), s) te[to,ti\, Далее, поскольку мы предположили, что управления */(•) принадлежат пространству L%>[t0, ti\, решения х(-) и р(-) системы (85) —(88) непрерывны в силу свойств уравнений (85) и (87), т. е. принадлежат пространству Cv[t0> tf] непрерывных функций, отображающих [tOi tf] в Rv. Положим L = RaX XCv[/o, /f]XCv[/o> ^f]X^~[^o, tf]. Элементы 2GL мы будем всегда представлять в виде 89 г = (п,х('), />(•)> «(•))• Чтобы пространство L было банаховым, зададим в нем норму || • \\L формулой 90 ||z||L = [||jt||2 + ( sup ||*@IP + ( sup \\p(t)\\J + \\u\n\ Определим функции g{: L->Cv[t0, U], g2: L->CV[/O, U], g3: L ->Uoo[t0y tf] равенствами 91 ?,(*,*(•) p(-), u t = *o + I fix (s), и (s), s)ds-x (t), t <= f/o, ti], 92 ,2(я>,(О)Р(О)«( 93 fo(«, x(-), p(-), u( _ / df> (x jt), и (t), t) У , / g/ (x «), и (t), t) \r — ~\ Tu j +\ Tu j
3 3 НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 143 Если теперь задать g: L-+L в виде *(я, *(•), Р(-), «(•))) ft (я, *(•)> Р(-), "(О) х(-), р(-)> «(•)) 94 (л,х(-),р(.), «(•)) = то решение системы (85) — (88) будет эквивалентно решению уравнения g(z) — 0. Легко видеть, что функция g(-) непрерывно дифференцируема и, следовательно, система B7) для t^[t0, tt] принимает в этом случае вид 95 дх 5/(i(s), «(s), ди •['« (s) — u(s)])ds — [x (t) — ), P(-), a 96 = -ft(i, i(-), P(-), «
144 3- ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ 97 +-к д ди (Относительно определения (d2f°(x, и, t)/dudx)T и (d2f°(x, и, t)/dxdu)T см. подстрочное примечание на стр. 92.) 99 Упражнение. Преобразовать (95) и (96) в систему дифференциальных уравнений и выписать для этой системы граничные условия. [Указание. Действовать так же, как и в D3).] ¦ Мы будем предполагать, что уравнение (98) однозначно раз- /+i решимо относительно и (t), так как (ср. с B.74)) в противном /+i случае систему (95) —(98) крайне трудно решить. Тогда и (t) будет аффинной функцией относительно x(t) и p(t), т. е. j / / / /+ / / / и (t) = N(t) х {t) + M(t) p (t) + m{t), где N{t), M(t) — матрицы размера \i X v и m@^R^. Подстановка и (t) в (95) и (96) сведет тогда нашу задачу к решению краевой задачи (ср. B.76) — B.78)) 100 -А х (t) = A (t) х (t) + B (t) p (t)-v @, t e= [to, % 101 -? p (t) = C (t) x (t) + D (t) p (t)-w (*), * e= [to, til 102 x (to) = *o, Gfx (tt) = -g, Ж / /+l / /+l / 103 p(tf) = GJn +Ot
3.3. НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 145 /+1 / Ж / Ж 104 Упражнение. Полагая и (t) = N(t) x (t) + M(t) p (t) + -f-m(f), t^[t0, tf], найти выражения для всех величин в A00) —A03) (т. е. для A(t), B(t) и т. д.). ¦ Чтобы упростить запись, отбросим, как и в дискретном случае, верхние индексы / и /+1 во всех обозначениях в A00) — A03). У нас есть (по крайней мере) два выбора метода решения задачи A00) — A03). Первый из них наиболее популярен среди советских специалистов и состоит в использовании метода Абрамова, рассмотренного в этом разделе. Чтобы применить метод Абрамова к решению задачи A00)—A03), ж надо сначала исключить я (т. е. я) из A03). Это можно сделать следующим образом. Введем матрицу Pf размера (v — a)Xv, имеющую свой полный ранг и удовлетворяющую условию 105 r Тогда A03), очевидно, будет эквивалентно соотношению 106 Изложим теперь возможный способ построения такой матрицы Pf. He нарушая общности, предположим, что первые a столбцов матрицы Gf линейно независимы (Gi = dg[(x)/dx для / x = x(U) есть матрица размера aXv, имеющая по предположению свой полный ранг). Обозначим через Gf' матрицу размера аХ<*> построенную из первых а столбцов матрицы Gf и запишем матрицу Gf в виде Gf = [Gf, Gf']. Рассмотрим уравнение f 107 . [Gf', СГ] I ^ 1 = GiPf + G'(Pf = 0, где pf = [P{, pr{]y причем Pi и Pf —подматрицы размера (v-a)Xa и (v — a)X(v — a) соответственно (мы просто расписали результат транспонирования соотношения A05)). Следовательно, 108 Pi = -P'{Gf{G\TY\ Пусть теперь Рг{ будет единичной матрицей размера (v — a)X X(v —a). Тогда матрица Р{ = [Р'и Р'{], где Pf определяется формулой A08), имеет свой полный ранг и удовлетворяет условию A05).
146 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ Метод Абрамова порождает следующую систему уравнений относительно x(to)y p(t0) (ср. с G4), G5)): 109 x(to) = *o, ПО QAto)x(to) + Q2(to)p(to) = h(to), где матрицы Q\(t0), Q2(t0) размера vXv получаются из решения дифференциального уравнения 111 ¦^-Q(t) = Q(t)A(t)Q(ty[Q(t)Q(t)Nrl-Q(t)A(t) /e[/0, tt]. Здесь Q(t) — матрица размера v X 2v, составленная из двух подматриц Qi(t), Q2(t) размера vXv, т. е. [Q{(t), Q2{t)] = Q(t)]> a A(t) — матрица размера 2vX2v, причем (A(t)\B(t)\ A(t) — \' " : \C(f)\D(Dj и e(W-l-^ to • Значение h(t0) вычисляется путем решения дифференциального уравнения 114 -?h(t) = Q(t)A(t)Q(t)T[Q(t)Q(t)rlh(t) где h(t)<^Rv, d(t) = (—v(t), —w(t)) (вектор-столбец) и 115 Л(*0 Второй вариант решения задачи A00) — A03) наиболее популярен среди американских специалистов. Он состоит в использовании соотношения 116 р @ = К (t) х (t) + q(/), / е= [to, ti], где К(t) — матрица размера vXv и ?(/)gRv. Предполагая, что это соотношение справедливо, находим из A16), A00) и A01), что 117 p(t) + B(t)q(t)-v(t)] + q(t) = C(t)x(t)-D(t)K(t)x(t) где точка над буквой обозначает дифференцирование по L
3.3. НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 147 Приравнивая соответствующие члены в A17), получаем 118 -jL K(t) = - К(t) A (t) - K(t)B(t)K(t) + D(t) K(t) + С it), 119 -^qW^l-WW imqWWW te=[to, til В силу A03) можно положить 120 *('0 = Ф|. НЦ= С другой стороны, можно положить 121 а условие A03) использовать потом. Таким образом, представление A16) возможно, если дифференциальное уравнение A18) (типа уравнения Риккати) имеет решение для одного из заданных наборов граничных условий. Предполагая, что уравнение A18) имеет решения для указанных наборов граничных условий, резюмируем процедуру решения задачи A00) — A03) в виде алгоритма. 122 Алгоритм (решения задачи A00) — (ЮЗ)I). Шаг 1. Для t^[tOy if] вычислить Kit), решая A19) при Шаг 2. Для t е [/0, ^] вычислить матрицу Y it) размера vXv, решая уравнение 123 -JtYit) = [-Kit)Bit) + D it)] Y (/), t e [tOy tf], Y ft) = /, где /—единичная матрица размера v X v. Шаг 3. Для t e [?o> ft] вычислить t 124 Примечание. При граничных условиях A20) (см. E3)J) имеем 125 q(t) = Y it) (GJn + yf) + l (*), t e= [t0, tf]. 1) Если Cf = 0 в A03), то приводимые ниже вычисления значительно упрощаются. 2) Так как мы не знаем я, то не можем вычислить q (t), непосредственно решая A19). Однако, если Gi = 0, эта трудность исчезает*
148 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ Шаг 4. Для t<=[to,t[] вычислить матрицу X(t) размера vXv, решая уравнение 126 -^X(t) = где / — единичная матрица размера vXv. Примечание. Если p(t) определяется соотношением A16), то 127 ^fX(t) = [A (t) + B(t)K (t)] x(t) + B (t) q(t) + v (t), t e= [to, tt]. Следовательно, в силу A25), A26) и E3) имеем 128 x(t) = X(t)xo+ J X(t)X(s)-1[B(s)Y(s)y! + v(s)]ds + 'о + J X (t) X (s)-' В (s) t(s)ds + \ j X {t) X (s)~l Y (s) ds GJn. Шаг 5. Вычислить 129 Xt = X(tf)*o> 130 mf= J X(tf)X(srl[B(s)Y(s)yi + v(s)]ds + X(tt)X(s)-lB(s)l(s)ds9 131 M{= J X(tf)X (s)-lY(s)ds. *o Примечание. Для вычисления я мы пользуемся условием A03). Шаг 6. Положить 132 я = - (GtMfil)-1 (g + Gfy + Gtmf). Шаг 7. Для t^[t0, U] вычислить x(t) согласно A28) и q(t) согласно A25). Шаг 8.'Для /е[/0, U] вычислить p(t) согласно A16). ¦ 133 Упражнение. Разработать алгоритм для решения задачи A00) —A03), использующий уравнения A18), A19) с граничными условиями A21). Ш
3.3 НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 14? 134 Замечание. И метод Абрамова, и алгоритм A22) содержат решение дифференциального уравнения типа уравнения Рик- кати. Некоторые советские специалисты считают, что более вероятно существование решения системы A11), нежели A18), и что система A09), A10) обычно лучше обусловлена, чем система уравнений, приводящая к A32). Американские критики метода Абрамова указывают, однако, что уравнение A11) решать значительно труднее, чем A18), и что, вообше говоря, дифференциальные уравнения в методе Абрамова имеют большую размерность, чем в методе A22). Возможно, эти «географические» различия во мнениях скорее вызваны традиционным предпочтением одного метода перед другим, а не опираются на обширный вычислительный опыт, поскольку, по-видимому^ отсутствуют публикации, содержащие сравнение изложенных двух методов. Интересующийся читатель, возможно, пожелает сам провести 'один-два эксперимента, чтобы решить, какой из двух подходов работоспособнее в изучаемом им классе задач1). В В заключение этого раздела рассмотрим важный частный случай задачи G7) — G9), а именно задачу регулирования линейной динамической системы с квадратичным функционалом, которую, как мы увидим ниже, можно решить до конца. В процессе решения этой задачи мы также установим частный вид уравнения A18), для которого решение существует. Наше изложение опирается на статью Бюси [Б8]. Итак, рассмотрим задачу оптимального управления [г {х(Т), Фх{Т))+ J {x(t)9 Cx(t)) + 1 + {u(t),Ru(t))dt\ при ограничениях -* 1 ои 1. X \tj —^ /\.Х \t) \~ * И yt) у t е—• IU, 1 I, X \}j) ~~~ Х§у (It где, как и прежде, x(t)^Rv, «(/IeR11, a A, F, Ф, С и R—постоянные матрицы размера vXv, vXn, v>(v, vXv n^Xl* соответственно. Мы будем предполагать, что матрица R симметрическая и положительно определенная, а матрицы Ф, С симметрические и положительно полуопределенные. (Заметим, ') Здесь дело не в „географических различиях". Просто метод Абрамова является более общим и поэтому применим к более широкому классу задач. Однако он и более громоздок. Если есть уверенность в существовании решения уравнения A11), то следует применять более простой метод, использующий представление A16). — Прим. ред.
150 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ что, поскольку все матрицы в A35), A36) не зависят от времени, можно, не теряя общности, положить /о = 0и t\ — to=T; ср. G7) —G9).) Для задачи A35), A36) условия (80) —(84) являются не только необходимыми, но также и достаточными и имеют вид 137 Jf-?(t) = Ax (t) + Fu (f), t €= [0, Г], 138 -%fP(t) = CJt(t) — ATp(t)y *€=[0, T]9 140 — Ru (t) + FTp (t) = 0, tt= [0, T]9 где A40) получается из условия (84). Решая A40) относи- тетьно u(t) и подставляя решение в A37), находим, что ?(•), /)(•) должны удовлетворять системе дифференциальных уравнений 141 JLx(t) = Ax (t) + Bp(t), t e [0, Г], 142 1Тр№ = Сх^ ~ Л^ W» 'е t0> rI» 143 л: @) = Jc0, p(T) = — Фх(Т), Где B = FRT~lFT. Отметим, что В — симметрическая и положительно полуопределенная матрица. Пусть X(t, s) для t, 5E[0, T] будет матрицей размера 2vX2v, определяемой уравнением A fAl B \ 144 -? X (t, s) = I j ~ NC (t, 5), /,se [0, Г], X E, 5) = /, \C • A J где/ — единичная матрица размера 2vX2v. Разобьем матрицу X(t, s) на четыре блока размера vXv: 145 X(t,s) = \ Xn(t,s) Xl2(t,s)' X22(t,s), Очевидно, что для любого t^[0, T] 146 х(Т) = Хи(Т, t)x(t) + Xv(T, t)p{t), 147 р (Т) = Хп (Т, t) х (t) + Х22 (Т, t) p @. Далее, в силу A43) 148 р (Т) + Фх (Т) = [ФХп (Т, t) + Хп (Т, t)] х (t) + + [ФХ12 (Т, t) + Х22 (Т, t)] р (t) = 0,
3 3. НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 151 и, следовательно, для /^[0, Т] Ш р (t) = -[ФХ{2 (Г, t) + Х22 (Г, 0Г1 [Ф*п (Г, t) + Х21 (Г, 0] х @, при условии, что матрица, обратная к 150 ЕЦ) = ФХ12{Т, t) + X22(T, f), существует для всех ?е[0, Г]. (Отметим, что матрица Е (Г) невырождена, поскольку Е(Т) — 1 — единичная матрица размера v X v.) Предположим временно, что матрица Е (t) невырождена для всех /е[0, Г]. Определяя матрицу K{t) для /е[0, Т] равенством 151 K{t) = -[OXl2(T, t) + X22(T, t)]-l[<DXu(Ty t) + X2l(T, t)]9 получаем 152 p(t) = K(t)x(t)y fe=[O, T] и, значит, A41) принимает вид 153 -^-x(t) = [A + BK(t)]x(t)9 <e[0, Г], х@) = х0. Далее, из A51) имеем 154 [ФХ{2 (Т, t) + Х22 (Т, t)] K{t) = — [ФХп (Т, t) + Х21 (Т, t)). Дифференцирование обеих частей равенства A54) по t дает 155 [ФХ12(Т, t) + X22{T,t)\ КЦ) + \ФХп(Т,г) + X22(T,t)]K(t)= = -№Xn(T,t)+X2l(T,t)], /e[0, T]. Хорошо известно, что -B\ 156 4rX(T,t) = x(T,t)[ ¦¦¦¦ -f-тг I. t^[о, т], Ат У Таким образом, с учетом A45) получаем из A55) соотношение 157 Ф[-Хп(Т, t)B+Xl2(T, t)AT]K(t) + + [-Хп (Т, t)B + X22 (T, t) AT] К (/) + = -Ф[-Хп(Т, t)A-Xl2(T, t)C]- -[-X2i(T,t)A-X22(T,t)C], которое после приведения подобных членов и умножения обеих частей на E(t)~[ приводит к уравнению (см. A50)) 158 -±кц) = -КЦ)А — АТК (t) — К (t) BK (t) + С, /е[0, Т],
152 3. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ .где граничное условие /((Г) =— Ф вытекает непосредственно \из A51). Отметим, что в случае A(t) = A, B(t) = B, C(t) = C, D(t) = AT уравнение A58) совпадает с A18). Теперь мы покажем, что матрица E(t) в A50) на самом деле невырождена для всех /^[0, Т] и, значит, уравнение A58) имеет решение K(t) для t^[0, Г], которое явно задается формулой A51). 159 Теорема. Для /е[0, /] матрица E(t), определяемая формулой A50), невырождена. Доказательство. Прежде всего заметим, что если x'{f), p'(t) удовлетворяют A41), A42) для t е= [f, Т], где f е= [0, Г], х' {t')=x'Q> Р'(П = Р'О, то 160 -*- (J @, р' @) = (^ р' @, *(t)) + (р'(t), -^х' (ф = = {Сх' (t) - Атр'@, х' (t)) + (р' @, AS (t) + Bp' (t)) = Поэтому 161 J ' @) л. Далее, так как ?(Г) есть единичная матрица / размера л?Х^, то она невырождена. Допустим, что для некоторого tr е [0, Т) матрица E(f) вырождена; тогда найдется такой ненулевой вектор p^GRv, что 162 [ФХ12 (Г, f) + Х22 (Г, О] Р'о = 0. Пусть *'(*), p'(t) удовлетворяют A41), A42) для ts=[f, T] при х/(//) = 0, p'(t') = p'Q. Тогда должно быть 163 *' (Т) = Х12 (Г, О р'о, р' (Г) = Х22 (Г, О р'о и, значит, в силу A62) 164 Фх'(Т) + р'{Т) = 0. Однако в силу A61) должно быть 165 0 = - (// (Г), jf (Г)> + @, ро) +
3.3. НЕПРЕРЫВНОЕ ОПТИМАЛЬНОЕ УПРАВЛЕНИЕ 15$ С помощью A64) получаем т 166 о = (х' (Г), Фд/ (Т)) + J (*' (О, Сх' @> + (p' (О, Вр' (*)) Л, *' * а так как по предположению матрицы В, С и Ф симметрические и положительно полуопределенные, то из A66) следует, что 167 Фх'(П = 0, С*'@ = 0, Яр'@ = 0, /<=[/', Г]. Но условие Сл/@ = 0 при / е [/', Г] влечет за собой 168 JJ-p'fl^^-ATp'it), t^[t\ T}9 откуда 169 р'@ = ехр[-(Г —П^Пр^О. Далее, из условий A64) и A67) имеем 170 р'(Г) = -ф^(Г) = 0, вопреки A69). Таким образом, единственный вектор р'о, для которого A62) может выполняться, это нулевой вектор, т. е. матрица E{t) для всех ^е[0, Т] невырождена. ¦ 171 Упражнение. Показать, что матрица K(t), определяемая уравнением A58), симметрична и отрицательно полуопределена для всех *^[0, Т]. Ш На этом мы заканчиваем исследование задач оптимизации без ограничений и краевых задач, возникающих в теории оптимального управления.
4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ 4.1. Методы штрафных функций Теперь мы возвращаемся к задачам минимизации с ограничениями, а именно к задачам вида A.1.1), A.1.3) и A.1.8). Большинство результатов настоящего раздела относится к задаче нелинейного программирования A.1.1) и к задаче дискретного оптимального управления A.1.3), представленной в форме A.1.1). Исследование задачи непрерывного оптимального управления A.1.8) существенно более трудоемко, чем рассмотренных выше конечномерных задач, и мы ограничимся только описанием некоторых наиболее важных результатов *). Для удобства изложения методов штрафных функций запишем задачу нелинейного программирования A.1.1) в более компактном виде: 1 (СР) min{/°(z)|z^Cc=R»}, где функция f°: Rrt->R! непрерывно дифференцируема, а С — замкнутое множество в пространстве R". Основная идея методов штрафных функций состоит в решении задачи A), которую мы будем называть (СР), с помощью последовательности точек zt e R", соответствующих оптимальным решениям последовательности задач минимизации без ограничений вида 2 (UP), min{fQ(z) + Pi(z)\z<=Rn}, / = 0, 1,2,.... Эти задачи, которые мы будем называть (UP)*, строятся так, чтобы Zi->z^C при /->оо, где z— оптимальное решение задачи (СРJ). Имеются два главных, в основе своей различных, подхода к построению задач (UP),, или, точнее, к построению штрафных функций рь (•). Первый подход, известный как метод внешних штрафных функций, был предложен Ку- 1) С методами нелинейного программирования можно ознакомиться, например, по работам Демьянова и Рубинова [*ДЗ], Еремина [*Е2], [*ЕЗ], Поляка [*П11], Пшеничного [*П18]. — Прим. перев. 2) СР — первые буквы английских слов «constrained problem» (задача с ограничениями), a UP— «unconstrained problem» (задача без ограничений).— Прим. перев.
4 1 МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 155 рантом [К12] в 1943 г., когда почти все хорошо известные сейчас алгоритмы нелинейного программирования еще только разрабатывались. В методе внешних штрафных функций штрафы Pi(-) выбираются так, что точки вне С последовательно по мере возрастания / становятся все более «невыгодными» и либо Pi(z) = 0 для всех геС, либо pi(z)—>0 при / -> оо для всех г?С. При изложении методов внешних штрафных функций мы будем следовать работе Зангвилла [32], а не более ранней работе Куранта, посвященной специально решению задач для дифференциальных уравнений. Второй подход называется методом внутренних штрафных функций. В нем штрафные функции рь (•) выбираются так, чтобы оптимальные для задач (UP)* точки zt принадлежали внутренности С0 множества С, причем f° (z) + pt (z) -> f° (z) при / -> oo для всех 2 из С° и /° (z) + Pi (z) -> оо при приближении изнутри к границе множества С. Благодаря последнему свойству функций pi (•) методы внутренних штрафных функций известны также как барьерные методы, поскольку в процессе решения задачи (UP)* они «отталкивают» от границы множества С точки г, / = 0, 1, 2, ..., построенные любым из рассмотренных в предыдущей главе алгоритмов. Поэтому начальная точка z, используемая при решении (UP)*, должна выбираться из С°. Наше изложение методов внутренних штрафных функций будет опираться на работы двух хорошо известных в данной области специалистов Фиакко и Мак-Кормика [Ф2], [ФЗ]1)- Между прочим, их книга [ФЗ] дает наиболее исчерпывающее описание методов штрафных функций по их состоянию на сегодняшний день, и мы рекомендуем ее читателю для дальнейшего чтения. Как мы увидим далее, существует много ситуаций, когда имеет смысл комбинировать методы внешних и внутренних штрафных функций и создавать смешанные методы. Для более подробного ознакомления с этим вопросом читатель может обратиться к книге Фиакко и Мак-Кормика [ФЗ] и к работе Лутсмы [ЛЗ]. Мы будем излагать материал следующим образом: сначала установим свойства, которыми надо наделить штрафную функцию, чтобы гарантировать сходимость оптимальных решений zt задач (UP)f- к оптимальной точке задачи (СР), затем исследуем вычислительные аспекты методов штрафных функций и, наконец, обсудим применение этих методов к задачам оптимального управления. 1) Для более подробного ознакомления с идеями и методами теории штрафных функций см. работы Гермейера [*T1J, Еремина [*Е2], Поляка 1*П12], Разумихина [*Р1]. — Прим. ред.
156 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Методы внешних штрафных функций Причина, по которой в заголовке использовано множественное число (методы, а не метод), состоит в том, что выборы различных семейств штрафных функций /?,(•) в B) приводят к различным алгоритмам. Таким образом, методы внешних штрафных функций образуют целый класс. 3 Определение. Пусть С — замкнутое множество в R71. Последовательность непрерывных функций р\\ R"->R!, / = 0, 1, 2. ..., Рис. 8. Внешние штрафные функции. называется последовательностью внешних штрафных функций для множества С, если 4 5 6 7 для всех 2gC, / = 0, 1, 2, ..., для всех гфС, / = 0, 1, 2, ..., для всех гфС, / = 0, 1, 2 при /->оо для всех гфС. Рассмотрим задачу (СР), определяемую A), и пусть р[(-)> i = 0, 1, 2, ..., будет последовательностью внешних штрафных функций для множества С в A). Введем последовательность задач минимизации без ограничений (UP)*: 8* (UP)* min[f*(z) + p;B)|2GRtt), / = 0, 1, 2, ... l). Чтобы гарантировать существование решения и задачи (СР), и всех задач (UP)^, достаточно сделать следующее предположение: 2) Верхний индекс «е» — первая буква английского слова «exterior» (внешний). — Прим. перев.
4 1. МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 157 9 Предположение. Мы будем предполагать, что существует такая точка z'^ С, что множество Z' = {z \ f° (z) ^ f° (z')} компактно. ¦ 10 Упражнение. Показать, что в предположении (9) задача (СР) должна иметь решение и все ее оптимальные точки должны лежать в Z'. Показать также, что в предположении (9) множество {z |f°(z) + Pi(z)<f°(г')} для / = 0, 1, 2, ... компактно и содержится в Z'. Вывести отсюда, что для * = 0, 1,2,... каждая задача (UP)e должна иметь решение й все ее оптимальные точки должны лежать в Z'. ¦ Теперь мы установим две леммы, с помощью которых затем докажем теорему сходимости для методов внешних штрафных функций. 11 Лемма. Рассмотрим задачи (СР) и (UP)*. Пусть т и ть г = 0, 1, 2, ..., определяются равенствами 12 m = mm{f°(z)\z<==C}, 13 т. Тогда mo^mi^m2^ ... ^т. Доказательство. Пусть 2f g Rft, / = 0, 1, 2, ..., — оптимальное решение задачи (UP)^, т. е. Н m. = f°(z,) + p;(Z;), / = 0, 1, 2, .... Тогда из D) и F) следует, что для / = 0, 1, 2, ... 15 mt < /о (г|+1) + р\ (zi+l) < /»(г|+1) + р'1+х (г|+1) - ml+v Далее, из D) и A3) вытекает, что 16 m.<f°(z) + р\(z) = f°(z) для всех 2gC и, значит, 17 mi^mm{fo(z)\ze=C}=m. Ш 18 Лемма. Пусть С — замкнутое множество в R", #(•)> г = 0, 1, 2, ..., — последовательность штафных функций для С, а г,-, / = 0, 1, 2, ..., — последовательность в R", сходящаяся к z. Если Zt^C для / = 0, 1, 2, ... и существует такое число М < оо, что ^(ef)<M для / = 0, 1, 2, ..., то z^C. Доказательство. Проведем доказательство от противного. Предположим, что г не лежит в С. По условию существует такое
158 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ число М < оо, что рЦг.)е (О, М] для / = 0, 1,2, Поскольку гф С, из G) следует, что ^(<г)->°о при /->оо. Поэтому существует такое целое число N', что p'N,{z)> 2M. Более того, так как функция p'N,{m) непрерывна, найдется такой открытый шар В с центром z, что 19 p'N, (z) > -*у- для всех z^B. Отметим, что В П С — пустое множество, поскольку p'N,(z) = O для всех z^C. Так как zt->z при /->оо, то существует такое целое число N", что zt^B для всех i^N". Обозначим N = max{W, N"}; тогда zt^B для всех /^Л/' и, кроме то^ в силу F) и A9) 20 ¦ P'^i)>P'N^i)>^' а по условию леммы p^z^^M. Итак, z^C. Ш Теперь мы готовы сформулировать и доказать один из наших основных результатов. 21 Теорема. Рассмотрим последовательность задач (UP)®, определяемых (8), и пусть выполнено предположение (9). Если zt — оптимальное решение задачи (UP)^, / = 0, 1, ..., то любая предельная точка последовательности {^}°10 является оптимальным решением задачи (СР), определяемой A). Доказательство. Не теряя общности, можно считать, что последовательность {^}Цо СХОДИТСЯ к точке «г. Далее, существуют две возможности: (i) найдется такое целое число УУ^О, что 2(-еС для всех i^N, (ii) такого целого числа N нет. В последнем случае последовательность {2/}!10 должна содержать бесконечную подпоследовательность точек zt, /e/C^z с= {0, 1, 2, ...}, не лежащих в С. Допустим, что осуществляется возможность (i). Так как множество С замкнуто, то 2GC и (см. (И)), поскольку рЦг.) = О для каждого i^N, должно быть mi = m для i^N (так как f°(z) = f°(z) + p'.(z) для всех z<=C), т. е. zt для i^N является оптимальным решением также и задачи (СР). Поскольку функция /°(-) непрерывна, zt->z и f°(zt) — m, i>N, должно быть f{z) — tn, т. е. z — оптимальное решение задачи (СР). Допустим теперь, что осуществляется возможность (ii). Так как Zi-+z при /->оо, /е/С. и функция fd{-) непрерывна,
4 1 МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 159 то f°(Zi)->f°(z) при /->оо. Поэтому существует такое число ЛГе@, оо), что 22 I f° (Zi) | < М' для всех / е= /С. Следовательно, так как rat. = /° (?,-) + р'.(г.}^т для i^K, то по лемме A1) 23 /?^ (г,) <; m + ЛГ для всех 1^ку так что последовательность p?(z,), i^K, ограничена числом М = т + ЛГ. Тогда из леммы A8) вытекает, что 2?Си, значит /°B)>т. Но так как /°(z.)</rc — pj(z?) и />J(z,)>0 для / е /С, то, полагая /-> оо, получаем f°(z)^.m. Таким образом, f° (z) = m, т. е, 2 — оптимальное решение задачи (СР). в 24 Упражнение. Пусть последовательность {^}Ц0 определяется теоремой B1). Показать, что если Zj^C, то zt<=C для всех i^j. ¦ 25 Упражнение. Пусть функции ff: R^-^R1, /=1, 2, ..., m, непрерывны и 26 C=|2|f/(z)<0> /=1, 2, ..., т). Показать, что функции р^: R^-^R1, / = 0, 1, 2,..., определяемые равенствами 27 Pfi(z) = ai%[max{ft(z),O}]*, / = 0, 1, 2, ..., где Р^1, а аь / = 0, 1, 2, ..., — строго возрастающая последовательность положительных чисел, стремящаяся к оо при /->оо, образуют последовательность внешних штрафных функций для множества С, заданного соотношением B6). ¦ 28 Упражнение. Пусть функции f (•) в B6) непрерывно дифференцируемы и р^2. Показать, что тогда функции р\{-), определяемые равенствами B7), также непрерывно дифференцируемы. ¦ 29 Упражнение. Пусть функция г: Rrt->Rm непрерывна и 30 C={z|r(z) = 0}. Показать, что функции pft(-), / = 0, 1, 2, ..., определяемые равенствами / т \р/2 31 р\ (z) = а.\\ г (z) \f = at (Jj (r! (^)Jj , / = 0, 1, 2, ...,
160 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ где P^l, a ah / = 0, 1, 2, ..., — строго возрастающая последовательность положительных чисел, стремящаяся к оо при /->оо, образуют последовательность внешних штрафных функций для множества С, заданного соотношением C0). Показать также, что функция/?^-) непрерывно дифференцируема, еслиг(-) непрерывно дифференцируема и р>2. ¦ 32 Упражнение. Пусть {P-(')}°LO и [Р'А ' )}^=ю — последовательности внешних штрафных функций для С и С соответственно. Показать, что [р\ (•) + р\( • )}!^0 и {min jpj (•), р^(-)}}°° —последовательности внешних штрафных функций для С(]С и CIJC соответственно. ¦ 33 Замечание. G помощью внешних штрафных функций можно не только преобразовать задачу минимизации с ограничениями в последовательность задач минимизации без ограничений, но также и устранить ограничения, неприемлемые с точки зрения тех или иных алгоритмов. Допустим, что мы хотим решить общую задачу нелинейного программирования A.1.1), т. е. найти min{/°(z)|r(z) = 0, f(z)^O), где функция г(-) не является аффинной. Фактически все описанные ниже методы нельзя применить к этой задаче в силу нелинейности ограничения r(z) = Q. Если же {pJ(-)}^_ —последовательность внешних штрафных функций для [z\r(z) = Q}, то при соответствующих предположениях можно использовать ряд методов для решения последовательности задач вида min [f°(z) + p\(z) \f(z) ^0}, / = 0, 1, 2, ..., и получить тем самым решение исходной задачи. Устранив с помощью штрафных функций некоторые из ограничений (не обязательно все), мы уже можем надеяться на улучшение вычислительных свойств процесса (улучшение «обусловленности». ¦ 34 Упражнение. Рассмотрим задачу A.1.1), т. е. min{/°(z)| r(z) = 0, /(z)^?0}> гДе все функции непрерывно дифференцируемы. Пусть {pj (•)}!! —последовательность внешних штрафных функций для {z|r(z) = 0}. Рассмотрим последовательность задач (Pt): mm{f(z) + p^(z)\f(z)^0}, / = 0, 1, 2, Дать достаточные условия того, что задача A.1.1) и задачи (Pi) имеют решения. Показать, что если точка zt — оптимальное решение задачи (Рг), то любая предельная точка последовательности {zj)Jl0 является оптимальным решением задачи A.1.1). ¦
4.1. МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 35 Упражнение. Рассмотрим задачу 36 (CP)L где L — банахово пространство, С — замкнутое множество в L и /°: L-^R1— непрерывная функция. Показать, что все представленные до сих пор результаты остаются справедливыми для задачи (CP)L, если в C), (8), A0), A1), A8), B1) и во всех предыдущих упражнениях заменить R" на L. ¦ 37 Упражнение. Рассмотрим задачу непрерывного оптимального управления: т 38 минимизировать J || x (t) — xr (t) |p dt о при ограничениях 39 -тг х (t) = Ах (t) + Bu (t), *€=[(), Г], т 40 j\\u(t)\ о где А, В — постоянные матрицы, а х'(>) — заданная номинальная траектория. Показать, что, полагая L = L2[0, Г], л-t Г> \ It ( \ С~~ J ^ и определяя р?(*) равенством 42 р\ (и) = а. max {(|| и Щ — v), 0}, где аг-, / = 0, 1, 2, ..., — строго возрастающая последовательность положительных чисел, стремящаяся к оо при /~>оо, мы получаем последовательность задач без ограничений вида т 43 минимизировать J || x (t; и) — х' (t) \\2 dt + о г т > + at max \ v о при и(-)€=1?[0, Г], / = 0, 1, 2, ...$ i i t решения которых и( •) и соответствующие траектории х( •; и) могут сходиться при i-^oo к оптимальному решению й(-) и 6 Э. Полак
162 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ оптимальной траектории %( •) задачи C8)—D0). В D3) мы обозначили через x(t\ и) решение уравнения C9) в момент t при заданном начальном состоянии ?0 и фиксированном управлении и (г). а Методы внутренних штрафных функций Изложим теперь методы внутренних штрафных функций для решения задачи (СР), определяемой A). Как и в случае методов внешних штрафных функций, представленные результаты тривиально обобщаются на бесконечномерную задачу (CP)L, определенную в упражнении C5), если заменить R* на L во всех приведенных ниже утверждениях. 44 Предположение. Мы будем предполагать, что (i) множество С в A) замкнуто, т. е. имеет внутренние точки и замыкание его внутренности С° совпадает с С, т. е. С° = С ф 0, и (и) выполнено предположение (9). В Рис. 9. Внутренние штрафные функции. Роль предположения (i) в D4) заключается в том, чтобы из множеств, определяемых ограничениями, исключить множества с «усиками», такие, как, например, множество 45 {2|(||г_С||2_||г||2)((ГJ_с)_||г||2 в R", состоящее из шара радиуса ||г|| с центром в точке с и касательной, ортогональной к г и проходящей через точку с + г. Необходимость в этом предположении вызвана тем, что методы внутренних штрафных функций строят последовательность в С°, так что с их помощью нельзя найти точку, расположенную на «усике».
4 1 МЕТОДЫ ШТРАФНЫХ ФУНКЦИИ 163 46 Определение. Пусть С — множество b.R", для которого предположение D4) выполнено. Последовательность непрерывных функций р"\ C°->R1, / = 0, 1, 2, ..., называется последовательностью внутренних шрафных функций для множества С, если 47 0<p"+l(z)<p"{z) для всех геС°, / = 0, 1, 2, . ав> 48 р"(г)->0 при /->оо для всех геС°, 49 Pi(z)->°o при /->оо для любой последовательности {г}е=С°, для которой 1 * 1,1, .... П ~* (В D9) <9С обозначает границу множества С.) Ш Рассмотрим последовательность задач (UP)): 50 (UP); min {/°(z) + pj(z)|zsC°}, / = 0,1,2,... I)^ где pj(-) — внутренние штрафные функции для С в A). 51 Лемма. Рассмотрим задачи (UP)'., определяемые E0), к предположим, что существует такая точка 2г/еС, что множество [z If°(?)<;f°(г") + p"{z")} компактно. Тогда для /==0^ 1, 2,... существуют точки Zj^C0, минимизирующие /°(<г)Н~ + p'f(z) на С°. Доказательство. Пусть z"^C° будет точкой, о которой говорится в условии леммы, и пусть 52 С, == {г €= С° |/° (z) + pj (z) < Г {г») + pf\ (z")}, / = 0, 1,2 Тогда Cf содержится в компактном множестве Z'= [z \f°(z) <T ^f°(z") + Р'о (z")}- Далее, пусть последовательность {^)J1O cz С/ такова, что Zi->z* при /->оо. Тогда в силу D9), а также в силу непрерывности функций f°(-) и /?"(•) точка z* принадлежит Cfy т. е. множество Сf замкнуто. Следовательно, С, компактно и, значит, существует точка zf в Cfy доставляющая минимум функции f° (z) + p'f (z) no z e Сг Но для всех точек геС°, не принадлежащих Су, выполняется неравенство /° (z) + Руг С2) > f°(z") + p'f(z")9 т. е. 2у — оптимальное решение для (UP)). ¦ 1) Верхний индекс «i» — первая буква английского слова «interior» (внутренний). — Прим. перев.
164 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ о 53 Упражнение. Пусть мы имеем точку z e С°. На практике функции р"(-) определяются при всех 2GR", гфдС, и для возможности применения любого из описанных в разд. 2.1 алгоритмов решения задач (UP)j, / = 0, 1, 2, ..., необходимо слегка модифицировать подпроцедуры выбора величины шага, чтобы гарантировать, что выстраиваемые последовательности остаются в С°. Модифицировать также подпроцедуры B.1.14), B.1.33) и B.1.36) в алгоритмах B.1.16), B.1.19) и B.1.35) соответственно. Удостовериться, что полученные модификации приводят к алгоритмам, для которых остается справедливым заключение теоремы B.1.22). ¦ 54 Теорема. Пусть zJy / = 0, 1, 2, ..., — оптимальное решение задачи (UP)*. Тогда при условии, что D4) выполнено, каждая предельная точка z последовательности {z/}!L0 является оптимальным решением задачи с ограничениями (СР) *)• Доказательство. Положим для / = 0, 1, 2, ... 55 bf = min{P(z) + p';(z) 56 6 = min{f°(z)|2e=C}. Тогда в силу D7) 57 Ограниченная монотонно убывающая последовательность {bf} должна сходиться к некоторому пределу b'^b. Предположим, что bf > b. Пусть z — оптимальное решение задачи (СР). В силу непрерывности функции f°(-) и в соответствии с пунктом (i) предположения D4) найдется такой открытый шар В с центром в точке <г, что В (] С° Ф 0 и для всех z" e В 58 Возьмем теперь любую точку z" в В ПС0. Поскольку, согласно D8), р" {z") —> 0 при / ~-> оо, найдется такое целое число N> что для всех 59 1) Мы называем задачи (UP)j задачами без ограничений, поскольку их можно решить простыми модификациями алгоритмов из разд. 2.1; см. упражнение E3).
4 1. МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 165 -и, значит, для всех j^N 60 Ъ, < /° (г") + р" ft') <b'- ^±L, а это противоречит тому, что bf-*b'. Следовательно, должно быть V = 6. Далее, пусть z* — произвольная предельная точка последовательности [Zj}*^, т. е. zf-+z* при /-><*>, /e/Ccz {0,1,2, ...}. Предположим, что г* не является оптимальным решением, задачи (СР). Тогда /°(г*)>6, и потому последовательность {[^0(г/) — Ч^Р/Ч2/)}1 ^ е ^' не может сходиться к нулю, а это противоречит тому, что Ъ} — &->0 при j->oo. Следовательно, должно быть /°0г*) = &, т. е. z* — оптимальное решение задачи (СР). ¦ 61 Упражнение. Пусть функции f: R^-^R1, /=1, 2, ..., m, непрерывны. Рассмотрим множество 62 С = И/'(г)<0, /=1, 2, ..., m}. Пусть выполнено предположение D4), т. е. f(z)<0, /=l, 2, ..., т, для всех геС° и а7, / = 0, 1, 2, ..., — строго убывающая последовательность положительных чисел, стремящаяся к 0 при /—>оо (ccj I 0). Показать, что внутренние штрафные функции для С могут определяться по крайней мере следующими двумя способами: 63 р»(г) = -*^у^9 2SC°, / = 0, 1, 2, 64 р;(г) = ~а/2 / , /==0,1,2,..., причем F4) определяет штрафную функцию только тогда, когда М = max(— min f (z)) < oo. ¦ / zee 65 Упражнение. Рассмотрим снова задачу оптимального управления C8) — D0). Показать, что ее решением является пре- .дельная точка й (•) последовательности и (•) е 1% [0, Г], каждый
166 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ элемент которой есть оптимальное решение следующей задачи без ограничений: (t) f dt J р т г т 66 минимизировать J ||х(*; и)—х'(t) \\2dt—tx; log — vj\\ u о L о при u(-)<=lJ2[0yT]y / = 0, 1, 2, ..., где ау > 0(/-> oo)—строго убывающая к нулю последовательность. ¦ Комбинированные методы штрафных функций Как мы сейчас покажем, при соответствующих предположениях методы внешних и внутренних штрафных функций можно комбинировать, в результате чего получится смешанный метод решения задачи (СР), определяемой A). 67 Предположение. Мы будем предполагать, что (i) мнсже- ство С в A) имеет вид С = С П С",_где С замкнуто, а С" замкнуто и удовлетворяет D4), т. е. С//О = С//; (и) выполнена предположение (9); (ш) по крайней мере для одной точки геС, являющейся оптимальным решением задачи (СР), найдется такой открытый шар JS, что JgBh множество В П С П С"° не пусто, ш Рассмотрим последовательность задач оптимизации без ограничений 68 (UP)? шт{Р(г) + р^2) + р^(г)\г^С^}, /==0, 1,2, ... ^ Здесь р[(-)—внешние штрафные функции для С, р"(•)—внутренние штрафные функции для С", где множества С и С" определены в F7). 69 Упражнение. Предполагая, что существует такая точка /gC//0, что множество [z I /° (z) < /о (*") + р'о (z") + pi (г")} компактно, показать, что существует точка г^^С//о, / = 0, минимизирующая f° (z) + p'{ (z) + p" (z) по 2gC//0. [У См. лемму E1).] ¦ 70 Теорема. Пусть z,-, /==0, 1, 2, ...,—оптимальное решение задачи без ограничений (UP)J". Тогда при условии, что F7) выполнено, каждая предельная точка последовательности {2*{°L<> является оптимальным решением задачи с ограничениями (СР), определяемой A). *) Верхний индекс «т» — первая буква английского слова «mixed» (сме~ шанный). — Прим, перев.
4 1 МЕТОДЫ ШТРАФНЫХ ФУНКЦИИ J57 Доказательство. Не теряя общности, мы будем считать, что zt-+z при /—>оо. Покажем, что z e С. Так как по предположению F7) множество С" замкнуто, то z e С". Допустим, что гфС. В силу пункта (ш) предположения F7) существует точка 2"€=С'ПС"°. Для этой точки z" по определениям C) и D6) должно быть 71 /° (z") + р; (z") + р? {г") -> /° (z") при / -* оо (на самом деле p/i(zf/) = 0 для / = 0, 1, 2, ...). Тогда для любого заданного числа 6>0 найдется такое целое число Af'^O, что 72 р (z") + р\ {г") + p'{ (z) < f*iz") + б для всех / > N\ Далее, поскольку z&C, найдутся такое целое число N" и такой открытый шар В с центром в точке z, что 73 f°(г) + р\(г) > /°(z^) + б для всех геВ, />ЛГ. (Ср. с доказательством леммы A8).) Поскольку zt—>z, найдется такое целое число ЛГ^^О, что zt gB для всех i^N'". Пусть УУ = тах{ЛГ, Л^г/, N"')\ тогда для всех /^Л^ 74 /о (z?) + pj (z.) + р7 (z,) > f° (^ + б > f° (z") + р\ (г'О + pf (г'О, что противоречит оптимальности точек гь i^N. Следовательно, z e С. Предположим теперь, что г не является оптимальным решением задачи (СР). Тогда в силу пункта (ш) предположения F7) существуют точка г е С, являющаяся оптимальным решением для (СР), и такой открытый шар В с центром в точке г, что 75 /° (z*) < /° (&) для всех г^ s fi, поскольку функция /°(«) непрерывна и f°(z) > f°(z). Пусть г* — произвольная точка множества В[\С[\С"°, не пустого в силу пункта (ill) предположения F7). Тогда, согласно D8), при /->оо 76 f> (z*) + pj (z*) + pi (г*) = /° (z*) + p7 (z*) -> f° (z*) < f° B). Далее, поскольку в силу D7) для / = 0, 1, 2, ... 77 Г> (гй) + pi (*,) + р7 («,) < f° (z*) + РГ (z*) < /° (г*) + Р?(г*) и поскольку pJ(z,)>0, pJ'B/)>° И последовательность /°(^), / = 0, 1,2,..., ограничена, существует такая подпоследова-
168 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ тельность Р{г.) + р^(г,) + рЦг.)у i е= #с= {О, 1, 2, ...}, что'> (так как f>(г,)->f»(z)) 78 /° (г,) + pi (г.) + р? (г.) -> 6 > /° (г) при * — оо, / е= tf. Но тогда G6) противоречит оптимальности точек 2^ для достаточно больших iy i e /С. Следовательно, точка 5 должна быть, оптимальным решением для (СР); ш Вычислительные аспекты Предыдущие теоремы устанавливают основные свойства методов штрафных функций: при достаточно слабых предположениях они строят последовательности, сходящиеся к точкам,, оптимальным для задачи (СР), определяемой A). В то же время все приведенные результаты опираются на значительную идеализацию ситуации, поскольку мы предполагаем, что можем решать задачи минимизации без ограничений (UP)*, /=0, 1,2,... (здесь отброшены верхние индексы е, i и т, характеризующие- принадлежность к методам внешних, внутренних штрафных функций и к методам комбинированного типа соответственно). Будем по-прежнему некоторое время предполагать, что мы умеем решать задачи (UP)*, причем с помощью алгоритмов, изложенных в разд. 2.1. Здесь мы обсудим две вычислительные проблемы. Первая из них состоит в решении вопроса о «начале и конце», или, точнее, о прерывании процесса построения минимизирующей последовательности [гг\. Вторая проблема касается относительных достоинств представленных: выше различных методов штрафных функций. Пусть задано число г > 0 и мы хотим найти такую точку z>. что \f°(z) — m|<8 и d{z, C)<8, где m = min {f°(z) |ze=C} и ^(., .) — соответствующим образом определенная функция расстояния. Все методы штрафных функций строят точки ZiY являющиеся оптимальными решениями для (UP)*; при этом. f°(Zi)->m и либо zt принадлежат С, либо Zf^z^C. Таким образом, в принципе существует такое целое число /,. что точка Zj удовлетворяет нашим требованиям. Предположим^ что это целое число /, которое на практике оказывается очень большим, нам известно, и допустим, что мы хотим найти минимум функции P(z) + pf(z), исходя из некоторого начального- о приближения z, с помощью одного из алгоритмов гл. 2, тре- 0 бующего вычисления градиента. Весьма вероятно, что f°(z)> 1) Поскольку zt -> % при i -> оо, а функция /° (•) непрерывна, найдется* такое число Р< оо, что | /° (zf.) | < р для i = 0, 1, 2
4 1 МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 169 (будет слишком мало по сравнению с Pj(z), если /?/(•)— внешняя штрафная функция, или слишком велико, если Ру(-) — внутренняя штрафная функция1). Если все расчеты проводятся на ЭВМ с конечной разрядной сеткой, то это может привести к сильной потере точности в вычислениях. Предположим теперь, что мы начинаем со штрафа умерен- 0 О ной величины, так что df°(z)/dz и dpi(z)/dz соразмерны. Тогда процесс вычисления zt как предельной точки последователь- 0 1 2 ности ?, г, г, ... осуществится с много большей эффективностью и точностью. Полагая pt (•) = а/р( •), как мы это уже в свое время делали в B7), C1), F3) и F4), и вычисляя zt из условия df°(Zi)/dz + a* dp(Zi)/dz—0, мы можем построить pi+{ (•), •выбирая число а^+1 лишь слегка отличным от at- и таким, чтобы ^df°(Zi)/dz и dpi+i(Zi)/dz также не сильно изменились по вели- о -чине. Тогда, положив z — zi9 мы обеспечим при расчете zi+x хорошие свойства вычислительного процесса. Итак, обычная практика состоит в том, чтобы начать со штрафа умеренной величины и затем увеличивать его в процессе вычислений. Более того, эта практика диктуется тем, что, как правило, нельзя заранее найти упомянутое выше значение /. Но, как только построена часть минимизирующей последовательности, г0, zu г2, ..., zNf можно, как это показано в [ФЗ], попытаться отыскать оптимальное решение z задачи (СР) *с помощью экстраполяции, а именно: пусть pt (•) = щр (•); тогда можно получить хорошую оценку для z, минимизируя f°(z(t)) на z(t)^C, где z (t) — кривая, построенная с помощью интерполяции по имеющимся точкам zt\ 79 2 (t) = z0 + tax + t2a2 + t*a3 + ... + tNaN, t > 0, где векторные коэффициенты а}^Цп, /=1, 2, ..., N, определяются из решения системы линейных уравнений SO 2(а*) = 2ь /=1, 2, ..., N. «Оптимальное» t будет удовлетворять условию t>aN и шочти наверняка будет таким, что z(t) окажется на границе множества С. Его можно найти, например, с помощью методов одномерного поиска, таких, как метод золотого сечения B.1.14). Таким образом, с точки зрения и начальной стадии процесса, .использующего штрафные функции, и его остановки кажется 1) Соотношения B7), C1), F3) и F4) показывают, что та же несоразмерность, вероятно, имеет место и для величин градиентов этих функций.
170 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ целесообразным строить умеренное, а не малое число точек zir оптимальных для задач (UP)*. При решении вопроса о выборе наиболее подходящего метода для конкретной задачи читатель может руководствоваться следующими соображениями. Методы внешних штрафных функций обладают тем преимуществом, что для них в качестве о начального приближения можно .выбрать любую точку г и мож'но применить их к задачам с ограничениями как типа равенств, так и типа неравенств. Кроме того, если штрафная функция имеег вид B7) и в процессе решения задачи миними- зации без ограничений мы нашли точку z, для которой fJ(z)^.Or то из суммы B7) исчезает соответствующий член и его производные не входят в выражение для градиента функции i f°(z) + p'f(z) в точке z = 2. Это упрощает расчеты. Недостаток методов внешних штрафных функций связан с тем, что они строят недопустимые, т. е. не принадлежащие множеству С> точки. Кроме того, штрафные функции вида B7) дифференцируемы небольшое число раз, что, согласно Фиакко и Мак- Кормику [ФЗ], может неблагоприятно сказываться на скорости сходимости. Наконец, если вычислительный процесс начинается о из точки z, внутренней для множества вида B6), то штрафная функция и все ее производные остаются равными нулю до тех пор, пока точка z не пересечет границу множества С. Это делает вычислительный процесс во внутренности множества С неуправляемым. С другой стороны, внутренние штрафные функции порождают последовательности только допустимых точек, имеют о5ычно производные достаточно высокого порядка и обеспечивают управление вычислительным процессом во внутренности множества С. Перечислим теперь их недостатки. Методы внутренних штрафных функций можнс использовать лишь для ограниченного класса множеств С (а именно множеств С, содержащих внутренние точки). Процесс должен начинаться только из внутренней точки множества С. Если множество С имеет вид F2), то все члены штрафных функций тица F3) или F4) всегда дают ненулевой вклад в величину градиента штрафной функции. Это сильно усложняет вычисление градиента штрафной функции по сравнению с вычислением его методами внешних штрафных функций. Наилучшие результаты дает комбинация методов внутренних и внешних штрафных функций. Задавая начальное при- о ближение z для задачи (СР) и полагая С= [z |/;(z)^0, /=U
4! МЕТОДЫ ШТРАФНЫХ ФУНКЦИИ 171 2, ..., т, r'(z) = 0, /=1,2, ..., /}, можно назначить внешние штрафы за нарушение ограничений гу(г) —О, у—1, 2, ..., /, о и за нарушение ограничений fJ(z)^O, когда /;(г)>0. Можно, кроме того, назначить внутренние штрафы для тех ограниче- о ний /;' (z) < 0, для которых /; (г) < 0. [Запишите С = С1(]С2() .. . С1С' СиС^\1 )С[р и воспользуйтесь результатами упражнения C2).] До сих пор мы обсуждали методы штрафных функций, считая, что мы умеем точно и за конечное время решать на ЭВМ задачи минимизации без ограничений (UP)/. Однако, как мы видели в предыдущих главах, разнообразные методы безусловной минимизации позволяют, как правило, найти только стационарные точки. Более того, для отыскания этих точек они обычно требуют бесконечного числа итераций. Поэтому буквальное использование описанных методоз штрафных функций неосуществимо, так как мы не можем за конечное время доэиться даже минимизации функции f°(z) + po(z) no z<^Rnl). Следовательно, при приближении к минимуму или к стационарным точкам функции /°(•) + Pi ( •) мы должны использовать процедуры прерывания. Кроме того, если мы собираемся применять для минимизации функции /°( •) + #(•) методы, которые могут вычислять только такие точки ziy что V/°(Zf) + + ^P;te) = 0, то должны изучить свойства предельных точек последовательности [zi\. Сейчас мы предложим две процедуры прерывания, одну для внешних, другую для внутренних штрафных функций, и установим свойства этих процедур в некоторых частных случаях. Итак, вновь рассмотрим задачу (СР), определяемую A), и предположим, что множество {г|/°(г)^а} компактно для всех fleR1. Пусть A/е,«)/?'(•)> / = 0, 1, 2,..., — последовательность внешних штрафных функций для С в A). Мы будем предполагать, что функции f°(-) и //(•) непрерывно дифференцируемы и et =е/р', где в> 0 и р > 1. Приведем алгоритм типа штрафных функций первого порядка для «решения» задачи (СР). S1 Алгоритм (модифицированный метод внешних штрафных функций, Полак [П5]). о Шаг 0. Выбрать г > 0, ое@, 7г), Р > 1, Р>0 и zgeR*. Шаг 1. Положить ео = 8, положить /==0 и положить / = 0. ]) Мы обозначаем штрафную функцию рь (•) без верхних индексов, если нет необходимости указывать, внешняя она или внутренняя.
172 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Шаг 2. Вычислить 82 h (z; 8,) = - [Vf> (z) + ± Vp' (i)J. Шаг 3. Если || h (z; et) || > еь то перейти к шагу 4; иначе положить ei+{ = 8t7P, положить 2/ = г, положить / = г + 1 и перейти к шагу 2. 4. Используя алгоритм B.1.33), вычислить такое- / число Я, что 83 -1A— а) || h (z; г() ||2 < < Р> (z + Xh (z; ef)) + -j- p' {z + Kh (L; et)) - /o (i) _ J- p' ПЛ()|Р Ж/// Шаг 5. Положить г =^ + Я/г (г; е*), положить / = /+ 1 *т перейти к шагу 2. в 84 Лемма. Алгоритм (81) строит такие бесконечные последовательности {zt} и {et-}, что h{Zi\Zi)->Q при /->оо. Доказательство. Так как по предположению множество- {|/°()^} компактно для всех aeR1, то множество о также компактно для / = —1, 0, 1, 2, 3, ..., где z^{ = z. Поэтому из теоремы B.1.22) следует, что начиная с точки / 2 = 2/_i, / = 0, 1, 2, ..., алгоритм (81) строит такую последо- / /+1 /+2 k вательность z, z, z,..., что последовательность h{z\zi)y k — j> /+1, / + 2, ..., содержит подпоследовательность, сходящуюся к нулю. Следовательно, найдется такое целое число- jNi) j N(i) что || h ( z ; 8/)||^8^ и, значит, zt = z , т. е. zj и 8,-+1 будут построены после конечного числа итераций. Таким образом, алгоритм (81) строит бесконечные последовательности [Zi] и {е^-}, а так как в данном случае е^—>0 при /->оо, то и h(zi\ 8t)—>0 при /—>оо. ¦ Теперь мы покажем, что в ряде важных случаев применение алгоритма (81) будет приводить к точкам z, удовлетворяющим необходимым условиям оптимальности для задачи (СР).
4 1. МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 173 Случай 1. Пусть С = {z\r(z) = 0), где функция г: R"->R* непрерывно дифференцируема, а матрица Якоби dr(z)/dz имеет максимальный ранг для всех z (в достаточно большом открытом множестве) пространства R". Положим р' (z) = || г (z) ||2/2 и рассмотрим последовательность точек z, построенную алгоритмом (81). Из этой последовательности мы выделили подпоследовательность точек zi9 которые строятся на шаге 3 и для которых 85 Afe;e,)<e,, / = 0, 1, 2, .... Поскольку по предположению множество {z\f°(z)^a} компактно для всех aGR1, обе последовательности [zt] и {et} бесконечны в силу леммы (84), и e^->0 при /->оо, так как е?=:е/рг и р> 1. Следовательно, 86 h(zi\ ef)->0 Так как pr (z) = || г (z) ||2/2, то 87 h (zt\ e*)--[v/°fe) + ^-(-^-)r(^)]f /=0f 1,2, .... Предположим теперь, что Zi->z* при /-^оо1). Поскольку матрица dr(z)/dz имеет максимальный ранг для всех ге^и функции /°(•) и г( •) непрерывно дифференцируемы, заключаем из j(86) и (87), что г(г*) = 0, т. е. г^еС. Далее, так как матрица dr(Zi)/dz имеет максимальный ранг, то г = 0, 1, 2 Поскольку h(zi; ег)->0 при /->оо, а функции г(-) и f°(-) непрерывно дифференцируемы, заключаем, что 89 ит±г(г1)=- Переходя в (87) к пределу при /->оо, получаем 90 VHz*) Сравнивая это выражение с A.2.2), видим, что (90) является необходимым условием оптимальности для рассматриваемой задачи. Поэтому, если последовательность {-г,}, построенная алгоритмом (81) для задачи min{f°(z) |г(г) = 0}, при указанных !) Не теряя общности, можно предположить, что вся последовательность \zt} сходится к z.
174 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ выше предположениях остается в компактном множестве, она будет иметь предельные точки z*, которые лежатвС={г |r(z)=0} и удовлетворяют необходимым условиям оптимальности A.2.2). Таким образом, для возможности использования реализуемого алгоритма (81) требуется выполнение ряда предположений, и в отличие от чисто принципиальной схемы (см. A0)) здесь, по-видимому, нет простых достаточно общих условий, гарантирующих, что последовательность' \zi\ будет оставаться в компактном множестве. То же самое, вероятно, справедливо для любого другого реализуемого алгоритма, основанного на применении штрафных функций и градиентных методов. ¦ Случай 2. Пусть С = [z \f(z) ^ 0}, где функция /: R*->Rm непрерывно дифференцируема. Положим 91 р'(г)^ Обозначая J(z)— [I \fl(z)^Oy /gA, 2, ..., m}}, запишем (91) в виде 92 P'(z)=4 S lfl{z)]2' Мы будем предполагать, что для всех zgR" векторы V/zB:), /e/(z), линейно независимы. Рассмотрим последовательность [zi)y которую в этом случае строит алгоритм (81). Имеем 93 / — 0 1 2 и, как и выше, АB/;е^)->0 при /->оо. Предположим, что Zt->z* при /->оо. Тогда, поскольку векторы ^fl(zt) l^J(zt)y линейно независимы, а функции f°{-) и /(•) непрерывно дифференцируемы, из (93) и из того, что h(zi\ et-)->0 при /->оо, следует, что /(г^)^0, т. е. что точка z* — допустимая. Кроме того, 94 Vf°(z*)+ 2 \1*Ч!1(г*) = 09 I s / (г*) где величины ^/=limmax@, fl(zt)/et}y l^J(z*), существуют и удовлетворяют условиям ц'^О. Из (94) заключаем, что допустимая точка ^gC удовлетворяет необходимым условиям оптимальности A.2.1). ¦
4.1 МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 175 Здесь снова возможность успешного применения алгоритма (81) зависит от сходимости последовательности \гг) и опять, по-видимому, нет общих условий, гарантирующих это. Однако на практике оказывается, что алгоритмы, подобные (81), работают хорошо, поскольку обычно последовательности [zi\ сходятся. (В противном случае, конечно, методы штрафных функций были бы фактически бесполезными.) Покажем, как построить алгоритм вида (81), использующий не внешние, а внутренние штрафные функции. Для этого предположим, что множество С в A) удовлетворяет предположению D4) и егр"(-)» / = 0, 1, 2, ..., — последовательность внутренних штрафных функций для С. Предположим, кроме того, о что мы умеем отыскивать геС° и что множество {г|/°(,г)^ о о <f° (z) + eop"(z)} компактно. Наконец, будем считать функции /°(-) и р"(-) непрерывно дифференцируемыми. 95 Алгоритм (модифицированный метод внутренних штрафных функций, Полак [П5]). о Шаг 0. Выбрать е > 0, aG@, V2), В>1, р>0 игеС° о о так, чтобы множество [z |/°(г)<[°B) + ер''(г)} было компактным. Шаг 1. Положить ео = е, положить / = 0 и положить / = 0. Шаг 2. Вычислить 96 h (г; в,) = - [V/o (z) + гьVp" (i)]. Шаг 3. Если \\h(z; е*)||>еь то перейти к шагу 4; иначе положить е^+1=8?/р, положить Zi = z, положить / = i+l и перейти к шагу 2. Шаг 4. Используя алгоритм B.1.33), вычислить такое число Я, / / / что z + Xh (z; e^eC и 97 -ЛA-)||/( (z + Lh (i; 8,)) + e,p" (z + L (z; e,)) - Р (?) + %lP" (z) Шаг 5. Положить z —z + Xh(z; et)9 положить } — j+ l и перейти к шагу 2. ¦ 98 Упражнение. Показать, что лемма (84) справедлива также и для алгоритма (95). ¦
176 4- ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ D9 Упражнение. Показать, что последовательность {zt), построенная алгоритмом (95), компактна и, следовательно, имеет предельные точки. ¦ 100 Упражнение. Показать, что алгоритм (95) можно применить к задаче min {f° (г) \f(z) ^ 0}, где функция /: R"->Rm непрерывно дифференцируема и удовлетворяет не только предположениям, при выполнении которых применим алгоритм (95), но также и тем, что указаны выше для случая 2. Использовать штрафные функции, определяемые F3) или F4). Показать, что в этом случае предельные точки последовательности {zt} допустимы и удовлетворяют необходимым условиям оптимальности A.2.1). ¦ 101 Упражнение. Используя в качестве составных частей алгоритмы (81) и (95), создать реализуемый алгоритм, основанный на комбинированном методе внешних и внутренних штрафных функций. Сформулировать предположения, при выполнении которых можно применить этот алгоритм для получения точек, удовлетворяющих необходимым условиям оптимальности. ¦ Штрафные функции в оптимальном управлении Рассмотрим сначала задачу дискретного оптимального управления A.1.3), т. е. k-\ 102 минимизировать 2 f°i(xr ui)^r^>{xk) при ограничениях 103 xi+l — xt = fi(xt, щ), / = 0, 1, 2, ..., k — 1,x,gRv, 104 5,(^)^0, i = 0, 1, 2, ..., k—U 105 &(**) = 0, <fc(*i)^0, / = 0, 1, 2, ..., k. Предположим, что все функции в A02) — A05) непрерывно дифференцируемы. Пусть z = (х0, щ, ии ..., иЛ_,) е Rv+ftM', a Xi(z) — решение уравнения A03) в момент времени /, соответствующее начальному состоянию х0 и последовательности управлений щ, иь ..., uk_x. Тогда функция xt ( •), / = 0, 1, ..., k9 непрерывно дифференцируема ]) и, значит, таковы же функции 1) По этому поводу см. упражнение B.4.8). Кроме того, заметим, что ()/дф
4 1. МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 177 Si (*), gi (•) и qt(-), определяемые равенствами 106 si(z) = si{ui)f 107 §i(z) = gi(xi(z))> Ю8 <М*) = ?*(**(*)). Таким образом, все множества 109 {z\si{z)^0}J i = 0, 1. 2, ..., Л— 1, НО {z|ft(*) = 0}, / = 0, 1, 2, ..., &, 111 {z\qi(z)^0}, i = 0, 1, 2, ..., Л, замкнуты, и эти ограничения можно устранить с помощью внутренних и внешних штрафных функций, аналогичных F3), F4), B7) и C1). Отметим, что с учетом определения z задачу оптимального управления A02) — A05) можно записать как задачу нелинейного программирования вида 112 minl/°(z)|§f(z)^0,/ = 0, 1,2, ...,?—1, = <), qf(z)^0, / = 0, 1, 2, ..., k). Как мы уже заметили в упражнении C4), не обязательно с помощью штрафных функций устранять все ограничения в задаче A12). Имеет смысл устранить только те ограничения типа равенства или неравенства, которые неприемлемы по той или иной причине. На практике множества A09), как правило, имеют внутренность, в которой нетрудно найти точку. Следовательно, для устранения этих ограничений лучше воспользоваться внутренними штрафными функциями. В то же время для устранения ограничений A10) и A11) естественнее воспользоваться внешними штрафными функциями. Таким образом, для задач оптимального управления часто бывает удобно применить комбинированные методы штрафных функций. Если вектор z определен, как выше, динамическое уравнение A03) исключается из рассмотрения путем последовательных подстановок. С другой стороны, мы могли положить z = = (*о» хи *2> • •, *k> uo, u{,..., uk_x) и тогда пришли бы к задаче нелинейного программирования вида A12), к которой следовало бы присоединить дополнительные ограничения П (z) = 0, где и (z) = xi+i —xt — ft (xi9 щ) для / = 0, 1, ..., k — 1. Эти дополнительные ограничения типа равенства можно было бы затем устранить также с помощью штрафных функций.
178 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Рассмотрим теперь задачу непрерывного оптимального управления, несколько более общую, чем A.1.8) (/0, ft заданы)* 113 минимизировать J f°(x(t), u{t)y t)dt + Ф (x(ft)), при ограничениях 114 ±x{t) = f{x{t), u(t), t\ t<=[t0, ft], 115 5 (и @)^0, *€=[/0, ft], 116 g{x(t)9 <) = 0, ?(х@, 0^0, t<=[t0, ft]> 117 J v{u{t))dt — d<0, J w(x(t))dt— $<0. Сначала покажем, как строятся штрафные функции для ограничений вида A15) — A17). Пусть s( •) — непрерывная функция, отображающая R** в R*\ Тогда, предполагая, как и выше, что «(-jeLw^o, ft], получаем, что множество 118 [и ( •) €= L?> [/о, ft] 15 (w (/)) ^ 0 для почти всех t е= [/0, ft]} замкнуто, и можно использовать, например, внешние штрафные функции вида (l/e*)//(•), / = 0, 1, 2, ..., где 119 P'W или внутренние штрафные функции вида е/р^( •)> « = 0, 1, 2, ..., где 120 P"(") J при условии, что функции 57(w) ограничены снизу для всех и sir, /=1, 2, ..., ^i). Затем рассмотрим ограничелия A16). Предположим, что функция /(.,.,.) в A14) непрерывно дифференцируема по х и и и кусочно непрерывна по /. Кроме того, предположим, что для любого ^gRv и любого «gR14 производные df(x, и, -)/дх и df(x, и, -)/ди кусочно непрерывны на [/0, ft]. ]) См. подстрочное примечание к формуле F4).
4 1 МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 179 Тогда решение x{t\ x0J и) уравнения A14), удовлетворяющее условию x{to\ x0, и) = х0У непрерывно по совокупности переменных хо и и(-) для любого t^[t0, U]. Предполагая теперь, что обе функции #(•, •) и q(-9 •) непрерывны по х, находим, что оба множества 121 [г = (лго, и) | Хо е= Rv, u<=VL [to, Ь], g (x (t; хо, и, t)) = О, 122 [z == (jco, и) | Хо е Rv, u е= LSo [/o, /f], q (x (t; xo, и, t)) ^ О, замкнуты. Пусть g: Rv X R1 -> Rv' и для любого / е / cz с: jl, 2, ..., v'} функция ^(*>-) непрерывна по t, а для всех /^/ пусть g*(x,t) = 0 при всех д: е RV и всех t^\til9 U>, •--, ^fet.} с [/о, ^f]» т. е. для /<?/ пусть gl(x, /) = 0 для всех, кроме конечного числа, точек /€[/о, ^f]. Тогда, задавая функцию р'\ RvX?~Uo, ^fl-^R1 равенством f 123 р'(х09 и)= J видим, что функции (l/e^)//(«, •), / = 0, 1, 2, ..., образуют последовательность штрафных функций для множества A21), при.условии, конечно, что е0 > 8j > е2 > ... и^->0 при /->оо. 124 Упражнение. Делая те же предположения относительно функции <?(•,•)> чт<> и выше относительно §(•,•)> построить внутренние и внешние штрафные функции для множества A22). ¦ С помощью штрафных функций наиболее легко устранить ограничения A17). Пусть функции и(-) и w(-) непрерывны. Тогда в предположении об ограниченности (см. подстрочное примечание к упражнению F1)), можно рассматривать, например, -I log б— j v{u(t))di , i Г °? 1 — -7 log \w— \ w(x{t\ xOi u))dt , /=1,2,..., L tn J 125 1 4 ,
180 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ как последовательности внутренних штрафных функций для устранения ограничений A17), а 126 i I max /lmax{ 0, I [w(x(t\ xOi u))dt-w\ 1 | , /=1, 2, ..., как последовательности внешних штрафных функций для устранения этих ограничений. Как мы теперь хорошо знаем, при применении метода штраф* ных функций к задаче минимизации с ограничениями строится последовательность точек zit / = 0, 1, 2, ..., оптимальных для соответствующих, связанных с исходной, задач минимизации без ограничений либо с более простыми ограничениями. В конечномерном случае, т. е. для задач нелинейного программирования или дискретного оптимального управления, такая последовательность {zt} обычно содержится в замкнутом ограниченном множестве, компактном в силу конечной размерности данных задач. Поэтому в конечномерного случае последовательность [zi] часто оказывается сходящейся. В бесконечномерном случае, т. е. для задач непрерывного оптимального управления, последовательность точек zt = = (*<>*» щ('))у где хы — начальное состояние, а щ(-) — управление для A14), также будет, как правило, содержаться в замкнутом ограниченном множестве. Однако, поскольку это множество лежит в бесконечномерном пространстве, таком, как RvX^[^o, U]y оно зачастую не компактно. В результате последовательность {zi), построенная с помощью метода штрафных функций для задачи непрерывного оптимального управления, в большинстве случаев не сходится и не содержит сходящихся подпоследовательностей. В связи с этим возникает вопрос: чего можно добиться при применении методов штрафных функций к задаче непрерывного оптимального управления? Некоторые ответы на этот вопрос получили Рассел [Р2] и Куллум [КЮ]. Содержание их результатов лучше Есего проиллюстрировать на частном случае задачи A13) — A16) (без ограничений A17)). Предположим, что функция q в A16) не зависит от времени, т. е. q(x, f) = q(x), и непрерывна по х. Пусть q(x, to) — x — х0 и q(x, /) = 0 для всех t^{t0, U], т. е. нам просто задано начальное состояние для A14). Далее, предположим, что множества \u\s(u)^0) и {x|<7(x)fg0} имеют внутренние точки. Чтобы решить эту задачу, можно исполь-
4.1. МЕТОДЫ ШТРАФНЫХ ФУНКЦИЙ 181 зовать последовательность задач с более простыми ограничениями: 127 минимизировать (* | f°(x(t), u(t), t) + при ограничениях A14), где лг(/о) = *о> и A15). Пусть #(•) — оптимальное управление в задаче A13) — A16) в том виде, в каком она сейчас сформулирована, а щ(-)— оптимальное управление для A27). Обозначим через т значение функционала в A13), принимаемое им на управлении #(•)> а через fhi — значение функционала в A27) на управлении щ( •). Тогда, поскольку, как мы уже показали в A1), в задачах A27) используются внешние штрафные функции, то 128 mo<mi < ... <m. Следовательно, должно найтись такое число т*<^т, что- fhi—>fh*. Куллум [КЮ] показала, что, как правило, следует ожидать, что т* < /п, и. что т* должно быть минимальным значением функционала расширенной задачи оптимального управления, включающей в себя A13), A15) и A16) при тех частных предположениях, которые сейчас рассматриваются, а ограничение A14) для этой задачи заменено дифференциальным включением 129 ± х (t) 6= [f(x(t), U, /)], / е [t09 Ul х (t0) = xQ> где 17= [и е RfX|s(^) ^ О}, черта сверху означает замыкание множества, а первые квадратные скобки — выпуклую оболочку этого замыкания *)• Если функция /(•, •, •) линейна по и и множество U выпукло, то любая пара и(-), х(-)> удовлетворяющая A29), удовлетворяет также A14) (обратное, очевидно, всегда верно) и в этом случае m^ = m. Рассел [Р2] показал, что в этом случае при более слабых предположениях относительно q( •) можно также ожидать, что щ (•) будет сходиться к #(•) в слабой топологии пространства L2 и соответствующие траектории xi(t) = = x(t; x09 xt)9 определяемые A14), будут удовлетворять усло- ]) Очевидно, в этом случае последовательность {^(*)} не может содержать подпоследовательность, сходящуюся к й (•), и в наших неформальных рамках ее поведение описать слишком сложно.
182 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ вию max [|| X/(f) — x(t\ х0> й)Ц2]-*О при /->оо, где максимум берется по t^[t0, U]. Прежде чем закончить рассмотрение штрафных функций в непрерывном оптимальном управлении, укажем еще на один интересный способ применения штрафных функций, который в настоящее время развивается группой в Калифорнийском университете (Лос-Анджелес), возглавляемой Балакришнаном (см. [Б1]), и группой в Вычислительном центре АН СССР (Москва), возглавляемой Н. Н. Моисеевым1). Чтобы проиллюстрировать этот подход, рассмотрим задачу оптимального управления без ограничений, обсуждавшуюся в разд. 2.5, т. е. задачу B.5.1), B.5.2). Вспомним, что в описанных выше градиентных методах решения подобных задач на каждой итерации -требуется решать различные дифференциальные уравнения. Это занимает очень много машинного времени. Чтобы избежать данной трудности, Балакришнан [Б1] предлагает решать вместо этого последовательность конечномерных задач 130 (UP)* минимизировать J [f°{x(t)y u(t), t) + u(t), t) (где et- > 0 строго монотонно стремится к нулю), причем x(t) и и (/) представляются в виде =\ a'1 cos /i\ V^ «. 2/я/ и (t)=2jbi cos-—г, 1=0 где векторы аь hi подлежат определению. Очевидно, качество результата, которое можно ожидать при использовании подобного метода, зависит от величин целых чисел /', Г. Если сделать числа Г, Г настолько большими, •чтобы существенно возросли шансы на получение очень хорошего приближения к оптимальным решениям й(-) и ?{•) задачи B.5.1), B.5.2), то мы вынуждены будем решать задачи (UP)t высокой размерности, и это может оказаться слишком трудно. Поэтому кажется наиболее разумным использовать подобные методы с малыми значениями V\ I" и получать См. книгу Моисеева [*М10]. — Прим. перев.
4.2 МЕТОДЫ ЦЕНТРОВ 183>" хорошее начальное приближение для какого-нибудь другого- метода, например любого из рассмотренных в разд. 2.5. На этом мы заканчиваем обсуждение методов штрафных функций. 4.2. Методы центров В этом разделе мы рассмотрим несколько тесно связанных: методов решения задачи 1 min(f(z)jf(z)<0, /=1, 2, ..., пг}9 где функции /*: R^-^R1, / = 0, 1, 2, ..., гц, непрерывно дифференцируемы. Методы, которые мы будем рассматривать, называются методами центров. Смысл этого термина станет ясен несколько ниже. Эти методы были предложены Хьюардом [Х4], [Б7]1), и они служат как бы переходным мостом ме>кду описанными в предыдущем разделе методами штрафных функций и методами возможных направлений, которые мы изложим в следующих разделах. Возвращаясь мысленно назад, читатель найдет, что эти методы можно трактовать либо как не содержащие параметров барьерные методы, основанные на внутренних штрафных функциях, либо как не содержащие параметров методы возможных направлений. Мы сделаем два предположешя относительно множества 2 С=ф|/'(г)<0, / = 0, 1, 2, ..., т}, и целевол функции f°( •). Первое из них существенно, поскольку без него представленный ниже метод просто нельзя применить к задаче A). Роль второго предположения состоит в том> чтобы отсечь ряд задач, к которым эти алгоритмы можно формально применить, но решение которых эти алгоритмы отыскать не могут. Наши замечания станут понятными в ходе изложения. 3 Предположение. Мы будем предполагать, что существует такая точка z0 e С, что множество 4 C/B0) = {z|/0B)-f0(z0)<0, /Ч*)<0, /=1,2,..., гп\ компактно и имеет внутренность. Ш 5 Предположение. Мы будем предполагать, что (i) множество С в B) имеет внутренность и ее замыкание совпадает с С, т. е. С° = СФ0; (ii) /'(г)<0 для всех геС°, l=U 2, ..., m (ср. с A.44)). m 1) Хьюард впервые опубликовал метод центров в 1963 — 1964 гг. в трудах ассоциации электриков Франции.
184 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Причиной введения предположения (i) в E) служит та •обстоятельство, что методы центров по заданной точке z0 ^ С строят следующую точку zx во внутренности множества С (z0) и, значит, могут отыскать оптимальную точку для задачи A) только тогда, когда эта точка принадлежит замыканию внутренности множества С. Отметим, что мы уже встречались -с подобной ситуацией в случае методов внутренних штрафных функций. Причина введения предположения (п) в E) станет ясна в (8). 6 Упражнение. Построить множество вида B), для которого предположение E) не выполняется. [Указание: См. A.45).] Отметим, что на практике вряд ли встретится такое множество. ¦ Теперь мы опишем простейший из методов центров, который по заданной точке z0 строит следующую точку zx в «центре» множества C'(z0), т. е. в множестве точек, максимизирующих соответствующее расстояние от границы множества C'(z0). Зададим функцию d: R^XR^-^R1 формулой d(z\ z) = max{f°(z')-f°(z)> Р(*0. /=1, 2, ..., т). Тогда —rf(*, •) можно взять в качестве функции, значения которой определяют расстояние между точками z и z'. Возможны также и многие другие способы выбора функции расстояния. Интересующийся читатель может обратиться к работам [Б7], [Х4] и [ТЗ]. 8 Упражнение. Пусть точка 20gC не является оптимальной. Показать, что при выполнении предположения E) множество -C'(zo) B D) имеет внутренность и для любой точки z' из этой внутренности d(z'9 z0) < 0 (очевидно, что d(z, zo) = O для любой точки z на границе множества С (zQ)). m 9 Упражнение. Показать, что при выполнении предположения C) задача A) должна иметь решение. ¦ 10 Алгоритм (метод центров, Хьюард[Х4]). Шаг 0. Выбрать точку zo^C, удовлетворяющую C), и положить / = 0. Шаг 1. Вычислить такую точку z'eR", что 11 d{z\ zt-) = min{tf(z, z,)|ze=R"}. Примечание. Если z0 удовлетворяет C), то такая точка zf должна существовать. Легко убедиться, что z'eC'fo). Шаг 2. Если d(z', Zj) = O, то положить Zi+i = zt и остановиться; иначе перейти к шагу 3.
4 2 МЕТОДЫ ЦЕНТРОВ 185' Шаг 3. Положить zi+l = z', положить / = /+1 и перейти к шагу 1. ¦ Таким образом, точно так же, как и методы штрафных функций, алгоритм A0) разбивает задачу A) на последовательность задач минимизации без ограничений A1). В приведенной форме этот алгоритм является, очевидно, принципиальным, поскольку нельзя ожидать, что минимизация в A1) будет требовать конечного числа машинных операций. Рис. 10. Метод центров. 12 Теорема. Пусть в задаче A) выполнены предположения C) и E). Если построенная алгоритмом A0) последовательность [zi] бесконечна, то она имеет предельные точки и все они оптимальны для задачи A). (Очевидно, что если последовательность [Zi\ конечна, то ее последний элемент оптимален.) Доказательство. Заметим, что C'(Zf+I) cz С {zt)> j' = 0, 1, 2, ..., где С (zt) определяется формулой D), в которой точка z0 заменена на zt. Поскольку по построению множество С (zQ) компактно (в силу C)) и поскольку zi+l e Cf{zt)cz С (z0), последовательность [zt) должна содержать предельные точки. Чтобы показать их оптимальность для задачи A), воспользуемся теоремой A.3.10). Для этого положим Т = С, с(-) — = /°(-) и будем считать точку геС желательной, если она оптимальна для задачи A). Определим отображение А(-) с помощью алгоритма A0): для вычисления z"^A(z) положим zt = z на шаге 1 в A0), затем вычислим zi+x на шаге 2 или 3, а потом положим z" = zi+i. Поскольку условие (i) в A.3.10) очевидно выполняется для /°(-)> осталось доказать, что условие (п) в A.3.10) для только что введенных отображений А(-) и с(-) также выполняется.
186 ^ ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Итак, покажем, что (и) в A.3.10) выполнено. Допустим, -что точка zt^C не оптимальна. Тогда в силу предположения E) и в силу того, что множество A (zt) компактно1), а функция d(-yzt) непрерывна (см. (В.3.13)), 13 max d(zi+u zf) = 26 < О2). Поскольку множество A(zt) компактно, из (В.3.20) следует, ято функция max d{z', z) непрерывна по z. Поэтому найдется такое число е > 0, что 14 max d(z\ z)<6 для всех г<= B(ziy e) — [z е С ||| z — z^H^e}. Но любая точка z" e A(z) минимизирует d(z\ z) no ^eR" и, значит, 15 с (z") — c(z) = f° (z") — f° (z) < d (z"9 z) < max d {z\ z) < б z'^ABi) для всех z^ B(zi, e) и всех z"^A(z). Следовательно, условие (ii) в A.3.10) выполнено, и теорема A2) доказана. Я На практике было обнаружено, что приближенные версии алгоритма A0) довольно неэффективны, поскольку даже приближенное вычисление точки z\ определяемой A1), требует очень больших затрат времени. Это привело к необходимости разработки методов, которые прерывали бы отыскание точки г/, удовлетворяющей A1), когда уже найдена точка г", являющаяся «8-центром», где е выбирается по возможности малым. Сейчас мы опишем метод, прерывающий поиск центра z' множества С (zi) после единственной итерации подпроцедуры поиска. В указанном виде этот метод, как и алгоритм A0), является принципиальным, и ниже мы поставим вопрос о том, как сделать его реализуемым. При рассмотрении наиболее эффективной версии метода центров, принадлежащей Хьюарду [Х4], нам понадобятся необходимые условия оптимальности, а также приведенные ниже определения. 16 Упражнение. Пусть z — оптимальное решение задачи A). Показать, что 17 min(max((V/°(i), h)\ f (?) + (Vf (f),A>, /=1, 2, ...,m}) = 0, AS 1) Для любого z^C множество Л (г) компактно, поскольку (в силу C)) множество С (z) компактно, а функция d(*yz) непрерывна. 2) Отметим что d{zt y zb) = 2b для всех zi { <= A (z().
18 где 19 h° (z) = min (max h&S* S* = { 4.2 МЕТОДЫ ЦЕНТРОВ 187* где S — произвольное множество в R", содержащее в качестве своей внутренней точки начало координат. [Указание: Показать, что A7) справедливо тогда и только тогда, когда выполнено A.2.9).] К. Зададим функцию Л°: R^-^R1 равенством /'(*) +<?/'(*), A), /=1,2, ..., т}У Rrt||^|<l, i—l, 2, ..., n}. Так как множество S* содержит в качестве своей внутренней точки начало координат, то А0 B) = О, если z— оптимальное решение задачи A). Как следует из A.2.13), А°(г) = 0 для всех геС, если множество С, определяемое B), не имеет внутренности; в этом случае условие A7) тривиально. 20 Упражнение, Пусть вектор Л (г) е S* таков, что 21 A°(z) = max {<Vf°(z), A(z)>; f'B) + <Vf'(*), h(z)) /=1, 2, ..., m},. и пусть А — (A0, A) GRrt+1, (i) Показать, что А (г) = (Л° (г), А B)) — оптимальное решение задачи линейного программирования1) 22 • минимизировать Л° при ограничениях 23 -А° + (У/°(г), Л)<0, 24 -h°+fi(z) + (Vfi(z)9h)<09 /==1, 2,..., m, 25 |АЧ<1, « = 1, 2, ..., /!• (И) Показать, что любое оптимальное решение h(z) = (h°(z)r h(z)) задачи B2) — B5) удовлетворяет условию B1). Ш 26 Замечание. Отметим, что, погкольку по предположению функции /' (• )> i = 0, 1,2, ..., т, непрерывно дифференцируемы, из (В.3.13) вытекает непрерывность функции А^(-)- Отметим также, что А°(г)<^0 для всех z^ С. (Для того чтобы показать это, достаточно в A8) положить А = 0.) В. 2) Если т велико, то для решения задачи B2) — B5) целесообразно^ использовать методы декомпозиции: см. [В2].
188 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Теперь мы можем привести наиболее эффективную из имеющихся в настоящее время версий метода центров для решения задачи A) в предположениях C) и E) (или, точнее, для отыскания таких точек z^C, что Л0(г) = 0). f2(z)»0 Рис. 11. Модифицированный метод центров. 27 Алгоритм (модифицированный метод центров, Хьюард [Х4]). Шаг 0. Вычислить начальную точку zo^C (множество С определено в B)), для которой выполнено предположение C), и положить i = 0. Шаг 1. Положить z = zt. Шаг 2. Решить задачу B2) —B5) и получить (h°(г), h{z)). Шаг 3. Если h°(z) — 0, то положить zi+i = Zi и остановиться; иначе перейти к шагу 4. Шаг 4. Вычислить наименьшее положительное значение \i{z), удовлетворяющее условию 28 d(z + ix где d(«, •) определяется формулой G). Примечание. Легко убедиться, что в силу C) такое значение \х (z) существует. Шаг 5. Положить zi+l = z + \i(z)h(z)y положить /==/+1 и перейти к шагу 1. ¦ 29 Замечание. Вектор h (z), вычисляемый на шаге 2 алгоритма B7), может не однозначно определяться из решения задачи B2) — B5), поскольку решение задачи линейного программирования может не быть единственным. Мы считаем, что h (z) — это любой вектор, являющийся оптимальным ре*
4 2 МЕТОДЫ ЦЕНТРОВ 189 шением задачи B2) — B5); его можно получить симплекс-алгоритмом или любым другим алгоритмом для B2) — B5). Отметим, что единственная операция в алгоритме B7), требующая модификации с целью его реализуемости, есть операция минимизации B8). ¦ 30 Замечание. Точку zoeC, т. е. начальное приближение на шаге 0 алгоритма B7), можно вычислить, применяя алгоритм B7) к задаче (в Rrt+1) 31 min{z°| — z° + f'(z)<0, /=1, 2, ..., m}, причем в качестве допустимого начального решения возьмем ^о = Bо, ?о)^ R*+1, где точка zoeR" произвольна и zo = = max {f(zo)> хе {1, 2, ..., m}}. Поскольку предположения C) и E) выполнены, найдется такое целое число1) k, что zk = = {zl> zk) будет удовлетворять условиям z\ < 0, zk^C. Тогда положим zQ — zk и перейдем к решению задачи A) с помощью алгоритма B7). ¦ 32 Теорема. Пусть выполнено предположение C) и z0, zu z29 ...—последовательность, построенная алгоритмом B7), где 20 удовлетворяет C). Тогда последовательность [zi] либо конечна и ее последний элемент zk+l = zk удовлетворяет условию h°(zk) — 0, либо бесконечна и каждая ее предельная точка z* удовлетворяет условию /г°(,г*) = О. (См. также A.3.65).J) Доказательство. Поскольку построение новых точек прерывается на шаге 3 алгоритма B7) только тогда, когда А°(;г) = 0, случай конечной последовательности {zt} тривиален. Поэтому рассмотрим случай, когда последовательность {zt} бесконечна. Так как h(z) определяется из B2) — B5) не однозначно, мы воспользуемся теоремой A.3.10) (алгоритм B7) имеет вид модели A.3.9)). Итак, положим Т = С, c(-) = f°(-), определим отображение А(-) из множества Т в множество всех его подмножеств с помощью3) алгоритма B7) и будем называть точку геС 1) Предполагается, конечно, что строящаяся последовательность {2Ц сходится к решению. 2) Отметим, что эта теорема справедлива независимо от того, выполнено ли предположение E). Однако если предположение E) не выполнено, то алгоритм B7) может остановиться в точке z0; иными словами, он может быть бесполезен. 3) Чтобы вычислить вектор z" е А (г'), z' e С, положим z-t = z' на шаге 1 алгоритма B7) и вычислим 2/+1 на шаге 3 (или, быть может, на шаге 5). Затем положим z" =*Zi+\. Таким образом, если h° (zr) <0, то множество A (z') определяется множеством векторов h (zf) e S*y удовлетворяющих B1) для z = 2', а также правилами B8) выбора величины шага; «ели же h° (г7) = 0, то А (г') = {z%
190 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ желательной, если h°(z) — 0. Чтобы показать, что любая предельная точка z бесконечной последовательности {z/}, построенной алгоритмом B7), удовлетворяет условию h°(z) = 0 (т. е. является желательной), надо только показать, что для рассматриваемых отображений с(«) и Л(«) выполняются условия (i) и (ii) теоремы A.3.10). Условие (i) выполняется, поскольку функция /°(«) по предположению непрерывно дифференцируема. Осталось проверить только выполнение условия (ii), т. е. показать, что для любой точки г* ^ С для которой Л0(,г*)<0, найдутся такие числа е*>0 и 6*>0, что для всех ze=B (z*, e*)={z e=C\\\z — z* ||< e*} 33 /° B7) — f° (z) < 6* для всех z' <== A (z) и всех z<=B B*, e*). (Напомним, что А0(г)^0 для любой точки z^C (см. замечание B6)).) Итак, предположим, что 2*еСи h°(z*) = v* < 0. Поскольку функция Л°(') непрерывна, найдется такое число е > 0, что 34 Л°(г)<^L для всех zgBB*. е). Так как множество S* компактно, то в силу (В.3.7) найдутся такие числа е'<=@, г] и X' > 0, что 35 | (V/' (z + АЛ), /г) - <Vf' B), Л) | < —? для всех геВ (г*, е0, всех AgS*h всех Я е [0, А']> *" =» 0, 1, ... ..., т. Снова в силу компактности множества S* по теореме (В.3.1) найдутся такие числа е*е@, е7] и А* <= @, А/]> что 36 # |рB + лА)р()К для всех 2еВB*,8*), AeS^ и Ае[О, А*], /=1,2,..., т. Далее, пусть гЕВ(г*,е*) — произвольная точка и А (г) — любой вектор в S*, удовлетворяющий B1) для этой точки г» Тогда в силу C4) и B1) 37 По теореме о среднем (В. 1.1) 39 /' (z + X*h (г)) -f(z) = r <V/' B + Vh (z)), h (г)), / = 0, 1, 2,...,
4.2 МЕТОДЫ ЦЕНТРОВ 191 где ?'е=[0, Л,*]. Следовательно, в силу C9), C7) и C5) 40 р{г + к*к{г)) Далее, для /е{1, 2, ..., т) либо /' (г) > а*/4, либо Р'(г)^ ^у*/4. Предположим сначала что /Ч^) > ^^/4 для некоторого /е{1, 2, ..., т). Тогда из C8) имеем 2i ? 4 4 Комбинируя C9), D1) и C5), получаем 42 f (z + a»A(z))-/'(z) Так как f{(z)<0 и v* < 0, то 43 f (z + Я* Теперь предположим, что /('(г)^у*/4 для некоторого {1, 2, ..., т\. Тогда из C6) имеем 44 r-(z + Нако1ец, пусть г' = z + ц (г) А (г), где ц(г) определяется из B8); тогда 45 /°(z')-/°(z)<d(z', Z)< < max {f (г + Л* A (z))-f° (г);/' (г + Я,*Л(г)), /=1, 2, ..., т}< Поскольку D5) справедливо для всех 2ЕЙ(^,е*) и всех г'Е^(г), доказательство закончено. ¦ 46 Замечание. Можно построить большое семейство методов центров типа алгоритма B7), если изменять два очевидных параметра метода. Роль первого параметра играет множество S* в A8). Мы могли бы, например, выбрать S*={h e R* |||й|КЛ|. Однако выбор S* согласно A9) приводит при вычислении h(z) на шаге 2 алгоритма B7) к решению на каждой итерации более простой подзадачи. Вторым параметром служит функция «расстояния» d(», •), которая также может определяться не как в G), а другим, хотя и не обязательно более рациональным с точки зрения вычислений, способом (относительно основных свойств функций, которыми можно пользоваться для оценки расстояния в методах центров, см. [Б7]). ¦ Рассмотрим теперь вкратце, как заменить принципиальную операцию B8) другой операцией, которую можно было бы реали-
192 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ зовать на цифровой ЭВМ. Простейший случай здесь — это случай, когда все функции /*(•)' * = 0» Ь 2> ••> *я, выпуклы. Легко видеть, что в этом случае функция d(*9z) при геС также выпукла. 47 Алгоритм (реализация модифицированного метода центров, Полак [П5]). Шаг 0. Выбрать ё0 > 0, р^ 1 и т| > 1; вычислить гоеС (множество С определяется формулой B)) и положить / = 0. Примечание. Обычно полагается rj = 2. Шаг 1. Положить z = zt. Шаг 2. Решить B2) —B5) и получить (h°(z), h(z)). Шаг 3. Если h° (z) = 0, то положить zi+1 = zt и остановиться, иначе перейти к шагу 4. Примечание. Следующие далее шаги 4 — 7 заменяют шаг 4 алгоритма B7) при вычислении величины шага м-(г). Шаг 4. Для Я^О положить 48 Q(X) = d(z + Xh(z)9 z). Шаг 5. Положить е = е0 и положить /—0. Шаг 6. Использовать для вычисления \х алгоритм поиска по методу золотого сечения B.1.14), где б(-) определяется равенством D8), выбрать р, как на шаге 0, и е —е;. Шаг 7. Если d(z + \xh(z), z)^ — е;, то положить \i(z) = j[i и перейти к шагу 8; иначе положить е/+, = е//т|, положить / = /+ 1 и перейти к шагу 6. Шаг 8. Положить zi+l = z + \x(z)h(z)9 положить f = /+l и перейти к шагу 1. В 49 Упражнение. Пусть функции /*(•)» / = 0, 1, 2,..., т, выпуклы. Показать, что алгоритм D7) соответствует модели A.3.26) и отображение A: R+X^->2C, определяемое алгоритмом D7), вместе с отображением с(-) —/°(') удовлетворяет условиям (i) и (ii) теоремы A.3.27), если только точка z^C считается желательной, когда h°(z) = 0. Вывести отсюда, что если последовательность \zi) строится алгоритмом D7), то она либо конечна и ее последний элемент желателен, либо бесконечна и тогда каждая ее предельная точка желательна. Показать, что алгоритм D7) не может «застрять» в точке zt, циклясь между шагами 6 и 7 и строя при этом последовательность 8у->0 при /—>оо. ¦ Читателю предлагается теперь проявить свою изобретательность и построить другие реализации алгоритма B7). Подобно
4.3. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 193 тому как это сделал автор в алгоритме D7), читатель может опереться на алгоритмическую модель A.3.26) и теорему сходимости A.3.27) и воспользоваться любым алгоритмом поиска минимума (или стационарной точки) действительной функции одной переменной. Дальнейшие рекомендации по этому вопросу можно получить из анализа моделей, приведенных в приложении А, и из примеров и упражнений следующих двух разделов. 4.3. Методы возможных направлений При изложении методов решения задачи 1 min{f°(z) If'(*)«>, /=1,2, ..., т), где функции /': Rrt->R!, / = 0, 1, 2, ..., т, непрерывно дифференцируемы, мы не всегда следуем тому порядку, в котором они были изобретены. Скорее мы следуем порядку возрастания сложности. Любопытно отметить, что методы возможных направлений, которые были предложены Зойтендейком [34] в 1959 г. и независимо от него Зуховицким и др. [39] в 1962— 1963 гг., на несколько лет опередили появление модифицированного метода центров B.27), а также приведенного ниже алгоритма (предложенного Топкисом и Вейноттом [Т1]), из которых они логически вытекают и в терминах которых они наиболее легко воспринимаются. 2 Замечание. Алгоритм решения задачи A) называется методом возможных направлений, если для заданной точки zi из множества С, определяемом формулой 3 C={z|/<(z)<0, /=1,2, ..., ет}, он задает луч [z\ z-=Zi + \*>Ы, fx^O}, пересекающий внутренность множества С, и затем выбирает на этом луче такую точку zi+l = zt + Vihi, что fo(zi+{) < f°(Zi). Итак, метод возможных направлений можно применить к решению задачи A) только тогда, когда множество С имеет внутренность или относительную внутренность (т. е. может содержаться в линейном многообразии и имеет внутренность по отношению к этому многообразию). ¦ Анализируя соотношения B.45) в доказательстве теоремы B.32), мы убеждаемся, что эта теорема остается справедливой, когда \x(z) определяется в соответствии с правилом 4 f°(z + ii(z) а не B.28), т. е. теорема B.32) справедлива и для приведенного ниже алгоритма, который, таким образом, можно применить к задаче A) при выполнении предположения B.3), 7 Э. Полак
194 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ 5 Алгоритм (метод возможных направлений, Топкие и Вейнотт [Т1]). Шаг 0. Вычислить точку 20gC и положить / = 0. Примечание. Относительно метода вычисления z0 см. B.30). Шаг 1. Положить z — Zi. Шаг 2. Решить B.22) —B.25) и получить (Л°(г), /г (г)). Шаг 3. Если h°(z) = Qy положить zi+l==zi и остановиться; иначе перейти к шагу 4. Шаг 4. Вычислить наименьшее положительное значение IX (z), удовлетворяющее условию 6 f»(z + ii(z)h(z)) = mm{f4z + tih(z))\ii>0t z + iih(z) gC|. Примечание. Очевидно, что в силу B.3) такое значение fi(z) существует. Шаг 5. Положить zi+1 = z + p,(z)/*(z), положить / = /+1 и перейти к шагу 1. В Вычисление \i(z) согласно F) (т.е. его возможного приближения) оказывается сложнее, чем согласно B.28), но оно приводит к большему убыванию целевой функции на каждой итерации. Основной недостаток обоих алгоритмов B.27) и E) состоит в том, что на каждой итерации требуется решать задачу линейного программирования B.22) — B.25), которая может оказаться более высокой размерности и будет включать все ограничения ft(.), /= 1, 2, ..., т. Естественно было бы уменьшить размерность задачи линейного программирования, устранив все неравенства — ft° + Hz) +W(z)> Л)<0, для которых f4z)<0. Однако нельзя доказать, что для полученного в результате алгоритма теорема B.32) остается справедливой. В само л деле, Вулф [В5] построил контрпример, показавший, что при устранении несущественных ограничений из B.24) возникает явление застревания алгоритма (зигзага) и в результате последовательность [Zi] сходится к такой точке z, что A°(z)<0. Это явление возникает потому, что исключение несущественных ограничений из вычислений h(z) может привести к уменьшению до нуля величины шага fx(z), даже если мы не находимся вблизи точки, удовлетворяющей условию A°(z) = 0. Зойтендейк знал об этом явлении застревания и поэтому предложил еще раньше устранять только те ограничения — /г° + +/4<г) + <Vf4z)> Л)<0 в B.24), для которых значения fl{z) отрицательны и имеют достаточную абсолютную величину, чтобы допустить соответствующую величину шага. Для этого ему, конечно, потребовалось придумать способ проверки «достаточной отрицательности» и включить его в алгоритм E). Прежде
4.3 МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 195 чем перейти к изложению одного из алгоритмов Зойтендейка (он предложил их несколько) и некоторых его модификаций и реализаций, введем ряд новых величин и обсудим их свойства. Начнем с определения «е-активного множества индексов»* Для любого 8^0 и zgC положим 7 /eB) = {0}U{/|/'B) + e>0f /€={1, 2, ..., т\) и определим функцию hi: C-+R1 равенством 8 Ae(z) = min max <V/' (z), A>, где 9 S* = (AgR1|AK1, /=1, 2, ..., n). Отсюда видно, что если z — оптимальное решение задачи A), то в силу A.2.8) /zoB) = O. Далее, как и в упражнении B.20), рассмотрим следующую задачу в Rrt+1 при геС1): 10 минимизировать /г° при ограничениях И -Л° + <V/'(г), h)<0, /е /е(г), 12 |Л'1<1, *=1, 2, .... /г. Пусть А8 (г) е= S^ — произвольный вектор, удовлетворяющий условию 13 rfB) = max(VfB), he(z)\ i<=Je (z) Легко видеть, что he(z) = (ffi(z), he(z)) — оптимальное решение задачи A0) — A2). Обратно, пусть (й?, he)—оптимальное решение задачи A0) — A2). Тогда hl(z) = hl, а вектор he(z) = he удовлетворяет A3). Таким образом, при заданных 8>0игеС находим hl(z) из решения задачи A0) — A2). 14 Упражнение. Показать, что функция hl(*) и множество Je(z) обладают следующими свойствами: 15 16 17 18 hUz) ш hl{z) для любого числа е]> такое число р > 0 <о >hl 0 и , чтс для (г) '(г) всех для ДЛЯ 8>0 8>8Г 8>87 любой точки z^ И И и с всех всех всех 2ЕС; 2еС; z e = С; существует *) Если множество /е (г) содержит много элементов, то может оказаться целесообразным воспользоваться методами декомпозиции; см. [B2I.
196 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ 19 для любого числа е^О и любой точки z^C существует такое число р > 0, что /8 {z') cz Je (z) для всех Приведенный ниже алгоритм Зойтендейка можцо при выполнении предположения B.3) \) использовать для отыскания точек из С, удовлетворяющих условию ho(z) = Q. Рис. 12. Метод возможных направлений Зойтендейка. 20 Алгоритм (метод возможных направлений, Зойтендейк [34]). Шаг 0. Вычислить zo^C; выбрать &' > 0, е"<=@, е') и Р^@, 1); положить / = 0. Примечание. Обычно полагается р == V2. Относительно вычисления z0 см. B.30). Шаг 1. Положить е = е'. Шаг 2. Положить z = zt. Шаг 3. Найти h{z) = (h°8(z), he(z)) из решения задачи (Ю)-A2). Шаг 4. Если h°s(z)^. — е, положить h(z) = hs(z) и перейти к шагу 7; иначе перейти к шагу 5. ]) По существу для алгоритмов данного раздела выполнение предположения B.5) не обязательно. Однако если оно не выполнено, то алгоритмы либо могут остановиться в точке z0, либо не смогут отыскать точку z0 за конечное число итераций, т. е. могут оказаться бесполезными (см. B.30)).
4.3. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 197 Шаг 5. Если е^е", найти ho(z) из решения задачи A0) —A2) {при е = 0) и перейти к шагу 6; иначе положить е = ре и перейти к шагу 3. Шаг 6. Если Ао (z) = 0, то положить Zi+\ = z и остановиться; ) иначе-положить е = ре и перейти к шагу 3. Шаг 7. Вычислить такое число X(z)^09 что 21 Я (г) = max {Я| f' (z + ah (z)) < 0 для всех ае[0Д] и /=1, 2, ..., т). Примечание. Здесь Я (z) есть наибольшее из значений Я, для которых z + ah(z) ^С при любых а е [0, Я]. Шаг 8. Вычислить наименьшее значение [г (г) е[0, Я (г)], удовлетворяющее условию 22 Р (z + *х (г) Л (z)) = min {/° (г + jx/г (г)) | |х е [0, Примечание. Очевидно, что \i{z) всегда найдется, если г0 удовлетворяет предположению B.3). Шаг 9. Положить zi+l=z-{- \i{z)h(z), положить / = г+1 и перейти к шагу 2. ¦ 23 Упражнение. Пусть множество С (z0) = [z e С | /° B) ^ f0^)} компактно. Показать, что если последовательность построенная алгоритмом B0), конечна, то ее последний элемент zk должен удовлетворять условию ho(zk)==O9 а если •бесконечна, то каждая ее предельная точка z должна удовлетворять условию Ло(г) = О. [Указание. Примените теорему A.3.42). Для этого положите #(е, z)={hz=S*\hl{z)= max iJ ( M{s, z) = {z + ixhe=C\he=H(e, z)9f°(z + [ih) = min f°(z + th)}9 /e[0, К (z, h)\ где X(z, А) = тах{Я>0|2: + йеС для всех t^[0, Я]}, и докажите следующие две леммы. Лемма 1. Для любого м->0, любого е^0 и любого /е ^{0, 1, ..., т} найдется такое число s*(|i)>0, что если для точки z e C'(zq), для которой / s /8(г), выполняется неравенство 24 ^(з)^-^
198 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ ТО 25 fi{2 + sh)-fi{z)<-I^ для всех sg[0, sl(\i)] и всех АеЯ(е, z). Лемма 2. Для любых заданных е>0 и / <= {1, 2, ..., т] найдется такое число tl (е) > 0, что /' (z + th) ^ 0 для всех z e= {ze= С'(zo)l/'(*)<--е}, всех AgS' и всех * е= [0, *'(в)]* (Получите противоречие.) Если эти две леммы справедливы, то легко видеть, что условия (i) и (и) в A.3.42) выполнены. Далее, условие (Hi) в A.3.42) выполнено, поскольку функция f°(-) непрерывна, а множества С (z0) компактно. Непосредственно из леммы 1 следует, что* выполнено условие (iv), а выполнение условия (v) можно проверить рассуждениями, аналогичными использованным для A.3.36) — A.3.39). С помощью лемм 1 и 2 можно установить,, что условие (vi) также выполнено. Наконец, условие (vii) выполнено по определению.] ¦ Чтобы процесс построения точки zi+] не зависел от текущего значения е, достаточно на шаге 9 алгоритма B0) заменить команду «перейту к шагу 2» командой «перейти к шагу 1». Полученный в результате алгоритм B6), как мы увидим далее,, принадлежит к типу моделей A.3.9). 26 Алгоритм (метод возможных направлений, Полак [П3])„ Шаг 0. Вычислить z0 е С, выбрать е' > 0, е" е @, е') рг Р^@, 1) и положить / = 0. Примечание. Обычно полагается р = !/г• Относительно метода вычисления 20еСс помощью алгоритма B.27) (или E), или B0)„ или B6)) см. B.30). Шаг 1. Положить z = zt. Шаг 2. Положить ео = е' и положить / = 0. Шаг 3. Вычислить вектор hej(z) = {hli(z)i hZj{z)) из решения задачи A0) — A2) при е = е;-. Шаг 4. Если hl^ — sh то положить еB) = е/, положить h(z) — hZi{z) и перейти к шагу 7; иначе перейти к шагу 5. Примечание. Значения функции e(z) запоминать не требуется; она введена только для доказательства сходимости алгоритма B6), которое мы приведем н^тже. Шаг 5. Если'ву^в", то вычислить ho(z) из решения задачи A0) — A2), где 6 = 0, и перейти к шагу 6; иначе положить зу+1 = реу, положить / = /+ 1 и перейти к шагу 3.
4.3. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 199 Шаг 6. Если ho(z) = O, то положить г/+1 —2 и остановиться; иначе положить е/+1 = Рву, положить/ = / + 1 и перейти к шагу 3. Шаг 7. Вычислить А(г)>0 из условия B1). Шаг 8. Вычислить наименьшее значение р, (г) е [О, Я (г)], удовлетворяющее условию B2). Примечание. Такое значение \i(z) всегда найдется, если для я0 выполняется предположение B.3). Шаг 9. Положить zi+x = 2 + \i(z)h(z), положить / = /+1 и перейти к шагу 1. ¦ Отметим, что в версии B0) величина е может непрерывно убывать, в то время как в версии B6) величина e(sf) восстанавливается на каждой итерации до ее первоначального значения г'. Оба подхода имеют свои преимущества и свои недостатки. Например, в алгоритме B0) по какой-то причине зна- чечие е может стать очень малым, хотя точка zi еще достаточно далека от точки 2, для которой ho(z) = Q. В результате некоторые из несущественных ограничений, удовлетворяющих условию —ks^ff(zi) < —8 при малых k, могут вызвать не- отравданное уменьшение величины шага |и(г), что приведет к замедлению сходимости процесса. В версии B6) этого не произойдет. Однако по мере приближения zt к точке г, для которой Ло(г) = О, алгоритм B6) может потребовать на каждой итерации слишком много времени на уменьшение ef от значения е' до существенно меньшего значения е(г). На практике можно использовать некоторые эвристические процедуры переключения в процессе вычислений с версии B0) на версию B6), а если это необходимо, то и обратно. Очевидно, это можно легко сделать, поскольку два указанных алгоритма отличаются только незначительными деталями. 21 Лемма. Алгоритм B6) не может зациклиться между шагами 3 и 6 на построении последовательности 8у->0, /->оо. Доказательство. Предположим, что точка Z(^C удовлетворяет условию ho(Zi) = O. Тогда после конечного числа дроблений данный алгоритм построит еу^е". Затем на шаге 6 он уста, новит, что hl(Zi) = 0, и остановится, положив zi+l—Zi. Теперь предположим, что точка zt e С удовлетворяет условию ho (zt)<0. С /() J() р ур у Согласно A8), найдется такое число р > 0, что / для всех 8уе[0, р], и, значит, Леу B/) = hi (zt) < 0 для всех е/ е= [0, р].
200 4- ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Пусть /' ^ 0 — наименьшее из целых чисел, для которых P'V <! min {p, — Ло (Zi)}. Тогда 28 Ав/, (zd < — e/s er = p/V. Поэтому новая точка 2*+1 будет построена самое большее после ]' дроблений 6/, т.е. при / = /'. Следовательно, алгоритмов) корректен. ¦ 29 Упражнение. Показать, что лемма B7) справедлива также и для алгоритма B0). ¦ 30 Замечание. Пусть {zt} — последовательность, построенная алгоритмом B6) (или алгоритмом B0)); тогда P(z0) > f°B,) > >f°(z2)> ••• • Это следует из теоремы о среднем (В.1.1), непрерывной дифференцируемости функции /°(-) и условия {Vf° (Zi), h (zt)) ^ — е (zt) < 0. Однако последовательность Л2 (*,)(**)' *' = 0, 1, 2, ...,[не монотонна (Ае BГ.}B.) = А (г), е(г.)== = 8 (г) для 2 = 2* на шаге 4 алгоритма B6)). ¦ Хотя B6) и является алгоритмом с «е-дроблением», он не принадлежит к типу модели A.3.33), а имеет вид A.3.9), где с(.)_^о(.)э Г = С, отображение А: С->2С задается в B6), а точка zgC считается желательной, если ho(z) — O. Алгоритм B6) отождествляется с алгоритмом типа A.3.9), а не A.3.33), по той причине, что дробление е; в B6) осуществляется на основе теста, не содержащего значений функции /°(•). Инструкции алгоритма B6), задающие отображение А: С—>2С, весьма сложны, и, для того чтобы помочь читателю, мы приведем для этого отображения явную запись. Прежде всего предположим, что в точке Zi^C выполняется условие ho(zi) = O. Тогда, как мы убедились в лемме B7), после конечного числа дроблений 8у алгоритм B0) полагает 2j, Т. е. 31 Л B) = {2}, когда Л2B) = О. Затем предположим, что точка zt^C удовлетворяет условию А?B?.)<0. Тогда в алгоритме B6) вычисляется такое единственное целое число /', что h°^e,(z^^ — р'г' и Лр/8, Bt.)> > — pV для целых чисел />/', и принимается e(zi) = fii'e\ Таким образом, еB/) однозначно определяется по zt. Далее* зададим множество S* (zt) cz S* равенством 32 S* {zt) = {A e S* I /г°е Bл B.) = max (V/y Bf), Л>}. hi (я) B.) = m
4.3. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 201 Тогда ясно, что точка zi+u построенная алгоритмом B6), принадлежит множеству 33 & = zt + \x'h' е= С | А' е= S* (г,), »'> 0, f> (z') = Следовательно (при любом предположении типа B.3), гарантирующем существование минимума в C3)), 34 4(z) = {z' = z + [i'A'€=C|A'e=S*(z), ц'>0, f°(z') = = min{/°(z + iih') |ц>0, z + iih<=C}}9 когда h°0(z)<0. Равенства C1) и C4) вместе определяют множество A(z)czC для любой точки z^C. Установим теперь свойства сходимости алгоритма B6). 35 Теорема. Пусть множество A (z) для всех z^C полностью определяется равенствами C1) и C4). Пусть zOy zu z2y ... — последовательность, построенная алгоритмом B6) для задачи A) (где все функции предполагаются непрерывно дифференцируемыми), и пусть предположение B.3) выполняется для точки z0. Тогда последовательность {zt) либо конечна и ее последний элемент, скажем zk, удовлетворяет условию ^(zfe) = 0, либо бесконечна и каждая ее предельная точка z удовлетворяет условию h°0(z) = 0 (см. также A.3.65)). Доказательство. Выше мы показали, что алгоритм B6) принадлежит к типу модели A.3.9). Чтобы доказать теорему C5), нужно лишь показать, что для функции c(-) = f°(-) и отображения Л(-), задаваемого равенствами C1), C4), выполнены условия (i) и (и) теоремы A.3.10), причем точка z^C считается желательной, если /г^(г) = О (напомним, что мы положили Т = С). (Случай конечной последовательности тривиален, поскольку алгоритм B6) может прервать построение новых точек только тогда, когда он построит такую точку ziy что *8()o) ) Поскольку по предположению функция f° (•) непрерывно дифференцируема, условие (i) выполнено и, значит, осталось проверить выполнение условия (и). Пусть точка z^C такова, что Ag (z) < 0. Тогда е (г) > 0 и /г8 (г) (z) < — е (z) < 0; Покажем, что для точек z' e С, достаточно близких к г, должно быть b(z')^z(z)l$. Из A9) следует, что существует такое число р > 0, что 36 /е ы (г') с= /е ы (z) для всех 2'gB(z, p). Зададим функцию 6: R"->R! равенством 37 e(z')=min max <V/'(*0» h).
202 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Согласно (В.3.20), функция б(-) непрерывна, и потому суще- ствует такое число р'е@, р], что 38 19 (г') — hi {г (г) | < б (z) A — р) для всех /gB (z, р'), поскольку 6 (z) = hi (Z) (z). Следовательно, в силу C6) 39 hi {z) (z') < 6 (z') < — г (z) p для всех z' e= В (z, p% Наконец, используя A7), получаем 40 hi {z) p (z') < hi {z) (z') < — e (z) p для всех z' e= В (z, p% Таким образом, поскольку z(z') = ft'z' таково, что Aeu')(z')^ <^ — e(z'), в силу D0) должно быть 41 е(г')>е(г)р для всех /gBB, р') Далее, поскольку функции f (•), /= 1, 2, ..., m, непрерывны и множество S* компактно, из теоремы (В.3.1) вытекает, что существуют такие р"е @, р'] и f > 0, что для /= 1, 2, ..., яг 42 |/ для всех z'efifz, p"), AeS*, /e=[0, Г]- Опять же в силу непрерывной дифференцируемости функций Г (• )> / = 0, 1, 2, ..., т, и компактности множества S из теоремы (В.3.7) вытекает, что существуют такие р е @, р"] и //>ге@, П» что для / = 0, 1, 2, ..., т 43 | (V/? (z' + /А), А> - (Vf (zO, ^ для всех z'<=B{z, p), AgS*, /e=[0, П- Рассмотрим теперь все функции f@), l^h(zf)(zf)9 для любого z'^B(z9 p). По теореме о среднем при заданном /г (z') e S* (z7) для любых /е[0, ^] и /е{0, 1, 2, ..., га) должно быть 44 /' (zf + th (z0) = f (z') + t {Vf (z' + Vh (z% h (zO>, где ?e=[0, t]. Так как (Vf'(z'), /i(zO>< — e(z/)< — e(z) p для любого h(zf)^ S*(z')> то из D3) и D4) находим, что для всех / 7@ 45 f (z' + th (z0) - f? (z0 < - Щ&-. * e [0, Сравнивая D5) и D2), заключаем что значение %(z'), вычисляемое на шаге 7 алгоритма B6), должно удовлетворять условию A,(z')>*", поскольку в силу D2) и D5) 46 f (zr + th (*')) < 0 для всех / е [0, Г], / = 1, 2, ..., т.
4 3 МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 203 Следовательно, в силу D6) и D5) 47 Р(г' + |1(г0АB'))-/°(г')< + ГА (z')) - f° (z') < - -^ Поскольку неравенства D7) очевидно справедливы для всех zf + \х (z') h (z') e A (z'), где z' ^ В (z, p), условие (ii) теоремы {1.3.10) для функции с(-) = /°(') и отображения Л(-)> определяемого равенствами C1) и C4), выполнены. Доказательство теоремы закончено. ¦ 48 Упражнение. Показать, что в принципе ограничение A2) можно заменить любым другим ограничением вида А е S, где 5 — компактное множество, содержащее в качестве своей внутренней точки начало координат, и получить алгоритм вида B6), для которого справедлива теорема C5). Исследовать, в частности, возможность использования ограничения АеУ = = {AeR* ||| А||^ 1}. (Получите ли вы подзадачу, легко разрешаемую на каждой итерации?) ¦ Из всех вычислений, предусматриваемых инструкциями 6 B6), нереализуемы, т. е. неосуществимы за конечное число операций (даже на цифровой ЭВМ с бесконечной длиной слова) лишь вычисления, связанные с определением верхней границы X(z) величины шага \x(z) и самой величины шага \i(z). (Подобная ситуация имеет место и в алгоритмах E) и B0).) Мы изложим сейчас две реализуемые за'мены для принципиальных шагов 7 и 8 в алгоритме B6). Их можно также использовать в B0), а после соответствующей модификации и в E). 49 Утверждение. Пусть заданы числа р > 0, Р^@, 1) и <х<=@, 1), и пусть шаги 7 и 8 алгоритма B6) заменены приведенными ниже шагами Т и 8'. Теорема C5) для полученной таким образом модификации B6) остается справедливой (ср. с B.1.35))]). Шаг 7'. Вычислить наименьшее из целых чисел k^0, для которых 50 /о (z + р*рА (г)) - р> (z) - р*ра <Vf> (г), А (г)>< 0, 51 • f'B + P*pA(*))<0 для /=1, 2, ..., т. Шаг 8'. Положить \х (z) = р*р- ¦ 1) Можно взять то же самое р, что и на шаге 0 в алгоритме B6), т. е. при желании можно положить Р = р.
204 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ 52 Упражнение. Доказать утверждение D9) и показать, что если множество {z e С \ho(z) = 6\ состоит только из конечного числа точек, то для алгоритма с шагом 7' выполнены условия теоремы A.3.66). ¦ 53 Утверждение. Пусть функции f(-) выпуклы и ограничены снизу для / = 0, 1, 2, ..., т и при заданном aG@, У2) шаги 7 и 8 алгоритма B6) заменены приведенными ниже тагами 7" и 8". Тогда теорема C5) для полученной таким образом модификации алгоритма B6) остается справедливой (ср. с B.1.33)). Шаг 7". Вычислить такие числа Л* > 0, / = 0, 1, 2, ..., т> что 54 A - а) Л° (Vf> (z), h (z)) < /° (z + №h (z)) - f> (z) < <cA<4V/°B), 55 f (z) + al* (Vf (z), h (z)) <f(z + Xlh (z)) < 0, / Ф 0, / s/e /8 56 -аЯ/< f (z + tih(z)) <0, /e / где /8ы(^) — дополнение к подмножеству Je(z)(z) множества {0, 1, 2, ..., т\. Шаг 8". Положить \i (z) =s min {Я0, Я1, ..., А/71}. В 57 Упражнение. Доказать утверждение E3) и показать, при каких условиях теорема A.3.65) применима к этому алгоритму с шагом 7". ¦ Очевидно, приведенные выше две реализуемые модификации шагов 7 и 8 алгоритма B6), сохраняющие, как утверждается в теореме C5), его сходимость, не являются единственно возможными. Читателю предлагается проявить свою изобретательность и найти другие способы замены принципиальных шагов 7 и 8 в B6). Теперь мы выясним возможность упрощения вычислений, которые требуется провести при построении вектора возможного направления в алгоритмах типа E), B0) и B6). Основное внимание мы уделим алгоритму B6), оставляя читателю в качестве упражнения довольно очевидные модификации алгоритмов E) и B0). Исследование задачи линейного программирования A0) — A2) показывает, что переменная Л° входит в каждое неравенство, содержащее Vf(z). Можно построить методы возможных направлений, аналогичные алгоритму B6) (или B0), или E)), в которых этот «эффект сопутствия» либо уменьшается, либо вовсе исключается. В результате на каждой итерации потребуется решать несколько более простую
4.3 МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИИ 205 задачу линейного программирования. Мы опишем два таких метода; один из них был предложен Зойтендейком [34], а второй— Зуховицким и др. [39]. (Точнее, мы дадим некоторую модификацию методов из [34] и [39]; их исходные версии нестационарны 1) и обладают структурой алгоритма B0).) Начнем с подхода Зойтендейка. Вновь рассмотрим задачу A) и предположим, что некоторые из функций f?(-)> /е{0, 1, 2, ..., га}, являются аффинными. Пусть для любого числа &^0 и любой точки z e С (где С определяется формулой C)) подмножества J^(z) и J**(z) множества индексов Js(z) (определяемого формулой G)) таковы, что 58 I*(z)П /?(*) - 0, /8Л(z)U J»(г) = /в(z), 0g J"(г), причем для любого i^J?(z) функция f(-) является аффинной. Рассмотрим для любых 8^0 и г е С задачу линейного программирования 59 минимизировать h° при ограничениях $0 - А© + (Щ* B), А) ^ о, Ш J? (z)r 61 <V/*(z)f A><0, /е/^D 62 |А' |<1, /—I, 2, .... п. Обозначим решение задачи E9) — F2) через (hl(z), he(z))^ eR"+1, где he(z) не обязательно единственно. Нетрудно видеть, что функция йе(-) отображает R" в R1 и обладает следующими важными свойствами: (i) 63 Яе(z) = min[h° \ — h° + (Vf (z), h)<0, iG J?(z); {Vf(z), A><0, if=Jt(zy, | A1 K0, *=1, 2, ..., n} и (ii) для любых геС и е^0 64 Ae°(z)</*8B), где fte(-) определяется равенством (8). 65 Утверждение. Пусть точка & оптимальна для задачи A); тогда hl{z) = 0. ш 66 Упражнение. Доказать утверждение F5). [Указание: Используйте для получения противоречия теорему о среднем <В1)) ]) Определения стационарного и нестационарного алгоритмов приводятся в подстрочном примечании к модели алгоритма A.3.34). — Прим. перев.
206 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ 67 Замечание. Отметим, что в силу F4) функция Яо(-) может иметь меньше нулей на С, чем йо(-)> и потому равенство Яо(г) = О может трактоваться как более сильное необходимое условие оптимальности, чем ЛоB) = О. Отметим также, что с точки зрения применения симплекс-метода задача E9) — F2) проще, чем A0) —A2). ¦ Нетрудно теперь заметить, что, как утверждается в теореме C5), свойства F4) и F5) обеспечивают при замене задачи A0) — A2) задачей E9)—:F2) сохранение сходимости алгоритма в процедуре вычисления вектора возможного направления h (z) в B6) (или в B0)). 68 Упражнение. Используя свойства F3) и F5) функции Щ( •), показать, что теорема C5) остается справедливой для модификации алгоритма B6), которая получается в результате замены в алгоритме B6) шага 3 приведенным ниже шагом 3'. Шаг 3'. Вычислить вектор Ыf(z) = (hlf,(z), hef(zj), решая E9) —F2) для 8 = 8,. ¦ Преимущества этой модификации сразу же видны, когда большинство функций /'(*) имеют вид fi{z) = (qi, z) + dt, qt <= R", dt e R1. В частности, шаг 3' приводит к значительному упрощению, если при этом в ограничениях, задающих множество С, содержатся ограничения вида г^О или | zl |^1, /=1, 2, ..., п. В этом случае число неравенств в задаче E9) — F2) (это число имеет существенное значение для симплекс-метода) может быть значительно меньше, чем в задаче A0) — A2) и, следовательно, задача E9) — F2) намного легче решается. Как мы убедимся несколько позже, модификация алгоритма B6), использующая шаг 3' в F8), намного более пригодна для решения задач дискретного оптимального управления, чем исходная версия B6). 69 Упражнение. Пусть некоторые из функций /'(•)» *s е {0, 1, ..., т], являются аффинными. Показать, что тогда оба алгоритма E) и B0) можно модифицировать так, чтобы из соответствующих неравенств задач B.22) — B.25) и A0) — A2) исчезли члены —Л°. Показать, что такая модификация не нарушает сходимости (установленной в B.32) и в C5)). ¦ Изложим теперь подход Зуховицкого и др. [39], который отличается от подхода Зойтендейка тем, что не зависит от наличия аффинных функций в наборе fl{-), / = 0, 1, 2, ..., т. Для любых е > 0 и z e С рассмотрим задачу линейного программирования 70 минимизировать О7/0 (г), /г)
4.3 МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 207 при ограничениях 71 <V/' (z), А) + е > 0, / ф 0, * е= /е (г), 72 |АЧ<1, /=1, 2, ..., п. Обозначим решение задачи G0) — G2) через he(z). Отметим, что, как и во всех других задачах линейного программирования данного раздела, решение ke(z) может не быть единственным. Кроме того, мы будем употреблять обозначение hl(z) = , L (z)), т. е. 73 ^(z) = min{<Vf°(z), h)\(S/f(z), А> + е<0, 1Ф0, 74 Утверждение. Пусть для любой точки зеС существует такой вектор A e R", что (V/' (г), А) < 0 для всех /=#=0, / <= /0(г). В таком случае Ао(^) = О тогда и только тогда, когда Ло(г)=О (функция Ае(-) определена равенством (8)). (Отметим, что условие этого утверждения гарантирует выполнение условий регулярности Куна — Таккера в каждой точке множества С; см. [К13, теорема C.3.21)].) Доказательство. Проведем доказательство методом от противного. Предположим, что ho(z)<O для некоторой точкц z^C; тогда легко убедиться, что fio{z)<Q. Таким образом, если ko(z)==Oy то должно быть ho(z) — O. Предположим теперь, что ho(z)<O для некоторой точки z^C. (Тогда для некоторого h' e S* = (А || hl |<! 1, /= 1, 2, ..., п) должно быть hi (z) = (Vf°{z)y A') < 0 и (S/f (z), А')<0 при / Ф 0, /е/0(г).) Пусть вектор AeRft таков что (Vf (z), h) < 0 при всех /=й=0, /е/0(г). Тогда для некоторого числа Я1 > 0 будет (Vf (г), А/ + Я1А)<0 при всех /е/о(г) и для некоторого числа Я2 > 0 вектор X2(h/ + Xlh) будет принадлежать S*. Отсюда мы получаем Ао(г)<О. Следовательно, если Ao(z) = O, то Ao(z) = O. ¦ Итак, при выполнении условий утверждения G4) процедуры вычисления нулей функций /го(-) и Ао@ кажутся равноправными, поскольку можно быть уверенным, что как в том, так и в другом случае будут найдены оптимальные точки для задачи A). Однако задача линейного программирования G0)—G2) содержит на одну переменную меньше, чем задача линейного программирования A0) — A2). Кроме того, функция Ае(-)>
208 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ вообще говоря, удобнее для задач оптимального управления, чем Ае(')> в чем мы убедимся несколько позже. 75 Теорема. Пусть для любой точки z^C существует такой вектор AgR", что (V? (z), h) <0 для всех i?=0, i^J0(z)\ Тогда теорема C5) остается справедливой для модификации алгоритма B6), которая получается в результате замены шага 3 шагом 3". Шаг 3". Вычислить вектор АЕ/ (z) = {hlp hZj B)), решая систему G0) — G2), где е = е7, относительно вектора he.(z) (=/ЦB)), и затем положить hl}{z) =(Vf (z), hZj{z)). Доказательство. Прежде всего условимся для краткости называть модификацию алгоритма B6), получающуюся в результате замены в нем шага 3 шагом 3", версией ЗПП (Зуховицкий — Поляк — Примак). Заметим, что версия ЗПП корректна, поскольку для нее лемма B7) очевидно справедлива, а в силу предположения B.3) м-(г) существует всегда. Поскольку случай построения версией ЗПП конечной последовательности [Zi] тривиален, как и для алгоритма B6), мы покажем лишь, что любая предельная точка z бесконечной последовательности {г*}, построенной версией ЗПП, желательна, т. е. $>(?) = АоB) = О. Как это уже делалось в доказательстве теоремы C5), положим с(*) = /ю(-)> Т = С, а отображение А: С-*2С определим с помощью инструкций версии ЗПП алгоритма B6). Поскольку функция /° (•) непрерывна, для завершения доказательства осталось показать, что для рассматриваемых отображений с(-) и Л(-) выполнено условие (и) теоремы A.3.10). Пусть в точке z = Zi, в которой Ао(г*)<О, алгоритм B6) построил e(z) и h&(z)(z) =(a2(z)(z), he(Z)(z)). Тогда по построению Ае(г)(г)^ — z(z). Легко видеть, что вектор he(Z)(z) удовлетворяет G1), G2) при e = e(z) и потому 76 fh(Z)(z)^hliz)(z)<;-e(z). Следовательно, обозначив через в'(г) вели-чину s(z), построенную версией ЗПП алгоритма B6) для z = Zi, в силу G6) получим s'(z)^e(z). Кроме того, для любого оптимального решения h&'{z){z) задачи G0) —G2), где e = e'(z) (Vf (z), Ыг (z) (г)) < - е' (z) < - в (z) для всех /Е/8'B)(г). Теперь непосредственно из тех же соображений, что и при доказательстве, теоремы C5) для алго-
4.3. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 209 ритма B6), заключаем, что эта теорема справедлива также и для версии ЗПП алгоритма B6). ¦ 77 Упражнение. Показать, что обе теоремы C5) и G5) остаются справедливыми, если заменить множество S* = [h \ \ hl |<! 1, /== 1, 2, ..., п\ в A2) и G2) любым компактным множеством 5, содержащим в качестве своей внутрелней точки начало координат. ¦ 78 Упражнение. Рассмотрим задачу линейного программирования 79 минимизировать (/°, г) при ограничениях 80 {ft, z)<6\ /=1, 2, ..., /и, где fi gR" для / = 0, 1, 2, ..., m и ft'eR1 для /= 1, 2, ..., т. Показать, что версия B6), использующая шаг 3/, определяемый в F8), сводит задачу G9), (80) к последовательности задач линейного программирования, которые наверняка имеют значительно меньшую размерность, чем задача G9), (80), т. е. эта версия носит характер алгоритма декомпозиции. (В самом деле, весьма естественно трактовать методы возможных направлений в применении к любой задаче как алгоритмы декомпозиции, поскольку они эффективно заменяют исходную задачу последовательностью более простых задач.) ¦ 81 Упражнение. Определим функцию й°: C-^R1, где множество С задано в C), а функции /'(•)> * = 0, 1, 2, ..., т, — в A), равенством 82 А°(г) = min{{S7f«(г), К) \f (z) + {?(г), /г><0, / = 1, 2, ..., пг; |/*Ч<1, /=1, 2, ..., п). Показать, что если для каждой точки z^C существует такой вектор AgR", что (Vf (г), /г) < 0 для всех /=^0, i^J0(z), то /г° (z) = 0 тогда и только тогда, когда h° (z) = 0 (где h° (•) определяется равенством B.12)), и, значит, тогда и только тогда, когда ho(z) — O. Показать также, что в алгоритме E) нельзя заменить функцию /г°(-) функцией 1г°(-), поскольку в этом случае нарушается сходимость, установленная в теореме B.32). я
210 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Методы возможных направлений в задачах с ограничениями типа равенств Здесь мы рассмотрим задачу 83 min{/°(s)l/'(*)<0, '=1, 2, ..., m, r(z) = O в которой все функции f: R^-^R1, / = 0, 1, ..., m, и г: R"->R* непрерывно дифференцируемы. Чтобы исключить тривиальные и сомнительные случаи, мы будем предполагать, что выполнено предположение B.3). Исследуя задачу (83), мы должны различать два существенно отличных друг от друга случая. В первом функция г( •) либо является аффинной, либо имеет вид r(z) — z2— g(z\), где z = (zu г2). Во втором случае функция г(-) не принадлежит ни к одному из упомянутых двух типов. Это замечание скоро станет ясным. 84 Утверждение* Пусть точка z* оптимальна в задаче (83) и либо функция г(-) аффинна, либо матрица dr(z)/dz имеет максимальный ранг. Тогда 85 min max (Vf (z), Л) = 0, где множество /0 (z) определено bG)hS/B) = (AeR/i| | hl | ^ I, /=1, 2, ..., n; (dr(&)/dz)h = O\. Более того, если существует такой вектор A'gR", что {S/f (г), h') < 0 для всех i^J0(z)9 1Ф0, и (dr(z)/dz)h' = 09 то 86 min {(Vf>B), Л>| (Vf (г), /г><0, 1Ф0, i^J0(z); fiG=S'(z)} =0. 87 Замечание. В силу утверждения (84) для возможности применения алгоритма B0) или B6) к задаче (83), когда функция г (•) аффинна, достаточно добавить ограничение (дг (z)/dz) h = 0 к подзадаче A0)%—A2). Аналогично для возможности применения других алгоритмов настоящего раздела к задаче (83), когда функция г(-) аффинна, достаточно добавить ограничение (dr(z)/dz)h = 0 к подзадачам B.22) —B.25), E9) —F2) и G0)-G2). 88 Утверждение. Пусть заданы числа р > 0, р^@, 1) и <х*=@, 1), функция г(-) в (83) определена равенством r(z) = = z2 — g(z\), где z — (zi, z2)> а матрица dr(z)/dz имеет свой максимальный ранг при всех г^ [z\f (z)<0, /=1, 2, ..., т}. Если к задаче A0) —A2) добавить ограничение (dr(z)/dz)h = 0, а шаги 7 и 8 алгоритма B6) заменить приведенными ниже шагами 7' и 8', то для полученной таким образом модификации алгоритма B6) теорема C5) остается справедливой.
4.3 МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 211 Шаг 7'. Вычислить наименьшее из целых чисел &^0, для которых при h(z) = (hl(z), h2(z)) 89 f> (г + (P*pAi (z), g (Р*рЛ,(*))> - f° (г) - P*pa <Vf> (г), /г (z)> < 0, 90 /* (* + (P*pA, (*). g(P*pAi (*)))< 0 для всех /=1, 2, ..., т. Шаг 8'. Положить ц (г) — Р*Р- ¦ Можно рассмотреть аналогичную модификацию для алгоритма B0) и для алгоритма ЗПП. Что касается общего случая, то можно объединить метод возможных направлений с методом штрафных функций как это сделано в следующей модификации алгоритма B6): 91 Алгоритм (гибридный метод решения задачи (83), Полак [П5]). Шаг 0. Вычислить zoeC = {z|/*(*)<0, /=1, 2, ... т)\ выбрать g > 0, в' €= @, в), е" > 0, ^ <= @, 1), pr/ e @, 1), ре@, 1) и положить / = 0. Шаг 1. Положить z = zi. Шаг 2. Положить 80==s и положить / = 0. Шаг 3. Вычислить вектор (AlL(z), AE/(z)), решая задачу A0)—A2), где е = 8у и функция /° (•) заменена функцией /°„ (•), определяемой равенством 92 /Sr(«)-/°B)+2jr||r(z)IP. Я/"аг 4. Если Ае. (z) ^ — е7, то положить А (г) = Ае, (^) и перейти к шагу 6; иначе перейти к шагу 5. Шаг 5. Если е7^е', то положить e' = pV, г" = $"г" и перейти к шагу 1; иначе положить е/+1=8//2, положить / = = / + 1 и перейти к шагу 3. Шаг 6. Вычислить наименьшее из целых чисел /г, удовлетворяющих условиям E0), E1), где функция /°(-) заменена функцией flX •). Шаг 7. Положить jx(z) = p^. Шаг 8. Положить z/+1 = г + jj, B) h(z) положить / = /+1 и перейти к шагу 1. ¦ 93 Упражнение. Пусть допустимое множество Q = BGRn| f(z) <; 0, гB) = 0}, соответствующее задаче (83), удовлетворяет условиям регулярности Куна — Таккера (см. [К13]) для любой точки гей. Показать, что если последовательность [zt], построенная алгоритмом (91), имеет предельные точки, то эти
212 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ точки z должны удовлетворять необходимым условиям оптимальности Куна — Таккера: 94 для некоторого вектора я|) е R\ (i'^0, i^J0(z) (см. A.2.2)). [Указание: См. лемму A.84) и следующее за ней обсуждение.] а Методы возможных направлений ё оптимальном управлении Здесь мы покажем на двух примерах, как можно применять различные алгоритмы настоящего раздела к определенным классам задач оптимального управления. 95 Пример. Рассмотрим задачу дискретного оптимального управления 96 минимизировать 2 f?(xiy ut), xt e Rv, и. е R1, при ограничениях 97 Xi^i — xi = fi{xi9ui)9 / = 0 I, 2, ..., k— 1; xo=io; 98 q!(Xk)<0, /=l, 2, ..., m'; 99 \щ |<1, / = 0, 1, ..., k— 1, где все функции непрерывно дифференцируемы по всем аргументам. Приведем задачу (96) — (99) к виду A), положив и 100 f°(z)-S/?(^B), «,)• 101 f/B) = <7/feB)) /=1, 2, .... m', где функции л:^ (г) для / = 0, 1, 2, ..., fe определяются начальным условием Xq(z)==?0 и уравнением 102 **+i(z) —**(*) = M**(z), «/). ' = 0, 1, 2, ..., 6— 1. (Здесь z = (u0, uu..., ик_г).) Тогда задача (99) —(99) примет вид 103 min{/°B)|/'(*)<0, /=1, 2, ..., т7; , /=0, 1,..., fe— 1}, т. е. будет очевидно иметь форму задачи A). Можно ожидать, что число т' будет очень мало по сравнению с k и, следо-
4.3. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 21$ вательно, поскольку в A03) 2k аффинных неравенств, наиболее подходящим методом возможных направлений для этой задачи будет алгоритм B0) или же алгоритм B6), в котором при вычислении вектора возможного направления h (z) задача A0) —A2) заменена задачей E9) —F2). Единственный интересный вопрос, возникающий при использовании здесь E9) — F2), состоите выборе способа вычисления различных градиентов. Предполагается, что задача E9) — F2) имеет вид: 104 минимизировать h° при ограничениях 105 — 106 — 107 108 h» + {Vf(z), A)<0; tf(> -Л'<0 — 1 — ДЛЯ ffe(z)) ДЛЯ Щ + для всех всех всех таких /, СО, /е{ таких /, , /е{0, таких /, что 1, 2, . что 1,..... что ,.., п , k— 1); { } 109 |А'|<1, /=1, 2, ..., k. Эффективный метод для вычисления Vf°(z) был уже изложен в разд. 2.4, и его очень легко приспособить для вычисления Vf*(z), /=1, 2,..., т'. Итак, чтобы вычислить f мы решаем для pi9 г = 1, 2, ..., k> разностное уравнение й_л+1-^ _ J й+1-^ щ J . 110 ПО где j??fe = 0. Тогда, как показано в B.4.14), df°{z) in df{z) -dfUxiW>»i) (%1(*1Ыщ)у / = 0, 1, ..., *—1, т, е. A11) задает i-ю1) компоненту вектора S/f°(z) (напомним^ что щ е R1). 1) Отметим, что в связи с нумерацией последовательности управлений «о, ии ... мы предполагаем, что компоненты векторов Vfi B), / = 0, 1, ..., т'* для удобства пронумерованы в порядке 0, 1, 2, ...,'&— 1, а не 1, 2, ..., /г-
214 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Заметим теперь, что (мы использовали обозначения Vz> V^, а не V, чтобы избежать возможной путаницы). Таким образом, Теперь из B.49) получаем дх*{г) -ф df* I** (zh "Л ф 114 где матрица Ф&,/ + 1 определяется из решения уравнения B.4.7), т. е. df, (х, (г), и,\ 115 Ф;+ы+1-Ф/,<+1= ЛЦ ^Ф/,/+1, / = /+1, г + 2, ..., ft-I, причем Фг+!>г+1==/, где / — единичная матрица размера vXv. Подставляя A14) в A13), находим Далее, вычислим вектор pi%j для /=1, 2, ..., т' из решения системы 117 Pt.t-Pt+U! = (fi{%1}' Ui)JPt+ut. /= где рк,} = Чх^(хк{г)). Тогда легко видеть, что /=1, 2, ..., пг\ / = 0, 1, ..., k— 1. Таким образом, A18) задает /-ю компоненту вектора V/7^). Итак, мы видим, что для вычисления набора градиентов Vfj(z), /=1, 2, ..., m', нам не придется оперировать с матрицами размера более чем vXv. Это значительно упрощает расчеты, если, конечно, k намного больше чем v (как правило, так и бывает). ~~
4.3 МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ 215 119 Пример. Рассмотрим задачу непрерывного оптимального управления 120 минимизировать J /° (*(/), u(t))dt, о *(/)e=Rv, «(Z)gR1, /€=[0, Г], при ограничениях 121 ^jc(/) = f(x(O, u(t))y /е=[0, Г], 122 <7''(х(/))<0, /=1, 2, ..., т, где все функции непрерывно дифференцируемы по всем аргументам. Кроме того, пусть и(-) принадлежит LL>[0, Г], а х(-) принадлежит пространству Cv[0, T] всех непрерывных функций, отображающих [0, Т] в Rv, с нормой || х \\с = sup || x (t) ||. Далее, пусть существует градиент функции т 123 F0 (и) = J /° (x (^; w), м @) d/, о где х(/; и) — решение уравнения A21) в момент t, соответствующее управлению и(>) и удовлетворяющее условию *@; и) = х0. (Относительно определения градиента gradF°(w)(«) и некоторых условий, гарантирующих его существование, см. разд. 2.5.) Даже небольшое число проверок показывает, что к решению задачи A20) — A22) легче всего приспособить версию ЗПП алгоритма B0) или B6). Версия ЗПП этих алгоритмов получается в результате замены в исходном алгоритме шага 3 шагом 3" из G5). Тогда из теоремы G5) видно, что надо сделать еще одно предположение: если и(-) — такое управление из iL[0, Г], что <7*(л:(Г; и))^0 для /=1, 2, ..., /п, то будем предполагать, что существует такая вариация Ьи( • )е LL[O, T] (Ьи(-) соответствует вектору h в G5)), что х) 124 W (х (Г; и)), 6х (Г; 6и)) < 0 для всех таких /, что ql (х (Г; и)) = 0. Принимая во внимание вывод формулы для приращения, данный в разд. 2.5, заключаем, что подзадача G0) — G2), которую при вычислении вектора возможного направления нужно 1) Ьх(Т; 6и) определяется из уравнения A26), где 6*@) = 0.
*216 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ решать на каждой итерации, принимает для задачи A20) —A22) {где ди (•) соответствует К) следующий вид: 125 минимизировать bx{t) bx{t) + при ограничениях 126 ?М,}_№^ 127 6* @) = 0, W (* (Т; и)), дх (Г; а)) < - е, для всех таких /, что ql(x(T; и)) + е^0, /е {1, 2, ..., 128 |6и@1<1 для почти всех /е [0, Г]. (Отметим, что при желании можно исключить уравнение A26), разрешая его относительно 6л;(/), как это делалось в разд. 2.5) Подчеркнем теперь основное различие между задачами непрерывного и дискретного оптимального управления: хотя некоторые из методов, которые будут описаны в следующей главе, применимы к задаче A25) — A28), однако методов, гарантирующих решение этой задачи за конечное число итераций, не существует (по крайней мере в общем случае). Таким образом, мы получаем только принципиальный алгоритм, поскольку на каждой итерации требуется вычисление предельной точки бесконечной последовательности. В связи с этим мы сталкиваемся с двумя альтернативами. Первая состоит во включении в алгоритм еще одной е-про- цедуры, чтобы преобразовать его к виду модели A.3.33). Читателю можно предложить эту задачу в качестве самостоятельного исследования, поскольку детали такой схемы до сих пор не опубликованы. Вторая альтернатива, которая в настоящее время кажется практичнее, состоит в дискретизации задачи A20) —A22), как описано в разд. 1.1, и в решении полученной дискретной версии. Таким образом, трудности интегрирования дифференциальных уравнений отделяются от трудностей оптимизации, и можно, по-видимому, получить достаточно эффективный алгоритм 1). Если бы мы воспользовались эвристическим правилом прерывания поиска оптимального решения Ьи{ •) задачи A25) — A28), мы внесли бы ошибку в задачу оптимизации, влияние которой трудно предсказать. Этот факт, а также неизбежность при расчетах на цифровых 1) Проблемам решения задач дискретного оптимального управления, а также их связи с задачами непрерывного оптимального управления посвящены работы Ермольева и Гуленко [*Е5] и Пропоя [*Ш6]. — Прим. перев.
4.4. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ ВТОРОГО ПОРЯДКА 217 ЭВМ той или иной формы дискретизации приводит нас к выводу, что, прежде чем пытаться решать задачу A20) — A22) (или подобную ей), следует сначала привести ее к дискретному виду ])- 4.4. Методы возможных направлений второго порядка В предыдущем разделе мы изложили методы возможных, направлений, использующие функциюh° (•) B.18) (алгоритм C.5)), функцию Ae(«) C.8) (алгоритмы C.20) и C.26)) и функцию $!(•) C.73) (см. теорему C.75)). (Методы с использованием функцииг Яе(-) C.63) являются по существу частным случаем методов с функцией Ле(-)-) Все описанные методы — это методы перового порядка, поскольку процесс отыскания направления содержит только первые производные функций /'(•)> / = 0,1, 2, ..., т, необходимость вычисления которых приводит к за* даче C.1). Сейчас мы покажем, как модифицировать функции Л°(-)> Ле(-) и йе(-)> добавляя члены, содержащие вторые производные, чтобы получить алгоритмы типа Ньютона — Раф- сона, которые, по всей вероятности, будут иметь большую скорость сходимости, чем методы, описанные в предыдущем разделе. Как и в разд. 3, мы будем рассматривать задачу 1 min{/°(г)|f(z)<0, / = 0, 1, 2, ..., m}, где функции f: R^-^R1 непрерывно дифференцируемы. (Для некоторой точки необходимо будет предположить, что эти функции дважды непрерывно дифференцируемы.) Как и прежде, обозначим через С допустимое множество, соответствующее ограничениям 2 C={ze=RV(z)<0, /=1, 2, ..., т}9 а в дополнение к множеству индексов Je(z)9 определенному формулой C.7), рассмотрим еще множество индексов /8(г), которое определим для любых е^О и 2gC равенством , /еA,2 т]), *) Предыдущее рассмотрение основывалось на оптимистическом предположении о сходимости последовательности {и (•)}, построенной методом возможных направлений. Однако, как уже указывалось в разд. 2, оно не обязательно справедливо, поскольку замкнутое ограниченное множество в гильбертовом пространстве может и не быть компактным.
218 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ так 4TO^/e(z)=j0}U/e(z)- Зададим также функции Л'°(-), Ае°(-)> /*е°(') и /*е'°(-)> отображающие С в R1, равенствами 4 А'0 (г) = min max {<Vf> (г), А) + (/г, Яо (г) А>; * f-(A, Ht{z)h), /=1, 2, ..., m}9 5 As0 (z) = min ^ax (<V/' (z), A> + (A, Ht (z) A)}, 6 h? (z) = min «Vf° (z), A> + (А, Яо (z) A) | <V/<(z), A> + (А, Я,'(z)A)<-e, /e/,(z)}t 7 С (z) = min {(V/° (z), A> + (А, Яо (z) A> | (УГ (z), h) + (A, Hi (z)A)<-e, /e/e(z)}, где Hi(z)y / = 0, 1, 2, ..., m, — положительно полуопределенные матрицы размера пХп, элементы которых непрерывно зависят от z, и 8^0 в E) — G). Множество S* было определено в C.9), т. е. 8 Утверждение. Для любой точки z^C равенство A/0(z) = 0 выполняется тогда и только тогда, когда A°(z) = 0. Доказательство. Пусть A/0(z)<0 для некоторой точки z^C. Тогда, как нетрудно убедиться, должно быть A°(z)<0, т. е. из условия A°(z) = 0 следует, что A/°(z) = 01)- Теперь предположим, что A°(z)==max{(V/°(z), A^; f (z) + (Vf (z), A'), /= 1, 2, ..., m) < 0 для некоторого A/ e S*. Тогда существует такое число Яг > 0, что (в силу доминирования линейных членов над квадратичными и в силу аффинности) для всех Яе@, X'] max {Я (Vf> (z), A') + Я2 <А', Яо (z) A'); f (z) + X (Wf (z), A') + i', Ht(z)h% i=l, 2, ..., m}<0 Поэтому Л'° (г) < 0, откуда следует, что если А' (г) = 0, то Л° () = 0, ¦ <) Утверждение. Для любой точки z^C равенство Ао B) = О выполняется тогда и только тогда, когда Ло(^) = О. ¦ 1) Это доказательство основано на построении противоречия по следующей схеме. Если из ложности утверждения Л вытекает ложность утверждения В, то из истинности утверждения В вытекает истинность утверждения Л.
4.4 МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ ВТОРОГО ПОРЯДКА 219 10 Упражнение. Доказать утверждение (9). [Указание: Повторите рассуждения, использованные при доказательстве утверждения (8).] Ш 11 Утверждение. Пусть выполнены условия утверждения C.74); в этом случае для любой точки z<= С равенство Ло°Сг) = О выполняется тогда и только тогда, когда ho(z) = Q. ш 12 Упражнение. Доказать утверждение A1). [Указание: Используйте схему доказательства утверждения (8).] т 13 Утверждение. Пусть выполнены условия утверждения C.74) и для всех точек zgC матрица H0(z) положительно определена. В этом случае для любой точки z^C равенство йо/0(г)=0 выполняется тогда и только тогда, когда ho(z) = O. Доказательство. Если матрица H0(z) положительно определена, то множество {А <= R* |(V/°(z), h) + (h, Я0(г)/г)<а} компактно при любом aER1, Следовательно, функция /Ц'°(-) однозначно определена для любого е^О. Предположим, что ho°(z)<0 для некоторой точки 2GC; тогда легко убедиться, что fto°(z)<O (поскольку /го'°(z)^Ло°(г) для всех геС). Поэтому из равенства fto (z) = 0 следует, что ho°{z) = Q. Далее, пусть fi" (z) <0 для некоторой точки 2GC, причем Тогда для всех А е @, 1) f (г), h') + Я2 <А', Ht (z) h'\ i es /0 (z)r а так как Ш gS* для некоторого ^g@, 1), то должно быть ho°(z)<O. Поэтому из равенства йо°(г) = О следует, что ho°(z)='Q. В силу утверждения A1) доказательство закончено.¦ Связь между нулями функций Ло(-) и йо(-) установлена в утверждении C.74). Для завершения демонстрации связей между нулями всех введенных функций, которые, как мы увидим, можно использовать в методе возможных направлений, мы сделаем здесь упражнение B.16). 14 Утверждение. Для любой точки z^C равенство h°(z) = O выполняется тогда и только тогда, когда /*o(z) = O. Доказательство. Пусть h° (z)=max {(V/° (г), /г'); /' (z) + (Vf (z)y h')y *=1, 2, ..., m) < 0 для некоторого вектора A'gS*. Тогда
220 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Ao(z)< max (Vf (z), ti) < 0 и из условия A<j(z) = O следует, J€=/O(Z) что A°(z) = 0. Пусть теперь Ao(z)== max (V/* (z), Л") < 0 для некоторой fe/t(z) точки z^C и некоторого вектора А'7е«S*. Тогда для некоторого числа Л"е@, 1] max{^<Vf>(e)f Л">; /?(z) + a/'W (z), А"), /=» 1, 2, ..., ет} < 0. Следовательно, A°(z)<0. Таким образом, из условия A°(z) = 0 следует, что Ao(z) = O. ¦ 15 Упражнение. Функции, определенные формулами D)—G), не исчерпывает всех возможных модификаций для А°( •), Л?( •) и Ае( • )> при которых нули новых функций совпадают с нулями исходных функций. Так, например, рассмотрим функции, отображающие С в R" и определяемые формулами 16 № (z) = min {{yfo (z), h) + (А, Я0(г) h) \ )9 A) + (A, #<B)Л><0, /=1, 2, ..., m}, 17 Й//о @) = min {V<f (z), h) + <A, Яо (z) A) | f f /=1, 2, ..., m}9 где матрицы Hi{z), / = 0, 1, 2, ..., m, размера лХ« положительно определены и непрерывны по z. Показать, что u/o(z) = O тогда и только тогда, когда /i//o(z) = O. Показать, что A/0(z) = 0 тогда и только тогда, когда /*o°(z) = O. ¦ Способ использования этих функций для модификации алгоритмов C.5), C.20) и C.26) очевиден. Например, чтобы в C.5) заменить- А°( •) на А/о(-)> надо заменить инструкцию шага 2 в C.5) «решить B.22) — B.25) и получить (A°(z), A(z))» инструкцией «решить D.18) —D.20) и получить (A°(z), A(z))», где задача D.18) — D.20) формулируется так: 18 минимизировать А0 при ограничениях 19 - & + <V/o (г), А) + (А, Яо (г) А) < 0, -A° + /<(z) + <Vf4z), A> + (A, ^(z)A)<0, /=l, 2,..., т, 20 |АЧ<1, i=U 2, ..., /г. Аналогично, чтобы в алгоритме C.26) заменить hl( •) на Ае°( •), надо заменить инструкцию шага 3 алгоритма C.26) «вычислить
4.4. МЕТОДЫ ВОЗМОЖНЫХ НАПРАВЛЕНИЙ ВТОРОГО ПОРЯДКА 221 вектор А8/ (z) = (h°ef (z), h8f(z)) из решения задачи A0) —A2) при е = еу» инструкцией «вычислить вектор /Ц (z)={fut (z), hZj (z)) из решения задачи D.21) — D.23) при & — Ej», где задача {4.21) — D.23) формулируется так: 21 минимизировать h° при ограничениях 22 - Л° + (V/' (г), /г) + </г, Я, (z) A) < 0 для всех * е /е (г); 23 |*'|<1, /=1, 2, ..., п. Отметим, что в задачах A8) — B0), B1) — B3), а также фор" мулах F), G) и A6), A7), требуется минимизировать либо линейную, либо квадратичную форму при ограничениях, задаваемых линейными и квадратичными неравенствами. До сих пор не существует методов, которые решали бы такие задачи в общем случае за конечное число итераций. Следовательно, эти функции нельзя использовать в реализуемых алгоритмах вида C.26), если только не положить в ограничениях подзадачи отыскания возможного направления #^(;г) = 0 при всех /. Эти замечания, по-видимому, значительно уменьшают непосредственную заинтересованность в функциях А/0(#) и Ле°(-) и вынуждают нас положить Я*(г)гзО для /== 1, 2, ..., т в F), G) и A6), A7). Для того чтобы привести алгоритм, использующий функции /ieO(-)> Ле'°(-)> А/о(-) и /Г'°(-)> к виду алгоритма типа Ньютона — Рафсона, положим H0(z)==d1f°(z)/dz2 для всех геС и Ht (z) = 0 для / = 1, 2, ..., т 1). 24 Теорема. Пусть на шаге 2 алгоритма C.5) команда «решить B.22) —B.25)» заменена командой «решить D.18)—-D.20)». Для такой модификации алгоритма C.5) заключения теоремы B.82) остаются справедливыми. ¦ 25 Упражнение. Доказать теорему B4). [Указание: Рассуждайте в основном так же, как при доказательстве теоремы B.32).] ¦ 26 Теорема. Пусть на шаге 3 алгоритма C.26) команда «решить A0) — A2)» заменена командой «решить D.21) — D.23)». Для такой модификации алгоритма C.26) заключения теоремы C.35) остаются справедливыми. ¦ 1) При условии, конечно, что матрица H0(z) положительно полуопределена.
222 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ 27 Упражнение. Доказать теорему B6). [Указание: Рассуждайте в основном так же, как при доказательстве теоремы B.35).] ¦ 28 Замечание. Теоремы B4) и B6) имеют смысл только тогда, когда рассматриваемые алгоритмы корректны, т. е. только тогда, когда алгоритмы применяются к задачам, в которых они не циклятся. Они могут циклиться, например, из-за того, что не существует \i(z). Такое предположение, как, например, компактность множества {z\fQ(z)^f°(z0)}t позволяет обойти эту трудность при условии, что процесс начинается в точке г0. См. также лемму C.27).. В 29 Теорема. Пусть для любой точки z & С существует такой вектор AeRrt, что (Vf (г), Л) < 0 для всех /е/0(г). Если на шаге 3 алгоритма C.26) заменить «из решения A0) — A2)» на «из решения D.6)», то заключения теоремы C.35) останутся справедливыми. • ¦ 30 Упражнение. Доказать теорему B9). [Указание: Воспользуйтесь теоремой B6) и проведите доказательство, следуя в основном идее доказательства теоремы C.75).] ¦ 31 Теорема. Пусть для любой точки z^C существует такой вектор AgR", что (V/*(z), Л) < 0 для всех /е/0(г), и пусть матрица H0(z)положительно определена для всех z e С. Если на шаге 3 алгоритма C.26) заменить «из решения A0) — A2)» на «из решения D.7)», то заключения теоремы C.35) останутся справедливыми. В 32 Упражнение. Доказать теорему C1). [Указание: Рассуждайте, как в C0); при этом покажите, что векторы Л (г), вычисляемые данным алгоритмом для \\z — г'Н^р, где Р>0 произвольно, а точка /еС не является желательной, содержатся в компактном множестве.] ¦ Интересующийся читатель может сформулировать аналогичные теоремы для функций, определяемых равенствами A6) и A7). На этом мы заканчиваем обсуждение методов возможных направлений. 4.5. Методы проекции градиента Закончим это главу изложением двух методов проекции градиента для решения задачи 1 min{f°(z) |/'(*) <0, *=1, 2, ..., т\ в предположении, что функции f: Rrt->RI, / —0, 1, ..., mr непрерывно дифференцируемы и выпуклы. Как и выше, будем
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 223 обозначать через С допустимое в силу ограничений задачи множество 2 C = {zeR'l|ffB)<0, /=1, 2, ..., т\. Поскольку мы предположили, что функции f (•), / = 1, 2,..., пгу выпуклы, ясно, что множество С также должно быть выпуклым. Пусть z — любая точка из С. Определим проекцию вектора z — Vf°(z) на С как точку zp^C, удовлетворяющую условию 3 || zp - (z - Vf> (г)) || = min [\\2'-(г- Vf> (z)) || | z' e= C]. 4 Упражнение. Показать, что точка zp существует и единственна, поскольку множество С замкнуто. Показать также, что 5 (z' — Zp, z — S/f°(z) — zp)^0 для всех /еС. ¦ 6 Утверждение. Точка &<^С оптимальна в задаче A) тогда и только тогда, когда проекция zp вектора z — Vf° (z) на С удовлетворяет условию z — zp. Доказательство. Пусть zp = z. Тогда два выпуклых множества С и [z IffcXffe)) должны отделяться гиперплоскостью {z\(z — ?, V/°B)) = 0}. Следовательно, точка z должна быть оптимальной для задачи A). Обратно, пусть точка z оптимальна для задачи A), но хрфг. Тогда, полагая z' = z в E), получаем 7 <*-*„ *-2P-Vf> (*)>«>, а полагая h = z — zp, получаем из G) 8 поскольку НфО. Следовательно, в силу выпуклости множества С найдется такая точка z'=z + Xh для некоторого Ле@,1], что г'е С. При этом в силу (8), а также в силу непрерывности лервых производных функции f°( •) будет f°(z') < f°(z). Так как это противоречит оптимальности точки &, то zp — z. ж Утверждение F) вместе с соотношением (8) доставляет основу для методов проекции градиента, большинство из которых опирается на следующую простую схему. По заданной точке Zt^C (i) вычислим проекцию л луча [z \z = zt — №f°(zi), Я^О} на С и (ii) в качестве zi+x берем точку на луче я, минимизирующую f°(z) по гея. Из (8) и из выпуклости множества С вытекает, что если точка zt не оптимальна на С, то zi+i Ф zt и f°(zi+i) < f°(Zi). Если zi — оптимальная точка, то из утверждения F) мы заключаем, что
224 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ 9 Упражнение. Рассмотрим принципиальный алгоритм, определяемый описанными выше операциями (i) и (ii). Пусть {гь) — последовательность, построенная этим алгоритмом. Показать, что если последовательность \zi) конечна (и завершается при zi+l = Zi), то ее последний элемент является оптимальным решением задачи A), а если она бесконечна, то каждая ее предельная точка является оптимальным решением задачи A). [Указание: Рассуждайте так же, как при доказательстве теоремы B.1.6).] ¦ В алгоритмах, которые мы будем, рассматривать, проектирование осуществляется не на множество С, а на касательное линейное многообразие, проходящее через ziy и операция проектирования выполняется с помощью подходящим образом построенных проектирующих матриц. Поэтому мы на некоторое время отступим от основного изложения и установим несколько свойств проектирующих матриц, которые нам понадобятся в дальнейшем. Пусть заданы векторы ft, i= I, 2, ..., т, в Rn. Обозначим через / произвольное подмножество множества {1, 2, ..., т}, содержащее т' элементов, а через Fj матрицу размера пу^т\ столбцами которой являются векторы f,«, /g/, расположенные в порядке возрастания /. Запишем это определение в компактной форме Ю Fi = (ft)imr Пусть Lj — линейное подпространство, натянутое на векторы Д-, /е/. Тогда любой вектор z^Lj можно представить в виде П ? = ^/</ для некоторого yeR'. Далее, если задана любая точка то ее проекцией на Lt будет единственное решение задачи 12 min{||2 — z'lPU'eL,}. В силу A1) задача A2) принимает вид 13 {2m'} Вычисляя градиент функции \\z — Ffl'f по у' и полагая его равным нулю, видим, что если zp — проекция точки z на Ll7 то zp = Fjyp> где ур е Rm' удовлетворяет условию 14 F](z —
4.5. МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 225 Если предположить, что векторы fit /е/, линейно независимы, то получим 15 zp = Fjyp = Fj №/)"' F]z. Пусть матрица Pj проектирует R* на подпространство LIf т. е. если задан произвольный вектор z e R", то PjZ принадлежит LT и является проекцией точки z на Lj. Предполагая, что векторы flf /е/, определяющие подпространство Lh линейно независимы,, заключаем из A5), что 16 pI = FI{FjFirlFl Если же векторы fi9 /e/, линейно зависимы, то найдется такое подмножество /'с/, что векторы fi9 /e/', линейно независимы и порождают подпространство LIy т. е. Lr — Li. В этом случае матрица Р7 совпадает с матрицей /V, получающейся из A6) в результате замены / на /'. Итак, проектирующая матрица Р/ всегда существует. Как легко видеть из A6), матрица РЕ симметрична и положительно полуопределена. Кроме того, она обладает следующими свойствами: (i) PjZ = z для всех z^Lj (в чем легко убедиться с помощью A5), положив z = Fjtj) и, значит, 17 PjPi = Pr, (ii) Я7г = 0 для всех векторов 2gR", ортогональных Ll9 т. е* удовлетворяющих условию {fh z) = 0 при всех /е/ (поскольку из условия (fh z) = 0 для всех /е/ следует, что в A5) Fjz = 0). Рассмотрим теперь матрицу 18 pf = l-ph где / — единичная матрица. Если z^LIy то pf-z = z — г = 0, а если вектор z ортогонален L/, то Pfz — z — 0 = 2. Следовательно, 19 Pfpj- = Pi, pfp, = PjPJ- = 0. Отсюда видно, что PJ" — также проектирующая матрица, причем она проектирует R" на ортогональное дополнение к Ll9 которое мы будем обозначать через Lf. Пусть z — произвольный вектор из R". Тогда <г = г' + г'/, где z*'Gi/ и г^б!/1, и потому 20 (Pi + Pj-) z = Pizf + Pfz" = z' + z" = z9 8 Э. Полак
226 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ т. е. Pj + Pf есть единичная матрица размера п X п и любой вектор 2GR" можно представить в виде суммы ортогональных компонент: 21 z где, согласно A5),. 22 P7z =*= и 23 y= Таким образом, B1) можно переписать в виде 24 z h где у определяется формулой B3). Далее, пусть /е/ и // = {/|/е/, /=#=/}. Для упрощения записи обозначим 25 /' = / —/^{Л/е/, '^Л- Обозначим через /V матрицу размера пУк(т/—1), столбцами которой являются векторы fh iG/', линейно упорядоченные по г, через L/' и Lr— подпространство, натянутое на векторы fiy i^I\ и его ортогональное дополнение; через Рг и Ру — матрицы, проектирующие R* на Lr и Lr соответственно. Тогда так как Lr cz L/, то Lr =э Lf и, значит, 26 Pt-jPl- = Я/", Р/Р/-/ =» Р/-/. Теперь сформулируем наш окончательный результат. Пусть вектор 2GRft произволен. Согласно B4), 27 г = Fjy + Pfz = 2 \11П + Pfz, /65/ где у = (у\ у2, ..., #m') задается равенством B3), а ц* — компонента вектора у, которая умножается на столбец fi матрицы Z7, когда Fjy представляется в виде столбца, как в B7), т. е. # = (|Д ц'2, •••> М'^'Х где f/G/ для /= 1, 2, ..., т'. На этом заканчивается наше отступление, посвященное свойствам Проектирующих матриц. Мы начнем с метода проекции градиента для решения задачи A), в которой С будет выпуклым многогранником с внутренностью, т. е. функции /*(•)» /=1, 2, ..., т, будут аффинными и 28 f{z) = {fbZ)-b\ /=1, 2, ..., т,
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 227 где f i e R", ^gR1, /=1, 2, ..., m. Мы по-прежнему будем предполагать, что функция /°(-) выпукла и непрерывно дифференцируема. Метод, который мы собираемся изложить, является модификацией метода проекции градиента Розена [РЗ]. Эта модификация создана Полаком [ПЗ], и состоит, она из упрощенной версии метода Розена и е-процедуры, добавленной для ее сходимости. Как и в предыдущем разделе, мы будем использовать е-активное множество индексов /8 (z), определенное формулой D.3), а именно для любого числа е^О и любой точки z е= С 29 /e(z)=Ul/'(z) + e>0, /e={lf 2, ..., т}). Если У(-), * = 1, 2, ..., т, — аффинные функции, как в B8), то определение B9) принимает следующий вид: для любого числа е^Ои любой точки геС 30 /e(z)=tfKfi, *> —бЧв>0, /е{1, 2, ..., m}}. 31 Утверждение. Рассмотрим задачу 32 тт{И*)КЬ, *>-&'<0, '=!> 2, ..., т}, где функция f°: R^-^R1 выпукла и непрерывно дифференцируема, /*e=R", 6'geR1, /=1, 2, ..., т. Точка геС = = {г |(/{", г) — 6* ^ 0, / = 1, 2, ..., т) оптимальна в задаче C2) тогда и только тогда, когда 33 V/° (z) = Fh юро W, т. е. 34 где F/0(i) определяется согласно A0), а Рд^ — согласно A8J). Доказательство, Утверждение C1) является просто частным случаем утверждения A.2.1), которое вместе с A.2.18) устанавливает необходимые и достаточные условия оптимальности для задачи A.1.1). ¦ Чтобы гарантировать, что для любых 8>0h2gC матрица, проектирующая Rrt на подпространство L/ (*), натянутое на векторы fh i^Ie(z), задается формулой A6), примем следующую гипотезу: 35 Предположение. Мы будем предполагать, что существует такое число г' > 0, что для любой точки z e С и любого числа еЕ[0, е'] векторы fi9 /е/8(г), линейно независимы. ¦ 1) Если множество /0 (г) непусто, то полагаем FIu^ = 09 Р/о(<г) = О. 2) Уо B) определяется формулой C6) при 8 = 0 и z = ?. — Прим. перев. 8*
228 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Это предположение можно снять за счет увеличения сложности алгоритма проекции градиента, и мы ниже укажем, как это сделать. В приведенном ниже алгоритме мы будем использовать обозначения, введенные в A0), A6) и A8), полагая /7/ = 0, Р7 = 0, если множество / пусто; кроме того, для любых €G[0, e] H2GC определим 36 уе (г) = (FTIe (z)FIe {2)yl FTU i2)Vf (z). 37 Алгоритм (метод проекции градиента для задачи C2), Полак [ПЗ]). Шаг 0. Вычислить го^С; выбрать р е @, 1), ёе@, е') и е" е @, §]; положить i — 0 *). Примечание. См. B.30) относительно приема «шнуровки» для вычисления z0. Обычно полагается Р = 1/2- Шаг 1. Положить z = zt. Шаг 2. Положить ео==8 и положить / — 0. Шаг 3. Вычислить вектор 38 hej(z) = Ptf Шаг 4. Если || he (z) f > 8/, то положить h (z) = — Ы (z), положить е(г) = е/ и перейти к шагу 12; иначе перейти к шагу 5. Примечание. Величину e(z) запоминать не надо. Она введена здесь только для приведенного ниже доказательства сходимости. Шаг 5. Если еу^е", то вычислить вектор ho(z) (согласно C8), где 8у заменено нулем), вычислить вектор Уо(г) (в соответствии с C6)) и перейти к шагу 6; иначе перейти к шагу 7. Шаг 6. Если \\ho(z)\\2 = O' и yo(z)^O, то положить zl+l = z и остановиться; иначе перейти к шагу 7. Шаг 7. Вычислить вектор у& (z) (в соответствии с C6)). Шаг 8. Если уг (z) ^ 0, то положить Ej+l = $Ej, положить / = /+ 1 и перейти к шагу 3; иначе перейти к шагу 9. Шаг 9. Предполагая, что ISj(z)={ku k2,...,km'} и kx < k2 < ... < km,, положить jLtg<* (z) = yae (z) для а == 1, 2, ..., m' (где y% (z) — компонента с номером a вектора yt\z)\. l) Число е' > 0 предполагается таким, что выполняется предположение C5).
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 229 Шаг 10. Найти наименьшее из чисел 4е/? (г), для которых вектор 39 hef(z) = PtAz) удовлетворяет условию 40 || /г8/ (z) J = max (| PfZj {z)-tff (z) \\ \ I е= /8/ (г), ^ (г) > 0} и положить /г (г) = — АЕ/ (г). 11. Если \\h(z)\\2^ef9 то положить е/+1 = ре/, положить / = /+1 и перейти к шагу 3; иначе положить е(,г) —8у и перейти к шагу 12. ZZ/аг 12. Вычислить наименьшее из чисел Я(г)>0, удовлетворяющих условию 41 /° (г + %(z)h {z)) = min {f°(z + А/г (г)) | Я > 0, г + Л/г (г) е= С} Я/аг 13. Положить zi+x = z + X (z) h (z), положить / = / + 1 .и перейти к шагу 1. Я Несомненно, алгоритм C7) наиболее сложный из всех, с которыми мы сталкивались до сих пор. Любая модификация этого алгоритма, состоящая либо в снятии предположения C5), либо в замене чисто принципиального правила выбора величины шага в D1) реализуемым правилом, очевидно, еще более усложнит его. Однако, как только алгоритм C7) основательно понят, нетрудно представить себе подобные модификации и ввести их в алгоритм. Алгоритм C7) становится проще для понимания, если сначала изучить его без Е-процедуры. В этом случае он сводится к следующему «упрощенному» алгоритму, который получается из C7), если положить в нем г — 0, так что всегда е} = 0: 42 Алгоритм (элементарный метод проекции градиента). Шаг 0. Вычислить 20еСи положить / = 0. Шаг 1. Положить z = zi. Шаг 2. Вычислить ho{z) (в соответствии с C8) при е/ = 0). Шаг 3. Если || h0 (z) \\ > 0, то положить h (z) = — h0 {z) и перейти к шагу 6; иначе вычислить yQ{z) (в соответствии с C6)) и перейти к шагу 4. Шаг 4. Если yo(z) eS 0, то положить zi+x =zu остановиться; иначе перенумеровать компоненты вектора yo(z), чтобы получить fi^a, как на шаге 9 алгоритма C7). Шаг о. Вычислить ho(z) (в соответствии с C9), D0) при iBj = 0) и положить h {z) = — й0 {z).
230 4- ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Шаг 6. Вычислить Я («г), как на шаге A2) алгоритма C7) (см. D1)). Шаг 7. Положить zi+l = z + Я (z) h (г), положить / = i + 1 и перейти к шагу 1. Ш Изучим теперь эту упрощенную версию алгоритма C7). Пусть на шаге 3 мы обнаружили, что ho(z) = O; тогда мы переходим к шагу 4 и, если yo(z)^Oy останавливаемся. Но согласно C1), точка z оптимальна, если ho(z) = O и yo(z)^O. Поэтому наше правило остановки выбрано правильно. Предположим теперь, что A0(z)^0. Тогда h(z) = — ho(z), и (используя B0) и A9)) мы имеем 43 <V/0 (z), h (г)) = - <(Л, {z) + Р?w) V/° (г), PJ; B)Щ° (г)) = - - IIPueFf (г) f - - I h (z) \f < 0. Далее, для всех j^I0(z) 44 </,, h (г)) - <//, PjU,V/° (г)) = <Р/^ wf,, Vf° (г)> = 0, и, значит, для некоторого числа Я' > 0 отрезок прямой {г'^ = 2: + ЯЛ(г) |Яе[0, Я']} лежит на ребре многогранника1) Сг образованном пересечением гиперплоскостей [г' \ (ff,z/)—-bJ=Q}r /е/0(г). Это ребро не может быть нулевой длины, поскольку тогда было бы ho(z) — O. (Ребро нулевой длины является вершиной, так что в этом случае множество I0(z) содержало бы в точности п индексов, что привело бы к условию Pj- г) = ол) Поэтому в силу D3) на этом отрезке прямой, содержащемся в С, найдется такая точка zi+u что f°(zi+i) < f° (г) = f° (г?). Таким образом, если Ао (z) Ф 0, то алгоритм отыскивает улучшенную допустимую точку. Предположим теперь, что ho(z) = O, но yo(z)^O. Эта означает, что либо z — вершина в С, либо вектор Vf°(z} ортогонален ребру в С, образованному пересечением гиперплоскостей [г'\ (//, г') — Ь1 = 0], /е/0(г), либо, наконец, и то к другое. Тогда мы строим ito(z), проектируя Vf°(e) на подпространство большей размерности, чем использовалось при вычислении ho(z)y которое получается при исключении индекса к из /0(г), т. е. проектируя yf°(z) на Ь1о{2)-ь вместо LIi(z). Полагая h(z) = -—ho(z)9 имеем теперь 45 <V/° (г), h 1) Выпуклый многогранник есть пересечение конечного числа замкнутых полупространств.
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 231 Далее, поскольку Pf^zflf (z) = 0, из B7) следует, что 46 ^ i €= /о {Z) откуда 47 P?W-SP <*) = l*o* <*) Р?(жМЛ * °. поскольку \x°k{z)>0 и fk&LIo{2)_k9 так как по предположению C5) векторы /у, /е/0(г), линейно независимы. Следовательно, 48 Таким образом, мы видим, что h(z) определяет направление, вдоль которого целевая функция может убывать. Но мы должны показать, что h (z) определяет возможное направление, т. е. что для некоторого числа А/ > О отрезок {г/ = г + -r lh(z) |Яе [О, X']} содержится в С. Для этого достаточно показать, что 49 (А (г), /у> < 0 для всех / е= /0 {z). Итак, в силу D7) 50 (Л (г), f,) - - ц* (г) </»?w_^, /,> — I»S (*) <f*. ^«-^/> и потому 51 (А (г), /у) = 0 для всех /е/0(г), / =^= *, 52 <А (*). f*>--l*o*W| Pi w^fAP<0. ^ это и означает, что неравенство D9) справедливо. Кроме того, это объясняет, почему при определении ho(z) мы использовали не все индексы /€=/0(г), для которых jij ф 0, а только те, для которых ц^(г)>0. Алгоритм D2) может построить последовательность точек {г?}, сходящуюся к точке z*, в которой P^*)Vf°B*) = 0, но не yo(z*) rg 0, т. е. к неоптимальной точке г*. Смысл е-процедуры, при добавлении которой к D2) получается алгоритм C7), состоит в том, чтобы отслеживать неактивные ограничения, как это делалось в алгоритме возможных направлений C.26). (Исходный алгоритм Розена [РЗ] в отличие от D2) предусматривает предотвращение сходимости последовательности {zt} к неоптимальной точке.) 53 Упражнение. Показать, что можно вычислить матрицу Pi (г)_у с помощью матрицы Pi (Z). Показать также, что если 1в(г1+1) = 1*'(г1)~/ + *» гДе / принадлежит множеству /e'fo),
232 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ a k — его дополнению до {1, 2,..., т}, то Pj-. . можно» Л| __ Jz(zi+\) вычислить с помощью Pf . г Показать, что эти вычисления V \ г) проще, чем прямые вычисления по формуле A8). [Указание: Посмотрите в [РЗ], если не удастся показать, исходя из определений.] ш 54 Лемма. При любой заданной точке ^еС алгоритм C7) не может зациклиться между шагами 3 и 11 на построении бесконечной последовательности 8у—*0. Доказательство. Предположим, что 2 = ^— оптимальная точка,, т. е. Mz) = 0 и yo(z)^O (см. C8), C6) и C1)). Тогда 55 ? где L/o B) —подпространство в R", натянутое на /р, /?е/0(г). Далее, для любого в^О в силу C.16) будет /е(z)zd/о(г) и,. L С S/f°() L Д, ^ у () у е()о() , значит, LIei2)zDLioiZ). Следовательно, S/f°(z)^ LI&iz) для всех /g и потому 56 Если предположить, что г е [0, е], то векторы fp, pG/g будут линейно независимы, так что для всех г <= [0, е] 57 ji? (г) == й? (г) < 0 для всех p<==I0(z)» 58 ^B) = 0 для всех ре/8D p(?I0{z).. Кроме того, из E7) следует, что /г8(г) = 0 для всех ее[0,ё]. Пусть /'^0 — такое целое число, что р^'е^е". Тогда при: некотором /<[/' алгоритм C7) на шаге 4 получит ||Ае, (г)||2 = г=0^8у, перейдет к шагу 5, где найдет, что Bj^s", вычислит fto(z) = O, yo(z)^O и остановится. Предположим теперь, что точка z = zt неоптимальна. Тогда должно быть либо /z0(г) =7^ 0, либо /го(«г) = О и yo{z)^O. Пусть- ho{z)?zO. Тогда найдется такое целое число /^О, чта \\ho{z)\\2 > pre. Кроме того, в силу C.18) найдется такое число р > 0, что /g (z) — I0(z) для всех е;е[0, р]. Поэтому для всех ;>/", где Р''"е<р, будет /8/(г) = /о(г), откуда hej(z) = h0(z)' для всех j^j". Следовательно, при некотором числе /^ ^max{/v, /"} алгоритм C7) на шаге 4 получит ||Ae.(z)|p = = II ho (z) II2 > еу и приступит к построению новой точки на шагах 12 и 13.
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 233 Пусть теперь ho(z) — O и yo(z)^Q. Тогда опять в силу C.18) найдется такое число р > 0, что I& (г) = /0(г) для всех е; е ^[0, р], т. е. для всех /;>/", где р'"ё^р. Следовательно, A8.(z) = AoB) =7^= 0 для всех /]>/". Пусть /'^0 — такое целое число, что \\ho(z)\\2> р''ё. Тогда при некотором /< max {/', j") алгоритм C7) на шаге 11 найдет, что || h&. (z) f > ef и приступит к построению новой точки zi+x на шагах 12 и 13. Таким образом, алгоритм C7) не может строить бесконечную последовательность {е7}, сходящуюся к нулю. ¦ Точно так же, как в случае метода возможных направлений C.26), несмотря на то что алгоритм C7) содержит е-про- цедуру, его нетрудно представить в форме модели A.3.9), или, точнее, в ее частной форме — модели A.3.2). Однако совсем не очевидно, как представить алгоритм C7) в форме модели A.3.33), поскольку нельзя доказать монотонной сходимости Л Л (zi) IP K нулю, а следовательно, ||А( -I12 нельзя отождествить с функцией с(-) в A.3.33). Для того чтобы представить алгоритм C7) в форме модели < 1.3.2), положим Г = С, с(-) = /°(.) и зададим функцию <а\ С->С инструкциями шагов 1 —13 алгоритма C7), т. е. 59 a(z) == z, если точка зеС оптимальна для C2), '60 a (z) = z + X (z) h (г), если точка геСне оптимальна для C2). Отметим, что так как 8 (г) точкой z определяется однозначно, вектор h{z) и скаляр Я (г) (если он существует) также определяются однозначно по г, так что а(-) действительно отображает С в С. Для того чтобы представить алгоритм C7) в форме модели A.3.2), будем считать точку z^C желательной, если она является оптимальным решением задачи C2). Очевидно, если функция A(z) определена не для всех 2G e{z|/°(z)</o(zo), </*,2>-&<<0, i=lf 2, ..., т)*С'(г0), то алгоритм C7) нельзя применить к этой задаче. Достаточным условием, гарантирующим, что X(z) существует при всех ге gC'W, будет компактность множества С'(г0). 4>1 Теорема. Предположим, что задача C2) такова, что функция а(-) определена равенствами E9), F0) для всех 2G еС/Bо) = {2еС|/о(г)</оB:о)). Если последовательность \zt) построена алгоритмом C7), то она либо конечна и ее последний элемент оптимален для задачи C2), либо бесконечна и -каждая ее предельная точка оптимальна для задачи C2). <Когда функция /°(«) строго выпукла, задача C2) имеет единственное оптимальное решение г, и в этом случае ?*->;§.)
234 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И HEPABFHCTB Доказательство. Поскольку построение последовательности: может прекращаться только по команде на шаге 6 алгоритма C7), т. е. только в случае, если найдена оптимальная точка, случай конечной последовательности {zt} тривиален. Для доказательства второй части теоремы мы должны убедиться только в выполнении для отображений с( •) = /°( •) и а( •), определяемых равенствами E9) и F0), условий (i) и (и) теоремы A.3.3). Поскольку по предположению функция f°(«) непрерывна, очевидно, что условие (i) выполнено. Осталось проверить, что для алгоритма C7) условие (и) теоремы A.3.3) выполняется. Другими словами, мы должны показать, что если точка z e С не оптимальна для задачи C2), то найдутся такие числа е > О и б < 0, что 62 f° (z' + X (z') h (z')) — f° (z') < 6 для всех z' e= В (z, e> (где fl(z,e)={z'e=C|||z —z'IKe}). Итак, предположим, что точка геСне оптимальна. Тогда в соответствии с инструкциями шагов 4 и И алгоритм C7) найдет такое число е (z) > 0, что || h (z) ||2 > е (z). Поскольку h (z) определяется либо формулой C8), либо C9) и D0), то для e} — e(z) должно быть либо 63 либо 64 \\K{z){z)\?>z(z). Построим такой шар B(zf p)= {z'eC | ||z' —z||<pl, р >0„ что для всех /eflfep) величина 8B0 ограничена снизу положительным числом. Предположим сначала, что h (z)= —he(z) (z). Тогда справедливо F3), и в силу непрерывности градиента Vf°( •) найдется такое число р' > 0, что 65 IРК (г) MVF <*') Г > Р8 (*> ДЛЯ ВСеХ Z' ^ В («. Р0. Далее, согласно C.19), найдется такое число р" > 0, что /е {г) (zf) с: /е (z) (z) для всех z'eB (z, р"). Пусть р = min {p'f р"}. Обозначим, как и выше, через L/ (z) и Lf {г) соответственно подпространство, натянутое на векторы fh /e/o(z), и его ортогональное дополнение. Тогда для любой точки z' e В (г, р) и любого числа ае[0,еB)] (поскольку /а(г') с: /е {г) {z') в силу C.16)) будет L^wzdL^^^,) и, значит, Поэтому мы заключаем, что если выполнено F3), то для всех 2геВB,р) в алгоритме C7) будет выбрано e(')^${)
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 235 Предположим теперь, что выполнено F4), т. е. А(г) = в — йвBJ. Тогда вектор h&{Z){z)=^Pft{z){z) ?f°(z) либо равен нулю, либо нет. Допустим, что he{z)(z)=?0. В этом случае IIК (Z) (z) ||2 > р//8. = 6/ для некоторого целого числа /'^0. Пусть число р">0 определено, как выше, т. е. /8B)(/)с/еB)B) для всех г'еВ^р'7). Тогда, поскольку в силу C.16) Ia{z')cz с/еB)(г') для всех ae[0, e(z)] и градиент V/°(«) непрерывен, найдется такое число р е @, р"], что для любой точки z e GBfep) и любого числа а?[0,еB)] 67 | РГа „Vf B0 |Г > | Pi (г) M Vf° (гО If >«/»t (г)« V/o (г') f > ре'. Далее, для aG[0, е(г)] и любого числа k^Ia(z')9 где г'еВB, р), мы имеем «8 Pj- (z0 где использованы соотношения B0), B6) и B7). Отметим, что в силу B6) два слагаемых последней суммы в F8) должны быть ортогональны, и потому в силу F7) «9 |Р? для всех z'^ В (z9 р), всех ае[0,8(г)] и всех йе/а(/). Следовательно, для любой точки z' ^B(z, р) в алгоритме C7) будет выбрано е(г/)^Р6/, потому что для построения h{z'\ используется либо F7), либо F9). (Легко убедиться, что Наконец, предположим, что heiz)(z) = 0. Тогда 70 Vf°(z)= 2 М>е Z)(z)fr Далее, пусть 72 62 = min{ max г)f^ гдеР7У/°(г)= S |i^fr Тогда очевидно, что 6{ > 0 и б2 > 0. Пусть \" — такое положительное целое число, что 6" = Р/'/8^
236 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ ^ min {6lf б2}; и пусть опять число р" > 0 таково, что /8 (г) (z') cr ale(z)(z) для всех (г')е/?(;г, р"). Тогда существует такое числа р g @, рг/], что для любой точки /ейB,р) и любого числа а е= [0, б (г)] имеем /а (г7) cz /8 (z) (z') cz /e (г) (г) и 73 | р? B/)Vf> (г')|2 > Р6", если | Pj-a B/)V/o (z) цг > Oy и, определяя mj B/) для всех /е/а(г') из уравнения. р/а B')V^° (^ = 2 7 И/а (го //> находим, что 74 ^(г')>0, если |i}aB0>0, /е/^гО, }a И 75 max {j P^ {zf)^f* (гО f | k s /а (гО. ^ («О > 0) > если Существование числа р > 0, при котором справедливо G3), следует из того, что \\Pj- B/)Vf° B) IP > 6j > б/7, и из непрерывности функций jpJ- B/)V/°( •) |2. Существование числа р > 0, при котором справедливо G4), следует из непрерывности функций (^Т iz'fi (г'))"^/ B')Vf°(')- Наконец, существование числа р>0> при котором справедливо G5), следует из непрерывности функций iPf (z/j_fcV/°( • )|Р, гарантирующей вместе с условием G4)„ что индекс k', для которого 76 фигурирует также при максимизации в G5). Во всех предыдущих рассмотрениях мы существенно использовали тот факт, что множество I?j(Z){z) содержит только конечное число подмножеств и поэтому для определения числа р > 0 придется в худшем случае рассмотреть последовательно все эти подмножества. Исследуя G3) и G5), мы убеждаемся, что при heiz)(z) = 0^ в алгоритме C7) будет выбрано е(z') ^рб" для всех z' gBB, р). Поскольку теперь исчерпаны все возможности, мы приходим к заключению, что независимо от того, определен ли вектор h(z) в соответствии с инструкцией шага 3 (т. е. по C8)) или в соответствии с инструкцией шага 10 (т. е. по C9), D0)), всегда
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 237 можно найти числа р > 0 и ё > О, при которых в алгоритме C7) для всех ^Gfifz.p) будет выбрано e(z')>e>0. Рассмотрим произвольную точку z'gB(г, р). Если h(zf) = = — h&(z')(z'), ТО ДЛЯ ЛЮбоГО / <=/е (*') О?') 77 Если h(z') = — he.(z'){z'), то для любого i из множества h(z')(z') — k, где целое число k вычисляется на шаге A0) так, чтобы удовлетворялись условия C9), D0) для 8^ = 8B'), будет {fh h(z')) = 0. Это вычисляется точно так же, как и G7). Кроме того, 78 (fh9 h (z')> - - </„ = ~ (fk> й.* w (*') Pt B поскольку \i%B,)(z/)> 0 по построению, a ffe не принадлежит L/g (г'). Следовательно, (f., Л (гО) < 0 для любого / е /е (<г/) (г0> и потому 79 (f*. *'+ **(*')>-6'<0 для всех iG/ei^fz') и всех Далее, поскольку градиент V/°(.) непрерывен, а множество В (г, р) компактно, найдется такая константа Л1 > 0, что 80 ||h (z')||<|| V/0(г')||<Af для всех /еВ(г, р). Первое неравенство в (80) справедливо в силу того, что проекция вектора всегда по норме не больше самого вектора. Пусть число k таково, что ||/&|| = тах {||Д-1| |/е {1, 2, ..., т))* Тогда неравенство 81 (/i,z' + M(z')>-^<0, /=l, 2,..., /и, /ЕВ(г,р), несомненно, будет выполнено для всех Яе[0, Ат], где Ят== = 6/А*И/л11э поскольку е(г0>8. Из теоремы (В.3.7) теперь заключаем, что найдутся такие числа е е @, р]иАт? @, Ят], что I < 82 для всех z'ей (г, е) и всех Я е [0, Ят].
238 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ По построению (Vf° {г')9 h (г')) — —1| Л (z') ||2 < — e {z') < — e. Поэтому в силу теоремы о среднем (В. 1.1) для любой точки Уе=В(г9в) 83 /о (*' + Xmh («0) - /° B0 = К (V/0 (г' + АЛ (г% h поскольку Хе[0Дт]. Но по построению для любой точки z' e В (г, е) должно быть 84 /°(z' + M*0A(*0)-/°B')< (г' + Ят/г (гО) - f° (г') < - -^. Полагая б== — Лтё/2, видим, что условие (ii) теоремы A.3.10) выполнено, а это и требовалось доказать. в 85 Замечание. С вычислительной точки зрения, возможно, нерационально на каждой итерации полагать / равным нулю, а е0 равным фиксированному значению ё, как это требуется на шаге 2 алгоритма C7). У нас есть два способа избежать этого. Первый способ состоит в том, чтобы полагать e = e(z) не на всех, но на многих итерациях. Во втором способе e = e(z) полагается на каждой итерации, и это приводит к алгоритму, аналогичному C.20), в то время как алгоритм C7).аналогичен C.26). Оба способа дают модификации алгоритма C7), для которых теорема F1) остается справедливой. ¦ 86 Упражнение. Показать, что если шаг 13 алгоритма C7) заменен шагом 13Г или 13", описанными ниже, то заключения теоремы F1) остаются справедливыми при условии, что величина %{z) на каждой итерации однозначно определена. Шаг 13'. Положить zi+] = z + X{z)h(z), положить e = e(z), положить / = /+1 и перейти к шагу 1. Шаг 13". Если ifk' — цетое положительное число, то положить Zi+1 = z + Я (z) h (z)> положить ё = е (г), положить / = / + 1 и перейти к шагу 1; иначе положить zi+l =z + X{z)h(z)y положить / = /+1 и перейти к шагу 1. Примечание. Целое число k'^\ введено для управления скоростью уменьшения ё. В 87 Упражнение. Показать, как можно модифицировать алгоритм C7), чтобы приспособить его к случаю, когда векторы Д-, i^I0(z)t линейно независимы для всех гбС. [Указание: Рассмотрите только случай, когда множество С имеет внутренность. Если векторы fky k^Ie (г), линейно независимы, то для
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 239 определения h(z) используйте соответствующим образом выбранное подмножество множества hf(z).] ¦ 88 Упражнение. Показать, что правило выбора величины шага, описанное в утверждениях C.49) и C.53) для метода возможных направлений C.26), можно также применить в алгоритме C7) (вместо D1)) для получения его реализуемой версии. ¦ Поскольку уменьшение f°(zi+i)— fo(zi) целевой функции определяется величиной (V/° (zt), h (zt)) = —1| h{zt) ||2, можно попытаться ускорить сходимость алгоритма C7), модифицируя его так, чтобы на каждой итерации число ||Л(г^)||2 было как можно больше. Можно показать, что для полученного в результате алгоритма теорема F1) остается справедливой. Поскольку ускоряющая процедура вызывает небольшие изменения в записи алгоритма C7), мы приведем итоговый алгоритм целиком, а не только одну ускоряющую процедуру. 89 Алгоритм (ускоренная версия алгоритма C7)). Шаг 0. Вычислить гоеС, выбрать ре@, 1), §g@, е') и е"е@, ё); положить / = 0. Шаг 1. Положить z = Zi. Шаг 2. Положить ео = ё и положить / = 0. Шаг 3. Вычислить he.(z) в соответствии с C8). Шаг 4. Если |А8/(г)|[2 > е7, то перейти к шагу 5; иначе перейти к шагу 8. Шаг 5. Вычислить yz\z) в соответствии с C6). Шаг 6. Если уе (z) ^ 0, то положить h (z) = — he (z) и перейти к шагу 14; иначе вычислить heAz) в соответствии с C9), D0) и перейти к шагу 7. Шаг 7. Положить h(z)= — he,(z) и перейти к шагу 14. Шаг 8. Если е; < г", то вычислить ho{z) и yo(z) и перейти к шагу 9; иначе перейти к шагу 10. Шаг 9. Если II Ло (z) II2 = 0 и у0 ^ 0, то положить zi+l = z и остановиться; иначе перейти к шагу 10. Шаг 10. Вычислить уе {z). Шаг 11. Если уе (г) ^ 0, то положить е/+1 = ре/, положить / = /+'1 и перейти к шагу 3; иначе перейти к шагу 12. Шаг 12. Вычислить htj{z) в соответствии с C9), D0) и положить h(z)= — he.(г).
40 4. ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Шаг 13. Если || h(z) ||2^e7, то положить е/+1 = ре/, положить / = /+ 1 и перейти к шагу 3; иначе перейти к шагу 14. Шаг 14. Вычислить, наименьшее из чисел Я(г)^@, оо), удовлетворяющих D1). Шаг 15. Положить ziJr{ =2 + k(z)h(z), положить / = /+1 и перейти к шагу 1. я "90 Замечание. Предложенный Розеном [РЗ] метод, хотя и не всегда сходится, обладает очень хорошим вычислительным свойством: он пытается выбрать в качестве последовательных точек zt соседние вершины многогранника С. Всякий раз, когда это возможно, значительно упрощается последовательное вычисление проектирующих матриц, которые используются при расчете h (zi). Детальное обсуждение этого аспекта метода Розена несколько выходит за рамки настоящего изложения. Читателю, интересующемуся составлением программы для ЭВМ, следует сначала ознакомиться с работой [РЗ]. Кроме того, если проектирующие матрицы вычисляются специфическим методом, описанным в [РЗ], то, по-видимому, шаг 7 алгоритма (89) лучше заменить описанным ниже шагом 7'. (Шаг V основан на алгоритме Розена.) Шаг Т. Если | A8/ {z) ||2> 21| Л8/ (z) |, то положить A (z) = — А8/ {z) и перейти к шагу 14; иначе положить h(z) — — he(z) и перейти к шагу 14. Таким образом, шаг 7' фактически гласит: ускорить процесс путем увеличения ||А(г)||, если только это увеличение будет достаточно большим, чтобы скомпенсировать дополнительную работу, необходимую для вычисления последующей проектирующей матрицы. т На этом мы завершаем обсуждение методов проекции градиента для задачи C2), которая, как мы помним, является специальным случаем задачи A). Теперь мы представим алгоритм, объединяющий метод проекции градиента C7) с методом возможных направлений C.26) и применимый в общем случае задачи выпуклого программирования A). Этот алгоритм принадлежит Полаку [ПЗ], получившему его, добавляя е-процедуру к алгоритму, описанному Калфондом и др. [К1]. Эта е-процедура добавлена для того, чтобы сделать получившийся в результате алгоритм заведомо сходящимся. (Версия, приведенная в [К1], таким свойством не обладает.) 91 Предположение. В оставшейся части этого раздела мы будем предполагать, что функции f (•), / = 0, 1, 2, . . ., m, все выпуклы.
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 241 Кроме того, нам понадобится предположение, эквивалентное предположению C5): 92 Предположение. Мы будем предполагать, что существует такое число г' > 0, что для любой точки зеСи любого числа еЕ^е'] векторы Vf (г), /е/е(г), линейно независимы. ш Мы сохраним введенное ранее в этом разделе обозначение • со следующим весьма очевидным изменением: для любых е^[0, е'] и 2GC обозначим через матрицу, столбцами которой являются векторы 4f(z)y /е/е(г), линейно упорядоченные по /. Проектирующие матрицы Р/ (г) и Pj- (Г) определим, как и выше, с помощью A6) и A8), а матрицу Fi (z) теперь зададим равенством (93). 94 Алгоритм (гибридный метод проекции градиента, По- лак [ПЗ]). Примечание. Первые одиннадцать шагов этого алгоритма те же, что и в C7). Шаг 0. Вычислить z0 е С; выбрать Р е @, 1), ё е @, е'] и е" е @, ё); положить / = 0. Примечание. Относительно метода вычисления z0 см. B.30). Обычно полагается Р = 72. Шаг 1. Положить z = zt. Шаг 2. Положить г = ё и положить / = 0. Шаг 3. Вычислить вектор 95 h4(z) = PJ Шаг 4. Если |/ге/(г)||12 > е., то положить h(z) = — he.(г), положить 8(г) = 8/ и перейти к шагу 12; иначе перейти к шагу 5. Примечание. Величину е(г) запоминать не надо; она введена только для приведенного ниже доказательства. Шаг 5. Если еу^е", то вычислить вектор ho(z) (используя формулу (95), где г} заменено нулем), вычислить вектор yo(z) (используя C6)) и перейти к шагу 6; иначе перейти к шагу 7. Шаг 6. Если ||Ло(г)|р = О и #0(z)f?0, то положить zi+]=z и остановиться (z — оптимальная точка); иначе перейти к шагу 7. Шаг 7. Вычислить вектор y&.{z) (используя формулу C6)). Шаг 8. Если ijtAz) ^ 0, то положить 8/+1 = |3ej, положить j — j+ 1 и перейти к шагу 3; иначе перейти к шагу 9.
242 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Шаг 9. Предполагая, что /8Az) = {ku k2i ..., km>] и k] < < 62 < ... < km,, положить |д,*<* (z) = y* (z) для a = 1, 2, ..., m\ Шаг 10. Найти наименьшее из чисел &е/е.(г), для которых вектор 96 Ь/Й-Ру удовлетворяет соотношению 97 || Ц. (г) | = max (| Р^ (z)-/V/° (z) 11 / е= /в/ (г), ^ (г) > О); положить h(z) =— he Az). Шаг 11. Если \\h(z)\\2^eff то положить е/+1 = ре/, положить / = /+1 и перейти к шагу 3; иначе положить e(z) = e/ и перейти к шагу 12. Примечание. Вообще говоря, луч {г/ = 2 + Xh(z) |Я^0} пере" секает множество С только в точке г, т. е., вообще говоря, вектор h (z) не определяет возможное направление. Сейчас мы построим вектор v(z), определяющий возможное направление. Шаг 12. Если h(z) = — he {z){z), то положить Ke(Z)(z) = = /еB)(г) и перейти к шагу 13; иначе положить Ke(Z)(z) = — h(z)(z) — k и перейти к шагу 13. Шаг 13. Вычислить вектор 98 v (г) = р (z) h (z) + FKe {г) {2) (FTKe (z) {z)FKz {z) {z)y] U где /= — е(г)A, 1,..., lJeR" и р(г)> 1—наименьшее из чисел на луче [1, оо), для которых 99 где / = 0, если /Се<2)(г)== hiZ,(z)> и ^ = ^> если /Ce(z)B?) = = /е(г)B)— й. Шаг 14. Вычислить наименьшее из чисел Я(г)>0, удовлетворяющих условию 100 fo(z Шаг 15. Положить zi+{ =<г + X{z)v(г), положить / = /+1 и перейти к шагу 1. ¦ 101 Теорема. Пусть задача A) такова, что алгоритм (94) корректен для всех ze(zeC|/°B)<f0W|, где z0 определяется на шаге 0 алгоритма (94). Если \zt\—последовательность, построенная алгоритмом (94), то она либо конечна и
4.5 МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 243 ее последний элемент оптимален для задачи A), либо бесконечна и каждая ее предельная точка оптимальна для задачи A). Доказательство. Докажем эту теорему, рассуждая так же, как при доказательстве теорем C.35) и F1). Поскольку воспроизведение деталей доказательств этих теорем было бы утомительным, мы будем полагать, что читатель знаком с этими доказательствами, и опустим детали, которые непосредственно следуют из них. Для доказательства теоремы A01) отождествим алгоритм (94) с моделью A.3.2), положив в нем Т = С и с( -) — fo( •), определив а: С-+С инструкциями алгоритма (94) и считая точку z^ С желательной, если она оптимальна для задачи A). Далее, поскольку для задачи A) справедливо утверждение C1) с незначительным изменением в формулировке, для случая конечной последовательности [zt] теорема тривиальна. Таким образом, чтобы доказать теорему A01), достаточно доказать, что для алгоритма (94) выполнено условие (и) теоремы A.3.3). (Относительно условия (i) в A.3.3) можно не •беспокоиться, поскольку функция f°(-) предполагается непрерывно дифференцируемой.) Итак, нам надо только показать, что для любой заданной неоптимальной точки геС найдутся такие числа е > 0 и б < 0, что 102 /° (г' + X (z') v (z')) — f° (г') < б для всех z'sfl (г, е). Прежде всего, рассуждая в точности так же, как при доказательстве теоремы F1), и учитывая непрерывную диффе- ренцируемость функций f'(* )> /==0, 1, ..., m, получаем, что если точка z<=C для задачи A) не оптимальна, то найдутся такие числа р > 0 и ё > 0, что в алгоритме (94) будет выбрано е(г')^е для всех г'бВ^р). Далее, по построению на шаге 13 (см. (99)) 103 (V/0 (*'), v (г')> < - е (z') < - е; 104 <Vf< (*'), v (*')> <-e (*') <-ё для /е=/8B0 (z')9 1фКг^ (zf); 105 <V/' (z')> v (z')> = p (z) <V/' (г*), h {z')) + ) {FTKz {z1 B/, FKe B/)'U0) t) = для всех / ^ Ke (zf) (z') > где е{ = A, 0, 0, ..., 0)т — первый столбец единичной матрицы размера пХ^-
244 4- ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ Наконец, поскольку функции /'( •), / = 0, 1, 2, ..., т, непрерывно дифференцируемы, найдется такая константа М е ^ (О, оо), что || v (z') || ^ М для всех /еВ(г,р). Применяя теоремы (В.3.1) и (В.3.7), а также теорему о среднем (В.1.1), как и при доказательстве теоремы C.35), мы заключаем, что найдутся такие числа е<=@, р) и 6 < 0, что неравенство A02) справедливо. В Алгоритм (94) можно привести к реализуемой форме точно тем же способом, что и алгоритм C7), т. е. используя, например, правила выбора величины шага, описанные в C.49) и C.53), вместо использованного на шаге 14 правила, задаваемого формулой D1). Алгоритм (94) можно также ускорить, заменяя первые его одиннадцать шагов первыми тринадцатью шагами алгоритма (89). Кроме того, можно воспользоваться и другими модификациями, указанными в замечании (90). Приложения к оптимальному управлению Методы проекции градиента очевидно применимы к задачам дискретного оптимального управления; при этом вычисление производных осуществляется точно тем же способом, что и в случае метода возможных направлений. За подробностями мы отсылаем читателя к разд. 3 (в частности, см. формулы C.110) —C.118)). Применение методов проекции градиента к задачам непрерывного оптимального управления еще недостаточно обосновано, и мы проиллюстрируем этот вопрос на примере. Итак, рассмотрим задачу 106 минимизировать J j[(x(t), R{t)x(t)) + (u(t), Q(t)u(t))]dt при ограничениях 107 -± x(t) = A(t)x(t) + B(t) и@, te[t09 tf]r 108 x(to) = xo, 109 ^.,^(/f))_^<0, /=1, 2,..., m, где x@gRv, «(Oef для tt=[to, tt]\ матрицы Л(-), ?(•)> R( •) и Q( •) непрерывно зависят от времени, причем для всех t^[tOi U] матрица R{t) симметрична и положительно полу определена, матрица Q(t) симметрична и положительно определена; <7*eRv> fc'eR1, /=1, 2,..., т. Мы будем предполагать, что функция и( •) принадлежит пространству L^f/o, U], которое,,
4.5. МЕТОДЫ ПРОЕКЦИИ ГРАДИЕНТА 245- как мы знаем, является гильбертовым пространством (классов эквивалентности) квадратично интегрируемых функций, отображающих [to, U] в R*\ с нормой \и\\2 = \ j\\u(t)\\4t и скалярным произведением <и',и">2=/ {u'{t),u"{t))dt. 'о Как и в разд. 2.5, исключим фазовое состояние х (•) из* задачи A06) —A09), решив A07), A08): ПО x(t) = x(t;u) = O(tft0)x0 + j<D(t>s)B(s)u(s)ds, t<=[t0, t]y 4 где матрица O(t,s) определяется из дифференциального уравнения 111 -%r где /—единичная матрица размера vXv. Подстановка x(ty в A06) и A09) приводит задачу A06) —A09) к виду 112 минимизировать /° (и) = [ у [(* (t; и), R (t) x (t\ и)) + 'о (u(t),Q(t)u(t))]dt при ограничениях Ч 113 J W, Ф(tu s)В(s) и (s)) ds + {q*9 Ф(tt, tQ)Хо) - /= 1, 2, ..., т^ Окончательно задачу A12), A13) запишем в виде 114 mm{f(u)\uf=I$[to,U]9 (fh u\— 6f'<0, /=1,2, ..., т\г где 115 h(t) = B(tfPi(t) для t*=[to,tt], i=l, 2, ..., /я, 116 ti = bl-(Pt{Q*xo)' /=1, 2, ..., Я1,
'246 4 ОГРАНИЧЕНИЯ ТИПА РАВЕНСТВ И НЕРАВЕНСТВ а функции p.: [to, *f]->Rv являются решениями сопряженного уравнения 117 ±.Pi(t) = -A(t)Tpt(t)9 /€=[*0>*f]f pt(tf) = gi9 /=l,2,...,m. Чтобы иметь возможность применять метод проекции градиента к задаче A14), нам осталось узнать, как вычислять градиент grad/0 (и) ( *) и как проектировать его на подпространство LJ-e(U) = {ueL$[tO9tt]\(fi9uJ = 09 i<z=le(u)}y где для 118 /е(и)={/ К/ь4~»Че>0, /е{1, 2, ..., т}}. Возвращаясь к B.5.29), замечаем, что если градиент существует, то он определяется равенством 119 ,gradf>{u){t) = -B(t)Tp(t) + Q(t)u(t)9 te[to,U]9 где p(t) находится из сопряженного уравнения 120 ±p(t) = - A(t)Tp(t) + R(t)x(t\u)9 te=[t0jtf a x{tt и) вычисляется в соответствии с A10). Пусть теперь функции М*)» i^IB(u)> линейно независимы Ha[fot^f]- Тогда, решая задачу A2) относительно z = gradf°(u)( •), получаем 121 Ри (в, grad f (и) (t) = FIe {u) (t) J FTI& {u) (t) FJ& {u) (t) dt X X J FIe (u) (t) grad /° (u) (t) dt, t e= [t0> tt], 122 Pfe {u) grad /° (u) (t) = grad /° (u) (t) - e u)(t), te[tO9tt]9 тле Fj iU)(t) — матрица, столбцами которой являются векторы fi(t), линейно упорядоченные по /, Pie(u){ •)( 9)~оператор проектирования из Щ[10, U] на подпространство L/g(M) = 2 7 '1), а Р/^(„)(.)(•)- 8 -оператор проектирования из L^I^o, *f] на LJ^{U). 123 . Упражнение. Суммировать изложенные выше построения в виде процедуры, основанной на алгоритме C7), для решения -задачи Оптимального управления A06) — A09). m
5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ 5.1. Сведение к нелинейному программированию Значительная часть настоящей главы посвящена задачам дискретного оптимального управления, которые можно преобразовать к задаче нелинейного программирования вида 1 min \f°(z) |/г(<г)^0, /== 1, 2, ..., m, Rz — 6 = 0}, где функции f\: R^-^R1 выпуклы, R — матрица и Ь — вектор соответствующих размерностей. Задачу A) мы будем называть в этой главе прямой, а алгоритмы, разрешающие ее, прямыми. В следующем разделе мы опишем двойственный алгоритм для решения связанной с A) задачи, которую мы будем называть двойственной. Далее мы увидим, что, как только получена решение двойственной задачи, легко получается и решение прямой задачи, по крайней мере в тех случаях, которые мы будем рассматривать. Прежде чем переходить к двойственным методам следующего раздела, нам хотелось бы напомнить, что некоторые из задач дискретного оптимального управления вида A) можна- решить с помощью алгоритмов линейного программирования (таких, как симплекс-метод, симплекс-метод для задач с двусторонними ограничениями (см. [К13]), двойственный симплекс-метод1) и т. д.), некоторые с помощью алгоритмов квадратичного программирования (таких, как алгоритм Вулфа ([К13], [В4]) или алгоритм, описанный в разд. 6.10 работы [К13]К а для большинства других задач применимы алгоритмы семейства, методов возможных направлений. Для иллюстрации исследуем несколько частных случаев. 2 Пример. Рассмотрим задачу м 2 21 х{ — Ц | + 21 ut | > м >о> при ограничениях 4 хш = Ахг + Вщ, / = 0, 1, 2, ..., k— I, xe=Rv, tiiE=R\ 5 xo = *o, xk = Jtkf 6 |ы,|<1, / = 0, 1, 2, ..., k — 1. l) См. также Федоренко [*Ф1]. — Прим. перев.
248 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ На практике такая задача может возникнуть, когда мы хотим минимизировать количество топлива, которое требуется для перехода из фазового состояния х0 в фазовое состояние xk> но при этом стремимся удержать траекторию (Ло, хи ..., xk) как можно ближе (в смысле нормы в Lx) к номинальной траектории (хОу Jtu ..., xk). При хо = хо получаем 7 xi = Aix0+.^Ai"l4Bufy /=1, 2, ..., k. Пусть zj+l = u} для / = 0, 1, 2, ..., k—1. Тогда G) принимает вид 8 Xi==z^jt0+ 2 Ai4Bzf, /=1, 2,..., k. Полагая 2 = (z1, 22, . •., zfe) e Rfe, определяя d{- == Л% для i= К 2, ..., k и обозначая через /?t- матрицу размера vX?, 7*-й столбец которой задается равенствами rif = Ai4B для i=^= 1, 2, ..., / и rif = 0 для / = /+1, «+ 2, ..., k, переписываем (8) в виде 9 Xi = di + RiZ, /=1, 2, ..., k. Наконец, обозначая через е/(/=1, 2, ..., v) /-й столбец единичной матрицы размера vXv, т. е. ех = A, 0, 0, ..., 0), е2 = @% 1, 0, 0, ..., 0) и т. д., и через ei(i=l, 2, ..., k) 1-й столбец единичной матрицы размера &Х&> переписываем задачу C) —F) в виде 2 2 Щ (eiy dt S при ограничениях 12 Iz'Kl, /=lf2, ...fft- Перегруппируем члены в A0); тогда задача C) —F) примет вид 2 2 ^ | <i?fe7, z) + (e;, rff — kt) | + + 2l(^, г> |] i=i J лри ограничениях A1) и A2).
5.1. СВЕДЕНИЕ К НЕЛИНЕЙНОМУ ПРОГРАММИРОВАНИЮ 249* Из теоремы E.3.7) работы [К13] следует, что задачу A3) можно решить с помощью алгоритмов линейного программирования, поскольку она сводится к стандартному виду задач линейного программирования1)- ¦ 14 Упражнение. Показать, что оптимальное решение iGRfe описанной ниже задачи линейного программирования A5), является также решением задачи A3): [Л-1 v k 1 2 2мм + у*) + 2Ы + tl) при 16 17 18 19 20 ограничениях Rkz = ?k — dk> w*— t' = (ei, z), |Z*|<1, Пример. Рассмотрим Ь (ер dt — ?t] задачу j = /== 1, 2, .. 1, 2, .. 1, 2, .. 1, 2, .. ., k-l, -, v, ., k, ., *. ¦ 21 минимизировать -И S" *' ~ ^ II2 + ]? II л:г e= Rv при ограничениях 22 xi+l = Axi + Bui9 / = 0, 1, 2, ..., fe— 1, 23 *0 = Jf o» Gxk = d, 24 |«H<1, / = 0, 1, 2, ..., *—1. Рассуждая, как в примере B), убеждаемся, что задача B1) — B4) имеет вид: 25 минимизировать у И? || dt + Rtz — xt ||2 + || г ||21 4=1 / при ограничениях 26 l^'Kl, /=1, 2, ..., ftr где zi+l = Ui, i'==0, 1, ..., ft— 1, и dj = Л'яо, « = 1, 2, ..., k; Ri — матрица размера vX&> /-й столбец которой равен Л1"^ ]) Вычисление матриц Ri приводит к тому, что в данной задаче из всех возможных ограничений типа равенств остается только ограничение A1). Здесь можно также воспользоваться методами декомпозиции; см. [В2].
50 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ при / = 1, 2, ..., i, sl остальные элементы равны нулю. Таким образом, задача B5), B6) — это стандартная задача квадратичного программирования, и для ее решения можно применить алгоритмы квадратичного программирования, описанные в [К13]. Задача, подобная B1) — B4), возникает, когда мы хотим перевести систему из заданного .начального положения х0 на •заданное конечное многообразие так, ^тобы расход энергии был минимальным, а реальная траектория была по возможности близка к номинальной траектории (xOj xlf ..., &к-ь ¦**)• ¦ 27 Пример. Рассмотрим задачу B1) —B4) при дополнительном ограничении 28 Ql{Xk)^® Для /=1, 2, ..., т, где функции ql\ Rv —>R непрерывно дифференцируемы и выпуклы. Тогда задача B1) — B4), B8) сводится к задаче / к \ 29 минимизировать у I У! II dt + Riz — Jti ||2 + || z ||21 при ограничениях •30 , qJ{dk + Rkz)<:0, /= 1, 2, ..., m, I zl |^ 1 /=1,2,..., ky 31 Анализируя материал разд. 4.3, заключаем, что эта задача разрешима с помощью алгоритмов из семейства методов возможных направлений. В частности, наиболее подходят алгоритмы D.3.20) и D.3.26), модифицированные в соответствии с D.3.68); при этом, как требует условие оптимальности D.3.85), jc D.3.59) — D.3.62) следует добавить ограничение GRkh = 0. ш 5.2. Двойственный алгоритм декомпозиции Теперь мы изложим несколько двойственных методов для решения различных выпуклых задач оптимального управления, а именно задач с линейными динамическими связями, выпуклыми целевыми функциями, а также выпуклыми ограничениями. Двойственные методы отличаются от прямых тем, что в процессе итераций преобразуются векторы множителей (двойственные переменные), которые входят в условия оптимальности A.2.25) —A.2.30) (вектор pk) или A.2.36) —A.2.38) (вектор p(/f)), а не последовательности управлений (или управляющие функции), как это делается в прямых методах. Далее мы увидим, что двойственные методы обладают тем же важным
5.2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 251' свойством, что и методы возможных направлений: они позволяют преобразовать исходную задачу в последовательность- значительно более простых подзадач *). Двойственные методы базируются на двух основных фактах. Первый состоит в том, что целый ряд задач оптимального управления можно привести к виду определенной геометрической задачи: нашей прямой задачи. Второй состоит в том> что решение прямой задачи легко получить из данного решения двойственной. Детальное обсуждение двойственности не входит в наши цели; интересующегося читателя мы отсылаем к гл. 8—11 книги Мангасарьяна [МЗ], где содержится очень ясное изложение этого предмета2). Для того чтобы показать,, как возникает упомянутая геометрическая задача вместе с различными сопутствующими предположениями, исследуем простую задачу A). Потом мы рассмотрим ряд более сложных: задач. Итак, рассмотрим задачу дискретного оптимального управления к-\ 1 минимизировать "§" S A ** — ** f ~^~ м*)' Х( ?= 1\ , tli ^^ *n 9- при ограничениях i-\-\ """""" *1Лг1 ^^ LJlli) I —— \J, 1, ^<, • • . , /v 1 ^. О Xq = Л©, 1 5 |ы*|<1» / = 0, 1, 2, ..., k— l^ где А — постоянная матрица размера vXv; В е Rv; P — симметрическая положительно полуопределенная матрица размера v X v; Q — симметрическая положительно определенная матрица размера vXv, а ||*||^>, \\х\\% определяются равенствами в I! х IP = (х Как и в разд. 1, обозначим zi+l=Ui для / = 0, 1, ..., k—1„ z = (г1, г2, -..., 2fe)GRfe и d, = Alx0 для / = 1, 2, ..., k. Пусть /-й столбец матрицы Ri размера vX& равен At4B для /=1» 2, ..., /, а остальные ее элементы равны нулю. Если в этих: 1) О двойственных методах см., например, работу Пшеничного [*П20]. — Прим. перев. 2) Для изучения предмета на более высоком уровне см. [Р4].
52 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ обозначениях xt(z)— решение задачи B), C) для момента времени /, соответствующее последовательности управлений z, то *o(z) = io и 7 xt(z) = di + RiZ9 z = (z\ z2, ..., zk) = (uOf uu ..., uk_x). Пусть $(a)ciRv— множество всех фазовых состояний, достижимых в момент времени k динамической системой B) из начального состояния х0 под воздействием последовательности управлений, удовлетворяющей условию E), при соответствующих значениях целевой функции, не превосходящих a(a^O) т. е. , /=1, 2, ..., k\ ^ Для того чтобы обосновать предположения, которые мы вскоре введем, отметим, что для любого " min { ТI S'l* /=1, 2, ..., имеет место « Л(а) —гГ(а)П/С, где К — фиксированный выпуклый многогранник Ю . K={x = dk + Rkz\\zi\^l, /=1, 2, ..., k), а <${а) — гиперэллипсоид, увеличивающийся непрерывно и монотонно с ростом а: <aj. Полагая C = {jcgRv|?(x)<0], видим, что задачу A) —E) можно рассматривать как задачу нахождения такой последовательности управлений & = {й0, йи ..., йк_{) и такого числа ^О, что 12 13
5.2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 253 Далее, множество С строго выпукло, а множество 3?(а) выпукло. Отсюда вытекает, что точка xk единственна и существует такой вектор sgRv, [|$||=1, что 14 {у, s)>(x, S) для всех у (=31 (а) и всех х е С, т. е. $ — внешняя нормаль к гиперплоскости, касательной к С в точке xk и отделяющей С от 31{а). Как мы вскоре убедимся, если известен вектор sy то можно вычислить xk и &. Тем самым наша задача сводится к отысканию единичного вектора §, обеспечивающего выполнение условий оптимальности A.2.25) —A.2.30), если положить р = Х§ (X > 0). В связи со сказанным выше рассмотрим сейчас следующую задачу: 15 Прямая задача. Пусть задано компактное множество Cc=Rv, которое либо строго выпукло, либо состоит из единственной точки, и пусть отображение 31: [amin, «>) -> 2R , amln^0, таково, что (i) 31 (а) для каждого a^amin есть компактное множество, имеющее внутренность при любом a > amin; (ii) отображение 3t{-) непрерывно в метрике Хаусдорфа1); (Hi) ^(a) = ^(a)(l^ для каждого a^amIn, где К либо совпадает с Rv, либо является выпуклым многогранником с внутренностью, а <У(а)— строго выпуклое множество, причем <?(а) содержится во внутренности множества «f(a")> если а' < а". Требуется найти такое число a^amin и такой вектор А^СУ что 16 a = min{a|^(a)nC=^ 0, a>amIn}, 17 {i} = ^(a)nC ¦ Кроме того, мы можем пожелать найти такой единичный вектор s, что 18 (x — Jty <s><0 для всех х е= С, 19 (х — Л, 5>>0 для всех х<==01(а). 0 20 Предположение. Для того, чтобы избежать тривиального случая, мы будем предполагать, что выбор amIn обеспечивает выполнение условий &(ат[п) ф 0 и 31 (amIn) П С = 0. Для того чтобы гарантировать существование решения задачи A5) J) Для заданных компактных множеств А и В в Rv расстояние между ними по Хаусдорфу определяется формулой d (Л, В)=тах {dit d2], где d = max min \\x — y\\ и d2 = max min || i — у || A ye=B y&B xeA
254 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ и избежать вырожденного случая, когда множество К(]С состоит из единственной точки, мы будем предполагать, что для некоторого числа а' е [amIn, °о) множества Сив!' (а') (} К°, где К° — внутренность множества К, пересекаются. ¦ 21 Лемма. При выполнении предположения B0) существуют число cteR+, единственный вектор хе=С и вектор ^gRv единичной нормы, удовлетворяющие условиям A6) — A9). Доказательство. По предположению B0) существует такое число а' > amln, что 91 (а') Г) С ф 0. Поскольку отрезок [amin, а'] компактен, найдется такое число a e= [amIn, a'], что a = = inf [a\9t{a){\C Ф 0, a>amln). Пусть {аг}°10 —последовательность в [0, а'], монотонно убывающая к & и такая, что Ж(а;)Г)С ф 0 для / = 0, 1, 2, ... . Тогда в силу условия (ш) задачи A5) компактные множества @t{at)[\C образуют монотонно убывающую последовательность, т. е. ^(a;+i)flCci$(at)nC для / = 0, 1, 2, ... . Поэтому последовательность множеств {$>(o<i)uC)Z=$ сходится к множеству оо Так как по условию (ii) задачи A5) отображение $,{-) непрерывно в метрике Хаусдорфа, то ЗИ{щ)-+$,{а) при г-*оо. По условию (i) задачи A5) множество i%(ct) компактно и потому {nC=5^ 0, Предположим теперь, что множество 91(а)С\С содержит более одной точки, т. е. существуют два элемента х' и х'\ принадлежащие Ж(Ъ)[\С> причем х' Ф х". Тогда отрезок 1 = {х = Хх'+A— Х)х'\Х<=[09 1]}с=йг(а) П С содержится во внутренности как множества С, так и множества <^(а), поскольку оба они строго выпуклы. Далее, отображение <?(-) непрерывно в метрике Хаусдорфа, и в силу условия (ш) задачи A5) & (a) cz &° (а) для любого а е [amin, а). Поэтому найдется такое число а" < а, что ?(а")(Iф 0. Но /с=/С, так что К()8(а") П/ = ^(а") (]1 Ф 0. Это противоречит оптимальности а, и, значит, множество $2 (а) Л С должно содержать единственную точку Я. Наконец, поскольку оба множества $(&) и С выпуклы и их пересечением является единственная точка ?, должна существовать гиперплоскость Н = {х\(х — ?, s) = 0}, отделяю-
5.2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 255 щая 31 (а) от С, т. е. должен существовать вектор s единичной нормы, удовлетворяющий условиям A8) и A9). ¦ Для обоснования некоторых из введенных ниже определений нам понадобится следующее утверждение: 22 Утверждение. Пусть а определяется равенством A6), и пусть предположение B0) выполнено. Тогда 31 (а') Ф 31 (а) для любой пары чисел а', а", удовлетворяющей условию Доказательство. Предположим, что для какол-то пары а', а" е [ат1п, а], удовлетворяющей условию а' < а", будет 3t(af) = 3l (а"). Тогда, поскольку 8 (а') <= %° (а") в силу условия (iii) задачи A5), должно быть 31(о!) = К, что невозможно, поскольку в силу предположения B0) 31 (a') cz 31 (а) с= К и Л(й)ФК. Ш Как мы уже упоминали, задачу A5) можно свести к задаче отыскания вектора sgRv единичной нормы, удовлетворяющего условиям A8) и A9). Для этого нам дюнадобятся следующие отображения. Пусть 23 S={s<=Rv|[|s|i=l}; определим отображение v: S-+C условием1) 24 (х — v(s), s)<0 для всех хе С2), т. е. v(-) — касательное отображение: точка v(s) лежит на границе компактного множества С и обладает тем свойством, что гиперплоскость [х \{х — v(s), s) = 0}, проходящая через v (s), является опорной гиперплоскостью для С, а нормаль s в этой точке является внешней нормалью. Так как множество С строго выпукло и компактно, отображение v(-) однозначно определено для любых значений переменной 5. 25 Утверждение. Отображение v: S->C непрерывно. Доказательство. Предположим, что отображение о(-) не обладает свойством непрерывности. Тогда в S должна существовать такая последовательность s*—>s*, что по крайней мере одна предельная точка v* последовательности {v{si)} удовлетворяет условию v*Фv(s*). Так как множество С компактно, последовательность {a(s?)} должна иметь хотя бы одну предельную точку. Не нарушая общности, будем считать, что и (sj)-> о*.. По определению (см. B4)) 26(v(Si) — v{s*), s*)>0 для / = 0, 1, 2, .... 1) См. рис. на стр. 260. 2) Заметим, что B4) можно переписать в виде {v (s), s) = max {(x, s) \ x e C}.
256 5. ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ Так как функция (•, •) непрерывна и Si->s*9 v(Si)->v*y то 27 (v* — v(s*)9 s*)>0. Так как мы предположили, что v* Ф v (s*)9 то равенство 28 (v* — v(s*)9 s) = 0 невозможно, поскольку в силу строгой выпуклости множества С оно означает, что v* = v(s*). Таким образом, 29 (v* — v(s*)9 s*)>0, а это противоречит условию B4). Итак, отображение v(*) непрерывно. ¦ Теперь для любого вектора 5gS положим 30 ( {v\( ( ) } т. е. P(s) — опорная гиперплоскость для С в точке v{s) с внешней нормалью s. Определим подмножество TczS формулой 31 T={s^S\ (x — v(s), 5>>0 для всех хе=&(ат1п)}, т. е. для любого вектора sgT гиперплоскость P(s) отделяет ^(«min) 0T С. Предположим, что d, Jf, s удовлетворяют условиям A6) —A9). Тогда Jt = v(s) и поскольку &(amln) cz &(a), то sgJ, Наконец, определим отображения d: Г-^R1 и w: r~>Rv равенствами *) 32 d{s) = min{a\&(a)f\P(s)?: 0, 33 34 Утверждение. Отображения d{*) и w(') определены для любых значений переменной. Доказательство. Рассмотрим вначале d(-). Предположим, что для некоторого вектора sgT будет $,{a){\P{s)= 0 для всех a^amin. Тогда, поскольку 01 (amtn) ^ Я («) Для всех a^amin, множество P(s) должно отделять Й(а) от С для всех а 1> amin, а это противоречит нашему предположению о том, что множество С имеет точки в ^?°(а) для некоторого а^ат\п (см. B0)). Отсюда следует, что найдется такое число a'^amln, что &((*')ПРфФ 0, и, значит, 0, a>amln}<o/. Пусть {аИ^10 — последовательность в [amin, a']9 монотонно убывающая к а", причем $>{щ)[\Р(в) Ф 0 для / = 0, 1, 2, ... . 2) См. рис. 13 на стр. 260.
5.2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 257 Тогда компактные множества &(ai)[)P(s) образуют монотонно убывающую последовательность, т. е. &(ai+i)f\P(s)cz0l(ai){}P(s) для / = 0, 1, 2, ... . Следовательно, {к{щ) П P(s)} сходится в метрике Хаусдорфа к множеству #" fl P (s) ^ 0. Но так как отображение $(•) непрерывно в метрике Хаусдорфа, то &(а") = $" и, значит, &(a")[)P{s) ф 0. Итак, отображение d(-) определено для всех 5. Теперь рассмотрим w(-). Мы только что показали, что множество 31 (d (s)) f) P (s) не пусто при любых 5 е Т. Осталось показать, что оно состоит из единственной точки. Предполо- жим, что для некоторого вектора s е Т множество dl (d (s)) f| P (s) содержит две различные точки w{ Ф w2. Тогда в силу своей выпуклости оно должно содержать отреюк {w \ w = Xw{ + + A—X)w29 O^.k^.1). Поскольку множество &{d{s)) строго выпукло (см. условие (ш) задачи A5)), множество P(s) должно быть опорной гиперплоскостью для /С. Но это невозможно, так как в силу предположения B0) С имеет точки во внутренности множества /С, и потому P(s) не может отделять С от /С, что было бы, если бы P(s) было опорной гиперплоскостью для К. Итак, отображение w(-) определено для всех 5. ш Теперь предположим, что а, х и s удовлетворяют условиям A6) —A9). Тогда 35 s€=7\ a 36 Лемма. Пусть ot определяется формулой A6). Тогда для всех seT. Доказательство. Допустим, что d(s)>a для некоторого вектора sgT, Тогда в силу оптимальности а для задачи A5), выпуклости множества 91(р) для каждого a^amIn, строгой выпуклости множества С, предположения B0) и условия %{Ь) cz<y°(d(s)) выпуклое множество ffl,(d{sj) должно иметь точки во внутренности множества С. Но это невозможно, поскольку по построению гиперплоскость P(s) отделяет &l(d(s)) от С. Таким образом, d(s)^,a для всех seT. ¦ Итак, задача A5) сводится к следующей двойственной задаче: 37 Двойственная задача. Найти такой вектор, seT, что В силу C5) и C6) двойственная задача C7) должна иметь решение, если имеет решение прямая задача A5) и max {d(s) \s е Т) =а, где а определяется формулой A6). 9 Э. Полак
253 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ 38 Лемма. Вектор seT оптимален для двойственной задачи C7) тогда и только тогда, когда v(s) = w(s) (т. е. тогда и только тогда, когда § удовлетворяет C5)). Доказательство. Пусть вектор s оптимален для C7). Тогда d(s)yv{s) и s оптимальны для A5), так что v (s) e 31 (d (s)). Следовательно, v (s) — w (s). Пусть теперь v{§) = w(§). Тогда v (s) e 3l{d{sj). Так как 0t(a)()P(§)=0 для всех ае^щ, d(s)) по определению d(s) и так как Р(§) отделяет С от 31 (а) для всех a<=[amin, d(s)]9 то Cf]3t(a) = 0 для всех а е [am!n, d(s)). Следовательно, d(s) = min {a [3t{a){\C ф 0, a^aminj. Отсюда вытекает, что вектор 5 оптимален для задачи C7). ¦ Теперь мы готовы описать алгоритм для решения двойственной задачи C7). Для двух произвольных векторов jcjgRv обозначим через п(ху у) оператор ортогонального проектирования из Rv на подпространство, натянутое на х, у, т. е. для любого вектора 2gRv (я (*, y)z, z — n (ху у) г) —О и я (л:, у) z — t'x + t"y для некоторых t'y t" e R1. Определим отображение р: RvXRv->Rl равенством1) 39 р(ху y) = min{a\[n(xy у) 31 (а)] П [я(ху у) С] ф 0, а>0} 2) и отображение А: Т-+2Т равенством 40 A (s)— {s' e T \s' — Xs + |li (w(s) — v (s))y Я, \i e (— oo, oo); d(s') = p(s, w(s) — v (s))}y т. e. A (s) = {s' e яE, w(s) — v(s)) T \d(s') =p(sy w(s) — vi 41 Лемма. Предположим, что вектор sgT не оптимален для двойственной задачи C7). Тогда для каждого вектора s'f=A(s) 42 d {s') = p(s,w (s) — v (s)) > d (s). Доказательство. Поскольку 5 — нормаль к гиперплоскости P(s)> содержащей и v (s), и w(s), вектор s ортогонален вектору 1) Через п (х, у) С мы обозначаем множество {х' = п (х, у) х" \ х" е С}. 2) При доказательстве того, что ^отображение /?(•»•) определено для всех значений переменных, следует «повторить по существу доказательство леммы B1). 3) Множество ji(s, w (s) — v (s)) T является дугой окружности единичного радиуса (поскольку оно является пересечением множества Т с плоскостью {x\x = hs + \x[w (s) — v(s)]f — оо < Я,\х < + оо}).
5.2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 259 w(s) — v(s). Поэтому векторы s и w(s) — v(s) линейно независимы, и, значит, множество {s'eS|s' = A,s + M'[ay(s) — v(s)]9 A, \i^(— оо, оо)} является единичным кругом в R\ Строя двойственную задачу к C9) тем же способом, каким была построена задача C7), получаем 43 р (s, w(s) — v (s)) = max [d (s') |s'GaE)), где 44 o(s) = {s' s=T \s' = Xs + \i[w(s) — v(s)], A, \i<=(— oo, oo)}. При выводе D3) мы использовали следующий факт: если вектор s' е я (s, да (s) — v (s)) Rv, || sr || = 1, таков, что одномерная проекция п E, w(s) — v (s)) P (s') гиперплоскости Р (s') на двумерное подпространство, натянутое на s и w(s) — v (s), отделяет n {s, w(s) — v (s)) 01 (amm) от я E, w (s) — v {s)) С, то Р (У) отделяет 5Z(amIn) от С, т. е. s' e Г, поскольку P (/) (]71(S,W (S) - V (S)) RV = Л E, W E) — О (s)) P («О- Обратно, если s'^o^s), так что 5/ = яE, z^(s) — v(s))s', и (j/t 5х)><а:, 57> для всех i/G«(amin) и всех xgC,to (#, 5">> > (д:, s') для всех г/ е п (s, ш E) — у (s)) 5г (amIn) и всех д:еяE, а;(«) — v{s))C. Следовательно, поскольку s^o(s), должно быть 45 p(s, да E) — v(s))^d(s). Предположим, что 46 p(s, w(s) — v(s)) = d(s). Тогда 47 я E, w (s) — v (s)) v(s) = n (s, w(s) — v (s)) w E), что невозможно, так как v(s)=?w(s) и вектор w(s) — v(s) принадлежит множеству значений оператора проектирования я E, w(s) — v{s)). Таким образом, неравенство D2) справедливо. ¦ В силу D3) и D4) отображение Л(«) определено для всех значений переменной, т. е. не существует такого вектора s ge Г, что Л($)=0. Теперь можно изложить наш первый алгоритм для решения двойственной задачи C7). Этот алгоритм имеет
260 5. ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ довольно интересную историю: на протяжении ряда лет его развивают в своих работах Красовский [К9], Нейштадт [HI], Итон [И2], Полак и Депари [П7]. Излагаемая ниже версия вцервые была предложена Полаком [П4]. Рис,.13. Множества и отображения для алгоритма D8). 48 Алгоритм (для двойственной задачи C7), Полак [П4]). Шаг 0. Вычислить точку sogJh положить / = 0. Шаг 1. Положить s — St. Шаг 2. Вычислить точку s'^ A (s). Шаг 3. Если d(s') = d{s)9 то положить si+l — s и остановиться; иначе положить S;+1==s', положить / = /+1 и перейти к шагу 1. ¦ 49 Теорема. Пусть {st}—любая последовательность в Г, построенная алгоритмом D8). Тогда последовательность [st] либо конечна и ее последний элемент является оптимальным решением двойственной задачи C7), либо бесконечна и любая ее предельная точка является оптимальным решением двойственной задачи C7). Доказательство. Очевидно, что алгоритм D8) имеет вид модели A.3.9), за исключением того, что вместо минимизации €(s) он максимизирует d(s). Поэтому при доказательстве справедливости условий теоремы A.3.10) для алгоритма D8) надо лоставить знак минус перед всеми соотношениями, где фигу-.
5 2 ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 261' рирует отображение d(-), определяемое равенством C2). Точку s' еГ мы определим как желательную, если она является -оптимальным решением двойственной задачи C7). Пусть s^T — оптимальное решение задачи C7). Тогда 50 d (s) = max [d (s') \ s'e= T}^p (s, w(s) — v (s)) = = max {d(s') \s' ^ o{s)} и, значит, d(s) = p(s, w(s) — v(s))t поскольку s^o(s). (Отметим, что если точка s оптимальна, то v{s) = w(s) и потому <x(s) = {s}.) Обратно, пусть d(s') = d(s) для любой точки s'^ A(s). Тогда в силу леммы D1) точка s должна быть оптимальным решением для C7), так что случай конечной последовательности {st} тривиален. Чтобы доказать теорему для случая бесконечной последовательности {si}, мы должны показать, что условия (i) и (п) теоремы A.3.10) выполняются, если отображение —d{-)onpe- делить с помощью C2), а А(-)— с помощью D0). Так как — d{$)^ — а для всех s^T, где а определяется равенством A6), то для —-d(-) условие (i) в A.3.10) выполнено. Остается только показать, что для любой неоптимальной точки seT, которая могла бы оказаться предельной точкой последовательности {si} в Г, построенной алгоритмом D8), найдутся такие числа e(s)>0 и 6($)<0, что 51 —d(s") для всех s' ^ B(st e(s)) и всех где В E, е)= {s' е Т \\\ s' — s||^e}. Так как по определению d(s") = p(s', w{s') — v{s')) для всех s" ^ Ais*), то E1) принимает вид 52 — d (s') + d {s') < 6 (s) для всех s' s В {s, г (s))9 где отображение d: Г-^R1 определяется равенством 53 d(s) = p (s, w{s) — v (s)). Описание возможных предельных точек последовательности {Si}. Пусть точка s^T такова, что (х' — v(s), s) = 0 для некоторой ^точки ^'e52(amin). Тогда легко видеть, что w(s) = x' и d(s) = amin. Далее, пусть [si] — произвольная бесконечная последовательность в Т, построенная алгоритмом D8). Тогда по построению amin ^ d (s0) < d(s,) < d(s2) < ... и, кроме того St e T(d($t)) для /= 1, 2, ..., где множество Г (а) для а > атщ, определено формулой Т {a)={s<=T\{x — v{s), 5)>0 для всех хеЕ^(а)}.
262 5. ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ Так как d{si+l)>d(si) для/=0,1, 2, ..., должно быть ((i+l)) ZD9t(d(st)), откуда Т (d (si+l)) с r(d(s?))cz ... c=r(d(s0)) для i = 0, 1, 2, Пусть s'e= T(d(s{)). Тогда d(s')>d(*i) и, поскольку оба множества T(d(sx)) и $!(amin) компактны, должно найтись такое число Р > 0, что {х— v(s'), s)^$ для всех ;t<=52(amin) и всех ^еГ^^)). (В противном случае для некоторой точки s' е Т (d (s^) нашлась бы такая точка х' ^$(amln), что (а:' — v{s'), s') = 0. Тогда было бы d(s') = amIn, а это противоречит тому, что d(s')*^d{sl)> amln.) Поскольку Si^T{d(s{)) для /=1, 2, ..., каждая предельная точка s* этой последовательности должна удовлетворять условию {х — v(s*), s*)^Р > 0 для всех хеЙ(ат1П). Следовательно, только те неоптимальные точки s^T, которые могли бы оказаться предельными точками последовательности {5/}, построенной алгоритмом D8), должны удовлетворять условию 54 max {(x — v (s), s) \x e M(amln)} > 0, т. е. должны принадлежать относительной внутренности множества Г. Таким образом, достаточно доказать соотношение E2) для всех неоптимальных точек 5, принадлежащих относительной внутренности множества Т. Очевидно, что для этого* достаточно показать непрерывность функций d{ •) и d( •) в любой неоптимальной точке s из относительной внутренности множества Т. Непрерывность функции d(>). Пусть s — любая точка в относительной внутренности множества Г, т. е. (х — v(s)9s)^ :>Р>0 для всех jce5Z(amin). Возьмем произвольное число e'efctmin, d(s)). Тогда множества $,(d{s) — 6') и P(s) строго отделимы, поскольку @l{d(s) — бОП^Ы^ 0 по определению d(s). Пусть точки w'^P(s) и w"^&(d(s) — 6') таковы, что Положим w — (w' + w")/2; тогда существует такое число* у > 0, что 56 тах(д: — до, s)^ — у, min (л: — до, s)^y. С 9Kdb') По теореме (В.3.20) функции — до, •) и min {х — до, •) непрерывны в Rv, так как и С, и $(d(s) — б') компактныг а скалярное произведение непрерывно по совокупности своих переменных. Следовательно, существует такое число е^О,
5.2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 263 что для всех s'^T, \\s — s'll^s', 57 max (л; — w, s*) <[ — ~, min (л: — w, s')^4r% откуда 58 d(s')>d(s) — 6' для всех s'e=7\ \\s' — s\\<b,'. Возьмем теперь произвольное число 6"e(d(s), а]. Тогда 59 min (х — v (s), s) = — X<0. Md() 6") Пусть i>' = t>(s)— y'ks> где число у'^@> 0 таково, что г/<=С* Тогда •60 min (х — v'9 5) = — A — yO К max (x — t/, s) = y'l. x<=%(d{s)+6") деС Применяя снова теорему (В.3.20), видим, что найдется такое число е," > 0, что для всех s'^T, удовлетворяющих условию || s' — 5 || ^ е", «1 min (х - v', s*) < - A+/)Я • max(x — о', s')^^. С z Но из F1) вытекает, что «2 d {s') <d(s) + Ь" для всех s' gT, || s' — s ||< e". Объединяя E8) и F2), заключаем, что функция d(-) непрерывна по s. Непрерывность функции d{-). Прежде всего с помощью рассуждений, аналогичных предыдущим, можно показать, что отображение р: RVXRV->R1, определенное равенством C9), непрерывно для любой пары линейно независимых векторов {лс, у). Далее, если точка s не оптимальна для двойственной задачи C7), то вектор w(s) — v{s) отличен от нуля и ортогонален вектору 5. Отсюда следует, что функция d(-) непрерывна в каждой неоптимальной точке s^T, если в каждой неоптимальной точке sgT непрерывна функция w(-) (напомним, что в B5) мы показали непрерывность функции v(- )). Пусть точка 5€=Г не оптимальна и последовательность {Si}°L0 сходится в Г к точке 5. Тогда d{Si)-+d(s) при /—>оо в силу непрерывности d(-) и 0l(d{Si))->@l{d{s)) при /->оо в силу непрерывности $(•)• Далее, пусть w — любая предельная точка последовательности {ay(St)}ILo> т- е-
264 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ при i<=Kcz{0, 1,2,...}. Тогда w(Si)<=&(d(st)) и потому w^&(d{s)). Кроме того, поскольку w{Si)^P(Si), должно быть 63 (w(Si) — v(Si), s*) = 0 для / = 0, 1, 2, .... Но для i^K имеем w{si)-*w, v(Si)->v(s) и st ->s при /-* оо„ Поэтому в силу непрерывности скалярного произведения 64 {w — v (s),- s) = 0, т. е. w<=P(s). Так как, согласно природе двойственной задачи C7), множество 31 (d (s)) f| P (s) состоит точно из одной точки w(s), то w = w (s), так что w(Si)—>w(s) при /—>оо. Итак, непрерывность функции w (•) доказана, а вместе с ней доказана и теорема D9). ¦ Изложим теперь операции, которые требуется проделать, чтобы применить алгоритм D8) к решению задачи оптимального^ управления A) — E). Прежде всего для вычисления точки. so^T решаем задачу квадратичного программирования dm in = f t № \ . ) , /=1, 2,..., k\.. Обозначим ее единственное решение через 2. Затем полагаем: w = dk+Rkz. Тогда $(amin)={&} и в силу B0) q(w)>0. Далее вычисляем Л^[0, 1], решая уравнение q(Xw+(l—-A)i/e)=0,, т. е. решаем 1) 65 || Xw — A — X) xk — &k ||^ + 2р = 0 и находим 66 J-тг Очевидно, что точка х = Яг& + A — h)?k лежит на границе множества С, а касательная гиперплоскость, проходящая через хг отделяет xk от dk + Rkz и потому отделяет ^(amin) от С. Следовательно, вектор So — (l/\\Vq(x)\\)Vq(x), где 67 Vq(x) = Q(x-?k), принадлежит Т. Теперь вычислим v(s) для некоторой точки s^T. Учитывая вид множества С для данной задачи* заключаем, что нам не обязательно решать задачу нелинейного программирования J) Заметим, что х е С°, где С = {л: \д (х) < 0}.
5.2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 265 т. е. max \(x, s)\ x^C], а можно вычислить v(s) из соотношений «8 V? {v (s)) = A,s, Я > О, Тогда из первого соотношения в F8) получаем 69 v(s)-xk = lQ~ls, а из второго 70 V(Q~ls9 s) — 2р = 0, так что X = V2p/(Q~15, 5). Подставляя это выражение для Я в F9), окончательно имеем П Таким образом, в этом случае при вычислении v(s) не возникает затруднений. Для того чтобы вычислить d(s) и w(s), мы должны решить задачу квадратичного программирования 72 минимизировать у I ^] II ^ + Я*г — JC/ ||р +1| z ||21 при ограничениях 73 (d, + /?^-DE), 5) = 0, |гЧ<1, /-1,2,..., ft. Пусть z(s) — оптимальное решение задачи G2), G3). Легко видеть, что 74 d(s) = |Bll4+ *'«(*) 1& + Н2(*)IF . 75 шE) = ^ Таким образом, d(s) и шE) можно вычислить с помощью конечных процедур. 76 Замечание. Предположим, что Р — нулевая матрица. Тогда в F8) w = dk, и вычисление d(s) и w(s) значительно упрощается, поскольку из условий оптимальности A.2.18) следует, что !) 77 г1 (s) = sat (ф (А*-*В, s)\ i = 1, 2, ..., ft. ') Напомним, что sat(#)=# для всех у&[—1, 1] и sat (#) = sgn противном случае.
266 5. ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ Для того чтобы вычислить г|э, подставим G7) в G3) и получим кусочно линейное уравнение относительно *ф: к 78 2 sat fo (Ак-% s)) (Ак~1В, s)=-(dk—v (s), s). i = \ Поскольку — {dk— v(s)> s)<0 (в силу того, что dk есть (m,n) и s^T), а левая часть в G8) монотонно возрастает по ф, заключаем, что о|)^0. В любом случае, поскольку график левой части в G8) кусочно линеен, вычисление г|) можно провести довольно просто и за конечное число итераций. ¦ 79 Упражнение. Построить простую процедуру вычисления значения ф, удовлетворяющего G8). ¦ До сих пор никаких затруднений в применении алгоритма D8) к задаче A) — E) не возникало. Они могут появиться при Вычислении p(s7 w(s) — v (s)) и, значит, при вычислении точки s'^A(s), поскольку это требует от нас решения задачи 80 min[d{s')\ s's=T, s' = ks + \i(w(s) — v{s))9 Я, |xe(— оо, оо)}. Для решения задачи (80) нет конечной точной процедуры, поэтому на практике надо ввести какую-нибудь аппроксимацию. Эмпирически установлено, что получаются удовлетворительные результаты, если выбрать некоторое целое число М (обычно берут М = 3 или М = 5), проверить точки с _ s+(i/M)(w(s)-v(s)) / = 1 о ал f~ ls + (!/M)(w(s)-v(s))i ' J lf ^ '' и затем положить s' = Sf9 где d{sy)^d{si) для /= 1, 2,..., M. Эту процедуру можно улучшить, умножая сначала w(s) — v(s) на подходящий весовой коэффициент уе@, 1). Для обсуждаемой задачи этот подход привел к алгоритму, сходящемуся значительно быстрее, чем метод возможных направлений, который, очевидно, можно применить и здесь. В частности, это объясняется тем, что гораздо легче вычислять s0 в D8), чем Zq в D.3.26). Наконец, предположим, что нам известно оптимальное решение § двойственной задачи, соответствующей задаче оптимального управления A) — E). Тогда оптимальная последовательность управлений й0, й,, ..., йл-1 для A) — E) определяется равенствами 81 й1=г*+1{§), / = 0, 1, 2,..., k—U где функции zl (s) вычисляются из G2) и G3) (или из G7) и G8), если Р = 0).
5 2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 267 Хотя для практических нужд вполне пригодна описанная вьете эвристическая процедура, теоретически более обоснованной выглядит алгоритм вида модели A.3.33), который мы сейчас опишем. Для б^[0, 2я] положим ') 82 5'F' S) = [|| (cos 6) s + (sin 6) (w (s) - v (s)) || I X X [( COS 6) S + (Sin 6) [W (S) - V (S)]]m 83 Упражнение. Пусть число 6<=[0, 2л] выбрано из условия б = тах F| s'F, sjeT). Показать, что функция d(s'{-, s)) ква- зивогнута на отрезке [0, 6]. (Функцию df: [О, dJ-^R1 называют квазивогнутой, если множество Fg[0, 6]| d'F)^у} выпукло для любого действительного значения Y-) И 84 Упражнение. Показать, что 6е[0, б], где б определяется в (83), если число 6^ [0, 2я] таково, что d(s'F, s)) = max{d(s'{6, s))|6e[0, 2я]}. Затем показать, что 85 p(s, w(s) — v{s)) = max {d(s'Fy s))|6e=[0, 2jx]} = = max{dE/F, 5))|бе[0, б]}. в 86 Упражнение. Показать, что для вычисления p(s, w(s) — v (s)) можно использовать процедуру поиска по методу золотого сечения B.1.14), поскольку функция d(s'(«, s)) квазивогнута на [О, 6]. Я Опираясь на факты, которые предлагалось доказать читателю самостоятельно в упражнениях (83), (84), (86), представим алгоритм D8) в виде модели A.3.33): 87 Алгоритм (для решения задачи C7), Полак [П5]). Шаг 0. Вычислить sogT; выбрать § > 0, р g @, 1) и р>1; положить / = 0. Шаг 1. Положить е = е. Шаг 2. Положить 5 = 5/# Шаг 3. Вычислить v{s), w(s) и d(s). Шаг 4. Если v(s) = w{s), то положить sl+i — s и остановиться; иначе перейти к шагу 5. Шаг 5. Положить 9 (б) = — d (s' (б, s)) для 6е=[0, 2я]. ') Из D4) видно, что а (s) по-другому (в сферических координатах) можно записать так: a (s) = {s' (б, s) € Т \ 6 е [0, 2я]}.
268 *> ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ Шаг 6. Использовать процедуру B.1.14) (с текущим значением е и выбранным, как на шаге 0, значением р) для вычисления р, 1). Шаг 7. Вычислить d(s'(p,, s)). Шаг 8. Если d(s'(A> s))—d(s)^e, то положить si+l =5/(Д, 5), положить / = /+ 1 и перейти к шагу 1; иначе положить е = ре- и перейти к шагу 6. ¦ 88 Упражнение. Показать, что последовательность [si} в Г, построенная алгоритмом (87), либо конечна и ее последний элемент является оптимальным реше!ием задачи C7), либо> бесконечна и каждая ее предельная точка оптимальна для C7). [Указание: Покажите, что алгоритм (87) удовлетворяет условиям теоремы A.3.27).] а 89 Упражнение. Показать, что свойства сходимости, установленные в (88), остаются справедливыми и для нестационарной версии алгоритма (87), которая получается из него в результате замены на шаге 8 команды «перейти к шагу 1» командой «перейти к шагу 2». [Указание: Используйте соответствующую» модель из разд. 1.З.] ¦ В задаче A) — E) допустимое множество С описывалось одним квадратичным неравенством. В результате вычисление точки v (s) не представляло никаких затруднений. Предположим теперь, что 90 C=Ue=RvU'(*)<0, /=1, 2, ..., т}9 где <7*(') — строго выпуклые, но не квадратичные функции,, а множество С имеет внутренность. Тогда вычислить v(s) за конечное число итераций нельзя, и потому для решения двойственной задачи C7) нельзя .применить без соответствующей дополнительной модификации ни алгоритм D8), ни алгоритм (87). . Чтобы максимально упростить обсуждение, мы изложим эвристическую разработку алгоритма D8). Читатель может самостоятельно распространить эту разработку на алгоритм (87). Мы будем предполагать, что функции ql{ •) не только строго выпуклы, но также и непрерывно дифференцируемы. Начнем с того, что введем внешнюю штрафную функцию для множества С; пусть функция р: RV->R* задается равенством т 91 2 * *) Процедуру B.1.14) надо слегка модифицировать, чтобы гарантировать* что [а0, Ьо] с [0, 6], где 6 определяется в (83).
5.2 ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 269 Мы используем ее при описании аппроксимированного множества для v(s) следующим образом. Пусть у^О» Р>0 — заданные весовые коэффициенты. Положим для любого числа е>0 и любой точки sgT 92 KeE)= Заметим, что если выбрать y = 0> to множество Ve(s) будет содержать единственную точку ve(s), которая минимизирует (выпуклую функцию) — {х, s) + A/ре) р (х) • на Rv (поскольку (х, s) Ф О для всех л:еС, так как С имеет внутренность). Более того, из разд. 4.1 заключаем, что если y===0, то (см. теорему D.1.21)) ve(s)->v{s) при е->0, ее [0, ё], ё >0') и (см. лемму D.1.11)) 93 — (ve(s), s)< —(y(s), s) для всех ее [0, ё]. Следовательно, если y = 0, to 94 (ve(s) — v(s)f s}>0 для всех ее [0, ё], и потому ve(s) отделяется от С гиперплоскостью Р(s), проходящей через v(s), с нормалью s. Далее, пусть 95 Pfcs) = {/GRv|(/-jc,s) = O}, *e=Rv, ss=S, т. е. Р(х, s) — гиперплоскость с нормалью 5, проходящая через х. Тогда множество С должно лежать по одну сторону от P(ve(s), s), т. е. 96 (а: — vz(s), 5)^0 для всех х^С. Расширим теперь наши функции d(-) и w(-). Пусть l/'cRvXS будет таким множеством, что для любой пары (х, s) e U' найдется число a^amIn, при котором Ж (a) f| P (х, б)Ф 0. Определим функцию d: U'->Rl равенством 97 d(x9 s) = min{a|^(a)n/>U, s) ф 0, Далее, пусть U cz ?/' будет таким множеством, что для каждой пары, (х, s)cz U множество $,{d{x, s))[]P(x, s) состоит из единственной точки. Определим функцию w\ (/->RV равенством 98 {w(x9 s)}^^{d{xy s)){)P(x, s). l) Предполагается, конечно, что функция ve (•) определена для всех значений переменной s и остается в ограниченном множестве при всех е с= [0, ё], ё > 0.
270 5. ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ Эти функции можно включить в эвристический алгоритм: 99 Алгоритм (для решения двойственной задачи C7), Полак). Шаг 0. Вычислить sogT; выбрать е>0, ре@, 1) и весовые коэффициенты Y^0> Р > 0; положить / = 0. Шаг 1. Положить е = е. Шаг 2. Положить s = st. Шаг 3. Вычислить точку ve{s)^Ve(s) (как в (92)). Шаг 4. Вычислить d(ve(s), s), w(ve(s), s). Шаг 5. Положить s'F) = [l/||(cos6)s + (sin6)(& (ve(s), s) — — ve (*)) II1 [(cos 6) 5 + (sin 6) (w {ve (s), s) — ve (s)] для 6 €= [0, 2я]. Шаг 6. Для каждого 6е[0, 2я] вычислить вектор овE'(б)). Шаг 7. Вычислить б —[0, 2я] из условия 100 d(ue(s'F)), 5^F)) = max {^(^(^F)), s^eWiesIO, 2я]}. Шаг 8. Если d(ve(s'F))y s'F)) — d(w8E), 5)^8, то положить s?+1==s'F), положить / = /+1 и перейти к шагу 1; иначе положить е = J3e и перейти к шагу 3. ¦ 101 Упражнение. Обосновать алгоритм (99) при y==0» показав, что у любой бесконечной последовательности {s*}, построенной алгоритмом (99), любая предельная точка оптимальна для двойственной задачи C7). [Указание: Покажите, что алгоритм (99) при y = 0 удовлетворяет условиям теоремы A.3.27).] ¦ На практике, конечно, мы не можем положить y = 0, поскольку не можем вычислить ve(s) за конечное число итераций ни одчим из методов, обсуждавшихся в гл. 2. Кроме того, мы не в состоянии вычислить ve(s'(d)) для каждого 6^[0, 2я], как это требуется на шаге 6 алгоритма (99). Таким образом, приходится выбирать y > 0 и проводить конечное число вычислений, двигаясь по окружности {s/F)|6e[0, 2я]|. Например, на шагах 6 и 7 в (99) можно ограничиться значениями 6 = 0, 2я/М, 4я/М, 6я/М, ..., 2я(М—1)/М, где М — разумным образом выбранное целое число. Для того чтобы полнее проиллюстрировать применение алгоритма (87) к решению задач оптимального управления, рассмотрим еще две задачи. 102 Пример. Рассмотрим задачу на быстродействие 103 минимизировать Т при ограничениях 104 ^fX{t) = Ax(t) + Bu{t)9 fe[0, Л, x(t)<=R\ «WeR1, 105 *@) = 0, q(x(T))^0, |и(/)|<1, *€= [0, Л,
5.2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 271 где Л, В — постоянные матрицы, функция q(-) определяется, как в D), а и(-) — кусочно непрерывная функция. Мы будем предполагать, что система A04) полностью управляема. Определим для этой задачи при a^0(amin = 0) множество ( a ) 106 91 (a) = \ х (a') = f e{a'~t)ABu(t) dt\u(-)^6U, a'e^a]}1)» J I о > где °U — пространство действительных кусочно непрерывных функций и( •), определенных на [0, оо] и удовлетворяющих условию | и (/I^1 для всех tfe[0, оо). Легко видеть, что при всех <х^0 множество 91 (а) компактно и выпукло, а отображение #(•) непрерывно в метрике Хаусдорфа. Кроме того, поскольку система A04) полностью управляема, можно показать, что множество 91(а) компактно и строго выпукло при любом а>0и 91 (а') содержится в $!°(а"), если о! < а". (Все эти факты можно найти в большинстве пособий по теории оптимального управления.) Таким образом, исходная задача удовлетворяет условиям (i) — (iii) в A5). Чтобы вычислить d(s) и w(s) для этой задачи, мы должны решить вспомогательную задачу 107 гшп{Г|Б(Г, и) €=/>(*), и^гС), где ЦТ', и) — решение системы A04) в момент времени Г', соответствующее начальному условию х@) = 0 и указанному управлению и( • )^<U. Применяя принцип максимума A.2.35) к задаче A07), находим, что если и(-9 s) — оптимальное управление, T'(s) — минимальное время, х{- , s) — соответствующая оптимальная траектория, то %(Т\ и(- , s)) = x(T\ s), 108 -j-j- x (/, s) = Ax (U s) + Bu (/, 5), соответствующий вектор сопряженных переменных р(- , 5) удовлетворяет уравнению 109 -тт Р (?, s) = — Атр (t, s)y at и условие максимума A.2.38) выполнено, т. е. НО BTp(t, s)u(t, s)^BTp(t, s)v l) Иначе говоря, x (a') — решение системы A04) при / = а' с начальным условием д;@) = 0, соответствующее некоторому допустимому управлению и (•).
272 5. ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ для всех v^[—1, +1] и почти всех te[09 T'(s)]. Из (ПО) заключаем, что 111 u(t, s) = sgn BTp(t, s) для почти всех /^[0, Т'(s)]. Далее, из A09) получаем 112 P(t,s) = е~«-г <«» A^s для t е= [0, Г (s)]9 откуда 113 u(t,s) = sgn (ф E, e-^-r <*» л?» для почти всех <е[0, T'(s)]. Теперь воспользуемся граничным условие*м дс(Г/E), что приводит к уравнению 114 {х(Г(з), s)-v{s),s) = 0. Далее, из A08) находим T'{s) 115 x(T'{s), s)= J ^'Ю-' 0 T'is) = J в(Г <s)-f) ЛД sgn (^ E> e{T> (s)-t) Подставляя A15) в A14) и группируя члены, получаем Т'(8) 116 J <5, е<т' <*>-« ^В> sgn (ф(s, ^<•>-» ЛБ» dt = (v (s), s). о Здесь можно положить *ф = — 1 1) и затем решить A16) относительно T'(s). Очевидно, что это значительно труднее, чем решить кусочно линейное уравнение G8), которое встречалось нам в задаче дискретного оптимального управления A) — <5). На самом деле процедур для решения уравнения A16) за конечное число реализуемых операций не существует, и потому на практике при решении A16) всегда приходится пользоваться эвристическим методом прерывания вычислений после конечного числа операций. Однако предположим, что мы умеем решать A16); тогда rfE) = r/E) и w(s) = x{T'(s), s). Этот пример наглядно демонстрирует тот факт, что, как правило, задачи непрерывного оптимального управления, даже самые простые, решать намного труднее, чем сходные задачи дискретного оптимального управления. Полезно, кроме того, подчеркнуть то обстолтель- *) Для всех точек sgT, для которых d (s) — Т' (s) > 0, должно быть {v (s), s) <0 при 91 @) = {0}. Следовательно, мы вправе положить ф = — 1.
5.2. ДВОЙСТВЕННЫЙ АЛГОРИТМ ДЕКОМПОЗИЦИИ 273 ство, что при применении к задачам непрерывного оптимального управления любых алгоритмов последние следует обычно рассматривать только как принципиальные, поскольку их реализация требует некоторых, обычно эвристических, модификаций. ¦ 117 Пример. Рассмотрим задачу оптимального управления •о минимуме энергетических затрат: т 118 минимизировать -j [ u(tJdt о при ограничениях 119 -jlfX(t)=*Ax{t) + Bu{t), *е[0, Г], x(t)s= 120 *@) = х0, <7(*G-))<О, |и(*)|<1, *е=[0, 7'], где А, В — постоянные матрицы, q{-) определяется так же, как и в D), а и(-) — кусочно непрерывная функция. Время Т окончания процесса задано и конечно. Мы будем предполагать, что система A19) полностью управляема. Для этой задачи определим при а"^0 множество г т 121 М (а) = \х (Г) = етлх0 + J *<г-« АВи (t) dt для /s[0, T]9 J u и (t) Т Ясно, что функция и(-) в A21) кусочно непрерывна. Как и в предыдущем примере, можно показать, что функция $!(•) непрерывна в метрике Хаусдорфа, множество М(а) компактно и строго выпукло при всех а>0и ^(аО содержится в $!о(а")> если а < а", т. е. условия (i) — (iii) в A5) выполнены. Чтобы вычислить d(s) и w(s) для этой задачи, мы должны решить вспомогательную задачу 122 min у J u(tJdt У 0 l(T, u)e=P(s), где ?(Г, и) — реиение системы A19) в момент времени Г, соответствующее начальному условию х{0) = х0 и указанному управлению и( -); °U определяется так же, как и в A06). Применяя принцип максимума A.2.35), заключаем, что если u(-9s) — оптимальное управление для вспомогательной задачи A22)
274 5. ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ и х( • , s) — соответствующая оптимальная траектория, то t(T,u{-9 s))=*x(T, s)9 123 -?jX (U s) = Ax (U s) + Bu (t, s)9 /e=[0, T]9 x@9 s) = ?0, u{-9 s)tE<Uy соответствующий вектор сопряженных переменных р( • , s) удовлетворяет уравнению 124 4tp{f' s) = — ATP(t> s)> ^[0> Л, р(Т9 s) = ips, <ф<0, и условие максимума A.2.38) выполнено при р° = — 1, т. е. 125 — и {t9 sJ + Втр (t, s) и (t9 s) > — v2 + BTp (t, s) v для всех os[-l, +1] и почти всех ^ [О, Т]. Из A25) заключаем, что 126 u{t, s) = sat(BTp(t, s)) для почти всех /е[0, Г]. Воспользуемся выражением для p(t,s) из A22) и перепишем A26) в виде 127 и (/, s) = sat (ф <в<м) ЛВ, 5», / е [О, Г]. Для того чтобы найти ф из A27), воспользуемся граничным условием х(Т, s)&P{s), т. е. уравнением A14), которое принимает здесь вид т 128 | (s, е<г-<> ЛБ)'sat (ф E, ^г-« ЛВ» Л = — (еглх0 — у (s), 5>, о г J eP-**Bu{U s)dt. так как Уравнение A28) несколько легче решать, чем A16), но, как и A16), его нельзя решить конечной процедурой. Это означает, что алгоритм (87) для задачи A18) — A20) является принципиальным. Однако, предположив, что мы вычисляем ф точно, получим т u{Usfdt и w(s) = x(T,s). Ш 129 Замечание. Читателя не должен обескураживать тот факт, что ни A16), ни A28) нельзя разрешить точно за конечное число реализуемых операций. Есть все основания утвер-
5 3 АЛГОРИТМ ДЕКОМПОЗИЦИИ ПРЯМОГО ТИПА 275 ждать (исходя из эвристических соображений), что для гарантии сходимости алгоритма (87) (или, точнее, его модификации) достаточно просто хорошего приближения к фактическому значению T'(s) в A16) или \|) в A28), а его нетрудно вычислить за конечное число операций. Для того чтобы получить приближение к V(s) в A16), найдем такой отрезок [Т\ Т"] <= [О, оо) (полагая в A16) T'{s) = = 7\ 27\ 37\ ..., Г>0), что 130 - J E, e<*"-'Mfi)sgn«s, e<T'-'>AB))dt < {v(s), s) о Т" < - J E, ev-*AB) sgn«s, eV-v и затем будем делить этот отрезок, чтобы найти новые значения 7", Г", удовлетворяющие A30), пока разность V—Т не станет достаточно малой. Наконец, в качестве приближения к 7"(s) выберем 7". Для того чтобы вычислить хорошее приближение к \|э в A28), поступим так же, как и для V (s), т. е. найдем такой отрезок W, <ф//]с1(—оо, 0], чтобы левая часть в A28) при <ф = <ф/ была меньше —(еТАх0 — v(s), 5), а при i|) = i|/' — больше этой величины. Затем последовательным делением будем уменьшать этот отрезок до заданного размера. ¦ 131 Упражнение. Построить алгоритм для решения задачи на быстродействие A03) — A05), добавляя к алгоритму (87) еще одну приближенную процедуру для вычисления d(s) и w(s); использовать указания, приведенные в предыдущем замечании. ¦ 5.3, Алгоритм декомпозиции прямого типа В этом разделе мы представим алгоритм для решения задач того же типа, что и рассмотренные в предыдущем разделе, но при менее ограничительных предположениях. В частности, из B.15) видно, что в предыдущем разделе требовалась строгая выпуклость как допустимого в силу ограничений задачи множества С, так и множеств ^Г(а), а^ат1п. Однако во многих случаях, представляющих интерес, это не выполняется, напри- ]) См. подстрочное примечание на стр. 272.
276 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ мер в задаче A.3) — A.6), где при <х!>0 множество k-i v У 2 Щ (eh dt + Rtz — xt) | , /=1,2,..., (см. обозначения в A.10)) (если не пусто) является выпуклым многогранником и, следовательно, оно не строго выпукло. Отметим, что множество Й?(а) в A) может быть пустым при всех a^amin, amin^0. Итак, ниже мы вводим геометрическую задачу, отличающуюся от прямой задачи B.15) только сделанными допущениями. В подобной форме представимы задачи оптимального управления, рассмотренные в разд. 2, а также задачи типа A.3) — A.6). 2 Геометрическая задача. Пусть задано выпуклое компактное множество CczRv и такое отображение Ж\ [amIn; oo)->2R , атт>0, что (i) множество $2(а) для всех а^ат1п компактно и выпукло; (ii) 91 (а') с Ж (а"), если а' < а"; (iii) для любого a^ctmin и любого открытого множества О =э 31(о) найдется такое число г > 0, что ЗКо!)аО для всех a' ^ «min, удовлетворяющих условию \о! — а |< е. Требуется найти такое число d^amln и такую точку х е С, что 3 d = min{a|^(a)nC^= 0, a>amIn}, 4 х <=&(&)(]С. Ш 5 Замечание. Отметим, что задача B) отличается от задачи B.15) не только заменой требования строгой выпуклости С и IS (a) более слабым требованием просто выпуклости, но также и тем, что условие непрерывности, заданное в пункте (iii) задачи B), чаще удовлетворяется, чем аналогичные условия пункта (ii) задачи B.15). В самом деле, если функция $,{•) непрерывна в метрике Хаусдорфа, она непрерывна и в смысле пункта (iii) задачи B); обратное, вообще говоря, неверно, ш 6 Предположение. Чтобы гарантировать существование решения задачи B), мы будем предполагать, что найдется такое число amax>amIn, что Й(атах)ПС Ф 0. Ш 7 Лемма. Пусть предположение F) выполнено; тогда существуют число a e [amin, amax] и точка ieC, удовлетворяющие условиям C) и D).
5 3 АЛГОРИТМ ДЕКОМПОЗИЦИИ ПРЯМОГО ТИПА 277 Доказательство. Поскольку отрезок «я? = [ат1п, атах] компактен, найдется такое число ciGi, что ct=inf {а \&(а)()Сф09 aGi). Пусть {fy}!L0— произвольная последовательность в st, монотонно убывающая к d и удовлетворяющая условию 0t{ai) П СФ 0 при / = 0, 1, 2, .... Тогда в силу условия (И) задачи B) компактные множества $,(а{)[)С образуют монотонно убывающую последовательность, т. е. 01 (щ+1) Г) С cz Ы {щ) П С при / = 0, 1, 2, .... Таким образом, последовательность множеств оо {Й(а0ПС}^10 сходится к множеству [}{Я(а1)()С)ф0. Но в силу i=0 условий (ii) и (Hi) задачи B) 01 (а,) -*М(а) при /-^оо, а по условию (i) задачи B) множество 01 (а) компактно. Следова- оо тельно, 01{о) П С = Р) {01{щ) П С), и, значит, для а выполняется C). Так как 01(а)(]С Ф0, то ясно, что найдется точка X, удовлетворяющая D). ш Чтобы построить алгоритм для решения геометрической задачи B), введем четыре отображения, аналогичные соответствующим отображениям предыдущего раздела. Для каждого ненулевого вектора sgRv определим множество V{s) формулой 8 V{s) = [v е=С | (х — v, 5><0 для всех хе=С}, т. е. V(s) состоит из всех точек v на границе множества С, для которых (v, 5) = max {{x, s) \ x e С}. Если множество V строго выпукло, то V (s) состоит из единственной точки; эта точка обозначается через v(s) и определяется, как в B,24). 9 Упражнение. Показать, что множество V(s) компактно и непусто в силу непрерывности скалярного произведения и компактности множества С. (Отметим, что множество (а^С°| {х — v, 5)<0 при xgC°) пусто.) Ш 10 Упражнение. Показать, что для любого ненулевого вектора sgRvh любого открытого множества OzdV(s) найдется такое число е > 0, что OzzV {s') для всех ненулевых векторов 5r^Rv, удовлетворяющих условию || s' — s||<e, т. е. показать, что отображение V(-) полунепрерывно сверху. В Заметим, что если v'^V(s), то (у—v\ s}=0 для всех т. е. V(s) содержится в гиперплоскости {xgeRv|(jc — v', s) —О}. Учитывая это замечание, дадим следующее определение: для
-278 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ .любого ненулевого вектора seRv обозначим через P(s) гиперплоскость — v9 s) = 0, v V(s)}. ^(Отметим снова, что все точки v^V(s) определяют одну и ту же гиперплоскость Pis), поскольку совершенно очевидно, что V(s) P{)(]C) Рис.14. Множества и отображения для алгоритма A4). Далее, снова рассмотрим отрезок ^ = [amIn, amax]. Для любого ненулевого вектора s<= Rv, для которого P(s) f) ^(amax)=^= 0, определим d{s) равенствами [ amin, если (* — v, s)<0 12 d(s) = Для некоторого хе Я(ат1п), ve=V(s)9 { min{a \P(s)f\&{a)=?0, aG^) в противном случае. Наконец, для всех sg Rv, для которых Р(s)(]91 (amax) Ф 0, определим множество W (s) равенством 13 W{s)={w<^&{d{s))\(w — v, 5><0, v€=V(s)}. Нетрудно видеть, что точно так же, как и в случае с Р(-), отображения d(-) и W(-) не зависят от конкретного значения v e I/ (s), используемого в A2) или A3), т. е. они являются функциями только от s. Запись функции d(-)t определенной „в B.32), отличается от записи приведенной выше функции d( •)
5 3 АЛГОРИТМ ДЕКОМПОЗИЦИИ ПРЯМОГО ТИПА 27? наличием первой строки в A2), и объясняется это тем, что у функций d(-) и d(-) разные области определения. Если задать Г, как в B.31), то d(s) = d(s) при всех 5 е= Г. Изложим теперь алгоритм для решения геометрической задачи B), объединяющий геометрические идеи, использованные при построении алгоритма B.48), с идеей метода Франка — Вулфа [Ф6]. Конечно, приведенный ниже алгоритм A4) не исчерпывает всех возможностей, заложенных в объединении геометрических идей разд. 2 с идеей метода Франка — Вулфа. Иной подход предлагается в работе [Б4]. Однако алгоритм A4),, по-видимому, имеет большую сферу применения. 14 Алгоритм (Мейер — Полак [М7]). Шаг 0. Вычислить хо^С и f/oG^kin); положить / = О. Шаг 1. Положить x = xi9 y = yt. Шаг 2. Если у^С, то положить xiJr.\ = y, yt+\ = y и остановиться; иначе положить s = y— х и перейти к шагу 3. Шаг 3. Вычислить v^V(s). Шаг 4. Вычислить d{s). Шаг 5. Вычислить w^ W(s). Шаг 6. Вычислить ]) такие точки у' е [у, w] и хг ^ [л:, v]9 что 15 ||/-^l = min{|I#'/-xHI|z/'/e[*/, w\, x"ez[x, v]}. Шаг 7. Положить Xi+l=x', yi+\ — y'\ положить / = f+l и перейти к шагу 1. Ш Покажем теперь, что алгоритм A4) принадлежит к тому же типу, что и модель A.3.9), так что его сходимость можно установить с помощью теоремы A.3.10). Для этого положим 7 = СХЙ?(а), где а определяется в C), и будем называть точку z — (x, у) (х^ С, у^ $(а)) желательной, если у^С. Для каждой точки z — {x,y)^T определим с (z) формулой 16 c(z) = \\x — y\\. Наконец, зададим функцию А: Г->2Г равенствами {(Уу У))> если точка z = (x, у) желательна, 17 А B) = (J v<==V(y—x) W() =[x, v], y"^[y9 w]}} в противном случае. ]) Для заданных точек х, ^gRv через [х, у] здесь обозначен отрезок прямой, соединяющей х и у, т.е. [*, у] = {v — Хх + 0 ~ Л) у \ X е [0, 1]}-
280 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ 18 Упражнение. Пусть х €= С и i/?^(d). Показать, что 0. Показать затем, что алгоритм A4) корректен и соответствующее отображение Л(-)> заданное формулой A7), определено для всех значений переменной. ¦ 19 Упражнение. Показать, что z = (x, y)^T9 х Ф у. Показать, что если О — произвольное открытое множество, содержащее W (у — х), то найдется такое число е > 0, что W{y' — x')aO для всех z' = (*', у') е= Г, где \\х' — *||<е, II*/' — у||<е. ¦ 20 Упражнение. Пусть 2== (а:, у)^Т, хфу. Показать, что 21 сфАттИгОи'^л;', Я, *'^[*> о], / е [у, о;], ogI^(!/-4 шеГ(г/-jc)} <с(г). Ш 22 Упражнение. Пусть функция с(-) определена равенством B1), а точка ,г = (л;, у) такова, что уф С, т. е. z — нежелательная точка. Показать, что для любого б > 0 найдется такое число е > 0, что 23 с(zf)<с(z) + 6 для всех /gB(z, e), где B(z, e) = {z's Г| ||лг'— *И^е, \\у'— */||^е}. [Указание: См. доказательство теоремы B.49).] ¦ Из формулы B1) видно, что для нежелательной точки z^T будет c{z) = min[c(z')\z'e A(z)} <c(z). В силу непрерывности функции с(-) и в силу неравенства B3) для нежелательной точки 2GJ найдется такое число е > 0, что для всех z'gB (г, е) 24' c(z')>c(z) + -d{z)-c{z) 25 Следовательно, 3 с (г) - с (г) 3 (г) —с (г) « „.«, -', 26 с {г') — с(гО< wТ ^ ; < 0 для всех г'еВ(г, в). О Соотношение B6) показывает, что условие (ii) теоремы A.3.10) выполнено. Отметим также, что функция с( •), определяемая формулой A6), удовлетворяет условию (i) теоремы A.3.10) в силу своей очевидной непрерывности. Учитывая все сказанное выше, сформулируем следующий очевидный результат: 27 Теорема. Если последовательность \{xiy yt)) построена алгоритмом A4), то она либо конечна и ее последний элемент (**f Ук) удовлетворяет условию xk = yky либо бесконечна и
5.3 АЛГОРИТМ ДЕКОМПОЗИЦИИ ПРЯМОГО ТИПА 281 каждая ее предельная точка (х, у) удовлетворяет условию х = у. Кроме того, 28 supd(yi—xi) = a> i где d определяется равенством C). ¦ 29 Замечание. Наиболее существенное отличие алгоритма A4) от алгоритма B.48) заключается в том, что алгоритм A4) не требует минимизации функции вдоль кривой. В результате его можно реализовать в том виде, в каком он сформулирован. ¦ В заключение выясним, что надо проделать, чтобы применить алгоритм A4) к задаче дискретного оптимального управления вида k-i 30 минимизировать 2 и^ при ограничениях 31 xi+l = Axi+Buit / = 0, 1, 2, ..., k— I, jct-GRv, Щ<ееЪ!г х0 = *о> Qxk ^ Q, 32 |и*|<1 для / = 0, 1, 2, ..., k— 1, где q— вектор из R11, а А, В и Q — постоянные матрицы» Предположим, что множество 33 С = {х е Rv | Qx ^ q) компактно и по крайней мере для одной последовательности управлений u0, uu ..., uk_x выполняется C2). Определим для: >0 34 gt(o) = \y = Akx0 + 2 Ak~l~]Bt ft-f > i = 0, 1, 2, ..., ? — 1, 2r/2<a Нетрудно видеть, что отображение М(-), определяемое равенством C4), удовлетворяет условиям задачи B). Теперь можно применить алгоритм A4) к задаче C0) — C2). Прежде всего, чтобы не путать xt в C1), C2) и xiy yt в A4), будем обозначать (как мы поступали в случае необходимости раньше) величины в A4) через х, у. Тогда мы видим, что о о точка jc = O принадлежит С, а y = Ak?0 — единственная точка в $!@). Это состояние мы можем принять за начальное. Далее, о оооо для того чтобы вычислить dg1/(s), s = y — х, решим задачу
-282 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ .линейного программирования и 35 min {{x9 s)\Qx^ q) «симплекс-методом за конечное число реализуемых операций. _ о о о о к Потом вычислим d(s), s = y— х, решив вспомогательную 0 0 задачу, описанную ниже, при s = s, v = v: 36 минимизировать 2 u<i- при ограничениях 37 х1+х=Ах1 + Вщ, / = 0, 1, 2,..., k— 1, 38 \Щ 1<1, / = 0, 1, 2, ..., k—\. о о Разумеется, мы предполагаем, что (A xQ — v, s) > 0, так как о иначе было бы d(s) = 0. Эту задачу также можно решить за конечное число реализуемых операций, как это поясняется в замечании •<2.76). Тогда мы получим последовательность управлений оо о ^оE)> u\(s)y •••> wfe-iE)> оптимальную для задачи C6) —C8), и затем вычислим о 39 d(s) w = L 40 w = Akx0 + 2 L 0 0 Итак, теперь у нас есть точки х^С> у() () 0 0 11 и w^W{s). Для того чтобы вычислить х, у, мы должны решить задачу 0 0 0 0 41 минимизировать {||* — УII2 \х е [х, v], y^[y, w]). Это простая задача квадратичного программирования, решение о о которой дают два параметра X и ц, оба принадлежащие отрезку [0,1], такие, что 100 00 1 0 0 00 42 x = Xx + (l— X)v, y = l*>y + (l—li)w. Отметим, что 43 у = Акх0 + 2 А*-' В A-й) Щ (s). 0
5 3 АЛГОРИТМ ДЕКОМПОЗИЦИИ ПРЯМОГО ТИПА 283' II 2 2 Получив х, г/, мы повторяем вычисления и находим х, у, и т. д^- i i Однако нас интересуют не просто точки х в С и у в !%(аУ (где а — минимальное значение целевой функции в задаче- C6) — C8)), достаточно близкие друг к другу, а также и до- t i i пустимая последовательность управлений и0, ии ..., uk_u которая переводит систему C7) из начального состояния ?а. в конечное состояние xk — y и для которой 2jU2.^a. В силу /=о ' этого мы организуем наши вычисления следующим образом: 44 # Алгоритм (решение задачи C6) — C8)). 0 0 0 Шаг 0. Положить х = 0, у = А0; положить ttt = 0, / = 0,. 1,..., k—1, положить / = 0. / i Шаг 1. Положить х = х, у —у. Шаг 2. Если Qy^q, то положить xi+]=x, yi+\—y и остановиться; иначе положить s = y — х и перейти к шагу 3. Шаг 3. Решить задачу линейного программирования min{(x, s)\Qx^q] и получить вектор v. Шаг 4. Если {AkJt0—v, s)^0, положить w = Akx0\ иначе решить C6) — C8) (как поясняется в B.76)) относительно последовательности управлений uo(s), щ (s), ..., uk^{ (s) и вы- числить w = Ak?0+ 2 Ак~~1~~хВщ (s). /=о Шаг 5. Вычислить Я, Д^[0, 1] из условия 45 ||[Ь + A-Я)у]-[Дг/ + A-Д)Н11 = A-[г)^]|||Я, jxe[0, 1]}. 6. Положить # =Ял: + A—k)v; положить у положить uf = ixuf + (l—\x)uf{s)y /==0, 1, 2, .. . ..., /г—1; положить / = /+1 и перейти к шагу 1. Ш 46 Упражнение. Показать, что ZiU2.^.a для / = 0, 1, ...» /=о 7 где а — минимальное значение целевой функции в задаче C6) — C8). Показать также, что у = AkJt0 + 2 A*-t-lBur В
284 5 ВЫПУКЛЫЕ ЗАДАЧИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ В заключение отметим, что хотя нам было удобно для наших целей трактовать алгоритм разд. 2 как двойственный, а алгоритм настоящего раздела как прямой, но такое различение их довольно искусственно. Их сходство, которое является результатом того, что они оба вытекают из одной и той же геометрической интерпретации оптимальных задач, гораздо значительнее их различия и служит основанием для того, чтобы отнес г:* их к одной общей группе методов декомпозиции геометрического происхождения для решения задач оптимального управления.
6 СКОРОСТЬ СХОДИМОСТИ 6.1. Линейная сходимость Скорость сходимости можно исследовать в самой обшей и абстрактной форме. Однако мы ограничимся здесь несколькими довольно простыми понятиями. В этом разделе нам понадобится только понятие линейной сходимости. Пусть ta}^ — последовательность в банаховом пространстве ЗВ, сходящаяся к точке 'г*. Мы будем говорить, что последовательность \гг\ сходится к z* по крайней мере линейно (или что ее скорость сходимости к z* по крайней мере линейна), если существуют такое целое число &^0, такая константа Е и такое число бе [0, 1), что 1 || г* — z* ||л < ?0* для всех />?. Другими словами, сходимость последовательности {z^} по крайней мере линейна, если \\zt— 2*11^—>0 при i->oo по крайней мере так же быстро, как геометрическая прогрессия (как и раньше, мы обозначаем норму в 3d через || • ||^). В гл. 2 мы изложили ряд алгоритмов для решения задачи 2 min|/°W|2GRttl, где функция /°(*) предполагалась непрерывно дифференцируемой. За исключением алгоритмов разд. 2.2 и алгоритмов B.3.42) и B.3.68), для всех этих алгоритмов характерно, что последовательности {zt}, построенные ими, удовлетворяют соотно- шениям 3 zi + l=zi+kihii / = 0, 1, 2, ..., 4 -<V/°Bf.), Af>>p||Vf>(z*)ll||M, ре (О, I]1), где величина шага Я/ выбирается в соответствии с одним из следующих трех правил: (i) Я*^0 — наименьшее из значений Я, для которых 5 f°(Zi + Xiht) = min {/°fe + Xh{) \X>0); (ii) для ае=@, V2) число Я*^0 таково, что !) Отметим, что р<1, поскольку р>1 противоречит неравенству Шварца: | (V/» (г.), А,) |<|| Vf> (г,) || || А, ||.
286 б СКОРОСТЬ СХОДИМОСТИ 6 U A - a) (V/° (*,), Л,)< /° (zt + Xihi) - /° (zt) < Xta (Vf> (г,), АЛ; (iii) для ае=@, 1), р^@, 1), р >0 число Хь есть р'р, где / — наименьшее из положительных целых чисел, для которых 7 /° (Zi + Uht) - f° (zt) - A,a {WP (zt), ht) < 0. Для определенности укажем, что среди методов, обсуждавшихся в гл. 2, для которых выполняются соотношения C)—G), есть метод наискорейшего спуска B.1.37) (Л* = —• ^f°(zi) и величина шага выбирается по правилу E)), модифицированный метод Ньютона — Рафсона B.1.42) (hi = — (^ffeV^r1 V/°fe) и величина шага выбирается по правилу F)), различные модификации этих двух основных алгоритмов, получаемые в результате применения правил E), F) или G) вместо исходных правил, и, наконец, метод сопряженных градиентов Полака — Рибьера B.3.51). Напомним, что для всех этих алгоритмов мы показали, что если выстраиваемая ими последовательность \zi\ бесконечна и сходится к точке г*, то Vf°(z*) = O. На протяжении всего этого раздела мы будем предполагать, что последовательность [zi)y построенная алгоритмом, удозле- творяет соотношениям C) и D) и что используется одно ич правил выбора величины шага E), F) или G). Мы будем предполагать, что эта последовательность сходится и в ее предельной точке z функция f°( •) достигает локального минимума. Более того, мы будем предполагать, что функция /°(-) дважды непрерывно дифференцируема и в окрестности точки z, реализующей локальный минимум, строго выпукла, т. е. мы будем предполагать, что существуют такие числа е > 0, т > 0 и М^ т > 0, что 8 т для всех ^gR", для которых ||г — 2||<в, и всех y^Rn. Поскольку мы предполагаем, что zt-+z при /->оо, должно найтись такое целое число k^0t что \\zt — 2||<в для всех i^.kl). Не нарушая общности, будем предполагать, что &==0. Наконец, для упрощения обозначения введем 9 H(z)= d2fd[iz) для всех ze=R*. Прежде чем выводить оценки для \\zt — г|| и | fo(zt) — f°(z)\> установим несколько соотношений. Во-первых, согласно фор- ]) Напомним, что в теореме B.3.8) мы показали, что если условие (8) выполнено для всех z e [z \ /° (z) ^ /° (z0)}, то последовательность {^.), построенная алгоритмом, удовлетворяющим C) — E), сходится к точке 2, реализующей локальный минимум функции f° (•). То же самое можно доказать и в случаях использования для выбора величины шага правил F) и G).
6 1 ЛИНЕЙНАЯ СХОДИМОСТЬ 287 муле Тейлора для разложений второго порядка (В.1.12), Ю /° (zi) - f° (z) = <Vf> (z), zt-z) + i + {A-0(^-2, Я(^ + A-0г)(^-2)>Л, / = 0, 1,2, .... о Учитывая, что Vf°(z) = Oy получаем в силу соотношений (8) 11 m\\zi-z\\2^2[fQ(Zi)-f4z)XM\\zi— z\\\ / = 0, 1,2,.... Применяя формулу Тейлора для разложений первого порядка (В. 1.3) и учитывая, что Vf°B) = 0, получаем 1 12 V/°(z?)= j H(tzi + (l—t)i)(zi — z)dU i = 0y 1,2, .... о Отсюда в силу неравенства Шварца для скалярного произведения и в силу соотношений (8) имеем для / = 0, 1, 2, ... 1 13 m\\zi — z||2< \{zt — i, Я(^ + A— f)z)(zt — Z))dt = == <V/° B?), Zt - Z) < || V/0 fe) || || 2, - Z ||. Непосредственно из A3) вытекает H l|Vf>(z,)||>m||*-f||, / = 0,1,2,.... Зададим функцию Д: Rre X R" X R1 -*• R1 равенством 15 А (г, h, X) = fo(z + Xfi)-f4z). Тогда из формулы Тейлора для разложений второго порядка (В. 1.12) находим, что 16 Д(гг, hi, X) = X{Vf°(z{), Ы) + 1 + Я2|A— t){hiy Hizi + tX^h^dU /=0, 1, 2,.... о Снова используя (8) и учитывая D), получаем, что для Я^О 17 ДBЬ Ль A)<-^p||Vfofe)llll^ll + |^Af!|^||2, / = 0, 1, 2, .... Теперь мы готовы приступить к исследованию скорости сходимости рассматриваемых алгоритмов. Начнем с предположения, что число Я; при / = 0, 1, 2, ... выбирается по правилу E), т. е. из условия минимизации функции Afa, hi9 Я)
288 6. скорость сходимости при Я,!>0. Минимизируя правую часть неравенства A7), получаем 18 Afa, hu Минимум правой части достигается при Я = р|| V/°fa)||/A4||/?? ||. С помощью A4) находим, что 19 Afa, Л,,М<—^-И^-5|Р, / = 0, 1, 2,.... Подставляя A1) в A9) и принимая во внимание C), получаем 20 Afa, Ль Я,) = /0(^+1)-/0(г,)<-(^J[/0(г,)-/0(г)], * = 0, 1, 2,..., откуда 21 f°te+i)-TO<(l -(-^J)[/°fa)-f°(i)], / = 0f 1, 2, ... . Пусть 6 = 1— (рт/МJ. Тогда 8е[0, 1), поскольку ре@, I]1) и пг^М. Из B1) вытекает, что2) 22 fofa)-/o(^)<94foBo)-/°(i)], / = 0, 1, 2, ..., т. е. f°B;)—7°(г)->0 ПРИ /-><» по крайней мере со скоростью геометрической прогрессии со знаменателем 9g[0, 1]. Кроме того, так как в силу A1) 23 ll2,-«IP<-|-[/o(zo)-/o(*)]. *' = 0> 1. 2, ..., то 24 |,2|_г|р<|.[/оBо)_^D)]в', / = 0, 1, 2, ..., т. е. Zi—z также сходится к нулю по крайней мере со скоростью геометрической прогрессии со знаменателем }ЛЭ. Таким образом, полагая E = f°(z0) — /°BK), получаем J) Напомним, что pG@, 1], поскольку р>1 противоречит неравенству Шварца. 2) Предположим, что аг + 1<^Ва(, / = 0, 1, 2, Тогда < 62а0, а3 < 6а2 < 63а0, ..., а, < б^о и т. д. 3) Отметим, что
6.1. ЛИНЕЙНАЯ СХОДИМОСТЬ Это устанавливает по крайней мере линейную сходимость для алгоритмов, удовлетворяющих C) и D) и использующих правило выбора величины шага E). 26 Замечание. Для быстрой сходимости необходимо, чтобы число в в B5) было мало. Совершенно ясно, что по мере приближения 9 к 1 должен все больше сказываться эффект плохой обусловленности. Для того чтобы при построении алгоритмов с условиями C) — E) сделать Э = 1 —(рт/МJ малым, надо пытаться увеличить ре@, 1] насколько возможно1). Рис 15. Плохая обусловленность метода наискорейшего спуска: а — задача хорошо обусловлена; б — задача плохо обусловлена. Мы не можем распоряжаться отношением т/М9 поскольку оно всецело определяется свойствами той конкретной задачи вида B), которую мы релаем. Плохая обусловленность обычно бывает тогда, когда поверхность f°(z) (в (п+ 1)-мерном пространстве) имеет форму длинного глубокого и узкого оврага, на склоне которого находится предельная точка z. В этом случае отношение т/М совсем мало. В 27 Замечание. Как мы увидим в следующих двух разделах, для модифицированного метода Ньютона — Рафсона (полученного из B.1.42) в результате замены правила F) правилом E)) ]) Это рассуждение правомерно только при сделанных предположениях относительно /° (•). Во многих алгоритмах р < 1, однако при более сильных предположениях относительно f° (•) они сходятся много быстрее (сверхлинейно), чем метод наискорейшего спуска, в котором р = 1. 10 Э. Полак
290 6 СКОРОСТЬ СХОДИМОСТИ и для метода сопряженных градиентов Полака — Рибьера B.3.51) справедливы не только оценки B5), но и более тонкие. Заметим, однако, что в случае метода наискорейшего спуска B.1.37), где р=1, эти оценки неудучшаемы. (См. упражнение E1).) В Предположим теперь, что величина шага Я/, / = 0, 1, 2, ..., выбирается по правилу F). Зададим функцию A: R"XR*X XRI->RI равенством 28 Д(г, й,Л) = Д(г,й, Л) —Ml—a)<V/°(z), h), где Л(«, •, •) определяется, как в A5). Тогда, если Xt выбирается по правилу F), то кроме условия Я/^0 должно быть еще и 29 Afe, Ы, Л,)>0, / = 0, 1, 2, .... Применяя формулу Тейлора для разложений второго порядка (В.1.12), получаем (см. A6)) 30 Д (zi9 hh Я) = Ка (Vf°(z{), ht) + о С учетом E) и (8) выводим из C0) 31 A(z/,A<,*)<-tap||Vf> (г,)||||Л,|| + ~ /==0, 1, 2, .... Следовательно, поскольку число .Я; удовлетворяет B9), оно должно также удовлетворять неравенству о9 , ^ 2ар 11 У/о (zi) || ._п 1 32 Я/^ ^^ , 1 — 0,1,2,... (так как при всех X е @, 2ap|| V/°(^)ll/M|| A^ Ц) правая часть в C1) отрицательна). В силу C2), D) и второго неравенства в F) 33 A(zt, hi, h)l](lll <-^l|V/°te)||2, / = 0, 1, 2,.... Подстановка A4) в C3) дает 34 Д(г,, A,f
6 1. ЛИНЕЙНАЯ СХОДИМОСТЬ 291 откуда в силу A1) вытекает 35 ^ i = 0, I, 2, ..., так что i = 0, 1, 2, .... Таким образом, полагая 0 = 1—Bарт/МJ, находим 37 /° (zt) - р (z) < [р (z0) - f (z)] V, i = 0, 1, 2, ..., а с учетом (И) имеем 38 || zt - z || < |/|- [р (го) - f° (&)] (VHY, / = 0,1,2,..., Итак, мы снова получили сходимость со скоростью, по крайней мере такой же, как у геометрической прогрессии. Отметим, что так как ае=@, 72)> то ре@, 1]; m/Af<l, ёе=[О, I). 39 Замечание. Можно показать, что в алгоритме B.1.37) с правилом выбора величины шага F) скорость сходимости не может быть больше линейной. Как мы покажем в следующем разделе, для квазиньютоновского алгоритма B.1.42) оценка C8) справедлива. ¦ 40 Замечание. Сравнивая две версии одного и того же метода, использующие в одном случае для величины шага правило E), а в другом F), при одном и том же способе определения ht, видим, что 9<0 при всех ае@, 1/2). Отметим также, что 8 достигает минимума по а е [0, 1/2] при а = 1/2. Поэтому мы должны взять а близким к 0,5, скажем порядка 0,4. При выборе а слишком близким к 0,5 мы можем затратить слишком много времени на нахождение %i из условия F), поскольку интервал, содержащий liy сужается до нуля при а->0,5. Наконец, отметим, что, как и при выборе величины шага h в соответствии с правилом E), для алгоритмов с условиями C), D) и F) задача B) становится плохо обусловленной, когда отношение т/М очень мало, поскольку тогда 6 очень близко к 1. в Теперь рассмотрим модификацию метода наискорейшего спуска, определяемую соотношениями C), D), где hi = — V/°fe), / = 0, 1, 2, ..., и использующую правило выбора величины шага G). В соответствии с G) замена а на 1—а в B8) дает 10*
292 6. СКОРОСТЬ СХОДИМОСТИ Д (zi9 ht, Xi)^0. Заменяя а на 1—а в C1) и полагая ht = = — V/°B0), р=1, ^заключаем, что в отличие от C2) Я^^р'р, / = 0, 1, 2, ..., где / — наименьшее из положительных целых чисел, для которых 41 &*&* Следовательно, в соответствии с G) и D1) (поскольку ?№)) 42 A (zlt hi, h) = Г (zi+l) - f (zt) < - p/pa|| Vf> (zt) ||2, / = 0, 1, 2, .... Подстановка A4) в D2) дает 43 f° (zi+l) - f (zt) < - p'pam31| zt - z f, откуда в силу A1) вытекает 44 f°(zt+1)-r>(z{)<—Щр^и°(г{)^-Г>B)], / = 0,1,2,..., так что 45 Hz*+i)-Hz)<(l -Щ^)И°(гд-!°{*)], / = 0, 1, 2, .... Наконец, полагая 8=1—2$fpam2/M, находим из D5), что 46 /° (г,) - f» (z) < IP (го) - р (Щ1, I - 0, 1,2,..., а из D6) и (И), что 47 Н^-г!!^]/!-!/0^)-/0^)]^^, / = 0, 1,2,.... Таким образом, мы снова получили сходимость со скоростью, по крайней мере линейной. Отметим, что если aG@, 1), то 9g[0, 1) в силу неравенства D1) и условия т/М^.1. 48 Упражнение. Рассмотрим модификацию метода наискорейшего спуска, использующую для выбора величины шага правило G) (при р=1 и h(z) = — S7f°(z)). Показать, что 6=1—2aftpm2/M (в D6) и D7)) удовлетворяет неравенствам ло 1 4а A — а)т ^ ft <^ i 4а A — a) flm2 при всех ае@, 1). Показать, что верхняя граница 6 минимальна при а = 7г> и» значит, so i-^-^e^i-
6.1. ЛИНЕЙНАЯ СХОДИМОСТЬ 293 Показать также, что если а=!/г в G) и а = а в F) (в обоих -случаях р = 1 и h (•) = — V/0 (•)), то 8 ^ 9 для всех а е 51 Упражнение. Получить оценку скорости сходимости алгоритма B.1.35). ¦ 52 Упражнение. Убедиться в том, что показательная оценка скорости сходимости для градиентных методов первого порядка типа B.1.37) пеулучшаема, рассмотрев для этого пример, когда функция /°: R2->R] имеет вид f°(z) = (zl/aJ + (z2/bJ, а>6>0. [Указание: Это упражнение со всеми деталями приведено на стр. 213 книги Островского [01].] ¦ В заключение этого раздела приведем результат, имеющий интересное с точки зрения вычислений применение. 53 Теорема. Рассмотрим алгоритм B.1.37) с правилом C3) для выбора величины шага, т. е. алгоритм с условиями C) и F) при некотором а е= @, 1/2) и ht = — V/° (z*), f = 0, 1,2, Предположим, что для задачи B) условие (8) выполнено при -всех ze=C(zo)={z|f4z)<f0(z<)))> а а в F) и m, M в (8) таковы, что Тогда условия F) удовлетворяются в любой точке Zi если Я/ выбрать так, чтобы 2а <г > <г 2A -а) 55 ST^**<м Доказательство. Зададим функцию A': R" X R1 -^R1 равенством 56 И'(г. X) = - х у v\ (z) „2 IP (г - Щ° (*)) - f° {г)]. Тогда, согласно формуле Тейлора для разложений второго порядка (В.1.12), для любых z^C(z0) и Я>0 57 А'(г, А,)=1 — 1 - у у/(г),, J A -1) (Vfo (Z), H{z- tWf> (z)) Vf° (г)) dt. 0 Полагая z = Z/ в E7) и учитывая (8), получаем Итак, в соответствии с F) мы должны выбрать А* так, что ¦59 а<Д'Bь **)<!— а,
294 6. СКОРОСТЬ СХОДИМОСТИ т. е. так, что 60 <х<1 — Д'BЬ h)<l— a. Сравнивая F0) с E8), заключаем, что если выбрать А* в соответствии с E5), то в силу E4) оба соотношения E8) и F0) выполняются. а Таким образом, теорема E3) устанавливает, что по крайней мере в некоторых случаях после определенного числа итераций, приводящих в область, где выполняется условие (8),. нет необходимости вычислять новую величину шага Л*. Отметим, что, поскольку обычно константы т и М неизвестны, самое лучшее, что можно сделать, — это проверить, как предлагается в подстрочном примечании к алгоритму B.1.37), не пригодна ли предыдущая величина шага А^ для текущей итерации, т. е. можно ли положить Xi=Xi^.l. 6.2. Сверхлинейная сходимость: квазиньютоновские методы В этом разделе мы получим оценки для скорости сходимости метода Ньютона — Рафсона B.1.39), разрешающего задачу min \f°(z) |ze R*}, метода Ньютона — Рафсона C.1.9),. разрешающего задачу нахождения нулей непрерывно дифференцируемой функции g: R"—>Rrt с невырожденной матрицей Якоби dg(z)/dz и квазиньютоновского алгоритма B.1.42), разрешающего задачу min [f°(z) |ге Rn]. Начнем с метода Ньютона— Рафсона C.1.9), для которого B.1.39) — частный случай при g(.) V/°() 1 Алгоритм (Ньютон — Рафсон). Найти нули функции g: R^R* в предположении, что матрица (dg{z)ldz)~l существует и непрерывна. Шаг 0. Выбрать z0 <ее R\ Шаг 1. Положить / = 0. Шаг 2. Вычислить g{zi). Шаг 3. Если g"Bt-) —0, то остановиться; иначе вычислить a(zt) по формуле ^)" g{Zl) и перейти к шагу 4. Шаг 4. Положить zi+l = a{zi)i положить / = /+ I и перейти к шагу 2. т
6 2 СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 295 Для того чтобы упростить запись, будем обозначать матрицу Якоби dg{z)/dz размера п^п через g'(z), т. е. положим 3 g (г) = Ц^- для всех z €= R*. Будем обозначать вторую производную от g{-) в предположении, что она существует, через g"( •)(*)• Напомним, что в силу определения (В. 1.7) g"(z)(y) для любых ^g^hz/gR" является матрицей размера пУ^п, поскольку g{ •) отображает R* в R*. 4 Утверждение. Предположим, что матрица g'C*) непрерывна1). Если последовательность {^}, построенная алгоритмом Ньютона — Рафсона A), бесконечна и сходится к точке z> то g{S) = O. Доказательство. В силу непрерывности матрицы g'(-)~~l отображение а( •), определяемое формулой B), также непрерывно. Так как последовательность [zi] удовлетворяет условию * = 0, 1,2, .... то, устремляя / —>оо, мы получаем г = а(;г), т. е. 6 z^z-gf{zTx g{z\ откуда следует, что g(z) = 0, так как матрица g'(z)~~l невырождена по предположению. Я Пусть a'(z) обозначает матрицу Якоби da(z)/dz при всех jzeR";a(«) определяется формулой B). Тогда для любых У, zt=Rn где/ — единичная матрица размера пУ^п, а Ud/dz)gf(г)"]( •) — линейный оператор, определяемый равенством 8 »™ 8 »™, Ш при условии, что этот предел существует (ср. с (В. 1.7)). Мы будем предполагать, что предел в (8) существует; в этом случае [(d/dz)gr(zyl](y) для ^gR" будет матрицей размера пУ^п. *) Матричную функцию G(-)> отображающую Rn в пространство всех матриц размера п X п, называют непрерывной, если все ее элементы непрерывны.
296 6 СКОРОСТЬ СХОДИМОСТИ Предполагая, что производная §"(•)(•) существует и непрерывна в точке г1), находим, поскольку 9 -§1 У (г) g' (гГ1] = ± I = 0 для всех г ее R\ что Ю g"(z)( • )g/(^r1 + /(*)[^.«/(*Г1] @ = 0 для всех ze=R\ Подстановка A0) в G) дает для всех //eRn 11 а'(г)у = g' (z)-1 g" (z) (у) tf (г) g (z). Предположим, что z— нуль функции g( •), т. е. что g(z) = 0. Тогда так как a' {z) у==0 для всех j/gR^b силу G) или A1)), то< 12 а'B) = 0 для всех таких г, что g(z) = 0. Рассуждая, как и выше, нетрудно показать, что вторая производная а"(•)(') от а(-) (определенная в соответствии с (В. 1.7)) существует и непрерывна, если функция g( •) трижды непрерывно дифференцируема, или, проще, если компоненты gl(-), /=1, 2, ..., п, вектор-функции g(-) трижды непрерывно дифференцируемы. Предполагая, что производная а"(-)(-) существует и непрерывна, а последовательность {^-}, построенная алгоритмом A), сходится к точке ?, которая, как мы уже показали, должна удовлетворять условию g(z) = 0, мы получаем из формулы Тейлора для разложений второго порядка* что 13 ||а(г,)-аB)-аЧ*)(**-*)||<( sup |ia-( где норма ||a"(g)il оператора a/7(g)(«) определена в (В.1.11) и [zi9 z] = \l = XZi + (l — Я)г|Я^[0, 1]}. При выводе неравенства A3) мы использовали неравенство || a"(z)(у)\\^\\а"(г) || ||у||, которое непосредственно следует из определения (В. 1.11). (Напомним, что II ^B) (у) || = max {|| а^ B) (у)/||| ||/1|<1}.) Таким образом, поскольку a'(z) = 0, ? = a(z) и zi+l = a(Zi} при / = 0, 1, 2, ..., то И ||2,+1-*||<i.( sup \\а"A)\\\\\гй-&\? для / = 0,1,2,.... Поскольку по предположению производная а"(•)(*) непрерывна, найдется такое число М < оо, что || o!r (I) \\ ^ 2M для ') Производную g" (•)(•) называют непрерывной в точке г, если для любого у g R" из условия z. ->z при /-> оо следует, что g" (zi) (у) -^g" (z) (УУ при / -> оо.
6.2 СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 297 всех I e [I |||?||^max||2j ||). Тогда из A4) находим, что 15 ||г?+, —5||<Й||г,—f||2, / = 0, 1,2 О и, значит, 16 ||^-2||<Л12М||го-г|Г = -^(М||го-г|Р0, / = 0,1,2,.... м Предполагая, что М||г0 — z\\ < 1, заключаем, что \\zt — z||->0 быстрее, чем любая геометрическая прогрессия ?9\ где 8е е=@, 1], / = 0, 1, 2, ..., т. е. || zt — z Ш -> 0 при /~^оо для всех ¦6 е @, 1]. Таким образом, zt —>z со сверхлинейной скоростью. В связи с видом неравенства A5) скорость, с которой zt сходится к г, обычно называют квадратичной. Можно показать, что метод Ньютона — Рафсона B.1.39) также сходится квадратично и при предположениях, несколько отличных от тех, что были до сих пор. Сейчас мы установим этот факт. Между прочим, этот результат понадобится в доказательствах, связанных со скоростью сходимости некоторых из методов сопряженных градиентов, которые мы обсудим в следующем разделе. Квадратичная сходимость для A) тривиально вытекает из следующей теоремы: 17 Теорема. Пусть функция f°: Rrt->Rl трижды непрерывно дифференцируема, g{ • ) = Vf°( •) и существуют такие константы пг и М> 0<m^M<oo, что 18 m\\y\\2«J/> g'(*)yXM\\y\\2 для всех у, г в R", где g'(z) = dg(z)/dz. Если точка zgR" такова, что g(z) — 0f то найдутся такие числа q е @, оо) и р > 0, что 19 || a(z) — z\\^q\\z — z\\2 для всех 2Efl(i,p), где В («г, р)={2|||2 — г||<р} и а(-) определяется в B), Доказательство. Во-первых, поскольку производная g" (•)(-) по предположению непрерывна по г, существует такое число Ь< оо, что ||g"||<& для всех геВ(г, 1) (производная g"(•)(*) и ее норма определяются в (В. 1.7) и (В. 1.11) соответственно). Во-вторых, поскольку в силу A8) ') Затратив дополнительные усилия, можно показать, что неравенство Х) также справедливо и при более слабом предположении о том, что g {•) имеет ограниченную и непрерывную вторую производную. См. Исааксон и и Келлер [И1, стр. 115—119]. 2) Матрица g' (z) симметрическая, поскольку это матрица Гессе. Как следует из A8), \\g'(г)\\<М и II gr (г)" ||< 1/т для всех 2Ef, где 1111111|1111и
298 6. скорость сходимости и g (z) = 0, существует такое число р е @, 7г)> что || g (z) \\/т <1 7г для всех 2бВ(г,р). Отсюда 20 \\a(z)-z\\ = \\z-z-g'(z)-lg{z)\\^ <\\z-z\\ + \\g'(zrlg(z)t<p + ±.^l, т. е. (i(z)eS(i, 1) для всех геВ(г,(>). Применяя формулу Тейлора для разложений второго порядка (В. 1.12), находим, что 21 = g(z)-g'(z)[g'(z)-1g(z)] + + j tt-f)g"(z-tg'(z)-x g{z))(gf{zTl g(z))g'{z)-1 g(z)dtr 0 откуда для всех z e B(z, p) 22 || g (a (z)) IK 17 ¦ , , „1. < A — t) 1 g"(z — tg' (z)~l g (z))\\dt I g' (г) g (z) || < где мы вновь использовали неравенство \g{z) ^l Применяя формулу Тейлора для разложений первого порядка (В. 1.3), находим, что 23 \\g{z)\\ = \g(z) + \ g'{z + t{z-z))dt{z-z) о Объединяя B2) и B3), получаем 24 || g (а (г)) || < ^ \\ z - z f для всех ze=B(zy p). Снова применяя формулу Тейлора для разложений первого порядка (В. 1.3), находим, что 1 25 g(a(z)) = g(z)+ J g'(z + t(a(z)-z))dt[a(z)-z].
6.2 СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 299 Следовательно (поскольку g{z) = 0), в силу A8) имеем 26 (a(z)-2,g(a(z))) = a{z) — z))[a(z) — z])dt>m\\a(z) — 2||2, о откуда 27 т||а(г)-г||2<||а(г)-2||||йг(а(г))||. Учитывая неравенство B4), получаем из B7) 28 \\a(z) — z\\^^\\z — z\\2 для всех ze=S(z,p), и теорема доказана. ¦ Займемся теперь квазиньютоновским алгоритмом B.1.42), который перепишем здесь ради удобства. 29 Алгоритм (квазиньютоновский). Минимизировать дважды непрерывно дифференцируемую функцию /°: R^-^R1 с положительно определенной матрицей Гессе (Голдштейн [Г4]). Шаг 0. Выбрать zo^Rn и ае@, 7г). Шаг 1. Положить / = 0. Шаг 2. Вычислить V/°(^). Шаг 3. Если V/°B:t) = 0, то остановиться; иначе вычислить H(zi) и перейти к шагу 4. Примечание. Как и в разд. 1, H(z) = d2f°(z)/dz2 для всех Шаг 4. Положить /г (г,) = — Я fe)" vf° (*i). Шаг 5. Если неравенства 30 - л A - а) (V/0 (г,), Я (г,) Vf> (**)> < < /о (^ + Я/г (г,)) - /° (г«) < - Ха (Vf> fe), Я (г,) Vf« (г,)> справедливы при Я=1, положить ^=1 и перейти к шагу 6; иначе вычислить такое Xt > 0, чтобы неравенства C0) были справедливы при А = А*, и перейти к шагу 6. Примечание. Использовать процедуру B.1.33) для вычисления А*. Шаг 6. Положить zj+1 = zj + hhizi), положить / = /+1 и перейти к шагу 2. ¦ Мы сейчас покажем, что при соответствующих предположениях квазиньютоновский алгоритм B9) положит Xt = 1 для всех индексов /, превосходящих некоторое целое число k, и, значит, юн обладает той же скоростью сходимости, что и алгоритм
300 6 СКОРОСТЬ СХОДИМОСТИ Ньютона — Рафсона A) (или, точнее, B.1.39)). Отметим, чта в приведенной ниже теореме, принадлежащей Голдштейну [Г4], требуется, чтобы функция f°(-) была строго выпуклой, на только дважды непрерывно дифференцируемой. Для того чтобы для алгоритма Ньютона — Рафсона B.1.39) получить квадратичную сходимость A5), мы должны предположить, что функция /°(-) четырежды непрерывно дифференцируема, но можем не предполагать ее строгой выпуклости ]). Как мы сейчас увидим., если функция /°(-) предполагается только дважды непрерывно дифференцируемой, нельзя показать, что алгоритм B.1.39) сходится квадратично, хотя можно показать, что он сходится сверхлинейно, 31 Теорема (Голдштейн [Г4]). Предположим, что функция f°: R^-^R1 дважды непрерывно дифференцируема и существуют такие константы m и М, 0< гп^М, что 32 m\\y\\2^{y, H(z)y)^M\\y\f для всех 2GRft и всех //gR" (где, как и прежде, #(,г)==? =з d2f°(z)/dz2). Если \zt}™=0 — любая последовательность, построенная алгоритмом B9), то (i) она сходится к точке г, минимизирующей f°(z) no 2GRtt; (ii) найдется такое целое число k, что А* = 1 для всех i^k; (ill) сходимость последовательности {-г,} к г сверхлинейна^ т. е. || zt — z Ц/6* -> 0 при г->оо для любого 0g(O, 1]. Доказательство. Докажем сначала утверждение (i). Из теоремы (В.2.8) следует, что функция /°(•) строго выпукла и множество- C(zo)=\z\f°(z)^f°(zo)} компактно. Поэтому существует такая единственная точка геСD что f°(z)^f°(z) для всех 2GRI Поскольку множество C(z0) компактно, последовательность {zt) должна содержать предельные точки. В силу теоремы B.1.22) все предельные точки z* последовательности {zi} удовлетворяют условию У/°(,г*) = 0, а так как z — единственная точка в С(г0), обладающая этим свойством, то она будет единственной предельной точкой для {zt}, т. е. zt-+& при /->оо. Теперь докажем (ii). Зададим функцию A: R;lXR1->Rl равенством Тогда в соответствии с C0) для X = А* 34 Д(гь Л*)€=[а, 1— а], / = 0,1,2,.... 1) Из A7) следует, что можно было бы предположить, что функция f°(*)> трижды непрерывно дифференцируема и что справедливы неравенства A8)*.
6.2. СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 301 Применяя к C3) формулу Тейлора для разложений вторсто порядка (В. 1.12), получаем J [A-*)<Я (г) Vf B), Н{г- Далее, поскольку Н&) = H(z) + Н&) — H(z)9 где § = + tXH{z)~~x Vf°(e), формулу C5) можно переписать в виде 36 1 (г), [Я B + Ш (Z)) -H(Z)]H (г)"' Vf B)> dt), где h(z) = — Я(г)~'V/°B). Полагая A=l и z = zt, имеем 37 |ДBЬ 1)--И< 0 < ^г J A - 0IIЯ B, + /Л B0) - Я B,) || dt о Рассмотрим теперь последовательность {zi}9 построенную алгоритмом B9). Как мы уже показали, последовательность {V/0(et)} сходится к нулевому вектору при /->оо, а так как Zt-+z при /->оо (в силу (i)) и функция #(•) по предположению непрерывна, то H(zi)~lV/°(zi)->0 при /->оо. Следовательно, sup \\ H(zt + th(zi)) — Н&)\\->0 при /->оо, *е[0, 1] и потому найдется такое целое число 6^0, что 38 -^- sup \\H(zi + th(zi)) — H(zi)\\^l—2a для всех />Л. т te=[O, 1J Объединяя C7) и C8), получаем 39 А (г/, 1) — у <у —а для всех />&, т. е. для всех i^k 40 а<Д(гь 1)<1—а.
302 6 СКОРОСТЬ СХОДИМОСТИ Таким образом, алгоритм B9) выберет Л* = 1 для всех /!>&. Утверждение (И) доказано. Для того чтобы доказать (ш), предположим, что i^k. Тогда 41 zi+l=zi — H(zlrl\ffQ(zt)9 i = k,k+l, k + 2, .... Согласно формуле Тейлора для разложений первого порядка (В.1.3). • 42 Vf> (Zi) = Vf> (z) + И Я (z + t (г, - z)) dt) (zt - г), i = k, k+ 1, k + 2, Подстановка D2) в D1) дает (так как Vf°E) = 0) 43 zi+l-z = ll-H(zir[ $[H(zi) + H(ziy t)]dt\{Zi-z), i = k9 k+l9 k + 2, ... где H(ziy t) = H(z + t{Zi—z)) — H{zi). Следовательно, 44 l|z,+1-2||< SUP \H(ztrl H(zi9 t)\\\zt—H\< <e[0. 1] -! sup \\H{zh t)\\\\Zi-zh m /[0 1J p m /e[0, 1J Так как sup || #fo, f) ||-> 0 при /->оо (поскольку ^ -> z и Afe)->0 при /->оо), то \\zi — z||->0 при /->оо быстрее любой геометрической прогрессии EQ\ i = ky &+1, k-\-2y ..., 6g@, 1]. ¦ Последние две теоремы могут дать нам основание считать, что чем больше производных имеет функция /°( •), тем быстрее сходится алгоритм Ньютона — Рафсона B.1.39), а значит, и B.1.42). К сожалению, это не так. Легко показать, что даже если функция f° (•) будет бесконечно дифференцируемой, оценку A9) квадратичной сходимости нельзя улучшить. На этом мы заканчиваем обсуждение скорости сходимости Метода Ньютона — Рафсона и квазиньютоновского метода, а именно алгоритмов B.1.39), C.1.9) и B.1.42), при различных предположениях о дифференцируемое™ функций g( • ]\ и Vf°( -), для отыскания нулей , которых предназначены эти алгоритмы.
6 3 СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 303 6.3. Сверхлинейная сходимость: методы сопряженных градиентов В этом разделе мы выведем оценки для скорости сходимости двух методов сопряженных градиентов с восстановлением, упомянутых в разд. 2.3 в пункте «Вычислительные аспекты». Эти оценки были сообщены автору Коэном [К8] (см. также [Д9]). Напомним, что упомянутые алгоритмы предназначены для решения задачи 1 ГШП{/°B)|2€=1П. 2 Предположение. Мы будем предпологать, что функция /°(•) трижды непрерывно дифференцируема и ее матрица Гессе H(z) = d2f°(z)/dz2 удовлетворяет условию 3 т|| у И2 «у, Н(г)у)^М\\у\\2 для всех у, z e= R", где 0<т<Л1 <оо. ¦ Начнем с модификации алгоритма Полака — Рибьера B.3.51)*. 4 Алгоритм (Полак — Рибьер [П8]). Шаг 0. Выбрать момент восстановления, т. е. целое число р^п, и точку ^gR". Если Vf°(zo) — Of то остановиться; иначе перейти к шагу 1. Шаг 1. Положить / = 0 и положить go = ho = — V/0(z0). Шаг 2. Вычислить такое число At- ^ 0, что 5 f°(zt + %ihi) = min Шаг 3. Положить Шаг 4. Вычислить Vf°(zi). Шаг 5. Если V/°Bf) = 0, то остановиться; иначе положить положить / = /+ 1 и перейти к шагу 2. ¦ 9 Теорема (Коэн [К8]). Если {Zi\i==0 — последовательность, построенная алгоритмом D) для задачи A) ^в предположении B)), то Zi~>z при /-*оо, где f°{z)^f°(z) при всех 2GR", и суще- 1) Функция ©: R1 -> R1 задается равенствами со (л:) =ь 0, если ^ — целое число, и со (jc) = 1 в противном случае.
301 6- скорость сходимости ствуют такое целое число k ^0 и такая константа q^ @, оо), что 10 \\2i+n — z\\^q\\Zi— z\\2 для всех /е=/р, i>?, где /р = М0, Р> 2р, Зр, ...}. Доказательство. Дополним алгоритм D) следующим образом: положим / = 0 на шаге 1 и добавим Шаг 2'. Если со(/) = О, то положить yi = ziy положить j=/-f 1 и перейти к шагу 3; иначе перейти к шагу 3. Тогда в силу C), (В.2.8), B.1.6) и в силу неравенства f(Zi + i)<f°{Zi) при / = 0, 1, 2, ..., где {zt}^ — последовательность, построенная алгоритмом D), будет У;->? при j—>aoy Где z — единственная точка, минимизирующая f°{-). Так как f°(zi + l) <f°{Zi), / = 0, 1, 2, ..., и функция /°(-) непрерывна, то /°(zi)->f°(г) при i->oo. Отсюда, учитывая единственность минимизирующей точки г, заключаем, что zt->z при /->оо. Соотношение A0) мы установим, сравнивая алгоритм D) с методом Ньютона — Рафсона B.1.39). В каждой точке zt последовательности {г*}, /е/р, зададим функцию f°.( •) равенством 0 0 1 n Положим Zi = zi для каждого / *= Jp и пусть zt, ziy..., zi — соответствующая последовательность, построенная алгоритмом D), примененным к функции /°( •). (Как мы это делали уже много раз раньше, чтобы избежать путаницы, верхними индексами отменены элементы последовательности.) Из теоремы B.3.47) и из совпадения для квадратичных функций алгоритмов B.3.42) п и B.3.51) следует, что точка zt должна минимизировать j°.{z) по 2GRn. Поэтому 12 It = zt-H (ztr n т. e. Zi — следующая за zi точка, построенная методом Ньютона— Рафсона B.1.39), примененным к задаче A). Покажем, что неравенство A0) выполняется, если существуют такие константы ц' < оо, что ц^ Я («1 + Ж-»!+/)-(«,-«,) II I \tr и г'~* и4 р для всех / = 0, 1, 2, ..., п—1.
6.3. СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 305 Отметим, что неравенство A0) справедливо тогда и только тогда, когда найдется такое число q" e @, оо), что 14 14 Соотношение A4) удобнее для наших целей, чем A0). Итак, 15 !Z ii*«-*!' <}1Л и,-*IP Но в силу теоремы B.17) найдется такое число ^е@, оо), что где а(-) — итерационная функция Ньютона — Рафсона, определяемая равенствОхМ B.2) с g( • ) = V/°( •) (т. е. равенством A2)). Следовательно, 17 гг-г 11*<+я--*11_Ит \\zt+n-*t\\ , я и потому A4) справедливо, если существует такое число q e @, с»), что 18 Далее, для is Jp 19 II zi+n — zi II — II zi+n — zi+n-l) + (zi+n-l — zl+n-2) + • • • n n—\ . . . + (Zi + l — Zt) — (Zt — Zt) — n—\ n—2 1 0 -B,-2,)- ... -B, —2,) |K /=0 / Таким образом, если существуют константы ^'^(О» °°)» Для которых справедливо A3), то должно найтись число <7"е@, с»), для которого справедливо A4).
306 6 СКОРОСТЬ СХОДИМОСТИ Докажем теперь, что A3) справедливо. Прежде всего перепишем A3) в виде1) \\li + fhi + fXihi\\ i 20 lim t+ '+/ ' </ для / = 0, 1, 2,..., n-l9 i 11г"~21Г f / /+1 / где Xihi= zt —zi при / —0, 1, 2, ..., n—1. Для доказательства справедливости соотношения B0) нам понадобятся следующие результаты, большинство из которых было уже установлено в разд. 2.3: 21 <&+„ А*> = 0, / = 0, 1, 2, ..., 22 <&,й*> = <&,?*>, / = 0, 1, 2, .... 23 где для i = 0, 1, 2, ... 24 Ht 25 i*i+.r 26 || 27 11й 29 lY*III 30 , 31 -1| 32 1|Лг Соотношение B1) следует непосредственно из E); B2) было установлено в B.3.65); B3) следует из B.3.59), C) и B6); B5) — из (8) и B1); B6) —из B5); B7) —из B6) и из того, что lllKllll + lllKIIA^Ajll + ll^ll (см. B.3.58)); B8) ]) Учитывая оценки A.25), можно значительно упростить доказательство, если предположить не нарушая общности, что gt?=0 для / = 0, 1, ..., л —• 1 и для всех / g /р.
6 3 СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 307 было установлено в B.3.61); B9) —в B.3.62); C0) следует из B9) и B7); C1) установлено в B.3.64); C2) следует из C1) и B7). Отметим, что, поскольку ?г->0 при /->оо, из C1) следует, что hi-*0 при /->оо. Покажем теперь, что существуют такое целое число k и такие константы с3 < оо, / — 0, 1, 2, ..., п— 1, что для всех fG/p, i^k, f / / 33 \\Ki+jhi+} — Л*А* 1Кс3||й?||2 для всех / = 0, 1, ..., п— 1. Так как 34 \\gi\KM\\Zi-z\l / = 0, 1, 2, ... {поскольку gi= J* H(z + t{Zi — z))dt{Zi — z) и в силу C)), то о {33) вместе с C4) и C1) устанавливает существование константы q\ для которой справедливо B0). Мы докажем неравенство C3) по индукции; для этого мы должны показать, что при / = 0, 1, 2, ..., п—1 и /g/p 35 HlKO(IIA|P) 36 • 37 ||Я?+/+/ ) где gi = — W?^/) для / = 0» Ь 2, ..., n—1 и /е=/р, а функции Op: RI->R1 (p= 1,2,3) таковы, что \ Ор(х)\^ср\ х\ для / / / всех |*К>р, некоторых ср < оо и некоторых гр > 0. Так как hi->0 при /->оо, ясно, что из C7) вытекает C3) при достаточно больших /. Для того чтобы установить C5) — C7), нам понадобятся следующие пять лемм. Лемма 1. 38 ^\\H(zi+J) — H(zi)\\^O(\\hi\\l / = 0, 1, ..., л—1,/€=/„ где | О(х) \^с\ х | для всех |x|<r, некоторого с < оо и некоторого г > 0. Доказательство. Заметим прежде всего, что 39 ||#(^+/)-ЯЫ!К2 | • р=0
308 б СКОРОСТЬ СХОДИМОСТИ Далее, при g( •) = — V/°(.) будет Н (z) = — g'(z), откуда в силу формулы Тейлора для разложений первого порядка (см. (В. 1.3)) 40 H(zi+p+l) — H(zi+P) = — J g"{zi +p о где §"(•)(•) определяется в (B.I.11). Следовательно, 41 || #(z,+p+1) —#(*,+,) ||< < h+p \Vii+p II J II g" (zi+p + tli+phi+p) || dL о Поскольку по предположению B) производная #"(•)(•) нелрерывна и Zt->z при i^>oo, найдется такое число 6<оо, что \\ g" &+р + tit+phi+Р)\\^Ь аля всех t<==[0, 1]и/ = 0, 1, 2, ..., и, значит, в силу B3) 42 Объединяя D2) с C2), получаем C8). Лемма 2. 43 ||Я;+/-#Ы11=6(||А;||), / = 0, 1, 2, ..., л—1, / = 0, 1, 2, ..., где \ 6(х)\^с\ х\ для всех | л: К г, некоторого Коо и некоторого г > 0. Доказательство. Прежде всего отметим, что 44 ||Я,+/-Я(г,)|К||Я«+/-ЯB,+/)|| + ||Я(^+/)-ЯB/)||. Далее (см. B4)), 1 45 ||Я1-+/-Я(^+/)||<||| H(zi+f + ai+fhi+f)-H(zi+I)\\dL о Рассуждая так же, как и при выводе D2) из D1), заключаем* что b\\hi + i\\ Учитывая C8) и C2), из D6) получаем D3). Лемма 3. Для / = 0, 1, ..., п—1 и всех i^Jp 47 ||
6 3 СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 309* где | бр(*)Кгр|х|> Р= 1» 2, 3, при всех |х|<гр, некоторых ср < оо и некоторых гр > 0. Доказательство. Предположим сначала, что р = п и / = я—L Тогда hi+n = gi+nnhi==gi при всех /е/р; отсюда \\hi+n — hi \\ = п = \\gi+n — ft II- Поэтому предположим, что р <!/<[Аг—1, либо р = п и 0^/^/г — 2. Напомним, что / / / I ft+/+1 — Y/+/A/+/ — ft — Y/A/ IK /+i <ll —ft Учитывая B8), находим, что / / 48 \\yi+Jhi+j — yiA,|| = Пусть ci+J = {hi+f, Hi+jhi+j) {hiy H(zt)hi)9 / = 0, 1, 2, .. .,n— / e /p. Тогда из D8) имеем 49 A^i Hi+!hi){hi-hi+ff H(zi)hl)hi+J\ /+i . / , H(zi)hi)hi+I + 11 (ft, (Hi^i-H(zi)hi){hi+Jf H(zi)hi+f)hi+f\ ж / + 11 (ft, Я()Л + Kft. H(zt)ht){ht+t,H, Поскольку в силу B) 50 -i-<
б СКОРОСТЬ СХОДИМОСТИ из D3), D9) и B7) получаем D7). (Отметим, что || ft ||< <;A +Mlm)\\hi II можно вывести так же, как и B7).) Лемма 4. / / si IIft+/+I- gtii<iift+/ — й n + о'(IIЫIP) + + Mni+fhi+f — Xihil / = 0, 1, 2, ..., n— 1, f €=/„ где I O'(*) |<c'| л: | при всех |*|<r', некотором с' < оо и некотором г' > 0. Доказательство. Из B.3.58) (с учетом B3), C) и D3)) имеем '52 ||gl+/+1— ^ || = / / f ¦= i! ff«+/ — hi+iHi+jhi+f — gi + Л,/7 fe) A? ||< gi+t - L II + IIШ Ы - Hi+f) Lin II + II Hi+t dihi-Xl+fhi+!) Поскольку неравенство C2) в эквивалентной форме справед- i ливо и для векторов Ль / = 0, 1, 2, ..., я—1, и поскольку по о построению hi = h{, неравенство E1) следует непосредственно из последнего неравенства в E2). Лемма 5. Для / = 0, 1, ..., п— 1 и i^Jp -S3 \\K+ihi^-Lihi\<O\ где |Op(x)|<^|*| при всех U|<rJ, P=U 2, 3, некоторых ??9 < оо и некоторых г^ > 0.
6 3 СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 311' Доказательство. Определяя ci+i, как в D9), получаем 54 II2 {L Н (zt) hi) hi+i-1| it IP <A,+„ Hi +iht+/> ht {hi-ht+t, H(zi)hl)hi+j\ \\{gi+l-gi, gi){hl+i, H(zi)'hi)hi+l\ — Hl+t)hi+t)hd). Учитывая E0), B6), C2) и D3), заключаем, что из E4) следует E3). (Отметим, что B6) и C2) остаются справедливыми, / /+i / когда hi заменяется на hi, hi+l на hi и gi на gt. Напомни» также, что /г,- = ht для / е Jp.) Доказав леммы 1—5, выведем теперь формулы C5) — C7)~ Прежде всего, для / = 0 и любого ie/p 55 lift —ftll = 0, 56 ||А, —Л,|| = 0, 57 \bA-Vh о где E5) справедливо, поскольку gi = gi, E6) справедливо, по- о скольку по построению fn=hi, и E7) справедливо в силу E5), E6) и E3). Следовательно, формулы C5) — C7) верны при? 1 = 0 и любом i^Jp. Предположим, что формулы C5) — C7> верны при любом /'ejO, 1, ..., п — 2}, /G/p, и покажем,, что они также верны и при /==//+ 1.
312 6 СКОРОСТЬ СХОДИМОСТИ Рассмотрим сначала C5). Заменяя /' в C5) на /'+1, получаем, учитывая E1), что 58 Ift+r+i-^KUi+i-ft 1+041*110 + Используя справедливость формул C5) и C7) для / = /', находим, что неравенство C5) выполняется и для / = //+ 1. Далее, согласно D7), для / = /' 59 |Л|+г+1-'?б? Используя C6) для / = /' и C5) для / = /'+1, находим, что из E9) следует справедливость неравенства C6) для / = /' + 1. Наконец, полагая / = /' в E3) и учитывая C5) и C6) для ; = /', получаем, что C7) выполняется для / = /v+ 1. Таким образом, неравенство C7) должно выполняться при / = 0, 1, 2, ..., п—1 и всех i^Jp. Поскольку, как мы уже вывели, Af-->0 при /->оо, найдется такое целое число k, что ||M2<min(rp|/?e={l, 2, 3}, /е={0, 1, 2,..., л-1)}, и потому C3) должно выполняться при всех i^Jp, не меньших этого k. Доказательство закончено. ¦ В дополнение к изложенному только что очень красивому результату Коэн получил также оцелку скорости сходимости усеченной версии алгоритма Флетчера — Ривса. Этот усеченный алгоритм имеет следующий вид: 60 Алгоритм (Флетчер — Ривс [Ф5]; решает задачу A) в предположении B)). Шаг 0. Выбрать момент восстановления, т. е. целое число р^п\ выбрать zoeRre. Если V/°(eo) = O, то остановиться; иначе перейти к. шагу 1. Шаг 1. Положить / = 0; положить go = Ао = — V/°(z0). Шаг 2. Вычислить такое число А,^0, что 61 f°& + Kht) Шаг З. Положить 62 zi Шаг 4. Вычислить f{i + ) Шаг 5. Если V/0(z* + i) = 0, то остановиться; иначе перейти шагу 6.
6 3 СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 31$ Шаг 6. Если i кратно р (т. е. если i = pqt, где qt — целое число), то перейти к шагу 7; иначе перейти к шагу 8. Шаг 7. Положить 63 положить i = / + 1 и перейти к шагу 2. Я/аг 8. Положить 64 65 66 положить / = /+1 и перейти к шагу 2. Ш 67 Упражнение. Пусть [zi\ — последовательность, построенная алгоритмом F0) в задаче A), и пусть выполнено предположение B). Показать, что последовательность [zt] либо конечна и ее последний элемент zk удовлетворяет условию Vf°(zk) = O, либо бесконечна и тогда сходится к такой точке г, что Vf° (z) = 0. [Указание: На каждой (р+1)-й итерации алгоритм F0) строит точку точно таким же образом, как метод наискорейшего спуска.] ¦ 68 Теорема (Коэн [К8]). Пусть \zi) — бесконечная последовательность, построенная алгоритмом F0) в задаче A), и предположение B) выполнено. Тогда существуют такое целое число k и такая константа q< oo, что 69 • \\zun-2\Kq\\Zi-z\\2 для всех i^Jp, где jp^k, z — предельная точка последовательности [zi\ и /р определяется в A0). ¦ Доказательство этой теоремы приводится в [К8]; оно почти полностью ловторяет доказательство теоремы (9). 70 Замечание. Предположим, что мы положили р — п в алгоритме D) или F0) и рассматриваем только подпоследовательность [tji) (при yi = zip) последовательности {zt}, построенной либо алгоритмом D), либо алгоритмом F0). Тогда из A0) и F7) видим, что Ui->z квадратично при /->оо, т. е. п итераций алгоритмов D) и F0) приблизительно эквивалентны одной итерации алгоритма Ньютона — Рафсона B.1.39).
314. 6 скорость сходимости 6.4. Сверхлинейная сходимость: алгоритм с переменной метрикой Вернемся к алгоритму с переменной метрикой B.3.68). Результаты, относящиеся к скорости сходимости, которые мы собираемся здесь изложить для этого метода, сообщены автору Пауэллом [П2]. Напомним, что алгоритм с переменной метрикой разрешает задачу И Предположение. Мы будем предполагать, что функция /°(•) выпукла, трижды непрерывно дифференцируема и существует такая константа т > 0, что -3 тIIу||2<(у, Н(г)у) для всех г/Е^и всех ге=С(го)> где Н {z) = d2f°(z)/dz2, z0 — начальная точка, которая используется при решении A) с помощью алгоритма B.3.68), и ^() И/°()</°()} 4 Замечание. Как следует из (В.2.8), множество C(z0) компактно, поскольку т > 0 в C). Поэтому, так как по предположению B) функция Я ( •) непрерывно дифференцируема, найдутся такие константы М^т и L > 0, что 5 т||#||2<0/, H(z)y)^M\\y\\2 для всех ye=Rn и всех zs=C (z0), 6 \\Н(г) — НB)\\<Ц\г — &\\ для всех ze=C(z0), где точка z такова, что /° (-г) = min [f°(z) \z e Rn]. (Отметим что точка z единственна, поскольку функция /°(-) строго выпукла на множестве С(<г0), которое должно содержать z.) Для облегчения чтения мы перепишем здесь алгоритм с переменной метрикой. 7 Алгоритм (переменная метрика; Дэвидон [Д7], Флетчер и Пауэлл [Ф4]). Шаг 0. Выбрать г0 g Rft. Если Vf°B:o) = O, то остановиться; «наче перейти к шагу 1. Шаг 1. Положить 1 = 0, положить Яо = / (где / —г единичная матрица размера пУ^п) и положить qo = S/f°(zQ) *). Примечание. Отметим, что gt и Нь определяются здесь не так, как в разд. 3. Шаг 2. Положить 1) Выбор Но = 1 не обязателен. В качестве Яо можно выбрать любую -симметрическую положительно определенную матрицу.
6.4. СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 315- Шаг 3. Вычислить такое число А* ^ 0, что 9 Шаг 4. Вычислить V/0 (г, + А/Л,). Шаг 5. Если V/°(z/ + ^/гг) = 0, то остановиться; иначе положить ю И 12 13 и перейти к шагу б1). Шаг 6. Положить / = /+1 и перейти к шагу 2. Ш Напомним, что по теореме B.3.76) матрицы Hi симметричны и положительно определены при всех / = 0, 1, 2,..., а по теореме B.3.106), если бесконечная последовательность [zi] построена алгоритмом G) для задачи A) в предположении B)^ то zt->z при *->оо, где f°(z) = m\n{f°(z) \zt=Rn}. Начнем с того, что покажем, что f°(zi)->f°(z) при /-><х> по крайней мере так же быстро, как геометрическая прогрессия- 15 Теорема (Пауэлл). Пусть выполнено предположение B). Если {Zi\ — бесконечная последовательность, построенная алгоритмом G) для задачи A), то найдется такая константа <y(zo)?= @,1), что 16 f°(zt) - f> (z) < q (zoy [f> (z0) - P (&)], i = 0, 1, 2, ... 9 где z — предельная точка последовательности [zi\. Доказательство. Мы воспользуемся некоторыми фактами, уста~ новленными при доказательстве теоремы B.3.106). Так как мы показали, что неравенство B.3.129) неверно, заключаем из- B.3.117), что П 1) Сц. подстрочное примечание к шагу 5 алгоритма B.3.68).
316 б СКОРОСТЬ СХОДИМОСТИ Рассуждая, как и при выводе B.3.124), получаем, что по крайней мере для двух третей целых чисел /е{0, 1, 2, ..., i\ должно быть выполнено неравенство 18 11*/+1|Р<За><?/+1, H,gl+1). Поэтому неравенства B.3.124) и A8) должны быть выполнены •одновременно по крайней мере для одной трети целых чисел / g @, 1, 2, ..., /}, так что для этих целых чисел у 19 Учитывая B.3.97), находим, что для этих целых чисел у 20 т [/° (z/+1) - р> (z)] < 9ww' \\ kg, ||2. Так как в силу леммы B.3.89) отношение || Agf ||2/|| Дг71|2 ограничено при всех / = 0, 1, 2, ..., заключаем, учитывая оценку для ЦДг^И, полученную в B.3.104), что найдется такая константа q\ что 21 Г (г/+1) - Р (z) < q' [/о (zj) - /о (z/+I)] для всех индексов /^{0, 1, 2, ..., /}, для которых справедливо неравенство B0). Таким образом, по крайней мере для одной трети целых чисел / g @, 1, 2, ..., I) должно быть 22 f> (*/+1) - /° (z) < -^y [f° (г,) - Для остальных значений у должно быть f°(zj+i) — f°(z)<fo(zi) — — р(г), так что A6) справедливо при q(г0) = (?7A + q'))k- ¦ Из теоремы A5) вытекает важное следствие: 23 Следствие* Существует такая константа Ъ < 0, что 24 Ц || bzi || < b. Доказательство. Согласно B.3.104), 25 „д^^Ы-Н^,)], а поскольку & минимизирует f° (z), должно быть P(zi) — ^.f°(Zi) — f°(z). Теперь мы заключаем из A6), что 26 откуда следует справедливость неравенства B4).
6.4. СВЕРХЛИЙЕЙНАЯ СХОДИМОСТЬ 317 Приводимые ниже две теоремы существенным образом опираются на данное следствие. В самом деле, так как Zi-+z при /->оо, то со 27 i = zt + 2 Az*. /-* и потому в силу B4) 28 lte-fi||<2|| AzylKft, / = 0, 1, 2, .... Мы будем пользоваться обозначением 29 Д*= ЗИДгД / = 0, 1,2, .... 30 Лемма. Пусть выполнено предположение B). Если бесконечная последовательность {г/}, построенная алгоритмом G), сходится к точке z> то 31 II Aft — #B)Дг,1К1Д*||Д2,||,- / = 0, 1, 2, ..., где, как и раньше, Н {z) = d2f°(z)ldz2, a L — константа в F). Доказательство. По формуле Тейлора для разложений первого порядка (В. 1.3) 1 32 Aft = J Я (zt + tAzt)dt Azt. о Следовательно, 33 || Aft - Я (г) Дг« || = J [Я (г, + t Azd- Я E)] dt Azt < = 0, 1,2, ..., где мы использовали F) и B9) и учли, что \\Zi < max {||^ — i||, ||z,+i — г||}<Аг для /е=[0, 1]. 34 Лемма. Пусть Р — невырожденная матрица размера п Х^> а функция f°(-) определяется равенством 35 j° (г) = /° {P-Iz) для всех г е R*. Пусть -го, Zj, z2, ...—последовательность, построенная алгоритмом G) при решении задачи A), а г0, zu г2, ...—последовательность, построенная алгоритмом G) при решении за«
318 6. СКОРОСТЬ СХОДИМОСТИ дачи min{f°(z)\z^Rn\> но с НО = РРТ на шаге 1. Если г0 — = Pz0, то при / = 0, 1, 2, ... 36 f°(Zi) = f°(zi)9 37 Zi = Pzi9 38 gi=(p-lYgi, 39 Hi = PHtPT, где черта сверху обозначает величины, построенные алгоритмом G) в процессе решения задачи min{f°{z)\ z^Rn\. Доказательство, Предположим, что равенство C7) верно; тогда C6) следует из C5), то же верно и для C8). Осталось доказать C7) и C9). Заметим, что при / = 0 C7) и C9) выполняются. Предположим, что C7) и C9) выполняются при некотором целом числе /^0; тогда непосредственно из алгоритма G) вытекает, что C7) и C9) также выполняются и при /+ 1. Следовательно, в силу их справедливости при / = 0 они верны при всех i = 0, 1, 2, ¦ 40 Теорема (Пауэлл). Пусть выполнено предположение B) и #о, #i, #2, .. •—бесконечная последовательность матриц, построенная алгоритмом G) в процессе решения задачи A). Тогда найдутся такие константы m и М9 0<m^M<oo, что 41 m\\y\\2^{y, Hiy)^M\\y\\2 для всех у е= R", / = 0, 1,2, .... Доказательство. Поскольку в соответствии с B.3.76) матрицы Hi симметричны и положительно определены, неравенства D1) справедливы тогда и только тогда, когда собственные значения \л!р /=1, 2, ..., матриц Н. размера пУ^п удовлетворяют неравенствам 42 m||<|i/<Af, /=1, 2, ..., п, / = 0, 1, 2, .... Отметим также, что в силу симметричности и положительной определенности матрицы Hi ее евклидова норма || Ht \\ равна тахц{, так что из D1) следует,-что матрицы Н? равномерно ограничены по норме. Пусть теперь снова точка 2ERn такова, что f°(z) — = min [f° (г) | z <= Rn\, и пусть Ы (г) = d2f° (z)/dz2. Положим в лемме C4) P = H{z)~1/2 и применим алгоритм G) к задаче min {/° (z) |z е R"} с начальной точкой z0 = Н (&f* z0. Кроме того, модифицируем шаг 1, выбрав H0 = H(z) (здесь, как и в лемме C4), черта сверху обозначает величины, построенные
6 4 СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 319 алгоритмом G) в процессе решения задачи min {f°(z) \z e R*}, f°(z) = f°(H(i)~4xz) и zQy zu 22, ...—последовательность, построенная алгоритмом G) в процессе решения задачи A)). Согласно лемме C4), в процессе решения задачи 43 [fQ{\n} строятся матрицы 44 Я, = ЯB)>/2Я,ЯBI/2, / = 0, 1, 2, (Напомним, что матрица H(z) симметрична и положительно определена, и, значит, такова же и матрица Н(г)ч\) Поэтому неравенства D1) справедливы тогда и только тогда, когда существуют такие константы т\ М\ 0 < т' ^М' < оо, что 45 т'\\у\?<{у, Нгу)^М'\\у\? для всех ys R*, f = 0, 1, 2, .... Кроме того, отметим, что функция f°(«) удовлетворяет предположению B), поскольку ему удовлетворяет функция f°(-) (возможно, с другими значениями констант 0< т^.М). Следовательно, при применении алгоритма G) к задаче A) теорема D0) справедлива тогда и только тогда, когда она справедлива при применении алгоритма G) к задаче D3) (при этом условие D1) заменяется условием D5)). Поскольку минимум функции f°(z) достигается при z — z'^H{zL2z, получаем, что Н {z') = ЩР- = Я (г)2 Я (z) Я (z)~1/2 = /, где / — единичная матрица размера п\п. Поэтому, не умаляя общности, можно доказывать теорему D0) в предположении, что Я (z) — единичная матрица. Как мы увидим, это предположение в ходе доказательства приводит к значительным упрощениям выкладок. В частности, из леммы C0) находим, что1) 46 W/igi-bZiW^LbiW&ZiW, i = 0, 1,2,.... Начнем с доказательства равномерной ограниченности по норме матриц Я/, т. е. покажем, что существует число М < оо, для которого справедливо второе неравенство в D1). Для этого покажем, что отношение|| Hi+X ll/max (I, \\Ht \\) ограничено сверху числом Mi^l и что произведение М0М{М2 ... Му ... конечно, оо т. е. что Ц Mi ^.M < оо. Тогда мы получим 47 тах{1, ||Я< II) <М(-_, max {1, ||Я*_, Щ, /=1,2,..., ]) В дальнейшем мы будем считать, что Н B) = /.
320 6- СКОРОСТЬ СХОДИМОСТИ и, значит, при /==0, 1, 2, ... 48 ||Я,+1||<Л*,тах{1, ||#,||}< i <тах{1, ||Я0||}П^<тах{1, ||#0||}Af. Чтобы оценить Miy введем матрицы Qt, / = 0, 1, 2, ..., равенствами 49 Qi=I k ) W vkw / = 0, 1, 2, .... Как следует из теоремы B.3.76) (вернее, из ее доказательства), матрицы Qt, / = 0, 1, 2, ..., симметричны и положительно определены. Отметим, что непосредственные вычисления дают 50 QiAzi = kgi. Теперь докажем, что 51 \Q}Ht+iQlt\<ma*[l, IIQfHiQf II), /-0, 1, 2, .... При доказательстве неравенства E1) будем пользоваться тем, что евклидова норма симметрической матрицы равна ее наибольшему по абсолютной величине собственному значению. Для i = 0, 1, 2, ... положим 52 Xi = Q?bzi = Qry2bgi, где второе равенство следует из E0). Выразим теперь Az* и kgi через Х( и подставим эти выражения в A4). Тогда получим тождество 53 QltHi+lQf = Jt- \ JiXi) (JtXi + ]-!Тгxi)(xt = \xi> Jixi/ II xi II === ^l • II у 112 XM \Xi> II *i II где Ji = Qli2HiQ1!2y а определение матриц Ri очевидно из E3). Для того чтобы доказать неравенства E1), покажем, что собственные значения матрицы QtHi+iQf ограничены числом max {1, || Л-1|}. Так как 54 Ri = Jt — . , \XP JiXi находим, что для всех //eR" ш \xt> Jixi)
6.4. СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 321 в силу неравенства Шварца, т. е. матрица Rt положительно полу определена. (Отметим, что RiXi—O.) Предположим, что yt — собственный вектор матрицы /?,-, соответствующий ее наибольшему собственному значению. Тогда /?/# =||/?/||# и, значит, 56 {уit Rtyt) = || Rt 1111 у, |р = (yt, hyt) - НрЖ Jixi) откуда \\.Rt || ^|| Ji ||. Далее, поскольку x— собственный вектор матрицы Ri, соответствующий нулевому собственному значению, и матрица Rt симметрична, вектор xt ортогонален всем остальным собственным векторам матрицы Rt. Следовательно, матрица 57 Q?HWQ? = Rt + у^ xt) (xt. II xi II имеет те же собственные векторы, что и Riy с теми же собственными значениями, за исключением собственного значения, соответствующего вектору xt> равному в данном случае 1 (в случае матрицы Ri оно было равно 0). Поскольку матрица в E7) симметрична, мы заключаем, что неравенство E1) справедливо. Так как матрица Q* симметрична, из E1) следует, что 58 || Hi+l \\ = \\QTl/2Qf*tyl Теперь мы определим числа Mt> / = 0, 1, 2, ..., равенствами 59 Mi = max {l, \\QTl 1} max A, || Qt ||} и отметим, что Mt-^1. Далее, из E8) получаем 60 ||#,+1||<Л!,тах{1, ||#,ИЬ / = 0, 1, 2,..., так что первое из неравенств D8) справедливо. Теперь мы оо покажем, что П Mt < cx>, установив тем самым справедливо вость всех неравенств в D8). Для этого оценим \QTl\ и IIQHL И Э. Полак
322 б скорость сходимости откуда и получим оценку для Mit В силу D9) 61 HIW^ Так как Ца)F|| = ||а|| || Ь\\ для любой диады а)(Ь, то 62 || Qt — /1| < —F' + ¦ Последний член в правой части неравенства F2) появился потому, что 63 || &Zi Г Az-\ I Заметим, что (Ag*, Аг^ = (^+1 — gt, Д^) = — {gt Д^) > 0. Далее, из леммы B.3.89) получаем, что найдется такая константа D, не зависящая от /, что 64 0Q«-/0<PLr'"' '"О. I. 2..... Следовательно, из D6) вытекает, *что (см. B9)) 65 ||Qi-/||<DLAb / = 0, 1, 2,..., откуда 66 ||Q?||<l + /)IAb / = 0, 1, 2, ...• Так как B4) влечет за собой Д/—>0 при /—>оо, заключаем из F5), что найдется такая положительная константа Z)', что 67 iQri^l + ^Ab / = 0, 1, 2, ... 0. ') Отметим, что -1 + | Qf11<| Q^-I \\ = || Qf1 (/-Q?) |<| Qf11 ||/-Q? <|QJ IdLA^. Поэтому найдется такое число Ь < оо, что || QJ < 1/A—Z)LAf)<6 для всех / = 0, 1, 2, ..., и, значит, \\QJ~1 — i —0. 1, 2
6.4. СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 323 Подставляя F6) и F7) в определение чисел М1у т. е. в формулу E9), находим, что «8 Af,<(l + D'A,)A + Z)LA,), / = 0, 1,2,.... Итак, чтобы установить D8), достаточно показать, что произ- оо ведение П 0 + D'&t)(l + DLbt) ограничено. Нетрудно видеть, П оо что это произведение будет ограниченным, если ряд 2 А* схо- дится. Сходимость последнего следует в свою очередь из того, что в силу B6) и B9) я что <7(го)е(О, 1). Итак, справедливость второго неравенства в D1) доказана. Теперь докажем справедливость первого неравенства в D1), или, что эквивалентно, первого неравенства в D2). Иными словами, докажем, что найдется такое число т > 0, что 0 < т ^ ^\х{, j = 1, 2, ..., я, / = 0, 1, 2, ..., где ^' — собственные значения матрицы #*. Для этого достаточно доказать, что Ама- трицы Gi = #fl равномерно ограничены по норме. Покажем, что в неравенстве D8) можно заменить Hi наб*. Пользуясь E2), выразим zt и gi через x-t и подставим эти выражения в B.3.108). Тогда получим тождество 70 x xi9 где определение матрицы 5/ ясно из G0). Так как матрица / — A/||Xi ||2)Xi){xi симметрична и отвечающий ей оператор является оператором проектирования, то 71 Кроме того, Xi есть собственный вектор матрицы Si9 соответствующий нулевому собственному значению. Поскольку собственные векторы матрицы Si попарно ортогональны, матрица Si + {l/\\Xi\\2)Xi){xi имеет те же собственные векторы и те же собственные значения, что и St-, за исключением собственного значения, соответствующего собственному вектору хи равного 11*
324 б СКОРОСТЬ СХОДИМОСТИ теперь 1 (в случае матрицы 5; оно было равно 0). Таким образом* мы получаем неравенство 72 ||Qr1/2G,+1QrV2|<max{l, iQ^OiQ^l), / = 0, 1, 2, ..., аналогичное неравенству E1). Из G2) находим, что 73 ]G,{ |1} <(ll^)max{l,|G0||}<Aimax{l,|!G0||), и теорема D0) доказана. иг Быть может, читатель помнит, что теорема D0) играла определенную роль в разд. B.3), где она была сформулирована без доказательства (см. B.3.84)). Но ее наибольшая ценность состоит в том, что с ее помощью доказывается следующая теорема, которая показывает, что методе переменной метрикой сходится сверхлинейно. 74 Теорема. Пусть выполнено предположение B) и точка^ ze=Rrt такова, что f°{z) = min {f{z)\ z <= Rn\. Если {^} —бесконечная последовательность, построенная алгоритмом с переменной метрикой G), то ||2*+i —z\\l\\zi — 2||-*0 при /->оо, т. е. [zi] сходится к z сверхлинейно. Доказательство. Начнем с повторения рассуждений, которые- мы провели в начале доказательства теоремы D0). Мы рассмотрели там функцию f°(-)> определенную равенством C5), где* р = H{z)lz, и последовательность {г^}, построенную в процессе решения задачи D3) алгоритмом G), в котором на шаге 1 введено изменение, а именно H0 — H(z). Полагая z' = Я (гI/г 5, находим, что z' минимизирует f°(z) по zgR", и значит, zt->zf при /->оо. Применяя формулу C7) с P = H{zL\ получаем 75 z*-z' = #(z)v'(z,-z), / = 0, 1, 2, Таким образом, не теряя общности, снова можно положить. Я(г) = /, где / — единичная матрица, и тем самым в ходе доказательства упростить выкладки *). В силу формулы Тейлора для разложений первого порядка (В. 1.3) 76 gi = g{zt) = g(z)+ J H(z + t(zi- z)) dt{zt - z). ]) Мы по-прежнему предполагаем, что
6 4. СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 325 "Поскольку g(&) — 0, из E) имеем 77 /n||2,-i||<||ft||<Al||2, — 2||, / = 0,1,2 •откуда I ^ т ll2f + l-gll ,_п , о >~^ \\z-4 ' «-0,1,2,.... Следовательно, если мы сможем показать, что II gi+\ ||/|| gi ||->0 при /->оо, то теорема будет доказана. Рассмотрим последовательность [\\Gi — /||}, / = 0, 1, 2,..., где, как и прежде, Gi = HTx* (Пауэлл утверждает, что он построил примеры, где последовательность \\\Gt— /||} не сходится к нулю.) Прежде всего заметим, что из B.3.108) вытекает 79 Gi+l-I = / = 0, 1, 2, 3, .... •где Gl hgl ){Agi~ ^WGi AZi} (Agt) ., G. /iz.) (&g,t G, .\g.\ ^Члены в правой части равенства (80) сгруппированы в пары так, чтобы с помощью леммы B,3.89) и неравенства D6), учитывая установленную в теореме D0) равномерную ограниченность по норме матриц Giy доказать, что || Г, |К W&i, / = ^=0, 1,2, ..., при некотором W < оо, где А, определяется в B9). При доказательстве будем рассуждать по существу так же, как и при выводе F5) из F1). Нам понадобится норма матрицы по Фробениусу, и мы, отступив на время от основного изложения, введем ее. Для заданной матрицы Л = (а^) размера п^п нормой Фро- -бениуса || А ||ф называется число I AIL =
326 6. СКОРОСТЬ СХОДИМОСТИ Норма Фробениуса обладает следующим очень интересным свойством: пусть 6Ь 62>---> Ьп — любая ортонормированная: система векторов в R"; тогда 82 1И1РФ = 2М6/||2, где || • || обозначает, как обычно, евклидову норму. Заметим,, что для системы векторов Ьх = (\, О, 0, ..., 0), 62 = @, 1, 0, 0, ..., 0), ..., Ьп = @, 0, ..., 0, 1) из равенства (82) вытекает (81). Можно показать, что 83 Н11ф<1/д||Л||. На этом заканчивается наше отступление. В силу (83) и B.1.89) найдется такое число W < оо, что1)- 84 ||Г,||Ф<^АЬ / = 0, 1, 2 Следовательно, из G9) получаем 85 ||О,+1 *' = 0, 1, 2, ...,. где определение чисел pt- должно быть ясно из (85). Для того чтобы найти связь между & и \\Gt—/||ф, воспользуемся равенством (82). Полагая &1 = A/||Д& ||)А#ь заключаем (поскольку / — A/1| ^г? ||2) Д^ > < А^г? — проектирующая матрица), что 86 1|О|-^1Гф-Р;>11(Оц^У'1Р- ' = 0, 1, 2, ...*). Деля обе части неравенства (86) на \\Gt—Л1Ф + Р;, получаем: 87 ||С/? —/||ф —Р«^—2F||Ag |р—* * —U, 1, 2, ..., где V < оо — верхняя граница для \\Gt — /||ф и, значит, также и для &; она должна существовать в силу рассуждений, ис- 1) Напомним, что ||Дг ) ( Д^|| = ||Дг|| ЦА^Ц, и. т. д. 2) Предположим, что А и В — матрицы размера п X я. {^Л — ортонор- мальный базис в Rn и В — такой оператор проектирования, что ВЬХ = 0, Bbi=bt. 1=2. 3.....п. Тогда \\А\\%-\\ВАВ\\%=\\АЬХ\\2+^ > \\АЬХ\\2, поскольку \\BAbi\\ < ||Л6/1|, / = 1, 2 п.
6.4. СВЕРХЛИНЕЙНАЯ СХОДИМОСТЬ 327 пользованных при доказательстве теоремы D0). Отметим, что V не зависит от /. Используя по очереди (87) и (85), находим, что 88 ||^+1-Л Так как Яо = /, то G0 = I, и потому первый член правой части неравенства (88) равен нулю. Далее, в силу G3) матрицы G( равномерно ограничены сверху, а в силу F9) вторая сумма в (88) ограничена сверху одним и тем же числом при любом /. Следовательно, и первая сумма в -(88) при любом / ограничена сверху одним и тем же числом. (Пауэлл сделал интересное замечание: если последовательность {Gi} не сходится к единичной матрице, то из сходимости первого ряда в (88) (где / заменяется на оо) следует, что векторы gt ограничены по направлению.) Пусть 89 а = Покажем, что ряд 90 . ? „I,, /=0 сходится. Применяя лемму B.3.89), теорему D0) и неравенства D6) и F9), получаем оценку 91 н лм2 В силу неравенства Шварца имеем 92 ||G,Az,- 8l+l || {§i+u
328 6 СКОРОСТЬ СХОДИМОСТИ (Здесь мы использовали равенство (gj+\, Д2у) = 0 и учли соотношения (8I), A0), A3) и теорему D0) (см. D1)).) Из (91) и (92) находим, что 93 Далее, так как 94 || g,+l - g, IP + II gl+l + g, II2 = 2[|| g, |p +1| gf+l ||p, TO 95 || /±gi IP = || g/+1 - «г, IP < 2 [ || gf+l IP +1| gt IP]. Поэтому из (93) вытекает, что 96 и, значит, 7 /I» Bff/IP + ll?/+lll2 " >™ 1+II?/+.I|2/IUIP ~ ' откуда /->oo IU/ IP Объединяя (98) и G8), получаем искомое. 1) Отметим, что в силу (9) (/*/, g-/+J> = 0, и потохму в силу (8)
ПРИЛОЖЕНИЕ А ДАЛЬНЕЙШИЕ МОДЕЛИ ДЛЯ ВЫЧИСЛИТЕЛЬНЫХ МЕТОДОВ АЛ. Модель для реализации некоторых принципиальных алгоритмов оптимального управления Для того, кто прочитал эту книгу, должно быть ясно, что при использовании модели алгоритма A.3.33) мы обычно берем в качестве с (•) целевую функцию. Так как в задачах дискретного оптимального управления и нелинейного программирования вычисление f°(z) (см. A.1.1)) не, представляет серьезных затруднений, модель A.3.33), как и другие модели разд. 1.3, предполагает, что с (z) можно вычислить точно. Однако в задачах непрерывного оптимального управления для вычисления с (z) (или F°(u), как, например, в разд. 2.5) может потребоваться интегрирование функции. Поскольку точность вычисления (а также и расход времени) зависит от выбранной величины шага и поскольку вычисление с (z) с большой точностью не всегда обязательно, если мы находимся еще далеко от желательной точки, целесообразно в вычисление с (z) ввести е-про- цедуру ')• Хотя такой подход до сих пор еще развит не полно, имеется достаточно оснований утверждать, что для задач с дифференциальными уравнениями он может привести к уменьшению времени вычисления более чем в 10 раз. Модель, излагаемая ниже, проливает свет на природу предположений, которые нам, возможно, придется проверять. Как и в разд. 1.3, будем предполагать, что в банаховом пространстве 3! задано замкнутое множество Г, содержащее желательные точки, которые мы хотим найти (см. A.3.1)). Следующая модель алгоритма была развита автором в сотрудничестве с аспирантом Робертом Клессигом: 1 Модель алгоритма. A: R+ X Т->2Т, с: R+ X^-^R1, e0 > 0, а>0, Р^ @,1). Шаг 0. Вычислить z0^ Т. Шаг 1. Положить / = 0, / = 0, <7@) = 0 и е = е0. Шаг 2. Вычислить у <= А (е, zt). 1) Это имеет смысл также для алгоритмов решения задач вида min max К (х, у); см. [К5]. э- Полак
330 ПРИЛОЖЕНИЕ А Шаг 3. Если с(е, у) — с(е, z^X — ае, то перейти к шагу 4; иначе положить / = / + 1, е = |$е и перейти к шагу 2. Шаг А. Положить zi+l=y, положить ei+1==e, положить q(i + 1) = /, положить / = /+ 1 и перейти к шагу 2. Примечание. Индекс / и переменные q(l) и et включены только в целях последующего доказательства. Отметим, что 2 e, = p*(V / = 0, 1, 2, .... т 3 Предположения1). Мы будем предполагать, что для функций с(-, •) и Л(«, •) выполнены следующие условия: (i) функция с@, •) непрерывна на Г; (ii) для каждой нежелательной точки z^ T существуют такие числа e(z)>0, 6(z)<0 и y(z)>0, что (ср. A.3.28)) 4 с (у, z") — с (у, *')<*(*) длявсех2/еВB,бB))={2°^Г|||г0 — г||<в(г)}, всех гг/е Л(у,^) и всех у е [0> Y (г)]; (Ш) существует такая последовательность {g,}^, что |5 > 0 при s = 0, 1, 2, ..., оо 5 2 L < «> s=0 и 6 I с (Р48О, 2) — с @, z) К Is Для всех г е Г. ¦ 7 Лемма. Предположим, что условия (i) и (ill) в C) выполнены. Если [zi) — бесконечная последовательность, построенная алгоритмом A), и она имеет по крайней мере одну предельную точку, то сопутствующая последовательность {fy}^ сходится к нулю. Доказательство. По построению последовательность {е?} монотонно убывает и ограничена снизу нулем; следовательно, она должна сходиться. Предположим, что 8 8;->8*>0 При/->ОО. Покажем, что неравенство в (8) ведет к противоречию. Соотношения B) и (8) влекут за собой существование такого целого числа k ^ 0, что q (i) = q* и г( = р**80 = е* для всех / ^ k. 1) Для возможности применения модели A) к решению недискретизи- рованных задач непрерывного оптимального управления ее необходимо- несколько уточнить; см. [К4].
ДАЛЬНЕЙШИЕ МОДЕЛИ ДЛЯ ВЫЧИСЛИТЕЛЬНЫХ МЕТОДОВ 33* Кроме того, в силу теста на шаге 3 алгоритма A) должно быть 10 c(z*,zi+l) — c(s*, Zi)^ — as* для всех t^k и'потому c(eit zt)-+— оо при /—>оо. Далее, из F) (в силу B)) имеем П c(e,,z,)>c@, zt) — lq{ih / = 0, 1, 2,..., откуда в силу (9) 12 с (ep zt) > с @, zt) — lq* для всех i > &. Теперь предположим, что гг-»;г* при /-> оо, /е /С с: {0, 1,2,...} (т. е. г* — предельная точка для {Zi}). Тогда из условия (i) в C) следует, что найдется такое целое число ?'!>&, что 13 с@, г^ — сф, 2*)<^* Для всех /g](, />А'. Объединяя A2) и A3), получаем 14 c(et, г/)>с@, z*) —2g^ для всех /е/С, />*', вопреки нашему первоначальному выводу о том, что с (в/, гг)-> -> — оо при /->оо. Следовательно, неравенство в (8) неверна и должно быть е* = 0. ш 15 Определение. Пусть К — произвольная бесконечная последовательность целых чисел. Определим индексную функцию- k: К-^К равенством 16 ft@ т. е. ?(•) вычисляет следующую точку в последовательности К* ¦ 17 Лемма. Пусть fo}^ — последовательность, построенная алгоритмом A), и Кcz @, 1, 2, ...}. Если условие A11) в C) выполнено, то 18 с(*ш> zkd))<2 . 2 Ь + с(в,+ь z«+1) для всех Доказательство. Пусть # = {0,1,2,...}. Зададим функцию Ь\ #->{0, 1} равенствами 19 ьп_[°> если ?(/) = ?(/—1), 1 1 в противном случае. В силу теста на шаге 3 алгоритма A) \ i + I > ? _L 1 1 ^^> С I О/ Л. 1 , Z f) "~~" а&/ _L J , fc ¦ V/, 1, А/, ••••». V, И*
332 ПРИЛОЖЕНИЕ А Следовательно, если 6(/ + 1) = 0, то ei+l=eh и из B0) вытекает, что 21 с (ei+l, zi+l) < с (eh zt) — ае/+1 для i^N, если b(i+ l) = 0. Если 6(i+ 1)= 1, то, дважды применяя F), получаем из B0), что 22 c(ei+u zi+l)^c(ei+u zt) — ае/+1 < для / е N, если Ь (I + 1) = 1. Добавляя aet-+1 к правым частям в B1) и B2), видим, что 23 c(Bi+l,zi+l)^c(*t.zt) + b(i+l)[lqU+n + lqW]t i = 0, 1,2,.... Используя рекуррентно B3), получаем для всех /е/( 24 с(гШ), 24(|))<^Е2 6(Л [1,(л + S,(/_nl + с(е,+], Так как равенство 6(/)=1 влечет за собой q(i— то для любой точки 5, для которой q(i+ l)^q(()) число ^5 может встретиться в B4) самое большее дважды. Таким образом, из B4) получаем Ш) q(k(i)) U) gU U i=q{i+D а вместе с B4) это дает A8). ¦ 26 Теорема. Пусть предположения C) выполнены. Тогда алгоритм A) либо застрянет в желательной точке zt после конечного числа итераций, либо построит бесконечную последовательность \zi\y каждая предельная точка которой желательна. Доказательство. Предположим сначала, алгоритм A) застрянет в нежелательной точке zfe. Тогда по условию (ii) в C) найдутся такие числа б(^) < 0 и у {zk) > 0э что 27 с (у, z") — с (у, г,)<«Ы для всех z/7e А (у, zk), У ^ [0, Y (Zk)]. Далее, застряв, алгоритм циклится между шагами 2 и 3. Следовательно, он построит такую последовательность [Ур]™^, что ур<= Л(^ш+%, zk\ p = 0, 1,2, ..., и 28 с №{k)+psQ, Ур) - с (p«fe)+%, zk) > - a^k)+\, р = 0, 1,2,....
ДАЛЬНЕЙШИЕ МОДЕЛИ ДЛЯ ВЫЧИСЛИТЕЛЬНЫХ МЕТОДОВ 333 Однако для некоторого целого числа р'^0 должно быть 29 max {a$q{k)+pе0, Р«(*)+Ч} < min {- в(г), У (*)}, откуда видно, что неравенство B8) не может выполняться, если точка zk нежелательна. Таким образом, алгоритм A) не может застрять в нежелательной точке zk. Пусть последовательность {г*} бесконечна и z* — ее предельная точка, т. е. г*->2* при /-> оо, где /е К с: {0, 1, 2, ...}, и k{ •) — индексная функция на К- Предположим, что точка z* нежелательна, и покажем, что это приведет к противоречию. Прежде всего, в силу леммы G) q(i) —>оо при /->оо и 8/—>0 при /->оо. Далее, в силу условия (Hi) в C) 30 c(er zf)>c@f z,)~W « = 0,1,2,... Из условия (i) в C) следует, что 31 с@, Zi)->c@, z*) при всех /->оо, /е/С. Таким образом, поскольку zi+{^ A(ei+U zt), e*->0 при /->оо и ^(^-^0 при i-+oo в силу E), из C0) и C1) получаем 32 lime(e., zl)>lim[c@, ^)-^ ]>с@9 г*). i€=K i^K Далее, так как точка z* нежелательна, то из условия (и) в C) следует, что существуют такие числа е* > 0, б* < 0 и y* > 0, что 33 с (у, 2Г)-с(у, для всех z'^B(z*, 8^), всех z" ^ А (у, z') и всех v^[0, v*l- Так как 8;->0 и Zf-^z* при /->с», /еЛГ, найдется такое целое число k\ что Zt^B(z*9 &*) для всех i^kr и 8/^v*- Поэтому из C3) получаем 34 c(Zi+u zi+i) — c(Bi+\> гд^Ь* Для всех i^K> i^k'. Положим 35 bn s=0 Тогда в силу условия (iii) в C) \Ьп)^0 — монотонно возрастающая последовательность, ограниченная сверху и потому сходящаяся. Поскольку q(i)-+оо при /->оо, по условию Коши найдется такое целое число k"*^k\ что 36 bqm)) — bq{i)< —у- для всех /€ К, i
334 ПРИЛОЖЕНИЕ А Более того, в силу условия (Hi) в C) и в силу того, что g (/)->0 при /->оо, найдется такое число kx^k"> что 37 \с{г1+1, Zi) — c@, zi)К ^- для всех i<=K, i>klr 8 38 \c(sif Zi) — c(O, zt) K. g- для всех fe/(, / Отсюда имеем 39 |с(е/+1> 2/) — ^(еь zt) К j- для всех /е/С, /; а из леммы A7) и из C6) заключаем, что 40 c(ei+u Zi+l) — c(eif zt) для всех Добавляя и вычитая c(ei+ly zt) справа в D0) и применяя C4) и C9), получаем < — -^f + 6"— -^=-^<0 для всех i<=K, i>kx. Итак, из D1) вытекает, что 42 c{eiy zt)->—oo при f->oo, i^K* а это противоречит C2). Следовательно, точка z* должна быть желательной. Я А.2. Модель без обратной связи для реализации принципиальных алгоритмов При чтении разд. 1.3 читатель, должно быть, задавался вопросом, так ли уж совершенно необходима в алгоритмах «аппроксимационного» типа (таких, как A.3.33)) е-процедура. Изложенные ниже результаты показывают, что для улучшения качества аппроксимации нет необходимости в использовании адаптивного подхода. Ее можно улучшить путем предварительных рассмотрений. На практике алгоритмы типа изложенного ниже очень эффективны в ситуации, когда они по существу решают много раз одну и ту же задачу. В этом случае следует предварительно потратить определенное время на тщательный подбор «функции прерывания», которая будет исполь-
ДАЛЬНЕЙШИЕ МОДЕЛИ ДЛЯ ВЫЧИСЛИТЕЛЬНЫХ МЕТОДОВ 335 зоваться, и попытаться получить алгоритм, действующий быстрее, чем алгоритм с е-процедурой. Как и в разд. 1.3, мы предполагаем, что задано замкнутое множество Т в банаховом пространстве, содержащее точки со свойством Р. Назовем точки со свойством Р желательными. Алгоритм, который мы собираемся описать, отыскивает желательные точки, принадлежащие множеству Т. Пусть N={0, 1,2, ...}. Будем называть функцию/: N->N функцией прерывания, если для каждого k e N найдется такое число ^gJV, что t(i)>k при всех l^k\ 1 Модель алгоритма1). A: NXT-*2T, с: r~>R!, f,: N-+N, t2: N-+N. Шаг 0. Вычислить гоеГи положить г = 0. Шаг 1. Положить z = zt и положить j = t{(i). Шаг 2. Вычислить уе Л(/, z). Шаг 3. Если c(y)<c(z)9 то положить zi+i — y, положить / = /+1 и перейти к шагу 1; иначе положить 2i+1 = zf, положить j = t2(i)9 положить / = /+ 1 и перейти к шагу 2. ¦ 2 Теорема. Рассмотрим алгоритм A). Предположим, что t{( •) и t2(-) — функции прерывания, а с(-) и Л(-, •) обладают следующими свойствами: (О функция с(-) либо непрерывна во всех нежелательных точках zgT, либо ограничена снизу при 2GT; (ii) для каждой нежелательной точки 2GJ найдутся такие числа е(г)>0, 6(z) <0 и k(z)^N, что для всех z' ^В (г, е (г)), всех г" е Л (/, 2х) и всех / ^ ^ (г). Тогда каждая предельная точка бесконечной последовательности [Zi)y построенной алгоритмом A), желательна. Доказательство. Предположим сначала, что найдется такое целое число /' е N, что Zy = Zi>+\ = Zi>+2 = ... . Тогда алгоритм будет бесконечно строить такие векторы у е А (/, (/') + + t2(i' + q), Zt>)9 q=l, 2, ..., что c(r/)>c(zr). Так как /,(•) и t2{ •) — функции прерывания, то в силу свойства (ii) точка zy должна быть желательной. Отметим, что в этом случае Zv — предельная точка последовательности, построенной алгоритмом. Теперь предположим, что такого целого числа i^N, для которого Zi = zi+i = ..., нет, и пусть % — предельная точка последовательности {zt). Пусть z нежелательна и z{-+& при. !) Этот алгоритм и сопутствующая теорема сходимости впервые были изложены в [П6].
336 ПРИЛОЖЕНИЕ А /->оо, /е/Ссз{0, 1, 2, ...}. Тогда в силу свойства (п) найдутся такие числа е > 0, б < 0 и k^ N, что 4 с (г*) — c(z')<6 для всех z'^B(zy ё), всех г"щА(]\ zf) и всех j^k. Далее, поскольку zt->z при / —>оо, / s /С, Найдется такое целое число k^Nf что ^ (/) !> & и Z| е В (г, ё) при всех i <^К> / ^ fe. Пусть /С' — такое бесконечное подмножество в /С, что если / и i + p — два последовательных элемента в К', то zi+p ф zi. Следовательно, zt^>z при *'->оо, f e/С', и, кроме того, если U i + p — два последовательных элемента в К! и i^k, то в силу D) 5 c(zi+p) - с (zt)=[c (zi+p) - с (z^+p-,)] +...+ [с (zi+l)— c(zt)]< б. Но последовательность {с (г^)}/€==#' должна сходиться в силу свойства (i), а поскольку это противоречит E), мы заключаем, что точка z желательна. ¦ Для того чтобы проиллюстрировать способы применения модели A), мы еще раз модифицируем метод центров D.2.27) (ср. с D.2.47)). Но сначала приведем модификацию алгоритма поиска по методу золотого сечения: 6 Алгоритм (поиск по методу золотого сечения). Целое число й>0 должно быть задано; /71=C — "|/Т)/2, F2=(|/1T- l)/2 (ср. с B.1.14)). Вычисляем интервал, содержащий точку, минимизирующую выпуклую функцию в: R1-»!^1, когда искомая точка лежит в [0, оо). Шаг 0. Выбрать р > 0. Шаг 1. Вычислить 9@), 8(р). Шаг 2. Если Э(р)^8@), то положить а0 —0, Ь0 = р и перейти к шагу 7; иначе перейти к шагу 3. Шаг 3. Положить / = 0 и положить jio = O. Шаг 4. Положить \t>i+i = \ii + p- Шаг 5. Вычислить Э(^+1). Шаг 6. Если 9(|i/+I) > 9 (рд, то положить а0 = ^-i, b0 = \ij+\ и перейти к шагу 7; иначе положить / == i + 1 и перейти к шагу 4. Примечание. Теперь минимизирующая точка лежит в [а0, 60]. Шаг 7. Положить / = 0. Шаг 8. Положить vf = а} + F{ (bf — а7), wJ = aJ + F2{bj — aj). Шаг 9. Если 9(i>y) < 9@;^), положить aj+{ = aj, положить bj+l = Wj и перейти к шагу 10; иначе положить Я/+1 = 0/э положить bj+i = bj и перейти к шагу 10.
ДАЛЬНЕЙШИЕ МОДЕЛИ ДЛЯ ВЫЧИСЛИТЕЛЬНЫХ МЕТОДОВ 337 Шаг 10. Если / < k, то положить / = /+1 и перейти к шагу 8; иначе положить Д = (а/ + &/)/2 и остановиться. ¦ Теперь в соответствии с моделью A) включим этот алгоритм в алгоритм D.2.27) так, чтобы получить алгоритм, применимый при тех же предположениях о выпуклости, что и D.2.47). 7 Алгоритм (реализация модифицированного метода центров Полак [П6]). Шаг 0. Вычислить z0 e С и положить / = 0; выбрать функции прерывания М • )> М ' )• Шаг 1. Положить z — zt и положить k — t{(i). Шаг 2. Из решения D.2.22)— D.2.25) получить (А0 (г), А (г)). Шаг 3. Если A0(z) = 0, то положить zi+l=zt и остано- ёиться; иначе перейти к "шагу 4. Шаг 4. Положить 8(ц) = й(г +p,A(z), z) и использовать F) для вычисления Д. Шаг 5. Если f° (z + ДА (г)) < f° (z), то положить ^+J = = г + ДА(г), положить / = /+1 и перейти к шагу 1; инач-е положить zi+]=ziy положить k = L2{i), положить / = /+1 и перейти к шагу 4. ¦ 8 Упражнение. Показать, что алгоритм G) удовлетворяет условиям теоремы B). ¦ На протяжении этой книги мы описывали все вычисления, требующиеся для получения точки zi+x из z-t при помощи одного отображения А (где zt+\S А(гг) или 2|+1еЛ(в,4 или 2i+1GJ(/, Zi)). Изредка могут возникать ситуации, когда предпочтительнее представить А в виде композиции нескольких отображений (компонент) и сформулировать условия на эти компоненты, обеспечивающие сходимость алгоритмов, в которых используется такое представление. Интересующийся читатель найдет описание этого процесса в [Мб].
ПРИЛОЖЕНИЕ В СВОЙСТВА НЕПРЕРЫВНЫХ ФУНКЦИИ В.1. Разложения непрерывных функций Всюду в этом приложении будут рассматриваться разложения дифференцируемых функций. Эти разложения можно найти в любом справочнике по анализу, и мы объединили их здесь только для того, чтоэы снабдить читателя удобным источником ссылок. (Дополнительные детали см., например, у Дьёдонне [Д6].) 1 Теорема о среднем. Пусть /' (•) — непрерывно дифференцируемая функция, отображающая R* в R1. Тогда для любых z, h из R* и любого AeR1 2 ffB + M) = f'(*) + *<VmA>, где I ^ [z, z + Xh] ([#, у] обозначает отрезок, соединяющий точки х и у, т. е. [xyy]={z = Xx + (l-X)y\X<=[09 I])). ¦ 3 Формула Тейлора для разложений первого порядка. Пусть g( •) — непрерывно дифференцируемая функция, отображающая R" в Rm. Тогда для любых z, h из R" и любого Я е R1 = g (z) + (jdg {z + tXh) dt) (U), где dg(z)/dz — матрица размера mX«, (/,/)-й элемент которой равен dgl (z)/dzj (обычно она называется матрицей Якоби). ¦ 5 Обобщенная теорема о среднем. Пусть g(-) — непрерывно дифференцируемая функция, отображающая R" в Rm. Тогда для любых 2, h из R" и любого AgR1 6 Отметим, что F) легко следует из D). Однако это утверждение можно доказать и независимо, применяя теорему о среднем. 7 Определение. Пусть g( -) — непрерывно дифференцируемая функция, отображающая R" в Rm. Вторая производная от
СВОЙСТВА НЕПРЕРЫВНЫХ ФУНКЦИЙ g(-) в точке 2GR" обозначается через g"(z){-) (или, проще> g" (z)) и определяется равенством если только этот предел существует и не зависит от j/g Rrt. S Из (8) видно, что g"(z)(y) является матрицей размера тХя- Эту матрицу легко себе представить, если поступить следующим образом: разложить g(z-\-y) в окрестности точки: z до членов второго порядка включительно: 9 g{z + y) = g(z) где || г (у) || /|| у ||2 -> 0 при || у ||2 -> 0, и затем исследовать (9) для каждой компоненты в отдельности: 10 S* (г + У) = *'(*) +№(*),?> + Из A0) видно, что gf/(z)(y) является матрицей размера тУ^пу 1-я строка которой есть [(d2gi (z)/dz2)y]T. Норма линейного оператора g" (z) определяется формулой И \\g4z)\\==rnax{\\g"(z)(y')y"\\\\\y'\\<L\\y"\\<l}. Приведем теперь формулу для разложений второго порядка. 12 Формула Тейлора для разложений второго порядка» Пусть g(-) — дважды непрерывно дифференцируемая функция, отображающая R* в R/n. Тогда для любых z, h из R* и любого X е R1 13 g( В.2. Выпуклые функции Сейчас мы перечислим несколько свойств выпуклых функ- ций, которые были нужны нам в основном тексте. Все доказательства, которые мы опустили, можно найти у Бержа [Б6]. 1 Определение. Функция fl: R^-^R1 называется выпуклой» если для любых у, z из R" и любого Яе[0,1] 2 /' (Яг + A - А) у) < Я/' (г) + A - Я) /' (у).
340 ПРИЛОЖЕНИЕ В Функция f'(-) называется строго выпуклой, если неравенство в B) строгое при всех z ф у из R" и всех ^е@ 1). ¦ 3 Теорема. Если функция /': R^-^R1 выпукла, то она непрерывна. ¦ Теоремы, изложенные ниже, касаются различных характеристик выпуклой функции в случае, когда она дифференцируема. 4 Теорема. Непрерывно дифференцируемая функция fl\ R^R1 выпукла тогда и только тогда, когда для любых у, z из R* Если неравенство в E) строгое при всех у Ф z из R", то функция /' ( •) строго выпукла; верно и обратное. ¦ 6 Теорема. Дважды непрерывно дифференцируемая функция f: R^-^R1 выпукла тогда и только тогда, когда матрица Гессе d2fl (z)/dz2 положительно полуопределена при всех z из R". ¦ 7 Теорема. Пусть функция fl\ R^-^R1 непрерывно дифференцируема и выпукла. Если точка 2ERre такова, что Vft'((§) = 0, то fl (г) <! fl (z) для всех z e Rrt. (Этот результат следует непосредственно из E).) ¦ 8 Теорема. Пусть функция f*: Rri->RI дважды непрерывно дифференцируема и существует такое число 0 < m < оо, что для всех у, z из R" 9 m\\y\?^(y9 H(z)y), где Н (z) = d2fl (z)/dz2. Тогда функция f* (•) строго выпукла и Д1Я любой точки z0 из R" множество Ю \г\Р{г)^Г(г0)} ограничено. Доказательство. В силу формулы Тейлора для разложений второго порядка П.12) для любых у ф z из R" И fi(z)-fi{y)^{Vfi(z\z-y)- 1 -j(z-y,H(z-t(z-y))(z-y))(l-t)dt^ о <<yp(z),z-y). Согласно теореме D), функция /' (•) строго выпукла.
СВОЙСТВА НЕПРЕРЫВНЫХ ФУНКЦИЙ 34Г Пусть z0 e R"— произвольная точка и h — произвольный единичный вектор из R^ Тогда в силу формулы Тейлора для разложений второго порядка 12 f(zo + Xh) — fi(zo) = 1 = Л (V/* (z0), h) + X2 f (Л, H(z + tXh) A) A — *) Л > о откуда следует, что 13 {z\f(z)^fi \=l, ls[0, и теорема доказана. В 14 Теорема. Пусть /'(•) — строго выпуклая функция, отображающая R" в R1. Тогда существует только одна точка z e Rn, минимизирующая fl(z). ш 15 Упражнение. Доказать теорему A4). В В.З. Ряд вспомогательных результатов Приведем сейчас ряд результатов, которые часто были нужны нам в основном тексте. 1 Теорема. Пусть /*(•) — непрерывная* функция, отображающая Rn в R1, и S — компактное множество в R". Тогда для каждой точки /eR" и каждого числа 6 > 0 найдутся такие числа г' > 0 и Хт > 0, что для всех z e B(z', г') = '={z| ||Z — г'II О7} и всех AgS 2 | f (z + Xh) — f (z) К б для всех А, е [0, Ят]. Доказательство. Пусть точка ^gR" и число 0 < б < оо произвольны. Пусть число е' > 0 произвольно, но конечно. Тогда функция /*(•) равномерно непрерывна на компактном шаре B{z\ &') = {z\\\z — г'У^в'}, и, значит, найдется такое число е">0, что для всех 2GBBr, е) и всех z", удовлетворяющих условию ||z-z"||<e". Положим e'=min{e/2,e"} и М = max {\\h || |Ле5}. Если теперь взять Лт = 8///М, то для всех AgS и всех 2G В (г7, еО будет Xh || < е/г для всех А, е [0, Ят]
42 ПРИЛОЖЕНИЕ В и потому 5 z + Xh^B (z, г") для всех Я е [0, Хт]. Таким образом, в силу C) и E) для всех z^B{z\ г') и всех AgS '6 | f (z + Xh) — f (z) |<б для всех X е= [0, Хт]. Ш 7 Теорема. Пусть fl (•) — непрерывно дифференцируемая функция, отображающая R* в R1, и 5 — компактное множество в R". Тогда для каждой точки /gR" и каждого числа б > 0 найдутся такие числа е' > 0 и Хт >0, что для всех zeeB(z', е')=И \\г — г'\\ <е'} и всех AgS 8 | (Vf (г + Л/г), /г) — (Щ1 (г), Л) | < б для всех X е= [0, Ят]. Доказательство. Пусть точка z' ^ R* и число 0 < б < оо произвольны. Пусть число г' > 0 произвольно, но конечно. Тогда функция (V/*(-), • ), отображающая R^XR" в R1, равномерно непрерывна на компактном множестве В (г7, e^XS, и, значит, найдется такое число г" > 0, что для всех (г,/г) в В(/, e)XS и (г", /г"), удовлетворяющих условиям || г — г" || < е" и || h — /г" || < е". Положим er = min{e/2, г"} и М == max {||Л|| |A^S}. Если теперь взять кт = г'1М, то для всех h e S и всех г е iS (г', е7) будет 10 || Xh || < е" для всех Я е [0, Хт] и потому 11 z + Xhe=B(z, г") для всех Я g= [0, Ят]. Таким образом, в силу (9) для всех z^B(z', e') и всех h^S 12 ЮТ (г — ЯЛ), h) — {4fl(z)9 A>|<6 для всех Я е [0, Я„Л ¦ 13 Теорема. Пусть для /=1, 2, ..., m функции f?: R^-^R1 непрерывны. Тогда функция М: R/Z->R1, определяемая равенством 14 M(z) = max {/*(*) |/е{1, 2, ..., m}}, также непрерывна. Доказательство. Пусть точка /gR" и число 0 < б < оо произвольны. Тогда наймется такое число е > 0, возможно зависящее от z\ что для всех z^B°(z', е) = {г|||-г — 2'||<e}, где. как обычно, 15 В(г'9 e) = {z|||z-z'|Ke},
СВОЙСТВА НЕПРЕРЫВНЫХ ФУНКЦИЙ 343 выполняются неравенства 16 f'B')_6<f'B)</'(z') + 4 при /=1, 2, ..., т. Следовательно, для всех z^B°(z', г) 17 f (z)<Af(z') + 6 при /=1, 2, ..., т и 18 f (z') — 6<M(z) при у=1, 2, ..., m. Беря в A7) и A8) максимум по /, получаем 19 М(z') — 6<M(z)<M(z') + 6 для всех 2еВ°(z\ e), а это и означает, что функция М (•) непрерывна. Я Доказанная теорема фактически является частным случаем следующей теоремы. 20 Теорема. Пусть i|)(e,*) — непрерывная функция, отображающая RPXR* в R1, и S — компактное множество в Rq. Тогда функция 6: RP->R\ определяемая равенством 21 также непрерывна. Доказательство, Пусть точка z' e Rp произвольна, а число 8 > 0 произвольно, но конечно. Тогда функция -ф (•, -) равномерно непрерывна на множестве B(z\ e)XS и для любого заданного числа 6Г > 0 найдется такое число е"> 0, что 22 \y{2ih)-q(z", А") К 6' для всех (г, A)gB(/, e)XS и (г", /г")> удовлетворяющих условиям || 2 — г" || < е" и || А — А" || < е". Положим е' = = min{e, е"}; тогда для всех 2еВ°(г', г') и всех А <= S 23 o|)(z, /0-6'<<ф(г', А)< ф (г ) Минимизируя сначала левое, а затем правое неравенство в B3) по AeS, получаем, что для всех z^B°{z\ г') 24 0 (г) — 6' < <ф (г7, А) для всех А е= S, 25 Э (z') < о|) (^, А) + 6' для всех AeS. Минимизируя опять по AgS, заключаем из B4) и B5), что 26 |6(z) —6(z0l <б7 для всех zt=B{z',e'), а это и означает, что функция G(-) непрерывна. ¦
ПРИЛОЖЕНИЕ С РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ С.1. Общие рассуждения При выборе реализуемого алгоритма для решения конкретной задачи оптимизации необходимо попытаться оценить следующие моменты. Во-первых, решить вопрос о вычислительной точности, или степени чувствительности к ошибкам. Во-вторых, дать оценку полного объема времени, которое, вероятно, потребуется для решения рассматриваемой задачи. Поскольку теоретические результаты, которые проливали бы свет на вопрос о чувствительности алгоритмов оптимизации к ошибкам, фактически отсутствуют, а имеющиеся эмпирические результаты крайне трудны для интерпретации, мы мало что можем сказать по этому поводу. Единственное, чем мы можем с уверенностью поделиться исходя из своего опыта,— это вывод, что обычно вычислительные затруднения возникают из-за ошибок, появляющихся при расчете производных. Эти ошибки лимитируют точность, с которой может быть определена оптимальная точка. В таком случае целесообразно переходить к алгоритмам, использующим меньше производных (см. разд. 2.2). Ситуация выглядит несколько лучше, когда вопрос касается полного времени, потраченного на вычисления, и- здесь мы можем высказать ряд, правда довольно общих, соображений по вопросу, хорош или плох конкретный алгоритм при решении конкретной задачи. Полное время вычислений зависит от трех факторов (если не учитывать характеристик конкретной ЭВМ, на которой будут вестись расчеты). Этими факторами являются: скорость сходимости алгоритма; время, потраченное на одну итерацию; и искусство программиста, разрабатывающего программу для ЭВМ. Искусство программиста, особенно если он вносит в алгоритм элементы творчества, играет решающую роль при определении полного времени расчетов. Например, известны случаи, когда программа решения задачи линейного программирования стала считать в 4 раза быстрее после того, как программист изменил правило, определявшее, когда очень малое число надо считать нулем. Поэтому мы советуем читателю выбирать самого искусного и опытного программиста, какого он только может найти.
РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ 345 Теперь исследуем вопрос о скорости сходимости. Для обсуждаемых в гл. 2 и 3 методов минимизации без ограничений и отыскании корня мы получили в гл. 6 скорости сходимости, которые классифицировали как линейные, сверхлинейные и квадратичные. В то время как скорость сходимости, или, вернее, полученная нами оценка скорости сходимости, является внутренним свойством самого алгоритма, различные константы, входящие в выражение для оценки скорости сходимости, зависят от решаемой задачи. Например, как мы видели в разд. 6.1, алгоритмы, сходящиеся линейно, строят последовательность zf->z при *'->оо, где Ц^ — 2||<?0* и обе величины Е и 8g@,1) зависят от характеристик задачи. Следовательно, при решении вопроса, насколько конкретный алгоритм подходит для решения данной задачи, мы должны принимать во внимание не только скорость сходимости этого алгоритма, но также и степень «обусловленности», вытекающую из природы рассматриваемой задачи. Вообще говоря, когда область поиска очень узка и имеет форму банана, алгоритмы, в которых поиск осуществляется вдоль направления градиента целевой функции, или методы возможных направлений первого порядка (разд. 4.1) будут плохо обусловленными. Что же касается квазиньютоновских методов, методов сопряженных градиентов и методов возможных направлений второго порядка (разд. 4.4), то они обладают гораздо меньшей чувствительностью к форме области поиска. Таким образом, если область поиска имеет неблагоприятную форму, мы предпочтем один из сверхлинейно сходящихся алгоритмов, если только время, требующееся на одну итерацию, не окажется очень большим. Время вычисления, требующееся на одну итерацию, зависит от количества вычислений функции и необходимых производных, от трудности этих вычислений и от сложности арифметических операций. Последние могут потребовать очень много времени, например, в случае обращений матриц в подпроцедурах линейного и квадратичного программирования. Следовательно, алгоритм может действовать очень хорошо (по сравнению с конкурирующими алгоритмами) даже тогда, когда его вычислительное время в основном определяется объемом вычислений функции и производных (поскольку они занимают много времени), а может оказаться довольно плохим несмотря на то, что функция и производные вычисляются просто. С точки зрения предыдущего обсуждения должно быть ясно, что нельзя однозначно установить превосходство одного алгоритма над другим. По поводу выбора алгоритма можно лишь посоветовать читателю стараться минимизировать следующий приближенный показатель: (степень обусловленности) X(время счета одной итерации)/(скорость сходимости). Если обозначить 12 Э. Полак
346 ПРИЛОЖЕНИЕ С скорость сходимости через г, то г=\ для алгоритмов, сходящихся линейно, г = 2 для алгоритмов, сходящихся квадратично, и 1 <г<2 для приведенных в основном тексте алгоритмов, сходящихся сверхлинейно. Степень обусловленности — это коэффициент, который должен отражать отклонение формы области поиска от сферической, и быть малым для почти сферической выпуклой области и большим^ если область имеет неудачную форму; фактическое его значение зависит и от конкретного алгоритма. Естественно, показатель обусловленности должен выбираться на основании прошлого опыта. (В случае градиентных методов при минимизации без ограничений в качестве степени обусловленности можно взять отношение наибольшего собственного значения матрицы Гессе для целевой функции к наименьшему ее собственному значению, причем матрица Гессе вычисляется в оптимальной точке.) Объяснив читателю, что проблема выбора алгоритма пока еще не формализована, мы не будем пытаться классифицировать реализуемые алгоритмы. Вместо этого на последующих страницах попытаемся оправдать наше предпочтение тому относительно узкому семейству алгоритмов, которое мы обсудили в этой книге. С.2. Градиентные методы К классу реализуемых градиентных методов, как мы видели относятся (при D(z)z==I, где / — единичная матрица) алгоритмы B.1.16) (с адаптивным выбором величины шага), B.1.19) (с двусторонним правилом выбора величины шага) и B.1.35) {с односторонним правилом выбора величины шага). Из рис. 16 и 17 видно (по крайней мере в отношении рассматриваемого примера), что алгоритмы B.1.19) и B.1.35) не слишком чувствительны к параметру а, а рис. 17 и 18 показывают, что алгоритм B.1.35) может быть в какой-то мере чувствителен к параметру р, и, значит, можно оправдать некоторое экспериментирование с этим параметром. На рис. 19 сравнивается лучшая из величин шага на рис. 16—18 с величиной шага в алгоритме B.1.16); из этого рисунка видно, что скорости сходимости указанных трех алгоритмов вполне сравнимы. Поскольку скорость сходимости трех обсуждаемых алгоритмов приблизительно одна и та же, равно как и обусловленность по отношению к данной задаче, мы отдаем предпочтение алгоритму B.1.35), так как в нем применяется значительно более простое правило выбора величины шага и, следовательно, на одну итерацию тратится меньше времени, чем в двух других методах. Напомним, что в силу теоремы A.3.66) и результата упражнения B.1.34) можно с достаточным основанием быть
б 10 12 итерации 14 16 18 Рис. 16. Чувствительность градиентного метода (алгоритм B.1.37) с правилом выбора величины шага B.1.33)) к параметру а: (X а = 0,1;+ а = 0,2; А а = 0,4). Задача, минимизировать exp [(z1J + 5 (г2J] + (г1J + 80 (г2J; z\ — 1,32; 2q = — 0,07; параметр р = 1. На рисунке изображена зависимость /° (Zj) от номера итерации /. 8 10 12 итерации 16 18 20 Рис. 17. Чувствительность градиентного метода (алгоритм B.1.37) с правилом выбора величины шага B.1.36)) к параметру а(Х а = 0,2;+ а = 0,5; А а = 0,8). Задача: минимизировать ехр [(г1J + 5 (z2J] + (г1J + 80 (г2J; г\ = 1,32; Zq«— 0,07; параметр р = 1, параметр р = 0,5. На рисунке изображена зависимость f°(zt) от номера итерации /. 12*
14 16 ]* ) 2 А 6 8 30 12 итерации Рис. 18. Чувствительность градиентного метода (алгоритм B.1.37) с правилом выбора величины шага B.1.35)) к параметру а(Х а =«0,2;+ а = 0,5; Л а = 0,8). Задача: минимизировать ехр [U1J + 5 (z2J] + (г1J + 80 (z2J; z\ = 1,32; — 0,07; параметр р = 1, параметр E = 0,8. На рисунке изображена зависимость f° (zi) от номера итерации /. 4 8,00 i 7,30 6,60 5,90 5,20 4,50 3,80 3,10 2,40 1,70 1.00 - - - * ¦ * ¦ ******** 18 20 0 2 А 6 8 10 12 14 11 итерации Рис. 19. Сравнение X метода наискорейшего спуска с подпроцедурой поиска по методу золотого сечения (алгоритм B.1.16) при D(z)^I, p = 1,80=0,00001), + градиентного метода (алгоритм B.1.37) с правилом выбора величины шага B.1.33) при а = 0,4, р = 1) и Л градиентного метода (алгоритм B.1.37) с правилом выбора величины шага B.1.36) при а = 0,5, 0 = 0,8, р = 1). Задача: минимизировать ехр [(z1J + 5 (z2J] + (z1J + 80 (z2J, z\ = 1,32; 2qs=3 — 0,07. На рисунке изображена зависимость /° (z^) от номера итерации /•
РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ 349 уверенным, что для многих корректно поставленных задач последовательность, построенная этим алгоритмом, действительно сходится к стационарной точке. Учитывая результаты разд. 6.1 и накопленный вычислительный опыт, мы считаем, что в алгоритме B.1.35) следует брать параметры а = 0,5, ре @,5; 0,8), р=1. Для удобства суммируем наши рассуждения в виде алгоритма. 1 Алгоритм (рекомендуемый градиентный метод). Примечание. Этот алгоритм решает задачу min {/°(г)| е R"} для непрерывно дифференцируемой функции /°(*)- Соответствующую теорию см. в разд, 2.1 и 6.1. Шаг 0. Выбрать Zo^R"; выбрать р^@,5; 0,8) и положить i = 0. Шаг 1. Вычислить h (zt) =— V/° (z,). Шаг 2. Если /г(^) = 0, то остановиться; иначе перейти к шагу 3. Примечание. Сейчас мы вычислим величину шага. Шаг 3. Положить Я=1. Шаг 4. Вычислить 2 А = р> Bf + Щгг)) - /° (*|) + у II Vf> (г,) || 2. Шаг 5. Если А ^ 0, то положить Я/ = Я и перейти к шагу 6; иначе положить Я = |$Я и перейти к шагу 4. Шаг 6. Положить zl+i = zt + Я*/г (г?), положить / = / + 1 и перейти к шагу 1. ¦ С.З. Квазиньютоновские методы К классу квазиньютоновских методов относятся алгоритмы B.1.16), B.1.19) и B.1.35) при D (z) = (d2f*(z)/dzurl (матрица Гессе целевой функции), а также сам метод Ньютона — Рафсона B.1.39). Мы снова отдаем предпочтение версии B.1.35), поскольку ее скорость сходимости и обусловленность те же, что и у алгоритмов B.1.19) и B.1.39), но правило выбора величины шага проще, чем в алгоритме B.1.19), а область сходимости обычно шире, чем у B.1.39). К тому же до сих пор неизвестно, будет ли реализуемый алгоритм B.1.16) с матрицей D(z)y равной обратной к матрице Гессе, сходиться быстрее; чем метод Ньютона — Рафсона. Точно так же, как это было в случае градиентной версии, можно рассчитывать на то, что квазиньютоновская версия алгоритма B.1.35) построит последовательность, сходящуюся к стационарной точке. <(См. теорему A.3.66) и упражнение B.1.34).) В силу результат
350 ПРИЛОЖЕНИЕ С тов разд. 6.1. и 6.2. мы рекомендуем параметры а = 0,5г ре @,5; 0,8) и р=1. Суммируем наши предложения в виде алгоритма. 1 Алгоритм (рекомендуемый квазиньютоновский метод). Примечание. Этот алгоритм решает задачу min {f°(z) |2G Rn}r где /°(•) — дважды непрерывно дифференцируемая функция- Соответствующую теорию см. в разд. 2.1, 3.1, 6.1 и 6.2. 8 Ю 12 итерации Рис. 20. Сравнение X метода наискорейшего спуска с подпроцедурой поиска по методу золотого сечения (алгоритм B.1.16) при D(z) = /, п = 1, ео = 0,00001), + метода сопряженных градиентов B.3.51) Полака — Рибьера (с реализацией B.3.132) при а = 1, р = 0,5, р=1, ео = О,ОООО1) и Л квазиньютоновского метода C.1) при р = 0,5. Задача: минимизировать exp [(z1J + 5 (z2J] + (г1J + 80 (г2J; z\ = 1,32; z2= — 0,07. На рисунке изображена зависимость f° (z.) от номера итерации /# Шаг 0. Выбрать 20sRft, выбрать ре @,5; 0,8) и положить 1 = 0. Шаг 1. Вычислить V/°fa). Шаг 2. Если V/°fa) = 0, то остановиться; иначе перейти к шагу 3. Шаг 3. Вычислить Н fa) == d2f° (zt)/dz2. • Шаг 4. Если Я fa)" существует, то вычислить A fa), решив и перейти к шагу 5; иначе положить h (zt) = — V/°fa) и пе- рейти к шагу 5,
РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ 351 Примечание. Если матрица Н {zt) вырождена, то квазиньютоновский метод неприменим, и мы возвращаемся к методу B.1). Примечание. Сейчас мы вычислим величину шага, как в B.1). Шаг 5. Положить Я=1. Шаг 6. Вычислить 3 Л = Р (zt + Xh (Zi)) - f° (zt) - у (V/0 (г,), h (г,)). Шаг 7. Если Л^О, то положить Я? = Я и перейти к шагу 8; иначе положить Я = ЛE и перейти к шагу 6. Шаг 8. Положить zi+x = zt + Xth {гь), положить / = /+1 и лерейти к шагу 1. ¦ На рис. 20 отражено сравнение только что изложенного квазиньютоновского метода, градиентного алгоритма B.1.16) и метода сопряженных градиентов Полака — Рибьера B.3.51). СА Алгоритмы сопряженных градиентов Как мы видели в разд. 2.3, к классу методов сопряженных градиентов относятся алгоритмы Флетчера — Ривса B.3.42), Полака — Рибьера B.3.51) и алгоритм с переменной метрикой B.3.68). Алгоритм Полака — Рибьера кажется предпочтительнее алгоритма Флетчера — Ривса по следующим причинам: (i) для алгоритма Полака — Рибьера ht-^0 при /->оо (см. B.3.64)); уверенности, что это справедливо для алгоритма Флетчера — Ривса, у нас нет; (ii) в алгоритме Полака — Рибьера вектор направления А? лежит внутри фиксированного конуса вокруг Vf°(Zi), в то время как в случае алгоритма Флетчера — Ривса этот конус растет вместе с /. Так как затраты времени на одну итерацию в обоих алгоритмах фактически одинаковы, указанные причины делают любую реализацию алгоритма Полака — Рибьера численно более устойчивой (менее чувствительной к накоплению ошибок). Последнее утверждение подтверждается экспериментами. Так как методы сопряженных градиентов часто используются для минимизации необязательно выпуклых функций и так как эмпирические результаты оправдывают такую практику, мы предлагаем следующую реализацию алгоритма Полака — Рибьера, несколько более общую, чем B.3.132). Этот алгоритм обладает теми же свойствами сходимости, что и алгоритм Полака —Рибьера B.3.51) (см. [Кб]). В [Кб] также показано, что при восстановлении изложенный ниже алгоритм имеет ту же скорость сходимости, что и алгоритм F.3.4). 1 Алгоритм (Клессиг — Полак [Кб]; рекомендуемая реализация алгоритма Полака — Рибьера).
352 ПРИЛОЖЕНИЕ С Примечание. Этот алгоритм решает задачу min {f°(z)\zs= Rn},, где функция /°(«) дважды непрерывно дифференцируема. Соответствующую теорию см. в [Кб] и в разд. B.3) и F.3). Шаг 0. Выбрать точку z0 e R* и параметры ё' > 0, V > 0, Р^ @,1), Р7 e@fl), Г е@,1). Примечание. Попробуйте V = cos 85°; ё" = cos 5°, 6 = 06 |3' |У О8 1. Положить g\> = Ло = — V/0 (г0); положить е' = ё', е" = е"; положить / = 0. Шаг 2. Если У/°(го) = О, то остановиться; иначе перейти к шагу 3. Шаг 3. Положить z = zt, й = A/||й|||)А?. Ш 4. Определить 6: R1->R1 равенством Примечание. Для того, чтобы вычислить величину шага, мы минимизируем 8 (л:) с помощью алгоритма B.1). Шаг 5. Положить л; = 0. Шаг 6. Вычислить Шаг 7. Если 6/(л:) = 0, то перейти к шагу 15; иначе перейти к шагу 8. Шаг 8. Положить Я=1. Шаг 9. Вычислить ±XQ{xy. Шаг 10. Если А<0, то положить x = x — XQ'(x) и перейти к шагу 11; иначе положить Я = ря и перейти к шагу 9. Шаг 11. Вычислить A/0 {z + xh). Шаг 12. Если Af°B-+*/0 = 0, T0 положить ?f+1 = 2 + */z и остановиться; иначе перейти к шагу 13. Шаг 13. Вычислить 6'(я) в соответствии с C) и положить W/II/( ) Шаг 14. Если |6|^e', то перейти к шагу 15, иначе перейти к шагу 81). Примечание. Проверка значения б гарантирует, что минимизация в (л:) проведена с точностью, достаточной для того, чтобы алгоритм сходился. ]) Для того, чтобы быть абсолютно уверенным в сверхлинейной сходимости, используйте на шаге 14 условие 6<min [e', ||^ ||} и замените, как. и в F.3.8), yi в G) на ©(/+ 1) уг
РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ 353 Шаг 15. Положить = z + xh, Шаг 16. Положить / = /+1. Шаг 17. Если {gi9 А*} > в" || & IIII А/II» то перейти к шагу 3; иначе положить е' —f$V, e" = P"e" и перейти к шагу 3. Примечание. Цель операции на шаге 17 состоит в отыскании числа г' > 0, которое не препятствовало бы сходимости алгоритма. Это условие после конечного числа итераций всегда удовлетворяется. ¦ На рис. 20 показано сравнение между алгоритмом наискорейшего спуска B.1.16), реализацией B.3.132) метода По- лака — Рибьера и квазиньютоновским методом C.1). Хотя квазиньютоновский метод сходится быстрее двух других методов, он тратит больше времени на расчет одной итерации. В связи с этим градиентным и квазиньютоновским методам •обычно предпочитают алгоритмы A) и B.1.132) *). Хотя известно, что реализация метода переменной метрики B.3.68), использующая кубическую интерполяцию при вычислении величины шага, численно устойчивее любого из рассмотренных нами методов сопряженных градиентов с правилом выбора величины шага того же типа, отнюдь не ясно, что такая реализация метода переменной метрики предпочтительнее алгоритма A). Вдобавок алгоритм с переменной метрикой из-за необходимости запоминания матрицы Нь требует ЭВМ с много большей оперативной памятью. Тому, кто все же отдает предпочтение алгоритму с переменной метрикой, мы предлагаем вместо полиномиальной интерполяции при вычислении величины шага воспользоваться процедурой алгоритма A), поскольку полагаем, что это приведет к еще более устойчивой реализации. 8 Алгоритм (рекомендуемая реализация алгоритма с переменной метрикой). Примечание. Этот алгоритм решает задачу min \f°(z) \z e Цп}> где функция /°(-) дважды непрерывно дифференцируема. Соответствующую теорию см. в разд. 2.3, 6.4 и А.2. Шаг 0. Выбрать гое^; выбрать целое число к, удовлетворяющее условию 1 ^ k <; 10; выбрать Р е @,5; 0,8); положить ]) Рис. 20 показывает, что алгоритм B.3.132) сходится сверхлинейно, удовлетворяя условию F.3.10) при р = я.
354 ПРИЛОЖЕНИЕ С / = / = 0. Если V/°B0) = 0, то остановиться; иначе перейти к шагу 1. Шаг 1. Положить Яо = / (где / — единичная матрица размера п X п), положить go = Vf° Bь). Шаг 2. Положить 9 ht = -Higi. Шаг 3. Если число / кратно k, то положить / = /+1> k — 3k и перейти к шагу 4; иначе перейти к шагу 4 (см. примечание после шага 3 в A)). Шаг 4. Положить q = 0; положить z = zt\ положить /г = Лг-; определить 0( •), как в B). Шаг 5. Положить х = 0. Шаг 6. Вычислить 9'(л:) в соответствии с C). Шаг 7. Если 6/(x) = 0, то положить Xi==x и перейти к шагу 12; иначе перейти к шагу 8. Шаг 8. Положить Я= 1. Шаг 9. Вычислить Д в соответствии с D). Шаг 10. Если Д<!0, то положить ^ = ^+1 и перейти к шагу 11; иначе положить Я = РЛ и перейти к шагу 9. Шаг 11. Если q < /, то положить х = х — XQ'(х) и перейти к шагу 6; иначе положить Xt=x — XQ'(х) и перейти к шагу 12. Шаг 12. Вычислить V/°B? + M/). Шаг 13. Если V/° (zt + АД) = 0, то остановиться; иначе положить 10 12 13 14 положить /==/+ 1 и перейти к шагу 2. ¦' С.5. Методы штрафных функций По-видимому, методы штрафных функций нельзя применять для определения точки, с большой точностью удовлетворяющей условиям оптимальности, поскольку они имеют склонность существенно зависеть от ошибок вычислений и в результате обнаруживают к концу процесса тенденцию к замедлению. Вообще считается, что методы внешних штрафных функций
РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ 355 действуют эффективнее, чем методы внутренних штрафных функций, как можно видеть даже на очень простом примере рис. 21. Однако работа Лутсмы [ЛЗ] показывает, что комбинированный метод штрафных функций сходится чаще, чем отдельно метод внешних и метод внутренних штрафных функций. Поэтому мы рекомендуем приводимый ниже комбинированный метод -штрафных функций, который занимает 8 10 12 итерации 16 Рис. 21. Сравнение X модифицированного метода внешних штрафных функций D.1.81) и ? модифицированного метода внутренних штрафных ¦функций D.1.95). В обоих алгоритмах выбор параметров одинаков: 8 = 1, <х = 0,4, р = 1. р = 2 (+ подпоследовательность, определяемая алгоритмом D.1.80), V подпоследовательность, определяемая алгоритмом D.1.94)). Задача: минимизировать ехр [(г1J + 5 (z2J] + (-г1J + 80 (г2J при ограничениях (zi) + 2(z2J-1<0, (г1J + (г2J - 4zl + 1 <0 AJ BJ12<0 2,5 = 0,95; 2^ = 0,10. лромежуточное положение между алгоритмами D.1.81) и D.1.95). Мы предлагаем этот алгоритм на основании теоретических результатов разд. 4.1, показывающих, что он сходится только jk точкам, удовлетворяющим условиям оптимальности Куна — Таккера. Об эвристически обоснованных реализациях см. [ФЗ]. 1 Алгоритм (рекомендуемый комбинированный метод штрафных функций). Примечание. Этот алгоритм решает задачу min [f°(z)\ fl (г)^0, i=l, 2, ..., m, rf(z) = 0, / = 0, 1, 2, ..., /}, где функции /'(-) и г!{-) непрерывно дифференцируемы. Для него требуется лредположение о том, что множество С = (ге Rn| f (z) ^0,
356 ПРИЛОЖЕНИЕ С 1=1, 2, ..., m, r!(z) = 0, /= 1, 2, ...,/} удовлетворяет условиям регулярности Куна — Таккера (см. [К13]). Соответствующую теорию см. в разд. 4.1. о Шаг 0. Выбрать 2G R"; выбрать а, а', а"е @; 0,5), выбрать ре @,5; 0,8). о Шаг 1. Положить z = z и положить / = 0. Шаг 2. Определить множества'индексов 2 /' = {/€= {1, 2, ..., m}| 3 /"={/е={1, 2, ..., m}|f?(z)<0). Шаг 3. Определить внешние и внутренние штрафные функции. 4 р* (г) = 2 г' (г)» + 2 [max {0, f (г)]]2, /1 //' 5 /'(z)=; 4. Если / = 0, то перейти к шагу 5; иначе перейти. к шагу 8. Шаг 5. Вычислить Vf°(z), V//(z), Vp"(z). Шаг 6. Положить ,_ (z) V Ь || Vp" (г) || • Шаг 7. Выбрать е0е@,1; 1). Шаг 8. Вычислить 6 А (*) = - Шаг 9. Если \\h(z)\\> г1у то перейти к шагу 10; иначе положить ei+l = a&i, e' = aV, е" = а"е", Z/ = z, / = /+1 и перейти к шагу 2. Примечание. Сейчас мы вычислим величину шага, как в B.1).. Шаг 10. Положить А=1. Шаг 11. Вычислить 7 Д = /оB + ААB)) + - /о (г) - J. р^ (г) - е^ (г) +11| А (г) ||2. Шаг 12. Если А<0, то положить z = z + Xhz и перейти к шагу 8; иначе положить А = РЯ и перейти к шагу 11. Я
РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ 357 Весьма общий подход к ускорению сходимости штрафных функций состоит в использовании при решении последовательности задач сверхлинейно сходящегося алгоритма. Этот подход можно также применить для ускорения алгоритма A). Мы приведем сейчас алгоритм, основанный на методе сопряженных градиентов Полака — Рибьера с восстановлением, поскольку при исключении ограничений типа равенств с помощью штрафных функций могут не выполняться предположения о выпуклости. В случае когда метод сопряженных градиентов восстанавливается через каждые п + 1 итерации, его сходимость к стационарной точке можно установить, не предполагая выпуклости целевой функции (см. F.3.9)). 8 Алгоритм (рекомендуемый комбинированный метод штрафных функций с подпроцедурой сопряженных градиентов). Примечание. Этот алгоритм решает задачу min {f°(z) | fl(z) <C0, /= 1, 2, ..., га, г1 (z)— 0, /== 1, 2, ..., /}, где функции f (•) и rl{ •) непрерывно дифференцируемы. Для него требуется предположение о том, что условия регулярности Куна — Так- кера выполнены. Соответствующую теорию см. в разд. 4.1. о Шаг 0. Выбрать z <= R"; выбрать а, а', а", е @; 0,5), выбрать р е= @,5; 0,8). о Шаг 1. Положить z — z и положить / = 0. Шаг 2. Определить множества индексов Г и /", как в B), C); определить штрафные функции р'(z), p"(z), как в D), E). Шаг 3. Если / = 0, то перейти к шагу 4; иначе перейти к шагу 7. Шаг 4. Вычислить Vf°(z), Vp'(z), Vp"{z). Шаг 5. Положить г/= II Ур'BI1 ,/_ II У/0 B) || II У/° (г) || ' Ь || Ур" B) || ' Шаг 6. Выбрать е0е@,1; 1). Шаг 7. Определить 9 fо (z) = /о (z) + J_ p' (Z) + г»р» (z). Примечание. Теперь мы применим для минимизации f° упрощенную форму алгоритма D.1) с восстановлением. Шаг 8. Вычислить S/f°(z). Шаг 9. Положить g = h = — 4f°(z); положить / = 0. Шаг 10. Положить ^ = 0. Шаг 11. Определить 0: Rl—^R1 равенством 10 Q(x) = fo(z + xh) — f°{z).
338 ПРИЛОЖЕНИЕ С Шаг 12. Положить х=^0. Шаг 13. Вычислить И V(x) = <4c(z-rxh)9h). Шаг 14. Если 0'(л:) = О, то положить $ = у и перейти к шагу 19; иначе перейти к шагу 15. Шаг 15. Положить A,= L Шаг 16. Вычислить Д в соответствии с D.4). Шаг 17. Если Д<СО, то положить ^ = ^+1 и перейти к шагу 18; иначе положить Я==ря и перейти к шагу 16. Шаг 18. Если q < 2, то положить х — х — №(х) и перейти к шагу 13; иначе положить у, = х — A8'(x) и перейти к шагу 19. Шаг 19. Положить z = z + \xh. Шаг 20. Вычислить Vf°(z). Шаг 21. Если || V/° (z) || > е^ то перейти к шагу 22; иначе положить 8/+1 = ае^, e' = aV, 8"==a//e//, Zi = zy / = /+1 и перейти к шагу 2. Шаг 22. Положить / = /+ 1. Шаг 23. Если \<п> то перейти к шагу 24; иначе перейти к шагу 9. Шаг 24. Положить 12 Шаг 2о. Положить g = g/, положить h — hf и перейти к шагу 10. В С.6. Методы возможных направлений с линейным поиском К этому классу относятся модифицированный метод центров D.2.47), вариант нестационарного метода возможных направлений D.3.20) (Зойтендейк), вариант стационарного метода возможных направлений D.3.26) (Полак) и обе версии (стационарная и нестационарная) метода возможных направлений (Зуховицкий, Поляк и Примак), основанные на подзадаче D.3.59)—D.3.62). Из рис. 22 видно, что по крайней мере в отношении рассматриваемого нами примера модифицированный метод центров сходится значительно медленнее, чем методы возможных направлений Зойтендейка и Полака с модификацией, описанной в D.3.49). Это объясняется, возможно, тем, что правило выбора величины шага D.2.47) не так эффективно, как D.3.49). Кроме того, размерности задач линейного программирования, которые должны решаться на каждой итерации, в модифицированном методе центров выше, чем в большинстве
РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ 359 методов возможных направлений. Bee это указывает, что метод центров и его версии менее привлекательны, чем методы возможных направлений с е-процедурой. Мы рекомендуем два алгоритма, обладающих приблизительно равными достоинствами. Первый из них берет свое начало из объединения алгоритмов D.3.20) и D.3.26), а другой подобным образом следует из подзадачи D.3.70) — D.3.72). 2 Л 6 в 10 ]2 14 итерации 16 18 20 Рис. 22. Сравнение X метода Зойтендейка возможных направлений (алгоритм D.3.20) с правилом выбора величины шага D.3.50), D.3.51) при р = 1, а = 0,3, р = 0,8, ео = О,1), + метода Полака возможных направлений (алгоритм D.3.26) с правилом выбора величины шага D.3.50), D.3.51) при р = 1, <х = 0,3, р = 0,8, 80 = 0,1) и Л реализации Полака модифицированного метода центров (алгоритм D.2.47) при р = 1, г\ = 2,0, е0 = 0,00001). Задача: минимизировать ехр [(г1J + 5 (г2J] + (г1J + 80 (г2J при ограничениях (г1) + 2B2) —1<0; (z1J + (z2J — № + I < 0, (z1J^- (z2J—z1 — z2<0; •- 0,95; 2 ZQ~ = 0,10. Причина для объединения алгоритмоз D.3.20) и D.3.26), которые в нашем примере (см. рис. 22) кажутся неразличимыми, состоит в том, что, хотя у нестационарного алгоритма D.3.20) наблюдается тенденция тратить на каждой итерации меньше времени, чем у алгоритма D.3.26), поскольку он не должен всегда начинать с одного и того же значения е, алгоритм D.3.26) в глобальном смысле оказывается более предусмотрительным. 1 Алгоритм (рекомендуемый метод возможных направлений с линейным поиском, I).
360 ПРИЛОЖЕНИЕ С Примечание, Этот алгоритм решает задачу {min /°(z) [/*(z)<0, *=1, 2, ..., m, Az = b], где функции /*(•) непрерывно дифференцируемы и Л —матрица ^gR"I). Шаг 0. Выбрать в'>0, е"е=@, в'), а > 0, р'е=@,1), р"е@,5; 0,8) и целое число k, удовлетворяющее условию 5<&<10. Шаг 1. Если имеется вектор zr> удовлетворяющий условиям f(z;)<0 Для /=1, 2, ..., /я, Лг' = &, то перейти к шагу 5; иначе перейти к шагу 2. Примечание. Мы начинаем вычисление возможного решения. Шаг 2. Вычислить вектор г0, удовлетворяющий условию Az0 = Ъ. Шаг 3. Положить 2j = max {/'(z0), /г{1, 2, ..., m}}; положить 20=D г0). Шаг 4. Использовать шаги 5—15 алгоритма A) для решения задачи (в Цп+1) 2 min{2°| —2° + /'B)<0, /=1, 2, ..., m, Az = b)r с начальным возможным решением (г°, ^0) для пары (г°, для которой f'B')^0, /=1, 2, ..., /п, Л,г/ = &. Примечание. Вектор гг, удовлетворяющий указанным выше условиям, будет найден за конечное чисто итерапий. Шаг 5. Положить zo = z' и положить / = 0. Шаг 6. Положить г = е\ Шаг 7. Положить z = zt. Шаг 8. Определить множества индексов J&, /е соотношениями 3 /гЛи/е"={0}и{/е{1, 2,..., т}|Пг) 5 0g /^, i^j?9 только если функция /*(•) аффинна. Шаг 9. Вычислить вектор (Ле(г), he(z))y решив задачу2) 6 минимизировать /г° ») Ясно, что множество {z \ fl (z) < 0, / = 1, 2, ..., т} имеет внутренность. 2) См. D.3.59) - D.3.68) и D.3.84).
РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ 361 при ограничениях 7 —h° + {VfJ(z), A><0, jz=Jz; 8 (V/y(z), А)<0, /е /^; 9 |AZ| ^1, /= 1, 2, ..., п; Ah = 0. 10. Если Ae(z)^— ае, то положить h(z) = he(z) и перейти к шагу 13; иначе перейти к шагу 11. Шаг 11. Если е<1е", то положить ё = е; решив F) — (9) при е = 0, получить (ho(z), ho(z)) и перейти к шагу 12; иначе положить е = р'е и перейти к шагу 9. Шаг 12. Если ho(z) — O, то остановиться; иначе положить € = Р'ё и перейти к шагу 9. Шаг 13. Вычислить наименьшее из целых чисел q> для которых 10 /о (z + (№(*)) - f> (г) - (ГУ7 4- (V/0 (г), /г (г)) < 0, 11 f(z + ($")qh(z))^0 при /=1, 2, ..., 14. Положить zi+l ==г + (Р'О^Мг) и положить/ = /+1. Шаг 15. Если число г кратно k, то перейти к шагу 6; иначе перейти к шагу 7. ¦ Изложенный ниже метод возможных направлений предоставляет в наше распоряжение более широкий конус возможных направлений, в котором мы выбираем вектор направления, Л (г), и потому для решения задач оптимального управления он подходит больше, чем алгоритм A). Однако (см. утверждение D.3.74)) реально он применим только тогда, когда задача, подлежащая решению, удовлетворяет условиям регулярности Куна — Таккера. 12 Алгоритм (рекомендуемый метод возможных направлений с линейным поиском, II). Примечание. Этот алгоритм решает задачу min {/°(<г)| f г=1, 2, ..., m, Az = b], где функции /'(•) непрерывно дифференцируемы и А — матрица (zeR"). Для него требуется выполнение условий регулярности Куна — Таккера, см. D.3.74). Шаг 0. Выбрать е' > 0, е" е= @, е'), of > 0, а" > 0, р' е= @, 1), Р"^@,5; 0,8) и целое число k, удовлетворяющее условию 5<6<10. Шаг 1. Вычислить вектор 20, удовлетворяющий условиям /=1> 2, ..., т, Лг0==0; положить /==0.
352 ПРИЛОЖЕНИЕ С Примечание. О методе вычисления z0 см. шаги 1—4 алгоритма A). Шаг 2. Положить е = е/. Шаг 3. Положить z = z(. Шаг 4. Определить множества индексов /Д /^, как в C)—E). Шаг 5. Вычислить вектор (fi°e(-z), Ae(z)), решив задачу 13 минимизировать (V/°(z), h) при ограничениях 14 W(z), А) + а'е<0, / =^= 0, /e/f(z); 15 (V/^O?), А)<0, j<=J?(z)l 16 |А'|<1, /=1, 2, ..., л; Шаг 6. Если й2(г)< — а"е, то положить h(z) = /ze(z) и перейти к шагу 9; иначе перейти к шагу.7. Я/аг 7. Если е^е", то положить ё = е; решив A3)—A6) при 8 = 0, получить (Ao(z), ^o(z)) и перейти к шагу 8; иначе положить е = р'е и перейти к шагу 4. Шаг 8. Если fto(z) = O, то остановиться; иначе положить 8 = |3/8 и перейти к шагу 4. Я/аг 9. Вычислить наименьшее из целых чисел q, удовлетворяющих A0) и A1). Шаг 10. Положить zi+l = z + {$")q h(z) и положить / = / + 1. Шаг 11. Если число / кратно к, то перейти к шагу 2; иначе перейти к шагу 3, ¦ С.7. Методы возможных направлений с квадратичным поиском Мы считаем, что из всех возможностей, которые обсуждались в разд. 4.4, приводимый ниже алгоритм должен быть наиболее эффективным, поскольку он самый простой. 1 Алгоритм (рекомендуемый метод возможных направлений с квадратичным поиском). Примечание. Этот алгоритм решает задачу min {/°(z) | f (z) <J0, / = 1, 2, ..., /тг, Az = b), где функция f° ( •) дважды непрерывно дифференцируема, функции f (•),/= 1, 2, ..., /п, непрерывно дифференцируемы, А — матрица (eeR"). Для него требуется выполнение условий регулярности Куна — Таккера (см. D.4.11)). Кроме того, матрица Н (z) = d2f°(z)/dz2, должна быть положительно полуопределена на множестве \z\f°(z)^f°(zQ); f (г)<0, /'=1,2, ..., т\ Az — b\y где zQ — начальное возможное решение.
РУКОВОДСТВО ПО РЕАЛИЗАЦИИ АЛГОРИТМОВ 363 Шаг 0. Выбрать е'> 0, е"е=@, е'), а' > 0, а" > 0, р'€=@,1), р" s @,5; 0,8) и целое число k, удовлетворяющее условию 5<6<10 Шаг 1. Вычислить вектор zOf удовлетворяющий условиям fB0)<0, /=1, 2, ..., т, Лг0 = 0, и положить / = 0. Примечание. О методе вычисления г0 см. шаги 1—4 алгоритма F.1). Я/аг 2. Положить е = е'. ZZ/аг З. Положить z = zt. Шаг 4. Определить множества индексов /е, /^, как в F.3)— Шаг 5. Вычислить вектор {hi (z), he (г)), решив задачу 2 минимизировать (V/°(z), А> + у<Л, H{z)h) при ограничениях 3 (V/7 (z), Л) + а'е < 0, /^0, / е /^ (г); 4 (Vf(z), Л>><0, /е/ел(г); 5 lA'Kl, /===1, 2, .... /г; Л/г = 6. Шаг 6. Если йе°(з)^ — а"е, то положить h(z) = fie(z) и перейти к шагу 9; иначе перейти к шагу 7. Шаг 7. Если е<!е", то положить 8 = е; решив B) — E) при 8 = 0, получить (fto°(z)y fio(z)) и перейти к шагу 8; иначе положить е = р/8 и перейти к шагу 4. Шаг 8. Если йо°(г)==О, то остановиться; иначе положить е = (Уё и перейти к шагу 4. Шаг 9. Вычислить наименьшее из целых чисел q, удовлетворяющих F.10) и F.11). Шаг 10. Положить zi+l = 2 + (Р'ТЛ (г) и положить / = /+ 1. Я/дг 11. Если число / кратно ку то перейти к шагу 2; иначе перейти к шагу 3. ¦ Можно было бы ожидать, что алгоритм A) будет сходиться быстрее любого из алгоритмов F.1) и F.12), особенно в случае, когда множество {z\f°(z)^d} узкое и длинное (т.е. когда собственные значения матрицы Гессе H(z) = d2f°(z)/dz2 далеко разнесены, скажем AmaxAmin > 20). Однако это положительное качество в значительной степени снижается из-^а того, что задача квадратичного программирования B) — E) требует для решения много больше времени, чем любая из задач линейного программирования F.6)—F.9), F.13) — F.16).
СПИСОК ЛИТЕРАТУРЫ А1. Абрамов А. А., О переносе граничных условий для систем линейных обыкновенных дифференциальных уравнений (вариант метода прогонки), ЖВМ и МФ, 1, 3 A961), 542—545. А2. Антосиевич (Antosiewicz H. A.), Newton's method and boundary value problems, /. Comput. Syst. Set, 2, 2 A968), 177—202. A3. Армийо (Armijo L), Minimization of functions having continuous partial derivatives, Pacific J. Math., 16 A966), 1—3. Б1. Балакришнан (Balakrishnan A. V.), On a new computing technique in optimal control, SIAM J. Contr., 6, 2 A968), 149—173. Б2. Баничук Н. В., Петров В. М., Черноусько Ф. Л., Численное решение вариационных и краевых задач методом локальных вариаций, ЖВМ и МФ, 6, 6 A966), 947—961. БЗ. Барр (Barr R. О.), Computation of optimal controls by quadratic programming on convex reachable sets, Ph. D. Dissertation, University of Michigan, Ann Arbor, Michigan, 1966. Б4. Барр, Гилберт (Barr R. O., Gilbert E. G.), Some iterative procedures for computing optimal controls, Proc. Third Congr. IFAC, London, June 20—25, 1966, paper № 24D. Б5. Беллман Р., Калаба Р., Квазилинеаризация и нелинейные краевые задачи, изд-во «Мир», М., 1968. Б6. Берж (Berge С), Topological spaces, New York, 1963. Б7. Буй-Тронг Ли, Хьюард (Bui-Trong-Lieu, Huard P.), La methode des centres dans un espace topologique, Num. Mat, 8 A966), 65—67. Б8. Бюси (Bucy R. S.), Two point boundary value problems of linear Hamil- tonian systems, /. SIAM Appl Math., 15, 6 A967), 1385—1389. Bl. Ван-Слайк (Van Slyke R. M.), Generalized upper bounding techniques,. /. Comput. Syst. ScL, 1, 3 A967), 213—226. B2. Ван-Слайк, Данциг (Van Slyke R. M., Dantzig G. В.), Generalized linear programming and decomposition theory, в сб. Multilevel Control Systems под ред. Wismer D., гл. 5, New York, 1969. ВЗ Варайя (Varaiya P. P.), A decomposition technique for nonlinear programming, IBM Research Rept. RJ-345, July 1, 1965. (См. также Za- deh L. A., Polak E. (eds.), System theory, гл. 12, New York, 1969.) B4. Вулф (Wolfe P.), The symplex method for quadratic programming, Eco- nometrica, 28, 3 A959), 382—298. B5. Вулф (Wolfe P.), On the convergence of gradient methods under constraints, IBM Research Rept. RC 1752, Yorktown Heights, New York, January 24, 1967. *Г1. Гермейер Ю. Б., Введение в теорию исследования операций, изд-во «Наука», М., 1971. *) Работы, отмеченные звездочкой, добавлены при переводе. — Прим. черев.
СПИСОК ЛИТЕРАТУРЫ 365 Г2. Гилберт (Gilbert E. G.), An iterative procedure for computing the minimum of a quadratic form on a convex set, SI AM J. Contr., 4, 1 A966), 61-80. *ГЗ. Гирсанов И. В., Лекции по математической теории экстремальных задач, изд-во Московского университета, 1970. Г4. Голдштейн (Goldstein A. A.), Constructive real analysis, New York, 1967. Г5. Голдштейн, Прайс (Goldstein A. A., Price J. F.), An effective algorithm for minimization, Num. Mat., 10 A967), 184—189. Г6. Гудмен, Ланс (Goodman Т. R., Lance G. N.), Numerical integration of two point boundary value problems, Math. Tables Aides Cotnputat., 10 A956), 82—86. *Д1. Данилин Ю. М., Методы сопряженных направлений для решения задач минимизации, Кибернетика, 5 A971), 122—137. *Д2. Данилин Ю. М., Пшеничный Б. Н., О методах минимизации с ускоренной сходимостью, ЖВМ и МФ, 10, 6 A970), 1341—1354. *ДЗ. Демьянов В. Ф., Рубинов А. М., Приближенные методы решения экстремальных задач, изд-во ЛГУ, 1968. Д4. Джон (John F.), Extremum problems with inequalities as side conditions, в сб. Courant Anniversary Volume под ред. Friedrichs К. О., Neuge- bauer О. E., Stoker J. J., Interscience, New York, 1948, pp. 187—204. *Д5. Дубовицкий А. Я., Милютин А. А., Необходимые условия слабого экстремума в общей задаче оптимального управления, изд-во «Наука», М., 1971. Д6. Дьёдонне Ж-, Основы современного анализа, изд-во «Мир», М., 1964. Д7. Дэвидон (Davidon W. С), Variable metric methods for minimization, AEC Research and Development Rept. ANL 5990 (Rev.), 1959. Д8. Дэниел (Daniel J. *W.), The conjugate gradient method for linear and nonlinear operator equations, SI AM J. Num. Anal., 4, 1 A967), 10—28. Д9. Дэниел (Daniel J. W.), Convergence of the conjugate gradient method with computationally effecient modifications, Num. Mat., 10 A967), 125—131. El. Елкин (Elkin R. M.), Convergence theorems for Gauss-Seidel and other minimization algorithms, Tech. Rept. 68-59, University of Maryland Computer Science Centre, College Park, Maryland, January 1968. *E2. Еремин И. И., Метод «штрафов» в выпуклом программировании, ДАН, 173, 4 A967), 748—754. *ЕЗ. Еремин И. И., О некоторых итерационных методах в выпуклом программировании, Экономика и математические методы, 4, 6 A966), 870—886. *Е4. Ермольев Ю. М., Методы решения нелинейных экстремальных задач, Кибернетика, 4 A966), 1—17. *Е5. Ермольев Ю. М., Гуленко В. П., О численных методах решения задач оптимального управления, Кибернетика, 7 A966), 72—78. 31. Зангвилл (Zangwill W. I.), Applications of the convergence conditions, представлено на Sixth Symposium on Mathematical Programming, August 14—18, 1967, Princeton University, Princeton, New Jersey. 32. Зангвилл (Zangwill W. I.), Nonlinear programming via penalty functions, Management Sci.-A, 13, 5 A967), 344—358. 33. Зангвилл В. И., Нелинейное программирование. Единый подход, изд-во «Сов. радио», М., 1973. 34. Зойтендейк Дж. Г., Методы возможных направлений, ИЛ, М., 1963. 35 Зойтендейк (Zoutendijk G.), Nonlinear programming: a numerical survey, /. SI AM Contr., 4 A966), 194—210. 36. Зойтендейк (Zoutendijk G.), Computational methods in nonlinear programming, представлено на SIAM 1968 National Meeting, Toronto, Canada, June 11—14, 1968. 37. Зойтендейк (Zoutendijk G.), профессор математики Лейденского университета, Голландия, частное сообщение, ноябрь 1968.
СПИСОК ЛИТЕРАТУРЫ 38. Зуховицкий С. И., Авдеева Л. И., Линейное и выпуклое программирование, изд. 2-е, перераб. и доп., изд-во «Наука», М., 1967. 39. Зуховицкий С. И., Поляк Р. А., Примак М. Е., Алгоритмы для решения задачи выпуклого программирования, ДАН СССР, 153, 5 A963), 991 — 1000. И1. Исааксон, Келлер (Isaacson E., Keller H. В.), Analysis of numerical methods, New York, 1966. И2. Игон (Eaton J. H.), An iterative solution to time-optimal control, /. Math. Anal. AppL, 5, 2 A962), 329—344. KL Калфонд, Рибьер, Соньо (Kalfond P., Ribiere G., Sogno J. C), A method of feasible directions using projection operators, Proc. IFIP Congr. 68, Edinburgh, August 1968. K2. Канторович Л. В., Акилов Г. П., Функциональный анализ в нормированных пространствах, Физматгиз, М., 1959. КЗ. Карри (Curry H.), The method of steepest descent for nonlinear minimization problems, Quart. Appl. Math., 2 A944), 258—261. K4. Клессиг (Klessig R.), Implementation of conceptual algorithms, Ph. D. Dissertation, University of California, Berkeley, 1970. K5. Клессиг, Полак (Klessig R., Polak E.), A feasible directions algorithm using function approximations, with applications to min max problems, Electronics Research Laboratory Memo № M287, University of California, Berkeley, Oct. 1970. Кб. Клессиг, Полак (Klessig R., Polak E.), Effecient implementations of the Polak-Ribiere conjugate gradient algorithm, Electronics Research Laboratory Memo № M279, University of California, Berkeley, Aug. 1970. K7. Коши (Cauchy A. L.), Methode generate pour la resolution des systemes d'equations simultanees, Compt. Rend., 25 A847), 536—538. K8. Коьн (Cohen A.), Rate of convergence for root finding and optimization algorithms, Ph. D. Dissertation, University of California, Berkeley, 1970. K9. Красовский Н. Н., Об одной задаче оптимального регулирования, ПММ, 21, 5 A957), 670-677. К.10. Куллум (Cullum J.), Penalty functions and nonconvex continuous optimal control problems, в сб. Computing Methods in Optimization Problems— 2 под ред. Zadeh L. A., Neustadt L. W., Balakrishnan A. V., Academic Press, New York, 1969, pp. 55—67. Kll. Кун, Таккер (Kuhn H. W., Tucker A. W.), Nonlinear programming, Proceedings Second Berkeley Symposium on Mathematical Statistics and Probability, Univ. of California Press, Berkeley, California, 1951, pp. 481— 492. K12. Курант (Courant R.), Variational methods for the solution of problems of equilibrium and vibrations, Bull. Am. Math. Soc, 49 A943), 1—23. K13. Кэнон, Куллум, Полак (Canon M. D., Cullum С. D., Polak E.), Theory ot optimal control and mathematical programming, New York, 1970. Лl. Левитин Е. С, Поляк Б. Т., Методы оптимизации при наличии ограничений, ЖВМ и МФ, 6, 5 A966), 787—823. Л2. Ли (Lee G. S.), Quasilinearization and invariant imbedding, with applications to chemical. engineering and adaptive control, Academic Press, New York, 1968. ЛЗ Лутсма (Lootsma F. A.), Constrained optimization via penalty functions, M" S. 5814, Philips Res. Repts., Holland, 1968. *Л4. Любич Ю. И., Майстровский Г. Д., Общая теория релаксационных процессов для выпуклых функционалов, УМН, 25, вып. 1 A51) A970), 57— 112. М\ Мак-Джилл, Кеннет (McGill R., Kenneth P.), A convergence theorem on the iterative solution of nonlinear two-point boundary-value systems, Proceedings XIV International Astronautical Congress, Paris 1963, v. 4. Paris, 1965, pp. 173—188.
СПИСОК ЛИТЕРАТУРЫ 367 М2 Мак-Кормик, Зангвилл (McCormick G. P., Zangwill W I), A technique for calculating second order optima, Research Analysis Corp., McLean, Virginia, 1967 (мимеографическая запись). МЗ Мангасарьян (Mangasarian О. L), Nonlinear programming, New York, 1969 M4. Мангасарьян, Фромовиц (Mangasarian О. L., Fromovitz S.), The Fritz John necessary optimally conditions in the presence of equality and inequality constraints, /. Math. Anal. AppL, 17 A967), 37—47. M5. Мейер (Meyer G. E.), Properties of the conjugate gradient and Davidon methods, Analytical Mechanics Associates, Inc., Wesbury, New York, 1967 (мимеографическая запись). Мб Мейер, Полак (Meyer G., Polak E.), Abstract models for the synthesis of optimization algorithms, Electronics Research Laboratory Memo № ERL-268, University of California, Berkeley, October 1969. M7 Мейер, Полак (Meyer G., Polak E.), A decomposition algorithm for solving a class of optimal control problems, J. Math. Anal. AppL, 3, 1 A970), 118—140. M8. Мейн (Mayne D. Q.), A second-order gradient method for determining- optimal trajectories of nonlinear discrete-time systems, Int. J. Contr., 3, 1 A966), 85—95. M9. Моисеев Н. H., Lecture notes on computational methods, Institut de Recherche d'Informatique et d'Automatique, Versailles, France, Spring 1968. *M10. Моисеев Н. Н., Численные методы в теории оптимальных систем, изд-ва «Наука», М, 1971. HI. Нейшгадт (Neustadt L. W.), Synthesis of time-optimal control systems, У. Math. Anal AppL, 1 A960), 484—492. Ol. Островский (Ostrowski A. M.), Solution of equations and systems of equations, 2 ed., New York. 1966. (Русский перевод 1 изд.: Островский А. М., Решение уравнений и систем уравнений, ИЛ, М., 1963.) Ш. Пауэлл (Powell M. J. D.), On the convergence of the variable metric algorithm, Mathematics Branch, Atomic Energy Research Establishment, Harwell, Berkshire, England, October 1969 (мимеографическая запись). П2. Пауэлл (Powell M. J. D.), A survey of numerical methods for unconstrained optimization, SI AM Rev., 12, 1 A970), 79—97. ПЗ. Полак (Polak E.), On the convergence of optimization algorithms, Rev. Fr. Inform. Rech. Operation, 16-R1 A969), 17—34. П4. Полак (Polak E.), On primal and dual methods for solving discrete optimal control problems, в сб. Computing Methods in Optimization Problems—2 под ред. Zadeh L. A., Neustadt L. W., Balakrishnan A. V., Academic Press, New York, 1969, pp. 317—331. П5 Полак (Polak E.), Computational methods in discrete optimal control and nonlinear programming: a unified approach, Electronics Research Laboratory Memo N° ERL-M261, University of California, Berkeley, February 1969. П6 Полак (Polak E.), On the implementation of conceptual algorithms, Proc. Nonlinear Programming Symp. Univ. Wise, Madison, Wise, May 4—6, 1970 (в печати). П7. Полак, Депари (Polak E., Deparis M.), An algorithm for minimum- energy control, IEEE Trans., AC-14 D) A969), 367—378. П8. Полак, Рибьер (Polak E., Ribiere G.), Note sur la convergence de metho- des de directions conjugees, Rev. Fr. Inform. Rech. Operation, 16-RI A969), 35—43. П9. Поляк Б. Т., Градиентные методы минимизации функционалов, ЖВМ и МФ, 3, 4 A963), 643—653. *П10 Поляк Б. Т, Методы минимизации функций многих переменных, Экономика и математические методы, 3, 6 A967), 86—107.
368 СПИСОК ЛИТЕРАТУРЫ *П11. Поляк Б. Т., Итерационные методы, использующие множители Лаг- ранжа, для решения экстремальных задач с ограничениями типа равенств, ЖВМ и МФ, 10, 5 A970), 1098—1106. *Ш2. Поляк Б. Т., О скорости сходимости метода штрафных функций, ЖВМ и МФ, 11, 1 A971), 3—11. *П13. Поляк Б. Т., Сходимость методов возможных направлений в экстремальных задачах, ЖВМ и МФ, 11, 4 A971), 855—869. *Ш4. Поляк Б. Т., Метод сопряженных градиентов в задачах на экстремум, ЖВМ и МФ, 9, 4 A969), 807—821. П15 Понтрягин Л. С, Болтянский В. Г., Гамкрелидзе Р. В., Мищенко Е. Ф., Математическая теория оптимальных процессов, изд. 2-е, М., 1969. *Ш6. Пропой А. И., Элементы теории оптимальных дискретных систем, изд-во «Наука», М., 1973. *П17. Пшеничный Б. Н., Необходимые условия экстремума, изд-во «Наука», М., 1969. *П18. Пшеничный Б. Н., Алгоритмы для общей задачи математического программирования, Кибернетика, 5 A970), 120—126. *П19. Пшеничный Б. Н., Метод минимизации функций без вычисления производных, Кибернетика, 4 A973), 127—129. *П20. Пшеничный Б. Н., Двойственный метод в экстремальных задачах, I, II, Кибернетика, 3 A965), 89—95; 4 A965), 64—69. *Р1. Разумихин Б. С, Метод физического моделирования в математическом программировании и экономике, Автоматик! .и телемеханика, 3, 4, 6, A972); 2,4 A973). R2. Расселл (Russell D. L.), Penalty functions and bounded phase coordinate control, /. SI AM Contr., 2 A965), 409—422. РЗ. Розен (Rosen J. В.), The gradient projection method for* nonlinear programming, Part I: Linear constraints, /. SI AM, 8, 1 A960), 181—217. P4. Рокафеллар Р. Т., Выпуклый анализ, изд-во «Мир», М., 1973. Т1. Топкие, Вейнотт (Topkis D. М, Veinott A., Jr.), On the convergence of some feasible directions algorithms for nonlinear programming, /. SIAM Contr., 5, 2 A967), 268—279. T2. Трауб (Traub J. F.), Iserative methods for the solution of equatons, Prentice Hall, Englewood Cliffs, N. J., 1964. ТЗ. Тремольер (Tremolieres R.), Mehode des centres a troncature variable, Elec. Fr. Bull. Dir. Etudes Rech. Ser. C-Maih. Inform., 2 A968), 57—64. *Ф1. Федоренко Р. П., Опыт итерационного решения задач линейного программирования, ЖВМ и МФ, 5, 4 A965). Ф2. Фиакко, Мак-Кормик (Fiacco А. V., McCormick G. P.), The sequential unconstrained minimization technique for nonlinear programming, a primal-dual method, Management ScL, 10, 2 A964), 360—366. ФЗ. Фиакко А., Мак-Кормик Г., Нелинейное программирование. Методы последовательной безусловной минимизации, изд-во «Мир», М., 1972. Ф4. Флетчер, Пауэлл (Fletcher R., Powell M. J. D.), A rapidly convergent descent method for minimization, Comput. J., 6 A963), 163—168. Ф5 Флетчер, Ривс (Fletcher R., Reeves С. М.), Function minimization by conjugate gradients, Comput. J., 7, 2 A964), 149—154. Ф6. Франк, Вулф (Frank M., Wolfe P.), An algorithm for quadratic programming, Nav. Res. Logistics Quart., 3 A956), 95—110. XI. Харт (Hurt J.), Some stability theorems for ordinary difference equations, SIAM J. Num. Anal, 4, 4 A967), 582—596. X2. Хестенс (Hestenes M. R.), The conjugate gradient method for solving linear systems, «Proceedings of Symposia on Applied Mathematics», v. VI, «Numercal Analysis», New York, 1956, pp. 83—102. ХЗ. Хестенс, Штифель (Hestenes M. R, Stiefel E.), Methods of conjugate gradients for solving linear equations,i /. Res. Nat. Bur. Stand., 49 A952), 409.
СПИСОК ЛИТЕРАТУРЫ 369 Х4. Хьюард (Huard P.), Programmation matematique convexe, Rev. Fr. Inform. Rech. Operation., 7 A968), 43—59. *Ч1. Черноусько Ф. «П., Метод локальных вариаций для численного решения вариационных задач, ЖВМ и МФ, 5, 4 A965). *Ч2. Черноусько Ф. Л., Баничук Н. В., Вариационные задачи механики и управления, изд-во «Наука», М., 1973. Ш1. Шерюоль (Cheruault Y.), Une methode directe de minimization et applications, Rev. Fr. Inform. Rech. Operation, 10 A968), 31—52. *Ш2. Шор Н. 3., Использование операции растяжения пространства в задачах минимизации выпуклых функций, Кибернетика, 1 A970), 6—12. *ШЗ. Шор Н. 3., О скорости сходимости метода обобщенного градиентного спуска с растяжением пространства, Кибернетика, 2 A970), 80—85. Э1. Эрроу К. Дж., Гурвиц Л., Удзава X., Исследования по линейному и нелинейному программированию, ИЛ, М., 1962.
ИМЕННОЙ УКАЗАТЕЛЬ Абрамов А. А. 110 , 113 , 138 , 364 Авдеева Л. И. 33 , 366 Акилов Г. П. 57 , 133 , 366 Антосиевич (Antosiewicz H. А.) 57 , 133 , 364 Армийо (Armijo L.) 55 , 364 Балакришнан (Balakrishnan A. V.) 182 , 364 Баничук Н. В. 63 , 364 , 369 Барр (Вагг R. О.) 279 , 364 Беллман (Bellman R.) 107 , 111 , 129 , 132 , 135 , 364 Берж (Berge С.) 339 , 364 Болтянский В. Г. 26 , 368 Буй-Тронг Ли (Bui-Trong-Lieu) 183 , 184 , 191 , 364 Бюси (Bucy R. S.) 149 , 364 Ван-Слайк (Van Slyke R. M.) 195 , 249 , 364 Варайя (Varaiya P. P.) 33 , 364 Вейнотт (Veinott A.) 33 , 193 , 194 , 368 By (Wu F.) 10 Булф (Wolfe P.) 194 , 247 , 279 , 364 , 368 Гамкрелидзе Р. В. 26 , 368 Гермейер Ю. Б. 155 , 364 Гилберт (Gilbert E. G.) 10 , 279 , 364 , 365 Гирсанов И. В. 21 , 365 Голдштейн (Goldstein A. A.) 51 , 55 , 58 , 61 , 299 , 300 , 365 Гросс (Gross G.) 10 Гудмен (Goodman T. R.) 107 , 109 , 129 , 132 , 365 Гуленко В. П. 216 , 365 Гурвиц (Hurwiz L.) 33 , 369 Данилин Ю. М. 55 , 77 , 365 Данциг (Dantzig G. В.) 195 , 249 , 364 Демьянов В. Ф. 154 , 365 Депари (Deparis M.) 260 , 367 Джон (John F.) 22 , 365 Дубовицкий А. Я. 21 , 365 Дьёдонне (Dieudonne J.) 96 , 338 , 365 Дэвидон (Davidon W. С.) 77 , 314 , 365 Дэниел (Daniel J. W.) 80 , 303 , 365 Елкин (Elkin R. М.) 63 , 65 , 365 Еремин И. И. 154 , 155 , 365 Ермольев Ю. М. 216 , 365 Зангвилл (Zangwill W. I.) 10 , 32 , 33 , 155 , 365 , 367 Зойтендейк (Zoutendijk G.) 22 , 33 , 69 , 193—196 , 205 , 365 Зуховицкий С. И. 33 , 193 , 205 , 206 , 366 Исааксон (Isaacson E.) 297 , 366 Итон (Eaton J. H.) 260 , 366 Калаба (Kalaba R) 107 , 111 , 129 , 132 , 135 , 364 Калфонд (Kalfond P.) 240 , 366 Канторович Л. В. 57 , 133 , 366 Карри (Curry H.) 57 , 366 Келлер (Keller H. В.) 297 , 366 Кеннет (Kenneth P.) 107 , 111 , 129 , 132 , 135 , 366 Клессиг (Klessig R.) 10 , 40 , 329 , 330 , 351 , 352 , 366 Коши (Cauchy A. L.) 57 , 366 Коэн (Cohen A.) 10 , 62 , 303 , 312 , 313 , 366 Красовский Н. Н. 260 , 366 Куллум (Cullum С. D.) 9 , 17 , 21 , 22 , 25 , 26 , 58 , 207 , 211 , 247 , 249 , 250 , 356 , 366 Куллум (Cullum J.) 180 , 181 , 366 Кун (Kyhn H. W.) 22 , 24 , 77 , 366 Курант (Courant R.) 155 , 366 Кэнон (Canon M. D.) 9 , 17 , 21 , 22 , 25 , 26 , 58 , 207 , 211 , 247 , 249 , 250 , 356 , 366
ИМЕННОЙ УКАЗАТЕЛЬ 371 Ланс (Lance G. N.) 107 , 109 , 129 , 132 , 365 Левитин Е. С. 33 , 366 Ли (Lee G. S.) 107 , 366 Лутсма (Lootsma F. А.) 155 , 355 , 366 Любич Ю. И. 65 , 366 Майстровский Г. Д. 65 , 366 Мак-Джилл (McGill R.) 107 , 111 , 129 , 132 , 135 , 366 Мак-Кормик (McCormick G. P.) 155 , 169 , 170 , 355 , 367 , 368 Мангасарьян (Mangasarian О. L.) 22 , 251 , 367 Мейер (Meyer G.) 10 , 33 , 279 , 337 , 367 Мейер (Meyer G. E.) 78 , 79 , 367 Мейн (Mayne D. Q) 59 , 367 Мессерли (Messerli E. J.) 10 Милютин А. А. 21 , 365 Мищенко Е. Ф. 26 , 368 Моисеев Н. H. 7 , 113 , 182 , 367 Нейштадт (Neustadt L. W.) 260 , 367 Островский (Ostrowski A. M.) 293 , 367 Пауэлл (Powell M. J. D.) 10 , 64 , 77— 80 , 87 , 314 , 315 , 318 , 325 , 327 , 367 , 368 Петров В. М. 63 , 364 Пиронно (Pironneau О.) 10 Полак (Polak E.) 5—7 , 9 , 17 , 21 , 22 , 25 , 26 , 33 , 50 , 58 , 60 , 61 , 74 , 88 , 171 , 175 , 192 , 198 , 207 , 211 , 227 , 228 , 240 , 241 , 247 , 249 , 250 , 260 , 267 , 270 , 279 , 303 , 329 , 335 , 337 , 351 , 352 , 356 , 366 , 367 Поляк Б. Т. 33 , 65 , 77 , 154 , 155 , 366—368 Поляк Р. А. 193 , 205 , 206 , 366 Понтрягин Л. С. 26 , 368 Прайс (Price J. F.) 61 , 365 Примак М. Е. 193 , 205 , 206 , 366 Пропой А. И. 25 , 216 , 368 Пшеничный Б. Н. 21 , 55 , 65 , 154 , 251 , 365 , 368 ^азумихин Б. С. 155 , 368 Рассел (Russell D. L.) 180 , 181 , 368 Рафель (Raphel J.) 10 Рибьер (Ribiere G.) 74 , 240 , 303 , 366 , . 367 Ривс (Reeves С. М.) 73 , 312 , 368 Розен (Rosen J. В.) 227 , 231 , 232 , 240 , 368 Рокафеллар (Rockafellar R. Т.) 251 , 368 Рубинов А. М. 154 , 365 Соньо (Sogno J. С.) 240 , 366 Споерл (Spoerl J.) 10 Таккер (Tucker A. W.) 22 , 24 , 77 , 366 Топкие (Topkis D. М.) 33 , 194 , 368 Трауб (Traub J. F.) 368 Тремольер (Tremolieres R.) 184 , 368 Удзава (Uzawa H.) 33 , 369 Федоренко Р. П. 368 Фиакко (Fiacco A. V.) 155 , 169 , 170*. 355 , 368 Флетчер (Fletcher R.) 73 , 77 , 78 , 87. 312 , 314 , 368 Франк (Frank М.) 279 , 368 Фромовиц (Fromovitz S.) 367 Халкин (Halkin H.) 10 Харт (Hurt J.) 33 , 368 Хестенс (Hestenes M. R.) 66 , 70 , 368 Хьюард (Huard P.) 10 , 183 , 184 , 186 , 188 , 191 , 364 , 369 Черноусько Ф. Л. 63 , 364 , 369 Шерюоль (Cheruault Y.) 63 , 369 Шор Н. 3. 77 , 369 Штифель (Stiefel E.) 66 , 368 Эрроу (Arrow К.) 33 , 369 Якобсон (Jacobson D. Н.) 10 Ярасасингам (Jeyarasasingam К.) 10»
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ абстрактная проблема 29 алгоритм декомпозиции 195 , 209 двойственный 250 прямого типа 275 , 279 , 283 — наискорейшего спуска 46 , 57 — — — модифицированный 60 реализуемая модификация 50 — Полака — Рибьера 74 , 88 , 101 , 286 , 303 рекомендуемая реализация 351 — с переменной метрикой (Дэвидо- на — Флетчера — Пауэлла) 77 , 88 , 314 рекомендуемая реализация 353 — Флетчера — Ривса 73 , 88 , 100 , 312 алгоритмы двойственные 247 — нестационарные 38 — пэ выбору шага 49 , 54 , 56 — принципиальные 27 — прямые 247 — реализуемые 27 — стационарные 38 барьерные методы (методы внутренних штрафных функций) 155 версия ЗПП 208 восстановление 87 вторая производная 339 вычисление градиентов в задачах дискретного оптимального управления 88—91 непрерывного оптимального управления 96 — 98 гибридный метод (объединение метода возможных направлений с методом штрафных функций) 211 — — проекции градиента 241 градиент 96 градиентные методы 346 градиентный метод для задачи непрерывного оптимального управления 98 рекомендуемый 349 с аппроксимацией производных 60 выбором величины шага по методу золотого сечения 50 диада 78 дискретизация задач непрерывного* оптимального управления 18 — 20 дроби Фибоначчи 49 желательные точки 29 задача геометрическая 276 алгоритм 279 — двойственная 247 , 257 алгоритм 260 , 267 , 270 — дискретного оптимального управления 15 формы записи в терминах задачи нелинейного программирования 17 — квадратичного программирования 264 , 265 , 282 — на быстродействие 270 — нелинейного программирования 15 — непрерывного оптимального управления 16 — со свободным временем 94 с фиксированным временем 94 — о минимуме энергетических затрат 273 — прямая 247 , 253 закон управления с обратной связью 126 застревание алгоритма 194
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 373 касательное отображение 255 квадратичная целевая функция в задаче дискретного оптимального управления 125 — — непрерывного оптимального управления 149 квазилинеаризация 107 , 111 , 132 — 135 квазиньютоновский алгоритм 58 модифицированный 61 — метод 349 рекомендуемый 350 краевые задачи 106 матрица вторых производных для задачи оптимального управления 92 метод Абрамова ПО , 113 — 116 , 136 — 140 , 145 — возможных направлений 193 — в задачах с ограничениями типа равенств 210 оптимальном управлении 212 второго порядка 217 Зойтендейка 196 Зуховицкого — Поляка — Примака 206 Полака 198 рекомендуемый , с квадратичным поиском 362 линейным поиском 359 , 361 Топкиса — Вейнотта 194 — Гаусса — Зейделя 63 , 65 — Г\дмена —Ланса 107 , 109 , 129 — 132 — локальных вариаций 62 , 63 — Ляпунова 32 — Ньютона — Рафсона 57 , 58 , 104 , 107 , 109 , 117 , 129 , 286 « — в банаховом пространстве 132 — проекции градиента 222 , 228 для задач оптимального управления 244 — 246 ускоренная версия 239 элементарный 229 — сопряженных градиентов 351 вычислительные аспекты 87 постановка задачи 66 прототип 67 — центров 183 , 184 — — модифицированный 188 реализация 192 , 337 — штрафных функций внешних 154 , 156 модифицированный 171 метод штрафных функций внутренних 155 , 162 модифицированный 175 вычислительные аспекты 168 комбинированный (смешанный) 155 , 166 рекомендуемый 355 с подпроцедурой сопряженных градиентов 357 модель алгоритма нестационарной версии методов возможных направлений 40 zi+l = a(Zi) , c(zt+i) < c(Zi) 29 zi+i <== A(Zi) , c(zi+i) < c(Zi) 31 гг+1е=Ле (гг) , < — ae 33 н( , ) , (+) < —-ae 35 Zt+i e= A(e , Zi)y c( — c(e , Zi) < ae 329 Z< + i€d(/ , Z<) , C(Zi + l) < C(Zi) 335 нахождение корней 104 норма Фробениуса 325 поиск по методу золотого сечения 49 , 192 , 336 правило остановки 29 принцип максимума Понтрягина 26 процесс биортогонализации 69 расширенная задача оптимального управления 181 решение допустимое 21 — оптимальное 21 сведение задачи со свободным временем к задаче с фиксированным временем 94 скорость сходимости для алгоритма с переменной метрикой 314 , 324 квазиньютоновского алгоритма 299 , 300 — метода Ньютона — Рафсона 294 , 300 сопряженных градиентов 303 модифицированного метода наискорейшего спуска 291 , 292 степень обусловленности 346
374 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ сходимость квадратичная 297 — линейная 285 — по крайней мере линейная 285 — сверхлинейная 294 , 297 теорема сходимости для алгоритма Флетчера — Ривса 74 Полака — Рибьера 75 — — — градиентных методов 47 , 52 метода локальных вариаций 64 — — — — переменной метрики 79 — 87 модели алгоритма 30 , 31 , 34 , 35 , 38 , 40 , 44 , 45 , 332 , 335 прототипа метода сопряженных градиентов 67 , 69 — о среднем 338 обобщенная 338 формула Тейлора для разложений второго порядка 339 — первого порядка 338 функция выпуклая 339 строго 340 — индексная 331 — итерационная Ньютона — Рафсона .57 — поиска 29 — прерывания 335 — расстояния 168 , 184 , 191 штрафные функции 154 внешние 156 внутренние 163 в оптимальном управлений 176 — 183 уравнение Риккати в задачах дискретного оптимального управления 123 — 128 непрерывного оптимального управления 147—153 условия оптимальности для задачи дискретного оптимального управления 25 — — нелинейного программирования 21—25 , 104 , 186 , 206 , 227 непрерывного оптимального управления 26 — регулярности Куна — Таккера 207 , 211 , 356 , 357 , 361 , 362 е-активное множество индексов 195 е-дробление 200 Л() 187 194 , 195 Ц(') 205 Ц(-) 207 А°(-) 209 0 # 218 220
ОГЛАВЛЕНИЕ Предисловие к русскому изданию ¦. . . 5 Из предисловия автора 8 К сведению читателя . . ....... . . 11 Обозначения и символы 12 1. Обозначения . 12 2 Символы 13 1. Предварительные результаты 15 1.1. Задачи нелинейного программирования и оптимального управления 15 1 2. Условия оптимальности 21 1 3. Модели и условия сходимости численных методов 27 2. Минимизация без ограничений 46 2.1. Градиентные и квазиньютоновские методы в Rn 46 2.2 Связь с вычислением производных 60 2.3. Методы сопряженных градиентов в R" 65 2.4. Задачи дискретного оптимального управления без ограничений 88 2 5. Задачи непрерывного оптимального управления без ограничений 93 3. Ограничения типа равенств: задачи о поиске корней и краевые задачи 102 3 1 Нули функции и задачи с ограничениями типа равенств в Rn 102 3.2 Краевые задачи и оптимальное управление дискретными процессами 106 3.3. Краевые задачи и непрерывное оптимальное управление . . . 128 4. Ограничения типа равенств и неравенств 154 4.1. Методы штрафных функций 154 4.2. Методы центров 183 4 3 Методы возможных направлений 193 4.4. Методы возможных направлений второго порядка 217 4 5. Методы проекции градиента 222 5. Выпуклые задачи оптимального управления 247 5.1. Сведение к нелинейному программированию 247 5.2. Двойственный алгоритм декомпозиции 259 5.3. Алгоритм декомпозиции прямого типа 275 6. Скорость сходимости 285 6.1 Линейная сходимость 285 6.2. Сверхлинейная сходимость: квазиньютоновские методы .... 294 6.3. Сверхлинейная сходимость: методы сопряженных градиентов . . 303 6.4. Сверхлинейная сходимость: алгоритм с переменной метрикой 314
ОГЛАВЛЕНИЕ Приложение А. Дальнейшие модели для вычислительных методов . . . 329 АЛ. Модель для реализации некоторых принципиальных алгоритмов оптимального управления 329 А.2. Модель без обратной связи для реализации принципиальных алгоритмов 334 Приложение В. Свойства непрерывных функций 338 8.1. Разложения непрерывных функций 338 8.2. Выпуклые функции 339 8.3. Ряд вспомогательных результатов 341 Приложение С. Руководство по реализации алгоритмов 344 С.1. Общие рассуждения 344 С.2. Градиентные методы 346 С.З. Квазиньютоновские методы 343 С.4. Алгоритмы сопряженных градиентов 351 С.5. Методы штрафных функций 354 Сб. Методы возможных направлений с линейным поиском .... 358 С.7. Методы возможных направлений с квадратичным поиском . . 362 Список литературы 364 Именной указатель 370 Предметный указатель . 372 УВАЖАЕМЫЙ ЧИТАТЕЛЬ! Ваши замечания о содержании книги, ее оформлении, качестве перевода и другие просим присылать по адресу: 129820, Москва, И-110, ГСП, 1-й Рижский пер., д. 2, издательство «Мир». Э. Полак ЧИСЛЕННЫЕ МЕТОДЫ ОПТИМИЗАЦИИ. ЕДИНЫЙ ПОДХОД Редактор Л. Б. Штейнпресс Художник Ю. С. Урманчеев Художественный редактор В. И. Шаповалов Технический редактор Н. И. Манохина. Корректор И. П. Максимова Сдано в набор 12/V 1974 г. Подписано к печати 17/Х 1974 г. Бумага тип. № 1 бОХЭО'Д* бум. л. 11,75, печ. л. 23,50 в т/ч вкл. Уч.-изд. л. 21,56. Изд. № 1/7511. Цена 1 р. 76 к. Зак. 209. ИЗДАТЕЛЬСТВО «МИР» Москва, 1-й Рижский пер., 2 Ордена Трудового Красного Знамени Ленинградская типография № 2 имени Евгении Соколовой Союзполиграфпрома при Государственном комитете Совета Министров СССР по делам издательств, полиграфии и книжной торговли. 198052, Ленинград, Л-52, Измайловский проспект, 29