/
Автор: Деннис Дж. Шнабель Р.
Теги: вычислительная математика численный анализ математика численные методы
ISBN: 5-03-001102-1
Год: 1988
Текст
Дж.Дэннис, Р.Шнабель Численные методы безусловной оптимизации и решения нелинейных уравнений /
Prentice-Hall Series in Computational Mathematics Numerical Methods for Unconstrained Optimization and Nonlinear Equations J. E. Dennis, Jr. Rice University R. B. Schnabel University of Colorado at Boulder Prentice-Hall, Inc., Englewood Cliffs, New Jersey 07632
Дж. Дэннис, мл., Р. Шнабель Численные методы безусловной оптимизации и решения нелинейных уравнений Перевод с английского О. П. Бурдакова под редакцией Ю. Г. Евтушенко Москва «Мир» 1988
ББК 22.193 Д94 УДК 519.61 Дэннис Дж., мл., Шнабель Р. Д94 Численные методы безусловной оптимизации и решения нелинейных уравнений: Пер. с англ. — М.: Мир, 1988. — 440 с, ил. ISBN 5-03-001102-1 Монография известных американских специалистов, посвященная как теории численных методов оптимизации, так и вопросам реализации этих методов на ЭВМ. Особое внимание уделено наиболее эффективным методам ньютоновского типа. Приведены пакеты программ решения прикладных задач оптимизации. Для математиков-вычислителей, инженеров-исследователей, аспирантов и студентов вузов. Редакция литературы по математическим наукам ISBN 5-03-001102-1 (русск.) © 1983 by Prentice-Hall, Inc. ISBN 0-13-627216-9 (англ.) © пеРевод на РУССКИЙ язйк* с ,оВоТо0р" w**^ V'UU6 *1UJ \ап f скими исправлениями, «Мир», 19?§
Предисловие редактора перевода и переводчика Вниманию читателя предлагается книга американских специалистов в области численного анализа Джона Дэнниса, мл., и Роберта Шнабеля. Она посвящена двум важным и тесно между собой связанным разделам: безусловной минимизации и решению нелинейных уравнений. Наряду с серьезным теоретическим материалом, отражающим современное состояние исследований в рассматриваемой области, в книге большое внимание уделяется вопросам программной реализации численных методов и их преподавания в высшей школе. Авторы сознательно ограничились рассмотрением численных методов ньютоновского (квазиньютоновского) типа. Класс этих методов отличает концептуальное единство и достаточная широта охвата, причем на практике такие методы—одни из наиболее эффективных. Общая идея методов такова: на каждой итерации сначала строится модельная аппроксимация исходной задачи (линейная в случае нелинейных уравнений и квадратичная для безусловной минимизации), а затем на основе ее решения находится новое приближение. По такой же схеме проводится исследование сходимости. Впервые столь подробно в литературе на русском языке излагаются метод доверительной области, квазиньютоновские методы типа секущих и др. Методы, не вошедшие в указанный класс, в достаточной мере представлены ссылками на литературу. В связи с тем что в оригинале имеется только одна ссылка на работу советских авторов, мы решили указать несколько отечественных монографий, содержащих обширные списки литературы. Полагаем, что книга вполне пригодна для формирования у читателя целостного представления о современном состоянии численных методов минимизации и решения нелинейных уравнений. Более четверти книги занимают два приложения, написанные Робертом Шнабелем. В отличие от несколько схематичного описания алгоритмов в основной части цнрги, впрлне до-
6 Предисловие редактора перевода и переводчика статочного для их теоретического рассмотрения, здесь алгоритмы представлены уже с той степенью детализации, которая требуется для их непосредственной программной реализации. Они составляют в приложении А целостную систему алгоритмов безусловной минимизации и решения нелинейных уравнений. Эта система основана на модульном принципе, ориентирована на учет особенностей машинной реализации и хорошо документирована. При ее написании использован условный алгоритмический язык, который вполне естественно реализуется на Фортране, Алголе, Паскале, Си и других языках программирования. Кстати, некоторые конструкции этого псевдоязыка, описанного в разд. 1.3 приложения А, иногда используются и в основной части книги. Приложение В составляют тестовые задачи безусловной минимизации и решения нелинейных уравнений. Как отмечали сами авторы, любая большая система алгоритмов неизбежно содержит опечатки и некоторые неточности. В этом авторы оказались, к сожалению, правы. Вероятно, и мы окажемся правы, если повторим это утверждение. Несколько глав вводного характера делают книгу доступной для тех, кто знаком лишь с основами математического анализа и линейной алгебры. Изложение методически продумано и сопровождается упражнениями. Имеются подробные рекомендации по использованию книги в качестве учебного пособия. При этом следует учитывать, что в США учебный семестр длится 12—15 недель, а в неделю проводится 3 лекции, каждая около одного часа. Основная часть книги может быть использована для чтения лекций студентам и аспирантам, а упражнения — для проведения семинаров. Приложения могут составить основу учебных проектов. Однако возможности содержащейся в приложении А модульной системы алгоритмов гораздо шире и позволяют создавать также пакеты прикладных программ для решения практических задач. В процессе работы над переводом возникали всевозможные вопросы, породившие довольно интенсивную переписку с авторами. Все исправления в книге сделаны либо с ведома авторов, либо по их собственной инициативе. Мы выражаем Дж. Дэннису и Р. Шнабелю глубокую признательность за внимание к нашему труду. Русскому изданию авторы предпослали посвящение «То world peace», что можно перевести как «Делу мира во всем мире». Они предложили подписаться под ним и нам, также работавшим над книгой. Мы с радостью подписываем это посвящение, отражающее искреннее стремление наших народов к миру. Ю. Г. Евтушенко О. П. Бурдаков
Делу мира во всем мире Дж. Дэннис, мл., Р. Шнабель, О. Бурдаков, Ю. Евтушенко Предисловие к русскому изданию С большим удовольствием мы приветствуем издание этой книги на русском языке. При ее написании мы стремились к тому, чтобы она была полезной для студентов, научных работников, а также для практиков, инженеров и всех тех, кто использует методы оптимизации. На наш взгляд английский вариант книги соответствует этим целям, и мы надеемся, что русское издание окажется столь же полезным. Хотя прошло уже четыре года со времени выхода в свет первого издания на английском языке, книга на наш взгляд практически не устарела. Основной материал книги по безусловной минимизации и решению нелинейных уравнений, как мы считали, стабилизировался в своем развитии в период ее написания, и время, по-видимому, доказало правильность этой оценки. Хотя исследования в этой области продолжались, мы считаем, что за прошедшее время не произошло каких-либо существенных изменений. Вероятно, наиболее важное продвижение, о котором нам известно, заключалось в разработке усложненных вариантов алгоритмов и программного обеспечения для решения задачи «модель — доверительная область» в случае, когда матрица Гессе не является знакоопределенной (см., например, работы More, Sorensen [SIAM Journal on Scientific and Statistical Computing 4, 1983J, Gay [SIAM Journal on Scientific and Statistical Computing 2, 1981]), и кроме того в широком развитии теории исследования таких методов (см. также Shultz, Schnabel, Byrd [SIAM Journal on Numerical Analysis 22, 1985]). Это привело к появлению алгоритмов, которые обладают более сильными свойствами глобальной сходимости по сравнению с приведенными в разд. 6.3.1, и в которых удается избежать априорного возмущения незна- коопределенных матриц Гессе в целях получения положительно определенных матриц, как это делается в разд. 5.6. Еще одним интересным достижением являются анализ и вычислительный эксперимент, проведенные в недавних работах Powell
8 Предисловие к русскому изданию [Mathematical Programming 34, 1986] и Byrd, Nocedal, Yuan [SIAM Journal on Numerical Analysis, 1987J, которые дают более удачное объяснение превосходству положительно определенной формулы секущих (BFGS) над обратной положительно определенной формулой секущих (DFP) при решении задач безусловной оптимизации. Были достигнуты успехи также и в некоторых непосредственно примыкающих областях, включая глобальную оптимизацию, методы решения задач большой размерности со специальной структурой и методы для решения задач безусловной оптимизации и систем нелинейных уравнений на параллельных ЭВМ. Приведенное в приложении программное обеспечение получило широкое распространение и было включено в другие пакеты программ, книги-и библиотеки математического программного обеспечения. Мы по-прежнему предоставляем это программное обеспечение в распоряжение научных работников для использования в исследовательских целях. Нам хочется выразить особую благодарность О. Бурдакову за превосходно выполненную работу по переводу. Стремясь как можно точнее перевести книгу, он изучил ее столь тщательно, что выявил большое количество опечаток и неточностей. Мы признательны ему за этот вклад в укрепление международных научных связей. Дж. Дэннис, мл. Р. Шнабель Май 1987
Предисловие Книга представляет собой подробное введение в численное решение задач безусловной оптимизации и систем нелинейных уравнений, не требующее от читателя глубоких знаний математических и вычислительных дисциплин. Работа над книгой была начата в 1977 г., поскольку мы считали, что к этому времени алгоритмы и теория решения таких задач малой и средней размерности достигли зрелого состояния и что был бы полезен подробный справочный материал. Книгу можно использовать при подготовке курса лекций для аспирантов или студентов-старшекурсников, а также ее можно рекомендовать для самостоятельного изучения научным работникам, инженерам и всем, кому рассматриваемые задачи интересны с практической точки зрения. Минимальная подготовка, необходимая для чтения книги,— это знание основ математического анализа и линейной алгебры. Читатель, должно быть, в той или иной мере знаком с математическим анализом многих переменных, тем не менее в гл. 4 приводится подробный обзор всей необходимой информации. Несомненную пользу мог бы принести курс вычислительной линейной алгебры или элементов численных методов; часть этого материала кратко представлена в разд. 1.3 и гл. 3. Все рассматриваемые здесь алгоритмы основываются на идее метода Ньютона. Они часто называются методами ньютоновского типа, однако мы предпочитаем термин квазиньютоновские методы. К сожалению, этот термин используется специалистами лишь для подкласса методов, представленного гл. 8 и 9. Поскольку этот подкласс состоит из естественных обобщений метода секущих на многомерный случай, мы предпочитаем называть их методами секущих. Конкретные варианты методов секущих обычно носят имена своих создателей, поэтому в тексте неизбежно встречаются соответствующие не всегда понятные аббревиатуры. Вместе с тем мы пытались
1 0 Предисловие предложить для них содержательные названия, отвечающие их месту в общей схеме изложения. Ядро книги составляет материал по численным методам решения многомерных задач безусловной оптимизации и нелинейных уравнений. Он представлен гл. 5—9. Глава 1 — вводная, она принесет больше пользы студентам, специализирующимся в чистой математике и информатике, чем читателям, имеющим некоторый опыт в научных приложениях. Глава 2, которая посвящена одномерному варианту рассматриваемых задач, является иллюстрацией нашего подхода и одновременно его обоснованием. Глава 3 может быть пропущена читателями, уже изучавшими вычислительную линейную алгебру, а гл. 4 — теми, кто обладает основательными познаниями в математическом анализе многих переменных. Глава 10 дает довольно полное изложение алгоритмов решения нелинейной задачи о наименьших квадратах, которая относится к важному классу задач безусловной оптимизации и из-за ее специфики решается специальными методами. В ней существенно используется материал предыдущих глав. В гл. 11 указываются некоторые перспективные направления исследований; здесь отдельные разделы сложнее, чем предыдущий материал. Мы использовали эту книгу в учебных курсах для старшекурсников и аспирантов. Для первых из них гл. 1—9 образуют фундаментальный курс, а для последних может быть использована вся книга целиком. При этом если гл. 1, 3 и 4 оставить для самостоятельного чтения, то курс займет около половины семестра. Оставшуюся часть семестра легко заполнить указанными главами или другим материалом, не вошедшим в книгу. Наибольшую важность среди опущенного нами материала представляют методы, не связанные с методом Ньютона для решения задач безусловной минимизации и нелинейных уравнений. Большинство из них важны только в частных случаях. Симплексный алгоритм Нелдера — Мида !> [см., например, Ав- риель (1976)], эффективный для задач с менее чем пятью переменными, может быть изложен за час. Методы сопряженных направлений [см., например, Гилл, Мюррей и Райт (1981)] относятся собственно к курсу вычислительной линейной алгебры, но благодаря малому объему требуемой памяти ЭВМ они оказываются полезными и для задач оптимизации с очень большим числом переменных. Их можно вкратце изложить за два часа, полное же изложение заняло бы две недели. Наиболее трудным для нас было решение опустить методы Брауна — Брента. Их идея изящна и они поразительно эффективны при хороших начальных приближениях для решения си- !) Он также известен под названием «алгоритм (демпфируемого) многогранника» — Прим. перев.
Предисловие ff стем уравнений, часть из которых линейны. Этим методам в наиболее распространенной форме нельзя отдать безусловное предпочтение в задачах общего вида. Они вряд ли где-либо освещались так же широко, как симплексный алгоритм и алгоритм сопряженных градиентов. Отсутствие этих методов можно восполнить одной или двумя лекциями (опуская доказательства) (см., например, Дэннис (1977)]. Наконец, среди методов, имеющих важное значение, не нашли отражения методы типа продолжения или гомотопии, работы по которым возобновились с новой силой в 70-х гг. Эти изящные идеи могут пригодиться как крайнее средство в исключительно трудных задачах, хотя в целом они все же не конкурентоспособны. На изложение превосходного обзора Алговера и Джорджа (1980) потребуется по крайней мере две недели. Книга снабжена большим количеством упражнений, многие из которых содержат дальнейшее развитие идей, лишь слегка затронутых в тексте. Большое приложение, написанное Р. Шна- белем, имеет целью обеспечить как основами для учебных проектов, так и важным справочным материалом для тех читателей, кто хочет вникнуть в детали алгоритмов и, возможно, разработать свои собственные версии. Рекомендуем читателю на раннем -этапе чтения ознакомиться с предисловием к приложению. Некоторые вопросы терминологии и обозначения вызвали особенные трудности. Ранее уже упоминалось о смешении понятий «квазиньютоновские методы» и «методы секущих». Кроме того, в заглавии книги мы использовали термин «безусловная оптимизация», а в тексте — «безусловная минимизация», поскольку в действительности рассматривается только минимизация, а задача максимизации очевидным образом сводится к минимизации. Важный термин «глобальный» часто интерпретируется по-разному, поэтому в разд. 1.1 пояснено, как именно он понимается в книге. Наконец, основная проблема в обозначениях состояла в том, чтобы различать между собой /-ю компоненту л-мерного вектора (скаляр, обычно обозначаемый как xi) и i-ю итерацию в последовательности таких векторов х (вектор, также обычно обозначаемый как *,•). После нескольких неудачных попыток было решено допустить эту неоднозначность в обозначениях, поскольку подразумеваемый смысл всегда понятен из контекста. В действительности это обозначение редко используется в обоих смыслах в одном и том же разделе. Нам хотелось без ущерба для изложения сделать книгу настолько краткой и недорогой, насколько это возможно. Исходя из этого, безжалостно редактировались некоторые доказательства и целые темы. Мы старались использовать обозначения, отвечающие тонкому вкусу и одновременно лучшему понима-
12 Предисловие нию, и включать доказательства, способствующие хорошему усвоению предмета, опуская те, которые всего лишь устанавливают справедливость утверждений. Мы ожидаем больше критики в отношении того, что было опущено, нежели в отношении того, что включено. Однако, как известно каждому преподавателю, наиболее трудной и важной частью составления учебного курса является решение о том, что следует опустить. Мы искренне благодарим Идалию Келлар, Арлин Хантер и Долорес Пендел за перепечатку многочисленных вариантов рукописи, а также студентов за их поразительную способность отыскивать неясные места. Дэвид Гэй, Вирджиния Клема, Хо- мер Уолкер, Пит Стюарт и Лэйн Уотсон использовали черновой вариант книги в курсах лекций в Массачусетском технологическом институте, Лоренцевской лаборатории Ливермора, Университете Хьюстона, Университете Нью-Мексико, Университете Мериленд и Вирджинском политехническом институте и внесли полезные предложения. Тронд Стейхауг и Майк Тодд высказали ряд удачных замечаний по некоторым разделам. Дж. Дэннис, мл. Райсовский университет Р. Шнабель Университет Колорадо в Боулдере
Прежде всего одно программное замечание В первых четырех главах книги содержатся вводные сведения и излагаются побудительные мотивы к исследованию многомерных нелинейных задач. В гл. 1 вводятся задачи, которые будут обсуждаться в дальнейшем. Затем в гл. 2 приводятся некоторые алгоритмы решения нелинейных задач только одной переменной. Излагая эти алгоритмы так, чтобы отразить основные идеи всех рассматриваемых далее в книге нелинейных алгоритмов, мы надеемся тем самым обеспечить читателя доступным и прочным фундаментом для исследования многомерных нелинейных задач. В гл. 3 и 4 содержится материал по основам вычислительной линейной алгебры и многомерного анализа, необходимый для перехода к задачам более чем одной переменной.
1 Введение В книге приводятся и анализируются методы и алгоритмы численного решения трех важных нелинейных задач: решение систем нелинейных уравнений, безусловная минимизация нелинейного функционала и задача оценки параметров по нелинейному принципу наименьших квадратов. В разд. 1.1 даются постановки этих задач и предположения, в рамках которых они в дальнейшем будут рассматриваться. В разд. 1.2 приводятся примеры нелинейных задач и обсуждаются характерные особенности задач, встречающихся на практике. Читатель, уже знакомый с кругом таких задач, может при желании пропустить этот раздел. В разд. 1.3 резюмируются особенности машинной арифметики конечной точности, которые необходимо знать читателю для понимания машинно-зависимых элементов обсуждаемых в тексте алгоритмов. 1.1. ПОСТАНОВКИ ЗАДАЧ В настоящей книге рассматриваются три часто встречающиеся на практике нелинейные задачи с действительными переменными. Хотя при довольно естественных предположениях они с математической точки зрения эквивалентны, мы не будем применять для всех них одни и те же алгоритмы. Вместо этого будет продемонстрирована способность наилучших среди имеющихся в настоящее время алгоритмов учитывать специфику каждой задачи. Среди трех задач, с которыми мы будем иметь дело, решение систем нелинейных уравнений, называемых далее «нелинейными уравнениями», является самой основной. Вместе с тем она имеет меньше всего специфических особенностей, учитываемых в алгоритмах. Задача состоит в следующем: задано: F:Rn->Rn, найти ^sR", для которого F (*J = 0 <= R", (1.1.1)
1.1. Постановки задач 15 где Rn обозначает n-мерное евклидово пространство. Представление (1.1.1) есть один из стандартных способов задания системы из п уравнений с п неизвестными, при котором правая часть каждого уравнения полагается равной нулю. Примером служит где F (*,,) = 0 при *» = (1,— 2)г. Несомненно, что х*> являющееся решением (1.1.1), будет точкой минимума для t(fi(x))\ где fi(x) обозначает i-ю компоненту функции F. Это частный случай задачи безусловной минимизации: задано: /:R*-*R, найти Jt.eR'1, для которого f(xm)^.f(x) при всех x^Rn. (1.1.2) Это вторая из рассматриваемых далее задач. Обычно (1.1.2) кратко записывается как min/:R"-*R. (1.1.3) Примером служит min / (хи хъ *3) = (*1 - З)2 + (х2 + 5)4 + (х3 - 8)2, x<=Rn где решение есть jc# = (3, —5, 8)г. В некоторых приложениях представляет интерес задача (1.1.3) с ограничениями min /:R"->R, (1.1.4) где Q — замкнутая связная область. Если решение задачи (1.1.4) лежит внутри Q, то (1.1.4) еще можно считать задачей безусловной минимизации. Но если л:*—граничная точка области Q, то минимизация / на Q становится задачей условной минимизации. Эта задача рассматриваться не будет потому, что способы ее решения менее изучены, чем в задаче безусловной минимизации, а, имея дело с последней, нам и без того есть чем заняться. К тому же техника решения задач без ограничений служит основой для алгоритмов решения задач с ограничениями. Многие подходы к решению задачи с ограничениями фактически сводятся либо к решению некото-
16 Гл. 1. Введение рой родственной ей задачи безусловной минимизации, чье решение х по крайней мере очень близко к решению х* задачи с ограничениями, либо к построению системы нелинейных уравнений, решение которой совпадает с х+. Наконец, большой процент задач, которые встречались нам на практике, суть задачи или без ограничений или же с ограничениями, но очень простого вида (к примеру: каждая компонента х должна быть неотрицательной). Третья из рассматриваемых задач также является частным случаем безусловной минимизации, но из-за ее важности и специфичной структуры, она представляет самостоятельный интерес для исследования. Это нелинейная задача о наименьших квадратах: задано: R: Rn -> Rm, m > n, m найти x0 e R", для^которого £ (rt (x))2 минимально, (1.1.5) где через ri(x) обозначена /-я компонента функции R. Задача (1.1.5) наиболее часто встречается при проведении кривой по точкам. Она также может возникать всякий раз, когда в нелинейной системе количество нелинейных связей превосходит число степеней свободы. Мы будем иметь дело исключительно с тем весьма общим случаем, когда нелинейные функции F, f и R дифференцируемы соответственно один раз, дважды и дважды непрерывно. При этом нет необходимости предполагать, что имеются аналитически заданные производные, а всего лишь, что функции достаточно гладки. Дальнейшие замечания относительно характерных размеров и других характеристик решаемых на сегодняшний день делинейных задач можно найти в разд. 1.2. Весьма типичным при численном решении нелинейной задачи является такой сценарий. Пользователя просят задать процедуру для вычисления функции (функций), фигурирующей в постановке задачи, и начальную точку *0, т. е. грубое приближение к решению х*. Если это не вызывает особых трудностей, то пользователя просят задать первые и, возможно, вторые производные. В книге особый акцент делается на трудностях, наиболее часто встречающихся при решении задач. Они укладываются в рамки следующих вопросов: (1) что делать, если начальное приближение хо не близко к решению х+ («глобальный метод»), и как это эффективно сочетать с методом, использующимся вблизи от решения («локальный метод»); (2) что делать, если в нашем распоряжении нет аналитически заданных производных; (3) разработка алгоритмов. эффективных в тех случаях, когда вычисление функции (функций), определяющей задачу, стоит дорого (часто это именно
1.1. Постановки задач 17 так, причем стоимость порой становится критическим фактором). Будут рассмотрены основные методы и описаны детали алгоритмов, являющихся в настоящее время наилучшими для решения таких задач. Будет также дан анализ того, что, по нашему убеждению, имеет непосредственное отношение к пониманию этих методов и к возможности их дальнейшего обобщения и улучшения. В частности, мы попытаемся выделить, специально заострив на них внимание, идеи и методы, которые в результате их развития заняли центральное место в данной области. На наш взгляд, эта область достигла состояния, когда упомянутые методы легко выделяемы, и хотя все же возможны некоторые усовершенствования, в будущем не следует ожидать новых алгоритмов, которые привели бы к заметному скачку вперед по сравнению с теми, что считаются на сегодня наилучшими. Методы решения нелинейных уравнений и задач безусловной минимизации тесно связаны. Большая часть книги посвящена этим двум задачам. Нелинейная задача о наименьших квадратах есть всего лишь частный случай безусловной минимизации, однако можно так модифицировать методы безусловной минимизации, учитывая преимущества специфики нелинейной задачи о наименьших квадратах, что для нее в результате получатся более эффективные алгоритмы. Таким образом, гл. 10 в действительности является развернутым иллюстративным примером, демонстрирующим то, как применять и обобщать предшествующий этому материал книги. Одна задача, к которой мы не обращаемся в книге, заключается в нахождении «глобального минимума» нелинейной функции, иными словами, самого наименьшего значения f(x) в случае, когда имеется много изолированных локальных минимумов, т. е. решений задачи (1.1.2) в открытых связных областях пространства Rn. Это очень сложная задача, о которой нельзя сказать, что она так же широко изучена и успешно решается, как и рассматриваемые нами задачи. Данной теме посвящены два сборника статей под ред. Диксона и Сегё (1975, 1978). На протяжении всей книги используется термин «глобальный», например в сочетаниях «глобальный метод» или «глобально сходящийся алгоритм», для обозначений метода, в котором обеспечивается сходимость к локальному минимуму нелинейной функции или к некоторому решению системы нелинейных уравнений почти из любой начальной точки. Было бы видимо удачнее называть такие методы локальными или локально сходящимися, однако, согласно традиции, эти термины уже зарезервированы для использования в другом смысле. Любой метод, для которого гарантируется сходимость из любой начальной точки, вероятно, в общем случае весьма неэффективен [см. работу Алговера и Джорджа (1980)].
18 Гл. 1. Введение 1.2. ХАРАКТЕРНЫЕ ОСОБЕННОСТИ ВСТРЕЧАЮЩИХСЯ НА ПРАКТИКЕ ЗАДАЧ В этом разделе мы попытаемся дать некоторое представление о нелинейных задачах, встречающихся на практике. Сначала будут приведены три реальных примера нелинейных задач и некоторые соображения относительно их постановки как вычислительных задач. Затем будет сделано несколько замечаний по поводу размера, стоимости и других характеристик обычно встречающихся нелинейных задач. Обсуждение модельных задач затруднено тем, что происхождение и алгебраическое описание задач из этой области редко оказываются простыми. Хотя все это довольно интересно, но не для вводной главы книги по численному анализу. Поэтому наши примеры будут по мере возможности упрощены. Наиболее простыми среди нелинейных задач являются задачи с одной переменной. Например, исследователь хочет определить молекулярную конфигурацию некоторого соединения. Он выводит выражение f(x), задающее потенциальную энергию возможной конфигурации как функцию переменной х, представляющей собой тангенс угла между ее двумя компонентами. Затем, поскольку природа заставит молекулу принять конфигурацию с минимальной потенциальной энергией, желательно найти такое лг, для которого f(x) минимально. Это задача минимизации с единственной переменной х. Из физического смысла функции / ясно, что она сильно нелинейна. Верно и то, что она является задачей безусловной минимизации, так как х может принимать любое действительное значение. Поскольку эта задача имеет только одну переменную, она должна бы легко решаться методами из гл. 2. Однако мы сталкивались с аналогичными задачами, в которых f была функцией от 20 до 100 переменных, и хотя эти задачи не были трудными для решения, но каждое вычисление / стоило от 5 до 100 долл., так что они оказались дорогостоящими для решения. Другой широко известный класс нелинейных задач связан с выбором в некотором семействе кривых той, которая наилучшим образом приближает данные эксперимента или статистической выборки. На рис. 1.2.1 приведен иллюстративный пример встретившейся нам задачи такого типа. Имелось 20 спектроскопических измерений солнца yif полученных со спутника для длин волн U. По лежащей в основе этого теории любой набор из m таких измерений (/i,#i), ..., (tm,ym) может быть приближен колоколообразной кривой. Однако в полученных точках содержались экспериментальные ошибки, показанные на рисунке. Для того чтобы сделать необходимые выводы на основе данных, желательно найти колоколообразную кривую,
1.2. Характерные особенности задач 19 «наиболее близкую» к т точкам. Поскольку колоколообразная кривая в общем виде описывается формулой У{ХЬ *2> Х3, *4, 0 = *1+*2е~('+*з)2/*> это означает, что Х\У Х2, *з и х\ выбираются так, чтобы минимизировать некоторую совокупную меру расхождений (невязок) между точками данных и кривой. Невязки даются формулой П(х)Ау(хи *ъ *з. х*> t^ — yt. В качестве совокупной меры наиболее часто используется сумма квадратов величин г/, что приводит к определению колоко- лообразной кривой путем решения нелинейной задачи о наименьших квадратах: т т min / (х) A Z П (х)2= £ h + x2e-(fi+x*Wx* - yt\\ (1.2.1) xeR' i~\ i=\ Здесь уместны следующие замечания. Во-первых, причина, по которой задача (1.2.1) называется нелинейной задачей о наименьших квадратах, состоит в том, что невязки п(х) являются нелинейными функциями некоторых из переменных х\, *2, *э, *4. Фактически п линейны по хх и лег, и некоторые современные методы используют такую специфику (см. гл. 10). Во- вторых, существуют функции, иные нежели сумма квадратов, которые можно выбирать для определения меры отклонения данных точек от колоколообразной кривой. Два очевидных выбора суть т M*)=£lM*)i fOQ(x)= max \п(х)\. J L J L_ *i h t5 Рис. 1.2.1. Точки данных, которые требуется «наилучшим образом приблизить колоколообразной кривой.
20 Гл. 1. Введение Соображения, по которым для минимизации обычно выбирается /(лс), а не f\(x) или foo(x), иногда связаны со статистической интерпретацией, а иногда с тем, что получающаяся задача оптимизации гораздо лучше поддается математическому анализу, так как сумма квадратов в отличие от двух других функций непрерывно дифференцируема. На практике большинство задач о наилучшем приближении данных решается с использованием принципа наименьших квадратов. Часто / модифицируется введением «весов» при невязках, однако это не существенно для наших дальнейших рассуждений. В качестве последнего примера рассмотрим некоторый вариант задачи, встретившейся при изучении термоядерного реактора. Термоядерный реактор можно представить себе в виде тороидальной камеры с разогретой плазмой внутри (рис. 1.2.2). Реальная задача в упрощенном (ради наглядности) виде заключается в нахождении такого сочетания радиуса тора г, его ширины w и температуры плазмы /, которое приводило бы к наименьшей стоимости единицы вырабатываемой энергии. Специалисты установили, что стоимость единицы энергии моделируется выражением + C»(i+'S')<101""'',,• <'-2-2> где c\t С2, с3, с4—константы. Таким образом, задача состояла в минимизации / как функции от г, w и /. Однако имелись и другие важные аспекты задачи. Прежде всего г, w и t в отличие от переменных из предыдущих примеров не могли принимать произвольные действительные значения. Например, г и w не могли быть отрицательными. Следовательно, это задача условной минимизации. Всего было пять простых линейных ограничений на три переменные. / / г Температура^)^" Г [ f Рис. 1.2.2. Термоядерный реактор.
1.2. Характерные особенности задач 21 Важно подчеркнуть, что задача с ограничениями должна рассматриваться как задача условной оптимизации только тогда, когда наличие ограничений может повлиять на получающееся решение, т. е. когда ожидается, что решение задачи с ограничениями не совпадет с точкой минимума той же самой функции без ограничений. В задаче о термоядерном реакторе наличие ограничений обычно имело существенное значение, и поэтому задача решалась методами, учитывающими ограничения. Однако многие задачи с простыми ограничениями, такими, как ограничения снизу и сверху на переменные, можно решать алгоритмами безусловной минимизации, поскольку ограничения удовлетворяются в точке безусловного минимума. Отметим, что, как было написано, ограничения в задаче о термоядерном реакторе обычно влияли на решение. Это объясняется тбм, что требовалось решить 625 вариантов задачи, отвечающих различным значениям констант сь с2> £з и с*. Значения этих констант зависят от таких факторов, как, например, стоимость электроэнергии, которая будет постоянной во время эксплуатации реактора, но которая заранее не известна. Было необходимо просчитать различные варианты задачи для того, чтобы увидеть, как изменение этих факторов влияет на оптимальные характеристики реактора. Часто в практических приложениях желательно решить много связанных между собой вариантов задачи. Это повышает требования к эффективности алгоритма, а также вынуждает проводить предварительные эксперименты с различными алгоритмами для оценки их эффективности на данном классе задач. И наконец, соотношение (1.2.2) было всего лишь простой моделью термоядерного реактора. При более детальном изучении выяснилось, что функция, определяющая стоимость единицы электроэнергии, не задается аналитически как в (1.2.2), а скорее представляет собой выходной результат некоторой модели реактора, включающей уравнения в частных производных. К тому же оказалось на пять параметров больше (рис. 1.2.3). Такого сорта функции встречаются часто в нелинейной оптимизации, и это серьезно повлияло на развитие алгоритмов. Прежде всего подобные функции, по-видимому, имеют лишь несколько верных десятичных знаков, поэтому не Определенные значения параметров х\.хг хв с использованием х как входных данных модели Вычисление /"(численное решение уравнений) в частных производных! ^ fix х * с использованием х 1 ' и j. *2,.. ., л»; Рис. 1.2.3. Вычисление функции по уточненной модели термоядерного реактора.
22 Гл. 1. Введение имеет смысла требовать высокой точности в десятичных знаках решения. Затем хотя функция / может быть много раз непрерывно дифференцируемой, ее производные обычно недоступны. Это одна из причин* по которой аппроксимация производных становится столь актуальной. И наконец, вычисление / может оказаться довольно дорогостоящим, что служит дополнительным стимулом к разработке эффективных алгоритмов. Приведенные выше задачи дают некоторое представление о типичных характеристиках нелинейных задач. Первая — это ее размер. Хотя существуют, конечно, задачи, имеющие больше переменных, чем в рассмотренных примерах, но большая часть имеет, на наш взгляд, относительно немного переменных, скажем от 2 до 30. Современное состояние дел здесь таково, что можно надеяться решить большинство малых задач, имеющих, скажем, от 2 до 15 переменных, но при этом даже двумерные задачи могут оказаться трудными. К задачам среднего размера в рассматриваемой области относятся те, что имеют от 15 до 50 переменных. Современные алгоритмы решают многие из них. Задачи с 50 и более переменными являются большими. Если о такой задаче нельзя сказать, что она слабо нелинейна или имеется хорошее начальное приближение к решению, то у нас мало шансов решить ее эффективно. Эти оценки размеров очень изменчивы и зависят от алгоритмов меньше, чем от наличия быстродействующей памяти и других возможностей ЭВМ. Второй вопрос касается наличия производных. Часто встречаются задачи, в которых нелинейная функция сама определена как результат численного моделирования на ЭВМ или задается громоздкой формулой. Таким образом, ситуация часто такова, что в нашем непосредственном распоряжении нет аналитически заданных производных, хотя сама функция много раз непрерывно дифференцируема. Поэтому важно иметь алгоритмы, эффективно работающие в отсутствие аналитических производных. Действительно, если библиотека программ для ЭВМ предоставляет возможность аппроксимировать производные, то пользователи редко задают их аналитически — кто упрекнет их в этом? В-третьих, как указывалось выше, решения многих нелинейных задач довольно дорогостоящи либо из-за многократного вычисления дорогостоящей нелинейной функции, либо из-за того, что сама задача заключается в решении большого числа взаимосвязанных подзадач. Мы слышали о 50-мерной задаче, связанной с нефтяной техникой, где на каждое вычисление функции тратится 100 ч работы ЭВМ IBM-3033. Эффективность, выражаемая в терминах времени счета алгоритма и ко-
1.2. Характерные особенности задач 23 личества вычислений функции и производных, играет важную роль в развитии нелинейных алгоритмов. В-четвертых, во многих приложениях пользователь рассчитывает получить в ответе лишь несколько верных десятичных знаков. Это вызвано прежде всего тем, что приближенными по своей природе являются другие составляющие задачи, например сама функция, параметры модели, данные. С другой стороны, пользователи часто требуют больше правильных десятичных знаков, чем им на самом деле нужно. Хотя желание иметь более высокую точность разумно, скажем, для того, чтобы удостовериться, что сходимость достигнута, но дело в том, что необходимая точность редко бывает близка к машинной точности. Пятый вопрос, кстати не проиллюстрированный выше, связан с плохой масштабированностью многих реальных задач. Имеется в виду, что переменные значительно отличаются между собой по порядку величины. Например, одна переменная может постоянно находиться в пределах от 106 до 107, а другая — в пределах от 1 до 10. В нашей практике такое встречалось удивительно часто. Однако большинство работ в данной области обошло вниманием проблему масштабирования. В книге мы постараемся обратить внимание на случаи, когда игнорирование эффекта масштабирования может ухудшить работу нелинейных алгоритмов, и попытаемся исправить эти недостатки в рассматриваемых алгоритмах. И наконец, в этой книге рассматриваются только те нелинейные задачи, где переменные могут принимать любые действительные значения, в противоположность задачам, где некоторые переменные принимают только целые значения. Сказанное относится и ко всем нашим примерам, однако читатель может поинтересоваться: реалистично ли вообще это ограничение. Ответ таков, что существуют, конечно, нелинейные задачи, где некоторые переменные должны быть только целочисленными, поскольку они представляют собой такие величины, как, например, число людей, автомобилей и тому подобное. Однако поскольку утрачивается всякая непрерывность, то эти ограничения делают задачу настолько сложной для решения, что часто самым лучшим бывает решить ее, рассматривая дискретные переменные как непрерывные и затем округляя до целых числа, полученные в решении. Теоретически такой подход не гарантирует получение решения исходной целочисленной задачи, но на практике он часто дает вполне разумное решение. Исключение составляют задачи, в которых некоторые дискретные переменные могут принимать только несколько значений, например 0, 1 или 2. В этом случае должны использоваться дискретные методы [см., например, Бил (1977), Гар- финкель и Немхаусер (1972)].
24 Гл. 1. Введение 1.3. АРИФМЕТИКА КОНЕЧНОЙ ТОЧНОСТИ И ИЗМЕРЕНИЕ ОШИБОК Некоторые элементы рассматриваемых вычислительных алгоритмов, такие, как проверка на сходимость, зависят от того, насколько точно в ЭВМ представляются действительные числа. Уместно отметить, что понимание машинной арифметики влияет на написание вычислительных программ. Поэтому нам необходимо дать краткое описание арифметики, конечной точности, являющейся машинной версией арифметики действительных чисел. Более подробно об этом написано в книге Уилкинсона (1963). В так называемой экспоненциальной форме записи1) число 51.75 представляется как +0.5175 X Ю+2. В ЭВМ действительные числа представляются аналогичным образом с использованием знака (в нашем примере это «+»), основания системы счисления (10), порядка (+2) и мантиссы (0.5175). Это представление становится единственным, если потребовать, чтобы 1/основание ^ мантисса < 1, т. е. первый «десятичный» разряд справа от десятичной точки не должен быть нулевым. Длина мантиссы, называемая точностью представления, особенно важна для численных расчетов. Это представление действительных чисел в ЭВМ называется представлением с плавающей точкой. Будем обозначать через fl(jc) представление с плавающей точкой числа *. На ЭВМ CDC основание равно 2, а мантисса имеет 48 разрядов. Поскольку 2^^ 10м-4, это означает, что можно точно хранить до 14 значащих десятичных цифр числа. Порядок может меняться от —976 до +1070, тем самым наименьшее и наибольшее числа примерно равны 10-294 и 10322. На ЭВМ IBM основание равно 16, а мантисса состоит из 6 разрядов в случае одинарной точности и из 14 в случае двойной точности, что отвечает приблизительно 7 и 16 десятичным разрядам соответственно. Порядок может меняться от —64 до +63, так что наименьшее и наибольшее числа примерно равны 10~77 и 1076. Хранение действительных чисел только с конечной точностью имеет серьезные последствия, которые можно легко изложить в краткой форме. Во-первых, коль скоро не всякое действительное число может быть точно представлено в машине, то в лучшем случае можно ожидать, что решение будет верным с машинной точностью. Во-вторых, в зависимости от машины и компилятора результат каждой промежуточной арифметической операции либо округляется, либо усекается до ма- ') В оригинале — scientific notation —Прим. перев.
1.3. Арифметика конечной точности и измерение ошибок 25 шинной точности. Таким образом, погрешность, связанная с конечной точностью, может накапливаться и еще более понизить точность результатов. Такие ошибки называются ошибками округления. Несмотря на то что влияние округления может быть весьма незначительным, на самом деле существуют по крайней мере три основные ситуации, в которых оно может чрезмерно ухудшить вычислительную точность. Первая возникает при сложении последовательности чисел, в особенности если числа расположены в порядке убывания их абсолютных величин. В этом случае из-за конечноразрядного представления промежуточных результатов происходит потеря крайних справа разрядов меньших слагаемых (как пример см. упр. 4). Вторая связана с вычислением разности двух почти совпадающих чисел. При этом происходит значительная потеря точности, так как наиболее важные крайние слева разряды разности имеют нулевые значения (в качестве примера см. упр. 5). Третья возникает при решении почти вырожденных систем линейных уравнений. Эта ситуация рассматривается в гл. 3. Она фактически является следствием первых двух ситуаций, но вместе с тем она является настолько основополагающей и важной, что мы предпочитаем рассматривать ее как третью основную ситуацию. Если постоянно помнить об этих трех ситуациях при написании и использовании вычислительных программ, то можно понять и избежать многие проблемы, связанные с использованием арифметики конечной точности. Из-за использования арифметики конечной точности, и даже в большей степени из-за итеративной природы алгоритмов мы не получаем точного ответа в большинстве нелинейных задач. По этой причине часто необходимо оценивать близость одного числа х к другому числу у. Наиболее часто будет использоваться понятие относительной ошибки величины у при аппроксимации ненулевой величины х: \х-у\ 1*1 ' Она более предпочтительна при хфО, нежели абсолютная ошибка: \х — У\> так как последняя мера близости зависит от масштабов х и у у а первая —нет (см. упр. 6). При измерении ошибок и при обсуждении алгоритмов будет полезно следующее общепринятое обозначение. Пусть заданы две последовательности положительных действительных чисел а, и р„ i= 1,2,3, ...;. тогда будем писать а/= 0(0*) (читается «а,- есть О большое от Pi»), если существует некоторая положительная константа с, такая, что а/^с-Р/ для
26 Гл. 1. Введение всех /, за исключением, быть может, конечного подмножества. Это обозначение используется для указания того, что величина каждого а, имеет тот же порядок, что и соответствующее р„ или, возможно, еще меньше. Дополнительные сведения можно найти в книге Ахо, Хопкрофта и Ульмана (1974). Другое последствие арифметики конечной точности состоит в том, что определенные элементы алгоритмов, такие, как критерий останова, будут зависеть от машинной точности. Поэтому важно ввести характеристику машинной точности так, чтобы рассуждения и вычислительные программы могли быть довольно независимыми от любой конкретной машины. Обычно используется понятие машинный эпсилон (machine epsilon) или кратко macheps. Для конкретной вычислительной машины оно определяется как наименьшее положительное число т, такое, что 1 + т> 1 (см. упр. 7). Например, поскольку на ЭВМ CDC имеется 48 двоичных разрядов, то macheps = 2~47 для арифметики с усечением и 2~48 для арифметики с округлением. Величина macheps весьма полезна при рассмотрении машинных чисел. Например, можно легко сказать, что относительная ошибка машинного представления П(л:) любого действительного ненулевого числа х меньше, чем macheps, и, наоборот, машинное представление любого действительного числа х будет лежать в пределах (x(l — macheps), x(l + macheps)). АнаЛЪ- гично, два числа хну совпадают в крайней слева половине их разрядов, когда '^'^Vmacheps. Эта проверка довольно типична для наших алгоритмов. Другой взгляд на величину macheps служит ключом к трудному вопросу принятия решения о том, когда в определенном контексте машинное число могло бы также выступать только как нулевое. Нулем 0 традиционно считается единственное решение уравнения х + 0 = х для любого действительного числа х. В случае представления чисел с конечной точностью роль нуля в этом тождестве играет интервал 0*, который содержит 0 и приблизительно равняется (—macheps •*, +macheps-A:). Нередко в процессе вычислений возникают машинные числа х и у, имеющие настолько различные порядки величин, что fl(* + y) = fl(x). Это означает, что в данном контексте у неотличимо от нуля, и иногда, как, например, в численных алгоритмах линейной алгебры, полезно контролировать вычисления и, в самом деле, присваивать у нулевое значение. И наконец, любому пользователю ЭВМ следует знать о явлениях переполнения и антипереполнения1), встречающихся, ) Это явление называют также исчезновением порядка. — Прим. перев.
1.3. Арифметика конечной точности и измерение ошибок 27 когда в процессе вычислений возникает ненулевое число, порядок которого больше или соответственно меньше крайних значений диапазона, отведенного в ЭВМ под порядки. Например, антипереполнение возникает при обращении на ЭВМ CDC числа 10322, а переполнение—при обращении на ЭВМ IBM числа ю-77. В случае переполнения почти любая вычислительная машина прекратит счет и выдаст сообщение об ошибке. Компилятор часто обеспечивает на случай антипереполнения возможностью выбора — или прекращать счет, или подставлять нуль вместо выражения, приведшего к этому. Последняя альтернатива является разумной, но не всегда (см. упр. 8). К счастью, если использовать хорошо написанные программы линейной алгебры, то алгоритмы, рассматриваемые в этой книге, обычно не приводят к переполнению или антипереполнению. Так, численная реализация вычисления евклидовой нормы вектора (см. разд. 3.1) II v I = У*} + *» + ... +v*n, v е R", требует особой тщательности. 1.4. УПРАЖНЕНИЯ 1. Дайте стандартную формулировку задачи решения системы нелинейных уравнений: найти (хи х2)т, такое, что *? + 2 = 4 2. В лабораторном эксперименте измеряются значения функции f в 20 различных моментах времени t в пределах от 0 до 50. Известно, что /(/) представляет собой синусоидальную волну, однако неизвестны ее амплитуда и частота, а также ее смещение в направлении осей f и t Как бы вы поставили вычислительную задачу для нахождения этих характеристик из ваших экспериментальных данных? 3. У экономиста имеется сложная вычислительная модель экономики, которая оценивает темпы инфляции по заданным темпам безработицы, темпам роста валового национального продукта и по числу строившихся в прошлом году жилых домов. Требуется определить такую комбинацию этих трех факторов, которая приведет к наименьшим темпам инфляции. Вам предстоит поставить и решить эту задачу численно. (a) К какому типу вычислительной задачи ее можно было бы свести? Как вы поступите с переменной «число строившихся жилых домов»? (b) В чем состоят те вопросы, которые*вы хотели бы задать экономисту, стремясь сделать задачу наиболее удобной для численного решения (например, относительно непрерывности, производных, ограничений)? (c) Окажется ли решение этой задачи дорогостоящим? Почему? 4. Предположим, в вашем распоряжении имеется вычислительная машина, у которой основание системы счисления и точность представления чисел
28 Гл. 1. Введение соответственно равны 10 и 4. Пусть после каждой арифметической операции производится усечение, так что, например, сумма 24.57 + 128.3 = 152.87 становится равной 152.8. Каковы будут результаты, если сложить числа 128.3, 24.57, 3.163 и "0.4825 сначала в порядке их возрастания, а затем в порядке убывания? Как они согласуются с правильным «бесконечно точным> результатом? Что это вам говорит относительно сложения последовательности чисел на ЭВМ? 5. Предположим у вас имеется та же вычислительная машина, что в упр. 4, и вы производите вычисление (1. _ 0.3300 Vo .3300. Сколько верных цифр по сравнению с точным ответом вы получите? Что это вам говорит относительно вычитания на ЭВМ почти совпадающих чисел? 6. Каковы относительная и абсолютная ошибки ответа, полученного ЭВМ в упр. 5, по сравнению с правильным ответом? Что если заменить задачу на такую: ((-q— ) — 33]/33? Что это вам говорит о полезности относительной ошибки в сравнении с абсолютной? 7. Напишите программу вычисления машинного эпсилона имеющейся в нашем распоряжении ЭВМ или микрокалькулятора. Вы можете предположить, что macheps будет равен' 2 в некоторой степени, так что ваш алгоритм мог бы выглядеть следующим образом: EPS := 1 WHILE 1 + EPS > 1 DO EPS :=* EPS/2. Введите счетчик, который позволит узнать в конце программы, какой степенью двойки является macheps. Выведите на печать его значение, а также десятичную запись числа macheps. (Замечание. Значение macheps будет отличаться на коэффициент 2 в зависимости от того, какая используется арифметика — с округлением или с усечением. Почему?) Дальнейшая информация о вычислении на ЭВМ характеристик машинного оборудования имеется в статье Форда (1978). 8. В каждом из следующих выражений произойдет антипереполнение (на ЭВМ IBM). В каких случаях было бы целесообразно подставить нуль вместо величины, вызывающей антипереполнение? (a) a:=^/W+cтf где 6—1, с^Ю"50. (b) а := ^Ь2 + с2, где Ь = с — 10"50. (c) v := (ю • х)/(у * г), где w =* 10*"30, х = Ю"60, у = 10"40, г = 10"50. Почему?
2 Нелинейные задачи с одной переменной Начнем изучение методов решения нелинейных задач с обсуждения задач, имеющих только одну переменную, таких, как нахождение решения одного нелинейного уравнения с одним неизвестным и нахождение минимума функции одной переменной. Причина для отдельного изучения задач с одной переменной состоит в том, что они позволяют увидеть те принципы построения эффективных локальных и глобальных алгоритмов, а также алгоритмов с аппроксимацией производных, которые послужат базисом для наших алгоритмов решения задач с многими переменными. Для этих целей не требуются знания линейной алгебры и многомерного анализа. Алгоритмы решения многомерных задач будут более сложными, чем рассматриваемые в данной главе, однако понимание изложенной здесь сути основного подхода окажет несомненную помощь в многомерном случае. Вот некоторые ссылки на литературу, в которой подробно рассматриваются задачи этой главы: Авриель (1976), Брент (1973), Конт и де Бур (1980), Дальквист, Бьёрк и Андерсон (1974). 2.1. О ТОМ, ЧЕГО НЕ СЛЕДУЕТ ОЖИДАТЬ Рассмотрим задачу нахождения действительных корней каждого из следующих трех нелинейных уравнений с одним неизвестным: /i М = х4 - 12JC3 + 47Х2 - 60*, f2 (х) = х4 - 12JC3 + 47Х2 - 60* + 24, /3 (х) = х4 — 12Ж3 + 47JC2 — 60х + 24.1 (рис. 2.1.1). Было бы замечательно, если бы мы имели универсальную программу на ЭВМ, которая говорила нам: «Корнями
30 Гл. 2. Нелинейные задачи с одной переменной f\(x) являются х = 0, 3, 4 и 5; действительными корнями f2(x) являются х=\ и хё*0.888; fz(x) действительных корней не имеет». Вряд ли когда-либо будет существовать такая программа. Вообще говоря, вопросы существования и единственности, типа — имеет ли данная задача решение, и единственно ли оно? — выходят за рамки возможностей, которые следует ожидать от алгоритмов решения нелинейных задач. В самом деле, мы должны с готовностью допускать, что для любого вычислительного алгоритма найдутся нелинейные функции (если желаете, то даже бесконечно дифференцируемые), достаточно замысловатые, чтобы вывести из строя этот алгоритм. Поэтому все, что может гарантировать пользователю алгоритм, примененный к нелинейной задаче, заключается в ответах: «Приближенным решением задачи является » или «Приближенное решение задачи не было найдено за отведенное время». Тем не менее во многих случаях постановщик нелинейной задачи знает из практических соображений, что она имеет решение, и либо решение единственно, либо требуемое решение лежит в определенной области. Таким образом, невозможность установить существование или единственность решения обычно не является тем, что заботит практиков в первую очередь. Очевидно также, что для большинства нелинейных задач представляется возможным найти лишь приближенные решения. Это следует не только из конечной точности наших вычислительных машин, но также из классического результата Галуа о том, что для полиномов степени п ^ 5 невозможно найти решение в замкнутой форме, использующей только целые числа, операции +, —, X, -f-, возведение в степень и извлечение корней целой степени от 2-й до n-й. По этой причине мы будем развивать методы, нацеленные на отыскание одного из приближенных решений нелинейной задачи. Рис. 2.1.1. Уравнение fx (х) — х* — \2х9 + 47х2 — 60*.
2.2. Метод Ньютона 31 2.2. МЕТОД НЬЮТОНА РЕШЕНИЯ ОДНОГО УРАВНЕНИЯ С ОДНИМ НЕИЗВЕСТНЫМ Наше рассмотрение задачи о нахождении корня одного уравнения с одним неизвестным начинается с метода Ньютона, который служит прототипом выводимых далее нами алгоритмов. Предположим, требуется вычислить квадратный корень из 3 с точностью до некоторого приемлемого числа разрядов. Это можно рассматривать как задачу о нахождении приближенного корня х* функции f(x) = x2 — 3 (рис. 2.2.1). Если хс = 21) есть начальное или текущее приближение к ответу, то можно получить более удачное приближение *+, проведя прямую, касательную к графику f(x) в точке (2, f(2)) = (2, 1), и найдя точку х+, в которой эта прямая пересекает ось х. Поскольку х+ = хс — Ал: ftr\ — *У — f(*c) Г К*с) — Дл: — Дл. > то мы имеем или П*с) Л* = Л</= /(**), Х+ — Хс Г <*«> (2.2.1) Рис. 2.2.1. Итерация метода Ньютона для / (х) = х2 — 3 (в искаженных масштабах). !) Нижний индекс с происходит от слова current (текущий). — Прим. пере в.
32 Гл. 2. Нелинейные задачи с одной переменной что дает 1 X + = 2-f = ;i.75. Логично следующим шагом применить тот же прием к но- ному текущему приближению хс = 1.75. Использование (2.2.1) дает х+ = 1.75 - (0.0625/3.5) = 1.732у, которое уже имеет четыре верных разряда числа д/3. Еще одна итерация дает х+^ 1.7320508, которое имеет восемь верных разрядов. Метод, который мы только что вывели, называется методом Ньютона — Рафсона, или методом Ньютона. Для лучшего понимания было бы важно взглянуть на то, что нами сделано, с более абстрактных позиций. На каждой итерации строилась локальная модель функции f(x) и решалась задача отыскания корня этой модели. В данном случае наша модель Мс (х) = f (хс) + Г (хс) (х - хс) (2.2.2) представляет собой единственную линейную функцию со значением f(xc) и наклоном f'{xc) в точке хс (прописная буква М используется здесь в соответствии с обозначениями в многомерном случае и во избежание путаницы с задачами минимизации, где наша модель обозначается через тс(х)). Нетрудно убедиться в том, что Мс(х) пересекает ось х в точке *+, определенной в (2.2.1). Из педагогических соображений надо сказать, что мы по« лучили метод Ньютона, представляя f{x) в окрестности текущего приближения Хс в виде ее ряда Тейлора: f(x) = f(xe) + f'(xe)(x-xe)+ ГМ(х-х.у + _ 21 -Z ГЧхе)(х-хе)< (223) /-0 и затем аппроксимируя f(x) аффинной1) частью этого ряда, которая тоже, естественно, задается формулой (2.2.2). Корень опять же задается формулой (2.2.1). Имеется несколько причин, по которым мы предпочитаем другой подход. Малопри- ') Будем называть (2.2.2) аффинной моделью, несмотря на то что ее часто называют линейной моделью. Причина заключается в том, что аффинная модель соответствует афинному подпространству, проходящему через (х, f(x))t т.е. соответствует прямой, которая не обязательно проходит через начало координат, тогда как линейное подпространство обязательно проходит через начало координат.
2.2. Метод Ньютона 33 влекательно, да и вовсе нет необходимости в том, чтобы строить предположения относительно производных порядка более высокого, чем на самом деле используется на итерации. Кроме того, при рассмотрении многомерных задач производные более высокого порядка становятся настолько сложными, что их понимание требует больших усилий, чем любой из приводимых далее алгоритмов. Вместо этого метод Ньютона получается просто и естественно из теоремы Ньютона 1) X f(x) = f(xe)+ \f'(z)dz. хс Представляется разумным аппроксимировать этот интеграл по формуле х \f'(z)dz~f'(xc)(x-xc) хс и еще раз получить аффинную аппроксимацию f{x)9 заданную в (2.2.2). Такой способ вывода окажется для нас полезным в многомерных задачах, где различные способы вывода из геометрических соображений становятся менее успешными. Метод Ньютона типичен для методов решения нелинейных задач. Он является итерационным процессом, генерирующим последовательность точек, которые, как мы надеемся, становятся все более близкими к решению. Возникает естественный вопрос: «Будет ли он работать?» Ответом является твердое «да». Отметим, что если бы f(x) была линейной, то метод Ньютона нашел бы ее корень за одну итерацию. Теперь посмотрим, что он будет делать в общей задаче нахождения квадратного корня: задано <х>0, найти х, такое, что f(x) = x? — а = 0, начиная с текущего приближения хсФО. Поскольку — f(*c) _ *с-а _ ХС i ° *+ — Хс у {Хс) —Хс 2хс — 2 + 2хс , имеем или, используя относительную погрешность, получаем х, — л/а ( * — л/а \2 / л/а \ ^т- - (-V-) • (У • <2-2-4Ь> *) В отечественной литературе эта теорема известна как формула Ньютона—Лейбница. При переволе будем придерживаться терминологии оригинала. — Прим. перев.
34 Гл. 2. Нелинейные задачи с одной переменной Таким образом, коль скоро начальная погрешность \хс — д/а | меньше, чем \2хс\, то новая погрешность |л;+ — У<х | будет меньше старой погрешности |*с — Va I» и в конце концов каждая новая погрешность будет гораздо меньше предыдущей погрешности. Это согласуется с нашими наблюдениями при нахождении квадратного корня из 3 в примере, с которого начинался данный раздел. Характер уменьшения погрешности, заданной (2.2.4), типичен для метода Ньютона. Погрешность на каждой итерации будет приблизительно равна квадрату предыдущей погрешности, так что если начальное приближение было достаточно хорошим, то погрешность будет уменьшаться и в конце концов уменьшение станет быстрым. Такой характер сходимости известен как локальная ^-квадратичная сходимость. Прежде чем получить общую теорему сходимости метода Ньютона, необходимо обсудить вопрос о скорости сходимости. 2.3. СХОДИМОСТЬ ПОСЛЕДОВАТЕЛЬНОСТЕЙ ДЕЙСТВИТЕЛЬНЫХ ЧИСЕЛ Пусть задан итерационный метод, генерирующий последовательность точек хих2у ... из начального приближения х0. Нам бы хотелось знать — сходятся ли итерации к решению х„ и если сходятся, то как быстро. Предположим, что нам известно то, что подразумевается под записью lim ak = О fc-»oo для последовательности действительных чисел {а*}. Тогда следующее определение дает необходимые нам в дальнейшем характеристики свойств сходимости. Определение 2.3.1. Пусть jc+eK, xk^R, £ = 0,1,2, ... . Тогда говорят, что последовательность {**} = {дсо, х\,х2, ...} сходится к х„ если lim |xk — х0\ = 0. fc->oo Если, кроме того, существуют константа се [0, 1) и целое k ^ 0, такие, что для всех k ^ & l*A+i —*. К *1 ** — *.!■ то говорят, что {xk} является q-линейно сходящейся к х*. Если для некоторой последовательности {ck}> сходящейся к 0, имеет место 1*м-хт\<ск\хк — хл |, (2.3.2)
2.3. Сходимость последовательностей действительных чисел 35 то говорят, что {xk} сходится q-сверхлинейно к х*. Если {xk} сходится к х* и существуют постоянные р>1, с>0 и й^О, такие, что для всех k ^ # \хк+1-х.\^с\хк-хш\р, (2.3.3) то говорят, что {xk} сходится к4 с q-порядкоМу по меньшей мере равным р. Если р = 2 или 3, то говорят, что скорость сходимости является q-квадратичной или q-кубической соответственно. Если {л:*} сходится к х* и вместо (2.3.2) выполняется \xk+J — xj^ck\xk — xj для некоторого фиксированного целого /, то говорят, что {л:*} является j-шагово q-сверхлинейно сходящейся к х*. Если {л:*} сходится к Xk н вместо (2.3.3) для k ^ £ выполняется I **+/ — *. К *|*Л — xj при некотором фиксированном целом /, то говорят, что {xk} имеет j-шаговую сходимость q-порядка, по меньшей мере равного р. Примером q-линешой сходимости служит последовательность Xq = 2, Х\ = Tj- , Х2 = -£-, *з = "g"» • • • > AT/ = 1 + 2 , .... Эта последовательность сходится к jt*=l, имея с = у. Нг ЭВМ CDC потребуется 48 итераций для достижения fl(**) = l. Примером <7-кваДРатично сходящейся последовательности служит y — 1 — 5 — 17 _ 257 _ 1 i о-2* 0 — 2 ' Х{ — 4 ' *2 — ~\6 ' Хз — 256 »•••>** — А i ^ > • • • > которая сходится к jq* = 1, имея с= 1. На ЭВМ CDC f 1 (дг6) будет равно 1. На практике ^-линейная сходимость может быть довольно медленной, в то время как ^-квадратичная или <7-сверхлинейная сходимость станет в конце концов довольно быстрой. Однако реальное поведение также зависит от констант с в (2.3.1—2.3.3), например q-липешая сходимость с с = 0.001, вероятно, является вполне удовлетворительной, а с с = 0.9 — нет. (Другие примеры имеются в упр. 2 и 3.) Стоит подчеркнуть, что эффективность 9_свеРхлинейной сходимости непосредственно связана с тем, сколько итераций требуется для того, чтобы ck стало малым. Когда речь идет о порядках сходимости, следует различать префикс «9», происходящий от слова quotient (частное), и «г», происходящий от root (корень), г-порядок характеризует скорость сходимости более слабого типа. В этом случае все, что
36 Гл. 2. Нелинейные задачи с одной переменной можно сказать про погрешности \xk — х*\ последовательности, имеющей г-порядок, равный р, заключается в том, что они ограничены сверху другой последовательностью с <7-поРяДком> равным р. Строгое определение имеется в книге Ортеги и Рейнболдта (1970). Итеративный метод, сходящийся с определенной скоростью к истинному решению при условии, что он стартует в достаточной близости от этого решения, называется локально сходящимся с упомянутой скоростью. В этой книге нас будут интересовать главным образом методы, которые сходятся локально 9-сверхлинейно или ^-квадратично и у которых такое поведение явно наблюдается на практике. 2.4. СХОДИМОСТЬ МЕТОДА НЬЮТОНА Здесь будет показано, что для большинства задач метод Ньютона сходится ^-квадратично к корню одного нелинейного уравнения с одним неизвестным при условии, что имеется достаточно хорошее начальное приближение. Однако он может вообще не сходиться из-за плохого начального приближения, и тогда необходимо привлекать глобальные методы из разд. 2.5. Доказательство локальной сходимости метода Ньютона опирается на оценку погрешностей в последовательности аффинных моделей Мс(х), рассматриваемых как аппроксимации для f(x). Поскольку эта аппроксимация была получена с использованием f'(xc) (х — хс) в качестве аппроксимации для х \f'{z)dz, хс то нам необходимо сделать некоторые предположения относительно гладкости р с тем, чтобы оценить погрешность аппроксимации, равную х f{x)-Mc{x)= $ [/'(*)-П*с)]Жг. хс Прежде всего дадим определение непрерывности по Липшицу. Определение 2.4.1. Функция g называется непрерывной по Липшицу с константой у на множестве X (записывается как g<=Lipy(X))t если \g(*) — g(y)\<y\x — y\ для любых х,у^Х. Для установления сходимости метода Ньютона докажем сначала простую лемму, показывающую, что если Р(х) непре-
2.4. Сходимость метода Ньютона 37 рывна по Липшицу, то можно получить верхнюю границу близости аппроксимации f(x)-\-f'(x) (у — х) к f(y). Лемма 2.4.2. Пусть /: D-+R и //eLipY(D) для открытого интервала D. Тогда для любых x,y^D lf(y)-f(*)-n*)(*/-*)l<Y(y2-*)2- (2.4.1) Доказательство. Как известно из основ анализа, f(y) — f(x) = у = \ Y fe) dz, что эквивалентно х У f(y)-f (х) - Г (х) (У~х) = \ W (г) - Y (*)] dz. (2.4.2) X После замены переменных z = x + t(y — x), dz = dt(y — x) (2.4.2) принимает вид f(y)-f(x)-f'(x)(y-x)=\[f'(x + t(y-x))-f'(x)](y-x)dt. о И, таким образом, используя непрерывность по Липшицу /', получаем 1Ш-/М-П*)(»-*)К <\У- x\\y\t(y-x)\dt = y\y-xfl2. П о Отметим, что (2.4.1) очень напоминает оценку погрешности, определяемой остаточным членом в формуле Тейлора, при этом константа Липшица у играет роль ограничения сверху на If (5)1» где £eZ). Основное преимущество использования непрерывности по Липшицу заключается в том, что оно освобождает нас от необходимости рассматривать следующую по порядку производную. Это особенно удобно в многомерном случае. Теперь мы в состоянии сформулировать и доказать фундаментальную теорему вычислительной математики. Будет доказана самая полезная форма этого результата, а более общие вынесены в упражнения (см. упр. 13—14). Теорема 2.4.3. Пусть /: D->R, где D — открытый интервал Д и пусть f eLi/?Y(D). Предположим, что для некоторого
38 Гл. 2. Нелинейные задачи с одной переменной р > 0 |f(*)I^P ПРИ всех x^D. Если f(x) = 0 имеет решение **еО, то существует некоторое ц > О, такое, что если |х0 — — **|<Л> то последовательность {**}, задаваемая формулой Xk+i = xk— у . . , & = 0, 1, 2, ..., существует и сходится к х*. Более того, для £ = 0,1, ... Доказательство. Пусть те(0,1), и пусть т) есть радиус1) наибольшего открытого интервала с центром в х*, содержащегося в D. Обозначим rj = min{fj, т(2р/у)}. Покажем по индукции, что для k = 0, 1, 2, ... выполняется (2.4.3) и Доказательство по сути просто показывает, что на каждой итерации погрешность \xk+\ — **| ограничена константой, умноженной на погрешность, допускаемую аффинной моделью при аппроксимации / в л% и оцениваемую по лемме 2.4.2 как О(|агл — х*\2). Для k = 0 X\ x. — Xo *. -jr—--x0 x4 ^,(jCq) — = 77^-5- [/ (x.) - f (x0) - Г (x0) (x. - *o)]. Выражение в скобках есть f(x+)—M0(xl), т. е. погрешность в лс* локальной аффинной модели, построенной в хс=х0. Таким образом, из леммы 2.4.2 1 *1 ~~ х*' ^ 2|f'(*o)l ,Ar°"~ **|2> и далее по предположениям относительно f'(x) \x{-xj^-^\x0 — xj2. Поскольку |л'0 — *«|^Л ^ т -2p/v, мы имеем |*i—л*|^ ^т|х0 — хф|<т|. Аналогично проводится доказательство индуктивного предположения. П Требование теоремы 2.4.3 о том, чтобы f'(x) имело ненулевую нижнюю границу в Z), просто означает, что /'(#*) должно *) Такого рода терминология, присущая скорее многомерному случаю, чем одномерному, не вызывает серьезных трудностей и используется для облегчения дальнейшего перехода к случаю пространства многих переменных. — Прим. перев.
2.4. Сходимость метода Ньютона 39 быть ненулевым для квадратичной сходимости метода Ньютона. Если на самом деле /'(**)= О, то х* является кратным корнем, и метод Ньютона сходится всего лишь линейно (см. упр. 12). Для того чтобы ощутить разницу, мы приводим ниже пример итераций метода Ньютона, примененного к f{(x) = = х2—1 и к Ы*) = *2 — 2х+1, начиная в обоих случаях с лго = 2. Обратите внимание, что метод Ньютона в случае f2(x) сходится гораздо медленнее из-за f'2(xj = 0. Пример 2.4.4. Метод Ньютона, примененный к двум квадратичным функциям (ЭВМ CDC, одинарная точность). М*) = *2-1 f2(x) = x2-2x + \ 2.0 1.25 1.025 1.0003048780488 1.0000000464611 1.0 *о xt %2 х3 х4 *5 2.0 1.5 1.25 1.125 1.0625 1.03125 Поучительно также рассмотреть константу у/(2р), входящую в соотношение для ^-квадратичной скорости сходимости (2.4.3). Числитель у> представляющий собой константу Липшица для /' на Z), можно рассматривать как меру нелинейности f. Однако мера у зависит от масштаба: умножение / или изменение единиц измерения х на некоторую константу изменит масштаб /' на эту константу, не делая функцию ни более и ни менее нелинейной. Мерой нелинейности, не зависящей от масштаба1), служит относительная скорость изменения /'(*), которая получается делением у на f'(x). Таким образом, поскольку р есть нижняя граница для f'(x) при jcgD, то у/р является верхней границей относительной нелинейности f(x), и теорема 2.4.3 утверждает, что чем меньше эта мера относительной нелинейности, тем быстрее будет сходиться метод Ньютона. Если же / линейна, то у = 0 и х\ = х*. Теорема 2.4.3 гарантирует сходимость метода Ньютона только из хорошей начальной точки хо, и, в самом деле, как легко убедиться, метод Ньютона может вообще не сходиться, если |л0 — л^| велико. Рассмотрим, например, функцию f(x) = = arctg* (рис. 2.4.1). Для некоторого jtce [1,39, 1.40] справедливо следующее. Если х0 = хс, то метод Ньютона будет генерировать циклически повторяющиеся значения a'i = —л>, Х2 = хСу хг = —хс, .... Если |лго|<л'с, то метод Ньютона будет сходиться к л-* = 0, а если |jc0|>xo то метод Ньютона !) Имеется в гиду лишь независимость от единиц измерения f, а не х.— Прим. пере в.
40 Гл. 2. Нелинейные задачи с одной переменной •f(*;«=3rctg х X Рис. 2.4.1. Метод Ньютона, примененный к / (х) = arctg х. будет расходиться, т. е. погрешность \хк — а:«| будет на каждой итерации увеличиваться. Таким образом, метод Ньютона полезен быстрой локальной сходимостью, однако нам необходимо включить его в более надежный метод, который успешно работал бы и при более удаленных начальных точках. 2.5. ГЛОБАЛЬНО СХОДЯЩИЕСЯ МЕТОДЫ 0 РЕШЕНИЯ ОДНОГО УРАВНЕНИЯ С ОДНИМ НЕИЗВЕСТНЫМ Воспользуемся следующим простым принципом включения метода Ньютона в глобально сходящийся алгоритм: применять метод Ньютона всякий раз, когда кажется, что он работает нормально; в противном случае обращаться к более медленному, но надежному глобальному методу. Такая стратегия порождает глобально сходящиеся алгоритмы с высокой локальной скоростью сходимости метода Ньютона. В этом разделе мы рассмотрим два глобальных метода и затем покажем, как получить гибридный алгоритм, комбинируя глобальный метод с методом Ньютона. Будут также обсуждены критерии останова и другие машинно-зависимые критерии, необходимые для успешной работы вычислительных алгоритмов. Простейший глобальный метод—метод деления пополам. В нем заложено вполне разумное предположение о том, что имеется начальный интервал (x0t z0), содержащий корень. Он помещает точку х\ в центре интервала, выбирает в качестве Рис. 2.5.1. Метод деления пополам. 1) Относительно того, какой смысл вкладывается в понятие «глобальный метод», см. последний абзац разд. 1.1.
2.5. Глобально сходящиеся методы 41 нового тот из интервалов [*о,Х\] и [jti,Zo]> который содержит корень, и продолжает делить отрезок пополам до тех пор, пока не будет найден корень (рис. 2.5.1). Формально это выглядит так: заданы дс0, zQ, такие, что / (*0) -f(zo)< 0; for ft = 0, 1, 2, ... do r _xk + 4. xky если f{xk)-f(xk+l)<0; z*+i = | zk в противном случае. Метод деления пополам работает теоретически всегда, однако гарантированное уменьшение оценки погрешности составляет только у на каждой итерации. Поэтому с практической точки зрения метод малопривлекателен. Программы, использующие деление пополам, выполняют обычно эту операцию до тех пор, пока не достигнут точки л:*, из которой будет сходиться некоторый вариант метода Ньютона. Метод деления пополам не имеет также естественного обобщения на многомерный случай. Более наглядное представление о том, как мы будем поступать в л-мерном пространстве, дает следующий метод. Представим себе, что метод Ньютона вырабатывает не только шаг xn = xc — f(xc)/f'(xc)j но также и направление, на которое этот шаг указывает (предполагается, что У(хс)ф0). Хотя ньютоновский шаг может в действительности привести к увеличению абсолютной величины функции, его направление таково, что вдоль него абсолютное значение функции первоначально уменьшается (рис. 2.5.2). Геометрически это должно быть очевидным; простое доказательство дает упр. 16. Таким образом, Ха/ -Х+. Х'ы хс Рис. 2.5.2. Дробление ньютоновского шага.
42 Гл. 2. Нелинейные задачи с одной переменной если ньютоновская точка xN не приводит к уменьшению |/(л:)|, то разумная стратегия заключается в дроблении шага1) с движением в обратном направлении от xN к xCt пока не встретится точка jc+, для которой |/(л+) | < \f(xc) |. Возможная итерация здесь такова: х+.-хс Г(Хс) , while \f(x+)\>\f(xj\ do (2.5.1) *+ ,— 2 * Отметим, что эта стратегия не требует начального интервала, содержащего корень. Итерация (2.5.1) служит примером гибридного алгоритма, в котором делается попытка совместить глобальную сходимость и быструю локальную сходимость, проверяя первым на каждой итерации ньютоновский шаг, но всегда добиваясь, чтобы в результате итерации уменьшалась некоторая мера близости к решению. Разработка таких гибридных алгоритмов позволяет успешно решать на практике многомерные нелинейные задачи. Ниже приведена общая формулировка для класса гибридных алгоритмов для отыскания корня одного нелинейного уравнения. Этим преследуется цель ввести в рассмотрение и выделить те основные приемы построения глобально и вместе с тем быстро локально сходящихся алгоритмов, которые послужат основой для всех алгоритмов в этой книге. Алгоритм 2.5.1. Гибридный квазиньютоновский алгоритм общего вида решения одного нелинейного уравнения с одним неизвестным: заданы /: R->R, х0; for Л = 0, 1, 2, ... do: 1. решить — необходим ли останов; если нет, то: 2. построить локальную модель, описывающую поведение / вблизи от xk, и найти точку хы, которая является решением (или близка к тому, чтобы быть решением) модельной задачи; 3. (а) решить — взять ли xk+\ = xN\ если нет, то: (Ь) выбрать Xk+u используя глобальную стратегию (здесь как можно реже прибегайте к решению модельной задачи). *) В оригинале — backtrack, что означает движение в обратном направлении, возвращение. В отечественной литературе принят термин «дробление шага», его мы и будем придерживаться при переводе, — Прим. перев.
2.5. Глобально сходящиеся методы 43 Шаг 1 обсуждается ниже. В нем мы впервые используем машинно-зависимые и проблемно-зависимые точности. Шаг 2 обычно включает в себя вычисление ньютоновского шага или некоторый вариант без вычисления производных (см. разд. 2.6). Итерация (2.5.1) служит примером шага 3(а — Ь). Мы увидим в гл. 6, что не нужно выбирать критерий в 3(a) слишком тщательно, достаточно, чтобы он обеспечивал в большинстве случаев сходимость гибридного алгоритма к решению. Принимать решение о том, когда остановиться, приходится в некоторой степени неформально. Это решение далеко не всегда безупречно и все же для него требуется четкий критерий. Поскольку может не существовать машинно-представимого лсф, такого, что /(х#) = 0, необходимо уметь различать, в каком случае мы «достаточно близки». Критерий принятия решения обычно представляется в таком виде: «Получено ли приближенное решение задачи?» или «Находятся ли результаты последних двух (или нескольких) итераций практически в одном и том же месте?» Первый вопрос представляется проверкой типа: «Имеет ли место |/(*+) | < xi?», где точность xi выбирается так, чтобы отразить представления пользователя о достаточной близости к нулю для данной задачи. Например, xi может быть положено равным (macheps)1/2. Эта проверка, конечно, очень чувствительна к масштабу f(x), и поэтому важно, чтобы программа давала пользователю инструкции по выбору xi или масштаба /, таких, что х+> удовлетворяющее условию |f(jt+)|<Ti, было бы приемлемым решением задачи. Уберечься от чрезмерной ограничительности этого условия помогает второй вопрос, который состоит в проверке соотношения вида: «Имеет ли место: (|лс+ — хс|/|л:+|) < хг?» Разумной точностью здесь служит хг = (macheps)1/2, которое соответствует останову всякий раз, когда совпадает левая половина разрядов у хс и х+, хотя может быть выбрано любое %2, большее, чем macheps. Поскольку х+ может быть близким к нулю, то вторая проверка обычно видоизменяется, скажем, так: «Имеет ли место: (|*+ — jcc|/max {|*+|, |*с|})<т2. Более удачная проверка использует в знаменателе вместо \хс\ задаваемую пользователем величину typx1), которая отражает характерные значения переменной х (см. упр. 17). Таким образом, критерий останова на ЭВМ CDC мог бы выглядеть так: если |/(Jt+)|<l(T5 или 1*/""?1 п <Ю~7> 1 ' v +/ ' ^ max {typ ху | х+ |} то остановиться. На практике при решении любой задачи с быстрой локальной сходимостью значения f(x+) обычно становится малым раньше, *) Сокращение typ происходит от слова typical (типичный, характерный).— Прим. перев.
44 Гл. 2. Нелинейные задачи с одной переменной чем шаг по х, а для задач, на которых скорость лишь линейна, первым может стать малым шаг по х. Читатель мог уже убедиться, что выбор критериев останова очень сложен, в особенности для плохо масштабированных задач. В полном объеме этот вопрос будет рассмотрен в гл. 7. 2.6. МЕТОДЫ ДЛЯ СЛУЧАЯ, КОГДА ПРОИЗВОДНЫЕ НЕ ЗАДАНЫ Во многих практических приложениях функция f(x) не задается формулой, а скорее представляет собой результат некоторой вычислительной или экспериментальной процедуры. Поскольку обычно f'(x) недоступно, то методы, использующие значения f'(x) для решения f(x) = Q, должны быть модифицированы так, чтобы обходиться только значением f(x). Мы использовали f'(x) при моделировании поведения / вблизи от текущего приближения к решению хс прямой, касательной к / в хс. Если f'(x) недоступно, то заменим эту модель секущей, проходящей через значения / в хс и некоторой близлежащей точке Xc + hc (рис. 2.6.1). Нетрудно убедиться, что тангенс угла наклона этой прямой равен .f(xc + hc)-f(xe) (2.6.1) и таким образом полученная модель представляет собой прямую Mc(x) = f(xc) + ac(x — хс). То, что нами проделано, эквивалентно, таким образом, замене производной f'(xc) в исходной модели Мс(х) =/(Хс) + Рис. 2.6.1. Аппроксимация f(x) с помощью секущей.
2.6. Методы для случая, когда производные не заданы 45 + Г(хс)(х — хс) аппроксимацией ас. Тогда квазиньютоновский шаг в нуль модели Мс(х) принимает вид * - г f(Xc) *N— *с —• Тотчас же возникают два вопроса: «Будет ли этот метод работать?» и «Каким образом следует выбирать Лс?» Из математического анализа известно, что ас сходится к \'(хс) при Лс->-0. Если число hc выбирается малым, то ас называется конечно-разностной аппроксимацией для f(xc). Кажется разумным, что конечно-разностный метод Ньютона, т. е. квазиньютоновский метод, основанный на этой аппроксимации, будет работать почти так же хорошо, как и метод Ньютона. Позже мы убедимся, что это именно так. Однако этот прием требует дополнительного вычисления / на каждой итерации, и если f(x) является дорогостоящей, то дополнительное вычисление функции нежелательно. В этом случае hc полагается равным (х- — хс)у где х- есть результат предыдущей итерации, так что ac = (f{x-) — f(xc))/(x- — хс) и никакие дополнительные вычисления функции не используются. Получающийся в результате квазиньютоновский алгоритм называется методом текущих. Этот метод может показаться излишне надуманным, тем не менее он работает хорошо. Сходимость метода секущих немного медленнее сходимости метода с надлежащим образом подобранной конечно-разностной аппроксимацией, однако он обычно более эффективен с точки зрения суммарного количества вычислений функции, необходимых для достижения заданной точности. Пример 2.6.1. Конечно-разностный метод Ньютона и метод секущих, примененные к f(x) = x2—1 (ЭВМ CDC одинарная точность). Конечно-разностный Метод секущих метод Ньютона (Хх выбирается по конечно- (hk= 10~7«x^j разностному методу Ньютона) 2.0 1.2500000266453 1.0250000179057 1.0003048001120 1.0000000464701 1.0 Ч Х\ х2 х3 х4 х5 х6 х7 2.0 1.2500000266453 1.0769230844910 U0082644643823 1.0003048781354 1.0000012544523 1.0000000001912 1.0 Пример 2.6.1 содержит образцы сходимости метода секущих и конечно-разностного метода Ньютона (Ас=10-7) на за-
46 Гл. 2. Нелинейные задачи с одной переменной даче f(x) = x2—1, л-0 = 2, которая решалась в примере 2.4.4 методом Ньютона. Обратите внимание, насколько похожи результаты метода Ньютона и конечно-разностного метода Ньютона; при этом метод секущих сходится несколько медленнее. Значительное проникновение в суть вопроса дает анализ влияния величины шага аппроксимации 1гс на скорость сходимости получающегося конечно-разностного метода Ньютона. Возьмем х — * —х f{Xc) x+ — xN — хс ас . Тогда x+-xm = xe-x.-l^ = a7l[f(x.)-f(xe)-aAx.-xe)] = = a7l[f(x.)-Mc(x,)] = = a;l{f(x^f(xc)4f(Xc)(x-xc) + [ff(xc)-ac](x^xc)}= ■a7l\\[f'(z)-f' (xc))dz + [f'(xc)-ac](x.-xc) Если обозначить ec = | xc — хф\ и e+ = | x+ — xjy то e+<\a7l\{ie2c + \f'(xc)-°c\ec) (2-6.2) при тех же предположениях относительно непрерывности по Липшицу У е LipY(Z)), что и в лемме 2.4.2. Читатель может заметить, что соотношение (2.6.2) аналогично приведенному в разд. 2.4 выражению для границы погрешности, за исключением того, что в правой части (2.6.2) вместо \У (хс)~х | -стоит \ajx |, и что имеется дополнительное слагаемое, содержащее разность между f'(xc) и ее аппроксимацией. Отметим также, что проведенный выше анализ до сих пор не зависел от значения ас Ф 0. Теперь определим ас формулой (2.6.1) и введем в рассмотрение предположение о непрерывности по Липшицу /' (см. разд. 2.4). Получим простое следствие, которое показывает, насколько близка в зависимости от hc конечно-разностная аппроксимация (2.6.1) к f'(xc). Следствие 2.6.2. Пусть /: D->R, где D — открытый интервал, и у eLipY(D). Пусть, далее хс, .rf + AcED, а ас задано формулой (2.6.1). Тогда k-fWK1^1- (2.6.3)
2.6. Методы для случая, когда производные не заданы 47 Доказательство, Из леммы 2.4.2 имеем \f(Xc + flc)-f(xc)-hcf'(xc)\^^^. Разделив обе части на |ЛС|, получим желаемый результат. □ Подстановка (2.6.3) в (2.6.2) дает Если воспользоваться теперь предположением теоремы 2.4.3 о том, что |Г(х)|^р>0 в окрестности точки #*, то на основе (2.6.3) легко показать, что \а~х |<2р-1 для ,vcgD и для достаточно малых \hc\. Получаем e+<%(ec + \he\)ee. (2.6.4) Теперь довольно легко завершить доказательство следующей теоремы. Теорема 2.6.3. Пусть f: D-*~R, где D — открытый интервал, и f'eLipY(D). Предположим, что |/'(*)|^Р Для некоторого р > 0 и для каждого xgD. Если f(x) = 0 имеет решение л% е D, то существуют положительные константы ц и ц', такие, что если {hk} является последовательностью действительных чисел, лежащих в пределах 0 < |Ла»| ^: т]', и |лг0 — *#|<л» то последовательность {xk}f заданная формулами k k определена и сходится ^-линейно к х*. Если lim^_>ooA^ = 0, то сходимость ^-сверхлинейна. Если существует некоторая константа си такая, что IК К сх | xk — xm |, или, что эквивалентно, константа с2, такая, что \hk\^c2\f(xk)\, (2.6.5) то сходимость (/-квадратична. Если существует некоторая константа Сз, такая, что |Ал|<са|**-**-1|, (2.6.6) то сходимость является по крайней мере двухшаговой ^-квад- ратичной, при этом здесь как частный случай содержится метод секущих, где hk = xk-\ — xk.
48 Гл. 2. Нелинейные задачи с одной переменной Мы начали это обсуждение с утверждения о том, что понимание сути вопроса заключено в самом существе анализа и его простоте. В частности, идея конечно-разностной аппроксимации выглядела при первом знакомстве с ней как некоторый специальный прием. Однако можно не только увидеть ее превосходное с вычислительной точки зрения поведение на практике, но и получить при помощи анализа, вряд ли более сложного, чем для метода Ньютона, точную зависимость сходимости от длины шагов {Л*}. Это всего лишь один из многих примеров того, когда численный и теоретический анализы выступают как союзники в деле развития алгоритмов. Если бы порядок сходимости конечно-разностного метода Ньютона определялся только выбором {Л*}, то мы попросту полагали hc = с2 \ f (хс) |, где с2 — некоторая константа, и на этом заканчивался бы наш анализ, поскольку для хс, достаточно близких к х«, нетрудно показать, что \f(xc) |^ б\хс— **| (см. упр. 18). Однако наличие арифметики конечной точности имеет самые серьезные последствия, на что мы и собираемся сейчас обратить внимание. На практике, очевидно, hc не может быть слишком мало по сравнению с хс. Например, если 1\(хс)ФО и |Лс|<|*с| -macheps то il(xc + hc)= 11(хс); таким образом, числитель р (2.6.1) окажется в результате вычисления равным нулю, поскольку программа, вычисляющая /, будет в обоих случаях вызвана с одним и тем же значением аргумента в представлении с плавающей точкой. Даже если \hc\ достаточно велико, так что i\(xc + Нс)ф Ф 11(Хс)у то при вычитании с плавающей точкой, необходимом для получения числителя в (2.6.1), теряется точность. В конце концов, если / вычисляется в двух соседних точках, в силу непрерывной дифференцируемости / получающиеся значения f(xc + hc) и f(xc) должны тоже быть почти равными. Может даже получиться, что il{f(xc + hc)) = \\{f(xc)). Если \hc\ мало, то естественно, следует ожидать, что совпадут крайние слева разряды мантиссы. Например, предположим, что на ЭВМ с 5-разрядной мантиссой в десятичной системе счисления имеются f(xc)= 1.0001 и f(xc + hc)= 1.0010, вычисленные для ЛС=Ю-4 некоторой гипотетической программой. В этом случае вычисленные значения f(xc + hc) — f{xc) и ас равнялись бы соответственно 9ХЮ"4 и 9. Таким образом, при получении разности значений функции было потеряно большинство значащих цифр. На практике, более того, если последовательно просматривать разряды значения функции, то зачастую их достоверность уменьшается с приближением к правому краю мантиссы. Это объясняется не только конечной точностью, но также тем фактом, что функция иногда сама является всего лишь приближенным результатом, поставляемым вычислительной програм-
2.6. Методы для случая, когда производные не заданы 49 мой. Так, в приведенном выше примере разность f{xc + hc)— — /(jtc) = 9X 10-4 может отражать только случайные флуктуации в крайних справа разрядах f и не иметь вообще никакого смысла. В итоге тангенс угла наклона модели функции / в хс может даже не иметь того же знака, что и f'(xc). Очевидный способ более точного вычисления ас состоит в том, чтобы выбирать \НС\ достаточно большим для того, чтобы в f{xc-\-hc) и f(xc) совпадали не все из наиболее достоверных значащих цифр. Вместе с тем \hc\ не может быть слишком большим, так как конечной целью вычисления величины ас является ее использование в качестве аппроксимации для У(хс)у а, как показывает (2.6.3), эта аппроксимация ухудшается с ростом \hc\. Разумный компромисс заключается в том, чтобы попытаться сбалансировать ошибку нелинейности, вызываемую выбором слишком больших значений |ЛС|, с ошибками арифметики конечной точности и вычисления функции, проистекающими из возможности выбрать \hc\ слишком малым. Развитие этого вопроса предлагается в качестве упр. 19. Далее он будет обсуждаться в разд. 5.4. Предположим, что f вычисляется настолько точно, насколько это позволяет машинная точность. Тогда имеется простой прием, состоящий в том, чтобы внести возмущение примерно в половину разрядов мантиссы хс: | hc | = Vmacheps . max {typ x, \xc\}, где typ a: — характерные размеры переменной x (см. разд. 2.5). Этот часто применяемый прием обычно оказывается удовлетворительным на практике. Если точность подпрограммы вычисления f вызывает сомнения, то \hc\ должно быть достаточно большим настолько, чтобы совпадала только половина достоверных разрядов f(xc + hc) и f(xc). Если такое \hc\ столь велико, что" применимость (2.6.1) в качестве аппроксимации f'(xc) вызывает сомнения, то один из выходов состоит в использовании центральной разности: ac=:f(xc + hc)-Hxc-hc) ^ (26J) Эта формула дает более точную аппроксимацию производной при заданном hc (см. упр. 20), чем разностная аппроксимация вперед1) (2.6.1), но вместе с тем она имеет недостаток, связанный с удвоением затрат на вычисления функции. *) В литературе вместо «разность вперед» используется также термин «правая разность». — Прим. перев.
50 Гл. 2. Нелинейные задачи с одной переменной 2.7. МИНИМИЗАЦИЯ ФУНКЦИИ ОДНОЙ ПЕРЕМЕННОЙ Завершим изучение одномерных задач обсуждением минимизации функции одной переменной. Оказывается, эта задача настолько тесно связана с решением одного нелинейного уравнения с одним неизвестным, что в сущности уже известно, как вычислять решения. Прежде всего необходимо опять признать, что ответить на вопросы существования и единственности практически невозможно. Рассмотрим, например, полином четвертой степени, изображенный на рис. 2.1.1. Его глобальный минимум, где функция принимает свое абсолютно наименьшее значение, находится в х ^ 0.943, но он также имеет локальный минимум в х ^4.60, т. е. точку с минимальным значением функции на некоторой открытой области. Если разделить функцию на х, то она станет кубической с локальным минимумом в х ^ 4.58, но без конечного глобального минимума, поскольку Hm f(x) = — оо. JC->-oo В общем случае практически невозможно убедиться в том, действительно ли мы находимся в глобальном минимуме функции. Таким образом, так же как наши алгоритмы решения нелинейных уравнений могут находить только один корень, наши алгоритмы оптимизации в лучшем случае могут определить местонахождение одного локального минимума, причем на практике этого обычно вполне достаточно. Как и ранее, вопрос о решении в замкнутой форме не ставится, ибо если можно было бы находить минимум f(x) в замкнутой форме, то можно было бы таким же образом решать f(x) = 0y полагая f(x) = Высказанное выше утверждение о том, что читателю уже известно, как решать задачу минимизации, основано на том, что локальный минимум непрерывно дифференцируемой функции должен приходиться на точку, где /'(*) = 0. Графически это всего лишь означает, что функция не может начать уменьшаться из такой точки в любом направлении. Доказательство этого факта подсказывает нам и алгоритм, так что оно будет приведено ниже. Полезно ввести обозначения Cl{D) и C2(D) для множеств соответственно единожды и дважды непрерывно дифференцируемых функций, действующих из D в R. Теорема 2.7.1. Пусть f^Cl(D)t где D — открытый интервал, и z^D. Если f (г)=й=0, то для любого s, такого, что f(z) -s<0, существует константа / > Q, для которой f{z + Xs) < f(z) при всех X^(OJ).
2.7. Минимизация функции одной переменной 51 Доказательство. Необходимо лишь, используя непрерывность /', выбрать такое t, что f'(z + Xs)s<iO и z + Xs^D при всех ^е(0,/). Остальное следует непосредственно из математического анализа, так как для всех таких X имеет место соотношение л f{z + ks) — f (z) = J /' (z + as) sda<0. □ о Теорема 2.7.1 предлагает находить точку минимума х* функции /, решая //(jc) = 0. С другой стороны, применяя теорему к g(x) = —f(x), видим, что это условие выделяет также и возможные точки максимума. Иначе говоря, решение дает необходимые условия для нахождения точки минимума функции /, но недостаточные. Теорема 2.7.2 показывает, что дополнительным достаточным условием является /"(#*) >0. Теорема 2.7.2. Пусть f^C2(D) для открытого интервала D и x*eD есть точка, в которой f'(x*)=Q и /"(#*) >0. Тогда найдется некоторый открытый подынтервал jD'czD, такой, что ^ей'и f{x) > f(x*) для любых других хе D'. Доказательство. Пусть D' выбирается так, что ^gD' и /" > 0 на D'. Использование разложения в ряд Тейлора с остаточным членом не вызовет трудностей позже при изучении многомерного случая минимизационной задачи. Поэтому заметим, что для любого x^D' существует х е (**, х) cz D', для которого / (х) - / (*.) = Г (*.) (х - х.) + у Г (х) (х - xf. Таким образом, утверждение доказано, поскольку f'(x*) = 0 и х е D' влечет за собой f(x)-f(x,)=±(x-xff"(x)>0. □ Понимая теперь, что представляет собой решение, подумаем, как его вычислять. Самый легкий путь, приводящий к интересующему нас классу алгоритмов, состоит в решении f'(x) = О с использованием стратегии гибридного метода Ньютона, которая рассматривалась в разд. 2.5. Для обеспечения минимизации, а не максимизации, дополним стратегию глобализации требованием, чтобы /(**) уменьшалось с ростом k. Итерация гибридного метода начинается из текущей точки хс с применения к f'(x)=0 метода Ньютона или его мо-
52 Гл. 2. Нелинейные задачи с одной переменной дификации, рассмотренной в разд. 2.6. Ньютоновский шаг имеет вид х+ = хс— у' (хс) * (2-7-1) Следует взглянуть на суть этого шага с точки зрения модельных задач. Поскольку (2.7.1) было получено в результате построения аффинной модели производной f'(x) в окрестности xCt это эквивалентно построению! квадратичной модели тс (х) = / (хс) + V (хс) (х -хс) + { Г (хс) (х - хс? функции f(x) в окрестности хс и выбору в качестве л;+ стационарной точки модели. Для задач максимизации и минимизации квадратичная модель функции f(x) подходит больше, чем линейная, поскольку она имеет самое большее одну точку экстремума. Таким образом, в результате шага (2.7.1) будет найдена за одну итерацию точка экстремума квадратичной функции. Кроме того, точно так же как в теореме 2.4.3, можно доказать, что она сходится локально и <7-кваДРатично к точке экстремума jc# функции f(x), если У'{х*)Ф0 и f" непрерывно по Липшицу в окрестности дс*. Наша глобальная стратегия в минимизации будет отличаться от приведенной в разд. 2.5 тем, что, принимая решение о приемлемости ньютоновской точки xN, вместо соотношения Г(хы) |<|f(*c) |, отражающего степень продвижения к нулю '(*), будем пользоваться соотношением /(хлг) < f(xc), указывающим на продвижение к минимуму. Если Цхы)^ f(xc), а ¥(хс) (xn — Хс)< 0, то по теореме 2.7.1 функция f(x) должна первоначально уменьшаться в направлении от хс к xn, поэтому следующую приемлемую точку х+ можно найти, дробя шаг в обратном направлении от xN к хс. Из (2.7.1) видно, что выражение ¥(xc)(xn — хс) отрицательно тогда и только тогда, когда Г(хс) (или ее аппроксимация) положительна. Это означает, что если локальная модель, используемая для получения ньютоновского шага, имеет минимум, а не максимум, то гарантируется существование подходящего направления шага (рис. 2.7.1). С другой стороны, если /"(хс)<0 и f'(xc)(xN — — хс)>0, то при переходе от хс к xN функция f(x) первоначально увеличивается, поэтому шаг нужно делать в противоположном направлении. Одна из стратегий состоит в том, чтобы сначала проверить, подходит ли шаг длины \хы — хс\, и затем, если необходимо, дробить его, пока не выполнится неравенство f(x+)<f(xc). Более совершенные глобальные стратегии для минимизации обсуждаются в гл. 6. Критерий останова для оптимизации несколько отличается от используемого при решении нелинейных уравнений. Здесь
2.8. Упражнения 53 опять возникают вопросы: «Получено ли приближенное решение задачи?» или «Находятся ли результаты последних итераций практически в одном и том же месте?» Второй вопрос проверяется тем же самым условием, налагаемым на относительную или абсолютную длину шага, что и в разд. 2.5: «Имеет ли место |jc+ — xc|/max{typ;t, |*+|}<ti?» Первый вопрос можно просто представить как «Имеет ли место: |/'(*+) I < т2?»> однако здесь опять просматривается зависимость от масштабов / и добавляется зависимость от масштабов х. Все же в этом случае можно кое-что предпринять, а именно потребовать, чтобы относительная скорость изменения /, равная f'(x)/f(x), была по абсолютной величине меньше тг, или относительное изменение /, деленное на относительное изменение х, т. е. f(*+) +' было по абсолютной величине меньше т2. Последняя проверка представляется привлекательной из-за ее попытки учесть масштабы как /, так и х. Наконец, возникает вопрос о том, что делать, если производные f'(x) недоступны. Ответ на него настолько похож на рассуждения в разд. 2.6, что мы откладываем рассмотрение этой проблемы до рассмотрения многомерного случая (см. также упр. 21). 2.8. УПРАЖНЕНИЯ 1. Выполните одну итерацию метода Ньютона из х = 2 для функции /i(x), заданной в разд. 2.1. К какому корню сходятся итерации? Что произойдет, если начать из точки х = 1? ft»*) f(xc) \ 1 XN *C Наличие минимума у локальной квадратичной модели приводит сначала к уменьшению f(x) при переходе от хс к XN Наличие максимума у локальной квадратичной модели приводит сначала к увеличению f(x) при переходе от хс к х# Рис. 2.7.1. Соответствие локальной квадратичной модели наклону кривой в начале перехода от хс к х„.
54 Гл. 2. Нелинейные задачи с одной переменной 2. За сколько приблизительно итераций сойдется к 1 на ЭВМ CDC (/-линейно сходящаяся последовательность хк = 1 + (0.9)*, k = 0, 1, ...? (Для ответа используйте бумагу, а не ЭВМ.) Является ли в общем случае (/-линейная сходимость с постоянной 0.9 удовлетворительной для вычислительных алгоритмов? 3. Рассмотрим последовательность хк = 1+ 1/£!, k = 0, 1, ... . Сходится ли эта последовательность (/-линейно к 1? Сходится ли она (/-линейно с любой постоянной с > 1? Какого типа эта сходимость? Сходится ли {хк} к 1 с (/-порядком / при любом значении / > 1? 4. Докажите, что всегда (/-порядок последовательности не превосходит ее г-порядка. Приведите контрпример для обратного утверждения. 5. Докажите, что {xk} имеет (/-порядок, по меньшей мере равный р, тогда и только тогда, когда для нее существует последовательность верхних оценок погрешности {&*}> где Ьк ^ ек = \хк — х* |, такая, что, {Ьк} сходится к нулю с (/-порядком, по меньшей мере равным р, и — Ьк lim —- < со. 6. (Более трудное упражнение.) Существует интересная связь между /-шаговым (/-порядком и «1-шаговым» г-порядком. Попробуйте найти эту связь и провести соответствующие доказательства. Данный результат вместе с его приложением можно найти в работе Гэя (1979). 7. На ЭВМ IBM серий 360—370 умножение с повышенной точностью реализовано аппаратно, а деление с повышенной точностью выполняется так: сначала производится деление с удвоенной точностью, затем используется итерация метода Ньютона, требующая только умножения и сложения. Для лучшего понимания этого: (а) выведите итерацию метода Ньютона для вычисления х* = 1/а, где а — заданное действительное число; (Ь) выполните три итерации для заданных а = 9 и х0 = 0.1. Какого типа сходимость наблюдается? 8. Проанализируйте скорость сходимости метода деления пополам. 9. Напишите, отладьте и протестируйте программу для решения одного нелинейного уравнения с одним неизвестным. Следует придерживаться гибридной стратегии, изложенной в разд. 2.5. В качестве локального шага используйте метод Ньютона, конечно-разностный метод Ньютона или метод секущих. В качестве глобальной стратегии используйте деление пополам, дробление шага, стратегию интерполирования на отрезке между хы и хк или какую-либо другую стратегию на ваше усмотрение. Выполните программу для: (a) / (х) = sin х — cos 2*, х0 =» 1; (b) /(*) = *3-7*2+11jc-5, *о = 2, 7; (c) f (х) = sin х — cos ху jc0 = 1; (d) f2(x) (задана в разд. 2.1), х0 = 0, 2. (Если используется деление пополам, то выберите для каждой задачи подходящий интервал и позаботьтесь, чтобы ни одна из итераций не выходила за его пределы.) Какую скорость сходимости вы наблюдаете в каждом случае? Она не всегда должна быть квадратичной. Почему? 10. Воспользуйтесь программой из упр. 9 для нахождения точки с > 0, на которой метод Ньютона будет зацикливаться при решении уравнения arctgjc = 0 (см. рис. 2.4.1).
2.8. Упражнения 55 11. Модифицируйте программу из упр. 9 на случай нахождения минимума функции одной переменной. (Суть модификаций объяснена в разд. 2.7.) 12. Какую скорость сходимости (к х* = 0) имеет метод Ньютона при решении уравнения х2 = 0? х3 = 0? А при х + *3 = 0? х + хк = 0? Если нарушаются предположения теоремы 2.4.3, то какие именно в каждом случае? 13. Докажите, что если /(*♦) = /'(*♦) = 0» /"(**) Ф 0, то метод Ньютона сходится (/-линейно к *♦, причем lim^^^, вЛ+1/в^= 1/2. [При желании обобщите этот результат на случай f(x+) = /'(**) = • • • = /"(**) = 0» /<я+1>(*») =*0.] 14. Докажите, что если /(**) = 0, /'(*♦) Ф 0, /"(**) = 0, f'"(x*) Ф 0, то метод Ньютона сходится <7-кубически к х*. [При желании обобщите этот результат на случай /'(**) Ф 0> f (**) = Г2)(*») = • • • = /(я)(*») = 0. /<"+1>(*«) ¥=0.] 15. Постройте кубически сходящийся метод для решения f(x) = 0, моделируя / на каждом шаге квадратичной аппроксимацией, получаемой из ее разложения в ряд Тейлора. В чем основные трудности использования этого метода? Считаете ли вы, что для этой задачи подходит квадратичная модель? (См. также метод Мюллера, приведенный в большинстве вводных курсов по численному анализу.) 16. Заданы feCfD), xc€=D и d=—f(xc)lf'(xe)t причем f(xc)¥=0 и f (хс) ф 0. Покажите, что существует / > 0, такое, что \f(xc + hd)\<. <\f(xc)\ для всех А, е= (0, /). [Указание: возьмите t такое, что /'(*с + + аЙ) •/'(*<:) > 0 для всех ^ е (0, /), и затем воспользуйтесь техникой доказательства теоремы 2.7.1.] 17. Рассмотрите процесс решения х2 = 0 методом Ньютона, начинающимся из Хо = 1. Будут ли любые две последовательные итерации удовлетворять неравенству \xk+i — **|/тах{|**|, |**+i|} < Ю-7? Что можно сказать о проверке, содержащей typ х, которая приведена в конце разд. 2.6? 18. Заданы /еС*(/)) и х+ е= Z), причем /(*•) =0. Покажите, что существуют постоянная а > 0 и интервал D с Д содержащий **, такие, что I/WI ^ а\х — х*\ для всех х е= и. [Указание: выберите б таким, что If (*) I < а Для всех х е= D.] 19. Допустим, что /: £>->-R для открытого интервала /), и предположим, что /' e=LipY(0). Допустим, что программа вычисления f(x) имеет суммарную погрешность, ограниченную величиной rj |/(*)|, где ^ — неотрицательная постоянная. Найдите верхнюю границу суммарной погрешности [f(xc + hc)—f(xc)]lhc при аппроксимации f (хс) как функцию от hc [а также от у» Л» /(*е) и f(xc + hc)]. Найдите значение hCt минимизирующее эту верхнюю границу при фиксированных у» "Л и f(xc)- [Предположите здесь, что f(xc + hc) ^f(Xc).] Как вы думаете, полезны ли конечные разности с вычислительной точки зрения, когда f'(x) чрезвычайно мало по сравнению С /(X)? 20. Предположим, что D является открытым интервалом, содержащим Xc — hc, xc + hc&R, и пусть f": D-+& удовлетворяет условию f" е eLipY(D). Докажите, что погрешность формулы центральных разностей (2.6.7) при аппроксимации f'(хс) ограничена величиной y\hc\2/6. [Указание:
56 Гл. 2. Нелинейные задачи с одной переменной распространите технику доказательства леммы 2.4.2 на получение неравенства /(«)-[yw+rW(«,<)+r(x)(«-s)-]<J[i£i^JL или выведите аналогичную оценку из формулы Тейлора с остаточным членом.] 21. Предположим, что вы решаете задачу минимизации с одной переменной, где f(x) и f'(jt) заданы аналитически, но дорогостоящи для вычисления, а /"(*) не задано аналитически. Предложите локальный метод решения.
Второе программное замечание Как явствует из гл. 2, мы предпочитаем получать итерационные алгоритмы решения нелинейных задач из рассмотрения решений надлежащим образом подобранных моделей задач. Используемая модель должна принадлежать классу, для которого существует эффективная вычислительная процедура решения. Кроме того, она должна выбираться так, чтобы адекватность моделирования нелинейной задачи обеспечивала сходимость итерационной последовательности к решению. В гл. 2 элементарный аппарат математического анализа обеспечил нас всей необходимой техникой для построения подходящих линейных и квадратичных моделей и всем необходимым для анализа их погрешностей аппроксимации на реальном классе нелинейных задач. Для решения модельной задачи потребовалось всего две арифметические операции. Такая простота и побудила нас к написанию гл. 2. По-видимому, нет необходимости в каком-либо другом, более сжатом изложении скалярных итераций. Существующее изложение позволило без каких-либо затруднений, присущих анализу функций многих переменных и линейной алгебре, представить идеи, которые будут распространены далее на многомерный случай. Модели многомерного случая будут содержать производные функций многих переменных, а решение модельных задач потребует решения систем линейных уравнений. В гл. 3 представлен материал по вычислительной линейной алгебре, касающийся решения модельных задач и извлечения полезной информации из самих моделей. Глава 4 представляет собой обзор некоторых теорем анализа функций многих переменных, которые, как нам представляется, .полезны для построения многомерных моделей и для анализа их аппроксимационных свойств. Имеется тонкая и интересная связь между моделями, которые мы строим, и способами извлечения информации из них. Если модельная задача легко строится и решается, то нет надобности в том, чтобы она была столь же хорошей, как в случае, когда решение модельной задачи является трудоемким. Это подтверждает тот простой факт, что лучше выполнить больше итераций дешевого метода, чем дорогого. Мы заинтересованы также и в использовании структуры задачи или по крайней мере той ее части, которая без труда учитывается в модели. Это делается как в целях улучшения модели, так и для облегчения получения из нее х+. Интересно также рассмотреть вопрос о том, что именно из структуры задачи можно благополучно опустить в модели, облегчая этим ее решение и ожидая тем не менее значительную сходимость итерации. В подходящий момент будут приведены примеры обоих подходов.
3 Основы вычислительной линейной алгебры В настоящей главе обсуждаются разделы вычислительной линейной алгебры, необходимые для реализации и анализа алгоритмов решения многомерных нелинейных задач. В разд. 3.1 вводятся нормы векторов и матриц, предназначенные для измерения в наших алгоритмах размеров этих объектов, и приводятся свойства норм, полезные для анализа рассматриваемых методов. Затем в разд. 3.2 описываются различные матричные разложения, используемые алгоритмами для решения систем из п линейных уравнений с п неизвестными. В разд. 3.3 кратко обсуждается проблема чувствительности к погрешностям, возникающим при решении таких систем. Наша точка зрения такова: несмотря на доступность алгоритмов имеющихся в библиотеках программ, серьезный пользователь нуждается в понимании принципов, лежащих в основе алгоритмов. При этом пользователь должен овладеть инструментом вычислительной линейной алгебры, позволяющим ему выбирать соответствующие программы, учитывая затраты по их использованию и величину погрешности. В справочных целях в разд. 3.5 резюмируются свойства собственных значений, которые используются в этой книге, особенно их связь с положительной определенностью. В разд. 3.4 и 3.6 обсуждаются соответственно пересчет матричных разложений и решение переопределенных систем линейных уравнений. Поскольку эти темы не понадобятся вплоть до гл. 8 и 11, ознакомление с ними можно отложить. Превосходным справочным пособием по этому материалу служат книги Уилкинсона (1965), Стюарта (1973), Стренга (1976), Голуба и Ван Лоана (1983).
3.1. Векторные и матричные нормы 59 3.1. ВЕКТОРНЫЕ И МАТРИЧНЫЕ НОРМЫ, ОРТОГОНАЛЬНОСТЬ В гл. 2 мы сочли полезным сделать определенные предположения относительно /, такие, как ограниченность снизу абсолютной величины производной или выполнение условия Липшица (2.4.1), что обеспечивало ограниченность величины изменения производной, деленной на величину соответствующего изменения аргумента. Впоследствии нам понадобятся аналогичные условия, но уже в той ситуации, когда абсолютная величина больше не может служить мерой величин, так как аргументы и производные больше не являются скалярами. Аналогично, условия, подобные критерию останова | f(xk) |^ть должны быть заменены на критерий, подходящий для случая, когда F(xk) есть вектор. В гл. 4 мы увидим, что значения функций будут векторами или скалярами, а производные будут матрицами или векторами. В данной главе вводятся нормы векторов и матриц как соответствующие обобщения абсолютной величины действительного числа. Существует много всевозможных норм, отвечающих различным целям, но мы ограничимся лишь некоторыми из них. Наибольший интерес представляет так называемая евклидова или /г-норма, которая совпадает с обычным понятием длины вектора. В настоящем разделе обсуждаются также ортогональные матрицы. Эти матрицы особым образом связаны с евклидовой нормой, поэтому они играют важную роль в вычислительной линейной алгебре. Напомним, что Rrt обозначает векторное пространство действительных пХ 1-векторов. Малые греческие буквы будем, как правило, использовать для действительных чисел, т. е. элементов множества R, а малые латинские буквы — для векторов. Матрицы будут обозначаться большими латинскими буквами, причем множество действительных п X m-матриц будет обозначаться через RrtXm. Верхний индекс Т будет обозначать матричное транспонирование. Один и тот же символ 0 будет использоваться как для векторов, так и для скаляров. Таким образом, взглянув на приведенное ниже соотношение (3.1.1а), читатель легко поймет, что ||0||=0. Определение 3.1.1. Нормой в R" является действительнозначная функция || • || на R", удовлетворяющая условиям: IMI ^0 для каждого ugR", причем ||и|| =0, только если v = 0 е Rn; (3.1.1 а) ||сю|| = |а|-|М1 Для каждого иеКпи aeR; (3.1.1b) || v + wIK || о || + 11 w|| для каждого v, w^Rn. (3.1.lc)
60 Гл. 3. Основы вычислительной линейной алгебры Три наиболее подходящие для наших целей векторные нормы для fl = (i>i, v2, ..., vn)T^Rn имеют вид IML = max |0|| (1^- или sup-норма1)); (3.1.2а) п || v ||, = £ | vt | (/гнорма или норма наименьших '-1 абсолютных разностей); (3.1.2Ь) 1М12 = ( Ys (vi)2) (k'f евклидова или наименьших ^*={ ' квадратов норма). (3.1.2с) Все они являются отдельными случаями общего класса векторных /р-норм вида \\v\\p = [t\Vi\p) \ (3.1.3) где 1^р<оо. Читатель может доказать, что (3.1.2а) согласуется с (3.1.3) в пределе при р, стремящемся к оо (упр. 1). При обсуждении сходимости мы будем говорить о векторной последовательности {лс*}, сходящейся к вектору хч. Делая такое высказывание, будем подразумевать определенную норму и иметь в виду, что Hm ||**-*J —0. ft->oo Будем также говорить о скорости сходимости {xk} к х* и подразумевать скорость сходимости {И** — д:#||} к 0. Было бы жаль, если пришлось бы специально оговаривать вид нормы, как это следовало делать, окажись возможным сходимость в одной норме, а в другой — нет. Это означало бы, что вывод о том, сошелся или нет на практике конкретный алгоритм, может зависеть от того, какая норма используется в его критерии останова. К счастью, благодаря следующему результату, который не верен в бесконечномерном пространстве, в Rn нет таких проблем. Следует подчеркнуть, что ^-линейная сходимость является свойством, зависящим от нормы. Теорема 3.1.2. Пусть ||-|| и ||| • ||| —любые две нормы в R". Тогда существуют положительные константы аир, такие, что а|М1<||МКР1М1 (3.1.4) для любого v е R". Более того, если {vk} есть произвольная последовательность в R", то для и#е Rn Hm||**-iUI = 0 *) Ее называют также нормой Чебышёва. — Прим. персе.
3.1. Векторные и матричные нормы 61 тогда и только тогда, когда для каждого /, 1 ^ / ^ я, последовательность (vk)i, состоящая из i-x компонент векторов Vk, сходится к /-й компоненте (и,),- вектора v*. Доказательство оставим читателю в качестве упражнения, поскольку оно не является центральным в нашей теме. Более простым упражнением будет доказательство справедливости конкретных соотношений IMIi>IMI2>IML, 1М1,<У"1М12, ll*k<V*ll*L. (3.1.5) из которых может быть выведено (3.1.4) для /г, 12- и /«>-норм. Соотношение || v \\{ ^ л> п || v ||2 можно легко доказать, используя неравенство Коши — Шварца: п vTw = Yj vi^i ^ IIv Ik II ®> ||2 для всех v, a/eR", Важное следствие из соотношений (3.1.4) и (3.1.5) состоит в том, что характеристика работы алгоритма вряд ли серьезно зависит от выбора нормы, и потому такой выбор обычно основывается на удобстве или на соответствии конкретной задаче. Ранее уже упоминалось, что нам необходимо уметь измерять матрицы так же, как и векторы. Это, конечно, можно сделать, представляя матрицу A=(aij) в виде соответствующего ей вектора (ап, а2ь ..., апи о>\ъ ...» апп)т и применяя любую векторную норму к этому «длинному» вектору. Полезная во многих отношениях фробениусовская норма есть в точности /2-нор- ма матрицы Л, записанной как длинный вектор: (п п \1/2 ZSl^i2 . (зл.6) Принято называть их «матричными нормами», и они вполне уместны, когда матрица рассматривается как ящик письменного стола, набитый числовой информацией. Это будет отвечать их роли в локальных моделях, на которых основываются итерации наших нелинейных методов. Надо уметь также измерять матрицы в соответствии с их ролью операторов. Если v имеет определенную величину ||и||, то хотелось бы иметь возможность указывать границы для \\Av\\, величины образа v при отображении с помощью оператора А. Это окажется полезным при анализе сходимости. Читатель может вернуться назад, в разд. 2.4, и увидеть, что там как раз использовалось ограничение р на производную модели. Нормы операторов должны зависеть от тех конкретных векторных норм, которые используются для измерения v и Av.
62 Гл. 3. Основы вычислительной линейной алгебры Естественным определением нормы Л, индуцированной заданной векторной нормой, является ||Л||= max {^}. (3.1.7) Это — максимальная величина, на которую А может растянуть любой вектор в заданной норме ||-||. Вообще говоря, нет никакой необходимости в использовании одной и той же нормы для v и Avy однако у нас нет и потребности в соответствующем обобщении. Норма (3.1.7) называется операторной нормой, индуцированной векторной нормой ||-||, и для любой векторной /„-нормы она обозначается как ||Л||Р. Как нетрудно показать, она удовлетворяет трем определяющим свойствам матричной нормы, в точности совпадающим с (3.1.1), если там заменить v, aiGR" на A, Bg Rnxn. Хотя кажется, что определение (3.1.7) может быть лишь в малой степени полезным с вычислительной точки зрения, поскольку оно подразумевает решение оптимизационной задачи, однако индуцированные матричные /г, /2- и /оо-нормы задаются следующими формулами: || A ||, = max {lla./Ц,}, (3.1.8а) 1</<я \\А ||2 = (максимальное собственное значение (3.1.8Ь) матрицы АТАУ12, ML- шах {|| а,. ||,}, (3.1.8с) доказательство которых оставляем в качестве упражнения. Здесь через а.\ обозначен /-й столбец матрицы Л, а через щ.— ее t-я строка. Таким образом, ||j4||i и ЦЛЦоо нетрудно вычислить, что же касается ||Л||2, то она оказывается полезной при анализе. Иногда линейные преобразования задачи заставляют нас использовать взвешенную норму Фробениуса: ИЙ^ЛА^Н^» Wx и W2 — невырожденные лХ ^-матрицы (3.1.9) («невырожденные» означает «обратимые»). Несмотря на то что норма Фробениуса и индуцированная /р-норма удовлетворяют свойству мультипликативности ||ЛЯ||<||Л||.||В||, (3.1.Ю) взвешенная норма Фробениуса, за исключением специальных случаев, не удЬвлетворяет ему. Некоторые свойства матричных норм и произведений матрицы на вектор представляют особый интерес для анализа наших алгоритмов. Эти свойства перечислены ниже. Доказатель-
3.1. Векторные и матричные нормы 63 ства некоторых из них вынесены в упражнения, причем в необходимых случаях с соответствующими указаниями. Единичная n-мерная матрица обозначается через /, причем, каково в каждом случае п, понятно из контекста. След матрицы М,М е Rnxn, определяется как tr(A*)=EAf„. Теорема 3.1.3. Пусть || • || и ||| • ||| суть произвольные нормы в RnXn. Существуют положительные константы аир, такие, что аМ1|<|||Д|||<рМ|| (3.1.11) для каждого A^RnXn. В частности, Аг-1/2||Л||/7<||Л||2<||Л||Р, (3.1.12) а для р = 1 или р = оо п-ЩА\\р<\\А\Ь<пЩА%. (3.1.13) Норма Фробениуса матрицы А удовлетворяет соотношению \\A\\P = [ir(ATA)]112, (3.1.14) и для любых BGRnx" \\AB\\F^min{\\A\\2\\B\\F, \\A\\F\\B\\2). (3.1.15) Кроме того, для любых v, w е Rn имеем 1|Л1Ч|2<||Л|ММ12, (3.1.16) \\VWT\\F = \\VWT\\2 = \\v\\^\\w\\2. (3.1.17) Если А не вырождена, то операторная норма, индуцированная нормой 11-11, удовлетворяет соотношению min ~7,—!Г" Следующая теорема утверждает, что операция обращения матриц непрерывна по норме. Кроме того, она дает соотношение, связывающее нормы двух обратных к близким между собой матрицам, которое окажется полезным позже при анализе алгоритмов. Теорема 3.1.4. Пусть ||-||—произвольная норма в Rnxn, такая, что имеет место (3.1.10) и ||/||= 1, пусть также E^RnXn.
64 Гл. 3. Основы вычислительной линейной алгебры Если ||£||< 1, то существует (/ — Е)~1 и |(/-£)-'|<—1^-. (3.1.19) Если А не вырождена и | Л"1 (В — Л)|| < 1, то В не вырождена и \в~Ч<—г-Ц1^ 1Г- (зл-2°) " "^ 1-Ц Л"1 (В -Л) II ' Доказательство. Изложим идею, не вдаваясь в детали. Неравенство (3.1.20) следует из непосредственного использования (3.1.19) с однократным применением (3.1.10), так что мы оставляем его как упражнение. Доказательство (3.1.19) во многом похоже на доказательство равенства оо Его схема состоит в доказательстве того, что (/ + £ + Е2 + ... +Ek) = Sk образует последовательность Коши в Rnxn и, следовательно, сходится. Далее нетрудно показать, что lim Sk = (I-Erl и что (3.1.19) следует из соотношения \\(I-E)-{\\= lim ||S*||<£ IIЯП'- □ В заключение введем понятие ортогональных векторов и матриц. Некоторые простые свойства ортогональных матриц в /2-норме показывают, что они будут полезны с вычислительной точки зрения. Скалярное произведение двух векторов v> mieR" обозначалось нами как vTw, но иногда будет удобно пользоваться некоторым специальным обозначением. В следующих двух определениях происходит наложение двух смысловых значений vi, и мы еще раз рекомендуем читателю интерпретировать это по контексту *). Определение 3.1.5. Пусть v, дое Rn. Скалярное произведение v и w по определению равно п (v, a;> = ora;=S^^ = l^ll2-lltfi;|l2-cose, (3.1.21) 1) См. посвященное этому вопросу замечание в предисловии. — Прим. перев.
3.2. Решение систем линейных уравнений 65 где 0 есть угол между v и w, если, конечно, v ф О и хюфЪ. Если (vy w} = 0, то говорят, что v и w ортогональны или перпендикулярны. Определение 3.1.6. Говорят, что векторы см, ..., v*€ R" ортогональны или взаимно ортогональны, если <р/, t//> = 0, / =^= /. Если, кроме того, <*;,-, У/> = 1, то говорят, что система векторов {аь • •, ул} ортонормальна, и если £ = /г, то она является орто- нормальным базисом в Rn. Пусть Q е RnxP, тогда говорят, что Q является ортогональной матрицей, если QTQ = I или QQr = /. (3.1.22) По определению, эквивалентному (3.1.22), столбцы или строки ортогональной матрицы образуют ортонормальную систему векторов. Следующая теорема содержит некоторые свойства ортогональных матриц, которые делают особенно важным их значение для практики. Доказательства оставлены в качестве упражнений. Теорема 3.1.7. Если матрицы Q, (5 е Рлхл ортогональны, то матрица QQ тоже ортогональна. Кроме того, для любых i/gR" и Де Rnxn имеют место равенства IIQofc'-IHI* (ЗЛ.23) ||Q^||2 = MQ|b = H||2, (3.1.24) IIQII2=1. (3.1.25) Равенство (3.1.23) показывает, что ортогональная матрица соответствует нашим геометрическим представлениям об операторе отражения и поворота, поскольку он может изменять только направление вектора v, но не его длину. Равенство (3.1.24) говорит о том, что ортогональная матрица не изменяет норму матрицы. Вот те две причины, по которым ортогональные матрицы с успехом используются в матричных разложениях. 3.2. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ И РАЗЛОЖЕНИЯ МАТРИЦ Многомерные нелинейные алгоритмы почти всегда требуют на каждой итерации решения по крайней мере одной системы из п линейных уравнений с п неизвестными Ax = b9 As=RnXn, 6, *g=R\ (3.2.1)
66 Гл. 3. Основы вычислительной линейной алгебры Обычно это связано с нахождением ньютоновской точки путем решения модельной задачи или некоторой ее модификации. К счастью, для решения данной задачи доступны превосходные библиотеки подпрограмм: в Соединенных Штатах, прежде всего в библиотеках UNPACK и IMSL, а в Великобритании в NAG и Харвелловской библиотеках. Эти библиотеки содержат алгоритмы решения задачи (3.2.1) для матриц общего вида, а также специальные алгоритмы, которые более эффективны для случаев, когда А имеет структуру особого вида, такую, как симметричность и положительная определенность (обычные свойства систем, возникающих в прикладной минимизации). Из-за доступности этих программ, тщательности труда по их созданию и тестированию, наша точка зрения такова, что лицу, решающему нелинейные задачи, нет необходимости, а возможно, оно и вовсе не должно писать свой собственный «решатель» линейных уравнений. Скорее, это лицо должно знать, какую из имеющихся программ использовать для каждого из различных типов задач (3.2.1), с которыми он или она может столкнуться, а также знать о затратах и возможных проблемах, связанных с использованием программ. Важно к тому же иметь базовые знания по структуре этих программ, с тем чтобы без труда обращаться с ними и чтобы представлять себе, какие из технических приемов окажутся полезными в других частях нелинейных алгоритмов. В целях экономии места в математических формулах распространена практика записи A~lb> например хц+\ = Xk — AkXF(xk) в ньютоновских итерациях для F{x) = 0. Беда в том, что читатель, не знакомый с численными расчетами, может подумать, что мы, в самом деле, вычисляем Л^1 и берем ее произведение на вектор Ъ. Для большинства вычислительных машин всегда более эффективно вычисление А~ХЬ путем решения линейной системы Ах = Ь с использованием методов разложения матриц, хотя это может оказаться неверным для некоторых «векторных ЭВМ». Способы представления матриц в виде произведения сомножителей основываются на разложении А вида А = А\ • А% • ... • Ат, где каждое At имеет форму, удобную для решения (3.2.1). В нашем случае т ^ 5, причем главным образом т = 2 или 3. Имея разложение А или в процессе ее разложения, мы пытаемся выяснить вопрос о вырожденности или обратимости Л. Если А почти вырождена, то задача (3.2.1) не будет хорошо поставленной с вычислительной точки зрения, и здесь, видимо, более важно знать это, чем вычислять ненадежное решение. Подробнее об этом говорится в следующем разделе.
3.2. Решение систем линейных уравнений 67 Если мы хотим приняться за решение Ах = Ь, то нам надо, «отщепляя» один за другим множители разложения, решить уравнения в такой последовательности: АХЬХ = Ь, A2b2 = blf АтЬт = 0m_i, где х = Ьт есть искомое решение. Чтобы убедиться в этом, отметим, что каждое bi равно AJxAjlx ... АГ1Ь, так что X — Ат Ащ—1 A7lb = A'lb. Ниже перечислено шесть наиболее важных вариантов выбора Ai и кратко упомянуто о характерных особенностях решения (3.2.1) для каждого из вариантов. 1. Ai представляет собой матрицу перестановок Р. Матрица перестановок имеет тот же набор строк (и столбцов), что и единичная матрица, однако расположенных не в таком порядке, а переставленных. Для любой матрицы М матрица РМ поэтому является точно такой же перестановкой строк в М, a MP — такой же перестановкой столбцов в М. Далее, Р~1 = РТ тоже есть матрица перестайовок. Обычно Р хранится в виде вектора р = = (рь ..., рп)т, получающегося в результате перестановки в (1,2, п)т, причем договоренность здесь такова, что t-я строка в Р совпадает с р,-й строкой в /. Нетрудно заметить, что Рх = Ь имеет решение xPi = btt i = 1, ..., п. 2. Ai является ортогональной матрицей, обозначаемой через Q или U. Поскольку Q~l = Qr, то решение Qx = b сводится к формированию QT6, а так как Q часто имеет вид произведения элементарных ортогональных преобразований, то решение, как правило, можно выполнить эффективным образом, не прибегая к явному вычислению Q. 3. Ai есть невырожденная диагональная матрица Д du = = di Ф 0, i=l, ..., n, da = 0, i Ф j. Решением Dx = b является Xi = bi/diy i = 1, ..., п. Матрица D хранится в виде вектора. 4. At — невырожденная блочно-диагональная матрица De, у которой на главной диагонали находятся обратимые блоки размера 1 X 1 или 2 X 2, а вне блоков стоят нули, например, х х 0 Ои = X X X X X X
68 Гл. 3. Основы вычислительной линейной алгебры Решение йвХ = Ь находится решением соответствующих линейных систем порядка 1X1 и 2 X 2. 5. At есть невырожденная нижняя треугольная матрица L, 1цф0, i=h ...» я, Л/ = 0, 1 ^ i < / ^ п. Схематично она выглядит так: Г* о! L _ I X X I ~" I X X X Г I X X X XJ Если 1ц = 1, i = 1, ..., п, то L называется нижней треугольной с единичными диагональными элементами. Система Lx = b решается прямой подстановкой: используя первое уравнение, найти х\, потом, подставив его во второе уравнение, найти х2, затем, подставив их в третье уравнение, найти х% и т. д. 6. А\ есть невырожденная верхняя треугольная матрица, обозначаемая как V или /?. Она является транспонированной к нижней треугольной матрице. Система Ux = b решается обратной постановкой с использованием уравнения от л-го до 1-го для нахождения в том же порядке неизвестных от хп до х\. Таблица 3.2.1. Арифметическая трудоемкость (главные члены) решения линейных систем Матрица Q D D* L или U Умножения и деления п2 п < 5л/2 п2/2 Сложения и вычитания п2 — <Л п2/2 В табл. 3.2.1 приведена арифметическая трудоемкость1) решения линейных систем, задаваемых матрицами перечисленных выше типов. Во всех этих случаях она мала по сравнению с трудоемкостью разложения матриц. Отметим, что решение Рх = Ь предполагает лишь п операций присваивания. Нас будет интересовать разложение матриц трех типов: общего вида, симметричных и симметричных положительно определенных. Матрица А е Rnxn симметрична, если А = Ат. Матрица А положительно определена, если vTAv > 0 для всех ненулевых v е Rn; в случае симметричности это эквивалентно условию, что все ее собственные значения положительны. 4) Под арифметической трудоемкостью понимается количество арифметических операций. — Прим. перев.
3.2. Решение систем линейных уравнений 69 Важное значение имеют PLU- и (^-разложения квадратных матриц общего вида. PLiZ-разложение имеет вид A=P-L-U или PTA = LU, где Р — матрица перестановок, L — нижняя треугольная матрица с единичными диагональными элементами, U — верхняя треугольная матрица. Это разложение находится с помощью исключения Гаусса с частичным выбором ведущего элемента или преобразования Дулитла, где для преобразования А в U и одновременно для получения разложения используются стандартные операции над строками (что эквивалентно умножению слева А на L~XP-X). Далее, QR- или Q/^P-разложе- ние, где А = QRP, Q — ортогональная, R — верхняя треугольная матрица, Р — матрица перестановок, получается в результате преобразования А в R умножением слева на последовательность из л—1 ортогональных матриц Q,-. Каждая матрица Qt обнуляет элементы /-го столбца матрицы Q/_i- ... -Q\A, лежащие ниже главной диагонали, и вместе с тем оставляет неизменными первые i— 1 столбцов. Матрица Q, называется преобразованием Хаусхолдера и имеет вид Qi = I — uiuJt где (a/)/ = 0, /= 1, ..., /—1, а остальные элементы вектора щ выбираются так, чтобы Q, была ортогональной и приводила к появлению требуемых нулей в t'-м столбце. Матрица перестановок, которая в действительности не всегда используется, формируется из перестановок столбцов, необходимых для перемещения на /-и итерации столбца с наибольшим значением суммы квадратов его элементов, лежащих ниже (i—1)-й строки, на место /-го столбца. Преимущество Q/^-разложения состоит в том, что, поскольку при формировании R оно не приведет к существенному увеличению в целом элементов преобразуемой матрицы Л. Это делает его численно очень устойчивым и служит одной из причин, по которой преобразование Хаусхолдера и другие ортогональные преобразования играют важную роль в вычислительной линейной алгебре. С другой стороны, ^(/-разложение является, как правило, довольно точным, а его трудоемкость составляет половину трудоемкости Q/^-разложения, так что на практике используются оба разложения. В алгоритмах секущих будет использовано <2/?-разложение без перестановок столбцов, поскольку после внесенных в матрицу изменений малого ранга это разложение пересчитывается с меньшими затратами, чем PL (/-разложение. Исходя из соображений реализации, которые изложены Чз разд. 6.5, мы на самом деле рекомендуем использовать (^-алгоритм во всех алгоритмах решения систем нелинейных уравде-
70 Гл. 3. Основы вычислительной линейной алгебры ний с плотно заполненными матрицами. Алгоритм (^-разложения представлен в приложении алгоритмом АЗ.2.1. Если матрица А симметрична и положительно определена, то более эффективным алгоритмом оказывается разложение Хо- лесского, в котором A=LLT, L — нижняя треугольная матрица. Матрицу L легко найти, выписав (п2-\-п)/2 уравнений, выражающих значение каждого элемента нижнего треугольника матрицы А через элементы матрицы L: Яц = ('и)2> #21 ='ll " ^2Ь #22 = (h\) 4" fe) у #32 — ^21*31 "Г *22^32> #л2 — Wnl "Ь Wn2> азз = (/з.)2 + (/з2)2 + азз)2. Они решаются в той же последовательности относительно /и, /гь ..., Inu /22, /32, ..., 1п2, /зз, ..., /пз, ..., причем для нахождения /// используется уравнение для ац. Этот алгоритм численно очень устойчив. В нем требуется п извлечений квадратного корня для получения диагональных элементов ///, /= 1, ..., п\ причем все подкоренные выражения положительны тогда и только тогда, когда А положительно определена. Иногда разложение представляется в виде А = LDLT> где матрицы: L — нижняя треугольная с единичными диагональными элементами, D — диагональная с положительными диагональными элементами. Эта форма разложения не требует никакого извлечения квадратных корней. Алгоритм разложения Холесского является специальным случаем алгоритма А5.5.2, приведенного в приложении. Если А симметрична, но не является знакоопределенной, т. е. А имеет положительные и отрицательные собственные значения, то А можно эффективным образом разложить на множители PLDBLTPTy где Р — матрица перестановок, L — нижняя треугольная матрица с единичными диагональными элементами, Db — блочно-диагональная матрица с блоками размеров 1X1 и 2 X 2. Дополнительные сведения по этому разложению имеются в работе Банча и Парлетта (1971). Асен (1973) привел вариант,
3.3. Погрешности при решении линейных систем 71 в котором DB заменено на трехдиагональную матрицу Т. Подробности см. в книге Голуба и Ван Лоана (1983). Детальное обсуждение PLU-, QR- и 1//-разложений можно посмотреть в книгах Стюарта (1973) или Донгарры и др. (1979). Арифметическая трудоемкость всех разложений отличается от /г3 небольшим множителем. Она приведена в табл. 3.2.2. Таблица 3.2.2. Арифметическая трудоемкость (главные члены) разложения матриц Разложение A = PLU A = QR A = LLT, LDLT A = PLDBLTPT A=*PLTLrPT Умножения и деления П3/3 2tt3/3 /i3/6 n3/6 n3/6 Сложения и вычитания rt3/3 2/i3/3 n3/6 Al3/6 Al3/6 В гл. И кратко обсуждаются нелинейные задачи, которые приводят к разреженным линейным системам, где большинство матричных элементов нулевые. При их решении следует пользоваться специальными подпрограммами, предназначенными для решения разреженных матричных задач. Здесь уместно упомянуть широко доступные харвелловский и йельский пакеты программ. 3.3. ПОГРЕШНОСТИ ПРИ РЕШЕНИИ ЛИНЕЙНЫХ СИСТЕМ На итерации нелинейного алгоритма будет использовано решение 5 линейной системы Acs = —F(xc) для определения шага или направления в точку следующего приближенного решения jc+. Поэтому важно знать, насколько сильно вычисленный шаг может быть подвержен влиянию используемой арифметики конечной точности. Кроме того, поскольку Ас и F(xc) иногда сами по себе являются аппроксимациями величин, которые в действительности хотелось бы использовать, то интересно, какова чувствительность вычисленного шага к изменениям в данных, определяющих Ас и F(xc). Эти вопросы обсуждаются в настоящем разделе. Рассмотрим две линейные системы: Aix^bl:[4 "|о][£]-[и]- Г 0.66 3.341 Г *,-| Г 41 Л* = &2:|_1.99 10.01 JUJ-LwJ-
72 Гл. 3. Основы вычислительной линейной алгебры Обе имеют решение (1, 1)г. Если заменить Ьх на Ь\ —(0.04, 0.06)г, что соответствует 0.43-процентному относительному изменению Ь\ в /а-норме, то новое решение первой системы станет равным (0.993, 0.9968)г, а относительное изменение х в /2-норме составит 0.51 %. Однако если изменить 62 на ту же самую величину (—0.04, —0.06)г, что отвечает 0,55-процентному относительному изменению, то новое решение второй системы будет равно (6,0)т. Относительное изменение х здесь огромной равно 324 %. Аналогично, замена первого столбца в А2 на (0.75, 2.00)т также приводит к тому, что х становится равным (6,0)г. Очевидно, что вторая система очень чувствительна к изменениям в ее данных. Естественно спросить, почему? Графическое представление двух ее уравнений показывает, что они представляют собой две почти параллельные прямые, так что малое смещение какой- либо одной из них существенно меняет точку их пересечения. С другой стороны, первая система соответствует прямым, пересекающимся примерно под углом в 80°, так что смещение любой прямой вызывает аналогичное смещение точки их пересечения (рис. 3.3.1). Линейные системы, чьи решения очень чувствительны к изменениям данных в этих системах, называются плохо обусловленными, и нам нужен способ распознавания таких систем. Легко показать, что плохую обусловленность может выявить анализ матрицы системы. Рассмотрим систему Ах = Ь с невырожденной матрицей А и попробуем найти относительное изменение решения я», соответствующее заданному относительному изменению Ь или А. Если изменить Ь на Д6, то новое решение можно представить как х* + Ах, где А(х. + Ьх) = Ь + Д6 = Ах, + А6, Таким образом, в любой векторной норме ||*|| и соответствующей индуцированной матричной норме HAjcIkIU-I-hauii- Д*2 А*2 Уравнения Aix=b] Уравнения кгх=Ь2 Рис, 33.1.
3.3. Погрешности при решении линейных систем 73 Кроме того, из Ах% = Ь имеем 1 ,<М1 так что ил ^||Л"ЧЛ ■ II Ml • Аналогично, если изменить А на ДЛ, полагая (А + &А)& = Ь и * = дс.+ Д£, то (А + АА)(хт + Ь*) = Ь, что дает лд* = — ал • je, IIAiB<U-!|.||Aiie«ll*IL JML^niii.lj-il. 1М1 ^<11Л||.|Ц-1.1^ II* В обоих случаях относительное изменение х ограничено относительным изменением данных, умноженным на ЦЛЦ-УЛ-1!!- Эта величина известна как число обусловленности матрицы А. Оно обозначается в случае использования индуцированной матричной /р-нормы через кр(А). В любой индуцированной матричной норме число обусловленности представляет собой отношение максимального и минимального растяжений, вызываемых матрицей А (см. равенства (3.1.7) и (3.1.18)), и, таким образом, оно больше или равно 1. В наших примерах m(Ai) = = (15)(0.14) = 2.1 и xi(i42) = ( 13.35) (300) = 4005, т. е. вторая система гораздо более чувствительна к изменениям в данных, чем первая. Так как минимальное растяжение, вызываемое вырожденной матрицей, равно нулю, то число обусловленности вырожденной матрицы можно считать бесконечным. Поэтому число обусловленности невырожденной матрицы служит степенью близости матрицы к вырожденности. Оно обладает тем привлекательным свойством, что остается неизменным при масштабировании матрицы умножением на скаляр, поскольку х(аЛ) = х(Д) для любого ненулевого aeRn любой матричной нормы. Число обусловленности является также мерой чувствительности решения системы Ах = Ь по отношению к арифметике конечной точности. Когда линейная система решается на вычислительной машине, полученное решение, как можно показать, есть точное решение некоторой возмущенной системы (А + + АЛ)дс = &. Этот метод анализа часто называют обратным анализом ошибок по Уилкинсону, а источником служит книга Уилкинсона (1965). Можно показать, что для некоторых из рассматриваемых в разд. 3.2 методов величина ||АЛ||/||Л|| ограни-
74 Гл. 3. Основы вычислительной линейной алгебры чена сверху константой, умноженной на машинный эпсилон, причем на практике это почти всегда верно для всех из них. Поэтому относительная ошибка решения, полученного с конечной точностью, ограничена сверху константой, умноженной на (x(/4)-macheps). Таким образом, число обусловленности матрицы А оказывается полезной величиной при оценке сверху того, насколько чувствительным будет решение системы Ах = Ь как к неточностям данных, так и к влиянию арифметики конечной точности. Если в этом смысле Л почти вырождена, то можно ожидать трудностей при решении Ах = Ь. Поэтому в случае плохо обусловленных линейных систем мы будем настороже при извлечении информации из наших моделей, поскольку, как бы ни были просты и точны модели, решение модельной задачи, чувствительное к малым изменениям, имеет, разумеется, ограниченное применение в качестве приближения к решению нелинейной задачи. Если плохая обусловленность встречается вдали от решения нелинейной задачи, т. е. там, где модель никак нельзя считать очень точной, то обычно мы просто возмущаем линейную систему с целью улучшения ее обусловленности и продолжаем дальше. Если плохо обусловленные системы встречаются вблизи от решения, где модель, по-видимому, является хорошей1), то это означает, что решение нелинейной задачи само по себе очень чувствительно к малым изменениям в данных (рис. 3.3.2). Это может означать, что исходная задача плохо поставлена. Нужно, наконец, обсудить то, каким образом мы будем определять на практике, достаточно ли линейная система (3.2.1) плохо обусловлена, чтобы следовало избегать ее решения. Со- fiW-o хг Плохо обусловленная система двух нелинейных уравнений с двумя неизвестными Линейная модель для \ 1Линейная опель для f,W«0 Линейная модель этой системы в близкой к дт* точке (плохо обусловленная система линейных уравнении) Рис. 3.3.2. Соответствие между плохой обусловленностью линейной и нелинейной систем уравнений. *) Под «хорошей» понимается модель, которая хорошо аппроксимирует поведение нелинейной задачи. — Прим. перев.
3.3. Погрешности при решении линейных систем 75 гласно анализу, проведенному Уилкинсоном (1965), если к{А)^ ^ (macheps)-1, то, вероятно, вычисленное для (3.2.1) решение будет совершенно ненадежным. На самом деле обычно считают, что если х(Л)> (macheps)-1/2, то вычисленное для (3.2.1) решение вряд ли заслуживает доверия. Наши алгоритмы будут проверять такое условие, и затем возмущением плохо обусловленных, моделей получать модели с улучшенным1) поведением. Проблема состоит в том, что вычисление х(Л) включает в себя нахождение ||Л_1||, а это не только может быть ненадежным, но и редко когда оправдывает затраты. Поэтому все, что здесь делается, сводится к оценке к(А) вида condest = || М || • invest у где М есть либо Л, либо множитель разложения Л, имеющий вероятнее всего такую же, как у А обусловленность, a invent есть оценка для ||ЛМ||. Для наших приложений понадобится оценить число обусловленности матрицы Л, разложенной в произведение Q-R. Нетрудным упражнением будет показать, что в этом случае X*iH)<*iW)<**iM). Поэтому мы оцениваем xi(/?), так как /гнорма матрицы легко вычисляется. Используемый нами алгоритм является конкретным примером из класса оценок числа обусловленности, предложенных Клайном, Моулером, Стюартом и Уилкинсоном (1979). Он представлен в приложении А алгоритмом АЗ.3.1. Алгоритм сначала вычисляет \\R\\\. Используемый затем способ оценки ||R~] ||i основывается на неравенстве справедливом при любом ненулевом г. Алгоритм выбирает z в результате решения RTz = e, где е есть вектор, состоящий из единиц с разными знаками, подобранными так, чтобы последовательно максимизировались значения zb ..., zn. Затем в нем решается Ry = z и выдается значение condest = l|/?lli(ll*/lli/l|2||i). Хотя гарантируется, что отношение ||*/||i/||2||i будет оценкой снизу для И/?"1^» на практике оно довольно близко к последнему. Одно из объяснений этому основано на том, что процесс получения у связан с обратным степенным методом, предназначенным для нахождения наибольшего собственного значения матрицы (RTR)~l. Другое объяснение таково, что алгоритм, как !) Улучшенной будет обусловленность модели, но при этом ее способность аппроксимировать нелинейную задачу может ухудшиться (см. предыдущее примечание). — Прим. перев.
76 Гл. 3. Основы вычислительной линейной алгебры оказывается, способен ловко выделять какой-либо из больших элементов матрицы R-1. Читателям, желающим упрочить свое интуитивное понимание этого вопроса, настоятельно советуем проработать пример, приведенный в упр. 19. 3.4. ФОРМУЛЫ ПЕРЕСЧЕТА МАТРИЧНЫХ РАЗЛОЖЕНИЙ Позже в книге будут рассмотрены многомерные обобщения метода секущих, в которых последовательные производные соответствующих моделей Лс, Л+е Rn*n связаны между собой особенно просто. В этом разделе мы увидим, как использовать два наиболее важных соотношения между Ас и Л+ для уменьшения затрат на получение разложений матриц А+ на основе разложения матрицы Лс. В частности, мы хотели бы вникнуть прежде всего в некоторые детали задачи о нахождении разложения Q+/?+ матрицы A+ = Ac + uvT, (ЗАЛ) где uf v е R". Здесь Ас есть некоторая невырожденная матрица общего вида, для которой уже имеется разложение QCRC- Идея алгоритма несложна. Для w = Qlu запишем А+ = QcRc + мт = Qc (Re + wvT), а затем построим Q/^-разложение Rc + wvT = QR. (3.4.2) Тогда /?+ = £ и Q+ = QCQ- Выгода здесь состоит в том, что Q^-разложение матрицы Rc + wvT стоит намного дешевле, чем те 5я3/3 операций, которые мы вынуждены были бы потратить на получение Q+R+, если бы не воспользовались предыдущим разложением. Средством, необходимым для получения разложения (3.4.2), является ортогональное преобразование, называемое вращением Якоби. Оно по сути представляет собой двумерное вращение, матрица которого содержится в матрице порядка /г. Вращение Якоби используется для обнуления одного элемента матрицы, при этом изменяются только две строки матрицы. Матрица вращения в двумерном пространстве и матрица вращения Якоби порядка п определены ниже. Их свойства, имеющие важное значение, приведены в лемме 3.4.2. Определение 3.4.1. Матрицей вращения в двумерном пространстве называется матрица /?(<р)е R2x2 вида [cosф — sin фI , <pcsRv вшф созфГ
3.4. Формулы пересчета матричных разложений или в эквивалентной записи Матрица вращения Якоби /(/,/,a,p)eRrtXn такова, что 1</</<л, a, peR, |а| + |Р1*=0, а 77 [/(/, /, <*, Р)1н = [/(*, h а, Р)],/ = ^== = а, -[/(/,-/, а, Р)],/= [/(/, /. a, p)b==^=L= = P, [/(/, /, а, Р)Ь =1, 1 < k < n, ft Ф /, * ^ /, а остальные элементы равны нулю. Она схематично выглядит так: XU*,P) = 1 1-й столбец 1 j-й столбец i « -р 1 О 1 О 1 Ь 1 -*-я строка -j-Я строка Лемма 3.4.2. Пусть п !>2, и обозначения /?(<р), /?(a, р), /(/, /, а, р) имеют прежний смысл. Тогда: (a) для всех <ре R и ненулевых ueR2 матрица R(<р) ортогональна, а преобразование /? (ф) • t; поворачивает v на угол ср против часовой стрелки; кроме того, R(v29 vx)'V = (0, \\v\y)T и R(vlt -v2)-v = (\\v\\2, of; (b) для всех целых /, /e[l, n], /</, и a, fsR, где |a| + IP \¥*0f матрица /(/, /, a, p) ортогональна. Если M + = = /(/,/, a, р)-М, MeRnXft, то (M+)k=(M)k. для 1<£</z, i^i и кф \\ кроме того, каждая из строк матрицы М+ с номерами / и / является линейной комбинацией /-й и /-й строк матрицы М;
78 Гл. 3. Основы вычислительной линейной алгебры (с) если Мц • Мц ф О, то [/(/, /, MJh Мц) • М]ц = О и [/ft Л Afn.-AfyiJ.Afl/i-O. При пересчете (^-разложения матрицы Ас в (^-разложение матрицы Л+ = QcRc + uvT используются вращения Якоби для разложения Rc + QTcuvT = Rc + wvT в произведение Q/J следующим образом. Сначала п—1 раз применяется вращение Якоби для последовательного обнуления строк матрицы wvT с номерами п, п— 1, ..., 2. Здесь для обнуления i-й строки комбинируются строки с номерами / и i— 1. В результате каждого вращения изменяются некоторые из имеющихся элементов матрицы Rc и вводится один новый элемент непосредственно под диагональю в позиции (i,i—1). Таким образом, п — 1 вращений приводят Rc + wvT к верхнему треугольному виду с дополнительной диагональю ниже главной. Это есть так называемая верхняя матрица Хессенберга. Далее опять применяется п—1 вращений Якоби, но уже для того, чтобы последовательно обнулить (/, /—1)-е элементы, / = 2, 3, ..., п, комбинируя строки с номерами i—1 и /. В результате появляется верхняя треугольная матрица /?, такая, что Rc + wvT = = QR> где (Q)T есть произведение 2п — 2 вращений. Читатель может убедиться, что полный процесс пересчета Q/^-разложения требует только 0(п?) операций. Получение матрицы Q+ = QcQ, которая хранится до следующего шага, является наиболее трудоемкой частью разложения. Что касается другого важного специального соотношения между Ас и Л+, то, как сейчас будет видно, для него Q+ оказывается ненужным. При использовании локальных квадратичных моделей для решения задач безусловной минимизации мы предпочитаем, чтобы гессианы квадратичных моделей, т. е. матрицы их вторых производных из RnXrt, были симметричными и положительно определенными. Мы найдем исключительно целесообразным выбирать гессиан модели А+ так, чтобы, он обладал указанными свойствами, если ими обладает гессиан Ас текущей модели. Более того, получение Л+ из Ас наводит на серьезные размышления. Дело в том, что если LCLTC есть разложение Хо- лесского для Д., то А+ =/+/+, где /+ = Lc + vuT. Но это прямо говорит нам, как получать разложение Холес- ского A+ = L+LT+. Для получения разложения Q+/?+ матрицы /+ = LTC + uvT из Q^-разложения QcRc = I • LTC матрицы LTe просто применим
3.5. Собственные значения 79 описанный выше способ. Тогда непосредственно получим А+ = J+Jl = RT+QT+Q+R+ = RT+R+ = L+LT+. Процесс пересчета также требует 0(п2) операций. В этом конкретном случае нам не нужно затрачивать п2 операций на формирование w = Qlu, поскольку QC = I, а также нет необходимости строить Q+, так как нам нужно всего лишь /?+ = L+. Этот алгоритм полностью содержится в алгоритме АЗ.4.1 приложения. Альтернативой Q^-разложению и обсуждаемым в этом разделе формулам пересчета является подход, предложенный Гил- лом, Голубом, Мюрреем и Сондерсом (1974). Он заключается в использовании разложения A = LDV, где L есть нижняя треугольная матрица с единичными диагональными элементами, D — диагональная матрица, а строки матрицы V образуют ортогональный базис в Rn, но не обязательно ортонорми- рованный. В этом случае VVT = D представляет собой диагональную матрицу. Вычисление L+D+V+ = LCDCVC + uvTy где u,v^Rn, обходится немного дешевле, чем описанный выше пересчет (^-разложения. В случае симметричных положительно определенных матриц это соответствует выполнению £/)//-разложения последовательно для матриц {Ak}. Эти алгоритмы собраны в работе Гольдфарба (1976). Последовательное разложение симметричных незнакоопре- деленных матриц широко исследовалось Соренсеном (1977), и его до некоторой степени сложный алгоритм представляется вполне удовлетворительным. Матрицы перестановок составляют основной источник затруднений. В частности, по этой причине не известен алгоритм пересчета PLfZ-разложения матрицы Ас в разложение P+L+U+ матрицы А+ = Ас + uvTy который был бы удовлетворительным с рассматриваемой точки зрения. 3.5. СОБСТВЕННЫЕ ЗНАЧЕНИЯ И ПОЛОЖИТЕЛЬНАЯ ОПРЕДЕЛЕННОСТЬ В этом разделе формулируются свойства собственных значений и собственных векторов, которые использовались или будут далее использованы в тексте. Приводятся также определения положительно определенных, отрицательно определенных, незна- коопределенных симметричных матриц и их отличительные признаки в терминах собственных значений. Эти признаки дают представление о пространственной форме многомерных квадратичных моделей, введенных в гл. 4 и используемых в дальнейшем.
80 Гл. 3. Основы вычислительной линейной алгебры Большинство теорем приводится без доказательств. Доказательства можно найти в работах, ссылки на которые имеются в начале этой главы. Определение 3.5.1. Пусть А е Rnxn. Собственными значениями и собственными векторами матрицы А называются соответственно действительные или комплексные скаляры X и я-мерные векторы v, такие, что Av = Kv и v Ф 0. Определение 3.5.2. Пусть А е Rnxn симметрична. Будем говорить, что А положительно определена, если vTAv > 0 для каждого ненулевого t;eRn. Будем говорить, что А положительно полуопределена, если vTAv ^ 0 для всех ugR". Будем говорить, что А отрицательно определена или отрицательно полуопределена, если —А положительно определена или положительно полуопределена соответственно. Будем говорить, что А незнакоопределена, если она не является ни положительно полуопределенной, ни отрицательно полуопределенной. Теорема 3.5.3. Пусть А е Rnxn симметрична. Тогда она имеет п действительных собственных значений Аь ..., Хл и та* кое множество соответствующих им собственных векторов v\, ..-, vn, которое образует ортогональный базис в R*. Теорема 3.5.4. Пусть А е Rnxn симметрична. Тогда матрица А положительно определена в том и только том случае, когда все ее собственные значения положительны. Доказательство. Пусть для А собственными значениями являются Яь ..., Ял, а соответствующие им ортонормированные собственные векторы равны vu • • • > vn- Предположим, что I,- ^ 0 для некоторого /. Тогда v*Avf = 0/(V/) = ^i°Tvt= Л/ ^ °> что указывает на отсутствие положительной определенности А. Предположим теперь, что каждое А,, положительно. Поскольку {vi} образует базис в R", то любой ненулевой уеКл можно представить как п v=Ytaivh где хотя бы одно щ ненулевое. Тогда п п п vTAv = Е S hpptfVf = £ Хр2{ > о благодаря ортонормированности векторов vt. Таким образом, А положительно определена. □
3.5. Собственные значения 81 Теорема 3.5.5. Пусть А е Rnxn симметрична. Тогда А положительно полуопределена в том и только том случае, когда все ее собственные значения неотрицательны. Матрица А отрицательно определена или отрицательно полуопределена тогда и только тогда, когда все ее собственные значения соответственно отрицательны или неположительны. Матрица А является незна- коопределенной тогда и только тогда, когда у нее имеются как положительные, так и отрицательные собственные значения. Следующие определения и теоремы понадобятся в разд. 5.5. Теорема 3.5.6. Пусть А е Rnxn симметрична и имеет собственные значения Ки ..., %п. Тогда ||А||2= max |М. Если А не вырождена, то Теорема 3.5.7. Пусть А е Rnxn имеет собственное значение Xt. Тогда %i + а будет собственным значением для А + а/ при любом действительном а. Определение 3.5.8. Пусть А е Rnxn симметрична. Будем говорить, что А является матрицей со строго доминирующей диагональю, если \Ф1 для всех /= 1, ..., л. я« — £ |а//1>0 Теорема 3.5.9 (Гершгорин). Пусть Л е Rnxn симметрична и имеет собственные значения %\, . • •, hn- Тогда min А,, ^ min iin 1а„ —Е а„ I, iXn\a kk+ /?1 ,а*/'г max А*< max Следствие 3.5.10. Если А является матрицей со строго доминирующей диагональю, то А положительно определена.
82 Гл. 3. Основы вычислительной линейной алгебры 3.6. ЛИНЕЙНАЯ ЗАДАЧА О НАИМЕНЬШИХ КВАДРАТАХ Заключительной из рассматриваемых тем по линейной алгебре будет линейная задача о наименьших квадратах: заданы ЛеГхп, т>л, &€=Rm, (3.6.1) min II Ах — Ь ||2, которая является частным случаем нелинейной задачи о наименьших квадратах: заданы rt(x): Rrt->R, /=1, ..., m, т min £ гi С*)2 при ri(x) = (at.)x — biy где /=1, ..., m. Основанием для изучения задачи (3.6.1) служит то, что часто необходимо решать ее как подзадачу нелинейной задачи о наименьших квадратах и, кроме того, понимание этой линейной задачи способствует лучшему пониманию ее нелинейного аналога. В связи с изучением линейной задачи о наименьших квадратах вводится понятие сингулярного разложения, представляющего собой мощное средство вычислительной линейной алгебры, которое оказывается полезным во многих ситуациях. К линейным задачам о наименьших квадратах обычно приводит желание наилучшим образом приблизить набор из т точек-данных (ti, yi) с помощью функции f(xtt), которая является линейной относительно ее п свободных параметров ед^х^+^е* Рис. 3.6.1. Пример линейной задачи о наименьших квадратах.
3.6. Линейная задача о наименьших квадратах 83 Хи • • •, *п. Предположим, например, что желательно приблизить три пары (1,2), (2,3), (3,5) с помощью функции f(x,t) = — xit + x2e* (рис. 3.6.1). Для точного совпадения f(x,ti) = yiy i = 1, 2, 3, потребовалось бы выполнение равенства Ах = 6, где 4i 1} и;;} -[!]• (3.6.2) Так как система уравнений Ах = Ь является переопределенной, то, не предполагая решать ее в обычном смысле, мы вместо этого выбираем х, которое минимизирует некоторую меру величины вектора невязок Ах—6. В (3.6.1) /2-норма выбрана потому, что получающаяся в результате этого задача обладает хорошими с математической точки зрения свойствами и, кроме того, имеет статистическое обоснование. Отметим, что нахождение решения рассматриваемого примера задачи (3.6.1) эквивалентно поиску ответа на вопрос: «Какая из линейных комбинаций векторов (1, 2, 3)т и (е, е2, е3)т оказывается ближе всего в /2-норме к (2,3,5)7?». В общем случае можно переформулировать задачу (3.6.1) так: «Найти линейную комбинацию столбцов а.и •••> <*•« матрицы Л, ближайшую к Ь в /2-норме». Геометрически это означает нахождение такой точки в n-мерном подпространстве С (Л), натянутом на столбцы матрицы Л, которая находится ближе всего к вектору Ь в евклидовой норме (рис. 3.6.2). Такая интерпретация приводит к простому решению линейной задачи о наименьших квадратах. Известно, что ближайшей к Ъ в С (А) будет точка Лх#е ^С(А)> такая, что Л** — Ь ортогонален ко всему подпространству С (А). Таким образом, х* должно удовлетворять равенствам (a.i)T(Ax* — Ь)=0, *=1, ...,/г, что эквивалентно Ат(Ах* — &) = 0. Ясно, что Ах* единственно, и если столбцы матрицы Л линейно независимы, то значение х„ которое дает точку Л**, также единственно и является решением невырож- Рис. 3.6.2. Решение линейной задачи о наименьших квадратах.
84 Гл. 3. Основы вычислительной линейной алгебры денной системы уравнении (АтА)х. = АтЬ. (3.6.3) Эти сведения резюмируются в теореме 3.6.1, а ее формальное доказательство оставлено в качестве простого упражнения. Теорема 3.6.1. Пусть m ^ п > О, А < решение задачи min || Ах — Ь\\2 Rmx«, iGRm. Тогда xesR" представляет собой множество точек {jc#: Ат(Ах+— Ь) = 0}. Если столбцы матрицы А линейно независимы, то х* единственно, А7А не вырождена к х+ = (АТА)-1АТЬ. Уравнения (3.6.3) известны как нормальные уравнения. Хотя они и однозначно определяют хщ в случае, когда А полного столбцового ранга, но не всегда указывают путь, по которому следует идти при вычислении х*. Это объясняется тем, что формирование матрицы АТА может привести к антипереполнению и переполнению, а также к возведению в квадрат числа обусловленности задачи по сравнению с методами, которые непосредственно используют А. Если А имеет полный столбцовый ранг, то можно воспользоваться Q/^-разложением матрицы Л, п m = m m Q m n 4 ] 04 0 '}*„ (3.6.4) R где ортогональная матрица QsRmxm и верхняя треугольная матрица R^Rmxn получаются тем же способом, что при (^-разложении квадратной матрицы. Это разложение обеспечивает численно устойчивую ортогонализацию столбцов матрицы А. Следующая теорема показывает, как применять (3.6.4) для решения (3.6.1). Теорема 3.6.2. Пусть m ^ л >0, 6 е Rm, и матрица А е е RmXrt имеет полный столбцовый ранг. Тогда существует разложение A = QR вида (3.6.4), где тХ т-матрица Q ортогональна, /?eRWXrt есть верхняя треугольная матрица, и Ru, образованная первыми п строками матрицы /?, представляет собой невырожденную верхнюю треугольную матрицу. Единственным решением задачи (3.6.1) является xm-Rul(<fb)m,
3.6. Линейная задача о наименьших квадратах 85 где (QTb)u = ((QTb)u ..., (Q?b)n)T. Минимум \\Ах-Ь\й равен Доказательство. Существование Q/^-разложения матрицы А вытекает из возможности его получения преобразованиями Ха- усхолдера, а невырожденность Ru следует из того, что А имеет полный столбцовый ранг. Используя (3.1.23), получаем ЪАх-Ъ ||2=]| QRx -b\\2 = || Rx - QTb ||2, так что (3.6.1) может быть переписано в виде min||/?*-QrH. Тогда, если (QTb)i = ((QTb)n+u ..., (QTb)m)T, имеем ll^-Qr6|l2=l/?^-(Q4l2 + |(Qr6)/t Ясно, что это выражение принимает наименьшее значение при x = Rul(QTb)u. П Если А не имеет полного ранга, то существует целое множество решений х задачи (3.6.1). Поэтому в задачу можно внести дополнительное требование найти наименьшее в /2-норме из этих решений: заданы A<=RmXnt 6e=Rm, min {II х Ik: || Ax - b ||2 < \\A* - b ||2 V* e R*}. (3.6.5) xeR" Задача (3.6.5) представляет интерес независимо от того, больше, равно или меньше /л, чем п. Она может быть решена во всех перечисленных случаях с использованием сингулярного разложения (SVD1)) матрицы А. Это более трудоемкое разложение матрицы на множители, нежели обсуждавшиеся до сих пор разложения, но как средство оно более мощное. Определение SVD приводится ниже. Характерные свойства множителей этого разложения приведены в теореме 3.6.4. Теорема 3.6.5 показывает, как использовать SVD для решения задачи (3.6.5). Определение 3.6.3. Пусть А е RmXrt и k = min{m, п}. Сингулярным разложением матрицы А называется разложение вида А = UDVTf где (7eRmXm и Ке Rnxn есть ортогональные матрицы, a DERmXrt имеет вид d/, = a,^0, /=1, ..., k> dii = 0, 1Ф\. Величины <Ji, ..., ok называются сингулярными числами матрицы А *) SVD-—аббревиатура singular value decomposition. — Прим. перев.
86 Гл. 3. Основы вычислительной линейной алгебры Заметим, что U используется для обозначения ортогональной матрицы, несмотря на то что в разд. 3.3 та же буква использовалась для нижних треугольных матриц. Это прочно укоренившееся обозначение не должно запутать внимательного читателя. Кроме того, использование обозначений U и V традиционно для матриц, столбцы которых представляют собой собственные векторы, и следующая теорема демонстрирует это. Теорема 3.6.4. Пусть А е Rmxn. Тогда для А существует SVD, в котором диагональные элементы а, матрицы D есть неотрицательные квадратные корни из собственных значений матрицы ААТ, если т^п, или матрицы АТА, если m^n> а столбцами матриц U и V являются собственные векторы матриц ААТ и АТА соответственно. Количество ненулевых сингулярных чисел равно рангу матрицы А. Доказательство. Доказательство существования SVD можно найти в работах, цитированных в начале главы. Так как AAT = UDDTUT и АТА = VDTDVT, имеем (ААТ) • U = U • (DDT)9 (АТА) V = V (DTD). Таким образом, если м#/ и v.j есть соответствующие /-е столбцы в U и V, то (ААТ) u.j = XjU.f, / = 1, ..., m, (ЛМ)0./ = Л/0./, /=1, ..., п, где %i представляют собой диагональные элементы матриц DDT и DTD, причем А,/=(а/)2, /=1, ..., min{m, п}, и Л/ = 0, / = = min{m, п}+1, ..., max {/л, /г}. Поскольку умножение матрицы на невырожденную матрицу не изменяет ее ранга, то rank (Л ) = rank (D), и это равно количеству ненулевых а/. □ Теорема 3.6.5. Пусть А е RmXn имеет SVD вида А = UDVT> где Uу Д V имеют тот же смысл, что в определении 3.6.3. Пусть матрица, псевдообратная к Л, определяется как j4* = KZW, Z)+ = Й-{ О, <т* = 0, (3.6.6) I dfj = О, 1Ф у, D+sR"^. Тогда единственным решением задачи (3.6.5) является х* = А+Ь. Доказательство. Из разложения A = UDVT и равенства (3.1.23) следует, что (3.6.5) эквивалентно min {II VTx ||2: || DVTx - UTb ||2 < || DVTX - UTb ||2 V* е= R*},
3.6. Линейная задача о наименьших квадратах 87 что для z = VTx эквивалентно min {||z ||2: || Dz - UTb ||2 < || Di - UTb ||2 V2 е= Rrt}. (3.6.7) Пусть k равно количеству ненулевых а в D. Тогда к т \\Dz-UTb\\22=Z(oizi-(UTb)if+ £ ((£/%)2. Это выражение принимает минимальное значение при любом г, таком, что Zi=(UTb)i/Oi, i=l, ...,£. Среди всех таких г норма ||г||2 минимальна для того из них, у которого zi = О, / = &+1, ..., т. Таким образом, решением задачи (3.6.7) является z'=D+UTb, откуда х*= VD+UTb = A+b. □ Сингулярное разложение находится с помощью итерационного процесса, тесно связанного с алгоритмом отыскания собственных значений и собственных векторов симметричной матрицы, поэтому его труднее получить, чем другие наши матричные разложения. Этот метод рекомендуется, когда про матрицу А не известно, имеет ли она полный строковый или столбцовый ранг. Если т < п и А имеет полный строковый ранг, то (3.6.5) решается более эффективно с помощью LQ-разложения (упр. 27). Способ SVD наиболее надежен при вычислении ранга матрицы, или, что эквивалентно, вычислении количества линейно независимых векторов в множестве векторов. Можно также использовать SVD для определения чувствительности х = А~1Ь по отношению к изменениям в исходных данных Д6, где А есть квадратная матрица. Кроме того, если А не вырождена, то х2(А) = 0\/Оп, и тогда SVD представляет собой самый надежный способ вычисления и2(Л). Заключительное замечание относительно определения ранга матрицы на основе ее SVD состоит в том, что D в действительности дает нам больше информации о линейной независимости столбцов в Л, чем мы могли бы «втиснуть» в единственное целое число, отведенное под ранг А. Например, если /г = 3 и <Ti = l, а2 = 0.1, а3 = 0, то следует согласиться, что А имеет ранг, равный 2. Если <т3 заменить на macheps, то, вероятно, и в этом случае следует все же считать, что вся информация передана фразой «гапк(Л) = 2». Ну а как быть в случае, когда 0i = l, 03 = macheps и 02= (macheps) ^2 или 100-macheps и т. д.? С увеличением п растет число ситуаций, вызывающих тревогу из-за более сложного распределения в них сингулярных чисел. Никто на самом деле не знает, что в таком случае делать, однако весьма разумным здесь будет подыскать «разрывы» в расположении сингулярных чисел, и те из них, которые имеют примерно один и тот же порядок величины, счи-
88 Гл. 3. Основы вычислительной линейной алгебры тать в зависимости от этого порядка все либо нулевыми, либо ненулевыми. Важно, чтобы пользователь программ, имеющихся у него в записи, понимал суть этих вопросов. Дело в том, что в пакетах программ ROSEPACK и EISPACK при решении (3.6Л) с использованием SVD принимается в некоторый момент решение, по которому А модифицируется так, что ее «малые» сингулярные числа полагаются равными нулю, и затем решается модифицированная задача. Несмотря на это, ничего не происходит в тайне от пользователя, и необходимо всего лишь прочитать программную документацию для понимания того, что же в действительности делается. Можно с уверенностью сказать, что любая подпрограмма, вычисляющая SVD, из соображений своей эффективности будет присваивать нулевые значения всем сингулярным числам, которые пренебрежимо малы с точки зрения проводимых вычислений. Донгарра и др. (1979) дали очень краткое объяснение типичной проверке на «пренебрежимую малость». 3.7. УПРАЖНЕНИЯ 1. Докажите, что для любого xeR" р->оо v °° Заметим, что здесь на самом деле подразумевается, что для каждой последовательности действительных чисел {/?*}, стремящейся к оо, имеет место Нт |х|р -|х|». 2. (Трудное упражнение.) Докажите теорему 3.1.2. 3. Докажите соотношения (3.1.5). 4. Докажите, что для любых р ^ 1 индуцированная матричная /р-нор- ма (3.7.1) обладает тремя определяющими свойствами нормы Г (3.1.1) применительно к матрицам] плюс свойство мультипликативности [(3.1.10)]. 5. Докажите, что (3.1.8а) правильно вычисляет индуцированную матричную /i-норму. [Указание: покажите, что для всех v е R", причем равенство имеет место по крайней мере для одного v.] Проделайте то же самое для индуцированной матричной /«-нормы. 6. Докажите (3.1.8Ь). (Воспользуйтесь методикой доказательства теоремы 3.5.4.) 7. Покажите, что tr(АТВ) представляет собой обычное скалярное произведение А на Б, рассматриваемых как «длинные векторы*. Свяжите это с нормой Фробениуса, т.е. докажите (3.1.14).
3.7. Упражнения 89 8. Докажите, что IIА || = II Ат || как для /2-нормы, так и для нормы Фробениуса. Обратите внимание, что (АВ)./ = AB.h и посмотрите, не дадут ли вам эти факты возможность доказать (3.1.15) и (3.1.16). 9. Докажите (3.1.17). 10. Завершите доказательство теоремы 3.1.4. 11. Докажите, что для любой А е RnXn и любой ортонормированной последовательности векторов ^ е R", / = 1, ..., я, имеет место Mft-£M»<i(j 12. Докажите теорему 3.1.7. 13. Решите блочно-диагональную систему Ах = 6, где ГЗ 1 0 12 0 1 0 0 2 10 0 0 L0 0 0 0 0 0 2 -1 Оп 0 ' 0 -1 4. |. ь = - 5-1 5 6 3 L i6 J 14. Получите преобразование Хаусхолдера: дано dgR", v Ф 0, найти weR", такое, что матрица (1 — иит) ортогональна и (/ — иит) v = (а, 0, ... ..., 0)г, а ф 0. [Указание: и должно иметь вид р(у, v2t ..., vn)T, где 15. Примените преобразование Хаусхолдера для разложения А на множители Q/?, где 1 —1 " 16. Является ли матрица ( 2 з ) положительно определенной? Для выяснения этого воспользуйтесь разложением Холесского. 17. Найдите разложение Холесского для Г 4 6 -2-1 I 6 10 1 I L -2 1 22 J А если заменить 10 на 7? 18. Докажите, что если А = Q-R, то 1 — Xi(i4)<xi(/?)</ixi(i4). Докажите также, что Кг(А) = y,z(R).
90 Гл. 3. Основы вычислительной линейной алгебры 19. Найдите число обусловленности в /i-норме для Оцените число обусловленности этой матрицы с помощью алгоритма АЗ.3.1. 20. Напишите программу для дальнейшего использования в виде отдельного модуля, которая бы давала оценку числа обусловленности верхней треугольной матрицы. 21. Та простая форма матрицы R(a, 0), в которой мы представили вращения Якоби, излишне подвержена воздействию погрешностей арифметики конечной точности, когда а или 0 малы или велики, либо различны порядки их величин. Напишите процедуру, которая бы вычисляла /?(а, Р) с высокой точностью. 22. Найдите матрицу вращения Якоби, которая бы давала нуль в позиции (3, 1) матрицы г;; п. L3 5 9J 23. Докажите теорему 3.6.1. При этом покажите, что если Ат(Ах+ — Ь)= 0, то || Ах — Ь ||2 ^ II Ах* — Ь ||2 для всех xeR", причем строгое неравенство имеет место, когда А имеет полный столбцовый ранг и х Ф х*. Покажите также, что если А имеет полный столбцовый ранг, то АТА не вырождена. 24. Имеется Q/^-разложение прямоугольной матрицы А полного столбцового ранга, определенное в теореме 3.6.2. Покажите, что первые п столбцов в Q образуют ортонормированный базис пространства, натянутого на столбцы матрицы А. 25. Подберите прямую xi + x2t, приближающую данные (//, yi) = = (—1,3), (0, 2), (1,0), (2, 4). Выполните поставленную задачу, используя Qfl-разложение и нормальные уравнения. [Указание: вы делали упр. 15?] 26. Имеются я > m > 0, !ieRm и матрица А €= RmXn полного строкового ранга. Покажите, как решить задачу min (О*Ik: Ax=*b), используя разложение вида А = LQ, где матрица L €= RmX/l —нижняя треугольная, a Qe риХл _ ортогональная. [Указание: воспользуйтесь методикой, аналогичной той, что применялась в доказательствах теорем 3.6.2 и 3.6.5.] 27. Покажите, как выполнить LQ-разложение в предыдущем упражнении, используя преобразования Хаусхолдера. 28. Имеется сингулярное разложение А = UDVT невырожденной матрицы A g= RnXn. Докажите, что хг(А) = сч/Ол. Пусть u.j и v/ обозначают соответствующие столбцы матриц V и V. Покажите также, что изменение А6 = au.f в правой части линейной системы Ах = b приведет к изменению д* = (a/Oj)v.j в решении.
4 Основы анализа функций многих переменных В этой главе содержатся сведения из анализа функций многих переменных, необходимые в дальнейшем для изучения вопросов численного решения нелинейных задач. В разд. 4.1 обсуждаются производные, определенные интегралы, ряды Тейлора и связанные с ними свойства, которые будут впоследствии использованы при построении и анализе предлагаемых методов. В разд. 4.2 вводятся формулы для построения конечно-разностных аппроксимаций производных от функции многих переменных, а в разд. 4.3 приведены необходимые и достаточные условия, характеризующие точку минимума при отсутствии ограничений. Книга Ортеги и Рейнболдта (1970) может служить подробным справочным пособием как по данной теме, так и по теоретическому исследованию нелинейных алгебраических задач общего вида. 4.1. ПРОИЗВОДНЫЕ И МНОГОМЕРНЫЕ МОДЕЛИ При изучении минимизации функции одной переменной для построения локальной квадратичной модели минимизируемой функции использовались производные первого и второго порядка. Поэтому мы Стремились к тому, чтобы модельная задача соответствовала реальной задаче по значению, тангенсу угла наклона и кривизне в точке, которая на текущий момент является наилучшим приближением к точке минимума. Формула Тейлора с остаточным членом оказалась полезным аналитическим аппаратом для оценки погрешности аппроксимации квадратичной моделью. Она в той же степени будет нам полезна и здесь. Мы начинаем этот раздел с описания, без излишних подробностей, формулы Тейлора второго порядка для скалярной функции, зависящей от векторной переменной. Затем, для того чтобы перейти к этапу рассмотрения систем нелинейных уравне-
92 Гл. 4. Основы анализа функций многих переменных ний, мы изучим задачу построения локальной аффинной модели для функции F: Rn-vRm. В этом случае подход, использующий ряды Тейлора, является весьма неудовлетворительным, потому что здесь не выполняется теорема о среднем. Предвидя это, в гл. 2 мы использовали теорему Ньютона для построения аффинных моделей. Вторая часть этого раздела будет посвящена построению аппарата, позволяющего провести аналогичный анализ в многомерном случае. Рассмотрим сначала непрерывную функцию: f: Rn->-R, п> 1. Если существуют первые частные производные от функции п переменных / и они непрерывны, то вектор-столбец, составленный из п частных производных, называется градиентом Vf(x) функции / в точке х, и он в данном случае представляет собой то же самое, что и первая производная от функций одной переменной. В частности, существует соответствующая теорема о среднем, которая утверждает, что разность между значениями функции в двух точках равна скалярному произведению разности между точками на градиент функции в некоторой промежуточной точке прямой, соединяющей эти две точки. Аналогично, если п2 вторых частных производных от / также существуют и непрерывны, то матрица, составленная из них, называется гессианом1) V2f(x) функции f в точке дг, и он тоже удовлетворяет условиям теоремы о среднем, представленной в виде формулы Тейлора с остаточным членом. Точные определения и леммы приведены ниже. Причины, по которым важные результаты одномерного анализа остаются справедливыми для функций многих переменных, состоят в том, что они используют значения действительной функции в двух точках х и х + р пространства R", а прямая, соединяющая эти две точки, может быть параметризована с помощью одной переменной. Таким образом, результаты следуют непосредственно из соответствующих теорем одномерного анализа. Обозначим открытый и замкнутый линейный сегмент, соединяющий jc, х е R", через (х, х) и [*, х] соответственно, а также напомним читателю, что DczRn называют выпуклым множеством, если [х, х] с= D для любых x,x^D. Определение 4.1.1. Будем говорить, что непрерывная функция f: Rrt->R непрерывно дифференцируема в jceRn, если производные (df/dxi)(x)t i=l, ...,п, существуют и непрерывны. Тогда градиент функции / в точке х определяется как v/W = [^rW.---.^rW]r- (4-1.1) *) Гессианом принято называть определитель матрицы Гессе V%f(x). Однако, учитывая замечание авторов после примера 4.1.8 относительно терминов «якобиан» и «матрица Якоби», мы все же решили придерживаться при переводе терминологии, принятой а данной книге. — Прим. перев.
4.1. Производные и многомерные модели 93 Будем говорить, что / непрерывно дифференцируема в открытой области Dc=Rn, и обозначать это как f^Cl(D)> если она непрерывно дифференцируема в любой точке из D. Лемма 4.1.2. Пусть /: Rn-*R непрерывно дифференцируема на некоторой открытой выпуклой области Dc=Rn. Тогда для ^gD и произвольного ненулевого приращения peRn производная по направлению р от f в точке х, определяемая как °Р е->0 8 существует и равна Vf(x)T-p. Для любых ху* + ре£>, выполнено 1 х+р f(x + p) = f(x)+\vf(x + tp)Tpdt^f(x)+ J Vf(z)(b9 (4.1.2) О х и существует ze(x, х + р), такое, что f(x + p) = f(x) + Vf(z)Tp. (4.1.3) Доказательство. Проведем элементарным образом параметризацию / как функции одной переменной вдоль прямой, соединяющей х и (х + р), g:R-+R, g(t) = f(x + tp) и обратимся к анализу функции одной переменной. Определим x(t) = x + tp. Затем по цепному правилу дифференцирования сложной функции для 0 ^ а ^ 1 имеем п л = 2]-e-(*(a))-p, = Vf(* + ep)'p. (4.1.4) Подстановка a = 0 сводит (4.1.4) к виду Пользуясь фундаментальной теоремой анализа, теоремой Ньютона, запишем 8 (\) = g(0)+\g'(t)dt,
94 Гл. 4. Основы анализа функций многих переменных что по определению g и согласно (4.1.4) эквивалентно /(* + р)=/(*)+ $ чНх + tpf р Л; О тем самым (4.1.2) доказано. Окончательно по теореме о среднем для функции одной переменной имеем g(D = g(0) + g'(t), ее (0,1), что по определению g и согласно (4.1.4) эквивалентно f(x + p) = f(x) + 4f(x + tp)Tp9 бе (0,1), и (4.1.3) доказано. □ Пример 4.1.3. Пусть f: R2->R, f(x) = x\ — 2x{ + Sxxxl + Ax\y jcc = (1, If, р = (-2, Yf. Тогда [•2^-2 + 341 V'W-[teA+15bi J' /(**) = 6, f(xc + p) = 23, Vf(xc) = (3,l8f. В обозначениях леммы 4.1.2 g{t) = f{xc + tp) = f(\-2t, l+t) = 6+l2t + 7t2-2fi. Читатель может убедиться, что (4.1.3) справедливо для z = = xc + tp при / = (7 — Vl9 )/б ^ 0.44. Определение 4.1.4. Будем говорить, что непрерывно дифференцируемая функция /: R"->R дважды непрерывно дифференцируема в jceR", если производные (d2f/dxtdxf) (х), 1 ^/, / ^ п, существуют и непрерывны. Тогда гессиан функции f в х по определению есть матрица размера яХя, и ее (*',/)-й элемент равен ^ W'/=-^e-» 1 <'■ '<п- (4Л-5) Будем говорить, что функция f дважды непрерывно дифференцируема в открытой области DczRn, и обозначать это /е ^C2(D), если она дважды непрерывно дифференцируема в каждой точке D. Лемма 4.1.5. Пусть /: Rn->*R дважды непрерывно дифференцируема в открытой выпуклой области D а Кп. Тогда для любого xgD и для произвольного ненулевого приращения peR" вторая производная по направлению р от f в точке х,
4.1. Производные и многомерные модели 95 определяемая как -¥L (х) = lim -^ ^ существует и равна pTV2f(x)p. Для любых хд-fpefl, существует г е (*, л: + р), такое, что f(x + p)=f(x) + Vf(xyP + ±pTv2f(z)p. (4.1.6) Доказательство аналогично доказательству леммы 4.1.2. D Всякий раз, когда / дважды непрерывно дифференцируема, гессиан будет симметричен. Именно поэтому мы проявляли интерес к симметричным матрицам в главе по линейной алгебре. Пример 4.1.6. Пусть /, хс и р заданы так, как в примере 4.1.3. Тогда * «- [ L е.,+w ]• * ы - [ е зо ] • Читатель может убедиться, что (4.1.6) справедливо для г = = xc + tp, ^=-3-. Лемма 4.1.5 наводит нас на мысль, чт*о можно было бы описывать поведение функции / в окрестности точки хс квадратичной моделью mc (хс + P) = f (хс) + V/ (хсУ р + \ PTV2f (хс) р9 (4.1.7) именно так мы впоследствии и поступим. Действительно, эта лемма показывает, что погрешность данной модели имеет вид f {хс + р)-тс (хс + р) = ±РТ (V2/ (г) - V2/ (хе)) р при некотором 2Е(хс, хс + р). Другую оценку погрешности дает следствие 4.1.14. Перейдем теперь к менее простому случаю, в котором F: R/I->Rm, где пг = п соответствует задачам решения систем нелинейных уравнений, а т>п — нелинейным задачам о наименьших квадратах. Было бы удобно иметь специальное обозначение^ для /-й строки единичной матрицы. Это не должно вызвать путаницы с основанием натурального логарифма. Так как значение г-й компоненты функции F можно записать как fi(x) = ejF(x)yто по правилу дифференцирования произведения имеем f't (х) = e\F' (х)> что представляет собой /-ю строку F'(x).
96 Гл. 4. Основы анализа функций многих переменных Таким образом, F'(x) должна быть матрицей размера /иХ« и ее /-й строкой будет Vfi{x)T. Ниже дается формальное определение. Определение 4.1.7. Непрерывная функция F: Ря-^Кт является непрерывно дифференцируемой в х е РЛ, если каждая компонента //, *=1, ..., m, непрерывно дифференцируема в х. Производную от F в точке х иногда называют якобианом (матрицей Якоби) F в точке х, а транспонированную к ней матрицу иногда называют градиентом F в точке х. Общепринятые обозначения таковы: fW6R"x", F'(x)if = ^(x), F'(x) = J(x)=VF(xY. Будем говорить, что функция F непрерывно дифференцируема в открытой области DczRn, и обозначать F^Cl(D), если F непрерывно дифференцируема в каждой точке из D. Пример 4.1.8. Пусть F: R2-*R2, fx (х) = е*> — xv f2(x) = = х21—2х2. Тогда /е* —1\ '»-(** -»)• В оставшейся части книги будем обозначать матрицу Якоби функции F в х через J(х). Кроме того, мы часто будем говорить о якобиане функции F, а не о матрице Якоби функции F в точке х. Единственно возможную двусмысленность может вызвать то, что первый термин иногда используется для детерминанта матрицы /(*). Однако здесь вряд ли возникнет какая- либо путаница, поскольку мы редко прибегаем к использованию детерминантов. Перейдем теперь к тому, что существенно отличает свойства скалярных функций от векторнозначных, а именно, для непрерывно дифференцируемых вектор-функций не существует теоремы о среднем. Другими словами, может, вообще говоря, не существовать 2gR", такого, что F(x +p) = F(x) +J(z)p. Интуитивно понятно, что, несмотря на то что каждая функция /, удовлетворяет соотношению // (х + р) = fi (х) + V/,- (zi) гр, точки zi все же могут быть различными. Для иллюстрации рассмотрим функцию из примера 4.1.8. Не существует ze R", для которого F(l, l) = F(0,0)+/(z)(l, 1)г, поскольку это означало бы, что т. е. eZx = е — 1 и 2zx = 1, а это, очевидно, невозможно.
4.1. Производные и многомерные модели Ф? Хотя обычная теорема о среднем не выполняется, имеется возможность заменить ее в нашем дальнейшем анализе теоремой Ньютона и неравенством треугольника для определенных интегралов. Эти результаты приведены ниже. Интеграл от вектор-функции действительной переменной можно понимать как вектор, состоящий из интегралов Римана от каждой компоненты функции. Лемма 4.1.9. Пусть функция F: k"->-Rm непрерывно дифференцируема в выпуклой открытой области D a Rn. Тогда для любых х, х + p^D, 1 х+р F(x + p) — F(x)=\j{x + tp)pdtmm J F'(z)dz. (4.1.8) О х Доказательство непосредственно следует из определения 4.1.7 и применения покомпонентно формулы Ньютона (4.1.2). □ Отметим, что соотношение (4.1.8) напоминает теорему о среднем, если представить его как F(x + p)-F(x) = Uj(x + tp)dApf где подразумевается покомпонентное интегрирование матрично- значной функции. В некоторых случаях эта форма представления окажется нам полезной. Для использования (4.1.8) в наших рассуждениях необходимо иметь возможность получать оценки интеграла в терминах подынтегрального выражения. Следующая лемма дает как раз то, что нам нужно. Лемма 4.1.10. Пусть G: D a Rn->RmXrt, где D — открытое выпуклое множество, причем х, х + p^D. Если G интегрируема на [х, х -f р], то для любой нормы в Rm nG(x + tp)pdt \<\\\G(x + tp)p\\dt. (4.1.9) Во II о Доказательство оставлено в качестве упражнения. Оно следует из представления интеграла в виде векторных интегральных сумм Римана и последующего применения неравенства треугольника (3.6.1с). Затем можно воспользоваться переходом к пределу. П
98 Гл. 4. ОсноЕы анализа функций многих переменных Лемма 4.1.9 наводит на мысль описывать поведение F(xc + p) аффинной моделью Mc(xc + p) = F(xe) + J(xc)p. (4.1.10) Именно так мы впоследствии и поступим. Для получения оценки разности между F(xc + p) и Мс(хс + р) необходимо предположить непрерывность J(x) подобно тому, как это делалось в разд. 2.4. Тогда мы получим оценку, аналогичную данной в лемме 2.4.2 для функций одной переменной. Определение 4.1.11. Пусть m, n>0, G: Rn-*Rwxn, хе^л, и пусть ||-II есть норма в R", а|||-||| —норма в RmXrt. Будем говорить, что функция G непрерывна по Липшицу в точке jc, если существуют открытое множество DcR", xel) и константа у, такие, что для всех v^D \\\G(v)-G(x)\\\^y\\v-xl (4.1.11) Константа у называется константой Липшица для G в точке х. Для любой конкретной D, которая содержит х и для которой выполняется (4.1.11), говорят, что G непрерывна по Липшицу в окрестности D точки х. Если (4.1.11) верно для каждого хеДто _G(=LipY(£>). Заметим, что величина у в (4.1.11) зависит от нормы, но от нормы не зависит само существование у. Лемде 4.1.12. Пусть F: R/,-^Rm непрерывно дифференцируема в открытом выпуклом множестве D с= R", х е D. Пусть при заданной векторной норме, индуцированной матричной норме и константе у якобиан / непрерывен по Липшицу в окрестности D точки х. Тогда для любых х + Р ^ D \\F(x + p)-F(x)-J(x)p\\^±\\p\?. (4.1.12) Доказательство. По лемме 4.1.9 F(x + p)-F(x)-J(x)p = Uj(x + tp)pdA--J(x)p = = \[J(x + tp)-J(x))pdt. 0 Используя (4.1.9), определение индуцированной матричной нормы и непрерывность по Липшицу / в окрестности D точ-
4.1. Производные и многомерны» модели 99 ки х, окончательно получаем 1 \\F(x + p)-F(x)-J(x)p\\^\\\J(x + tp)-J(x)nPUt<1 О 1 1 <\v\\tp\\\\p\\dt = y\\P\?\tdt = ±\\p\f. □ о о Пример 4.1.13. Пусть F: R2-»R2, /, (*) = х\ - х\ — о, f2(x) = = 2х{х2 — р, а, р е R. [Система уравнений F (х) = 0 эквивалентна уравнению х{ + ix2 = л/а + /р .] Тогда /(*) = l.2*2 2xJ Здесь читатель может легкс^ убедиться, используя /гнорму, что J(x) удовлетворяет (4.1.11) для любых xf tiGR2 при 7 = 2. Используя непрерывность по Липшицу, можно также получить полезные оценки погрешности для квадратичной модели (4.1.7), аппроксимирующей f(xc + p). Это сделано ниже. Доказательство аналогично доказательству леммы 4.1.12, и поэтому оно оставлено в качестве упражнения. Лемма 4.1.14. Пусть f: Rn-*R дважды непрерывно дифференцируема в открытом выпуклом множестве DaRn и гессиан V2f{x) непрерывен по Липшицу с константой у в окрестности D точки х при заданных векторной и индуцированной матричной нормах. Тогда для любых х + p^D \f(x + p)^(f(x) + Vf(x)Tp + ^pT^f(x)p)\^l\\pf. (4.1.13) Мы завершаем этот раздел двумя неравенствами, связанными с (4.1.12), которые нам понадобятся для оценки \\F(v) — F(u)\\ в доказательствах сходимости. Доказательство леммы 4.1.15, обобщающей лемму 4.1.12, оставлено в качестве упражнения. Лемма 4.1.15. Пусть F и / удовлетворяют условиям леммы 4.1.12. Тогда для любых v, u^D HF(v)-F(u)-J(x)(v-un<y »°-*» + "*-*" ||о-ii||. (4.1.14) Лемма 4.1.16. Пусть F и / удовлетворяют условиям леммы 4.1.12. Предположим, что существует J(x)~l. Тогда суще-
100 Гл. 4. Основы анализа функций многих переменных ствуют е > 0, 0 < а < р, такие, что а||о -u||<||F(iO-F(«)||<p||t> -a|| (4.1.15) для любых v, u^D, удовлетворяющих неравенству тах{||у — — х\\, Ни —х||}^е. Доказательство. Используя неравенство треугольника и (4.1.14), имеем \\F(v)-F(u)\\<U(x)(v-u)\\ + \\F(v)-F(u)-I(x)(o-u)\\^ <[ll/WII + -|(l|f-*ll + l|u-Jt||)]l|f-«ll< <ll|/toll + Ye]ll«-"ll. что доказывает вторую часть (4.1.15) при р=||/(дг)|Ц-уе. Аналогично, \\F(v)-F(u)\\>\\J(x)(v-u)\\-\\F(v)-F(u)-J(x)(v-u)\\> >[(17^чг)-Т(|,0-^| + ||и-^||)]||0-и,|> Таким образом, если е < 1/(||/(лс)-1|1т), то первая часть (4.1.15) выполнена при °-(1лет)-ув>о-р 4.2. КОНЕЧНО-РАЗНОСТНЫЕ ПРОИЗВОДНЫЕ В МНОГОМЕРНОМ СЛУЧАЕ В предыдущем разделе мы убедились, что якобиан, градиент и гессиан будут полезными величинами при построении моделей нелинейных функций многих переменных. Однако в приложениях указанные производные зачастую не заданы аналитически. В настоящем разделе вводятся формулы для аппроксимации производных конечными разностями и даются оценки погрешностей этих формул. В разд. 5.4 и 5.6 обсуждаются вопросы выбора шага конечно-разностных аппроксимаций с учетом машинной арифметики и вопросы использования конечно- разностных производных в предлагаемых алгоритмах. Напомним, что для функции одной переменной / конечно- разностная аппроксимация производной f'(x) задавалась по формуле „_ f(x + h)-f(x) а~ h
4.2. Конечно-разностные производные 101 где h достаточно мало. Из оценки погрешности аффинной модели функции f(x + h) мы имели \а — f'(x) | = 0(h) для достаточно малых Л. В случае когда F: Rn-^Rm, есть смысл использовать ту же самую идею для аппроксимации (/, /)-й компоненты J(x) с помощью аппроксимации по разности вперед fijx + hefi-ftix) аЧ~ h ' где в\ обозначает у'-й единичный вектор. Это эквивалентно аппроксимации /-го столбца J(x) по формуле A.,-'*-*"*-'» . (4.2.Г) Здесь тоже следует ожидать, что \\Aj — (/(x))./ll= 0(h) для достаточно малых Л. Этот факт обоснован в лемме 4.2.1. Лемма 4.2.1. Пусть F: Rrt-*Rm удовлетворяет условиям леммы 4.1.12 в векторной норме ||-Ц, для которой ||е/||= 1, / = = 1, ..., п. Пусть, далее, А е Rwxn, где А.\ определены по (4.2.1), /= 1, ..., п. Тогда И./-/М./|<1|А|. (4.2.2) Если пользоваться /гнормой, то М-/(*)||,<||Л|. (4.2.3) Доказательство. Подстановка p = hej в (4.1.12) дает \\F(x + hej)-F(x)-](x)hei\\^\\\hei\? = ±\ht Разделив обе части неравенства на А, приходим к (4.2.2). Так как /гнорма матрицы есть не что иное, как максимум /гнорм ее столбцов, отсюда непосредственно вытекает (4.2.3). П Следует упомянуть, что хотя, согласно (4.2.3), при построении всей А используется один и тот же шаг А, из-за арифметики конечной точности мы будем вынуждены применять шаги различных размеров для каждого столбца матрицы А Заметим также, что конечно-разностная аппроксимация якобиана требует п дополнительных вычислений функции F. Таким образом, это может оказаться сравнительно трудоемким, если трудоемко вычисление самой F или п довольно велико. Если нелинейная задача состоит в минимизации функции /: R"->R, то может возникнуть необходимость в аппроксимации градиента Vf(x) и (или) гессиана V2f(x). Аппроксимация
102 Гл. 4. Основы анализа функций многих переменных градиента всего лишь частный случай рассмотренной выше аппроксимации ](х) при т—1. В некоторых случаях из-за конечной точности вычислений приходится подбирать более точную конечно-разностную аппроксимацию, с использованием центральных разностей, приведенных в лемме 4.2.2. Отметим, что такая аппроксимация требует вдвое больше вычислений f по сравнению с разностью вперед. Лемма 4.2.2. Пусть f: Рл->-Р удовлетворяет условиям леммы 4.1.14 в векторной норме с тем свойством, что ||е<|| = 1, i = = 1, ...,п. Предположим x + hei, x — hei^D, i = l, ...,n. Пусть fleR", где at имеют вид q,-'(' + te->-'(->,'). (4.2.4) Тогда Если пользоваться /„-нормой, то ei-V/W,|<-^. (4.2.5) le-VfWl.^. (4.2.6) Доказательство. Определим действительные величины аир следующим образом: а = f (х + het) - f (х) - Av/ (*), - W (*)„, P = / (x - tied -f(x) + hVf (*), - AV/ (*)„. Применение (4.1.13) при p = ±het приводит к l«K-f и |p|<-£. и по неравенству треугольника имеем l—PK-f. Таким образом, (4.2.5) следует из соотношения а — р = = 2А(а,— Vf{x)i). Определение /«-нормы и (4.2.5) приводит к (4.2.6). □ В некоторых случаях градиент V/ задан аналитически, а V2/— нет. В этих ситуациях V2/ можно аппроксимировать, применяя формулу (4.2.1) к функции FA.V/, и затем, полагая А = = у (А + Ат), так как аппроксимация гессиана V2/ должна быть симметричной. Из леммы 4.2.1 известно^ что ЦА—V2/(*)ll =5S
4.3. Необходимые и достаточные условия 103 = 0(Л) для достаточно малого А. Легко показать, что ||Л — — V2/(jc)||f^|H — V2/WIIf (см. упр. 12). Таким образом, ||Л — -V2/(jc)||=0(A). Если V/ не задан, имеется возможность аппроксимировать V2/, используя лишь значения f{x)t как это описано в лемме 4.2.3. Здесь погрешность также имеет порядок 0(h) для достаточно малых А. Заметим, однако, что такая аппроксимация требует дополнительно (я2 + Зя)/2 вычислений /. Лемма 4.2.3. Пусть / удовлетворяет условию леммы 4.2.2 Предположим, что х, х + Ае,-, х + heh х + het + hej е Д 1 ^ /, / ^ п. Пусть А е RnXrt, где Ац имеет вид А __ f(x + h*i + **t)-f(x + **t)-n* + het) + flx) 7) Тогда MiZ-^fWi/KyYA. (4.2.8) Если пользоваться матричной /р, /оо-нормой или нормой Фро- бениуса, то IM-V2/(jc)||<|y^. (4.2.9) Доказательство очень похоже на доказательство леммы 4.2.2. Для доказательства (4.2.8) вначале подставим последовательно p = hei + he,-, p = hei и p = hej в (4.1.13). В результате получим три неравенства. Обозначим величины, стоящие в их левых частях под знаком модуля, через а, р и г\ соответственно. Тогда а —р —Tj=(i4// — V2/(jc)//)A2. Используя |а — р — т]|^ ^|а| + |р| + М и разделив результат на А2, получим (4.2.8). Таким образом, (4.2.9) непосредственно следует из (3.1.8а), (3.1.8с) и определения нормы Фробениуса. □ 4.3. НЕОБХОДИМЫЕ И ДОСТАТОЧНЫЕ УСЛОВИЯ В ЗАДАЧАХ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ В этом разделе приведем необходимые и достаточные условия первого и второго порядков того, что точка х* является локальным минимумом непрерывно дифференцируемой функции /: R*-*-R, п ^ 1. Естественно, что эти условия будут ключевыми в наших алгоритмах решения задачи безусловной минимизации. Они тесно связаны со следующими условиями, касающимися задачи с одной переменной, которые уже рассматривались в гл. 2. Итак, в одномерном случае, для того чтобы хщ была точкой локального минимума /, необходимо, чтобы /'(*») = 0;
104 Гл. 4. Основы анализа функции многих переменных достаточно дополнительно выполнения неравенства /"(л'*)>0 и необходимо /"(л*):^ 0. В многомерном случае, для того чтобы х„ была точкой локального минимума требуется V/(jc#) = 0; достаточное условие, кроме того, требует положительной определенности V2/(x»), а необходимое — по крайней мере положительной полуопределенности V2f(xJ. Доказательство и интерпретация этих условий по существу, такие же, как и в случае функций одной переменной. Равенство нулю градиента просто говорит о том, что не существует направления из х„ вдоль которого f(x) с необходимостью начнет увеличиваться или уменьшаться. Таким образом, точка, имеющая нулевой градиент, является точкой минимума или максимума / либо седловой точкой, которая представляет собой точку максимума в одном поперечном сечении пространства переменных и в то же время точку минимума в другом (по аналогии с центром седла в двумерном случае). Положительная определенность V2/(jk*) соответствует геометрическому представлению о строгой локальной выпуклости и как раз означает, что / изгибается вверх из точки х* во всех направлениях. Лемма 4.3.1. Пусть f: IR^-^IR непрерывно дифференцируема в открытом выпуклом множестве D cz Rn. Тогда х е D может быть точкой локального минимума f, только если V/(jt) = 0. Доказательство. Как и в случае одной переменной, здесь доказательство от противного предпочтительней, чем прямое доказательство, потому что сама лемма и доказательство, вместе взятые, указывают, как распознать возможный минимум и как улучшить текущее приближение, если оно не является точкой минимума. Если V/(jc)=H=0, то выберем произвольное p^Rn, для которого pTVf(x)<0. Такое р, несомненно, существует, поскольку достаточно взять р =—v/(jc). В целях сохранения простоты обозначений, умножим предварительно р на положительную константу, так чтобы x + p^D. Это можно сделать, поскольку множество D открыто и выпукло, и поэтому x-\-tp^D для любых 0 ^ t ^ 1. Тогда, в силу непрерывности V/ на D, существует некоторое ?е[0, 1], такое, что V/(.v + tp)Tp < 0 для любых /е[0, t]. Теперь применим теорему Ньютона (лемма 4.1.2), чтобы получить - f(x + tp) = f(x)+ \vf(x + tp)Tpdt9 /-о И таким образом f(x + tp) <f(x). □
4.3. Необходимые и достаточные условия 105 Для целого класса алгоритмов, называемых методами спуска, характерно то, что они основываются на приведенном выше доказательстве. Если Ч1(хс)ф0, то они выбирают направление спуска р, как указано выше, а затем точка х+ определяется спуском в направлении р, так же как указано выше. Теорема 4.3.2. Пусть /: Rrt-*R дважды непрерывно дифференцируема в открытом выпуклом множестве DcRn и предположим, что существует хеД такое, что V/(x) = 0. Если гессиан V2/(jc) положительно определен, то х является точкой локального минимума /. Если V2/(x) непрерывен по Липшицу в х, то х может быть точкой локального минимума /, только если V2f(x) положительно полуопределен. Доказательство. Если V2f(x) положительно определен, то вследствие непрерывности V2/ существует открытое выпуклое подмножество D, содержащее х, такое, что V2f(z) положительно определен для всех z из этого йодмножества. Сохраняя простоту обозначений, переобозначим это множество через D. Тогда, если psRn таково, что х-\-p^D, то по лемме 4.1.5 для некоторого 2£[х, х + р] имеем f(x + p)=f(x) + Vf(xVp + ^pTV2f(z)p = = f(x) + jPTV2f(z)p>f(x). Это доказывает, что х есть точка локального минимума /. Необходимость того, чтобы S72f(x) был положительно полуопределенным, оставим для упражнения. □ Доказательство данного ниже следствия также является легким упражнением. Мы приводим его потому, что оно представляет собой утверждение непосредственно той части теоремы 4.3.2, которая наиболее соответствует условиям, обеспечивающим нахождение точки локального минимума методом Ньютона путем отыскания нуля V/. Следствие 4.3.3. Пусть f: Rn-^R дважды непрерывно дифференцируема в открытом выпуклом множестве DczRn. Если ^gD, v/(x*) = 0 и гессиан V2/ непрерывен по Липшицу в **, причем У2/(#ф) не вырожден, то jc# является точкой локального минимума / тогда и только тогда, когда Д2/(*#) положительно определен. Необходимые и достаточные условия того, чтобы л:* была точкой лок^л^нргр максимума f, в точности такие же, как для
106 Гл. 4. Основы анализа функций многих переменных случая, когда jc# является точкой локального минимума для —/, а именно: V/(x#)*=*0 есть необходимое условие и, вдобавок, необходимо, чтобы V2/(jc#) был отрицательно полуопределенным; отрицательная определенность V2/(jc#) является достаточным условием. Если V2/(x») не является знакоопределенным, то х* не может быть ни точкой локального минимума, ни точкой локального максимума. Достаточные условия минимума частично объясняют проявленный нами интерес к симметричным и положительно определенным матрицам в гл. 3. Они приобретают еще более важное значение из-за того, что предлагаемые алгоритмы минимизации обычно описывают поведение / при приращении р к точке хс с помощью квадратичной функции mc(Xc + p) = f(Xc) + Vf(Xc)TP + YPTHP- Незначительная модификация доказательства теоремы 4.3.2 показывает, что тс имеет единственный минимум тогда и только тогда, когда Н положительно определено. Таким образом, при построении моделей будут часто использоваться симметричность и положительная определенность матриц Н. Важно представить себе вид графиков квадратичных функций многих переменных: они строго выпуклы или выпуклы соответственно чашеобразны или желобообразны в двумерном случае, когда Н положительно определена или положительно полуопределена; они строго вогнуты или вогнуты (в форме перевернутых чаши или желоба) в тех случаях, когда Н отрицательно определена или отрицательно полуопределена; они имеют вид седла (в л-мерном случае), если Н не является знакоопределенной. 4.4. УПРАЖНЕНИЯ 1. Вычислите якобиан следующей системы трех уравнений с тремя неизвестными: х\ + *? - х\ Г *i + *2-*3 1 П*) = *t*2*3 L 2*1*2 ~ 3*2*3 + *1*3 J 2. Пусть f: R2->R, f (x)*=x\x\ + x2/x{. Найдите V/(*) и V*f(x). 3. Докажите лемму 4.1.5. 4. Имеется иное определение, согласно которому якобианом функции F: &п —>• &п в *е Rrt называется линейный оператор 7(х) (если он существует), для которого lim f-*0 r\\F(x + tp) — F (*) — /(*) tp\\l Dn iA.„ i!—i—I—Zl jl-L ' *"' — 0 для »cex petR . (4.4tl)
4.4. Упражнения 107 Докажите, что если каждая компонента F непрерывно дифференцируема в открытом множестве D, содержащем *, и / соответствует определению 4.1.5, то J(x) = 7(х). Замечание. Существование такого 7(х) в (4.4.1) является определением дифференцируемости по Гато F в точке х. Более сильным условием на F является его дифференцируемость (в х) по Фреше, когда требуется, чтобы J(x) е RnXn удовлетворяло IF(x + p)-Flx)-T(x)pl _Q Р-*о IIP II [Более подробную информацию см. в книге Ортеги и Рейнболдта (1970).] 5. Пусть \ х sin —, х Ф 0, 1 0, * = 0. Докажите, что {(х) непрерывно по Липшицу, но не дифференцируемо в точке х = 0. 6. Докажите лемму 4.1.14. [Указание: вам понадобится обобщение теоремы Ньютона на случай двойных интегралов.] 7. Докажите лемму 4.1.15. (Техника доказательства очень похожа на ту, что использовалась при доказательстве леммы 4.1.12.) 8. Если в определении непрерывности по Липшицу равенство (4.1.11) заменить на ||G(ti)-G(*)||<Yll<>-*lla для некоторого а е (0, 1], то говорят, что функция G непрерывна по Гёль- деру в х. Покажите, что если предположение непрерывности по Липшицу в лемме 4.1.12 заменить на непрерывность по Гёльдеру, а (4.1.12) заменить на неравенство \\F(x + p)-F(x)-J(x)p\\^j^\\p\\l+a, то утверждение леммы останется в силе. 9. Задано F: R2-*R2, ' Зх? — 2х9 F(X): /3*f-2*2\ вычислите J(x) в х=(1,1)т. Затем примените формулу (4.2.1) для вычисления (вручную или на калькуляторе) конечно-разностной аппроксимации J(x) в jc = (1, 1)г при h = 0.01. Прокомментируйте точность аппроксимации. 10. Обобщите формулу центральной разности по вычислению Vf(x) на вычисление аппроксимации V2f(x)u по центральным разностям, так чтобы использовать только значения самой функции и обеспечить при этом асимптотическую оценку точности О (Л2). (Такая аппроксимация используется при дискретизации некоторых дифференциальных уравнений в частных производных.) Можно сделать предположение, что третья производная от f(x) непрерывна по Липшицу.
108 Гл. 4. Основы анализа функции многих переменных 11. Обобщите методику из упр. 10 на случай нахождения аппроксимации V2/(*)//, i-Ф /, так чтобы использовались лишь значения самой функции и асимптотическая точность была при этом О (Л2). Какова по сравнению с (4.2.7) трудоемкость этой аппроксимации в терминах количества вычислений функции? 12. Пусть Л, М^&пХп, причем М симметрична, и пусть Д= (А +Ат)/2. Докажите, что \\М —- A \\F ^ \\М — A \\F. 13. Завершите доказательство теоремы 4 3.2. 14. Докажите следствие 4.3.3. 15. Пусть имеется квадратичная функция п переменных f(x) = ~~хтАх + Ьтх + су где А е= RnXrt симметрична, /igR", cgR. Докажите, что она имеет единственный минимум тогда и только тогда, когда А положительно определена. Что здесь является точкой минимума? Как бы вы ее находили? Напомним, что V/ (х) = Ах + ЬУ V2f (х) = А. 16. Пользуясь необходимыми и достаточными условиями для задачи безусловной минимизации, докажите, что любое решение х* е= R" линейной задачи о наименьших квадратах вида min \\Ах-Ь\\2, A<=RmXnt b e= Rm, удовлетворяет соотношению (АтА)х*=АтЬ. [Указание: для случая, когда А не является матрицей полного ранга, обобщить упр. 15, рассмотрев положительно полуопределенные матрицы.]
Еще одно программное замечание Главы с 5 по 9 составляют сердцевину данной книги. В них рассматриваются вопросы разработки алгоритмов для решения многомерных нелинейных уравнений и задач безусловной минимизации. В гл. 5 приводится и обсуждается многомерный вариант метода Ньютона. Этот быстро сходящийся локальный метод послужит далее базовой моделью для наших алгоритмов. В гл. 6 представлены основные приемы, используемые в сочетании с методом Ньютона для обеспечения глобальной сходимости нелинейных алгоритмов. В гл. 7 обсуждаются практические соображения относительно критериев останова, масштабирования и тестирования, необходимые для разработки в законченном виде добротного программного обеспечения ЭВМ. В гл. 8 и 9 рассматриваются многомерные варианты метода секущих, которые используются вместо метода Ньютона, когда производные недоступны, а вычисление функции трудоемко. Структура гибридного алгоритма решения многомерных задач, как выяснится впоследствии, является по существу той же, что в гибридном алгоритме для одномерных задач, приведенном в гл. 2. Эта аналогия прослеживается и на более детальном уровне в определении и анализе локального шага, за исключением того, что конечно-разностные производные становятся более дорогими, а аппроксимации по секущим — гораздо менее очевидными. Однако самое существенное отличие заключается в разнообразии и возросшей сложности глобальных стратегий в случае многомерных задач.
5 Метод Ньютона решения нелинейных уравнений и безусловной минимизации В этой главе обсуждаются локальные алгоритмы, предназначенные для решения систем нелинейных уравнений и задач безусловной минимизации. Тем самым мы приступаем к рассмотрению многомерных задач. Здесь сначала приводится метод Ньютона и обсуждаются вопросы его машинной реализации, а также его достоинства и недостатки. В разд. 5.2 и 5.3 используются два различных и имеющих важное значение подхода для доказательства того, что метод Ньютона локально ^-квадратично сходится для большинства задач, однако его сходимость не обязательно будет глобальной. В разд. 5.4 обсуждается конечно-разностный вариант метода Ньютона решения нелинейных уравнений, включая вопрос о практическом выборе длины шага в конечных разностях. Глава заканчивается обсуждением варианта метода Ньютона решения многомерных задач безусловной минимизации (разд. 5.5) и обсуждением вопроса об использовании для этих задач конечно-разностных аппроксимаций производных (разд. 5.6). 5.1. МЕТОД НЬЮТОНА РЕШЕНИЯ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ Базовой для изучаемых здесь задач является задача решения системы нелинейных уравнений: задано F: Rrt->Rn, найти x$eR", такое, что F(xm) = 0, (5.1.1) где предполагается, что F непрерывно дифференцируемо. В этом разделе мы выводим формулу метода Ньютона для задачи (5.1.1) и обсуждаем налагаемые им условия, вопросы его реализации и особенности его локальной и глобальной сходи-
5.1. Метод Ньютона решения систем 111 мости. Указанные факторы обусловливают дальнейшую рабрту в книге, которая разворачивается вокруг метода Ньютона по его модификации и построения алгоритмов, надежных глобально и быстрых локально. Мы опять игнорируем вопросы существования и единственности решения задачи (5.1.1), полагая, что на практике с этим, как правило, не возникнет никаких проблем. Метод Ньютона для задачи (5.1.1) опять получается из нахождения корня аффинной аппроксимации для F, соответствующей текущему приближению хс. Эта аппроксимация строится с использованием тех же приемов, что и в случае задачи с одной переменной. Итак, хс+р F(xc + p) = F(xc) + J J(z)dz. (5.1.2) хе Поскольку в целях получения аффинной аппроксимации для F относительно приращений р к хс мы аппроксимируем интеграл в (5.1.2) линейным членом J(xc) •/?, то Mc(xc + p) = F(xc) + J(xc)-p (5.1.3) (Мс по-прежнему обозначает текущую модель). Затем s* находится из условия Мс (хс + sN) = 0, что дает нам итерацию метода Ньютона решения (5.1.1). Таким образом, решается система J(xc)s» = -F(xc\ x+=xc + sN. (5.1.4) Можно эквивалентным образом взглянуть на эту процедуру, а именно мы находим точку, которая одновременно обращает в нуль аффинные модели п функций, являющихся компонентами F. Эти модели имеют вид (Mc)l(xc + s") = fi(Xc) + Vft(Xc)Ts*9 * = 1, ..., п. Так как мы не ожидаем, что х+ окажется равным *#, а на самом деле будет лишь приближением к хщ, более удачным, чем Хс, то давайте построим на базе ньютоновского шага (5.1.4) алгоритм, применяя его итеративно из начального приближения Хо. Алгоритм 5.1.1. Метод Ньютона для систем нелинейных уравнений. Заданы: непрерывно дифференцируемая функция F: R*-vRn и *0е R"; на очередной, k-ft итерации решить J(xk)sk = — F(xk\ xk+\ = *Л + Sk-
112 Гл. 5. Метод Ньютона Например, пусть *1 + *2 — 3 /7W= 2 . 2 П I' 1х] + х\ — 9 J Корнями здесь являются (3,0)г и (0,3)г. Пусть лго = (1, 5)г, тогда первые две итерации метода Ньютона имеют вид [-—1 П I хх = х0 + s0 = (-.625, 3.625)г, [_»-М41 nil *8 = ^ + 5l « (-.092, 3.092)г. Метод Ньютона в данном случае, по-видимому, работает хорошо, ведь х2 находится уже довольно близко к корню (0,3)т. Здесь проявляется основное преимущество метода Ньютона: если хо находится достаточно близко к решению х# и якобиан /(**) не вырожден, то, как показано в разд. 5.2, последовательность Xk, вырабатываемая алгоритмом 5.1.1, сходится к х* ^-квадратично. Метод Ньютона будет также успешно работать на почти линейных задачах, поскольку он находит нуль (невырожденной) аффинной функции за одну итерацию. Отметим также, что если какие-либо компоненты-функции в F аффинны, то каждая итерация, вырабатываемая методом Ньютона, будет решением этих уравнений, так как используемые им аффинные модели будут для этих функций всегда точными. Например, f{ в приведенном выше примере является аффинной, поэтому М*1) = Ы*2)(=М*з)...) = о. С другой стороны, что касается сходимости из плохих начальных приближений, то, естественно, метод Ньютона будет вести себя не лучше, чем в случае задач с одной переменной. Например, если '«-[£::]• где х. = (0, 0)т и *0 = (-10, -10)г, то х, =(-П+е10, -11 + е10)г^(2.2Х104, 2.2 X Ю4)г.
5.1. Метод Ньютона решения систем 113 Про этот шаг не скажешь, что он очень удачен! Поэтому особенности сходимости метода Ньютона указывают на то, как его использовать в многомерных алгоритмах. А именно, для нас всегда будет желательно применять его по крайней мере на заключительных итерациях любого нелинейного алгоритма, с тем чтобы использовать его быструю локальную сходимость, но, для того чтобы он сходился глобально, его нужно будет модифицировать. Имеются также две основные проблемы, касающиеся реализации итерации алгоритма 5.1.1. Во-первых, якобиан функции F может не быть задан аналитически. Это обычно встречается в реальных приложениях, когда, например, F сама не задана аналитически. Таким образом, аппроксимация /(**) конечными разностями или каким-либо другим, менее дорогим способом является важной задачей, и она служит предметом обсуждения в разд. 5.4 и гл. 8. Во-вторых, /(**) может быть вырожденной или плохо обусловленной, и тогда не представляется возможным получить достоверное решение sk линейной системы J(xk)Sk = —F(xk). Как мы видели в разд. 3.3, описанные нами способы разложения матриц могут успешно применяться для выявления плохой обусловленности. Таким образом, возможная модификация алгоритма 5.1.1 заключается в том, чтобы внести некоторое возмущение в J{xk), достаточное, чтобы сделать ее хорошо обусловленной, и перейти к дальнейшим действиям на итерации. Однако такая модификация J(xk) не имеет убедительного обоснования в терминах исходной задачи (5.1.1), и поэтому мы ее не рекомендуем. Вместо этого при плохой обусловленности J(xk) мы предпочитаем переходить непосредственно к такому глобальному методу решения нелинейных уравнений (см. разд. 6.5), который соответствует возмущению линейной модели (5.1.3), вполне осмысленному с точки зрения исходной нелинейной задачи. Рассмотренные выше достоинства и недостатки метода Ньютона служат ключом к развитию наших многомерных алгоритмов, поскольку они указывают на свойства, которые желательно сохранить, и на области, где могут потребоваться улучшение и модификация. Они сведены в табл. 5.1.2. Таблица 5.1.2. Достоинства и недостатки метода Ньютона решения систем нелинейных уравнений Достоинства 1. (/-квадратичная сходимость из хорошего начального приближения при условии, что /(**) не вырождена. 2 Точное решение за одну итерацию для аффинной F (точное па каждой итерации для всех аффинных компонент F).
114 Гл. 5. Метод Ньютона Недостатки 1. Отсутствие глобальной сходимости для многих задач. 2. Необходимость в /(**) на каждой итерации. 3. Необходимость в решении на каждой итерации системы линейных уравнений, которая может быть вырожденной или плохо обусловленной. 5.2. ЛОКАЛЬНАЯ СХОДИМОСТЬ МЕТОДА НЬЮТОНА В этом разделе доказывается локальная ^-квадратичная сходимость метода Ньютона для систем нелинейных уравнений и делаются соответствующие выводы. Техника доказательства аналогична той, что и в случае одной переменной. Она также служит прототипом большинства доказательств сходимости в этой книге. Для заданной векторной нормы ||-Ц через N(xtr) будем обозначать открытую окрестность радиуса г с центром В X T Р N(x, r) = {xs=Rn: \\x-x\\<r). Теорема 5.2.1. Пусть функция F: РЯ-^РП непрерывно дифференцируема в открытом выпуклом множестве DczR". Предположим, что существуют ^gR" и г, р > 0, такие, что N(x*,r)czDy F(x*)=0, существует /(xj-1, причем ||/(дс»)"",1КР и /е Lipy(N(x*, г)). Тогда существует е > 0, такое, что для всех x0^N(x*,e) последовательность х\>х2, ..., порождаемая соотношением Xk+\ = xk — J(xkrlF(xk), k = 0, 1, ..., корректно определена, сходится к агф и удовлетворяет неравенству ll**+i-M<Pvll**--*X Л —0, 1 (5.2.1) Доказательство. Выберем е так, чтобы якобиан J(x) был невырожденным для любых *е #(**, е), и затем покажем, что, поскольку локальная погрешность аффинной модели, используемой для проведения всех итераций метода Ньютона, имеет порядок 0(||дг* — xj|2), сходимость ^-квадратична. Пусть e = min{r, -щ]. (5.2.2) Покажем индукцией по ky что на каждом шаге выполняется (5.2.1), а также, что 11**+! — ХЛ< j \\xk — xj,
5.2. Локальная сходимость метода Ньютона 115 и тогда хмеЫ(хт9в). (5.2.3) Сначала покажем, что якобиан /(*о) не вырожден. Из ||jc0— — х II ^ е, непрерывности / по Липшицу в х* и (5.2.2) следует, что |/W"4/W-/Wll<|/W"1ll/(*o)-/(*.)«< <P-Yll*-*.IKP-Y-e<j- Таким образом, из соотношения (3.1.20) для возмущенных матриц вытекает невырожденность J{xo) и |/(*оГ'1< = 11/1(Х>)"111 ^<2|/(А:Г1|<2.р. (5.2.4) Следовательно, х\ корректно определено и Xi — x9 = Xo — xm — J (x0yl F(x0)=x0 — х— J (x0)~l [F(x0) — F(x,)]= = J (xoV1 [F (xj - F (xQ) - /(x0) (x. - xQ)). Заметим, что выражение в квадратных скобках как раз представляет собой разность между F(x+) и значением аффинной модели Мс{х), вычисленным в хш. Поэтому, используя лемму 4.1.12 и (5.2.4), имеем IU! — JcJ|<||/(A:oril|F (jcJ _ F(a:0) —/Uo) (^ — л:0)1К <2p -}\\x0-xJ = fiy\\xQ-xJ. Это доказывает (5.2.1). Поскольку IU0 — jc»||< e < l/(2pv), имеем ll*i —*J<4"ll*b —*Д что указывает на справедливость (5.2.3) и тем самым завершает доказательство для случая k = 0. Идентично проводится доказательство индуктивного предположения. □ Константы v и Р можно объединить в одну константу YRei= = yP, которая по сути есть константа Липшица для измерения относительной нелинейности F в х#, так как \nxrl[J(x)-J(xJ}\<\j(xJ-ltiJ{x)-J(xM< <PYlU-*JI = YRel||*-*JI для x^N(x*yr). Следовательно, теорему 5.2.1 можно также трактовать как утверждение о том, что радиус сходимости метода Ньютона обратно пропорционален относительной нелиней-
116 Гл. 5. Метод Ньютона ности F в х#. Относительная нелинейность функции является основным фактором, определяющим поведение этой функции в наших алгоритмах, и все наши теоремы сходимости могли бы быть легко переформулированы и доказаны в терминах этого понятия. Мы остановились на абсолютной нелинейности только потому, что это общепринято и, вероятно, поэтому порождает меньше путаницы. Читатель мог бы поинтересоваться, достаточно ли близки на практике к реальной области сходимости метода Ньютона ее оценки, вытекающие из теоремы 5.2.1. Этот вопрос исследуется в упражнениях, где показано, что оценка е в теореме 5.2.1 рассчитана на худший случай. Она довольно хорошо отражает то, насколько далеко распространяется область квадратичной сходимости в том направлении из л;*, в котором 'F более всего нелинейна. С другой стороны, в тех направлениях из **, в которых F менее нелинейна, область сходимости метода Ньютона может простираться намного дальше. Это один из тех случаев, когда мы должны платить за использование норм в нашем анализе. Ортега и Рейнболдт (1970, с. 411) дали прекрасный исторический обзор анализа сходимости метода Ньютона, включая и проведенный Канторовичем анализ, с которым можно познакомиться в следующем разделе. 5.3. ТЕОРЕМА КАНТОРОВИЧА И ТЕОРЕМА О СЖИМАЮЩЕМ ОТОБРАЖЕНИИ В настоящем разделе формулируется второй результат, касающийся сходимости метода Ньютона. Он отличается от первого. Этот сильный результат был получен Канторовичем (1948). Будет также показано, что относящиеся к нему предположения и методика его доказательства связаны с классическим результатом, касающимся сходимости итерационных алгоритмов и известным как теорема о сжимающем отображении. Несмотря на то что ни один из этих результатов не будет далее непосредственно использован в книге, они представляют собой две красивые и сильные теоремы, и их должны знать все те, кто изучает нелинейные задачи. Теорема Канторовича отличается от теоремы 5.2.1 главным образом тем, что она не предполагает существование решения р(jc^) = 0. Вместо этого она показывает, что, если якобиан J(x0) не вырожден, / непрерывен по Липшицу в некоторой области, содержащей лго, и первый шаг метода Ньютона достаточно мал относительно нелинейности F, то в этой области должен существовать корень и, более того, быть единственным. За эти более слабые предположения мы платим тем, что здесь доказы-
5.3. Теорема Канторовича 117 вается лишь r-квадратичная скорость сходимости. Продолжая знакомство с книгой, читатель увидит, что для большинства методов получение наилучших оценок скорости сходимости требует в каждом случае своего отдельного доказательства. Теорема 5.3.°1 (Канторович). Пусть г > 0, хо е Rn, F: Rn-+ Rn, и предположим, что функция F непрерывно дифференцируема в N(xo,r). Пусть для заданных векторной и индуцированной операторной норм /е LipY((A/(Jto, г)), причем /(лг0) не вырожден, и существуют константы р, т] ^ 0, такие, что |/(*аГ'1<Р. lUw^wlkr,. Введем обозначения YRei = PY> <* = YReiT|- Если а^у и r^rQz=s s=(l — Vl ~"2a)/(PY)> то последовательность {xk}t задаваемая соотношением Xk+i = xk — J(xh)~lF(xk), k = 0, 1,..., корректно определена и сходится к х*, который является единственным нулем F в замыкании множества N(xo,ro). Если же в этом случае a < -у, то лг* будет единственным нулем F в N(x0, г,), где гх = тт[г, (l + л/1 - 2(x)/(Py)], и ll*A-JUI<(2a)2*Jf £ = 0,1,.... (5.3.1) Теорема 5.3.1 имеет довольно длинное доказательство. Его схема дана в упр. 6—8. В ее основе лежит простая и весьма здравая идея. Итак, зафиксируем в я-мерном пространстве итерации лг0, хи • • • и протянем нить, соединяющую их в указанном порядке. Пометим на нити те места, где находятся xk, а затем вытянем ее в одну прямую, возможно, при этом немного растянув ее в длину. То, что в результате получится, представляет собой линейный сегмент, состоящий из последовательности верхних оценок для расстояний ||jc*+i—х*||, k = 0, 1, ... . Доказательство теоремы Канторовича по существу показывает, что для любой последовательности {xk}, построенной согласно предположениям теоремы 5.3.1, эти расстояния меньше или равны соответственно | tk+\ — tk |. Последние получаются, если применить метод Ньютона, начиная с t0 = 0, к функции (видно, что она удовлетворяет условиям теоремы 5.3.1). Поскольку последовательность {tk} сходится монотонно к мень-
118 Гл. 5. Метод Ньютона шему корню /« = (1 — л/1 — 2а)/(ру) функции /(/), общая длина части дс-нити, лежащей за хк, не должна превосходить | /* — U | • Таким образом, {**} является последовательностью Коши и поэтому она сходится к некоторому **, причем погрешности \\xk — х#|| ограничены ^-квадратично сходящейся последовательностью \tk — /*|. Эта методика доказательства называется лш- жоризацией. Она нигде не использует конечность размерности пространства Rn. Говорят, что последовательность {/*} мажорирует последовательность {**}. Дальнейшее развитие доказательства можно найти в упражнениях или, например, в работе Дэн- ниса (1971). Благоприятным обстоятельством в теореме Канторовича является то, что она не предполагает существования х* и невырожденности /(**); в действительности существуют функции F и точки xq, которые удовлетворяют условиям теоремы 5.3.1, хотя /(*♦) вырожден. Неудачным моментом здесь является то, что r-порядок сходимости ничего не говорит о продвижениях на каждой итерации, а даваемые теоремой оценки погрешности на практике часто слишком неточны. Но это не так важно, так как Дэннисом (1971) показано, что ■jllsik+i — **IK1*a — *JK 2 ||*ik+l — xk\\. Кроме того, проверку предположений теоремы 5.3.1 традиционно представляют себе как выяснение вопроса о том, будет ли метод Ньютона сходиться из некоторого хо для конкретной функции F. Однако на практике фактически всегда для тщательной оценки константы Липшица у требуется больше труда, чем для того, чтобы просто попробовать метод Ньютона и посмотреть, сходится он или нет. Так что, за исключением частных случаев, практическим приложением это не назовешь. Теорема Канторовича по своему виду очень сходна с теоремой о сжимающем отображении. Это — другая классическая теорема. Она рассматривает произвольный итерационный метод вида Jt*+i = G(Xk) и устанавливает условия, касающиеся О, при которых последовательность {xk} будет сходиться ^-линейно к точке jc# из любой точки х0 в области D. Более того, доказывается, что jc* является единственной точкой в D, такой, что G(x*) = x+. Таким образом, теорема о сжимающем отображении представляет собой более общий, но вместе с тем и более слабый результат, чем теорема Канторовича. Теорема 5.3.2 (теорема о сжимающем отображении). Пусть G: D-+D, где D есть замкнутое подмножество Rrt. Если для некоторой нормы II-II существует ае [0, 1), такое, что IIG (х) - G (у)]\ < а|| х - у ||, V*, yeD, (5.3.2)
5.4. Методы с конечно-разностными производными 119 то: (a) существует единственное jt«eZ), такое, что G{x+) = x0\ (b) для любых x0^D последовательность {**}, удовлетворяющая соотношению хк+\ = G{xk)y k = О,1, ..., сходится q-ли- нейно к jc# с константой а; (c) для любого Т) ^ ||G(Xo) — X0\\, Итерационная функция G, удовлетворяющая (5.3.2), называется сжимающей в области D. Из этого свойства следует, что, начиная из любой начальной точки хо е £>, длина шага ||jc*+i — — **Н уменьшается на каждой итерации по крайней мере на сомножитель ос, так как II **+i - xh || = || G (xk) - G (xk-{) || < a|| xk - xk-x ||. (5.3.3) На основе (5.3.3) легко показать, что {лг*} мажорируется ^-линейно сходящейся последовательностью. Отсюда как следствие, доказательство которого оставляем в качестве упражнения, вытекает теорема 5.3.2. Таким образом, доказательства теоремы Канторовича и теоремы о сжимающем отображении тесно связаны. Теорему о сжимающем отображении можно применить к задаче (5.1.1), задав итерационную функцию G(x), так чтобы G(x) = x в том и только в том случае, когда F(x) = 0. Примером служит G (х) = х — AF (х), где i4sRrtXn не вырождена. (5.3.4) Тогда эту теорему можно использовать для выяснения существования какой-либо области Z), такой, что точки, генерируемые итерационной функцией (5.3.4) из х0 е D, будут сходиться к корню функции F. Однако теорема о сжимающем отображении может быть использована для установления только линейной сходимости, поэтому она в целом непригодна для методов, рассматриваемых в данной книге. 5.4. МЕТОДЫ С КОНЕЧНО-РАЗНОСТНЫМИ ПРОИЗВОДНЫМИ ДЛЯ РЕШЕНИЯ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЯ В этой главе обсуждается влияние на метод Ньютона замены аналитически заданного якобиана J(x) на конечно-разностную аппроксимацию, построенную в разд. 4.2. Легко показать, что, если длина конечно-разностного шага выбрана надлежащим
120 Гл. 5. Метод Ньютона образом, то сохраняется ^"кваДРатичная сходимость метода Ньютона. Обсуждаются также практические способы выбора длины шага с учетом влияния машинной арифметики. Для большинства задач, и это продемонстрировано на одном примере, метод Ньютона с использованием аналитических производных и метод Ньютона с надлежащим выбором конечных разностей фактически неразличимы. Теорема 5.4.1. Пусть F и *« удовлетворяют условиям теоремы 5.2.1, где ||-II обозначает векторную Л-норму и соответствующую индуцированную матричную норму. Тогда существуют е, А > 0, такие, что если {А*} есть последовательность действительных чисел, причем 0<|Л*|^А и хо^Ы(х^г), то последовательность х\, Х2, ..., задаваемая формулами (А \ ^ k ^ k > * k) i 1 *ь ' ' >■■'- (541) Xk+\ = xk — AklF(xk), k = 0, 1, ..., корректно определена и сходится ^-линейно к л;*. Если lim А* = 0, fc->0 то сходимость ^-сверхлинейна. Если существует некоторая константа си такая, что |AaI<*iII*a-*JI. (5.4.2) или, что эквивалентно, константа сг, такая, что \hk\^c2\\F(xk)l (5.4.3) то сходимость ^-квадратична. Доказательство. Доказательство аналогично тому, что было дано для теоремы 5.2.1 в комбинации с доказательством теоремы 2.6.3, где рассматривался конечно-разностный метод Ньютона в одномерном случае. Выберем е и А, так чтобы матрица Ak была невырожденной для любых xk^N(x*,z) и | hk | < Л. Пусть в^ги е + Л<^г, (5.4.4) гДе /\ Р, Y определены в теореме 5.2.1. Сначала покажем индукцией по ky что на каждом шаге || **+i - х, || < j \\xk - xm ||, ^isJV (xf, r). (5,4.5)
5.4. Методы с конечно-разностными производными \2\ Для k = Q покажем прежде всего, что А0 не вырождена. Из неравенства треугольника, леммы 4.2.1, непрерывности / по Липшицу в хш, \\х0 — *J|<e и (5.4.4) вытекает |/ (*.)"' Ио - / (х.)] II < II/(хщГ11||| [Л0 - / (jc0)] + [/ (*о) - / (*.)] || < <P(T"+Ve)<y- (5Л6) Поступим теперь как при доказательстве теоремы 5.2.1. Из соотношения (3.1.20) для возмущенных матриц и неравенства (5.4.6) следует, что А0 не вырождена и Ыо-'Кгр. (5.4.7) Поэтому х\ корректно определено и *i-*. = 4Г1 ([F (*,) - F (х0) - / (х0) (х. - *<>)] + + Ш(хо)-А0)(х,-х0)]). Заметим, что эта формула отличается от соответствующей ей в анализе метода Ньютона только тем, что J(xo)~l здесь заменено на AqX и добавлено слагаемое (/(л:о)— А0) (х*— х0). Используя теперь леммы 4.1.12 и 4.2.1, а также неравенства (5.4.7), ||*о—**ll^ е и (5.4.4), мы убеждаемся, что \\*i-xJ^\\A0-l\\[\\F(xJ-F(x0)-J(x0)(x.-x0)\\ + 4Ч1Л-'(*о)11К-*о11]< <2p[|lK~JC0||2 + ^IUo-^ll]< <lv(* + h)\\x0-xJ<±VLx0-xJ. Это доказывает неравенство (5.4.5). Идентично проводится доказательство индуктивного предположения. Для доказательства ^-сверхлинейной и ^-квадратичной сходимости, которое мы оставляем в качестве упражнения, необходимо получить улучшенную оценку величины ||Л* — /(**)||. Эквивалентность (5.4.2) и (5.4.3) можно просто показать, используя лемму 4.1.16. □ Как и в случае одной переменной, теорема 5.4.1 не указывает нам, как в точности следует выбирать длину конечно-разностного шага на практике. Это вызвано тем, что здесь опять имеются два взаимно противоречивых источника ошибок, возникающих при вычислении конечно-разностных производных. Рассмотрим конечно-разностное соотношение (5.4.1). При этом опустим ради удобства нижний индекс &, отвечающий номеру итерации. По лемме 4.2.1 ошибка аппроксимации (/(*))./ с по-
122 Гл. 5. Метод Ньютона мощью A.j равна 0(yh) в точной арифметике, что наводит на мысль выбирать h настолько малым, насколько это возможно. Однако при малых значениях А существенно сказываются другие ошибки в (5.4.1), связанные с вычислением в арифметике конечной точности числителя этой формулы. Поскольку там числитель делится на Л, ошибка б в числителе приводит в (5.4.1) к ошибке б/Л. Относительно этой ошибки в числителе, которая проистекает из неточных значений функции и из потери точности при их вычитании, можно с достаточным основанием сказать, что она составляет лишь малую часть от F(x). В действительности если Л слишком мало, то x + hej может быть настолько близким к х, что F(x + hei)^F(x), и поэтому Ду может вовсе не иметь достоверных разрядов, или если иметь, то очень мало. Таким образом, А должно выбираться так, чтобы сбалансировать в (5.4.1) ошибки 0(yh) и 0(F(x)/h). Если F(x) имеет t достоверных разрядов, то целесообразно стремиться к тому, чтобы F(x + hej) отличалось от F(x) правой половиной этих разрядов. Точнее говоря, если относительная ошибка при вычислении F(x) равна г\ (т) представляет собой относительный уровень шума), то мы хотели бы иметь \\F(x + hef)-F(x)\\^ IF(x)t <ЛЛЬ /=1> ...» "• (5.4.8) При отсутствии какой-либо дополнительной информации разумный способ удовлетворить (5.4.8) заключается в использовании для возмущения каждой компоненты х,- своей собственной длины шага A/=V4*/, (5.4.9а) которая отвечает относительному изменению д/л на величину xj. Тогда Л./ вычисляется по формуле f(,+V,)-fW Л/ Для удобства мы до сих пор предполагали, что используется одинаковая длина шага h для всей конечно-разностной аппроксимации, однако нет оснований так поступать на практике. Более того, единая длина шага может привести к пагубным последствиям, если компоненты вектора х сильно различаются по величине (см. упр. 12). Теорему 5.4.1 легко переработать, оставив ее в силе и в случае, когда для каждой компоненты используется своя длина шага А/. В случае когда F(x) задана простой формулой, разумно полагать т) £ё macheps, и тогда длина шага Л/ есть Vmacheps • */.
5.4. Методы с конечно-разностными производными 123 Пример 5.4.2. F(x) = *0 = (2,3)г, х,= Вычисления на ЭВМ с 48 двоичными тичных разрядов): Метод Ньютона, аналитические производные " (273) /0.574655 J 5807608\ V2.1168965612826 ) /0.31178766389307\ \ 1.5241979559460 / /1.4841388323960\ V 1.1464779176945/ /1.0592959013664\ Vl.0348194625183/ /1.0008031050945\ 1,1.0014625483617/ /0.9999987218746 1\ \ 1.0000026672636 / /0.99999999999548\ \1.0000000000089 / 4 6 2.7182818284590 27 *о *1 *2 JC.4 Х4 *5 *6 *7 (Ыи (Л*о)).2 (Ыгх №р)Ь: -.)• = (1, if' разрядами (sd4.4 деся- Метод Ньютона конечные разности при h,= l0-7\xl\ -— /0.57465515450268\ V2.H68966735234 ) /0.31178738552306\ Vl.5241981016335 / /1.4841386151178\ 1,1.1464781318492/ /1.0592958450507\ \1.0348195092235/ /1.0008031056081\ V 1.0014625533494/ /0.99999872173640\ V 1.0000026674316 / /0.99999999999535\ V 1.0000000000091 / 4.0000003309615 6.0000002122252 2.7182824169358 27.000002470838 В примере 5.4.2 сравниваются конечно-разностный метод Ньютона, использующий (5.4.9) при r\ ^ macheps, и метод Ньютона, использующий аналитические производные, причем начальная точка для них одна и та же. Читатель увидит» что результаты,
124 Гл. 5. Метод Ньютона включая значения производных, фактически неразличимы. Обычно это имеет место и на практике. По этой причине многие пакеты программ даже не допускают возможности использования аналитических производных, вместо которых они применяют конечные разности. Хотя мы не сторонники таких крайних мер, все же следует подчеркнуть, что, видимо, основной причиной ошибок при использовании программного обеспечения по решению каких-либо нелинейных задач является неверное программирование производных. Таким образом, если предоставлены аналитические производные, мы настоятельно рекомендуем, чтобы они были проверены на соответствие с конечно-разностной аппроксимацией в начальной точке д:0. Если F(x) вычисляется очень длинной программой или итерационной процедурой, то т] может оказаться гораздо больше, чем macheps. Когда г\ настолько велико, что можно ожидать неточность в конечно-разностных производных (5.4.9), тогда следует, вероятно, воспользоваться вместо этого аппроксимацией J(x) по секущим (см. гл. 8). Это относится и к случаю, когда недопустимы издержки, связанные с п дополнительными вычислениями F(x) на каждой,итерации для получения А. Алгоритм для вычисления конечно-разностных якобианов представлен в приложении А алгоритмом А5.4.1. Так как формула (5.4.9а) может дать неприемлемо малое значение А/, когда Xj подходит близко к нулю, в алгоритме она несколько видоизменена, так что Л/ = Ул max {| xt |, typ Xj) sign (*,), (5.4.10) где typ*/ представляет собой характерный размер */, задаваемый пользователем (см. упр. 7.1). В заключение укажем кратко, как длина шага (5.4.10) может быть отчасти обоснована анализом. Естественно предположить, что Xj есть некоторое точное машинное число. Для упрощения анализа предположим, что х\ + Л/ также есть некоторое точное машинное число, причем Х\ + Л/ ф Х\. Это имеет место, когда hj вычисляется по какому-либо правилу выбора длины шага, которое гарантирует, что | Лу1 > macheps |jc/|, и тогда, прежде чем использовать Лу в (5.4.9Ь),проводятся вычисления1) temp = Xj + Ay, Ay = temp — xf. Этот прием улучшает точность, поэтому мы используем его на практике. Теперь легко убедиться, что погрешность, возникающая при вычислении Л.у по формуле (5.4.9Ь) из-за ошибок округ- ) Здесь temp есть сокращение от temporary (временный),— Прим. перев.
5.5. Метод Ньютона безусловной минимизации 125 ления и погрешностей вычисления функции, ограничена величиной 2 (т) + macheps) F (КЛ11\ |Д/| ' 10.4.1 U где F есть верхняя граница для Н^ООН при х е [х, х + А/в/]. [Мы не включаем сюда пренебрежимо малые ошибки от деления в (5.4.9Ь).] Кроме того, по лемме 4.2.1 разница в точной арифметике между А.,- и /(*)./ ограничена величиной Щ±, (5.4.12) где y/ есть константа Липшица, такая, что |[/(* + te/)-/(*)]e/|<Y/|/l для всех t е [О, А/]. Значение А/, минимизирующее сумму величин (5.4.11) и (5.4.12), равно д. Ц 4 (Л + macheps)^1'2 (5 4 13) При достаточно разумных предположениях (см. упр. 14) о том, что Y/ °l,(max{|x/|, typ*,})2;' (5.4.13) сводится к (5.4.10) с точностью до некоторого постоянного множителя со знаком. Заметим в заключение, что проведенный анализ можно модифицировать с учетом абсолютной погрешности в вычисленном значении F(x). 5.5. МЕТОД НЬЮТОНА БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ Рассмотрим теперь метод Ньютона для задачи min f: R"->R, (5.5.1) где предполагается, что J дважды непрерывно дифференцируема. Точно так же как в гл. 2, мы моделируем / в текущей точке хс квадратичной функцией mc(Xc + p) = f(xc) + Vf(xc)Tp+±pT4>f(xc)p и находим точку х+ = хс + s^. Здесь Vmc(jt+) = 0 является необходимым условием того, что х+ есть точка минимума для тс. Это соответствует следующему алгоритму.
126 Гл. 5. Метод Ньютона Алгоритм 5.5.1 (метод Ньютона для безусловной минимизации). Заданы: дважды непрерывно дифференцируемая функция /: R"->- R и *0е Rn; на каждой итерации к решить V2f (xk) s% = — V/ (xk)t xk+\==xk'^" sk- Алгоритм 5.5.1 просто является применением метода- Ньютона (алгоритм 5.1.1) ic системе v/(jc) = 0 из п нелинейных уравнений с п неизвестными, так как в нем на каждой итерации делается шаг в нуль аффинной модели для V/, определяемой как М k (xk + р) = V [mk (xk + р)] = V/ (xk) + V2/ (xk) p. С этой точки зрения некоторые из достоинств и недостатков алгоритма для решения задачи минимизации (5.5.1), несомненно, совпадают с приведенными в табл. 5.1.2. Положительным здесь является то, что если хо достаточно близко к точке локального минимума х+ функции / с невырожденной матрицей V2/(*#) (и поэтому положительно определенной согласно следствию 4.3.3), то последовательность {**}> генерируемая алгоритмом 5.5.1, будет сходиться ^-квадратично к х+, что с очевидностью продемонстрировано примером 5.5.2. Кроме того, если f — строго выпуклая квадратичная функция, то V/ аффинно и поэтому х\ будет единственной точкой минимума /. Пример 5.5.2. Пусть функция f(xl,x2) = (xl-2y + (xl-2Yxl + (x2+lf имеет минимум в *#=(2,—1)г. Алгоритм 5.5.1, стартующий из х0 = (1,1)7', вырабатывает следующую последовательность точек (с точностью до восьми цифр на ЭВМ CDC при одинарной точности)' Л**) хо = (1.0 Xt =(1.0 х, = (1.3913043 Xj = (1.7459441 х4 = (1.9862783 х5 = (1.9987342 х6 = (1.9999996 1.0 )г -0.5 )г - 0.69565217)г -0.94879809)7 -1.0482081)7 -1.0001700)7' -1.0000016)'' 6.0 1.5 4.09 х 10"' 6.49 х 10"2 2.53 х 10" Л 1.63 х 10"6 2.75 х КГ12
5.5. Метод Ньютона безусловной минимизации 127 Что касается отрицательных сторон алгоритма 5.5.1, то он разделяет с методом Ньютона для решения F(x) = 0 его недостатки и имеет к тому же дополнительный минус. Старые трудности заключаются в том, что метод не сходится глобально, требует решения систем линейных уравнений и аналитически заданных производных, причем в данном случае это V/ и V2/. Указанные вопросы обсуждаются в такой последовательности: конечно-разностная аппроксимация производных для задач минимизации в разд. 5.6, глобальные методы в гл. 6, а аппроксимация гессиана по секущим *) в гл. 9. Мы должны также принять во внимание тот факт, что даже как локальный, метод Ньютона не приспособлен специальным образом для задачи минимизации, поскольку в нем нет ничего, что удерживало бы его от продвижения в сторону максимума или седловой точки функции /, где V/ тоже равен нулю. С точки зрения моделирования трудность в случае алгоритма 5.5.1 состоит в том, что каждый шаг направляется просто-напросто в сторону стационарной точки локальной квадратичной модели независимо от того, является ли стационарная точка минимумом, максимумом или седловой точкой модели. Этот шаг оправдан при попытке минимизировать /(*), только когда гессиан V2/(jcc) положительно определен, т. е. когда критическая точка есть точка минимума. Даже если метод Ньютона рассматривать прежде всего как локальный метод, который следует применять, когда хс достаточно близко к точке минимума, где V2/(*c) положительно определен, то мы все же хотели бы провести некоторую полезную адаптацию в случае, когда Д2/(*с) не является положительно определенной. Имеются, по-видимому, две приемлемые модификации метода Ньютона для случая, когда V2/(*c) не является положительно определенной. Первая заключается в попытке использовать внешний вид модели, в частности «направления отрицательной кривизну» р, для которых prV2/(jcc)p< 0, с тем чтобы быстро уменьшить f(x). Было приложено немало усилий к разработке таких стратегий [см., например, Морэ и Соренсен (1979)], но они пока еще не оправдали себя! Мы рекомендуем вторую альтернативу, которая заключается в том, чтобы изменять модель, когда это необходимо, так чтобы она имела единственную точку минимума, и затем воспользоваться этой точкой минимума для определения ньютоновского шага. В частности, мы увидим в гл. 6, что имеется несколько доводов в пользу выбора шагов вида — (V2/(*c)+ |Ac/)""!V/(Jcc)f где цс ^ 0, а ^2/(*c)+|ic/ положительно определена Поэтому, когда V2f(xc) не является положительно определенной, рекомендуется заме- !> В оригинале secant approximations of the Hessian.—Прим. перев.
12Й Гл. 5. Метод Ньютона нять гессиан модели на S72f(xc) + \icI, где \лс > 0 в идеале ненамного превышает то наименьшее jx, которое делает V2/(хс) + \*>1 положительно определенной и достаточно хорошо обусловленной. Наш алгоритм, выполняющий это, обсуждается в конце данного раздела. Он представляет собой некоторое видоизменение модификации разложения Холесского, приведенной в книге Гилла, Мюррея и Райт (1981, с. 147). Результатом является следующий вариант метода Ньютона. Алгоритм 5.5.3. Модифицированный метод Ньютона безусловной минимизации Заданы: дважды непрерывно дифференцируемая функция /: Rn-^R и jc0e Rn; на каждой итерации k: применить к S72f(xk) алгоритм А5.5.1 для нахождения разложения Холесского матрицы Hk = V2/(**) + |i*/, где р,* = 0, если V2f(xk) надежно положительно определена1), n \ik>0 достаточно велико, так что #* надежно положительно определена, в противном случае: решить HksNk= -Vf(xk), xk+\ = xk ~т~ Sk • Если хо достаточно близко к точке минимума х* функции / и если V2/(x») положительно определена и достаточно хорошо обусловлена, то алгоритм 5.5.3 будет эквивалентен алгоритму 5.5.1 и, следовательно, будет ^-квадратично сходящимся. Пересмотренный вариант доказательства леммы 4.3.1 покажет, что алгоритм 5.5.3 имеет дополнительное преимущество, состоящее в том, что модифицированное ньютоновское направление — H7]yf(xc) является направлением, в котором любая дважды дифференцируемая функция f(x) начинает уменьшаться из любой точки хс. Алгоритм 5.5.3 также имеет две важные интерпретации в терминах квадратичных моделей функции f(x). Первая заключается в том, что он полагает х+ равным точке минимума хс + р для аппроксимации тс (хс + р) - f (хс) + V/ (*/ р + \ рТНср. 1) То есть не только положительно определена, но также и достаточно хорошо обусловлена. — Прим. перев.
5.5. Метод Ньютона безусловной минимизации 129 В разд. 6.4 мы убедимся, что х+ есть также точка минимума не- модифицированной модели тс (хс + p) = f (хс) + Vf (х/ р + -i р V/ (хс) при наличии ограничения \\р\\2<\\(х+-хс)\\2У что, возможно, является более привлекательным объяснение*м. Обе интерпретации можно использовать для объяснения основной проблемы, связанной с модифицированным ньютоновским алгоритмом: в некоторых ситуациях он может вырабатывать чрезмерно большие шаги s%. Эта проблема будет рассмотрена вполне удовлетворительным образом в гл. 6. Длину шага можно отрегулировать, если поработать с параметрами алгоритма А5.5.1. Однако любая такая регулировка слишком сильно зависит от характерных масштабов задачи, чтобы ее включать в алгоритм общего назначения. Мы завершаем этот раздел кратким описанием нашего алгоритма (алгоритм А5.5.1 приложения), в котором определяется как \ic ^ 0, такое, что Нс = Vf2(xc)+ |*с/ положительно определена и хорошо обусловлена, так и разложение Нс по Холес- скому. Хотя этот алгоритм является центральным в нашем программном обеспечении по минимизации, все же он имеет не настолько решающее значение, чтобы читатель изучал его в деталях. Ясно, что наименьшее среди возможных \ic (в случае, когда S/2f(xc) не является положительно определенной) несколько больше, чем абсолютная величина крайнего слева отрицательного собственного значения матрицы V2/(xc). Несмотря на то что его можно вычислить без слишком больших хлопот, мы решили предоставить гораздо более простой алгоритм, который может приводить к большим jxc. Применим сначала алгоритм Гилла и Мюррея модифицированного разложения Холесского к V2/(xc), что даст в результате V2/ {xc) + D = LLTy где D есть диагональная матрица с неотрицательными диагональными элементами, которые равны нулю, если V2f(xc) надежно положительно определена. Если D = 0, то цс = 0, и этим завершаем работу алгоритма. .Если £>=^=0, то вычисляем верхнюю границу Ь\ для |ic, используя теорему о кругах Гершгорина (теорема 3.5.9). Поскольку величина b2= max {du} 1 < i < п также представляет собой верхнюю границу для цг, то полагаем (Lie = min{6i, fe2} и завершаем работу алгоритма вычислением разложения Холесского для Нс = V2f(xc) + \icI.
130 Гл. 5. Метод Ньютона 5.6. МЕТОДЫ С КОНЕЧНО-РАЗНОСТНЫМИ ПРОИЗВОДНЫМИ ДЛЯ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ В этом разделе рассматривается влияние на метод Ньютона для безусловной минимизации, которое оказывает замена конечно- разностными аппроксимациями аналитических производных Vf(x) и V2/(x), а также практический выбор длины шага при вычислении этих аппроксимаций. Мы увидим> что здесь имеется несколько существенных отличий в теории и в практике от использования конечно-разностных якобианов, рассмотренных в разд. 5.4. Обсудим сначала использование конечно-разностных аппроксимаций гессианов. В разд. 4.2 мы видели два способа аппроксимации S/2f{xc) конечными разностями: один, когда Vf{x) задан аналитически, а другой, когда не задан. Обе аппроксимации удовлетворяют оценке \\Ac-V2f(xc)\\ = 0(hc) (he — длина конечно-разностного шага) при стандартных предположениях, и поэтому, используя ту же технику, что в доказательстве теоремы 5.4.1, легко показать, что если hc = О(\\ес\\)У где ес = хс — *♦, то метод Ньютона, использующий конечно-разностные гессианы, сходится по-прежнему ^-квадратично. Остается вопрос о выборе длины конечно-разностного шага на практике. Если V/(jc) задан аналитически, то Ас вычисляется по формулам Л./ = jr , /=1, ..., пу (o.b.ia) Ac = ±t^. (5.6.1b) Поскольку (5.6.1а) представляет собой ту же самую формулу, как в случае конечно-разностных якобианов, то рекомендуется та же самая длина шага А, = \An max {| xl |, typ *,} sign (лгу), (5.6.2) где ц ^ macheps есть оценка для относительной погрешности вычисления V/(jc). Для этой аппроксимации используется алгоритм А5.6.1. Напомним, что мы ожидаем получать правильной примерно первую половину разрядов V2/(jcc) при условии, если Vf(x) вычисляется точно (см. приведенный ниже пример 5.6.1).
5.6. Методы с конечно-разностными производными 131 Вспомним, что, когда Vf{x) не задан аналитически, Ас вычисляется по формуле (Л, _ U (*с + У* + V/) - f (*с + У,)] ~ V (*с + V/) - / (*«)] {Яс)и Щ • (5.6.3) Пример 5.6.1 показывает, что использование длины шага (5.6.2) в этой формуле может иметь катастрофические последствия. Пример 5.6.1. Пусть задана f(xux2), как в примере 5.5.2, и пусть хс =(1,1)г. Тогда *к*>-[Л -J]. Если V2/(*c) аппроксимируется по формуле (5.6.1) с использованием Л/=10-7Х/ на ЭВМ CDC с 48 двоичными разрядами (^ 14.4 десятичных разрядов), то в результате имеем д Г 13.999999737280 -4.00000018885291 с L - 4.000001888529 4.0000003309615 J ' Однако если V2f(xc) аппроксимируется по формуле (5.6.3) с использованием той же самой длины шага, то в результате имеем А _ 19.895196601283 -5.68434188608081 с~' к 6843418860808 0 J =г 19 L-5.C Есл« длину шага в (5.6.3) заменить на h,= Ю-4*,, то в результате имеем 13.997603787175 —4.00000033096151 Лс~ ■ -4.0000003309611 3.9999974887906 J' -[ Неверные результаты во втором случае примера 5.6.1 легко объяснить. Если взять, как это было в примере, ht = д/macheps xi и Ay = Vmacheps xj9 то знаменатель в (5.6.3) окажется равным (macheps -XrXj). Поскольку числитель в (5.6.3) будет, вероятно, вычисляться с ошибками конечной арифметики, по меньшей мере равными macheps-|/(*с) |, то (Ас)ц будет иметь ошибку в конечной арифметике, по меньшей мере равную \f(xc) \/\хгХ/\9 что не должно быть малым по сравнению с V2f(xc)ij- Мы часто сталкивались с тем, что формула (5.6.3) давала полностью неверные результаты при использовании длины шага (5.6.2), причем нуль является довольно обычным результатом в нашей практике. |Если в нашем примере взять A/=10"8jc/, то получим1) /85.2+ 0 \л Лс~ V 0 85.2+ )х\ *) Запись «85.2+» означает «85.2 с избытком». —Прим. перев.
132 Гл. 5. Метод Ньютона Такие же рассуждения и анализ, как и в разд. 5.4, показывают, что следует выбирать вместо рассмотренного способа длину конечно-разностного шага в формуле (5.6.3) так, чтобы этим вносить возмущение в правые две трети достоверных разрядов f(xc). Это можно обычно сделать, выбирая Ау = т)1/3 max (| Xj |, typ xf} sign (*,) (5.6.4) или выбирая во многих случаях просто A/ =(macheps)1/3A:/. Здесь т] ^ macheps есть по-прежнему относительная ошибка при вычислении f(x). Эта длина шага довольно хорошо работает на практике, как продемонстрировано в последнем из рассмотренных в примере 5.6.1 случаев, где использовалось А/=10-4*/ и было получено по меньшей мере четыре верных разряда в каждой компоненте V2f(xc). Алгоритм А5.6.2 в приложении А —это наш алгоритм для вычисления конечно-разностных гессианов с использованием значений функции по формуле (5.6.3) с длиной шага (5.6.4). Заметим, что разумно ожидать получения верных значений первой трети разрядов V2f(x), причем число верных разрядов будет даже меньше, если f(x) представляет собой функцию, вычисляемую с высоким уровнем помех. Резюмируя, отметим следующее. Когда гессиан непосредственно не задан аналитически, его аппроксимация либо по конечно-разностному алгоритму А5.6.1, использующему аналитически заданные значения Vf{x), либо по алгоритму А5.6.2, использующему только значения функции, не изменит, как правило, поведение метода Ньютона. Вместе с тем ясно, что алгоритм А5.6.1 предпочтительнее, если Vf{x) задан аналитически. Если f(x) вычисляется с довольно высоким уровнем помех, то алгоритм А5.6.2 может оказаться неудовлетворительным, и тогда, вероятно, вместо него следует использовать аппроксимацию V2f{x) по секущим (см. гл. 9). Аппроксимация гессиана по секущим должна, несомненно, использоваться, когда слишком велика стоимость конечно-разностной аппроксимации, определяемая п вычислениями Vf{x) или (п2-\-Зп)/2 вычислениями f(x) за итерацию. Перейдем теперь к конечно-разностной аппроксимации градиента в алгоритмах минимизации. Читатель может догадаться, что этот вопрос будет еще более трудным, чем аппроксимация якобиана и гессиана, так как градиент является величиной, которую в алгоритмах минимизации мы стараемся сделать нулевой. Поэтому конечно-разностная аппроксимация градиента должна производиться с высокой степенью точности. Напомним; что у нас имелись две формулы для аппроксимации Vf(xc) по конечным разностям: формула разностей вперед to))=f(*,+v,)-fw ;=1 я (5в5)
5.6. Методы с конечно-разностными производными 133 которая является как раз частным случаем аппроксимации якобиана и имеет ошибку О (А/) в /-й компоненте, и формула центральных разностей (&с),= [С 2А, ~' /=»• ••- Л, (5.6.6) которая имеет ошибку О (А/)- Вспомним также, что в случае конечно-разностных якобианов и гессианов мы видели, что если длина шага обладает свойством А/ = 0(||ес||), где ес = хс — **, то при обычных предположениях сохраняется ^-квадратичная сходимость метода Ньютона. Однако это, вероятно, не имеет места для аппроксимации градиента по разностям вперед (5.6.5), так как по мере приближения хс к точке минимума функции f(x) величина ||V/(jcc)|| ^0(||ес||), и поэтому длина шага порядка O(lkcll) в (5.6.5) привела бы к ошибке аппроксимации ||gc — — V/(jcc) II того же порядка, что и аппроксимируемое значение. Вместо этого можно легко обобщить проведенный в теореме 5.4.1 анализ и показать, что если подправить ньютоновскую итерацию для минимизации, так что Х+ = Хс — Ас gc> где gc и Ас аппроксимируют соответственно Vf(xc) и V2f(xc), то при аналогичных предположениях (5.6.7) (см. упр. 17). Следовательно, для ^-квадратичной сходимости требуется, чтобы \\gc — V/(xc)ll = 0(||ес||2), а это означает требование h,-= О (\\ес\\2) при использовании разностей вперед или Л/ = 0(||ес||) при использовании центральных разностей. Кроме того, здесь трудно оценить \\ес\\, так как Vf(xc) не задан аналитически. На практике этот анализ в действительности не применяется, в том числе и нами, поскольку мы будем стремиться выбирать Л/, минимизируя суммарное влияние ошибок, возникающих из-за нелинейности / и использования машинной арифметики. Для разностной формулы вперед (5.6.5) это как раз означает использование той же самой длины шага (5.6.2), как и для аппроксимации якобиана. Для формулы центральных разностей (5.6.6) тот же самый анализ, что в разд. 5.4, показывает, что Л/= 0(т)1/3) оптимально, и мы предлагаем использовать ту же длину шага (5.6.4), что и при аппроксимации гессиана с помощью значений функции. В нашей практике аппроксимация градиента разностями вперед оказывается обычно вполне достаточной, и поскольку центральные разности в два раза до-
134 Гл. 5. Метод Ньютона роже, то для аппроксимации градиента рекомендуется алгоритм А5.6.3, который по сути есть алгоритм А5.4.1 для аппроксимации якобиана при числе уравнений т = \. Следует, однако, отдавать себе отчет в том, что точность, с которой получается решение x«, будет ограничена точностью аппроксимации градиента. По этой причине, а также для того чтобы охватить тот редкий случай, когда разности вперед слишком неточны, в приложении имеется алгоритм А5.6.4, представляющий собой процедуру аппроксимации градиента по центральным разностям. В некоторых коммерческих программах автоматически принимается решение о том, нужно ли переключаться в аппроксимации градиента с разностей вперед на центральные разности и когда это делать [см., например, Стюарт (1967) J. В заключение отметим, что пользователю следует знать о возможных трудностях, возникающих при использовании в алгоритмах минимизации конечно-разностных градиентов. Боггс и Дэннис (1976) для получения приближенных значений точки минимума проанализировали погрешности, свойственные использованию таких алгоритмов. Несмотря на то что найденные ими границы оказываются на практике слишком пессимистичными, это все же сильно стимулировало пользователя задавать градиент аналитически всякий раз, когда это возможно. Пользователь, который получает плохие результаты с аппроксимацией разностями вперед или которому требуется повышенная точность, мог бы попробовать взамен центральные разности. Мы увидим, что вследствие той точности, которая необходима при аппроксимации градиента, не существует пригодной в алгоритмах минимизации аппроксимации градиента по секущим. 5.7. УПРАЖНЕНИЯ 1. Система уравнений 2 (л:! + лг2)2 + (д:, — л:2)2 — 8 = 0, 5*1 + (лг2 — З)2 — 9 = 0 имеет решение х* = (1, 1)г. Выполните одну итерацию метода Ньютона из точки лго = (2, 0)г. 2. Выполните вторую итерацию метода Ньютона для системы [:: ::ь начиная из х0 = (—10, —10)г. (Первая итерация была сделана в разд. 5.1.) Что произойдет, если эта задача будет продолжать решаться методом Ньютона с использованием машинной арифметики? Подразумевается, что упр. 3 и 4 дадут представление об области схо* димости, задаваемой теоремами сходимости для метода Ньютона.
5.7. Упражнения 135 3. Для каждой из функций f(x) = х, f(x) = х2 + xt f(x) =ех—\ ответьте на следующие вопросы: (a) Чему равно \'(х) в корне *# = О? (b) Чему равна константа Липшица для f'(x) на отрезке [—а, а]? Чему равна верхняя граница для | (/'(*) — Г(°))/*1 на этом отрезке? (c) Какая область сходимости метода Ньютона для f(x) предсказывается теоремой 2.4.3? (d) На каком отрезке [Ь, с], b < 0 < с, метод Ньютона для f(x) в действительности сходится к jc# = О? 4. Используя свои ответы на вопросы из упр. 3, рассмотрите применение метода Ньютона к F(x) = Xi Х2 ' Х2 в*8- 1 (a) Чему равно J(x) в корне х* = (О, О, 0)г? (b) Чему равна константа Липшица для J(x) в шаре радиуса а с центром в **? (c) Какая область сходимости метода Ньютона для F(x) предсказывается теоремой 5.2.1? (d) Какой стала бы область сходимости, если (*о)з — 0? Ну, а если (аго)2 = (*оЬ = 01)? 5. Покажите, что, если предположение / е LipY (N (х#, г)) в теореме 5.2.1 заменить предположением о непрерывности по Гёльдеру (см. упр. 4.8), то теорема 5.2.1 останется в силе с той лишь разницей, что вместо (5.2.1) будет ll**+.-*.ll<PY||*ft-*.ire. *-0, 1 [Указание: замените (5.2.2) на e = min {г, (а/((1 + а) Ру))1'"}, что означает PYee<a/(l+a)J В упражнениях с 6 по 8 излагается доказательство теоремы Канторовича. 6. Докажите, что условия и заключения теоремы Канторовича справедливы для квадратичной функции f«)»-| <*--£ + £. '.=-0. [Указание: докажите (5.3.1), показав, что выполняется более сильное неравенство \ty-t |<2-fc(l-VrTir2a)2fe-3-, *»0, 1, Для его получения покажите по индукции, что 17'С*) IГ ('*+,)! j ') Здесь в первом случае имеется в виду пересечение реальной области сходимости с координатной плоскостью 1-й и 2-й осей, а во втором — пересечение с 1-й координатной осью. — Прим. перев.
136 Гл. 5. Метод Ньютона и, используя это, покажите, что I'*+i-U<2*~'Py|'*-U2-] 7. Пусть F: R"->Rn и XogR" удовлетворяют условиям теоремы Канторовича и f(t) и /о определяются как в примере 6. Пусть {хк} и {/*} есть последовательности, полученные в результате применения метода Ньютона к F(x) и f(t) из х0 и t0 соответственно. Докажите по индукции, что II'(**)"' \<\г(<*)"' |. II4+i-ЧII<I<*+. -'*I. где 6 = 0, 1, .... [Указание: рассматривая индуктивное предположение, используйте (3.1.20), что поможет доказать первое соотношение. Для доказательства второго сначала воспользуйтесь равенством *(**)-'(*/0-'(**-!)-'(**-■) (**-**-.), с тем чтобы показать что IIf ЫII <т И **"**-'II2- Аналогично покажите, что i/(<*)i-i('*-<*-i)2. Затем воспользуйтесь этими двумя соотношениями и первым неравенством, доказанным по индукции, чтобы доказать второе.] 8. Воспользуйтесь упр. 6 и 7 и докажите теорему Канторовича. 9. Прочтите работу Брайяна (1968), и вы получите удовольствие от красивого приложения теоремы Канторовича. 10. Докажите теорему о сжимающем отображении. Для этого, предполагая выполненными условия теоремы 5.3.2, покажите: (а) используя соотношение (5.3.3), что для любых / ^ 0 / (b) используя (а), что последовательность {**} имеет предел **, так как {xt} представляет собой последовательность Коши, а также что <?(*•) =*♦; (c) используя (Ь) и соотношение (5.3.3), что х# есть единственная неподвижная точка для G в D и что имеют место ^-линейная сходимость и оценки погрешностей, приведенные в теореме 5.3.2. Используя (а), докажите другой вариант теоремы о сжимающем отображении без предположения о том, что F(D) a D. 11. Пусть f(x) =х2—-1, ogR, а> 1. Докажите, что для некоторого б > 0 (6 зависит от а) последовательность точек {*/}, построенная, начиная с .r0 е (1 — б, 1 + 6), по формуле f(*i) xi+\—xi —а—* сходится (/-линейно к .v* = 1. Покажите, что при этом *i+\~x lim f-*oo если только а Ф 2. xt —х. >0,
5.7. Упражнения 137 12. Завершите доказательство теоремы 5.4.1. 13. Пусть F: R2->-R2 таково, что '«-СП- Допустим хк = (107, 10_7)г и предположим, что используется ЭВМ с 14 десятичными разрядами. Что получится, если вычислять аппроксимацию для /(*♦) по формуле (5.4.1) при hk = 1? Ну а при Нк = К)-14? Существует ли в этом случае какой-либо выбор Л*, который годился бы для аппроксимации как J(xk)iU так и /(*Л)22? 14. Пусть р е R, р ф О, рф\, ft(x) = хР, f2(x) = е*>*. Полагая f = f(x) и у = /"(*)> определите по формуле (5.4.13) оптимальную длину шага для /i(jc), а затем для Ы*)« Как это сопоставляется с длиной шага (5.4.10)? Какие особые проблемы возникают при конечно-разностной аппроксимации /2 (х) в случае, когда х равен очень большому положительному числу? 15. Пусть / (*р дс2) = — (х\ — jc2)2 + -5- (l — JCj)2. Что является точкой минимума для /(*)? Выполните одну итерацию метода Ньютона для минимизации f(x) из начальной точки х0 = (2, 2)т. Хороший ли сделан шаг? Прежде чем ответить, вычислите f(xo) и /(*i). 16. Рассмотрите вопрос применения метода Ньютона к отысканию точки минимума f(x)=sinx при х0 g= [—я, я]. Искомым решением является дг* = —я/2. Пусть е есть небольшое положительное число. Покажите, что если Хо = — е, то метод Ньютона дает xi ^ —1/е. Аналогично выясните, что произойдет, если взять х0 = +е, но при этом заменить f"(xo) малым положительным числом? 17. Пусть f j (jc) = — jc2 — jc|» /2 (*) = Jtf — *o- Покажите, что алгоритм 5.5.3 не будет сходиться к точке максимума х+ = (0, 0)г функции fi(x), если Хо Ф х*. Покажите также, что алгоритм 5.5.3 будет сходиться к седло- вой точке ** = (0, О)7" функции Ы*)> если только (дго)г Ф 0. 18. На какой-либо ЭВМ по вашему выбору вычислите конечно-разностную аппроксимацию гессиана функции f(x), заданной в упр. 15, в точке хо = (2, 2)г, используя формулу (5.6.3) при hj = (macheps) i/2xit а затем при hj = (macheps) 1/3jc/. Сравните ваши результаты со значением V2f(x0), полученным аналитически. 19. Пусть f: Rn->R удовлетворяет условию у2/ (*) е Lipy D для некоторого Dc R". Предположим, что существует х* еД для которого V/(**)=0. Покажите, что если хс е= D, gc g R", и матрица Лс е= RrtXn не вырождена, то х+, порождаемое формулой х+ *=хс — А~хgc, удовлетворяет (5.6.7). 20. Покажите, как построить эффективным образом единую комбинированную процедуру на базе алгоритма для вычисления V/(*) по центральным разностям (алгоритм А5.6.4) и алгоритма для вычисления V2/(*) по разностям вперед (алгоритм А5.6.2). Как сопоставляется требуемое в этом случае количество вычислений функции: (а) с использованием каждой из процедур в отдельности, и (Ь) с использованием алгоритмов А5.6.3 для аппроксимации градиента и А5.6.2 для аппроксимации гессиана по разностям вперед? Какие недостатки проявлялись бы при использовании вашей новой процедуры на практике?
6 Глобально сходящиеся !) модификации метода Ньютона В предыдущей главе было показано, что метод Ньютона является локально ^-квадратично сходящимся. Это означает, что если имеется достаточно хорошее текущее приближенное решение, то оно будет быстро и с относительной легкостью улучшено. К сожалению, нет ничего необычного в том, что приходится затрачивать значительные вычислительные усилия на достижение достаточной близости 2) к решению. Кроме того, стратегии по достижению такой близости составляют большую часть вычислительной программы и усилий по программированию. Эти стратегии могут быть чувствительны к небольшим отличиям^ в их реализации на ЭВМ. Эта глава посвящена двум основным идеям относительно того, как следует поступать в том случае, когда ньютоновский шаг является неудовлетворительным. В разд. 6.1 устанавливается общая структура класса алгоритмов, которые мы хотим впоследствии рассмотреть. В разд. 6.2 вводится понятие «направление спуска», которое уже вскользь упоминалось в доказательстве леммы 4.3.1. В разд. 6.3 обсуждается первый из основных подходов по глобализации. Он, по сути, является современным вариантом известной идеи дробления шага вдоль ньютоновского направления в тех случаях, когда полный ньютоновский шаг оказывается неудовлетворительным. В разд. 6.4 рассматривается второй основной подход, базирующийся на оценке области, в которой можно верить тому, что локальная модель, лежащая в основе метода Ньютона, адекватно представляет функцию. Он также опирается на выбор шага, который приближенно минимизирует модель в этой области. Оба *) Относительно определения понятия «глобально сходящийся» см. последний абзац разд. 1.1. 2) Имеется в виду близость текущего приближения, достаточная для того, чтобы меход Ньютона смог реализовать свою высокую скорость сходимости. — Прим перев.
6.1. Общая квазиньютоновская схема 139 подхода выводятся сначала для задач безусловной минимизации. Их применение к решению систем нелинейных уравнений является темой разд. 6.5. 6.1. ОБЩАЯ КВАЗИНЬЮТОНОВСКАЯ СХЕМА Основная идея построения успешно работающих нелинейных алгоритмов заключается в таком комбинировании стратегии глобальной сходимости со стратегией высокой локальной сходимости, при котором извлекается польза из них обеих. Общая схема, реализующая эту идею, представляет собой незначительное обобщение гибридного алгоритма, рассмотренного в гл. 2 (см. алгоритм 2.5.1). Она описана ниже в алгоритме 6.1.1. Наиболее важный момент состоит в попытке на каждой итерации сначала попробовать метод Ньютона или некоторую его модификацию. Если кажется, что берется приемлемый шаг (например, если в случае минимизации / уменьшается), то нужно применить именно его. Если же — нет, то обратиться к шагу, который предписывается глобальным методом. Такая стратегия будет всегда заканчиваться использованием вблизи от решения метода Ньютона, и поэтому будет сохранять высокую скорость его локальной сходимости. Если глобальный метод надлежащим образом выбирается и включается в общую схему, то алгоритм также будет глобально сходящимся. Алгоритмы, использующие этот подход, будут называться квазиньютоновскими. Алгоритм 6.1.1. Квазиньютоновский алгоритм для решения нелинейных уравнений и безусловной оптимизации [в случае оптимизации заменить F(xk) на Vf(xk) и Jk на Hk\ Заданы: непрерывно дифференцируемая F: Кя-> Rn и х0^ Rrt. На k-й итерации: 1. Вычислить F(xk), если этого не было сделано раньше, и решить — остановиться или продолжить дальше. 2. Вычислить матрицу /*, равную J(xk) или ее аппроксимации. 3. Применить к Jk некоторый способ разложения на множители и оценить ее число обусловленности. Если Jk плохо обусловлена, то внести в нее соответствующее возмущение. 4. Решить Jks% = — F (xk). 5. Принять решение — либо взять ньютоновский шаг xk+l= = Xk~b~sk> либо выбрать Xk+\ согласно глобальной стратегии. Этот шаг алгоритма часто дает F(xk) для 1-го шага.
140 Гл. 6. Глобально сходящиеся модификации К настоящему моменту нами уже были рассмотрены шаги 2, 3 и 4. Шаг 5 служит основной темой данной главы. К концу этой главы читатель мог бы построить квазиньютоновский алгоритм в завершенном виде, за исключением критерия останова, который рассматривается в гл. 7. Формулы пересчета по секущим из гл. 8 и 9 служат альтернативными вариантами шага 2. Напомним читателю, что в приложении А представлена модульная система алгоритмов для решения нелинейных уравнений и безусловной минимизации. Она содержит целый ряд полностью детализированных квазиньютоновских алгоритмов для решения этих двух задач. Алгоритм 6.1.1 лежит в основе драйвера (управляющей программы) для этих алгоритмов, который в приложении представлен алгоритмом D6.1.1 для минимизации и алгоритмом D6.1.3 для нелинейных уравнений. Основная разница между приведенным выше алгоритмом 6.1.1 и двумя драйверами из приложения заключается в том, что данные драйверы содержат самостоятельную инициализирующую часть, предшествующую итерационной части. Назначение, структура и вопросы использования модульной системы алгоритмов обсуждаются в начале приложения А. Мы рекомендуем прочитать это обсуждение сейчас, если вы не сделали этого раньше, и затем обращаться к приложению для выяснения деталей по мере появления алгоритмов в тексте. 6.2. НАПРАВЛЕНИЯ СПУСКА Начнем обсуждение глобальных методов с рассмотрения задачи безусловной минимизации min /: R"-^R, (6.2.1) *<eeR" поскольку для задач минимизации существует естественная глобальная стратегия, которая состоит в обеспечении того, чтобы каждый шаг уменьшал значение /. Существуют соответствующие стратегии и для систем нелинейных уравнений, обеспечивающие уменьшение каждым шагом значения некоторой нормы функции F: Rrt->-Rn. Однако использование нормы в действительности сводит задачу решения системы нелинейных уравнений F(x) = 0 к задаче минимизации функции вида / A ±\\F\\h R"-*R. (6.2.2) Поэтому на протяжении последующих двух разделов будут рассматриваться глобальные стратегии для безусловной мини-
6.2. Направления спуска 141 мизации. В разд. 6.5 мы применим эти стратегии к системам нелинейных уравнений, используя преобразование (6.2.2). Основная идея глобальных методов для безусловной минимизации геометрически очевидна: делать шаги, которые ведут «вниз по склону» для функции /. Точнее говоря, выбирается направление р из текущей точки хс, вдоль которого / начинает уменьшаться, и новая точка х+ в этом направлении из точки хс такова, что f(x+) < /(хс). Такое направление называется направлением спуска. С математической точки зрения р является направлением спуска из хс, если производная функции / по направлению р в точке хс отрицательна, т. е. согласно разд. 4.1, если Vf(xc)Tp<0. (6.2.3) Если выполнено (6.2.3), то гарантируется, что f(xc+Sp)<f(xc) для достаточно малых положительных б. Направления спуска лежат в основе некоторых глобальных методов минимизации, но для всех этих методов они имеют важное значение, и поэтому они являются темой данного раздела. До сих пор единственным направлением, которое нами рассматривалось в задачах минимизации, было ньютоновское направление sN = — H7lV/(*c)> где Нс есть либо гессиан V2f{xc), либо его аппроксимация. Поэтому естественно спросить — является ли ньютоновское направление направлением спуска? Согласно (6.2.3), это имеет место тогда и только тогда, когда V/ (хс)т s" = - V/ (хс)т ЯГ1 V/ (хс) < 0. Данное неравенство справедливо, если матрица Н7Х> или что эквивалентно, Нс положительно определена. Это вторая причина, по которой мы в алгоритме 5.4.2 принудительно делали Нс положительно определенной, если изначально она таковой не являлась. Это гарантирует не только то, что квадратичная модель будет иметь единственную точку минимума, но также то, что получающееся в результате ньютоновское направление будет направлением спуска для исходной задачи. Это в свою очередь служит гарантией того, что для достаточно малых шагов вдоль ньютоновского направления значение функции будет уменьшаться. Во всех наших методах безусловной минимизации гессиан Нс модели будет строиться положительно определенным или принудительно делаться таковым. Естественно возникает второй вопрос: коль скоро шаги делаются в направлении спуска, то что представляет собой направление р, вдоль которого, начиная из х, функция f уменьшается наиболее быстро? Прежде чем мы сможем ответить на этот вопрос, необходимо конкретизировать понятие «направление», так как для заданного вектора вносимых возмущений р
142 Гл. 6. Глобально сходящиеся модификации производная функции / по направлению р прямо пропорциональна длине вектора р. Разумный способ действий здесь состоит в том, чтобы выбрать норму ||-|| и определить направление произвольного вектора р как р/||р||. Когда мы будем говорить о направлении р, то будем предполагать, что такая нормировка уже выполнена. Теперь можно сформулировать наш вопрос о направлении наиболее быстрого спуска при заданной норме в виде задачи: найти min Vf(x)Tp peRn при условии ||р ||= 1, которая в /2-норме имеет решение р = — V/ (х)/\\ V/ (х) l^. Таким образом, направление антиградиента1) представляет собой в /г-норме направление наискорейшего спуска из х вниз по склону и называется направлением наискорейшего спуска. Классический минимизационный алгоритм, предложенный Коши, основывается исключительно на направлении наискорейшего спуска. Ниже дано его формальное описание. Алгоритм 6.2.1. Метод наискорейшего спуска Заданы: непрерывно дифференцируемая /: Rrt-*R и x0^Rn. На k'u итерации: найти для / в направлении —Vf(xk) из Xk точку, расположенную ниже всего, т. е. найти А,*, являющееся решением для minf(xk — kk4f(xk)y, xk>o Xk+\ = xk — hkVf(Xk). Это не является вычислительным методом, так как каждый шаг включает в себя задачу точной одномерной минимизации, но его можно реализовать на ЭВМ, выполняя минимизацию неточно. В обоих случаях при довольно слабых предположениях можно показать, что они сходятся к точке локального минимума или седловой точке функции f(x). [См., например, Голд- стейн (1967).] Однако сходимость здесь только линейная, а иногда очень медленная линейная. А именно, если алгоритм 6.2.1 сходится к точке локального минимума jc„ в которой гессиан V2/(*#) положительно определен, и если обозначить через evmax и evmin наибольшее и наименьшее собственные значения для V2/(a:»), тогда можно показать, что последователь- ]) То есть направление, противоположное градиенту. — Прим. перев.
6.2. Направления спуска 143 ность {xk} удовлетворяет *k+\ — X fi"» н**-м ■<с, :А( evmax evmln Л min / evmax + ev- (6.2.4) в некоторой специальной взвешенной /2-норме, и показать, что оценка с достижима для некоторых начальных х0. Если V2/(*«) прекрасно масштабирован, т. е. evmax = evmin, то с будет мало и сходимость будет быстрой. Однако если V2/(*#) плохо масштабирован даже в незначительной степени, например evmax= = 102evmin, то с будет равно почти 1, а сходимость может оказаться очень медленной (см. рис. 6.2.1). Случай, когда с = 0.8 и на каждой итерации \\xk+\— **ll= c\\xk — х»||, приведен в примере 6.2.2. Для вас будет совсем легким упражнением обобщить это, сделав с сколь угодно близким к 1. 1 9 Пример 6.2.2. Пусть / (х{9 х2) = -^ х\ + у х\ • Это положительно определенная квадратичная функция с точкой минимума в хп = (0, 0)г и V2/ (*) = I 0 9 1 для всех х. Таким образом, с, определенное в (6.2.4), равно (9—1)/(9 + + 1) = 0.8. Читатель также может убедиться, что если f(x) есть пбложительно определенная квадратичная функция, то шаг наискорейшего спуска по алгоритму 6.2.1 имеет вид Xk+\ = Xk Wnk)8)8' (6.2.5) где g = Wf(Xk). Используя (6.2.5), можно легко убедиться, что при заданных f(x) и jc0 = (9, 1)г последовательность точек, вырабатываемых алгоритмом 6.2.1, есть (0.8)*, k=l, 2, . (6.2.6) Рис. 6.2.1. Метод наискорейшего спуска в несколько неудачно масштабированной квадратичной задаче.
144 Гл. 6. Глобально сходящиеся модификации Поэтому \\Xk+i — xm\\/\\Xk--xJ==\\Xk+i\]l\\Xk\\=zc в любой /„-норме. Последовательность {**}, заданная в (6.2.6), представлена на рис. 6.2.1. Таким образом, в большинстве случаев методом наискорейшего спуска как вычислительным алгоритмом пользоваться не следует, так как квазиньютоновский алгоритм будет гораздо более эффективным. Однако, когда наша глобальная стратегия должна делать шаги, существенно меньшие, чем ньютоновский шаг, она, как это будет видно в разд. 6.4, может делать шаги вдоль направления наискорейшего спуска или вдоль близкого к нему направления. В заключение заметим, что направление наискорейшего спуска очень чувствительно к изменениям масштаба переменной х, в то время как ньютоновское направление не зависит от таких изменений. По этой причине, когда кажется, что в наших алгоритмах из разд. 6.4 используется направление наискорейшего спуска, в соответствующих им программных реализациях из приложения это направление будет на самом деле предварительно умножено на некоторую масштабирующую диагональную матрицу. Мы откладываем до разд. 7.1 обсуждение этой важной с практической точки зрения темы, так называемого масштабирования. 6.3. ЛИНЕЙНЫЙ ПОИСК Первой стратегией, которая предназначается для продвижения из приближенного решения, находящегося вне области сходимости метода Ньютона, является метод линейного поиска. Его идея выглядит, в самом деле, очень естественной после обсуждения в разд. 6.2 направлений спуска. Идея алгоритма с линейным поиском проста: дано направление спуска рк, мы делаем такой шаг в этом направлении, который дает «приемлемое» Xk+\- Это означает, что на k-й итерации: вычислить направление спуска pk\ положить Xk+\ = xk + hkPk для некоторого Kk > О, которое делает xk+\ приемлемой следующей итерацией. Графически это означает выбор Xk+\ с учетом той половины одномерного поперечного сечения функции f{x), в котором f(x) первоначально уменьшается, начиная с хц, как изображено на рис. 6.3.1. Однако, вместо того чтобы брать, как в алгоритме 6.2.1, в качестве рк направление наискорейшего спуска
6.3. Линейный поиск 145 —Vf(Xk), мы будем использовать рассмотренное в разд. 5.5 квазиньютоновское направление — HklVf(Xk),rji£ матрица Hk = = V2f(xk)+ [ikl положительно определена, причем \xk = О, если V2f(xk) надежно положительно определена. Это позволит нам сохранить высокую локальную сходимость. Термин «линейный поиск» относится к процедуре выбора Xk в (6.3.1). До середины 60-х годов господствовало убеждение, что Xk следует выбирать исходя из точного решения задачи одномерной минимизации. Более тщательное численное тестирование привело к полному пересмотру взглядов1). В этом разделе будет описан не столь жесткий критерий приемлемости {Kk}y который приводит к методам, столь же хорошим теоретически и еще лучше проявляющим себя на практике. Общая процедура теперь такова: сначала попробовать сделать полный квазиньютоновский шаг, и если Xk = 1 не удовлетворяет используемому критерию, то дробить методично длину шага вдоль квазиньютоновского направления. Вычислительный опыт показал важность выполнения полного квазиньютоновского шага всякий раз, когда это возможно. Нарушение этого правила приводит к потере того преимущества, которое имеет метод Ньютона вблизи от решения. Поэтому важно, чтобы в нашей процедуре выбора Xk был предусмотрен выбор Xk = 1 вблизи от решения. В оставшейся части этого раздела мы обсудим теоретические и практические вопросы выбора Xk. Поскольку не существует убедительных причин ограничиваться рассмотрением линейного поиска лишь вдоль квазиньютоновского направления, рассматривается поиск х+=хс + Хср вдоль произвольного направления спуска р из текущего приближенного решения хс. Правила приемлемости шага, оптимального во всех случаях, перев. Цхк+ХРк) Тангенс угла наклона= -Щхк)трк<0- Рис. 6.3.1. Поперечное сечение для / (х) : R"-> R из х1 в направлении р*. *) Следует заметить, что существуют методы, например метод сопряженных градиентов и метод сопряженных направлений Пауэлла, в которых необходимо производить линейный поиск с высокой точностью. — Прим. перев.
146 Гл. 6. Глобально сходящиеся модификации не существует, однако создается впечатление, что требование f(Xk+i)<f(xk) (6.3.2) отвечает здравому смыслу. Не будет большим сюрпризом узнать, что это простое условие не гарантирует сходимость {xk} к точке минимума функции /. Рассмотрим теперь два простых одномерных примера, в которых демонстрируются два случая, когда последовательность итераций может удовлетворять (6.3.2), но при этом может не сходиться к точке минимума. Эти примеры приведут нас к полезным критериям приемлемости шага. Первый пример. Пусть f{x) = x2, х0 = 2. Если взять {pk} = = {(-1)*+,}> {**> = {2 + 3(2-<*+'>)>f тогда Ы = {2, —|, |, —g-, ... J = {(— 1)Л(1 + 2~*)}, каждое рк является направлением спуска из xk и f(xk) монотонно уменьшается, причем lim / (xk) = 1 Л-»оо [см. рис. 6.3.2(a)]. Это, конечно, никакой не минимум для /, и, более того, {xk} имеет предельные точки ±1, следовательно, она вообще не сходится. Теперь рассмотрим ту же самую функцию при том же начальном приближении и возьмем {р*} = {— 1}, {А*} = {2~*+1}. Тогда {**} = {2, -g, 4". в"» •••} = (1 + 2~Л}, каждое рк есть опять направление спуска, f(xk) уменьшается монотонно, и lim*_Mx>Xfc = 1, что опять не является точкой минимума для / [см. рис. 6.3.2(b)]. В первом случае проблема состоит в том, что было достигнуто малое убывание значения / по сравнению с длиной шагов. ftx) Ш) Рис. 6.3.2. Монотонно убывающие последовательности итераций, которые не сходятся к точке минимума.
6.3. Линейный поиск 147 Разрешить эту проблему можно, потребовав, чтобы средняя скорость убывания от f(xc) до f(x+) составляла заданную долю от первоначальной скорости убывания в этом направлении1), т. е. мы задаем ае(0,1) и выбираем %с среди тех А,>0, которые удовлетворяют неравенству / (Хе + М < f (хе) + aXVf (х/ р (6.3.3а) (см. рис. 6.3.3). Это равноценно выбору Яс из условия f(x+)<f(xe) + aVf(xtf(x+-xj. (6.3.3b) Можно убедиться, что это предотвращает первый из неудачных выборов точек, но не второй. Во втором примере проблема состоит в том, что шаги слишком малы по сравнению с первоначальной скоростью убывания функции /. Существуют разнообразные условия, гарантирующие достаточно большие шаги. Мы познакомимся с условием, которое будет также полезно нам в гл. 9. Потребуем, чтобы скорость уменьшения функции f вдоль направления р в х+ была больше, чем некоторая заданная доля скорости уменьшения вдоль направления р в хс, т. е. V/(х+)тpAVf (хс + Kpf Р> РV/(х/р, (6.3.4а) или, что эквивалентно, V/ (х+)т (х+ - хс) > рV/ (хс)т (х+ - хс) (6.3АЪ) при некоторой заданной константе ре(а,1) (см. рис. 6.3.4). Условие р > а гарантирует, что (6.3.3) и (6.3.4) могут быть ^ y-f(*c) + <X>Vf(Xc)Tp Значения Л, допускаемые условием(6 3 3;(с*=0.1) Рис. 6.3.3. Значения К, допускаемые условием (6.3.3.) (а = 0.1). *) Здесь под средней скоростью убывания понимается величина (f(xc + hp) — f(xc))lh а под первоначальной скоростью убывания — величина у!(Хс)тр< — Прим. перев.
148 Гл. 6. Глобально сходящиеся модификации удовлетворены одновременно. На практике выполнение (6.3.4) обычно не требуется, так как стратегия дробления шага позволяет избегать чрезвычайно малых шагов. Условие, альтернативное к (6.3.4), приведено в упр. 7. В основе условий (6.3.3) и (6.3.4) лежат работы Армийо (1966) и Голдстейна (1967). В примере 6.3.1 демонстрируется применение этих условий к простой функции. В разд. 6.3.1 приведены сильные результаты по доказательству сходимости произвольного алгоритма, удовлетворяющего этим условиям. В разд. 6.3.2 обсуждаются практические алгоритмы линейного поиска. Пример 6,3.1. Пусть / (xv х2) = х\ + х\ + х\> *с = (1, 1)Г> Р* = (-3,- Поскольку 1) . Пусть в (6.3.3) а = 0.1, .а в (6.3.4) 0 = 0.5. V/ (хс)трс = (6, 2) (- 3, - 1)г = - 20, то рс является направлением спуска из хс для f(x). Рассмотрим теперь х (X) = хс + Ярс. Если х+ = х (1) = (—2, 0)г, то V/ (х+)ТРс = (- 36, 0) (- 3, - 1)г = 108 > - 10 = pv/ (х/ Рс. следовательно, х+ удовлетворяет (6.3.4), но /(д+) = 20 > 1 = /(хс) + aV/(х/Рс, и, значит, х+ не удовлетворяет (6.3.3). Читатель может аналогичным образом убедиться, что х+ = х(0.1) = (0.7, 0.9)г удовлетворяет (6.3.3), но не (6.3.4) и что д:+ = л:(0.5) = (—0.5,0.5)г удовлетворяет как (6.3.3), так и (6.3.4). Эти три точки лежат на рис. 6.3.4 соответственно среди точек справа, точек слева и в самой «допустимой» области. Условие (63.4) (Р=0.5) А/)) Условие (6 3.3) (ot-0.1) Точки, допускаемые условиями (6 3 3) и (6 3 4) Рис. 6.3.4. Два условия линейного поиска.
6.3. Линейный поиск 149 6.3.1. Результаты исследования сходимости при надлежащем выборе шагов Использование условий (6.3.3) и (6.3.4) позволяет получить следующие удивительно сильные результаты:, для любого заданного направления /?*, такого, что V\(Xk)TPk < 0, существует кк > О, удовлетворяющее (6.3.3) и (6.3.4); любой метод, который вырабатывает последовательность {xk}, удовлетворяющую на каждой итерации неравенствам Vf(xk)T(xk+\ — xk) < О, (6.3.3) и (6.3.4), является по существу глобально сходящимся; вблизи от точки минимума функции /, где гессиан V2/ положительно определен, ньютоновские шаги удовлетворяют (6.3.3) и (6.3.4). Это означает, что мы можем легко создать алгоритмы, которые сходятся глобально и благодаря тому, что мы в первую очередь пробуем сделать ньютоновский шаг, обладают также быстрой локальной сходимостью для большинства функций. Теорема 6.3.2, принадлежащая Вольфу (1969, 1971), показывает, что для любого направления спуска pk существуют точки Xk + hkpky удовлетворяющие (6.3.3) и (6.3.4). Теорема 6.3.2. Пусть функция /: R"->R непрерывно дифференцируема в Rn. Пусть xk е Rn, pk е R* удовлетворяют условию V/ (xk)T Pk<0, и предположим, что {/ (xk + Xpk) I А > 0} ограничено снизу. Тогда если 0<а<р<1, то существуют Хи > А/ > 0, такие, что Xk+\ = Xk + XkPk удовлетворяет (6.3.3) и (6.3.4) при всех А,£ <= (А/Ди)1*. Доказательство. Поскольку а < 1, имеем f (xk + Xpk) < < / fa) + <*^V/ (xk)T Pk для всех достаточно малых X > о. Так как f(Xk + Xpk) ограничено также снизу, то существует некоторое наименьшее положительное X, такое, что /(*) = / (хк + Ш - / (**) + сЛУ/ (xk)T Pk. (6.3.5) Таким образом, любое x^(xk, х) удовлетворяет (6.3.3). По теореме о среднем значении существует Ае(ОД), такое, что f(*)-f (xk) = V/ (xk + kPk)T (* - xk) = V/ (xk + Xpkf XPk, (6.3.6) и поэтому из (6.3.5) и (6.3.6) имеем Vf(Xk + Xpk)Tpk = aVf(Xk)TPk > Wf(xk)TPk, (6.3.7) О Числа А^ и %ц зависят от xk и pk. ■— Прим. перев.
150 Гл. 6. Глобально сходящиеся модификации так как а<р и Vf(Xk)TPk <0. Согласно непрерывности Vf, (6.3.7) выполняется еще и для X, составляющих некоторый интервал (Л/,К), содержащий А. Следовательно, если (fa, К) ограничить интервалом (ОД), то Xk+\=Xk + hkPk будет удовлетворять (6.3.3) и (6.3.4) при любых A,*€(%j,&fl). □ Теорема 6.3.3 также принадлежит Вольфу (1969, 1971). Она показывает, что если вырабатываемая последовательность {хк} удовлетворяет неравенствам Vf(xk)T(xk+i^-xk)<: 0, (6.3.3) и (6.3.4) и если угол между Vf(Xk) и (xk+\ — х*) не стремится к 90° при Л->оо, то либо градиент стремится к 0, либо / не ограничена снизу. Возможны, конечно, и оба случая одновременно. Ниже мы поясним, что случай, когда угол между V/(jc*) и (Xk+\ — Xk) стремится к 90°, может быть предотвращен самим алгоритмом. Теорема 6.3.3. Пусть /: Rw->-R непрерывно дифференцируема в R", и предположим, что существует у ^ 0, такое, что IIV/ (г) - V/ (х) ||2 < YII г - х ||2 (6.3.8) для любых л:, 2G Rn. Тогда при произвольно заданном х0^ Rn либо / не ограничена снизу, либо существует последовательность {**}, k = 0, 1, ..., удовлетворяющая (6.3.3), (6.3.4), причем такая, что для каждого к ^ 0 либо V/(*/**< 0, (6.3.9) либо V/(**) = 0 и sk = 0, где Sk Axk+[ — Xk. l) Более того, для любой такой последовательности или (a) V/ (**) = 0 для некоторого к ^ 0, или (b) lim f(xk) = — оо, или £->оо (c) lim V/^sfe =Q Доказательство. Каково бы ни было k, если S7f(xk) = 0, то имеет место (а), и в дальнейшем последовательность не меняется. Если У!(Хк)фО, то существует pk, например pk — = — Vf(xk), такое, что Vf(xk)Tpk<0. По теореме 6.3.2 либо / *) Это утверждение не исключает существование такой последовательности и в случае неограниченной снизу /. — Прим. перев.
6.3. Линейный поиск 151 не ограничена снизу, либо существует Xk > О, такое, что Xk+\ = = Xk + hkPk удовлетворяет (6.3.3) и (6.3.4). Без ограничения общности предположим в целях упрощения обозначений, что \\Pk\\2=l> Т0ГАа bk = \\Sk\\2- Мы пока видим, что либо / не ограничена снизу, либо существует {хк}> и при этом либо {xk} удовлетворяет (а), либо в противном случае s* Ф О для каждого к. Теперь нам необходимо показать, что если ни один из элементов в {s*} не равен нулю, то должно выполняться (Ь) или (с). Было бы полезно иметь обозначение Согласно неравенствам (6.3.3) и ХкЬк < 0, справедливым для каждого k, имеем / (*/) - / (*ь) = Е f (хш) - f (Xk) < t aV/ (xk)T sk = /-1 = a X hifik < 0. для любого / > 0. Следовательно, либо оо !im /(*/) — — оо, либо — £а*6л<оо, т. е. ряд сходится. В первом случае справедливо (Ь), что и требовалось доказать, поэтому рассмотрим второй случай. Мы, в частности, получаем Нт/5-*оДл6* = 0. Теперь нам хотелось бы сделать вывод, что Hnu->oo6* = 0, и поэтому необходимо воспользоваться условием (6.3.4), поскольку оно было принято для предотвращения чрезмерной малости шагов. Для каждого k имеем Vf(xk+\)TSk>Wf(xk)Tsh9 и поэтому, учитывая (6.3.9) и р < 1, №(**+,) - V/(**)f s*XP ~ l)Vf(xk?sk > 0. Применение к левой части последнего соотношения неравенств Коши-Шварца и (6.3.8), а также использование определения для fi* дают 0<(p-1)*a<yN2=y4. поэтому xk>Lz±6k>o
152 Гл. 6. Глобально сходящиеся модификации И Таким образом, 0= lim \k6k <-£—!- iim d|<0. fc->oo Y Л->оо Это показывает, что lim 6^ = 0 fc->oo [т. е. справедливо (с)], и тем самым завершает доказательство. □ Отметим, что в то время как теорема 6.3.3 без труда применяется к любому алгоритму с линейным поиском, она абсолютно не зависит от метода выбора направлений спуска и длины шагов. Следовательно, эта теорема дает достаточные условия глобальной сходимости (в слабом смысле) любого алгоритма оптимизации, включая алгоритмы типа «модель — доверительная область» из разд. 6.4. Кроме того, в то время как условие Липшица (6.3.8) предполагается выполненным во всем Rn, оно используется только в окрестности решения х*. Наконец, хотя в теореме 6.3.3 {ok}-+0 и не означает, что обязательно {V/(**)}-> 0, последнее имеет место всякий раз, когда угол между Vf(Xk) и Sk отграничен от 90°. Можно легко добиться выполнения этого условия на практике. Например, в квазиньютоновском алгоритме с линейным поиском, где pk = = — HklWf (xk) и Hk положительно определено, требуется лишь, чтобы число обусловленности матриц {#*} было равномерно ограничено сверху. Таким образом, теорему 6.3.3 можно рассматривать как утверждение, означающее сходимость к / = —оо или к V/= 0, однако ее условия слишком слабы, чтобы обеспечивать сходимость {**}• Теорема 6.3.4, принадлежащая Деннису и Морэ (1974), показывает, что наша глобальная стратегия позволит делать вблизи от точки минимума функции f полные квазиньютоновские шаги Xk+\ =Xk — HklVf[(Xk), если, конечно, при этом — HkXVf(Xk)достаточно близко к ньютоновскому шагу. Теорема 6.3.4. Пусть f: Rrt->R дважды непрерывно дифференцируема в открытом выпуклом множестве D, и предположим, что V2/eLipY(D). Рассмотрим последовательность {xk} вида Xk+\ = xk + %kPk, где Vf(**)rp*<Q Для всех k и Xk выбирается так, что оно удовлетворяет (6.3.3) при скСу и (6.3.4).
6.3. Линейный поиск 153 Если {л*} сходится к точке ,v»€=D, в которой гессиан \2f(x*) положительно определен, и если hm jj—й = 0, (6.3.10) то существует индекс ко ^ 0, такой, что А,* = 1 является приемлемым для всех к ^ ko. Более того, Vf(x») = 0, и если Xk = 1 для всех k^koy то {xk} сходится ^-сверхлинейно к х*. Доказательство. Доказательство является на самом деле всего лишь обобщением простого упражнения, в котором требуется показать, что если f(x) есть положительно определенная квадратичная функция и Pk =—V2f(Xk)~lVf(Xk), то Vf(xk)Tpk<0 и xk+i = хк + Рк удовлетворяет (6.3.3) при любых а^у и (6.3.4) при любых Р ^ 0. Некоторые читатели могут при желании лишь бегло посмотреть его или вовсе пропустить, так как его детали проясняют не слишком многое. Положим . II */(**) + ^ (**)/>* II ил,, Здесь и далее в доказательстве ||-|| означает ||-||2. Покажем сначала, что Пт II р* || = 0. Л->оо Если х достаточно близко к лс„ то по уже известным рассуждениям V2f(x)~l существует и положительно определено, и если P-I=№f(x.)~ll то y^^lv2/^)"1!*^-1. Отсюда, поскольку у/ыгр* pirn**)?* (у(ч)+у2Кч)рк)трк IIP* II Цр*И II"* II и PlV2f(xk)Pk >~2 ^ЦР*!2' т0 (6.3.11) и (6.3.10) показывают, что для достаточно больших k имеет место - 7/f|^||P* >(|t*-P*)llP*ll>il*HP*ll- (6-3.12) Поскольку из теоремы 6.3.3 мы имеем lim —,, „ * =0, *-»оо \\Pk\\
154 Гл. 6. Глобально сходящиеся модификаций то (6.3.12) означает, что lira I рА ||-0. Покажем теперь, что Xk = 1 удовлетворяет (6.3.3) при всех &, больших или равных некоторому ко. По теореме о среднем значении для некоторого xk^ [xk,xk + Pk] получаем f (** + P*)-f Ы - v/ (хку Pk + j pJV/ (xk) Pk • или f(xk + pk)-f(xk)-±Vf(xk)TPk = ±W(xk) + 42f(xk)Pk)Tpk = =T(v/K) + v2/K)Pft)rPik + TPnv2/(^)-v2/(^)]pfc< <i-(p* + vIIpJDIIp*II2. (6.3.13) что имеет место благодаря (6.3.11) и непрерывности V2/ по Липшицу. Теперь выберем k0 таким, чтобы при k ^ k0 выполнялось (6.3.12) и Р* + YII Pk II < т »*' min <Р» 1 ~ 2а>- <6А 14> Если k ^ ko, то Я* = 1 удовлетворяет (6.3.3), так как, согласно (6.3.13), (6.3.12) и (6.3.14), f(*k + Pk)-f(Xk)<ivf(xifPb + Y\i-(l-2anpkf< <±(1 -(1 -2a))Vf (**)rp* = aV/(**)V Для того чтобы показать, что (6.3.4) выполняется для Хк = 1 при * ^ £о. воспользуемся еще раз теоремой о среднем в целях получения для некоторого zk^(xk, хк + рк) соотношения V/ (хк + рк)т рк = (V/ (хк) + V2/ (**) рк? рк = = (V/ (хк) + V2/ (**) Рк)т Рк + Pi (V2/ (г*) - V2f (*.)) Рк- Следовательно, I v/ (**+Р/ Рк | < р* и р, н2 + -vii Pk к3 < -f- ii Pk н2 < - m (xk)T Pk в силу (6.3.11), непрерывности V2/ по Липшицу, (6.3.14) и (6.3.12). Это дает Vf(xk + pk)Tpk ^ pv/(**)rP/e для £^*0. Итак, в конечном счете длина шага Xk = 1 удовлетворяет (6.3.3) и (6.3.4), и с этой точки зрения она приемлема. Простым следствием из (6.3.10) и \\mk-+<x>pk = 0 является равенство V/(x*) = 0. Тем самым остается только доказательство <7-свеР*линейной сходимости в случае, когда Xk = 1 для всех, за исключением конеч-
6.3. Линейный поиск 155 ного числа, членов рассматриваемой последовательности. Мы откладываем это доказательство до гл. 8, где оно будет следовать из гораздо более общего результата. □ Выводы из теорем 6.3.3 и 6.3.4, взятые вместе, весьма примечательны. Они говорят о том, что если / ограничена снизу и если какой-либо алгоритм делает шаги спуска, у которых угол, составляемый с градиентом, отграничен от 90° и которые подчиняются (6.3.3) и (6.3.4), то вырабатываемая им последовательность {**} удовлетворяет равенству lim yf(xk) = 0. Более того, если любой такой алгоритм пробует на каждой итерации делать прежде всего ньютоновский или квазиньютоновский шаг, то {xk} будет к тому же сходиться (/-квадратично или <7-сверхлинейно к точке локального минимума jc# в случае, если какое-либо Xk окажется достаточно близким к х% и если выполняются предположения, гарантирующие такую локальную сходимость ньютоновского или квазиньютоновского метода. Все эти результаты понадобятся нам для обоснования глобальной сходимости алгоритмов, рассматриваемых в оставшейся части книги. (См. также упр. 25.) 6.3.2 Выбор шага дроблением Поговорим конкретнее о том, как в наших алгоритмах выбирать Х^ Как мы уже говорили, современная стратегия состоит в том, чтобы начинать с Xk = 1 и затем, если Xk + Pk неприемлемо, «дробить» (уменьшать) Xk, пока не встретится приемлемое Xk + XkPk. Общая схема такого алгоритма приведена ниже. Напомним, что условие (6.3.4) здесь не используется, поскольку сама стратегия дробления позволяет избегать чрезмерно малых шагов. (См. также упр. 25.) Алгоритм 6.3.5. Общая схема линейного поиска с дроблением шага Заданы аб{о,{), 0 < I < и < 1. ** = !; while f (xk + Xkpk) > f (xk) + aXtff (xkf pk do Xk = pXk для некоторого p e [/, u]; (*p выбирается в линейном поиске каждый раз заново *) Xk+i = Xk + XkPk\
156 Гл. 6. Глобально сходящиеся модификации На практике а берется довольно малым, едва ли большим, чем требуемое уменьшение значения функции. В нашем алгоритме используется а=10~4. Теперь остается обсудить стратегию уменьшения Хк, т. е. выбора р. Определим /MAffok + bft) — одномерное сужение функции / относительно прямой, проходящей через Xk в направлении р*. Если понадобится дробить шаг, то мы будем моделировать /, используя самую последнюю информацию о ней, и затем брать в алгоритме 6.3.5 в качестве Xk то значение Я, которое минимизирует эту модель. Первоначально у нас имеются две порции информации об f(X), а именно: f(0) = f(xk) и f'(0) = 4f(xkfpk. (6.3.15) После вычисления f(xk + pk) нам известно, что f(D = f(xk + Pk), (6.3.16) поэтому если f(xk + pk) не удовлетворяет (6.3.3) [т. е. f(l)> > f (0) + а/'(0)], то мы моделируем f(X) одномерной квадратичной функцией mg(X) = [f(l)-f(0)-f'(0)]X2 + f'(0)X + f(0), удовлетворяющей (6.3.15) и (6.3.16), и вычисляем точку -/'(О) Я = - (6.3.17) 2[f(U-f(0)-f'(0)]f для которой тя(к) = 0. Здесь гй; (Я,) = 2 [f (1) — f (0) — ^ (0)] > 0, так как f(l)>f (0) + af' (0)>f'(0)+f' (0). Таким образом, X минимизирует тд(Х). К тому же Л > 0, поскольку /'(0) < °- Поэтому X Тангенс угла нэклона= ?'(0) Рис. 6.3.5. Дробление шага на первой итерации, используется квадратичная модель,
6.3. Линейный поиск 157 берется в качестве нового значения А* в алгоритме 6.3.5 (рис. 6.3.5). Заметим, что в силу неравенства/(1) > /(0) + а/'(0), имеем к< 2(1-а) • Действительно, если /(1)^/(0), то A ^-g-- Таким образом, (6.3.17) задает неявно вполне приемлемую верхнюю границу и « у для первого значения р в алгоритме 6.3.5. С другой стороны, если /(1) гораздо больше, чем f(0), то А может оказаться очень малым. Мы, вероятно, не нуждаемся в слишком сильном уменьшении Xk на основе Данной информации, так как это, по-видимому, свидетельствовало бы о том, что f(X) плохо моделируется в данной области квадратичной функцией, поэтому в алгоритме 6.3.5 устанавливается нижняя граница / = -JQ- • Это означает, что если на какой-либо итерации при первом дроблении шага было А ^0.1, то следующее пробное значение А* =-т7г- ю Пример 6.3.6. Пусть /: R"->R, хс и р заданы, как в примере 6.3.1. Поскольку f(xc)=3 и /(лсс + р)=20, то хс + р не является приемлемым, и требуется дробление шага. Тогда *я (0) = / (*е) = 3, /й; (0) = V/ (xcf р = - 20, fftq (1) = / (хс + р)= = 20 и, согласно (6.3.17), А = -^-^0.270. Точка хс + Хро* ^ (0.189, 0.730) теперь уже удовлетворяет условию (6.3.3) при а = Ю~4, так как f (хс + Xp)j* 0.570 < 2.99946 = f (хс) + + aAV/ (хс) р. Поэтому х+ = хс + Ар. В данном случае минимум f(xc + Xp) находится в Аш^0.40. Предположим теперь, что f(Xk) = f(xk + Xkpk) не удовлетворяет (6.3.3). В этом случае опять необходимо дробить шаг. Хотя можно было бы воспользоваться квадратичной моделью, тси(?\) A prey Л 2 prev I "tcuib) Х2 prev Рис. 6.3.6. Дробление шага на основе кубической модели, две возможности
158 Гл. 6. Глобально сходящиеся модификации как это делалось при первом дроблении, но теперь имеются четыре порции информации об /(А,). Поэтому на протяжении всей текущей итерации мы в этом и во всех последующих дроблениях используем кубическую модель функции /, подбираем /йси(Я) по /(0)» /'(0) и по последним двум значениям /(Я) и, устанавливая верхний и нижний пределы того же типа, что и раньше, полагаем Я* равным значению Я, в котором /йСи(Я) имеет локальный минимум (рис. 6.3.6). Причина использования кубической модели состоит в том, что она может более точно моделировать ситуации, в которых / имеет отрицательную кривизну, что весьма возможно, когда (6.3.3) не выполнялось для двух положительных значений Я. Кроме того, такая кубическая функция имеет единственный локальный минимум, что наглядно демонстрируется рис. 6.3.6. Вычисление Я происходит следующим образом. Пусть Я prev и Я2prev*) —последние два из предыдущих значений А,*. Тогда кубическая функция, в точности соответствующая значениям /(0), /'(О), f (Я prev) и f (A,2prev), имеет вид rhcu (Я) = аЯ3 + И2 + Р (0) Я + f (0), где 1 ш- Я prev — Я2 prev х X [Л prev» Х2 prev» 1 Г f (Я prev) — f (0) — f' (0) % prev ] ~ДГ AC- JL n™preT ~} m ~ fm t2 »"J Я prev2 Я2 prev2 Точкой его локального минимума Я является 35 * (6.3.18) Можно показать, что если f (Я prev) > f (0), то Я <j Я prev. Такое уменьшение2) может реально встретиться, но оно считается незначительным (см. пример 6.5.1). Поэтому устанавливается верхняя граница и = 0.5, т. е. если Я > -g- Я prev, то мы полагаем новое ЯЛ = у Я prev. Кроме того, поскольку Я может составлять произвольно малую долю от Я prev, то опять ис- !> Здесь prev есть сокращение от previous (предыдущий). —Прим. перев, "* 2 2) Имеется в виду Ь &^Х prev. — Прим. перев.
6.3. Линейный поиск 15$ пользуется нижняя граница / —-jq (т. е. если A,<-j^-Aprev, то полагаем новое Я,л =-^-Л prevj . Можно показать, что (6.3.18) никогда не будет иметь комплексных значений, если а в алгоритме 6.3.5 меньше -j. Существует один важный случай, в котором дробление шага на основе кубической интерполяции можно .использовать на каждом шаге алгоритма 6.3.5. Иногда имеется возможность получать Vf(xk + kkPk) за очень малую дополнительную цену при вычислении f{xk + KkPk)- В этом случае при каждом дроблении шага можно строить тси(к) на основе f(0), f'(0), /(Aprev) и /' (Я prev). Ценное упражнение для студентов состоит в том, чтобы разработать в деталях получающийся в результате этого алгоритм. Алгоритм А6.3.1 из приложения содержит нашу процедуру линейного поиска с дроблением шага. Он имеет две дополнительные особенности. Так, введена минимальная длина шага, названная minstep. Эта величина используется для проверки сходимости в алгоритме А7.2.1, вызывающем рассматриваемый алгоритм. Если условие (6.3.3) не выполняется, a ||tap*||2 оказывается меньше, чем minstep, то линейный поиск прекращается, так как сходимость к лс* будет, так или иначе, выявлена в конце текущей итерации. Этот критерий предотвращает зацикливание линейного поиска, если pk не является направлением спуска. (Такое иногда встречается на заключительной итерации алгоритмов минимизации из-за ошибок конечной арифметики, особенно когда градиент вычисляется по конечным разностям.) Поскольку это обстоятельство может также указывать на сходимость к ложному решению, должно печататься предостерегающее сообщение. Максимально допустимая длина шага также устанавливается пользователем, так как на практике могут встретиться чрезмерно большие шаги, когда pk = sfl = — H^'Vf (хк) и матрица Нк почти вырождена. Максимальная длина шага устанавливается специально для того, чтобы предотвратить выполнение таких шагов, которые могли бы вывести алгоритм из интересующей нас области, а также, вероятно, вызвать переполнение при вычислении /(1). Когда будет использоваться линейный поиск совместно с алгоритмами секущих из гл. 9, мы увидим, что нам также необходимо предположить, что на каждой итерации выполняется условие (6.3.4). Алгоритм A6.3.1mod представляет собой модификацию алгоритма А6.3.1, которая реализует это условие в явном виде. Обычно она дает те же самые шаги, что и алгоритм А6.3.1.
160 Гл. 6. Глобально сходящиеся модификации 6.4. ПОДХОД: МОДЕЛЬ —ДОВЕРИТЕЛЬНАЯ ОБЛАСТЬ В последнем разделе рассматривались исключительно проблемы отыскания приемлемой длины шага в заданном направлении поиска. Основные предположения заключались в том, чтобы направлением было квазиньютоновское направление и полный квазиньютоновский шаг был всегда первым пробным шагом. Получающийся в результате алгоритм с дроблением шага объединил в себе эти предположения, с тем чтобы попытаться достичь глобальной сходимости, не жертвуя при этом свойствами локальной сходимости квазиньютоновских методов. Такие цели, очевидно, стоят перед любой глобальной стратегией. В этом разделе мы преследуем ту же цель, но мы отходим от предположения, что укороченные шаги должны обязательно лежать на квазиньютоновском направлении. Допустим, что квазиньютоновский шаг оказался неудовлетворительным. Это указывает на то, что наша квадратичная модель неадекватно моделирует / в области, содержащей полный квазиньютоновский шаг. В алгоритмах с линейным поиском сохраняется одно и то же направление шага и выбирается более короткая длина шага. Эта новая длина определяется с помощью построения новой одномерной квадратичной или кубической модели на основе информации, полученной только при вычислении значений функции и градиента вдоль квазиньютоновского направления. Хотя эта стратегия имеет успех, у нее есть и недостаток, состоящий в том, что она никак больше не использует n-мерную квадратичную модель, включая гессиан модели. В этом разделе, когда возникнет необходимость делать более короткие шаги, мы сначала выберем более короткую длину шага, а уж затем воспользуемся полной п-мерной квадратичной моделью для выбора направления шага. Прежде чем приступать к рассмотрению способов выбора таких направлений, полезно сделать несколько предварительных замечаний относительно того, как заранее задавать длину шага. По-видимому, целесообразно после первой итерации начать придерживаться некоторых соображений относительно длины шага, который, как мы могли бы с достаточным основанием надеяться, будет сделан. Например, можно было бы на основе длины шага, сделанного на &-й итерации, получить верхнюю границу длины шага, который, вероятно, будет успешным на итерации k+l. Действительно, в разд. 6.4.3 мы увидим, как использовать информацию об /, полученную в ходе итерации, для того чтобы получше оценить длину шага, который, вероятно, окажется успешным. Имея эту оценку, было бы желательно начать следующую итерацию с шага приблизительно такой длины и не тратить вычислении функции, быть
6.4. Подход: модель — доверительная область 161 может очень дорогостоящих, на более длинные шаги, которые вряд ли окажутся успешными. Это, конечно, означает, что, исходя из экономии количества вычислений функции, мы могли бы отказаться от попытки сделать полный квазиньютоновский шаг на такой итерации, когда он мог оказаться удовлетворительным. В разд. 6.4.3 будут приведены некоторые эвристические соображения относительно минимизации вероятности этого события. Теперь допустим, что имеются хс и некоторая оценка сверху 6С длины успешного шага, который нам, вероятно, удастся выполнить из точки хс. Здесь возникает вопрос: как наилучшим образом выбирать шаг из хс максимальной длины бс? Существует естественный ответ, если вернуться к идее использования квадратичной модели. С самого начала мы придерживались той точки зрения, что квазиньютоновский шаг s% является приемлемым, так как он представляет собой шаг из хс в точку глобального минимума локальной квадратичной модели тс (если гессиан Нс модели положительно определен). Если добавить идею об ограничении максимальной длины шага величиной бс > 0, то соответствующий ответ на наш вопрос состоит в том, чтобы попробовать сделать шаг sc, который является решением задачи min тс (хс + s) = / (хс) + V/ (хе)Т s + ^ sTHcs L (6.4.1) при условии ||$||2^6С. Задача (6.4.1) служит основой для подхода «модель — доверительная область» к решению задач минимизации. Ее решение приводится ниже в лемме 6.4.1. Это название происходит из взгляда на 8С, как на величину, порождающую область, в которой можно доверять тс в том, что она адекватно моделирует /. В следующей главе мы увидим преимущество использования масштабированного варианта /2-нормы при ограничении длины шага, но, поступая так именно сейчас, можно только запутать дело. Лемма 6.4.1. Пусть f: Rrt->R дважды непрерывно дифференцируема, ЯсеРлхя симметрична и положительно определена, а также пусть ||*|| обозначает /2-норму. Тогда решением задачи (6.4.1) является 8(v)A-(Ho+VI)-l4f(Xc) (6.4.2) для единственного ji^O, такого, что ||$(|д,)|| = бс, если только не имеет место неравенство l|s(0)||^6c, в случае выполнения которого решением задачи является s(0) = s%. Для любого р,^0 вектор s(\i) задает направление спуска для / из *с.
162 Гл. 6. Глобально сходящиеся модификации Доказательство. Формула (6.4.2) вытекает непосредственно из необходимых и достаточных условий для задач условной оптимизации, однако нигде в книге нам не требуется привлечения результатов такой общности. При желании, читая доказательство, можно обращаться к рис. 6.4.1. На нем изображены дсс, положительно определенная квадратичная модель тс с минимумом в точке xN, окруженной линиями уровня для некоторых возрастающих значений тс, а также изображена граница шага 6с. Обозначим решение задачи (6.4.1) через s„ и пусть xm = xc + sm. Поскольку ньютоновская точка xc + s% служит точкой глобального минимума для тс, то ясно, что если |s^|^6c, то s% = sm. Рассмотрим теперь случай, когда xc + s^ выходит за границу шага, как изображено на рис. 6.4.1. Пусть х — произвольная точка, находящаяся строго внутри допустимой области, заданной ограничением, т. е. ||ic — jcc||< бс. Тогда V/7ic (х) Ф О, поэтому имеется возможность уменьшить тс из х, оставаясь внутри допустимой области и рассматривая точки вида х — №гпс(х). Отсюда следует, что s не может быть решением задачи (6.4.1), поэтому s* должно удовлетворять равенству lls#||=6c если только не имеет место неравенство ||s(0) ||<бс. Кроме того, поскольку допустимая область задачи (6.4.1) замкнута и ограничена, то должно существовать решение s, такое, что ||s ||= 6С. Рассмотрим теперь s, такое, что ||s||=6c. Для того чтобы s было решением задачи (6.4.1), необходимо, чтобы при движении на сколь угодно малое расстояние из хс + s вдоль любого Рис. 6.4.1. Решение задачи (6.4.1).
6.4. Подход: модель — доверительная область 163 направления, являющегося направлением спуска для тс, увеличивалось расстояние от лгс. Направлением спуска для тс из хс + s служит любой вектор р, для которого О > рТЧтс (хс + s) = pT [Hcs + V/ (хс)]. (6.4.3) Аналогично, направление р из хс + s увеличивает расстояние от хс тогда и только тогда, когда pTs > 0. (6.4.4) Сказанное сводится к следующему: чтобы s было решением для (6.4.1), любое р, удовлетворяющее (6.4.3), должно также удовлетворять (6.4.4). Поскольку известно, что Vmc (хс + s) Ф0, это может иметь место, только если Vmc(xc-\- s) и —s имеют одно и то же направление, или, другими словами, если для некоторого \х > 0 р8 = — Vmc(xc + s) = — (Hcs + Vf(xc)), что в точности есть уравнение (Нс + \il) s = — V/ (хс). Таким образом, s, = s(\i) для некоторого \i>0 при ||^|>бс. Поскольку ji^O и матрица Нс симметрична и положительно определена, (Нс + \xl) является симметричной и положительно определенной, поэтому s(n) есть направление спуска для / из хс. Для завершения доказательства необходимо показать единственность sm, которая вытекает из более сильного результата, состоящего в том, что если jii>fi2^0, то ||s(m)||< < || sM II. Это показывает, что ||s(ji)|| = 6c имеет единственное решение, которое должно быть решением и для (6.4.1). Доказательство является простым, поскольку если |i>0 и Л М А || * (ц) ||2 = | (Нс + ц/Г1 V/ (хс) I ^/„ч_ -Vf(xc)T(liI + Hcr3Vf(xc) __ -s(yi)T(Hc + iiirls(ix) Ц W II* Mil — ||s(l*)|| и поэтому T)/(|i)<0 всякий раз, когда V/(jtc)¥=0. Таким образом, т] есть монотонно убывающая функция от ц. П Трудность использования леммы 6.4.1 в качестве основы для вычисления шага в алгоритме минимизации состоит в том, что не существует конечного метода определения \хс > 0, такого, что \\s([ic)\\2 = Z>c при 6С <|Я71У/(^С)|2. Поэтому в следующих двух подразделах описываются два вычислительных метода для приближенного решения задачи (6.4.1). Первый — метод с локально ограниченным оптимальным (или «криволинейным») шагом, в котором находится цс, такое, что ||s(|xc)ll2 = ^ 6с, и берется х+ = хс + 5(М- Второй — метод с шагом в виде ломаной линии, в котором производится кусочно-линейная аппроксимация кривой s\[x) и в качестве х+ берется точка на
164 Гл. 6. Глобально сходящиеся модификации этой аппроксимации, удовлетворяющая равенству ||х+ — — *с11=бс Нет никакой гарантии, что х+, являющееся приближенным решением (6.4.1), будет приемлемой следующей точкой, однако мы надеемся, что она будет таковой, если бс служит хорошим ограничением шага. Поэтому алгоритм доверительной области в своем завершенном виде будет выглядеть так: Алгоритм 6.4.2. Шаг глобальной стратегии на основе подхода «модель — доверительная область» Заданы: /: Rn->R, 6С > 0, xc^Rn, симметричная положительно определенная матрица Нс eRnXn. repeat (1) sc = приближенное решение для (6.4.1), Х+ = хс Т" Sc* (2) решить — приемлемо ли х+, и вычислить новое значение 6С9 until х+ — приемлемая следующая точка; б+=6с. Описание алгоритма «модель — доверительная область» завершается в разд. 6.4.3 рассмотрением приведенного выше шага 2. В заключение уместно сделать некоторые замечания. Во- первых, как показал Гэй (1981), даже если Яс имеет отрица- Рис. 6.4.2. Кривая s (ц)
6.4. Подход: модель — доверительная область 165 тельные собственные значения, решением (6.4.1) является s*, удовлетворяющее равенству (Яс + ц/)$* = —V/(jcc) для некоторого ц > 0, такого, что матрица Нс + ц/ по крайней мере положительно полуопределена. Это приводит к еще одному обоснованию описанной в разд. 5.5 стратегии внесения возмущений в гессиан модели, когда S/2f(xc) не является положительно определенным, таких, что Яс = V2/(xc)+ М'' положительно определена. Получающийся в результате этого квазиньютоновский шаг — HclS7f(xc) представляет собой шаг в точку минимума исходной (неположительно определенной) квадратичной модели в некоторой сферической области с центром в хс. В оставшейся части разд. 6.4 предполагается, что Яс положительно определена. Во-вторых, важно отметить, что s(\i) непрерывно изменяется от квазиньютоновского шага — H7lWf (хс)9 соответствующего у, = 0, до s(m) =—(l/|i,)V/(*c), когда \х становится большим. Таким образом, когда бс очень мало, решение задачи (6.4.1) представляет собой шаг длиной бс примерно в направлении наискорейшего спуска. На рис. 6.4.2 изображена кривая s(m), 0^ \х < оо, для той же самой модели, что и на рис. 6.4.1. Заметим, что при п > 2 эта кривая, вообще говоря, не лежит в подпространстве, натянутом на Vf(xc) и #<rV/ (хс) (см. упр. 10). Флетчер (1980) называет эти алгоритмы методами с ограниченным шагом. Этот термин отвечает больше всего рассмотренной в разд. 6.4.3 процедуре пересчета 6С> которая может быть использована также и в алгоритмах с линейным поиском. Важной основой для алгоритмов из этого раздела служат работы, выполненные Левенбергом (1944), Марквартом (1963), Голдфельдом, Куандом и Троттером (1966). На последующих страницах приводятся ссылки на более свежие работы. 6.4.1. Локально ограниченный оптимальный («криволинейный») шаг Первый из наших подходов к вычислению шага в алгоритме 6.4.2 «модель —доверительная область» при l|s(0)||2>6c состоит в нахождении 5 ЫД — (Нс+ \xl)~l Vf (хс), такого, что ||5(|д)||2 = бс, и далее в выполнении пробного шага в точку лс+= = *с + 5(м)- В этом разделе рассматривается алгоритм для нахождения приближенного решения \ic скалярного уравнения Ф(|*Ш*(|*)Ь-вс = 0. (6.4.5) Фактически мы вовсе не будем требовать очень точного решения, но обсуждение этого вопроса откладываем до конца данного подраздела.
166 Гл. 6. Глобально сходящиеся модификации Применение идей гл. 2 заставило бы нас использовать метод Ньютона для решения (6.4.5). Хотя это и оправдало бы себя, тем не менее можно показать, что Ф'(ц)<0 и Ф"(ц)>0 для всех м ^ О, поэтому метод Ньютона всегда давал бы оценку снизу для точного решения цш (см. рис. 6.4.3). Поэтому будет построен другой метод, специально предназначенный для (6.4.5). Воспользуемся идеей из гл. 2, заключающейся в использовании аппарата локальных моделей решаемых задач. В данном случае одномерный вариант подсказывает нам общий вид локальной модели ас тс0*) — р +>А ~ Ьс с двумя свободными параметрами аир. Прежде чем обсудить аир, заметим, что мы незаметно пришли к новым обозначениям, необходимым нам, когда дело касается итерации по \i, которая порождается приведенной выше моделью, имеет место внутри основной итерации по х и предназначается для отыскания ре, удовлетворяющего равенству (6.4.5). Жирный шрифт будет использоваться для текущих значений величин а«.> Р<? и JV которые изменяются на внутренней итерации по ц, а светлый —для текущих значений величин бс, хс, Vf(xc) и Яс, которые порождаются на внешней итерации и не меняются на протяжении решения (6.4.5). Таким образом, \хс получается в результате внутренней итерации как последнее приближение 1*с к |л#, т. е. к точному решению уравнения (6.4.5). Далее хс и цс используются для определения х+ = хс + s (|хс). !№)]!* Рис. 6.4.3. Метод Ньютона для решения Ф (ц) =
6.4. Подход: модель — доверительная область 167 Модель mc(\i) имеет два свободных параметра ас и Рс, поэтому, как и при выводе метода Ньютона, целесообразно выбрать их такими, чтобы они удовлетворяли двум условиям: Это дает с= Ф>с) - (6А6) Р* = Щ^) К • (6-4J) Заметим, что для вычисления s(jic) требуется разложение матрицы Яс + Цс/ и, следовательно, на это необходимо затратить О (л3) арифметических операций. Раз уж мы имеем это разложение, то вычисление {Hc + Vcl)~{ s(yc) обходится только в 0(п2) операций, поэтому вычисление Ф'Ол*) сравнительно дешево. Теперь, когда имеется модель т«(р), естественно выбирать ц+ так, чтобы я*Дц+) = 0, т. е. Читатель может убедиться, что подстановка (6.4.6), (6.4.7) и (6.4.5) в приведенную выше формулу дает гф»,) + 6,1ГФ»«П 1ИМ11 Г *(»*«) 1 (648) что выступает в качестве итерации для решения Ф([ш) = 0. Вид формулы (6.4.8) показывает, что при р* < рт делается шаг, больший, чем мог бы сделать метод Ньютона, но при .и* > ц# шаг оказывается меньшим, чем ньютоновский. По мере стремления р<? к \im (6.4.8) все более и более напоминает метод Ньютона и, действительно, локально ^-квадратично сходится к р.. Остаются невыясненными несколько вопросов, связанных с превращением (6.4.8) в вычислительный алгоритм. Дальнейшие рассуждения и наш алгоритм основываются на работах Хебдена (1973) и Морэ (1977). Можно порекомендовать также работу Гандера (1978). Читатели, не интересующиеся деталями численной реализации, могут при желании пропустить следующие три абзаца.
168 Гл. 6. Глобально сходящиеся модификации Первое соображение касается начального значения для |ш при решении (6.4.5). Райнш (1971) показал, что если процесс (6.4.8) начинается с цо = О, то итерации по jx сходятся монотонно снизу к |li», но нам хотелось бы начинать еще ближе, так как каждая итерация в (6.4.8) требует решения линейной системы. В численной реализации, предложенной Морэ, используется приближенное решение |i_ последнего варианта уравнения (6.4.5) для получения начального приближения в текущем варианте этого уравнения. Способ, применяемый Морэ, прост: если текущее значение верхней границы шага бс равно последнему значению верхней границы шага б-, умноженной на р, то для начала в (6.4.8) используется \ю = ц_/р. Мы предпочитаем стратегию, отличающуюся от описанной. Напомним, в какой ситуации мы находимся на итерации: только что был сделан шаг по лс, равный s(M> из х_ в хс, и хотелось бы получить *+, причем бс уже получено из б— Перед тем как получить #с мы все же имеем (#_+|д_/) в факторизованном виде, и поэтому вычисление ф All* GO II-а*. w— |s (МП обходится только в 0(п2) операций. По аналогии с (6.4.8) используется Цо = ц__|££01-*, (6.4.9) т. е. значение щ полученное на основе ц_, предыдущей модели и нового радиуса бс доверительной области. Если бс = б_, то jlao представляет собой в точности то же значение, что мы получили бы, сделав на основе предыдущей модели еще одну итерацию по |i. С другой стороны, если на предыдущей итерации 1) был сделан ньютоновский шаг, то будем выбирать fio по другому правилу, речь о котором пойдет ниже. Другая вычислительная деталь, имеющая важное значение для работы алгоритма по решению (6.4.5), состоит в выработке и пересчете нижней и верхней границ и+ и /+ для (иц-. Эти границы используются наряду с (6.4.8) таким же образом, как границы, которые использовались, чтобы обезопасить процесс дробления шага в алгоритме 6.3.5, т. е. значение щ- ограничивается так, чтобы оно принадлежало [/+, и+]. Поскольку результат ньютоновской итерации, примененной к (6.4.5), всегда не дотягивает до значения ц., то мы берем 10= — Ф(0)/Ф'(0). Затем наряду с каждым вычислением (6.4.8) вычисляется < = цс-Ф(цс)/Ф>,) ') Имеется в виду итерация по х. — Прим. перев.
6.4. Подход: модель — доверительная область 169 и пересчитывается нижняя граница /+ = тах{/с, ц^}, где 1е — текущее значение нижней границы. Кроме того, поскольку что следует из положительной определенности Нс и из того, что ja, >Ь, то || V/ (хс) \уьс берется в качестве начального значения нижней границы и0 для \i.. Затем на каждой итерации при Ф (Мс) < 0 пересчитывается верхняя граница по формуле и+ = т\п{ис, ц^,}, где ис — текущее значение верхней границы. Если на какой-либо итерации оказывается, что ц+ не принадлежит [1+у и+], то мы следуем Морэ в выборе ц+ по формуле ix+ = max{(l+-u+yi\ 1(Г3и+}> (6-4Л0) где второй член предохраняет от близких к нулю значений 1+. На практике к этим границам наиболее часто обращаются при вычислении Мо- В частности, (6.4.10) используется для задания Но всякий раз, когда (6.4.9) не может быть использована, потому что на предыдущей итерации применялся ньютоновский шаг. И наконец, мы не решаем (6.4.5) со сколь-нибудь высокой точностью, довольствуясь вместо этого значениями ||5(ц)||2€=[-тЧ -Is-]. Причина состоит в том, что доверительная область, как это будет видно в разд. 6.4.3, никогда не увеличивается и не уменьшается менее чем в 2 раза. Так что если радиус текущей доверительной области равняется бс, то предыдущий был либо больше или равен 26с, либо меньше или равен 6с/2. Таким образом, мы считаем, что фактическое значение 6С является довольно произвольным в пределах отрезка [Збс/4, Збс/2], который занимает среднее положение в обоих направлениях, и представляется разумным допускать любые значения ||s(fi)||2 из этого отрезка. В некоторых других численных реализациях [см., например, Морэ (1977)] требуется, чтобы ||s(|i)||2e[0.96c, 1.16с], и не ясно, какой из этих отрезков лучше. Опыт показывает, что любое из условий удовлетворяется за число вычислений значения ц, лежащее в среднем на итерацию по х между 1 и 2. На этом завершается наше обсуждение алгоритма приближенного решения уравнения (6.4.5). Ниже приведен простой пример.
170 Гл. 6. Глобально сходящиеся модификации Пример 6.4.3. Пусть f (*,, х2) = х\ + х\ + х\, хс = (1, 1)г, fic = V2f(xc), бс = у, ц_ = 0. Тогда V/(*c) = (6, 2)г, Нс==[ 0 П' *Jr=-Wc-|V/(Jtc)(—f. -1)Г. КИ 1-088. Поскольку js^ > 2"6с»то ньютоновский шаг оказывается слишком большим по длине, и мы стараемся найти некоторое |х > 0, такое, что | (Яс + ц/Г' V/ (хс) L е [-^, ^-] = [0.375, 0.75] (рис. 6.4.4). Поскольку ц- = 0, то вычисления дают *0 —и ф'(0) = 0.472 = 1"*°» HW(*c)lk_ 6.325 «о: дс — 0.5 12.6, щ = («в-«ё)""а3.97. Затем вычисляется s(|i0)=— (Яс+ц0/)"'V/(^c)^(—0.334, —0.335)г. Поскольку || s (ц0) Ik « 0.473 е= [0.375, 0.75], то берем цс = ц0 и х+ = дсс + s (цс) s (0.666, 0.665)7- в качестве нашего приближенного решения задачи (6.4.1). Заметим, что ^" ^^ ^^ •*Г(Хс) Л 1 - / / / / / > / / / / 1 \ \ \ \ \ \, уГ „-» / / / к: 4- \ —^ \ '^^ \ \ \ II 2 Xе / / 1 \/ / / -^У / / У У ^" _J 1 Рис. 6.4.4. «Криволинейный» шаг из примера 6.4.3.
6.4. Подход: модель—доверительная область 171 в данном случае итерация (6.4.8) не использовалась. Для наглядности читатель может убедиться, что однократное применение (6.4.8) дало бы Ф(ЦП) ||s(fift)|L -0.0271 +0.473 Ц° ф>0) 6с ~ +0528 +0.5 -6А* и что s 0*0 = (—0.343, -О.Збб)7', || 5 Ы Ik = 0.5006. В данном случае точное решение уравнения (6.4.5) имеет вид \1тя* 3.496. Наш алгоритм для вычисления локально ограниченного оптимального («криволинейного») шага, использующий описанные в этом разделе приемы, представлен в приложении алгоритмом А6.4.2. В работе ему предшествует драйверный алгоритм А6.4.1, осуществляющий полный глобальный шаг с использованием принципов выбора локально ограниченного оптимального шага. Полный шаг включает в себя выбор новой точки х+ алгоритмом А6.4.2, проверку приемлемости х+ и пересчет радиуса доверительной области (алгоритм А6.4.5), а также при необходимости повторение этого процесса. Все эти алгоритмы используют диагональную матрицу масштабирования в пространстве переменных, которое будет рассмотрено в разд. 7.1. Некоторые недавние исследования [Гэй (1981), Соренсен (1982)] были сконцентрированы ца приближенном решении локально ограниченной модельной задачи (6.4.1) с использованием описанных в этом разделе приемов, распространенных на тот случай, когда Нс не является положительно определенной. Эти приемы могут стать важным дополнением к алгоритмам из данного раздела. 6.4.2. Шаг с двойным изломом Другой реализацией рассматриваемого подхода «модель — доверительная область» служит модификация алгоритма доверительной области, предложенная Пауэллом (1970а). В этой модификации тоже ищется приближенное решение задачи (6.4.1). Однако вместо того чтобы находить точку х+= хс + s (\ic) на кривой 5(|ы), такую, что ||лс+ — Xcll2 = 8c, в ней аппроксимируется эта кривая кусочно-линейной функцией, соединяющей «точку Коши» СР.1), т. е. точку минимума квадратичной модели тс на направлении наискорейшего спуска, с ньютоновским для тс направлением, как это указано на рис. 6.4.5. Затем в качестве х+ выбирается точка на этой ломаной линии, такая, что ||х+ — jcc||2 = 6c, если только не имеет место неравенство \H~lyf (*с)12< *«» причем в последнем случае л+— ньютоновская точка. Такую стратегию можно еще рассматривать и как 1) с.Р. — сокращение от «Cauchy point» (точка Коши). — Прим. перев.
172 Гл. 6. Глобально сходящиеся модификации Рис. 6.4.5. Кривая с двойным изломом хс -> СР. -> N -> х^. простую стратегию поиска в направлении наискорейшего спуска, если Ьс мало, а по мере роста 6С — в направлении, все более и более приближающемся к квазиньютоновскому. Специальный способ выбора кривой с двойным изломом обеспечивает наличие у нее двух важных свойств. Первое: по мере продвижения вдоль кусочно-линейной кривой от хс к С. Р., затем к if и далее к л;^ расстояние от хс монотонно увеличивается. Следовательно, для любого d^|#rVf (*с)| существует единственная точка на кривой, такая, что IU+ — Хс\\2 = 8. Именно это делает процесс корректно определенным. Второе свойство состоит в том, что значение квадратичной модели mc(xc+s) монотонно уменьшается по мере продвижения s вдоль кривой от хс к СР., затем к if и далее к х^. Это делает процесс вполне обоснованным. Точка СР. на рис. 6.4.5 находится путем решения задачи min тс(хс - Wf (хс)) = f (хс) — ЛЦУ/(хс)||22 + \ ЯМ(хс)т#CV/ (*с), Xe=R * которая имеет единственное решение = №(хс)\\1 * Vf(*c)rtfcV/(jcc) " Следовательно, C.P. = xe-kmvf(xe)9 и если бс < Я,|| V/ (ХС) \\2 - || Vf (Хс) \f2M (хе)т HcVf (Хс),
6.4. Подход: модель — доверительная область 173 то алгоритмом делается шаг длиной 6С в направлении наискорейшего спуска: х+=*с- ц7/(хс)Ь vfte>- Для того чтобы кривая с двойным изломом обладала первым из сформулированных выше свойств, необходимо показать, что точка Коши С. Р. находится не дальше от хс, чем ньютоновская точка xN+. Пусть sc'Р' = - X.V/ (хс), sN = - H7lVf (хс), тогда l|S h-Vf(xcfHcVf(xc)^ \\V(xc)\f2 №(*МНс~1У(*Ж < V/ (*/ Я^/ (хс) V/ (*/ Я7^/ (хв) HV/(*c)ll24 (7f (хе)т НСЩ (хс)) (V/ (*/ H^Vf (*,)) Н^||2А?||^ц2. (6#4Л1) В качестве упражнения можно показать, что у ^ 1 для любой положительно определенной матрицы Нс, причем у = 1 тогда и только тогда, когда sCP- = sN. Мы исключаем из рассмотрения этот случай до конца данного раздела. Итак, ||5C-P'||2<Y||5^||2<||S^||2. Точка ft на кривой с двойным изломом выбирается так, чтобы она имела вид N = xc — r\Hc~lVf(xc) для некоторого т], такого, что и чтобы она обладала свойством тс(х) уменьшается монотонно вдоль прямой от С. Р. к ft. (6.4.12) Поскольку известно, что тс(х) уменьшается монотонно от хс до СР. и от N до х+, то (6.4.12) будет гарантировать монотонное уменьшение тс(х) вдоль всей кривой с двойным изломом. Для того чтобы имело место (6.4.12), т) должно выбираться так, чтобы производная по направлению вдоль прямой, соединяющей СР. и ft, была отрицательной в каждой точке этого линейного сегмента. Параметризуем этот линейный сегмент следующим образом: x+(X) = xc + sc-p- + k(r\s»-sc-P-)9 0<Л<1.
1 74 Гл. 6. Глобально сходящиеся модификации Производная по направлению для тс вдоль этой прямой в лг+(А,) равна ?me(x+(k))T(risN-sc-p-) = = [V/(хе) + Нс (5е- р- + X(y\sN - 5е- p))]r{x\sN - sc-p) = = (V/ (XC) + //,5е- Pf fas" - 5C- P-) + Я (Л5^-5С- Р-)Г Яс (Т15^-5С- Р'). (6.4.13) Поскольку Нс положительно определена, то правая часть в (6.4.13) представляет собой монотонно возрастающую функцию от А,. Следовательно, необходимо потребовать только, чтобы (6.4.13) было отрицательным для Я=1, что обеспечит ее отрицательность для 0 <; А, ^ 1. Элементарные преобразования показывают, что данное условие эквивалентно неравенству 0>(1-Ч)(7/(Хс)г(трлг-вс-р-))- = 0 - П) (Т - П) (V/ (Xcf H7\f (*)). которое должно выполняться для всех т)е(у, 1). Таким образом, в качестве ft можно выбирать любую точку на ньютоновском направлении хс + r\sN, для которой т| лежит между 1 и величиной у, определенной в (6.4.11). Первоначальным выбором Пауэлла было л=1» чему соответствует кривая с одним изломом. Численное тестирование, однако, показало, что более ранний переход на ньютоновское направление, по-видимому, улучшает работоспособность алгоритма. Поэтому Деннис и Мей (1979) предложили выбор tj = 0.87 + 0.2, который приводит к кривой с двойным изломом, наподобие той, что изображена на рис. 6.4.5. Выбор точек С. Р. и ft полностью определяет кривую с двойным изломом. Нахождение на кривой точки *+, такой, что IU+ — *с||2 = бс, представляет собой простую и нетрудоемкую алгебраическую задачу, что и будет продемонстрировано в приведенном ниже примере 6.4.4. Отметим, что полные затраты алгоритма составляют после вычисления s% только О (л2) арифметических операций. Пример 6.4.4. Пусть f(x), хс и Нс заданы, как в примере 6.4.3, и пусть 6с = 0.75. Напомним, что у/(*<) = (6,2)г, Я.-[" I], ^-(-f. -1)Г. Поскольку J s* Ik = 1.088 > 6С, то алгоритм, использующий кривую с двойным изломом, сначала вычисляет шаг в точку Коши. Читатель может убедиться, что она имеет вид S V512 Д2>/_^-0.15б;
6.4. Подход: модель — доверительная область 175 Так как ||sc-p-||2 = 0.494 < 6С, то далее алгоритм вычисляет шаг в точку N. Читатель может убедиться, что Y= (4%2л ^ 0-684, (512) (f) t| = 0.8y + 0.2 ~ 0.747, Й л v (— 0-320 \ Поскольку ||s"\\2££ 0.813 > 6С, то шаг с двойным изломом должен проходить через прямую, соединяющую С. Р. и N, т. е. sc = sc-р- + X (sR — $с-р-) для iG(0, 1), такого, что || sc Ik = бс. Величина А получается в результате нахождения положительного корня квадратного уравнения Этим корнем является А, = 0.867. Таким образом, seeec.P. + 0.8e7(^-sC.P-)«(z2;2S). - о. _f 0.660 \ Полностью эти вычисления отражены на рис. 6.4.6. Наш алгоритм выбора точки в соответствии со стратегией шага вдоль кривой с двойным изломом представлен в приложении алгоритмом А6.4.4. Вычислительный опыт показывает, что выбранные, согласно этой стратегии, точки в худшем случае лишь слегка уступают тем, что выбираются в соответствии с локально ограниченным оптимальным шагом алгоритма*А6.4.2. Vf<xc) Рис. 6.4.6. Шаг с двойным изломом из примера 6.4.4.
176 Гл. 6. Глобально сходящиеся модификации Однако здесь есть, что сравнивать, а именно сложность и время счета алгоритма А6.4.4 значительно меньше, чем у алгоритма Аб.4.2. Это делает привлекательной стратегию поиска вдоль ломаной, особенно в случае задач, в которых невысока трудоемкость вычисления функции и производной. Алгоритм А6.4.3 содержит драйвер для полного глобального шага, использующего алгоритм поиска вдоль кривой с двойным изломом с целью нахождения претендента для точки х+. Оба алгоритма включают в себя диагональное масштабирование пространства переменных, описанное в разд. 7.1. 6.4.3. Пересчет доверительной области Для того чтобы глобальный шаг, описанный в алгоритме 6.4.2, принял завершенный вид, необходимо решить, является ли точка х+, найденная с использованием техники из разд. 6.4.1 или 6.4.2, удовлетворительным следующим приближением. Если х+ оказывается неприемлемой, то размеры доверительной области уменьшаются и производится минимизация той же самой квадратичной модели на уменьшенной области. Если х+ является удовлетворительной, то нужно решить, увеличивать, уменьшать, или оставлять неизменной доверительную область на следующем шаге алгоритма 6.1.1. Основой для такого решения служат приведенные ниже рассуждения. Условием приемлемости х+ служит то, что было изложено в разд. 6.3, а именно: f К) < / (хс) + о£ (х+ - хе), (6.4.14) где gc равно Vf(xc) или его аппроксимации, а а — константа из интервала f О, у J. В нашем алгоритме мы опять полагаем а=10~4, так что условие (6.4.14) вряд ли более строгое, чем f(x+)< f(xc). Если х+ не удовлетворяет (6.4.14), то размеры доверительной области уменьшаются умножением на коэффициент, лежащий в пределах от -^- до у, и мы снова возвращаемся к приближенному решению локально ограниченной задачи минимизации, используя идею локально ограниченного оптимального шага или шага вдоль кривой с двойным изломом. Коэффициент уменьшения определяется с помощью той же самой стратегии дробления шага на базе квадратичной аппроксимации, которая использовалась в алгоритме А6.3.1 для уменьшения параметра линейного поиска. Функция f(xc + h(x+ — хс)) моделируется квадратичной mq(k), совпадающей с f(xc) и f(x+), а также с производной по направлению gj (л:+ — xjj функции f и хс вдоль направления х+ — хс. Затем мы предполагаем, что
6.4. Подход: модель — доверительная область 177 радиус доверительной области 6+ совпадает с точкой минимума этой модели, которая находится в х = -8ГС(Х+-Хс) • 2[f(x+)-f(Xc)-8Tc.(x+-*c)] (см. рис. 6.4.7). Таким образом, б+ = А,#||*+ — дсс||2. Если то вместо этого значения, исходя из тех же соображений, что и в алгоритме линейного поиска, в качестве 6+ выбирается ближайший из концов указанного отрезка. Заметим, что если х+ выбирается в соответствии с описанной в разд. 6.4.2 стратегией поиска вдоль кривой с двойным изломом, то ||х+ — *c||2 = fic, но если х+ выбирается в соответствии с описанной в разд. 6.4.2 стратегией локально ограниченного оптимального шага, то нам [3 3 1 Теперь предположим, что уже найдено х+, удовлетворяющее (6.4.14). Если х+ представляет собой полный ньютоновский шаг из хс, то этот шаг выполняется, пересчитывается б, строится новая модель и происходит переход к следующей итерации. Однако если лг+ — хс не является ньютоновским шагом, то сначала рассматривается вопрос о том, следует ли пытаться сделать шаг побольше, используя текущую модель. Довод в пользу того, что это может быть оправданным, состоит в том, что таким образом можно избежать необходимости вычислений в *+ градиента (гессиана), стоимость которых в трудоемких задачах часто является > у ' Размеры новой доверительной области (Приблизительные) размеры старой доверительной I области Рис. 6.4.7. Уменьшение доверительной области в случае, когда х+ неприемлемо.
178 Гл. 6. Глобально сходящиеся модификации доминирующей. Причина, по которой возможен более длинный шаг, заключается в том, что в ходе предыдущей работы алгоритма доверительная область может стать малой, а в данный момент может возникнуть необходимость в ее увеличении. Это имеет место, когда мы выходим из области, где граница длины шага должна быть малой из-за того, что в ней функция не очень удачно описывалась квадратичной, и попадаем в область с более хорошим поведением функции. Для того чтобы решить — пытаться ли сделать более длинный шаг из хСу мы сравниваем реальное уменьшение функции Д/Д/ (*+) — f (хс) предсказанным уменьшением Afpred:4:mc(*+)~~ — f(xc). Берем jc+ в качестве следующего приближения, если либо соответствие между ними настолько хорошее, т.е. A/Wed — — Д/|^0.1|Д/|, что величина бс, как мы подозреваем, недооценивает радиуса области, в которой тс адекватно представляет /, либо реальное уменьшение / настолько велико, что оно говорит о наличии отрицательной кривизны, т. е. f(х+) ^.f(хс) + + S7f(xc)T(x+ — хс)> и, таким образом, это обещает продолжение быстрого изменения f(x). В обоих этих случаях запоминаются значения х+ и f (лс+), однако, вместо того чтобы переходить непосредственно к *+, сначала удваивается 6С, а затем с использованием нашей текущей модели вычисляется новое х+. Если для нового х+ не выполняется (6.4.14), то мы возвращаемся к последнему хорошему шагу, который уже вычислен, но если это соотношение выполняется, то производится очередное удвоение. На практике таким образом можно сэкономить значительное число вычислений градиента. Интересная ситуация, в которой граница длины шага должна сжиматься, а затем увеличиваться, встречается, когда алгоритм проходит вблизи точки, напоминающей точку минимума. Ньютоновские шаги становятся все короче, и тогда алгоритм, выполняя эти ньютоновские шаги, ведет себя так, как если бы он сходился. Затем алгоритм обнаруживает выход из сложившегося положения, ньютоновские шаги увеличиваются, и алгоритм уходит прочь от этого места. Такое поведение является желательным, так как возмущенная задача могла в самом деле иметь точку минимума в том месте, на которое было отвлечено внимание. Для нас желательно, чтобы в этом случае мы могли быстро увеличивать бс. В одном примере нам встретилось шесть таких удваиваний границы шага на внутренней итерации после прохождения точки, привлекшей к себе внимание. Предположим теперь, что мы уже остановили наш выбор на х+, как на точке следующей итерации, и поэтому необходимо произвести пересчет бс в 6+. Для получения б+ допускаются три варианта: удвоить границу шага, уменьшить ее вдвое или оставить неизменной. Реальные обстоятельства довольно разнооб-
6.4. Подход: модель — доверительная область 179 разны, однако важно то, что если текущая квадратичная модель хорошо предсказывает поведение функции, то доверительную область увеличиваем, но если она предсказывает плохо, то мы уменьшаем доверительную область. Если квадратичная модель довольно хорошо предсказала реальное уменьшение функции, т. е. если Д/ ^ 0.75A/pred, то берется 6+ = 2бс. Если модель слишком переоценила уменьшение в f(x), т. е. если А/ > 0.1Д/ргесь то берем 6+ = бс/2. В противном случае 6+ = бс. Пример 6.4.5. Пусть f(x), хс, Нс и бс задаются, как в примере 6.4.3. Предположим, что шаг, описанный в этом примере, уже сделан, т. е. _. i —(х\ f 0.334 \ _ /0.666 \ x+-xc + sc-{l J-^о.335 J "Ч 0.665 J* Напомним, что Мы хотим выяснить, является ли точка х+ удовлетворительной, и хотим произвести пересчет доверительной области. Сначала вычислим /(*+) = 1.083, / (хс) + <xV/ (хс)т (jc+ -хе) = 3- 10~4 (2.673) = 2.9997. Следовательно, х+ приемлемо. Затем мы решаем, нужно ли попробовать на текущей итерации сделать более длинный шаг. Для этого вычислим Af = /(*+)-/(*e)=-1.917 и Д/pred = "с (*+) ~ / К) = V/ (ХС)Т Sc + ± 8*НЛ - = -2.673 + 0.892 = —1.781. Поскольку |Д/—-Д/рге(11/| Д/1 = 0.071 < 0.1, то мы увеличиваем доверительную область вдвое и возвращаемся к локально ограниченному оптимальному шагу (см. алгоритм А6.4.1). Читатель может убедиться, что при новом радиусе доверительной области 6С = 1 алгоритмом А6.4.1 будет сделан ньютоновский шаг. Оставим в качестве упражнения завершить пересчет доверительной области на этой глобальной итерации. Алгоритм пересчета доверительной области представлен в приложении алгоритмом А6.4.5. Он имеет несколько дополнительных особенностей. 1. Он использует минимальную и максимальную длину шага, рассмотренную в разд. 7.2. Радиусу доверительной области не разрешается выходить за эти пределы. Максимальная длина
180 Гл. 6. Глобально сходящиеся модификации шага задается пользователем. Минимальная длина шага служит величиной, используемой для проверки на сходимость в алгоритме 7.2.1. Если х+ неприемлемо, но размеры текущей доверительной области оказываются меньшими, чем minstep, то происходит остановка глобального шага, так как в конце текущей глобальной итерации была бы обязательно выявлена сходимость. Эта ситуация может указывать на сходимость к точке, не являющейся решением, поэтому должно выдаваться предостерегающее сообщение. 2. Если полученным с помощью алгоритма А6.4.2 или А6.4.4 приближенным решением модельной задачи с ограничением является ньютоновский шаг, т. е. шаг более короткий, чем текущий радиус доверительной области, то эти алгоритмы сразу уменьшают размеры доверительной области до размеров ньютоновского шага. Затем он все же уточняется алгоритмом А6.4.5. Это представляет собой дополнительный механизм регулировки размеров доверительной области. 3. Алгоритм реализован с использованием рассматриваемого в разд. 7.1 диагонального масштабирования имеющегося пространства. В заключение обсудим вопрос о том, как получается начальная оценка радиуса доверительной области, или, другими словами, оценка границы шага. Иногда пользователь может сам задать разумную оценку на основе его знания задачи. Если же нет, то для этого случая Пауэлл (1970а) предлагает использовать шаг по методу Коши (см. разд. 6.4.2) в качестве начального радиуса доверительной области. Возможны и другие стратегии. Стратегия пересчета в алгоритме А6.4.5 действительно позволяет алгоритму доверительной области избавиться на практике от плохого начального значения для б, но обычно за это надо платить дополнительными итерациями. Поэтому начальная доверительная область имеет довольно важное значение. 6.5. ГЛОБАЛЬНЫЕ МЕТОДЫ РЕШЕНИЯ СИСТЕМ НЕЛИНЕЙНЫХ УРАВНЕНИЙ Вернемся теперь к задаче решения системы нелинейных уравнений: задано: F: Rn->Rn, найти x$GRft, такое, что F(jtj = 0. В этом разделе будет показано, каким образом можно объединить метод Ньютона для (6.5.1) с глобальными методами безусловной минимизации в целях создания глобального метода для (6.5.1).
6.5. Глобальные методы решения систем 181 Ньютоновский шаг для (6.5.1) имеет вид x+ = xc-J(xc)~lF(xc)t (6.5.2) где J{xc) есть матрица Якоби функции F в хс. Из разд. 5.2 известно, что (6.5.2) локально ^-квадратично сходится к х*, но не обязательно глобально сходится. Теперь предположим, что хс не находится вблизи от какого-либо решения х* задачи (6.5.1). Как тогда решать вопрос о том, принять или нет х+ в качестве следующего приближения? Разумный ответ состоит в том, что в некоторой норме ||-|| величина ||F(jc+)|| должна быть меньше, чем ||r(jcc)||, причем подходящим вариантом здесь служит /г- норма:||/^(л:)||22 = ^(х)^(;с). Требование, чтобы наш шаг приводил к уменьшению ||F(x)||2, отвечает тому, что требуется при поиске минимума функции Н^(*)П2. Таким образом, мы в действительности переключили внимание на соответствующую задачу минимизации: minf(x)=±F(x)TF(x)9 (6.5.3) xeRn Z где «1/2» добавлено, исходя из удобства дальнейших выкладок. Заметим, что любое решение (6.5.1) является решением и (6.5.3), однако (6.5.3) может иметь много локальных минимумов, которые не'являются решениями для (6.5.1) (рис. 6.5.1). Поэтому хотя можно было бы пытаться решать (6.5.1), просто применяя процедуру минимизации к (6.5.3), все же лучше использовать специфику исходной задачи всякий раз, когда это возможно, в частности, вычисляя ньютоновский шаг (6.5.2). Тем не менее наша глобальная стратегия для (6.5.1) будет базироваться на глобальной стратегии решения связанной с ней задачи минимизации (6.5.3). Зададим важный вопрос: «Что является направлением убывания для задачи (6.5.3)?» Им служит произвольное направле- \л /ю-\тгп Рис. 6.5.1. Нелинейные уравнения и соответствующая задача минимизации, одномерный случай.
182 Гл. 6. Глобально сходящиеся модификации ние р, для которого Wf(xc)Tp < 0, где п п Следовательно, направление наискорейшего спуска для (6.5.3) направлено вдоль —J(xc)TF(xc). Кроме того, ньютоновское направление вдоль sN =—J(xc)~lF(xc) представляет собой направление спуска, так как V/(х/sN = -F(хс)тJ(хс)J(хсГ[F(хе) =-F(х/F(хс) < О всякий раз, когда Р(хс)фО. Этот факт может показаться удивительным, но геометрически он вполне очевиден. Поскольку ньютоновский шаг дает корень для Mc(xc + s) = F(xc) + J(xc)st он также приводит в точку минимума квадратичной функции thc(xc + s)AYMc(xc + s)TMc(xc + s) = = jF(xcVF(xc) + (J(xcfF(xc)fs + ^sT(J(xc)4(xc))s9 (6.5.4) так как tftc{xc + s)^0 для всех s и ific(xc + sN) = 0. Это означает, что sN представляет собой направление спуска для /йс, и поскольку градиенты функций rhc и / совпадают в точке хс, то оно также является направлением спуска для /. Полученный выше вывод обосновывает наши дальнейшие действия по созданию глобальных методов для (6.5.1). Эти методы будут основаны на применении алгоритмов из разд. 6.3 и 6.4 к квадратичной модели ific(x), заданной в (6.5.4). Поскольку V2ifi(xc) = J(xc)TJ(xc), то рассматриваемая модель положительно определена всякий раз, когда J(xc) не вырождено. Это в данном случае соответствует тому факту, что хс + sN есть единственный корень для Мс (х), и, следовательно, это есть единственная точка минимума для thc(x). Таким образом, модель thc(x) имеет привлекательные свойства, состоящие в том, что ее направления спуска являются направлениями спуска для f(x)9 поскольку Viftc{Xc) = Vf(Xc). Поэтому методы, основывающиеся на этой модели, которые используют направление «вниз по склону» и минимизацию ffic{x), будут объединять в себе метод Ньютона для решения нелинейных уравнений с глобальными методами для решения связанной с ними задачи минимизации. Заметим, что fhc(x) не тождественно в окрестности точки хс квадратичной модели mc(xc + s) = f(xc) + Vf(xc)Ts + ±sTV*f(xc)s
6.5. Глобальные методы решения систем 183 функции f (х) = | F (х)т F (х)9 потому что V2/ (хс) Ф J (хс)т J (хс) (см. упр. 18 из гл. 5). Применение глобальных методов из разд. 6.3 и 6.4 к задаче решения нелинейных уравнений становится теперь вполне очевидным. Когда матрица J(xc) достаточно хорошо обусловлена, тогда J(xc)TJ(xc) надежно положительно определена, и алгоритмы применяются без каких-либо изменений, если определить целевую функцию как у IIТ7 (*) llj > ньютоновское направление как —J(x)~vF(x) и положительно определенную квадратичную модель согласно (6.5.4). Это означает, что в алгоритмах с линейным поиском этот поиск производится вдоль ньютоновского направления в целях существенного уменьшения ||F(jc)||2. В алгоритмах доверительной области приближенно минимизируется ffic(xc + s) при условии ||s||2 ^ 6с. Если 8С ^ V{Xc)~lF(xc)\\2l то пробным является ньютоновский шаг, в противном случае пробным служит локально ограниченный оптимальный шаг s = - (/ (xcY J (хс) + nJ)~l / (ХсГ F (хе), (6.5.5) где [хс таково, что ||s||2 = 6c Используя ту или иную глобальную стратегию, мы ожидаем, что в конце концов начнут выполняться ньютоновские шаги для F(x) = 0. В примере 6.5.1 показано, как глобальная стратегия, использующая линейный поиск, работала бы на примере из разд. 5.4, начиная из другой точки. В этой точке ньютоновский шаг является неприемлемым. Пример 6-5.1. Пусть F: R2-> R2 Имеется корень л:+=(1, 1)г. Положим х0 — (2, 0.5)г. Определим f(x) = ±F(x)TF(x). Тогда Алгоритм А6.3.1 с линейным поиском вычислит х+ —х0-\- \sjf, начиная с Я<, = 1 и, если необходимо, уменьшая Я0, пока не выполнится неравенство f (х+)< f (х0)+ lO~*X0Vf (х0)т So. Для , дг Г-1.001 _, . Г 1041
184 Гл. 6. Глобально сходящиеся модификации поэтому очевидно, что ньютоновский шаг неудовлетворителен. Следовательно, А,0 уменьшается дроблением шага на основе квадратичной аппроксимации по формуле ^ — У/(^0) s0 1 *[f(*+)-f(*o)-Vf(*o)T4Y В этом случае /(х+)^5.79Х Ю5, /(*0)«2.89, vf(x0)Ts$ = = — F(x0)TF(x0)** — 5.77 и тогда (6.5.6) дает Кх ^ 4.99 X Ю"6. Поскольку А,!<0.1, то алгоритм Л6.3.1 полагает Я1=0.1, *♦-*+«•'<«[ £?]• '<*♦>«[£?]• Этот результат все еще не является удовлетворительным, и поэтому алгоритмом А6.3.2 производится дробление шага на основе кубической аппроксимации. Читатель может убедиться, что дробление шага дает hi= 0.0659. Поскольку Я2 > у Я,, то алгоритм полагает A2 = yA1 = 0.05, ,+ -*0 + o.o^«[J;* ]. />(*+) «[?;£]■ Эта точка все еще не является удовлетворительной, так как f(x+)^* 3.71 > /(Jto), поэтому алгоритмом производится следующее дробление шага с кубической аппроксимацией. Это дает А,з = 0.0116, которое и используется, так как его величина принадлежит интервалу [Ад/Ю, А,2/2] = [0.005, 0.025]. Теперь , лл„с v Г 1.9651 р/ ч Г 2.2381 ^=x0 + 0.01165o^[0613J, /7(^)^Lo.856j- Эта точка удовлетворительна, так как /(*+)« 2.87 < 2.89 ^/(a:0)+10"4(0.01 16) Vf(x0)Ts%9 поэтому мы полагаем х\=х+ и переходим к следующей итерации. Интересно проследить дальнейший ход решения задачи. На следующей итерации *Г /<*,r'F<*,)ai[-';^], *?-*. + < «[ИГ]" "WHisZl что опять является неудовлетворительным. Однако первое же дробление шага оказывается успешным. Действительно, алго-
6.5. Глобальные методы решения систем 185 ритм А6.3.1 вычисляет Xi = 0.0156, и поскольку это меньше 0.1, то он полагает Х{ =0.1, Этот шаг будет приемлемым, так как /(*+)« 2.63 < 2.87 e/(x1)+10"4(0.1)V/(xi)rsJr. На следующей итерации " г г Нг/ \ Г— 0.07561- s2=-J(x2) F(x2)*[ a0437J, *з ^2 + 52 — L 1.257 J' *\Х*>*1\ШУ таким образом, ньютоновский шаг очень хорош. Начиная с этого момента метод Ньютона сходится (/-квадратично к *„ = (1, 1)г. Единственное осложнение в этой глобальной стратегии возникает, когда матрица / почти вырождена в текущей точке хс. В таком случае мы не можем аккуратно вычислить ньютоновское направление s^ = —J(xc)~lF(xc)9 и гессиан модели J(xc)TJ(xc) является почти вырожденным. Для выявления этой ситуации выполняется Q/^-разложение матрицы J(xc)> и если матрица R не вырождена, то оценивается ее число обусловленности по алгоритму АЗ.3.1. Если R вырождена или оценка ее числа обусловленности больше, чем macheps-1/2, то производится возмущение квадратичной модели, так что Лс (*. + s) = g- F {хс)т F (хс) + (/ (хеУ F (хс))т s + -J- sTHcs, где Hc = J(xc)TJ(xc) + (n • macheps^l/^/Z^jIt • /. (Число обусловленности матрицы Нс есть величина порядка macheps-1/2. Более точное обоснование имеется в упр. 23.) Как известно из разд. 6.4, ньютоновский шаг в точку минимума этой модели sN = — HclJ{xc)TF(xc) представляет собой решение задачи min thc (хс + s) = || / (хе) s + F (хс) ||* при условии I S I 2 < й при некотором б > 0. Он также является направлением спуска для / (jc) = -j || F (х) \f2. Поэтому мы предпочитаем вместо этого модифицированного ньютоновского шага использовать некото-
186 Гл. 6. Глобально сходящиеся модификации рое 5 = —l(xc)-lF(xc), которое бы получалось на основе возмущенного значения J(xc) Q^-разлож^ния матрицы J(xc). Дальнейшее обсуждение этого шага можно найти в упр. 24. В драйвере D6.1.3 можно увидеть наши принципы использования глобальных алгоритмов безусловной минимизации для решения систем нелинейных уравнений. В начале каждой итерации алгоритмом А6.5.1 вычисляется Q^c-разложение для J(xc) и оценивается число обусловленности матрицы Rc. Если оценка числа обусловленности меньше, чем macheps-1^ то в нем вычисляется ньютоновский шаг — J(xc)-lF(xc), в противном случае вычисляется описанный выше возмущенный ньютоновский шаг. Затем по выбору пользователя драйвером вызывается алгоритм линейного поиска, поиска вдоль кривой с двойным изломом или локально ограниченного оптимального шага. Для всех глобальных алгоритмов требуется значение Vf(xc) = J(xc)TF(xc), которое также вычисляется алгоритмом D6.3.1. Кроме того, в алгоритмах доверительной области требуется разложение Холес- ского LCLC для Нс = J(xc)TJ(xc) (за исключением случая, когда в Нс внесено описанное выше возмущение). Поскольку J{xc) = = QcRcy отсюда сразу же получаем Lc = Rc И наконец, все наши алгоритмы решения систем нелинейных уравнений реализованы с использованием диагональной матрицы DF для масштабирования F(x), рассмотренного в разд. 7.2. Это приводит к тому, что /W-ylVWj, Vf(x) = J(x)TD*FF(x)9 H = J(xfDlJ(x). Имеется один важный случай, в котором эти глобальные алгоритмы решения систем нелинейных уравнений могут потерпеть неудачу. Это происходит, когда точка локального минимума /(*) = уИ^МИг не является корнем F(x) (см. рис. 6.5.1). Процедура глобальной минимизации, стартующая вблизи от такой точки, может сойтись к ней1). Не много можно сделать в такой ситуации сверх того, чтобы сообщить пользователю о случившемся и предложить ему попытаться начать счет заново вблизи корня F(x)9 если, конечно, это возможно. Процедура останова для нелинейных уравнений (алгоритм А7.2.3) выявляет эту ситуацию и вырабатывает такое сообщение. В настоящее время проводятся исследования по созданию методов, которые могли бы сами продолжить счет из таких точек локального минимума [см. Алговер и Джордж (1980) и Зирилли (1982)]. 1) Одним из признаков этого является вырожденность матрицы J(xc) (см. упр. 17). — Прим. перев.
6.6. Упражнения 187 6.6. УПРАЖНЕНИЯ 1. Пусть / (jc) = 3jcJ + 2х{х2 + х% л:0 = (1, 1) . Что является направлением наискорейшего спуска для / в х0? Будет ли (1, — 1)г направлением спуска? 2. Покажите, что для положительно определенной квадратичной функции f(Xk + s) = gTs + —sTV2f(Xk)s шаг наискорейшего спуска из Xk задается равенством (6.2.5). 3. Задано б е (0, 1). Обобщите пример 6.2.2. на случай, когда последовательность точек, вырабатываемая алгоритмом наискорейшего спуска из определенной точки х0, удовлетворяет соотношению II Xk+t — х* || = = cIUa-x*||, * = 0, 1, ... . 4. Пусть / (л:) = х2. Покажите, что бесконечная последовательность точек Xi = (—\)l(\ 4-2~l), t' = 0, 1, ..., изображенная на рис. 6.3.2, не удовлетворяет условию (6.3.3), каково бы ни было а > 0. 5. Пусть f(x) = х2. Покажите, что бесконечная последовательность точек д^=1+2-', ( = 0, 1, ..., допускается условием (6.3.3) при любом а ^Г-^-» но запрещается условием (6.3.4), каково бы ни было Р > 0. 6. Покажите, что если f(x) является положительно определенной квадратичной функцией, то ньютоновский шаг из произвольного ^gR" удовлетворяет условию (6.3.3) при а <-^- и (6.3.4) при любом р > 0. 7. Докажите, что если (6.3.4) заменить на f(*k+i)>f(*k) + W(xk)T(xk+i-*k)' р^(«. •)> то теоремы 6.3.2 и 6.3.3 останутся в силе, и докажите, что если, кроме того, Р > -~-, то также остается справедливой и теорема 6.3.4. Это представляет собой условие Гольдстейна в его первоначальном виде. 8. Пусть f (х) = JcJ + ^1» *с = (1» 1)Г и направление поиска рс задается ньютоновским шагом. Что будет представлять собой х+, если использовать: (a) ньютоновский шаг; (b) алгоритм линейного поиска А6.3.1; (c) алгоритм «идеального линейного поиска», полагающий х+ равным точке минимума f(x) в направлении рс из хс? [Ответьте на (с) приближенно.] 9. Пусть f (*) = — jc^ + jcI» хс = (1, \)т. Каково точное решение (6.4.1) 5 при 6 = 2? А при А = "£"? [Указание: во второй части вопроса попробуйте взять ц=1.] 10. Докажите, что локально ограниченная оптимальная кривая s(\i), изображенная на рис. 6.4.2, не обязательно является плоской кривой. Для этого постройте простой трехмерный пример, в котором хс и какие-либо три точки кривой не лежат в одной плоскости. [Достаточно рассмотреть f (х) = jCj + + 2x1 + 3x1] 11. Пусть матрица // е RnXn симметрична и положительно определена и 01, ... v 0Л есть ортонормированный базис собственных векторов для Я,
188 Гл. 6. Глобально сходящиеся модификации которым соответствуют собственные значения Xi, ..., \п. Покажите, что для ц>0и п имеет место соотношение /=1 ' Как это связано с моделью mc(\i) для \\(Н + \iI)-lg\\ — 6, используемой в алгоритме локально ограниченного оптимального шага? 12. Пусть Hug заданы, как в упр. 11. Для ц ^ О определим s(\i) = = (Н + \tl)~lg и т|(|х) = lls(fjL)||2- Используя методику упр. 11 покажите, что d ,. g(i*)r(iy + ii/r!g(rt rfJT^ йШ2 • [Используя эту методику, вы можете также показать, что (d2ld[i2)r\([i) > О для всех ц > 0, однако доказательство является громоздким.] 13. Пусть f(x) -1д* + 4 x0 = (\,\f, g = Vf(x0)9 H = V2f(x0). Вы- числите точку Коши функции / из точки х0 (см. разд. 6.4.2), а также точку ft = Хо — (0.8у + 0.2) H-lg, которая используется в алгоритме поиска вдоль кривой с двойным изломом. Затем начертите кривую с двойным изломом и укажите на ней значения хи соответствующие 6=1 иб=р 14. Пусть матрица Н е= RпХп симметрична и положительно определена, ^eR". Докажите, что (gTg)2 < (gTHg)(gTH~ig). [Указание: положите и = Hi/2g, v = H~i/2g и примените неравенство Коши — Шварца.] 15. Завершите выкладки в примере 6.4.5. 16. Пусть F(x) = (*i, 2*2)г, Хо — (1, 1)г. Используя технику разд. 6.5, ответьте, что представляет собой шаг «наискорейшего спуска» из х0 для системы F = О? Если бы все ваши шаги производились вдоль направлений наискорейшего спуска, то какую скорость сходимости к корню F вы бы ожидали? 17. Пусть функция F: Rn->Rn непрерывно дифференцируема и х е= R* Предположим, что х является точкой локального минимума f (х) & 1 т a—-F(xy F (х), но F(x) Ф 0. Вырождена ли матрица /(*)? Если J(x) вырождена, то должно ли х быть точкой локального минимума f(x)? 18. Квадратичной моделью для F = 0, альтернативной к той, что использовалась в глобальных алгоритмах разд. 6.5, служат первые три члена разложения в ряд Тейлора функции о-Л ^ С*£ "t- s) |||. Покажите, что эта модель имеет вид mc (xc + s)=±F (хс)Т F (хс) + [J (хс)т F (хс)]т s + + у sT / {хс)т J (хс) + £ f, (хс) V'fi (Хс) s.
6.6. Упражнения 189 Как ее сравнить с моделью, используемой в разд. 6.5? Совпадает ли ньютоновский шаг для минимизации тс(х) с ньютоновским шагом для F(x) = О? Каково ваше мнение относительно достоинств этой модели по сравнению с той, что использовалась в разд. 6.5? (Аналогичная ситуация, но с другими выводами встречается при решении нелинейной задачи о наименьших квадратах (см. гл. 10).) 19. Почему ньютоновский шаг из х0 в примере 6.5.1 является плохим? [Указание: что произошло бы, если х0 было заменено на (2, е/6)Т ^ ~ (2, 0.45) П] 20. Какой шаг был бы сделан из х0 в примере 6.5.1 с использованием стратегии поиска вдоль кривой с двойным изломом (алгоритм А6.4.4) при 21. Выясните, что представляет собой алгоритм сопряженных градиентов для минимизации выпуклых квадратичных функций, и покажите, что ломаная с N = x+ есть результат применения метода сопряженных градиентов к гпс(х) в подпространстве, натянутом на направление наискорейшего спуска и ньютоновское направление. 22. Один из часто упоминаемых недостатков алгоритма поиска вдоль ломаной заключается в ограниченности его шагов тем, что они на каждой итерации должны лежать в двумерном подпространстве, натянутом на направление наискорейшего спуска и ньютоновское направление. Предложите на базе упр. 21 способы смягчения остроты этих критических замечаний [см. также Штайхауг (1981)]. 23. Пусть / е= RrtXrt вырождена. Покажите, что — \—-T72-<x2(/r/ + («.macheps),'2||/r/||1/)-l<- Г"TTTJ' п (macheps),/z (macheps)1'^ [Указание: воспользуйтесь (3.1.13) и теоремой 3.5.7.] Обобщите это неравенство на случай, когда х2(/) ^ macheps-172. 24. Пусть вектор FeR" является ненулевым и матрица / е= RnXn вырождена. Другим шагом, предложенным для решения нелинейных уравнений, является решение s задачи min{||s||2: s есть решение~для min ||f + /s||2}. (6.6.1) Как было показано в разд. 3.6, решением (6.6.1) является 5 = —/+F, где /+ есть матрица, псевдообратная к /. Покажите, что при малых а > 0 этот шаг аналогичен s = — (/r/ + а/)-1/7"/7, доказав для этого, что: (a) lim (/г/ + а/)"1/г = /+; а-»+0 (b) для любых а> 0 и i/eR" как (ЛУ + aI)^4Tvy так и J+v перпендикулярны ко всем векторам w из аннулирующего подпространства матрицы /. 25. Глобальная сходимость алгоритмов доверительной области с линейным поиском, описанных в разд. 6.3.2, 6.4.1 и 6.4.2, не вытекает непосредственно из теории, имеющейся в разд. 6.3.1, так как ни один из этих алгоритмов не обеспечивает выполнение условия (6.3.4). Тем не менее теоретически такой же эффект дают имеющиеся в алгоритмах границы каждой регулировки параметра линейного поиска А, или радиуса доверительной области 6С. Доказательство того, что все рассмотренные нами алгоритмы имеют глобальную сходимость, см. в работе Шульца, Шнабеля и Бирда (1982).
7 Критерии останова, масштабирование и тестирование В этой главе рассматриваются три вопроса, которые лежат в стороне от основных математических рассуждений относительно решения нелинейных уравнений и задач минимизации, однако эти вопросы существенны для решения на ЭВМ реальных задач. Первый состоит в том, как приспособиться к решению задач, плохо обусловленных в том смысле, что зависимые или независимые переменные сильно различаются по величине. Второй—как определять, когда останавливать итерационный алгоритм, работающий в условиях машинной арифметики. Третий— как отлаживать, тестировать и сравнивать нелинейные алгоритмы. 7.1. МАСШТАБИРОВАНИЕ Существенным моментом при решении многих реальных задач является то, что некоторые зависимые или независимые переменные могут сильно различаться по величине. Например, нам могла бы встретиться задача минимизации, в которой первая независимая переменная х\ лежит в области [102, 103] метров, а вторая переменная х2 лежит в области [10"7, 1(Н] секунд. Эти области называются масштабами соответствующих переменных. В настоящем разделе рассматривается влияние на наши алгоритмы, оказываемое таким большим разбросом в масштабах. Одним из мест, где масштабирование будет влиять на работу наших алгоритмов, является вычисление величин, таких, как ||х+ — ХсНг, которая использовалась в алгоритмах гл. 6. В приведенном выше примере любое такое вычисление фактически не будет учитывать значение второй переменной (время). Однако существует очевидное средство: перемасштабировать независимые переменные, т. е. изменить единицы их измерения. Например, если изменить единицы измерения Х\ на километры и х2 на микросекунды, то обе переменные будут иметь областью
7.1. Масштабирование 191 изменения [Ю-1, 1] и будет устранена проблема масштабов при вычислении IU+ — Jtdh. Заметим, что это соответствует замене независимых переменных на x = Dxx, где Dx есть диагональная матрица масштабирования вида Dx = [ Q 1Q6J. (7.1.1) Здесь возникает важный вопрос. Мы, скажем, преобразовали переменные нашей задачи так, что х = Dxx, или, в более общей постановке, преобразовали пространство переменных так, что £ = Тх, где матрица T^Rnxn не вырождена, затем вычислили глобальный шаг в пространстве новых переменных, а потом произвели обратные преобразования. Будет ли результат этого шага таким же, как и в случае, когда мы вычисляли его в пространстве старых переменных, используя ту же самую стратегию глобализации? Ответ довольно неожиданный: в отличие от ньютоновского шага, который не подвержен влиянию этого преобразования, направление наискорейшего спуска меняется, так что на шаг линейного поиска вдоль ньютоновского направления не влияет изменение единиц измерения, тогда как шаг алгоритма доверительной области может измениться. Чтобы убедиться в этом, рассмотрим задачу минимизации и обозначим х = Тх9 f(£)= f(T-lJc). Тогда, как нетрудно показать, Vf (i) = T~TVf (х)l), V2/ (i) = T" V/ (*) T~\ так что ньютоновский шаг и направление наискорейшего спуска в пространстве новых переменных имеют вид2) f = - (Г" V/ (х) Г"1)"1 (T~Tvf (*)) = - 7V2/ (хГ1 V/ (х)9 $SD = -T~TVf(x), или в пространстве старых переменных имеем sN = T-Y = -V2f(x):lVf(x)t ssd = t-issd = _ T-*T-Tvf {х) ^ _ {ттт)-1 vf (jc) Эти выводы действительно находятся в рамках здравого смысла. Ньютоновский шаг приводит в точку с наименьшим значением квадратичной модели, которая не меняется с изменением единиц измерения х. (Аналогично, в случае решения систем *) Условная запись Т~т используется для обозначения (Т-1)т. — Прим. перев. 2) Здесь индексы N и SD есть сокращения от Newton и steepest-descent. — Прим. перев.
/92 Гл. 7. Критерии останова нелинейных уравнений ньютоновское направление остается неизменным при преобразовании независимых переменных.) Однако определение того, какое из направлений считать направлением «наискорейшего спуска», зависит от того, что понимать под единичным шагом в каждом направлении. Говорить о направлении наискорейшего спуска имеет смысл тогда, когда единичный шаг в направлении переменной хь имеет примерно такую же относительную длину, что и единичный шаг в направлении любой другой переменной х\. По этим причинам наиболее предпочтительным решением при масштабировании задач, как мы полагаем, будет выбор пользователем таких единиц измерения в пространстве переменных, чтобы каждая компонента вектора х имела приблизительно одну и ту же величину. Однако если это затруднительно, то равносильный результат можно получить, преобразуя в алгоритме пространство переменных с помощью соответствующей диагональной матрицы масштабирования Dx. Это есть та самая стратегия масштабирования в пространстве независимых переменных, которая реализована в наших алгоритмах. Все, что должен сделать пользователь, это установить матрицу Dx такой, чтобы она соответствовала желаемым изменениям единиц измерения, и тогда алгоритмы будут действовать так, как если бы они работали в преобразованном пространстве переменных. Алгоритмы все же записываются в исходном пространстве переменных, так что выражение типа \\х+ — хс\\2 принимает вид \\Dx(x+ — хс)\\2, а шаги наискорейшего спуска и криволинейный принимают соответственно вид х+ = Хс — XDx2Vf(xe)> (см. упр. 3). Однако ньютоновское направление, как мы уже видели, остается неизменным. Положительная диагональная матрица масштабирования Dx задается пользователем как входная информация простым заданием п значений typjc,, t=l, ..., п, отражающих «характерные» значения каждого хх. Затем алгоритмом устанавливается (Dx)ii = (typXi)"lf при этом значения каждой из преобразованных переменных jci = (Dx)u Xi становятся порядка 1. Если в нашем примере пользователь задал, скажем typ jci = 103 и typjt2=10-6, то Dx будет иметь вид (7.1.1). Если считается, что нет необходимости в масштабировании xt, то typ jc/ должно быть взято равным 1. Дальнейшие инструкции по выбору typjCj приведены в руководстве 2 приложения. Естественно, что наши алгоритмы хранят в памяти не диагональную матрицу £>*, а вектор Sx (S означает масштаб), где (Sx)i = (Dx)u = = (typ *,)-■.
7.1. Масштабирование 193 Приведенной выше -стратегии не всегда оказывается достаточно. Например, имеются исключительные случаи, в которых необходимо динамическое масштабирование, так как некоторые xi в них меняются на много порядков величины. Это соответствует точно такому же использованию матрицы Dx, как и во всех наших алгоритмах, но она периодически перевычисляется. Поскольку опыт, накопленный в этой области, мал, мы не включили динамическое масштабирование в наши алгоритмы, несмотря на то что достаточно было бы добавить модуль, производящий периодическое перевычисление Dx с учетом результатов итерации алгоритма D6.1.1 или D6.1.3. Пример, иллюстрирующий важность учета масштабов независимых переменных, приведен ниже. Пример 7.1.1. Распространенной тестовой задачей для алгоритмов минимизации является функция Розенброка с линиями уровня в форме банана f(x)=l00(x2l-x2f + (l-xlf, (7.1.2) которая имеет минимум в *# = (1, \)т. Двумя типичными начальными точками являются х0=(—1.2, 1)гихо=(6.39, — 0.221 )г. Эта задача хорошо масштабирована, но при а ф 1 масштабы переменных могут быть ухудшены подстановкой в (7.1.2) aJc{ вместо Х\ и j^/a вместо Хъ> что в результате даст I (i) = f (a*„ £) - 100 (W - £)' - (Г - a!,?, *.=(4-°)r- Это соответствует преобразованию * Г- ol St= а \x. L 0 aJ . Если приведенные в приложении алгоритмы минимизации применить к /(£), начиная из jt0 = (— 1.2/a, a)r и x0 = (6.39/a, a(—0.221 ))г, воспользоваться при этом аналитическими производными, «криволинейным» шагом глобализации и параметрами1), значения которых заданы по умолчанию, а также пренебречь масштабами переменных, положив typjci = typx2 = 1,то требуемое для сходимости число итераций при различных зна- *) В оригинале — tolerance, что означает допуск, допустимое отклонение от чего-либо. Под этим термином подразумеваются задаваемые пользователем параметры алгоритмов, не всегда имеющие смысл допуска. Сокращение tol присутствует в именах многих параметров. — Прим. перев.
194 Гл. 7. Критерии останова чениях а имеет следующий вид (звездочка указывает на отсутствие сходимости после 150 итераций): Итерации из Итерации из а х0 = (-1.2/а, а)т х0 = (6.39/а, а( - 0.221)JT 0.01 0.1 1 10 100 150 + * 94 24 52 150+ * 150+ * 47 29 48 150+ * Однако если положить typxi = l/a и typx2 = a, то во всех случаях выдача программы в точности такая же, что и для a = 1, за исключением того, что значения х преобразуются с помощью L 0 aJ Необходимо также рассмотреть масштабы зависимых переменных. В задачах минимизации масштаб целевой функции / имеет значение только в критериях останова, рассматриваемых в разд. 7.2. Во всех других вычислениях, таких, как проверка /(*+)</(*) + 10-*Vf(x)T(x+ — х), изменение единиц измерения f не имеет никаких последствий. С другой стороны, при решении систем нелинейных уравнений разброс в величинах компонент функции // может вызвать такого же типа проблемы, как и разброс в величинах независимых переменных. Ньютоновский шаг не зависит от масштабирования (см. упр. 4). Однако стратегия глобализации для нелинейных уравнений требует уменьшения ИЛЬ, и ясно, что если единицы измерения двух компонент функции F(x) существенно различны, то меньшая компонента функции будет в действительности игнорироваться. По этой причине наши алгоритмы используют положительную диагональную матрицу масштабирования DF зависимой переменной F(x), действие которой такое же, как действие Dx на х. Диагональная матрица DF выбирается так, чтобы все компоненты в DFF(x) имели приблизительно одинаковые характерные величины в точках, не слишком близких к корню. Затем DF используется для масштабирования F во всех модулях, связанных с решением нелинейных уравнений. Аффинная модель принимает вид DFMCy а квадратичная модель функции в шаге глобализации становится равной tfic = ^\\DPMc\\l. В таком духе реализован весь наш интерфейс и алгоритмы. В са-
7.2. Критерии останова 195 мом начале от пользователя требуется, чтобы он задал DF. Это осуществляется вводом значений typ/;, i= 1, ..., п, задающих характерные величины каждого fi в точках, не слишком близких к корню. Затем алгоритм полагает (DF)u = typ /Г1- [В действительности хранится SfgR", где (Sp)i=(DF)u-] Дальнейшие указания по выбору typfi приведены в руководстве 5 приложения. 7.2. КРИТЕРИИ ОСТАНОВА В этом разделе обсуждается, каким образом завершать работу алгоритмов. Критерии останова представляют собой те же самые условия, которые рассматривались в разд. 2.5 для одномерных задач и которые вытекают из здравого смысла, а именно: «Решена ли задача?», «Имеется ли основание для остановки?» или «Не иссякли ли наши деньги, время и терпение?». Заслуживают внимания следующие вопросы: как реализовать эти проверки в конечной арифметике и как уделить надлежащее внимание масштабам зависимых и независимых переменных? Обсудим сначала критерии останова для безусловной минимизации. Наиболее важной является проверка «Решена ли задача?». В случае неограниченной точности необходимым условием достижения в х точного минимума f является S7f(x) = 0, но в итеративных алгоритмах, использующих машинную арифметику, нужно заменить это условие на V/(x)^0. ХотяУ{(х)=0 может встретиться в максимуме или седловой точке, стратегия глобализации и стратегия внесения возмущений в гессиан модели делают фактически невозможной сходимость к точкам максимума или к седловым точкам. Поэтому в нашем случае равенство Vf(*) = 0 рассматривается как необходимое и достаточное условие достижения в х локального минимума функции f. Для проверки, выполняется ли приближенное равенство V/ ^ 0, соотношение 0Vf(*+)IKe (7.2.1) непригодно, потому что оно в большой мере зависит от масштабов как /, так и х. Например, если г = Ю-3 и / всегда заключено в пределах [10~7, 10-5], то вероятно, любое значе* ние х будет удовлетворять (7.2.1); если же /е[105, 107], то условие (7.2.1) может оказаться слишком строгим. Кроме того, если х неудачно масштабировано, например JCie[106, 107] и Х2^[10г19 1], то (7.2.1), видимо, будет учитывать переменные неодинаковым образом. Обычно используют неравенство IV/ (*+)Г V2/ (ж+Г' V/ (х+) | < в, (7.2.2)
196 Гл. 7. Критерии останова инвариантное относительно любого линейного преобразования независимых переменных и поэтому не зависящее от масштабирования х. Однако оно все же зависит от масштабирования f. Более непосредственная модификация (7.2.1) состоит в определении относительного градиента функции f в х по формуле . « , ч Относительная скорость изменения /- ^ ^ 'I Относительная скорость изменения xi Г(х + Ьй)-Г(х) = lim tf =Wf£± (7.2.3) xi и в проверке неравенства || relgrad (х+) t < gradtol. (7.2.4) Проверка (7.2.4) не зависит от какого-либо изменения единиц измерения / и х. Она имеет тот недостаток, что идея относительного изменения xt или / рушится, когда Xi или f(x) оказываются близкими к нулю. Эта проблема легко решается заменой xi и f в (7.2.3) соответственно на max{|x/|, typx,} и max {| / (х) |, typ /}, где typ / является оценкой пользователя характерного значения /. Получающаяся в результате проверка неравенства 4f(x)imaxf\(x+) I, typ а:Л I *' \,7' п—" <gradtol (7.2.5) max{\f(x ) , typ/} p^6 v ' max Ki<n именно та, что используется в наших алгоритмах. Следует отметить, что проблема определения относительного изменения в случае, когда z близко к нулю, обычно сводится к подстановке (|z|+l) или max{|z|, 1} вместо г. Из приведенных выше рассуждений очевидно, что в обеих этих подстановках неявно предполагается, что порядок единиц измерения z близок к 1. Такие подстановки могут также работать удовлетворительно, когда |г| гораздо больше единицы, но они дадут неудовлетворительные результаты, если |г| всегда значительно меньше единицы. Поэтому если имеется значение typ z, то предпочтение следует отдать подстановке тах{|г|, typz}. Другой критерий останова в задачах минимизации прост для объяснения. Проверка достаточности оснований для остановки алгоритма из-за того, что он либо застопорился, либо сошелся, имеет вид || относительное изменение последовательных значений xll*,^ <steptol. (7.2.6)
7.2. Критерии останова 197 Следуя приведенным выше рассуждениям, измеряем относительное изменение xi по формуле Ге1*'-тах{|(дг+)/|,1ур^- <7-2J> Выбор steptol обсуждается в руководстве 2. В общем случае, если р есть желаемое число значащих цифр в **, то steptol следует положить равным 1(Н\ Как принято в большинстве итерационных процедур, мы указываем количество имеющихся в нашем распоряжении времени, денег и терпения, задавая соответствующие ограничения на число итераций. В реальных приложениях эти ограничения часто определяются стоимостью каждой итерации, которая может быть высокой, если вычисление функции является дорогостоящим. В процессе отладки имеет смысл использовать низкое значение ограничения, с тем чтобы программа, имеющая ошибку, не работала слишком долго. В алгоритме минимизации следует также производить проверку на расходимость итераций Xk, которая может иметь место, когда f не ограничена снизу или асимптотически приближается сверху к своей точной нижней грани. Для проверки на расходимость пользователю следует задать максимальную длину шага, и если пять последовательно сделанных шагов оказываются столь велики, то алгоритм останавливается. (См. руководство 2.) Критерии останова для систем нелинейных уравнений аналогичны. Сначала проверяем, является ли х+ приближенным решением задачи, т. е. имеет ли место F(x+)^0. Проверка ||F(x+)||^e также не подходит из-за проблем масштабирования, но поскольку (DF)u = 1/typ ft выбиралось так, чтобы (DF)nFi имело величину порядка 1 в точках, не лежащих вблизи корня, то проверка ||D,FIL<fntol должна быть подходящей. Рекомендации относительно выбора fntol приведены в руководстве 5, причем значения порядка КН типичны. Затем проверяем, используя (7.2.6) и (7.2.7), сошелся ли алгоритм или застопорился в х+. Проверка ограничения на число итераций и проверка на расходимость такие же, как для минимизации, хотя расходимость алгоритма решения F(x) = 0 менее вероятна. Наконец, для нашего алгоритма решения нелинейных уравнений возможно прилипание к найденной точке локального минимума функции f = у ||DPF\\l, в которой F^=0 (см. рис. 6.5.1). Хотя алгоритм и будет в этой ситуации остановлен проверкой
198 Гл. 7. Критерии останова на сходимость (7.2.6), (7.2.7), мы предпочитаем проводить проверку явно, выясняя, близок ли к нулю градиент функции / в х+, и используя с этой целью относительную меру градиента, аналогичную (7.2.5). Если алгоритм достиг локального минимума функции \\DPF\$, где F=^=0, то все, что здесь можно сделать, это заново запустить алгоритм в другом месте. Алгоритмы А7.2.1 и А7.2.3 приложения содержат критерии останова соответственно для безусловной минимизации и для решения нелинейных уравнений. Алгоритмы А7.2.2 и А7.2.4 используются перед начальной итерацией для проверки, является ли начальная точка х0 точкой минимума или корнем. Руководства 2 и 5 содержат рекомендации по выбору всех задаваемых пользователем параметров. В нашем программном обеспечении, реализующем эти алгоритмы [Шнабель, Вайс и Кунц (1982)], имеются значения по умолчанию для всех параметров, участвующих в останове и масштабировании. 7.3. ТЕСТИРОВАНИЕ Если написана вычислительная программа для нелинейных уравнений или минимизации, то, по-видимому, далее она будет тестироваться с целью выяснения, правильно ли она работает и какова она по сравнению с другим программным обеспечением, решающим эту же задачу. Важно обсудить два аспекта такого процесса тестирования: (1) каким образом следует тестировать программное обеспечение и (2) какими критериями следует пользоваться при оценке его работоспособности? Может показаться неожиданным, что отсутствует единство мнений по любому из этих важных вопросов. В данном разделе кратко излагаются некоторые из основных соображений. Первым делом при тестировании убеждаются, что программа работает правильно. Под словом «правильно» здесь понимается главным образом, что программа работает так, как ей следует это делать, в противоположность гораздо более строгому определению понятия «правильность», используемому в программировании. Это, конечно, непростая задача для любой программы таких же размеров, что и программы в этой книге. Мы настоятельно рекомендуем помодульную процедуру тестирования, т. е. тестирование каждого модуля в том виде, как он написан, затем фрагментов, составленных из модулей, и в конце— всей программы целиком. Тестирование всей программы сразу может чрезвычайно затруднить обнаружение ошибок. При помодульном тестировании не всегда очевиден подбор входных данных для тестирования некоторых модулей, таких, как модуль пересчета доверительной области. Советуем начинать с данных, получаемых из простейших задач, скажем, раз-
7.3. Тестирование 199 мерностей один или два с единичными или диагональными якобианами или гессианами, так как в этом случае возможна проверка вычислений вручную. Затем рекомендуется проверять модули на более сложных задачах. Преимущество такого по- модульного тестирования заключается в том, что оно обычно обогащает наше понимание алгоритмов. Если все компоненты работают правильно, то следует протестировать программу на целом ряде нелинейных задач. Это служит двум целям: убедиться, что вся программа целиком работает правильно, и затем проследить за ее работоспособностью на некоторых стандартных задачах. Первые задачи, которые следует попробовать решить, должны быть самыми простыми: линейные системы размерностей два или три для программ по решению систем нелинейных уравнений и положительно определенные квадратичные функции двух или трех переменных для программ минимизации. Далее можно было бы попробовать полиномы или системы уравнений несколько более высокой степени и малой размерности (от двух да пяти). Если программа работает на них правильно, то пора прогнать ее на некоторых стандартных задачах, принятых в данной области в качестве хороших тестов программного обеспечения нелинейных уравнений или минимизации. Многие из них довольно сложны. Часто оказывается полезным запускать эти тестовые задачи не только из хо, но также из точек, отстоящих от нее в 10—100 раз далее и находящихся на луче, выходящем из решения х# пр направлению к стандартной начальной точке хо. Морэ, Гарбов и Хиллстром (1981) сообщают, что это часто выявляет в программах важные различия, которые не обнаруживаются при использовании стандартных начальных точек. Хотя литература по тестовым задачам пока находится в процессе развития, приложение В снабжено некоторыми задачами, общепринятыми на данный момент. Мы даем ядро стандартных задач для нелинейных уравнений и минимизации, достаточных для курсовых проектов и для учебно-исследовательской работы, а также обеспечиваем дополнительно ссылками на задачи, которые могли бы использоваться в серьезной исследовательской работе. Следует заметить, что большинство этих задач хорошо масштабированы. Это свидетельствует о недостатке внимания, уделявшегося проблеме масштабирования. Размерности тестовых задач в приложении В соответствуют размерностям решаемых в настоящее время задач. Набор задач средней размерности (от 10 до 100) представляется все же недостаточным, а стоимость их тестирования — весьма существенная помеха. Трудный вопрос о том, как оценивать и сравнивать программное обеспечение по минимизации и нелинейным уравнениям, является в этой книге побочным. Он осложняется тем,
200 Гл. 7. Критерии останова что в одних случаях интересуются прежде всего измерением эффективности и надежности программы при решении задач, тогда как в других — ее общим качеством как части программного обеспечения. В последнем случае интересуются также взаимодействием между программным обеспечением и его пользователями (документация, простота использования, реакция на ошибки при вводе, надежность, качество выводимой информации), а также между программным обеспечением и окружающей его вычислительной средой (переносимость с одной ЭВМ на другую). Мы прокомментируем только первую группу вопросов; что касается всех этих вопросов в совокупности, см. Фосдик (1979). Под надежностью понимается способность программы успешно решать задачи, на которые она рассчитана. Это определяется прежде всего результатами, полученными на тестовых задачах, и в конечном счете тем, решает ли она задачи пользователей. Для пользователя эффективность имеет непосредственное отношение к вычислительным затратам, вызванным запуском программы на его задачах. В задачах минимизации и решения нелинейных уравнений она иногда измеряется временем счета программы на тестовых задачах. В вычислительных системах коллективного пользования трудно получить точные временные данные, однако более очевидное возражение вызывает довольно распространенное мнение, что тестовые задачи похожи на задачи пользователя. Другой популярной мерой эффективности является количество вычислений функции и производной, необходимых программе для решения тестовых задач. Оправданием использования этой меры служит то, что она выявляет стоимость на тех задачах, которые по существу дорогостоящи, а именно на тех, для которых дорогостоящим оказывается вычисление функции и производной. Эта мера особенно подходит для оценки методов секущих (см. гл. 8 и 9), так как они часто используются для таких задач. Количество вычислений функции и градиента, используемое при тестировании и минимизации, иногда объединяется в одну характеристику (Эквивалентное количество вычислений функции) = = (Количество вычислений /) + п(Количество вычислений V/). Эта характеристика указывает количество вычислений функции, которые потребовались бы, если бы градиенты вычислялись с помощью конечных разностей. Поскольку это не всегда имеет место, предпочтительнее приводить итоги для функции и для градиента отдельно. Некоторыми другими возможными характеристиками эффективности выступают количество требуемых итераций, вы-
7.3. Тестирование 201 числительная трудоемкость одной итерации и требуемая машинная память. Необходимое число итераций представляет собой простую характеристику, однако она полезна, если имеется корреляция со временем решения задачи или с необходимым для этого количеством вычислений функции и производной. Вычислительная трудоемкость итерации, если не учитывать вычисления функции и производной, неизменно определяется линейной алгеброй, и для методов секущих обычно пропорциональна nz или п2. После умножения на требуемое число итераций она дает представление о времени счета для задач, в которой вычисление функции и производной очень недороги. Объем машинной памяти обычно не столь принципиален для задач, размеры которых такие же, как в задачах этой книги, однако память и вычислительная трудоемкость итерации становятся решающим по своей важности фактором для больших задач. Используя указанные выше характеристики, можно сравнивать две совершенно различные программы по решению задач минимизации или нелинейных уравнений, но часто интересно сравнение двух или более версий лишь отдельного сегмента алгоритма, например линейного поиска. Возможно, в этом случае стоит протестировать альтернативные сегменты, подставляя их в программу модульного типа, каковыми являются наши программы, так чтобы остальная часть программы оставалась неизменной в течение тестовых проверок. Так организованная проверка уменьшает доверие к результатам, относящимся к программам других видов, а сравнение может оказаться необъективным, если остальная часть программы благоприятствует одной из альтернатив. И наконец, читатель должен понимать, что в этом разделе обсуждались вопросы оценки машинных программ, а не алгоритмов. Отличие состоим в том, что машинная программа может содержать много деталей, которые имеют решающее значение для ее работоспособности, но не являются частью «базового алгоритма». Примерами служат критерии останова, подпрограммы линейной алгебры, а также параметры в алгоритмах линейного поиска или доверительной области. Базовый алгоритм можно оценить, используя уже обсуждавшиеся характеристики, такие, как локальная скорость сходимости, свойства глобальной сходимости, работоспособность на специальных классах функций. Однако если кто-либо тестирует машинную программу, как это обсуждалось выше, то он должен сознавать, что тестируется конкретная программная реализация базового алгоритма, и что две реализации одного и того же базового алгоритма могут работать совершенно по-разному.
202 Гл. 7. Критерии останова 7.4. УПРАЖНЕНИЯ 1. Рассмотрим задачу: найти min (*, - 106)4 + (*i - Ю6)2 + (х2 - 1(Г6)4 + (х2 - 1(Г6)2- xgR2 С какими проблемами вы могли бы столкнуться, применяя оптимизационный алгоритм без масштабирования этой задачи? (Рассмотрите направления наискорейшего спуска, доверительные области, критерии останова.) Какие значения вы бы дали typ Xi и typ х2 в ваших алгоритмах, чтобы смягчить остроту этой проблемы? Какое преобразование могло бы оказаться даже более полезным? 2. Пусть /: Rn->-R, и матрица reR"X« не вырождена. Для любого jce R" определим х = Txt f(x) = {(Т-*£) = f(x). Воспользовавшись цепным правилом дифференцирования из анализа многих переменных, покажите, что Vf (*) _ Т'т Щ (*), V2f (х) = Т~т V2/ (х) Г-1. 3. Пусть feR, ge Rn, Яе RnX/l, где матрица Н симметрична и положительно определена. Пусть Dg^X" есть положительно определенная диагональная матрица. Используя лемму 6.4.1, покажите, что решение задачи: найти min f + gTs + — sTHs SeRn 2 при условии ||Ds||2<d дается формулой s(|i)--(tf + |iZ)*r1* для некоторого ц ^0. [Указание: сделайте преобразование £ = Ds, воспользуйтесь леммой 6.4.1 и выполните обратное преобразование.] 4. Пусть F: Rrt->Rrt и, матрицы^ Ти T2e=RnXn не вырождены. Для любого х g= Rn определим х = Т{х, F (х) = T2F (T^~lx) = T2F (х). Покажите, что матрица Якоби для F относительно х имеет вид Что представляет собой ньютоновский шаг в пространстве переменных i? Если перевести этот шаг обратным преобразованием в исходное пространство переменных, то как сравнить его с обычным ньютоновским шагом в исходном пространстве переменных? 5. Что представляют собой некоторые из ситуаций, в которых стратегия масштабирования, описанная в разд. 7.1, не давала бы удовлетворительных результатов? Предложите стратегию динамического масштабирования, которая была бы в этих ситуациях успешной. Теперь опишите ситуацию, в которой ваша динамическая стратегия не приводила бы к успеху. 6. Предположим, ваша проверка на необходимость останова для задач минимизации обнаружила, что Vf(xk) « 0. Как можно было бы проверить, является ли хк седловой точкой (или точкой максимума)? Если xk оказалась седловой точкой, то как, на ваш взгляд, можно было бы продолжить работу минимизационного алгоритма? 7. Напишите программу для безусловной минимизации или для решения систем нелинейных уравнений, используя алгоритмы из приложения А (и используя точные производные). Выберите для вашей программной реализации одну из описанных в разд. 6.3 и 6.4 стратегий глобализации. Отладьте и протестируйте вашу программу в соответствии с рекомендациями разд. 7.3.
...И еще одно программное замечание В предыдущих главах были разработаны все компоненты системы полных квазиньютоновских алгоритмов для решения систем нелинейных уравнений и задач безусловной минимизации. Однако следует обратить внимание на один тонкий момент: предполагалось, что мы вычисляли требуемую матрицу производных, т.е. якобиан для нелинейных уравнений или гессиан для безусловной минимизации, либо аппроксимировали ее с высокой точностью, используя конечные разности. Это предположение обременительно по той причине, что для многих задач аналитические производные недоступны, а вычисление функции обходится довольно дорого. Так, стоимость конечно-разностных аппроксимаций производных, составляющая п дополнительных вычислений F(x) на каждой итерации для якобиана и (п2 + Зя) /2 дополнительных вычислений f(x) для гессиана, высока. Поэтому в следующих двух главах рассматривается класс квазиньютоновских методов, которые используют более дешевые способы аппроксимации якобиана или гессиана. Мы называем их аппроксимациями по секущим1), так как в случае одной переменной они сводятся к аппроксимации f'(x) по секущей, а использующие их квазиньютоновские методы мы называем методами секущих. Отметим, что новым будет только методика аппроксимации производной, остальная же часть квазиньютоновского алгоритма останется фактически неизменной. Разработка методов секущих стала областью активных исследований с середины 60-х годов. В результате появился класс методов, успешно работающих на практике и чрезвычайно интересных с теоретической точки зрения. Мы постараемся осветить оба этих аспекта. Как это часто бывает со многими новыми областями, развитие шло хаотично и было порой весьма путаным. Поэтому наше изложение будет существенно отличаться от того пути, на котором были первоначально получены рассматриваемые методы. Кроме того, будут представлены некоторые новые имена. Мы стремились по возможности избежать путаницы, с которой новичок традиционно сталкивается, пытаясь понять методы и взаимосвязь между ними. Сошлемся на две работы Дэнниса и Морэ (1977) и Дэнниса (1978), п которых содержится исчерпывающая информация на эту тему. Другую точку зрения можно найти в книге Флетчера (1980). В основе наших соглашений относительно даваемых методам названий лежат предложения Дэнниса и Тапиа (1976). 1) В оригинале — secant approximation. — Прим. перев.
8 Методы секущих для решения систем нелинейных уравнений Обсуждение методов секущих начнем с нелинейных уравнений, поскольку аппроксимации по секущим для якобиана проще, чем аппроксимации по секущим для гессиана, речь о которых пойдет в гл. 9. Вспомним, что в гл. 2 мы уже видели, как можно было бы аппроксимировать /'(*+) по формуле а+= = (/(*+) — f(xc))/(x+ — хс) без дополнительных затрат на вычисления функции, и что плата за это сводится к уменьшению скорости локальной ^-сходимости с 2 до (1 + ^/Ъ)/2. В многомерном случае идея аналогична: аппроксимируется /(*+) с использованием только значений функции, которые уже вычислены. Известны многомерные обобщения метода секущих, которые, по сути, хотя и требуют дополнительной (по сравнению с методом Ньютона) памяти под производную, но имеют /--порядок сходимости, равный наибольшему корню1) уравнения rn+l — гп — 1 = 0. Однако ни одно из этих обобщений, по-видимому, не является в общем случае достаточно работоспособным. Вместо них в данной главе будет описана основная идея класса таких аппроксимаций, которые не требуют дополнительных вычислений функции или памяти и которые очень успешны на практике. Наиболее подробно будет рассмотрена одна из аппроксимаций. Она имеет ^-сверхликейную скорость локальной сходимости с г-порядком, равным 21/2л. В разд. 8.1 мы знакомим читателя с наиболее часто употребляемой аппроксимацией по секущим, предложенной С. Бройденом. Методом Бройдена называется алгоритм, аналогичный методу Ньютона, но использующий эту аппроксимацию вместо аналитически заданного якобиана. В разд. 8.2 проводится анализ локальной сходимости метода Бройдена, а в разд. 8.3 обсуждаются вопросы реализации квазиньютоновского метода в его завершенном виде, использующего упомя- *) Принадлежит интервалу (1, 2). — Прим. перев.
8.1. Метод Бройдена 205 нутую аппроксимацию якобиана. Глава заканчивается кратким обсуждением в разд. 8.4 других аппроксимаций якобиана по секущим. 8.1. МЕТОД БРОЙДЕНА В этом разделе приводится наиболее удачное обобщение метода секущих на случай решения систем нелинейных уравнений. Напомним, что в одномерном случае рассматривалась модель М+ (х) = f (*+) + а+ (х - х+), которая удовлетворяет равенству M+(x+) = f(x+) для любых а+ е R и приводит к методу Ньютона при а+ = /'(х+). Если f(*+) было недоступно, то вместо этого требовалось, чтобы модель удовлетворяла равенству М+{хс) = f(xc), т. е. / (хс) = f (х+) + а+ (хс — х+), что давало аппроксимацию по секущей f(*+)-f(*«) а+~ х+-хс ' Следующей итерацией метода секущих было х++, для которого М+(л;++) = 0, т. е. х++ =х+ — f(x+)/a+. В многомерном случае аналогичной аффинной моделью служит М+(х) = Р(х+) + А+(х-х+). (8.1.1) Она удовлетворяет равенству М+(х+) = F(x+) для любых Л+е е Кпхл. В методе Ньютона A+ = J(x+). Если J(x+) недоступно, то требованием, которое в одномерном случае приводило бы к методу секущих, является M+(xc) = F(xc), т. е. F(xe) = F(x+) + A+(xe-x+) или A+(x+-xc) = F(x+)-F(xc). [(8.1.2) Мы будем называть (8.1.2) соотношением секущих. Кроме того, будем пользоваться обозначением sc = x+ — хс для текущего шага и yc = F(x+) — F(xc) для результата текущего шага. Таким образом, соотношение секущих можно записать как A+sc = yc. (8.1.3) Основная трудность при обобщении метода секущих на n-мерный случай связана с тем, что (8.1.3) не полностью определяет А+ при п>\. Действительно, если sc Ф 0, то существует п(п—1)-мерное аффинное подпространство матриц,
206 Гл. 8. Методы секущих для решения систем удовлетворяющих (8.1.3). Построение удачной аппроксимации по секущим состоит в нахождении подходящего способа выбора среди этих возможностей. Было бы логично, чтобы этот выбор расширял набор свойств аппроксимации якобиана Л+ или облегчал бы его использование в квазиньютоновском алгоритме. Видимо, наиболее очевидная стратегия состоит в требовании, чтобы модель (8.1.1) интерполировала F(x) также в некоторых других предыдущих точках, т. е. F(x-i) = F(x+) + A+(x-i-x+). Это приводит к равенствам A+s-i = у-ь / = 1, ..., m, (8.1.4) где s-i Д x-i — х+, У-iAF (x-i) - F (*+)• Если m = n — 1 и sc, s-i, ..., s_(n-i) линейно независимы, то n уравнений1) (8.1.3) и (8.1.4) однозначно определяют Л+. К сожалению, это — та самая стратегия, о которой упоминалось в предисловии к данной главе и которая имеет г-порядок, равный наибольшему корню уравнения rn+l — rn—1=0, но на практике она не приводит к успеху. Одна из трудностей состоит в том, что направления sc,s-i, ..., s-(n-n стремятся к линейно зависимым или близки к этому. Это делает вычисление А+ плохо обусловленной вычислительной задачей. Более того, такая стратегия требует дополнительно п2 ячеек памяти. Подход, приводящий к удачной аппроксимации, состоит совсем в другом. Мы видим, что кроме соотношения секущих у нас нет никакой новой информации ни о матрице Якоби, ни о модели, так что желательно сохранить как можно больше из того, что уже имеется. Поэтому будем выбирать Л+, стремясь минимизировать изменение в аффинной модели при условии выполнения равенства A+sc = yc- Разность между новой и старой аффинными моделями для любого x^Rn равна М+ (х) - Mc(x) = F(x+) + А+ (х - *+) - F(xc) -Мх- **) = = /4*+) -F(xc) - Л+ (*+ - хс) + (А+ - Ас)(х - хс) = = (Л+ — Ас)(х — хс), где в последнем равенстве использовано соотношение секущих (8.1.2). Теперь для любого xgR" представим X — Хе = dSc + t, где tTs = 0. Тогда выражение, которое необходимо минимизировать, примет вид M+(x)-Mc{x) = a(A+-Ae)8e + (A+-Ae)t. *) Эти п уравнений образуют п2 скалярных уравнений относительно п2 скалярных неизвестных, элементов матрицы А+. — Прим. пере в.
8.1. Метод Бройдена 207 У нас нет никакой возможности влиять на величину первого члена в правой части, так как из соотношения секущих следует (Л+ — Ac)sc = yc — AcSc. Однако можно обратить в нуль второй член для всех хе Rny выбрав А+ так, чтобы (А+ — Ac)t=0 для всех t, ортогональных к sc. Это требует, чтобы Л+— Ас было матрицей ранга один вида #sj, и е Rrt. Теперь, для того чтобы удовлетворить соотношению секущих, которое эквивалентно (Л+ — Ac)sc = ус — AcScy и должно равняться (ус — — Acsc)/slsc. Это дает формулу A+=Ac+(yc~?cSc)sTc , (8.1.5) которая отвечает минимальной поправке в аффинной модели и удовлетворяет равенству A+sc = ус. Формула (8.1.5) была предложена в 1965 г. С. Бройденом, и мы будем называть ее формулой пересчета Бройдена, или, проще, формулой секущих. Слово пересчет указывает на то, что мы не аппроксимируем полностью /(*+), а скорее пересчитываем аппроксимацию Ас матрицы J(xc) в аппроксимацию А+ матрицы J(x+). Это свойство пересчета присуще всем удачным способам аппроксимации по секущим. Приведенный вывод формулы соответствует тому способу, с помощью которого ее вывел Бройден, но его можно сделать гораздо более строгим. В лемме 8.1.1 будет показано, что формула пересчета Бройдена отвечает минимальной поправке матрицы АСу удовлетворяющей равенству A+sc = уСу где эта поправка Л+— Ас измеряется в норме Фробениуса. После доказательства мы прокомментируем выбор нормы. Далее будет полезно еще одно обозначение: Q(y, s) = {BeR«x«: Bs = y). Оно означает, что Q(yys) есть множество матриц, которые действуют как частное от деления у на s. Лемма 8.1.1. Пусть А е Rnxnt s,y^Rn, s=£Q. Пусть матричные нормы ||-|| и ||| • ||| таковы, что 11Я-С1КЦЯЦ- ||С|| (8.1.6) для любых В, CeRnX", и г VV т V V = 1 (8.1.7)
206 Гл. 8. Методы секущих для решения систем для любого ненулевого v е Rrt. Тогда, каковы бы ни были эти нормы, решением задачи min ||5- А || (8.1.8) является B<=Q(y.s) sls (8.1.9) В частности, (8.1.9) будет решением задачи (8.1.8), когда ||-|| есть матричная /2-норма, причем (8.1.9)—единственное решение задачи (8.1.8), если ||-|1 есть норма Фробениуса. Доказательство. Пусть BgQ(j/,s), тогда 1М+-Л|| = (y-As)sT т <\\В-А\\ SS* т (В - A) ssT <ЦЯ-Л||. Если в качестве ||- || и ||| • ||| взять /2-норму матриц, то (8.1.6) и (8.1.7) следуют соответственно из (3.1.10) и (3.1.17). Если II * II и III • III обозначает соответственно норму Фробениуса и /2-норму матриц, то (8.1.6) и (8.1.7) вытекает из (3.1.15) и (3.1.17). Для того чтобы читатель убедился в единственности решения (8.1.9) задачи (8.1.8) в норме Фробениуса, напомним, что эта норма строго выпукла, так как она является векторной /г-нормой матрицы, представленной в виде л2-мерного вектора. Поскольку множество Q{y,s), как аффинное подмножество множества Rn х п (или R"2), является выпуклым, то решение задачи (8.1.8) единственно в любой строго выпуклой норме. □ Использование нормы Фробениуса в лемме 8.1.1 разумно, потому что она способна отражать изменение в любой компоненте аппроксимации якобиана. Такая операторная норма, как /2-норма, меньше подходит для этих целей. В самом деле, интересное упражнение — показать, что (8.1.8) может иметь в операторной /2-норме целое множество решений, причем некоторые из них явно менее желательны, нежели пересчет по Брой- дену (см. упр. 2). Это к тому же указывает на непригодность использования операторной нормы в (8.1.8). Теперь, когда мы дополнили нашу аффинную модель (8.1.1) выбором Л+, очевидный способ использования этого состоит в выборе корня такой модели в качестве следующей итераций. Это просто иной способ сказать, что в методе Ньютона J(x+) заменяется на А+. Получающийся в результате алгоритм имеет вид
8.1. Метод Бройдена 209 Алгоритм 8.1.2. Метод Бройдена. Заданы: F: Rn -> Rn, х0 g= R", А0 ERrt^. for Л = 0, 1, ... do: Решить Aksk = — F (xk) относительно sk; xk+\ = xk + sk; yk = F(Xk+i)-F(xk); Ak+l = Ak+{y^TAkSk)sl. (8.1.10) Будем называть данный метод методом секущих. В этом месте у читателя могут зародиться серьезные сомнения — а работает ли он? На самом деле локально он работает довольно хорошо, что будет продемонстрировано ниже при рассмотрении его поведения на той же задаче, что решалась методом Ньютона в разд. 5.1. Конечно, для сходимости из некоторых начальных точек он, как и метод Ньютона, может нуждаться в использовании способов, описанных в гл. 6. В алгоритме 8.1.1 имеется одна неопределенность: как выбирать начальную аппроксимацию А0 матрицы /(*0)? На практике для обеспечения хорошего начала итерационного процесса здесь единственный раз используются конечные разности. Это также делает более привлекательным свойство минимальности поправки, характерное для формулы пересчета Бройдена. В примере 8.1.3 для простоты предполагается, что Л0 = /(*о). Пример 8.1.3. Пусть Г*|+*2 —31 f(*) = K + *22-9J Эта функция имеет корни (0, 3)г и (3, 0)г. Возьмем х0 = (1, 5)г и воспользуемся алгоритмом 8.1.2 с A.-/(*b)-[a il] Тогда fw=[173]. *о=-л"'^(*о)=[:;!;з75]' *i = *o + s0 = [ з!б25]' F (*,)=Ч 4.53125 J' Следовательно, (8.1.10) дает Л, = Ло+1-1.625 -1.375J = L0.375 8.625J'
210 Гл. 8. Методы секущих для решения систем Читатель может убедиться, что Ais0 = y0. Отметим, что /(*!) = [_! 25 725J Таким образом, матрица Ах не очень близка к J(x\). На следующей итерации ,i-iг./ ч Г 0.5491 , Г-0.0761 8^-Аг F(x{)4-0.549} *2 = xi + sl~[ з.076 J' F (x2) ~ [ 0466 J, A2 ~ [ _0f799 8#201 J * Матрица A2 опять не очень близка к /(*2) = [_0152 6.152 J' Полностью последовательности итераций, вырабатываемых методом Бройдена и, для сравнения методом Ньютона, приведены ниже. Для обоих методов (**) i + (xk) 2 = 3 при k^l, поэтому ниже приводятся только значения (х*)2. Метод Бройдена (1, 5)т 3.625 3.0757575757575 3.0127942681679 3.0003138243387 3.0000013325618 3.0000000001394 3.0 *о *i *2 *3 Л4 *5 *6 х7 Метод Ньютона (1, 5)г 3.625 3.0919117647059 3.0026533419372 3.0000023425973 3.0000000000018 3.0 Пример 8.1.3 является типичным для поведения метода Бройдена в локальной окрестности корня. Если какие-либо из компонент функции F(x) линейны, как, скажем, f\(x) в нашем примере, то соответствующие строки аппроксимации якобиана будут иметь точное значение при k ^ 0, а отвечающие им компоненты функции F(xk) будут равны нулю при k ^ 1 (см. упр. 4). Строки в Л*, соответствующие нелинейным компонентам функции F(xk)> могут оказаться не очень близкими к строкам якобиана, однако соотношение секущих все же содержит достаточно хорошую информацию, обеспечивающую быструю сходимость к корню. В разд. 8.2 мы покажем, что скорость сходимости алгоритма ^-сверхлинейна, но не ^-квадратична.
8.2. Анализ локальной сходимости метода Бройдена 211 8.2. АНАЛИЗ ЛОКАЛЬНОЙ СХОДИМОСТИ МЕТОДА БРОЙДЕНА В этом разделе исследуются свойства локальной сходимости метода Бройдена. Будет показано, что если х0 достаточно близко к корню jt», где матрица /(*») не вырождена, и если А0 достаточно близка к /(хо), то последовательность итераций {xk} сходится <7-сверхлинейно к х*. Доказательство представляет собой частный случай более общего способа доказательства, который применяется также и к методам секущих для задач минимизации. Здесь излагается лишь частный случай, так как он проще и легче для понимания, чем общий способ, и, кроме того, он дает представление о том, как работают многомерные методы секущих. В гл. 9 результаты, касающиеся сходимости, будут сформулированы без доказательства. Читателю, заинтересованному в более глубокой проработке материала, рекомендуется обратиться к работе Бройдена, Дэнниса и Морэ (1973) или Дэнниса и Уолкера (1981). Мы разъясняем наш подход, используя фактически тот же простой анализ, который использовался при исследовании метода секущих в разд. 2.6 и метода Ньютона в разд. 5.2. Если F(x*) = Oy то в результате итерации Xk+\ = Xk — AklF(xk) имеем xk+i — x0 = xk — x. — Akl (F(xk) — F(x0)) или A k (xk+i — xm) = Ak (xk — xJ — F (xk) + F (xm). Определение ek^xk — xm, а также прибавление и вычитание J(x*)ek к правой части приведенного выше равенства, дает Akek+i = [-F (xk) + F (*.) + / (*J ek] + (Ak-I CO) ek. (8.2.1) При наших традиционных предположениях || - F (xk) + F (xj + J (x.) ek\\ = 0 (|| ek ||2), поэтому ключом к анализу локальной сходимости метода Бройдена будет анализ второго слагаемого (Ak — /(.*•))£*. Сначала мы докажем локальную <7"линейную сходимость {ен} к нулю, показав, что последовательность {||Л* — /(**)||} остается ограниченной сверху некоторой подходящей постоянной. Соотношение Нт || Л*-/(*.) || = О
212 Гл. 8. Методы секущих для решения систем может и не выполняться, тем не менее мы докажем локальную <7-сверхлинейную сходимость, показав, что lim - 1И1-/(*»>КУ_0> Отсюда следует, что шаг метода секущих — Л* lF (xk) стремится к ньютоновскому шагу —J(xk)~lF(xk) по величине и по направлению. Это есть именно то, что требуется от аппроксимации якобиана. Начнем с вопроса о том, насколько хорошей ожидается задаваемая формулой пересчета Бройдена аппроксимация Л+ матрицы /(*♦). Если F(x) есть аффинная функция с якобианом /, то / будет всегда удовлетворять соотношению секущих, т. е. J^Q(yCt sc) (см. упр. 5). Поскольку А+ является ближайшим элементом в Q(yc,sc) к Ас в норме Фробениуса, то по теореме Пифагора имеем \\А+ -/|£ + || А+-Ас |£ = || Ac-Jft, т. е. IIА+ — J\\f^ НАс — /Hf (рис. 8.2.1). Следовательно, в аффинном случае формула пересчета Бройдена не может ухудшить норму Фробениуса погрешности аппроксимации якобиана. К сожалению, это необязательно имеет место для нелинейных функций. Например, могло бы случиться, что Ас = /(**), но АС8СФ фус, и тогда ||А+ — /(х#),|| > \\АС — /(х«)||. В свете такого примера трудно себе представить, какой полезный результат здесь можно получить относительно того, насколько хорошо Ak аппроксимирует /(*»). Все, что можно здесь сделать, это показать в лемме 8.2.1, что если аппроксимация становится хуже, то она ухудшается довольно медленно, в той достаточной для нас степени, чтобы доказать сходимость {**} к jc#. Лемма 8.2.1. Пусть D^Rn есть открытое выпуклое множество, содержащее хс пх+, причем хс Ф хт. Пусть F: Р*->1?л, 7(*)eLipY(D), Ac^RnXn9 и А+ определено согласно (8.1.5). 9^с *-* Q(yc.s) А+ 'c,Sc) Рис. 8.2.1. Метод Бройдена в аффинном случае.
8.2. Анализ локальной сходимости метода Бройдена 213 Тогда как в норме Фробениуса, так и в /2-норме матриц, имеет место IIЛ+ - / (*+) II < II Ас - / (*,) || + -Й. || х+ _ Хс ц2. (8.2.2) Кроме того, если x*^D и J(x) удовлетворяет ослабленному условию Липшица: Ц/ДО —/(xJIKyII* —*JI Аля всех *sfl, то М+ - / (х.) || < || Лс - / (*.) || +1 (|| *+ - х. ||2 + II *« - *, ||2). (8.2.3) Доказательство. Докажем неравенство (8.2.3), которым в дальнейшем мы и воспользуемся. Аналогично доказывается (8.2.2). Пусть /.Д/(*.)• Вычитая /„ из обеих частей (8.1.5), имеем "С scsc (Jjc - Acsc) 4 , (»«-*.*«)*: = ^c-/.+ v,c г cc/ c + Г г Г 5csc 5с5с = М. - /.) [/ - *$-1 + (''-КМ. (8.2.4) Теперь для нормы Фробениуса и /г-нормы матриц на основании (3.1.15), (3.1.10) и (3.1.17) получаем 1/U_y.1<^_/.l|/-^[+ibj^b. Использование равенства 1'-£1- [так как / — (scsl/sTcsc) представляет собой матрицу проектирования в евклидовой норме] и неравенства IIУс - /A k<i (И*+ - *.»2 + II*• - *.||2) ||5С|Ь, вытекающего из леммы 4.1.15, завершает доказательство. □ Неравенства (8.2.2) и (8.2.3) служат примером свойства, названного ограниченным ухудшением. Это означает, что если аппроксимация якобиана ухудшается, то весьма умеренно. Брой- ден, Дэннис и Морэ (1973) показали, что любой квазиньютоновский алгоритм, в котором способ аппроксимации якобиана
214 Гл. 8. Методы секущих для решения систем удовлетворяет этому свойству, локально q-линейно сходится к корню х», где /(**) не вырождено. В теореме 8.2.2 приводится частный случай их доказательства, соответствующий методу Бройдена. Получив затем более тонкую оценку нормы выражения L s'csc J в (8.2.4), покажем, что метод Бройдена является локально <7-сверхлинейно сходящимся. В оставшейся части раздела предполагается, что Хк+\¥=Хк, k = 0, 1, ... . Поскольку, как показано ниже, наши предположения гарантируют невырожденность Ak, k = 0t 1, ..., и поскольку Xk+\ — xk = — AklF(Xk)9 то предположение о том, что Хк+хФхц, эквивалентно предположению о том, что F(xk)ib0y k = 0y 1, ... . Следовательно, из рассмотрения исключается простой случай, когда алгоритм находит корень точно, т. е. за конечное число шагов. Теорема 8.2.2. Пусть выполнены все предположения теоремы 5.2.1. Существуют положительные постоянные е и б, такие, что если ||*о — х^\\2 ^ е и ||Л0 — /(**)||2^6, то последовательность {xk}> генерируемая алгоритмом 8.1.2, корректно определена и сходится ^-сверхлинейно к х*. Если предположить лишь, что {Ak} удовлетворяет (8.2.3), то {xk} сходится к х* по меньшей мере ^-линейно. Доказательство. Пусть || • || обозначает векторную и матричную /2-нормы, ek,&xk — х0У J.AJ(x,)9 Р^Ц/СО"1!- Выберем в и б так, чтобы брб<1, (8.2.5) Зуе < 26. (8.2.6) Доказательство локальной ^-линейной сходимости будет состоять в доказательстве по индукции неравенств М*-/.И<(2-2-*)д, (8.2.7) Ika+.IK1^- (8.2.8) для k — 0, 1, ... . Если говорить вкратце, то первое неравенство доказывается для каждого номера итерации с использованием свойства ограниченного ухудшения (8.2.3), которое дает II Ak - /. II < II Ak-i - /. II +1 (II ek |l +1|e*_, ||). (8.2.9)
8.2. Анализ локальной сходимости метода Бройдена 215 Читатель может убедиться, что если Elk/II /-о равномерно ограничено сверху для любого к, то последовательность {ИЛ* — /J|} будет ограничена сверху. Используя два предположения индукции и (8.2.6), получаем (8.2.7). Затем нетрудно доказать (8.2.8), используя (8.2.1), (8.2.7) и (8.2.5). Для k = 0 неравенство (8.2.7) тривиально выполнено. Доказательство (8.2.8) идентично доказательству шага индукции, поэтому мы его здесь опускаем. Теперь предположим, что (8.2.7) и (8.2.8) справедливы для всех & = 0, ..., i—1. Для k = i, согласно (8.2.9) и двум предположениям индукции, имеем II Л, — /J| ^ (2 — г^'"0) в + -^ || ^_! ||.. (8.2.10) Из (8.2.8) и неравенства ||£011^8 получаем ||ei-il|<2-('"I)||e0IK2-(|-I)e. Подстановка этого соотношения в (8.2.10) и использование (8.2.6) дает < (2 - 2Ч'"1} + 2"') б = (2 - 2"') б, что подтверждает справедливость (8.2.7). Для проверки (8.2.8) мы должны сначала показать, что At обратимо, так что итерация корректно определена. Из неравенств H/taJ-HKP, (8.2.7) и (8.2.5) следует, что |/;l(A-/J|<|/;IIMi-/.l<p(2-2-|)e<2pe<-J-. Отсюда по теореме 3.1.4 А не вырождено и д1-1Д< К~'1 < Р _^ /82in Таким образом, х/+1 корректно определено, и, согласно (8.2.1), 1 еш | < \А711| [|| - F (хй) + F (хт) + /А || + \\Ай- /, IIII е% ||]. (8.2.12) По лемме 4.1.12 имеем YII «ill2 II-f^iJ + fw + zaIK^V^. Подстановка этого неравенства, (8.2.7) и (8.2.11) в (8.2.12) дает 11^1||<|р[|-||^|| + (2~2-0б]||^11- (8.2.13)
216 Гл. 8. Методы секущих для решения систем Из неравенств (8.2.8), ||е0||<в и (8.2.6) имеем ——^2 Ye^-g-, что после подстановки в (8.2.13) дает 11*+1В<|-р[у-2"' + 2-2-']в||в|||<Зрв||в1в<- где последнее неравенство вытекает из (8.2.5). Это доказывает (8.2.8) и завершает доказательство ^-линейной сходимости. Мы откладываем на время доказательство ^-сверхлинейной сходимости и# вернемся к нему позже в этом разделе. D Мы доказали ^-линейную сходимость метода Бройдена, показав, что свойство ограниченного ухудшения (8.2.3) обеспечивает то, что величина \\Ak — /(**)|| остается достаточно малой. Заметим, что если все известное нам о последовательности аппроксимаций {Ak} якобиана сводилось к (8.2.3), то мы не могли рассчитывать на большее, чем доказательство ^-линейной сходимости, поскольку, например, аппроксимации Ак=А0ф Ф1(х*); £ = 0, 1, ..., очевидно удовлетворяют (8.2.3), но, согласно упр. 11 из гл. 5, получающийся в результате метод сходится не быстрее, чем ^-линейно. Таким образом, та часть доказательства теоремы 8.2.2, которая относится к ^-линейной сходимости, представляет теоретический интерес отчасти потому, что она показывает нам, насколько плохо мы можем аппроксимировать якобиан и насколько в этом можно преуспеть. Тем не менее ее реальная польза состоит в том, что она гарантирует сходимость {xk} к х», такую, что fl|e*IK°o. Это неравенство будет использовано при доказательстве ^-сверх- линейной сходимости. Как указывалось в начале этого раздела, достаточным для <7-сверхлинейной сходимости метода секущих является условие И. »4>-'W»M =0. (8.2.14) На самом деле мы будем * пользоваться им в несколько измененной форме. В лемме 8.2.3 показано, что если {**} сходится ^-сверхлинейно к х«, то Iim пТПГ *» *->«> ||**|| где Sk = xk+\ — xk и ek = Xk — **. Это наводит на мысль о том, что можно заменить в (8.2.14) еъ, на Sk и в результате по-преж-
8.2. Анализ локальной сходимости метода Бройдена 217 нему иметь достаточное условие ^-сверхлинейной сходимости метода секущих. Это доказано в теореме 8.2.4. С помощью данного условия мы доказываем ^-сверхлинейную сходимость метода Бройдена. Лемма 8.2.3. Пусть xk(=Rnt k = 0, 1, ... . Если {**} сходится <7-сверхлинейно к х% е R", то в любой норме || • || HmIf*±LZf*» 1. Доказательство, Обозначим Sk = xk+\ — xk, ek = xk — x*. Доказательство наглядно представляется следующим рисунком: ек + \ Ясно, что если llm 4^ = 0, *->оо II •*« то limf-4{ = 1. Формальные выкладки дают lim lf*i Wed — 1 = lim 1Ы|-|К1 IIе* II < lim fc-*oo < ll«*+'*ll «Italgfcii^O. *->«> ||**|| Здесь последнее равенство есть определение ^-сверхлинейной сходимости для случая, когда ен Ф 0 при всех k. П Заметим, что лемма 8.2.3 представляет также интерес и для критерия останова в наших алгоритмах. Она показывает, что как только алгоритм достигает по меньшей мере ^-сверхлиней- ной сходимости, то любой критерий останова, использующий s*, по сути, эквивалентен тому же самому критерию, но использующему в*, т. е. ту величину, которая представляет для нас реальный интерес. Теорема 8.2.4 показывает, что соотношение (8.2.14) с заменой ек на sk является необходимым и достаточным условием <7-сверхлинейной сходимости квазиньютоновского метода. Теорема 8.2.4 (Дэннис — Морэ, 1974). Пусть D^Rn есть выпуклое открытое множество, F: Rn-^Rn, /(x)eLipY(D), x#eD, и матрица J(xm) не вырождена. Пусть {Ак} есть последователь-
218 Гл. 8. Методы секущих для решения систем ность невырожденных матриц в Rnxn, и предположим для некоторого xq е Z), что последовательность точек, генерируемая формулой Xk+\ = хн — AkXF (xk), (8.2.15) остается в D и имеет место ** ф хч для любого k9 а также, что \iTnk^00Xfi = xm. Пусть || • |1 есть какая-либо норма. Тогда {**} сходится <7-сверхлинейно к х*, и /7(х*) = 0 в том и только в том случае, когда Иш^'^'-О, (8.2.16) *-*°о \\Sk\\ где sk& xk+\— xk. Доказательство. Обозначим /♦ = /(*♦), ek = Xk — **. Сначала мы предположим, что имеет место (8.2.16), и покажем, что F(x*) = 0 и {xk} сходится (7-сверхлинейно к х*. Из (8.2.15) имеем О = Aksk + F (xk) = (Ak - /,) sk + F (xk) + Jmsk, поэтому - F (xk+i) = (Ah - /J sk + [- F (хш) + F (xk) + J.Sk], (8.2Л7) 11F ftw) II ^ II И» - '.) ** II ■ II - F (*»+■) + F (*k) + ^ 11 ^ I Ml ^ II Ml "*" II Ml ^ < '%^'*" + I (II ek II + II еш ||), (8.2.18) где последнее неравенство вытекает из леммы 4.1.15. Использование в (8.2.18) соотношений lim^^HM^O и (8.2.16) дает lim I'f (**+'> 11 =0. (8.2.19) *-*°о \\Sk\\ Поскольку Нп1Ли>во||5*|| = 0, то это означает, что F(x,)= UmF(xk) = 0. Согласно лемме 4.1.16, существуют <х>0 и £0^0, такие, что IIF (хш) \\ = \\F (хш) - F (xj II > а || еш II (8.2.20) для всех k^k0. Комбинируя (8.2.19) и (8.2.20), получаем o_itaJU^>Ita.!g±J.> *-+оо |И*|| *-*оо \\Sk II <*"«*+! II _,:„ **_ > Hm т—..", ,. .. = lim *->~||«fc|l + lle/H-ill »4»'+f»
8.2. Анализ локальной сходимости метода Бройдена 219 где г* A, \\ek+\ И/И ek\\. Отсюда следует, что lim rk = 0. Это завершает доказательство ^-сверхлинейной сходимости. Настоящее доказательство того, что из ^-еверхлинейной сходимости и равенства F(x+) = 0 следует (8.2.16), почти полностью повторяет в обратном порядке приведенные выше рассуждения. Согласно лемме 4.1.16, существуют р >0 и k0^0, такие, что ll^^+OIKPII^+ill для всех k ^ k0. Таким образом, ^-сверхлинейная сходимость приводит к соотношениям 0= „mi^>lim!!^±!>I_ lim ' li£s±il. Ш. (8.2.21) *->oo \\ek II *->«> H*k\\ *->ooP \\h\\ К II Поскольку Hm^^ ||s* 11/11 e* || = 1, то из леммы 8.2.3 и соотношений (8.2.21) вытекает справедливость (8.2.19). Из (8.2.17) и леммы 4.1.15 окончательно получаем II (4ь - Л) sk || \\F (*fe+1) || || - F (хш) + F (xk) + /^ || II'* II ^ II Ml ^ II Ml ^ 11^ (^feH-i)ll t Y ,.. „ , |h —if*l— 2" что совместно с (8.2.19) и соотношением Hm^^HMI —0 доказывает (8.2.16). п Поскольку J(x) непрерывно по Липшицу, нетрудно показать, что лемма 8.2.4 остается в силе, если (8.2.16) заменить на Пт ll(*»~ffiK''=(). (8.2.22) fe-»°o ||5*|l Это условие имеет интересную интерпретацию. Поскольку Sjfe = — AkXF(Xk)> то (8.2.22) эквивалентно тому, что ,|тН>.)М-*.)|=0 где s£ = —/(л^)-1/7^) есть ньютоновский шаг из хн. Таким образом, необходимым и достаточным условием <7-сверхлинейной сходимости метода секущих является то, что шаги метода секущих стремятся по величине и по направлению к ньютоновским шагам из тех же самых точек. Теперь мы завершим доказательство теоремы 8.2.2. Ему предшествует лемма, которая имеет методическое значение и используется в этом доказательстве.
220 Гл. 8. Методы секущих для решения систем Лемма 8.2.5. Пусть имеются ненулевое ssR" и E^Rnxn9 а также пусть || • || обозначает векторную /2-норму. Тогда K'-£)H**-(W< <«■*> «^-■siMW)'- (8-2-МЬ) Доказательство. Как отмечалось ранее, / — (ssT/sTs) есть матрица проектирования в евклидовой норме. Таковой является и матрица ssT/sTs. Поэтому по теореме Пифагора "*-ИН«('-£)С- Так как ssT I №* то это доказывает справедливость (8.2.23а). Поскольку (а2 _ р2) i/2 ^ а _ р2/2а для любых а > | р | S£ 0, то из (8.2.23а) следует (8.2.23Ь). П Завершение доказательства теоремы 8.2.2 (q-сверхлинейная сходимость). Обозначим Ek = Ak — /», и пусть ||-|| обозначает векторную /2-норму. Согласно теореме 8.2.4, достаточным условием того^ чтобы {xk} сходилось <7-сверхлинейно к **, служит Hm infill =0. (8.2.24) Из (8.2.4) имеем l|Eft+,llf<|^(/-^))+l(yfe"^;)4|p. (8.2.25) В доказательстве леммы 8.2.1 было установлено, что ("-т'"'н I <>«»+«^. s\sk \р 2 Использование в (8.2.25) этого неравенства наряду с неравенством ||е/ж1К1|е*||/2, (8.2.8) и леммой 8.2.5 дает \Ebsk\f , 3Y <£-»'<'l£'»'-ratF + T''^
8.2. Анализ локальной сходимости метода Бройдена 221 ИЛИ \\Eksk\\ IIs* If • < 21| Ek ||, [|j Ek Ц, -1| Еш \\p + -j || ek ||] . (8.2.26) Из доказательства теоремы 8.2.2 имеем ||£*||F^26 для всех £>0 и Elk*||<2e. Поэтому из (8.2.26) следует i^!L < 46 Г|| Ek \\F -1| ЕШ \\р + ^\\ek ||1. (8.2.27) IIs* II L 4 J Суммируя левые и правые части (8.2.27) по 6 = 0, 1, ..., /, получаем Z1i^<46fii£0iiF-iif/+IiiF+^j;iieftii2]< <4б[||£0||, + -^]<4б[д + -^]. (8.2.28) Поскольку (8.2.28) справедливо для любого i ^ 0, то сумма у WEkskt к кн2 конечна. Отсюда вытекает (8.2.24), что завершает доказательство. □ Приведем еще один пример, который иллюстрирует сходимость метода Бройдена на полностью нелинейной задаче. Этот пример используется нами как отправная точка, чтобы выяснить, насколько близким оказывается в решении предельное значение аппроксимации якобиана Ак к самому якобиану /(х*). Пример 8.2.6. Пусть г2 О- v2 . F(x)-(*l + 4~2 ) имеет корень ** = (1, 1)г. Ниже приведены последовательности точек, генерируемых методом Бройдена и методом Ньютона из *о = (1.5, 2)т при A0 = J(x0) для метода Бройдена.
222 Гл. 8. Методы секущих для решения систем Метод Бройдена 1.5 0.8060692 0.7410741 0.8022786 0.9294701 1.004003 1.003084 1.000543 0.99999818 0.9999999885 0.99999999999474 1.0 2.0 1.457948 1.277067 1.159900 1.070406 1.009609 0.9992213 0.9996855 1.00000000389 0.999999999544 0.99999999999998 1.0 -*о *1 *2 *3 *4 *5 *6 *7 *8 х9 *10 *11 Метод 1 1.5 0.8060692 0.8901193 0.9915891 0.9997085 0999999828 0.99999999999992 1.0 Ньютона 20 1.457948 1.145571 1.021054 1.000535 1.000000357 10000000000002 10 Последней из аппроксимаций якобиана, порожденных методом Бройдена, является МО тогда как Г 1.999137 2.021829] ~L 0.9995643 3.011004 J' В приведенном выше примере максимальная относительная погрешность для Л10 при аппроксимации /(дс#) составляет 1.1 %. Это типично для последней из порождаемых методом Бройдена аппроксимаций якобиана. С другой стороны, нетрудно показать, что в примере 8.1.3 последовательность {Ak} не сходится к Их.): Лемма 8.2.7. В примере 8.1.3 Й> = [!.5 7.5 ]• тогда как 'W-[J ё]- Доказательство. В примере 8.1.3 показано, что (Л*)ц = = (Ak) 12 = 1 для всех k ^ 0: Л* 40.375 8.625 J * Fl(xk) = (xk)l + (xk)2-3 = 0 (8.2.29) для всех k ^ 1. Согласно (8.2.29), имеет место (1, l)rs* = 0 для всех k^ 1. С учетом формулы (8.1.10) для метода Бройдена
8.3. Реализация квазиньютоновских алгоритмов 223 это означает, что (Аш — Ак)(1, 1)г = 0 для всех Л> 1. Тогда (А&х + Ш22 = {Ах)2{ + (Л,)22 = 9 (8.2.30) для всех k^l. Кроме того, в этом случае легко показать, что соотношение секущих дает Hm [(Ak)2l - (Л*Ы = - 6. (8.2.31) Из (8.2.30) и (8.2.31) получаем lim {Ak)2l =1.5 и lim (Л*)^ = 7.5. П fc-»oo fc-»oo Выводы леммы 8.2.7 в точности воспроизводятся на ЭВМ; так, в примере 8.1.1 получено ^7^ V 1.5 — 10~6 7.5+KTV' Легко обобщить доказательство леммы 8.2.7 и показать, что lim Акф](хт) почти для любой частично линейной системы уравнений, которая решается с помощью метода Бройдена. Упражнение 11 служит примером полностью нелинейной системы уравнений, для которой {хм} сходится к корню а:#, однако предельное значение Ak существенно отличается от /(**). Резюмируя, заметим, что, когда метод Бройдена сходится <7-сверхлинейно к корню л:*, нельзя предполагать, что последняя из аппроксимаций якобиана Ak будет приблизительно равняться /(#*), хотя часто это именно так. Если мы могли бы сказать, насколько быстро {||£*s*ll/lls*||} приближается к 0, то могли бы сказать больше о порядке сходимости метода Бройдена. Наиболее близким к такому результату является доказательство, данное Гэем (1979). Он доказал, что для любой аффинной F метод Бройдена дает х2п+\ = х#, что эквивалентно ||/?2л$2л11/1|52л|1 =0. Это позволило ему в предположениях теоремы 8.2.2 доказать 2дг-шаговую ^-квадратичную сходимость метода Бройдена для общего случая нелинейных функций. Как следствие из упр. 2.6 это означает, что г-порядок равен 21/2". 8.3. РЕАЛИЗАЦИЯ КВАЗИНЬЮТОНОВСКИХ АЛГОРИТМОВ, ИСПОЛЬЗУЮЩИХ ФОРМУЛУ ПЕРЕСЧЕТА БРОЙДЕНА В этом разделе обсуждаются два вопроса, касающиеся использования в одном из наших квазиньютоновских алгоритмов решения систем нелинейных уравнений вместо якобиана, задан-
224 Гл. 8. Методы секущих для решения систем ного аналитически или конечно-разностно, его аппроксимации по секущим. Имеется в виду следующее: (1) детали, относящиеся к численной аппроксимации, и (2) те изменения, если они вообще требуются, которые нужно внести в остальную часть алгоритма. Первая из проблем использования формул пересчета по секущим для аппроксимации якобиана заключается в том, как получать начальную аппроксимацию А0. Мы уже говорили о том, что нами используется конечно-разностная аппроксимация якобиана /(*<>), которая вычисляется с помощью алгоритма А5.4.1. Разработанная Морэ численная реализация HYBRD в пакете программ MINPACK [Морэ, Гарбов и Хиллстром (1980)] использует модификацию этого алгоритма, которая более эффективна, когда J(x) имеет много ненулевых элементов. Его обсуждение откладывается до гл. 11, Если формулу пересчета Бройдена реализовывать непосредственно так, как она записывается, то в данном случае мало что можно сказать о ее реализации; это просто-напросто t — y — As, а = sTs, Ац — Ац-\——, /=1, ...,л, /=1, ..., п. Однако, напомним, что первое действие, которое выполнит наш алгоритм с матрицей Л+, это определение ее Qfl-разложения, необходимого для вычисления шага •— A+lF{x+). Следовательно, как читатель уже мог догадаться, поскольку формула пересчета Бройдена идеально соответствует алгебраической структуре равенства (3.4.1), то более эффективная стратегия пересчета состоит в применении алгоритма АЗ.4.1 для пересчета разложения QcRc матрицы Ас в разложение Q+/?+ матрицы Л+ за 0(п2) операций. На всех, последующих за первой итерациях это дает экономию порядка О (л3) на стоимости Q^-разложения Ak. Читатель может подтвердить, что целиком вся итерация квазиньютоновского алгоритма, использующего формулу пересчета Бройдена в форме (^-разложения и линейный поиск или стратегию глобализации с поиском вдоль кривой, стоит только О (п2) арифметических операций. Эти две возможные реализации формулы пересчета Бройдена будут называться формулами пересчета соответственно в не- факторизованной и факторизованной формах. Приложение А содержит обе формы, представленные соответственно алгоритмами А8.3.1 и А8.3.2. Факторизованная форма делает алгоритм более эффективным, и ее следует использовать в любой серьезной программной реализации. Нефакторизованную форму проще
8.3. Реализация квазиньютоновских алгоритмов 225 программировать, и ей можно отдать предпочтение при предварительной программной реализации. Обе формы пересчета, представленные в приложении, имеют еще две особенности. Во-первых, читатель может убедиться (см. упр. 12), что диагональное масштабирование независимых переменных, рассмотренное в разд. 7.1, приводит формулу пересчета Бройдена к виду А+ = АС+{У<~А?^У . (8.3.1) SCDXSC Это та формула пересчета, которая фактически реализована. Читатель может также убедиться, что формула пересчета не зависит от диагонального масштабирования зависимых переменных. Во-вторых, при некоторых обстоятельствах мы принимаем решение не менять строку матрицы Ас. Заметим, что если (ус — AcSc)i = 0, то (8.3.1) вызывает автоматически совпадение i-x строк в Ас и А+. Наши действия оправданы, так как формула пересчета Бройдена вносит минимальные1) изменения в /-ю строку Ас, приводящие к равенству {A+)i.sc = (yc)i, и если (ус — Acsc)i = Oy то необходимость в каких-либо изменениях отпадает. Наш алгоритм оставляет также i-ю строку в Ас неизменной, если | (ус — i4c5c)/| оказывается меньше вычислительной погрешности в (ус) и измеряемой с помощью л(1М**)| + + |//(*+) |), где г\ есть уровень относительной величины шума в значениях функции (об этом шла речь в разд. 5.4). Это условие предназначается для того, чтобы в формуле пересчета препятствовать попаданию в Л+ случайного шума вместо полезной информации о производной. Существует еще одна реализация метода Бройдена, которая тоже требует на итерации 0(п2) арифметических операций. Она использует приведенную ниже формулу Шермана — Моррисо- на — Вудбери. Лемма 8.3.1 (Шерман — Моррисон — Вудбери). Пусть «, уе е Rn и предположим, что матрица А е RnXn не вырождена. В этом случае А + uvT не вырождена тогда и только тогда, когда Кроме того, (А + uvT)~l = Л"1 - — A~luvTA-\ *) Это связано с тем, что в норме Фробениуса задача (8.1.8) распадается на п независимых задач, соответствующих строкам матрицы А. — Прим. перев.
Гл. 8. Методы секущих для решения систем Доказательство. Упр. 13. □ Непосредственное применение леммы 8.3.1 показывает, что если известно ;4J"\ то этим можно воспользоваться, представив формулу пересчета Бройдена как tf-A"4(^U№, (8.3.2) scAc Ус что требует 0(п2) операций. Тогда направление метода секущих — A+lF(x+) может быть вычислено умножением матрицы на вектор, что требует дополнительно 0(п2) операций. Поэтому, до того как Гиллом и Мюрреем (1972) было введено понятие последовательности Q/^-разложений, в алгоритмах, использующих формулу пересчета Бройдена, сначала вычислялось значение Ао\ а затем применялась формула (8.3.2). Такая реали* зация обычно прекрасно работает на практике, но у нее есть тот недостаток, что при ней с трудом выявляется плохая обусловленность Aj.. Поскольку факторизованная формула пересчета из Ас в Л+ свободна от этого недостатка и требует по существу такого же количества арифметических операций, что и (8.3.2), в готовой программной продукции отдается предпочтение ей, а не (8.3.2). В данном разделе дается ответ и на другой вопрос: «Какие изменения в случае использования формул пересчета по секущим необходимо произвести в остальной части квазиньютоновского алгоритма решения нелинейных уравнений?». Исходя из способа представления общей квазиньютоновской схемы, нам хотелось бы ответить «никаких», но имеются два исключения. Первое изменение тривиально: если формула пересчета используется в факторизованной форме, то на каждой итерации не производится Q/^-разложение якобиана модели, и на это настроены отдельные детали реализации в том виде, как это обсуждается в приложении А. Второе изменение более существенно: теперь уже не гарантируется, что квазиньютоновское направление sc= — A7lF(xe) будет направлением убывания для f (х) = yllFMIi- Вспомним из разд. 6.5, что Vf(xe) = J(xe)TF(xc), поэтому sWf (хс) = - F (xcf A7TJ (xcf F (хс). Если Ac = J(xc), то эта величина неположительна, что необязательно имеет место в противном случае. Кроме того, не существует способа, по которому можно проверить, является ли sc в. алгоритме секущих направлением убывания для f(x), так как отсутствует возможность вычислить Vf(xc), не используя J(xc). Это означает, что sc может быть направлением вверх для гра-
8.4. Другие формулы секущих 227 фика f(x), и наш шаг глобализации может потерпеть неудачу в попытке найти какую-либо подходящую точку. К счастью, на практике это случается не часто, так как Ас представляет собой аппроксимацию J(xc). Если же это происходит, то имеется простой выход: мы восстанавливаем АСу используя конечно-разностную аппроксимацию для J(xc), и продолжаем счет алгоритмом. Такая мера предосторожности предусмотрена в драйвере для нашего алгоритма решения нелинейных уравнений. Это по существу— то же, что делается в программе Морэ пакета MINPACK. 8.4. ДРУГИЕ ФОРМУЛЫ СЕКУЩИХ ДЛЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ До сих пор в этой главе для аппроксимации якобиана рассматривалась одна формула пересчета по секущим, а именно, формула Бройдена. Мы видели, что среди всех элементов множества Q(yc, sc), которое представляет собой аффинное подпространство матриц, удовлетворяющих соотношению секущих A+sc = yC9 (8.4.1) формула пересчета Бройдена дает ближайший к Ас в норме Фробениуса. В этом разделе упоминаются некоторые другие из предложенных аппроксимаций, принадлежащих Q(yc, sc). Альтернатива, может быть, наиболее известная, была предложена Бройденом в статье, где он предлагал формулу пересчета Бройдена. Изложенная в предыдущем разделе идея построения последовательности А£ вместо Ak привела Бройдена к выбору i-l л-\ УсУс A-i = A-i + ('«-ДГ'у,)*? (8 4 2) Прямое применение леммы 8.1.1 показывает, что (8.4.2) является решением задачи: min iB-'-iC'b- (8.4.3) B<=Q(ye.sc). В не вырождена По лемме 8.3.1 равенство (8.4.2) эквивалентно Л+=Лс+(Ус"УУеЧ. (8.4.4) что представляет собой формулу пересчета, очевидно отличную от формулы Бройдена.
228 Гл. 8. Методы секущих для решения систем Формула пересчета (8.4.2) имеет то привлекательное свойство, что она непосредственно генерирует значения Л+1 без каких-либо проблем нулевого знаменателя. Кроме того, она разделяет с формулой пересчета Бройдена все ее положительные теоретические свойства. То есть можно модифицировать доказательство леммы 8.2.1 и показать, что этот метод аппроксимации J{x)~l обладает с точки зрения аппроксимации J(x*)~l свойством ограниченного ухудшения. Отсюда можно показать, что имеет место теорема 8.2.2 с использованием (8.4.2) вместо формулы пересчета Бройдена. Однако на практике методы, использующие (8.4.2), оказались значительно менее успешными, чем те же методы, использующие формулу пересчета Бройдена. Поэтому (8.4.2) фактически стала известна как «плохая формула пересчета Бройдена». Хотя мы не претендуем на полное понимание отсутствия вычислительного успеха плохой формулы пересчета Бройдена, интересно то, что хорошая формула пересчета Бройдена проистекает из минимизации изменения в аффинной модели при условии выполнения соотношения секущих, тогда как плохая формула пересчета Бройдена связана с минимизацией изменения в решении модельной задачи. Возможно, тот факт, что при формировании модели типа секущих используется информация о функции, а не о ее решении, служит причиной, по которой первый из подходов является более желательным. Во всяком случае, мы встретимся в разд. 9.2 с аналогичной ситуацией, когда формула пересчета для безусловной минимизации, выведенная из хорошей формулы Бройдена, превосходит аналогичный метод, выведенный из плохой формулы Бройдена, хотя оба имеют аналогичные теоретические свойства. Существует для нелинейных уравнений множество других возможных формул пересчета; некоторые из них могут оказаться в будущем перспективными. Например, формула пересчета л —А | (Ук-А*к)°1 (олк\ Ak+l = Ak Н т (8.4.5) vksk корректно определена и удовлетворяет (8.4.1) при любых Vk е Rn, для которых vTksk Ф 0. Хорошая и плохая формулы пересчета Бройдена отвечают выбору vk = sk и vk = ATkyk соответственно. Барнес (1965), Гэй и Шнабель (1978) предложили формулу пересчета вида (8.4.5), где vk является проекцией Sk в евклидовой норме на ортогональное дополнение к Sk-u • • • ..., s*_m, 0 ^ т < л. Это делает возможным для А+ удовлетворить /л+1 соотношениям секущих Ak+\Si = yt, i = k — — m, ..., k, означающим, что аффинная модель интерполирует наряду с F{xk) и F(xh+\) еще и F(xi), i = k — m, ..., k—1.
8.5. Упражнения 229 В программных реализациях, где т < п выбирается так, чтобы Sk-my ..., sk были сильно линейно независимы1), эта формула пересчета несколько превосходит в работе формулу Бройдена, однако опыт здесь все еще ограничен. Поэтому мы все же рекомендуем формулу пересчета Бройдена в качестве аппроксимации по секущим для решения систем нелинейных уравнений. 8.5. УПРАЖНЕНИЯ 1. Пусть st, ^gR", /=1, ..., л, и предположим, что векторы Si, ... ..., sn линейно независимы. Как бы вы вычислили матрицу А е= ВпХп, такую, что Asi = \}и i= 1, ..., п> Почему это является плохим способом построения модели (8.1.1) в том случае, когда направления s\, ..., sn близки к тому, чтобы быть линейно зависимыми? 2. Покажите, что если 4-1 !]• «М- >-[Л1 то решением задачи min ||М-Л||2 является Л+ = Л + I при любом ае= [—1, 1]. Что представляет собой решение в норме Фробениуса? Если F(x) линейно по х2, то какому из решений следует отдать предпочтение? 3. (а) Выполните две итерации метода Бройдена для р{х)-[**+4-*у начиная из х0 = (2, 7)Т и А0 = J (х0). (Ь) Продолжите выполнение п. (а) (на ЭВМ) до тех пор, пока не станет ||*fc+i ~~ *fc||^(macheps)^2. Чему равно последнее значение Ak? Сравните его с / (xj). 4. Предположим, что метод Бройдена применяется к функции F: R*->Rn, у которой fi, ..., fm линейны, m<n. Покажите, что если А0 вычисляется аналитически или с помощью конечных разностей, то (Ak)i = / (xk), , / = 1, ..., m, для всех k ^ 0, а при k ^ 1 ft (xk) = 0, i = 1, ..., m. 5. Предположим, что /GRnXn, Ь е Rn, F (х) = Jx + b. Покажите, что если хс и х+ есть две произвольные несовпадающие точки в Rn, такие, что sc = х+ — хс и ус = F (х+) — F (хс), то / е= Q {ус, sc). 6. Докажите (8.2.2), используя для этого технику доказательства леммы 8.2.1. ) В результате m зависит от k. — Прим, перев.
230 Гл. 8. Методы секущих для решения систем 7. Предположим, что s е R", s ^ О, и / есть единичная п X я-матрица. Покажите, что -тН-- 8. Докажите теорему 8.2.4 с (8.2.22) вместо (8.2.16). 9. Примените при счете на ЭВМ метод Бройдена с целью выяснения его сходимости на функции из примера 8.2.6, используя начальную точку х0 = = (2, 3)г (которая использовалась для этой же функции в примере 5.4.2). Почему мы не воспользовались х0 = (2, 3)г в примере 8.2.6? 10. Обобщите лемму 8.2.7 следующим образом: пусть 1 ^ т < л, где /,GRmX Л, Ьх е= Rm, и функция F2: Rn -> Rn т нелинейна. Предположим, что для решения F (х) = 0 используется метод Бройдена, и он генерирует последовательность аппроксимаций якобиана Ло, Ли Л2, ... . Пусть Л* разделяется на блоки: № Aki<=RmXn, Ak9^Rin-m)Xn. k2~ Покажите, что если А0 вычисляется аналитически или с помощью конечных разностей, то Akl~J{ для всех k^0f и (Ak2 — Л12) l\ = 0 для всех £>1. Какой вывод отсюда можно сделать относительно сходимости последовательности {Ak2\ к истинному значению г2(х )? 11. Численные примеры плохой сходимости {Л*} к /(**) для полностью нелинейных функций. Примените при счете на ЭВМ метод Бройдена для выяснения его сходимости на функции из примера 8.2.6, используя начальную точку х0 = (0.5, 0.5)Т и выводя на печать значения Л*. Сравните последнее значение Ак с /(**). Проделайте то же самое, используя начальную точку *о= (2, гу. 12. Предположим, что мы преобразовали переменные х и F(x) так, что x = Dx-xt F(x) = DF.F(x\ где Dx и DF — положительно определенные диагональные матрицы. Произведите пересчет аппроксимаций по формуле Бройдена в новых пространствах переменных и функции, а затем сделайте обратное преобразование к исходным переменным. Покажите, что этот процесс эквивалентен использованию формулы пересчета (8.3.1) в исходных переменных х и F(x). [Указание: новый якобиан 1(х) связан со старым якобианом J(x) соотношением /(£) = = DFJ{x)D;1.] 13. Докажите лемму 8.3.1. 14. Воспользуйтесь алгоритмами из приложения, запрограммируйте и пропустите на ЭВМ алгоритм решения систем нелинейных уравнений, использующий для аппроксимации якобиана метод Бройдена. Когда ваша программа заработает нормально, постарайтесь подыскать задачу, в которой методом секущих вырабатывается направление «вверх по склону графика функции> [т. е. — P(xk)T AiTJ(xk) F(xk) >0], так что необходимо восстановить Ah переходом к /(**)•
8.5. Упражнения 231 15. Воспользуйтесь леммой 8.1.1 и покажите, что (8.4.2) есть решение задачи (8.4.3). Затем, используя лемму 8.3.1, покажите эквивалентность (8.4.2) и (8.4.4) в случае, когда Ас не вырождена и ylAcsc ф 0. 16. (Трудное упражнение.) Подойдите с более удачным объяснением к тому факту, что «хороший> метод Бройдена (8.1.5) с вычислительной точки зрения имеет больший успех, чем сплохой» метод Бройдена (8.4.4). Упражнения 17 и 18 взяты из работы Гэя и Шнабеля (1978). 17. Пусть Ak^RnX я, sit yi GRn,i = Ji!- 1, k, причем sk_} и $k линейно независимы, и предположим, что A^k-i^* Uk-v (a) Получите условие на vk в (8.4.5), такое, что Ak, %sk_. =у (b) Покажите, что матрица Ak+V заданная в (8.4.5), является при „ -с Sk-\(SlSk-\) sk-\sk-\ решением задачи: найти min \\В — Ak \\р при условии BeQ (yk, sk)f]Q (yk_v sk_{). 18. Обобщите упр. 17 следующим образом: предположите дополнительно, что для некоторого т < п существуют s^, у. е Rrt, i = k — m, ..., k, такие, что sk_m, ..., sk линейно независимы и Aks. = у., * = k — m, ..., k — 1. (a) Получите условие на vk в (8.4.5), такое, что Лл .Sj = */r / = & — — m, ..., &— 1. (b) Найдите такой способ выбора vk, что Ak |t заданная в (8.4.5), являлось бы решением задачи: найти min || В — Ak ||_ BeRftXn при условии BeQ (yv s^), i = k — т, ..., k.
9 Методы секущих для безусловной минимизации В этой главе рассматриваются методы секущих для решения задачи безусловной минимизации. В алгоритмах для этой задачи в качестве производных использовались градиент V/(x) и гессиан V2/(x). В алгоритмах минимизации градиент должен быть известен довольно точно как для вычисления направлений спуска, так и для критериев останова. Из гл. 8 читатель мог понять, что аппроксимация по секущим не обеспечивает этой точности. Поэтому в квазиньютоновских алгоритмах аппроксимация градиента по секущим не используется. С другой стороны, гессиан можно аппроксимировать с привлечением идей метода секущих почти таким же образом, как аппроксимируется якобиан в гл. 8. Это и является темой настоящей главы. Здесь будут представлены наиболее успешно работающие формулы пересчета по секущим для гессиана и сопутствующая им теория. Формулы пересчета не требуют дополнительных вычислений функции или градиента и вновь приводят к локально <7-сверхлинейно сходящимся алгоритмам. Поскольку гессиан есть не что иное, как якобиан системы нелинейных уравнений У/(лс) = 0, его можно было бы аппроксимировать, используя технику гл. 8. Однако при этом не учитывались бы два важных свойства гессиана: он всегда симметричен и часто положительно определен. Включение этих двух свойств в аппроксимацию гессиана по секущим — наиболее важный новый аспект главы. В разд. 9.1 вводится симметричная формула пересчета по секущим, а в разд. 9Г2 — формула, сохраняющая к тому же положительную определенность. Последняя из формул, называемая положительно определенной формулой пересчета по секущим (или BFGS-формулой),—наиболее успешно работающая на практике формула пересчета по секущим для гессиана. В разд. 9.3 представлен еще один вывод положительно определенной формулы пересчета по секущим, который приводит к доказательству ее локальной сходимости. Вопросы программной реализации обсуждаются в разд. 9.4.
9.1. Симметричная формула секущих Пауэлла 233 Глава заканчивается изложением в разд. 9.5 результатов, касающихся глобальной сходимости положительно определенной формулы пересчета по секущим, и кратким обсуждением в разд. 9.6 других аппроксимаций по секущим. 9.1. СИММЕТРИЧНАЯ ФОРМУЛА СЕКУЩИХ ПДУЭЛЛА Предположим, что решается задача: min f: R*->R, был сделан шаг из хс в *+ и мы хотим аппроксимировать V2f(x+) матрицей #+, используя технику метода секущих. Следуя рассуждениям разд. 8.1, выясним сначала, что должно представлять собой соотношение секущих. Если представить гессиан как матрицу первых производных для системы нелинейных уравнений у/(х)=0, то аналогом соотношения секущих (8.1.3) будет ff+sc = yCf (9.1.1а) где sc = х+ — хс, ус = Vf (х+) — V/ (хс). (9.1.1 Ь) Будем называть (9.1.1) соотношением секущих для задачи безусловной минимизации. Заметим, что если #+ удовлетворяет (9.1.1), то квадратичная модель т+ (х) = f (х+) + Vf (х+)Т (х - х+) +1 (х - х+)т Н+ (х - х+) удовлетворяет соотношениям m+(x+) = f(x+), Vm+(x+)=Vf(x+) и Vm+(xc) = S7f(xc). Это еще один способ объяснения соотношения (9.1.1). Мы могли бы теперь воспользоваться формулой секущих из гл. 8 для аппроксимации V2/(*+) по формуле (Д+И'Яс+(Ус"?А)^ (9.1.2) $csc где ffcGRnXn есть аппроксимация V2f(xc). Основная проблема в связи с (9.1.2) состоит в том, что даже если матрица Нс симметрична, то (#+)i не будет таковой, если, конечно, ус — Hcsc не параллелен sc. Мы уже выявили несколько причин, по которым аппроксимации гессиана следует быть симметричной. (См., например, упр. 12 из гл. 4.) Поэтому мы стремимся найти #+, которая бы наряду с (9.1.1) обладала свойством Н+ = Н+. Поскольку в гл. 8 проектирование в норме Фробениуса на Q(ycySc) оказалось удачным способом пересчета Ас, в целях построения симметричной матрицы (#+)2 на основе (#+)i Ра" зумной представляется идея проектирования (#+)i в норме
234 Гл. 9. Методы секущих для безусловной минимизации Фробениуса на подпространство S симметричных матриц. Нетрудным упражнением будет показать, что это достигается посредством следующих действий: т \ 1 (т \ м(и \т\ и ■ (ft-*A)'? + Mft-*A)r (H+h = — {(n+h + (//+){) = пс-\ ^ . с с Теперь (#+)2 симметрична (как и #с), но она в общем случае не удовлетворяет соотношению секущих. Однако можно было бы рассмотреть продолжение этого процесса, генерируя (#+)з, (Н+)А, ... по формулам (H+)2k+l = (H+)2k т 8cSc Здесь каждое (#+)2*+i есть ближайшая в Q(yc,sc) матрица к (Я+)2л, а каждое (#+)2*+2 есть симметричная матрица, ближайшая к (//+)2*+i (рис. 9.1.1). Как было показано Пауэллом (1970b) г эта последовательность матриц сходится к Н+ = НС (Ус - Hcsc) sl + sc (Ус - Hcsc)T (yc-Hcsvsc)scsTc т sisc (sTcScf . (9.1.3) Будем называть формулу пересчета (9.1.3) симметричной формулой секущих1). Она известна как симметричная формула пересчета Пауэлла — Бройдена (PSB). Легким упражнением можно убедиться, что Я+, заданная согласно (9.1.3), удовлетворяет соотношению секущих (9.1.1) и Н+ — Нс есть симметричная матрица ранга два. В действительности Дэннис и Морэ (1977) доказали следующую теорему. 9(У**с) Рис. 9.1.1. Процесс симметризации, предложенный Пауэллом. *) В оригинале. — symmetric secant update. — Прим. пере в.
9.1. Симметричная формула секущих Пауэлла 235 Теорема 9.1.1. Пусть матрица Ясбклхя симметрична, sCf ус е Rrt, sc Ф 0. Тогда единственное решение задачи: найти min, ||# — Нс\$ ЯеРлХп при условии Hsc = yc, (Н — Нс) симметрична, имеет вид (9.1.3). Доказательство теоремы 9.1.1 аналогично доказательству теоремы 8.1.1 и изложено в общих чертах в упр. 4. Теорема 9.1.1 вытекает также из гораздо более общего результата Дэнниса и Шнабеля (1979), приведенного в гл. 11. Он гарантирует, что процесс, изображенный на рис. 9.1.1, будет сходиться к ближайшей для Нс матрице в пересечении двух указанных аффинных подпространств. Свойства локальной сходимости квазиньютоновского метода, использующего (9.1.3), те же самые, что и у метода секущих для систем нелинейных уравнений, поэтому мы ограничимся формулировкой приведенной ниже теоремы. Доказательство является обобщением техники из разд. 8.2; оно излагается в общих чертах в упр. 5 и 6. Заметим, что рассматриваемый алгоритм сходится локально к любому изолированному нулю градиента Vf(x), так как от V2/(jc*) требуется только симметричность и невырожденность, а положительная определенность не обязательна. Теорема 9.1.2 [Бройден, Дэннис и Морэ (1973)]. Пусть /: Rn-^R дважды непрерывно дифференцируема в открытом выпуклом множестве Z)cRn, и пусть V2/eLipY(D). Предположим, что существует **еД такое, что Vf (х*)=0 и V2/' (**) не вырождена. Тогда найдутся такие положительные постоянные б и б, что, если IUo — *»ll2 < е и ||Я0 — V2/(^)||2^6, где матрица Но симметрична, симметричный метод секущих xk+{ = xk-HklVf(xk), (9.1.4а) sk = Xk+\ — Xk, y* = V/(**+i) — Vf(xk)9 (9.1.4b) "JUl = "к -\ f sk*k (yk~Hksk>sk)sksl (9.1.4c)
236 Гл. 9. Методы секущих для безусловной минимизации корректно определен, а последовательность {**} остается в D и сходится <7-сверхлинейно к дс#. В этот момент может показаться, что мы достигли всего, чего хотели от аппроксимации гессиана по секущим. Однако симметричная формула секущих имеет одну важную особенность, которая на практике отрицательно сказывается на его работоспособности. Матрица #+, заданная согласно (9.1.3), может не быть положительно определенной, даже если таковой является Нс и если в Q(yc, sc)f\S найдутся положительно определенные матрицы. Рис. 9.1.2 наглядно поясняет причину. Пусть PD есть множество симметричных и положительно определенных матриц, a QS = Q{yc, sc)f\ S — аффинное подпространство симметричных матриц, которые удовлетворяют соотношению секущих. Тогда мы видим, что ближайшая к Нс матрица в QS может не быть положительно определенной, даже если QS(]PD не пусто. Более того, поскольку PD является открытым выпуклым конусом, то может даже и не существовать ближайшей к Нс матрицы в Q5 П PD- Поскольку ранее уже подчеркивалась важность иметь положительно определенный гессиан модели, хотелось бы, чтобы в рассмотренной выше ситуации Н+ была положительно определена. В разд. 9.2 читатель найдет полезный способ, позволяющий этого добиться. Результатом является формула секущих для аппроксимации гессиана, которая оказывается наиболее успешной на практике. Она тоже вносит в Нс симметричную поправку ранга два. В заключение упомянем тесно связанную с (9.1.3) формулу, к которой мы хотим еще вернуться в разд. 9.3. Дж. Гринстад- Рис. 9.1.2. Объяснение, почему симметричная формула секущих может не давать положительной определенности.
9.2. Симметричные положительно определенные формулы 237 том (1970) была предложена следующая формула пересчета: „-1 „-1 , {sc-H^yc)yTc+yc(sc-H-'yc)T УсУс {Ус>8с-Н7ХУс)УсУТс ,Q , ~ / т \2 • la.i.oj [Ус Ус) Читатель легко догадается, что (9.1.5) есть результат применения процесса симметризации, изображенного на рис. 9.1.1, к плохой формуле пересчета Бройдена (8.4.2) и что Н+ является ближайшей к норме Фробениуса матрицей bQ(sc, yc)f\S к Нс~\ Теорема 9.1.2 справедлива также и для этой формулы пересчета, но (9.1.5), конечно, разделяет с симметричной формулой секущих тот недостаток, что она не обязательно дает положительную определенность #+, даже если Нс положительно определена и QS (] PD не пусто. Тем не менее, как это будет видно в разд. 9.3, (9.1.5) имеет интересную связь с наиболее успешно работающими формулами секущих для аппроксимации гессиана. 9.2. СИММЕТРИЧНЫЕ ПОЛОЖИТЕЛЬНО ОПРЕДЕЛЕННЫЕ ФОРМУЛЫ СЕКУЩИХ В вопросе решения задачи безусловной минимизации с помощью квазиньютоновского алгоритма много усилий было направлено на достижение выигрыша в эффективности, численной устойчивости и глобальной сходимости, обусловленного симметричностью и положительной определенностью гессиана модели. В этом разделе будет показано, как строить симметричные и положительно определенные аппроксимации гессиана по секущим. Мы ищем решение задачи: задано: sC9 j/cgR", sc Ф 0, найти симметричную и положительно определенную #+eRrtXn, такую, что H+sc = yc. (9.2.1) Для обеспечения симметричности и положительной определенности матрицы Н+ воспользуемся аналогом распространенного в математическом программировании приема: если некоторая переменная AgR должна быть неотрицательной, то ее заменяют на /2, где / е R есть новая независимая переменная, на которую теперь не накладывается никаких ограничений. Аналогично, как нетрудно показать, матрица #+ будет симметричной и положительно определенной тогда и только тогда, когда Н+ = /+/+ для некоторой невырожденной /+ е Rnxn. Таким образом, (9.2.1) можно переписать как:
238 Гл. 9. Методы секущих для безусловной минимизации задано: sc, ус е Rn, sc Ф О, найти невырожденную /+eRnXn, такую, что J+JT+sc = yc. (9.2.2) т Для любого решения J+ задачи (9.2.2) матрица #+ = /+/+ будет решением для (9.2.1). Даже для п=\ видно, что не существует решения задачи (9.2.2), если ус ф О не имеет того же знака, что и sc. Поэтому мы в первую очередь должны определить условия, при которых (9.2.2) будет иметь решение. Лемма 9.2.1 дает ответ на этот вопрос, а также предлагает процедуру нахождения /+. Лемма 9.2.1. Пусть Scj/cgR", sc¥=0. Невырожденная матрица /£КлХп, такая, что J+J+sc = yc, существует тогда и только тогда, когда s*cyc>0. (9.2.3) Доказательство. Предположим, что существует невырожденная /+, такая, что J+JT+sc = yc. Обозначим vc = J+sc. Тогда О < vTv =sTJJ7Ls =sTy . Это доказывает ту часть леммы, к которой относится выражение «только тогда-». Часть, относящаяся к «тогда», доказывается с помощью приведенных ниже выкладок, но прежде мы сделаем некоторое отступление, с тем чтобы обсудить условие sTcyc>0. Поскольку ус = V/(x+) — V/(jcc), то условие (9.2.3) эквивалентно условию sTc4f(x+)>sTc4f(xc), (9.2.4) которое просто означает, что производная функции f(x) по направлению sc больше в х+, чем в хс. Это условие будет обязательно выполняться, если алгоритмом обеспечивается выполнение нашего второго условия приемлемости шага из разд. 6.3 sTcVf (*+) > PsJV/ (хс)9 р е= (0, 1), (9.2.5) которое используется для того, чтобы воспрепятствовать появлению исключительно малых шагов. Даже если критерий приемлемости шага не нацелен явно на выполнение (9.2.5), то производимые нашими алгоритмами шаги будут, как правило, удовлетворять (9.2.4), если только мы не окажемся в области со значительной отрицательной кривизной. Вернемся теперь к первой части доказательства леммы 9.2.1. Она указывает, что для любой /+, являющейся решением
9.2. Симметричные положительно определенные формулы 239 (9.2.2), найдется vc е R", такое, что Это подсказывает идею следующей процедуры решения (9.2.2): 1. Выбрать /+£RBXfl, такую, что J+vc = yc. Матрица ./+ будет зависеть от vc и ус- 2. Подобрать vc так, чтобы J^se = ve. Вспомним, в каком месте нашего алгоритма мы находимся, когда хотим найти #+. Шаг sc определен с помощью разложения Холесского LCLTC положительно определенного гессиана модели Нс. Это, по-видимому, будет полностью соответствовать духу гл. 8, если выбирать матрицу /+ настолько близкой к Lc, насколько это возможно. Это означает, что мы удовлетворим приведенному выше шагу 1, выбирая матрицу J+ = Le+(y<-L/°)V<, (9.2.6) которая по лемме 8.1.1 является ближайшей к Lc в Q(yc,vc). Далее шаг 2 требует, чтобы °е = Ъ*. - Ф. + vciffc~L//Se •• (9-2-7) последнее выполняется, только если v=*cVcsc (9.2.8) при некотором ac£R. Подстановка (9.2.8) в (9.2.7) после некоторого упрощения дает уравнение „*_ Я*с _ УТс8с с ~ sTL LTs ~ 8ТН s ' sc^c^csc 8cncse которое имеет действительное решение тогда и только тогда, когда yTesc > О, так как sTcHcsc > 0. Мы выберем положительное значение квадратного корня / uTs V/2 потому что это делает /+ ближе к Lc при ус = Hcsc. В качестве упражнения предлагается показать, что /+, заданная согласно (9.2.6) и (9.2.9), не вырождена и, таким образом, является решением задачи (9.2.2). Это завершает доказательство леммы 9.2.1, поскольку при любой заданной невырожденной Lc, согласно (9.2.6) и (9.2.9), справедливо утверждение части «тогда» леммы 9.2.1. □ Итак, выведена симметричная формула секущих, которая всякий раз, когда это возможно, сохраняет положительную определенность путем пересчета сомножителя Lc разложения
240 Гл. 9. Методы секущих для безусловной минимизации Холесского матрицы Нс в сомножитель /+, такой, что /+/+ = #+. Однако действительно полезной для /+ была бы форма нижней треугольной матрицы L+, так как тогда мы имели бы разложение Холесского для #+. Читатель, по-видимому, уже догадался, как получить L+ из /+ за 0(п2) операций, привлекая для этого технику пересчета (^-разложения, введенную в разд. 3.4 и применявшуюся в разд. 8.3. Если для получения JT+ = Q+LT+ за 0(п2) операций использовать алгоритм АЗ.4.1, то H+=J+J^ = L+Q^Q+LTl = L+LT+9 и нет никакой необходимости накапливать Q+. Аналогично, можно получить 1+£>+/,+-разложение Н+ непосредственно из LsDcLc-разложения Нс за 0(п2) операций путем пересчета LDV-разложения. Можно также представить (9.2.6) и (9.2.9) непосредственно в виде формулы пересчета матрицы Нс в #+. Если построить #+ = /+/+, используя (9.2.6) и (9.2.9), и вспомнить, что#с = = Lcl7Cy то в результате получим Н+ = Нс + ^-Ц^. (9.2.10) ycsc scHc*c Этот вид формулы пересчета [или, что эквивалентно, заданный равенством (9.3.5)] был независимо предложен в 1970 г. Брой- деном, Флетчером, Голдфарбом и Шанно, и формула пересчета стала известна как BFGS-формула. Мы будем называть ее просто как положительно определенна^ формула секущих1). Процедуру прямого пересчета сомножителя Холесского Lc в L+ можно найти в работе Голдфарба (1976). Читатель может убедиться, что (9.2.10), как и симметричная формула секущих из разд. 9.1, удовлетворяет соотношению H+sc = yc, и (#+— Нс) представляет собой симметричную матрицу ранга не более чем два. Является ли вообще пригодной эта положительно определенная формула секущих? Да, она наилучшая среди известных в настоящее время формул пересчета аппроксимаций гессиана. Это иллюстрируется примером 9.2.2, где применяются квазиньютоновские методы, использующие соответственно симметричную формулу секущих и положительно определенную формулу секущих для решения той же задачи, которая решалась в разд. 5.5 методом Ньютона. По аналогии с гл. 8 полагаем #o = V2f(x0). Однако в разд. 9.4 мы увидим, что на практике рекомендуется другая стратегия выбора Н0. Пример 9.2.2. Пусть функция f(xr х2) = (jCj — 2)4 + + (aTj — 2)2х~ + (лс2 + I)2. Она имеет точку минимума х* = = (2,—1)г. В этом случае последовательность точек, выраба- 1) В оригинале — positive definite secant update. — Прим. перев.
9.2. Симметричные положительно определенные формулы 241 тываемых положительно определенным методом секущих, xk+i = xk-HkWf(xk), (9.2.11а) «* = хк+1 — хк, ук = V/ (хк+,) — V/ (хк), (9.2.11Ь) Н^ = Нк + ^-Цф!± (9.2.11с) УкЧ skHksk с начальными значениями х0 = (\,\)т и #o = V2/(jc0) такова (с точностью до восьми значащих цифр на ЭВМ CDC с 14 десятичными разрядами): Я**) *0 = *1 = *2 = Xi- ХА = *s =■ хь = v7 = ■ч = Л"9 = *ю = (1 (1 (1.45 (1.5889290 (1.8254150 (1.9460278 1.9641387 1.9952140 (2.0000653 (1.9999853 (2.0 1 У -0.5 )г -0.3875 У -0.63729087)' -0.97155747)' -1.0705597 )г -1.0450875 )' -1.0017148 У -1.0004294 )г -0.99995203)7 - 1.0 У 6.0 1.5 5.12 х Ю-1 2.29 х 10"' 3.05 х 10"2 8.33 х 10~3 3.44 х 10 "3 2.59 х 10"5 1.89 х 10"7 2.52 х 10~9 0 Последовательность точек, которая вырабатывается симметричным методом секущих (9.2.4), использующим те же самые х0 и #о> такова: •ч = Xl = х2 = *3 = х4 = *5 = *6 = *7 = *8 = *9 = Хю = *11 = xi2 = (1 (1 (1.3272727, (1.5094933, (1.7711111, (1.9585530, (1.9618742, (1.9839076, (1.9938584, (1.9999506, (2.0000343, (2.0000021, (2.0 1 )Г -0.5 )г -0.41818182)г -0.60145121)г -0.88948020)г -1.0632382 )г -1.0398148 )г - 0.99851156)г -0.99730502)7" -0.99940456)г - 0.99991078)г - 0.99999965 )7' -1.0 У 6.0 1.5 6.22 х 10"1 3.04 х Ю-1 5.64 х 10~2 5.94 х Ю-3 316 х 10~3 260 х 10~4 4.48 х 10"5 3.57 х Ю-7 9.13 х Ю-9 1.72 х 10"n 0
242 Гл. 9. Методы секущих для безусловной минимизации Для достижения такой же точности методу Ньютона требуется шесть или семь итераций. Причины, по которым положительно определенная формула секущих оказалась столь успешной, все еще до конца не поняты, хотя в следующем разделе предлагается этому некоторое объяснение. Там мы также обсудим другой вариант пересчета, вытекающий из рассуждений, аналогичных тем, которые используются в настоящем разделе для нахождения H+l =J+TJ+l9 такой, что J+TJ+lyc = sc. Результатом является ,-г ,-г , (sc~L7Twc)wTc J+ = Lc i f . WW / ut„ y/2 (9.2.12) c \ylH7xyJ сУс ?c> где снова Hc = LcLl. Можно показать, что использование формулы Шермана — Моррисона — Вудбери (лемма 8.3.1) и (9.2.12) дает (Ус - нА) УТс + Ус (Ус - Hcscf {ус - Hcsc, sc) усутс yTcsc {Утс*с)2 (9.2.13) Н+ = НС Формулу пересчета (9.2.13) часто называют DFP-формулой по именам ее авторов: Дэвидона (1959), Флетчера и Пауэлла (1963). Она была первой среди всех когда-либо предлагавшихся формул секущих, причем ее первоначальный вывод полностью отличался от приведенного выше. Как легко показать из (9.2.12), DFP-формула тоже обладает тем свойством, что матрица Я+ положительно определена, если положительно определена Яс> и yTcsc > 0. По этой причине мы иногда будем называть данную формулу пересчета обратной положительно определенной формулой секущихх). В начале 70-х годов было проведено множество исследований по сравнению квазиньютоновских методов, использующих две введенные в этом разделе формулы секущих [см., например, Диксон (1972) и Бродли (1977)]. Единодушно признается, по-видимому, то, что положительно определенная формула секущих (BFQS) работает лучше в совокупности с алгоритмами из гл. 6 и что DFP-формула иногда вырабатывает вырожденные с вычислительной точки зрения аппроксимации гессиана. Тем не менее DFP-формула нашла плодотворное применение !) В оригинале — inverse positive definite secant update. — Прим. пере в.
9.3. Локальная сходимость 243 во многих хорошо зарекомендовавших себя программах, и в следующем разделе она также будет играть в анализе важную роль. 9.3. ЛОКАЛЬНАЯ СХОДИМОСТЬ ПОЛОЖИТЕЛЬНО ОПРЕДЕЛЕННЫХ МЕТОДОВ СЕКУЩИХ В этом разделе дается альтернативный вывод положительно определенной формулы секущих и DFP-формулы. Простой способ вывода, приведенный в предыдущем разделе, все же не привел к успеху в анализе сходимости, тогда как способ, рассмотренный в этом разделе, оказался успешным. Мы. увидим, что если применить в задаче минимизации некоторое естественное преобразование пространства переменных, то две симметричные положительно определенные формулы пересчета из разд. 9.2 получаются из двух симметричных формул пересчета, рассмотренных в разд. 9.1, в результате применения последних к преобразованной задаче. Очень тесно с ним связанное преобразование приводит к результатам, касающимся сходимости. В гл. 7 мы увидели, сколь важно иметь дело с хорошо обусловленной задачей минимизации. Задачу минимизации квадратичной функции можно было бы считать идеально масштабированной, если бы ее гессиан был единичной матрицей, так как это приводило бы к сферическим линиям уровня и к тому, что методы Ньютона и наискорейшего спуска были идентичны. Это «идеальное» масштабирование будет ключом к нашим выводам формул. В разд. 7.1 было показано, что если преобразовать пространство переменных по формуле £ = Тх, то в новом пространстве переменных квадратичной моделью в окрестности точки х+ будет m+ (Jt) = f(x+) + [r"rV/ (х)]Т (i -1+) + + y(* - *+? [t-th+t~1] (jt - *+), где #+ есть гессиан модели в исходном пространстве переменных. Это означает, что градиент переходит в T-~TVf(x), а гессиан модели — в Т~ТН+Т-Х. Таким образом, перемасштабирование, приводящее к единичному гессиану модели, построенной в окрестности точки i+, удовлетворяет соотношению Т+тН+Т+1 = 1, т. е. Н+ = ТТ+Т+. Было бы замечательно построить формулу пересчета Нс по секущим в пространстве переменных, преобразованном с по-
244 Гл. 9. Методы секущих для безусловной минимизации мощью этой матрицы Т+> так как для получения новой квадратичной модели использовалось бы идеальное перемасштабирование. Однако Т+ и #+ заранее не известны, так что рассмотрим вместо этого произвольную матрицу масштабирования Г, такую, что _ _ TTT = HeQ(yetse). Теперь рассмотрим в этом пространстве переменных симметричную формулу секущих из разд. 9.1. Она имеет вид Я+ = Яс+ фс (Щ2 • (9ЗД где Sc = л + лс = 1 Д^ц. / #с = 1 SC9 до=r"rv/ (*+) - T"rv/W = f ~тУс, нс = f"THcf"\ н+ = f"TH+f~l. Читатель может убедиться, что если воспользоваться приведенными выше соотношениями, с тем чтобы переписать (9.3.1) заново в исходном пространстве переменных, то в результате получится и __„ , {yc-Hcsc)sTcH + Hsc{yc-Hcsc)T (yc-Hcsc,sc)HscsTcH (9.3.2) Поскольку Hsc = HTsc = ус для любой симметричной Я е ^Q(#o sc), соотношение (9.3.2) не зависит от конкретных Я или Т и принимает вид „ _ г, , (Ус- Нс*с)у1 + Ус(Ус- Hcsc)T {Ус-Нс5с>Зс)УсУТс /Q Q о\ л + — пс-\ т / т \2 » [?•&•&) Ус*с [УсЧ а это и есть DFP-формула! Заметим, что если бы Н+ было заранее известно, то мы смогли бы воспользоваться матрицей Т+, такой, что Т+Т+ = Н+, и результат оказался тем же самым. Другой способ изложения состоит в следующем. Если Нс симметрична и yTcsc > 0, то для любого Г£КлХя, такого, что TTT^Q(yCySc)y (9.3.3) является единственным решением задачи: найти min || Т~т (Я+ - Нс) Т~{ \\Р при условии #+ е Q(ус, sc)ПS. (9.3.4)
9.3. Локальная сходимость 245 Это означает, что DFP-формула представляет собой проекцию Нс на Q(yc,Sc)(]S в рассматриваемой взвешенной норме Фро- бениуса. Если применить то же перемасштабирование, использовать формулу Гринстадта (9.1.5) для пересчета Н7Х в Я+1 и затем произвести обратное преобразование пространства, то в результате получится я-1 = я-1 , (*с - Нс1Ус) 4 + sc (sc ~ Нс1УсУ _ fee __ (sc-H7lyC>yc)scsl (yTcscf (9.3.5) Простые, но утомительные выкладки показывают, что (9.3.5) представляет собой выражение, которое получается после обращения обеих частей равенства (9.2.10), т. е. Я-представления положительно определенной формулы секущих (BFGS). Таким образом, если Нс симметрична и yTcsc > 0, то для любой матрицы ГеКпхп, такой, что ТТТ е Q(yc, sc), положительно определенная формула секущих является единственным решением задачи: найти min \\Т(Н+1 - Hc~l)fT\\ при условии H+^Q(yCi sc)П5. (9.3.6) Читатель, вероятно, заметил интригующую двойственность, которой пронизан в разд. 9.2 и 9.3 вывод положительно определенной и обратной положительно определенной формул секущих. Поскольку каждая из этих формул пересчета может быть выведена с помощью преобразования (масштабирования) пространства переменных, для каждой итерации своего, то использующие их методы называют иногда методами переменной метрики. В доказательстве локальной сходимости положительно определенного метода секущих центральное место занимает идея масштабирования. Доказательство показывает, что последовательность аппроксимаций гессиана {Hk} обладает свойством ограниченного ухудшения в виде, приведенном в гл. 8. Для установления этого факта в доказательстве используется взвешенная норма Фробениуса, подобная (9.3.6), но с заменой Т на Г», для которой TlТш = V2/ (*,). Это как раз то масштабирование, при котором матрица Гессе в точке минимума равна единичной. Если последовательность аппроксимаций гессиана сходится к V2/(a:#), то это есть предел матриц перемасштабирования, которые используются в приведенных выше выводах. Та же техника применяется для доказательства локальной
246 Гл. 9. Методы секущих для безусловной минимизации сходимости DFP-метода. В этом случае используется норма из (9.3.4) с Г, замененным на 7V Доказательство следующей теоремы основано на технике из разд. 8.2; его можно найти в работе Бройдена, Дэнниса и Морэ (1973). Теорема 9.3.1 (Бройден — Дэннис — Морэ). Пусть выполняются условия теоремы 9.1.2 и дополнительно предполагается, что V2/(jc#) положительно определено. Тогда существуют положительные постоянные е и б, такие, что если ||jc0 — х*\\2 ^ е и ||#о — V2/(jc#)||2 ^ б, где матрица Я0 симметрична, то положительно определенный метод секущих (BFGS) (9.2.11) корректно определен, а последовательность {xk} остается в D и сходится <7-сверхлинейно к х%. То же остается в силе, если (9.2.11с) заменить обратной положительно определенной формулой секущих (DFP) „ _ „ , (Ук - Hksk) у1 + У к (Ук - Hksk)T {Уk - Hks* sk) УОш Hk+i-Hk+ yrSk {угч)2 Этот результат, касающийся сходимости положительно определенного метода секущих, не является более строгим, чем теорема 9.1.2, где сформулирован результат относительно сходимости симметричного метода секущих. Однако положительно определенный метод секущих работает на практике значительно лучше, что воспроизводится ниже в примере 9.3.2S В этом примере также изучается сходимость последовательности аппроксимаций гессиана {#*} к значению гессиана в точке минимума V2/(jc#). В примере видно на промежуточных шагах, что аппроксимации, генерируемые положительно определенной формулой секущих, более точны, чем генерируемые симметричной формулой секущих. Такое поведение, обычное на практике, частично объясняет превосходство положительно определенного метода секущих. Другое преимущество положительно определенного метода секущих связано с выводом формул, с которых начинался этот раздел. Не составит труда показать, что положительно определенная и обратная положительно определенная формулы секущих инвариантны относительно линейных преобразований пространства переменных, тогда как симметричная формула секущих не инвариантна (упр. 13). Благодаря инвариантности, которая разделяется методом Ньютона, но не методом наискорейшего спуска, соответствующие машинные программы почти не зависят от масштабирования задачи минимизации. Пример 9.3.2. Пусть / (х{9 х2) = х\ + (х{ + х2)2 + (е*> - I)2. Эта функция имеет точку минимума в х*=(0,0)т. В случаях
9.3. Локальная сходимость 247 х0 = (1, 1)г и jc0 = (— 1, 3)г указанным ниже методам требуется для достижения точности \\хк — juIIoo^IO-8 следующее число итераций: Число итераций из Метод *ь = (1, 1)г х0 = (-1, 3)т Метод Ньютона 6 11 Положительно определенный метод секущих, #0 = v2/(*o) 13 20 Симметричный метод секущих #o = V2/(*0) И 41 Для jc0 = (—1, 3)г ниже приводятся значения #*, вырабатываемые двумя методами секущих на некоторых промежуточных и заключительной итерациях. Значение V2/(x) в точке минимума равно ни Значения Hk на первой из итераций k, для которых IU*+il!<x: Положительно определенный Симметричный т метод метод секущих секущих ю-1 кг3 ю~8 Wl2 = я16 = я19 = "5.485 6.996 6.996 11.78 "2.365 2.264" 2.264 4.160 "2.009 1.993" 1.993 4.004 ] н2А = W34 = #40 = "16.86 11.35] 11.35 9.645 J "3.147 3.783" 3.783 6.797 "2.003 2.02 Г 2.021 4.143 В примере 9.3.2 заключительное значение положительно определенной аппроксимации по секущим согласуется с V2f(*») в пределах примерно 0.5%. Такое поведение типично для формул пересчета аппроксимаций гессиана по секущим: заключительное значение Нк часто совпадает с V2/(jc#) в нескольких значащих цифрах. На практике случаи, когда заключительная аппроксимация гессиана заметно отличается от V2f(*»), по-видимому, менее распространены, чем случай, когда заключительная аппроксимация якобиана заметно отличается от /(*,). Одна из причин состоит в том, что, хотя последовательность аппроксимаций якобиана по секущим обычно не сходится к /(*»), когда некоторые компоненты F(x) линейны (что
248 Гл. 9. Методы секущих для безусловной минимизации мы наблюдали в примере 8.2.7), тем не менее аппроксимации гессиана из этой главы не имеют такой проблемы в аналогичном случае, когда у Vf(x) имеются линейные компоненты (см. упр. 14). Это различие обусловлено симметричностью формул пересчета аппроксимаций гессиана. Более подробную информацию по данному вопросу можно найти в работе Шнабеля (1982). 9.4. РЕАЛИЗАЦИЯ КВАЗИНЬЮТОНОВСКИХ АЛГОРИТМОВ, ИСПОЛЬЗУЮЩИХ ПОЛОЖИТЕЛЬНО ОПРЕДЕЛЕННЫЕ ФОРМУЛЫ СЕКУЩИХ В этом разделе обсуждаются вопросы включения формул секущих в наши квазиньютоновские алгоритмы безусловной минимизации. Поскольку наиболее успешной аппроксимацией по секущим для минимизации оказалась положительно определенная формула секущих (BFGS), то именно этой аппроксимацией по секущим снабжены алгоритмы из приложения. Нами представлены формулы пересчета как в нефакторизованном, так и в факторизованном видах соответственно в алгоритмах А9.4.1 и А9.4.2. Нефакторизованный алгоритм непосредственно реализует формулу пересчета ранга два (9.2.10). После обращения к формуле пересчета вызывается процедура обработки гессиана модели, которая производит разложение аппроксимации гессиана модели по Холесскому. Факторизованный алгоритм реализует формулу пересчета в том виде, в каком она была выведена в разд. 9.2. В нем производится одноранговый пересчет Lc в /+ [формулы (9.2.6) и (9.2.9)], а затем вызывается алгоритм АЗ.4.1 для вычисления нижней треугольной матрицы L+=/+Q+. Коль скоро £+£+ представляет собой разложение новой аппроксимации гессиана по Холесскому, то в факторизованной форме формулы пересчета процедура обработки гессиана модели не используется. Основное преимущество факторизованной формулы пересчета заключается в том, что общая трудоемкость пересчета аппроксимации гессиана и получения его разложения по Холесскому составляет О (я2), тогда как при использовании не- факторизованной формулы пересчета — О (я3). Недостатком является то, что для нее добавляется работа по программированию и отладке, особенно если уже написана программа обработки гессиана модели. Кроме того, факторизованную формулу пересчета трудно совместить с криволинейным шагом, так как для этого шага требуется Нс в явном виде, а также потому, что обычно имеется возможность записи на место Lc сомножителя разложения Нс + ас/ по Холесскому. По этой причине мы
9.4. Реализация квазиньютоновских алгоритмов 249 рекомендуем факторизованную формулу пересчета для разработки программ, использующих линейный поиск или поиск вдоль ломаной, но не для криволинейного шага. Что касается курсовых проектов или предварительной исследовательской работы, то во всех случаях предпочтение может быть отдано не- факторизованной форме. При использовании факторизованной формулы пересчета имеется возможность оценивать число обусловленности матрицы LCy используя для этого алгоритм АЗ.3.1, и если полученная оценка превосходит величину (macheps)~l/2, то можно вернуться к матрице Нс = LcLl и воспользоваться алгоритмом А5.5.1 для того, чтобы внести поправку к Нс добавлением к ней единичной матрицы, умноженной на соответствующий скаляр, и Lc заново положить равной сомножителю Хо- лесского, но теперь уже для этого измененного гессиана. Ради простоту мы исключили эту возможность из алгоритмов, приведенных в приложении. Единственная дополнительная особенность обоих алгоритмов, реализующих формулу пересчета, состоит в том, что пересчет не происходит в следующих двух случаях. В первом он пропускается, если5*#с^0, так как иначе Н+ не была бы положительно определенной. В действительности мы пропускаем формулу пересчета, когда 5^<(macheps)^||5cy|^|^ (9.4.1) На стадии линейного поиска выполнение этого условия можно фактически всегда предотвратить, используя алгоритм линейного поиска A6.3.1mod, который обеспечивает выполнение условия sTcyc^ — 0.1v/(*c)rsc. Что касается алгоритма доверительной области, то может встретиться ситуация (9.4.1). Во втором случае, если ус достаточно близко к Hcsc, то нет никакой необходимости производить пересчет. Мы пропускаем пересчет, если величина каждой компоненты ус— Hcsc оказывается меньше, чем ожидаемый уровень шума в этой компоненте. Необходимо также обсудить вопрос выбора начальной аппроксимации гессиана Я0. В отличие от практики решения систем нелинейных уравнений здесь не принято брать Я0, равной конечно-разностной аппроксимации гессиана V2/(jc0). Одна причина заключена в стоимости этой аппроксимации с точки зрения вычислений функции и градиента. Другая состоит в том, что методы секущих для минимизации исходят из того, чтобы начинать с положительно определенной аппроксимации и затем таковой ее поддерживать, а значит, матрица Н0 должна быть положительно определенной. Однако нет никакой гарантии, 4jo V2/(x0) будет положительно определена. Если гессиан не обладает положительной определенностью, то, используя
250 Гл. 9. Методы секущих для безусловной минимизации технику разд. 5.5, его можно изменить, внеся некоторое возмущение, и получить положительно определенную матрицу, но тогда возникает сомнение—а оправданы ли затраты на конечно-разностную аппроксимацию. Вместо этого минимизационные алгоритмы секущих принято начинать с Н0 = I. Такая Я0, конечно, положительно определена, и это приводит к тому, что первый шаг делается в направлении наискорейшего спуска. Вспоминая обсуждение вопросов масштабирования в разд. 7.1, читатель мог догадаться, что мы обобщаем этот выбор, полагая #0 = D*, что заставляет делать первый шаг в масштабированном направлении наискорейшего спуска. Одна из проблем, связанных с выбором Н0 = I или £>*, состоит в том, что при этом не учитывается масштаб f{x). По этой причине ||//oil может отличаться от ||V2/(jc0)H на много порядков, что потребует от алгоритма чрезмерно большого количества итераций. В целях преодоления этих трудностей предлагались различные стратегии; так, Шанно и Фуа (1978а) использовали частный случай некоторой более общей идеи Орена (1974), производя предварительное умножение Я0 на у0 = «(#o5o/5o^oso) непосредственно перед первым пересчетом. Это дает то, что Й0 =уоН0 удовлетворяет соотношению sj//0s0 = sj#0, которое представляет собой некоторый ослабленный вариант соотношения секущих. Если f(x) есть квадратичная функция, то гарантируется, что области, в которых лежат собственные значения Й0 и V2/(*0), перекрываются, и вообще это приводит к тому, что значения диагональных элементов Я0 в большей степени начинают походить на диагональные элементы V2/(jco). После такого предварительного умножения производится обычный пересчет. Как показывает вычислительный опыт, эта модификация может улучшить работу минимизационных алгоритмов секущих. Из-за наличия некоторых небольших трудностей с использованием модификации Шанно и Фуа в нашей модульной системе алгоритмов нами применялась другая модификация. Мы просто полагали #0 = max{|/(jc0)|, typ/}•/& где typ/ есть задаваемое пользователем характерное значение f(x). Эта формула имеет тот очевидный недостаток, что она чувствительна к прибавлению константы к f(x). Тем не менее в экспериментах, выполненных Фрэнком и Шнабелем (1982), она оказалась наиболее успешной среди различных стратегий, включая предложенную Шанно и Фуа. Нашими алгоритмами по вычислению Н0 являются А9.4.3 в нефакторизованном случае и А9.4.4 в факторизованном случае. Благодаря модульной
9.4. Реализация квазиньютоновских алгоритмов 251 структуре пользователь может также полагать Н0 равной конечно-разностной аппроксимации гессиана S/2f(x0). В примере 9.4.1 применяется положительно определенный метод секущих для решения той же задачи из примера 9.2.2, используя теперь уже Н0 = 1 и H0 = \f(x0) |/. Результаты использования #0 = |/(*о)|/ несколько лучше, чем при Я0 = = V2/(jc0), тогда как при использовании Н0 = 1 они гораздо хуже. Пример 9.4.2 демонстрирует результаты использования #о = |/(л:о) |/ вместо Я0 = У2/(х0) на задаче из примера 9.3.2. При использовании положительно определенной формулы секущих вместо аналитически или конечно-разностно заданного гессиана в наших алгоритмах минимизации не нужно делать каких-либо других изменений сверх тех, что упоминались в этом разделе. Пример 9.4.1. Пусть / (хр х2) = (д:, — 2)4 + (*, — 2)2 х\ + + (*2 +1)2. Точкой минимума здесь является jc*= (2, — 1)г. Приведенное ниже количество итераций требуется положительно определенному методу секущих (9.2.11) для достижения точности \xk — *J| ^ 10~8 при использовании указанных значений Я0: Количество #0 итераций V2/(*0) Ю 1/(*Ь>|/ 8 / 24 Пример 9.4.2. Пусть / {хи х2) = х\+ (х{ + х2)2 + (е*>- I)2. Точкой минимума здесь является х*=(0,0)г. Указанное количество итераций требуется положительно определенному методу секущих (9.2.11) для достижения из *о = (1,1)г и хо = = (—1,3)г точности \\xk — *«ll^ 10-8 при использовании следующих значений Я0: Количество итераций Количество итераций #0 при х0 = (1, 1)г при х0 = {— 1, 3)г V7(*0) 13 20 \f(x0)\I И 18 Если Hq = /, то полный шаг метода секущих из х0 в х\ = х0 — — V/(*0) приводит к увеличению значения /(*).
252 Гл. 9. Методы секущих для безусловной минимизации 9.5. ЕЩЕ ОДИН РЕЗУЛЬТАТ, КАСАЮЩИЙСЯ СХОДИМОСТИ ПОЛОЖИТЕЛЬНО ОПРЕДЕЛЕННЫХ МЕТОДОВ СЕКУЩИХ Пауэллом (1976) был получен сильный результат относительно сходимости положительно определенного метода секущих в случае, когда он применяется к сильно выпуклой функции и используется в совокупности с линейным поиском, который удовлетворяет условиям, приведенным в разд. 6.3.1. Этот результат приведен ниже. Поскольку здесь имеется линейный поиск, эта теорема представляет собой результат, касающийся в некотором смысле глобальной сходимости положительно определенного метода секущих. Она имеет и другую привлекательную особенность: в ней не делается никаких предположений относительно начального значения аппроксимации гессиана Но, за исключением лишь того, что она должна быть положительно определенной. Мы не даем доказательства теоремы 9.5.1, так как оно мало что добавляет к общему представлению, но интересующимся студентам рекомендуется все же его в дальнейшем изучить. Для стимулирования интереса читателя заметим, что остается неизвестным — справедливо ли утверждение этой теоремы для DFP-метода. Теорема 9.5.1 [Пауэлл (1976)]. Пусть выполнены предположения теоремы 9.3.1, и, кроме того, пусть гессиан V2f(x) положительно определен для каждого х. Допустим имеются произвольные xo^Rn и положительно определенная симметричная матрица Я0. Пусть последовательность {**} определяется соотношениями Pk = - Hklvf (**)• xk+i = xk + V*> где Xk выбирается так, чтобы выполнялись (6.3.3) и (6.3.4), значение %k = 1 используется всякий раз, когда оно допустимо, и Hk+i задается согласно (9.2. lib, с). Тогда последовательности {xk} и {#*} корректно определены, и {#*} сходится ^-сверх- линейно к х*. 9.6. ДРУГИЕ ФОРМУЛЫ СЕКУЩИХ ДЛЯ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ Много формул секущих было предложено для минимизации, не считая тех, что уже упоминались в этой главе. По-видимому, ни одна из них не имеет преимущества над положительно
9.6. Другие формулы секущих 253 определенной формулой секущих при использовании их как средств общего назначения. В данном разделе кратко упоминаются некоторые из этих «других» формул пересчета в большей степени из-за того, что они представляют исторический интерес. До сих пор наши формулы секущих для минимизации представляли собой симметричные поправки ранга два к Яс, которые обеспечивали выполнение соотношения секущих H+sc = ус- Не составит труда показать, что существует единственная симметричная поправка ранга один к Н€, которая удовлетворяет соотношению секущих. Это — симметричная одноранговая формула пересчета (SRl-формула) Н,=НС+ ^c-HcSc)(yc-Hcsc)T (g бЛ) (Ус — HcSc) sc Неизбежным недостатком этой формулы пересчета является то, что она не обязательно вырабатывает положительно определенную #+, если даже Нс положительно определена и s*yc > 0, да и знаменатель иногда оказывается фактически нулевым, тогда как в тех же случаях положительно определенная формула пересчета работает нормально. Бройден (1970) был первым, кто рассмотрел непрерывный класс формул пересчета гг / v „ , (Ус-Нс8с)у1 + Ус(Ус-Нс8с)Т (Ус-Нс8с>5с)УсУ1 я+(ф)=Яс+ г* ш— - Ф (sIHs) Г-£ ?£££-1 \-¥ f&JT, (9.6.2) П с сс,1уТс*с sTcHcsc\lyTcsc sTcHcsc\ который включает в себя DFP-формулу при ср = 0, положительно определенную формулу секущих (BFGS-формулу) при Ф= 1 и SRl-формулу при 4> = slHcsc/(slHcsc — slyc). Каково бы ни было феР, матрица #+(ф)—- Нс есть симметричная матрица ранга два, строки и столбцы которой представляют, собой линейные комбинации векторов ус и Hcsc. Были проведены значительные теоретические исследования этого класса формул пересчета и некоторых его обобщений. Они широко обсуждаются в работе Флетчера (1980). Однако эти исследования не привели к появлению формулы пересчета, которая бы превосходила на практике BFGS-формулу. Интересно, что все представители класса (9.6.2), такие, что #+(ф)—Нс имеет одно положительное и одно отрицательное собственное значение, могут быть эквивалентно выражены как „ ж/ , {Ус - Hcsc) fc+vc (Ус ~ Hcsc)T (Ус-Нс*с>8с)*Л /Q ~ о\ °cse \°csc)
254 Гл. 9. Методы секущих для безусловной минимизации где vc есть линейная комбинация векторов ус и H€sc [см. Шна* бель (1977) или упр. 22]. В частности, положительно определенная формула секущих (BFGS-формула) соответствует выбору "о = Ч7+ТУс + 1^тН*> (9-6-4) где ac = (#£sc/s£#csc)1/2. Таким образом, положительно определенную формулу секущих можно получить с помощью рассмотренных в разд. 9.3 взвешенной нормы или способа вывода, основанного на масштабировании. С этой целью нужно взять ТТТ равной соответствующей выпуклой комбинации матриц Нс и //+. Другой класс формул секущих для минимизации, который привлек к себе значительное внимание, состоит из так называемых «проекционных, оптимально обусловленных» формул Дэвидона (1975) [см. также Шнабель (1977)]. Для методов, использующих эти формулы пересчета, могут быть тоже установлены некоторые интересные теоретические свойства, но при численных проверках [см., например, Шанно и Фуа (1978b)] они работали не лучше, чем BFGS-метод. 9.7. УПРАЖНЕНИЯ 1. Приведите несколько причин, по которым аппроксимация гессиана по секущим должна быть симметричной. 2. Покажите, что задача найти min || В — А \\р при условии, что В симметрична, B«=R*Xn имеет решение Р_ А + Ат 3. Пусть Я+ вычислена по симметричной формуле секущих (9.1.3). Убедитесь, что H+Sc = ус и что Я+ — Нс представляет собой симметричную матрицу ранга не более чем два. 4. Докажите теорему 9.1.1. [Указание: воспользуйтесь техникой доказательства теоремы 8.1.1 и покажите, что если Н+ задано согласно (9.1.3) и ffeRnx« таково, что Н — Нс симметрично и Hsc = ус> то (Я — Hc)sc = =*(H+ — Hc)sc и \\(H-He)t\\2> II (Я+ — #с)/||2 для любого /, такого, что tTsc = 0. Затем для завершения доказательства воспользуйтесь упр. 11 из гл. 3.] В упр. 5 и 6 намечается в общих чертах доказательство теоремы 9.1.2. Она взята из работы Бройдена, Дэнниса и Морэ (1973). б. Пусть Я+ задано согласно (9.1.3), Яф = У2/(**) и Рс = / — s^/sjsc. Используя предположения теоремы 9.1.2 и тождество н^-н—рш rxvn . ftfe-*A)£ , *с(Ус-н**с)Трс /ОТ1. Я+ — Яф ■- Ре {ifс — Я.) Ре Н f 1 J, , (9.7.1) sesc sasa
9.7. Упражнения 255 покажите, что Н+ удовлетворяет неравенству ин+ -н.h<\\нс-н.\\f+i(ii*+ -*л+и*с-х.и <9-7-2) которое аналогично (8.2.3). Воспользовавшись (9.7.2) и техникой доказательства линейной сходимости метода секущих (теорема 8.2.2), докажите локальную ^-линейную сходимость симметричного метода секущих. 6. Воспользуйтесь (9.7.1) для доказательства более сильного, чем (9.7.2), неравенства ||».-*.|1,<11*«||,-тРЬ7(7Йг)!+ + \ (11*+ - хЛ + \\хс- xj2), (9.7.3) где Ес = Нс — //*. Используя (9.7.3) и технику доказательства сверхлинейной сходимости метода секущих, докажите локальную ^-сверхлинейную сходимость симметричного метода секущих. 7. Докажите, что матрица #eRrtx« положительно определена и симметрична тогда и только тогда, когда Н = JF для некоторой невырожденной /«= R*x«. 8. Покажите, что если матрица /+ задана согласно (9.2.6) и (9.2.9) и если HC=^LCLTC> то #+ = /+/+ имеет вид (9.2.10) и не зависит от выбора знака в (9.2.9). 9. Предположим, что Hcsc = ус. Чему равно значение /+, заданное согласно (9.2.6) и (9.2.9)? К чему приведет изменение знака в правой части (9.2.9) с плюса на минус? Каким образом это оправдывает выбор знака в (9.2.9)? г 'С9 10. Пусть матрица /+ задана согласно (9.2.12), #+ = /+/+ и He=*LcL( Покажите, что (9.2.12) дает , _ ! vJ Нд1УсУсН'е scHc Уснс Ус Затем покажите, что матрица (9.7.4) представляет собой обратную к (9.2.13). П. Покажите, что в обозначениях, следующих за (9.3.1), соотношения (9.3.1) и (9.3.2) эквивалентны. 12. Проработайте доказательство теоремы (9.3.1) с помощью статьи Вройдена, Дэнниса и Морэ (1973). 13. (а) Покажите, что положительно определенная формула секущих инвариантна относительно (рассмотренных в разд. 9.3) линейных преобразований пространства переменных, а симметричная формула секущих — нет. (Ь) Выведите несимметричную одноранговую формулу, которая инвариантна относительно линейных преобразований пространства переменных. 14. (а) Пусть функция f(xv *2)e*l + 2*1*2 + 2*1 + *2-
256 Гл. 9. Методы секущих для безусловной минимизации Она имеет минимум в дг» = (О, 0)г, и Для Хо = (1, —1)г и Н0 =* V2/(*o) покажите, что положительно определенный метод секущих вырабатывает последовательность аппроксимаций гессиана {Я*}, обладающую свойством lim #* = V2f(*J, £->оо и что симметричный метод секущих вырабатывает идентичную последовательность итераций {**}, но при этом последовательность аппроксимаций гессиана {#*} обладает свойством й.М! ?]• [Указание: обобщите технику доказательства леммы 8.2.7.] (b) Обобщите п. (а) на случай произвольной задачи, в которой градиент Vf(x) линеен в некоторых из его компонент V/(*),-, причем Vf(x<>) имеет нулевые значения во всех этих компонентах. (c) Установите экспериментально, как изменятся п. (а) и (Ь), если V/(jco) имеет ненулевые значения в тех компонентах Vf(x), которые линейны. 15. Дана функция f (xlt х2) = х\ + х\ + х\. Она имеет минимум в х+ = (О, 0)г, и Для Хо = (0, —1)г и Но = I покажите, что положительно определенный метод секущих и симметричный метод секущих вырабатывают идентичные последовательности точек {xk} и аппроксимаций гессиана {#*}, а также, что дия*-[£ Я- 16. Запрограммируйте минимизационный алгоритм из приложения А, который использует положительно определенную формулу секущих. Сделайте прогон вашего алгоритма на какой-либо тестовой задаче из приложения В. Затем замените формулу секущих в вашем алгоритме конечно-разностной формулой аппроксимации гессиана (оставляя при этом неизменной остальную часть алгоритма) и сделайте заново прогон вашего алгоритма на той же самой задаче. Как соотносятся количества итераций, требуемых этими двумя методами для решения одной и той же задачи? Как соотносятся количества вычислении функции и градиента? (Не забудьте учесть вычисления функции и градиента, потребовавшиеся при конечно-разностной аппроксимации гессиана.) Как соотносятся длительности счета? 17. Запрограммируйте минимизационный алгоритм из приложения А, который использует положительно определенную формулу секущих и модифицированный линейный поиск. Сделайте прогон вашего алгоритма на той же самой тестовой задаче из приложения В. (а) Как часто происходит обращение к этой модификации линейного поиска, т.е. как часто точка х+, которую дает традиционный линейный поиск, не удовлетворяет неравенству V/ (х+)г (*+ - хс) > (0.9) V/ (хс)т (*+ - хс) ?
9.7. Упражнения 2$? (b) Насколько близким в ваших тестовых задачах оказывается последнее значение Нк к V2f(xk)? Попробуйте найти случаи, в которых это расхождение велико. 18. Пусть /: R"-*R есть положительно определенная квадратичная функция с гессианом Яе R"X\ хс и х+ — две произвольные несовпадающие точки в R", s = x+ — Хс, у = Vf(x+)—Vf(Xc). Покажите, что диапазон собственных значений матрицы Н содержит собственное значение матрицы (sTy/sTs)I. 19. Что представляет собой шаг метода секущих хх = х0 — HolVf(xQ) для задачи и начальных точек из примера 9.4.2, если #0 = |/(*0) |/? А если #0 = /? Прокомментируйте результаты сравнения. 20. Покажите, что //+, заданная согласно (9.6.1), является единственной матрицей, для которой H+sc = ус, и (Н+ — Нс) представляет собой симметричную матрицу ранга один. 21. Убедитесь, что SRl-формула (9.6.1) соответствует выбору ф = = sTcHcsc/(sTeHcsc-sTcyc) в (9.6.2). 22. (а) Покажите, что если vc в у с + oHcsc> где or — решение любого из уравнений и чГ , Т =*= (У1*с) (81Нс*с) /07-. а (ус - Hcscy sc + y'csc = -j-—\—f , , (9.7.5) то (9.6.3) совпадаете (9.6.2). (b) Воспользуйтесь (9.7.5) и докажите, что положительно определенная формула секущих [ф = 1 в (9.6.2)] эквивалентна (9.6.3) при vc, заданном согласно (9.6.4).
Заключительное программное замечание На этом завершается изложение основного материала книги, посвященного методам решения задач безусловной оптимизации и нелинейных уравнений малой и средней размерности без специальной структуры. В последних двух главах обсуждаются обобщения этих методов на задачи, существенной особенностью которых является их специальная структура. Важным примером служит задача оценивания параметров по нелинейному принципу наименьших квадратов. Это частный случай безусловной минимизации, который составляет тему гл. 10. В гл. 11 рассматривается более общий класс задач, где часть матрицы производных определяется легко, а остальная часть—-нет. К этой категории относятся задачи с разреженной матрицей производных. Мы кратко обсуждаем разреженные задачи, а затем даем вывод и анализ сходимости методов секущих с минимальными поправками, справедливые для любой задачи из указанного общего класса.
10 Нелинейная задача о наименьших квадратах В этой главе обсуждается решение нелинейной задачи о наименьших квадратах, введенной в гл. 1. Эта задача тесно связана с задачами, безусловной минимизации и решения нелинейных уравнений, которые уже обсуждались в книге, и проработка материала будет состоять главным образом из применения представленной нами методики. В разд. 10.1 заново вводится нелинейная задача о наименьших квадратах и обсуждаются производные, имеющие далее для нас важное значение. В разд. 10.2 и 10.3 объясняются два различных подхода к построению алгоритмов для нелинейной задачи о наименьших квадратах. Первый из них наиболее тесно связан с решением систем нелинейных уравнений и приводит к алгоритмам Гаусса — Ньютона и Левенберга —Маркварта. Второй, тесно связанный с безусловной минимизацией, приводит к методу Ньютона для нелинейных наименьших квадратов, а также к успешно работающим методам секущих. Конечно, методы этих двух типов тесно связаны друг с другом, и нами используется эта связь. В разд. 10.4 кратко упоминаются некоторые другие аспекты проблемы нелинейных наименьших квадратов, включающие критерии останова и обработку смешанных линейно-нелинейных задач о наименьших квадратах. 10.1. ПОСТАНОВКА НЕЛИНЕЙНОЙ ЗАДАЧИ О НАИМЕНЬШИХ КВАДРАТАХ Нелинейная задача о наименьших квадратах имеет вид т найти mins(x) = ±R(x)TR(x) = YYlri№2> (ЮЛЛ) где т> п, функция невязки R:Rn-*Rm
260 Гл. 10. Нелинейная задача о наименьших квадратах нелинейна по х, и черед п(х) обозначена /-я компонента функции /?(дг). Если R(x) линейна, то (10.1.1) представляет собой линейную задачу о наименьших квадратах, решение которой обсуждалось в разд. 3.6. Нелинейная задача о наименьших квадратах обычно возникает из приложений, связанных с наилучшим приближением данных, где стараются наилучшим образом приблизить данные (ti9 yi), i = l, ..., m, с помощью модели т(х, t)1), которая нелинейна по х. В этом случае ri(x) = = m(x,ti) — уi и нелинейная задача о наименьших квадратах заключается в таком выборе х, что приближение является настолько близким к данным, насколько это возможно с точки зрения минимизации суммы квадратов невязок ri(x). Обычно т гораздо больше, чем п (например, п = 5, т= 100). Выбор суммы квадратов в качестве меры для наилучшего приближения данных оправдывается статистическими соображениями [см., например, Бард (1970)]. В статистической литературе, однако, та же задача записывается так: п найти min S (р) = 1У (/ (р, xt) - yt)\ где р есть переменная, состоящая из р параметров, /((J, х) — моделирующая функция, и имеется набор данных, представляющих собой п точек (xt, yi), х\ е Rm, yt-ER, m^l. (Иногда вместо S и p используются другие символы.) В целях согласования обозначений с остальной частью книги мы будем использовать принятую в численном анализе запись (10.1.1). Нелинейная задача о наименьших квадратах исключительно тесно связана с ранее изучавшимися в этой книге задачами. Так, при т — п она включает в себя как частный случай задачу решения системы нелинейных уравнений, и для любого значения т она представляет собой лишь частный случай задачи безусловной минимизации. Причины, по которым мы не рекомендуем решать ее с помощью программ безусловной минимизации общего назначения, станут ясными далее в этой главе. Главным образом это — желание учесть специальную структуру (10.1.1). Приступая к делу, исследуем производные функции R(x) и f (x) = -^R(x)T R(x).Пример нелинейной задачи о наименьших кв.адратах и ее производных дан в конце этого раздела. Матрица первых производных для R(x) — это просто матрица Якоби J(x)(=Rmxn, где J(x)if = dn(x)/dxf. Таким образом, аффинной моделью функции R(x) в окрестности точки хс будет Mc(x) = R(xc) + J(xc)(x-xc), *) Не следует путать обозначаемые одним и тем же символом т количество элементов в наборе данных и модель. — Прим. перев.
10.1. Постановка нелинейной задачи 261 что является обобщением на случай тфп аффинной модели для системы нелинейных уравнений, которой мы пользовались на протяжении всей книги. Эта модель будет базовой для обсуждаемых в разд. 10.2 методов, которые связаны с интерпретацией нелинейной задачи о наименьших квадратах как переопределенной системы уравнений. В разд. 6.5 мы видели, что первой производной от /(*) = = -^R(x)TR(x) является т V/ (х) = Е г, (д) ■ vr, (*) = / (xf R (х). Аналогично, вторая производная т V2/ (х) = £ (Vr, (х) • Vr{ (х)Т + г,(х) • VV, (х)) = 1 = 1 = J(x)TJ(x) + S(x), где m S(x)AZrl(x)-V2rl(x) обозначает в V2f(x) информацию о производных второго порядка. Тогда квадратичной моделью для f(x) в окрестности хс будет тс (х) = f (хс) + V/ (хс)Т (х - хс) + 4 (х - хс)т V2/ (хс) (х - хс) = = ±R {хс)т R (хс) + R (хс)т J (хс) (х - хс) + + j(x-xc)T(J(xc)4(xc) + S(xc))(x--xc), (10.1.2) что представляет собой специальную форму квадратичной модели для минимизации целевой функции вида (10.1.1), полученную из разложения в ряд Тейлора. Согласно (10.1.2), метод Ньютона применительно к (10.1.1) имеет вид x+ = x,-(J(xe)4(xe) + S(xJ)-4(xerR(xe). (10.1.3) Несомненно, (10.1.3) был бы быстрым локальным методом для нелинейной задачи о наименьших квадратах, так как он является локально ^-квадратично сходящимся при стандартных предположениях. Трудность полномасштабного использования ньютоновского подхода состоит в том, что S(x) обычно либо отсутствует, либо получение ее затруднительно, а аппроксимация
262 Гл. 10. Нелинейная задача о наименьших квадратах с помощью конечных разностей слишком дорога. Хотя аппроксимация по секущим часто используется на практике, применять ее ко всему выражению W2f(x) нежелательно, поскольку часть этого выражения — / (х) TJ (х) — будет в нашем распоряжении. Это связано с тем, что матрица J(x) должна быть обязательно вычислена (аналитически или с помощью конечных разностей) при вычислении Vf(x). Методы разд. 10.3 будут относиться к методам безусловной минимизации, несмотря на то что мы будем использовать структуру квадратичной модели (10.1.2) при решении нелинейной задачи о наименьших квадратах в случае, если S(x) недоступна в аналитическом виде. Обсуждая различные методы для нелинейной задачи о наименьших квадратах, мы хотим различать между собой задачи с нулевой невязкой, малой невязкой и большой невязкой. Эти термины относятся к значению R(x) [или f(x)] в точке минимума хщ для (10.1.1). Задача, для которой /?(**) = 0, называется задачей с нулевой невязкой; применительно к наилучшему приближению данных это означает, что модель т(х+, t) точно приближает yi в каждой точке набора данных. Различие между задачами с малой и большой невязкой мы поясним в разд. 10.2. Окажется, что методы из разд. 10.2 работают лучше на задачах с нулевой и малой невязкой, чем на задачах с большой невязкой, тогда как методы из разд. 10.3 одинаково эффективны во всех этих случаях. Пример 10.1.1. Предположим, что мы хотим наилучшим образом приблизить данные (/,-, yi), i= 1, ..., 4, с помощью мо- дели т(дс, t) = etXl -\-etx> исходя из принципа нелинейных наименьших квадратов. Тогда R: R2-*R4, ri(x) = etiXl=etiX* — yh i= 1, ..., 4, и нелинейная задача о наименьших квадратах состоит в минимизации f (х) = -^R(*)TR(*)• Таким образом, /(дс)е е R4*2, Г txeUXx txeUXl-\ t2etx> t^-** tze^ heix- L /4e'<*« iAetiX7 J Кроме того, V/ (x) e R2, V/ (xf = R (x)TJ(x) = (tn (x) ие**\ t rt (x) t^A и V2fWeR«2. Используя /(*) =
10.2. Методы типа Гаусса — Ньютона 2бЗ и 5 (л:) = £Li ri (*) V2r, (л;), имеем V2fW = J(x)TJ(x) + S(x) = Г Z &'л (г, (х) + е'А) £ йе** WV ~| = I *~{ ("1 I Z &'' (*'+*2) £ /V*(г, (*) + а'Л) Li=i ,=i J 10.2. МЕТОДЫ ТИПА ГАУССА — НЬЮТОНА Первый из рассматриваемого нами класса методов решения нелинейной задачи о наименьших квадратах получается в результате использования аффинной модели для R(x) в окрестности хс: Мс (х) = R (хе) + J (хс) (х - хс)9 (10.2.1) где Мс: Rn->Rm и т>п. Мы не можем в общем случае рассчитывать найти х+, для которого Мс(х+)= 0, так как это — переопределенная система линейных уравнений. Однако логичным здесь будет способ использования (10.2.1) для решения нелинейной задачи о наименьших квадратах, состоящий в выборе в качестве следующей итерации х+ решения линейной задачи о наименьших квадратах: найти min -J-II Мс (х) Щ А тс (х). (10.2.2) Предположим, что J{xc) имеет полный столбцовый ранг. Тогда, как мы убедились в разд. 3.6, решением для (10.2.2) является х+ = хе- (J (хе)Т J (хс)Г1 J (хс)Т R (хс). (10.2.3) Обычно мы, конечно же, не вычисляем *+ согласно (10.2.3), а вместо этого всегда решаем (10.2.2), используя (^-разложение для ](хс). Итерационный метод, состоящий в использовании (10.2.3) на каждой итерации, называется методом Гаусса — Ньютона. Для того чтобы понять его поведение вблизи решения х* задачи (10.1.1), сравним его с методом Ньютона для нелинейных наименьших квадратов, заданным формулой (10.1.3). Два выражения отличаются лишь членом S(jc), входящим в методе Ньютона в матрицу вторых производных J{xc)TJ(xc) + S(xc),uo зато опущенным в методе Гаусса — Ньютона. Другими словами, единственное различие между квадратичной моделью тс{х), (10.1.2), из которой получается метод Ньютона, и квадратичной моделью /йс(*), (10.2.2), которая дает метод Гаусса — Ньютона, состоит
264 Гл. 10. Нелинейная задача о наименьших квадратах в том, что слагаемое, соответствующее S(xc) в S/2f(xc), отсутствует в thc(x). Поскольку метод Ньютона в рамках стандартных предположений сходится локально и ^-квадратично, то, как читатель мог догадаться, успех применения метода Гаусса — Ньютона будет зависеть от того, насколько важным оказывается опущенное слагаемое S(xc), т. е. от того, насколько большой вклад оно вносит в V2f(xc) = J(xc)TJ{xc) +S(xc). Это по существу подтверждается теоремой 10.2.1 и следствием 10.2.2. В них показано, что если S(jt#) = 0, то метод Гаусса —Ньютона тоже сходится ^-квадратично. Это происходит в том случае, когда R(x) линейно, или когда имеет место задача с нулевой невязкой в решении. Если S(x*) мало по сравнению с / (х#)г/ (*»), то метод Гаусса — Ньютона сходится локально ^-линейно. Однако если S(x*) слишком велико, то метод Гаусса — Ньютона может вообще не быть локально сходящимся. Далее, сразу после следствия 10.2.2, мы прокомментируем эти результаты. Теорема 10.2.1. Пусть R: R"->Rm, и функция f(x) = = y Я (х)т R (х) дважды непрерывно дифференцируема в открытом выпуклом множестве DgR". Предположим, что /(дс)е eLipY(D), причем ||/(*)112^а Для всех x^D, а также, что существуют xm е D и Я, о ^ 0, такие что / (хУ R (хл) = 0, Л —наименьшее собственное значение для /(*Jr/(*,), и II (/ (х) - J (х.))т R (*,) И, < а || х - хл ||2 (10.2,4) для всех лее/). Если а<Я, то для любого се(1Д/<*) существует е > 0, такое, что для всех х0 е N(x*, г) последовательность, порожденная методом Гаусса — Ньютона xk+i = xh-(J (xk)T J (xk))~l J (xkf R (xk), корректно определена, сходится к *» и удовлетворяет неравенствам иь+1-хЛ<%Ъ**-*Л + 1£Ъхь-хЛ (Ю.2.5) и II хш - х. ||2 < ^±± || хк - х, ||2 < || xk - х. ||2. (10.2.6) Доказательство. Доказательство проводится по индукции. Мы можем предположить, что А, > а ^ 0, так как утверждения теоремы относятся только к этому случаю. Пусть с есть фиксированная константа из интервала (1, Va)> выражения /(хо)> R(xo) и R(x*) для краткости обозначены соответственно через /о, Ro и /?*, и через ||-|| обозначена векторная и матричная
10.2. Методы типа Гаусса — Ньютона 265 /г-нормы. Согласно знакомым теперь нам доводам, существует 8i > 0, такое, что /*У0 не вырождена и к'оЧГ'Ку *ля всех *oetf(*„ е,). (10.2.7) Пусть e = min{e1, ^^}. (Ю.2.8) Тогда на первом шаге хх корректно определено и х\ ~~ х. = хо "" *, ~"~ (^Uo) ^0^0 === = - (W №о + /0Ч (* - *о)] = = - ТО)"' КЧ - П {R-K-h (* - *»))]. (Ю.2.9) По лемме 4.1.12 IIR.-Ro-/о(*.- х0)||< 11|х0-х, II2. (10.2.10) Из (10.2.4), вспоминая, что / (xt)T R (ас,) = 0, имеем |/J* |<а||*Ь-*.И- (10.2.11) Объединяя (10.2.9), (10.2.7), (10.2.10), (10.2.11) и неравенство II /о II ^5°> получим II ^i — ^!!^11(^^о)"",|| [ 11^^11 -ь Kollll^ — /?0 — ^о (^ — ^о) II ] ^ ^j-[o\\x0-xj+^\\x0-xj*\ что доказывает (10.2.5) для случая k = 0. Из (10.2.8) и приведенного выше соотношения имеем \\x{-xj^\\x0-xj[^+^\\x0-xj\\^ <\\хо- М[х + "4Я = £^ 11*0 — *.Н< И*Ь-*Л что доказывает (10.2.6) для случая k = 0. Аналогичным образом проводится шаг индукции. □ Следствие 10.2.2. Пусть выполнены предположения теоремы 10.2.1. Если /?(**) = 0, то существует е > 0, такое, что для всех x0eiV(x#, е) последовательность {**}, порожденная методом Гаусса — Ньютона, корректно определена и сходится ^-кваДРа" тично к х*.
266 Гл. 10. Нелинейная задача о наименьших квадратах Доказательство. Если /?(**) = 0, то в (10.2.4) можно положить а равным нулю. Тогда, согласно (10.2.6), последовательность {xk} сходится к *#, а согласно (10.2.5), скорость сходимости будет <7"кваДРатичн°й. П Из теоремы 10.2.1 видно, что метод Гаусса — Ньютона не столь хорош, как большинство ранее рассмотренных в книге локальных методов, потому что на многих задачах с невырожденной матрицей / (х*) TJ (х+) он обладает невысокой локальной сходимостью, а на некоторых из них он вообще не является локально сходящимся. Константа а, входящая в (10.2.4), играет решающую роль в доказательстве сходимости и заслуживает дальнейшего исследования. Удобно рассматривать а как обозначение для ||S(*#)||2, так как для х, достаточно близких к **, можно показать в качестве упражнения, что (/ (х) - J (х.))т R (дО ~ S (х.) (х - *.). Из этой интерпретации, равно как и из (10.2.4), а является абсолютной совокупной мерой нелинейности и величины невязки в решении задачи. Так, если функция R(x) линейна или /?(*») = = 0, то непосредственно из (10.2.4) следует, что а = 0. Отношение аД, которое для гарантии сходимости должно быть меньше 1, может рассматриваться как относительная совокупная мера нелинейности и величины невязки в решении задачи. Таким образом, теорема 10.2.1 утверждает, что скорость сходимости метода Гаусса — Ньютона уменьшается с ростом относительной нелинейности или относительной величины невязки в решении задачи, причем если любая из этих двух величин слишком велика, то метод может вообще не сходиться. Иначе говоря, это указывает на то, что чем больше S(x*) по сравнению с /(jc#) TJ(х*), тем, вероятно, хуже будет работать метод Гаусса — Ньютона. Хотя метод Гаусса — Ньютона имеет ряд проблем, он служит основой для некоторых важных и успешно работающих практических методов решения нелинейных задач о наименьших квадратах. В табл. 10.2.3 подытожены преимущества метода Гаусса— Ньютона, которые желательно сохранить, и недостатки, которые хотелось бы преодолеть. В примерах 10.2.4 и 10.2.5 показано поведение метода Гаусса — Ньютона на простой задаче с одной переменной. В примере 10.2.4 исследуется поведение метода Гаусса — Ньютона при наилучшем приближении моделью etx = y набора данных вида (/, у): (1,2), (2,4), (3, уг) для различных значений t/3. Когда уъ = 8, модель точно приближает данные при х% = In 2 s 0.69315, и в этом случае метод Гаусса — Ньютона сходится квадратично, По мере уменьшения #3 оптимальное зна-
10.2. Методы типа Гаусса — Ньютона 2*7 Таблица 10.2.3. Преимущества и недостатки метода Гаусса — Ньютона Преимущества 1. Локальная (/-квадратичная сходимость для задач с нулевой невязкой в решении. 2. Быстрая локальная <7-линейная сходимость для задач, которые не являются слишком нелинейными или имеют в решении достаточно малые невязки. 3. Решает линейную задачу о наименьших квадратах за одну итерацию. Недостатки 1. Медленная локальная ^-линейная сходимость на задачах, которые довольно нелинейны или имеют в решении достаточно большие невязки. 2. Отсутствие локальной сходимости на задачах, которые сильно нелинейны или имеют в решении очень большие невязки. 3. Не является корректно определенным, если /(**) не имеет полного столбцового ранга. 4. Не гарантирована глобальная сходимость. чение *♦ становится все меньше, невязка R(x*) в решении — все больше и эффективность метода Гаусса — Ньютона ухудшается. При (/з = 3 и у$ = —1 метод Гаусса — Ньютона является все еще линейно сходящимся, хотя в последнем случае сходимость очень медленная. В случаях у$ = — 4 и у$ = —8 метод Гаусса — Ньютона вообще не сходится локально. Для сравнения в примере 10.2.4 показано также поведение метода Ньютона для нелинейных наименьших квадратов (10.1.3) на всех этих задачах. Тогда как действие метода Гаусса — Ньютона сильно зависит от размера невязки, для метода Ньютона это не существенно, и он работает нормально на всех этих задачах. Для каждой задачи мы рассматриваем две начальные точки: Хо= 1 и значение х0, отличающееся от х* не более чем на 0.1. Поведение алгоритмов при начальной точке, более близкой к решению, наилучшим образом передает их свойства локальной сходимости. Пример 10.2.4. Пусть R: R*->R4, ri(x) = efi —yh /=1, .. .,4, / (х) = у/?(х)г/?(*), где tx=l, ух = 2, /2 = 2, у2 = 4, /3 = 3, и пусть t/з и хо принимают значения, указанные в таблице. Тогда метод Гаусса — Ньютона (10.2.3) и метод Ньютона (10.1.3) требуют следующего числа итераций для достижения на каждой из этих задач точности Wf(xk)|< 10~10 на ЭВМ CDC с 14 + десятичными разрядами. Для каждой задачи также указаны точка минимума х0 функции f{x) и величина невязки в решении /(*.)•
268 Гл. 10. Нелинейная задача о наименьших квадратах Количество итерации,требуемое для достижения точности |vt(Xk) I* 10"'°методом Л 8 3 -1 -4 -8 *© 1 0.6 I 0.5 ! 0 1 -аз I -0.7 секущих 6 5 8 4 1! 5 13 6 15 8 Ньютона 7 6 9 5 10 4 12 4 12 4 х* 0.69315 0.44005 0.044744 -0.37193 -0.79148 /(*,) 0 1.6390 6.9765 16.435 41 145 В примере 10.2.5 более детально изучаются случаи из примера 10.2.4, когда метод Гаусса — Ньютона не сходится. Пример 10.2.5. Пусть f(x) задано, как в примере 10.2.4. Если у3 = —4, то *,= — 0.3719287. Пусть х0 = х„ + б, тогда для достаточно малого 161 метод Гаусса — Ньютона дает х{ ^ х0 — (3.20) б, так что | х{ — jtjs (2.20)| xQ — хJ. Таким образом, хх находится дальше от дс„ чем х0. Например, если х0 = —0.3719000, то atj = —0.3719919. Если */3 = —8, то х0 = —0.7914863, и тогда для х0 = хш + 6 при достаточно малом |б| метод Гаусса —Ньютона дает х{о*х0 — (7.55) б, так что |*1—*#|£ё (6.55) |*о —*#|. Например, если х0 = = —0.7915000, то хх =—0.7913968. Интересной особенностью примера 10.2.5 является то, что метод Гаусса — Ньютона делает плохие шаги, выбирая их слишком большими по длине, но верными по направлению. Этот факт может заинтересовать читателя: действительно ли шаг по методу Гаусса — Ньютона всегда делается в направлении спуска? Это, в самом деле, имеет место всякий раз, когда шаг корректно определен. Доказательство является как раз обобщением доказательства из разд. 6.5 того, что шаг метода Ньютона при решении нелинейных уравнений является направлением спуска для соответствующей задачи минимизации. Если J(xc) имеет полный столбцовый ранг, так что матрица J(xc)TJ(xc) не
10.2. Методы типа Гаусса — Ньютона 269 вырождена, а шаг метода Гаусса — Ньютона sQ = -(J (хс)т J (хс)Г1 J (хс)т R (хс) корректно определен, то J(xc)TJ(xc) положительно определена и выполняется соотношение V/ (хс)т sQ = [J (хс)т R (хс))т [- (У (хс)т J (хс))~х J (хс)т R (хс)] = = - [* (*с)т J (хс)]т (/ (хс)т J (хс)) [J (хс)т R (хс)] < 0, которое доказывает, что шаг метода Гаусса — Ньютона находится в направлении спуска. Это указывает на два возможных пути улучшения алгоритма Гаусса — Ньютона: использование его с линейным поиском или со стратегией доверительной области. Эти два подхода приводят к двум алгоритмам, которые применяются на практике. Алгоритм, использующий метод Гаусса — Ньютона с линейным поиском, это просто х+ = хс - К (J {хс)т J (xc))~l J {хс)т R (хе)9 (10.2.12) где Кс выбирается методами разд. 6.3. Будем называть (10.2.12) демпфированным методом Гаусса — Ньютона. К сожалению, в некоторых работах его называют методом Гаусса — Ньютона. Поскольку демпфированный метод Гаусса — Ньютона всегда делает шаги в направлении спуска, которые удовлетворяют критерию линейного поиска, то метод локально сходится почти на всех нелинейных задачах о наименьших квадратах, включая задачи с большой невязкой в решении или сильно нелинейные задачи. Действительно, по теореме 6.3.3 он обычно сходится глобально. Однако он все же может сходиться очень медленно на тех задачах, на которых метод Гаусса — Ньютона сталкивался с трудностями. Например, если (10.2.12) применяется в четвертой задаче примера 10.2.4 и используется простой линейный поиск с делением пополам Гт. е. используется первое подходящее значение Хс из последовательности!,-^, -j, -g.-.)> то, начиная из точки с Хо = —0.3, алгоритму требуется все же 44 итерации, 45 вычислений J(x) и 89 вычислений R(x) для достижения точности |V/(jcc)|^ Ю-10, в то время как методу Ньютона требуется 4 итерации! Кроме того, демпфированный алгоритм Гаусса — Ньютона все же не будет корректно определенным, если Цхс) не имеет полного столбцового ранга. Другая из предлагаемых нами модификаций алгоритма Гаусса — Ньютона состоит в выборе х+, согласно подходу «модель— доверительная область»: найти min || R (хс) + J (хс) (х+ — хс) ||2 *+SRrt при условии || х+ — хс ||2 < 6С. (10.2.13)
270 Гл. 10. Нелинейная задача о наименьших квадратах Как следствие из леммы 6.4.1, легко получить решение для (10.2.13) в виде *+ = хс - (/ (хс)т J (хс) + ixcl)'1 J (хс)т R (хс), (10.2.14) где [1с = 0, если 6С ^ \\(J(xc)TJ(xc))-4{xc)TR(xc)\\2, и \хс > 0 в противном случае. Формула (10.2.14) была впервые предложена Левенбергом (1944) и Марквартом (1963) и теперь известна как метод Левенберга — Маркварта. Много версий метода Ле- венберга — Маркварта было реализовано в виде программ, использующих различные стратегии выбора \ic. Так, реализация формулы (10.2.14) в виде алгоритма доверительной области, где [ic и 8С выбраны по способам из разд. 6.4.1 и 6.4.3, принадлежит Морэ (1977). (Морэ использует масштабирование доверительной области, как это описано в разд. 7.1.) Шаг х+ — хс, заданный согласно (10.2.14), может быть вычислен более точно путем решения эквивалентной линейной задачи о наименьших квадратах (см. упр. 12). Свойства локальной сходимости метода Левенберга — Маркварта аналогичны свойствам метода Гаусса — Ньютона и приведены в теореме 10.2.6. Теорема 10.2.6. Пусть выполнены условия теоремы 10.2.1 и последовательность {\лк} неотрицательных действительных чисел ограничена сверху числом b > 0. Если а < X, то для любого се(1, (Х + Ь)/(о + Ь)) существует е > 0, такое, что для всех xq^N(x*> е) последовательность, порождаемая методом Левенберга — Маркварта **.+! = **-(/ (*k)T J (xk) + МГ1 / (xk)T R (xk\ корректно определена и удовлетворяет соотношениям II *»+! - *, И2 < \(х + Ь) И ** "" *« [|2 + 2 (Г+ Ь) Ч ** - Х* »2 и ll^i-^Jl2<g(a+2^^ + 'Ml^-A:Jl2<|U.~xJb. Если /?(х#) = 0 и |^ = 0(||/(л:*)г#(**)112), то {xk} сходится ^-квадратично к лг*. Доказательство. Оно представляет собой простое обобщение теоремы 10.2.1 и следствия 10.2.2. См. также работу Дэнниса (1977). □ В теореме 10.2.5 говорится, что алгоритм Левенберга — Маркварта может все же быть медленно локально сходящимся на задачах с большой невязкой в решении, а также на сильно нелинейных задачах, и иногда это действительно так. Тем не
10.3. Методы полностью ньютоновского типа 271 менее многие реализации данного алгоритма, в частности реализация Морэ, которая включена в пакет программ MINPACK, как в конечном счете оказалось, очень успешно применяются на практике, и поэтому указанный алгоритм представляет собой один из подходов, которые мы рекомендуем для общего решения нелинейной задачи о наименьших квадратах. Несколько факторов делают алгоритмы Левенберга — Маркварта на многих задачах предпочтительней, чем алгоритмы демпфированного метода Гаусса — Ньютона. Один из этих факторов состоит в том, что метод Левенберга — Маркварта корректно определен, даже когда J(xc) не имеет полного столбцового ранга. Другой состоит в том, что в случаях, когда шаг метода Гаусса — Ньютона оказывается слишком большим по длине, шаг метода Левенберга— Маркварта близок к направлению наискорейшего спуска —J(xc)TR(xc), и это часто лучше, чем шаг демпфированного метода Гаусса — Ньютона. Для некоторых версий алгоритма Левенберга— Маркварта доказана глобальная сходимость, например, Пауэллом (1975), Осборном (1976) и Морэ (1977). В разд. 10.3 обсуждается другой подход к решению нелинейной задачи о наименьших квадратах, который является несколько более надежным, но вместе с тем и более сложным, чем подход Левенберга — Маркварта. 10.3. МЕТОДЫ ПОЛНОСТЬЮ НЬЮТОНОВСКОГО ТИПА Другой рассматриваемый класс методов решения нелинейной задачи о наименьших квадратах основан на использовании квадратичной модели функции f(x) в окрестности точки хс (10.1.2), учитывающей полностью все члены соответствующей формулы Тейлора. Метод Ньютона для нелинейной задачи о наименьших квадратах состоит в выборе х+, которое было бы стационарной точкой этой модели, т. е. x+ = xc-(J(xc)TJ(xc) + S(xc)rlJ(xcYR(xe). По теореме 5.2.1 он локально <7"кваДРатично сходится к точке минимума х+ функции f(x), когда гессиан V2f(x) = J(xc)TJ(xc) + + S(xc) непрерывен по Липшицу в окрестности точки хс и V2/(*«) положительно определен. Таким образом, свойства локальной сходимости метода Ньютона для нелинейной задачи о наименьших квадратах действительно лучше, чем у методов из предыдущего раздела, так как метод Ньютона обладает высокой локальной скоростью сходимости на почти всех задачах, тогда как демпфированный метод Гаусса — Ньютона и метод Левенберга — Маркварта могут медленно локально сходиться при сильно нелинейной функции R(x) или большом значении
272 Гл. 10. Нелинейная задача о наименьших квадратах Причина, по которой в нелинейной задаче о наименьших квадратах редко применяется метод Ньютона, состоит в том, что редко когда имеется возможность за оправданную цену получить J(Xc)TJ(xc) + S(xc) в аналитическом виде. Если недоступно аналитическое значение J(xc)> то оно должно аппроксимироваться конечными разностями так, чтобы yf(xc) = *B=:J(xc)TR(xc) вычислялось как можно точнее. Это обходится в п дополнительных вычислений R(x) на каждой итерации. Однако стоимость аппроксимации V2f(xc) или S(xc) конечными разностями, составляющая в обоих случаях дополнительные (п2 + Зл)/2 вычислений на каждой итерации, обычно непозволительно высока. Непосредственное применение методов секущих из гл. 9 к нелинейной задаче о наименьших квадратах также нежелательно потому, что эти методы аппроксимируют все составляющие в выражении для V2f{xc). Однако, поскольку в нелинейных алгоритмах наименьших квадратов, как нами уже отмечалось, неизбежно должно вычисляться J(xc) либо аналитически, либо по конечным разностям, составляющая J(xc)TJ(xc) в выражении для V2f(xc) всегда имеется в нашем распоряжении, и нам необходимо лишь аппроксимировать S(xc). Так как вдобавок J(xc)TJ(xc) часто представляет собой преобладающую часть матрицы V2f(xc)y то методы секущих, которые не учитывают этого факта и аппроксимируют целиком всю V2f(xc) по секущим, не показали особой эффективности на практике. Поскольку т S(xc)=Ydri(xc)V2ri(xc), другой альтернативой служит аппроксимация каждой /гХя-мат- рицы V2ri(xc) согласно методике гл. 9. Это неприемлемо для алгоритмов общего назначения потому, что требует хранения Дополнительно т симметричных /iXя-матриц. Тем не менее эта Ьдея имеет определенную связь с подходом, который реально используется. В удачном подходе к решению нелинейной задачи о наи- иеныпих квадратах на основе идеи метода секущих производится аппроксимация V2f(xc) матрицей J(xc)TJ(xc)+ Ас, где Ас •сть отдельная аппроксимация по секущим для S(xc). Мы будем ■алее рассматривать подход Дэнниса, Гэя и Уэлша (1981), а всылки на другие методы можно найти в этой же статье. Нахождение Ас состоит в непосредственном применении методик пл. 8 и 9. Предположим, что имеется аппроксимация Ас для ${хс), был сделан шаг из хс в х+, и мы хотим построить аппроксимацию А+ для S(x+). Прежде всего возникает вопрос «Что представляет собой соотношение секущих, которому должна удовлетворять Л+?» Вспомним, что для задач минимизации матрица
10.3. Методы полностью ньютоновского типа 273 #+ аппроксимировала V2/(x+), и соотношением секущих было H+(x+ — xc) = Wf(x+) — Vf(xc).Аналогично если аппроксимацию- т s(*+)=£M*+)v2M*+) временно представить себе в виде матрицы т А+=Т,г{(х+)(Н{)+, (10.3.1) где каждое (#0 + аппроксимирует V2r/(x+), то каждое (#/) + должно удовлетворять соотношению (#,)+ (*+ - *с) = Vr, (х+) - Vr, (хс) = = (/-я строка /(jc+))7' — (/-я строка /(jcc))r. (10.3.2) Комбинация (10.3.1) и (10.3.2) дает соотношение m А+ (х+ - хс) = £ г, (х+) (#,)+ (*+ - хс) = /-1 m = 2 Г|(*+)[(*-я строка /(*+))г —(/-я строка /(*с))г] = = /(л:+)г/?(^)-/(^/?(;с+)А^#, (10.3.3) служащее для А+ аналогом соотношения секущих. Заметим, что, хотя это соотношение было выведено из рассмотрения отдельных аппроксимаций (#*)+> результатом является единственное соотношение секущих для той единственной дополнительной матрицы Л+, которая будет храниться в памяти. В одномерном случае А+ полностью определяется соотношением (10.3.3). Пример 10.3.1 показывает, как получающийся в результате метод секущих для нелинейных задач о наименьших квадратах работает на тех же задачах, что рассматривались в примерах 10.2.4 и 10.2.5. В целом мы увидим, что метод секущих лишь несколько медленнее метода Ньютона и что он может работать лучше, чем метод Гаусса — Ньютона, на задачах со средней и большой невязкой в решении. В частности, он быстро локально сходится на тех примерах, в которых метод Гаусса — Ньютона не сходится вообще. Пример 10.3.1. Пусть /?(x), f(x), tu yh /2, #2, h и набор значений для уз и хо такие же, как в примере 10.2.4. Тогда метод секущих для одномерных нелинейных задач о наименьших квадратах **+i = хк- (J(xk)TJ(xk) + AkrlJ(xk)TR(xk), 0 * = 0, k>0, Ak=\ in*k)-'(*k-x)]T*{*k\ ^п (Ю-3-4> I *н-*н-
274 Гл. 10. Нелинейная задача о наименьших квадратах требует приведенного ниже количества итераций для достижения точности |V/(xc)|< 10-10 на каждой из следующих задач на ЭВМ CDC с 14+ десятичными разрядами. Для сравнения из примера 10.2.4 воспроизведено количество итераций, требуемых для метода Ньютона, а также решение х* и величина невязки в решении /(*♦). Количество итераций, требуемое для достижения точности | Vf(xk) |410~,0методом Уз 8 3 -1 -4 -8 *о 1 0.6 1 0.5 1 0 1 -0.3 1 -07 Гаусса-Ньютона 5 4 12 9 34 32 * * * * Ньютона 7 6 9 5 10 4 12 4 12 4 х* 0.69315 0 44005 0.044744 -0.37193 -0,79148 Дч) 0 1.6390 6.9765 16.435 41.145 * Метод Гаусса-Ньютона не сходится (см.упр 10.2 5), При п > 1 соотношение (10.3.3) определяет А+ не полностью, и мы доопределяем Л+, используя методику гл. 9. Поскольку матрица S(x+) симметрична, то такой должна быть и Л+; тем не менее в общем случае S{x) может не быть положительно определенной даже в решении х» (см. упр. 15), поэтому мы не будем требовать положительной определенности Л+. У нас нет никакой другой новой информации об Л+, следовательно, как и в гл. 9, будем брать в качестве А+ наиболее похожую на Ас матрицу среди множества допустимых аппроксимаций, выбирая Л+, дающую решение задачи о минимальных поправках; min \T-T(A+-Ac)T-ll при условии: А+ — Ас симметрична, A+sc = y*. (10.3.5) Здесь sc = x+ — xc9 Ус определено в (10.3.3) и Т €=RrtXn не вырождена. Если выбрать ту же самую матрицу весов 7\ что обеспечила получение DFP-формулы, т. е. любую 7\ для которой ТТ\ = ур ус А V/ (*+) - V/ (хс) = J {х+У R(x+)-J (хс)т R (*,),
10.3. Методы полностью ньютоновского типа 275 то, как нетрудно показать, обобщая технику разд. 9.3, решением для (10.3.5) служит л _ л , (у? - Л А) у1 + Ус (у? - А а)г (Ус*-Ас8с'8с)УсУТс /1лоАч Формула пересчета (10.3.6) была предложена Дэннисом, Гэем и Уэлшем (1981); она используется для аппроксимации S(x) в их программе по решению нелинейной задачи о наименьших квадратах NL2SOL. Как, может быть, читатель уже догадывается, получающийся в результате метод секущих для нелинейной задачи о наименьших квадратах, использующий итерационную формулу (10.3.4) и пересчет Ak, согласно (10.3.6), локально <7-сверхлинейно сходится при стандартных предположениях относительно f(x) и Л0. Этот результат получен Дэннисом и Уолкером (1981) и представляет собой частный случай теоремы 11.4.2. Программа NL2SOL, которая реализует только что описанный метод секущих, имеет дополнительно несколько интересных особенностей. Для обеспечения глобальной сходимости алгоритма используется стратегия «модель — доверительная область», т. е. на каждой итерации решается задача: найти min | R (хс)т R (хс) + sTJ (хс)т R (хс) + + у *r V (*с)т J (Хс) + Ас] s (10.3.7) при условии ||s||2^6c относительно sc, так что sc = -(J(xc)TJ(xc) + Ac + ixciylJ(xc)TR(xc)t (10.3.8) для некоторого \лс ^ 0. (В действительности опять же используется масштабированная доверительная область.) Далее, в алгоритме иногда вместо расширенной модели (10.3.7) участвует модель Гаусса — Ньютона (10.2.2), не учитывающая Ас. Из-за упоминавшейся выше сложности, связанной с аппроксимацией S(x) конечными разностями, и в связи с тем, что метод.Гаусса— Ньютона имеет тенденцию хорошо работать в начальной стадии, NL2SOL использует для А0 нулевую матрицу, так что в начальной стадии эти две модели эквивалентны. Затем в том месте каждой итерации, где ограничитель длины шага бс пере- считывается в 6+ с учетом сравнения действительного уменьшения значения функции f(xc) — /(*+) с уменьшением, предсказанным квадратичной моделью, NL2SOL вычисляет уменьшения,
276 Гл. 10. Нелинейная задача о наименьших квадратах предсказанные обеими квадратичными моделями, независимо от того, какая из них применялась для выработки шага из хс в х+. Пересчет Ас в Л+ проводится всегда, но первый пробный шаг из х+ вычисляется при помощи той модели, в которой предсказываемое уменьшение функции наилучшим образом согласуется с действительным уменьшением при переходе от хс к х+. Характерно, что такое адаптивное моделирование приводит к тому, что NL2SOL использует шаги по методу Гаусса — Ньютона или Левенберга —Маркварта до тех пор, пока Ас не накопит достаточное количество полезной информации о вторых производных, а затем переключается на шаги, соответствующие расширенной модели и определяемые согласно (10.3.7), (10.3.8). Для легких задач с малыми заключительными невязками для сходимости иногда достаточно лишь шагов метода Гаусса — Ньютона. И последнее. Перед каждым пересчетом (10.3.6) в NLS2SOL матрица Ас умножается на «масштабирующий» множитель т Ye = min(-|^-,*l}, (10.3.9) I SCACSC ) который почти такой же, как и множитель Шанно и Фуа, упоминавшийся в разд. 9.4. Причина, по которой такое масштабирование необходимо на каждой итерации, состоит в том, что скалярные компоненты п(х) в m S(x)=Ttrl(x)V2rt(x) иногда изменяются быстрее, чем компоненты вторых производных W/(jc), а формула пересчета (10.3.6) не может достаточно быстро реагировать на изменения масштабов. В особенности это проявляется при довольно малом /?(*#). Масштабирующий множитель (10.3.9) пробует учесть уменьшение с ||/?(хс)||2 до Il#(*+)ll2, так что аппроксимация А+ оказывается более точной в случаях малой и нулевой невязки в решении. Относительно дальнейших деталей алгоритма NL2SOL, см. Дэннис, Гэй и Уэлш (1981). На практике хорошая программа метода Левенберга —Маркварта (например, программа Морэ в пакете MINPACK) и хорошая программа метода секущих для нелинейной задачи о наименьших квадратах (например, NL2SOL) при сравнении оказываются близкими. На не слишком нелинейных задачах с малой невязкой в решении обычно нет большой разницы между этими двумя программами. На задачах с большой невязкой в решении и на сильно нелинейных задачах программа метода се-, кущих часто требует меньшего числа итераций и вычислений функции. Это справедливо в особенности, если необходимо найти решение х* с высокой точностью, так как в этом случае
10.4. Некоторые другие соображения 277 важное значение приобретает разница между медленной линейной сходимостью и <7*сверхлинейной сходимостью. С другой стороны, программа метода Левенберга — Маркварта, такая, как программа Морэ, требует для ее написания меньшего числа строк и менее сложна, чем программа метода секущих со всеми ее особенностями, описанными выше. По этим причинам мы рекомендуем в общем случае использовать обе программы. 10.4. НЕКОТОРЫЕ ДРУГИЕ СООБРАЖЕНИЯ ОТНОСИТЕЛЬНО РЕШЕНИЯ НЕЛИНЕЙНЫХ ЗАДАЧ О НАИМЕНЬШИХ КВАДРАТАХ В этом разделе мы кратко обсуждаем некоторые другие темы, связанные с нелинейными наименьшими квадратами, и читателей, проявивших к этому интерес, адресуем за подробностями к более полным источникам. Первой темой служит критерий останова для нелинейных задач о наименьших квадратах, который отличается несколькими интересными моментами от критерия, рассмотренного в разд. 7.2 в связи с задачами безусловной минимизации общего вида. Во-первых, поскольку наименьшим возможным значением для / (х) = у R (х)т R (х) является нуль, то проверка вида /(*+)»0? служит подходящим критерием сходимости для задач с нулевой невязкой в решении. Эта проверка реализуется как /(*+) s^toli, где toll — надлежащим образом выбранная точность. Во-вторых, градиентная проверка сходимости для нелинейных задач о наименьших квадратах вида Vf(*+) = /(*Jrtf(*+)^0? (10.4.1) имеет благодаря структуре Vf{x) особый смысл, так как его можно интерпретировать как вопрос о том, является ли R(x+) почти ортогональным к линейному подпространству, натянутому на столбцы матрицы /(*+). В качестве упражнения можно показать, что косинус угла ф+ между R{x+) и этим подпространством равен созф+=, *+М^+ГЧ*+ (1042) |/+('+'+)" '+*+И*+112 где /+ Д/(*+) и /?+Д/?(*+). Если в распоряжении имеется (/+/+)" У+/?+,как это будет в программе демпфированного метода Гаусса — Ньютона или метода Левенберга — Маркварта,
278 Гл. 10. Нелинейная задача о наименьших квадратах тогда вместо (10.4.1) можно использовать проверку cosq>+^ 2^ tol2. Другие критерии останова, такие, как (х+ — хс)ё*0, остаются теми же самыми, что и в задачах безусловной минимизации. Кроме того, в приложениях, связанных с наилучшим приближением данных, иногда в качестве критерия останова используется критерий статистической значимости. Распространенный критерий такого рода, тесно связанный с (10.4.2), обсуждается в упр. 18 и в работе Пратта (1977). Обсуждение критериев останова для нелинейных задач о наименьших квадратах приведено в работе Дэнниса, Гэя и Уэлша (1981). Другой важной темой служит вопрос решения смешанных линейно-нелинейных задач о наименьших квадратах, т. е. тех задач, в которых функция невязки R(x) линейна по некоторым переменным и нелинейна по остальным. Типичным примером является т f М = 7 Z г' (*)2' г<М = *1*'Л + **'Л -»«• /= 1..... т. Здесь переменные хх и х2 входят линейно, в то время как х$ и ха — нелинейно входящие переменные. Нам, очевидно, нужно уметь минимизировать f(x) путем решения нелинейной задачи о наименьших квадратах только относительно двух нелинейно входящих переменных дс3 и х4, так как для любых заданных значений хъ и *4 мы можем вычислить соответствующие оптимальные значения х\ и хг путем решения линейной задачи о наименьших квадратах. Это действительно так, причем весь достаточно сложный анализ, требуемый для построения алгоритма, был выполнен Голубом и Перейрой (1973). Он кратко изложен в упр. 19 и 20. Имеются некоторые машинные программы, такие, как алгоритм VARPRO Кауфмана (1975), которые решают смешанные линейно-нелинейные задачи о наименьших квадратах. Преимущества их состоят в том, что они решают эти задачи за меньшее время и при меньшем количестве вычислений функций, чем стандартные программы для нелинейных наименьших квадратов, и что для линейно входящих переменных не требуется никакого начального приближения. Многие интересные вопросы, относящиеся к решению задач наилучшего приближения данных по принципу нелинейных наименьших квадратов, в основном выходят за рамки этой книги. Один из них касается оценки погрешности получаемых ответов. В линейных задачах о наименьших квадратах Ах ^ 6, возникающих в связи с наилучшим приближением данных, вычисление решения обычно следует за вычислением ковариационной матрицы о2(АТА)-\ где а есть некоторая статистическая характеристика. При соответствующих статистических предположе-
10.4. Некоторые другие соображения 279 ниях эта матрица дает дисперсию и ковариацию ответов xt с учетом ожидаемой неточности в векторе измерений данных 6. В нелинейных задачах о наименьших квадратах используются некоторые аналогичные ковариационные матрицы, а именно b2{jTfJfY , б2 (Ну1) и b2{HJxJTfJfHJx), где xf есть окончательная оценка для *., Jf = J(xf), Hf = J(xf)T J(xf) + S(xf) (или аппроксимация этой матрицы) и 6 = 2f(x)/(m — п)—аналог константы, используемой в линейном случае [см., например, Бард (1970)]. Несмотря на то что надлежащее обсуждение ковариационной матрицы выходит за рамки этой книги, важно предостеречь пользователей программного обеспечения по нелинейным наименьшим квадратам о том, что ковариационные оценки для нелинейных наименьших квадратов не столь надежны, как для линейных наименьших квадратов, и должны использоваться с осторожностью. На улучшение этой ситуации были направлены серьезные исследования; см., например, Бейтс и Уотте (1980). М наконец, как упоминалось в разд. 1.2, много других мер величины вектора /?(*), помимо наименьших квадратов, можно использовать для определения того, что понимается под выражением «хорошо приближает», причем некоторые из них становятся все более важными для практики. Действительно, можно рассматривать нелинейные наименьшие квадраты как частный случай задачи: найти min / (*) = р (/? (*)), /?:R"->RW, р: Rm-*R, (10.4.3) где p(z)=-£ zTz. Другими очевидными возможностями являются p(2)=||z|li и р(г) = llz||oo, называемые соответственно /г и минимаксным принципами наилучшего приближения данных. [См., например, Мюррей и Овертон (1980, 1981), а также Бартелс и Конн (1982).] Когда имеются плохие точки данных (так называемые «выбросы»), то появляется иногда интерес к другим мерам р(г), которые не так сильно учитывают вклад очень больших компонент вектора г. Двумя такими примерами служат функция потерь Хьюбера (1973) Р(г) = .(*<) = = S Pi («|), Г1 1 *|г,|- 2 Pi t :R — R, |г,|<*. \zt\>k, (10.4.4)
280 Гл. 10. Нелинейная задача о наименьших квадратах линейная по zt для | zt\ > kf и функция потерь Битона-Тьюки (1974) т P(z)=Zp2(z<). p2:R->-R, P2(zt) = < );ЛУ V KkJJJ (10.4.5) постоянная при \zi\> k. В каждом из случаев константа k должна быть выбрана подходящим образом. Они представляют собой примеры надежных в работе мер, используемых для наилучшего приближения данных, и здесь уместно сослаться на Хьюбера (1981). В гл. 11 кратко упоминаются некоторые вопросы, связанные с минимизацией дважды непрерывно дифференцируемой функции вида (10.4.3). 10.5. УПРАЖНЕНИЯ 1. Пусть R(x): R^R20, r{ (х) = х{ + */"('<+*з)2/*4 - у(, * = 1, ..., 20, 1 Т f(x) = —R(x) R{x). (Эта задача обсуждалась в разд. 1.2.) Что представляют собой /(jc), Vf (jc), S(jc), V2f (jc)? 2. Покажите, что теорема 10.2.1 останется справедливой, если константу (со + Х)/(2Х) в (10.2.6) заменить на какую-либо другую константу, лежащую между со/% и 1. 3. Покажите, что в предположениях теоремы 10.2.1 для jc, достаточно близкого в jc*, имеет место равенство [/ (х) - / (x.)f R (х,) = S^x.) (х - jc,) + О (|| jc - xjl). [Указания: запишите m /(jc)r/?(*♦) = 5>,(*,)Vr,(*) i = \ и воспользуйтесь разложением Vrt(x) в ряд Тейлора в окрестности точки av] 4. Вычислите (вручную или с помощью калькулятора) первый шаг метода Гаусса — Ньютона для задачи из примера 10.2.4, взяв уз = 8 и jc0 = 1. Вычислите также первый шаг метода Ньютона и два первых шага метода секущих, записанного в примере 10.3.1. 5. Повторите упр. 4 для случая уз = —8, Хо = —0.7. 6. Пусть *«-*(*«), /с = /(*с), Sc = S(xc), xl = xc-(jTcJcy{JTcRc, xN+ = хс - (JTCJC + Sc) JTCRC, sQ^x%^ xc, sN = xl - xc. Покажите, что sO "~5yve(^c О $csN' Используйте это, чтобы показать, что если гессиан у2 f (x) = J (х)т J (jc) 4- S (x) непрерывен по Липшицу в окрестности точки ми-
10.5. Упражнения 261 нимума х+ функции / {х) = —- R (ху R (х), V f](x>) не вырожден, и хс достаточно близко к х„ то I*? - *. %<II(Фс)~Х 1-2II Se ||21| xe - xj2 + О (|| хс - xjg). В случае // = 1 вы должны уметь показать, что [(4 - *.) ~ (Sc №)"') (Хс - *.)] - О ( | *с - *. |2). (10.5.1) 7. Вычислите / (xJT J (*J и S (аг+) для двух задач из примера 10.2.5. Затем, используя (10.5.1), получите два коэффициента отталкивания 2.20 и 6.55, которые приведены в этом примере. 8. Пусть R(x): R2->R4, г, (х) ^е*1**1*2 - */., /=1 4, f (*) = 1 т = Y /? (*) /? (х). Предположим, что ^ = --2, /2 = — 1» h = 0, /4 = 1> У|- 0.5, #2 = 1, #з = 2, #4 = 4. [/(*) = 0 в точке *„ = (In 2, In 2).] Вычислите одну итерацию метода Гаусса-Ньютона и одну итерацию метода Ньютона, начиная с *0 = (1, 1)Г. Проделайте то же самое, заменив значения ух и уА на 5 и —4 соответственно. 9. Запрограммируйте демпфированный алгоритм Гаусса — Ньютона, использующий алгоритм линейного поиска А6.3.1, и опробуйте его на задачах из примера 9.3.2. Как согласуются ваши результаты с результатами, полученными на этих задачах методом Ньютона и методом секущих? 10. Воспользуйтесь леммой 6.4.1 и покажите, что решением для (10.2.13) является (10.2.14). 11. Покажите, что для произвольного ц ^ 0 шаг метода Левенберга — Маркварта х+ — хс, заданный согласно (10.2.14), является направлением спуска для функции в нелинейной задаче о наименьших квадратах. 12. Задано R е= Rm, / <= RmXn, покажите, что s = — (JTJ + ji/)"1/7'/? является решением нелинейной задачи о наименьших квадратах найти min \\As + b\\2y A e n(m + n)*\ A = heUm+\ b = 13. Докажите теорему 10.2.6, используя технику доказательства теоремы 10.2.1 и следствия 10.2.2. 14. Решите задачи из примера 10.3.1 методом секущих для безусловной минимизации xk+i = xk-—r-> ak х х —• да«о-М*о). к k к—\ J 1/2 I ' 2
262 Гл. 10. Нелинейная задача о наименьших квадратах Сравните ваши результаты с приведенными в примере 10.3.1 для метода