Текст
                    УДК 519.85
ББК 22.18
К 21
Карманов В. Г. Математическое программирование: Учеб.
пособие. — 5-е изд., стереотип. — М.: ФИЗМАТЛИТ, 2004. — 264 с. —
ISBN 5-9221-0170-6.
Рассматривается широкий круг вопросов, связанных с математическим
программированием. Изложены теоретические основы возникающих здесь
задач линейного, выпуклого и нелинейного программирования и построе-
построения численных методов для их решения.
По сравнению с изданием 1986 г. в книгу включены результаты, свя-
связанные с исследованиями в области численных методов оптимизации и их
применением к решению экстремальных задач, в том числе задач вырож-
вырожденного типа.
Четвертое издание — 2000 г.
Для студентов высших учебных заведений.
© ФИЗМАТЛИТ, 2001, 2004
ISBN 5-9221-0170-6	© В.Г. Карманов, 2001


ПРЕДИСЛОВИЕ Эта книга содержит основные положения теории математического программирования и численные методы решения соответствующих экстремальных задач. Книга написана на основе лекций, которые автор читал в течение ряда лет на механико-математическом факультете и на факультете вычислительной математики и кибернетики Московского государст- государственного университета. Естественно, что в курсе, предназначенном для первого знаком- знакомства с предметом, представлены лишь основные численные методы. В связи с этим настоящая книга не может служить справочником, в котором читатель рассчитывает найти тот самый алгоритм, который ему необходим для решения возникшей перед ним реальной задачи оптимизации. Глава 1 посвящена предмету математического программирования, его месту в науке об исследовании операций, примерам задач тех- технико-экономического содержания, математическими моделями кото- которых являются задачи математического программирования. В главе 2 излагается математический аппарат, на который опира- опираются последующие главы книги. В главе 3 основное место отводится условиям оптимальности — необходимым условиям локального минимума в задачах нелинейного программирования, необходимым и достаточным условиям разреши- разрешимости задач выпуклого программирования. Глава 4 — теория линейного программирования. Основные методы решения задач линейного программирования из- изложены в главе 5. Получивший широкое распространение метод штрафных функций рассмотрен в главе 6. Важному понятию устойчивости задач математического програм- программирования посвящена глава 7. Здесь изложен метод регуляризации для решения неустойчивых экстремальных задач. Многократное решение задач одномерной минимизации — непре- непременный этап большинства численных методов математического про- программирования, в связи с чем и появилась глава 8. На первый взгляд методы решения задач безусловной оптими-
Предисловие зации относятся к численному анализу , однако эти методы ста- стали неотъемлемой частью математического программирования. Так, экстремальные задачи с ограничениями (условно-экстремальные за- задачи) методом штрафных функций сводятся к задачам безусловной оптимизации, то же самое относится и к методу регуляризации. Кро- Кроме того, идеи многих методов решения условно-экстремальных задач существенно базируются на методах безусловной оптимизации, ко- которым посвящена глава 9. Весьма существенный раздел этой главы посвящен стабилизирующим свойствам методов градиентного типа, позволяющим находить нормальное решение некорректных задач, не прибегая к процедуре регуляризации. Этот раздел дополняют иссле- исследования, изложенные в главе 7. Глава 10 посвящена методам решения экстремальных задач с огра- ограничениями: методам проекции градиента, условного градиента, мето- методу возможных направлений и методам случайного спуска. Внимание многих специалистов привлечено к методам решения за- задач математического программирования, основанным на построении модифицированных функций Лагранжа. Эти вопросы рассмотрены в главе 11. Основное внимание при исследовании методов, излагаемых в на- настоящей книге, уделяется вопросам сходимости и устойчивости, а также априорным оценкам скорости сходимости — одной из сущест- существенных характеристик качества методов. Относительно численных методов следует сделать одно замечание: при решении реальной задачи самый неудачный, на первый взгляд, метод может оказаться весьма эффективным; в связи с этим автор воздержался от заманчивой перспективы привести некоторые срав- сравнительные характеристики методов, выходящие за рамки оценок ско- скорости сходимости. При работе над книгой большую помощь автору оказывали со- сотрудники ВЦ РАН В.А. Березнев, О.А. Брежнева, А.Ф. Измайлов и А.А. Третьяков, совместную многолетнюю работу с которыми авто- автору трудно переоценить. В. Г. Карманов
ГЛАВА 1 ВВЕДЕНИЕ 1.1. Предмет математического программирования 1.1.1. Содержание предмета. Содержание математического программирования составляют теория и методы решения задач о нахождении экстремумов функций на множествах, определяемых ли- линейными и нелинейными ограничениями (равенствами и неравенст- неравенствами). Математическое программирование является одним из разде- разделов науки об исследовании операций. 1.1.2. Области применения. Задачи математического програм- программирования находят применение в различных областях человеческой деятельности, где необходим выбор одного из возможных образов действий (программ действий), например, при решении проблем уп- управления и планирования производственных процессов, в проектиро- проектировании и перспективном планировании, в военном деле и т. д. Значительное число задач, возникающих в обществе, связано с управляемыми явлениями, т. е. с явлениями, регулируемыми на осно- основе сознательно принимаемых решений. При том ограниченном объеме информации, который был доступен на ранних этапах раз- развития общества, принималось оптимальное в некотором смысле ре- решение на основании интуиции и опыта, а затем, с возрастанием объ- объема информации об изучаемом явлении,— с помощью ряда прямых расчетов. Так происходило, например, создание календарных планов работы промышленных предприятий. Совершенно иная картина возникает на современном промышлен- промышленном предприятии с многосерийным и многономенклатурным произ- производством, когда объем входной информации столь велик, что его об- обработка с целью принятия определенного решения невозможна без применения компьютеров. Еще большие трудности возникают в свя- связи с задачей о принятии наилучшего решения. 1.1.3. Принятие решений. Проблема принятия решений в ис- исследовании операций неразрывно связана с процессом моделирования. Под понятием, обозначаемом термином модель, понимают способ отражать (в том числе и изображать) основное содержание иссле-
Гл. 1. Введение дуемого объекта. Таким образом, модель — это образ изучаемого яв- явления (объекта), т. е. его описание тем или иным средством, кото- которым пользуется субъект моделирования (описания), использующий модель в качестве представителя (заместителя) изучаемого объекта. Первый этап процесса моделирования состоит в построении качественной модели, т. е. в выделении факторов, которые представ- представляются наиболее важными, и в установлении закономерностей, кото- которым они подчиняются. Второй этап — построение математической модели рассмат- рассматриваемой проблемы, т. е. запись в математических терминах качест- качественной модели. Таким образом, математическая модель — это за- записанная в математических символах абстракция реального явле- явления, так конструируемая, чтобы анализ ее давал возможность про- проникнуть в сущность явления. Математическая модель устанавливает соотношения между совокупностью переменных — основными пара- параметрами явления (когда явление управляемое — между параметрами управления). Будем называть математическую модель точной*) в предположе- предположении, что все исходные величины числовых параметров модели явля- являются точными (например, результаты наблюдений). В этом смысле точную модель иногда называют идеальной. В дальнейшем будем предполагать существование точного реше- решения математической задачи, соответствующей точной модели, т. е. существование соотношения, отвечающего цели (или целям) построе- построения модели. В реальной ситуации сведения о входных параметрах носят, как правило, приближенный характер (например, результаты измерений и т. п.), и в этом случае математическую модель и ей соответст- соответствующую задачу называют реальными, а решение задачи — реальным решением. Реальное решение может и не существовать, несмотря на априорное предположение о существовании точного решения. Заме- Заметим, что подобную весьма возможную ситуацию следует учитывать при выборе соответствующих численных методов, а именно таких, которые позволяют получать приближения к точному решению, не обращаясь к проблеме существования реальных решений. Обратим внимание на то, что, поскольку точная модель по пред- предположению (построению) отражает основное содержание (свойства, цели) моделируемого объекта, этому же условию должна (обязана) удовлетворять (с известной степенью точности) и реальная модель. Вновь подчеркнем, что точная модель так же, как и точное решение дает лишь приближенные сведения о моделируемом объекте, завися- *)Это название не вполне удачно, но оно уже вошло в обиход. Заметим, что иногда точную модель называют идеальной (в смысле идеализированной). Но мы будем придерживаться устоявшегося названия.
1.1. Предмет математического программирования 7 щие от степени адекватности точной модели моделируемому объекту; поэтому точность входных данных реальной модели и точность вы- вычислений в процессе решения должны согласовываться со степенью адекватности точной модели. И, что существенно, реальная модель должна обладать свойствами точной модели, обеспечивающими вы- выполнение условий построения выбираемого численного метода. Этот этап включает также построение целевой функции, т. е. такой числовой характеристики, большему (или меньшему) значению кото- которой соответствует лучшая ситуация с точки зрения принимающего решения. Итак, в результате этих двух этапов формируется соответствую- соответствующая математическая задача. Второй этап уже требует привлечения математических знаний. Третий этап — исследование влияния переменных на значение целевой функции. Этот этап предусматривает владение математичес- математическим аппаратом для решения математических задач, возникающих на втором этапе процесса принятия решения. Широкий класс задач управления составляют такие экстремаль- экстремальные задачи, в математических моделях которых условия на перемен- переменные задаются равенствами и неравенствами. Теория и методы реше- решения этих задач как раз и составляют содержание математического программирования. На третьем этапе, пользуясь математическим аппаратом, находят решения соответствующих экстремальных задач. Обратим внимание на то, что задачи математического программирования, связанные с решением практических вопросов, как правило, имеют большое чис- число переменных и ограничений. Объем вычислительных работ для на- нахождения соответствующих решений столь велик, что весь процесс не мыслится без применения компьютеров, а значит, требует либо создания программ, реализующих те или иные алгоритмы, либо ис- использования уже имеющихся стандартных программ. Четвертый этап — сопоставление результатов вычислений, полученных на третьем этапе, с моделируемым объектом, т. е. экс- экспертная проверка результатов (критерий практики). Таким образом, на этом этапе устанавливается степень адекватности модели и моде- моделируемого объекта в пределах точности исходной информации. Здесь возможны два случая. 1-й случай. Если результаты сопоставления неудовлетвори- неудовлетворительны (обычная ситуация на начальной стадии процесса моделиро- моделирования), то переходят ко второму циклу процесса: уточняется вход- входная информация о моделируемом объекте и в случае необходимости уточняется постановка задачи (первый этап), уточняется или стро- строится заново математическая модель (второй этап), решается соот- соответствующая математическая задача (третий этап) и, наконец, снова
Гл. 1. Введение проводится сопоставление (четвертый этап). 2-й случай. Если результаты сопоставления удовлетворитель- удовлетворительны, то модель принимается. Когда речь идет о неоднократном ис- использовании на практике результатов вычислений, возникает зада- задача подготовки модели к эксплуатации. Предположим, например, что целью моделирования является создание календарных планов произ- производственной деятельности предприятия. Тогда эксплуатация модели включает в себя сбор и обработку информации, ввод обработанной ин- информации в компьютер, расчеты на основе разработанных программ календарных планов и, наконец, выдачу результатов вычислений (в удобном для пользователей виде) для их использования в сфере про- производственной деятельности. Подготовка модели к эксплуатации предусматривает разработку специального математического обеспечения, без которого невозмож- невозможно практическое использование модели: должна быть создана гибкая система программ, обеспечивающая пользователям удобный контакт с компьютером и не требующая при ее эксплуатации высокой мате- математической квалификации пользователей. В то же время математическое обеспечение (впрочем, так же, как и сама модель) должно допускать модернизацию в связи с новыми требованиями, которые жизнь постоянно предъявляет к производст- производству. Подчеркнем, что именно модернизацию, а не создание каждый раз новой системы программ. Только при этих условиях возможно ре- регулярное использование математических моделей в процессе управ- управления. 1.2. Еще раз о моделях Поскольку курс математического программирования включает в себя доказательства значительного числа различных теорем и разбор разнообразных методов решения экстремальных задач, может сло- сложиться впечатление, что роль математика в решении прикладных задач ограничивается его участием в третьем этапе процесса моде- моделирования, в то время как на остальных этапах заняты специалис- специалисты, знающие неформализованные стороны моделируемого объекта. Действительно, бывает и так, но, как правило, результаты такого разделения труда в процессе моделирования оказываются неудовле- неудовлетворительными. Дело в том, что модель лишь приближенно отражает рассматриваемые свойства моделируемого объекта, и степень этого приближения должна согласовываться с точностью входной информа- информации о явлении. Часто появляется желание построить такую математическую мо- модель, в которой учитывалось бы огромное число входных данных. Однако при тщательном анализе оказывается, что влияние многих
1.3. Вопросы классификации и специфики из них на решение либо незначительно, либо просто отсутствует из- за невысокой точности входных данных. Кроме того, нельзя не учи- учитывать то обстоятельство, что математическая модель с большим числом параметров приводит к задаче оптимизации функций столь большого числа переменных, что найти ее численное решение с точ- точностью, согласованной с точностью входной информации, оказывает- оказывается в реальной ситуации делом безнадежным. Таким образом, целый ряд условий, предъявляемых к математи- математическим моделям, требует участия математиков в решении приклад- прикладных задач уже на втором этапе процесса моделирования. Среди условий, которые предъявляются к математическим моде- моделям, существенное место отводится требованиям, связанным с при- применением методов решения математических задач, возникающих на основе разрабатываемых моделей. Поскольку эти вопросы на началь- начальных этапах процесса моделирования часто являются проблемами вто- второго плана и к ним обращаются лишь когда дело касается выбора средств решения соответствующих задач, представляется целесооб- целесообразным определять минимальный набор требований, возникающих при решении задач для моделей наиболее общего вида, широко при- применяемыми численными методами. 1.3. Вопросы классификации и специфики 1.3.1. Направления. В математическом программировании можно выделить два направления. К первому, уже вполне сложивше- сложившемуся направлению — собственно математическому программирова- программированию — относятся детерминированные задачи — когда вся исходная информация является полностью определенной. Ко второму направлению — так называемому стохастическому программированию — относятся задачи, в которых исходная инфор- информация содержит элементы неопределенности, либо когда некоторые параметры задачи носят случайный характер с известными вероят- вероятностными характеристиками. Так, планирование производственной деятельности зачастую производится в условиях неполной информа- информации о реальной ситуации, в которой будет выполняться план. Или, скажем, когда экстремальная задача моделирует работу автомати- автоматических устройств, которая сопровождается случайными помехами. Заметим, что одна из главных трудностей стохастического програм- программирования состоит в самой постановке задач главным образом из-за сложности анализа исходной информации. 1.3.2. Основные разделы. Традиционно в математическом программировании выделяют следующие основные разделы. Линейное программирование: целевая функция линейна, а множес- множество, на котором ищется экстремум целевой функции, задается систе-
10 Гл. 1. Введение мой линейных равенств и неравенств. В свою очередь в линейном про- программировании существуют классы задач, структура которых поз- позволяет создать специальные методы их решения, выгодно отличаю- отличающиеся от методов решения задач общего характера. Так в линейном программировании появился раздел транспортных задач. Нелинейное программирование: нелинейны целевая функция и ог- ограничения. Нелинейное программирование принято подразделять сле- следующим образом. Выпуклое программирование: когда выпукла целевая функция (ес- (если рассматривается задача ее минимизации) и выпукло множество, на котором решается экстремальная задача. Квадратичное программирование: когда целевая функция квадра- квадратична, а ограничения — линейные равенства и неравенства. Многоэкстремальные задачи: здесь обычно выделяют специали- специализированные классы задач, часто встречающихся в приложениях, на- например, задачи о минимизации на выпуклом множестве вогнутых функций. Важным разделом математического программирования является целочисленное программирование — когда на переменные накладыва- накладываются условия целочисленности. 1.3.3. Специфика. В чем состоит специфика задач математичес- математического программирования? Во-первых, к задачам математического программирования непри- неприменимы, как правило, методы классического анализа для отыскания условных экстремумов, так как даже в наиболее простых задачах — линейных — экстремум достигается в угловых точках границы мно- множества условий, т. е. в точках, где нарушается дифференцируемость. И наиболее сильный метод решения экстремальных задач в класси- классическом анализе — метод множителей Лагранжа — разработан для случая, когда множество условий задается системой уравнений, а не системой неравенств. Другой специфической особенностью является то, что в практи- практических задачах число переменных и ограничений столь велико, что если просто перебирать все точки, "подозреваемые в экстремальнос- экстремальности", например, все угловые точки множества условий, то никакая современная вычислительная система будет не в состоянии справить- справиться с этой задачей в мало-мальски разумные сроки. В связи со сказанным целью математического программирова- программирования является создание, где это возможно, аналитических методов определения решения, а при отсутствии таких методов — создание эффективных вычислительных способов получения приближенного решения. Наконец, заметим, что название "математическое программиро-
1.4- Примеры математических моделей 11 вание" связано с тем, что целью решения задач является выбор про- программы действий. 1.4. Примеры математических моделей 1.4.1. Теория математических моделей является предметом спе- специального курса и требует от читателя в первую очередь знакомства с той областью знаний, которой принадлежит моделируемый объект. В настоящей книге приводятся традиционные примеры, иллюст- иллюстрирующие применение метода математического моделирования в за- задачах экономического содержания. 1.4.2. Задача о рационе. По заданному ассортименту продуктов при известном содержании в каждом из них питательных веществ и известной стоимости продуктов составить рацион, удов- удовлетворяющий необходимым потребностям с минимальными денеж- денежными затратами. Пусть имеется п различных продуктов и т питательных веществ (например, жиров, белков, углеводов, витаминов и др.). Обозначим через dij содержание (в единицах массы) j-ro питательного вещества в единице массы г-го продукта; через bj обозначим минимальную (в единицах массы) суточную потребность в j-м питательном вещест- веществе. Наконец, через Х{ обозначим искомое суточное потребление г-го продукта. Очевидно, что Х{ ^ 0. п Величина 2_^aijxi есть общее содержание j-ro питательного ве- вещества в рационе, которое не должно быть меньше минимальной потребности bji У ^ CLjjXj ^ bj, j = 1,771. г=1 Если Ci — стоимость единицы массы г-то продукта, то стоимость п всего рациона определяет линейная форма У^ CjXj. Итак, математическая формулировка задачи выбора рациона состоит в следующем: найти п min 2^ cixi при условиях п 2.aijxi ^ bj, j = 1,771, xi ^ 0, г = 1,п.
12 Гл. 1. Введение Эта задача является одной из типичных задач линейного програм- программирования. В постановке задачи вовсе не обязательно было указывать, что это задача о рационе. Достаточно ясно, что таким же образом могут быть сформулированы многочисленные задачи об оптимальных сме- смесях (слово "смесь" здесь следует понимать в обобщенном смысле: это и собственно смесь, и сплав, и рацион, и т. д.). 1.4.3. Транспортная задача. Другим типичным примером зада- задачи линейного программирования является транспортная задача. Тре- Требуется составить план перевозок однородного груза таким образом, чтобы общая стоимость перевозок была минимальной. Исходная информация: a,i — количество единиц груза в г-м пункте отправления (г = 1, ттг); bj — потребность в j-м пункте назначения (j = l,n) в единицах груза; Cij — стоимость перевозки единицы груза из г-го пункта в j-й. Обозначим через хц планируемое количество единиц груза для перевозки из г-го пункта в j-й. В принятых обозначениях: т п j%ij — общая (суммарная) стоимость перевозок; г=1 3 = 1 п ^ Xij — количество груза, вывозимого из г-го пункта; 3 = 1 Xij — количество груза, доставляемого в j-й пункт. г=1 В простейшем случае должны выполняться следующие очевидные условия: ^^Xij = <2i, г = l,m, m ? г=1 Жу = i m г=1 ^•> i = n = ?&r i=i Таким образом, математической формулировкой транспортной задачи будет: найти т п min V У^ сцХц
1.4- Примеры математических моделей 13 при условиях п / J xij = ai i 3 = 1 m x^ ^ О, г = 1,771, j = l,n. Эта задача носит название замкнутой транспортной модели. Заметим, что условие г=1 j=l является естественным условием разрешимости замкнутой транс- транспортной задачи. Более общей транспортной задачей является так называемая открытая транспортная модель: найти г=1 3 = 1 при условиях т / J хгз — °3-> г=1 Ясно, что в этой задаче не предполагается, что весь груз, накоп- накопленный в г-м пункте, должен быть вывезен. В схему транспортной задачи укладываются и некоторые другие задачи технико-экономического содержания, например, так называ- называемая задача о выборе: задача о наиболее экономном (в смысле сум- суммарных затрат времени) распределении п работ между п исполните- исполнителями при известном времени, затрачиваемом каждым исполнителем на каждой работе. Эта задача является частной моделью замкнутой транспортной задачи при m = п и а^ = bj = 1. Заметим, что решения транспортных задач обладают свойства- свойствами целочисленности при целочисленных значениях величин а^, bj, и поэтому эти задачи относят к задачам линейного программирования.
14 Гл. 1. Введение 1.4.4. Задача о режиме работы энергосистемы. В качестве примера задачи выпуклого программирования рассмотрим простей- простейшую среди задач об оптимальном ведении режима работы энергосис- энергосистемы. Рассматривается изолированная энергосистема, состоящая из теп- теплоэлектростанций, связанных линиями передач с узлом, в котором сосредоточена нагрузка. Ставится задача распределения активных мощностей между электростанциями в заданный момент времени. Распределение осуществляется по критерию минимизации суммар- суммарных топливных затрат на генерацию активной мощности. Обозначим через Х{ активную мощность, генерируемую на г-й станции. Мощности Х{ заключены в пределах ^ и ft, определяемых техническими условиями: o>i ^ Х{ ^ ft. Кроме того, должно соблю- соблюдаться условие баланса мощностей, т. е. генерируемая общая мощ- мощность должна соответствовать потребляемой мощности Р с учетом общих потерь тг в линиях передач: г=1 Топливные затраты на генерацию мощности Х{ представляют собой функцию Ti(xi), выпуклую на отрезке [c^,ft]. Таким образом, задача принимает вид: найти т min г=1 при условиях ^ГТ-(х-) г=1 oti ^ Xi ^ ft, i = l,m. Построенная модель является типичной задачей выпуклого про- программирования с линейными ограничениями. Решение этой задачи да- дает весьма грубое приближение к действительно оптимальному ре- режиму работы энергосистемы. В реальной ситуации нельзя считать всю нагрузку сосредоточенной в одном узле, а следует рассматри- рассматривать п узлов. Кроме того, потери в системе, естественно, не являются константой, а зависят от величин передаваемых мощностей и пара- параметров линий передач. В качестве следующего приближения можно рассматривать зада- задачу, в которой тг является билинейной функцией хц (i = 1, ш, j = 1, п), где параметры управления хц означают количество активной мощ- мощности, передаваемое из г-й станции в j-й узел.
1.5. Основные обозначения 15 Очевидно, что в этой новой модели условия будут содержать не- нелинейности (л(xij) в уравнении баланса). Эта задача также является задачей выпуклого программирования, но более сложного типа, чем предыдущая. Примером многоэкстремальной задачи является простейшая зада- задача о размещении. 1.4.5. Задача о размещении. Даны т пунктов потребления A,2,..., j, ...,m) с заданным объемом потребления bj в каждом пункте. Имеются п возможных пунк- пунктов производства A, 2, ...,г, ...,п), причем для каждого г-го пункта известна зависи- зависимость стоимости производства fi от объема производства Xi. (Предполагается, что в стоимость производства fi(xi) включены капитальные затраты.) Наконец, задана матрица транспортных расходов ац {ац — стоимость перевозки единицы продукции из г-го пункта производства в j-й пункт потребления). Требуется найти такие объе- объемы перевозок хц из г-го в j-й пункт и такие объемы производства х\ = 2^XijJ которые минимизируют суммар- з ные расходы; иначе говоря, ищется Рис. 1.1 min при условиях Xij =bj, 0. Поскольку себестоимость единицы продукции обычно убывает при увеличении объема производства, то функции fi(xi), как правило, монотонно возрастают и выпуклы вверх. Множество значений хц, удовлетворяющих ограничениям задачи, образует выпуклый много- многогранник, вершины которого являются точками локальных миниму- минимумов функции L(xij) (рис. 1.1). Отсюда и название подобных задач — многоэкстремальные. 1.5. Основные обозначения Еп — n-мерное евклидово пространство. X = xJ = Х2 вектор-столбец. .,хп) — вектор-строка.
16 Гл. 1. Введение х Е R — х принадлежит R. х 0 R — х не принадлежит R. R С S — R включено в S (теоретико-множественное включение). Rn S — теоретико-множественное пересечение множеств R и S. П R\ — теоретико-множественное пересечение множеств R\ по индексу Л (А Е Л). R U S — теоретико-множественное объединение множеств R и S. U R\ — теоретико-множественное объединение множеств R\ по индексу Л. 0 — пустое множество. G(R) — граница множества R. {х: Q} — множество всех элементов xG^n, обладающих свойст- свойством Q. {х е Y : Q} — множество всех элементов х G F, обладающих свойством Q. R\S — теоретико-множественная разность, т. е. множество {х: х G R, х 0 5}. int R = R\G(R) — внутренность множества R. (х,у) = скалярное произведение векторов х и у. ||х|| = (х,хI//2 — евклидова норма вектора х. {х/,} — последовательность точек х/,. {ak} — последовательность чисел а^. А = [ctij] — матрица размерности т х п. г = 1,п — г пробегает все целые значения от 1 до п. АТ— матрица, транспонированная к матрице А: А = [ai, a2,..., ап], где а* = AT = *2 АБ — произведение матриц А и В: C=[Cij] = в -1 х > у матрица, обратная к квадратной матрице В. - i-я компонента вектора Ах. - определитель квадратной матрицы В. - полуупорядочение в Еп, означающее, что xi^ - Xi> yi (г =Т~п). - xi ф yi хотя бы для одного номера г. (г = 1,п).
1.5. Основные обозначения 17 [х,у] — отрезок с концами х и у, т. е. множество {z : z = ax + A-оОу, (Ко^ 1}. (х, у) = {z: z = ах + A — а)у, 0 < а < 1} — интервал. (х, у] = {z: z = ах + A — «)у, 0 ^ а < 1} — полуинтервал. [х, у) = {z: z = ах + A — «)у, 0 < а ^ 1} — полуинтервал. :, если а < в, min <p(x) — запись задачи о минимизации скалярной функции ср(х) на множестве X. А — символ определения и обозначения, (у А/(х) + ^(х) означа- означает, что через ^/ обозначена сумма /(х) +^(х)). у?'(х) — градиент функции (р(х) в точке х: (р'(х) = grad(^(x) = diamXA sup ||x' —x"||. x;,x"ei 1, если а > О, l5 если а<0. — вероятность того, что выполняется свойство Q. P{Q\R} — вероятность того, что выполняется свойство Q при условии R. А — символ, означающий конец доказательства. х* = argmin{(p(x): x G X} — точка, в которой достигается мини- минимум функции (р(х) на множестве X. X* = Arg min{(p(x): x G X} — совокупность всех точек, в кото- которых достигается минимум функции (р(х) на множестве X. Е+ = {xG Еп, х ^ 0} — множество всех неотрицательных точек пространства Еп. := — символ присваивания. (а:= /3 означает, что а присваивают значение C).
ГЛАВА 2 ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА 2.1. Евклидово пространство. Выпуклые множества 2.1.1. Мы будем иметь дело с функциями, определенными на мно- множествах конечномерного евклидова пространства Еп. Совокупность всех наборов хт = (xi,?2, ...,хп) n вещественных чисел Ж1,ж2, ...,жп называют евклидовым пространством размерности п, если выполняются следующие условия. Пусть хеЕп,уеЕиа — вещественное число. Тогда х + у = Oi +2/ъЖ2 +2/2,...,sn + yn) (сложение), , ax2,..., ctxn) (умножение на число), (х,у) = 2_^хгУг (скалярное произведение). г=1 Наборы хт = (ж1,Ж2, ...,жп) называют точками (векторами), а чис- числа xi,X2,...,xn — их координатами. В евклидовом пространстве введено понятие евклидовой нормы (длины вектора) 11x11 - Ы II II — \ 1 для которой справедливы следующие соотношения: IWI^o, причем ||х|| = 0 тогда и только тогда, когда х = 0; с^х ^ \ol х * ||х + у|К||х|| + ||у||. Евклидова норма и скалярное произведение связаны между собой неравенством Коши-Буняковского Евклидова норма порождает в Еп сходимость. Будем говорить, что последовательность {хт} точек из Еп сходится к точке х при т —у оо, т. е. lim xm = x, если пт хт - х = 0.
2.1. Евклидово пространство. Выпуклые множества 19 Точка х называется предельной точкой последовательности. Приведем еще несколько определений. 2.1.2. Множество будем называть г -окрестностью точки х. 2.1.3. Множество X С Еп называют замкнутым, если оно содер- содержит все свои предельные точки, т. е. такие точки, что любой окрест- окрестности каждой из них принадлежит бесконечно много точек из X. 2.1.4. Точка х Е X называется внутренней точкой множества X, если существует такая ее окрестность, все точки которой принадле- принадлежат множеству X. 2.1.5. Точка х Е X называется граничной точкой множества X, если в любой ее окрестности содержатся как точки, принадлежащие множеству X, так и точки, не принадлежащие этому множеству. Мно- Множество G(X), состоящее из всех граничных точек множества X, на- называется границей множества X. 2.1.6. Множество X n-мерного евклидова пространства Еп назы- называется выпуклым, если вместе с любыми двумя точками х G X и у G X ему принадлежит и соединяющий их отрезок [х,у]. Выпуклость множества X означает, что из х, у Е X следует z = = ах + A — а)у Е X для всех 0 ^ а ^ 1. В Е2, например, выпуклы отрезок, полупрямая, прямая, круг, треугольник, полуплоскость и вся плоскость. Легко видеть, что если множество X задается системой линейных равенств и неравенств: X = {х: Ах ^ а, Бх = Ь}, где А, В — матрицы, то оно выпукло и замкнуто (последнее в силу линейности и, следовательно, непрерывности преобразований А и В). Читателю предоставляется возможность самостоятельно убедить- убедиться в том, что пересечение любого числа выпуклых множеств выпукло. 2.1.7. Точка z называется выпуклой комбинацией точек xi,X2,... ...,xm, если z = aiXi + «2X2 + ... + amxm, a^ ^ 0 (г = 1,m) и а\ + + a2 + ... + am = 1. 2.1.8. Выпуклое множество Х содержит все выпуклые комбинации своих точек. Доказательство (по индукции). В соответствии с определени- определением 2.1.6 множество X содержит выпуклую комбинацию любых двух своих точек. Предположим, что X содержит выпуклые комбинации любых т - 1 (т > 1) своих точек. Рассмотрим выпуклую комбина- комбинацию z = aiXi + a2x2 + ... + amxm любых т точек из X. Очевидно, что существует хотя бы один номер г такой, что o>i < 1. Не умаляя общности, можно полагать, что ct\ < 1. Тогда у = /З2Х2 + ... + /^mxm
20 Гл. 2. Элементы выпуклого анализа при fii = — является выпуклой комбинацией точек Х2, ...,хт, и по 1 -ах индуктивному предположению у Е X. Поскольку z = aiXi + A — ai)y и «i G [0,1], то по п. 2.1.6 из выпуклости X следует, что х Е X. Л 2.2. Проекция. Теоремы отделимости 2.2.1. Проекцией точки v на множество X называют такую точку Pj(v)Ap G X, что ||p-v||= inf ||x-v||Ap(v,X)=p. B.1) При этом р = p(v, X) называют расстоянием от точки v до мно- множества X. 2.2.2. Для любого замкнутого множества X и любой точки v су- существует точка р Е X, являющаяся проекцией v на X. Если, кроме того, множество X выпуклое, то точка р единственная. Доказательство. Если v G I, то очевидно, что р = v и р = 0. Пусть точка v внешняя относительно X: v #X. Согласно определению нижней грани существует последовательность {x/J, X& G X, такая, что lira ||xfc — v|| = p. Так как {х/,} ограничена, то существует подпоследовательность {х/,.} такая, что lim Xfc. = p. i—уоо Поскольку множество X замкнутое, то р G X. И окончательно полу- получаем ||р — v|| = р. Для доказательства единственности предположим, что существу- существуют точки р;, р" G I, р' / р", такие, что l|p'-v|| = ||p"-v||=p. Поскольку множество X выпуклое, то точка z = -р' + -р" принадле- принадлежит X. Точки v, р;, р/; и z лежат в одной плоскости, и из равнобедрен- равнобедренности треугольника с вершиной в точке v, основанием [р',р"] и вы- высотой [v,z] следует ||z — v|| < р, что противоречит определению р. Л 2.2.3. Теорема. Для того чтобы точка р G X была проекцией точки v на выпуклое замкнутое множество X, необходимо и доста- достаточно, чтобы для всех х G X выполнялось неравенство (x-p,v-p>^0. B.2)
2.2. Проекция. Теоремы отделимости 21 Доказательство. Пусть р — проекция точки v на X. Возьмем произвольную точку xGIm рассмотрим z = ах + A — а)р. В силу выпуклости X для любого а е [0,1] точка z принадлежит X. Так как ||z - v||2 = а2||х - р||2 + 2а(х - р,р - v) + ||р - v||2, то а2||х — р||2 + 2а(х — р,р — v) ^ 0. Поскольку это неравенство справедливо для всех а е [0,1], то (х-р,р- v) ^ 0, откуда следует B.2). Пусть теперь справедливо B.2). Тогда для любого х Е X будет ||x-v||2 = ||(x-p) + (p-v)||2 = = ||х - р||2 + 2(х — р,р — v) + ||р — v||2 ^ ||р - v||2, т. е. р является проекцией v на X. Л 2.2.4. 1) Для любого х G X выполняются соотношения (х - v, х - р) = (х - р, х - р) + (р - v, х - р) ^ ||х - р||2 и 2) для любых у, z G Еп справедливо неравенство Действительно, 1) вытекает из того, что ||х-v|| = ||(х-р) + (р-v)|| = = ||x-p||2 + 2(x-p,p-v) + ||p-v||2^||x-p||2. Далее, из B.2) следует (Рх(у) ~ У,Рх(ъ) ~ Рх(у)) ^ 0 и (Px(z) - z, Рх(у) - Px(z)} ^ 0. Суммируя эти неравенства, получаем (Рх(у) - -У - Px(z) + z,Px(z) - Рх(у)} ^ 0, откуда, пользуясь неравенством Коши-Буняковского, получаем условие 2): \\Рх{у) ~Рх{г)\\2 ^ (Px(z) -Px(y),z-y) ^ -y||. A 2.2.5. Гиперплоскостью в Еп называют множество вида П = {х:(с,х)=Л},
22 Гл. 2. Элементы выпуклого анализа где с ф 0. В пространстве Еп гиперплоскость определяет два полу- полупространства: {х: (с,х) ^Л}, {х: (с,х) ^ А}. 2.2.6. Теорема отделимости. Для любого выпуклого и замк- замкнутого множества X и любой точки v, не принадлежащей множест- множеству X, существует такая гиперплоскость П, что (c,v) = A B.3) и для всех х Е X (с,х)<Л. B.4) Доказательство. Пусть р — проекция точки v на X. Рассмот- Рассмотрим гиперплоскость П = {х: (с,х) = Л, с = v-p, Л = (c,v)}, для которой выполняется B.3). Из неравенства B.2) следует (х, v - р) ^ (р, v - р) < (v, v - р), х G X. Правое неравенство следует из B.1) и из того, что р > 0. И, оконча- окончательно, (с, х) = (v - р, х) < (v - р, v) = (с, v) = Л, т. е. имеет место B.4). Л Замечание. Очевиден геометрический смысл теоремы: сущест- существует проходящая через точку v гиперплоскость П такая, что X лежит в одном из полупространств, определяемых П (рис. 2.1). 2.2.7. Теорема об опорной гиперплоскости. В любой граничной точке х° выпуклого множества X существует опорная ги- гиперплоскость, т. е. существуют с/OuA такие, что П = {х: (с, х) = = Л}, Л = (с, х°) и для всех х G X (с,х) ^Л. Доказательство. Рас- Рассмотрим последовательность точек {v/,}, внешних относи- относительно X (замыкания X) и та- таких, что lim v/, = х°. к—>-оо По теореме 2.2.6 для каждой vk существует Щ = {х: (с^х) = A/J, Рис. 2.1 где А/. = (c/^v/,) и (с/,,х) < А/, для всех х G X. Не умаляя общности, можно полагать ||с^|| = 1. Не меняя обозначений, будем считать, что
2.2. Проекция. Теоремы отделимости 23 lim с/, = с. Переходя к пределу в соотношениях, определяющих Щ, получим = lim и (с,х) ^ Л для всех х Е X. Итак, гиперплоскость П = (с,х) = Л} опорная. Л Замечание. Легко убедиться, что если в точке х° существует касательная гиперплоскость, то она совпадает с опорной (рис. 2.2), и в этом случае опорная гиперплоскость единственна. Однако поня- понятие опорной гиперплоскости значительно шире понятия касательной гиперплоскости. На рис. 2.3 изображен случай, когда в точке х° не Ч П п Рис. 2.2 Рис. 2.3 существует касательной и в то же время в ней существуют опорные прямые, причем в качестве вектора с здесь может быть выбран любой вектор, лежащий "между" ci и С2. 2.2.8. Теорема о разделяющей гиперплоскости. Если множество Xq внутренних точек выпуклого множества X непусто и не пересекается с выпуклым множеством Y (Xq П Y = 0), то для множеств X и Y существует разделяющая гиперплоскость П; т. е. существует вектор с ф 0 такой, что (с, у) ^ (с,х) для всех у G Y и х G X. Доказательство. Множество = y-x, у е Y,
24 Гл. 2. Элементы выпуклого анализа выпукло, и z = 0 не является его внутренней точкой. Тогда из тео- теорем 2.2.6 и 2.2.7 следует существование с ф 0 такого, что (с, z) = (с, у - х) ^ (с, 0) = О для всех у Е Y и х Е Xq. Это неравенство остается справедливым и для всех у Е Y и х Е X, поскольку предельный переход не нарушает нестрогих неравенств. Л Замечание. Обратим внимание на то, что требование непусто- непустоты множества Хо существенно, поскольку в формулировке теоремы имеется в виду внутренность множества относительно пространст- пространства Еп. Так, например, очевидно, что в трехмерном пространстве ось z и плоскость z = 0 неразделимы в указанном выше смысле, хотя и не имеют общих внутренних точек. 2.2.9. Определение. Точка х множества X называется угловой (или крайней) точкой, если в X не существует таких точек х' и х", х' ф х", что х = ах' + A - а)х" при некотором а Е @,1). Например, для круга любая точка ограничивающей его окруж- окружности является угловой. Угловыми точками являются все вершины выпуклого многогранника. 2.2.10. Теорема (о представлении). Любая точка х° выпуклого, замкнутого, ограниченного множества X может быть представле- представлена в виде выпуклой комбинации конечного числа угловых точек этого множества. Доказательство (по индукции наименьшей размерности п пространства Еп, содержащего множество X). Если п = 1, то X является отрезком, и утверждение теоремы очевидно. Предположим, что для п = к - 1 теорема справедлива. Пусть теперь X С Ek- Рассмотрим два случая. 1) х° — граничная точка X. Построим в этой точке гиперплос- гиперплоскость, опорную к X: ~ — гх. /с х\ _ /с xo\i Множество Xq = X П тг как пересечение выпуклого, замкнутого, ограниченного множества X с выпуклым, замкнутым множеством тг само выпукло, замкнуто и ограничено и, кроме того, существует (к — — 1)-мерное подпространство, содержащее Xq (поскольку Xq С С тг). По предположению индукции для х° Е Xq найдутся xi,X2,... ...,хдг — угловые точки множества Хо такие, что N х = У ^ otjX-i, cti ^ 0, г = ljN, i=l
2.2. Проекция. Теоремы отделимости 25 N г=1 Покажем, что xi,X2, ...,хдт являются угловыми точками и для X. Предположим противное, т. е. что для некоторой точки х^ найдутся х',х" G I, х'/ х", и a G @,1) такие, что х; = ах' + A - а)х". Так как х^ G Хо С тг, то (с,х,) = (с,х°), и поскольку гиперплоскость тг опорная к X, то (с,х'К(с,х°), (с,х"К(с,х°). Из того, что 0 < а < 1, следует ^^[(c,x)(la)(c,x)] (c,x). Последние условия показывают, что х' Е тг (так как (с,х') = = (с,х0)); но х' G X, следовательно, х; G Xq = X П тг. Аналогично до- доказывается, что х" G Xq. А тогда наше предположение противоречит тому, что Xi — угловая точка Хо. 2) Пусть теперь х° — внутренняя точка множества X. Проведем через_х° прямую /. Пересечение ШХ является отрезком с концами х и х, принадлежащими границе множества X, и поскольку х° — внутренняя точка для X, то существует a G @,1) такое, что х° = ах + A — а)х. Поскольку для граничных точек х и х теорема верна, то она верна и для х°. Действительно, для граничных точек имеют место соот- соотношения г=1 г=1 г=1 г=1 где все у^ и z^ — угловые точки множества X. Тогда iVi 7V2 г=1 г=1 откуда и следует утверждение теоремы. Л
26 Гл. 2. Элементы выпуклого анализа 2.3. Конус. Теорема Фаркаша В теории математического программирования важную роль игра- играет теорема Фаркаша, которая будет доказана в конце этого параграфа. Предварительно мы установим некоторые вспомогательные понятия и факты, имеющие, впрочем, и самостоятельное значение. 2.3.1. Множество К называется конусом, если из х Е К следу- следует Лх е К для всех Л > 0. Например, все пространство Еп, как и всякое подпространство, является конусом. Неотрицательный ортант {х: х ^ 0} — также конус. Очевидно, что конусами являются мно- множества {х: Ах^О}, {у: у = Ах, х ^ 0}. Следующий факт будет использован при доказательстве теоремы Фаркаша. 2.3.2. Теорема. Множество Г = {У: у = Ах, х^О} замкнуто. Доказательство. Пусть А = [ai, а2,..., аш]. Докажем утверж- утверждение индукцией по числу т. При т = 1 множество У является полупрямой, и, следовательно, оно замкнуто. Предположим, что для т = к - 1 конус У, порожденный векторами аьа2, ...,afe_i, замкнут. 1) Если конусу У принадлежат векторы -аь -а2,..., -а/,, то он является подпространством размерности, не превышающей к, и, сле- следовательно, замкнутым множеством. 2) Предположим, что хотя бы один из векторов — а/, 0 У. Всякий у Е У представим в виде у = у + ota.k, а ^ 0, где у G Y. Рассмот- Рассмотрим последовательность {уп}, сходящуюся к у. В силу предыдущего уп = уп + ana.k, ап ^ 0, для всех номеров п. Если последователь- последовательность {ап} ограничена, то, не умаляя общности, можно считать, что lim ап = аи, следовательно, у - аа.к = lim (yn - апа.к) = lim yn A п—>-оо п—>-оо п—>-оо A yn e Y в силу замкнутости F. Значит, у = у + аа.к G F. Итак, если последовательность {ап} ограничена, то множество Y замкнуто. Предположим теперь, что ап —У +оо при п —У оо. Тогда —уп = = —Уп + а^- Так как lim —Уп = 0, то yn A lim —yn = -afe. Но ап^оо а п^оо а уп G У в силу замкнутости последнего, и, следовательно, — a/, G У. Противоречие. Л 2.3.3. Пусть заданы матрица В размерности т х п и вектор ve?n. Теорема Фаркаша. Неравенство (v,x) ^ 0 выполняется для всех х G {х: Вх ^ 0} в том и только том случае, если существует такой вектор и ^ 0, что v = BTu.
2.3. Конус. Теорема Фаркаша 27 Доказательство. Достаточность. Пусть выполняются со- соотношения и ^ 0 и v = Вти. Тогда для любого х G {х: Бх ^ 0} будет () (T) () Необходимость. Пусть для всех х G {х: Бх ^ 0} справедливо (v,x) ^0. Рассмотрим конус Если v G F, то теорема доказана. Предположим, что v 0 Y. Множест- Множество Y выпукло (см. 2.1.6) и замкнуто (см. 2.3.2), поэтому по теоре- теореме 2.2.6 существует вектор с ф 0 такой, что (с, у) < (c,v) B.5) для всех у G Y. Так как Ay G Y при всех А ^ 0, то из B.5) получаем, что А(с,у) < < (c,v) при всех А ^ 0. А значит, (с, у) ^ 0. Но B.6) B.7) И так как это имеет место для всех u ^ 0, то Be <С 0. Но у = О Е Y, поэтому из B.5) следует (c,v)>0. Взяв х = с, из B.6) и B.7) получаем противоречие условиям теоре- теоремы. Л Полезно будет привести —У— геометрическое истолкование \ 1kr~iv ^ 2 теоремы Фаркаша. Пусть ^ ^ \ т vl.J з В = и К = {х: Бх ^ 0}. Конус К есть совокупность всех векторов х, которые об- образуют с каждым из векто- векторов bi, b2, Ьз неострые углы (на рис. 2.4 конус К заштрихо- заштрихован вертикальными линиями, конус горизонтальными линиями). Рис. 2.4 = {у : у = ВТи, и ^ 0}
28 Гл. 2. Элементы выпуклого анализа Теперь очевиден геометрический смысл теоремы: чтобы для лю- любого xGi^ угол между v и х был неострым, необходимо и достаточно, чтобы v принадлежал конусу Y. 2.3.4. Следствие. Для любой матрицы В и любого вектора v имеет место следующая альтернатива: либо имеет решение сис- система Бх ^ 0, (v,x) < 0, B.8) либо имеет решение система v = Бти, u ^ 0. B.9) Доказательство. Если справедливо B.9), то из теоремы Фар- каша вытекает, что для любого х Е {х: Вх ^ 0} будет (v, х) ^ О, и, следовательно, система B.8) неразрешима. Предположим теперь, что система B.9) неразрешима. Тогда по теореме Фаркаша для всех х е {х: Бх ^ 0} не будет выполняться условие (v,x) ^ 0, а следова- следовательно, (v,x) < 0 для некоторого х Е {х: ??х ^ 0}. Л 2.3.5. Доказанное следствие допускает простую модификацию, по- полезную для ряда приложений. Следствие. Для любой матрицы В и любого вектора v имеет место следующая альтернатива: либо имеет решение система Бх ^ 0, х ^ 0, (v,x)<0, B.10) либо имеет решение система v ^ Бти, и^0. B.11) Доказательство. Запишем систему B.10) в виде B.8): Бх^О, (v,x)<0. [В 1 р , Е — единичная матрица. Утверждение следствия [ с очевидностью вытекает из применения следствия 2.3.4 к матри- матрице В. Л 2.3.6. Теорема о представлении. Рассмотрим конус S = {х: ??х = 0, х ^ 0}. Вектор х конуса S назовем ребром, если в 5 не су- существует таких х;, х", х; ф х", что при некоторых Ai > О, Л2 > О будет выполняться равенство х = Aix; + A2X". Теперь рассмотрим гиперплоскость п L = |х: ^ж; = 1, xi ^ 0, г = 1, г=1 Очевидно, что множество Q = S П L выпукло и ограничено. Если х*,Х2, ...,х? — угловые точки множества Q, то векторы ai ^ 0 (г = 1,&), являются ребрами конуса S.
2.4- Выпуклые функции 29 Действительно, если z = <x/x^ не является ребром, то найдутся такие х' е 5, х" е 5, что z = Aix' + А2х" при некоторых Ai, А2 > 0. Из определения множества Q следует, что найдутся такие /3i,/32 > 0, при которых у' = Дх7 е Q, у" = /32х" G Q. Но А2 -, 72 = —Б"' х* = —z = 71У; + 72У/;, 7i = г=1 г=1 г=1 поэтому 7i+72 — 1? что противоречит предположению о том, что точка х* угловая для множества Q. Доказанное утверждение и теорема 2.2.10 позволяют сформулиро- сформулировать теорему о представлении. Теорема. Любой вектор х, принадлежащий конусу 5, может быть представлен в виде положительной комбинации его ребер, т. е. к найдутся такие числа 0, А2 ^ 0,..., А/. ^ 0; что х = г=1 2.4. Выпуклые функции 2.4.1. Определение. Функцию <р(х), определенную на выпук- выпуклом множестве X, называют выпуклой, если для любых х,у Gl и всех a G [0,1] выполняется неравенство у>(ах + A - а)у) ^ ау>(х) + A - а)у>(у). B.12) На рис. 2.5 изображена выпуклая функция. Очевидно, что каждая а(р(х)+A-а)(р(у) х z=ax+(l—a)y у Рис. 2.5 точка любой хорды графика функции ср либо лежит над графиком, либо принадлежит ему.
30 Гл. 2. Элементы выпуклого анализа 2.4.2. Вогнутой функцией называют такую функцию <р(х), для которой функция —(р(х) выпукла. Таким образом, если у>(ах + A - а)у) ^ ау>(х) + A - а)у>(у) B.13) для любых х,у Е X и всех а Е [0,1], то <р(х) — вогнутая функция. 2.4.3. Если для любого а е @,1) неравенство B.12) строгое, то функцию (р(х) называют строго выпуклой. 2.4.4. Примером выпуклой функции служит квадратичная функ- функция с положительно определенной матрицей. Поскольку этим свойством квадратичных функций мы будем пользоваться в дальнейших рассмотрениях, докажем его как само- самостоятельный результат. Теорема. Для того чтобы квадратичная функция была выпуклой, необходимо и достаточно, чтобы симметрическая матрица В была положительно определенной. Доказательство. <р(ах + A - а)у) = а2(х, Ях) + 2аA - а)(х, Яу) + + A - аJ(у, By) + а(р,х> + A - а)(р,у> = = а<р(х) + A - а)у?(у) - «A - а)(х - у, Я(х - у)) и при a G @,1) будет аA-а)(х-у,В(х-у)> ^0 в том и только том случае, когда В положительно определена. Отсюда и из определения выпуклости следует утверждение теоремы. Л Замечание. Очевидно, что для строгой выпуклости квадратич- квадратичной функции <р(х) необходима и достаточна строгая положительная определенность матрицы В. Рассмотрим ряд свойств выпуклых функций. 2.4.5. Теорема. Для любой выпуклой функции (р(х), определенной на выпуклом множестве X, и любого числа Л множество Z = {xGl: (^(х) ^ Л} выпукло. Доказательство. В соответствии с определением 2.1.6 доста- достаточно показать, что из х,у G Z следует z = ах + A — а)у G Z для всех a G [0,1]. Из выпуклости множества X следует, что zGl. Вос- Воспользовавшись неравенством B.12), получаем (р(ъ) = у?(ах + A - а)у) ^ шр(х) + A - а)<р(у) ^ аХ + A - а)Л = Л. Л Замечание. Очевидно, что если (р(х) — вогнутая функция, то множество Z = {xGl: <р(х) ^ Л} выпукло.
2-4- Выпуклые функции 31 2.4.6. Неравенство Иенсена. Если (р(х) выпукла на выпук- выпуклом множестве X и га Z = г=1 г=1 OLi ^ 0, Xi G X, I — 1,771, то га га ml \ ^ rvv- I < \ л л^лГтгЛ (9 14^ (X/ I / кХг, Ai I ^ 7 Ct7 >-^ 1-^-7/. \ ^ • -L^fc / г » / у ь ь / ^ / у " г \ * / \ / г=1 г=1 Доказательство (по индукции). При ттг = 1 неравенство B.14) очевидно. Предположим, что B.14) справедливо для ттг — 1, ттг > 1. Из 2.1.8 следует, что zGl. Если ат = 1, то а\ = ot^ — ... = о.ш-\ — 05 и в B.14) будет равенство. Если 0 ^ ат < 1, то из выпуклости и индуктивного предположения следует га-1 -OLm) У г=1 г=1 ^ A - am)ipy ^2 1 ^ Xi j + am(^(xm) ^ г=1 т — 1 ?тг ^ A - am) V" —^ y?(Xi) + am(^(xm) = V" «i^(Xi). A г=1 г=1 2.4.7. Приведем (без доказательства) следующее важное свойство выпуклых функций. Выпуклая функция <р(х), определенная на выпуклом множестве X, непрерывна в каждой внутренней точке этого множества и имеет в каждой внутренней точке производную по любому направлению s (||s|| = l): d^(x) _ lim y?(x + As) - y?(x) lim ^s л^+о Л 2.4.8. В методе штрафных функций находят применение следую- следующие два свойства выпуклых функций. Если х(х) выпукла на выпуклом множестве X, то выпукла на X и функция (^(х) = тах{х(х),0}. В самом деле, для любых х, у G X х + A - а)у) = тах{х(<хх + A - a)y),0} ^ ^ тах{о;х(х) + A - a)x(y),0} ^ атах{х(х),0} + A - а) тах{х(у), 0} = ay?(x) + A - а)(р(у). Л
32 Гл. 2. Элементы выпуклого анализа Если <р(х) выпукла и неотрицательна на выпуклом множестве X, то будет выпукла на X и функция <^2(х). Действительно, в силу выпуклости (р(х) и ее неотрицательности имеем if2 (ах + A - а)у) ^ <С c*V(x) + 2аA - а)^(х)^(у) + A - а) V(y) = ^ау>2(х) + A-а)у>2(у). Л 2.4.9. Важное свойство выпуклых дифференцируемых функций, которым мы будем часто пользоваться, устанавливает следующее утверждение. Функция <р(х), дифференцируемая на выпуклом множестве X, вы- выпукла в том и только том случае, если для любых х Е X и у G X будет {<р'(х),у-х)^<р(у)-<р(х). B.15) Для вогнутой функции ((р'О),у-х) ^ if {у) -<р(х). Доказательство. Пусть <р(х) выпукла. Тогда для любых х,у G Gl, х/у, и всех а таких, что 0 < а ^ 1, справедливо неравенство <р(х + а(у - х)) ^ (р(х) + а[у?(у) - <р(х)], откуда НУ - xll^ ^ ^ <Р(У) ~ У(х), где s = У _Х , а /3 = а||у - х||. Переходя к пределу в последнем неравенстве при /3 —)> 0, получим т. е. Пусть теперь выполняется условие B.15). Рассмотрим точку z = ах + A — а)у при 0 ^ а ^ 1. Так как z G X, то Умножив первое неравенство на а, второе — на A — а) и сложив полученные неравенства, имеем О = (<p'(z),O) ^ ау{ъ) + A - а)ф) - y>(z). Л
2.4- Выпуклые функции 33 2.4.10. Экстремальные свойства. Рассмотрим задачу отыска- отыскания точки х* выпуклого множества X, в которой выпуклая функ- функция <р(х), определенная на X, достигает минимального значения,— задачу отыскания оптимальной точки х* = argmin{(p(x): x Е X}. 2.4.11. Теорема. Если выпуклы функция (р(х) и множество X, то любая точка х* G X, являющаяся точкой локального минимума, будет оптимальной для задачи минимизации функции (р(х) на мно- множестве X. Доказательство. Предположим, что х* не является оптималь- оптимальной точкой, т. е. найдется точка x'Gl такая, что Рассмотрим точки вида х = ах' + A-а:)х*, ае [0,1]. Так как множество X выпукло, то х G X. Далее, из выпуклости (р(х) и из предположения об х' следует <р(х) = <р(ах' + A - а)х*) т. е. Но это противоречит условию, что х* — точка локального миниму- минимума, поскольку при малых а точка х находится в достаточно малой окрестности точки х*. Л 2.4.12. Теорема. Если выпуклы функция (р(х) и множество X, то множество оптимальных точек X* = (х* е X: <р(х*) = II = miny?(x)j = Arg min{(p(x): х G X} выпукло. Доказательство. Пусть х',х" G X*. Поскольку X* С1и1 — выпуклое множество, то для любого Л G [0,1] будет z = Лх; + A - А)х" е X, а в силу выпуклости <р(х) имеем <p(z) = у>(Лх' + A - А)х") ^ Л(^(х/) + A - Л)(^(х//) = = Xfi + A - A)/i = /i. Кроме того, (^(z) ^ /i, поэтому y?(z) = /i, т. е. z G X*. Л
34 Гл. 2. Элементы выпуклого анализа 2.4.13. Если <р(х) строго выпукла на выпуклом множестве X и точка х* G X оптимальна, т. е. то для всех х Е X и х ф х* будет I/, значит, точка х* единственна. Доказательство. Предположим, что найдется точка х' Е X, Тогда для любого a Е @,1] точка х = ах1 + A — а)х* принадлежит множеству X, и в силу строгой выпуклости функции <р(х) будет <р(х) = (p(axf + A - а)х*) что противоречит оптимальности точки х*. Л 2.4.14. Одно свойство вогнутых функций. Если (р(х) — вог- вогнутая функция и <р(х) > <^(у), /тго йля любой точки z G [х,у] такой, что <р(х) > (^(z) > (р(у), справедливо неравенство (p(z) - y?(y) |||| ^ Доказательство. Предположим, что найдется a G @,1) такое, что для z = ах + A — а)у будет jf(z) - <p(y) i(x) - ^(z) IIН |||| • Так как СУ. |z - у|| = ||х - z||, то ||z-y|| ||x-z|| I a откуда A - a)[<p(z) - y?(y)] < «[^(x) - ^(z)]. Таким образом, прихо- приходим к неравенству (p(z) < ay?(x) + A - a)^(y), противоречащему вогнутости функции у?(х). Л 2.4.15. Теорема. #а/ш множество X выпукло, замкнуто и неограничено, то существует такое направление s, ||s|| = 1, что х + As G X для всех X > 0 и всех х G X.
2.4- Выпуклые функции 35 Доказательство. Так как множество X неограничено, то най- найдется последовательность {х/,} С X, ||х|| —у оо, к —У оо. Рассмотрим фиксированную точку х Е Х\{х/,} и направление s/, = П"(Х/е ~~ — х). Очевидно существование такой подпоследовательности {s/,.}, что lim s/,. = s. Для любого фиксированного А > 0 найдется такой г—юо номер ко. что для всех к{ > к0 будет 0 < т. ^ < 1. 11Х^ ~Х11 Так как х + \Ski = Л Xfe + (l - Л Лх е X для всех кг ^ ко, то lim (х + Asfe.) = х + As принадлежит X в силу г—>-оо замкнутости множества X. Далее, пусть у — произвольный фиксированный элемент из X. Так как V/, = х + A/. As G X для всех А ^ 1, А/. > 1, то и при А/. —>- оо, в силу замкнутости множества X получаем у + As G ex. A 2.4.16. Теорема. Если функция /(х) выпукла и непрерывна на выпуклом замкнутом множестве X, то для ограниченности мно- множества при любом C необходимо и достаточно существования числа а, при котором множество Х(а) = {xGl: /(x) ^ а} непусто и ограничено. Доказательство. Необходимость очевидна. Достаточность. Пусть для некоторого а множество Х(а) ограничено. Если /3 ^ а, то Х(/3) С Х(а); следовательно, Х(/3) — ограниченное множество. Предположим, что найдется такое /3 > а, что множество Х(/3) неограничено. Тогда в фиксированной точке х G Х(а) С Х(/3) су- существует такое направление s, ||s|| = 1, что х + As G Х(/3) при всех А ^ 0. Поскольку множество Х(а) ограничено, то найдется такое Ао > diamX(a), что х + As 0 Х(а) при всех А ^ Ао- Итак, для z = = х + Aos будет /(х) ^ а < /(z) ^ /3, а для v = v(A) = x + AAos при всех А > 0 будет /(v) ^ C. Так как z = х + Aos =-v+M--jx, то при А ^ 1 из выпуклости функции /(х) на выпуклом замкнутом множестве Х(C) следует неравенство/(z) ^ -rf(v) + A — — )/(х),от- Л V Л / куда /(v) ^ A(/(z) — /(х)) + /(х). Но /(z) — /(х) — фиксированное положительное число, вследствие чего /(v) —у +оо при А —у +оо, что противоречит условию /(v) ^ C при всех А > 0. Л
36 Гл. 2. Элементы выпуклого анализа 2.5. Сильная выпуклость функций 2.5.1. Мы видели, что если для выпуклой функции (р(х) сущест- существует точка локального минимума на выпуклом и замкнутом мно- множестве X, то она является оптимальной, а для строго выпуклой функ- функции эта точка вдобавок и единственна. Подчеркнем, что эти утверж- утверждения справедливы лишь в предположении существования точки ло- локального минимума. Рассмотрим теперь класс функций, для которых на любом непус- непустом замкнутом множестве всегда существует точка минимума, и ес- если вдобавок это множество выпукло, то эта точка единственна. 2.5.2. Определение. Функцию <р(х), определенную на некото- некотором множестве X, будем называть сильно выпуклой, если существует константа р > 0 такая, что для любых х,у G X таких, что [х,у] С X, и для любого а е [0,1] будет выполняться неравенство ср(ах + A — а)у) ^ acp{x) + A — а)ср(у) — аA — а)^||х — у||2. Величину р в дальнейшем будем называть параметром сильной выпуклости. 2.5.3. Пример сильно выпуклой функции. Рассмотрим квад- квадратичную функцию где В — строго положительно определенная матрица. Сильная вы- выпуклость следует из соотношения <р(ах + A - а)у) = шр(х) + A - а)(р(у) - аA - а)(х - у, ?(х - у)), поскольку (х-у,?(х-у))^А||х-у||2, где Л — наименьшее собственное число матрицы В. Укажем на некоторые свойства сильно выпуклых функций. 2.5.4. Т е о р е м а. Если функция (р(х) сильно выпукла и непрерывна на выпуклом и замкнутом множестве X, то для любой точки у G X множество ограничено и существует единственная точка х* = argmin{(p(x): x G X}. Доказательство. Зафиксируем произвольную точку у G X. В силу непрерывности функции <р(х) для р > 0 найдется такое е > О, что |<р(х) — <^(у)| ^ р при всех xGG = {xGl: ||х — у|| ^ г}. Таким образом, <р(х) ^ <р(у) — Р при всех х G U.
2.5. Сильная выпуклость функций 37 Пусть х Е X\U. Тогда а = г||х —у||-1 < 1. Из 2.5.2 получаем ^ ср(у + а(х - у)) - A - а)<р(у) + «A - а)р\\х - у||2. Но z = = у + а(х — у) ЕС/, поскольку ||z — у|| ^ е, и, следовательно, + а(х - у)) - <р(у) ^ —^. Поэтому ^ -р + а<р(у) + аA - а)/о||х - у||2 или Таким образом, если множество X неограничено, то при ||х|| —у оо будет ip(~x) —У +оо. Теперь нетрудно убедиться, что множество Xq ограничено. В самом деле, если это не так, то найдется последова- последовательность {х/,} С Хо такая, что ||х^|| -у оо при к -У оо. Но тогда найдется номер ко = &о(уM начиная с которого будет (р(х^) > <р(у), к ^ ко, и, следовательно, х/, 0 Xq при к ^ ко. Существование х* очевидно, так как из непрерывности (р(х) на ограниченном и замкнутом множестве Хо и из определения Хо сле- следует, что х* = argmin{(p(x): x E Xq} = argmin{(p(x): х Е X}. Единственность же точки х* следует из того, что сильно выпуклая функция является в то же время строго выпуклой. Л 2.5.5. Теорема. Если <р(х) сильно выпукла на выпуклом и замк- замкнутом множестве X, то: а) для всех х Е X справедливо неравенство Если при этом <р(х) Е С^Х), то: б) йля всех х,у Е X бг/dem (<р(х) - <р'(у),х - у) ^ /о||х - у||2; 1 Доказательство, а) Из определения сильной выпуклости следует и в силу неравенства
38 Гл. 2. Элементы выпуклого анализа соотношение п. а) становится справедливым. б) Так как функция (р(х) выпукла, то <р(х) - <р(у) ^ (^'(х),х - У)- Отсюда и из определения 2.5.2 получаем <С \{^'(х),Х- у) + \(<р'{у),у - х) = 1(^'(х) - ^'(У).х - У). в) В точке х* минимума tp(x) на X выполняется для всех х € X неравенство (см. п. 3.4.7) поэтому из п. б) получаем т. е. неравенство п. в). г) Из выпуклости <р(х) и из п. в) имеем О ^ ^(х) - ^(х*) ^ (^'(х),х - х*) ^ ||^'(х)|| ||х - х*|| ^ i||^'(x)||2. A
ГЛАВА 3 ОСНОВЫ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ В этой главе будут рассмотрены условия существования локаль- локальных экстремумов дифференцируемых функций на допустимых множествах весьма общего вида, а также условия существования глобальных экстремумов (минимумов) в задачах выпуклого прог- программирования. 3.1. Задачи математического программирования 3.1.1. Основная задача математического программирова- программирования. Рассмотрим множество X = {х: /i(x) ^ 0, г = 1,т}, C.1) где /i(x) (г = 1,т) — заданные скалярные функции. Пусть скалярная функция (р(х) определена на множестве X. Задачу минимизации функции (р(х) на множестве X будем назы- называть основной задачей математического программирования. 3.1.2. Форма записи. Условимся, что запись (р(х) ->• min, х е X, C.2) или, ей эквивалентные, i{(x): х Е X}, i() будут означать, что ставится задача: 1) либо найти оптимальную точку х* Е X: = min < 2) либо, если не существует такой точки х*, найти ср* = inf y?(x);
40 Гл. 3. Основы математического программирования 3) либо убедиться, что <р(х) — неограниченная снизу на мно- множестве X функция; 4) либо убедиться в том, что X = 0. 3.1.3. Если множество X выпукло и выпукла функция <р(х), то задачу C.2) называют задачей выпуклого программирования. 3.1.4. Основная задача выпуклого программирования. Из пп. 2.4.5 и 2.1.6 вытекает, что для выпуклости множества X (см. C.1)) достаточно, чтобы функции /i(x) (г = 1,т) были вогнутыми. Если в задаче выпуклого программирования C.2) все функции /i(x) вогну- вогнуты, а (р(х) выпукло, то будем называть ее основной задачей выпуклого программирования. 3.1.5. Терминология. Множество X в задаче C.2) называют допустимым множеством, точки этого множества — допустимыми точками, а неравенства /i(x) ^ 0, определяющие допустимое мно- множество,— ограничениями. Точку х* = argmin{(p(x): x Е X} называ- называют решением или оптимальной точкой, а иногда точкой глобального минимума. Наконец, точку х, в которой выполняются необходимые условия локального минимума функции (р(х) на множестве X, будем называть стационарной. 3.2. Возможные направления 3.2.1. Возможные направления. Понятие возможного направ- направления занимает важное место в математическом программировании. В этой главе возможные направления играют вспомогательную роль, однако в дальнейшем они приобретут самостоятельное значение. Определение. Направление — s ф 0 в_точке х Е X называется возможным,_если существует такое число C > 0, что х — Cs Е X для всех C Е [0,Д]. Например, если X = {х: х ^ 0}, то в точке х = 0 любой вектор —s ^ 0, s ф 0, задает возможное направление, а в точке хх =0 х2 > 0 X = 0 возможным является любое направление —s: " S± ^ О s = 2 Sn где S2, 5з,..., sn — произвольные числа, s ф 0.
3.2. Возможные направления 41 Очевидно, если х — внутренняя точка множества X, то любое направление —s в этой точке является возможным. В следующих разделах будут выяснены условия существования возможных направлений. 3.2.2. Активные ограничения. Очевидно, что на экстремаль- экстремальные свойства целевой функции (р(х) в некоторой достаточно малой окрестности фиксированной точки х G X влияют лишь те ограни- ограничения /i(x) ^ 0, для которых в этой точке выполняются равенства fi(x) = 0. В связи с этим вводится следующее определение. Ограничение /i(x) ^ 0 называется активным в фиксированной точке х Е X, если /i(x) = 0. 3.2.3. В дальнейшем нам понадобится совокупность индексов ак- активных ограничений в точке х Е X /(х) = {г: /4(х)=0}. 3.2.4. Предположения. Всюду в этой главе будем предполагать функции <р(х) и /i(x) (г = 1,?тг) непрерывно дифференцируемыми. 3.2.5. Пусть s — некоторый n-мерный вектор, а а — некоторая скалярная величина. Для фиксированного х G X рассмотрим следующую систему не- неравенств относительно переменных s и а: <#(x),s> + <7^0, ;e/(x). (з.з) При определенных условиях решения этой системы определяют воз- возможные направления в точке х. 3.2.6. Если s (||s|| ф 0) удовлетворяет системе C.3) при некото- некотором а > 0, то направление — s является возможным в точке х Е X. Доказательство. Естественно предполагать, что /(х) ф 0, по- поскольку в противном случае точка х является внутренней точкой множества X, и поэтому любое направление —s является возмож- возможным. Если г 0 /(х), то /i(x) > 0, и малое перемещение из точки х по любому направлению, в частности, по направлению —s, не нарушит этого неравенства. Пусть г G /(х). Предположим, что /f(x — /3s) < 0 для любого сколь угодно малого C > 0, т. е. направление —s не явля- является возможным. Так как /i(x) = 0, то для любого /3 > 0 будет 1[Д(х)-Д(х-/38)]>0, а значит (см. B.4.7)), Ит 1[Д(х) - Л(х - /3s)] = <Л(х),8> ? 0, что противоречит условию C.3) при а > 0. Л
42 Гл. 3. Основы математического программирования 3.2.7. Если направление — s в точке sGl является возможным, то существует такое а ^ О, что пара s, а удовлетворяет систе- системе C.3). Доказательство. Предположим, что найдется хотя бы один такой номер i Е /(х), для которого (/г'(х), s) > 0. Так как —/г(х — /3s) = = /Дх) - /<(х - /3s) = /3</?(х), s) + o(/3), то /<(x - /3s) < 0 при доста- точно малых значениях /3 > 0, т. е. х — /3s 0 X, что противоречит предположению о том, что направление —s возможное. Л 3.2.8. Если множество X задается системой линейных нера- неравенств: X = {х: fi(x) = (а;,х) - 6; ^ 0, г = 1,ш}, то условия (ai,s)^0, ге/(х), являются необходимыми и достаточными для того, чтобы направле- направление —s было возможным в точке х G X. Доказательство. Нужно выяснить условия, при которых точ- точка у = х - /3s хотя бы для достаточно малых /3 > 0 будет принадле- принадлежать множеству X: (а*, у) -bi = (a;,x) - 6; -/3(a;,s). Если г 0 /(х), то (а^,х) - Ь{ > 0, и при достаточно малых /3 будет <а*,у>-гоо. Если г G /(х), то (а«, у) — bi = -/3(щ, s), и для выполнения неравен- неравенства (а^,у) — bi ^ 0 при /3 > 0 необходимо и достаточно, чтобы было (ai,s) ^0. А 3.3. Экстремальные свойства В последующих параграфах этой главы рассматриваются основы теории математического программирования: доказываются теоремы существования локальных экстремумов и теоремы существования решений задач математического программирования. В этом параграфе рассматриваются условия существования ста- стационарных точек основной задачи математического программирова- программирования, т. е. (в соответствии с принятой терминологией) необходимые условия существования локальных минимумов. Еще раз подчеркнем, что остаются в силе предположения 3.2.4 о непрерывной дифференцируемости функций (р(х) и /i(x) (г = 1,т). 3.3.1. Следующая система линейных неравенств относительно пе- переменных s и G играет важную роль в дальнейших рассмотрениях: <#(x),s>+<7^0, ie/(x), C.4) -<y>'(x),s>+<7^0. C.5)
3.3. Экстремальные свойства 43 3.3.2. Теорема. Для того чтобы точка х Е X являлась точ- точкой локального минимума функции <р(х) на множестве X, необходи- необходимо, чтобы в каждой паре s, а, удовлетворяющей системе C.4), C.5), было а <С 0. C.6) Доказательство. Пусть х — точка локального минимума. Предположим, что найдется такая пара s, а, удовлетворяющая систе- системе C.4), C.5), что а > 0. Согласно 3.2.6 направление —s является воз- возможным в точке х. В силу непрерывности ^'(х) и предположения, что ((//(х), s) ^ а > 0, для достаточно малого /3 > 0 будет (<р'(х — /3s), s) > 0 и х — /3s G X. Но по теореме о среднем <р(х) - <р(х - /3s) = /%'(х - 0/?s), s) > 0, (К 0 ^ 1. Таким образом, в локальной окрестности точки локального мини- минимума х нашлась точка у = х - /3s такая, что ip(y) < <р(х). Противо- Противоречие. Л 3.3.3. Следуя принятой терминологии (см. 3.1.5), теорему 3.3.2 можно переформулировать следующим образом: если в каждой паре s, а, удовлетворяющей системе C.4), C.5), выполняется условие C.6), то х является стационарной точкой основной задачи математического программирования. 3.3.4. Следствие. Если точка х G X локального минимума функ- функции <р(х) на множестве X такова, что /(х) = 0, то Доказательство. Предположим, что (р'(х) ф 0. Заметим, что х — внутренняя точка множества X. Так как /(х) = 0, то в систе- системе C.4), C.5) остается лишь одно неравенство C.5). Пара s = <^'(х), а = (s,s) > 0 удовлетворяет условию C.5), но при этом нарушается условие C.6) теоремы 3.3.2. Противоречие. Л 3.3.5. Теорема. Если в точке х G X локального минимума функ- функции <р(х) на множестве X система векторов /г'(х), г G /(х), линейно независима, то найдутся такие числа щ ^ 0, г G /(х), что ^Л(х). C.7) Доказательство. Согласно теореме 3.3.2 выполняются усло- условия C.4), C.5), C.6). Условие C.6) формально запишем так: @,s) + l-<7 ^0, C.8) и применим к системе C.4), C.5), C.8) теорему Фаркаша: найдутся такие vi ^ 0, г G /(х), и v0 ^ 0, что 0= Е "i#(x)-W(x), C.9)
44 Гл. 3. Основы математического программирования 1= ^ Vi + v0. C.10) Поскольку предположение vq = 0 противоречит линейной незави- независимости векторов /г'(х), г Е /(х) (в силу C.9) и C.10)), то г?о > 0, и, следовательно, при г^ = —Vi, i Е /(х), из условия C.9) получа- получало ем C.7). Л 3.3.6. Замечание. Иногда теорему 3.3.5 формулируют следую- следующим образом: если найдутся такие числа щ ^ 0 (г = 1, гтг), что г=1 г=1 то х является стационарной точкой основной задачи математического программирования. Справедливость этих условий очевидна: достаточно положить щ = = 0 при г 0 /(х). 3.3.7. Геометрическая интерпретация. Условиям C.7) можно дать следующее геометрическое истолкование. Заметив, что векторы -/г'(х), г е /(х), являются внешними нормалями в точке х к гранич- граничным поверхностям /i(x) = 0, и переписав условие C.7) в виде можем сказать: условие C.7) означает, что антиградиент можно пред- представить в виде линейной комбинации с неотрицательными коэффи- коэффициентами внешних нормалей к ограничениям в точке х. Другими словами, антиградиент принадлежит конусу, натянутому на внеш- внешние нормали к ограничениям в точке х. 3.4. Экстремальные свойства на выпуклых множествах 3.4.1. Условие регулярности. В случае выпуклости множест- множества X = {х : /i(x) ^ 0, г = 1,т} условия линейной независимости векторов /г'(х), соответствующих активным ограничениям, в преды- предыдущей теореме можно заменить более просто проверяемым, а имен- именно так называемым условием регулярности. Существуют различные условия регулярности ограничений; здесь будут рассмотрены сле- следующие условия. 3.4.2. Условие регулярности. Если для каждого 1 ^ i ^ т су- существует такая точка х^ Е X, что /i(xi) > 0, C.11)
3.4- Экстремальные свойства на выпуклых множествах 45 то говорят, что множество X удовлетворяет условию регулярности. 3.4.3. Условие регулярности Слейтера. Существует такая точ- точка х Е X, что для всех г = 1, т будет /г(х^) > 0. C.12) Легко доказывается эквивалентность условий C.11) и C.12). Оче- Очевидно, что из C.12) следует C.11). Пусть теперь выполняется C.11). Выберем x = V^c^Xf, V^c^ = l, ai ^ 0, i = l,m. i=l i=l Тогда C.12) вытекает из неравенства Иенсена 2.4.6 для вогнутых функций /i(x). 3.4.4. Теорема. Если функции /i(x) вогнуты, множество X = = {х : /i(x) ^ 0, г = 1,?тг} регулярно по Слейтеру, а точка х G X является точкой локального минимума функции <р(х) на множест- множестве X, то найдутся такие числа Ui ^ 0, г G /(х), что Доказательство. Повторяя доказательство теоремы 3.3.5, приходим к соотношениям Vi ^ 0, г G /(х), г;0 ^ 0, 0= Е "i#(x)-W(x), C.13) 1= ^ Vi + v0. C.14) Для завершения доказательства осталось убедиться в том, что г?о > 0. Предположим, что v0 = 0. Из C.14) в этом случае следует, что хотя бы одно vi > 0, I e /(х). Из регулярности множества X вытекает существование такой точки zGl, что fi(z) > 0 (г = 1,ш). Тогда направление —s = z — х будет возможным. Так как //(х) — вогнутая функция, то из 2.4.9 получаем Умножим равенство C.13) скалярно на —s:
46 Гл. 3. Основы математического программирования Поскольку -s — возможное направление в точке х, то из теоре- теоремы 3.2.7 следует, что (/^(x),s) ^ 0, i Е /(х). Итак, все слагаемые в правой части равенства C.15) одного знака, а одно из них, а имен- именно 1-е, заведомо отлично от нуля: —vi(f[(x),s) > 0, что противоречит равенству нулю всей суммы. Л Замечание. В случае выпуклости функций /i(x) (г = 1,т) тре- требование регулярности становится излишним. Действительно, если функции /i(x) выпуклы, то равенство является необходимым условием того, что х является точкой ло- локального минимума функции <р(х) на множестве X. Справедливость этого утверждения будет следовать из теоремы Фаркаша, если мы покажем, что для любого u Е Еп такого, что (Л(х),и)^0, ге/(х), имеет место неравенство Поскольку длина вектора и не влияет на выполнение указанно- указанного неравенства, то достаточно установить справедливость последнего неравенства для векторов достаточно малой длины. Пусть u = z - х и z лежит в такой достаточно малой окрестности точки х, что /j(z) > О, j е {1, ...,п}\/(х). Точка z принадлежит X, поскольку fi(z) = fi(z) - Л(х) ^ (Л(х), z - х) ^ 0, г G /(х). Если ((//(x),z - х) < 0, то по формуле Тейлора получим <p(z) - ^(х) = <у/(х), z - х) + o(||z - х||) < О, так как по предположению величина ||z - х|| достаточно мала. Последнее противоречит условию, что х является точкой локального минимума. 3.4.5. Теорема. Если функции /i(x) вогнуты, замкнутое мно- множество X = {х: <^г(х) ^ О, i — 1,^г} регулярно по Слейтеру, а точка х G X является точкой локального минимума функции <р(х) на мно- множестве X, то х = р(х-<р'(х)). Здесь p(v) означает проекцию точки v на множество X. Доказательство. Пусть у — произвольная точка множест- множества X. Направление —s = у — х является возможным в точке х. Из теоремы 3.4.4 получаем, что
3.4- Экстремальные свойства на выпуклых множествах 47 По теореме 2.2.3 отсюда следует, что х является проекцией точки х — ^'(х) на множество X. Л 3.4.6. Случай линейных ограничений. Если ограничения, за- задающие допустимое множество, линейны, то предыдущая теорема справедлива без предположения регулярности множества X. Теорема. Если функции /i(x) (г = 1,т) линейны, а точка xGl = {x: /i(x) = (а;,х) - hi ^ 0, г = 1,т} является точкой локального минимума функции (р(х) на множест- множестве X, то найдутся такие числа щ ^ 0; г Е /(х), что Доказательство. Пусть г > 0 — столь малое положительное число, что для всех точек, принадлежащих окрестности точки х, будет (р(у) ^ у?(х). Рассмотрим произвольную точку z ^ x множества X. В силу выпук- выпуклости множества X будет х — /3(х — z) G ?7е(х) для всех /3 G @, /3] при = min Поэтому Дто^^_^1_^ ^ = ((p(x),x-z) ^0. Если положить s = x — z, то направление —s будет возможным в точке х, и последнее неравенство примет вид (<^'(x),s)^0. C.16) Поскольку —s — любое возможное направление в точке х, то из теоремы 3.2.8 следует, что неравенство C.16) должно выполняться для всех s, удовлетворяющих неравенствам (ai,sK0, ге/(х). C.17) Применяя к условиям C.16) и C.17) теорему 2.3.3, сразу же получаем утверждение теоремы. Л 3.4.7. Поскольку при выводе условия C.16) мы пользовались лишь свойством выпуклости множества X, то можно сформулировать сле- следующее условие стационарности точки х в задаче выпуклого про- программирования: для того чтобы точка х выпуклого множества X
48 Гл. 3. Основы математического программирования являлась точкой локального минимума функции (р(х) на множест- множестве X, необходимо, чтобы в этой точке производные по всем возмож- возможным направлениям были неотрицательными: Э(-в) 3.5. Достаточные условия оптимальности 3.5.1. Теорема. Для того чтобы точка х Е X была точкой гло- глобального минимума основной задачи выпуклого программирования 3.1.4, достаточно существования таких чисел щ ^ 0, г Е /(х), что Доказательство. Вследствие выпуклости множества X нап- направление -s = у - х является возможным в точке х при любом у G X. Из теоремы 3.2.7 следует, что (//(x),s) ^ 0, г Е /(х), и поскольку функция <р(х) выпукла, то, пользуясь B.15), получаем соотношение справедливое для любого у G X. Л 3.5.2. Теоремы 3.4.4 и 3.5.1 можно объединить в одну теорему о критерии оптимальности. Теорема Куна-Таккера (дифференцируемый случай). Если функции /i(x) вогнуты, функция <р(х) выпукла, множество X = {х: /г(х) ^ 0, г = 1,?тг} регулярно по Слейтеру, то для оптимальности точки х G X необходимо и достаточно существования таких чисел щ ^ 0 (г = 1, гтг), что г=1 г=1 Для того чтобы убедиться в справедливости этой теоремы, доста- достаточно вспомнить, что точка локального минимума выпуклой функ- функции является оптимальной (теорема 2.4.11). Л 3.5.3. Часто в допустимом множестве X выделяют ограничения неотрицательности допустимых точек: X = {х: /i(x) ^ 0, г = 1,ш, х ^ 0}.
3.6. Функция Лагранжа. Условия оптимальности 49 В этом случае теорему Куна-Таккера формулируют следующим об- образом: если функции /i(x) вогнуты, функция <р(х) выпукла, множест- множество X регулярно по Слейтеру, то для оптимальности точки х Е X не- необходимо и достаточно существования таких чисел щ ^ 0 (г = 1,т) и у0 ^ 0 (j = l,n), что га п Здесь ej (j = 1, n) — j-й координатный вектор: ej = @,..., 1,..., 0), единица стоит на j-м месте. 3.5.4. Случай линейных ограничений (критерий опти- оптимальности). Теоремы 3.4.6 и 3.5.1 можно также объединить в од- одну теорему о критерии оптимальности: для того чтобы точка х была точкой глобального минимума выпуклой функции (р(х) на множестве X = {х: (а^, х) — hi ^ 0, i = I, т}, необходимо и доста- достаточно, чтобы существовали такие числа U{ ^ 0 (г = 1,га), что га га у/(х) = 5>iai, 5>;((а;,х) " &;) = 0. г=1 г=1 3.5.5. Теорема. Для того чтобы точка х G X была точкой гло- глобального минимума основной задачи выпуклого программирова- программирования 3.1.4, достаточно, чтобы для всех s, удовлетворяющих системе (/;(x),s)^0, ге/(х), C.18) выполнялось условие (^(x),s) ^ 0. C.19) Доказательство. Применяя к условиям C.18) и C.19) теоре- теорему 2.3.3 (Фаркаша), сразу же приходим к условиям теоремы 3.5.1. Л 3.6. Функция Лагранжа. Условия оптимальности 3.6.1. Седловая точка. Рассмотрим n-мерный вектор х, принад- принадлежащий некоторому выпуклому множеству Г, и ш-мерный неотри- неотрицательный вектор у ^ 0. Пусть функция L(x,y) выпукла по х на множестве Г и вогнута по у на неотрицательном ортанте. Определение. Пара х*, у* называется седловой точкой функции L(x,y) на множестве всех х G Г и у ^ 0, если х* е г, у* ^ о,
50 Гл. 3. Основы математического программирования L(x*,yKL(x*,y*Ki:(x,y*) C.20) для всех х G Г и у ^ 0. Соотношение C.20) можно записать также следующим образом: L(x*,y*) = minmaxL(x,y) = maxminL(x,y). v J xer y^o v J y^o xer v J 3.6.2. Условия существования седловой точки. Для даль- дальнейших целей нам достаточно рассмотреть случаи, когда Г = Е+ = = {х: х ^ 0} и Г = Еп. Пусть функция L(x,y) выпукла по х для всех х ^ 0, вогнута по у для всех у ^0 и непрерывно дифференцируема по х и по у. Теорема. Для того чтобы пара х*, у* (х* ^ 0, у* ^ 0) была седловой точкой функции L(x, у) в области х* ^ 0, у* ^ 0, необходимо и достаточно выполнения условий где <9L* ах (х*,-^\ \ <9х / X* ду У* л ^(Х,У) - ах х=х* У=У* ' = 0, <о! = 0, аь* л аь(х,у) <эУ = ау х=х* У=У* - C.21) C.22) C.23) C.24) C.25) C.26) Доказательство. Запишем условия C.21)-C.2б) в эквивалент- эквивалентной форме: ^- > 0, i = М, C.2Г) я т * ж*— = 0, г = Т~п, C.22;) ж* ^ 0, г = Т~гг, C.23;) ^- ^ 0, j = ТТггг, C.24;) 2/J ^ 0, j = T^. C.260
3.6. Функция Лагранжа. Условия оптимальности 51 Необходимость. Пусть выполняются условия C.20) при Г = = {х: х ^ 0}. В частности, отсюда следует L(xi,y*) AL(xJ, ...,x*_l5Xi, ж*+1, ...,ж^,у*) ^ L(x*,y*) для всех х\ ^ 0, т. е. точка ж* является точкой минимума выпуклой функции одного переменного L(xi, у*) на полупрямой xi ^ 0. Условия C.21/)-C.23/) и являются необходимыми условиями минимума (в частности, локального минимума) при xi ^ 0 для функции одного переменного (поскольку либо ж* — внутренняя точка полуоси ж^ ^ 0, и тогда —— = 0, либо ж* = 0, и тогда —— ^ ^ 0 J. Аналогично, пользуясь вогнутостью функции L(x, у) по у, легко доказать справедливость условий C.24/)-C.2б/). Достаточность. Пусть выполняются условия C.21)-C.2б). По- Поскольку L(x,y) выпукла по х при х ^ 0, то, пользуясь неравенством из 2.4.9, получаем Отсюда и из C.21)-C.23) получаем L(x*,y*KL(x,y*), х^О. Аналогично доказывается и левое неравенство в C.20). Л 3.6.3. Если Г = Еп, то аналогичными рассуждениями нетрудно убедиться, что седловая точка будет определяться условием и соотношениями C.24)-C.2б). 3.6.4. Функция Лагранжа. Пусть f(x) — ш-мерный вектор fT(x) = (/i(x),/2(x),...,/m(x)). Рассмотрим следующую задачу вы- выпуклого программирования: min{(p(x): xGl}, X = {х G Г: f(x) ^ 0}. C.27) Здесь Г — выпуклое и замкнутое множество, (р(х) — выпуклая функ- функция, а все функции /i(x) вогнутые. Заметим, что при Г = Еп задача C.27) является (согласно принятой терминологии) основной задачей выпуклого программирования. Определение. Функцию L(x,y)=^(x)-(y,f(x)), C.28) определенную при всех х G Еп и у ^ 0, называют функцией Лагранжа для задачи выпуклого программирования C.27).
52 Гл. 3. Основы математического программирования 3.6.5. В задачах классического анализа об условном экстрему- экстремуме (задачах, в которых допустимое множество задается системой уравнений) важную роль играет метод множителей Лагранжа: ре- решение исходной задачи ищется среди стационарных точек функции L(x,y) — точек, удовлетворяющих системе уравнений <9х ду В задачах выпуклого (и, в частности, линейного) программирова- программирования функции Лагранжа также отводится важное место: при весьма общих предположениях задача выпуклого программирования сводит- сводится к отысканию седловых точек функции Лагранжа. 3.6.6. Достаточные условия оптимальности. Теорема. Если пара х*; у* является седловой точкой функции Лагранжа C.28) на множестве х Е Г, у ^ О, то х* — оптимальная точка задачи выпуклого программирования C.27). Доказательство. Из C.28) и определения седловой точки C.20) получаем неравенства ?>(х*) - (у,f(х*)) ^ ^(х*) - (у*,f(х*)> ^ ?>(х) - (у*,f(х)>, C.29) справедливые для всех х 6 Г, у ^ 0. Из левого неравенства следует <y,f(x*))^(y*,f(x*)>, C.30) а поскольку у* ^ 0 и это неравенство справедливо для любого у ^ 0, то f(x*) ^ 0. В частности, C.30) имеет место и для у = 0, поэтому (y*,f(x*)K0, а следовательно (так как у* ^ 0 и f(x) ^ 0), (y*,f(x*)>=0. C.31) Если х € X, то из C.27) следует, что f(x) ^ 0, и поэтому для х ? X будет <y*,f(x)>^0. C.32) Так как неравенство C.29) выполняется для всех х G Г и, в частнос- частности, для х G X, то из правого неравенства C.29) и из C.31) и C.32) получаем для всех х G X неравенства Но х* G X (так как х* G Г и f(x*) ^ 0), и, следовательно, х* — опти- оптимальная точка. Л
3.6. Функция Лагранжа. Условия оптимальности 53 Замечание. При доказательстве теоремы нигде не использова- использовались ни свойства выпуклости функции <р(х) и множества Г, ни во- вогнутость функций /i(x) (г = 1,га), ни какие-либо свойства гладкости. Таким образом, наличие седловой точки х*, у* функции Лагранжа определяет оптимальность точки х* для общей задачи математичес- математического программирования. Сразу же подчеркнем: обратное утвержде- утверждение, что из оптимальности точки х* следует существование седловой точки х*, у* функции Лагранжа, справедливо лишь для задачи вы- выпуклого программирования и вдобавок при условии регулярности до- допустимого множества. Это и есть известная теорема Куна-Таккера. Ниже эта теорема будет доказана в предположении непрерывной диф- ференцируемости функций (р(х) и /i(x) (г = 1,т) как очевидное след- следствие теорем 3.5.2 и 3.6.2. 3.6.7. Теорема Куна —Таккера. Пусть допустимое множество задачи выпуклого программирования имеет вид X = {х: /i(x) ^ 0, г = 1,т, х ^ 0}. Будем предполагать, что выпуклая функция <р(х) и вогнутые функ- функции /i(x) (г = 1,?тг) непрерывно дифференцируемы. Теорема Куна-Таккера. Если в задаче выпуклого програм- программирования p(x): xGl}, X = {х: /;(х) ^ 0, г = Т~га, х ^ 0}, множество X обладает свойством регулярности 3.4.2, то необходи- необходимым и достаточным условием оптимальности точки х* G X являет- является существование такого у* ^ 0, чтобы пара х*, у* являлась седловой точкой функции Лагранжа на множестве х ^ 0; у ^ 0. Доказательство. Достаточность следует из теоремы 3.6.6 при Г = {х: х ^ 0}. Необходимость. Докажем эквивалентность условий теоре- теоремы 3.5.3: ,Vi(x*) = 0, C.34) г=1 у\ ^ 0, г = Т~т, C.35) п C.37)
54 Гл. #. Основы математического программирования и условий теоремы 3.6.2, определяющих седловую точку функции C.38) C.39) C.40) C.41) C.42) У* ^ 0. C.43) Эквивалентность будем обозначать символом ~. Пусть vT = (v*,v*,...,v*n) и fT(x) = (Л(х),/2(х),...,/то(х)). Заме- Заметим, что dL* ax X* dL* ду * dL*\ ду / = o, = о, Очевидно, C.38) - C.37), C.39) - C.36), C.42) ~ C.34), C.43) - C.35). Условия C.40) и C.41) означают, что х* G X. Л 3.6.8. Для основной задачи выпуклого программирования 3.1.4 теорема Куна-Таккера формулируется следующим образом: если в основной задаче выпуклого программирования множество X = {х: /г(х) ^ 0, г = 1,?тг} обладает свойством регулярности 3.4.2, то необходимым и достаточным условием оптимальности точки х* G X является существование такого у* ^ 0, чтобы пара х*, у* являлась седловой точкой функции Лагранжа на множестве х G i?n i/ у* ^0. Справедливость этой теоремы следует из пп. 3.5.2 и 3.6.3. 3.6.9. Случай линейных ограничений. Если функция <р(х) вы- выпукла, а допустимое множество задается линейными ограничениями, X = {х: (а^,х) — bi ^ 0, i = 1,га, х ^ 0},
3.6. Функция Лагранжа. Условия оптимальности 55 то для оптимальности точки х* G X необходимо и достаточно су- существование такого у* ^ 0, чтобы пара х*, у* являлась седловой точкой функции Лагранжа на множестве х ^ О; у ^ О. Справедливость этой теоремы следует из пп. 3.5.4 и 3.6.2. Л 3.6.10. Существуют различные варианты теоремы Куна-Таккера, различные ее обобщения и применения в теории экстремальных за- задач. Эта теорема лежит в основе теории двойственности математи- математического программирования. Теорема Куна-Таккера находит также применение в численных методах решения задач математического программирования. Она поз- позволяет исходную задачу заменить задачей отыскания седловой точки функции Лагранжа, т. е. задачей вида minmaxL(x,y). "Простые" ограничения этой задачи позволяют применять для ее ре- решения методы, во многом схожие с численными методами безуслов- безусловной оптимизации, достаточно хорошо изученные и апробированные. Замечание. Теорема Куна-Таккера перестает быть содержа- содержательной в случае вырожденности, например, когда cz/fx*) = 0 f-fx*) =0 г — 1 та В то же время существует широкий класс задач такого рода. В до- добавлении (см. Д.З) приводятся необходимые и достаточные условия оптимальности в вырожденных задачах. 3.6.11. Двойственность. Введем функцию g(x) = supL(x,y). Очевидно, что основная задача математического программирования может быть записана в виде д(х) ->• min, xGl = {x: f(x) ^ 0}, поскольку д(х) = <р(х), если х Е X. Эту задачу принято называть прямой. Обозначим h(y) = inf L(x,у). Задачу Л(у) -> max, у G E+ = {у: у ^ 0}, называют двойственной, а переменные з/ь 2/2, •••? Ут — двойственными переменными. 3.6.12. Теорема. 1) у?(х) ^ ft(y) для всех х G X, у G ?+. 2) #а/ш выполняются условия теоремы Куна-Таккера (п. 3.6.7), а пара х*, у* является седловой точкой функции Лагранжа, то у* = argmax{/i(y): у G ?+} и у>(х*) = Л(у*).
56 Гл. 3. Основы математического программирования 3) Если (р(х*) = h(y*) для любых х* G X, у* G i?+, то х* = argmin{(p(x): x G X}, у* = argmax{/i(y): у G ?+}. Доказательство. 1) Так как f(x) ^ 0, у ^ 0, то ^(х) ^ у>(х) - (y,f(x)> = L(x,y) ^ inf L(x,y) = Л(у). 2) Для всех у ^ 0 справедливо соотношение Л(У*)= inf L(x,y*) = L(x*,y*)^L(x*,y)^ inf L(x,y) = h(y), x?En x?En поэтому у* — решение двойственной задачи. Но L(x*,y*) = <р(х*), так как (у*,/(х*)) = 0 (см. п. 3.31), поэтому <р(х*) = h(y*). 3) В силу 1) для любых х G X, у G i?^, следовательно, х* — решение прямой за- задачи, а у* — двойственной. Определение. Точку v* = (х*, у *), удовлетворяющую условиям y*V/i(x*)=0, y*^0, ?/Шх*)=0, i=T^, будем называть точкой Куна-Таккера.
ГЛАВА 4 ТЕОРИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 4.1. Основные понятия 4.1.1. Основная задача. Следующую экстремальную задачу бу- будем называть основной задачей линейного программирования: min (c,x), xGiii D.1) Й1 = {х: Ах ^ Ь, х ^ 0}. Несколько позже будет показано, что любая задача линейного про- программирования может быть приведена к виду D.1). Поэтому основ- основные теоремы линейного программирования будут рассмотрены применительно к задаче D.1), что никак не снижает общности рас- рассмотрений. 4.1.2. Двойственность. Задачей, двойственной к основной зада- задаче линейного программирования, будем называть задачу max(b,y), yeQi D.2) Qi = {У^ТУ ^ с, у ^ 0}. 4.1.3. Эквивалентность. Две экстремальные задачи будем на- называть эквивалентными, если либо множества их решений совпада- совпадают, либо обе задачи не имеют решений. Легко убедиться, что задача D.1) будет двойственной к зада- задаче D.2). Для этого достаточно рассмотреть задачу, эквивалентную задаче D.2): min(-b,y), -c, у ^0}, и построить, в соответствии с определением, к ней двойственную: тах(—с,х), Й1 = {х: -Ах ^ -Ь, х ^ 0}.
58 Гл. 4- Теория линейного программирования А это и есть задача D.1). Таким образом, задачи D.1) и D.2) взаимно двойственны. 4.1.4. Терминология. Всюду в настоящей книге будем придер- придерживаться уже введенной терминологии (целевая функция, допусти- допустимое множество, допустимая точка, оптимальная точка и т. д.). Однако следует сказать, что терминология линейного програм- программирования неоднозначна. В значительной степени это связано с экономическими приложениями, термины которых часто сохраняют и для задач линейного программирования. Матрицу А = [ai, а2,..., ап] называют матрицей условий зада- задачи D.1). Ее столбцы а^ (г = 1,п) называют векторами условий задачи D.1). Вектор b называют вектором ограничений задачи D.1). Допустимую точку xGft называют также планом. Иногда угло- угловую точку множества Ri называют опорным планом, а решение за- задачи линейного программирования (оптимальную точку) называют оптимальным планом. 4.1.5. Геометрическая интерпретация. В пространстве Еп множество R\ можно рассматривать как пересечение полупрост- полупространств (при п = 2 — полуплоскостей): (Ах) ^ bi, г — 1,т, 0, j = Гдг. (с,х)=(с,х0) Рассмотрим (с,х)=Л — семейство параллельных гиперплоскостей (при п = 2 — парал- параллельных прямых). Вектор -с направлен в сторону убывания целевой функции. На рис. 4.1 изображен случай, когда множество огра- ограничено, т.е. многоугольник. Рассмотрим некоторую точ- точку хо Е R\. Ей соответствует значение целевой функции Ло = (с,х0). Теперь будем перемещать пря- прямую (с,х) = Л в направлении -с, т. е. в на- направлении убывания величи- величины Л, до тех пор, пока не придем в такую точку х* Е Ri, для которой значение Л минимально. Геометрический смысл задачи здесь очевиден. Рис. 4.1
4.2. Основные теоремы 59 Легко изобразить на чертеже, когда R\ неограничено, но решение существует; когда решение существует, но не единственно; и, нако- наконец, когда R\ неограничено и (с,х) неограничена на R\. 4.2. Основные теоремы 4.2.1. Сформулируем, во-первых, теорему, которая является част- частным случаем теоремы 3.6.9 (когда <р(х) линейна) и поэтому в отдель- отдельном доказательстве не нуждается. Будем обозначать функцию Лагранжа для задачи D.1) так: Li(x,y) = (с,х) + (у,Ь - Ах). D.3) Теорема. Для того чтобы точка х* Е R\ была оптимальной для основной задачи линейного программирования, необходимо и дос- достаточно существования у* ^ 0 такого, чтобы пара х*, у* была сед- ловой точкой функции Лагранжа Li(x,y) в области х ^ 0, у ^ 0, т.е. Li(x*,y) < Li(x*,y*) < Li(x,y*). D.4) 4.2.2. Из соотношения C.33) следует, что необходимым и доста- достаточным условием оптимальности х* для задачи D.1) является сле- следующее представление вектора с: -с = - V у*щ- V v*ej, y*^0, v*^0, D.5) где /(x*) = {г: (Ax*), = bi}, J(x*) = {j: x* = 0}. Из теорем 3.6.2 и 4.2.1 следует, что для х* и у* выполняются следующие равенства: x*(c-ATy*)i = 0, г=^п, 2/*(Ь-Ах*^=0, j = l,m. [ ' ' 4.2.3. Теоремы двойственности. Первая теорема двойственности. Прямая и двойствен- двойственная задачи либо обе имеют оптимальные точки х* и у*, причем (с,х*) = (Ь,у*), D.7) либо обе их не имеют. Доказательство. Рассмотрим функцию Лагранжа для зада- задачи D.2). Для этого запишем эту задачу в виде основной задачи ли- линейного программирования, т. е. в виде D.1).
60 Гл. 4- Теория линейного программирования Ясно, что задача max(b,y), эквивалентна задаче min(-b,y), -с, у ^0}. А для этой задачи, поскольку она записана в виде основной задачи, функцией Лагранжа будет L2(y, х) = -<-Ъ, у) + (х, -с + Ату). D.8) Седловой точкой для 1/2(у,х) в области у ^ 0, х ^ 0 будет пара у', х' такая, что L2(y',x) <; L2(y;,x;) sC L2(y,x;). D.9) Сравнивая D.8) и D.3), получим L2(y,x) = -[(с,х) + (у,Ь - Ах)] = -Li(x,y). D.10) Из D.10), D.9) и D.4) следует, что если х*, у* — седловая точка для Li(x,y), то у*, х* — седловая точка для 1/2(у,х), а значит, ли- либо х* и у* оптимальны соответственно для задач D.1) и D.2), либо, когда седловая точка не существует, и задача D.1), и задача D.2) не имеют решений. Наконец, равенство D.7) следует из формул D.6). Л Определения. Назовем условия в задачах D.1) и D.2) 0, j = парой двойственных условий. Аналогично условия Xi ^ 0, (-4Ту); ^ Q, г = Туп, также являются парой двойственных условий. Любое из условий называется свободным, если оно выполняется как строгое неравенство хотя бы для одного оптимального вектора. Условие называется закрепленным, если оно выполняется как ра- равенство для всех оптимальных векторов. Вторая теорема двойственности. Если прямая (а зна- значит, и двойственная) задача разрешима, то в каждой паре двойст- двойственных условий одно является свободным, другое закрепленным. Доказательство. Утверждение, что свободному условию соот- соответствует двойственное закрепленное, следует сразу из формул D.6).
4.2. Основные теоремы 61 Покажем, что закрепленному условию соответствует двойственное свободное. Пусть, например, условие х\ ^ 0 закрепленное: х\ = 0 для всех х* Е X*, где X* — множество решений задачи D.1). Постро- Построим решение у задачи D.2), для которого (ATy)i < c\. Воспользуемся индукцией по числу п. При п = 1 в прямой задаче min(ci,xi), а ф О, Ах\ ^ Ь, х\ ^ О (А — одностолбцовая матрица), если х\ = 0, то с\ > 0; в двойственной задаче max (b,y), АТу ^сь У ^0 у = 0 является решением и (ATy)i = Ату = 0 < с\. Предположим, что для п — 1 теорема верна. Построим у для раз- размерности п. Рассмотрим вспомогательную задачу min (c,x), Д^е) = {х: Ах ^ Ь, х ^ 0, ж/ ^ г > 0}. 1. Если Ri(s) = 0 при всех е > 0, то ж/ = 0 при всех ж G i2i, следо- следовательно, задача D.1) имеет размерность п — 1, для которой теорема верна по предположению индукции. 2. Пусть R\{e) ф 0 при всех достаточно малых г > 0. Поскольку условие х\ ^ 0 закрепленное, a i2i(e) Cft = {х: Ах ^ b, x ^ 0}, то min (с, х) = ю* > ip* = min (с, х) Gi?() Gii (если предположить, что (р* = ip*, то найдется жг* ^ г > 0, что проти- противоречит условию закрепленности). Построим задачу, двойственную к (А): max((b,y) +?2/m+i), yeQ (B) Q = {у: Ату + e/2/m+i ^ с, у ^ 0, 2/m+i ^ 0}. Пусть точка _ ^ { ч является решением задачи (В). Пока- L Ут+1\е) \ жем, что точка у (г) будет решением задачи D.2). Не ограничивая общности, считаем, что активными будут ограничения (ATy(s))i = с;, г = ТД, i^, A: ^ n,
62 Гл. 4- Теория линейного программирования По теореме Куна-Таккера C.5.1) в решении _ ^ I ч будет |_ Ут+1\е) \ v[]4] i=l,k 3 = 1,Р ъф\ \ ^ 0, г = 1, к, г ф I, Л/ > 0, Uj ^ О, j = 1,p. При г —>¦ +0 будет Л/ —>¦ +0. Поэтому по теореме о замкнутости ко- конуса B.3.2) существуют такие неотрицательные числа А* ^ 0, (г = = ТД, г ф I), Л;, и) ^ 0 (j = ТТр, j ф т + 1), что г=1,А; гф\ причем Лг* = 0. В свою очередь в точках у(е) будет (ATy(s))i + + Ут+Л?) = ch а поскольку ^m+i(e) > 0, то (ATy(s))i < с/. Поэтому для задачи D.2) в точках у(г) активными будут только ограничения (ATy(e))i = a, i=T7k, гф1, у;(е) = 0, j =T^>. Переписав (С) в виде Ь= г=1,А; j=l,p гф\ и учитывая предыдущее замечание, мы сразу попадаем в условия теоремы C.5.1), откуда следует, что у(г) — решение задачи D.2) при г > 0 достаточно малых. Л 4.2.4. Теорема. Для любых допустимых х G R\ и у е Q\ выпол- выполняется неравенство (с,х)^(Ь,у). D.11) Доказательство. Из неравенств, определяющих R\ и Qi, следует (с, х) ^ (АТу, х) = (у, Ах) ^ (у, Ь) = (Ь, у). Л 4.2.5. Теорема. Если х* е Ri и у* ? Qb a <с,х*) = <Ь,У*>, то х* и у* оптимальны соответственно для задач D.1) и D.2), и
2. Основные теоремы 63 Доказательство. Для любого х Е R\ в силу D.11) и условия теоремы будет т. е. х* оптимален. Аналогично доказывается оптимальность у*. Об- Обратное утверждение теоремы содержится в теореме двойственнос- двойственности 4.2.3. Л 4.2.6. Теорема. Если inf (с,х) = М > — оо, то существует точка х* = argmin {(с,х): х Е Ri}. Доказательство. Предположим, что такой точки нет. Тогда система неравенств Ах^Ь, <с,хКМ, D.12) х ^ О не имеет решения. Пусть [ с1 J ' [ М Систему D.12) перепишем в виде Вх ^ d, х^О. Поскольку эта система не имеет решения, то согласно модификации теоремы Фаркаша (см. 2.3.5) будет разрешимой следующая система: ВТи ^ 0, D.13) (d,u)<0, D.14) u ^ 0. D.15) Если в неравенстве D.14): увеличить число М на достаточно малую величину е > 0, то система ВТм ^ 0, m - Y^ Ь{щ + (М + e)um+1 < О, г=1 u^ 0 будет разрешимой. В силу модификации теоремы Фаркаша не будет иметь решения система ?x^de, х ^ 0,
64 Гл. 4- Теория линейного программирования где d? = yr .В прежних обозначениях эта система имеет вид Ах ^ Ь, (с,х) ^ М + е, х ^ 0. Однако утверждение, что эта система неразрешима, противоречит определению числа М как точной нижней грани функции (с,х) на множестве R\. Л 4.2.7. Следует обратить внимание на то, что теорема справедлива, вообще говоря, лишь для задач линейного программирования. Рассмотрим, например, следующую задачу: мини- минимизировать х2 на множест- множестве х2 0, х2 ^ о}. Рис. 4.2 Очевидно, что X выпукло и замкнуто, inf x2 = О, но в X нет точки, где достигается inf x2 (рис. 4.2). 4.2.8. Теорема. Для существования решения одной из двойст- двойственных задач (и, следовательно, обеих) необходимо и достаточно, чтобы Ri^0 и Яхф0. Доказательство. Необходимость очевидна. Достаточность. Пусть у G Q\. Тогда для любого х G R\ имеет место D.11): (с,х) ^ (Ь,у), а тогда по теореме 4.2.6 задача D.1) имеет решение и, значит, имеет решение и задача D.2) (в силу теоремы 4.2.3). Л 4.2.9. Следствие. Если*) (с,х) ((Ь,у)) неограничена снизу на Ri {сверху на Qi), то Qi = 0 №=0). скобках приводится двойственное утверждение.
4.2. Основные теоремы 65 4.2.10. Следствие. Если Qi = 0 (Дх = 0), a Rx ф 0 (Qi ^ 7^0), то Ri(Qi) неограничено и (с,х) неограничена снизу на R\ ((b,y) неограничена сверху на Q\). 4.2.11. Теорема. Если (с,х*) = min(c,x), и если существуют xi,X2,...,xm такие, что: a)xiGfli, г = 1,М; м м б) х* = ^ a^Xi, г^е ^ oti — 1 (a« > 0, г = 1, М); г=1 г=1 то (с,х*> = (c,xi) = ... = (с,хм). Доказательство. Предположим, что (с,х*> ^ (c,xi> ^ ... ^ (с,хм). D.16) Тогда мм м (С,Х*) = ^С,^О^Х^ = ^ai(c,Xi) ^ ^a;(c,Xi) = (c,Xi). г=1 г=1 г=1 Учитывая D.16), получаем (с,х*) = (с,Х1). Сделаем индуктивное предположение: (с,х*> = (c,xi) = ... = (с,хЛ>, k <M, и докажем, что (с,х*) = (с,хЛ+1>. Действительно, М А; М (с,х*) = ^ai(c,Xi) = ^ai(c,Xi) + J^ ai(c,Xi)^ г=1 г=1 г=/г+1 А; М г=1 г=Аг+1 Отсюда k M к ) ( ) ^ г=1 г=Аг+1 г=1
66 Гл. 4- Теория линейного программирования к И так как /_^«i < 1 (поскольку к < М), то г=1 (с,х*> ^ ( А тогда (см. D.16)) Л 4.2.12. Теорема. Если задача D.1) имеет решение х*, то су- существует угловая точка х такая, что (с,х) = min (c,x). Доказательство. 1) Если R\ ограничено, то из теоремы 2.2.10 следует, что существуют такие угловые точки xi,X2, ...,хдг мно- множества Д]_, что для любого х Е R\ и, в частности, для х* будет N N г=1 г=1 Вычеркнем из системы точек xi,X2, ...,хдт те, которым соответству- соответствуют ai = 0. Не ограничивая общности, можем полагать, что это точ- точки xm+i,xm+2,...,xtv. Тогда м м х* — > rrx- \ rr — 1 гг > О i — Л М i=l i=l т. е. выполняются условия теоремы 4.2.11, откуда и следует утверж- утверждение теоремы. 2) Пусть Ri неограничено, а х* оптимален. Очевидно, что для достаточно большого числа \i > 0 множество п Т f^-. V^ r. < /i г > 0 7 — Т~п1 таково, что п х* G i?i П L и х* ^ / = | х: Y^ Xi—\i, xi ^ 0, г = 1,п 1. г=1 Так как пересечение "ортанта" хH с множеством L ограничено, то и iJi П L ограничено, и, следовательно (см. пп. 2.2.10 и 4.2.11), существуют угловые точки xi, х2,..., хм множества R\ П L такие, что (с,х*) = (c,xi) = ... = (с,хм).
4-3. Алгебраическая характеристика угловой точки 67 Если хотя бы одна точка х^ не принадлежит I, то теорема доказана, поскольку тогда х^ будет угловой точкой множества R\. Если все х^ принадлежат I (г = 1,М), то из представления м г=1 м г=1 0, г = следует х* G ?, что противоречит выбору числа \i > 0 при построении множества L. Л 4.3. Алгебраическая характеристика угловой точки 4.3.1. Ранее было введено геометрическое определение угловой точки. Однако для того чтобы уметь находить (вычислять) угловую точку, необходима ее алгебраическая характеристика. Пусть, как и прежде, J(x) = {г: (Ах){ = h}, J(x) = {j: Xj = 0}, Рассмотрим систему уравнений (Az)i = bu iG/(x), Zj=Q, jGJ(x). D.17) He умаляя общности, можно полагать /(х) = {г: г = 1,2,...,г}, J(x) = {j: j = й + 1,й + 2,...,п}, и тогда при г = к система D.17) будет квадратной. 4.3.2. Теорема. Для того чтобы точка х ф 0 являлась угловой точкой множества Д]_, необходимо и достаточно, чтобы вектор х удовлетворял неособенной квадратной системе уравнений D.17). Доказательство. Достаточность. Пусть х G R\ и сущест- существует матрица D.18) D.19) такая, что Здесь х = в-. аи 1ак1 Х2 ъ = Z ... lit аи, ... акк\ ь\ . Ьк . Хк+1 = ... = Xn = 0,
68 Гл. 4- Теория линейного программирования х = X О О D.20) Предположим, что х не угловая точка, т. е. существуют х' G ft, х" G ft,x'/ х" ф х, такие, что х = ах' + A-а:)х", a G @,1). Для j > к Xj = ax'j + A - а)х" = 0. И так как а > 0, A - а) > 0, x'j ^ 0, х1' ^ 0, то Далее, _ _ _ Вх' ^ Ь, Вх" ^ Ь, аВх' + A - а)Вх" = Ь, поэтому _ и поскольку det В ф 0, то х' = х"; следовательно, х' = х", что проти- противоречит предположению. Необходимость. Пусть х — угловая точка множества ft. 1) Покажем, что хотя бы для одного г будет (Ах); = hi. Предположим, что такого номера г не существует. Так как х ф О, то найдется такое j, что Xj > 0. Рассмотрим и (х.П)Т = (Хл Х<2 X ¦ л X ¦ — 8 X ¦ л ж)>0 Из предположения, что Ах > Ь, для достаточно малого г следует Ах; ^ Ь, Ах" ^ Ь, т. е. х; е ft, х" е ft. Но Х ~ 2 Х + 2 Х ' что противоречит предположению (точка х по предположению угловая). 2) Пусть (Ах); = bi для г = 1,г и Xj = 0 для j = к + 1,п. Обозна- чим а1р , ъ' = , A=[a.1,a2,...,sik]-
4-4- Двойственные задачи со смешанными ограничениями 69 В этих обозначениях Ах = Ь' и х > 0. Докажем, что a~i, а~2,..., а*; линейно независимы (в этом случае к ^ г). _ Предположим противное, т. е. что существует х' ф 0 такой, что Ах' = 0. Возьмем о о х — ех О Легко видеть, что xi Е Ri, Х2 G R\ при малых г. Но х= - -х2, что противоречит предположению. Итак, к ^ г. Вычеркнув г — к строк из А, получим матрицу В, для которой выполняются D.18)-D.20). Л 4.3.3. Следствие. Число угловых точек множества R\ конечно. Это утверждение очевидно, поскольку число неособенных квад- квадратных клеток (подматриц) матрицы условий конечно. Л 4.3.4. Базис. Если точка хт = (хт, 0,..., 0), х > О, угловая, то систему линейно независимых векторов ai,a~2, ...,а& в представлении к Ь~ — \ Л т-я". v ^> О i — 1 h i=l называют базисом угловой точки, а матрицу В = [aba2,...,afc] — матрицей базиса угловой точки. 4.4. Двойственные задачи со смешанными ограничениями 4.4.1. Задачи линейного программирования наиболее общего ви- вида — это задачи со смешанными ограничениями, когда допустимое множество задается системой равенств и неравенств, а часть пере- переменных (или все переменные) может быть свободна от ограничений. Введем обозначения: Пусть /i означает часть совокупности индексов /, т. е. 1\ С /, а /2 —1\1\. Аналогично, J\ С J, J2 = J\Ji.
70 Гл. 4- Теория линейного программирования Пару задач min (c,x), (Ax.)i ^bi, i eh, (лол\ xj ^ o, j e Л, и max(b,y), Vi^O, г eh, называют двойственными задачами со смешанными ограничениями. Таким же образом, как и в случае задач D.1) и D.2), легко убедиться во взаимной двойственности задач D.21) и D.22). 4.4.2. Приведение к эквивалентным задачам основного вида. Запишем задачи D.21) и D.22) в следующей форме: min[(ci,xi) + (с2,х2)], = b2, max[(bbyi) + (Ь2,у2)], ^2y2 = С2, У1 ^0. Обозначения xi, X2, ci, C2, bi, b2, Ац и т. д. естественны; напри- например, xi — вектор, составленный из тех компонент Xj вектора х, для которых j G Л; этому xi соответствует ci, и т. д. Понятны и обозначения клеток матрицы л _ Г Ац А12 [ A2i А22 Для приведения будем каждое равенство (например, ip = 0) заме- заменять двумя неравенствами ((/? ^ 0 и —ip ^ 0 или ip ^ 0 и —у? ^ 0), а вместо переменной и, на которую не наложены условия неотрицатель- неотрицательности, будем вводить неотрицательные переменные п и п следующим образом: и = п — п, где п = max{i?, 0} ^ 0 и г? = max{—ix, 0} ^ 0. Итак, сделаем следующие замены переменных: Х2 = Х2 - ^2, У2 = У2 - У2> xj2 = max{xi2,0}, j G J2j ^i2 = max{^i2,0}, i G /2, fj2 = max{-^-2,0}, j G J2, fi2 = max{-^/i2,0}, г G /2.
J..4- Двойственные задачи со смешанными ограничениями 71 Вводя эти переменные и заменяя равенства соответствующими системами неравенств, приведем задачи D.23) и D.24) к следующему виду: mm[(cbxi) + (с2,х2) - (с2,х2)], bb Ь2, D.25) -Ь2, О, х2 ^ 0, % ^ О, max[(bbyi) + (Ь2,у2) - (Ь2,у2)], ^11У1 + ^21У2 - ^21^2 ^ СЬ ^21У1 + ^22У2 - ^22У2 ^ С2 , D.26) -с2, yi , у2 ^ 0, у2 ^ 0. Ясно, что D.25) и D.26) образуют двойственную пару задач линей- линейного программирования основного вида. 4.4.3. Нетрудно убедиться, что задачи D.23) и D.24) эквивалент- эквивалентны задачам D.25) и D.26), а именно: 1) если XI х2 У1 У2 оптимальны для D.23) и D.24), то XI х2 ^2 И У1 У2 У2 оптимальны для D.25) и D.26), и обратно; 2) если допустимое множество для D.23) пусто, то пусто допус- допустимое множество для D.25), и обратно; 3) если целевая функция задачи D.23) неограничена снизу на до- допустимом множестве, то неограничена снизу и целевая функция за- задачи D.25), и обратно. Утверждения 1)-3) обосновываются элементарными рассужде- рассуждениями, которые (в случае необходимости) читатель может провести самостоятельно. Из эквивалентности этих задач вытекает, что все теоремы, дока- доказанные для задач D.25) и D.26), остаются справедливыми и для задач D.23) и D.24).
72 Гл. 4- Теория линейного программирования 4.5. Канонический вид задачи линейного программирования 4.5.1. Задачу min (c,x), хеЯо Ro = {х: Ах = Ь, х ^ 0}, будем называть задачей линейного программирования в каноническом виде. Эта задача представляет собой частный случай (когда 1\ — 0 и J2 = 0) задачи со смешанными ограничениями D.23), и, следователь- следовательно, все доказанные теоремы и утверждения остаются в силе и для канонической задачи. 4.5.2. Приведение основной задачи к каноническому виду осу- осуществляется путем введения дополнительных переменных: для основной задачи min(c,x), Ах ^ Ь, х^О, эквивалентной ей канонической задачей будет min(c,x), Ах — и = Ь, х ^ 0, и^ 0 (эквивалентность здесь понимается так же, как и в задачах со сме- смешанными ограничениями). Если заметить, что двойственной к обеим задачам будет задача max(b,y), Ату ^ с, т. е. задача D.2), то доказательство эквивалентности становится три- тривиальным. 4.5.3. В дальнейшем относительно канонической задачи будем всегда предполагать m < п. Это предположение несколько упрощает изложение. С другой стороны, в реальных ситуациях всегда вводят дополнительные переменные (так называемый искусственный базис), увеличивая тем самым число переменных задачи с п до п + т. 4.5.4. Невырожденная угловая точка. Угловую точку мно- множества Rq будем называть невырожденной, если матрица ее базиса
4-5. Канонический вид задачи линейного программирования 73 имеет размерность т х т. Таким образом, у невырожденной угловой точки х число положительных компонент равно т. Если для просто- простоты будем считать, что для угловой точки х положительными будут первые т компонент, то матрицей базиса этой невырожденной угло- угловой точки будет В = 0*11 п,\ш _ аш\ Если, как и прежде, мы запишем угловую точку х в следующем виде: х О х = О где х = Х2 то 4.5.5. Пример. Пусть множество Rq задается в виде Xi — Х2 = О, , ж2 ^ 0, 0. Таким образом, Ro есть отрезок, соединяющий точки и х2 = Обе они будут угловыми, но невырожденной из них является лишь первая, т. е. xi.
ГЛАВА 5 КОНЕЧНЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ В этой главе будут изложены идеи и принципиальные соображе- соображения, лежащие в основе методов решения задач линейного программи- программирования. Читатель не найдет здесь подробного разбора алгоритмов. Следующие соображения служат этому оправданием. Знание основ метода позволяет читателю без особого труда самостоятельно разо- разобрать тот или иной алгоритм. Подробное изложение алгоритмов со- содержится во многих книгах по линейному программированию. Нако- Наконец (а это, может быть, и есть самое главное), в тщательном разборе алгоритмов нуждаются в первую очередь те, кто имеет отношение к реализации алгоритмов в компьютерных программах. А в этом слу- случае самым полезным будет "покопаться" в специальных статьях и книгах самостоятельно. 5.1. Симплексный метод*) 5.1.1. Идея метода. По существу симплексный метод представ- представляет собой последовательный перебор угловых точек, при котором значение целевой функции убывает от итерации к итерации (от од- одной угловой точки к другой). Будем рассматривать каноническую задачу линейного програм- программирования min (c,x), xeiV E.1) До = {x: Ax = b, х ^ 0}. Предполагается, что задача E.1) невырожденная, т. е. невырожде- невырождена каждая угловая точка множества Ro. Итерационный шаг метода состоит в переходе от угловой точки х к угловой точке х', при котором значение целевой функции убывает: *) Симплексный метод иногда называют "методом последовательного улучше- улучшения плана".
5.1. Симплексный метод 75 Пусть известна угловая точка х. Не ограничивая общности, можно считать, что базис В этой угловой точки образуют первые т столбцов матрицы А. Будем записывать матрицу А следующим образом: где В = [aba2,...,am], D = [ат+ь ат+2,..., ап]. Соответствующим образом запишутся векторы х и с: Т / Т С — Хп, Т С — Т Т \ с* с* 1 Cfi5 CDJ ^ т — ( ) )j СЬ = (Cm+ljCm+2,...,Cn). иногда называют базисными, а векто- Компоненты вектора ра х/) — внебазисными. Заметим, что если хоть одна компонента вектора х# нулевая, то угловая точка х вырожденная. В самом деле, если, например, хш = О, то, вычеркивая из матрицы В последние строку и столбец, получа- получаем, что х удовлетворяет квадратной неособенной системе уравнений порядка m - 1, т. е. угловая точка х будет вырожденной. 5.1.2. Выбор столбца для ввода в базис. Итак, известна уг- угловая точка х. При этом хБ > 0, x Рассмотрим векторы = 0, det 5 - ХВ 0 Л 0 = Ь. к = m + 1,п, E.2) где Л является к-й. компонентой вектора х. Во-первых, заметим, что поскольку х# > 0, то при малых Л > 0 будет х/, ^ 0. Далее, так как Xi-A^-^ г-1 = Ь, E.3) то G Ro при малых А > 0. Кроме того, ) = (сБ,хБ) - А(сБ,Б~1а^) + Хск = (с,х) - ск]. Обозначим А^ = (св,В 1a.k) - ск. E.4)
76 Гл. 5. Конечные методы решения Величина Ак определена для любого к = 1, п, причем при к = 1, т, поскольку В~1а.к = е/, (ек — к-й координатный вектор), имеем Ак = (cBiB^Rk) -ск = (св,ек) - ск = ск - ск = 0. Окончательно получаем соотношение (с,хЛ) = (с,х) - АДЛ, fc = М. E.5) 5.1.3. Выбор столбца для вывода из базиса. В зависимости от знаков величин Ак и (^^а/,^ возникают три случая. I. Если для любого к = 1,п будет Ак ^ 0, то точка х оптимальная. Действительно, обозначим у = (В-1)Тсв. Тогда условие Ак ^ 0 запишется так: Ак = (св^В-1^)-^ = ((В-^св^к)-^ = = (у, а/.) -ск ^ 0, к = 1,п, или, что то же самое, Ату ^ с. Поскольку двойственной к задаче E.1) является задача max(b,y), yeQ E.6) Qo = {y:^4Ty^c}, то у ? Qo- И так как (с,х) = (св,кв) = (св,В-1Ъ) = ((В-1)тсв,Ъ) = (у,Ь), то из теоремы 4.2.5 следует оптимальность точки х. П. Если найдется номер к ^ m + 1 такой, что Ак > 0 и Б^а/г ^ О, то множество Rq неограничено и функция (с,х) неограничена снизу на Ro. Действительно, из E.2) следует, что при любом Л > 0 будет х/. = Xfc(A) ^ 0. Отсюда и из E.3) получаем, что х&(А) G i?o- А из E.5) следует, что (с,хЛ(А)) ->> -оо при А ->• +оо. III. Пусть найдутся такие &^т + 1иг^т, что*) Afe > 0 и (В-1*^ > 0. В этом случае делается итерационный шаг. Обозначим Напомним, что запись (В 1SLk)i означает г-ю компоненту вектора В 1SLk.
5.1. Симплексный метод 77 и выберем ^ = -<p%. E.7) Заметим, что Ло > 0, поскольку E-1b)i = Xi >0, i=T~^. При таком выборе величины Ло точка х& = х^(Ло) становится допустимой точкой множества Rq (cm. E.2) и E.3)). Номер s, для которого достигается минимум в E.7), единствен в силу невырож- невырожденности задачи E.1). В самом деле, если бы минимум достигался более чем для одного номера, то из E.3) следовало бы, что вектор b выражается линейно с положительными коэффициентами менее чем через т векторов а^ матрицы А, т. е. точка Х& удовлетворяла бы системе уравнений размерности, меньшей т, и, следовательно, точка х/, была бы вырожденной угловой точкой. А это противоречит пред- предположению о невырожденности. То, что х& — угловая точка, прове- проверить нетрудно. Для этого достаточно показать, что система векторов ai, a2,..., as_i, as+i,..., am, а/, линейно независима. Предположим про- противное, т. е. что найдутся такие числа Pi,P2,...,Ps-i,Ps+i, —,Рт,Pk, не все равные нулю, что 0. E.8) гфз Обозначим zik = (B-1^. E.9) Тогда тождество ВВ~1а.к - а.к = 0 запишется так: т ^ZikSii -а/. = 0. г=1 Умножая это тождество на рк и складывая с E.8), получаем = 0. г=1 гфз Так как det В ф 0, то это равенство возможно лишь при всех нулевых коэффициентах: Pi + PkZik =0, г = 1, т, гф s, Pkzsk = 0. Но zsk = (B-1^), > 0, поскольку s G 1к, и, следовательно, рк = 0, а тогда и все Д = 0, что противоречит предположению о числах /?i,/?2> ••-,Ps-i,Ps+i, ••-,Pm,Pk-
78 Гл. 5. Конечные методы решения 5.1.4. Конечность метода. Итак, хк — новая угловая точка, причем (с, хЛ) = (с, х) - ЛоАк < (с, х). E.10) Из изложенного выше следует, что итерационный шаг симплекс- симплексного метода состоит в таком переходе от базиса ai, а2,..., as_i, as, as+b...,am к базису аь а2,..., as_b as+b ..., am, а/,, при котором це- целевая функция убывает, а значит, симплексный метод приводит к угловой точке х*, в которой достигается минимум, за конечное чис- число итераций. 5.2. Рекуррентные соотношения алгоритма симплексного метода (связь между параметрами последовательных итераций) 5.2.1. Введем следующие обозначения: а0 = b, zik = E~1afe)i, г = 1, m, к = 0, п, zoj = Д^, j = Гдг, zoo = (с, х). Таким образом, параметрами, соответствующими угловой точ- точке х, являются числа Zij {г = 0,m, j = 0,n), а параметрами новой угловой точки v Аж^(Ло) будут числа Vij. Связь между этими пара- параметрами устанавливается следующими формулами: ij = Zij - Zik —, г = 0,?71, i/s, j = 0,n, Zsk • tv- kj = —, j =Q,n. Действительно, и так как по условию zsk = (В 1a.k)s > 0, то as = — э.к - где — z_^ Далее, поскольку т aj = г=1 ТО
5.3. Методы отыскания исходной угловой точки 79 т zsk Сравнивая это представление вектора а^ с соотношениями ^' определяющими параметры г?^-, получаем формулы E.11) при j = 0,n И i == 1 777 Для г = 0 и 7 = 1,п имеем ^Oj = \СБ5 ^ aj/ ~ cj — / J cizij ~ cj- г=1 Поэтому ¦V +с v -с- = y^'cYz-- -z- ^-1 -с-+с Zsj = г EY — ^?1^ _ j- ^- — / Y^ \ zsj щ - \2^с^к ~Ск)— = z°j ~Zok—' г=1 Наконец, из E.10) и E.7) получаем — - Л А — - — zsk Таким образом, доказана справедливость формул E.11). 5.3. Методы отыскания исходной угловой точки 5.3.1. Наиболее распространенными являются так называемые методы искусственного базиса, суть которых состоит в следующем: строится такая вспомогательная каноническая задача линейного программирования с заранее известной угловой точкой, по решению которой тривиально строится либо угловая точка, либо оптимальная точка задачи E.1). Таким образом, процесс отыскания исходной уг- угловой точки связан с решением новой задачи линейного программи- программирования, и поэтому он, вообще говоря, столь же трудоемок, как и процесс отыскания решения задачи E.1) при известной исходной уг- угловой точке. 5.3.2. Метод искусственного базиса. Рассматривается задача отыскания угловой точки множества Ro = {х: Ах = Ь, х ^ 0}. Не умаляя общности, можно предполагать, что b ^ 0. Построим еле-
80 Гл. 5. Конечные методы решения дующую вспомогательную задачу в пространстве Еп+т: т min /]щ, x'uGWi=i E.12) W = /I" * 1 : Ах + и = Ь, х ^ 0, u ^ о|, с заранее известной угловой точкой множества W. Применяя симплексный метод, находим * — ре- решение задачи E.12). Обозначим т 5.3.3. Теорема. Если \i — 0, то х* — угловая точка множест- множества Rq. Если \i > 0, то Rq = 0. Доказательство. Во-первых, ясно, что задача E.12) разреши- т ма, поскольку W ф 0, а целевая функция ^г^ ограничена снизу нулем. i=1 Если \i — 0, то Г X* 1 _ Г X* L u* J - L о — оптимальная угловая точка задачи E.12), поскольку эта задача ре- решается симплексным методом, который осуществляет перебор угло- угловых точек. Очевидно, что х* — угловая точка множества Rq. Пусть теперь \i > 0. Предположим, что Ro ф 0, т. е. найдется х G Ro. Но тогда будет решением задачи E.12), что противоречит предположению о положительности величины \i. Л Заметим, что метод искусственного базиса является составной частью большинства стандартных компьютерных программ симп- симплексного метода решения задач линейного программирования. Применение метода искусственного базиса приводит к тому, что задачу E.1) приходится решать в два этапа: вначале решать вспомо- вспомогательную задачу E.12), а затем собственно задачу E.1). Следующий метод позволяет объединить оба этапа. 5.3.4. TVf-метод. Рассмотрим следующую вспомогательную задачу: ш min (с,х) + М у^ui , X'U6W/L Н J E.13) Ж = I [ ^ 1 : Ax + u = b, x ^ 0, u ^ }
5.3. Методы отыскания исходной угловой точки 81 5.3.5. Теорема. Если разрешима задача E.1), то найдется та- Г х* 1 кое число Мо, что для всех М > Mq в любом решении * зада- задачи E.13) точка х* будет оптимальной для задачи E.1). Доказательство. По условию задача E.1) разрешима, т. е. су- существует оптимальная точка х*. Но тогда разрешима и двойственная задача (b,y*) = max(b,y), yeQo По теореме 4.2.5 х* и у* будут удовлетворять следующей системе: Ax = b, x^O, ATy^c, (c,x) = (b,y). E.14) Поскольку задача max(b,y), еР является двойственной к E.13), то необходимым и достаточным усло- условием существования решения задачи E.13) (а следовательно, и двойственной к ней) будет существование решения следующей сис- системы неравенств: Ах + и = Ь, х ^ 0, u ^ О, У^с, Vi^ , г-1,ш, ^515^ Поскольку х* и у* удовлетворяют системе E.14), то х = х*, и = и* = = 0, у = у* будут удовлетворять системе E.15) для всех М ^ Мо = тах{2/*,^,...,^}. Тот факт, что при М > Mq в любом решении х*, и* задачи E.13) будет и* = 0, и, следовательно, х* является решением задачи E.1), является следствием условий D.6). Л 5.3.6. Обсуждение. Очевидно, что при b ^ 0 точка х является угловой точкой множества W. Именно эту точку и выби- выбирают в качестве исходной для применения симплексного алгоритма. На практике нет нужды определять число Mq. В качестве М обыч-
82 Гл. 5. Конечные методы решения но выбирают достаточно большое число, например М > max {|а^|,|сг|,|^-|}. г=1,п j=l,m Наконец заметим, что если М-задача E.13) имеет решение, то су- существует решение системы неравенств E.15), а следовательно, Qq ф Ф 0. В силу этого из теоремы 4.2.8 получаем, что если До / 0 и существует решение М-задачи, то существует решение исходной за- задачи E.1). Поэтому теорема 5.3.5 справедлива в условиях существо- существования решения М-задачи и непустоты множества Rq. Отсюда прихо- приходим к следующему выводу: если существуют сколь угодно большие [X* I * задачи E.13) будет тах_г^* > О, г=1,га то исходная задача E.1) неразрешима. 5.4. Вырожденность. Метод возмущений 5.4.1. Зацикливание. В случае когда угловая точка х множес- множества Rq вырождена, число ее положительных компонент будет мень- меньшим т. Тогда может оказаться, что Ло = 0 (см. E.7)), и, следова- следовательно, при переходе в симплексном методе от вырожденной угловой точки х к следующей угловой точке значение целевой функции может не убывать (см. E.10)). Кроме того, как мы видели, вырожденность может повлечь за собой неоднозначность выбора вектора, исклю- исключаемого из базиса при переходе от угловой точки х к вырожденной угловой точке х/, = х^(Ло). Эти обстоятельства теоретически могут привести к явлению зацикливания, когда через некоторое число итераций процедура симплексного метода приводит к прежней угловой точке. Для пре- преодоления явления зацикливания существует правило выбора вектора, исключаемого из базиса, основанное на так называемом методе воз- возмущений. 5.4.2. Метод возмущений. Предположим, что угловой точке х множества Ro соответствует такая линейно независимая система т векторов аьа2, ...,ат, что х# = В~1Ъ ^ 0 (в отличие от невырожден- невырожденного случая, когда хБ > 0), где В = [аь а2,..., ат]. Рассмотрим "возмущенный" вектор
д.4- Вырожденность. Метод возмущений 83 где е — достаточно малое положительное число (е > 0), a sJ озна- означает j-ю степень числа г. Обозначив, как и прежде, z^ = (B~1a.j)i, получаем п га п га ran j=l г=1 j=l г=1 г=1 Так как ^-, j = ттг + 1,п, ^ = ^ 0, j ф г, j = 1,7? то ^j^', i = l~m. E.16) j=m+l 5.4.3. s-задача. Рассмотрим наряду с задачей min (c,x), х^Яо Ло = {х: Ах = Ь, х ^ 0}, так называемую е-задачу min (с,х(г)), Ло(е) = {х(е): Лх(е) = Ь(е), х(е) ^ 0} и покажем, что для всех достаточно малых г > 0 эта задача невырож- невырождена. Пусть ai,a2, ...,am — произвольная линейно независимая система векторов матрицы А. Так как функции Xi{e) (г = 1,ш) представля- представляют собой многочлены относительно г, не равные тождественно нулю (см. E.16)), то каждый из них имеет не более п корней и, следова- следовательно, не более п положительных корней. Пусть ту — наименьший положительный корень среди всех поло- положительных корней т многочленов Х{(е) (г = 1,ттг) (если положитель- положительных корней нет ни у одного из этих многочленов, то полагаем г\ — оо). Величина т\ определяется выбранной системой линейно независимых векторов ai, а2,..., ат, и поскольку число линейно независимых сис- систем векторов матрицы А конечно, то конечно и число соответствую- соответствующих наименьших положительных корней т\. Пусть го > 0 — наименьшее из всех чисел т\ (т. е. наименьший положительный корень всех многочленов Xi(e), построенных по все- всевозможным линейно независимым системам векторов матрицы А).
84 Гл. 5. Конечные методы решения Ясно, что при г < во ни один из многочленов вида E.16) не обраща- обращается в нуль (г > 0), а следовательно, всякая угловая точка ^-задачи содержит т положительных компонент, т. е. невырождена. Можно доказать, что для малых г угловым точкам х Е Ro и х(е) Е Е Ro(s) соответствует один и тот же базис, поэтому для однозначного выбора индекса s E /&, на котором достигается минимум отношения у———^ (см. E.7)) при симплексной процедуре решения задачи E.1), целесообразно обратиться к г-задаче. Таким образом, в качестве но- номера s вектора as, исключаемого из базиса, следует выбрать тот но- номер (единственный в силу невырожденности ^-задачи), для которого достигается минимум отношения ^ = min ——_1 ^г = min — +г— +г2 — 5.4.4. На практике нет нужды переходить к г-задаче. Из преды- предыдущей формулы ясно, что выбор номера s можно осуществить сле- следующим путем. Обозначим через Iko(sk) совокупность индексов sk E /&, для кото- которых достигается минимум отношения —— = min —, sk E /jfeo(sfc). zskk ^eh 4k Если Iko(sk) состоит более чем из одного элемента, то вычисляют —— = min _!^_ Sj i Если Iki(si) состоит из одного элемента, то s/ и есть искомый номер. Если Iki(si) содержит два и более элементов, то вычисляют ZSp2 . ZSi2 ^ = mm —— zspk l и т. д. Ясно, что такой процесс конечен и приводит к однозначному выбору искомого номера. 5.4.5. Опыт применения симплексного метода показал что для ис- исключения зацикливания достаточно выбрать любой регулярный спо- способ однозначного выбора номера s, например, в качестве s можно выбрать первый (в порядке установленной нумерации) номер, для которого достигается минимум отношения E.7). При этом естест- естественно, что номер к также должен выбираться (если он не единствен) регулярным способом; например, среди всех к таких, что Д/, > 0 и (^"^^а^)^ > 0, можно выбирать тот, для которого величина Д/, наи- наименьшая.
5.6. О модифицированном симплексном методе 85 5.5. Замечание о применении симплексного метода для решения специальных классов задач линейного программирования 5.5.1. Поскольку любая задача линейного программирования, в какой бы форме она ни была записана, может быть приведена к эк- эквивалентной канонической задаче, то симплексный метод является в определенном смысле универсальным методом в линейном програм- программировании. Однако, как мы видели, приведение к каноническому виду, как правило, сопряжено с сильным увеличением размеров матрицы усло- условий. Это в свою очередь требует, во-первых, большого объема опера- оперативной памяти компьютеров и, во-вторых, сильно увеличивает число итераций для получения решения задачи. Все это привело к необходимости выделять классы часто встре- встречающихся типичных задач и разрабатывать для них специальные ва- варианты симплексного метода. К таким классам задач относятся в первую очередь задачи с дву- двусторонними ограничениями на переменные, когда допустимое мно- множество задается условиями вида Ах = b, di ^ х ^ с^. 5.6. О модифицированном симплексном методе*) 5.6.1. В обычном симплексном методе на каждой итерации все элементы матрицы А преобразуются по формулам E.11). В модифи- модифицированном методе на каждом шаге вычисляют матрицу В~х и затем, пользуясь ею, вычисляют у = (В'1I1 св, Ак = (у, аЛ> - ск, В-гЪ и т. д. После этого, пользуясь простыми рекуррентными формулами, переходят от матрицы к матрице В = [aba2,...,as_i,afe,as+i,...,am]~1, соответствующей новой угловой точке. Таким образом, на одной итерации преобразуются и хранятся в памяти компьютера лишь элементы матрицы В~х. При этом объем текущей запоминаемой информации, как правило, сокращается. Кро- Кроме того, если матрица А содержит большое число нулевых элементов, *) Установившегося названия метода нет. Иногда его называют "методом обрат- обратной матрицы", иногда "вторым алгоритмом симплексного метода".
86 Гл. 5. Конечные методы решения то в модифицированном симплексном методе вычислительная схема может быть составлена так, чтобы в вычислениях на каждом ша- шаге скалярных произведений участвовали лишь ненулевые элементы матрицы А. Это существенно сокращает объем вычислений и позво- позволяет компактно разместить ненулевые элементы матрицы А в памяти компьютера. 5.6.2. Рекуррентные соотношения модифицированного симплекс- симплексного метода можно получить из формул перехода от матрицы В~х к матрице В Обозначим элементы матрицы В 1 через а^1, а матрицы В че- рез а-1: Тогда в-х = aij ~ aij Zik i г 7^ si zsk Справедливость этих формул проверяется умножением матри- матрицы В на матрицу В матрица. в результате которого получается единичная 5.7. Мультипликативное представление обратной матрицы 5.7.1. Мультипликаторы. Для уменьшения количества инфор- информации, подлежащей запоминанию, в модифицированном симплексном методе часто пользуются следующим мультипликативным представ- представлением обратной матрицы. Назовем элементарной матрицу вида 1 0 ... wlk 0 ... О О 1 ... w2k 0 ... О где О 0 ... wsk 0 ... О Loo... wmk о ... l J шгк — i L т1 bi wi 1 zsk
5.8. Двойственный симплексный метод 87 (индекс s означает, что столбец элементов Wjk стоит на s-м месте). Легко проверить, что Процедура модифицированного симплексного метода начинается, как правило, с единичного базиса, которому соответствует единичная матрица G. Пусть на первом шаге в базис вместо eSl вводится век- вектор а/^. Тогда матрицей В^1, обратной к матрице нового базиса, бу- будет а на р-м шаге — В~ = GSpGSp_1...GSlG. Поскольку каждая матрица Gs определяется т + 1 величинами s,wik,W2k, ••-,'Wmk, T0 мультипликативная форма записи обратной матрицы меньше загружает память компьютера, чем обычная. 5.8. Двойственный симплексный метод*) 5.8.1. Идея метода. Как мы видели, симплексный метод позво- позволяет наряду с получением решения прямой задачи получать и реше- решение двойственной задачи (случай I симплексного метода). Этот резуль- результат и лежит в основе двойственного симплексного метода решения задачи E.1). Суть метода состоит в таком последовательном переборе угловых точек допустимого множества Qo двойственной задачи E.6), при ко- котором значение целевой функции (Ь,у) возрастает, т. е. в примене- применении симплексного метода к решению двойственной задачи. Поскольку двойственный симплексный метод нас интересует как метод решения задачи E.1), выясним, что означают для задачи E.1) преобразования каждого итерационного шага симплексного метода, примененного к задаче E.6). Будем предполагать, что задача E.6) невырождена, т. е. каждой угловой точке множества Qo соответствует квадратная неособенная (невырожденная) система уравнений размерности т, матрицу кото- которой называют двойственным базисом прямой задачи E.1). 5.8.2. Итерация метода. Пусть известна угловая точка у мно- множества Qq. Это означает, что известен такой двойственный базис В = [ai, а2,..., ат], *) Наряду с названием "двойственный симплексный метод" принято название "метод последовательного уточнения оценок", смысл которого будет выяснен в п. 5.9.
Гл. 5. Конечные методы решения что точка у = (В г)тсв удовлетворяет неравенству А = Ату - с ^ О и что Обозначим, как и прежде, и, кроме того, при г = 1,?тг, при г = m + 1,п. , zik = ..., а] т. е. через а^1 обозначена г-я строка матрицы В~х. Рассмотрим векторы ysAys(<9) =y-6>a;1, s = l, Поскольку 0 при г = 1,771, г ф 1 при г = s, Zsi При i = 771 + 1,71, ТО при г = 1,771, i ф s, при г = s, E.18) (у, а^> - (9zsi = Ai - 0zsi + с» при г = m + 1, п. В зависимости от знаков величин Xj и ^ возникают три случая. I. Если х^ ^ 0, то X = е До, и, следовательно, точка х оптимальная (см. случай I симплексного метода). П. Если найдется номер s ^ m такой, что xs < 0 и zsi ^ 0 для всех г = 771 + 1,п, то ys G Qo Для любого в > 0, и, следовательно, множество Qo неограничено и (b,ye> = (Ь,у) -^(^а;1) = {Ъ,у)-вх. -
5.8. Двойственный симплексный метод 89 при в —У +оо, т. е. множество Rq пусто (см. п. 4.2.9). III. Пусть найдутся такие s^mni^m + l, что xs < 0 и zsi < 0. В этом случае делается итерационный шаг. Обозначим Is = {г: zsi < 0} и выберем в = во= max ^ > 0. Пусть = —, k е Je. E.19) Номер /с, для которого достигается величина Oq, единствен в силу невырожденности задачи E.6)*). Покажем, что Уз = Уз(Оо) = У - во*'1 G <2о. Действительно, из E.18) и E.19) следует (ATys Наконец, = Ci при г = 1,?тг, i ф s, < cs при i = s, < Ci при i = m + l,n, i = с/, при г — к. (b, ye) = (b, y) - 0O(b, as x) = (b, y) - 60xs > (b, y). Таким образом, при переходе от точки у к точке ys значение це- целевой функции задачи E.6) возрастает. 5.8.3. Обсуждение. Итак, итерационный шаг двойственного симплексного метода состоит в том, что из двойственного базиса вы- выводится вектор as и вводится на его место а/,; при этом значение целевой функции возрастает. Осталось доказать, что новая система векторов ai,..., as_i, a/,, as+i,..., am линейно независима, т. е. образу- образует новый двойственный базис. Читатель в этом без труда убедится, если проведет рассуждения, аналогичные тем, которые имели место в случае III симплексного метода. Поскольку число угловых точек множества Qo конечно и при каж- каждой итерации (при переходе от одной угловой точки к другой) зна- значение целевой функции возрастает, то за конечное число итераций метод приведет к решению у* двойственной задачи, а значит, и к решению х* прямой задачи. Рекуррентные соотношения алгоритма двойственного симплекс- симплексного метода нетрудно получить из формул перехода от матрицы В~1 к матрице В (см. п. 5.6). *) Доказательство этого утверждения аналогично доказательству подобного утверждения в случае III симплексного метода.
90 Гл. 5. Конечные методы решения Если задача вырождена, то так же, как и в случае простого симплексного метода, для двойственного метода на основе метода возмущений созданы правила однозначного выбора номера к для ве- величины во, т. е. правила выбора вектора, вводимого в двойственный базис. 5.9. Решения двойственной задачи как оценки влияния 5.9.1. Покажем, что при некоторых изменениях компонент векто- вектора ограничений b в задаче E.1) компоненты решения двойственной задачи E.6) могут быть интерпретированы как оценки влияния этих изменений на величину минимума целевой функции задачи E.1). Рассмотрим задачу mm (c,x), Ro(z) = {x: ix = z, x^O}, и двойственную к ней max(z,y), yeQo E.20) E.21) В предположении, что задача E.20) разрешима при некотором z, обозначим /i(z) = min (c,x). Пусть при z = z* существует решение х* задачи E.20) и, следова- следовательно, существует у* — решение задачи E.21). 5.9.2. Теорема. Если задача E.20) невырождена, то существу- существует такая окрестность U(z*) точки z*, что для всех z Е U(z*) будет Доказательство. Так как при z = z* задача E.20) разрешима, то согласно теореме 4.2.12 существует оптимальная угловая точка х*. Пусть х* имеет вид X = хв О где Л1 2
5.9. Решения двойственной задачи 91 Ей соответствует базис В = [ai, а2,..., am], det?? ф О, и х^ = B~1z*. Обозначим = min ж*. г=1,га Выберем следующую окрестность: Покажем, что точка xT = (xg,0,...,0), где х# = B~1zJ будет оптимальной для задачи E.20) при любом z Е Е t/(z*). Действительно, ЦхЬ - хв|| = ЦВ^* - z)|| ^ IIB^IHIz* - z|| ^ a, где норма выбрана следующим образом: Получаем, что х* — Xi ^ а, г — 1,т, т. е. Xj ^ х* — а = х* — min ж* ^0, j = 1, ?тг. г=1,?тг Таким образом, х ^ 0. Кроме того, по построению Ах = z, т. е. х е До(г). Докажем, что х оптимален для задачи E.20). Из условий D.6) сле- следует, что каждому ж* > 0 (г = 1,т) соответствует Тогда г=1 г=1 И так как х € -R(z), а у* € <3о> то из теоремы 4.2.5 вытекает опти- оптимальность точек х и у* и M(z) = (y*,z). Л 5.9.3. Очевидно, что
92 Гл. 5. Конечные методы решения поэтому увеличение z\ приводит к увеличению или уменьшению ве- величины /i(z) в зависимости от знака у*. При этом скорость измене- изменения /i(z) определяется величиной \у*\. Двойственный симплексный метод называют также методом последовательного уточнения оценок, поскольку угловые точки за- задачи E.6), возникающие при итерациях, можно рассматривать как приближенные значения точной оценки у*, т. е. как приближенные оценки влияния условий задачи E.1) на величину минимума целевой функции. 5.10. О применении двойственного симплексного метода к задачам с возрастающим количеством условий 5.10.1. Пусть найдены оптимальные угловые точки х* и у* задач E.1) и E.6) соответственно. Предположим, что к системе условий, определяющих допустимое множество Rq, добавлено еще одно нера- неравенство п ^aiXi ^ Ьт+1. г=1 Если г=1 то х* будет оптимальным и для новой задачи, поскольку добавление условий может только увеличить величину минимума целевой функ- функции. В случае п г=1 выясним, как, зная оптимальные угловые точки х* и у*, получить решение новой задачи. Запишем новую задачу в каноническом виде, введя дополнитель- дополнительную переменную жп+ь Обозначим т / ч т \ А 1 - \ х ос =(аьа2,...,а:п), А= \ т , х = OL Хп+1 em+i — (ш + 1)-й единичный координатный вектор. Новая задача примет вид min (с, х), _ _ _ E.22) [A, -em+i]x = b, x ^ 0.
5.11. Метод одновременного решения 93 Согласно правилам D.23)-D.24) двойственной к E.22) будет задача max [(b, у) + bm+i2/m+i], АТу + схуш+1 <С с, E.23) Угп+1 ^ 0. Так как точка у* — угловая для задачи E.6), то г=[Г будет угловой точкой для задачи E.23), поскольку из линейной не- независимости системы векторов ai,a2,...,am — базиса угловой точ- точки у* — следует линейная независимость системы векторов а2 1 Г ат 1 [О а7 Теперь естественно, принимая у* за исходную угловую точку, ре- решать задачу E.22) двойственным симплексным методом. Как прави- правило, для получения решения задачи E.22) требуется небольшое число итераций. Очевидно, что все, сказанное в этом пункте, остается в силе, если к неравенствам, определяющим множество Ro, добавляется не одно, а несколько новых. 5.11. Метод одновременного решения прямой и двойственной задач*) 5.11.1. Рассмотренные выше методы состояли из двух этапов. На первом этапе требовалось определить угловую точку допусти- допустимого множества, после чего на втором этапе, исходя из найденной угловой точки, строился процесс отыскания оптимальной точки. Оба этих этапа, вообще говоря, одинаково трудоемки. Итерационный про- процесс метода одновременного решения прямой и двойственной задач начинается с любой допустимой (не обязательно угловой) точки двойственной задачи, отыскать которую в реальных случаях часто не представляет труда. Например, если с ^ 0, то у = 0 принадлежит множеству Qo- *)Этот метод часто называют "методом последовательного сокращения невязок".
94 Гл. 5. Конечные методы решения Итак, рассмотрим прямую каноническую задачу min (c,x), хеЯо Ro = {х: ^хгщ = Ь, х ^ 0, b ^ о}, и двойственную к ней: max(b,y), yeQo E.6) Qo = {у: (aj,y) ^ Cj, j = l,n}. Предположим, что известна точка уо Е Qo- Обозначим J = {j: 3 = Туп}, J(y0) = {j : (а,-, уо> = Cj, j G J} и рассмотрим так называемую расширенную задачу 1 х л E-24) х ^ 0, s^O, где еТ = {si,S2, ...,sm}, и "ук°Р0ТИМ" ее следующим образом: г=1 Следующая теорема лежит в основе рассматриваемого метода. 5.11.2. Теорема. Если в решении z*, s* задачи E.25) s* = 0, mo точка х* такая, что О, j e J\J(y0), будет оптимальной для задачи E.1), а точка у0 будет оптимальной для задачи E.6). Доказательство. Очевидно, что х* Е Ro. Из того, что точка уо допустима для задачи E.6), as* =0, получаем / *\ V~^ * . V~^ * V~^ * х ' / J J J / J J J / J J J
5.11. Метод одновременного решения 95 В силу того, что х* е Ro, уо G Qo и (с, х*) = (Ь, у0), на основании тео- теоремы 4.2.5 следует оптимальность х* и уд. А 5.11.3. Итерация метода. Построим задачу, двойственную к E.25): max(b, u), E.26) щ ^ 1, г = 1,т. Задачи E.25) и E.26) разрешимы. Действительно, так как b ^ О, то Zj = 0, j E J(yo) и s = b допустимы для E.25), а и = 0 — допус- допустимая точка для E.26), и по теореме 4.2.8 обе задачи разрешимы. Пусть и* — решение задачи E.26). Обозначим А° = АТу0-с, 5*=АТи*. Векторы Л° и S* часто называют векторами невязок. В зависимости от характера величин г* (г = 1,гтг) и ?*, j e J, различают три случая. I. Если то на основании теоремы 5.11.2 точка х* является решением зада- задачи E.1). П. Пусть и найдется такой номер j Е J\J(уо), Для которого S* > 0. В этом случае будем строить новую точку у Е Qo, которой соответствует большее значение целевой функции задачи E.6). Выберем У 4 УМ =Уо -/ш*. Тогда Л А Ату - с = Ату0 - МТи* - с = Л° - fiS*. E.27) Заметим, что 0 _ / о, 1 " \ ДО < 0, j e J(yo), j е J\J(y0), JG J(y0), , v j e j\j(yo). E'28)
96 Гл. 5. Конечные методы решения Выбирая = ^ = max ^ < 0, E.29) 6к 6j>0 dj получаем, что А° - ^8* «С О, а значит, в силу E.27) у = y(/io) ? Qo- Поскольку z*, s* — решение задачи E.25), аи* — решение двойственной к ней задачи E.26), то г=1 (теорема 4.2.3). Вследствие этого т (Ь,у) = (b,y0) -/iO(b,u*) = (b,y0) -fio^s* > (b,y0), т так как /i0 < 0, a J^?* > 0. г=1 Итак, итерационный шаг метода состоит в том, что решается уко- укороченная задача E.25), вычисляется величина /io и строится новая точка у = y(/io)- При этом на первом итерационном шаге в качестве исходной угловой точки задачи E.25) выбирают точку с компонен- компонентами Zj = 0, j G J(yoM и 6i = bi ^ 0 (i = 1,т) и затем применяют симплексный метод. 5.11.4. На следующем итерационном шаге строят новую укоро- укороченную задачу zj^O, jGJ(y), e^O, и далее процесс повторяется. При этом в качестве исходной угло- угловой точки задачи E.30) выбирают точку, ненулевыми координатами которой являются положительные компоненты оптимальной угловой точки z*, s* задачи E.25), поскольку Это включение следует из того, что значениям z* > 0 соответствуют значения
5.11. Метод одновременного решения 97 (из соотношения вида D.6) в применении к решениям задач E.25) и E.26)) и, следовательно (см. E.27) и E.28)), Но по построению J(y) = {j: Д,-= <*,-, у>-с,-=0}, что и требовалось доказать. Процесс решения задачи E.30) начинается с введения в базис век- вектора а/, (номер к выбирают из E.29)). Заметим, что к Е J(y), по- поскольку Д/, = 0 (см. E.29)). В результате этой процедуры величина т т 2_^ег становится меньшей, чем 2^?i- ^ самом деле, значения г=1 г=1 J~{ 0, JGJ\J(y0), *" l~^m' образуют угловую точку допустимого множества задачи E.24). Вве- Введению а/, в базис задачи E.30) соответствует обычный итерационный шаг симплексного метода решения задачи E.24) (см. E.29)). Но при каждом итерационном шаге симплексного метода в случае невырож- т денности задачи E.24) значение целевой функции убывает, т. е. г=1 т становится меньше У^?*. Отсюда следует, что на каждом шаге мето- г=1 да одновременного решения прямой и двойственной задач оптималь- т ное значение целевой функции У^?^ убывает по сравнению с опти- г=1 мальным ее значением в предыдущей укороченной задаче. Из этого вытекает конечность метода. Заметим также, что поскольку для каж- каждой задачи вида E.30) имеется исходная угловая точка, а множество индексов J(y) от шага к шагу меняется незначительно, то число ите- итераций симплексного метода решения задачи E.30) невелико. III. Если ^е* > 0 и <5* ^ 0, то у = y(/i) = уо - A^u* e Qo для г=1 0, так как Л = АТу - с = Л° - ijlS* ^ Л° = Ату0 - с ^ 0. г=1 любого \i < 0, так как Но (b, у) = (b, уо) - /*<Ъ, и*> = (Ь, уо) - ix Y, А -»¦ г=1
98 Гл. 5. Конечные методы решения при \i —У —оо, т. е. (Ь,у) неограничена на Qq, а следовательно, Ro = 0 (см. 4.2.9). Итак, метод одновременного решения прямой и двойственной за- задач состоит в построении последовательности решений укороченных задач до тех пор, пока не возникнет случай I (и будет найдено реше- решение) либо случай III, обнаруживающий, что Ro = 0. 5.12. Метод декомпозиции 5.12.1. Как правило, практические задачи линейного программи- программирования содержат большое количество неизвестных и ограничений. С точки зрения реализации методов решения таких задач с помощью компьютера представляется выгодным свести решение задачи боль- большого объема к решению нескольких задач меньшего объема. Одним из этой группы методов является метод декомпозиции. 5.12.2. Блочная задача. Введем обозначения. Векторы: XJ = \^jl' ^J2' '••' X3nj )i b0 = (boi, fr(J, •••? бога). Матрицы: Aj — порядка т x rij, Bj — порядка rrij x rij. Здесь и далее всюду j = 1, 2,..., п. Назовем блочной следующую задачу: найти п тт^(с,-,х,) E.31) при условиях п 5>Л-=Ь0, E.32) ?,Xj =b,, E.33) jcj ^ 0. E.34) 5.12.3. Экстремальная задача. Рассмотрим следующие мно- множества: Sj = {х^: Bj*j = hj, *j ^ 0}. E.35) Вначале будем предполагать, что все множества Sj ограничены.
5.12. Метод декомпозиции 99 Обозначим через Wj множество угловых точек Xj выпуклого многогранника Sj: и обозначим Рк — л .vfc к — / v^\ h — 1 к (К 4f\\ Теперь сведем задачу E.31)-E.34) к так называемой экстремаль- экстремальной задаче на угловых точках. Согласно теореме 2.2.10 всякая точ- точка Xj G Sj может быть представлена в виде выпуклой комбинации угловых точек: В результате подстановки Xj из E.37) в E.31)-E.34) и в силу обозначений E.36) получается экстремальная задача: найти п kj minY,Y,ckJvjk E-38) 3 = 1 k=l при условиях k = l, i = l,n, E.40) ^•л^0, j = M, * = 1,^-. E.41) Очевидно, что если Vjk — решение задачи E.38)-E.41), то векто- kj ры Xj = y^x^Vjjfe являются решением задачи E.31)-E.34) (вспомним k=i обозначения E.36) и условие В^ = bj, поскольку х^ G Sj). п п Заметим, что в блочной задаче было т + V^ ?7ij уравнений и V^ nj неизвестных. В экстремальной задаче число уравнений сократилось до т + п, в то время как число неизвестных значительно возросло — п их стало y^fcj, т. е. столько, сколько всего угловых точек у всех 3 = 1 многогранников Sj.
100 Гл. 5. Конечные методы решения 5.12.4. Алгоритм. Алгоритм решения экстремальной задачи поз- позволяет на активном участке работы использовать лишь незначитель- ное число величин из У^з^ не вычисляя заранее всех элементов за- задачи E.38)-E.41). Задачу E.38)-E.41) будем решать модифицированным симплекс- симплексным методом. Пусть известна матрица начального базиса Р экстре- экстремальной задачи, состоящая из т + п векторов вида Pi , известны соответствующие этому базису величины в условиях E.39), E.40) и векторы где ст = (,..сц ...). Обычный итерационный шаг модифицированного симплексного метода решения задачи E.38)-E.41) состоит в отыскании таких ин- индексов (j, &), для которых выполняется неравенство Aj* = (У, Р*> + <У, е,-> - с) = yj + (у, pkj) - с) > 0, Г vk 1 во введении в базис Р вектора 3 ив выведении такого векто- вектора, чтобы новая система составляла базис. Процесс заканчивается, когда все Д^ ^ 0. Однако для того чтобы выяснить знаки величин Ajk стандартным способом, потребовалось бы перебрать колоссаль- п ное их количество ( V^ kj — (т + п)), при этом следует знать все р^ и, значит, все угловые точки х^. Алгоритм предусматривает такой способ выбора Д^, при кото- котором на каждом шаге следует решать п задач линейного программи- программирования небольшого объема. Следуя этому предложению, среди всех возможных Ajk находят наибольшее Д*, и если Д* ^ 0, то процесс заканчивается — найдено оптимальное решение. Если Д* > 0, то де- делается следующий шаг. Для того чтобы найти Д*, следует в каждом многограннике Sj найти ту угловую точку xJJ, в которой Ajrj =nmxAjk, а затем среди всех Ajrj выбрать наибольшее, т. е. Д*. Из построения множеств Sj, Wj и из того, что Д •/ — v • -I- /v r>^\ — гк — TJ¦ -\- I АТлг — с ¦ тск\
5.12. Метод декомпозиции 101 следует Ajrj = max Ajk = max {yj + (Ajy - Cjj x,». Итак, итерационный шаг состоит в следующем. Для каждого номера j решается вспомогательная задача: найти max(Ajy - Cj,Xj) E.42) при условиях Через xJJ обозначается решение этой задачи. Таким образом, полу- получают набор решений х^1, х^2, ...,х^п. Затем вычисляют все Ajrj(x^3) (j = l,n) и находят тот номер г, для которого достигается Если А* ^ 0, то поиск решения заканчивается. Если А* > 0, то вводят в базис Р экстремальной задачи вектор A-x.ri \ 1 г и выводят столбец по правилам модифицированного симп- ei J лексного метода. 5.12.5. Начало алгоритма. Для того чтобы найти матрицу на- начального базиса задачи E.38)-E.41), применяется метод искусствен- искусственного базиса (см. п. 5.3.2). Вводят т + п искусственных переменных щ ^ 0 (г = 1, т + п) и решают задачу: найти min при условиях =l k=l i=l E.43) k=l Vjk ^ 0, щ ^ 0, j = l,n; k = l,kj; l = l,m + n. При bo ^ 0 (что не ограничивает общности задачи) матрицей ис- исходного базиса является единичная матрица размерности т х п, ко- которой соответствуют значения (щ,и2, ...,ит+п) = (bj, 1,1,..., 1) ба- базисных переменных. Далее задачу решают, пользуясь изложенной в предыдущем пунк- пункте процедурой.
102 Гл. 5. Конечные методы решения 5.12.6. Распространение метода на случай неограничен- неограниченного множества Sj. В предположении, что Sj — ограниченные множества, изложенный алгоритм, как мы видели, приводит к двум возможным ситуациям, а именно, когда А* ^ 0, т. е. найдено решение задачи, или когда А* > 0, и в этом случае делают очередной итера- итерационный шаг. Если отказаться от предположения ограниченности множеств Sj, возможен случай, когда на очередном шаге симплексного метода об- обнаруживается, что целевая функция неограничена сверху на неогра- неограниченном допустимом множестве (см. случай II в п. 5.1.3). Для вывода соотношений, которые указывают на неограничен- неограниченность сверху целевой функции задачи E.42), вспомним, что итера- итерационный шаг симплексного метода (в обозначениях пп. 5.1.2 и 5.1.3) состоит в переходе от уже известной угловой точки х с базисом В к новой точке х по формуле х = х - Az, где z = 0 Если возникает случай II (см. п. 5.1.3), то при любом Л > 0 точка х = х(А) будет допустимой, и (с,х(А)) —У +оо при А —У +оо. Поскольку х — допустимая точка, то Ах = Ах — XAz = b, и так как Ах = Ь, то Az = 0 и z ^ 0. Переходя к обозначениям задачи E.42), мы получаем систему со- соотношений = О, 0, (Ajy-Cj,z)>0. E.44) E.45) Процедура итерационного шага решения экстремальной задачи в этом случае состоит в следующем: в базис задачи E.38)-E.41) вво- вводится вектор Подчеркнем: в базис вводится j 0 0 а не , поскольку в этом случае не выполняется соответствующее условие E.40), так как множество {х: BjX = 0, х ^ 0} является кону- конусом, любой элемент которого представляется в виде положительной комбинации его ребер (см. п. 2.3.6).
ГЛАВА 6 МЕТОД ШТРАФНЫХ ФУНКЦИЙ 6.1. Описание метода 6.1.1. Как правило, численные методы решения задач безусловной минимизации и методы решения задач математического программи- программирования имеют качественное различие с точки зрения их трудоем- трудоемкости. Так, например, вдобавок к трудностям, возникающим в методе градиентного спуска (гл. 9, п. 9.5.1) решения задачи отыскания без- безусловного минимума, в методе условного градиента (гл. 10, п. 10.3.1) решения задачи математического программирования на каждом ите- итерационном шаге приходится еще решать задачу линейного програм- программирования. В связи с этим весьма перспективными могут оказаться попытки свести задачу математического программирования к после- последовательности задач безусловной минимизации. 6.1.2. Идея метода штрафных функций состоит в следующем. Ис- Исходную задачу математического программирования min <р(х) = т F.1) заменяют задачей о безусловной минимизации однопараметрической функции М(х,/3)=у>(х) + ±^(х) либо задачей минимизации функции М(х,/3) на некотором множест- множестве Г более простой структуры (с точки зрения численных методов минимизации), чем исходное множество X. При этом функцию ф(х) выбирают таким образом, чтобы решение задачи minM(x,/3) =m(C) F.2) х?Г сходилось при C —У 0 к решению исходной задачи или, если это обес- обеспечить не удается, то по крайней мере, чтобы т(/3) —> т при /3 —> 0. Итак, метод штрафных функций состоит в построении функции М(х,/3), в выборе последовательности {Ck} и в решении соответст- соответствующих этой последовательности задач вида F.2).
104 Гл. 6. Метод штрафных функций 6.1.3. Рассмотрим следующий вид задания множества X: где Гт(х) = (Л(х),/2(х),...,/т(х)), а множество Г обладает, как об этом говорилось выше, простой струк- структурой. Как правило, Г = Еп, и тогда либо F.2) является задачей без- безусловной минимизации, либо Г = {х: х ^ 0}, либо Г = {х: а ^ х ^ Ь}. В обоих последних случаях задания множества Г сложность многих численных методов решения задачи F.2) примерно такая же, что и в случае, когда Г = Еп. 6.1.4. Определение. Непрерывную функцию определенную для всех х Е Г и /3 > 0, будем называть штрафом, если ф{х) такова, что ^(х) = 0 для всех х G X, ф(х) > 0 для всех х е Т\Х. Весьма широкое применение находит следующий выбор функ- функции гр(х): m ^(х) = ^|шшШх),0}|р, р>0. F.4) г=1 Условия F.3) при таком выборе функции гр(х) с очевидностью выполняются. Можно следующим образом наглядно проиллюстрировать метод штрафных функций. Пусть X = {хеЕ1: а^х ^Ь}. Тогда ф(х) = [min {b - ж, 0}f + [min {x - a, 0}f, p = 2. Ha рис. 6.1 изображена функция — ф(х) для двух различных значений C: /Зг >C2>0. Пусть функция ip(x) линейна. На рис. 6.2 изображены функции M(x,Pi) и М(х,Р2). Точки ург и ур2 являются решениями соответ- соответствующих задач вида F.2), т. е. точками абсолютных минимумов функций M(x,Pi) и М(ж,/?2). Через у обозначено решение исходной задачи F.1), т. е. точка минимума линейной функции ip(x) на отрезке [а, Ь]. Из рис. 6.2 видно, что при Д. —у 0 соответствующие точки урк стремятся к точке у.
6.1. Описание метода 105 1ф(х) Другим примером выбора Рис. 6.2 является функция т = ехр { J2 I ттШх),0}|р} - 1, р > 1 0. 1=1 6.1.5. Если задача F.1) является задачей выпуклого программи- программирования, т. е. функция (р(х) выпукла, функции /i(x) вогнуты, а мно- множество Г выпукло, то функция гр(х), определенная формулой F.4), будет выпуклой при р ^ 1 на множестве Г, и задача F.2) становится задачей о поиске минимума выпуклой функции М(х,/3) на выпуклом множестве Г. 6.1.6. Иногда задачу где заменяют эквивалентной задачей о минимизации ^(х) при условиях f (х) — и = 0ииH, ав качестве штрафа выбирают квадратичную функцию i I|
106 Гл. 6. Метод штрафных функций Тогда F.2) становится задачей о минимизации функции на множестве х Е Еп, и ^ 0. 6.1.7. Выбор штрафа следует согласовать с методами минимиза- минимизации функции М(х,/3), а значит, как мы увидим из дальнейших глав, следует учитывать гладкость штрафа, простоту вычисления значе- значений функции М(х,/3) и ее производных, свойства выпуклости и т. д. Заметим, что при р = 1 у функции, определенной формулой F.4), может произойти потеря гладкости по сравнению со случаем, когда р = 2. Так, для приведенного в п. 6.1.4 примера нетрудно убедиться, что функция ф(х) = | min {b - ж, 0}| + | min {х — а, 0}| недифференцируема в точках а и Ъ. 6.1.8. Наконец, о названии метода. Термин "метод штрафных функций" является весьма естественным, поскольку он поясняет суть метода: за нарушение ограничений, т. е. когда х Е Г\Х, функция <р(х) "штрафуется" на величину —гр(х). 6.2. Теоремы о сходимости 6.2.1. Функцию определенную для всех C > 0 на множестве Г, будем называть штраф- штрафной функцией задачи F.1), если ф(х) удовлетворяет условиям F.3). Очевидно, что Ф(х,/3)=/Ш(х,/3). Заметим, что такой вид штрафной функции несколько затушевыва- затушевывает ее физический смысл — штрафование за нарушение ограничений, однако из дальнейшего станет ясно, что при численной реализации методов минимизации функции Ф(х,/3) такой ее вид обладает в ряде случаев преимуществом по сравнению с М(х,/3). Пусть у/з = агёгшп{Ф(х,/?)|х G Г}, Yp = {ур}, у = argmin{(p(x)|x G X}, Y = {у}. Утверждение. Если ур G X, то ур G Y.
6.2. Теоремы о сходимости 107 Действительно, так как ур Е X, то minM(x,/3) = М(у0,/3) фр) ^ ip(y) + следовательно, (р(у) = (р(ур), а значит, у Е Y. Л 6.2.2. Теорема. Если существуют у иур, то НтФ(У/3,/?)=0, F.5) Нт ф(ур) = 0. F.6) Доказательство. 1. Покажем, что при fa ^ fa > 0 справедливо неравенство Из того, что и из неравенства следует Ф(^) <() + Далее, так как ^(у) = 0? то Ф(У/з, /3) < Ф(у, Й = Р<р(у) + Ф(У) = Р<Р(У), т. е. Отсюда и из F.7) (т. е. из монотонности по C функции — Pi следует существование конечной величины а значит, и справедливость утверждения F.5). 2. Покажем сначала, что при f5\ > fa > 0 F-8) Из неравенств
108 Гл. 6. Метод штрафных функций следует ^i^(y/3i) /?2<р(У/32) Складывая эти неравенства, получаем (А- и так как C\ — C2 > 0, то т. е. имеет место F.8). Далее, так как гр(х) ^ 0, то \ ) < Ф*. Отсюда и из F.8) (т. е. из монотонности (р(ур)) следует сущест- существование конечной величины А значит (см. F.5)), = 0. Л Теперь ясно, что для вычисления значений штрафной функции удобен вид поскольку /3(р(ур) -У 0 и Ф(ур) —> 0 и при вычислении значений Ф(у^,/3) суммируются близкие величины. При численной реализации метода штрафных функций возника- возникают проблемы выбора начального значения /Зо параметра C и способа изменения Д.. Сложность здесь состоит в следующем. Выбор доста- достаточно малого /?о дает возможность надеяться, что ур0 будет близким к у. Однако скорость сходимости градиентных методов вычисления точек минимума функции Ф(х,/3), как правило, падает с убыванием величины /3. Выбор же большого /Зо ведет к обратной картине. 6.2.3. В дальнейшем мы будем предусматривать возможность приближенного вычисления точки ур. Обозначим Ф(у^,/3) = Ф*(/3) и будем предполагать, что для каждого значения параметра C > 0 определена точка ур G Г такая, что 0.
6.2. Теоремы о сходимости 109 6.2.4. Теорема. Если существуют у, ур и ((/3) —> 0 при /3 —> 0, то ШпФ(у^й=0. F.9) Если, кроме того, функция (р(х) ограничена снизу на множестве {ур} для всех достаточно малых /3 > 0, то Yim^(yp)=0. F.10) Доказательство. Первое утверждение теоремы, очевидно, сле- следует из неравенства и соотношения F.5). Поскольку 0 ^ то из F.9) и из ограниченности снизу функции (р(ур) следует F.10). Л 6.2.5. Теорема. Если: а) <р(х), /i(x) (г = 1,?тг) и ^(х) непрерывны на Г; б) существуют у и ур для всех C > 0; в) существует замкнутое и ограниченное множество G С Г та- такое, что ур ? G для всех достаточно малых C > 0; r) lim ^ = 0; то Urn ^(у/з) = у?(у), Нто^(У/3,У) = 0. Здесь, как и ранее, У = Arg тт{(р(х): х G X}. Доказательство. Предположим, что теорема неверна, т. е. су- существуют такое число S > 0 и такая последовательность {Ck} —>¦ 0 при fc —>¦ оо, что для всех fc = 0,1,... будет выполняться неравенство Так как гр(х) ^ 0 для всех х, а ф(у) = 0, то Поскольку y^fc G G, то, не изменяя нумерации, будем полагать, что 7lim У/зк = У- k—too Тогда из F.11) и из условия г) получаем, что
110 Гл. 6. Метод штрафных функций Но непрерывная функция <р(х) ограничена снизу на множестве G (см. условие в)) для достаточно малых Д. > 0, поэтому, в силу тео- теоремы 6.2.4 = lim Ф(У/зк) = 0. и, следовательно, у Е X, откуда приходим к равенству противоречащему предположению. Из предыдущего очевидно, что любая предельная точка из се- семейства {ур} принадлежит множеству Y. Предположим, что утверждение р(ур, Y) —> 0 (/3 —> 0) неверно. Тог- Тогда найдутся такое число е > 0 и такая последовательность {урк} С С {ур}, что ^(y/?fe, У) > ? для всех к = 0,1,... В силу условия в), не ума- умаляя общности, можно считать последовательность {урк} сходящейся к некоторой точке у. Но, как мы видели, у G F, и, значит, справед- справедливо соотношение lim ^(y^fc,^)= lim p(ypkJу) = 0, противоречащее предположению. Л Следствие 1. #а/ш {у/з} G Г\Х, то любая предельная точка у принадлежит пересечению границы G(Y) множества Y и границы G(X) множества X. Действительно, поскольку p(yp,Y) ->• 0, C ->• 0, то любая предель- предельная точка у семейства {у/?} принадлежит множеству У. Но {у/?} 0F, следовательно, у не принадлежит внутренности множества У, и поэ- поэтому у G G(F). Аналогично показывается, что у G G(X). Л Следствие 2. Е'сли У С intX, то найдется такой номер I, что Действительно, если это не так, то (см. п. 6.2.1) {урк} С Г\Х, и любая предельная точка у G G(F) П G(X); значит, G(Y) П G(X) 7^ 0- Противоречие. Л Замечание. Если у?(х) и г/?(х) выпуклы и У С intX, то при любом C > 0 будет у^ G F, поскольку из выпуклости М(х,/3) и из условия Fc intX следует, что Y = Arg min{M(x,/3): x G Г}. 6.2.6. О скорости сходимости метода штрафных функций. Обозначим /(х) = mm_/f(x). Пусть: г=1,га а) (^(х) и /г(х) (г = 1,?тг) непрерывны на выпуклом и замкнутом множестве Г; б) существуют у и ур для всех /3 > 0; в) существует такой компакт G С Г, что ур Е G для достаточно малых значений /3 > 0; ),0}|р, р>0; д) |^(xi) - <р(х2)| ^ L^(xi,x2) для любых xi,x2 G Г;
6.2. Теоремы о сходимости 111 е) существуют числа S > 0 и а > О такие, что для всех х G е Us(X)\X будет |/(х)| ^ ар(х,Х), где ?/,(Х) = {х G Г: р(х, X) ^ ?}. Обозначим Д(/3) = <р(у) - 1ф(У/3,/?). 6.2.7. Теорема. Если выполняются условия а)-е), то при р ^ 1 найдется такое достаточно малое значение /3 = /3, что для всех /3 Е @,/3] будет Д(/3) = 0, а гс/ж р > 1 будет справедлива оценка всех достаточно малых C > 0. Доказательство. Если у^ G X, то (см. п. 6.2.1) у^ G F, в силу чего Д(/3) = 0. Пусть у^ G Г\Х. Так как у^ Е G и G — компакт, то из тео- теоремы 6.2.5 следует р(ур,Х) —> 0, /3 —> 0 (см. п. 6.2.5, следствие 1). Поэтому для достаточно малых значений /3 будет ур G Us(X)\X. По предположению для этих значений ур выполняется условие е). Обозначим через v# проекцию точки ур на множество X: р(ур,Х) = p(yp,vp). Заметим, что Далее, _ =1 г=1,т г=1 \ <р(у) - Lp{yp,vp) + ^[р(ур,Х)Г = ф) -Lp+ ^ Здесь рАр(ур,Х). Итак, Д(/3) При 0 < р < 1 (поскольку р ->• 0 при /3 —)> 0; см. теорему 6.2.5), рр~1 —>- +оо, и, следовательно, найдется такое, вообще говоря, доста- достаточно малое значение /3, что для любых /3 G @,/3] будет Д(/3) ^ 0 и, значит, Д(/3) = 0. Если р = 1, то Д(/3) ^ p(L - а/у9), и при C ^ a/L будет Д(/3) = 0. Наконец, при р > 1 выполняется неравенство max так как максимум достигается при р = р . Л
112 Гл. 6. Метод штрафных функций Замечание. Если в качестве ф(х) выбрана экспоненциальная функция то из неравенства еу ^ 1 + у следует справедливость теоремы 6.2.7 и в этом случае. 6.2.8. Практика показывает, что в случае применения весьма рас- распространенных штрафов вида F.4) с уменьшением величины C схо- сходимость существенно замедляется и, кроме того, усиливается влия- влияние ошибок округления на каждом шаге безусловной минимизации. Подобная ситуация возникает в силу целого ряда причин, напри- например, из-за того, что штраф вида F.4) не учитывает особенности струк- структуры допустимого множества, из-за овражного вида функции М(х, C) и др. Как правило, приемы, в какой-то степени исправляющие положе- положение, т. е. позволяющие ускорить процесс получения точки у с задан- заданной степенью точности, носят эвристический характер и опираются на опыт и интуицию специалистов. Делаются также попытки предло- предложить стандартные приемы, улучшающие некоторые характеристики метода. Следующий выбор штрафной функции гарантирует конечность метода при любом р > 0: ? I min Ш*), 0}|* + \ Е I min Ш*)М1/р- F.12) Из доказательства теоремы 6.2.7 следует, что 0 ^ Д(/3) = ф) - F(y/3,/3) При р = 1 будет A(/3) ^ p(L —— J и, следовательно, А(/3) = 0 для достаточно малых значений /3. Очевидно, что при р ф 1 будет ^(aV + а1/рр1/р-г) -+ +оо при /3^0. И поскольку р —У 0 при C —У 0, то при малых C мы опять приходим к ситуации А(/3) = 0. Итак, для любого р > 0 найдется такое значение /?, что при всех C G @,/3] будет А(/3) = 0. При этом следует ожидать, что чем дальше отстоит р от 1 (либо в сторону нуля, либо в сторону +оо), тем раньше наступит ситуация А(/3) = 0.
6.2. Теоремы о сходимости 113 Однако для того, чтобы исследовать глубже этот вопрос, необхо- необходимы более тонкие оценки, для вывода которых требуется учиты- учитывать вид функции /i(x) и принадлежность точки vp соответствую- соответствующим ограничениям /i(x) ^ 0. 6.2.9. 7-мажоРиРУемость. Как было сказано в п. 6.2.7, на сходи- сходимость метода штрафных функций существенное влияние оказывают свойства функций /i(x). При выводе оценки величины Д(/3) в п. 6.2.7 существенно использовалось свойство е). Осталось неясным, как про- проверить, выполняется ли условие е) для конкретного множества X. Покажем, что в ряде случаев это условие заведомо выполняется. Если функции /i(x) (г = 1, ттг) вогнуты и непрерывны на выпуклом, замкнутом и ограниченном множестве Г, а множество X = {х G Г: /i(x) ^ 0, г = 1,?тг} регулярно по Слейтеру, то найдутся такие числа S, а > 0, что для всех х Е Us(X)\X будет _Д( г=1,га Доказательство. Поскольку множество X регулярно по Слей- теру (см. п. 3.4.3), то существуют такая точка х Е X и такое число Л > 0, что /i(x) ^ Л (г = 1~га). Пусть х G Г\Х, т. е. /(х) = т_ш_^(х) < г=1,га < 0. На отрезке [х,х] найдется точка z такая, что /(z) = 0. Для вогнутой функции /(х) справедливо неравенство (см. п. 2.4.14) /(z) - /(х) /(х) - /(z) ||z-x|| ^ ||x-z|| ' и так как ||z - х|| ^ г = diamF < +00, то х) ^ ~"П^ П"/(х) ^ z~x ^ /о(х,Х). ||х — z|| г г Таким образом, условие е) выполняется при а = Л/г. Нетрудно также доказать, что условие е) выполняется в случае, когда /i(x) — линейные функции. Здесь уже регулярность множест- множества X не требуется. Нередки случаи, когда неравенство |/(х)| ^ сф(х,Х) не выполня- выполняется, но справедливо соотношение |/(х)| ^ а[р(-х,Х)]'у при некотором 7 > 0. Определение. Множество X = {х G Г: /i(x) ^ 0, i = l,m} будем называть т-мажорируемым, если выполняется условие «>0, 7>0, для всех х G ?/(Х)\Х Например, если п = 1, ш = 2, Д(ж) = -ж3, /2(ж) = (ж + IK, то допустимое множество X = [-1,0] будет 7-мажорируемо при 7 = 3.
114 Гл. 6. Метод штрафных функций Если для конкретного множества X известна величина 7, то при выборе штрафа вида F.4) оценка погрешности А(/3) будет, очевидно, выглядеть следующим образом: " при ^>\ F.13) О при jp ^ 1, v y причем в случае jp ^ 1 существенно условие компактности мно- множества Г. Ясно, что, например, при j = 2, р = 1 применение штрафа вида F.4) не гарантирует конечности процесса. Лишь при 0 <р ^ 1/2, т. е. при использовании штрафа с дробным показателем, число шагов по /3 будет конечным. Если мы применим штраф с дробным показателем 1/р, р > 1, то для величины Д(/3) будет справедлива оценка О < ДОЗ) < \W) = С^~* при 7>р>1, v у [ 0 при 7 ^ Р- Заметим, что Si, 82 связывает следующее соотношение: S2 = 5{ 1Р р , и при 7 > Р > 1 величина . _ рGР — 1) будет больше единицы. Таким образом, зависимость 52 = S^, С > 1, характеризует скорость убывания величины А(/3) при 7>Р> 1 в пользу выбора штрафа с дробным показателем. В то же время приме- применение такого штрафа приводит к потере выпуклости функции Ф(х,/3) и может противоречить предположению о существовании точек у р. Например, при 7 = 1, р = 1/2 оценка / 1 \ Д(/3) ^ sup ( Lp — —л/ар) = +оо не дает содержательной информации, и, в частности, если решается одномерная задача min(—ж) при условии -х ^ 0, то М(х,{3) = —х + — д/| min{-x,0}| и inf М(х,/3) = —оо. Мы видим, что применение штрафа вида F.4) как при р > 1, так и при 0 < р ^ 1 в общем случае 7-мажорируемости часто бывает не- неоправданным. В силу этого имеет смысл применять комбинацию этих штрафов вида F.12), обладающую в определенном смысле свойством универсальности, а именно сохраняются достоинства обоих штрафов
6.2. Теоремы о сходимости 115 и устраняются некоторые их недостатки. Можно доказать, что при достаточно общих предположениях G-мажорируемость, вогнутость /г(х) и др.) функция F(x, /3) при малых /3 унимодальна. Следует сказать, что найти величину j в общем случае практи- практически не удается, в силу чего даже применение штрафа F.12) не га- гарантирует конечности метода по /3, что видно из неравенства О ^ Д(/3) ^p[b- -ЛоРр^-1 + a^V7*)], Р > 1. 6.2.10. Теорема. Если функции (р(х) и ф(х) выпуклы на всем пространстве Еп, а множество Y = Arg min{(p(x): x Е X} непусто и ограничено, то существует такое достаточно малое /Зо > 0, что множество Yp = Arg min{M(x,/3): x G Еп} ограничено в совокупнос- совокупности при всех C Е @,/3о]« Доказательство. Рассмотрим некоторую точку у Е Y и по- погрузим множество Y в шар Н конечного радиуса г с центром в точ- точке у так, чтобы Ус intH. Обозначим через G границу множества Н. Если мы докажем, что M(z,/3) > М(у,/3) = (р(у) для всех z G G G, /3 G @,/3о]> то из выпуклости функции М(х,/3) будет следовать неравенство М(х,/3) > М(у,/3) для всех х 0 i?, поскольку если пред- предположить существование такого х 0 Н, что М(х, /3) ^ М(у, /3), то от- отрезку [х,у] будет принадлежать некоторая точка z = Лх + A — А)у G G G @ < Л < 1), и мы приходим к соотношению M(z, /3) ^ ЛМ(х, /3) + + A — А)М(у,/3) ^ М(у,/3), противоречащему условию M(z,/3) > > М(у,/3). Из того, что М(х,/3) > М(у,/3) Vx 0 i?, следует вклю- включение Yp С Я, так как М(ур,/3) ^ М(у,/3) (см п. 6.2.2). Существо- Существование ур для всех /3 е @,^0] очевидно, поскольку функция М(х,/3) достигает минимума в некоторой точке ур на замкнутом и ограни- ограниченном множестве Н, а вне этого множества выполняется неравенст- неравенство М(х,/3) > (р(у) = М(у,/3) ^ М(ур,/3). Итак, следует доказать, что M(z,/3)>M(y,/3) VzGG, /?g@,/30]. 1. Предположим, что множество X ограничено, а величина ра- радиуса г сферы G такова, что X С intH. Обозначим \i — min(p(z) и z?Gr г/ = min^z). Так как v > 0, то найдется такое /Зо > 0, что для всех zeG z G G и /Зе @,/?о] будет - ^(z) ^ — ^(z) ^ — г/ > Р Ро ро а значит, M(z, /3) = ^(z) + I V(z) > /* + v>(y) - /* = M(y, /3). 2. Пусть множество Х неограничено. Из ограниченности мно- множества Y следует, что ip(z) ^ ф(у) +А Vz G GflX, где 0 < А ^ min ( zGG-ПА
116 Гл. 6. Метод штрафных функций Обозначим U6(X) = {x: р(х,Х) ^6}, G1=GnU6(X), G2 = G\U6(X); тогда G = G\ U G2. Выберем ? = ?(Д) > 0 таким, чтобы ip(z) > (р(у) + + -A Vz Е Gi. Это возможно в силу непрерывности выпуклой функ- функции (р(х) на i?n. Таким образом, для всех z Е Gi будет M(z,/J) = ^(z) + ^(z) Далее, обозначив \i — min <p(z) и г/ = min t/>(z) > 0 и повторив рассуж- дения п. 1, получим M(z,/3)>M(y,/3) VzeG2,/3e(o,A,]. A 6.2.11. Теорема, ^сли функции ip(x) и ф(х) выпуклы и дифференцируемы на всем пространстве Еп, а множество Y = = Arg тт{(р(х) : х G X} непусто и ограничено, то найдется такое достаточно малое /Зо > 0, что Уг>0 3C0 = C0(е) > 0, J = J(e) > 0 Доказательство. Поскольку множества У^ ограничены в со- совокупности при C G @,/3о]> то утверждение теоремы следует из тео- теоремы 6.2.10 и п. 9.2.7. Л 6.2.12. Теорема. Если: 1) функции <р(х) I/ ?/>(х) выпуклы и дифференцируемы на Еп; 2) множество Y = Arg min{(p(x): x G X} непусто и ограничено; 3) последовательность {xfe = Xfc(/?)} такова, что mo p(xjfe, У) —>- 0 npi/ г^ —> 0, fc —> оо и /3 —у 0. Доказательство. Вначале докажем ограниченность последо- последовательности {х/,}. По теореме 6.2.10 существует такое /Зо > 0, что множества Yp ограничены в совокупности при всех C G @,/3о]« По теореме 6.2.11, если в качестве U?(Y) взять шар Н с границей G та- такого радиуса г, что Yp С int^ для всех /3 е @,/30], то 3 6 = 6(е) > 0 Ух^Я: ||VM(x,/3)|| > й. Если предположить неограниченность {х/,}, то ||xjfe|| -У оо, к -У оо, и, следовательно, найдется такой номер &0, что для всех к ^ ко будет х^Яи ||УМ(х&,/3)|| ^ 6. Противоречие усло- условию 3). Предположим теперь, что теорема неверна, т. е. существуют такое число А > 0 и такая последовательность {/3k} —> 0, к —> оо, что для всех к = 0,1,... будет выполняться неравенство А для любого у е Y.
6.2. Теоремы о сходимости 117 Так как ф(х) ^ 0 для всех х, а ф(у) = О, то в силу ограниченнос- ограниченности последовательности {х/,} будет Цх^ - урк\\ ^ г] < оо, и, пользуясь выпуклостью функции М(х,/3), получаем ^ М(у,рк) +г]ек Поскольку {х/,} — ограниченная последовательность, то, не изме- изменяя нумерации, будем полагать, что lim х/, = х. Поэтому <р(х) ^ у (у). Из п. 6.2.4 следует ф(х) = lim ф(хк) = 0, т. е. имеет место включение к—too х G F, противоречащее предположению \(р(х.к) — у(х)| ^ А. Л 6.2.13. Теорема. Е'сли выполняются следующие условия: а) <р(х) — выпуклая и дифференцируемая функция на Еп; б) /i(x) (г = 1, т) — вогнутые и дифференцируемые функции на Еп; в) множество Y = Arg min{(p(x): x G X} непусто и ограничено; г=1 д) |</э(и) — (/?(v)| ^ Lp(u, v) 5ля любых и и v из Еп; е) 35>0,а>0 Vx G ^(Х)\Х: |/(х)| ^ ар(х,Х), где /(х) = = шш_Л(х), ?/,(*) = {х: р(х,Х) ^ 5}; г=1,т ж) ||VM(x^,/3)|| ^ ?/. (fc = 0,1,...) <?ля достаточно малых C > 0; то |у>(у) - М(хь/3)| ^ 7(/?1/(р-1) +?*), 7 = const > 0. Доказательство. Из теоремы 6.2.10 следует, что для доста- достаточно малых /3 > 0 существуют точки У^?^= Arg min {M(x,/J): х G ??„}. Поскольку tp(y) - М(у0,C) ^ 0 (см. п. 6.2.2) и M(xk,0) - М(ур,C) ^ ^ 0, то |М(У/3,/3) - М(хь/3)| = ,/3)) + (М(хь/3) - М(У/3,/})). Из того, что выполняются условия теоремы 6.2.7, справедлива оценка а из условия ж) получаем неравенство M(xfe,/3) - М(у^,/?) ^ (VM(x^),xt *,^)!! ||xfc - У/3||
118 Гл. 6. Метод штрафных функций откуда и следует утверждение теоремы при j = max {С, 77}. А Вычислительный аспект. Последовательности {ей}, {/3k} и } будем строить следующим образом. Пусть известны числа гк, /Зк и точка x.k-i- Заметим, что в ка- качестве го, /Зо и хо могут быть выбраны, вообще говоря, произвольные величины, хотя предпочтительнее выбирать их, учитывая известную информацию о функциях (р(х) и ip(x). Точку х& построим таким обра- образом, чтобы выполнилось условие ||VM(x^,/3^)|| ^ ек. Затем выберем ?k+i < ?k и Afe+i < /3k такими, чтобы обеспечить условия Sk —> 0 и /3k —> 0 при к —> оо. Для нахождения точки х/, строим релаксационную последователь- последовательность {у^(&)}, начиная с точки уо = x^_i, до тех пор, пока не будет вычислена такая точка у^ = yj(fc), что ||VM(yj,/3^)|| ^ г^, т. е. / = = min{i: ||М(у«,^)|| ^Sk, г — 1,2,...}. После этого положим Х& =yj. Заметим, что при построении релаксационной последовательнос- последовательности {yi} методом градиентного спуска (см. п.п. 9.5.1-9.5.7) величи- величину VM(yi,/3k) вычисляют на каждой итерации, в силу чего оценка величины ||VM(yf,/3k)\\ не потребует громоздких дополнительных вычислений. Сходимость указанного метода доказана в теореме 6.2.13. Достаточно широкое применение находит итеративный метод штрафных функций. Основная идея этого метода состоит в таком согласовании параметров а^ и Д., чтобы при каждом значении Д., делая только один шаг градиентного метода k), ak > О, получить сходимость последовательности {х/,} к решению задачи. Следующие условия гарантируют указанную сходимость: (р(х) — сильно выпуклая и дифференцируемая на Еп функция; /г(х) (г = 1,?тг) — вогнутые и дифференцируемые на Еп функции] г=1 хо — любая точка] Нт ак = 0, Нт /Зк = 0, lim 1/f3k+1 ~ 1/f3k = 0, Нт ^ = 0. к—уоо к—уоо к—уоо &к к—^сю р^ Доказательство этого утверждения можно найти в [4].
ГЛАВА 7 ВОПРОСЫ УСТОЙЧИВОСТИ В МАТЕМАТИЧЕСКОМ ПРОГРАММИРОВАНИИ 7.1. Корректные и некорректные задачи 7.1.1. У значительного числа практических задач, математичес- математическими моделями которых являются задачи математического програм- программирования, исходная информация носит приближенный характер. В связи с этим возникает проблема выделения таких классов задач и численных методов минимизации, для которых малые возмущения исходной информации несущественны, т. е. не оказывают сильного влияния на решение. 7.1.2. Точная задача. Рассмотрим задачу отыскания таких эле- элементов у е X, что if {у) = min<p(x), где Х = {хеГ: f(x) ^0}, f (x) — векторная функция, а <^(х) и /i(x) (г = 1,?тг) — заданные непрерывные скалярные функ- функции. 7.1.3. Исходная информация. На практике информация о (р(х) и f (х) носит приближенный характер, т. е. вместо (р(х) и f (х) извест- известны такие функции (р?(х) и fe(x), определенные на множестве Г, что ^(x),f?(x)eP?fef) = = {?>?(х)Л(х): \<р(х) - <ре(х)\ ^ е, ||f(x) - fe(x)|K e, x G Г}. При этом выбор функций ip? и fe из множества Р? не зависит от нашего желания. Таким образом, о решении у исходной задачи судят по решению у? приближенной задачи. 7.1.4. Приближенная задача. ip?(y) = min ^e(x), где хех? Х? = {хеГ: fe(x) ^ 0}.
120 Гл. 7. Вопросы устойчивости Пусть Y = \ у е X: if (у) = min у?(х) [ ^ 0> ? Х?: р?(у?) = min <ре( х?Х? 7.1.5. Корректность. Назовем задачу 7.1.2 слабо корректной, если lim sup inf ||ye-y|| =0. G.1) ?^°y?eY?y^Y Задачу 7.1.2 будем называть корректной, если lim sup ||z'-z"|| = 0, G.2) где Z = Y? U Y. Поясним эти определения. Предельное соотношение G.1) означа- означает, что семейство множеств Y? стягивается при г —У 0 к множеству, принадлежащему Y. На языке "г, (Г это значит, что для любого S > 0 найдется такое г0 > 0, что для любого г G @,г0] и любого у? е Y? най- найдется такой у е F, что ||уе - у|| ^ S. Отсюда следует, что для любого S > 0 найдется такое во > 0, что для любых г G @,?о] и (/?е G Ре будет (Читателям предоставляется возможность самостоятельно убедить- убедиться в справедливости этого утверждения.) Таким образом, слабая кор- корректность по сути дела означает корректность по функционалу: limip?(y?) = <p(y). ?—^0 Условие G.2) означает, что семейство множеств Y? стягивается при г —> 0 к множеству У, состоящему из единственного элемента у. Таким образом, для любого S > 0 найдется такое во > 0, что для любого е G @, го] и любого у? G Y? будет Очевидно, что корректная задача всегда является слабо коррект- корректной, но не наоборот. Будем говорить, что задача 7.1.2 некорректна, если нарушается условие G.2). В случае некорректности задачи 7Л.2 при заданном г > 0 всег- всегда найдутся такие пары (р?, f? и !р?, fe, принадлежащие множеству P?((p,f), для которых решения у? и у? соответствующих задач ви- вида 7.1.4 существенно различны и поэтому не несут в себе достаточной информации о решении исходной задачи.
7.1. Корректные и некорректные задачи 121 7.1.6. Примеры. Пример 1. Рассмотрим в Е<± пару задач: min(—#1 - ж2), Ж1+ж2^1, G.3) Х\ ^ О, Х2 ^ 0, и min(—xi — ж2), A + \е\ + s)xi + A + \е\ - е)х2 <С 1, Х\ ^ О, Ж2 ^ 0. Очевидно, что задача G.3) является слабо корректной и в то же время некорректной. Пример 2. min X2, + е)т + A + \е\ - е)х2 = 1, #1 ^0, ж2 ^ 0. Очевидно, что задача G.4) при г = 0 будет некорректной и, более того, она не будет слабо корректной. Основные методы решения задач математического программиро- программирования создавались в предположении, что задача корректна. Например, процедуру симплексного метода решения задачи линейного програм- программирования min (c,x), хеЯо Ro = {х: Ах = Ь, х ^ 0}, можно интерпретировать следующим образом: на каждом итераци- итерационном шаге метода элементы матрицы А и компоненты векторов b и с преобразуются в i', b' и с' по формулам полного исключения Жордана-Гаусса и в результате возникает новая задача min (c',x), хен.'о R'o = {x: A/x = b/, x^O}, эквивалентная исходной. На практике при вычислениях производят округления, поэтому в реальных случаях итерационный шаг приво- приводит не к эквивалентной задаче, а к новой приближенной задаче. По- Понятно, что при некорректности решение приближенной задачи может существенно отличаться от решения исходной задачи. В последние го- годы математики обратились к разработке методов решения некоррект- некорректных задач. Одним из основных представителей этих методов является так называемый метод регуляризации, в основе которого лежит идея аппроксимации некорректных задач корректными. В связи с этим возникает необходимость выделения классов корректных задач.
122 Гл. 7. Вопросы устойчивости 7.2. Один класс корректных задач 7.2.1. Рассмотрим задачу 7.1.2 и задачу min (p?(~x). Обратим внимание на то, что, в отличие от задачи 7.1.4, в рас- рассматриваемой задаче допустимое множество то же, что и в точной задаче, поэтому здесь Y? = ly? Е X: р?(у?) = ттср?(х)\. 7.2.2. Естественно, что точность вычисления точки у? = argmin {(f?(x) : x Е X} следует согласовывать с точностью задания целевой функции <р(х), т. е. с величиной г. Мы будем предполагать, что для каждого г > О определена точка у? G X такая, что 7.2.3. Теорема. Если: а) функция (р(х) сильно выпукла и непрерывна на выпуклом и замкнутом множестве X; б) (р?{х) непрерывна на X и <?е(х) G Р?(ф) = {^е(х): |<?е(х) — <^(х)| ^ ?, х Е X}; в) то limy, = у, а следовательно, задача 7.1.2 корректна. Доказательство. Так как ip?(x.) ^ ^(х) —ей при ||х|| —>- оо, х G X имеем <р(х) —>¦ +оо, то ip?(x.) —> +оо; поэтому найдется такое С = const, что непустое множество {xGl: ^e(x) ^ С} ограничено, вследствие чего Y? ф 0. Поскольку <р?(у?) ^ ^е(у), то ^(Уе) - ^(У) = [^(Уе) - <Ре(Уе)] + [^(Уе) - ^ [<р(уе) - (р?(у?)} + [<ре(Уе) ~ ^ [^(уе) - <ре(уе)] + [^е(у) - ^(у)] + ((е) <: 2е + С0О- Но в силу сильной выпуклости функции (р(х) справедливо неравенст- неравенство (см. 2.5.5) следовательно, ||уЕ_у||^!?±Ж. д
7.3. Задачи с точными ограничениями 123 7.3. Задачи с точными ограничениями. Метод регуляризации 7.3.1. Для решения линейных некорректных задач А.Н. Тихоно- Тихоновым был предложен метод регуляризации. В настоящем разделе этот метод рассматривается применительно к задачам нелинейного прог- программирования. Большинство реальных задач, которые формализуются как зада- задачи математического программирования, содержат дополнительную информацию, позволяющую выбирать из множества решений Y за- задачи 7.1.2 тот элемент, который удовлетворял бы еще некоторым до- дополнительным условиям; например, был бы ближайшим к некоторой фиксированной точке х°. В задачах оперативного планирования, где у является оптимальным планом, элемент х° обычно характеризует план предшествующего периода, существенное отклонение от кото- которого может быть связано с организационными и технологическими перестройками и, следовательно, сопряжено с дополнительными за- затратами. 7.3.2. Нормальное решение. Возникает естественная постанов- постановка задачи: для заданного х° Е Г найти у0 Е Y такой, что ||yo-xo||2=min||y-xo||2. G.5) Элемент у0 называют нормальным решением задачи 7.1.2, а саму задачу G.5) — задачей о нормальном решении. 7.3.3. Регуляризация. Процедура регуляризации отыскания нормального решения задачи 7.1.2 для частного случая, когда воз- возмущена лишь целевая функция (информация о множестве X предпо- предполагается точной), состоит в следующем. Вводится регуляризующая функция Na(x.) = <р(х) + aft(x), a > О, где П(х) = ||х-х°||2, и рассматривается задача отыскания элемента уа = argmin{7Va(x): x G X}. 7.3.4. В дальнейшем мы будем предусматривать возможность приближенного вычисления точки уа. Обозначим TV* = Na(ya) и будем предполагать, что для каждого значения параметра а > 0 определена точка уа G X такая, что
124 Гл. 7. Вопросы устойчивости 7.4. Сходимость 7.4.1. Теорема. Если функция (р(х) непрерывна на замкнутом множестве X, а множество Y непусто, то при условии, что lim ^ = О, а-И) а будет lim ip(ya) = <р(у) и lim p(ya, Y) = 0. Если, кроме того, (р(х) и множество X выпуклы, то lim уа = у°. а-И) Доказательство. Так как <р(х) ^ ^(у) для всех х G X, то при ||х|| —)> оо (х е X) будет Na(x) ->• +оо, а следовательно, непустое замкнутое множество {xGl: А^*(х) ^ С} ограничено и в силу не- непрерывности функции Na(x) существует уа. Так как ап(уа) + ^(а) ^ ^(у°) + аП(у°) + f (а) то ° + ^, G-6) а Переходя в последнем неравенстве к пределу при а ->• 0, получаем liml ° Поскольку из G.6) следует, что {уа} — компакт при всех достаточно малых а, то 11тр(уа,У) = 0. Наконец, предположим, что выпуклы (р(х) и X; тогда выпукло и множество Y. Пусть у — произвольная предельная точка семейст- семейства {уа}: у = lim yak. k—>-oo По доказанному lim (p(yah) = (p(y°) = у?(у), «^оо
7.4- Сходимость 125 поэтому у Е Y. Из G.6) следует lim т. е. yeY Но сильно выпуклая функция П(х) на выпуклом и замкнутом мно- множестве Y достигает минимума в единственной точке, а значит, у = = у0. Таким образом, доказано, что {уа} при а —> 0 имеет единст- единственную предельную точку: limya = y°. Л а-И) 7.4.2. Замечание. Получить априорные оценки скорости при- приближения уа к у0 в общем случае нельзя. Простые примеры пока- показывают, что скорость приближения уа к у0 при а —> 0 может быть весьма малой. Так, для одномерной задачи min х2к, к ^ 1, выбирая х° ф 0, а П(ж) = (ж-ж0J, получаем, что ?/а стремится к у0 = 0 при а ->• 0 со скоростью В конце настоящей главы мы увидим, что это обстоятельство может оказать существенное влияние на сходимость процесса регу- регуляризации в задачах, когда возмущению подвергается и допустимое множество. 7.4.3. Теорема. Если множество X выпукло и замкнуто, функ- функция <р(х) выпукла и непрерывна, функции <ре(х) непрерывны, множество Y непусто, то задача минимизации функции Na(x) на множестве X корректна при любом фиксированном а > 0. Доказательство. Обозначим Так как <ре(х) ^ ^(х) — г ^ ^(у) ~ е — const для всех х G X, то замкнутое множество {xGl: 7Vae(x) ^ const} ограничено, поскольку ^ае(х) ^ const + аП(х) —У +оо при ||х|| —У оо (х G X), и, следовательно, существует i{7Vae(x): x G X}. Легко убедиться, что функции Na(x) и Na?(x) удовлетворяют усло- условиям теоремы 7.2.3, откуда и следует корректность. Л
126 Гл. 1. Вопросы устойчивости 7.5. Метод регуляризации (общий случай) 7.5.1. В предыдущем разделе был рассмотрен метод регуляриза- регуляризации для задач с точными ограничениями, когда возмущению подвергалась лишь целевая функция. Ниже рассматриваются зада- задачи вида 7.1.4, т. е. тот общий случай, когда о задаче 7.1.2 известна лишь ^-информация, а именно известны функции (р?(х) и fe(x) из мно- множества P?(ip,f). Для получения приближенных значений нормального решения задачи 7.1.2 используется следующая методика. 7.5.2. Регуляризация. Вводят параметрическую функцию где /3 > 0 и т ^?(x) = 5]|mm{/ei(x),0}|p, p>0, г=1 И ВЫЧИСЛЯЮТ уаCе = argmin {Фа/Зе(х): х G Г}. Обратим внимание на то, что Фа^е(х) является штрафной функ- функцией для задачи минимизации регуляризующей функции на множестве Х?. 7.6. Сходимость метода регуляризации (общий случай) 7.6.1. Предположения. а) Множество Г выпукло и замкнуто; б) функция (р(х) выпукла и непрерывна на Г; в) функции /i(x) (г = 1,?тг) вогнуты и непрерывны на Г; г) непрерывные на Г функции (р?(х) и fe(x) принадлежат множес- множеству P?(<p,f); д) Y = Arg min {y?(x): xGl}/0; т х),О}|, Ve(x) = J] | min {/ei(x),0}|. г=1 г=1 7.6.2. Утверждение 1. Для любого х G Г справедливо неравен- неравенство Доказательство. Элементарно доказывается, что || min Шх),0}|-| min {ЛДх
7.6. Сходимость метода регуляризации 127 (для этого достаточно рассмотреть случаи, когда /i(x) и f?i{x) одного знака и когда разных). Далее, ^ ? ||ттШх),0}| - |min{/ei(x),0}|| ^ ? 1Л(Х) ~ Л<(х)| ^ет. А г=1 г=1 7.6.3. Утверждение 2. Д/гя любых х Е Г, 0 ^ /3 ^ /Зо < оо, 0^г^го<оо u для любого фиксированного а > 0 существует Ф* = inf xGT Доказательство. Так как функция 7Va(x) = <р(х) + afi(x), a > О, сильно выпукла на Г, то существует N** = min7Va(x) > -оо. х?Г Учитывая неравенство (см. условие г)) получаем соотношение Ф«/Зе(х) ^ /3[^(х) - е] + /Jafi(x) = ^JVa(x) - /?е ^ /?7V" - /?е > -оо. Д 7.6.4. Предположим, что уа/5е ? Г удовлетворяет условию Фа/?г(Уа/?г) ^ Ф* + /?(г), ^(е) > 0. Как и прежде, обозначим yo = argmin{ft(y): у G У}, уа = argmin{7Va(x): x G X}, 7Va(ya) = N*. 7.6.5. Теорема. Если выполняются предположения 7.6.1 и если lim /3(г) = 0, lim —— = 0, lim -^-4- = О, то lim \\туаCе = у0. а^0 е^0
128 Гл. 7. Вопросы устойчивости Доказательство. Из условий справедливых для всех х G Г, а также из условия Фа(Зе(Уа(Зе) ^ Ф* + ^fc) получаем ^** ^ Na(ya/3e) ^ Na(yaPe) + ^фе(уа/зе) = е) + «П(уа/Зе) + - ф?(УаРе е) + - ф?(УаРе) + ^ = ^ Ф = <Ре(У«) + ^ Так как уа G X, то из утверждения 7.6.2 следует Фе(Уа) ^zrn; поэтому, учитывая, что ср?(уа) ^^(Уа)+^5 получаем Г** < Na{ya0e) ^ <р(уа) + аП(уа) + ^ + 2|1 + 2е = Так как гт//3 ^ const и rj(e)//3 ^ const, то величина ограничена, и поскольку функция Na(x) сильно выпукла на Г при любом а > 0, а множество Yp ограничено в совокупности при всех /3 Е @,/3о] (см- теорему 6.2.10), то {уар?} — компакт. Пусть у — предельная точка: У = J™O^^^- Из неравенства G.7)
следует, что 7.6. Сходимость метода регуляризации 129 lim i/>?h(y<x0heh) =0. к—юо Из утверждения 7.6.2 получаем ^(у) = lim гР(уаРк?к) <С lim [гр?к(уаРк?J + ект] = 0, к—>-оо к—>-оо вследствие чего у Gl. Переходя к пределу в G.7) при г = ?& —У 0, получаем Л^а(у) ^ ЛГ* = miniVa(x) = iVa(ya), а значит, Из единственности точки минимума уа сильно выпуклой функции Na(x) на выпуклом множестве X следует у = уа. Итак, любая пре- предельная при е —У 0 точка компакта {уар?} есть у, и, значит, Из теоремы 7.4.1 следует, что lim ya =у°; поэтому limlimya/3e=y0. Л 7.6.6. Замечание. Предыдущая теорема остается справедли- справедливой, если выбирается гладкий штраф г=1 при этом условие Hm -f- = 0 заменяется условием Hm -^- = 0. Доказательство проводится по той же схеме. Отличие состоит в том, что изменяется утверждение 7.6.2, а именно для любого х G Г будет
130 Гл. 7. Вопросы устойчивости 7.6.7. Так как в реальных ситуациях величина г часто бывает не- улучшаемой (не уменьшаемой), то она определяет и ту точность, вы- выше которой вычислять точку минимума не имеет смысла (см. п. 7.6.4 и условие rj(e)//3(e) ->• 0 при г ->• 0). Величина г лимитирует также и выбор параметра /3 = /3(е). Условие ->• 0 при г ->• 0 говорит о зависимости выбора величины /3(е) от известной величи- величины е. В процессе регуляризации возникает целый ряд трудностей. Рас- Рассмотрим лишь одну из них, а именно вопрос о выборе а$ и /3q — на- начальных значений параметров регуляризации. Будем предполагать г достаточно малой величиной. Поскольку процесс регуляризации мо- может сходиться очень медленно (см. замечание 7.4.2), то выбор срав- сравнительно большой величины а0 может оказаться весьма невыгодным с точки зрения общих затрат времени на получение достаточно хоро- хорошего приближения к нормальному решению. С другой стороны, для нахождения точки уаоро?, как правило, ис- используются релаксационные методы минимизации, на скорость схо- сходимости которых существенное влияние оказывает величина пара- параметра сильной выпуклости минимизируемой функции Ч?аоро?(х), т. е. величина произведения ао/Зо- Известно, что при убывании аC ско- скорость сходимости релаксационных процессов понижается. Вследствие этого выбор малых значений а$ и /3q опять-таки может увеличить общие затраты времени на получение необходимого приближения к нормальному решению и, кроме того, может быть не оправдан с точ- точки зрения согласования с величиной г. В заключение отметим, что в этой главе рассматривались вопросы устойчивости задач математического программирования. Вместе с тем важным является также вопрос устойчивости численных методов минимизации к возможным ошибкам, возникающим в процессе счета. Анализ этого читатель может найти в последующих главах настоящей книги. Наконец, следует отметить, что параметрическая процедура ре- регуляризации это не единственный способ отыскания нормального ре- решения некорректных задач. Существуют и другие подходы, среди которых в первую очередь следует указать методы градиентного ти- типа, которые позволяют, не прибегая к введению параметрического стабилизатора аи, решать исходную задачу градиентным методом, который гарантирует сходимость итерационной последовательности к нормальному решению линейной некорректной задачи. О градиентном методе см. пп. 9.5.2-9.5.7.
ГЛАВА 8 МЕТОДЫ ОДНОМЕРНОЙ МИНИМИЗАЦИИ 8.1. О задачах одномерной минимизации 8.1.1. Минимизация функции одного переменного является, как правило, необходимым элементом многих методов минимизации мно- многомерных функций. На первый взгляд кажется, что задача минимизации функции од- одного переменного является довольно элементарной. По-видимому, это мнение создается после первого знакомства с началами математичес- математического анализа. В самом деле, если функция ср(х), которую нужно мини- минимизировать на отрезке [а, 6], дифференцируема, то достаточно найти нули производной, присоединить к ним концы отрезка, выделить из этих точек локальные минимумы и, наконец, среди последних найти ту точку, в которой достигается абсолютный минимум. Однако для широкого класса функций эта задача не так уж прос- проста. Во-первых, задача решения уравнения (р'(х) = 0 может оказаться, как это и бывает в реальных ситуациях, весьма сложной. С другой стороны, в практических задачах часто не известно, является ли (р(х) дифференцируемой функцией. В силу этого существенное значение приобретают методы мини- минимизации, не требующие вычисления производной. 8.1.2. Если о минимизируемой функции ip(x) известно лишь, что она непрерывна на отрезке [а, Ь], то для определения точки минимума по сути дела требуется исследование поведения функции во всех точ- точках отрезка. Поскольку нас интересует приближенное определение точки минимума, то для этого исследуют поведение функции в ко- конечном числе точек, способами выбора которых различаются методы одномерной минимизации. Большинство детерминированных мето- методов состоит в построении последовательности отрезков [ап, Ьп], стяги- стягивающихся к точке ж* = argmin{(p(x): x Е [а, Ь]}. Однако всегда можно указать такую непрерывную функцию (р(х), что для любого конеч- конечного номера п > 0 отрезок [ап,Ьп], построенный любым детермини- детерминированным методом, не будет содержать точку ж*, даже если известен отрезок [ао,&о]5 которому принадлежит ж*. В связи с этим гаранти-
132 Гл. 8. Методы одномерной минимизации ровать принадлежность точки ж* отрезку [anjbn] можно лишь для определенных классов минимизируемых функций. В дальнейшем мы ограничимся классом строго унимодальных функций, а в некоторых случаях и более узким классом. 8.1.3. Строго унимодальные функции. Непрерывную функ- функцию ip(x) будем называть строго унимодальной, если существует един- единственная точка ее минимума ж* и > <р(х2) ДЛЯ ЛЮ6ЫХ Х\ < Х2 ^ Ж*, < ф{х2) ДЛЯ ЛЮ6ЫХ Ж* ^ Х\ < Х2- Таким образом, с возрастанием х функция (р(х) слева от точки минимума монотонно убывает, а справа от этой точки монотонно возрастает. 8.1.4. Прежде чем приступить к процедуре минимизации, сле- следует установить принадлежность целевой функции "подходящему" классу, т. е. классу, для которого гарантирована сходимость процес- процесса. Это вовсе не означает, что попытки применения детерминирован- детерминированных методов для минимизации функций, принадлежность которых к "подходящему" классу либо не установлена, либо отсутствует, за- заведомо обречены на неудачу. Однако во многих случаях существует дополнительная информация, позволяющая установить необходимую принадлежность. Часто такая информация связана с "физическим" содержанием той реальной задачи, для которой построена исследуе- исследуемая математическая модель. Заметим, что предположение о строгой унимодальности функции в окрестности точки ж*, вообще говоря, весьма естественно, вследствие чего получение информации о таком промежутке является важным предварительным этапом процедуры минимизации. В дальнейшем нам понадобится понятие удачной тройки чисел. 8.1.5. Удачная тройка чисел. Будем обозначать ip(xi) = (pi (i = = 1,2,...). Тройку чисел Ж1 < Ж2 < жз назовем удачной, если <р2 ^ i{} Последнее условие означает, что точки (xi,<?i), (ж2,^2), (хз,^Рз) не лежат на прямой, параллельной оси абсцисс (естественно, что для строго унимодальной функции эта ситуация исключена). Таким об- образом, удачная тройка чисел такова, что отрезку [ж1,жз] заведомо принадлежит внутренняя его точка ж* минимума строго унимодаль- унимодальной функции.
8.2. Поиск отрезка, содержащего точку минимума 133 8.1.6. О выборе удачной тройки чисел. В детерминированных методах минимизации обычно в результате каждого цикла появляют- появляются точки (xi,(^i), (х2,(р2), (жз,<?з)? (Ж4,^4) такие, что Х\ < Х2 < Х3 < Ж4, Возникает вопрос о выборе удачной тройки. В силу строгой уни- унимодальности минимизируемой функции очевидно, что при ср2 < ц>з удачной будет тройка Х\,х2,хз, а при ср2 > рз удачную тройку об- образуют числа ж2,ж3,ж4. Если же ip2 = ^3, то ж* G [ж2,ж3], и любая из троек Ж1,ж2,ж3 и ж2,ж3,ж4 будет удачной. Целесообразно из них вы- выбрать ту, которой соответствует наименьший из двух отрезков [жь ж3] и [ж2,ж4]. Но можно поступить и иначе: одним из методов одномер- одномерной минимизации, например, делением отрезка пополам, вычислить на отрезке [х2, хз] точку х$. Тройка х2, х$, хз будет заведомо удачной. Так как при численной реализации вычисления лимитируются определенной точностью, то мы можем лишь утверждать, что ра- равенство значений ip2 и срз осуществляется с ^-точностью, т. е. \ip2 — —ц>з\ ^ ?• В этом случае каждая из троек Х\,х2,хз и Ж2,жз,ж4 может оказаться удачной. Тогда для соответствующего выбора целесообраз- целесообразно вычислить в точке х§ = {х2 + хз)/2 значение ср^. Если ср^ совпадает с ip2 и (рз с точностью до г, то поиск заканчивают, полагая ж* ~ ж5. В противном случае удачной будет тройка ж2,ж5,ж3. 8.2. Поиск отрезка, содержащего точку минимума 8.2.1. Поиск заключается в том, что осуществляются возрас- возрастающие по величине шаги до тех пор, пока не будет пройдена точ- точка минимума функции ср(х). 8.2.2. Шаг 1 (нестандартный). Выбирают точку ж0 и определяют направление убывания функции (р(х). Для этого выбирают число h и вычисляют (р(х0 + К). Если (р(х0 + К) < (р(х0), то полагают х\ — х0 + h и переходят к шагу 2 при к = 1. Если (р(хо + К) ^ ^(жо), то полагают h = —/1 и вычисляют (р(хо + /г). Если у?(жо + h) < tp(xo), то полагают X! = хо + /i и переходят к шагу 2 при к = 1. Если <р(жо + ^) ^ ^(жоM то полагают /i = /i/2 и повторяют процедуру предварительного шага. В результате шага 1 получают число h и точки хо,х\ = хо + h такие, ЧТО (р(х!) < (р(х0). Шаг 2. Удваивают h и вычисляют Xk+i = Xk + h. Шаг 3. Вычисляют ipk+i- Если tpk+i < Ц>к-> то полагают к — к + 1 и переходят к шагу 2. Если ^+i ^ tpk, то поиск останавливают и в ка- качестве отрезка, содержащего точку минимума, выбирают [xk-i,Xk+i].
134 Гл. 8. Методы одномерной минимизации 8.3. Методы Фибоначчи и золотого сечения*) 8.3.1. Часто в вычислительных процедурах существенные труд- трудности возникают в связи с вычислениями значений функций ip(x), например, если значения ip(x) получают в результате того или ино- иного эксперимента либо если ip(x) задается аналитически, но достаточ- достаточно сложной для вычислений формулой. К методам, в которых при ограничениях на количество вычислений значений ср(х) достигается в определенном смысле наилучшая точность, относятся метод Фибо- Фибоначчи и метод золотого сечения. Эти методы состоят в построении последовательности отрезков [ак,Ьк], стягивающихся к точке х* минимума функции ip(x) на ис- исходном отрезке [ао,Ьо]« 8.3.2. Схема метода. Оба метода строятся по единой схеме и различаются способами выбора параметра Л. Шаг 1 (нестандартный). Выбирают отрезок [ао,&о]5 содержащий точку х* минимума функции ip(x); задают точность е, с которой желают определить точку ж*; вычисляют Aq = bo — ао, Ai = AAq, 1/2 < Л < 1, А2 = Ао - Аь у0 = а0 + А2, z0 = b0 - А2, ip(yo), ip(z0) и полагают к = 1. Шаг 2. а) Если ip(yk-i) ^ ip(zk-i), то полагают ак = ak-i, bk = = zk-i, zk = 2/fc—i, вычисляют Afe+2 = Ak - Ak+1, yk = ak + Afe+2, (p(yk) и переходят к шагу 3. б) Если (p(yk-i) > <p(zk-i), то полагают ак = yk-U bk = bk-U yk = = zk-!, вычисляют А/.+2 = Ак - Afc+i, zk = bk- Afe+2, (p(zk) и пере- переходят к шагу 3. Шаг 3. Если А^ ^ г, то полагают х* ~ хк = argmin{(p(^/^), ip(zk)}. Если А^ > г, то полагают к = к + 1 и переходят к шагу 2. 8.3.3. Обратим внимание на то, что на каждом шаге, за исключе- исключением первого, производится только одно вычисление значения функ- функции ср(х). 8.3.4. Анализ метода. Выясним, каким условиям должно удов- удовлетворять число Л, чтобы каждый отрезок [ак,Ьк] содержал точку ж*, чтобы [ак,Ьк] С [ak-i,bk-i] и, наконец, чтобы с возрастанием числа к эти отрезки стягивались к точке ж*. Из условий Ао, Ai = ЛА0, Afc+2 = Ак- Ак+1, к = 0,1,..., (8.1) и из изложенной схемы следует 8.3.5. Если Ак > 0 для всех к = 0,1,..., то Ак = Ьк -ак. *)Идею предлагаемого ниже изложения высказал А.Г. Тетерев в докладе на се- семинаре кафедры исследования операций факультета вычислительной математики и кибернетики Московского государственного университета.
8.3. Методы Фибоначчи и золотого сечения 135 Действительно, для к = 0 это следует из определения числа Aq. Сделаем индуктивное предположение, что Ак_\ = Ък-\ — ськ-i- По по- построению Ак+1 = Ък-х - zk-X = 2Д._1 - ал-ь Но Ак = Ак_г - АЛ+Ь следовательно, Д/с = (Ьл—1 - ak-i) - (bk-i - zk-i) = zk-X - пк-ъ т. е. Ak = (bjfe_i - CLk-l) - (Ук-l - CLk-l) = Ьк-1 - Ук-1- Если имеет место п. а) шага 2, то Ък = ^_i, и ак = ak-i; поэтому Afe = Ък -ак. Если же имеет место п. б), то Ьк = bk-i, ак = yk-i, вследствие чего Ак = Ък - ак. Л 8.3.6. Если Ат = 0, то Am_i = Am_2, и, следовательно, ^/т_з = = zm-s, вследствие чего процесс построения отрезков [ак,Ьк] оста- останавливают при к = т - 2. 8.3.7. Из (8.1) по индукции легко получить А, = Ак(Х) = (-l)b-\Fk\ - F,_!)A0, к = 2,3,..., (8.2) F1=F2 = 1, Fk+1=Fk+Fk-1, /с = 2,3,... (8.3) 8.3.8. Числа Fkj удовлетворяющие условиям (8.3), называются числами Фибоначчи. Приведем первые из них: F3 = 2, F^ = 3, F5 = 5, F6 = 8, F7 = 13, F8 = 21, F9 = 34, F10 = 55, F1± = 89, F12 = 144 и т. д. Для дальнейших рассмотрений нам понадобятся некоторые сведения о свойствах чисел Фибоначчи. 8.3.9. Имеет место формула Бинэ (см. [6]). 8.3.10. Справедливо соотношение Fl+1=FkFk+2 + {-\)\ k = l,2,..., (8.4) которое легко доказывается индукцией по к. 8.3.11. Пусть А/.+1 = Fk/Fk+i (к = 1,2,...). Используя формулу Бинэ, получаем л/5 — 1 г л л/5 — 1 откуда следует, что lim А/. = .
136 Гл. 8. Методы одномерной минимизации 8.3.12. Из определения числа А/, и формулы (8.4) имеем _Fk_lFk+l-F2k _ (-1)к Лк - лк+\ - =г~Б - ~ЕГ~Б » К — 2,, 6, ... *к*к+1 *к*к+1 8.3.13. В силу этого ^2га+2 < А2т, 771 = 1,2,..., И А2т+1 > ^т-Ъ Ш = 1, 2, ... 8.3.14. Пусть к ^ п. Тогда [а/., 6/.] С [a^_i,6^_i], если Ап = Ап < А < An+i, если п нечетное, (о.о) An+i < А < Ап, если п четное. Действительно, из схемы метода и из 8.3.5 следует, что условие [ctk,bk] С [ak-i,bk-i] эквивалентно условию 0<Afe(A)<A*_i(A). (8.6) Если к нечетное, то из (8.2) получаем: для того чтобы А^(А) > О, должно выполняться неравенство А > А/., а для того чтобы А^(А) < < A/,_i(A), должно быть А < A^+i. При четном к аналогично получаем А/.+1 < А < Хк. Итак, следующие неравенства гарантируют справед- справедливость условия (8.6): Хк < X < Xk+i, если к нечетное, к ^ п, А/.+1 < X < Хк, если к четное, к ^ п. Из пп. 8.3.13 и 8.3.11 следует, что при т ->• оо A2m+i t ^5 ^2m I A, A = —-—; поэтому, если выполняются условия (8.5), то вы- выполняются и условия (8.7), а значит, и (8.6). Из схемы метода видно, что каждый из отрезков [а/., 6/.] содержит точку ж*. Л 8.3.15. Справедливо следующее утверждение: при А = А изложен- изложенный метод порождает бесконечную последовательность вложенных отрезков [а/., 6/.], стягивающихся к точке х*. 2 Действительно, так как А = 1 — А, то индукцией по п из (8.1) получаем АП(А) = АПАО = (^Ь!)ПА0 < 0,7ПА0. Поэтому АП(А) ->• 0 при п ->• оо. Наконец, из принадлежности точки ж* всем отрезкам [ап,Ьп] вы- вытекает заключительная часть утверждения. Л
8.3. Методы Фибоначчи и золотого сечения 137 8^3.16. Метод золотого сечения. Изложенный выше метод при Л = Л называется методом золотого сечения. Поясним название. Го- Говорят, что точка уь осуществляет золотое сечение отрезка [а/., 6/.], если frfc -Qfe _ bk ~Ук Ьк ~Ук Ук - ак Нетрудно показать (проверьте), что при Л = Л каждая из точек у к и Zk, построенных по схеме метода, осуществляет золотое сечение: frfc -Qfe _ Ьк ~Ук _ Ьк ~ак _ Ч ~ ак _ 1 + >/б Ьк ~Ук Ук~ ^к zk - ак Ьк - zk 2 8.3.17. Поставим теперь следующий вопрос: при каких значениях параметра Л через конечное число шагов мы получим отрезок [ак,Ьк] наименьшей длины? Утверждение. Если А = Лп, то для любых А, удовлетворяющих условиям (8.5), выполняются неравенства 0< АП_2(ЛП) < АП_2(А). Действительно, из (8.2) получаем АП_2(ЛП) - ДП_2(А) = (-l)n-3Fn_2(An - А)Д0. Если п нечетно, то из (8.5) следует, что Ап < А, т. е. ДП_2(АП) — - АП_2(АП) < 0. А так как при четном п в силу (8.5) будет Ап > А, то An_2(An)-An_2(A) <0. Л 8.3.18. Делать больше чем п — 2 шагов при А = Ап не имеет смыс- смысла. Поскольку АП(АП) = 0, An_i(An) = An_2(An), то уп_х = zn-U вследствие чего процесс останавливают на (п - 2)-м шаге. 8.3.19. Оптимальность метода Фибоначчи. Этот метод, ког- когда А = Ап, называют методом Фибоначчи. В смысле утверждения п. 8.3.17 он является оптимальным. 8.3.20. Чувствительность метода к ошибкам. Численная реализация обоих методов обладает существенным недостатком. Де- Дело в том, что приближенные значения чисел А и Ап порождают такое накопление ошибок, которое довольно быстро может привести к нару- нарушению условий вложенности отрезков [ак, Ьк] и тем самым к расходи- расходимости процесса. В самом деле, пусть А удовлетворяет условиям (8.5). Рассмотрим А = А + S. Из (8.2) имеем Д*(А) = (-l)*^ - F,_!)A0 = Д*(А) + (-lf-'SFkAo. (8.8) Поскольку выполняются неравенства 0 < А^(А) < A^_i(A), то после- последовательность {Д/,(А)} сходится при к ->• оо. В то же время Fk ->• +оо, ПОЭТОМУ |Д/г(А)| ->• +00.
138 Гл. 8. Методы одномерной минимизации Известно, что числа Фибоначчи растут со скоростью геометричес- геометрической прогрессии, знаменателем которой является число ~ 1,618. Вследствие этого при фиксированной точности "раскачка" процесса наступает довольно быстро. 8.3.21. Выбор числа п. Определим по заданному г число п, не- необходимое для того, чтобы гарантировать неравенство An_2 ^ е. Для этого вначале докажем справедливость формулы Ак (А„) = %* До, к = М^Т. (8.9) Пусть к = п — I (I = 1, п — 1). Покажем, что АИ_;(Л„) = §- До, I = М^Т. (8.10) Из (8.2), воспользовавшись соотношением (8.4), получаем Л (\ \ ( Л\п-2Рп-\- FnFn-2 д 1 д Fi д Поскольку АП(ЛП) = 0, то из (8.1) следует АП_2(ЛП) = An_i(An) = = — Aq = — До- Из той же формулы (8.1) имеем An_/ = An_/+i + Fn Fn + Ап_/+2- Отсюда индукцией по I убеждаемся в справедливости ра- равенства (8.10), а значит, и (8.9). Л Таким образом, для достижения ^-точности результата число п следует выбирать из соотношения 8.3.22. О согласовании точности в методе Фибоначчи. Теперь обратимся к естественной ситуации, когда число Лп опреде- определяется приближенно: Л = Лп + 8. Из (8.8) и (8.9) получаем А*(А) = %* До + (-l)*-MibA0. (8.11) Отсюда ясно, что для достижения желаемого результата точность S вычисления величины Лп следует согласовывать с заданной точ- точностью е определения длины отрезка [оп_2,Ьп_2]. А именно, если п выбирается таким образом, чтобы было
8.3. Методы Фибоначчи и золотого сечения 139 то для гарантированности неравенства АП_2(Л) ^ г должно быть Ш < ? 8.3.23. О согласовании точности в методе золотого сече- сечения. Рассмотрим случай, когда Л = Л + ?, Л = . Из п. 8.3.15 имеем Отсюда и из (8.8) следует Ак(Х) = (V^2~1)*;Ao + (-l^SFkAo, (8.13) и при -и ^ 2 ,~, ^ 2^До будет АЛ(А) ^ г. 8.3.24. Еще раз о неустойчивости. Очевидно, что при огра- ограниченных возможностях точности вычислений число п невелико, и ожидаемая г-точность результата может не быть достигнута, если пользоваться предложенной схемой. В этом смысле оба метода не являются устойчивыми по отношению к ошибкам в определении до- допустимых значений параметра А. 8.3.25. Модификация метода. В случае если величина 6, опре- определяющая точность вычисления Лп, задана и при этом условия согласованности е и 8 (см. пп. 8.3.22 и 8.3.23) не выполняются, можно таким образом модифицировать метод, чтобы процесс стал устойчи- устойчивым. Как мы уже видели (см. п. 8.3.14), условия 0 < A^+i(A) < А/, (А) гарантируют соотношение [a^+i,6^+i] С [akjbk]. Из (8.11) следует Afc(A) - Afc+i(A) = FnFk~2A0 + (-l^-^Ffc+aAo, и при к = п — 3 получаем, что АП_2(А) < Ап_з(А), если \6\ < j-^. (8.14) Таким образом, условие (8.14) обеспечивает соотношения >k+i] С [ак,Ьк], к = 0,п-3. Выберем п = argmax I к: \S\ <
140 Гл. 8. Методы одномерной минимизации и осуществим п — 2 шагов по схеме метода. Затем положим п - 2 = = 0 и перейдем к шагу 1. Таким образом, после п — 2 шагов мы осу- осуществляем обновление процесса, т. е. полагаем ап_2 = ао, &п-2 = ^о5 вычисляем До = Ьо - а0, Ai = ЛА0, А2 = Ао - Аь у0, zOj <p(yo), <р(*о) и переходим к шагу 2. После каждого такого цикла, состоящего из п — 2 шагов, мы получаем, учитывая (8.11) и (8.15), А„_2(Л) = -^До + (-l)"-3№n_2A0 < | Ао Fn_2 Ао / Fn_2\ 2 < ~ЕГ + ТГ-Б А0 = ТГ11 + -Б ) ^ "^Д0' после р циклов будет АР(И_2)(Л) < (^ Очевидно, что Ар(п_2)(А) —У 0 при р —у оо, если п ^ 3. Заметим, что на каждом цикле вычисляют п — 1 значений минимизируемой функции; поэтому общее число таких вычислений составит рп - р, в то время как в "идеальной" схеме метода 8.3.2 на р(п - 2) шагах происходит рп - 2р - 1 вычислений. 8.3.26. Для метода золотого сечения при А = А + S получаем из (8.13) Ак(Х) - Ак+1(Х) = (^—^) + Ао + (-1)*" ' и при \S\ < ——(—-—) будет [ai+ubi+i] С [а*Л] (* = Выберем {fc: |<5| < -A_(^l)fc+2} (8.17) n = argmax и осуществим п шагов по схеме метода. Затем положим п = 0 и перей- перейдем к шагу 1. Очевидно, что аналогично предыдущему пункту будет АрП(Л) —У 0 при р —У оо. 8.3.27. Однако накопление ошибок может привести к очень мед- медленному убыванию величины А/, даже при выборе числа п из условий (8.15) и (8.17). Поэтому может наступить момент, когда продолжение процесса становится "нерентабельным". Выясним скорость убывания величины А/, в идеальной схеме. Из (8.9) следует, что
8.4- Метод парабол 141 В частности, ЛП_2(ЛП) = 0,5Ап_з(Лп), Лп_з(Лп) ~0,67Ап_4(Ап), Ап_4(Лп) = 0,бАп_5(Лп), An_5(An)~0,62An_6(An), An_6(An)~0,62An_7(An), Из (8.12) следует Д*+1(А) = ^±Ак(\) ~ 0,62 Дк(А). В связи с этим целесообразно выбрать число 0,62 < Л < 1, например, а = 0,8, и до тех пор, пока Д&+1 ^ аАк, процесс продолжать. При А/,+1 > аАк цикл закончить и произвести обновление, т. е. положить к = 0 и перейти к шагу 1. 8.3.28. Модифицированный алгоритм золотого сечения. Шаг 1. Выбрать отрезок [ао,&о]5 задать точность г определения точки ж*, выбрать число a Е [0,7; 0,9]. Шаг 2. Вычислить Aq = bo — ао, Ai = Aq, A2 = Aq — Ai, Уо = ао + А2, zo = bo — А2, ^B/0M (f(zo) и положить & = 1. Шаг 3. а) Если ip(yk_i) ^ (p(^_i), положить ак = a^_i, Ьд. = zk-i, zk = 2/л-ь вычислить Ак+2 = АЛ - АЛ+Ь ук = ак + Ак+2. При ^ < з*. вычислить (р(ук) и перейти к шагу 4. При ?//, ^ zk положить ао = ак, bo = bk и перейти к шагу 2. б) Если ip(yk-i) > <p(zk-!), положить ак = yk-U bk = bk-Uyk = ^_i, вычислить А^+2 = А^ — Ajfe+i, zk — bk — А^+2- При z/. > ^/^ вычислить ip(zk) и перейти к шагу 4. При z^ ^ ^/^ положить ao = akj bo = bk и перейти к шагу 2. Шаг 4. а) Если А/, ^ г, закончить поиск, положив ж* ~жд. =axgmin{y?B/jfe)Jy?(^)}. б) Если г < Ак ^ aAjfe_i, перейти к шагу 3 при к = к + 1. в) Если А/, > г и А& > aAfc_i, положить а0 = ак, b0 = bk и перейти к шагу 2. 8.4. Метод парабол 8.4.1. Идея метода весьма прозрачна: если на отрезке [a, b] с внут- внутренней точкой х* = argmin{(p(x): x G [а, Ь]} функция ip(x) достаточно хорошо аппроксимируется многочленом второй степени, то за прибли- приближенное значение ж* целесообразно взять точку минимума этого мно- многочлена. Естественно, что высказанное предположение должно под- подкрепляться разумными доводами. В случае когда функция гладкая и
142 Гл. 8. Методы одномерной минимизации строго унимодальная, можно предполагать, что в окрестности точ- точки ж* она, вообще говоря, весьма близка к параболе. В силу этого метод парабол целесообразно применять после того, как найден отре- отрезок достаточно малой длины, содержащий ж*, например, после того, как найдены [а/., Ьк] и Хк = axgmm{(p(yk), (p(zk)} в результате к шагов по методу золотого сечения. 8.4.2. Пусть известна удачная тройка чисел (в смысле опреде- определения 8.1.5) Ж1,Ж2,жз- Многочлен второго порядка, график которого проходит через точки (xi,^i), (ж2,<^2), (жз?<?з)? достигает минималь- минимального значения в точке ~ 1 (ж2 ~ XiJ((p2 ~ <рз) ~ (ж3 ~ Ж2J(^2 ~ <fl) ,Я1Яч X — Ж2 — — —; 77 7 Г7 ~ (OloJ 2 (ж2 - В этом можно элементарно убедиться, если построить по упомяну- упомянутым трем точкам интерполяционный многочлен и найти его точку минимума. Также несложно показать, что х G [xi,x3], проверив соот- соотношение \х — Х2\ ^ - тах{^2 — xi,x% — X2}. 8.4.3. Схема метода. Предполагается, что известны удачная тройка чисел Ж1,ж2,ж3, соответствующие ей значения <?ь<?2><?з и за- задана точность г определения интервала, содержащего точку ж*. Шаг 1. Вычислить х по формуле (8.18). Шаг 2. Если \х — x2| ^ е, закончить поиск, положив х* ~ х. Если \х — ж2| > ?, то вычислить у?(ж). Шаг 3. Пользуясь способом п. 8.1.6, из чисел Ж1,ж2,ж3 и ж выбрать удачную тройку и перейти к шагу 1. 8.5. Метод кубической аппроксимации 8.5.1. Метод используется для минимизации дифференцируемой функции ср(х), когда есть основания полагать, что ср(х) достаточ- достаточно хорошо аппроксимируется на заданном отрезке [а, Ь] многочле- многочленом третьей степени. В этом случае производная аппроксимирующей функции является многочленом второго порядка, и, следовательно, задача сводится к нахождению корня квадратного трехчлена, при- принадлежащего отрезку [а, Ь]. 8.5.2. Пусть известен отрезок [а, 6], содержащий точку миниму- минимума ср(х), причем ср(х) ~ Рз(х) на [а,Ь]. Предположим, что Р%(х) = = Р2(ж) ~ if'{x) на рассматриваемом отрезке. Легко проверить, что Р2(ж) обращается в нуль в точке
.6. Метод касательных 143 где 8.5.3. Схема метода. Предполагается, что известны значения ip(a), ip(b), ip'(a) и (p'(b), причем (р'(а) < О, ip'(b) > 0. Пусть также заданы числа е\ > 0 и s<i > 0. Шаг 1. Если Л ^ ?]_, то полагают ж* ~5и заканчивают поиск. В противном случае вычисляют ж по формуле (8.19). Шаг 2. Вычисляют ip(x) и ip'(x). Если |^'(ж)| ^ ?2? то полага- полагают ж* ~ х и заканчивают поиск. В противном случае переходят к шагу 3. Шаг 3. Если ср'(х) < —е^-, то полагают а = х, ip(a) = ^(ж), ipr(a) = = у?'(ж) и переходят к шагу 1. Если ср'(х) > ?2, то полагают 6 = ж, (^(ж), ^'(Ь) = ^'(^) и переходят к шагу 1. 8.6. Метод касательных 8.6.1. Идея метода. Этот метод может оказаться весьма эффек- эффективным для минимизации выпуклых функций. Будем предполагать, что функция ip(x) выпукла и непрерывно дифференцируема на отрезке [а, Ь]. Обозначим через ipi(x,y) сле- следующую линейную по ж функцию, определенную в точке у: Метод состоит в следующем. Выбирают произвольную точку жо G е [а,Ь] и строят функцию (^/(ж,ж0). Для вычисления точки х\ решают следующую задачу: при условиях <pi(x,x0), ^ ж ^ Ь. Обозначим через ^i, x\ решение этой задачи. Для отыскания точ- точки ж2 строят функцию (р(х, х\) и вычисляют ^2, х2 — решение задачи: при условиях а < ж < Ь.
144 Гл. 8. Методы одномерной минимизации Пусть вычислены точки жо,жъ •••,^-ь Для того чтобы найти ж/,, решают задачу: (8.20) (8.21) при условиях f ^ <pi(x,x0), а ^ х ^ о. Пусть или, что то же самое, Фк-Лх) = max{il>k-2(x),<pi(x,xk-i)}. (8.23) Нетрудно убедиться, что при ip'{xk-i) ф 0 задача (8.20), (8.21) экви- эквивалентна задаче отыскания такой точки хк G [а, Ь], что Фк-Лхк) = min ^ife-i(^). (8.24) Из рис. 8.1 видно, что для вычисления каждой точки хк достаточ- достаточно найти на каждом шаге две но- новые вершины ломаной фк-\{х) (на рисунке ломаная АСВ изоб- изображает график функции ^i(x), a ломаная ADEB — график функ- функции ф2{х)). 8.6.2. Свойства функции фк-±(х). Из выпуклости функ- 0 х2 х3 х ции ф[х) следует, что Рис. 8.1 4>(х) ^ ф(у) + < вследствие чего получаем неравенство (fl(x,Xi) ^ (f(x) для всех i = 0,l,...,fe-l и любого х G [а, Ь]. Поэтому и, значит, в силу (8.22) для всех х G [а, Ь] справедливо неравенство
8.6. Метод касательных 145 Отсюда, а также из определения функции ipi(x, у) и соотношения (8.22) следует, что т. е. Фк-iixi) = ф{), г = 0, к - 1. (8.26) 8.6.3. Обоснование сходимости метода. Будем предполагать, что (f'(xk) ф 0 при всех к = 0,1,..., поскольку в противном случае хи является точкой минимума, и процесс на этом шаге оканчивается. Теорема. Для выпуклой и непрерывно дифференцируемой на от- отрезке [а, Ь] функции (р(х) метод касательных сходится: lim ipk(xk+i) = <р(х*) = min ip(x). к^-оо x?[a,b] Если точка минимума х* единственна, то lim Xk = x*. Доказательство. Из (8.23)-(8.25) имеем Фк-iixk) = min ipk-i(x) ^ Фк хе[а,Ь] = min фк(х) ^фк(х*) ^ф*)- хе[а,Ь] Таким образом, последовательность {фк(%к+1)} монотонно возраста- возрастающая и ограниченная сверху, вследствие чего существует ф* = lim фк(хк+1). к^-оо Из предыдущего неравенства следует, что ф* ^ф*). (8.27) Докажем, что ф* = ip(x*). Пусть L = max Заметим, что в силу выпуклости функции (р(х) будет и ломаная фк(х) будет удовлетворять условию Липшица на отрез- отрезке [а, Ь] с константой Липшица L. Так как Xk G [а, Ь] (к = 0,1,...), то существует сходящаяся под- подпоследовательность {х^ }: х = lim i—>-oo
146 Гл. 8. Методы одномерной минимизации Из того, что ki) = min V^ xe[a,b] в силу условия Липшица для функции ipk._i(x) получаем О ^ ^ki-i(xki-i) -^ki-i(xki) Можно считать, что к\ < к<± < ... < ki < ... Тогда fc^-i ^ кг — 1 и, значит (см. (8.26)), Поэтому О Переходя к пределу при i —> оо, приходим к неравенству О ^ ф) - Г <: О, откуда и следует ip(x) = гр*. Но у?(ж*) ^ у(ж), поэтому Таким образом, в силу неравенства (8.27) Первая часть теоремы доказана. Второе утверждение теоремы яв- является очевидным следствием того, что любая предельная точка х последовательности {хк} такова, что (^(х) = ip(x*) = min ip(x). A xE[a,b] 8.6.4. Негладкий случай. Метод касательных применим и для одномерной минимизации выпуклых функций, свободных от требова- требований непрерывной дифференцируемости. Поскольку выпуклая функ- функция ср(х) имеет в каждой внутренней точке у отрезка [а, Ь] лево- левостороннюю производную (р'(у-0) и правостороннюю производную (р'(у + 0), то метод касательных может быть следующим образом при- приспособлен и для этого случая. В качестве линейной функции ipi(x,Xi) будем выбирать следующую функцию: где 7i — любое число из отрезка [(p'(xi — 0),(p'(xi + 0)]. В частнос- частности, 7г можно выбирать из условия \Ъ\= min {И^)|,И^ + 0)|}. Дальнейшая конструкция метода остается прежней. Теорема о сходи- сходимости остается справедливой и в этом случае.
8.6. Метод касательных 147 8.6.5. Схема метода. Алгоритм позволяет найти точку миниму- минимума выпуклой и дифференцируемой функции ip(x) на отрезке [а, Ь] с заранее заданной точностью е. Ш а г 1 (нестандартный). Положить а\ —а^Ь\— Ь, вычислить < <p(bi), ipr(ai), ip'ibi) и перейти к шагу 2 при к = 1. Шаг 2. Если (Ьк — а^)/2 ^ г, то поиск окончить и положить ж* Если (Ь^ - а/.)/2 > г, то вычислить *) _ [ к <р'(Ьк)-<р'(ак) k), ip'(xk). Если (f'(xk) = 0, то ж* = Хк- Поиск окончен. Если (р'(хк) < < 0, то положить CLk+i = Хк, bk+i = Ьь Если (p'(xk) > 0, то положить *) Легко видеть, что хк является точкой пересечения прямых у = (f(ak) + + (р'(ак)(х - ак) и у = (p(bk) + (p'(bk)(x -Ьк).
ГЛАВА 9 РЕЛАКСАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ ЭКСТРЕМАЛЬНЫХ ЗАДАЧ. МЕТОДЫ БЕЗУСЛОВНОЙ МИНИМИЗАЦИИ 9.1. Вопросы сходимости и устойчивости. Релаксационные процессы 9.1.1. Прежде чем приступить к решению конкретной экстре- экстремальной задачи, следует выяснить вопрос, какому из методов мини- минимизации отдать предпочтение в данном случае. Для этого необходи- необходимо уметь сравнивать методы. Один путь — сравнивать на основании опыта и достаточного числа экспериментов — путь, без которого не обходится ни один специалист, использующий современную вычисли- вычислительную технику для решения прикладных задач. Другой путь, никак не исключающий первый, — сравнивать качество методов на опреде- определенных классах задач. И здесь обнаруживается важная роль априор- априорных характеристик методов. Эти характеристики должны учитывать многие факторы, в том числе трудоемкость вычислений, скорость сходимости, устойчивость метода к ошибкам в вычислениях, время (продолжительность) счета и ряд других. Пока еще не поставлена за- задача об исчерпывающей характеристике метода, но ясно, что одной из важных ее компонент явится вопрос о сходимости. 9.1.2. О скорости сходимости. Термин "скорость сходимос- сходимости" всюду в этой книге понимается в классическом смысле, т. е. как сравнение отклонения ттг-го приближения от точного решения с неко- некоторой функцией числа т. Предположим, что для определенного клас- класса задач некоторый метод А обеспечивает более быструю сходимость последовательных приближений, чем метод В. Тогда для того, что- чтобы убедиться, что это имеет место и для конкретной экстремальной задачи, необходимо установить ее принадлежность соответствующе- соответствующему классу. Но и это в реальных ситуациях — дело весьма непростое. Оказывается, что экстремальные задачи имеют своей целью дать воз- возможность проникнуть в сущность того или иного явления и принять в определенном смысле наилучшее решение для управления самим явлением. Однако, как правило, информация об изучаемом явлении
9.1. Вопросы сходимости и устойчивости. 149 неполна и, следовательно, неполна информация об исходных величи- величинах — параметрах соответствующей математической модели. И все- таки, во-первых, определенная информация о задаче содержится в самой ее постановке в силу наших знаний о "физической" стороне изучаемого явления и благодаря имеющимся сведениям об оценках точности входных данных. Во-вторых, в процессе решения экстре- экстремальной задачи наши сведения о ней все более пополняются; таким образом, все более проясняется ее принадлежность определенному классу. Стало быть, накапливаемая информация и априорные харак- характеристики позволяют своевременно оценить достоинства и недостат- недостатки определенного метода в применении к конкретной задаче и, следо- следовательно, внести элементы управления в процедуру поиска решения. Заметим, что оценки скорости сходимости, как правило, удается получить лишь для вполне определенных классов минимизируемых функций. Однако эти оценки несут в себе существенную информа- информацию о методах и являются путеводителем для экспериментальной их проверки в применении к другим классам функций. 9.1.3. Предположения. Ниже рассматриваются различные ме- методы решения экстремальных задач и исследуются вопросы их схо- сходимости и устойчивости для достаточно гладких функций, принад- принадлежащих классу Сг1'1(Х), т. е. функций, градиенты которых удов- удовлетворяют условию Липшица. Оценки скорости сходимости изучае- изучаемых методов устанавливаются при дополнительном предположении, а именно предположении о выпуклости минимизируемой функции и допустимого множества. 9.1.4. Об устойчивости методов минимизации. Если для не- некоторого метода существуют априорные оценки, устанавливающие порядок скорости сходимости, например, сравнивающие величину от- отклонения ттг-го приближения от точного решения с величиной ОA/та) (здесь число а определяет порядок сходимости), то метод назовем устойчивым по отношению к выбору направления спуска и величины шага в том случае, если метод допускает приближенное определение этих параметров, не меняющее порядка сходимости. Если установлен факт сходимости метода, но оценки скорости отсутствуют, устойчи- устойчивым по отношению к выбору направления спуска и величины шага будем называть метод, допускающий приближенное определение этих параметров, не нарушающее сходимости процесса минимизации. Из дальнейшего будет ясно, что методы скорейшего спуска, проекции градиента, условного градиента, возможных направлений являются устойчивыми. 9.1.5. Понятие о релаксационном процессе. Рассматривает- Рассматривается задача минимизации функции <р(х) на некотором множестве X. Процесс построения последовательности точек {х/,} будем называть
150 Гл. 9. Релаксационные методы решения релаксационным, если & = 0,1,... Всюду дальше будем предполагать, что множество решений исход- исходной задачи непусто. При исследовании сходимости релаксационных процессов будем также предполагать, что последовательность {х/,} бесконечна и, следовательно, все ее точки лежат вне множества ре- решений. 9.2. Вспомогательный аппарат 9.2.1. Рассмотрим несколько вспомогательных утверждений в качестве необходимого аппарата для исследований сходимости релак- релаксационных процессов минимизации. Лемма 9.2.3 в настоящем кур- курсе является основной при всех исследованиях сходимости процессов минимизации функций, принадлежащих классу Cljl(X). Материал, излагаемый в пп. 9.2.4-9.2.10, потребуется для установления факта сходимости релаксационных последовательностей к множеству то- точек, в которых выполняются необходимые условия минимума, а на последующий материал (леммы 9.2.14 и 9.2.15) опираются выводы оценок скорости сходимости. Заметим, что содержание настоящего параграфа в равной степени относится к изучению как методов безусловной минимизации, так и методов минимизации функций с ограничениями. 9.2.2. Определение класса функций Сг'г(Х). Функция <р(х), определенная и дифференцируемая на некотором множестве X, при- принадлежит классу Cljl(X), если существует такая константа L > 0, что для любых х, у Е X таких, что [х,у] С X, выполняется неравенство 9.2.3. Лемма. Если <р(х) Е С1'1^), то для любых х, у Е X та- таких, что [х,у] С X, справедливо неравенство р(х) - ф) ? <^(х), х - у) - | ||х - у||2. Доказательство. Используя условие <р(х) G Cljl(X) и нера- неравенство Коши-Буняковского, получим 1 (р(у) = J(<p'{y + т(х - у)), х - у) dr = 0 0 = (<р'(х),х - у) + /(^'(У + ^~(х - У)) - ^'(х)>х - y)dr о
9.2 Вспомогательный аппарат 151 1 у) - ||ИУ + т(х - у)) - <Лх)||||х - у|| dr ^ 0 9.2.4. Рассмотрим в n-мерном евклидовом пространстве*) неко- некоторые множества X и Y такие, что Ус1и1\7/0. Пусть функция /(х), определенная на множестве X, такова, что /(у) = 0 для всех у G Y. (9.1) Рассмотрим любую последовательность {х/,} С X такую, что /(хЛ) ^ О, /с -+ оо. (9.2) Для некоторого числа е > 0 определим множество ?/E = {xeX: р(х,У)^е}, где /?(х, Y) — расстояние от точки х до множества Y: /о(х,У) = inf р(х,у), /о(х,у) = ||х-у||. 9.2.5. Теорема. Е'сли выполняются условия (9.1), (9.2) и, кроме того, для всякого г > 0 найдется такое S = ?(е) > 0, /(х^) ^ й для всех х/, G X \ [/е, (9.3) то /o(xifejy)-^0J Jb ^oo. (9.4) Доказательство. Предположим, что найдутся такое е > 0 и такая подпоследовательность {х/,.} С х&, все элементы которой лежат вне множества U?: {х^.} С X \ U?. Тогда согласно условию (9.3) будет выполняться неравенство /{х/,.} ^ S {г = 0,1,...), противоречащее условию (9.2). Л Обсуждение. Обратимся к вопросу о применении теоремы 9.2.5 для исследования сходимости релаксационных процессов минимиза- минимизации функции <р(х) на некотором множестве X. *)Все сказанное ниже справедливо для произвольного метрического прост- пространства.
152 Гл. 9. Релаксационные методы решения Рассмотрим множество Хо = {х G X: (р(х) ^ ^(х0)} и множест- множество X* С Xq точек, в которых выполняются необходимые условия ло- локального минимума функции <р(х). Предположим, что известна функ- функция /(х) такая, что /(х) > 0 для всех xGlo\I*, /(х*) > 0 для всех х*еХ*, и пусть для всех точек х/, Е Xq \ X* выполняется неравенство Тогда из монотонности и ограниченности последовательности следует, что (p(x.k) -^(x^+i) ->• 0 при к ->• оо; значит, /(х/,) ->• О, fc ->• оо. Если для /(х) выполняются условия (9.3): для всякого г > О найдется такое S = й(г) > 0, что для всех х G Xq \ U? будет /(х) ^ й (здесь C/g- = {x G Хо \ X* : р(х,Х*) ^ г}), то на основании теоре- теоремы 9.2.5 приходим к соотношению lim /?(x^,X*) = 0. к—too В методах безусловной минимизации гладких функций обычно вы- выполняется неравенство (р(х^) — (p(x^+i) ^ C||y/(xfc)||2. Выбирая /(х) = = ||(^'(х)||2 и применяя теорему 9.2.5, получаем сходимость последо- последовательных приближений к множеству X*. 9.2.6. Теорема. Если: 1) выпуклая функция <р(х) принадлежит классу Cljl(En); 3) <?ля любого г > 0 найдется такое S = J(e) > 0, что ||у/(х)|| ^ й всех х таких, что у^(х,Х*) = ||х-р*|| ^г; то для любой последовательности с Хо = {х: у?(х) ^ <р(х0)} ||х* - р^|К V < оо, Л = 0,1,... Доказательство. Обозначим ip* = min(p(x), С < ^(xq) — ^*. Тогда cp{x.k) — ^* ^ С < оо (fc = 0,1,...). Для произвольного г > 0 и для всех номеров & таких, что ^(x/,,X*) = ||х& — р^|| ^ г, рассмотрим Так как р^ является проекцией точки Х& на выпуклое и замкнутое множество X* точек минимума функции <р(х), a yfe G [p^,xfe], то
9.2 Вспомогательный аппарат 153 р(ук,Х*) = ||уд. -pj:|| =?, и,в силу предположения 3) ||^'(УлI1 ^ <*• Пользуясь леммой 9.2.3, получаем Предположим, что теорема неверна, т. е. найдется такая последо- последовательность {х/,}, для которой будет В) Их* - pjfe|| ^оо, к ->• оо. Из выпуклости функции <р(х) и равенства (р* = ^(р^) следует с'е Учитывая предположение В), приходим к соотношению lim (p(yk) = = ср*, противоречащему неравенству А). Л Доказанная теорема играет важную роль при обосновании оце- оценок скорости сходимости методов минимизации выпуклых функций, поскольку эти оценки существенно опираются на условие ограничен- ограниченности ||хЛ -р?||. 9.2.7. Исследуем теперь свойства множеств X, Y и функции /(х), которые гарантируют выполнение условия (9.3). Теорема. Если множество X ограничено и замкнуто, а непре- непрерывная на множестве X функция /(х) такова, что /(у) =0 для всех у е Y, /(х) > 0 для всех хе1\У/0, то выполняется условие (9.3). Доказательство. Предположим, что найдутся такое г > 0 и та- такая последовательность {х/,} С X \ U?, что /(х/,) ->• 0, & ->• оо. В силу ограниченности множества X из последовательности {х/,} можно вы- выбрать сходящуюся подпоследовательность {х/,.}; при этом lim X&. = = xGl\7. Но /(х) = 0, следовательно, х G Y. Противоречие. Л
154 Гл. 9. Релаксационные методы решения Замечание. В случае неограниченности множества X усло- условие (9.3) может нарушаться. На рис. 9.1 изображен график одномер- О 1 х Рис. 9.1 ной функции, определенной на полуоси х ^ 0 (множество X) и обра- обращающейся в нуль на отрезке [0,1] (множество У), для которой условие (9.3) нарушается. 9.2.8. Наконец, укажем еще одно свойство, которое в дальнейшем будет использоваться как для исследования существования точек гло- глобального минимума, так и для проверки условия (9.3). Пусть z — произвольная точка некоторого множества X. Если функция /(х), определенная на неограниченном множестве X, обладает свойством /(х&) —> +оо, к —> оо, для любой последователь- последовательности {х/,} С X такой, что ||х||^ —у оо, к —> оо, то множество X(z) = = {xGl: /(x) ^ /(z)} ограничено. 9.2.9. В заключение выясним условия, при которых из сходимости последовательности {х/,} к некоторому множеству следует ее сходи- сходимость к некоторой точке этого множества. Теорема. Если множество Y (Y С X) предельных точек по- последовательности {х/,} С X конечно (Y = {yi, ...,ym}), lim ||x^ — k—>-oo -Xfc+iH =0 u lim p(-xk,Y) = 0; то эта последовательность схо- k^-oo дится. Доказательство. Обозначим Us (у) = {xGl: ^(х,у) ^S}. Если т = 1, то утверждение тривиально. Пусть т > 1. Обозначим 5 = гшп||у^ — уЛ\ > 0 (i,j = l,...,m). Из условий теоремы следует, что найдется такое ко ^ 0, что Х& G га ? U ид/4(Уг) и Их* - Xjfe+iH ^ й/4 для всех fe ^ fe0. Если xfcl G US/^(yi) г=1 при некотором /^i ^ ко, то для любого г ^ 2 будет ||у* - Xfc.+i|| = ||(Уг - yi) + (yi - Xfc.) + (ХЛ. - Xfe.+i)|| ^ ^ ||Уг - yi|| - (||yi - хл,|| + ||хл, - xfci+1||) ^ й - 2E/4) = 5/2, т. е. Х/..+1 не принадлежит ни одной из окрестностей точек у2, ...,уш? а значит, x^.+i G Us/±(y{). По индукции следует, что xfe G Us/±(yi) при всех к^к\. Так как ^(х^,У) ->• 0, то lim Х& = уь Таким образом, вся последовательность {х/,} сходится к одной из точек конечного множества Y. А
9.2 Вспомогательный аппарат 155 9.2.10. Теорема. Если функция /(х) выпукла и дифференцируема на выпуклом множестве X, а множество Y = Argmin{/(x): x Е X} ограничено, то Уг>0 Э5 = 5(е)>0: VxeX\U?(Y) ||V/(x)|| ^ S, ?() { р(,)^} Доказательство. Обозначим через G границу множества U?(Y). Множество G\ — G П X ограничено и замкнуто. Очевидно, что для любого фиксированного у Е Y будет ? = min(/(z) — /(у)) > 0. Пусть х — любая точка множества X \ U?(Y), а у G Y. Очевидно, что на отрезке [у,х] найдется точка z E G, и при этом ||z — у|| = г\ < оо, поскольку множество X П U?(Y) ограничено. Для выпуклой функции одной переменной F(X) = /(z + A(z — у)) справедливо соотношение F'@) ^ F'(X) для всех Л ^ 0, и, следова- следовательно, (V/(z), z — у) ^ (V/(x), z — у). Так как С ^ /(z) - /(у) ^ (V/(z), z - у) ^ (V/(x), z - у) < для любого xGl\ U?(Y), то при й = ?/rj получаем утверждение теоремы. Л Обсужден и е. Предположим, что для некоторого релаксацион- релаксационного процесса минимизации (см. теорему 9.2.6) доказано, что lim p{x.k,X*) = 0. Если множество X* точек локальных минимумов k—too функции <р(х) конечно и выполняется условие lim ||х& — x^+i|| = 0, к—>-оо то из теоремы 9.2.9 следует, что вся последовательность сходится к некоторой точке х* локального минимума. Естественно, что эта предельная точка минимизирующей последовательности {х/,} зави- зависит от выбора начальной точки xq. Заметим, что соотношение ||х& — — Xfc+i|| ->• 0, к ->• оо, выполняется для многих релаксационных про- процессов минимизации. Ниже рассматриваются условия, гарантирую- гарантирующие выполнение этого соотношения. 9.2.11. Линейно непостоянные функции. Функцию (р(х) бу- будем называть линейно непостоянной на множестве X, если не су- существует двух таких различных точек х, у G X, что [х,у] С X и ip(z) =<p(x) VzG (x,y]. В качестве примера линейно непостоянных функций можно при- привести строго выпуклые функции, а также функции, удовлетворяющие условию Vz <E (х,у], — так называемые строго квазивыпуклые функции. 9.2.12. Сильно понижающие последовательности. Для функ- функции <р(х), определенной на множестве X, последовательность {х/,} С
156 Гл. 9. Релаксационные методы решения С X будем называть сильно понижающей, если С X и <р(хЛ) ^ <p(z) ^ <p(xfc+i) Vz G [ Большинство методов минимизации, которым посвящены после- последующие параграфы, строят последовательности, обладающие указан- указанным свойством. 9.2.13. Теорема. Если функция (р(х) непрерывна и линейно не- непостоянна на замкнутом и ограниченном множестве X, то любая сильно понижающая последовательность {х/,} удовлетворяет усло- условию lim ||xfc -Xfc+i|| = 0. k—юо Доказательство. Предположим, что найдется такая подпосле- подпоследовательность {х/,.}, что ||xfc.+i - хд;. || ^ г > 0 Vi ^ 0. Поскольку {х/,.} ограничена, то, не меняя обозначений, будем считать, что lim х/,. = х и lim x^.+i = у. г—>-оо г г—>-оо Тогда ||х — у|| ^ г > 0, и из замкнутости множества X и условия [xfc,Xfc+i] С X следует [х,у] С X. Из монотонности и ограниченности последовательности {(^(х^)} получаем lim (<p(xfc) -у?(хЛ+1)) = 0, следовательно, <р(х) = у?(у), откуда в силу условия (p(xfe) ^ ip(z) ^ ^ (^(xjfe+i) приходим к соотношению у?(х) = y?(z) = <р(у) Vz G [х,у], противоречащему предположению о том, что функция (р(х) линейно непостоянная. Л Доказанная теорема, если учесть сказанное в предыдущем пункте, утверждает, что многие методы минимизации порождают последова- последовательности стягивающихся отрезков [x^,x^+i]. 9.2.14. Лемма. Если числовая последовательность {ци} такова, что l iik > 0, rk ^ 0, к = 0,1,..., то Ш-1 п-1 к=о
9.2 Вспомогательный аппарат 157 Доказательство. Из условий леммы следует, что Mfc+1 Mfc+1 В силу этого _i ]_ _ Mfe ~ Mfe+i > Суммируя это неравенство по &, получим ?тг —1 ?тг —1 1_ _ _!_] = _i_ _ _L к = 0 Av —U откуда и следует искомая оценка. Л 9.2.15. Лемма. Если числовая последовательность {fik} такова, что /ik — /ijfe+i ^ т^/i^, /ik > и, rk ^ U, /с = U, 1,..., то га-1 т = 1,2,... Г m~1 1 < - ^ П к Доказательство с очевидностью следует из условия /ife > 0, по- поскольку 0 < 1 — rk ^ 1 и, следовательно, га —1 A - Tm_i)/Xm-1 ^ МО Д A - Tjfe) = Г m-1 ч , га-1 ч = /i0 ехр I ^ 1пA - r^) f ^ Mo exp I - ^ тк L Л ^ fe=o ^ ^ fe=o ^ 9.2.16. Теорема. Пусть функция /(х) выпукла и дифференци- дифференцируема на выпуклом множестве X, а множество Y = Argmin{/(x): х е X} ограничено. Если последовательность {х/,} С X такова, что ||V/(x*)|| -+ 0 (к -> оо), то Нт р(хЛ,У) = 0. к—>-оо Доказательство. Вначале докажем, что последовательность {х/,} ограничена. Предположим, что ||х^|| —у оо. Тогда найдется та- такое г > 0, что множество X \ U?(Y) непусто, и такой номер ко, что X|;Gl\ U?(Y) для всех к ^ ко. По теореме 9.2.10 в этом случае су- существует такое S = S(e) > 0, что ||V/(x^)|| ^ ? при всех к ^ /^о- Пришли к противоречию. Обозначим через рк проекцию точки Х& на множество Y. В силу ограниченности множества Y и последовательности {х^} существует такое число г\ > 0, что ||xfe - р^|| ^ /у ^ оо. Так как /(х) выпукла, то О ^ /(хЛ) - /(у) =
158 Гл. 9. Релаксационные методы решения Из соотношения /(х&) —> /(у) (к —> оо) и ограниченности последова- последовательности {х/,} следует lim p{x.k,Y) = 0. Л к—юо 9.3. Теоремы об оценках 9.3.1. В этом параграфе рассматриваются оценки скорости схо- сходимости релаксационных процессов минимизации общего вида не- независимо от конкретных реализаций этих процессов. Существенно, что эти оценки справедливы лишь для задач выпуклого программи- программирования. Итак, всюду в этом параграфе будем предполагать, что миними- минимизируемая функция <р(х) и допустимое множество X выпуклы. Обозначим х* = argmin{(p(x): x G X}, X* = {х* G X}, — проекция точки х/, на множество X*. Из выпуклости функции <р(х) следует неравенство ,-р*), (9.5) справедливое для всех точек х&, в силу предположения В основе большинства дальнейших исследований скорости сходи- сходимости релаксационных методов минимизации лежит следующая тео- теорема об оценке. 9.3.2. Теорема. Если: 1) функция <р(х) выпукла и дифференцируема на выпуклом и замк- замкнутом множестве X; 2) множество X* непусто; 3) последовательность {х/,} релаксационная то имеет место оценка 4 Доказательство. Так как (см. (9.5))
9.3 Теоремы об оценках 159 то, применяя к этому неравенству лемму 9.2.14, приходим к оцен- оценке (9.6). Л Бросается в глаза неконструктивный характер оценки (9.6), по- поскольку в правой ее части присутствуют неизвестные величины р^. Однако установление оценок скорости сходимости конкретных мето- методов решения задач выпуклого программирования существенно опи- опирается на доказанную теорему. Очевидно, что если при т —у оо ряд, стоящий в правой части не- неравенства (9.6), расходится, то имеет место слабая сходимость (т. е. <^(хш) —У ср* — сходимость по функционалу) релаксационного процес- процесса. Сильная же выпуклость функции <р(х) гарантирует в этом случае (см. п. 2.5.5) сильную сходимость процесса (т. е. сходимость последо- последовательности {х/,} к решению х*). Таким образом, для исследования сходимости релаксационных процессов при помощи формулы (9.6) следует уметь оценивать снизу величину Заметим, что ((//(хДх/, - р?J -у 0 при Это обстоятельство для определенных классов релаксационных ме- методов позволяет находить такую величину С > 0, не зависящую от числа итераций к, что ' и, следовательно, получать оценки вида <p(xm) — ip* х 0A/т). 9.3.3. Теорема. Если: 1) X = Еп; 2) выпуклая функция (р(х) дифференцируема; 3) множество Xq = {х : <р(х) ^ <р(хо)} ограничено: diamXo = = 7у(х0) = г] < оо; 4) последовательность {х/,} релаксационна; то справедлива оценка _ _ И^(х^I12 J ' (9.7) ш = 1,2,..., 2^е /jjQ = (^(хо) — ^*. Доказательство есть очевидное следствие оценки (9.6), поскольку Замечание. Если существует такой номер то, что <р(хШо) >
160 Гл. 9. Релаксационные методы решения , то из (9.7) следует неравенство га-1 т = т0 + 1,т0 + 2,... ^ ' ' Для выпуклых функций из класса Cljl(En) требование ограничен- ограниченности множества Хо можно ослабить, заменив его условиями теоре- теоремы 9.2.6. 9.3.4. Теорема. Если: L) Л — ?/п, 2) выпуклая функция принадлежит классу Сг1'1(Еп); 3) X* ф 0; 4) для любого г > 0 найдется такое S = J(e) > 0, что ||у/(х)|| ^ ? для всех х таких, что р(-х,Х*) = ||х — р*|| ^ г; 5) последовательность {х/J релаксационная то справедлива оценка (9.7). Доказательство. Условия 1)-4) суть условия теоремы 9.2.6, из которой следует неравенство \\кк - р^|| ^ г\ < оо, на которое опирается оценка (9.7). Л 9.3.5. Теорема. Если X = Еп, функция (р(х) сильно выпукла и дифференцируема, а последовательность {х/J релаксационна, то справедливы неравенства s т — 1 (р(хт) — if* ^ /io ехр < — /? У^ т -1 о //6 — ±, Z/,..., fe=0 "f ч 'ъ/п ' (9.10) m = l,2,..., v ; г(?е /? — параметр сильной выпуклости. Доказательство с очевидностью следует из свойств сильной вы- выпуклости (см. п. 2.5.5):
9.4 Методы спуска 161 и из леммы 9.2.15: 9.3.6. Оценки (9.8)-(9.10) позволяют в процессе вычислений накапливать информацию о скорости приближения <р(хш) к у?*, а в случае сильной выпуклости — о скорости приближения хт к х*. Заметим, что до тех пор, пока порядок величины не ниже, чем 0A/к), релаксационный процесс минимизации остается сходящимся. В реальных ситуациях используют следующий прием. Выбирают величину г > 0 (например, выбранную на данном этапе точностью вычислений) и продолжают процесс до тех пор, пока не нарушится неравенство Но как только начинает устанавливаться ситуация и дальнейшее применение выбранного алгоритма минимизации не су- сулит ее изменения, итерации останавливают. Продолжение процесса минимизации связано либо с изменением параметров алгоритма (на- (например, с повышением точности вычислений), либо с переходом к другому, более эффективному в данном случае методу. 9.4. Методы спуска 9.4.1. Общая схема. Все методы спуска решения задачи безусловной минимизации различаются либо выбором направления спуска, либо способом движения вдоль направлений спуска. Это поз- позволяет выписать общую схему методов спуска и исследовать для нее вопросы сходимости и устойчивости. Итак, решается задача минимизации функции (р(х) на всем пространстве Еп. Методы спуска состоят в следующей процедуре построения последовательности {х/,}. В качестве начального приб- приближения выбирается, вообще говоря, любая точка xq E Еп. Последо- Последовательные приближения xi,X2,... строятся по следующей схеме: 1) в точке х/, выбирают направление спуска — s/,;
162 Гл. 9. Релаксационные методы решения 2) находят (к + 1)-е приближение по формуле = х/. - Cksk. (9.11) 9.4.2. Выбор направления. Как уже говорилось, методы разли- различаются, в первую очередь, выбором направления спуска, но всегда в релаксационных методах направление — s/, выбирают таким обра- образом, чтобы обеспечить неравенство ^(x^+i) < (p(x^) по крайней мере для малых значений величины Д.. Поскольку в реальных задачах, как правило, имеется информация лишь о поведении функции <р(х) в локальной окрестности точки х&, то гарантирует убывание функции при перемещении из точки х& вдоль направления — s/, соотношение В большинстве методов спуска выбор направления связан с вычис- вычислением градиента минимизируемой функции в точке Х& (исключение составляют, например, методы покоординатного спуска и многие ме- методы случайного спуска). Процедура вычисления (p'fak) весьма тру- трудоемка. На практике градиент обычно приходится определять при- приближенно, например, пользуясь разностными схемами, что требует вычислений значения функции <р(х) по крайней мере в п + 1 точ- точках на каждой итерации. Заметим, что вычисления значений функ- функции <р(х) в большинстве случаев сопряжено со значительными труд- трудностями, особенно если эти значения определяются в результате некоторого эксперимента. На вопрос, какому из способов выбора направления спуска следует отдать предпочтение при решении конкретной задачи, однозначного ответа нет, если только она не является хорошо известной тестовой задачей. Дело в том, что "идеальным" направлением в точке xq явля- является направление в точку х*: s = xq — х*. И в этом смысле все дру- другие направления хуже. Предположим, что мы обладаем определенной информацией о виде минимизируемой функции; скажем, нам извест- известно, что эта функция выпуклая и достаточно гладкая. Но и в этом случае ответ на поставленный вопрос весьма затруднителен. Дело в том, что у многих методов спуска априорные оценки скорости сходи- сходимости имеют вид (р(хт) - (р* х ОA/т), вследствие чего эти оценки не позволяют отдать предпочтение тому или иному методу. Именно на этом этапе приобретает важное значение накопленный опыт. Так, на начальной стадии минимизации отдают предпочтение методам, связанным с незначительными затратами усилий на вычисления на- направлений спуска, например методам покоординатного спуска. Когда процесс минимизации (р(х) существенно замедляется, переходят к ме- методам, связанным с вычислениями градиента, — к так называемым методам градиентного спуска. В дальнейшем, если последовательные приближения привели нас в окрестность точки минимума, но точ-
9.4 Методы спуска 163 ность нас еще не устраивает, вступают в силу дополнительные сооб- соображения. Так, если поведение выпуклой функции в окрестности точ- точки минимума носит характер поведения квадратичной функции, то предпочитают выбирать один из методов сопряженных направлений, поскольку известно, что эти методы минимизируют квадратичные функции за конечное число итераций. Сказанное выше следует рассматривать лишь как пример, как не- нечто вроде передачи опыта, но не как "руководящее указание" для спо- способа выбора направлений. Пока еще опыт, интуиция, искусство при численном решении реальных задач играют весьма существенную роль. Отсутствие регулярного способа выбора направлений безуслов- безусловно затрудняет процедуру решения экстремальных задач. Утешением может служить лишь то, что это "белое пятно" оставляет широкое поле для дальнейших исследований. 9.4.3. Выбор длины шага. Число f3k с точностью до множителя ||sfc|| определяет расстояние от точки х& до точки x^+i. Мы будем здесь придерживаться принятой терминологии и называть это число длиной шага или просто шагом. Основная задача при выборе величины /3k в релаксационных процессах минимизации — это обеспечить выполнение неравенства Естественно, что трудоемкость вычислений величины /3k следует согласовывать с трудоемкостью вычислений направления — s/,. Если на выбор направления затрачивается малый труд, то, как правило, это же должно относится и к задаче выбора /3/.. Одним из элемен- элементарных способов, реализованных в значительном числе стандартных программ методов минимизации, является способ удвоения. 9.4.4. Способ удвоения для выбора длины шага Eк. Выби- Выбирают /3k = /3k-i- Если при этом (p(xk+i) < <?(xfc)? то либо переходят к следующей, (к + 2)-й итерации, либо выбирают /3k = 2/3k-i- Если значение (р(х) меньше предыдущего значения, то процесс удвоения можно продолжать до тех пор, пока убывание не прекратится. Если fc), то выбирают /Зк = ^Рк-i- Если (р(хк - - fa-i^k) < ), то полагают x^+i = х& (Зк-1&к и переходят к следующей, (к + 2)-й итерации. Если же cplxk Pk-isk) ^ ^(х/О; то выбирают Pk = #fe_i/4 и т. д. 9.4.5. Выбор длины шага /3& методами одномерной мини- минимизации. Если на вычисление s/, затрачиваются значительные уси- усилия, то /Зк обычно вычисляют одним из методов одномерной мини- минимизации функции ф(/3) = (p(x.k — /3&к) (см- гл- 8)- При этом точность вычисления точки минимума функции ф(/3) следует согласовывать с точностью вычислений значений функции <р(х). Кроме того, точ-
164 Гл. 9. Релаксационные методы решения ность вычисления одномерного минимума определяется числом вы- вычислений значений функции <р(х) вдоль направления — s/,, т. е. чис- числом, выбор которого связан со способом выбора направления спуска. Так, представляется малооправданным, чтобы на определение вели- величины sk затрачивалось п + 1 вычислений значений функции <р(х), а точка одномерного минимума определялась в результате вычислений значений <р(х), число которых на порядок отличалось бы от числа п + 1. Хотя это утверждение не бесспорно, нетрудно построить при- пример с "идеальным" способом выбора шага, никак не согласующимся с точностью определения точки одномерного минимума. Во всяком случае, в результате процедуры одномерной минимизации величи- величина /3k должна быть определена так, чтобы заведомо выполнялось не- неравенство <p(xfc+i) < <p(xfc). Выпишем основное соотношение, гаран- гарантирующее убывание функции <р(х), которому должна удовлетворять величина Д., вычисленная в результате процедуры одномерной ми- минимизации: <р(хЛ - /3*8*) ^ A - \kM*k) + Xkuk. (9.12) Здесь ик = inf а число Xk ^ Xy ^X/g+1^ ? @,1] характеризует точность вычис- ления точки одномерного минимума функции ip(/3) = (p(~Xk ~ /3sk). Из (9.12) следует, что Отсюда и из оценки (9.7) получаем т-1 , ч , -1-1 "J ^oIl + ^^A,^--' Эти оценки показывают, что до тех пор, пока отношение остается сравнительно большим, число вычислений значений <р(х) можно сократить, понизив точность одномерной минимизации, т. е. уменьшив допустимую величину А/.. Часто в процессе счета, несмотря на то, что априорные оценки сви- свидетельствуют о сходимости метода со скоростью, скажем, ОA/т),
9.4 Методы спуска 165 обнаруживается, что с увеличением числа итераций либо уменьша- уменьшается скорость сходимости, либо процесс вообще перестает сходиться. Одной из причин этого может оказаться потеря точности при вычис- вычислении одномерного минимума. Из приведенных выше оценок видно, что неблагоприятная ситуация, когда ) < может иногда быть исправлена за счет повышения точности одно- одномерной минимизации, т. е. за счет такого допустимого увеличения параметра А/., при котором будет выполняться неравенство Необходимость повышения точности одномерной минимизации обыч- обычно возникает в окрестности точки минимума и при попадании точки х/, в так называемый овраг, т. е. когда по некоторым направлениям производная близка к нулю. 9.4.6. Численно реализуемые условия выбора величины /3& без процедуры одномерной минимизации. В качестве /Зк > О будем выбирать (Зк = (Зк — наибольшее из чисел /3, удовлетворяющих неравенству ?>(х*)-?>(х* -f3sk)>qft\sk\\^^, q>0. (9.13) В то время как условие (9.12) не является конструктивным для опре- определения длины шага, неравенство (9.13) позволяет воспользоваться одним из элементарных методов для вычисления величины /3k, на- например, методом удвоения (см. п. 9.4.4). Заметим, что поскольку выбор sk гарантирует локальное убывание функции <р(х) при пере- перемещении из точки х/, вдоль направления — skj то Покажем, что существует положительное число \/Зк\, удовлетворя- удовлетворяющее неравенству (9.13). Действительно, если выбрать то, пользуясь леммой 9.2.3, получаем - Г г) -Cksk) ^ Ck(ip'(xk),sk) - -f3k\\sk\\2 = f ^||sfc||2) = q0k{<p'(xk),sk) = q0k\\8k\ (9.14)
166 Гл. 9. Релаксационные методы решения при 0 < q < 1 будет /Зк > О. Поскольку задача о нахождении наи- наибольшего числа, удовлетворяющего неравенству (9.13), решается при- приближенно, то можно выписать соотношение, которому удовлетворяет найденное значение /Зк в качестве наибольшей величины при некото- некотором значении параметра qk G @,1), 4>{*k) - Ч>Ы - Pk*k) > gfc/W(x*),s*>. (9.15) Замечание. В добавлении (см. Д.1) доказывается, что число удвоений для выбора на каждой итерации величины /Зк из усло- условия (9.15) конечно. 9.4.7. Обозначим через ак величину косинуса угла между направ- направлением антиградиента — ср'^х-к) (т. е. направлением наискорейшего убывания функции (р(х) в точке х/,) и направлением спуска -sk из этой же точки: _ {(р'(хк),зк) ( , Очевидно, что а^ > 0, так как это является непременным услови- условием выбора направления. Теоремы о скорости сходимости методов безусловной минимизации будем доказывать в предположениях, что последовательность {х/,} строится по формуле (9.11), а^ > 0, a /3k удовлетворяет либо условию (9.12), либо условию (9.15). 9.4.8. Лемма. Если функция <р(х) принадлежит классу Cljl(En), а последовательность {х/,} строится по формуле (9.11) и удовлетво- удовлетворяет условию (9.12), то справедливо неравенство Доказательство. Из (9.12) для любых значений параметра C ^ ^ 0 справедливо <р(хЛ) - <p(xfc+i) ^ Ajfe(y?(xjfe) - и) ^ Ajfe(y?(xjfe) - у?(хЛ - /3sk)). Отсюда, пользуясь леммой 9.2.3 и определением величины а^, прихо- приходим к неравенству справедливому для любых значений C. Правая часть этого неравен- неравенства является квадратичной функцией параметра C1 достигающей своего максимума при _ ак
9.4 Методы спуска 167 Таким образом, подставляя это значение, мы получаем ^12 Л 9.4.9. Лемма. Если ограниченная снизу функция <р(х) принадле- принадлежит классу С1'1^™), а последовательность {х/,} строится по форму- формуле (9.11) и удовлетворяет условию (9.15), то справедливо неравенство Ik =2qk(l-qk). Доказательство. Поскольку /3k — наибольшее из чисел, удов- удовлетворяющих неравенству (9.15), а /3-9A n ^(^(xfe),sfe) ft -2A-ft) L||Bfc||2 , как мы видели (см. (9.14)), удовлетворяет этому неравенству, то Pk ^ ft? и из (9.15), учитывая определение ак, имеем - /3ksk) A 9.4.10. Ниже будут доказаны теоремы о сходимости релаксацион- релаксационных процессов минимизации. Прежде чем приступить к формальным доказательствам, следует высказать ряд соображений. Для гладких невыпуклых функций будет доказано, что релаксационные последо- последовательности сходятся к множеству {х* G X: ^(х*) = 0}. Поскольку последовательность {(р(хк)} монотонно убывающая, то релаксацион- релаксационный процесс никогда не приведет нас к точке локального максимума (естественно предполагать, что ^'(х0) ф 0). Далее, представляется ма- маловероятным, чтобы процесс привел и к точкам седлового типа (это подтверждается накопленным опытом применения релаксационных методов минимизации). Таким образом, в реальных ситуациях имеет место сходимость к множеству локальных минимумов, а в большин- большинстве случаев — к некоторой точке локального минимума, тем более, что при решении конкретных прикладных задач обычно из тех или иных "физических" соображений бывает известна некоторая окрест- окрестность искомой точки х*, где и выбирают исходную точку xq. И хотя при наших формальных рассмотрениях из множества стационарных точек мы не можем исключить эти точки, сказанное выше следует учитывать, анализируя теоремы о сходимости. 9.4.11. Множество стационарных точек. Для задач безуслов- безусловной минимизации гладких функций множество X* = {х*: <р'(х*) = 0}
168 Гл. 9. Релаксационные методы решения будем называть множеством стационарных точек. Определим также множества Xq = {х: <р'(х) ^ <р(хо)} и Xq = X* П Xq. 9.4.12. Условие, гарантирующее сходимость. Для некоторо- некоторого числа г > 0 определим множество где р(х,Х0*) = inf ||х-х*||2. х*?Х* Условие, гарантирующее сходимость релаксационной последователь- последовательности, состоит в следующем: для всякого г > 0 найдется такое S = = 6(г) > 0, что для всех х^ G Io* \ U? будет \\(p'(-xk)\\ ^ S. 9.4.13. Для функций, ограниченных снизу на множестве Xq (a именно для таких функций и будет исследоваться сходимость), легко построить пример, когда отсутствие условия 9.4.12 исключит заве- заведомую сходимость релаксационной последовательности к множест- множеству X* (рис. 9.2). Условие 9.4.12 выполняется для достаточно широко- х* х0 Рис. 9.2 го класса функций. Так, если (р(х) G Cljl(En), а множество Xq огра- ограничено, то справедливость условия 9.4.12 вытекает из теоремы 9.2.7. 9.4.14. Предположения. Относительно функции <р(х) будем предполагать, что: lM^eC1'1^); 2) *о* Ф 0; 3) <^(х) ограничена снизу на множестве Xq. Относительно последовательности {х/,} будем предполагать, что: 4) х0 — любая точка; 5) xfe+i = хЛ - Cksk, к = 0,1,...; 6) ак ^ а > 0, /с = 0,1,...; 7) выполняется либо условие при 0 < А ^ Afe ^ 1, к — 0,1,..., либо условие <р(хЛ) -у?(хд; - /3ksk) ^ qkf3k(( при 0 < г ^ ^ ^ 1 - г, fe = 0,1,..., е < 1/2.
9.4 Методы спуска 169 9.4.15. Теорема. Если выполняются предположения 9.4.14 и условие 9.4.12, то lim р(хл,Хо*) = 0. (9.17) fc-юо Доказательство. Из предположения 7) и лемм 9.4.8 и 9.4.9 следует, что 0 < 7 = 2г2 ^ 7& ^ 1/2 и при С — -г о? min < - Л, 7 \• Последовательность {(^(х^)} монотонна и ограничена снизу, поэтому >> 0 при fe ->> оо, ^0 при * ^оо. В справедливости соотношения (9.17) убеждаемся на основании теоремы 9.2.5 при X = Xq и Y = Xq. Л 9.4.16. Обсуждение. Из доказанной теоремы видна важная роль выбора начальной точки xq. Если эта точка выбрана удачно (напри- (например, так, что множество Xq содержит единственную стационарную точку — точку глобального минимума функции <^(х)), то из соотно- соотношения (9.17) следует, что х& —у х* при к —У оо. Для выпуклых функций очевидна сходимость последовательности {х/,} к множеству точек глобального минимума, а для строго выпуклых функций — сходи- сходимость к единственной точке х*. Причем в обоих этих случаях факт сходимости не зависит от выбора точки х0, хотя неудачный ее выбор может существенно замедлить весь процесс минимизации. 9.4.17. О нарушениях релаксационности. На практике в про- процессе минимизации часто возникает ситуация нарушения релакса- релаксационности, т. е. монотонного убывания последовательности {^(х/,)}. Иногда такие нарушения делают сознательно, с целью избежать за- замедления процесса минимизации. Обычно в таких случаях прибегают к тем или иным эвристическим приемам, которые позволяют через конечное число этапов восстановить релаксационность. Очевидно, что теорема о сходимости остается справедливой, однако уже не для всей последовательности, а для той ее части, которая остается после вы- вычеркивания всех точек нарушения релаксационности. 9.4.18. Перейдем к выводу оценок скорости сходимости мето- методов спуска для решения задач безусловной минимизации выпуклых и сильно выпуклых функций. Эти оценки для выпуклых функций уда- удается построить при довольно жестком условии ограниченности мно- множества Xq. Заметим, что в этом случае выполняются предположе- предположения 2) и 3) из п. 9.4.14 и условие 9.4.12, которые играли существен- существенную роль при доказательстве предыдущей теоремы.
170 Гл. 9. Релаксационные методы решения 9.4.19. Теорема. Пусть: 1) выпуклая функция (р(х) принадлежит классу Cljl(En)] 2) diamXo = Т] < оо; 3) последовательность {х/,} строится по формуле (9.11); 4) а* >0, /с = 0,1,... Если выполняется условие (9.12), то т-1 п -1 k=o -I любого 0 < С ^ 2. ^сли же выполняется условие (9.15), то т-1 -, -1 , т = 1,2,.„, (9.19) любого 0 < С ^ ~г^- Ьг]2 Доказательство с очевидностью следует из лемм 9.4.8 и 9.4.9 и теоремы 9.3.3. Л 9.4.20. Замечание. Условие 2) теоремы 9.4.19 можно заменить условиями 3) и 4) теоремы 9.3.4: X* /0и для любого г > 0 найдется такое й = J(e) > 0, что ||у/(х)|| ^ S для всех х таких, что р(х,Х*) ^ г. При этом теорема 9.4.19 остается справедливой. Доказательство ее опирается на леммы 9.4.8, 9.4.9 и теорему 9.3.4. 9.4.21. Теорема. Пусть: 1) сильно выпуклая функция (р(х) принадлежит классу Сг1'1(Еп); 2) последовательность {х/,} строится по формулам (9.11); , ,, выполняется условие (9.12), то т — 1 || ш = 1,2,..., к=0 т-1 т1 ||хт -х*||2 ^ -/iOexp| - ^ ^ АЛа^|, т = 1,2,... ^ feo #а/ш же выполняется условие (9.15), то т — 1 771=1,2,..., т-1 /г=0
9.5 Методы первого в второго порядков 171 Доказательство с очевидностью следует из лемм 9.4.8 и 9.4.9 и теоремы 9.3.5. Л 9.4.22. Обсуждение. Очевидно, что в смысле соотношений (9.18), (9.19) наиболее благоприятные оценки возникают при afe и А^, близ- близких к единице, и jk, близком к 1/2. Однако это требует высокой точности вычисления градиента функции (р(х) в точках х&, высо- высокой точности одномерной минимизации, а также высокой точности в определении наибольшего значения Д. из соотношения (9.13), что часто снижает эффективность выбранного процесса минимизации. Предположим теперь, что при выборе направления спуска выпол- выполняется условие ak ^ а > 0, а точность вычисления /3k такова, что О < Л ^ А/. < 1 либо 0<e^qk^l — е. В этом случае из соотношений (9.18) и (9.19) следует оценка вида <р(хт) - <р(х*) < С^, т = 1, 2,..., а из теоремы 9.4.21 — <р(хт) - <р(х*) ^ /i0 ехр{-Ст}, т = 1, 2,..., ||хт -х*||2 ^ -/iOexp{-CVn}, m = 1,2,..., где в качестве С фигурируют константы, не зависящие от номера т и величины /iq. 9.4.23. Вопросы классификации. Выбор способа построения последовательности {х/,} существенно зависит от свойств миними- минимизируемой функции, от информации, которой пользуются на каждой итерации, а также от тех технических средств, которыми мы распо- располагаем для осуществления вычислительных процедур. Методы можно подразделить на три группы: — методы нулевого порядка, использующие только значения ми- минимизируемой функции; — методы первого порядка, использующие, кроме того, первые производные; — методы второго порядка, использующие также и вторые про- производные. 9.5. Методы первого и второго порядков 9.5.1. Метод градиентного спуска. Одним из наиболее рас- распространенных релаксационных методов минимизации, связанных с вычислением градиента, является метод спуска по направлению антиградиента минимизируемой функции. В пользу такого выбора направления спуска можно привести следующие соображения.
172 Гл. 9. Релаксационные методы решения Поскольку антиградиент, т. е. — (//(х/,), в точке х/, указывает направ- направление наискорейшего убывания функции, то естественным представ- представляется сместиться из точки х/, по этому направлению. Метод спуска, в котором sk = (//(х/,), называют методом гради- градиентного спуска. Величина (Зк в методе градиентного спуска традиционно вычисля- вычисляется путем применения одного из методов одномерной минимизации ФУНКЦИИ ф(Р) = <p(Xfc - /V(Xfc)). 9.5.2. Высокую эффективность градиентный метод приобретает в сочетании градиентного спуска с выбором величины шага, удовле- удовлетворяющей условиям вида (9.15): (9.20) | (9.21) Такой выбор шага гарантирует построение последовательности то- точек {х/,}, обладающей свойством монотонного убывания относитель- относительно любого элемента у Е X*. 9.5.3. Теорема. Для выпуклой дифференцируемой функции <р(х) такой, что X* ф 0, последовательность {х/,}, удовлетворяющая со- соотношениям (9.20), (9.21), такова, что для любого фиксированного элемента у е X* справедливы неравенства ||хл+1-уК||хл -у||, А: = 0,1,..., (9.22) и существует lim xfeAyG X*. к—>-оо Доказательство. Из выпуклости <р(х) и условия 9.21 следует (tp'(xk),xk -у) ^^(хЛ) -у?(у) ^ tp(xk) - 1р(хк+1) ^ ^ Pk\\<P'(*к)\\2, поэтому -2рк((р'(хк),хк - у) +^||^'(хлI12 ^ °' и> следовательно, получаем ||xfc+1 - у||2 = ||х* - у||2 - 2/W(x*),xft - У) + /3,2||^(х)||2 ^ <||х* -у||2, к = 0,1,... Из монотонности и ограниченности последовательности {||х^ — у||} и ограниченности {llx^ll} следует существование у = lim x^. G X*, так как (р'(у) = 0. Л Замечание 1. Из предыдущего неравенства следует, что равен- равенство в последовательности (9.22) достигается лишь при (р'(~хк) = 0. Замечание 2. Очевидно, что теорема об оценках (9.4.19) при
9.5 Методы первого в второго порядков 173 выборе шага из условия (9.21) остается справедливой, если условие diamXo = 77 < оо заменить условием X* ф 0. 9.5.4. Градиентная саморегуляция. В классической постанов- постановке метод регуляризации рассматривался применительно к линейной алгебраической задаче о решении системы Ах — 6 = 0, где множество решений представляло собой линейное многообразие — так называе- называемая некорректная задача (см. гл. 7). Напомним, что в методе регуляризации введение параметричес- параметрического стабилизатора аи позволяло получать при а —> 0 приближенные значения нормального решения, т. е. решения, ближайшего к задан- заданной точке xq. В отличие от указанного способа, свойство (9.22) гарантирует схо- сходимость {х/,} к нормальному решению, не прибегая к приему регуля- регуляризации. Важнейшей особенностью градиентного метода при выборке шага из условия (9.21) является его стабилизирующие свойства, ко- которые можно назвать свойствами саморегуляции. Действительно, для некорректных линейных алгебраических уравнений вида Ах — Ъ = 0 множество X* минимумов функции (^(х) = \\Ах — Ь\\2 удовлетворяет требованиям теоремы (9.5.3), и по- поэтому последовательность точек {х/,}, построенная методом (9.20), (9.21), обладает свойством проекционной сходимости (9.22). А имен- именно, расстояния каждой из этих точек до нормального решения от- относительно х0, т. е. до проекции ее на X* р0 = Рх*(х-о) монотонно сокращается: ^(х^,р0) I 0, к ->• оо. 9.5.5. Теорема. Пусть {х/,} С X такова, что для любого у, при- принадлежащего линейному многообразию Y С X, справедливы соотноше- соотношения ||xfc+i - у|| ^ Их* - у|| Vy Е У, k G {x/J и Зу = lim хЛ. k—too = Р?ЫАРк, к = 0,1,... Доказательство. Так как рк — ортогональная проекция точ- ки х/. на Y и у е Y, то (у -рк,у-хк) = \\рк -у||2, и, учитывая мо- монотонность {||xfc — y||} относительно любой точки из У, в том числе и точки v(a) = у + &(Pk — у) ПРИ фиксированном числе а > 0, имеем ||г>(а) - у|| ^ \\v(a) - xk\\. Поэтому \\v(a) - у||2 = \\v(a) - х/,112 - 2(v(a) - хьу - хЛ> + ||у - хк\\2 ^ ^ \\v(a) - у||2 - 2(v(a) - хЛ,у - хЛ> + ||у - xfe||2, откуда ||y-xfe||2 ^ 2(v(a) -xfe,y-xfe) = 2(y-xfe,y + а(рк -у) - хЛ> = или ||у - xfe||2 ^ 2а(у - рЛ,у - хЛ> = 2а||у - рк\\2
174 Гл. 9. Релаксационные методы решения Следовательно, \\рк - у||2 ^ — ||у - xfe||2 для любого а, откуда рк = у при любом фиксированном к. Л Следствие. Все точки хк лежат на сферах семейства с цент- центром в точке у, принадлежащих ортогональному дополнению Y1- к множеству Y. Заметим, что если Y принадлежит Еп и имеет размер- размерность п - j, то все точки Х& лежат в гиперплоскости размерности j, проходящей через j + 1 линейно независимых элементов последова- последовательности {х/,}. Это свойство следует учитывать при решении эк- экстремальных задач, где Y является множеством решений. 9.5.6. Принцип ^-расширения. Для задач с приближенной ин- информацией, а именно о минимизации (р(х) = \\Ах - Ь\\2, где \\А — А\\ ^ S, \\Ь — b\\ ^ S, широко применяется так называемый принцип 5-расширения. Схема метода: k), к = 0,1,...; (9.20) V(*k)-V(*k-Pk${xk)) > |^||^(х*)||2; (9.21) если (p{x.k) > й, то вычисляется точка x^+i; (9.23) если (р{х.к) ^ ^5 то процесс минимизации заканчивается. Указанный процесс можно записать в следующем виде: найти точ- точку х G Y = Argmin (^(x) — й)+, где z+ означает положительную часть вектора z, т. е. (z+)f = тах{^,0}, г = 1,п. Лемма 1. Существует такое S > 0, что ро G Y для всех S G @, S]. Доказательство. Положим S = (||ро|| + 1)~2- Тогда для всех S е @, S] справедливы соотношения ||1ро - S||2 = ||1ро - Ар0 + и - S||2 ^ (||A - А)ро|| + ||и - S||J ^ ^ (\\А - А\\\\ро\\ + ||и - S||J ^ (йЦроЦ + 5J = 52(\\р0\\ + IJ ^ 5. А Пусть {еь...,еп} — базис в пространстве Еп, L(ei,..., er_i) — подпространство, порожденное векторами (ei,..., er_i). Лемма 2. Пусть Аро = и, \\А — А\\ ^ Й, \\и — й\\ ^ S и для любого v e L(ei, ...,er_i), r > 1, выполняется неравенство \\Av\\ ^ ^||v||, где к > 0 — некоторая константа. Тогда для достаточно малых S > 0 diamM^ ^ dS1/2, d > 0, Ci = const, где ^ = p0+v, vGL(ei,..,er_i), ||Ax - S||2 ^ J}.
9.5 Методы первого в второго порядков 175 Доказательство. Действительно, для любого v G Z/(eb ...,er_i) такого, что х Е Ms, справедливы соотношения \\Av\\ -\\(А- А)р0 + и - й|| ^ ||lv|| - C2S > *||v|| - С26, Следовательно, ||v|| ^ —(й1/2 + С2?), т. е. diamMs ^ CiS1/2. Л Пусть {еь...,еп} — базис подпространства Кег А = {х | х G Еп, Ах = 0}, a {ei,..., er_i} — базис (Кег АI- — ортогонального допол- дополнения к ядру матрицы А. Теорема. Для достаточно малых S > 0 справедлива оценка Доказательство. Для любого х G (Кег АI- справедливо нера- неравенство ||Ах|| ^ ^||х||, где к— некоторая положительная константа, не зависящая от х. Тогда при достаточно малых S > 0 для возмущен- возмущенной матрицы А будет выполняться неравенство 1Йх||^|||х|| (9.24) для любого х G (Кег А)^. Заметим, что при малых возмущениях 8 для всех е^ (г = 1,..., г — 1) из (9.24) следует неравенство \\Aei\\ ^ к/2 > 0, т. е. базисные векто- векторы (КетАI- остаются в (КегА)-1. Относительно векторов {ег,...,еп} возможны две ситуации: а) Aer+i = 0 для всех г е {0,1,..., п - г}; б) Aer+i ф 0 для некоторых г G {0,1, ...,п — г}. В случае а) х G М6 = {х|х = р0 + v, v G L(eb ..., er_i), \\Ax. - -u||2 ^ S}. По лемме 2 diamM^ ^ CiS1/2. Следовательно, ||х —ро|| ^ / В случае б) пусть для определенности Аег /Ои Aer+i = 0 для г = = 1, ...,п — г. Тогда х е Мд = {х|х = р0 +о;, о; е L(eb...,er), ||Ах - u||2 ^ й}. Пусть q — ортогональная проекция точки х на прямую Рг = = {х | х = ро + 7ег, 7 ^ Ei}- Тогда q = р0 + jqer. Пусть для опре- определенности 7д ^ 0- Рассмотрим точку z = ро - С4^~1//2ег. Так как ||Лег|| = \\(А- A)er\\ ^ 5, то ||2ро - S - Ар0 + и - С4(Г1/2!ег|| ^
176 Гл. 9. Релаксационные методы решения Следовательно, \\Аъ — u|| ^ S1/2 при достаточно малых S и 0 ^ С^ < < 1/2, т. e.zeY. Вектор x-q принадлежит Ms и ортогонален ег. Поскольку по лемме 2 diamM^ ^ Ci?1//2, то ||x-q|| ^CiE1/2. (9.25) В силу монотонности минимизирующей последовательности для z справедливо неравенство ||х0 -z|| > ||x-z||. (9.26) Так как вектор (ро — xq) ортогонален ег, то ||х0 - z||2 = ||х0 - ро||2 + 2(х0 - ро, Ро - z) + ||ро - z||2 = = ||х0-ро||2 + ||ро-z||2, т. е. llv 7|| \\тл гу\\ - IIXO "Poll2 / IIXO "Poll2 / Г Г1/2 х0 - z - ро - z — —— ^ — — ^ b$o ' . ||xo-z|| + ||po -z|| ||po-z|| (9.27) Из определения точки q и того, что z G Prj следует, что ||q —z|| < < ||х - z||. Таким образом, учитывая 9.26 и 9.27, получаем ||q - z|| < ||хо - z|| ^ ||ро - z|| + Cb51/2. Поскольку точки q, ро и z лежат на одной прямой Рг, то в силу выбора z справедливо равенство ||q-z|| = ||q-po|| + ||z-po||, поэтому ||q - ро|| + ||z - po|| < ||po - z|| + С551/2, т. e. ||q — po|| < C^1!2. С учетом 9.25 получаем С3=Сг+С5. Л В заключение заметим, что последовательность {х/,}, миними- минимизирующая градиентным методом по предложенной схеме функцию (f(x) = \\Ах — и||2, принадлежит множеству М = xq + (КегАТА)±, являющемуся сдвигом подпространства (КетАтА)± на вектор хо, где квадратичная функция ^(х) = \\Ах — и\\2 сильно выпукла. Поэ- Поэтому для ^(х) справедлива оценка скорости сходимости (см. п. 9.5.8) Цх/, — х||2 ^ Л ехр(—Ск), С = const > О,
9.5 Методы первого в второго порядков 177 где Л — минимальное из отличных от нуля собственных значений матрицы АТА, а х = argmin^(x). Следовательно, ||х* - ро|| ^ ||хЛ - х|| + ||х - ро|| ^ Л1/2 ехр ( - ^) + Таким образом, градиентный метод со специальным способом вы- выбора шага обладает саморегуляризующим свойством. Очевидно, что число шагов к, необходимое для достижения точности О(?1//2), долж- должно быть порядка |1пE|. Замечание. Очевидно, что все вычисления в процессе миними- минимизации проводить с точностью, превышающей порядок величины у/б, бессмысленно. 9.5.7. Как контролировать сходимость процесса градиент- градиентной минимизации. Монотонное стремление к нулю последователь- последовательности {||<?'(xfc)ll} является весьма полезным свойством для решения вопроса о целесообразности продолжения либо прекращения процес- процесса градиентного спуска. Для этого, во-первых, следует убедиться в существовании совместного решения неравенств ip(x.k) — pfak+i) ^ ^ - (Зк\\ср'(хк)\\2 и ||<p'(xfc+i)|| ^ ||<p'(xfc)||. Из леммы 9.3.2 получаем и, следовательно, первое неравенство выполняется при C G @, — . Для исследования второго неравенства воспользуемся свойством (см. [4, с. 175]) Ь(^(х)-^(У), х-у)^|Их)-<^(уI|2 Vx,ye?n, (9.28) справедливым для выпуклых функций из класса С1'1^™). Таким образом, при любых /3k ^ 0 выполняется неравенство ||^(xfe+i||2 - B - /3*L)<y/(x*+i), ^(х,)) + A - ^L)||^(x*)||2 ^ 0. / 21 Предположение, что /3k Е @, — , позволяет воспользоваться неравен- ством Коши-Буняковского, которое приводит к соотношению - B - /ад|Их*+1)||||?>'(х*)|| + A _ /3ftJL)||^(xfc)||2 ^ 0. Переписав это неравенство в более наглядном для нашей цели виде о т( lly'(xfc)|| Л > ||y'(xfc+1)|| У(хк)\\ о > п Рк 4|^'(xfe+1)|| / " ||^'(xfe)|| ||^(xfc+1)|| " ' справедливом для /3k G [О, — и тем более для /3 G (О, — j, убеждаемся в существовании совместных решений обоих неравенств.
178 Гл. 9. Релаксационные методы решения 9.5.8. Обобщенный метод градиентного спуска. Часто быва- бывает целесообразным выбирать в качестве направления спуска не анти- антиградиент функции <р(х), а -sk = -Ak(p'(xk), где матрицы Ак симметрические и положительно определенные для всех к = 0,1,... Существуют различные способы выбора матриц Ак. Ниже будут изложены некоторые из них, но вначале исследуем схо- сходимость процесса. Итак, последовательность {х/,} будем строить по формуле = хд; - /ЗкАк(р'(хк), к = 0,1,..., а числа /Зк выбирать таким образом, чтобы они удовлетворяли либо условию (9.12), либо (9.15). Сходимость. Предположим, что норма матриц Ак равномерно ограничена сверху: \\Ак\\ ^ ( (к = 0,1,...), а все собственные числа этих матриц ограничены снизу числом v > 0. Тогда для любых х будет*) <А*х,х> ^!/*<х,х> ^И|х||2, А: = 0,1,..., где vk — наименьшее собственное число матрицы Ак. В силу этого к ||^(х)||Р^'(х)|| " ||/(х)||||Л||||/(хк)|| " С Из теоремы 9.4.15 с очевидностью следует сходимость процесса, а из теорем 9.4.19 и 9.4.21 — оценки скорости сходимости. 9.5.9. Метод наискорейшего спуска. Это традиционное назва- название метода градиентного спуска, когда величина шага вычисляется путем одномерной минимизации: (Зк = argmin{^(/3) = у>(хЛ - /3s*): C > 0}. 9.5.10. Метод изменения масштабов. Рассмотрим простой пример. Пусть п <р(х) = ^а^ж?, щ > 0, г = 1,п. Если числа а« существенно различны, то поверхности уровня функ- функции <^(х) вытянуты по тем координатным направлениям е;, которым соответствуют малые значения щ. В этих случаях обычно говорят, *)Это так называемое условие устойчивости, широко используемое в исследо- исследовании приближенных схем (уравнений).
9.5 Методы первого в второго порядков 179 что функция <р(х) имеет овражный вид с пологими склонами, соот- соответствующими малым значениям aj, и с крутыми склонами, соот- соответствующими большим значениям с^. Если точка х& расположена на крутом склоне вблизи "дна оврага", то спуск вдоль антиградиента часто приводит к тому, что точка x^+i попадает на противоположный склон. И поскольку антиградиент почти перпендикулярен дну оврага, то сходимость процесса минимизации будет существенно замедлять- замедляться. Заменой переменных можно добиться того, чтобы поверхности уровня стали иметь сферический вид, гарантирующий высокую ско- скорость сходимости градиентного (например, наискорейшего) спуска. В нашем примере для этого нужно взять у = А-1х, где А= 0 ... О о Л/г^ ... о О 0 ... у[сГп Поскольку (р'(у) = Aip'(Ay) = А(р'(х), то, если спуск ранее происходил по формуле х/,+1 = х/, — /3k(p'(x.k), теперь он будет осуществляться по формуле Ук+1 = Ук ~ ^кА(р((ук). Если <р(х) — гладкая выпуклая функция, выбирают в точке х одномерного минимума вдоль направления е^, и хотя это преобразование не превратит поверхности уровня в сферы, но умень- уменьшит их вытянутость и тем самым облегчит применение градиентных методов минимизации. Величины ^ 2 вычисляют приближенно, пользуясь их конечно- разностной аппроксимацией. Последовательные приближения вели- величин масштабных множителей oti обычно получают в результате при- применения метода циклического покоординатного спуска (см. п. 9.7.8). Итак, метод изменения масштабов в сочетании с методом спуска вдоль антиградиента можно интерпретировать как обобщенный ме- метод градиентного спуска, где в качестве Ак выбирается диагональная матрица А вторых производных. 9.5.11. Метод Давидона-Флетчера-Пауэлла. В этом методе итерации осуществляются по следующей схеме: Л I ТкТ1 (Акчк)(Акс1к)т . = Лк + т г 71 v •> А) =
180 Гл. 9. Релаксационные методы решения Yk = )): /3 ^ 0}, Этим методом задача минимизации строго выпуклой квадратич- квадратичной функции решается за конечное число итераций, не превосходящее числа п — размерности пространства Еп. Поскольку часто бывает ес- естественным предположение, что в окрестности точки минимума по- поведение функции <р(х) близко к поведению строго выпуклой квадра- квадратичной функции, то применение метода Давидона-Флетчера-Пауэлла, как и других методов, обладающих указанным свойством конечнос- конечности, оказывается удачным на последнем этапе процесса минимизации. Как правило, в методе осуществляют обновление (иногда гово- говорят — восстановление) матрицы Ак через конечное число итераций: для некоторого номера к0 полагают Ако = Ао. Метод Давидона-Флетчера-Пауэлла можно рассматривать как один из вариантов метода сопряженных направлений. 9.5.12. Сходимость. Будем предполагать, что функция (р(х) из класса С1'1^™) обладает следующим свойством: Заметим, что указанным свойством обладают сильно выпуклые функции. Очевидно, что матрицы Ак симметрические (легко доказывает- доказывается по индукции). Докажем, что матрица Ак+\ положительно опреде- определенная, при индуктивном предположении симметричности и положи- положительной определенности матрицы Ак. Выберем любой х/Ои, учитывая существование симметрической матрицы Aj/ , обозначим у = Aj/ x, z = Aj/ q^. Тогда Далее, С,Х) = (AfcX,x) + + (rk, q^) 5У>2 , (гьхJ _ (y,y)(z,z) - (z,yJ q^> (z,z> Из неравенства Коши-Буняковского
9.5 Методы первого в второго порядков 181 следует (y,y)(z,z)-(z,yJ^0, причем равенство достигается лишь, если у = аъ. Но в этом случае AjJ х = olAjJ q/,, и в силу невырожденности матрицы Ак' будет х = = aq^k- Заметим, что а ф 0, так как х ф 0. Из условия А) получаем (qjfe,rjfe) > 0, вследствие чего (r^x) = a(r^q^) > 0, и для последнего слагаемого правой части соотношения В) имеем И окончательно из В) получаем, что (A^+ix,x) > 0 при х ф 0, т. е. положительную определенность матрицы Ak+i. Если итерационный процесс осуществляется с обновлением, то для сильно выпуклой дважды дифференцируемой функции можно дока- доказать, что \\Ак\\ ^ С и (АЛх,х) ^ г/||х||2, i/>0, /с = 0,1,... Поэтому из теоремы 9.4.21 (см. также п. 9.5.3) следует, что су ||хш — х*||2 ^ - exp {—Cm}. Р 9.5.13. Метод Ньютона. Если функция ip(x) строго выпуклая и достаточно гладкая в окрестности U точки х*, то для Х& G U функция ^(х) =<р(хЛ) + (y?'(xife)Jx-xife> + -((^//(xfe)(x-xfe),x-xfe) будет с достаточно высокой степенью точности аппроксимиро- аппроксимировать <р(х). Минимум функции г/?(х) (речь идет о локальном мини- минимуме в окрестности U) достигается в точке поскольку гр'(х) = (p'(~Xk) + (^//(х^)(х ~ х&)- Таким образом, в качест- качестве направления спуска целесообразно выбирать -s* = -(^"(xfc))-V(xft). По сути дела, в методе градиентного спуска мы ограничивались линейной аппроксимацией функции (р(х) и в качестве направления спуска выбирали направление убывания линейной функции гр(х) = = <р(хЛ) + ((//(хДх-х/.), т. е. -ф'(х) = -(р'(*к) = -ел. В методе Ньютона мы прибегаем к квадратичной аппроксимации функции <р(х), и поэтому можно надеяться, что в случае, если точка х/, располо- расположена в достаточно малой окрестности точки х*, направление — s/, =
182 Гл. 9. Релаксационные методы решения = — ((^//(х^))~1(^/(х^) обеспечит более высокую скорость сходимости итерационного процесса. Для вывода оценки скорости сходимости будем дополнительно предполагать, что матрица ^"(х) невырождена для всех х Е U. Обозначим F(x) = (p'(x). В методе Ньютона для решения урав- уравнения F(x) = 0 рекуррентное соотношение записывается следующим образом: fc -x*) -F(xfc)) = ) - F(x*))). Сделаем преобразования: xfe+1 - х* = xfe - х* - Поскольку -F'(x) и F"(x) непрерывны в окрестности точки х* и, зна- значит, ограничены, то Поэтому - x*)|| = ||F'(x*)(xfc - x*)+ Окончательно получаем ||x*||^C||x* -x* 9.5.14. Модификация метода Ньютона. Поскольку процесс вычисления на каждой итерации матрицы Гессе у?"(х^) и ее обра- обращения требует значительных вычислительных затрат, обычно поль- пользуются различными модификациями метода. Простейшая из них за- заключается в следующем. Задают число т ^ 1, определяющее цикл, состоящий из т итераций. На каждом 1-м цикле все итерации осу- осуществляют с постоянной матрицей (^"(х)): г = 0,m - 1, после чего переходят к следующему циклу с матрицей ((///(х/(т+1)))~1. Скорость сходимости при этом снижается, но общие вычислительные затраты на каждой итерации существенно сокращаются.
9.5 Методы первого в второго порядков 183 9.5.15. Ускоренный метод Ньютона. В методе Ньютона по точке х из достаточно малой окрестности U точки х* строится точка у = х — ((р"(х))~1 (р'(х), для которой справедливо соотношение Ниже рассматривается метод получения точки ур [р ^ 1), для которой выполняется соотношение ||Ур-х1^С1|х-хТ+1. (9.29) Как и в п. 9.5.13, будем предполагать, что функция <р(х) строго вы- выпуклая и достаточно гладкая в окрестности U точки х*. Проиллюстрируем метод на примере случая р = 2. Рассмотрим уравнение F(x) = <р'(х) =0- (9.30) Воспользовавшись формулой Тейлора F(y) = F(x) + F'(x)[y - х] + ±F"(x)[y - х]2 + w(x,y), где ||о;(х, у)|| = о(||х — у||2), будем выбирать в качестве у приближен- приближенное решение системы нелинейных уравнений F(x) + F'(x)[y - х] + \ F"(x)[y - х]2 = 0. (9.31) Для отыскания элемента у линеаризуем систему (9.31) следующим образом: в третье слагаемое вместо неизвестной величины у — х под- подставим вектор — (F/(x))~1F(x) из классического метода Ньютона. Та- Таким образом, получаем линейную систему уравнений относительно у: F(x) + F'(x)[y - х] - \ F"(x){(F'(x))-1F(x)}[y - х]2 = 0, решением которой является '() \ F у = х {f(x) \ Возвращаясь к функции <р(х), получаем формулу для вычисления оче- очередного приближения (9.32) В этом случае также оказывается справедливой оценка Y*ll < C\Wi ЛГ*И3 — x ^ о x& — x .
184 Гл. 9. Релаксационные методы решения Перейдем к описанию метода для общего случая р ^ 2. Рассмотрим матрицы Pfc(x) и элементы ^(х), удовлетворяющие рекуррентным соотношениям Pi(x) = F'(x), 5l(x) = (P1(x))-1F(x), <?m(x) = -(Pm(x))-1F(x), m = T^>. Будем предполагать, что в окрестности U точки х* производные ^^(x), k = l,m, ограничены в совокупности, а матрица F'(x*) не- невырождена. Теорема. Для всех точек х, достаточно близких к х*, матри- матрицы Рк (х) невырождены и выполняется условие x*=x + 0*(x)+w*(x*,x), (9.33) где |Ых*,х)|| ^ С||х* - хЦ^1 (fe = Т^). Доказательство. Проведем индукцию по числу к. При & = = 1 вследствие невырожденности матрицы F'(x) условие (9.33) есть оценка скорости сходимости метода Ньютона. Предположим, что для всех к ^ т - 1 матрицы Р^(х) невырожде- невырождены и выполняется соотношение (9.33). Пусть к = т ^ р. Из формулы Тейлора и определения Рт(х) имеем О = F(x*) = F(x) + Pi(x)[x* - х] + т ^[x* - xf + i/(x*x) = F(x) + Pm(x)[x* - х] + ^ fc^fx)]*-1^ - х]} + ^(х*,х), к=2 (9.34) где Их*,х)|| < —±-- max ||F^+1)(C)||||x* - х|Г+1. (т + 1)! ?е[х*,х] По предположению индукции pm_i(x) =x* -x-cjm_i(x*,x), ||cjm_i(x*,x)|| ^ С||х* -х||т, поэтому jfe-1
9.5 Методы первого в второго порядков 185 Значит, k=2 k-1 - У^ Си iF^(x)[x* — x]fe~i[cjm_i(x*,x)]i . (9.35) k=2 ' i=l Так как в силу предположений теоремы производные F^k\x) не- непрерывны в окрестности точки х*, то для любых z, v и р = 0, к. Поэтому правая часть неравенства (9.35) не превосходит величины С||х* — x||m+1, где С > 0 — некоторая огра- ограниченная константа. Таким образом, соотношение (9.34) записывается в виде F(x) + Рш (х) [х* - х] + (*(х*, х) = О, где кроме того, поскольку Pm(x*) = F;(x*), а по предположению индук- индукции ||gm_i(x)|| = ||х* — х|| + о(||х* — хЦ772), то из определения Рт(х) следует, что Рт(х) с точностью до величины порядка ||х* — х|| совпа- совпадает с F;(x*). Значит, при всех х, достаточно близких к х*, матрицы Рт(х) невырождены и условие (9.34) влечет равенство х* -х = 0т(х) -Р~1(х)й(х*,х), которое и доказывает утверждение. Полагая ур = х + др(х), получаем неравенство ||ур — х*|| ^ С||х — х*||р+1. Л Заметим, что при р = 1 метод построения точки ур совпадает с обычным методом Ньютона. Рассмотренный метод имеет при р > 1 в ряде случаев опреде- определенные преимущества по сравнению с обычным методом Ньютона; в частности, если производные F^^(x) имеют малое число ненуле- ненулевых элементов, то трудоемкость предложенного метода будет того же порядка, что и в методе Ньютона. Кроме того, существуют за- задачи, в которых старшие производные функции F(x) вычисляются существенно проще, нежели значения F(x) и F'(x). Так обстоит де- дело, например, в традиционной задаче алгебры — нахождении корней многочленов высоких степеней. 9.5.16. В высокой скорости сходимости заключается видимое преимущество метода Ньютона перед другими итерационными мето- методами. Однако трудоемкость одной итерации метода Ньютона, перехо- перехода от х/, к х/,+1, связана с вычислением и обращением матрицы вто- вторых производных ip"(xk) и может оказаться столь высокой, что никак
186 Гл. 9. Релаксационные методы решения не будет компенсировать достижение значения ^(x^+i) нескольки- несколькими итерациями другого, менее трудоемкого метода. Таким образом, вопрос о целесообразности применения метода Ньютона неразрыв- неразрывно связан с проблемой эффективности всего итерационного процесса, т. е. с общим количеством вычислений, затрачиваемых на решение задачи с определенной точностью. Именно в силу этих известных соображений возникла необходимость создания методов, менее тру- трудоемких, но обладающих скоростью сходимости, близкой к скорости метода Ньютона. Так возникли методы квазиньютоновского типа. Методом Ньютона задача минимизации строго выпуклой квадратич- квадратичной функции решается за одну итерацию. В методах квазиньюто- квазиньютоновского типа матрицы Ак строят по рекуррентным соотношениям таким образом, чтобы последовательные приближения x^+i = х/, — -/3kAk(p'(-xk) минимизировали строго выпуклую квадратичную функцию за конечное число итераций. Изложенный в п. 9.5.11 метод — типичный метод квазиньютоновского типа. В следующем параграфе рассматриваются методы, также обла- обладающие свойством конечности для задач квадратичной минимиза- минимизации, и с этой точки зрения их следует отнести к методам квазинью- квазиньютоновского типа. 9.6. Метод сопряженных направлений 9.6.1. Схема метода. Xfc+i =Xfc - /3ksk, /с = 0,1,..., s0 = у/(хо), sk = ipf(*k) - &s*_i, k = 1, 2,..., (9.36) /3k = axgmin{y>(x* - /3s*) : C > 0}, k = 0,1,... (9.37) Различные варианты метода сопряженных направлений отличаются способами выбора параметра ?&. Заметим, что при ?,к = 0 метод вы- вырождается в метод наискорейшего спуска. Условие (9.37) выбора величины (Зк определяет следующие две осо- особенности последовательности {х/,}. 9.6.2. Лемма. Для дифференцируемой функции <р(х) последова- последовательность {х/,}, построенная по схеме (9.11), (9.36), (9.37), такова, что выполняются следующие соотношения: : = 0,1,..., (9.38) А: = 0,1,... (9.39) Доказательство. Из условия (9.37) следует, что при (Зк > 0 будет —<p(xfc - Csk)\p=Pk =0,
9.6 Метод сопряженных направлений 187 а при /3k — 0 будет с/ — (p(xjfe - /3sk)\p=o ^ 0. ар Если /3k > О, то Доказательство того, что соотношение (9.38) справедливо и для /Зк = 0, будем проводить по индукции. Если /3q = О, то из xi = xq и s0 = ^'(хо) получаем О ^ ^(р(хо - /3so)\/3=o ~ <^(xi),so> = -||^ откуда следует равенство Пусть справедливо соотношение ((p'(xk),sk-i) — 0- Докажем, что при /3k = 0. Так как x^+i = х^, то из (9.36) получаем 0 ^ T ' ' откуда и следует (9.38). Наконец, соотношение (9.39) является очевидным следствием ра- равенств (9.36) и (9.38). Л 9.6.3. Лемма. Если ? = l525<<<5 (9<40) nsfc-iii для некоторого С > 0, то fc~ll Доказательство, очевидно, следует из соотношений (9.38) и (9.39). Л 9.6.4. Сходимость. Из теоремы 9.4.15 с очевидностью следует сходимость процесса, а из теорем 9.4.19 и 9.4.21 — оценка скорости сходимости.
188 Гл. 9. Релаксационные методы решения В качестве примеров реализации метода сопряженных направле- направлений рассмотрим два способа выбора параметров ^, обеспечивающих конечность метода в квадратичном случае. 9.6.5. Способ 1. & ( Покажем, что для сильно выпуклой функции <р(х) из класса С1'1^™) выполняется условие (9.28). Из предположения о сильной выпуклости имеем (см. п. 2.2.5) откуда, учитывая (9.11), (9.38) и (9.39), получаем неравенство Так как мы всегда предполагаем, что для всех к = 0,1,... будет (^(х/,) ф 0, то из доказательства леммы 9.6.2 вытекает, что /3k > О, поскольку из /3k-i = 0 следует ||(^'(xjfe_i)|| = 0. Итак, Учитывая это и условие оценим величину 161 = ||^(xL)IP ppk-l\\*k-l\\z Таким образом, выполняется условие (9.40), и поэтому из теоре- теоремы 9.4.21 получаем оценки <р(хт) - <^(х*) ^ /io exp {—Cim}, II я- ц2 ^ 2 ||Х7тг X || ^ — Р
9.6 Метод сопряженных направлений 189 где 0 < d 9.6.6. Способ 2. Хотя в этом способе выбора параметра ?& приходится на каждой итерации вычислять матрицу вторых производных, но, в отличие от метода Ньютона, не требуется обращать эту матрицу. Заметим, что число умножений при обращении матрицы n-го порядка пропорцио- пропорционально п3. Элементарный анализ сходимости полезен своей методической стороной, поскольку аналогичная методика приемлема для оценок скорости сходимости методов квазиньютоновского типа, многочис- многочисленные варианты которых содержатся в различных статьях и не перестают появляться в математической литературе до последнего времени. Предположим, что сильно выпуклая функция (р(х) дважды непрерывно дифференцируема с равномерно ограниченной нормой матрицы <р"(х) на ограниченном множестве Xq = {х: <р(х) ^ <р(хо)}: Так как <у/(х + еу) - у>'(х), У> = <ф"(х + г0у)у, у), 0 ^ в ^ 1, то, учитывая свойство сильной выпуклости B.5.5), получаем, что ((р"(-х + еву)у,у) ^ Н|у||2. Переходя в этом неравенстве к пределу при г —> 0, приходим к соотношению (^"(х)у,у)^Н|у||2, (9.42) справедливому для любого у G Еп. Вследствие этого имеет место не- неравенство |(/(xt)St_liy(xfc))| l?fc| |<?>"(xfc)sfcsfc>| ^ |<?>"(xfc)sfc_1)sfc_1>| ^ Pllsft-ill2 ^ p и поэтому из теоремы 9.4.21 получаем оценки <р(хт - у?(х*) ^ /i0 exp {-С2т}, |хт -х*||2 где
190 Гл. 9. Релаксационные методы решения 9.6.7. Обсуждение. Хотя приведенные оценки справедливы для всех т = 1,2,... и гарантируют определенную скорость сходимости метода сопряженных направлений, как уже говорилось, они не выяв- выявляют следующего преимущества метода: для строго выпуклой квад- квадратичной функции (р(х) каждый из приведенных способов определе- определения величины ?к приводит к тому, что метод дает решение задачи за конечное число шагов, не превосходящее величины п — размерности пространства Еп. Этот факт играет существенную роль в использова- использовании метода для решения задач минимизации неквадратичных функ- функций. А именно, по методу сопряженных направлений делают п ите- итераций, после чего производят так называемое обновление метода, по- полагая ?п = 0, т. е. осуществляют градиентный спуск. Таким образом, схема метода в этом случае будет выглядеть так: Sk = < _ f &, keiu \ 0, k E h = {0,n,2n,3n,...}, h U h = {0,1,...}, <p(fc+i) а величина ?k определяется из соображений конечности метода в квадратичном случае, например одним из приведенных выше спосо- способов. Это так называемая п-шаговая схема. Наконец, следует отметить, что метод сопряженных направлений весьма чувствителен к ошибкам, возникающим в процессе счета, по- поскольку при А/, ф 1 в (9.12) нарушается свойство ортогональнос- ортогональности (9.38) и тем самым нарушается свойство конечности метода в квадратичном случае. 9.6.8. О сопряженных направлениях. Рассмотрим симметри- симметрическую положительно определенную матрицу А. Векторы sq, si, ... ..., sn_i называются сопряженными относительно матрицы А, если (si,Asj)=0, гф]. Можно доказать, что для задачи минимизации квадратичной функции (р(х) = (Ах,х) + (Ь,х) с симметрической и положительно определенной матрицей А векторы sq, si, ..., sn_i, построенные ме- методом сопряженных направлений, являются сопряженными относи- относительно матрицы А. То же самое касается и векторов sq, si, ..., sn_i, вырабатываемых в методе переменной метрики, и в этом смысле его можно рассматривать как метод сопряженных направлений. 9.7. Методы нулевого порядка 9.7.1. Покоординатный спуск. По-видимому, наиболее прос- простым из детерминированных способов определения направления спус- спуска является выбор в качестве s/, одного из координатных векторов
9.7 Методы нулевого порядка 191 =bei, =Ьв2,..., ±еп, вследствие чего у х& на каждой итерации изменя- изменяется лишь одна из компонент. Существуют многочисленные варианты покоординатного спуска, из которых лишь некоторые будут рассмотрены в этом параграфе. Сразу отметим, что в любом из этих методов выбирают в качест- качестве —Sfc то из двух направлений +ej, -ej, которому соответствует неравенство Если yXfe^ = 0, полагают x^+i = Х& и переходят к следующей ите- з рации. Для простоты изложения этот случай мы исключим из рас- рассмотрения, поскольку существа дела он не меняет, тем более, что мы предполагаем у?'(х^) ф 0 (к = 0,1,...). 9.7.2. Покоординатный спуск с удвоением шага (первый вариант). Опишем первый цикл метода, состоящий из п итераций. В произвольной точке xq выбирают sq = ±ei и определяют ве- величину Ро способом удвоения (см. 9.4.4) так, чтобы было <p(xi) = = <р(хо — A)so) < ^(хо)- Затем выбирают si = =Ьв2 и, полагая C = /3q, удвоением вычисляют /3i и т. д. При этом на каждой итерации стре- стремятся определение величины шага методом удвоения осуществлять с наименьшим числом вычислений значений функции <р(х). Цикл за- заканчивается при к = п — 1, после чего начинают следующий цикл, полагая sn = ±ei, и т. д. 9.7.3. Покоординатный спуск с удвоением шага (второй вариант). Каждый цикл метода характеризуется тем, что величина шага в течение всех п итераций цикла остается постоянной. Цикл состоит в вычислении точек x^,x^+i, ...,x^+n_i. Предполагается, что в результате завершения предыдущего цикла получена величина C = = Pk-i. (г + 1)-я итерация цикла @ ^ г ^ п — 1). Если A) (^(х/г+i - Cei+1) < <p(xfc+i), то полагают xfe+i+i = xfe+i - /3ei+i и переходят к следующей итера- итерации. Если B) ^(Xfc+i - /?e;+i) то вычисляют Если C) (f(xk+i + то полагают x^+^+i = x^+f + fiei+i и переходят к следующей итера- итерации. Если же D) (f(-xk+i +/?ei+i) ^ ^(xfe+i), то полагают x^+^+i = x^+f и переходят к следующей итерации.
192 Гл. 9. Релаксационные методы решения Если неравенства В) и D) имеют место для всех 0 ^ г ^ ^ п — 1, то уменьшают величину /3, как правило, полагая C = /3^_i/2, и переходят к следующему циклу, т. е. повторяют все процедуры пре- предыдущего цикла, но уже с вдвое меньшим шагом. 9.7.4. Предположения. При исследовании сходимости мето- метода 9.7.3 будем предполагать, что: Ц^еС1'1^); 2) Xq — ограниченное множество. 9.7.5. Сходимость. Вначале докажем, что /3 k —> 0 при к —> оо. Ес- Если это не так, то найдется номер ко такой, что для всех к ^ ко будет /3k = C > 0 и, следовательно, (p(x^+i) < ip(x.k) \/к ^ ко- Поскольку ||xjfe_|_i — Xjfe|| = C > 0 \/к ^ ко, то число точек, попадающих в огра- ограниченное множество Хо, конечно, и найдется такой номер к\ > ко, начиная с которого наступит ситуация х/, 0 Xq Vfc ^ fci, противоре- противоречащая определению множества Xq. A Рассмотрим все циклы, для которых одновременно выполняют- выполняются неравенства В) и D) при всех 0 ^ г ^ п - 1. Так как длина шага стремится к нулю при к ->• оо, то число таких циклов бесконечно. Перенумеруем эти циклы таким образом, чтобы было г = 0, п - 1, ш = 0,1,..., <р(хт - /3mei+i) ^ у?(хт), г = 0, п - 1, т = 0,1,... Тогда <р(хт + /3mei+i) - у?(хт) = у9т(у?'(хт + 6>i/3mei+i), ei+i) ^ 0, г = 0,п - 1, ?тг = 0,1,..., <р(хт - Cmei+1) - у?(хт) = /Зт((//(хт - 6>2/3mei+i), -ei+i) ^ 0, г = 0,п — 1, т = 0,1,... Из последовательности {хт} (вспомним, что она принадлежит огра- ограниченному множеству Xq) выберем сходящуюся подпоследователь- подпоследовательность lim xm. = х. Поскольку lim /Зт. = 0, а функция ^'(х) непре- j—><х> j—><х> рывна, то из последних неравенств в результате предельного перехода получаем соотношения <y/(x),ei+i> ^ 0, (^(x),-ei+1) ^ 0, i = 0,п - 1. Таким образом, у?'(х) = 0 в любой предельной точке последователь- последовательности {х/,}, откуда следует lim p(xk,XZ)=0. Л 9.7.6. Классическая схема. В этом разделе приводится схе- схема метода покоординатного спуска, не обладающая достоинством не- независимости выбора направления спуска от градиента функции, но
9.7 Методы нулевого порядка 193 зато имеющая оценки, гарантирующие для выпуклых функций схо- сходимость процесса минимизации со скоростью порядка ОA/т). Эти оценки интересны тем, что они существенно зависят от числа п — размерности пространства Еп. Пусть х/, уже известен; обозначим max Можно считать, что так как в противном случае (/)'(х^) = 0и процесс минимизации окан- оканчивается. В формуле х/,+1 = Xfc — /3kSk в качестве направления спуска -sk выбирается то из направлений е^ либо — ej, вдоль которого функ- функция (р(х) локально убывает. Относительно величины /Зк будем предполагать, что выполняется либо условие (9.12) при 0 < Л ^ А/. ^ 1, к = 0,1,..., либо условие (9.15) при 0 < е ^ А/. ^ 1 — е, к = 0,1,... Оценим величину а|: 2 (^(xfe),sfeJ V dxj ) V dxj ) к ||^(xfe)||2||s,||2 ||^(xfe)||2 ^ ||^(fe)||||,|| ||^(fe)|| ( п max I I г=1,2,...,п V OXi ) 9.7.7. Сходимость. Если выполняются условия 1)-4) из предпо- предположений 9.4.14 (условия 5)-7) того же пункта выполняются в силу предыдущего) и условие 9.4.12, то из теоремы 9.4.15 следует, что lim р(хЛ,Х?) = 0. Для выпуклой функции (р(х) из класса Сг1'1(Еп) при условии, что diamXo = f] < оо, из теоремы 9.4.19 (см. (9.18) и (9.19)) следуют оценки: если выполняется (9.12), то ГП-1 ч -1 - п к=о доA + С'/Jojuiy1 < — —, ш = 1,2,...; Су Л 777- если же выполняется условие (9.15), то 1 + С до - ^2 к=0
194 Гл. 9. Релаксационные методы решения Остается в силе и замечание 9.4.20, ослабляющее условие ограни- ограниченности множества Хо. Обратим внимание на то, что постоянный множитель при величи- величине 1/т в оценках скорости сходимости этого метода в п раз больше соответствующего множителя в оценках метода градиентного спуска. В случае сильной выпуклости функции (р(х) из 9.4.21 следуют оценки вида Y Y <C — lln P^ZW < (i p V n при соответствующем выборе константы С в зависимости от усло- условий (9.12) и (9.15). 9.7.8. Циклический покоординатный спуск. В этом методе выбор направления спуска осуществляется так же, как и в покоорди- покоординатном спуске с удвоением шага: sk = ±ej(k), j(k) = k(modn) + 1, к = 0,1,... Выбор величины (Зк осуществляется либо путем одномерной миними- минимизации, и в этом случае предполагается, что выполняется неравенст- неравенство (9.12), либо способом, изложенным в п. 9.4.6, и тогда предполага- предполагается справедливость соотношения (9.15). 9.7.9. Предположения*). Сходимость метода циклического по- покоординатного спуска будем доказывать, предполагая относительно функции <р(х), что: 2) Х*о ф 0 (см. (9.16)); 3) <^(х) ограничена снизу на множестве Xq. Относительно последовательности {х/,} будем предполагать, что: 4) хо — любая точка; 5) Х/.+1 =х/е - /3ksk, sk = ±ej(fc), j(k) = k(modn) + 1, к = 0,1,...; 6) выполняется либо условие (9.12) при 1 ^ А/. ^ Л > 0, либо усло- условие (9.15) при 1/2 ^ Хк ^ Л > 0; 7) lim ||xfc+i -Xfc|| = 0. к—>-оо Теорема. Если выполняются предположения 9.7.9 и усло- условие 9.4.12, то lim ^(xfc,Xo) = 0. (9.17) к—><х> Доказательство. Пользуясь леммой 9.2.3 и определением (Зк, получаем (аналогично тому, как это делалось в п. 9.7.6) <е)Ср. с предположениями 9.4.14.
9.7 Методы нулевого порядка 195 Вследствие монотонности и ограниченности последовательности {cp(~Xk)} имеем lim (y/(xjfe),ej(fc)) = 0. к—>-оо Для заданного е > 0 выберем номер &о так, чтобы «» ?• w 7 \ 7 - — V/C ^ /Сп. Тогда -г ^ г n при i ^ п. Из условия <p(x) G ^^(En) получаем - ^(x*)|| ^ ^, г = 1,2, ...,n. Далее, г = 1, 2, ...,п, и, следовательно, max Kcz/fxfc4 Поэтому . max \ г=1,2,...,п откуда и вытекает, что lim (p'fek) — 0. /г—>-оо В справедливости соотношения (9.17) убеждаемся на основании теоремы 9.2.5 при X = Xq и Y = Xq. A Обсуждение. Здесь уместно вспомнить теорему 9.2.13 об условиях, гарантирующих выполнение предположения 7), а именно условие линейного непостоянства функции (р(х) на ограниченном множестве Xq (замкнутость его очевидна) и условие, что последо- последовательность {х/,} является сильно понижающей. Заметим, что при этих условиях предыдущая теорема остается справедливой, но уже без предположений 2), 3), 7) и 9.4.12. Наконец укажем, что если мно- множество Xq состоит из конечного числа стационарных точек, то теоре- теорема 9.2.9 обосновывает сходимость последовательности {х/,} к точке множества Xq. Замечание. В добавлении (см. Д.2) доказывается, что метод циклического покоординатного спуска с выбором шага из усло- условия (9.15) обладает линейной по функционалу скоростью сходимости: где С > 0 зависит от xq и от размерности п пространства Еп.
ГЛАВА 10 РЕЛАКСАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ ЭКСТРЕМАЛЬНЫХ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 10.1. Характеристика методов 10.1.1. В этой главе рассматриваются методы спуска для решения задачи минимизации гладкой функции (р(х) на множестве X. Первые два метода, метод проекции и метод условного гради- градиента, применимы лишь для задач минимизации на выпуклых мно- множествах, причем в случае невыпуклой функции цели сходимость последовательных приближений можно гарантировать лишь к мно- множеству стационарных точек — точек, в которых выполняются не- необходимые условия локального минимума. Если исходная задача яв- является задачей выпуклого программирования, то для обоих методов существуют априорные оценки скорости сходимости, т. е. определен- определенная характеристика качества методов. В методах безусловной минимизации мы не встречались с принци- принципиальными трудностями в отыскании направления спуска. Наиболее трудоемкой частью было вычисление градиента целевой функции. В задачах с ограничениями при выборе направления спуска приходится учитывать два обстоятельства: направление должно быть возможным и должно гарантировать убывание минимизируемой функции. При этом выбор направления спуска связан с вычислени- вычислением величины <р'(х), а в ряде методов и величин /г'(х), и с решением на каждом шаге некоторой экстремальной задачи. Последнее обстоя- обстоятельство приводит к тому, что метод условного градиента применя- применяют лишь для множеств, задаваемых линейными ограничениями, по- поскольку в этих случаях для выбора направления спуска достаточно решить задачу линейного программирования, а метод проекции гра- градиента применяют для множеств X такого вида, что задача отыска- отыскания проекции некоторой точки на это множество является достаточ- достаточно простой с точки зрения ее численной реализации, так как решение этой задачи и определяет направление спуска. Третий метод, метод возможных направлений, характерен тем, что для выбора направления спуска решают задачу линейного про-
10.2. Метод проекции градиента 197 граммирования либо простую задачу квадратичного программирова- программирования с небольшим, вообще говоря, числом ограничений, и с этой точки зрения методу можно было бы отдать предпочтение, однако отсут- отсутствие априорных оценок скорости сходимости для выпуклых задач затрудняет сравнение метода с ранее упомянутыми. 10.1.2. Условия экстремальности. Изложим здесь условия оп- оптимальности в виде, удобном для рассмотрения методов условного градиента и проекции градиента. Будем предполагать, что множество X является выпуклым и замкнутым. Из п. 3.4.7 следует, что условие (<р'(х*),х-х*> ^0 VxGX A0.1) является необходимым для того, чтобы точка х* была локальным ми- минимумом функции (р(х) на множестве X. Если функция (р(х) выпукла, то условие A0.1) является необхо- необходимым и достаточным для того, чтобы х* = argmin{(p(x): x G X}. Действительно, необходимость следует из предыдущего, а доста- достаточность вытекает из условия выпуклости: (р(х) — <^(х*) ^ (у/(х*), х-х*> ^ 0. Л Далее, пусть р* является проекцией точки v* = х* — z/(//(x*), v > 0, на множество X. Условие х* = р* A0.2) является необходимым для того, чтобы точка х* была локальным ми- минимумом функции <р(х) на множестве X. Действительно, из A0.1) следует —i/(y/(x*),x — х*) ^ 0. Но —i/(p'(x*) = v* -x*, следователь- следовательно, (v* - х*,х - х*) ^ 0, т. е. х* в силу теоремы 2.2.3 есть проекция точки v* на X: х* = р*. Л Если функция (р(х) выпукла, то условие A0.2) является необходи- необходимым и достаточным для того, чтобы х* = argmin{(p(x): x G X}. Необходимость следует из предыдущего. Достаточность. Пусть х* = р*. Из теоремы 2.2.3 получаем (x-x*,v* -х*) ^ 0 VxG X. И так как v* = х* - i/(p'(x*) и v > 0, то, следовательно, (у/(х*),х - — х*) ^ 0, т. е. х* — точка минимума. Л 10.2. Метод проекции градиента 10.2.1. Идея метода. Как уже говорилось, в случае задач без- безусловной минимизации весьма распространенным релаксационным методом является метод градиентного спуска. Однако для задач с
198 Гл. 10. Релаксационные методы решения с ограничениями ограничениями направление вдоль антиградиента не обязательно яв- является возможным. Если множество X выпукло, то для отыскания направления в точке Х& напрашивается мысль спроектировать точ- точку vk = х/, - vk(p'(-xk) (vk — некоторое фиксированное положитель- положительное число) на множество X и в качестве направления спуска взять -в* = pk -Xfc, где рк = Px(vjfe) — проекция vk на X, после че- чего осуществлять спуск вдоль этого направления. При этом выпук- выпуклость множества X гарантирует, что направление рк — х& будет воз- возможным. Итак, метод проекции градиента состоит в вычислении проек- проекции рк точки vk = х/, — i/k^p'i'x.k) на множество X и в выборе чис- числа /Зк таким образом, чтобы в точке x^+i = хк — (Зк(~хк — рк) было Для отыскания направления sk = х& — рк следует решить задачу минимизации квадратичной функции \\vk — х||2 на множестве X. В общем случае эта задача того же порядка сложности, что и исходная, однако для задач, когда допустимое множество имеет простую гео- геометрическую структуру (например, является многомерным паралле- параллелепипедом), отыскание рк осуществляется путем сравнения п чисел. В методе проекции градиента точку рк можно вычислять прибли- приближенно, т. е. вместо рк находить некоторую точку ук и строить xfe+i по формуле = Xfc - /Зк(хк - ук), A0.3) но при этом должны выполняться следующие условия: Ук е х, (ю.4) у>(хЛ - /Зк(хк - ук)) <: A - \кМ*к) + \кик, A0.5) о < Л ^ хк^ 1, о ^ рк <: 1, (ю.б) где ик = min ip(xk - /?(хЛ - рк)). Подчеркнем, что при построении последовательности {х^} вы- выбор /Зк и Ук достаточно произволен, лишь бы выполнялись требова- требования A0.4)-A0.б). 10.2.2. Множество стационарных точек. Рассмотрим мно- множество X* = {х* еХ: ||х* -р*|| = 0} стационарных точек функции <р(х) на множестве X, т. е. точек, в которых выполняются необходимые условия локального минимума. Определим также множества Xq = {x G X : <р(х) ^ у?(хо)} и Xq = = 1*Ш0.
10.2. Метод проекции градиента 199 10.2.3. Условие, гарантирующее сходимость. Для некоторо- некоторого числа г > 0 определим множество U? = {x G X : ^(x,Xq) ^ в}, где /)(х,Хо)= inf ||х* — х|| . Условие, гарантирующее сходимость релаксационной последова- последовательности, состоит в следующем: для всякого г > 0 найдется такое S = 8(е) > 0, что для всех х Е Xq \ U? будет ||х — р|| ^ 6 при v > 0. 10.2.4. Предположения. Относительно функции <р(х) будем предполагать, что: 11 2) Хо* # 0; 3) ^(х) ограничена снизу на множестве Xq. Относительно последовательности {х/,} будем предполагать, что: 4) х0 — любая точка из X; 5) выполняются условия (Ю.З)-(Ю.б) при 0 < v1 ^ и к ^ у11 < оо. Теорема. Если выполняются предположения 10.2.4 и усло- условие 10.2.3, то lim ^(х^,Хд) = 0. /с>оо Доказательство. Из леммы 9.2.3 и условия A0.5) получаем для любого /3 е [0,1] - рк))) ^ Из п. 2.2.4 следует, что для любого vk > 0 справедливо неравенство М<Р'(хк),Хк-Рк) > ||хЛ -PfeU2. (Ю.7) Поэтому (^ - ^) ||х* - pfe||2. A0.8) Выбирая /3 = min{l, l/z/^L}, получаем при C = 1 (с учетом того, что в этом случае L 1 111 Если же C = \/vkL ^ 1, то И окончательно приходим к неравенству 2 A0.9)
200 Гл. 10. Релаксационные методы решения с ограничениями Последовательность {(^(х^)} монотонная и ограниченная снизу, поэтому <р(хЛ) -<p(xfc+i) ->> 0 при к -> оо, /(хЛ) = ||xfe -pfe||2 ->> 0 при fc —>¦ оо. В справедливости теоремы убеждаемся на основании теоре- теоремы 9.2.4 при X = Хо и У = X*. Л Замечание. Естественно, что выбор параметров Д. и vk опреде- определяет поведение последовательности {х/,}. В следующей теореме сфор- сформулированы условия выбора, при которых эта последовательность обладает свойством так называемой проекционной сходимости. 10.2.5. Теорема. Если множество X выпукло и замкнуто, функция (р(х) выпукла и дифференцируема, последовательность строится по формуле то при любых у^ > 0 и /3k G @,1], удовлетворяющих соотношению (^(х^),х^ -рд.) - — ^1- - A0.10) справедливы неравенства - х*|| ^ ||хЛ - х*|| Vx* G X* fe = 0,1,... Доказательство. Из соотношений V/, = х/, — *//,(//(х/,) и — р/,, х — pk) ^ 0 Vx G X следует при х = х* (рк -x*,xfe -рк) ^ ^(^(х^),р^ -х*). И так как (<р'(хЛ),хЛ - х*> ^ у?(хЛ) - у?(х*) ^ у?(хЛ) - ^(x^+i), то = V1 ~ 2^* ^ V1 ~ 2^*7 "Х/е ~PfeH2 + ^(^ЧХ^MР^ ~х*) = = V1 ~ 2^)"Xfe ~PfeH2 + */fc((P/(x/O>Pfc -xfc) + ^(^(Х^MХ^ ~х*) ^ V1 ~ 2 Отсюда и из равенства -x*||2 = получаем, что условия A0.10) гарантируют справедливость доказы- доказываемых неравенств. Л
10.2. Метод проекции градиента 201 Замечание. Существование решений неравенства A0.10) легко получить для <р(х) Е Cljl(X), если выбрать (О, У- 10.2.6. Теорема. Если: а) функция (р(х) выпукла и дифференцируема на выпуклом и замк- замкнутом множестве X; б) diamXo = f] < оо; в) последовательность {х/J релаксационная то имеет место оценка y т = 1,2,... Доказательство. Вначале сделаем следующие тождественные преобразования: Л - X*) = ((//(Xfc), Xfc - pfc) + (^(Xfe), Pfe - X*) = = (^'(хд;)^^ -pk) H (vjfe -p^,x* -pk) (хЛ -p^,x* - Отсюда и из условия, что (vk ~ Pfe,x* - pfe) ^ 0, получаем fc -х*) ^ (^'(хд;)^^ -рЛ> (хЛ -р^,х* -рд.) ^ ^||xfc - х*|| + ^||xfc Но из A0.8) следует неравенство ||х^ — p^||/^ ^ ||(^'(х^)||. Учитывая, что ||х* — х^|| ^ r\ и ||y/(xfc|| ^ 7 < оо, получаем окончательно нера- неравенства (х*),хк -х*> ^ B7+ J О справедливые для любой точки х* G X*, в частности, для х* = = р*(х/,) — проекции точки х/, на множество X*. Отсюда и из оценки (см. теорему 9.3.2) следует A0.11) при 0 < С ^ Bj + г]/1у')~2. Л
202 Гл. 10. Релаксационные методы решения с ограничениями Замечание. Обратим внимание на то, что в теоремах в п. 10.2.4. и 10.2.6 принадлежность (р(х) классу С1'1 не требуется. 10.2.7. Оценка скорости сходимости в выпуклом случае. Теорема. Если на выпуклом и замкнутом множестве X: а) выпуклая функция <р(х) принадлежит классу Cljl(X); б) diamXo = г\ < оо; в) последовательность {х/,} определяется условиями (Ю.З)-(Ю.б) при 0 < v1 ^ vk ^ v"\ то справедлива оценка <р(хт) - (р* ^ /iO[l + /ioCm], m = 1, 2,..., A0.12) ЛЮ60М где 7= sup Доказательство следует из неравенств A0.10) и A0.11). Л 10.2.8. О способах выбора длины шага. Многое из того, что сказано о выборе длины шага в пп. 9.4.3, 9.4.4 и 9.4.5, остается в силе, но с учетом того, что /Зк E [0,1]. Итак, для вычисления вели- величины /3k обычно пользуются одним из методов одномерной миними- минимизации. Существенно упростить процедуру выбора /3k может знание величины L — константы Липшица в неравенстве ||<^'(х) — ^;(у)|| ^ ^ L||x — у||. В этом случае в качестве /3k может быть выбрано любое из чисел, удовлетворяющих условию 0 < C ^ /3k ^ 1, но при этом вели- величина Vk должна удовлетворять неравенствам 0 < v1 ^ Vk ^ vn < 2/L. Тогда из A0.9) получаем <р(хл) - <р(хк+1 ^ ^(^7 ~ ^jW^k ~ Vk\? и сходимость (в силу п. 10.2.5), и оценка скорости сходимости (в си- силу п. 10.2.6) сохраняются. Существуют и другие способы опреде- определения величины /3k, использующие знание константы L. Например, /Зк = min{l, pk/vk}, где < ех ^ рк ^ B - г2)/Ь и 0 < z/ ^ г/к ^ v" < оо. Легко видеть, что и в этом случае и сходимость, и оценка ее скорости сохраняются. 10.2.9. Численно реализуемые условия выбора величи- величины (Зк без процедуры одномерной минимизации. В качестве /3k будем выбирать (Зк = /3% — наибольшее из чисел, удовлетворяю- удовлетворяющих неравенствам <p(xfc) - <p(xfc - /Зк(хк - рк)) ^ ^Рк\Ы ~ Pfell2, /10 щ 0 ^ /Зк ^ 1. Покажем, что существует (Зк G [0,1], удовлетворяющее неравенст- неравенству A0.13). Действительно, если выбрать /Зк = min{l,l/^L}, то (см.
10.2. Метод проекции градиента 203 вывод соотношения A0.10)) Поскольку задача о нахождении наибольшего числа, удовлетво- удовлетворяющего неравенству A0.13), решается приближенно, то можно вы- выписать соотношения, которым удовлетворяет найденное значение Д. в качестве наибольшей величины при некотором значении параметра qke @,1/2]: (К /з* ^ 1. Очевидно, что сходимость и оценка ее скорости и в этом случае сохраняются. 10.2.10. О контроле. Для того чтобы в процессе счета по мето- методу проекции градиента контролировать сходимость, целесообразно на каждой итерации вычислять величину (cp(xk) — cp(xk+i))/\\xk ~ Pk\\2- Оценка A0.11) показывает, что до тех пор, пока сохраняется ситуация (<^(xfc) - <?(xfc+i))/||xfc - p/e||2 ^ г, где величина г определяется при- принятой точностью вычислений, процесс в выпуклом случае сходится со скоростью, порядок которой не ниже 0A/т). Кроме этого, весьма действенным является контроль монотон- монотонности убывания последовательности {||х& — Рк\\} I 0. Для обоснова- обоснования этого докажем существование совместных решений нера- неравенств A0.7) и Поскольку любая фиксированная пара /3^=/3 = 1иг/^=г/Е @, — удовлетворяют условию A0.7), то достаточно исследовать монотон- монотонность {||xfc — pfc||}. Для этого воспользуемся неравенством (9.28) и тем, что из условия /3k = 1 следует, что x^+i =рк — Рх (v^) = Рх (х^ — -iV(xfc). Итак, \\рк - ^ \\vk - Vfe-i||2 = ||(х* - xfc_i) - 1у( - 2 J - v(\ - ||Xjfe - Xfc-iH2 =
204 Гл. 10. Релаксационные методы решения с ограничениями Таким образом, для обеспечения исследуемой монотонности сле- следует находить совместное решение неравенств A0.7) и A0.14). 10.3. Метод условного градиента 10.3.1. Идея метода. В этом методе выбор направления спус- спуска состоит в следующем: в точке х/, линеаризуют функцию <р(х), строя линейную функцию <?l(x) = (p(x.k) + (^'(ХА;)?Х ~~ х/г)> и затем, минимизируя (рь(х) на множестве X, находят точку ук. После этого полагают — sk = ук — х/, и далее вдоль этого направления осуществ- осуществляют спуск. Таким образом, для отыскания направления — sk следует решить задачу минимизации линейной функции на множестве X. В общем случае это задача того же порядка сложности, что и исходная, однако, когда допустимое множество задается линейными ограниче- ограничениями, она становится задачей линейного программирования, конеч- конечномерные методы решения которой рассматривались в гл. 5. Напомним, что множество X предполагается выпуклым и замк- замкнутым, а функция (р(х) е Cljl(X). 10.3.2. Схема метода. В качестве х0 выбирается любая точка из множества X. Точку x^+i (к = 1,2,...) строят по формуле уЛ). A0.3) При этом ук выбираются таким образом, что (<р'(хк),Хк -У к) ^ min {(тк sup^Xfc^Xfc -x),o^}, A0.15) где ак — заданные числа такие, что ак ^ а > 0, а числа ак удовле- удовлетворяют соотношению 0 < а ^ ак ^ 1. И, кроме того, ||х*-у*К*<оо. A0.16) Числа /3k выбирают, минимизируя функцию ф(/3) = (p(x.k) ~ - C(хк - уЛ)) на отрезке [0,1]. Будем предполагать, что Д. удовлетворяет соотношениям 0 < Л ^ Хк^ 1, 0 ^ (Зк ^ 1, где ик = min if{-Kk - C{-кк - уд.)). A0.17) 10.3.3. Обсуждение. Условия выбора ук из соотношения A0.15) можно проиллюстрировать следующим примером. Если множест- множество X задается линейными ограничениями, то задача отыскания ук
10.3. Метод условного градиента 205 становится задачей линейного программирования — задачей макси- максимизации линейной функции (у?'(х^),х^ — х) на многогранном множес- множестве X. При решении этой задачи условия A0.15) допускают возмож- возможность ограничиться несколькими симплексными шагами в сторону возрастания функции (ip'(хк), хк — х). Кроме того, множество X может оказаться неограниченным. При этом, несмотря на то, что исходная задача имеет решение, задача вы- выбора направления может и не иметь решения, т. е. возможна ситуа- ситуация, когда для некоторого номера к будет sup ((р1 (хк), хк — х) = +оо. Условие A0.15) и в этом случае позволяет находить точку ук. Заме- Заметим, что выбор чисел ак и появление чисел ок лимитируются усло- условием A0.16). Условие, гарантирующее сходимость, остается тем же, что и в методе проекции градиента (см. п. 10.2.3). 10.3.4. Предположения. Относительно функции (р(х) будем предполагать, что: 1Д 2) Х*о ф 0; 3) <^(х) ограничена снизу на множестве Xq. Относительно последовательности {х/,} будем предполагать, что: 4) хо — любая точка из X; 5) выполняются условия A0.3), A0.5), A0.6), A0.15), A0.16). 10.3.5. Теорема. Если выполняются предположения 10.3.4 и условие 10.2.3, то lim р(хЛ,Хо*) = 0. к—>-оо Доказательство. Из леммы 9.2.3 и условия A0.5) получаем для любого C Е [0,1] ) - ик) Выбирая п ^ (^ (xi.),Xjs. — Yk) получаем, что при р = 1 ^ - ^'*-У*>, A0.18) = (y'(xfc),xfc-yfc) A0.19)
206 Гл. 10. Релаксационные методы решения с ограничениями Пусть рк означает проекцию точки vk = х/. ~ <^'(xfc) на множест- множество X. Тогда в силу A0.8) (<р'(хЛ),хЛ - рк) ^ ||хЛ -рк\\2, и, учитывая, что ак ^ а > 0 и ак ^ а > 0, получаем (см. A0.15)) (<рг(хк),*.к -У к) ^ min {ак sup (<р'(хЛ), хЛ -х),аА} ^ -рк\\2,ак} ^ min{cr||xfe -р^||2,а}. A0.20) Поскольку последовательность {(^(х^)} монотонная и ограничен- ограниченная снизу, то (р(х.к) — (^(xjfe+i) —>¦ 0 при к —У оо и, следовательно, из A0.18), A0.19) и последнего неравенства получаем, что \\хк — рк\\ —У 0 при к —У оо. Значит, найдется такой номер &о, что для всех к ^ ко бу- будет cr||xfc -Pfe||2 < min{l,a}, и поэтому из A0.18)—A0.20) приходим к неравенству tp(xk) - ^(хЛ+1) ^ С||хЛ - рк\\2 Ук ^ к0, щеС=-ашт{1,— ). В справедливости теоремы убеждаемся на основании теоре- теоремы 9.2.5 при X = Хо, Y = X*. Л 10.3.6. Оценка скорости сходимости в выпуклом случае. Теорема. Если на выпуклом и замкнутом множестве X: а) выпуклая функция принадлежит классу С1:1(Х); б) diamXo = г] < оо; в) последовательность {х/,} определяется условиями A0.3), A0.5), A0.6), A0.15), A0.16); то справедлива оценка <р(хт) - <р* ^ /хо[1 + /ioCm], ш = 1, 2,..., A0.21) ЛЮ60М Доказательство. Так как (у?'(х^),х^ — у^) > 0 (если ((//(х/,), — УА;) = 0, то xfe = Pk, и xfe является точкой минимума) и ((//(х/,), - ук) ^ Ц^Х^)!!!!^ - Ул|| ^ 7^ гДе 7 = SUP ||^'(хI1» то из (Ю-1^) получаем, что (^(x^xfc yfe), и в силу A0.19) приходим к неравенству fe -yfeJ A0.22) ^ Л .fill при С\ — — mm { -, -— >.
10.4- Метод возможных направлений 207 Если сгд. sup (у/(xfc),Xfc — х) ^ ак, то из A0.15) следует нера- венство fc -X*) ^ <7(<p'(Xfc),Xfc -X*). Если же ак sup(<p'(xfc),Xfc - х) > ак, то (<p'(Xfc),Xfc -уд.) ^ «fe ^ — (<p'(Xfc),Xfc -X*) ^ — (<p'(Xfc),Xfc -X*). Пусть С2 = minjcr, —}, тогда (<р'(хЛ),хЛ - ук) ^ С2 ((р'(х/0 > х& ~ -х*). Окончательно отсюда и из A0.22) получаем неравенство (х^),х, - х*J, С = CiC22, A0.23) справедливое для любой точки x*G X*, в частности для x*=p*(xfe) — проекции точки Х& на множество X*. Из A0.23) и из оценки (см. теорему 9.3.2) следует A0.21). Л 10.3.7. Обсуждение. Ясно, что с уменьшением величины С ухудшается априорная оценка сходимости этого метода. Для того что- чтобы выяснить вопрос выбора ак, оценим величину С: при некоторых естественных предположениях справедливо неравенство С ^ С а2 /х2, где С = const > 0. Поскольку величина ||xfe - у^|| зависит от выбора а и, следовательно, к зависит от а, то соотношения, оценивающие ве- величину С, показывают, что ак целесообразно выбирать таким, чтобы отношение a|/||xfc — yk\\ не убывало с увеличением числа к. 10.4. Метод возможных направлений 10.4.1. Идея метода. Для отыскания точек локальных мини- минимумов общей задачи нелинейного программирования реально при- применимы те из релаксационных методов, в которых при вычислении направления спуска из некоторой точки х учитываются локальные свойства минимизируемой функции и локальные свойства множест- множества X в окрестности точки х. Из известных методов таким условиям удовлетворяет метод возможных направлений. Направление спуска в этом методе находят следующим образом: строят в точке х ко- конус возможных направлений, который задается системой линейных
208 Гл. 10. Релаксационные методы решения с ограничениями неравенств, и выбирают в этом конусе вектор конечной длины, со- составляющий острый угол с антиградиентом целевой функции. Таким образом, метод возможных направлений можно рассматривать как естественное распространение метода градиентного спуска на задачи минимизации с ограничениями. В отличие от двух предыдущих ме- методов, метод возможных направлений обладает тем преимуществом, что для отыскания направления спуска достаточно решить задачу линейного программирования с небольшим числом ограничений либо простейшую задачу квадратичного программирования. Итак, рассматривается задача (^(х) —У min на множестве X = {х: /i(x) ^ 0, г — 1,т}. Релаксационную последовательность {х/,} С X будем строить по формуле xfe+1 =xk-0ksk, A: = 0,1,... A0.24) 10.4.2. Задача выбора направления спуска. Рассмотрим за- задачу отыскания такого числа а и такого вектора s, что а —У max, <#(x),s> + <7^0, iel, -(^'(x),s)+^0, A0.25) (s,sKl. Последнее нелинейное ограничение избавляет от неограниченнос- неограниченности решения задачи A0.25). Иногда это ограничение заменяют сле- следующим: — 1 ^ Sj ^ 1, j = l,n, и тогда задача A0.25) становится задачей линейного программирования. В дальнейших рассмотрениях мы ограничимся задачей A0.25), однако все сказанное выше остается в силе и для задачи A0.25) с линейными ограничениями. Обозначим через а(х,г), s(x,s) решение задачи A0.25) при / = = /(х, г) = {г: 0 ^ /i(x) ^ г}, где г — некоторое положительное число, а а(х, 0) и s(x, 0) — решения задачи A0.25) при / = /(х, 0) = {г: /г(х) = = 0}. Для того чтобы направление —s, ||s|| = 1, в точке х G X было воз- возможным, достаточно, чтобы а > 0 и s удовлетворяли неравенствам (/г;(х), s) + а ^ 0 для всех г G /(х,г) и хотя бы для одного е > 0. Доказательство этого утверждения аналогично доказательству теоремы 3.2.6. Таким образом, первые ограничения в задаче A0.25) гарантируют, что направление —s является возможным в точке х, а второе обеспечивает убывание <р(х) вдоль этого направления. 10.4.3. Расстояние до границы. Определим величину ( — рас- расстояние от точки х до ближайшей по направлению —s граничной точ- точки множества X. Если —s — направление, возможное в точке х, то
10.4- Метод возможных направлений 209 существует число /3 > 0 такое, что х — /3s Е X для всех /3 Е [0,C]. Величина ? = sup/З (если она конечна) означает длину наибольшего отрезка [х,х — ?s], целиком принадлежащего множеству X. При этом у = х — ?s является граничной точкой множества X. Если ? = +оо, множеству X принадлежит луч х — /3s, /3^0. При х = х& и s = sk будем обозначать ( = (к. 10.4.4. Схема метода. В качестве начального приближения xq может быть выбрана любая точка множества X, a So выбирают из полуинтервала @,1]. Пусть в результате к-й итерации вычислены хк и гк. Опишем (к + 1)-ю итерацию. Шаг А. Решая задачу A0.25) при / = /(х/,,^), вычисляют до- допустимые ак и Sfc, ||sfc|| = 1, такие, что ак ^ ^(х*,^), где 0 < ? ^ ^ & ^ 1. Шаг Б. Если ак ^ ек, то переходят к вычислению величины /Зк. Обычно (Зк вычисляют, решая задачу одномерной минимизации функ- функции ф(/3) = (р(х.к — /3&к) ПРИ 0 ^ /3 ^ (к. Величина /Зк при этом должна удовлетворять условиям - /3ksk) ^ A 0 < Л ^ А* ^ 1, ujk = inf ^(хЛ - /3sfe). A0.26) Числа /Зк можно выбирать также следующим образом. Пусть /Зк — наибольшее из чисел, удовлетворяющих соотношениям <р(хЛ) - <р(хЛ - /3fesfe) ^ 1^G*., 0 ^ /3fe^ Сь (Ю.27) В качестве (Зк можно взять любое число, удовлетворяющее нера- неравенствам A0.27) и условию /Зк ^ Oif3k при любом a G @,1]. Наконец, вычисляют x^+i = хк — Ckskj полагают ек+\ = ек и пе- переходят к шагу А. Шаг В. Если 0 < ак < ек, то полагают xfe+i = хЛ, г^+i = jkekj где 0<7^^7<1?и переходят к шагу А. Если ок — 0, то вычисля- вычисляют <7(xfc,0), решая задачу A0.25) при / = /(х/,,0). Если а(х^,0) = 0, то процесс останавливают. В противном случае полагают x^+i = х&, ?к+\ = 1к?к, где 0 < jk ^ 7 < 1> и переходят к шагу А. 10.4.5. Обсуждение. Шаг А позволяет задачу A0.25) при / = = /(xfc,?fc) решать приближенно, ограничиваясь несколькими итера- итерационными шагами в сторону возрастания величины а. Условия A0.27) позволяют воспользоваться для вычисления (Зк известным способом удвоения. Сходимость метода будем исследовать лишь для случая, когда (Зк удовлетворяет условиям A0.26). Ознакомившись с доказательством сходимости, читатель в случае необходимости без труда сможет ис- исследовать сходимость для случая A0.27).
210 Гл. 10. Релаксационные методы решения с ограничениями 10.4.6. Предположения. 1) Функции (р(х) и /i(x) (г = l,m) принадлежат классу Сг1'1(Х); 2) существует такое число М > 0, что ||/г'(х)|| ^ М для всех х G еХ0 = {хеХ: у,(х) ^у>(х0)}; 3) X* = {х* G X: ст(х*,0) = 0} ^ 0; 4) inf ср(х) > —оо; 5) последовательность {х/,} ограничена. 10.4.7. Условия экстремальности. Поясним условие 3). В силу ремы 3.3.2 условие, что в каждой паре а и s, удовлетворяющей теме теоремы системе (Л(х), s> + а <С 0, г Е /(х, 0), -<?>'(х), s> + а ^ 0, будет сг ^ 0, является необходимым условием того, что х есть точка локального минимума функции (р(х) на множестве X. Если же функция (р(х) выпукла, функции /i(x) (г = 1,ш) вогну- вогнуты, а множество X вдобавок регулярно по Слейтеру (см. п. 3.4.3), то сформулированные выше условия являются достаточными для оп- оптимальности точки х. Доказательство этого утверждения состоит в следующем. Повторяя выкладки доказательства теоремы 3.4.4 (см. также п. 3.3.5), переходим к соотношению ^Л(х). ^0, ге/(х,0), г?/(х,0) которое по теореме 3.5.1 и определяет оптимальность точки х. Обратимся теперь к условию X* ф 0. Поскольку пара а = 0, s = 0 является допустимой для задачи A0.25), то в ее решении а(х, 0) ^ 0, и, следовательно, X* — это множество точек, в которых выполняются необходимые условия локального минимума. Заметим, что к этим точкам добавляется и ряд других, например, точки, в которых не существует возможных направлений. 10.4.8. Лемма. Для всех а и s, удовлетворяющих условиям г е /(х,г), х е X, (s,s) ^ 1, а ^ г ^ 0, A0.28) справедливо неравенство С ^ Cie, A0.29) гдеСх = min{l/M, 1/L}. Доказательство. Очевидно, что достаточно рассмотреть слу- случай ? < +оо. Так как точка у = х — ?s является граничной (согласно определению числа ?), то найдется такой номер г, что /г(у) = 0. Если в точке х будет /;(х) > г, то г < /Дх) = |/;(х) - /;(у)| ^ М||х - у|| = М(, откуда С > е/М. A0.30)
10.4- Метод возможных направлений 211 Пусть в точке х будет 0 ^ /г(х) ^ в, т. е. г G /(х,г). Обозначим ф(C) = /f(x - Cs) и заметим, что ф(C) ^ 0 при C G [О, С] и ф(() = 0. Легко видеть, что Лф{C . п d/3 а значит, (/^(x),s) ^ 0. Из условия г G /(х,г) и условия, что о и s удовлетворяют системе A0.28), имеем (//(x),s) ^ —сг; поэтому F < ГТ < -(f'(*) ч\ < /fVv"! ч\ - (f'(*) ч\ < откуда С ^ e/L. A0.31) Из A0.30) и A0.31) получаем ? ^ smin{l/M, 1/L}, т. е. неравенст- неравенство A0.29). Л 10.4.9. Лемма. Если точка x^+i построена по схеме метода и при этом &k ^ ?k ^ 0, то справедливо неравенство ^(xfe) - ?>(x*+i) ^ С2е1, С-2 = Ad/2. A0.32) Доказательство. Из леммы 9.2.3, условия A0.26) и неравен- неравенства (y/(xfc),Sfc) ^ сг^ (последнее имеет место, поскольку а^ и s^ до- допустимы для задачи A0.25)) получаем для любого C G [0, Ofe] - \bC2 При /3 = min{^, (Jk/L} отсюда получаем неравенство min {(k, ?-f-}. A0.33) И в силу леммы 10.4.8 приходим к соотношению A0.32) при Ci — = ACi/2. Л 10.4.10. Лемма. Для любой точки xGl найдутся такие чис- числа г = г(х) > 0 U S = ?(ё), 47720 72/Ж вСбХ 8 G [0, г] ?/ X Е ?/# (х) = = {xGl: ||х - х|| ^ й} будет /(х,г) С /(х,0). Доказательство. Обозначим J = {г = 1, 2,..., т} и выберем г = = min { f;(x) j/2. Заметим, что г > 0, поскольку для г G J \ /(х, 0) iGJ\/(x,0)L V П1 \ V ' ^ будет /^(х) > 0. В силу непрерывности функций /г(х) и конечности числа номеров г, г ^ ттг найдется такое число 6(г) > 0, что для всех х G [/^(х) и всех г G J будет |/f(x) - /Дх)| ^ г. Так как /;(х) ^ 2г, г G J\/(x,0), то /г(х) ^ г для всех х Е ^(х) и всех г G J \ /(х, 0). Таким образом, при
212 Гл. 10. Релаксационные методы решения с ограничениями г Е [О, г] для любого ieJ\ /(х, 0) будет г Е J\ /(х, г), а следовательно, справедливо включение /(x,s) С /(х, 0). Л Пусть ~о — а(х, 0), х = s(x, 0) — решение задачи A0.25) при х = х и / = /(х,0). 10.4.11. Лемма. Если /(x,s) С /(х, 0) иа>0, то существует такое число S = й(а) > 0, что для всех х Е [/^(х) будет a(~x,s) ^ а/2. Доказательство. Так как ^'(х) и /г-(х) (г = 1,2, ...,т) непре- непрерывны, то существует такое число S(W) > 0, что для всех х Е Usffl будет ||^'(х-^(х)|| sC а/2 и Щх) -/?(х)|| «С а/2, г G 7(х,0). Для любого х Е ?7E (х) и любого г Е /(х,е) С /(х, 0) 0 ^ (Л(х),8) +а = (Л(х),8) +а + (Л(х) - /?(x),s> ^ ^ (Л(х),8> + а - ||Л(х) - Л(х)||||8|| ^ (Л(х),8> + а/2 и, аналогично, 0 ^ — ((^'(х),^) + сг/2. Таким образом, сг = сг/2 и s = s для любого х G [/^(х) удовлетво- удовлетворяют ограничениям задачи A0.25) при / = /(х,е). Но так как сг(х,е) и s(x,e) являются решением задачи максимизации величины а при тех же ограничениях, то а(х,г) ^ сг/2. Л 10.4.12. Теорема. Е'сли выполнены предположения 1)-5), то lim p(x.k,X*) = lim lim ||x^—x*||=0. Доказательство. Обозначим через К совокупность всех ин- индексов последовательности {х/,}: К = {к = 0,1,...}. Предположим, что Sk^ s > 0 для некоторого г > 0 и для всех к ? К. Тогда в соответствии со схемой метода найдется такой номер ко G К, что g^ ^ Sk ^ ? > 0 для всех & ^ &о. Из A0.29) имеем ^ ^ Ci^ ^ Ci?, и тогда в силу A0.32) получаем (р(х^) — (p(x^+i ^ C2S2 для всех к ^ ко. Но последователь- последовательность {<p(xfc)}, сходящаяся (в силу монотонности и ограниченности), чему противоречит предыдущее неравенство. Итак, Sk ->• 0, fc ->• 00. Согласно схеме метода найдется набор индексов Ki d К такой, что &k —* 0, к G Ki, к —>- оо. Теперь докажем, что все предельные точки последовательнос- последовательности {х/,} принадлежит множеству X*. Рассмотрим два случая. Случай 1. Пусть х — единственная предельная точка, т. е. lim x^=xGl. Предположим, что xGl\ X*. Тогда <f(x, 0) = W > 0, и, следовательно, по лемме 10.4.10 найдутся такие числа г > 0 и й(г) > 0, что /(х,е) С /(х, 0) при всех г G [0,г] и х Е [/^(х). Так как г^ —>- 0 и х/, —>- х, к —У оо, то найдется такой номер ко, что х/, G [/^(х) и Sk < ё) для всех к ^ /^о и, значит, /(х^,е^) С /(х, 0). Но тогда соглас- согласно лемме 10.4.11 для к ^ ко становится справедливым неравенство W^kjSk) ^ ^/2, противоречащее тому, что сгд. —>¦ 0, fc E Ifi, fc —>¦ оо. Случай 2. Пусть существует предельная точка xGl последо- последовательности {х/,}, отличная от х: х ф х. Будем по-прежнему предпо- предполагать, что х Е X \ X*. Тогда найдется такое S > 0, что xG\()
10.4- Метод возможных направлений 213 В силу того, что х и х — две различные предельные точки нашей последовательности, для любого натурального N найдется такой но- номер к ^ N и такое число т ^ 1, что Х& G ^/2(х), xfe+i G ^(х), г = 0,1,...,ш - 1, xfe+m Gl\ Е/я(х). Теперь воспользуемся неравенством A0.33): к+т — 1 к+т — 1 <p(xk) - 4>(хк+т) = ^ ^(xi)-^(xi+i) ^-аЛ ^2 и поскольку Xi е ^(х), г = /с, к + 1,..., & + т - 1, то О{ ^ а/2, г = к, к + 1,..., к + m — 1. Кроме того, (^ ^ Д для всех номеров г; поэтому fe+m-l аЛа J^ min Заметим, что fe+m-l _ k+m-l S= Е тШ {А, |^ min { _ к+т-1 Действительно, если все fa ^ ¦?-, то Е = У^ Д. Если же хотя бы для _ _г=к одного номера j будет Ej > ^т, то Е > ^-. Поскольку к+т-1 -, то 2^ А ^ 2' И П0ЭТ0МУ Последнее неравенство противоречит сходимости последователь- последовательности {<p(Xfc)}. Итак, любая предельная точка последовательности {х^} принад- принадлежит множеству X*. В силу компактности {х/,} отсюда следует lim р(хЛ,Х*) = 0. А к—>-оо 10.4.13. Случай присутствия линейных ограничений. Ес- Если некоторые ограничения, определяющие множество X, линейны, то целесообразно разбить ограничения на две группы — линейные и нелинейные: Х = {х: Д(х)^0, i€h, (аьх)^^, i G/2},
214 Гл. 10. Релаксационные методы решения с ограничениями В этом случае задача выбора направления спуска приобретает следующий вид: max сг, <#(x*),s>+<7^0, ieh(xk,ek), (a^sKO, ге/2(х*,еЛ), A0.35) где Естественно, что схема метода в этом случае остается прежней. Остаются прежними и все рассуждения при доказательстве сходи- сходимости метода. При этом требование регулярности в нашем случае можно ослабить по сравнению с тем, которое было введено раньше. А именно, множество X, определенное соотношениями A0.34), будем называть регулярным, если для всех г Е 1\ найдется такой х Е X, что /г(х) > 0 (г Е /i). Таким образом, свойство регулярности относится лишь к нелинейным ограничениям. 10.4.14. О решении задачи выбора направления. В случае когда последнее ограничение задачи A0.35) имеет вид -1 ^ Sj ^ 1, j = l5n, задача выбора направления является задачей линейного программирования, и, следовательно, для ее решения применимы ко- конечные алгоритмы. Если же (s,s) ^ 1, то задача A0.25) имеет нели- нелинейное ограничение. Покажем, что эта задача в определенном смысле эквивалентна задаче квадратичного программирования специального вида. Запишем задачу A0.25) следующим образом: max сг, Qs + crl^O, A0.36) Здесь Q — матрица, строками которой являются векторы [//(х)]т при г G /(х,е) и [—(//(х)]т. Во избежание громоздкости индекс к — номер итерации — здесь опущен. Через I обозначен вектор 1Т = A,1,..., 1). Заметим, что поскольку а — 0, s = 0 являются допустимой парой, а допустимое множество задачи A0.36) ограничено и замкнуто, то эта задача всегда разрешима. Рассмотрим задачу min(s,s),
10.4- Метод возможных направлений 215 Очевидно, что если множество {s : Qs + 1^0} непусто, то решение этой задачи существует. Обозначим его через si. Заметим, что si ф 0, так как s = 0 не является допустимой точкой задачи. 10.4.15. Теорема. 1) Пара а* = l/||si||, s* = si/||si|| является решением задачи A0.36). 2) Если множество {s : Qs + I ^ 0} пусто, то оптимальное зна- значение а в задаче A0.36) равно нулю. Доказательство. Так как Qs* + a*I = (Qsi + I)/||si|| ^ 0 и (s*, s*) = 1, то пара a*, s* допустима для задачи A0.36). Предположим, что найдется пара сг, s, удовлетворяющая ограничениям задачи A0.36), такая, что W > а* > 0. Тогда точка s/W будет допустимой для задачи A0.37): Q=s + I= =(Qs + cFl) ^0, а а поэтому (sbsi) ^ (=s,os) = ^(s,s) < ( —) (s,s = (sbsi)(s,s), от- куда получаем неравенство (s, s) > 1, противоречащее допустимости точки s для A0.36). Вторая часть теоремы является очевидным след- следствием ее первой части. Л 10.4.16. Для решения задачи A0.37) удобно воспользоваться сле- следующими соображениями. Функция L(s,u) = ||s||2 + (u,Qs + I), seEn, u^0, является функцией Лагранжа для задачи A0.37). Ее седловая точка s*, и* определяется соотношением L(s*,u*) = minminZ/(s,u). s u^O Поскольку по s функция L(s, u) строго выпукла и квадратична, то ее минимум по s достигается в точке s(u) = —QTu/2. Тогда L(s(u), u) примет вид L(s(u),u) = —||QTu||2/4 + (I, u). Таким образом, для отыскания s* надо решить задачу maxL(x(u), u). Это — задача минимизации квадратичной функции на множестве простой структуры, u ^ 0. Хорошие результаты при решении этой задачи дает метод проектирования сопряженных градиентов. Этот метод отличается от изложенного ранее метода проекции градиента тем, что на множество u ^ 0 проектируют не градиенты минимизи- минимизируемой функции, а сопряженные градиенты.
216 Гл. 10. Релаксационные методы решения с ограничениями 10.5. Способы отыскания допустимой точки 10.5.1. Во всех рассмотренных релаксационных методах решения задач математического программирования предполагалась известной начальная точка xq Е X. Ниже излагаются три способа отыскания точки х, принадлежащей множеству Х = {х: /i(x) ^0, ieh, (а*,х)^Ь;, г Е /2}. Для отыскания точки ж, удовлетворяющей линейным ограничени- ограничениям (а^,х) ^ bi, i E /2, применим любой из методов, рассмотренных в линейном программировании (см. методы отыскания исходной угло- угловой точки). Заметим, что эти методы конечны. Итак, будем предполагать, что нам известна точка xq E Еп такая, что (а^,хо) ^ bi, г Е 1^- Обозначим 10.5.2. Способ 1. Пусть 0, если /ii(xo) ^ О, г Е /i, 1, если /ii(xo)>0, гЕ/2. Для отыскания допустимой точки множества X будем решать сле- следующую задачу: /i(x)+pi^0, гЕ/i, A0.38) (аьх) ^ 6i, г Е /2. Исходной допустимой парой xq, ^о Для этой задачи будет xq и ?о = max /if(xo). Обозначим через х*, ^* решение задачи A0.38). ieh,Pi=l Заметим, что так как ^* = inf ?, то такое обозначение предусматри- предусматривает, вообще говоря, и случай, когда ?* = — оо. 10.5.3. Теорема. Если для задачи A0.38) найдется такая до- допустимая пара х, ?, что ? ^ 0, то точка х будет принадлежать множеству X. Если же в решении х*, ?* задачи A0.38) будет ?* > 0, то множество X пусто. В самом деле, если X ф 0, то существует такая точка х, что hi(x) ^ 0 для всех г Е /i U /2. Тогда, взяв ? = max /if (x) ^ 0, получаем, ieh что пара х, ? допустима и при этом справедливо неравенство ? < ?*, противоречащее предположению о минимальности величины ?*. Л Решать задачу A0.38) можно, применяя любой сходящийся ре- релаксационный процесс. 10.5.4. Теорема. Если множество X непусто и обладает свойством регулярности относительно нелинейных ограничений, то
10.5. Способы отыскания допустимой точки 217 любой слабо сходящийся релаксационный процесс приводит к допусти- допустимой паре х, ? ^ 0 задачи A0.38) за конечное число итераций. Доказательство. Если ?о ^ 0, то хо ? X. Предположим, что ?о > 0. Так как множество X регулярно, то найдется точка xGl та- такая, что /ii(x) < 0 для всех г Е 1\ и (а^,х) ^ 6i для всех г Е /2. Вследст- Вследствие этого пара х, ? = max hi(x) будет удовлетворять ограничениям задачи A0.38), и, значит, lim ?m = ?* ^ ? < 0. Но исходное значение га—>-оо ?о положительно (?о > 0), поэтому из свойств сходящейся последова- последовательности {?т} вытекает существование такого номера то, начиная с которого все ?т ^ 0, т = то, то + 1,... Таким образом, любой слабо сходящийся релаксационный процесс за конечное число т0 итераций приводит к паре xmo,?mo ^ 0. Л 10.5.5. Способ 2. Пусть х0 — фиксированная точка из Еп. Обозначим _ Г 0, если /ii(x0) ^0, г Е /1 U /2, ^ ~ \ 1, если /1г(х0) > 0, г Е /i U /2. Для отыскания допустимой точки множества X будем решать сле- следующую задачу: ? —У min, /i(x)+pi^0, iG/i, A0.39) (ai5x) +р? ^bu ie /2. Исходной допустимой парой xq, ?0 Для этой задачи будет xq и ^о = max /1г(х0). i,pi=l Ясно, что если найдется такая допустимая пара х, ?, что ^ = 0, то точка х будет принадлежать множеству X. Если же в решении х*, ?* задачи A0.39) будет ?* > 0, то множество X пусто. В отличие от предыдущего способа, здесь отыскание допустимой точки множества X происходит в один этап (не надо отдельно ре- решать задачу отыскания точки, удовлетворяющей линейным ограни- ограничениям), гарантировать же конечность релаксационного процесса в способе 2 можно лишь в случае ?* < 0, например, если множество X регулярно относительно линейных и нелинейных ограничений. 10.5.6. Способ 3. Рассмотрим основную задачу выпуклого прог- программирования (р(х) —У min при условиях Третий способ представляет собой обобщение М-метода решения задачи линейного программирования на нелинейный (выпуклый) случай.
218 Гл. 10. Релаксационные методы решения с ограничениями Определим для фиксированной точки xq ^ 0 величину _ Г 0, если /;(х0) ^ О, "I Х' pi~\ 1, если /<(хо) < 0, и рассмотрим задачу <p(x) + M? —> min, /.(x) + ^.^ о, г = T~ra, A0.40) x ^ 0, ^0. Здесь M — некоторое число, о выборе которого речь пойдет ниже. Пара хо, ?о = max (—/^(хо)) будет допустимой для задачи A0.40). ,P Мы покажем, что при определенных условиях решение х*, ?* этой задачи таково, что точка х* является оптимальной точкой основной задачи. Пусть выполняются все условия, при которых справедлива теоре- теорема 3.6.7, а именно множество X основной задачи выпуклого програм- программирования обладает свойством регулярности 3.4.2, а функции <р(х) и fi(х) (г = 1, т) непрерывно дифференцируемы на множестве Г. В этих предположениях справедлива следующая теорема. 10.5.7. Теорема. Если разрешима основная задача выпуклого программирования, то найдется такое число Мо, что для всех М ^ Мо в любом решении х*, ?* задачи A0.40) точка х* будет оп- оптимальной для основной задачи. Доказательство. По условию существует точка х* = argmin {<^(х): х G X}. Функция L(x,y) = <р(х) - (y,f(x)>, где fT(x) = (Д(х),..,/m(x)), является функцией Лагранжа основной задачи выпуклого программи- программирования. В силу теоремы 3.6.7 пара х*, у* является седловой точкой функции L(x,y) на множестве х ^ 0, у ^ 0 и L(x*,y*) = (р*, так как (см. C.34) в п. 3.6.7) (y*,f(x*)) = 0. Обозначим рТ = {ри...,рш) и выпишем функцию Лагранжа для задачи A0.40): Li (х, ?, у) = у>(х) + М? - (у, f (х) + рО, -оо в противном случае. Следовательно, если М ^ /_^2/г* = ^о5 то inf Li(x,^,y*) = inf L(x,y*) = L(x*,y*) = if*.
10.6. Методы случайного спуска 219 С другой стороны, sup Li (х, f, у) ^ sup inf Lx (x, f, у) ^ 5> inf Li(x,f,x*) = y>*. x^o,c^o Обозначим Z = {x,?: f(x) + p? ^ 0, x ^ 0, ? ^ 0}. Поскольку Li(x, ?, у) является функцией Лагранжа для задачи A0.40), то inf supLi(x,?,y) = inf (<р(х) + Mf) ^ у?*, причем правое неравенство выполняется в силу того, что для всякого х е X будет (х,0) е Z. Таким образом, inf supLi(x,?,y) =sup inf Li(x,^,y) = = L1(x*,O,y*)=L(x*,y*) = ?J*) откуда и следует справедливость теоремы. Л 10.5.8. Следствие. Если найдется такое большое М, что в решении х*; ?* М-задачи A0.40) будет ?* > 0, то основная задача выпуклого программирования неразрешима. Действительно, если основная задача разрешима, то для М > Мо в любом решении М-задачи будет ?* = 0. Противоречие и доказывает утверждение следствия. Л 10.5.9. Обсуждение. 1. Естественно, что величина Mq практически нам неизвестна. В силу этого в качестве М выбирают некоторое достаточно большое число. При этом следует иметь в виду, что выбор слишком большого М может привести к потере точности вычислений. 2. Если в множестве X выделены линейные ограничения, т. е. Y — /лг • f-(v\ > П- i ?= Тл /я- лг\ > h- i ?= Тп лг > (W то теорема 10.5.7 сохраняет силу и при условии регулярности мно- множества X относительно лишь нелинейных ограничений. 3. Наконец, укажем на одну возможность применения М-метода. Предположим, что в результате некоторого процесса минимизации получена точка Хо, близкая к х*, но не принадлежащая множест- множеству X. В этом случае применение способа 3 может оказаться весьма перспективным для уточнения приближенного решения Хо. 10.6. Методы случайного спуска 10.6.1. Эти методы характеризуются тем, что в качестве направ- направления s/, в формуле х/,+1 = х/, — /3kSk (к = 0,1,...) выбирается неко- некоторая реализация n-мерной случайной величины s с известным за- законом распределения. Трудно сказать что-нибудь определенное об
220 Гл. 10. Релаксационные методы решения с ограничениями эффективности методов случайного спуска, однако благодаря исполь- использованию быстродействующих компьютеров эти методы оказываются практически полезными. 10.6.2. Обозначения и определения. P{A\?k-i, ...,?o} — условная вероятность осуществления собы- события А относительно случайных величин ?fc-i, ...,?о- M{?fc|?fc_i, ...,?о} — условное математическое ожидание случай- случайной величины ?& относительно случайных величин ?fc-i,...,до- ?fc-i,...,дозапись ?&->•?, fc ->• оо означает, что последовательность случайных величин {?&} сходится по вероятности к случайной величине ?, т. е. для любого г > 0 P{\?k - ?| > ?} —>> 0, & —)> оо. Запись ?&—>¦?, к —> оо означает, что последовательность случай- п.н ных величин {х/,} сходится почти наверное (с вероятностью 1) к слу- случайной величине ?, т. е. для любого г > 0 P{sup |?m — ?| > г} —> 0, к ^оо. m^fe 10.6.3. Процедура случайного поиска при решении задач безусловной минимизации. В качестве s/, выбирают случайный вектор единичной длины и затем проверяют, делая малый шаг по на- направлению —Sfc, будет ли функция <р(х) убывать в окрестности точ- точки х/, вдоль этого направления. По сути дела таким образом прове- проверяют знак величины аи = (у?'(х^), s^)/||(^/(x^)|| (напомним, что Если аи > 0, то осуществляют спуск по формуле Х/.+1 = х/. -/JfcSfc, A0.41) в которой Д. выбирают таким образом, чтобы выполнялось условие О < А ^ Хк^ 1, cjfe = inf if{^k - 0sk). A0.42) Если а^ < 0, то полагают x^+i = x^, — s^+i = s^ и осуществляют спуск. При ak = 0 полагают x^+i = x^ и вычисляют новое случайное направление. 10.6.4. Предположения. Относительно случайных векторов sq,si, ... предполагаем, что они независимы и таковы, что выполняет- выполняется условие Р{а^а2|хь...,х0}^р>0, fc = O,l,..., A0.43) для некоторого a G @,1). Заметим, что случайные величины а^, вообще говоря, зависимы. Примеры реализации случайных векторов s/,, удовлетворяющих условию A0.43), рассмотрены в п. 10.6.10.
10.6. Методы случайного спуска 221 Относительно минимизируемой функции (р(х) предполагаем, что множество ее стационарных точек непусто: X* = {х*: (р'(х*) = 0} ф 0. 10.6.5. Теорема. Если: б) inf <р(х) > —оо; в) для всякого е > 0 найдется такое S = S(e) > 0, что \\ср'(х)\\ ^ S для всех х таких, что р(-х,Х*) ^ е; то ^(x/,,X*) -»0, к ->• оо. Доказательство. В силу леммы 9.4.8 справедливо неравенст- неравенство у>(хЛ) - ^(хЛ+1) ^ Ла|||^(хл)||2 № = 0,1,...) при h = A/BL). По- Поскольку при фиксированных x^,...,xq величина ||y/(xfc)||2 является константой, которую можно вынести за знак условного математи- математического ожидания, то с учетом условия A0.43) из предыдущего нера- неравенства получаем Из курса теории вероятностей*) следует, что М? = M(M(?/rj)), где M(?/rj) является условным математическим ожиданием случай- случайной величины ? относительно случайной величины г\. Учитывая по- последнее неравенство, получаем для j = l,fc Поэтому j=o = 1,2,..., и так как xq — фиксированная точка, то все условные математичес- математические ожидания, фигурирующие здесь, совпадают с безусловными и, *)См.: Боровков А.А. Курс теории вероятностей. — М.: Наука, 1976. — С. 89.
222 Гл. 10. Релаксационные методы решения с ограничениями следовательно, для M(p(xk+i) справедлива оценка к Му>(хЛ+1) ^ ^(х0) - hpa2 J2 M|№i)||2, к = О,1,... 3=0 В силу условия б) последовательность {М(р(хк)} ограничена снизу, и поскольку предыдущая оценка справедлива для всех номеров к, то M||y/(xjfe)||2 ->• 0 при к ->• оо, а значит, вследствие условия в) для всякого г > 0 будет lim P{^(xfe,X*) ^ г} = 0. Л 10.6.6. Следствие, #а/ш функция <р(х) удовлетворяет усло- условиям предыдущей теоремы и, кроме того, является выпуклой, то p(xk,X*)^>0, fe -+ оо. п.н Действительно, как было доказано, последовательность {^(х^,Х*)} сходится по вероятности к нулю, а следовательно, и последова- последовательность {/ifc}, где /ik — ^(х^) — <^(х*). Поскольку существует некоторая подпоследовательность {/i^-}, сходящаяся к нулю почти наверное, то в силу монотонного невозрастания последовательнос- последовательности \uk} будет справедливо соотношение и^ —У 0, к —> оо и, следователь- п.н но, в силу условия в) и теоремы 9.2.5 получаем р(х^, X*) —>¦ 0, к —> оо, п.н где X* — множество минимумов функции <р(х). Л 10.6.7. Для того чтобы оценить скорость сходимости нашего про- процесса минимизации, понадобится следующая Лемма. Для последовательности случайных величин {а^} вы- выполняется соотношение j=0 Доказательство. Рассмотрим вспомогательную последова- последовательность независимых случайных величин {?&} таких, что Р{?к — = а2} = р и Р{?к = 0} = 1 — р. Здесь аир — константы, фигурирую- фигурирующие в соотношении A0.43). Покажем, что для всех номеров к = 1, 2,... и для любого С G (—оо, +оо) будет 4 { Пусть fc = 1. Из A0.43) получаем 0 р 1 при при при С 0 - С > < < 0,
10.6. Методы случайного спуска 223 следовательно, Р{а$ ^ С} ^ Р{?о ^ С}. Сделаем индуктивное предположение, что A0.44) справедливо для всех k ^ т. к-1 Пусть к = т + 1. Обозначим Sk = ^<^. По формуле полной ве- з=о роятности имеем P{Sm+i ^ С(т + 1)} = Р{а2т + Sm ^ С(т + 1)} = С(т + 1)|5ГО ^ С(ш + 1)}Р{5т ^ С(ш + 1)} + i ^ GG71 + 1IGG71 + 1)-а2 ^5т < G(т + 1)}х х P{G(m + 1) - а2 ^ Sm < С(т + 1)} + xP{Sm< GG71 + 1) -а2}. Так как случайные величины а2, неотрицательны, то P{Sm+i > С(т + 1)|5ГО ^ GG71 + 1)} = 1. Кроме того, условие A0.43) означает, что P{Sm+i ^ С(т + 1)|G(т71 + 1) - а2 ^ Sm < С(т + 1)} ^ ^ Pja^ ^ а2|G(т71 + 1) - а2 <: Sm < С{т + 1)} ^ р. Поэтому P{Sm+i > С(т + l)}P{Sm > С(т + 1)} = = рР{С(т + 1) - а2 < 5т < С(т + 1)}. Поскольку из формулы сложения вероятностей следует Р{С(т + 1) - а2 ^ Sm < С(т + 1)} = = P{Sm 2 С(т + 1) - а2} - P{Sm 2 С(т + 1)}, то P{Sm+1 ^C(m + 1)}^ > A -p)P{Sm Z С(т + 1)} + PP{Sm ^C(m + l)-a2} = pP{Sm 2 С2т}, A0.45) к-1 Для независимых случайных величин ?& обозначим Л^ = У^^.
224 Гл. 10. Релаксационные методы решения с ограничениями Тогда = P{U = 0, Rm^ C(m + 1)} + P(U) = «2, Rrn > C(m + 1) - а2} = = (l-p)P{Rm ^ С(т + 1)} +PP{Rm ^ С(т + 1) - а2} = = A - p)P{Rm > dm] + рР{Лт ^ С2ш}. A0.46) По индуктивному предположению условие A0.44) выполняется для k = т и любого С G (—оо, +оо) и, в частности, для С = С\ и С = С2- Поэтому из A0.45) получаем P{Sm+i ^ С(т + 1)} ^ A - p)P{Rm > Сщг} + pP{Rm ^ С2т}. Отсюда и из A0.46) следует справедливость A0.44). Для Rk очевидно равенство \а2рк\ = Pi Y,& ~ а2Р) ^ -\°?рк \. По неравенству Колмогорова последняя вероятность не превосходит величины 4/(а4р2к). Остается в условии A0.44) положить С = а2р/2, чтобы получить утверждение леммы. Л 10.6.8. Оценка скорости сходимости. Теорема. Если для выпуклой функции <р(х) выполняются ус- условия: al^xlGC1'1^); б) X* ф 0; в) для всякого г > 0 найдется такое S = 5(е) > 0, что ||у/(х)|| ^ S для всех х таких, что р(х,Х*) ^ г; то P{^(xft)-^(x*)^^}^l-^, к = 1,2,..., A0.47) где С\ > 0 и С2 > 0 — некоторые положительные константы. Доказательство. Из теоремы 9.3.4 следует оценка K j=0 J а на основании леммы 9.4.8 имеем (^(xj) — y?(xj_|_i) ^ /ia^||(//(xj)||2, h = A/BL). 2 /^-! \ -i Поэтому (р(х^) — (^(x*) ^ -^-I ^^ a2 I , /c = 1,2,... Лемма 10.6.7 приводит к соотношению з=о 1
10.6. Методы случайного спуска 225 а это в свою очередь доказывает справедливость теоремы при С\ — = 2rj2/(ha2p) и С2 = 4/(сгУ). А 10.6.9. Следствие. Если функция <р(х) сильно выпуклая, при- принадлежащая классу Cljl(En), то Х sl-у, С3>0, A0.49) где р — константа сильной выпуклости. Действительно, пользуясь теоремой 9.3.5 и предыдущей оценкой разности ip(x.j) — (p(xJ+i), приходим к неравенству О I 1 Цх^ — х*||2 ^ -llq ехр < — phy^a2}, k = 1,2,... Воспользовавшись леммой 10.6.7, приходим к A0.48) при С3 = phap/2. Л 10.6.10. Примеры реализации случайных векторов sfe 1. Случайный и покоординатный спуск. Пусть sk = = ej(fc), где ej^) — j-й координатный вектор. Номер j = j(k) вы- выбирается случайным образом из п чисел {1,2,...,п} таким образом, что P{j(k) = i} = 1/п (г = 1,п). В этом случае, как нетрудно видеть, 0,s&J ^ 1 Учитывая, что ((р'(-хк),Рк}2 = (^jm^/OJ? llsfell = 1? можем записать -1 (^())} i=l,n n На практике метод случайного покоординатного спуска приме- применяется в совокупности с некоторыми эвристическими приемами с целью ускорения процесса минимизации. Так, при выборе направле- направления спуска исключают из рассмотрения "неперспективные" направ- направления, например, при выборе номера j(k) направление — s/, = — s^_i себя уже исчерпало на предыдущем шаге. Таким образом, номер j(k) выбирают из п — 1 чисел {1, 2, ...,j(k — 1) — l,j(k — 1) + 1,..., n}. В результате ряда испытаний некоторые направления могут быть отвергнуты, по крайней мере временно, как неперспективные, ввиду чего выбор номера j(k) производят из меньшего набора чисел.
226 Гл. 10. Релаксационные методы решения с ограничениями Наконец, метод случайного покоординатного спуска часто исполь- используют в сочетании с другими приемами, образуя так называемые гибридные методы. Например, задав из тех или иных соображений, появляющихся в результате накапливающейся в процессе счета ин- информации, некоторое число р ^ п, после построения точек х0, ...,хр в качестве направления спуска -sp+1 выбирают направление хр -х0, после чего повторяют процесс случайного покоординатного спуска. 2. Метод случайного спуска. Пусть s/, — случайная точ- точка, подчиняющаяся на сфере S = {s Е Еп : ||s|| — 1} равномерному распределению. Определение. Случайная точка s Е Еп называется равномерно распределенной на квадрируемой поверхности 5, если для всякого из- измеримого подмножества S'(S' С S) P{s Е S'} = mes S'/ mes S. Здесь символ mes означает площадь. Из этого определения следует, что плотность распределения вектора s будет величиной постоянной и равной 1/mesS. Поскольку sk — независимые случайные векторы, равномерно распределенные на сфере S и, следовательно, обладающие постоян- постоянной плотностью распределения, то для некоторого р > 0, зависящего от n-размерности пространства Еп, будет Но если то „2 = k i. Л _ / /( r k \h' V'(xfe) Итак, но IK}-. следовательно, , ...,x0 \ ^ p > 0. Таким образом, выполняется условие A0.43) для а = 1/2 и неко- некоторого р > 0. 3. В качестве примера использования зависимых случайных векторов рассмотрим так называемый метод случайного поиска с
10.6. Методы случайного спуска 227 обучением. Направление sk на каждой итерации будем определять формулой !' * = 0,1,..., где {v/,} — последовательность независимых случайных векторов, равномерно распределенных на единичной сфере с центром в начале координат, w/, — обучающий вектор, выбор которого производится с учетом информации о минимизируемой функции и множестве X, накопленной в результате предыдущих итераций. Покажем, что для любого фиксированного s(||s|| = 1) и любого а е @,1) будет P{(s*,s) ^ сфс^^хо} ^ р > 0, к = 0,1,.., т. е. выполняются условия A0.43) при s = (р/(х^)/||(^/(х^)||. В дальнейших рассмотрениях индекс к во избежание громоздкос- громоздкости опущен. Рассмотрим вектор у = —w + E + (s, w))s, где Легко убедиться, что ||у|| = 1 И S + (S, W) J> л/1 -С2 + (s,wJ + (S, W) > 0. Поэтому (у + w,s) = 5 + (s,w) = ||у + w||. Выберем г = A — аJA — сJ/8 и предположим, что осуществилось событие (v,y) ^ 1 — г. Заметим, что Так как , , || l| 4|v - то _ _ - Поскольку {v/fc} — последовательность независимых, равномерно распределенных случайных векторов единичной длины, то для любо- любого единичного вектора а (||а|| = 1) и любого числа е € @,1) сущест- существует такое число р = р(е) € @,1), не зависящее ни от номера к, ни от вектора а, что P{(v&, а) ^ 1 - е} = р. В силу этого P{(sk,s) ^ а\хк,..., х0} ^ P{(vk,yk) к = 0,
228 Гл. 10. Релаксационные методы решения с ограничениями 10.6.11. Метод случайного спуска для отыскания стацио- стационарных точек общей задачи нелинейного программирования. Для задачи минимизации функции (р(х) на множестве X = {х: /i(x) ^ ^ О, г = 1, т} метод случайного спуска представляет собой процесс по- построения последовательности {х/,}, элементы которой удовлетворяют следующим соотношениям: x*;+i = xk - f3kskj Ck ^ 0, [xfe+bxfe] С X, (p(x^+i) ^ (р(ък). Здесь sk — некоторый случайный вектор единичной длины. Различные варианты метода отличаются способами выбора направления sk и шага f3k. С вычислительной стороны метод весьма прост, поскольку эле- элементарно находится направление sk с помощью того или иного дат- датчика случайных чисел. Однако, в отличие от соответствующего ме- метода в задачах безусловной минимизации, здесь приходится затрачи- затрачивать усилия на проверку того, является ли направление —sk возмож- возможным в точке X/,, для чего выясняют, принадлежит ли при достаточно малом C точка х/, — Csk множеству X, и лишь затем, если —sk — возможное направление, проверяют, убывает ли функция <р(х) вдоль этого направления. И только после положительного ответа осуществ- осуществляется спуск. Как и в п. 10.4.3, обозначим через (к расстояние от точки хк до ближайшей по направлению —sk граничной точки множества X. 10.6.12. Схема метода. В качестве начального приближения мо- может быть выбрана любая точка xq множества X. Пусть в результате к-й. итерации вычислен xn G X. Опишем (к + 1)-ю итерацию. 1. Находят случайное направление s/, и проверяют, является ли направление —sk возможным в точке х/,. 2. Если направление —sk не является возможным, то полагают х/,+1 = х/, и переходят к п. 1 при к = к + 1. 3. Если -sk — возможное направление, то в качестве /Зк выбира- выбирают любое число /3, принадлежащее отрезку [0, (к] и удовлетворяющее условию - /3ksk) ^ A 0< А ^ А*; ^ 1, ик = inf <p(xfc - /3sk). Наконец полагают Х& + 1 = Х& - /3ksk и переходят к п. 1 при к = к + 1. Замечание. В п. 3 предусмотрен и тот случай, когда ^ (р(хк - /3sk) при всех /3 G [0, (к]. В этом случае /Зк = 0 и 10.6.13. Множество стационарных точек. Рассмотрим вспо- вспомогательную задачу (см. п. 10.4.2) отыскания такого числа а и такого вектора s, что а —У max,
10.6. Методы случайного спуска 229 -(ip'{x),s)+cj^O, A0.25) (s,s)^l. Как и в п. 10.4.2, введем следующие обозначения. Пусть е > 0; /(х,е) = {i: 0 ^ /4(х) ^ е}; /(х, 0) = {г: /4(х) = 0}; 5(х,г), S(x,s) — решение задачи A0.25) при / = /(х,г); сг(х,0), S(x, 0) — решение задачи A0.25) при / = /(х, 0); Xq = {xGl: ^(х) ^ ^ <р(х0)}; X* = {х* G Хо: 5(х*,0) -0}. В соответствии с п. 10.4.7 множество X* является множеством стационарных точек — точек, в которых выполняются необходимые условия локального минимума. Предположения. Сходимость метода будем обосновывать при следующих предположениях: 1) векторы s/, являются случайными, независимыми и равномерно распределенными на сфере S = {s: ||s|| = 1}; 2) функции <р(х) и /i(x) (г = 1,т) принадлежат классу С1:1(Х); 3) множество Xq ограничено. Заметим, что при исследовании сходимости мы будем существен- существенно использовать материал § 10.4. При этом из предположения об огра- ограниченности множества Хо следует, что выполняются условия 2)-4) п. 10.4.6: ||/-(х)|| ^ М для всех xGl0, X* ф 0 и inf <p(x) > -оо. XG^ Обозначим через W, s решение задачи A0.25) при х = х и / = /(х,0). 10.6.14. Лемма. Если а > 0; то существуют числа г > 0, S > 0, а е @,1) такие, что для любых г G [0,г], х G ^(х) = {х G Х\ ||х - х|| ^ 6} и любого направления s (||s|| = 1), удовлетворяющего усло- условию (s,s) ^ 1 — а, будут выполняться ограничения задачи A0.25) при а = а/4 и I = /(х,е). Доказательство. Пусть г и S таковы, что выполняются нера- венства \\<р'(х)- <р'(Щ < а/2, ||/?(х) - /((_х)|| ^ а/2 (г = Т^). Для любого х G ?7E (х) и любого г G /(х,е) С /(х,0) будет 0 ^ <Л(х),8) +а = <Л(х),8> +а + (Л(х) - /?(x),s> ^ ^ (Л(х),8> + а - ||Л(х) - Л(х)|| ^ (Л(х),8) +а/2 A0.50) и, аналогично, 0^ -(^(x),s)+a/2. A0.51) Пусть 12), Mi =max{max||(p/(x)||,M}. xGX0 Заметим, что сг/2 ^ ((^'(х),^) ^ ||у/(х)|| ^ М\. Далее,
230 Гл. 10. Релаксационные методы решения с ограничениями Но #(х), s - s) ^ M^ls - s|| <С M1A/||s||2-2(s,s) Отсюда, учитывая A0.50) и предыдущее неравенство, получаем <Л(х),8К-а/2 + а/4=-а/4 и, аналогично, (у/(х), s) = (<р'(х), s) + (<р'(х), s - s) ^ а/2 - M^ls - s|| ^ cF/4. Л 10.6.15. Лемма. Для любого j ^ 0 существуют числа о1 > 0 и G > 0 такие, что для всех х G Хо \ С/7(Х*) и /3 G [0, G] будет a><J7>0ux-f3seX. Здесь U7(X*) = {х G Х0|^(х,Х*) <С 7}- Доказательство. Сначала докажем существование величины о1 > 0 для любого 7 > 0- Предположим противное: пусть ~ок —> 0, /с —> оо, для некоторой последовательности {у^}, где пара a, s^ — решение задачи A0.25) при х = ук, I = /(у^,0) и у^ G Io \ U1{X:?) для некоторого 7 > 0. Так как множество Xq ограничено, то, не умаляя общности, можно считать, что lim у/, = у, причем р(у,Х* ^ j. Пусть 5, S— решение к—>-оо задачи A0.25) при х = у и / = /(у,0). Поскольку у 0 X*, то 5 > 0. В силу леммы 10.6.14 существуют такие числа е> 0 и ? > 0, что для всех х е Uj(y) пара сг = 5/4, s = Сбудет удовлетворять ограничениям задачи A0.25) при / = /(х,г). Так как у/, —У у при & —>- оо, то для всех достаточно больших номеров к будет у/, = Uj(y), а значит, в силу той же леммы в паре ~okl sk будет ~ок ^ 5/4 > 0, поскольку ~ок как компонента решения задачи A0.25) есть величина максимальная. Полученное противоречие доказывает существование величины о1 > > 0 для любого 7 > 0. Докажем теперь существование величины ?7 > 0. Предположим противное: для некоторой последовательности {у^}, ук ? Xq \ U7(X*), будет (к ->• 0, к ->• оо. Здесь 7 > О, С^ — расстояние от точки ук до границы множества X вдоль направления -s^, пара ~okl sk — ре- решение задачи A0.25) при х = ук, I — 1(ук,0). Как и выше, будем предполагать, что lim ук = у и р(у,Х*) ^ j. В силу леммы 10.4.10 к—>-оо существуют такие числа г > 0 и ? > 0, что при всех ук G ^(у) имеет место включение 1(ук,е) С /(у,0). Тогда из леммы 10.6.14 следует, что ограничения задачи A0.25) будут выполняться при а — -a, s = S, где пара 5, s — решение задачи A0.25) при х = у, / = 1(ук, г). По лем- лемме 10.4.8 из A0.30) и A0.31) получаем, что ~(к ^ гшп{г/\i,a1jL\ > 0. Полученное противоречие доказывает лемму. Л
10.6. Методы случайного спуска 231 10.6.16. Теорема. Последовательность случайных точек сходится по вероятности к множеству X*. Доказательство. Зафиксируем произвольное число j > 0 и до- докажем, что Р{р(хк,Х*) ^ 7} ~~^ 0; & ~~^ °°- Предположим, что х& Е Glo\ С/7(Х*). Тогда по лемме 10.6.15 найдутся такие числа о1 > 0 и Су > 0, для которых tfjfe ^ сг7 и ?fe ^ Су. Здесь а^, S/, — решение задачи A0.25) при х = х& и / = /(х/,,0). Так как ~ак > 0, то по лем- лемме 10.6.14 существует число sk > 0 такое, что всякий вектор sk, удов- удовлетворяющий условию (sfcjSfc) ^ 1 — а, будет удовлетворять ограни- ограничениям задачи A0.25) при а — -!jk и / = /(х/^гЛ. В силу выбора чис- 4 _ ла /3k (см. условия A0.26)) имеем для всех /3 е [0, (J xfe - /3sfe G Хо и (см. п. 10.4.9) Выбирая C = min I (kJ — >, получаем с учетом того, что С& ^ Су и A0.52) а ^ 7^7' ПРИ всех sk таких, что (s,s) ^ 1 — а, соотношение где x = Пусть ?к — случайные величины такие, что 1, если xfe е 0, если xfe G Поскольку точки s^ равномерно распределены на сфере 5 = {s: ||s|| = = 1}, то из A0.52) следует ,sfe) ^ 1 - а} > Отсюда М(у?(хл) -(p(xfe+i)|xfe,...,x0)) ^ xp^. Из этого неравенства, аналогично тому, как это делалось в п. 10.6.5, легко получить условие к 3=0 Поскольку множество Xq по предположению ограничено, то ограни- ограничена и функция (р(х) на Xq и, следовательно, М^к —> 0, /с —>¦ оо, а значит, P{^(xfe,X*) ^ 7} ->• 05 * ->• оо. А 10.6.17. О сходимости метода в случае задач выпукло- выпуклого программирования. В задачах безусловной минимизации из
232 Гл. 10. Релаксационные методы решения с ограничениями сходимости по вероятности последовательности |х^| к множеству стационарных точек следовала в выпуклом случае сходимость поч- почти наверное последовательности {(р(хк)} к ср* = min(p(x), а значит, и сходимость почти наверное последовательности {х/,} к множеству решений. В задачах с ограничениями условия выпуклости функции (р(х) и множества X еще не гарантируют аналогичного утверждения. Для доказательства того, что <^(xfc) —У ср*, к —у оо, ^(xfc,X*) —У 0, к —> оо, п.н п.н необходимо дополнительное требование регулярности по Слейтеру множества X. 10.6.18. Предположения. 1) Векторы sk являются случайными, независимыми и равномерно распределенными на сфере S = {s: ||s|| = 1}; 2) выпуклое и замкнутое множество X регулярно, т. е. существует шар R радиуса г с центром в некоторой точке w, целиком принадле- принадлежащий множеству X: R = {х: ^(х, w) ^r}cl; 3) выпуклая функция <р(х) принадлежит классу С1'1^); 4) множество Xq ограничено. Замечание. Нетрудно убедиться, что условие регулярности 2) эквивалентно условию регулярности, введенному в пп. 3.4.2 и 3.4.3. Для обоснования сходимости процедуры случайного спуска необ- необходимо рассмотреть ряд свойств. 10.6.19. Свойство А. Если точка х G X не является опти- оптимальной, то найдется такой вектор у G X, для которого справедливо неравенство (у/(х),х-у) = 77 > 0. Доказательство. Пусть у является проекцией точки z = x - - (р'(х) на множество X. В силу свойств проектирования имеет место соотношение Отсюда и следует свойство А, поскольку равенство х = у является необходимым и достаточным условием оптимальности х (п. 10.1.2). Л Всюду ниже через х и у обозначены точки, удовлетворяющие свойству А. 10.6.20. Свойство В. Найдется такое число S > 0, что мно- множества не пересекаются, и существуют такие п-мерные сферы R\ радиусов Т\ и Г2, что R\ С [/^(х) и R<± С Us (у).
10.6. Методы случайного спуска 233 Доказательство вытекает из свойства А (так как х ф у) и предпо- предположения 2) *). Л 10.6.21. Свойство С. Для г\ — (у/(х),х — у) найдется такое S > О, что для всех х Е [/^(х) и у Е Us(y) будет выполняться нера- неравенство (<р'(х),х-у) ^ -ту. Доказательство. Обозначим 7 = тах_ ||(//(х)||. Предположе- хеЕ/() ние 3) гарантирует, что 7 < +оо. Выберем ^ 2(L||x-y||+27)- Пусть u = x — xnv = y — у; тогда ^ (<p'(x + u),x-y) - |(<р'(х + и),и-л Далее, Но в силу предположения 3) и свойства А получаем (<р'(х + и),х-у) = (<р'(х),х-у + (<р'(х + и) -<р'(х),х-у) ^ Три последних соотношения и выбор величины S доказывают спра- справедливость свойства С. Л 10.6.22. Определение. Мы скажем, что осуществилось собы- событие Ш = 9Я(х, s), если найдется такое C > 0, что у = х — /3s G Us(y), где х G [/^(х), а —s — возможное направление, выбранное методом случайного поиска. 10.6.23. С вой ст во D. Если наступает событие ШТ^= то существует такое к > 0, *) Легко показать, что если точка w — центр сферы R (радиуса г), принадле- гб жащей регулярному множеству X, то можно взять т\ = тт= п ? причем ||x-w||+r п _ центром сферы R\ будет точка w\ = —(w — х). Аналогично и для Яг. г
234 Гл. 10. Релаксационные методы решения с ограничениями Доказательство. Пусть х& Е Us(х), а у д. — любая точка из пе- пересечения луча х/, — Csk с множеством Us (у). Так как uok = = inf ip(x.k — Psk), T0 Для всех C Е [0,1] справедливо неравенство — /3(xfc — Уа;)). Отсюда и из леммы 9.2.3 получаем неравен- неравенство * -у,) - |^2||хл Но ||xfc — Уа;|| ^ 2Й + ||х — у|| =6, поэтому из свойства С получаем, что для всех /3 G [0,1] будет Пусть /3 = min {l, i^}. Если /3 = 1, то L02 ^ ^ и - ЕСЛИ /3 = -^, ТО у?(хЛ) - ^(Xfe+i) ^ gXkJjp- И ТаК КаК Afc ^ А > > 0, то при к — -Хт] min i I, -7^? г свойство D становится справедли- вым. Л 10.6.24. Свойство Е. Если последовательность {х/,} такова, г °° 1 что х/, G Е/*(х), то Р\ \J Шк = 1. Доказательство. Из свойств А и В следует, что inf Р{Ш1|х} = р > 0. При фиксированных xq,xi,... соответствующие события QJto ? SDTi,... взаимно независимы, так как взаимно независимы случайные вели- величины so,si,... Следовательно, с т р\ n Здесь 9Rk означает событие, дополнительное к событию ШТ^, т. е. ШТ^ означает, что событие Шк не происходит. Поэтому согласно закону "нуля или единицы" -р)т -+ 0, m -+ 00. Р{ П SCT*|xo,xi,...)=0, т.е. Р\ 0
10.6. Методы случайного спуска 235 Г ОО ч Это и означает, что Р< (J ШТ^ > = 1. Л 10.6.25. Теорема. Р{ lim <р(хл) = (?*} = 1. Доказательство. В силу предложений процедуры последова- последовательность случайных величин {(^(х^)} монотонна: ^(x^+i) ^ <?(х&) (к = 0,1,...), и ограничена: cp{x.k) ^ <р* (fc = 0,1,...), и, следовательно, существует ср = lim (p(x^). А значит, с вероятностью, равной едини- к—юо це, найдется такой номер &о, что для всех к = &о + 1, &о + 2,... будет выполняться неравенство <р(хк) - <р(хк+1) <х. A0.53) Если для любого сколь угодно малого Si > 0 найдется такая по- последовательность {х/,.}, что xfci G USl(X*) = {x G X: р(х,Х*) ^ б!}, то с вероятностью, равной единице, lim (р(х^) = ip*. к^-оо Предположим, что существует такое число Si > 0, что в окрест- окрестности [/^(Х*) попадает лишь конечное число точек последователь- последовательности {х/,}. Не ограничивая общности, можно полагать, что все х/, 0 0 [/^(Х*). Тогда с вероятностью, равной единице, найдется такой случайный номер к ^ &0, что осуществится событие ШТ/,, а следова- следовательно, будет Это противоречит условию A0.53). Теорема доказана. Л Следствие. ^(x/,,X*) ->• 0, /с ->• оо. п.н Это соотношение с очевидностью следует из непрерывности функ- функции <р(х), ограниченности множества Xq и утверждения теоре- теоремы 10.6.25. Л 10.6.26. Метод проектирования случайного направления. Изложенный в предыдущих разделах метод минимизации может ока- оказаться неэффективным. Дело в следующем. С ростом числа п — раз- размерности пространства Еп — убывает вероятность того, что направ- направление является возможным. Скорость этого убывания характеризует простой пример, когда X = {х: 0 ^ Х{ ^ 1, i = 1, п}, а точка х/, = 0. В этом случае вероятность того, что случайное направление — s/, будет возможным, очевидно, равна 2~п. Поэтому для получения возможно- возможного направления требуется при больших п на каждой итерации, вообще говоря, большое число испытаний, причем каждое испытание связано с проверкой, будет ли для достаточно малого C точка х/, — /3s/, при- принадлежать множеству X. В методе, которому посвящен настоящий раздел, случайное на- направление становится возможным в результате проектирования на допустимое множество.
236 Гл. 10. Релаксационные методы решения с ограничениями Обозначим через zk проекцию точки Х& - А^г^ на множество X. Здесь Ак = sign (y/(xfc),rfc), а rk — случайный вектор, равномерно распределенный на n-мерной сфере единичного радиуса. 10.6.27. Схема метода. Sk = Xfc - Zk. В качестве /3k выбирают любое из чисел, удовлетворяющих условиям <р(хЛ - /3ksk) ^ A - Ajfe)^(xjfe) О ^ /3* ^ 1, 0 < А* ^ Хк^ 1, где с^ = min (p(xk - /3sk). /3[0l] 10.6.28. Сходимость метода будем доказывать в предположени- предположениях п. 10.6.18, но при этом требование регулярности излишне. Для обоснования сходимости метода проектирования применима та же методика, что и в пп. 10.6.19-10.6.26. Рассмотрим множество*) V^(y) = {у Е Еп : ||у —у|| ^ S}. Заме- Заметим, что Us (у) = {у Е X: ||у — у || ^ 6} С Vs(y). Будем говорить, что осуществилось событие У1 = 9t(x,r), если найдется такое а > 0, что х — от G V^(y), где х G [/^(х), а г — направление, выбраннное мето- методом случайного поиска. Определение события Ш = 9Я(х, s) остается прежним, но при этом s = (х — у)/||х — у||. 10.6.29. Свойство F. Если осуществилось событие У1к = = ?Xl(xjfe,rjfe), то осуществится и событие 9Лк = 9Jt(xfc,Sfc). Доказательство. Пусть vfe = xfe - arfe G Vs(у), a yfe — про- проекция точки vfe на множество X. Из свойств проекции следует, что \\ук -х|| ^ ||vjfe -х|| при любом х е X и, в частности, \\ук -у|| ^ ^ ||уЛ-у||, т. е. ук eUs(y). A Наконец, очевидно, что для всех х G Us(x) будет inf_ P{^l|x} = р > 0. () Обосновать сходимость процесса минимизации теперь не пред- представляет труда, если повторить рассуждения, которые использова- использовались при доказательстве теоремы 10.6.25. *) Здесь у, U$(x.) и Us (у) те же, что и в п. 10.6.20.
ГЛАВА 11 МЕТОД МОДИФИЦИРОВАННЫХ ФУНКЦИЙ ЛАГРАНЖА 11.1. Метод множителей Лагранжа 11.1.1. Метод состоит в процедуре отыскания седловой точки (х*,у*) функции Лагранжа L(x,y) на Еп х Е^ (см. п. 3.6). Построе- Построение итерационных процессов существенно опирается на соотношение L(x*,y*) = max min L(x,y) = min max L(x,y). 11.1.2. Первый вариант метода. Этот метод, предложенный Эрроу и Гурвицем, состоит в построении последовательности {хк,ук} по формулам „д Х&+1 — х& — р-^— ох Ук+1 — Ре^ [Ук + C- где PE+(v) означает проекцию точки v на Е^. Таким образом, точ- точки х/, "строятся методом градиентного спуска для решения задачи безусловной минимизации функции L(x,y) по переменной х, а точ- точки ук строятся вариантом метода проекции градиента для решения задачи максимизации функции L(x,y) по переменной у на множест- веЕ+ = {уеЕт: у ^ 0}. Указанный процесс привлекает своей простотой, поскольку ?b(x,y) = -/(х), /т(х) = (Л(х),...,/т(х)), а проектирование на Е+ осуществляется элементарно. К сожалению, этот метод не обеспечивает заведомой сходимос- сходимости даже в тех случаях, когда гарантирована сходимость как метода градиентного спуска, так и метода проекции градиента. Известный элементарный пример задачи одномерной минимизации х на положи- положительной полуоси х ^ 0 служит тому подтверждением.
238 Гл. 11. Метод модифицированных функций 11.1.3. Второй вариант метода. Этот вариант отличается от предыдущего тем, что на каждой итерации очередную точку x^+i предлагается получать в результате полной минимизации функции 1/(х,у/,) по переменной х: = arg^mrn b(x,yfej, yk+1 =PE+(yk-pf(xk)). В этом варианте сходимость имеет место в условиях, при кото- которых доказывались теоремы 10.2.5, 10.2.6 о сходимости проекции гра- градиента. 11.2. Метод модифицированных функций Лагранжа 11.2.1. За последнее десятилетие появилось большое количество работ, посвященных численным методам решения задач математи- математического программирования, основанным на построении модифици- модифицированных функций Лагранжа. Метод модифицированных функций Лагранжа позволяет расширить область применения метода множи- множителей Лагранжа и имеет своей целью повысить эффективность вы- вычислительных процессов отыскания седловых точек. Построение модифицированной функции Лагранжа основывается на следующих соображениях. Для задачи минимизации функции <р(х) на некотором множестве X построим функцию определенную в пространстве Еп+т. Условия, которым должна удовлетворять функция 7(х,у), опреде- определяются следующей теоремой. 11.2.2. Теорема. Если существуют х* Е X и у* Е Еш такие, что: 1) х* е X(y*)_= Argmin{7V(x,y*): x е Еп}; mox* e X* =Lrgmin{(p(x)x G X} = ХПХ(у*). Доказательство. Так как х* G X П Х(у*), то для всех х G Еп будет В частности, при х G X получаем, в силу условия B), что <р(х*) ^ (р(х) Vx е X; следовательно, х* G X*. Поэтому X П Х(у*) С X*. Теперь покажем, что X* \ (X П Х(у*)) = 0, чем и завершим до- доказательство теоремы. Предположим, что найдется х G X* такой, что х 0 ХПХ(у*). Поскольку х G X* С X, то в силу предположения будет х G Х(у*), и,
11.2. Метод модифицированных функций Лагранжа 239 следовательно, 7V(x*,y*) = у>(х*) " 7(х*,У*) < ^(х) -7(х,у*) < *>(х) " 7(х*,у*). Таким образом, получаем неравенство <р(х*) < <^(х), противоречащее предположению. Л 11.2.3. Модифицированная функция Лагранжа. Рассмотрим основную задачу математического программирования ф(х) —У min, ^v ' ' A1 1) xGl = {x: /i(x) ^0, i = l,m}. V 'У Как известно, функция ]Г>/;(Х), A1.2) г=1 определенная для всех х G Еп и у G i?^ = {у: у ^ 0}, является функ- функцией Лагранжа для задачи A1.1). Рассмотрим функцию 7V(x,y) = у>(х) - f^7(/i(x),2/i) A1.3) и обозначим г=1 Если 7(/г(х), 2/г) (* = 1?77г) подобрана так, чтобы выполнялись усло- условия теоремы 11.2.2, то функцию JV(x, у) будем называть модифици- модифицированной функцией Лагранжа. Итак, если функция т г=1 такова, что существуют х* и у*, удовлетворяющие условиям 7(х,у*)^7(х*,У*) VxeX, то х* G X, и JV(x, у) будет модифицированной функцией Лагранжа для задачи A1.1). 11.2.4. Построение модифицированной функции Лагран- Лагранжа. Как известно, соотношение я т gL(x, у) = V^(x) - Y, !/*V/i(x) = 0 A1.5) г=1 определяет точку х, в которой выполняются необходимые условия минимума по х функции L(x,y). Для JV(x, у) необходимым условием
240 Гл. 11. Метод модифицированных функций минимума по х будет соотношение x) = 0. A1.6) Сравнение A1.5) с A1.6) натолкнуло на мысль ввести систему урав- уравнений . — _Ё_ (f.(-x) ¦) i-TTn A17) и потребовать ее разрешимости при дополнительных требованиях 11.2.5. Условия существования функции 7V(x,y). Рассмот- Рассмотрим условия, позволяющие построить модифицированную функцию Лагранжа при достаточно общих предположениях относительно вида функций /i(x) (г = 1,т). A) Если /г(х) < 0 для некоторого номера г, то г-е уравнение сис- системы A1.7) не имеет решения, и, следовательно, множество решений системы A1.7) пусто; если /i(x) > 0 для некоторого номера г, то единственным решением г-го уравнения системы A1.7) будет yi = 0; если /i(x) = 0 для некоторого номера i, то любое yi ^ 0 будет решением г-го уравнения системы A1.7). B) Если для некоторой пары х*, у* ^ 0 выполняются условия A1.8), то ^ ™ г=1 г=1 11.2.6. Теорема. Если функции /y(fi(x),yi) (г = 1,т) таковы, что: выполняются условия А); существуют х* = х(у*) G Х(у*) и у* ^ 0 такие, что — fir выполняются для х* = х(у*) и у* ^ 0 условия В); шох* ег. Если, кроме того, функция 7V(x,y*) дифференцируема в точке х* и для любых /i(x) и yi ^ 0 будет то пара х*; у* является точкой Куна-Таккера. Доказательство. Из условий теоремы получаем, что найдут- найдутся такие х*, у*, что Л(х*)^о, у\> о, /<(х*I/; = о, i = T^,
11.2. Метод модифицированных функций Лагранжа 241 и выполняется неравенство A1.4). Следовательно, выполняются все условия теоремы 11.2.2, и, значит, х* Е X*. Учитывая A1.7), A1.9), получаем, что пара х*, у* — точка Куна- Таккера. Л 11.2.7. Два примера функции ry(fi(x),yi): 7l(/i(x),2/i) = -- Легко проверить, что функция -71 выпукла по х, если /i(x) вогнута и выпукла по у (см. п. 2.4.8). Функция —72 выпукла по х и вогнута по у. Последнее следует из того, что при /i(x) — yi < 0 она линейна по у: -72(Л(х),У<) = -\у\ + |(Л(х) -^J = Д(х)У< + ^/2(х), а при /i(x) — 2/г ^ 0 строго вогнута: Достаточно проверить выполнение свойств А), С) для 72(/г(х),2/г): А) Если /г(х) < 0 и |/j ^ /г(хM то из (И-7) имеем ^ — /i(x) = yi и, следовательно, /г(х) = 0. Противоречие указывает на неразреши- мость системы A1.7). Если /;(х) > уи то уг < 0, но —-j2(fi(x),yi) = 0; поэтому из A1.7) получаем, что yi = 0. Противоречие. Если /г(х) > 0 и yi ^ /г(х), опять приходим к противоречию. Ес- Если /г(х) > ^, то ^— 72(/г(х),2/г) = 05 и5 следовательно, единственным решением г-ro уравнения будет ^ = 0. Если /i(x) = 0 и ^ ^ /г(хM то Уг^Ои ^— 7г(/г(х),2/г) = 2/г? поэтому г-му уравнению системы A1.7) удовлетворяет любое ^ ^ 0. Случай ^ < /i(x) = 0 противоречив, так как из A1.7) следует, что yi = 0. С) Если Д(х<) -|/? ^ 0, то 72(Л(х),|/?) = \{у*? > 72(Л(х*),|/?). Если /i(x) - у* < 0, х е X, то у* > /i(x) ^ 0 и /»(х*) = 0. Так как -2у*/Дх) + Шх)J < 0 и у*/Дх*) = 0, то [ттЩх) - у*, О}]2 = (/,(х) - у*J = (у*J - 2у*/,(х) + (/Дх)J < < {У*? = (У* ~ Л(х*)J = [min{/,(x') - у*; О}]2
242 Гл. 11. Метод модифицированных функций и, следовательно, 72^г(х),2/*) ^ 72(/г(х*),2/*). 11.2.8. Обсуждение. В условиях теоремы 11.2.2 пара (х*,у*) мо- может не являться точкой Куна-Таккера. Так, например, решение за- задачи A1.1) методом штрафных функций со штрафом г=1 при C Е @, Ро] достаточно малом дает соотношение ) + ф( p() = mm если (р(х) сильно выпукла, а /г(х) 1-мажорируемы G = 1) и непрерыв- непрерывно дифференцируемы (см. п. 6.2.7). Если положить yi = 1//3 (г = 1, т), а 7(х,у) = ~~бФ('х)^ то в точке решения х* выполнены условия 1), 2) теоремы 11.2.2 при у* = A//Г,..., 1//Г), где /3* е (О, /?0] . Однако в об- общем случае задания функции /i(x) равенство всех компонент векто- вектора у* для точек Куна-Таккера заведомо не выполняется. Гарантию того, что пара (х*,у*) является точкой Куна-Таккера, дают условия теоремы 11.2.6. В то же время сама функция JV(x, у) может и не иметь седловых точек, несмотря на то, что исходная основная задача математического программирования является вы- выпуклой. Так, функция JV(x, у) = <^(х) — 7i(x,y) удовлетворяет всем условиям теоремы 11.2.6, но седловой точки не имеет. Естественным условием, обеспечивающим существование седловой точки функции 7V(x,y), является неравенство 7(х*5у) ^ 7(Х*?У*) Для всех у G Еш. т Этим свойством обладает, например, функция У^72(/г(хOУг)- Численная реализация. Путь первый — искать точку х*, решая систему уравнений A1.6), A1.7), например, следующим ите- итерационным процессом: х* е X(yk) = Argmin{7V(x,yfe): x G Еп}, д _, , 7(xy) Применение градиентных методов для решения системы A1.6), A1.7) связано с вычислением вторых производных функции 7(х,у)- Однако даже в условиях дважды дифференцируемости функций (р(х) и /i(x) вторые производные для многих известных модифицирован- модифицированных функций Лагранжа не определены всюду, как это требует при- применение градиентных методов для решения уравнений A1.7). В обо- обоих рассмотренных выше примерах ситуация именно такова. И здесь
11.3. Взаимосвязь методов множителей Лагранжа и штрафов 243 уже следует прибегать к методам минимизации недифференцируе- мых функций*). Путь второй. Вычислять точку х* методами отыскания седловых точек функции JV(x,у), естественно, при условии существования та- таковых. В этом случае становятся применимыми методы первого порядка, например, аналог метода Эрроу-Гурвица: Х/.+1 =х/е - /3—N(xk,yk), Ук+1 =Ук - E — 11.3. Взаимосвязь методов множителей Лагранжа и штрафных функций 11.3.1. Как мы видели, основная идея метода модифицированных функций Лагранжа и метода штрафных функций состоит в сведении задач оптимизации с ограничениями к задачам без ограничений. В теореме 11.2.6 были установлены условия, при которых решение за- задачи методом модифицированных функций Лагранжа является точ- точкой Куна-Таккера. Оказывается, метод штрафных функций обладает также этим свойством, если в качестве двойственных переменных взять частные производные штрафа по функциям-ограничениям. Выясним условия, при которых метод штрафных функций при- приводит также к точке Куна-Таккера. Тем самым будет установле- установлена связь метода модифицированных функций Лагранжа с методом штрафных функций. 11.3.2. Рассмотрим основную задачу математического програм- программирования: V(x) -»¦ min, x€l = {x:/(x)H}, { W) где /т(х) = (/1(x),/2(x),...,/m(x)). Штрафную функцию запишем в следующем виде: М(я,/3)=р(х) + ±^(/(х)), /3 > О, где: (ip(f(x)) = 0, если /i(x) ^ 0 для всех г е I = {1, 2,..., т}; ip(f(x)) > 0, если /г(х) < 0 хотя бы для одного г е I. *)См., например, монографию: Демьянов В.Ф., Васильев Л. В. Недифференци- руемая оптимизация.- М.: Наука, 1981.
244 Гл. 11. Метод модифицированных функций Обозначения. L(x,u) = <р(х) + (и, /(х)); ит = (щ,и2, ...,ит) ^ ^ О — функция Лагранжа для задачи A1.1); Y = Argmin{(p(x): x Е el}; га = {х : ?м(х, /3) = V^(x) + i 5Z (^(/W)V/4(x) =0, /J > г=1 — множество стационарных точек штрафной функции; # ={(х,и): га ^L(x, u) = V(^(x) + ^ ^V/i(x) = 0; i/i/i(x) =0, и ^ о} — множество точек Куна-Таккера; 1 д ,...,^m(/3)), /(x) = {г: Л(х) = 0}. 11.3.3. Предположения. 1) <^(х) — выпуклая функция, /г(х), (г = 1,га), — вогнутые функ- функции, т/>(/(х)) — выпуклая функция; 2) множество X регулярно по Слейтеру; 3) множество Y непусто и ограничено; 1 5) ^-^(/(х)) ^ 0, г = Т^; О'/г 6) ^-^(/(х)) = 0, если 0 < /<(х) ^ \х < <Х). 11.3.4. Теорема. #а/ш выполняются условия 1)-б), то Доказательство. Пусть ур G Yp; тогда г=1 Если будет доказана равномерная ограниченность по /3 семейства {v(/3)}, то для любой предельной точки v* = (у*, и*) справедливо соотношение V<p(y*) + У^^1 V/i(y*) = 0, и, кроме того, в силу усло- г=1 вия 6) u*fi(y*) = 0. Таким образом, любая предельная точка v* будет принадлежать множеству К, и, следовательно, р(у(/3), К) —у 0 (/3 —>¦ 0).
11.3. Взаимосвязь методов множителей Лагранжа и штрафов 245 Предположим, что семейство {и(/3)} не является равномерно огра- ограниченным по /3. Тогда найдется такая последовательность {/3k}, что —щ(Рк) ->• +°°> /3k ->• 0, хотя бы для одного номера г. Из предположе- предположения ограниченности множества Y следует ограниченность в совокуп- совокупности множеств Yp для всех /3 (см. теорему 1 из Д.4). Из этой теоремы следует, что любая предельная точка у* семейства {ур} принадлежит множеству Y. Не умаляя общности, можем предполагать, что lim урк = у*. По k—too условию 2) найдется такая точка zGl, что /i(z) > 0 (г = 1,т). Из выпуклости функции <р(х) следует <p(z) - ср(ур) > (Vy>(y/j), z -yp) = J2 -Ui(P)(Vfi(yp),z - ур). г=1 Так как /;(х) — вогнутые функции, то /*(z) - fi(yp) ^ (Vfi(yp),z- —У/?), и, учитывая, что —щ(/3) ^ 0 (г = 1,гтг), получаем г=1 Предположим, что /(у*) Ф 0. Тогда найдется такой номер j G /(у*), что /j(y*) = 0, и для достаточно малых (Зк > 0 будет fj(ypk) < -/j(z). Итак, /^(z) - fj(ypk) ^ 2^'^Z^ ДЛЯ J G ^У*) И Д°статочно больших номеров &. Из условий 5), 6) получаем, что найдется такой номер ко, что для всех к ^ ко будет щ(/3к) = 0 Vi G /\/(у*). Последнее сле- следует из того, что /i(у*) > 0 для г G / \ /(у*), и поскольку y^fc -»> у*, то fi(ypk) > 0 для к ^ fe0. Далее, m ^ J2 ~иМ(Ш - toe*)) = г=1 поэтому () : —-f- ^ 2 : Ло = Const. mm f?(z) mm f?(z) Правое неравенство следует из того, что последовательность монотонно возрастающая (см. F.8) в п. 6.2.2). Таким образом, мы пришли к соотношению, противоречащему предположению о неограниченности последовательности {—щ(/3к)}- Наконец, случай, когда /(у*) = 0, в силу условия 6) тривиален. Д
ДОБАВЛЕНИЯ Д.1. О конечности численно реализуемого метода выбора шага из условия (9.15) Можно утверждать, что для функций из класса Cljl(En) выбор коэффициента /Зк из условия (9.15) осуществляется за конечное число удвоений (или дроблений) величины шага. Итак, полагаем /3k — <} 2г (г = О, =Ы, ±2,...), ||sd| = 1, и прове- dsk ряем выполнение соотношения (9.15). Величина г изменяется до тех пор, пока не будет выполнено неравенство (9.15). Пусть (9.15) выпол- выполняется впервые при г = io(k). Тогда полагаем /3k = } fc^oW. dsk Покажем, что величина io(k) ограничена в совокупности, т. е. |io(&)l ^ М (к = 0,1,...). Действительно, при i ^ N = [— log2 L] — — 1 будет A — Ь2г~1) ^ 1/2 (здесь [а] означает целую часть числа а), откуда = Bг - L221-1) dsk 2 dsk II dsk Это в свою очередь означает, что для f3k = 27V~1((//(x/e), s^) неравен- неравенство (9.15) также имеет место. Значит, тот номер io(k), при кото- котором выполнится неравенство (9.15), не превосходит М = \N — 1|, а коэффициент /3k = 2го^(^'(х/,), sk) удовлетворяет (9.15). Заметим, что /3k можно представить как где L2~I1~7VI ^ Ск ^ L2l7V~1L Поэтому неравенство (9.15) будет вы- выполнено не более чем за конечное число удвоений равномерно по всем
Д.2. Оценка скорости сходимости циклического метода 247 итерациям. Для сильно выпуклой функции (р(х) выбор коэффициента Д. из условия Pk = argmin(x-/?Sfc) можно заменить следующей оценкой этого коэффициента снизу и сверху: 7 ^ Р/с ^ , A) Ь р где /я — константа сильной выпуклости. Действительно, и, следовательно, /3k ^ ((ff('xk)jsk)/p- С другой стороны, ^'(хЛ - Pksk),sk) ^ \\<р'(хк) - 4>\*к ~ Рк*к)\\ и, значит, Pk ^ ((^'(xjfe), Sfc)/L, что вместе с предыдущим неравенст- неравенством дает соотношение A). Д.2. Оценка скорости сходимости циклического метода покоординатного спуска с удвоением шага В этом методе направление спуска такое же, как и в случае 9.7.8, а величину шага рк будем выбирать способом удвоения по схеме, описанной в 9.4.6, т. е. из условия выполнения неравенства Покажем, что для этого метода будет справедлива линейная ско- скорость сходимости по функционалу. Лемма. Для любого вектора h G Еп, \\h\\ = 1, существует такой индекс г е {к,..., к - п - 1}, что |(h,Si>|^l/v^, A: = 0,1,... A) Доказательство. Из A) следует, что найдется хотя бы одна компонента вектора h такая, что \hj\ ^ 1/у/п, а значит, для вектора s^ = ej будет выполнено неравенство A). Л Следствие. Для любого h G Еп и ||h|| = 1 существует окрест- окрестность Us(h) = {х: р{х,Ъ) ^ 8} такая, что (x,Sf) ^ 1/Bу/п) для всех х G Us(h), S ^ 1/Bд/п), и некоторого г G {к,..., к + п — 1}, к = 0,1,... Доказательство. Пусть х G ^(h). Тогда х = h + у, где ||у|| ^ ^ 1/Bу/гь), и, значит, (x,Si) = (h,Si) + (y,Si) ^ 1Ц2у/п). Л
248 Добавления Теорема 1. Пусть последовательность {х/,} строится по схе- схеме 9.7.8 и /3k = ((p'(~Xk),sk)/L. Тогда для любого номера р и хотя бы для одного номера г Е {0,1,...,п — 1} будет справедливо неравенство Доказательство. Из следствия получаем, что для любого р = = 0,1,... существует sp+f0 такой, что где 5 = 1/Bу/п), го < п. Для любого г G {0, ...,п - 1} будут справед- справедливы соотношения ^(Xp+i) i'(xp+2) Оценим j-e слагаемое в правой части неравенства C): \\<p'(x Добавим в числитель правой части последнего равенства получим ' (xp+J-+1) 11 ip1 (xp+J-+1) - 11 ip1 (xp+J-) 11 ip1 (xp+J-+1)
Д.2. Оценка скорости сходимости циклического метода 249 Отсюда, используя условие <р(х) Е С1'1^™), получаем L(y?(xp+j)?Sp+j) L((^(xp+i),sp+i) Предположим, что теорема неверна, т. е. для всех j Е {0,1, ...,п — 1} будет Тогда, возвращаясь к C), получаем Поэтому при всех г G {0, ...,п - 1} будет \\(П1(тг ли" ^ 51П^7 <р'(Хр) ре/ = {0,1,...}, и, значит, т. е. согласно следствию справедливо неравенство Мы пришли к противоречию с предположением о невыполнении неравенства B). Л Теорема 2. Пусть множество Xq = {х: <р(х) ^ у?(хо)} ограни- ограничено, (р(х) G С151(-Еп), последовательность {х/,} строится по форму- формулам (9.7.9), (9.13). Тогда имеет место следующая оценка скорости сходимости: <^(хт) — <?* ^ Sn^/m, m e /, где й > 0 — некоторая константа, не зависящая от размерности пространства Еп. Доказательство. Из теоремы 1 следует, что при любом pel среди последовательности величин o^+i {г = 0,1, ...,п — 1),
250 Добавления найдется хотя бы один такой, что o^+i ^ 1/Aбп3). Поэтому 111 " 16Ln3 и, значит, Таким образом, из теоремы 9.3.3 имеем г=0 Осталось заметить, что величина /3 k (согласно Д.1) имеет вид /3k = = ??(^'(хд.)^), где L2-1I7V-1I ^ Ск^ L2l7V-1l, что обеспечивает ко- Li нечность ее выбора методом удвоений. Если всюду выше величину ~ с1 /3k заменить на /3k = — (у?'(х^), s^), то результаты теоремы 1 и тео- 1 1j ремы 2 сохраняются. Л В случае сильной выпуклости функции (р(х) и выбора коэффици- коэффициента /3k из условия будет справедливо соотношение поэтому предыдущие результаты справедливы и для этого способа выбора шага. Оценка в этом случае имеет вид <р(хт) - <р* ^ ехр - pSi — , т = 0,1,..., м *м2 /2 Г г ml n л .Л.'ГГ! .Л. >^. \3--Л- VJ I LJ\J' 2i л \ *j lit \J* А- • •••• где Ei,^2 > 0 — некоторые константы, не зависящие от п и т. Л Д.З. Вырожденность в экстремальных задачах Изложенный в гл. 3 материал давался в предположении, что огра- ограничения /г(х) (г = 1,?тг) и целевая функция (р(х) не вырождены, т. е. (р'(х*) ^ 0, /г;(х*) ^ 0 (г = 1,?тг). В случае вырожденности теорема Куна-Таккера становится несодержательной, так как /г Vх / "~ и' ^ ~~ i' ''^ V1/
Д.З. Вырожденность в экстремальных задачах 251 ?>V) = О- B) В настоящем добавлении изложены критерии оптимальности для вырожденных задач математического программирования. Чтобы не усложнять изложений, рассмотрим только случай активных ограни- ограничений, т. е. /i(x) = 0 (г = 1,т). Считаем, как и раньше, /т(х) = = (/i(x), ...,/т(х)) и формализуем нашу задачу с вырождением сле- следующим образом: у>(х) -> гшп, Х = {кеЕп: f(x)=0}, при условиях V?(«)(x*)=0, q = l,p-l, /|9)(х*)=0, q = D) Через (р^(х0) обозначим производную р-го порядка функции <р(х) в точке х0. Например, ^'(х0) — это градиент функции (р(х) в точке хо, ср^{х.о) = у?"(хо) — матрица вторых производных и т. д. Дей- Действие производной <р(р)(хо) определено на произведении пространств Еп х ... х Еп следующим образом. Пусть у^1), ...,у(р) — элементы v из Еп. Тогда Л ( д A) , , д A)\ ( д (р) , , д (р)\ ( \л р! У'Ы A) A) (р) (р) Например, в случае у^1^ = ...у^ = h будет F) Введем следующие обозначения: = !/<, г = Т^Т, х е ?;„}, = {х G ^„: /,(р)(хо)[х]р = 0, г = Т^}.
252 Добавления I. Условие р-регулярности ограничений. Определение. Будем говорить, что отображение f: Еп —у Еш р-регулярно в точке х0, если для любых h G Kerf(x0) иЬ/0 выпол- выполнено соотношение (здесь запись f^(xo)\h]p~1En означает, что оператор f^ (x°)\h]p~1 применяется ко всем элементам z из пространства Еп). В дальнейшем, не ограничивая общности, считаем xq = 0, /г(хо) = = 0 (г = Т~ш). Пусть М — некоторое подмножество Еп. Вектор х G Еп называ- называется касательным к множеству М в точке xq G М, если существу- существует такое число г > 0 и отображение t —У г(?) отрезка [0,г] в Еп, что хо + ?х + r(t) G М при всех t G [0,г], ||г(?)||/? —у 0, t —у 0. Совокупность векторов, касательных к множеству М в точке xq, называется каса- касательным конусом к множеству М в точке xq и обозначается TM(xq). II. Основные теоремы. Для доказательства условий оптималь- оптимальности понадобится несколько классических результатов из курса математического анализа. Теорема (обобщенный принцип сжимающихся отображений). Пусть в некотором шаре C/(zo,ri) = {z|^(z,zq) < r\} (г\ > 0) опре- определено отображение Ф: C/(zo,ri) —у Еп, причем множество Ф(г) не пусто для всякого z G C/(zo,ri). Предположим, далее, что существу- существует число 0 @ < 0 < 1) такое, что: а) /г(Ф(г1),Ф(г2)) ^0p(ziJz2) для любых zbz2 GC/(zo,ri); всякого числа г2, удовлетворяющего неравенству р(го,Ф(го)) <г2 < A существует такой элемент z G t/(zo,r2/(l — 0)), что z G Ф(г). Бо- Более того, cpe^i/ точек z, удовлетворяющих этим условиям, найдется такая, что 2 p(z,z0) ^ -р(го,Ф(го)). 1 — С7 Здесь h(A,B) = max i supp(z, Б), sup p(z, A) i — хаусдорфово ^ zeA zeB * расстояние между множествами А и В. Теорема Банаха об открытом линейном отображе- отображении. Пусть А — линейный оператор, действующий на Еп —у Еш. Положим С (А) = sup аМГЧпх {||х|| |х G Еп,Лх = у}). уеЕт Тогда если 1тЛ = Еш, то С(А) < оо.
Д.З. Вырожденность в экстремальных задачах 253 Теорема о среднем значении. Пусть U—открытое мно- множество в Еп и отображение F: U -У Еш дифференцируемо в каждой точке отрезка [х,х + h] С U. Тогда*) III. Обобщенная теорема Люстерника. Теорема 1 (обобщенная теорема Люстерника)**). Пусть U — окрестность точки 0, f — дифференцируемое до р-го порядка вклю- включительно отображение множества U в Ет, удовлетворяющее усло- условию D). Предположим, что f является р-регулярным в точке 0 и его р-я производная непрерывна. Тогда касательный конус к множеству М@) = {х Е U\f(x) = 0} в точке 0 совпадает с ядром оператора ^ G) Более того, если sup IK/^WW^}!! ^ ^ то существуют ок- l||| рестность U' С U точки 0, число S > 0 и отображение у —у х(у) множества U' в Еп такие, что f(у + х(у)) = f@) и ||х(у)|| ^ Доказательство. Пусть вектор х принадлежит ТМ@). Докажем, что х G Кег/^@). Действительно, ?х + r(t) G M@), ||г(?)||/? -у 0 при t -у 0, или f(tx + r(t))=f(O). (8) С другой стороны, f (tx + r(t)) = f @) + ... + ^j^[tx + r(t)]p + u(t), (9) Приравнивая правые части (8) и (9), имеем или ——\ +u(t) = O. A0) *) Читатель может найти эти теоремы в книге А.Д. Иоффе и В.М. Тихомирова "Теория экстремальных задач" (М., Наука, 1973). **) Теорема впервые сформулирована и доказана в ИПК АН СССР А.А. Третьяковым.
254 Добавления Сокращая A0) на ?р, получаем +f]%^ = 0. (П) Но левая часть выражения A1) есть р-1 ^]P + ^! = 0. A2) Исходя из непрерывности /^@) и условия D), получаем из A2) при t -+ +оо, что /W@)[x]P = 0, т. е. х G Кег/^)(О) или ГМ@) С Пусть теперь h G Кег/^)(О), т. е. /(p)@)[h]p = 0. Не ограничивая общности, считаем, что ||h|| = 1. Положим ха = ah, a > 0. Обозначим через C/d(x) = {у G ?^n| ||х - у|| ^ d} окрестность точки х радиуса d. Рассмотрим многозначное отображение ФХа (х) = х - (р - ly.if^iO)^-1}-1^ + х), где f(p\0)[xa]p~1 — непрерывный линейный оператор при каждом фиксированном а > 0. Покажем, что при каждом достаточно малом а > 0 для операто- оператора ФХа (х) выполнены следующие соотношения: 7l|xi-х2||, т ?@,l); l j р@,Фхв@))<й(а)A-7). A36) В свою очередь, это будет означать, что для оператора ФХа (х) вы- выполнены условия обобщенного принципа сжимающих отображений и, значит, существует такая точка z(a), что «(а) € Фха («(а)), р(«(а), 0) Докажем сначала, что р@,ФХв@))=о(а) A4) при достаточно малом а > 0. Согласно теореме Банаха об открытом линейном отображении т = sup (ЦуЦ-1 inf{||x|| |x G Еп, /^(О)^"^ = у}) < оо,
Д.З. Вырожденность в экстремальных задачах 255 и поэтому та = sup (ЦуЦ-Чп^ЦхЦ |х е Еп, х = У}) = ^Г' где / р(о,ФХв(о)) = iKp-^ii , то f @)[ah] + ... где ||a;(ah)|| = o(ap). Значит, р(О,ФХв(О)) ^ (p- l = (p-l)lmo(a) A5) и выполнено соотношение A4). Докажем теперь справедливость условия A3а), т. е. что при любом достаточно малом а > 0 оператор ФХа (х) будет сжимающим в шаре с центром в точке 0 и с радиусом d(a) (причем ниже будет показано, что d(a) = a/R, R > 1 — некоторая константа, постоянная для всех достаточно малых а > 0). В свою очередь, в совокупности с A5) это будет означать справедливость условия A36). Имеем = inf{||zi - Z2| = inf ^Г f(«h' - z2| = 1,2} - f(ah + x2) - По теореме о среднем значении -xi)-f(ah + x2)|| ^ ^ sup Поэтому sup ¦xi) -f(ah4 /'(ah + xi - xi)) - (p-1)!- IX2 - A6)
256 Добавления Считаем, что ||xi|| ^ a/R, ||х2|| ^ ol/R, R > 1, где величина R выбира- выбирается из условия выполнения соотношения A3а) одновременно для всех достаточно малых а > 0. Ниже будет показано, что это сделать можно, и значение R будет определено. Раскладывая /'(ah + xi + 0(х2 - по формуле Тейлора в нуле, имеем /'(ah + X! + <9(х2 - = /'@) + /B)@)[ah + Xl + 6>(х2 - хх)] + ... Х1 + #(х2 - хх)]*-1 + е(а), A7) где ||е(а)|| = о(ар~1), так как ||ah + xi + ^( р—1 слагаемых в A7) равны нулю, поэтому X! — xi) 4a. Первые е(а) = г=1 (а). A8) Теперь оценим значение величины R > 1 (||xi|| ^ a/R, ||x2|| ^ а/Д) таким образом, чтобы норма второго слагаемого в правой части A8) была меньше ар~1 /Dт). Это сделать возможно, так как '^ +(9(х2 -X!) 1=1 р-1 г=1 Полагая i? ^ 2p+3\\f^@)\\m/{p - 1)!, получаем 1=1 A9) Оценим, основываясь на A8) и A9), правую часть по формуле A6): sup 0e[o,i] +0(x2 - |х2 —
Д.З. Вырожденность в экстремальных задачах 257 р-1 sup 0e[O,l] + е(а) ||х2 - + )|| ||x2 - B0) для всех достаточно малых а > 0. Это в свою очередь означает, что ^ 2llX2-XlH' xi, Х2 G ?^(i(a)(O), т. е. выполнено условие A3а) с 7= 1/2 и Д=2Р+3||/(р)@)||т/(р_1)!_ Таким образом, справедливость условий A3) доказана, поэтому для любого достаточно малого а > 0 существует точка z(a) такая, что p(z(a),0) = =o(a), B1) B2) и из B1) следует, что f(ah + z(a)) = 0, или ah + z(a) G M@). В сово- совокупности с A9) это означает, что h G ГМ@), и тем самым доказано, что Кег/(р)@) СГМ(О). Докажем теперь последнее утверждение теоремы. Из теоремы Банаха и условия об ограниченности оператора {/^11 следует sup sup ||h||=iyesm ^,/W@)[hf-1x = Зафиксируем произвольное h, ||h|| = 1. Тогда для любого отображения <J?ah(x) имеет место соотношение Ь(Фаь(х1),Фаь(х2)) =inf{||zi -Z2|||Zi ), г = 1, 2} = 1^ - {(ah + Xi), г = 1,2}
258 Добавления Из последнего неравенства автоматически получаем аналогично A6)- B0), что для всех хь х2, принадлежащих окрестности нуля и' доста- достаточно малого радиуса г, и любого у G и' имеет место соотношение Л(Фу (xi), Фу (х2)) ^ ||xi - х2||/2. B3) Далее, в силу A5) ^0, ФУ(О)К M||f(у)!!1/^^. B4) Соотношения B3) и B4) показывают, что для любого у ей' отображе- отображения Фу(х) удовлетворяют условиям обобщенного принципа сжимаю- сжимающих отображений. Поэтому существует такой вектор х = х(у), что х(у) ? Фу(х(у)Х И5 следовательно, f(у + х(у)) = 0. С другой стороны, где Si, S — положительные, не зависящие от у константы. Теорема доказана. Л IV. Необходимые и достаточные условия оптимальности р-го порядка. Теорема 2. Пусть U — открытое множество в Еп, функция if: U —У R и отображение f: Еп —у Еш строго дифференцируемы в точке х* eU до р-го порядка включительно. Если х* доставляет локальный минимум в задаче C), D) и если f — регулярное отображение р-го порядка в точке х*, то 0 V/i G Ker/(p)(x*). B5) Если же sup т/^^х*)^]^}!! ^ к и для некоторого а > 0 будет \\h\\ = l выполнено неравенство <p(p)(x*)[hp] ^ a||h||p, h e Кег/(р)(х*)\{0}, B6) то х* — точка локального минимума. Доказательство. Необходимость. Пусть х* — решение задачи C) и h G Ker/^(x*). Согласно теореме 1 h G ТМ(х.*), где М(х*) = {xG En\f(x) = 0}, т. е. существует отображение г(-): [—в, г] —>¦ —У М(х*) такое, что f(x* + th + r(t)) = 0, ||r(t)||/t -^ 0, t -+ 0. Значит, х* + th + r(t) — допустимый элемент в задаче при t е [-г,г], и, следовательно, Поэтому o(tp) = + o(tp).
Д.З. Вырожденность в экстремальных задачах 259 Отсюда непосредственно следует B5). Достаточность. Считаем, что <р(х*) = 0. Обозначим через В (hi,..., hp) полилинейную форму (p\)~1(p(p\x*)\hi,..., hp]. Очевидно, что В (hi, ...,hp) — непрерывная симметричная полилинейная форма. Выберем е > 0 так, чтобы = g(l - е)" - С1р\\В\\A + еУ~1е - ... * ef-kek - ... - С%\\В\\?) - ^ > 0. (Поскольку 7@) = а/Bр\) > 0, это заведомо можно сделать.) Функции f (х) и <р(х) по условию имеют в точке х* производные р-го порядка по х. Пользуясь формулой Тейлора и учитывая условие C), получаем, что <рг(х*) = 0 (г = 1,р- 1), и, значит, найдется такое число S > 0, что при ||h|| ^ S Теперь пусть ||h|| < S и х* + h — допустимый элемент в задаче, т. е. f(x* + h) = 0. Тогда, применяя к функционалу F(x) = /^(x*)[h + х]р обобщенную теорему Люстерника при р = 1, получаем существова- существование элемента h такого, что /^)(x*)[h + hf = 0, ? Значит, h + heKer/(p)(x*), причем ||h- (h + h^l это следует из B7). Отсюда (l-e)||h|| ^ ||h + h|| ^ (l + e)||h||, и в итоге получаем * + h) - ^(х*) ? B\h]* - ±.\\h\\* = B[h + h - h] - ^ ^ B[h + hf - ^ 2 (^ (a(l - eY - C\\\B\\{\ + ey-le - ... - ||B||e" - g) ||h||") > 0, т. e. x* — решение задачи (З), D). Теорема доказана. Л
СПИСОК ЛИТЕРАТУРЫ 1. Ашманов С.А. Линейное программирование. — М.: Наука, 1981. 2. Бахвалов П.И. Численные методы, т. I. — М.: Наука, 1975. 3. Васильев Ф.П. Численные методы решения экстремальных задач. — М.: Наука, 1980. 4. Васильев Ф.П. Методы решения экстремальных задач. — М.: Наука, 1981. 5. Воеводин В.В. Линейная алгебра. — М.: Наука, 1974. 6. Воробьев Н.Н. Числа Фибоначчи. — М.: Наука, 1978. 7. Демьянов В.Ф., Малоземов В.Н., Введение в минимакс. — М.: Наука, 1972. 8. Евтушенко Ю.Г. Методы решения экстремальных задач и их примене- применение в системах оптимизации. — М.: Наука, 1982. 9. Еремин И.И., Астафьев П.П. Введение в теорию линейного и выпуклого программирования. — М.: Наука, 1976. 10. Ильин В.А , Лозняк Э.Г. Основы магматического анализа, ч. I. — М.: Наука, 1971. 11. Колмогоров А.Н., Фомин СВ. Элементы теории функций и функцио- функционального анализа. — М.: Наука, 1976. 12. Моисеев Н.Н., Иванилов Ю.П., Столярова Е.М. Методы оптимизации. — М.: Наука, 1978. 13. Ортега Д., Рейнболдт В. Итерационные методы решения нелинейных систем уравнений со многими неизвестными. — М.: Мир, 1975. 14. Полак Э. Численные методы оптимизации. — М.: Мир, 1974. 15. Поляк Б.Т. Введение в оптимизацию. — М.: Наука, 1983. 16. Прохоров Ю.В., Розанов Ю.А. Теория вероятностей. — М.: Наука, 1973. 17. Пшеничный Б.Н. Выпуклый анализ и экстремальные задачи. — М.: На- Наука, 1980. 18. Пшеничный Б.Н., Данилин Ю.М. Численные методы в экстремальных задачах. — М.: Наука, 1975. 19. Рокафеллер Р. Выпуклый анализ. — М.: Наука, 1973. 20. Тихонов А.Н., Арсенин В.Я. Методы решения некорректных задач. — М.: Наука, 1986. 21. Федоров В.В. Численные методы максимина. — М.: Наука, 1979.
ОГЛАВЛЕНИЕ Предисловие 3 ГЛАВА 1. ВВЕДЕНИЕ 5 1.1. Предмет математического программирования 5 1.2. Еще раз о моделях 8 1.3. Вопросы классификации и специфики 9 1.4. Примеры математических моделей 11 1.5. Основные обозначения 15 ГЛАВА 2. ЭЛЕМЕНТЫ ВЫПУКЛОГО АНАЛИЗА 18 2.1. Евклидово пространство. Выпуклые множества 18 2.2. Проекция. Теоремы отделимости 20 2.3. Конус. Теорема Фаркаша 26 2.4. Выпуклые функции 29 2.5. Сильная выпуклость функций 36 ГЛАВА 3. ОСНОВЫ МАТЕМАТИЧЕСКОГО ПРОГРАММИРО- ПРОГРАММИРОВАНИЯ 39 3.1. Задачи математического программирования 39 3.2. Возможные направления 40 3.3. Экстремальные свойства 42 3.4. Экстремальные свойства на выпуклых множествах 44 3.5. Достаточные условия оптимальности 48 3.6. Функция Лагранжа. Условия оптимальности 49 ГЛАВА 4. ТЕОРИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ... 57 4.1. Основные понятия 57 4.2. Основные теоремы 59 4.3. Алгебраическая характеристика угловой точки 67 4.4. Двойственные задачи со смешанными ограничениями .... 69 4.5. Канонический вид задачи линейного программирования ... 72 ГЛАВА 5. КОНЕЧНЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНО- ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 74 5.1. Симплексный метод 74 5.2. Рекуррентные соотношения алгоритма симплексного метода (связь между параметрами последовательных итераций) . . 78
262 Оглавление 5.3. Методы отыскания исходной угловой точки 79 5.4. Вырожденность. Метод возмущений 82 5.5. Замечание о применении симплексного метода для решения специальных классов задач линейного программирования . . 85 5.6. О модифицированном симплексном методе 85 5.7. Мультипликативное представление обратной матрицы .... 86 5.8. Двойственный симплексный метод 87 5.9. Решения двойственной задачи как оценки влияния 90 5.10. О применении двойственного симплексного метода к задачам с возрастающим количеством условий 92 5.11. Метод одновременного решения прямой и двойственной задач 93 5.12. Метод декомпозиции 98 ГЛАВА 6. МЕТОД ШТРАФНЫХ ФУНКЦИЙ 103 6.1. Описание метода 103 6.2. Теоремы о сходимости 106 ГЛАВА 7. ВОПРОСЫ УСТОЙЧИВОСТИ В МАТЕМАТИЧЕСКОМ ПРОГРАММИРОВАНИИ 119 7.1. Корректные и некорректные задачи 119 7.2. Один класс корректных задач 122 7.3. Задачи с точными ограничениями. Метод регуляризации . . 123 7.4. Сходимость 124 7.5. Метод регуляризации (общий случай) 126 7.6. Сходимость метода регуляризации (общий случай) 126 ГЛАВА 8. МЕТОДЫ ОДНОМЕРНОЙ МИНИМИЗАЦИИ 131 8.1. О задачах одномерной минимизации 131 8.2. Поиск отрезка, содержащего точку минимума 133 8.3. Методы Фибоначчи и золотого сечения 134 8.4. Метод парабол 141 8.5. Метод кубической аппроксимации 142 8.6. Метод касательных 143 ГЛАВА 9. РЕЛАКСАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ ЭКСТРЕ- ЭКСТРЕМАЛЬНЫХ ЗАДАЧ. МЕТОДЫ БЕЗУСЛОВНОЙ МИНИМИЗА- МИНИМИЗАЦИИ 148 9.1. Вопросы сходимости и устойчивости. Релаксационные про- процессы 148 9.2. Вспомогательный аппарат 150 9.3. Теоремы об оценках 158 9.4. Методы спуска 161 9.5. Методы первого и второго порядков 171 9.6. Метод сопряженных направлений 186 9.7. Методы нулевого порядка 190
Оглавление 263 ГЛАВА 10. РЕЛАКСАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ ЭКСТРЕ- ЭКСТРЕМАЛЬНЫХ ЗАДАЧ С ОГРАНИЧЕНИЯМИ 196 10.1. Характеристика методов 196 10.2. Метод проекции градиента 197 10.3. Метод условного градиента 204 10.4. Метод возможных направлений 207 10.5. Способы отыскания допустимой точки 216 10.6. Методы случайного спуска 219 ГЛАВА 11. МЕТОД МОДИФИЦИРОВАННЫХ ФУНКЦИЙ ЛАГ- РАНЖА 237 11.1. Метод множителей Лагранжа 237 11.2. Метод модифицированных функций Лагранжа 238 11.3. Взаимосвязь методов множителей Лагранжа и штрафных функций 243 добавления 246 Д.1. О конечности численно реализуемого метода выбора шага из условия (9.15) 246 Д.2. Оценка скорости сходимости циклического метода покоорди- покоординатного спуска с удвоением шага 247 Д.З. Вырожденность в экстремальных задачах 250 Список литературы 260
Учебное издание КАРМАНОВ Владимир Георгиевич МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ Редактор Е.Ю. Ходан Оригинал-макет Н.Л. Ивановой ЛР № 071930 от 06.07.99. Подписано в печать 30.08.01. Формат 60x90/16. Бумага типографская. Печать офсетная. Усл. печ. л. 16,5. Уч.-изд. л. 18,7. Заказ № Издательская фирма «Физико-математическая литература» МАИ К «Наука/Интерпериодика» 117997 Москва, Профсоюзная ул., 90 E-mail: fizmat@maik.ru, http://www.fml.ru Отпечатано с готовых диапозитивов в ППП «Типография «Наука» 121099, Москва, Шубинский пер., 6 ISBN 5-9231-0170-Х 785923 101706