Текст
                    Уважаемый читатель!
Вы открыли одну из книг, изданных в серии «Классический
университетский учебник», посвященной 250-летию
Московского университета. Серия включает более 150 учебников и
учебных пособий, рекомендованных к изданию Учеными советами
факультетов и Редакционным советом серии.
Московский университет всегда славился своими
профессорами и преподавателями, воспитавшими не одно поколение
студентов, впоследствии внесших заметный вклад в развитие нашей
страны, составивших гордость отечественной и мировой науки,
культуры и образования. Юбилей Московского университета —
выдающееся событие в жизни всей нашей страны и мирового
образовательного сообщества.
Высокий уровень образования в Московском университете
в первую очередь обеспечивается высоким уровнем написанных
выдающимися учеными и педагогами учебников и учебных
пособий, в которых сочетаются как глубина, так и доступность
излагаемого материала. В этих книгах собран бесценный опыт
методики и методологии преподавания, который стал достоянием
не только Московского университета, но и других университетов
России и всего мира.
Издание серии «Классический университетский учебник»
наглядно демонстрирует тот вклад, который внес Московский
университет в классическое университетское образование в нашей
стране.
Решение этой благородной задачи было бы невозможным без
активной помощи со стороны издательств, принявших участие
в издании книг серии «Классический университетский учебник».
Мы расцениваем это как поддержку ими позиции, которую
занимает Московский университет в вопросах образования и науки.
Ректор Московского университета
академик РАН, профессор
В. А. Садовничий
Р) Lb^&^buT


Серия КЛАССИЧЕСКИЙ УНИВЕРСИТЕТСКИЙ УЧЕБНИК основана в 2002 году по инициативе ректора МГУ им. М.В. Ломоносова академика РАН В А. Садовничего и посвяшена 250-летию Московского университета
КЛАССИЧЕСКИЙ УНИВЕРСИТЕТСКИЙ УЧЕБНИК Редакционный совет серии: Председатель совета ректор Московского университета В.А. Садовничий Члены совета: Виханский О.С., Голиченков А.К., Гусев М.В., Аобреньков В.И., Донцов А.И., Засурский Я.Н., Зинченко Ю.П. (ответственный секретарь), Камзолов А.И. (ответственный секретарь), Карпов СП., Касимов Н.С., Колесов В.П., Лободанов А.П., Лунин В.В., Лупанов О.Б., Мейер М.С., Миронов В.В. (заместитель председателя), Михалев А.В., Моисеев Е.И., Пушаровский А.Ю., Раевская О.В., Ремнева М.Л., Розов Н.Х., Салеикий А.М. (заместитель председателя), Сурин А.В., Тер-Минасова С.Г., Ткачук В.А., Третьяков Ю.А., Трухин В.И., Трофимов В.Т. (заместитель председателя), Шоба С.А.
А.Г. СУХАРЕВ, А.В. ТИМОХОВ, В.В. ФЕДОРОВ КУРС МЕТОДОВ ОПТИМИЗАЦИИ ИЗДАНИЕ ВТОРОЕ МОСКВА ФИЗМАТЛИТ 2005
с-ей УДК 22.18 ББК 519.6 С91 Сухарев А. Г., Тимохов А. В., Федоров В. В. Курс методов оптимизации: Учеб. пособие. — 2-е изд. — М.: ФИЗМАТЛИТ, 2005. — 368 с. - ISBN 5-9221-0559-0. Книга написана на основе курсов лекций по оптимизации, которые на протяжении ряда лет читались авторами на факультете вычислительной математики и кибернетики МГУ. Основное внимание уделено методам минимизации функций конечного числа переменных. Книга может служить также введением в выпуклый анализ и теорию условий оптимальности в экстремальных задачах. Для усвоения материала достаточно владения стандартными курсами математического анализа и линейной алгебры. Первое издание — 1986 г. Для студентов и аспирантов, изучающих методы оптимизации, и специалистов в области прикладной математики. Рецензенты: кафедра теории управления и исследования операций МФТИ; доктор физико-математических наук А.А. Петров НАУЧНАЯ БИБЛИОТЕКА ГЛГУ 1М S934~Jie-0S ISBN 5-9221-0559-0 © ФИЗМАТЛИТ, 2005 © А. Г. Сухарев, А. В. Тимохов, В. В. Федоров, 2005
ОГЛАВЛЕНИЕ Предисловие 5 Глава 1. Введение в оптимизацию 7 § 1. Понятие о задачах оптимизации 7 § 2. Начальные сведения о численных методах оптимизации 32 Глава 2. Методы одномерной минимизации 44 § 1. Численные методы минимизации унимодальных функций 45 § 2. Численные методы минимизации многоэкстремальных функций 52 § 3. Понятие об оптимальных методах поиска экстремума 56 Глава 3. Основы выпуклого анализа 61 § 1. Выпуклые множества 61 § 2. Теоремы отделимости и их некоторые приложения 77 § 3. Выпуклые функции 97 § 4. Субградиент и субдифференциал выпуклой функции 115 § 5. Системы выпуклых и линейных неравенств 129 Глава 4. Теория необходимых и достаточных условий оптимальности 138 § 1. Условия оптимальности в общей задаче минимизации 138 § 2. Дифференциальные условия оптимальности в задаче математического программирования 147 § 3. Теория двойственности и недифференциальные условия оптимальности в задаче выпуклого программирования 174 § 4. Условия оптимальности и двойственность в задачах линейного и квадратичного программирования 197 Глава 5. Численные методы безусловной оптимизации 213 § 1. Градиентный метод 213 § 2. Метод Ньютона и его модификации 219 § 3. Методы сопряженных направлений 225 § 4. Эвристические методы нулевого порядка 236 Глава 6. Численные методы условной оптимизации 240 § 1. Симплекс-метод решения задач линейного программирования .. 240 § 2. Метод проекции градиента 256 § 3. Метод условного градиента 260 § 4 Конечный метод решения задач квадратичного программирования 265 § 5. Метод штрафных функций 274
4 Оглавление § 6. Метод параметризации целевой функции 298 § 7. Метод линеаризации 303 Глава 7. Методы дискретной оптимизации 311 § 1. Примеры дискретных оптимизационных задач и вопросы эффективности алгоритмов 311 § 2. Целочисленные и частично целочисленные задачи линейного программирования 317 § 3. Решение задачи о коммивояжере методом ветвей и границ — 320 § 4. Метод динамического программирования 324 § 5. Целочисленная задача распределения ресурсов при вогнутых целевых функциях 329 § 6. Приближенные методы 331 Глава 8. Элементы теории оптимального управления 335 § 1. Постановка задачи оптимального управления 335 § 2. Принцип максимума Понтрягина 338 § 3. Примеры применения принципа максимума 350 Приложение 355 Список литературы 361 Предметный указатель 364
ПРЕДИСЛОВИЕ КО ВТОРОМУ ИЗДАНИЮ Эта книга написана более 18 лет назад. Она переиздается в серии «Классический университетский учебник» по рекомендации Ученого совета факультета вычислительной математики и кибернетики МГУ им. М. В. Ломоносова в связи с 250-летием МГУ. В свое время книга быстро разошлась, и теперь ее можно найти только в библиотеках. Надеемся, что новое издание книги окажется полезным как нынешним студентам, так и преподавателям. Нам вспоминается творческая атмосфера, в которой создавалась эта книга. Было много споров о том, какой материал включить в основной текст книги, а какой — в дополнительный, как наиболее доходчиво изложить тот или иной раздел, как сделать более прозрачными доказательства трудных теорем. Хочется думать, что наши тогдашние усилия оказались не напрасными. По крайней мере, прочитав книгу заново, мы не сочли необходимым внести в ее содержание какие-либо изменения. Исправлены лишь замеченные опечатки. * * * К огромному сожалению, в апреле 2004 г. ушел из жизни один из авторов этой книги — профессор Вячеслав Васильевич Федоров. Это был яркий человек, талантливый ученый и педагог. Мы посвящаем данное издание его памяти. декабрь 2004 г. А. Г. Сухарев, А. В. Тимохов ПРЕДИСЛОВИЕ К ПЕРВОМУ ИЗДАНИЮ Предлагаемая книга написана на основе курса лекций по теории и численным методам оптимизации, который в течение ряда лет читался авторами на факультете вычислительной математики и кибернетики МГУ им. М. В. Ломоносова. Книга состоит из восьми глав. Глава 1 вводная. В ней приводятся общая постановка, классификация и примеры задач оптимизации, а также дается начальное представление о численных методах их решения. Глава 2 посвящена методам одномерной минимизации, широко применяемым на практике в качестве составной части методов поиска экстремума функций нескольких переменных. Данная глава носит элементарный характер и поэтому также может рассматриваться как введение в предмет оптимизации. Глава 3 содержит основы выпуклого анализа — математической дисциплины, играющей фундаментальную роль в теории и численных методах оптимизации, а также в ряде других разделов прикладной математики. Глава 4 излагает теорию необходимых и достаточных условий оптимальности, составляющую сердцевину современной теории оптимизации.
6 Предисловие к первому изданию Главы 5-7 посвящены численным методам безусловной, условной и дискретной оптимизации. В современной литературе описано огромное число алгоритмов решения экстремальных задач; все их изложить невозможно. Поэтому в книгу включены лишь некоторые из наиболее эффективных и наиболее важных с методологической точки зрения алгоритмов. Глава 8 содержит элементы теории оптимального управления. Здесь приводится основной результат данной теории — принцип максимума Понтрягина, рассматриваются примеры его применения, коротко обсуждаются численные методы решения задач оптимального управления. Книга включает основной и дополнительный тексты *). Для понимания основного текста не требуется чтения дополнительного. Основной текст охватывает материал действующей типовой программы курса «Методы оптимизации» для студентов государственных университетов, обучающихся по специальности «Прикладная математика». Дополнительный текст может быть использован при чтении более углубленных специальных курсов лекций по соответствующим вопросам. Так, полный текст глав 3 и 4 — это обработанный материал годового спецкурса «Введение в выпуклый анализ и теорию оптимизации», читаемого на факультете ВМиК МГУ. Практически все параграфы книги снабжены задачами. Их рекомендуется решать или, по крайней мере, просматривать, поскольку они содержат немало дополнительных сведений. В книге имеется приложение, куда вынесены по существу все необходимые сведения из математического анализа и линейной алгебры. Желательно, чтобы читатель ознакомился с ними перед тем как начать чтение книги. При написании книги большое внимание уделялось методологической стороне дела: отбору материала среди огромного числа фактов, накопленных в теории и численных методах оптимизации; поиску наиболее экономных схем изложения, упрощению доказательств и т. п. Наши усилия были направлены на то, чтобы сделать материал доступным, но не за счет снижения уровня строгости. При этом, естественно, учитывался опыт других учебных пособий по оптимизации. В связи с ограниченным объемом книги в ней представлены в малой степени или не представлены вообще такие важнейшие разделы оптимизации, как вопросы устойчивости вычислительных алгоритмов и регуляризации некорректно поставленных задач, методы поиска глобального экстремума, параметрическое программирование, методы декомпозиции задач большой размерности, теория и методы минимизации в бесконечномерных пространствах и др. Углубленное изучение этих разделов возможно лишь в рамках отдельных курсов. Несколько слов о системе нумерации и ссылках. В пределах каждой главы принята двойная нумерация структурных элементов: определений, теорем, лемм, примеров и формул. Первое число указывает номер параграфа, второе — номер соответствующего структурного элемента. При ссылках в пределах данной главы указываются только эти два номера. В остальных случаях к ним добавляется номер главы, например: теорема 1.8 гл. 1, формула C.7) гл. 3. Авторы ) Начало и конец дополнительного текста помечены символами т, А.
Глава 1 ВВЕДЕНИЕ В ОПТИМИЗАЦИЮ § 1. Понятие о задачах оптимизации В этом параграфе обсуждается общая постановка задачи оптимизации; указываются наиболее важные с точки зрения теории и приложений классы оптимизационных задач; напоминаются некоторые сведения из математического анализа, относящиеся к теме данного курса; рассматривается геометрический метод решения простейших задач оптимизации. 1. Постановка задачи оптимизации. Сама по себе постановка задачи оптимизации проста и естественна: заданы множество X и функция f(x), определенная на Х\ требуется найти точки минимума или максимума функции / на X. Условимся записывать задачу на минимум в виде /(rr)->min, x ? X. A.1) При этом / будем называть целевой функцией, X — допустимым множеством, любой элемент х ? X — допустимой точкой задачи A.1). Всюду в курсе, за исключением гл. 8, а также п. 11 данного параграфа, мы будем иметь дело с конечномерными задачами оптимизации, т.е. задачами, допустимое множество которых лежит в евклидовом пространстве Rn. Необходимо подчеркнуть, что само понятие точки минимума, т. е. решения задачи A.1), неоднозначно и требует уточнения. Точка х* ? X называется: 1) точкой глобального минимума функции / на множестве X или глобальным решением задачи A.1), если f(x*) ^ f(x) при всех х ? X; A.2) 2) точкой локального минимума / на X или локальным решением задачи A.1), если существует число е > 0 такое, что f(x*)^f(x) при всех xeXnU?(x*), A.3) где Ue(x*) = {х ? Rn | ||х - х*|| ^ е} — шар радиуса е > О с центром в х*. Если неравенство в A.2) или A.3) выполняется как строгое при х^х*, то говорят, что х* — точка строгого минимума (строгое решение) в глобальном или локальном смысле.
8 Гл. 1. Введение в оптимизацию Ясно, что глобальное решение является и локальным; обратное неверно. Для отражения того факта, что точка х* е X является точкой глобального минимума функции / на X, будет использоваться запись f{x*)=mmf(x) х?Л или эквивалентная ей запись х* = axgmin/(x). При этом говорят также, что точка х* реализует величину /* = = min/(x), т.е. минимальное значение функции / на X. Множество всех точек глобального минимума / на X обозначим через Argrmn /(*) = {х* е X | f{x*) = /*}. х?А Таким образом, argmin/(x) — это просто произвольная точка из множества Argmin/(x). По аналогии с A.1) будем записывать задачу максимизации функции / на множестве X в виде f(x) —> max, xeX. A.4) Заменяя в данных выше определениях слово «минимум» на «максимум» и заменяя знак неравенств в A.2), A.3) на противоположный, получаем соответствующие понятия для задачи A.4). Решения задач A.1), A.4), т.е. точки минимума и максимума функции / на X, называют также точками экстремума, а сами задачи A.1), A.4) — экстремальными задачами. Ясно, что задача A.4) эквивалентна задаче —f(x) —> min, x e X, в том смысле, что множества глобальных и локальных, строгих или нестрогих решений этих задач соответственно совпадают. Это позволяет без труда переносить результаты, полученные для задачи минимизации, на задачи максимизации, и наоборот. В дальнейшем мы, как правило, будем рассматривать задачу минимизации. При изучении задач оптимизации в первую очередь возникает вопрос о существовании решения. Напомним в этой связи важный результат из математического анализа. Теорема 1.1 (Вейерштрасса). Пусть X — компакт в Rn l), / — непрерывная функция на X. Тогда точка глобального минимума функции f на X (глобальное решение задачи A.1)) существует. В дальнейшем окажется полезной и несколько иная форма данной теоремы. 1) То есть замкнутое ограниченное множество.
§ /. Понятие о задачах оптимизации 9 Теорема 1.1'. Пусть X — замкнутое множество в Rn, / — непрерывная функция на X, причем при некотором х° е X множество Щх°) = {хеХ\ f{x) < Дх0)} ограничено. Тогда точка глобального минимума функции f на X существует. Доказательство. Из замкнутости X и непрерывности / следует, что множество N(x°) замкнуто и поэтому является компактом. По теореме 1.1 точка минимума / на N(x°) существует. Из определения N(x°) ясно, что она же будет точкой минимума / на X. Л Задача A.1) представляет собой общую постановку задачи оптимизации. Классификацию задач оптимизации можно проводить по нескольким признакам в зависимости от вида функции / и множества X. Далее мы выделим наиболее важные для теории и приложений оптимизационные задачи. 2. Задача безусловной оптимизации. Задача A.1) называется задачей безусловной оптимизации, если X = Rn, т.е. если она имеет вид /(ж)-ишп, xeRn. A.5) При изучении любого типа задач оптимизации важное место занимает вопрос об условиях оптимальности, или, как еще говорят, условиях экстремума. Различают необходимые условия оптимальности, т.е. условия, которым должна удовлетворять точка, являющаяся решением задачи, и достаточные условия оптимальности, т.е. условия, из которых следует, что данная точка является решением задачи. Интерес к условиям оптимальности объясняется тем, что они, во- первых, составляют основу качественных методов теории оптимизации, т. е. методов, направленных на изучение свойств экстремальных задач; во-вторых, используются при построении и обосновании численных методов решения этих задач; в-третьих, позволяют в простых случаях явно решить задачу. Теория необходимых и достаточных условий оптимальности в задачах безусловной оптимизации излагается в любом курсе математического анализа. Напомним соответствующие результаты и их простые доказательства. Пусть «*•> -(&<*•> ?<**>) — вектор первых частных производных (градиент) функции / в точке х* е Rn; '"<*•>=(§Sfc <**>),,.„, — матрица вторых частных производных (гессиан) функции / в точке х* е Rn.
10 Гл. 1. Введение в оптимизацию Нижеследующая теорема указывает необходимое условие локальной оптимальности первого порядка. Теорема 1.2. Пусть функция f дифференцируема в точке х* G G Rn. Если х* — локальное решение задачи A.5), то /'(**) =0. A.6) Доказательство. Для любого вектора ft G Rn, используя A.3) и определение дифференцируемой функции, имеем 0 ^ f(x* + aft) - f(x*) = (/'(**), ah) + o(a) при всех достаточно малых а. Разделив обе части неравенства на a > 0 и перейдя к пределу при а —> 0, получаем (f'(x*)y ft) ^ 0. Отсюда при ft = -f(x*) следует A.6). Л Точка х*, удовлетворяющая условию A.6), называется стационарной точкой функции / или задачи A.5). Ясно, что стационарная точка не обязана быть решением, т.е. A.6) не является достаточным условием оптимальности. Для выявления «посторонних» стационарных точек может использоваться необходимое условие локальной оптимальности второго порядка. Теорема 1.3. Пусть функция f дважды дифференцируема в точке ж* е Rn. Если х* — локальное решение задачи A.5), то матрица f"(x*) неотрицательно определена, т.е. (f"(x*)h, ft) ^ 0 при всех ft G Rn. A.7) Доказательство. Для любого ft G Rn с учетом A.6) имеем 0 < /(** + ah) - /(**) = I (f"(x*)(ah)f ah) + o(a2) при всех достаточно малых а. Разделив обе части неравенства на а2 и перейдя к пределу при а —> 0, получаем A.7). Л Достаточное условие локальной оптимальности содержит характерное усиление требований на матрицу f"{x*). Теорема 1.4. Пусть функция f дважды дифференцируема в точке х* G Rn. Предположим, что f'(x*) = 0, а матрица f"(x*) положительно определена, т. е. (/"(x*)ft, ft) > 0 при всех ft G Rn, ft ф 0. A.8) Тогда х* — строгое локальное решение задачи A.5). Доказательство. Допустим, что это не так, т.е. существует последовательность {хк}, удовлетворяющая условиям хк+х\ хк-*х\ /(xfc)^/(x*). Представим хк в виде хк = х* + akhk, где ак = \\хк - х*||, hk = = (хк - х*)/ак. Поскольку ||ftfc|| = 1, то без ограничения общности
§ 1. Понятие о задачах оптимизации 11 можно считать, что hk —> h^Q. Учитывая, что /'(х*)=0, имеем О > /(**) - f(x*) = \ (f"{x*)(akh% akhk)+o(al). Разделив обе части неравенства на а\ и перейдя к пределу, получаем противоречие с A.8). Л Разумеется, для функции / числового аргумента (п=1) условия A.7) и A.8) означают, что вторая производная f"(x*) как скалярная величина неотрицательна и положительна соответственно. В тех случаях, когда функция / достаточно проста, теоремы 1.2-1.4 позволяют явным образом решить задачу A.5). При этом для исследования матрицы /"(#*) на неотрицательную и положительную определенность, как правило, используется критерий Сильвестра. Пример 1.1. Рассмотрим задачу /(х) = х\ + х\ - 3xix2 -> min, x e Rn. Условие A.6) имеет здесь вид Зх2 — 3x2 = О, Зх2 — 3xi = 0. Решениями этой системы (стационарными точками) являются х1 = = @,0) и х2 = A,1). При этом /"(*) = 6xi —3 —3 6X2 /V) О -3 -3 О /V) 6 -3 -3 6 По критерию Сильвестра матрица /"(х1) не является неотрицательно определенной, а матрица /"(х2) положительно определена. Тогда, в силу теоремы 1.3, точка х1 не может быть решением задачи; в силу теоремы 1.4 точка х2 — строгое локальное решение задачи. 3. Задача условной оптимизации. Задача A.1) называется задачей условной оптимизации (условной задачей), если X — собственное подмножество пространства Rn. Нетрудно понять, что для такой задачи сохраняют силу утверждения теорем 1.2-1.4, если ее локальное решение х* является внутренней точкой допустимого множества X (х* G int X). Однако для многих условных задач минимум достигается именно на границе, в силу чего для них эти классические результаты анализа неприменимы. Вообще при переходе от безусловных к условным задачам все вопросы оптимизации становятся более сложными. Численным и качественным методам условной оптимизации, изучению различных классов условных задач посвящена большая часть данного курса. В дальнейшем мы часто будем прибегать к геометрической интерпретации задач оптимизации, основанной на понятии линий (или поверхностей) уровня функции /, т. е. множеств вида La = {х | /(х) = а}, а G R.
12 Гл. /. Введение в оптимизацию Для геометрической интерпретации данной (двумерной) задачи необходимо изобразить ее допустимое множество X и несколько характерных линий уровня целевой функции / (рис. 1.1). Чтобы отразить характер изменения функции, у данной линии уровня La полезно ставить знак «+» с той стороны, где / принимает значения, большие а, и знак «—» — с другой. Здесь уместно напомнить, что если функция / дифференцируема в точке х, то градиент /'(х) + - +1- а * L* а б Рис. 1.1. Геометрическая интерпретация задач оптимизации ортогонален к проходящей через х линии уровня и направлен (если, естественно, f'(x) ф 0) в сторону возрастания функции, т. е. в сторону знака «+». В геометрическом плане поиск (глобального) решения сводится к нахождению минимального числа а* среди всех а таких, что линия уровня La имеет непустое пересечение с X. При этом любая точка х* е La* П X является решением задачи, а само а* = /(х*) — минимальным значением функции / на X. Как отмечалось, возможны два случая: х* лежит внутри (рис. 1.1, а) и на границе (рис. 1.1,6) множества X. Пример 1.2. Пусть в задаче A.1) допустимое множество X представляет собой круг единичного радиуса с центром в нуле, а целевая функция / имеет вид f(x) = = (х!-2J + (х2-1J (рис. 1.2). Ее линия уровня La при а > 0 является окружностью радиуса у/а с центром в точке B,1), при а = 0 вырождается в эту точку, а при а < 0 пуста. Геометрически ясно, что здесь Ьа* — это та из указанных окружностей, которая касается круга X. Отсюда без труда определяется, что решением данной задачи служит х* = B/>/5, 1/\/5). Рис. 1.2. К примеру 1.2
§ L Понятие о задачах оптимизации 13 4. Классическая задача на условный экстремум. Наряду с безусловной задачей, в курсе математического анализа изучается так называемая классическая задача на условный экстремум. Это задача A.1) (или A.4)) с допустимым множеством X, заданным системой конечного числа уравнений: X = {xeRn\gi{x)=0, z=l,...,m}. Обычно эта задача записывается в виде &(х)=0, г= 1, ..., m, т.е. явно указывается не само допустимое множество, а система, его определяющая. При исследовании задачи A.9) важную роль играет ее функция Лагранжа, т. е. функция m Цх, 2/о, У) = УоДя) + ^2yi9i(x), г=1 где х € Rn, уо е R, у = (у\, ..., уш) е Rm. Частные производные этой функции по координатам вектора х имеют вид ||(^о,у)=Уо|?(*) + Х>^(*), ; = !,...,„. A.10) Составленный из них вектор обозначается через L'x(x, у0, у), т.е. т L'x{x> 2/о, У) = Уо/'(*) + $>^(*). <1Л1> г=1 Напомним теорему о необходимых условиях локальной оптимальности в задаче A.9), известную как правило множителей Лагранжа. Теорема 1.5. Пусть функции f, g\, ..., gm непрерывно дифференцируемы в некоторой окрестности точки х* € Rn. Если х* — локальное решение задачи A.9), то существуют число у$ и вектор г/* = (у*, ..., у^), не равные нулю одновременно и такие, что L'x(x*,y*0,y*) = 0. A.12) Если при этом градиенты д[(х*), ...,д'ш(х*) линейно независимы {условие регулярности), то у$ ф 0. Условие A.12) с учетом A.11) означает, что градиенты /(я*), д[{х*), ..., д'т(х*) линейно зависимы. В частности, если т=1, то f (х*) и д[{х*) коллинеарны. Иллюстрацией служит здесь рис. 1.3. Из него видно также, что допустимая точка х, в которой данное условие не выполняется, не может быть решением задачи: из х можно
14 Гл. 1. Введение в оптимизацию Рис. 1.3. Необходимое условие локальной оптимальности в классической задаче на условный экстремум сместиться, оставаясь на линии д\(х) = О, так, что значение функции / уменьшится. Фигурирующие в теореме 1.5 числа у?, у\у ..., ?/т называются множителями Лагранжа. Любая точка х*, удовлетворяющая при некоторых уц и у*, (у*,у*)^0, условию A.12), а также условию допустимости gi(x*)=0, i=l,,..,m, A.13) называется стационарной точкой задачи A.9). Таким образом, стационарные точки определяются системой A.12), A.13), состоящей (с учетом A.10), A.11)) из п + т уравнений с n + m-hl неизвестными. Заметим, что в случае у? ф 0 всегда можно считать у? — 1 (для этого следует поделить все множители Лагранжа на у?). Поэтому при решении указанной системы достаточно предполагать лишь два случая: у? = 0 или у$ = 1, и, следовательно, неизвестных в системе фактически также п + га. Если же выполняется указанное в теореме 1.5 условие регулярности, то все сводится к случаю у? = 1 и можно ограничиться рассмотрением функции Лагранжа вида га L(X, у) = Цх, 1,2/)= f{x) + ^УгРг(я), г=1 которую называют регулярной. Как и в случае безусловной задачи оптимизации, стационарные точки задачи A.9) не обязаны быть ее решениями. Здесь также существуют необходимые и достаточные условия оптимальности с привлечением вторых производных. Обозначим через га L'Lix, 2/о, У) = №/"(*) + $>№) г=1 матрицу вторых производных функции Лагранжа по координатам вектора х.
§ 1. Понятие о задачах оптимизации 15 Теорема 1.6. Пусть функции /, д\, ..., ут дважды дифференцируемы в точке х* G Rn и непрерывно дифференцируемы в ее некоторой окрестности, причем градиенты д[{х*), ..., д'ш(х*) линейно независимы. Если х* — локальное решение задачи A.9), то (L'Ux0, Vl y*)h, h)>0 при любых ?/q, у*, удовлетворяющих A.12), и всех heHn таких, что (9'{(х*),1г)=0, t=l,...,m. A.14) Теорема 1.7. Пусть функции /, д\, ..., дш дважды дифференцируемы в точке х* G Rn, удовлетворяющей A.13). Предположим, что при некоторых у? и у* выполняется условие A.12) и, кроме того, {V'x(x*,yly*)Kh)>0 при всех ненулевых h ? Rn, удовлетворяющих A.14). Тогда х* — строгое локальное решение задачи A.9). А В простейших случаях теоремы 1.5-1.7 позволяют решить задачу в явном виде. Пример 1.3. Пусть требуется найти локальные решения задачи - ах\ + х Ьх\ —» min, х\ + х\ = 1, гдеа>0и6>0 — заданные числа. Ясно, что указанное в теореме 1.5 условие регулярности здесь выполнено. Выпишем (регулярную) функцию Лагранжа: Цх\, хъ у) = ^аА + 2 Ьж2 + У(х\ + х\ ~ О- Поскольку Ux{x\, X2, у) = (ах\ + Зт/ж^, Ьхг + Ъух\), то система для определения стационарных точек имеет вид: ах\ + Зух\ = О, Ьх2 + Зух\ = 0, х\+х\ = \. Без труда проверяется, что эта система имеет три решения: l)xi=0, х2 = 1, у =-Ь/З] 2) х\ = 1, ^2 = 0, у = —а/3; 3) X! =а/^а3 + Ь3, х2 = Ь/^а3 + Ь3, у = -^а3 + Ь3/3. Далее, имеем Ь"*(яь ж2, у) = Для указанных решений эта матрица принимает соответственно вид а 0 0" -6 А2- ' -а 0' 0 Ъ А3- —а 0 01 -6 а + 6yxi 0 1 0 Ъ +бухг I'
16 Гл. 1. Введение в оптимизацию Условие A.14) выглядит здесь следующим образом: 2>х\ • h\ + 3x1 -h2 = 0. Для первых двух решений это означает, что h2 = 0 и fti=0 соответственно. Отсюда ясно, что матрицы А1 и А2 удовлетворяют условию, указанному в теореме 1.7 (хотя, заметим, они не являются положительно определенными). Следовательно, точки @,1) и A,0) — строгие локальные решения исследуемой задачи. Для матрицы Аг заведомо не выполняется условие, указанное в теореме 1.6. Поэтому точка (а, Ь)/ у/аъ + Ь3 не может быть решением данной задачи. Ясно, однако, что эта точка служит строгим локальным решением задачи максимизации той же функции при тех же ограничениях. Иногда задачу A.9) удается решить, используя лишь теорему 1.5. Пример 1.4. Пусть А — симметрическая матрица размера п х х п. Требуется найти точки глобального минимума и максимума функции f(x) = {Ах, х) на сфере единичного радиуса. Прежде всего отметим, что такие точки существуют в силу теоремы 1.1 (Вейерштрасса). Соответствующая задача на минимум (максимум) может быть записана в виде {Ах, х) —> min(max), 1 — ||х||2 = 0, а ее функция Лагранжа — в виде L(x, А) = {Ах, х) + АA — ||х||2) (ясно, что условие регулярности здесь выполнено). Поскольку L'x{x, A) = = 2{Ах — Ах), то система A.12), A.13) в данном случае такова: Ах = Ах, \\х\\ = 1. Но это не что иное, как система, определяющая собственные векторы и собственные значения матрицы А. Как известно, у симметрической матрицы все п собственных значений Аь ..., Ап действительны. Будем считать, что они упорядочены: Ai ^ ... < Ап. Пусть х1, ..., хп — соответствующие им нормированные собственные векторы. Таким образом, пары (х1, Ai), ..., (хп, Ап) представляют собой все решения указанной системы. При этом, очевидно, /(х1) = Х\, ..., /(хп) = Ап. Отсюда следует, что точками глобального минимума и максимума функции / на сфере являются х1 и хп. Из полученного результата следует, что для симметрической матрицы А справедливы неравенства Aminlkf < {Ах, х) ^ Атах||х||2, х е Rn, где Amin и Атах — ее минимальное и максимальное собственные значения, причем для соответствующих собственных векторов эти неравенства обращаются в равенство. В свою очередь отсюда получаем, что матрица А неотрицательно (положительно) определена в том и только том случае, если Xmin ^ 0 (Amin > 0).
§ 1. Понятие о задачах оптимизации 17 5. Понятия выпуклого множества и выпуклой функции. Важной составляющей современного аппарата теории оптимизации является выпуклый анализ — раздел математики, в котором изучаются свойства выпуклых множеств и выпуклых функций. Изложению основ этой дисциплины посвящена гл. 3. Ниже в данном параграфе нам потребуются лишь сами определения таких множеств и функций. Множество х е Rn называется выпуклым, если Хх{ + A — А)а;2 G е X при всех ж1, х2 е X, AG [0,1]. Иными словами, множество X а б Рис. 1.4. Выпуклое множество (а); невыпуклое множество (б) выпукло, если оно вместе с любыми своими двумя точками х1 и х2 содержит соединяющий их отрезок, т.е. множество вида [х2, х1] = {х е Rn | х = х2 + Х(х1 - х2), 0 < А ^ 1} (рис. 1.4). На числовой прямой R выпуклыми множествами являются всевозможные промежутки, т. е. одноточечные множества, интервалы, полуинтервалы, отрезки, полупрямые и, наконец, сама прямая. Примерами выпуклых множеств в пространстве Rn служат само пространство, любое его линейное подпространство, одноточечное множество, шар, отрезок, а также следующие множества: lxoh = [х е Rn | х = х° + ah, a G R} — прямая, проходящая через точку х° в направлении вектора h; l+Qh = {х е Rn | х = х° + ah, а^О} — луч, выходящий из точки х° в направлении Л; НрC = {хеКп\(р,х)=р} A.15) — гиперплоскость с нормалью р; Я+, = {х е R» | <р, *> ^/?}, Я^ = {* е R" | (р, *Х/3} A.16) — порождаемые ею полупространства. Нетрудно понять, что все перечисленные множества, кроме шара, являются частными случаями выпуклого множества вида X = {х е Rn | Ах < 6} = {х е Rn | (а{, ж) О», г = 1, ..., т}, A.17) НАЮ1НАЯ БИБЛИОТЕКА МГУ J
18 Гл. 1. Введение в оптимизацию где А — некоторая матрица размера т х п со строками а\у ... ...,ат, Ь = (ЪХ, ...,6m)eRm (m = = 1, 2, ...). Множества вида A.17) принято называть полиэдральными или просто полиэдрами. Таким образом, полиэдр — это множество решений некоторой системы конечного числа линейных неравенств, или, что то же самое, пересечение конечного числа полупространств (рис. 1.5). Функция /, определенная на выпуклом множестве X G Rn, называется выпуклой на X, если Рис. 1.5. Полиэдральное множество (полиэдр) /(Ах1 + A - А)х2) ^ АДх1) + A - А)/(х2) A.18) при всех х1, х2 е X, A G [0, 1]. Если при всех х1, х2 е X, х1 ф х2, A G @, 1) неравенство A.18) выполняется как строгое, то / называется строго выпуклой на X. Функция называется {строго) вогнутой, если функция —/ {строго) выпукла. Геометрически выпуклость функции / означает, что любая точка произвольной хорды графика / располагается не ниже соответствующей точки самого графика (рис. 1.6, а). Для вогнутой функции вза- х=\хг+{1-\)х2 ^=А/(х1)+A-А)/(х2) WJ(x2)) {x\f{x*yj а б Рис. 1.6 Выпуклая функция (а), вогнутая функция (б) имное расположение хорды и графика обратно (рис. 1.6,6). Отсюда очевидно (и можно строго показать на основе теоремы 3.9 гл. 3), что функции /(х) = х2, /(х) = ех выпуклы на R; /(х)=1пх вогнута на множестве положительных чисел; /(x)=sinx вогнута на [0, 7г] и выпукла на [7г, 2п]. Отметим, что указанные функции, в самом деле, строго выпуклы или вогнуты. Функция /(х) = ||х|| выпукла, а /(х) = ||х||2 строго выпукла на Rn. Функцию вида /(х) = (а,х) -+-&, A.19)
§ 1. Понятие о задачах оптимизации 19 где a G Rn, b e R, будем называть линейной. Ясно, что для линейной функции неравенство A.18) выполняется как равенство. Поэтому она одновременно выпукла и вогнута на Rn, но не строго. 6. Выпуклая задача оптимизации. Задача A.1) называется выпуклой, если X — выпуклое множество, / - выпуклая функция на X. Приведем несколько простых утверждений, объясняющих интерес к данному типу задач оптимизации. Теорема 1.8. Если задача A.1) выпукла, то любое ее локальное решение является также глобальным. Доказательство. Пусть х* — локальное решение задачи A.1), т.е. при некотором ? > О выполняется A.3). Для любой точки х е X, х ф х*, положим А = min(?/||x — х*||, 1). Тогда Ах + A - \)х* е X Г) П U?(x*) и, следовательно, /(**) ^ f(Xx + A - А)**) ^ Xf(x) + A - А)/(х*). Отсюда /(х*) ^ /(ж), т.е. х* — глобальное решение задачи. Л Таким образом, для выпуклых задач понятия локального и глобального решений не различаются и можно говорить просто об их решении. Так мы и будем поступать в дальнейшем. Второе свойство выпуклых задач можно высказать в виде следующего общего принципа: необходимые условия оптимальности в том или ином классе задач оптимизации при соответствующих предположениях выпуклости оказываются и достаточными. Ограничимся здесь обоснованием этого принципа применительно к задаче безусловной оптимизации (ср. с теоремой 1.2). Другими его подтверждениями служат теоремы 1.2 и 2.2 гл. 4. Теорема 1.9. Пусть функция / выпукла на Rn и дифференцируема в точке х* 6 Rn. Если f'(x*) = 0, то х* — точка минимума f на X, т.е. решение задачи A.5). Доказательство. Для любых х е X и А е @, 1] имеем /(Ах + A - А)**) ^ А/(х) + A - А)/(х*). Преобразуя эту формулу, а затем пользуясь дифференцируемостью / в точке х*, получаем /(х) - Дх*) > /(*' + *(*- «*» "Я**) = _ (/У),А(ж-а?*))+о(А) _ о(А) А А * Отсюда предельным переходом при А —> 0 выводим, что /(х) ^ >f(x*). Л Полученные свойства выпуклых задач имеют важное значение не только в теории, но и в численных методах оптимизации. Дело в том, что большинство существующих численных методов позволяет, вообще
20 Гл. 1. Введение в оптимизацию говоря, находить лишь локальные решения, а точнее, стационарные точки задачи. Теоремы 1.8, 1.9 говорят о том, что для выпуклой задачи отыскание стационарной точки автоматически означает отыскание решения, причем глобального. Укажем еще одно полезное свойство выпуклых задач. Теорема 1.10. Пусть задача A.1) выпукла и имеет решение. Тогда множество ее решений X* = Arg min /(ж) выпукло (рис. 1.7, а). Если при этом f строго выпукла на Ху то решение задачи единственно, т.е. X* состоит из одной точки (рис. 1.7,6). Доказательство. Пусть ж1, ж2 е X*, А Е [0, 1]. Тогда /(ж1) = = /(ж2) = /*. При этом /(Лх1 + A - Л)ж2) ^ А/(ж1) + A - А)/(ж2) = /*. A.20) По определению X* неравенство здесь может выполняться только как равенство. Следовательно, Аж1 + A — А)ж2 G X*, т.е. X* выпукло. /(**) Л**) X* Х*={х*} а б Рис. 1.7. Выпуклость множества решений выпуклой задачи оптимизации Пусть / строго выпукла. Если предположить, что в X* существуют две различные точки ж1 и ж2, то при А е @, 1) неравенство в A.20) должно быть строгим, что невозможно. Л 7. Задача математического программирования. Важнейший класс условных задач оптимизации составляют задачи математического программирования. Так принято называть задачу A.1) (или A.4)), если ее допустимое множество имеет вид X = {xeP\gi(x) ^0, i=l,...,fc; #(ж)=0, i = Hl m}, т.е. задается системой конечного числа неравенств и уравнений, рассматриваемых, вообще говоря, на некотором множестве Р с Rn. Иными словами, задачу математического программирования можно записать в виде /(ж) -¦ min, 9i(x)^0, t=l, ...,*, A.21) gi(x) =0, г = к + 1, ..., т, ж G Р.
§ 1. Понятие о задачах оптимизации 21 При этом условия типа gi(x) ^ 0 называются ограничениями-неравенствами, типа #г(я) = 0 — ограничениями-равенствами, оба этих типа условий — функциональными ограничениями; условие х ? Р носит название прямого ограничения. Разумеется, в задаче A.21) может и не быть ограничений-неравенств (формально этому случаю соответствует к = 0), ограничений- равенств (к = т), вообще функциональных ограничений (га = 0) или прямого ограничения (Р = Rn). Подчеркнем, что классическая задача на условный экстремум является частным случаем задачи математического программирования, когда ограничения-неравенства и прямое ограничение отсутствуют. В гл. 4 будет изложена теория необходимых и достаточных условий оптимальности в задаче математического программирования, выступающая как обобщение и развитие соответствующих результатов для классической задачи (теорем 1.5-1.7). Отметим, что деление ограничений задачи математического программирования на функциональные и прямые условно. Например, в задаче A.21) можно исключить ограничения-равенства путем введения их в прямое ограничение, т. е. перейти к задаче вида f(x) —> min, 9i(x)^0, z=l,...,fc, xeP't где Р1 = {x g P | gi(x) = 0, i = к + 1, ..., rn). Исключение всех функциональных ограничений лишь возвращает нас к задаче вида A.1). То или иное представление задачи определяется целями исследования. Однако, как правило, чем подробнее описаны функциональные ограничения задачи, тем детальнее удается изучить ее свойства. Обычно в качестве Р берется множество «простой» структуры, например координатный параллелепипед Р = {х е Rn | aj < Xj < bjt j = 1, ..., n}, причем здесь не исключается, что aj = —оо или bj = +oo при тех или иных j. Особенно часто используются Р = R+ (когда aj = 0, bj = +оо при всех j) или просто Р = Rn. При геометрической интерпретации задач математического программирования используются те же приемы, о которых шла речь выше. В дополнение к этому следует лишь отметить, что при изображении области, определяемой ограничением-неравенством gi(x) < 0, указывается линия уровня gi{x) = 0 и может ставиться знак «—» с той ее стороны, где gi(x) ^ 0, и знак «+» — с противоположной. Пример 1.5. Пусть дана задача f(x) = Х2 —* min, g\(x) = х\ + х\ - 1 ^ 0, д2(х) = -х\ + х\ ^ 0, дъ(х) = xi -f x2 ^ 0.
22 Гл. 1. Введение в оптимизацию 0з(*)=О f(x)=-{2/i 1 xi fx*=(^2/2,-^l2/2) 9l{x)=0 Рис. 1.8. К примеру 1.5 Ее геометрической интерпретацией служит рис. 1.8. Отсюда видно, что решением задачи является «нижняя» точка пересечения окружности gi(x) =0 и прямой дъ{х) = 0, т.е. х* = (\/2/2, -д/2/2). 8. Задачи выпуклого программирования. Укажем важный подкласс задач математического программирования. Задача A.21) называется задачей выпуклого программирования, если множество Р выпукло, функции /, ди ..., дк выпуклы на Р, функции дк+и ..., рш линейны (см. A.19)). Без труда проверяется, что допустимое множество задачи выпуклого программирования выпукло и, следовательно, задача выпукла в смысле п. 6. На нее, стало быть, распространяются утверждения теорем 1.8, 1.10. Вообще в дальнейшем мы увидим, что теория и численные методы решения задач выпуклого программирования могут быть существенно продвинуты в сравнении с общим случаем. Легко проверить, что задача из примера 1.5 является задачей выпуклого программирования. Приведем два содержательных примера задач этого типа. Пример 1.6 (задача поиска). Объект, подлежащий обнаружению, находится в одном из п районов с вероятностями pi, ...,рп соответственно. Для поиска объекта имеется общий ресурс времени Т. Известно, что при поиске в г-м районе в течение времени U вероятность обнаружения объекта (при условии, что он там находится) равна 1 — e"aiti, где а; > 0 — заданное число. Требуется так распределить время наблюдения по районам, чтобы максимизировать вероятность обнаружения объекта. Соответствующая задача оптимизации имеет вид ]Рр»A - e~aiti) -> max, г=1 n U^O, i=\,
§ I. Понятие о задачах оптимизации 23 Нетрудно проверить, что целевая функция задачи вогнута по t = = (t\, ...,?n). Переходя к минимизации этой функции, взятой с обратным знаком, получаем задачу выпуклого программирования. Пример 1.7 (планирование производства). Пусть имеется предприятие, выпускающее определенный товар и использующее при этом п ресурсов. Предприятие характеризуется технологическим множеством X С R+, указывающим всевозможные наборы ресурсов, из которых может быть получен данный товар, и производственной функцией f(x), показывающей объем выпуска при наборе затраченных ресурсов х = (х\, ..., хп) е X. Например, множество X может определяться условиями х\ ^ 0, diX\ ^ Xi ^ biX\, г = 2, ..., п, где ait bi — заданные числа, 0 ^ а; ^ 6;, т.е. пропорции между затратами первого (базового) и остальных ресурсов должны находиться в определенных пределах. В качестве производственной функции часто фигурирует так называемая функция Кобба-Дугласа п Я*)=7]>*', г=1 71 где 7 > 0, Ai ^ 0 , ..., Лп ^ 0 — заданные числа, ^ А» = 1. Отметим, что эта функция вогнута (см. пример 3.3 гл. 3). г= Пусть pi > О — известная цена единицы г-ro ресурса, р= (рь... • • •, Рп) — вектор цен на ресурсы. Тогда (р, х) — денежная стоимость данного набора ресурсов х. Если /3 > 0 — денежные средства предприятия, то можно сформулировать задачу о максимизации объема выпуска в рамках бюджетных и технологических ограничений: f(x) —> max, (р, х) ^ /3, х Е X. Если задан параметр / > 0 — плановое задание предприятию по выпуску товара, — то можно поставить задачу о минимизации издержек производства при безусловном выполнении плана: (р, х) -> min, f(x) ^ /, х е X. Существует немало других подобных постановок, учитывающих динамику производства, фактор неопределенности, относящихся не только к отдельному предприятию, но и к отрасли, экономике в целом [4, 27, 30, 53, 62 и др.]. Мы не будем на этом останавливаться. 9. Задачи линейного и квадратичного программирования. Задачей линейного программирования (ЛП) называется задача минимизации или максимизации линейной функции при линейных ограничениях. Так, задача A.21) является задачей ЛП, если /, рь ..., рш — линейные функции, а Р — полиэдр, т.е. множество, само задаваемое линейными условиями (см. A.17)).
24 Гл. 1. Введение в оптимизацию Задачей квадратичного программирования называется задача минимизации при линейных ограничениях квадратичной функции вида f(x) = (Сх, х) + (d, x), где С — симметрическая неотрицательно определенная матрица размера га х га, d — вектор из Rn. В дальнейшем мы увидим, что при указанном условии на С эта функция выпукла (см. следствие теоремы 3.9 гл. 3). Стало быть, задача квадратичного программирования — это частный случай задачи выпуклого программирования, а задача ЛП — частный случай их обеих (С = 0). Эти два подкласса задач выпуклого программирования в настоящее время наиболее хорошо изучены. В литературе принят ряд специальных форм записи задачи ЛП, каждая из которых удобнее других в том или ином круге вопросов. Задача ЛП в форме п y^CjXj —> min, п У Q>ijXj ^ Oif Ъ == 1, . . . , АС, 3 = 1 п Y^aijXj =bit i = k + 1, ..., га, xj ^°> j = 1, ..., s, называется общей, в форме n n У^ CjXj —> min, V^ a>ijXj ^ &i, г = 1, ..., m, A.23) A.22) — основной, в форме n 2_.cjxj —> min, 2-^taiJxJ ^ ^*» г = 1, ..., m, гг^^О, j=l,...,n, — стандартной, в форме A.24) / ^ cixi j—1 -> min, Xj , ^а^х, = >0, j = l, ¦Ь, • • • i г = . n, 1, m, A.25) — канонической. Здесь Cj, aij, b{ — заданные числа. Часто прибегают к векторно-матричной записи тех же задач. Например, задачу A.23) можно записать в виде (с, х) —у min, (ai,x)^bi, г=1,...,га, A.26)
§ 1. Понятие о задачах оптимизации 25 или в виде (с, х) —> min, Ах ^ 6, где с = (сь ....с^е Rn, Ь = Fь ..., bm) e Rm, A — матрица размера m x n со строками a\, ..., am и элементами a*,,. Аналогичные формы записи, которые различаются лишь способом задания линейных ограничений, используются и для задач квадратичного программирования. Формально говоря, задачи A.23)—A.25) являются частными случаями общей задачи A.22): при к = га, s = О получаем A.23), при к = га, s = п — A.24), при fc = 0, s = n — A.25). Однако в свою очередь общая задача может быть представлена в форме любой из трех остальных. Так, задача A.22) принимает основную форму, если заменить в ней систему ограничений-равенств на эквивалентную систему ограничений-неравенств п п У^ dijXj ^ bit -]Р ayXj ^ -biy г = к + 1, ..., га. A27) j=\ j=i Если при этом сделать замену переменных Xj=x)-x), rrj^O, x2j^0, j = s+l, ..., n, A.28) то задача A.22) примет стандартную форму. Если же ограничения- неравенства в A.22) записать в виде п y^dijXj —Ui = bi> щ^О, i — 1, ..., fc, A.29) i=i где щ — дополнительная переменная (формально входящая в целевую функцию с нулевым коэффициентом), и вновь использовать замену переменных A.28), то задача A.22) превратится в каноническую. Вообще любую задачу ЛП, на минимум или максимум, с неравенствами, направленными в ту или иную сторону, можно представить в любой из указанных форм. Для этого, наряду с приемами A.27)- A.29), необходимо использовать умножение целевой функции или ограничений-неравенств на —1, что позволяет переходить от максимизации к минимизации и менять знаки неравенств. Пример 1.8. Дана задача ЛП —2х\ + 4x2 + Зжз -+ шах, х\ + 2х2 + х3 ^ 1, 2xi-5x2 + 4x3^7, х\ ^ 0, х2 ^ 0. Требуется представить ее в форме канонической задачи. Ответ таков: —2xi — 4x2 — Зхз + Зхд —» min, xi + 2x2 +х\— xl + щ = 1, 2xi — 5x2 + 4xg — 4х| — u<i = 7, xi ^ О, Х2 ^ 0, х\ ^ О, х| ^ 0, щ ^ О, u<i ^ 0.
26 Гл. 1. Введение в оптимизацию Геометрическая интерпретация задач ЛП особо проста и наглядна. Поясним ее на примере задачи в основной форме A.26). Здесь, согласно A.15)-A.17), допустимое множество X представляет собой полиэдр, образованный пересечением полупространств H+b. (i = = 1, ..., т); линии уровня целевой функции /(х) = (с, х) образуют семейство параллельных гиперплоскостей Нса (а е R) (рис. 1.9). При этом f'(x) = с, т.е. градиент целевой функции всюду одинаков и является нормалью каждой из данных гиперплоскостей. В соответствии с предыдущим, поиск решения задачи сводится к нахождению минимального числа а* среди всех а таких, что гиперплоскость Яса имеет непустое пересечение с X. При этом X* = Нса* П X — множество решений задачи. Может оказаться, что решение единственно (рис. 1.9, а), 4-/_-х1+х2=2 Рис. 1.9. Геометрическая интерпретация задач линейного программирования но, вообще говоря, их много (рис. 1.9,6). При неограниченном X решений может и не быть, т. е. Нса П X = 0 при всех а —> — оо (рис. 1.9, в). Из рис. 1.9, а, б ясна характерная особенность задачи ЛП (при с ф 0): если ее решение существует, то оно достигается обязательно на границе. (Это замечание получит существенное развитие в § 1 гл. 6.) Отметим, что в рассмотренной задаче ЛП на минимум при поиске а* проходит как бы перемещение гиперплоскости Нса в направлении, противоположном вектору с. Если же решается задача ЛП на максимум и, стало быть, ищется максимальное а*, удовлетворяющее указанным требованиям, то Нса перемещается в направлении самого с. Пример 1.9. Пусть дана задача ЛП 2xi + #2 —> шах, —Х\ + Х2 ^ 2, Х\ + 2X2 ^ 7, 4xi — 3x2 ^ 6, xi ^ 0, х2 ^ 0. Ее геометрическая интерпретация приведена на рис. 1.10. Ясно, \2хг+ х2=0 Рис. 1.10. К примеру 1.9 2х1+Х2=а*=8
§ 1. Понятие о задачах оптимизации 27 что здесь решением является точка пересечения прямых х\ + 2x2 = 7 и Ах\ - Зх2 = 6, т. е. х* = C, 2). Существует огромное количество примеров задач ЛП в различных сферах практической деятельности [5, 17, 27, 30, 61, 62 и др.]. Ограничимся двумя примерами, ставшими классическими. Пример 1.10 (задача о рационе). Пусть имеется п продуктов питания (хлеб, мясо, молоко, картофель и т. п.) и т полезных веществ (жиры, белки, углеводы, витамины и т.п.). Известны следующие параметры: a,ij — содержание г-го вещества в единице j-ro продукта; Cj — цена единицы j-ro продукта; bi — потребность определенного индивидуума в г-м веществе (в расчете, скажем, на месяц). Обозначив через x.j потребление индивидуумом j-ro продукта, получаем задачу о выборе наиболее дешевого рациона питания, удовлетворяющего всем потребностям: п п У^ CjXj —> min, Y^ aijxj ^ bi, i = 1, ..., m, Xj ^ 0, j = 1, ..., n. Пример 1.11 (транспортная задача). Пусть некоторый товар (уголь, кирпич, картофель и т. п.) хранится на га базах и требуется в п пунктах. Известны следующие параметры: di — запас товара на г-й базе; bj — потребность в товаре в j-м пункте; Cij — стоимость перевозки единицы (тонны) товара с г-й базы в j-й пункт. Обозначив через х^- количество товара, перевозимого с г-й базы в j-й пункт, получаем задачу о наиболее дешевом плане перевозок, удовлетворяющем потребностям при имеющихся запасах: ЕЕ t=l j = \ CijXij —> mm, 2_\xij ^ аг» г = 1, ..., га, /_lXiJ ~^3' j = 1, ..., n, j=\ г=1 %ij ^ 0, г = 1, ..., m, j — 1, ..., n. 10. Задача дискретной оптимизации. В дальнейшем будем называть конечные множества и счетные множества без предельных точек дискретными. Задача A.1) (или A.4)) называется задачей дискретной оптимизации, если либо само допустимое множество X с Rn дискретно, либо лишь некоторые из координат вектора х = (хь ..., хп) пробегают дискретные множества на числовой оси, когда х пробегает X.
28 Гл. 1. Введение в оптимизацию Часто допустимое множество задачи дискретной оптимизации имеет вид X = {х G D | д{(х) < О, i = 1, ..., fc; gi(x) = О, i = fc + 1, ..., m}, где jD = Dix...x Dn, причем Д, с {0, ±1, ±2, ...} для j G J и Z?j = R для j ? J. Здесь J — некоторое подмножество множества {1, ..., n}. В качестве Dj (j G J) могут выступать, например, Dj = = {0, ±1, ±2, ...}, Dj = {0, 1,2,...}, Dj = {0, 1}. Это соответственно означает, что координата Xj вектора х может принимать лишь целые, натуральные, булевые значения. Задачу A.1) (или A.4)) с указанным множеством X называют задачей дискретного программирования, а при J = {1, ..., п} — также задачей целочисленного программирования. Как мы видим, по своей постановке задача дискретного программирования отличается от общей задачи математического программирования специальным заданием прямого ограничения. Здесь также используется запись типа A.21), т.е. f(x) -> min, gi{x) ^0, i= 1, ..., fc, A.30) gi(x)=0, г = fc + 1, ..., m, x G D. Если функции /, 0ь ...,0m линейны, то задачу A.30) при J = = {1,...,п} называют целочисленной задачей линейного программирования (ЛП), а при J^{l,...,n} — частично целочисленной задачей ЛП. Если Dj = {0, 1}, то иногда говорят о (частично) булевой задаче ЛП. Эти задачи, как и обычные задачи ЛП, могут быть представлены в разных формах (см. п. 9). Задачи дискретной оптимизации часто встречаются во всех сферах практической деятельности. Ограничимся здесь одним примером (другие см. в гл. 7). Пример 1.12 (выбор оптимальной структуры автоматизированной системы управления (АСУ)). Пусть АСУ состоит из п звеньев (например, звено центрального органа, отраслевое звено, звено предприятия и т.д.) и предназначена для решения га задач. Затраты ресурсов на выполнение г-й задачи в j-м звене составляют величину а^, а имеющиеся ресурсы в j-м звене — величину bj. Структура АСУ задается матрицей (жу)г=1,...,т, где х^- = 1, если г-я задача выполняется в j-м j=\, ...,п звене, и Xij =0 — в противном случае. Необходимо выбрать структуру АСУ, для которой совокупные затраты минимальны. Это приводит к следующей булевой задаче ЛП: т п У ^ У j dijXij —> min, г=1 j=\ т п 2_"aijXij ^bj, j = 1, ..., n, 2_\Xij = 1, г = 1, ..., m, t=i j=i Xij G {0, 1}, г=1,...,га, j=l,...,n.
§ 1. Понятие о задачах оптимизации 29 Здесь целевая функция описывает суммарные затраты. Ограничения неравенства говорят о том, что затраты в каждом j-м звене не могут превосходить имеющихся ресурсов. Ограничения-равенства означают, что АСУ должна решать все га задач, возложенных на нее. 11. Задачи оптимального управления. Постановка задачи оптимального управления значительно сложнее, чем постановка ранее рассмотренных задач. Поэтому начнем с содержательного примера. Рассмотрим задачу запуска ракеты в космос. Пусть плоскость орбиты фиксирована, тогда положение ракеты как материальной точки задается двумя координатами х\, х2, ее скорость — координатами хз, Х4, масса — координатой х$. Обозначим через щ величину тяги двигателя, а через щ — угол между направлением тяги и осью х\. Тогда, в соответствии с законами механики, движение ракеты описывается следующей системой дифференциальных уравнений Х\ = Х3, #2 = Х4, Xs = -5 (р\ + Щ COSU2), ?4 = ^5 (P2 + uisinu2), ?5 = -q{y>\), A.31) где pi, p2 — суммарные проекции внешних сил, действующих на ракету, таких, как сила тяжести, сопротивление воздуха и т.д., q(u\) — секундный расход массы, т.е. скорость расхода рабочего вещества. Ракета управляется с помощью выбора параметров управления и = = (^ь г^), которые подчинены ограничениям вида tifin ^ in < <ах, ufn < и2 < гх5Г\ A.32) Вектор управлений задается как функция времени и = u(i), удовлетворяющая ограничениям A.32). Если теперь подставить u(t) в правую часть системы A.31), то при выполнении некоторых условий эта система будет иметь единственное решение х(?), определяющее состояние системы (т.е. движение ракеты) в момент ?, как только заданы начальные условия x(to) = x°. Наряду с начальными могут быть заданы и конечные условия при t = Т. Например, если ракету необходимо вывести на круговую орбиту радиуса R с круговой скоростью V, то конечные условия примут вид: ЫТ)J + ЫТ)J = &. xi (Т) хг{Т) + х2{Т) х4(Т) = 0, A.33) (*з(Г)J + (*4(Т)J = ^2. Кроме того, существуют ограничения и на фазовые координаты x(t) — фазовые ограничения. Скажем, траектория ракеты не должна пересекать поверхность Земли, не должна заходить в зону радиационных поясов и т. д. Цель выбора управления u(t), удовлетворяющего условию A.32), в задаче оптимального управления ракетой A.31) может состоять, например, в минимизации расхода топлива 2 А Г Сухарев и др
30 Гл. 1. Введение в оптимизацию т \q{ux(t))dt. A.34) to При этом траектория должна удовлетворять начальным и конечным условиям, а также фазовым ограничениям. Можно ставить и задачу оптимального быстродействия, т.е. минимизации Т — to. Если же требуется вывести ракету на круговую орбиту максимального радиуса, то следует максимизировать функционал (х,(Г)J + (а;2(Т)J. A.35) Перейдем теперь к общей постановке задачи оптимального управления. Аналогом системы A.31) служит здесь система дифференциальных уравнений х = /(х, и, t), A.36) описывающая движение некоторого управляемого объекта, подчиненное начальным условиям x(t0) Е S0(t0), A.37) конечным условиям x(T)eS(T) A.38) и фазовым ограничениям x(T)€X(t), te [to,T\. A.39) Ограничения на управление можно записать в общем виде как u(t)eU(t), te[t0,T]. A.40) Здесь [to, T] — отрезок времени, на котором происходит управление системой A.36), So(to), S(T), X(t), U(t) при каждом t — заданные множества из пространств соответствующих размерностей. В качестве целевого функционала (аналога функции цели в задаче оптимизации A.1)) примем т J(u) = J/0(x(t), u(t), t) А + Ф(х(Т), Г). A.41) t0 Очевидно, в A.41) объединены целевые функционалы типа A.34) и A.35). В соответствии с тем, что мы говорили выше, задачу оптимального управления поставим как задачу минимизации функционала A.41) при ограничениях A.36)—A.40). Данная постановка пока не является вполне строгой. Так, необходимо описать класс управлений — функций u(t), указать условия, при которых существует и единственно решение x(t) системы A.36), уточнить, в каком смысле понимаются включения A.39), A.40), и т.д. Все эти детали мы отложим до гл. 8. Пока же отметим, что задачи
§ 1. Понятие о задачах оптимизации 31 оптимального управления относятся к классу задач оптимизации в бесконечномерных функциональных пространствах, т.е. в качестве элементов, по которым ведется минимизация, здесь выступают функции. Теория оптимального управления весьма богата результатами и приложениями. Ее достаточно подробное изложение возможно лишь в рамках отдельного курса. Поэтому в гл. 8 мы познакомимся лишь с элементами теории оптимального управления; приведем основной ее результат — принцип максимума Понтрягина, указывающий необходимые условия оптимальности в задачах этого класса; рассмотрим некоторые модельные примеры. ЗАДАЧИ 1. Доказать эквивалентность следующих двух свойств функции /, определенной в некоторой окрестности точки х* еТС1: а) для любого е > 0 существует такое S > О, что f(x) — f{x*) > —e (f(x) — f(x*) < е) при всех х е Us(x*)\ б) для любой последовательности точек хк (к = 1, 2, ...), сходящейся к х*, следует lim f(xk) ^ f(x*) ( lim f(xk) < f(x*))- При выполнении а) или б) говорят, что функция / полунепрерывна снизу (сверху) в х*. 2. Доказать теорему 1.1. При этом убедиться, что в данной теореме, а также в теореме 1.1' достаточно предполагать, что функция / полунепрерывна снизу на X (т.е. в любой точке из X). 3. Пусть X — произвольное множество в Rn, / — полунепрерывная снизу функция на X, причем f(xk) —> +оо для любой последовательности точек хк е X (fc=l,2, ...) такой, что хк —>хеХ\Х или ||:rfc|| —> оо. Показать, что точка глобального минимума функции / на X существует. 4. Пусть непрерывная функция / имеет точку глобального минимума на Rn. Следует ли отсюда, что / имеет точку глобального минимума на любом замкнутом множестве из Rn? 5. Найти все решения следующих задач безусловной оптимизации: а) f(x) = 2х| + х\ — х\ — 2х\ —> min, x G R2; б) f(x) = х\ + х2 + 4 sinx\ • sinX2 —> min, x e R2; в) f(x) = ^1^2X3G — х\ — 2x2 — Зхз) —> max, x G R3. 6. Пусть функция / имеет производные всех порядков в точке х* е R, причем х* — точка строгого локального минимума / на R. Следует ли отсюда, что fW(x*) ф 0 хотя бы при одном fc? Указание. Рассмотреть функцию /(Х) = ( 0, х = 0. 2*
32 Гл. 1. Введение в оптимизацию 7. Пусть х* — точка строгого локального минимума функции / на R. Можно ли утверждать, что / убывает в некоторой левой полуокрестности х* и возрастает в некоторой правой полуокрестности х*? Указание. Рассмотреть функцию '2x2+x2sin(l/x), х^О, х = 0. ?( ч Г 2х2 +x2sii /(*) = [ 0 8. Убедиться, что функция /(х) =х\еХх - A +ea:i)cosx2 имеет бесконечно много точек локального минимума и ни одной точки локального максимума на R2. 9. Убедиться, что функция /(х) = (xi -x^)Bxi -х|) достигает минимума в точке х* = @, 0) вдоль каждой прямой, проходящей через х*, но х* не является точкой локального минимума этой функции. 10. Найти решения следующих задач на условный экстремум: а) Х1Х2Х3 —» min, х\ + х\ + х2 = 1, xi + хг + хз = 1; б) xjX2 + Х2Х3 —» max, x2 + х\ = 2, хг + #з = 2; в) х2 + х2 + ... + х2 —> min, х\ + 2x2 + • • • + пхп = 1. 11. Применяя геометрические соображения, найти решения следующих задач математического программирования: а) 2xi — #2 —> max, х2 + х2 ^ 1, х\ — хз ^ 0, х\ + хз < — 1; б) (х\ - IJ + (х2 + lJ -> min, х\ + х\^ 9, х\ ^2, х2 ^ 0; в) Inxj — Х2 —> max, х\ — x<i ^ 2, х\ + х\ ^ 4, х\ > 0; г) х\ + у/х2 —> min, xi + Х2 ^ 1, х2 + х2 = 1; д) xi — хг —> min, 2xi -f Х2 ^ 2, 3xi — Х2 ^ —3, х\ — 2хг ^ 2. § 2. Начальные сведения о численных методах оптимизации Как мы видели в § 1, иногда удается, опираясь на условия оптимальности или на геометрическую интерпретацию, получить решение задачи оптимизации /(*)-> min, xeX, B.1) в явном виде, но в большинстве случаев задачу B.1) приходится решать численно, с применением ЭВМ. При этом можно с помощью необходимых условий оптимальности свести задачу оптимизации к некоторой другой задаче, а затем попытаться использовать разработанные для ее решения численные методы. Так, например, для решения задачи минимизации на Rn дифференцируемой функции / можно воспользоваться каким-либо численным методом решения системы уравнений f'(x) = 0. Однако, как правило, наиболее эффективными оказываются методы, разработанные специально для решения задачи оптимизации, так как они позволяют полнее учесть ее специфику. В последующих главах будут рассмотрены численные методы решения задач различных типов: одномерных и многомерных, безусловных и условных, дискретных, а также задач оптимального управления.
§ 2. Начальные сведения о численных методах оптимизации 33 В данном параграфе приводятся некоторые общие сведения, относящиеся в первую очередь к численным методам безусловной и условной минимизации функции конечного числа непрерывно изменяющихся переменных. Такие методы занимают центральное место в численной оптимизации; они, в частности, используются при решении дискретных оптимизационных задач и задач оптимального управления. 1. Понятие о численных методах оптимизации. Любой численный метод (алгоритм) решения задачи оптимизации основан на точном или приближенном вычислении ее характеристик (значений целевой функции, функций, задающих допустимое множество, а также их производных). На основании полученной информации строится приближение к решению задачи — искомой точке минимума х* или, если такая точка не единственна, — к множеству точек минимума. Иногда, если только это и требуется, строится приближение к минимальному значению целевой функции /* = min/(x). Для каждой конкретной задачи вопрос о том, какие характеристики следует выбрать для вычисления, решается в зависимости от свойств минимизируемой функции, ограничений и имеющихся возможностей по хранению и обработке информации. Так, для минимизации недиф- ференцируемой функции нельзя воспользоваться алгоритмом, предусматривающим возможность вычисления в произвольной точке градиента функции. В случае, когда доступен небольшой объем памяти ЭВМ, при решении задачи высокой размерности нельзя воспользоваться алгоритмом, требующим вычисления на каждом шаге, хранения в памяти матрицы вторых производных и т. п. Алгоритмы, использующие лишь информацию о значениях минимизируемой функции, называются алгоритмами нулевого порядка; алгоритмы, использующие также информацию о значениях первых производных, — алгоритмами первого порядка; алгоритмы, использующие, кроме того, информацию о вторых производных, — алгоритмами второго порядка. В курсе рассматриваются алгоритмы только нулевого, первого и второго порядка. Работа алгоритма состоит из двух этапов. На первом этапе вычисляются предусмотренные алгоритмом характеристики задачи. На втором этапе по полученной информации строится приближение к решению. Для задач оптимизации выбор на втором этапе способа построения приближения, как правило, не вызывает затруднений. Например, для методов спуска, в которых на каждом шаге происходит переход в точку с меньшим, чем предыдущее, значением функции, за приближение к точке минимума обычно выбирается точка последнего вычисления. Поэтому для задания алгоритма достаточно указать способ выбора точек вычисления (конечно, при условии, что уже решен вопрос о том, какие именно характеристики решаемой задачи следует вычислять). Если все точки выбираются одновременно до начала вычислений, то алгоритм минимизации называется пассивным. Необходимость применения пассивных алгоритмов возникает, например, в связи с исполь-
34 Гл. 1. Введение в оптимизацию зованием многопроцессорных ЭВМ, в связи с условиями постановки и проведения физических экспериментов, результатом которых являются значения минимизируемой функции, и т. д. Однако для решения большинства задач точки вычисления выбираются поочередно, т.е. точка хг+1 выбирается, когда уже выбраны точки предыдущих вычислений ж1, ..., ж* и в каждой из них произведены предусмотренные алгоритмом вычисления, результаты которых будем обозначать соответственно через у1, ..., у\ Такие алгоритмы называются последовательными. Таким образом, последовательный алгоритм определяется точкой ж1 е X и набором отображений вида х^{: {х\...,х\ у\...,у>}->Х, %>\. При этом х*+х=х*+\х\...,х\ у1,..., у*). B.2) На практике обычно используются наиболее простые виды зависимости, например *i+V. •".*'. у{,.--,у{) = х{+1(х\у{), т. е. выбор точки очередного вычисления зависит лишь от точки предыдущего вычисления и полученного результата, или Х*1(Х\...,Х\ У1,...9у*)=&+1(Х\ \1у1+... + \гУ*), т.е. выбор точки очередного вычисления зависит лишь от точки предыдущего вычисления и линейной комбинации всех полученных результатов (как в методе сопряженных градиентов, описываемом в § 3 гл. 5). В дальнейшем для записи методов минимизации мы будем пользоваться соотношением вида xfc+i = хь + ajfefc*f afc G R, к = 0, 1, 2, ... B.3) При этом конкретный алгоритм определяется заданием точки ж0, правилами выбора векторов hk и чисел а& на основе полученной в результате вычислений информации, а также условием остановки. Таким образом, величины a*, hk в формуле B.3) точно так же, как ж*+1 в формуле B.2), определяются теми или иными видами функциональной зависимости от точек и результатов всех ранее проведенных вычислений, причем на практике обычно используются наиболее простые виды зависимости. Правила выбора а^, hk могут предусматривать и дополнительные вычисления, т.е. вычисления некоторых характеристик решаемой задачи в точках, отличных от ж0, ж1, ..., хк. Именно поэтому в формулах B.2) и B.3) употреблены различные индексы. Вектор hk определяет направление (к + 1)-го шага метода минимизации, а коэффициент а* — длину этого шага. При этом следует иметь в виду, что при \\hk\\ ф 1 длина отрезка, соединяющего точки хк, хк+{, конечно, не равна |а&|. Обычно название метода минимизации определяется способом выбора hk, а его различные варианты связываются с
§ 2. Начальные сведения о численных методах оптимизации 35 разными способами выбора ак. Наряду с термином шаг метода мы будем пользоваться также термином итерация метода. Трудность решения задачи оптимизации определяется числом ее переменных, видом целевой функции, а также видом и числом ограничений. При этом часто методы, разработанные для решения того или иного типа задач, оказываются полезными для решения более сложных задач. Так, например, алгоритмы одномерной оптимизации широко применяются при решении многомерных задач; многие алгоритмы условной оптимизации используют методы безусловной оптимизации или являются их модификацией; методы решения задачи ЛП используются при решении задач нелинейного программирования и т. д. Среди методов минимизации можно условно выделить конечношаговые и бесконечношаговые методы. Конечношаговыми, или конечными, называются методы, гарантирующие отыскание решения задачи за конечное число шагов. Конечношаговые методы удается построить лишь для некоторых специальных типов задач оптимизации, например задач линейного и квадратичного программирования. Для бесконечно- шаговых методов достижение решения гарантируется лишь в пределе. 2. Сходимость методов оптимизации. Важной характеристикой бесконечношаговых методов является сходимость. Будем говорить, что метод B.3) сходится, если хк —> х* при к —> —» оо, где х* — решение задачи B.1). Если f(xk) —> /(ж*), то иногда также говорят, что метод B.3) сходится (по функции), при этом последовательность хк называют минимизирующей. Минимизирующая последовательность может и не сходиться к точке минимума. Так, для функции, график которой изображен на рис. 2.1, минимизирующая последовательность хк = к не сходится к точке минимума х* = 0. п , _ п лп„мол т/лтмто „,лтт„о «„ Рис- 2.1. Расходимость минимизирую- d случае, когда точка ми- „ rj TT„m, * щей последовательности нимума х* не единственна, под сходимостью метода понимается сходимость последовательности хк к множеству X* точек минимума функции /. Эффективность сходящегося метода можно охарактеризовать с помощью понятия скорости сходимости. Пусть хк —> х* при к —> оо. Говорят, что последовательность хк сходится к х* линейно (с линейной скоростью, со скоростью геометрической прогрессии), если существуют такие константы q Е (О, 1) и ко, что ||xfc+1 - ж* |К q\\xk - х* || при к ^ ко. B.4) Говорят, что хк сходится к х* сверхлинейно {со сверхлинейной скоростью), если \\xk+l-x*\\^qk+x\\xk-x*\\, qk-+0+ при к -> оо. B.5) г*=0 х1=0 хг=2 х6=3
36 Гл. 1. Введение в оптимизацию Наконец, говорят о квадратичной сходимости, если существуют такие константы С ^ 0 и fco, что \\xk+x-x*\\^C\\xk-x*\\2 при k^k0. B.6) Иногда, сохраняя ту же терминологию, неравенства B.4)-B.6) заменяют соответственно на неравенства \\xk+l-x*\^Cxqk+l при fc^fco, B.7) \\хк+1-х*\\<С2Як+1Як...Я1, B.8) ||xfc+1 - ж*| < Czq2k+l при к > ко, 0 < 9 < 1. B.9) Ясно, что из B.4) следует B.7), а из B.5) следует B.8). Если предположить, что справедливо B.6) и при некотором q Е (О,1) 11**о-**1К^<Л то ||**+« - **|| < I /0+', ||**°+2 - х*|К 1 /0+\ ..., т.е. из B.6) следует B.9) при С3 = 1/С. Для характеристики сходимости последовательности f(xk) к /(х*) в ситуациях, аналогичных B.4), B.7); B.5), B.8); B.6), B.9), используются аналогичные термины: линейная, сверхлинейная и квадратичная сходимость. Большинство теорем о сходимости методов оптимизации доказывается в предположении выпуклости целевой функции, оценки же скорости сходимости часто устанавливаются при еще более ограничительном предположении сильной выпуклости (см. определение 3.2 гл. 3). Для невыпуклых задач, как отмечалось в п. 6 § 1, численные методы оптимизации обычно позволяют отыскивать лишь локальные решения, а точнее говоря, стационарные точки. Задача отыскания глобального решения в общем случае чрезвычайно сложна. Алгоритмы глобальной оптимизации требуют больших затрат вычислительных ресурсов даже для функций одной переменной (см. § 2 гл. 2). Получение же достаточно точного решения многомерных задач глобальной оптимизации с помощью существующих в настоящее время численных методов часто оказывается вообще невозможным. Установление факта сходимости и оценка скорости сходимости дают существенную информацию о выбранном методе минимизации. Прежде всего, требования, которые приходится накладывать в теореме о сходимости на минимизируемую функцию, показывают область применимости метода. Часто в теоремах о сходимости в явном виде формулируются требования к начальному приближению. Наконец, анализ скорости сходимости дает полезную количественную и качественную характеристику изучаемого метода оптимизации. В то же время реальный процесс оптимизации не может быть беско- нечношаговым. Отсюда ясна ограниченная роль теорем о сходимости.
§ 2. Начальные сведения о численных методах оптимизации 37 Кроме того, в ряде случаев предположения этих теорем труднопроверя- емы. Поэтому при выборе подходящего метода решения реальных задач приходится во многом руководствоваться здравым смыслом, опытом, интуицией, а также результатами численных экспериментов. Для задания конкретного вычислительного алгоритма бесконечно- шаговый метод необходимо дополнить условием остановки. 3. Условия остановки (критерии окончания счета). Условие остановки может определяться имеющимися в наличии вычислительными ресурсами. Например, может быть задано число вычислений предусмотренных алгоритмом характеристик минимизируемой функции /. Остановка может производиться и по достижении заданной точности решения задачи, например на основе оценок B.7)-B.9). Однако при решении реальной задачи трудно оценить истинную точность. Так, константы, фигурирующие в оценках B.7)-B.9), обычно неизвестны. Поэтому о достижении заданной точности приходится судить по косвенным признакам. На практике часто используются следующие условия остановки: \\хк+1-хк\\^еи B.10) \f(xk+l)-f(xk)\<e2, B.11) ||/V+1)H?3. B.12) До начала вычислений выбирается одно из условий B.10)—B.12) и соответствующее ему малое положительное число е». Вычисления прекращаются после (fc+l)-ro шага, если впервые оказывается выполненным выбранное условие остановки. На практике также используются критерии, состоящие в одновременном выполнении двух из условий B.10)—B.12) или всех трех условий. Ясно, что критерий B.12) относится лишь к задачам безусловной оптимизации. Его выполнение означает, что в точке хк+{ с точностью ?з выполнено условие стационарности. В задаче условной оптимизации критерий B.12) следует заменить на критерий «?-стацио- нарности», соответствующий данной задаче. Вместо критериев B.10)-B.12), основанных на понятии абсолютной погрешности, можно использовать аналогичные критерии, основанные на понятии относительной погрешности: ||zfe+l-z*||Oi(l+||zfe+1||), \f(xk+i)-f(xk)\<62(l+\f(xk+i)\), ||/V+')IK<53(l + |/(xfe+1)|). Отметим, что выполнение указанных критериев и других подобных им эвристических условий остановки, вообще говоря, не гарантирует достижения необходимой точности решения задачи. Введем важное для дальнейшего понятие направления убывания и соответствующий ему класс методов минимизации.
38 Гл. 1. Введение в оптимизацию 4. Направление убывания и методы спуска. Многие методы минимизации относятся к числу методов спуска В методах спуска направление движения к минимуму на каждом шаге выбирается из числа направлений убывания минимизируемой функции. Говорят, что вектор h задает направление убывания функции / в точке х, если f(x + ah) < f(x) при всех достаточно малых а > 0. Сам вектор h также называют иногда направлением убывания. Множество всех направлений убывания функции / в точке х будем обозначать через С/(х, /). Таким образом, если любой достаточно малый сдвиг из х в направлении вектора h приводит к уменьшению значения функции /, то h € Щх, /). Заменив неравенство, фигурирующее в определении направления убывания, на противоположное, получим определение направления возрастания. В дальнейшем нам понадобятся следующие достаточный и необходимый признаки направления убывания. Лемма 2.1. Пусть функция f дифференцируема в точке х ? Rn. Если вектор h удовлетворяет условию (f'(x),h)<09 B.13) то h e U(x, /). Если h G U(x, /), то (f'(x)9h)<0. B.14) Доказательство. Пусть выполнено условие B.13). Тогда /(я + ah) - f(x) = (f'(x), ah) + o(a) = a(</'(x), h) + ^) < 0 при всех достаточно малых а > 0, т. е. he U(x, /). Пусть h e U(x, f) и (fix), h) > 0. Тогда с помощью только что проведенного рассуждения убеждаемся, что h — направление возрастания. Полученное противоречие показывает, что в рассматриваемом случае справедливо неравенство B.14). А Геометрически условие B.13) означает, что вектор h составляет тупой угол с градиентом f'(x). Метод B.3) называется методом спуска, если вектор hk задает направление убывания функции / в точке хк: hk eU{xk, /), fc = 0, 1,2, ..., а число ak положительно и таково, что /(**+|) </(**), * = 0, 1, 2 Простейшим примером метода спуска является градиентный метод, в котором hk = —f'(xk) (если f'{x) ф 0, то -?{х) е U(x, f) в силу леммы 2.1). Остальные пункты данного параграфа посвящены принципам выбора коэффициентов од для метода B.3).
§ 2. Начальные сведения о численных методах оптимизации 39 5. Выбор длины шага из условия минимизации функции вдоль заданного направления. Коэффициенты ак в методе B.3) можно определять из условия f{xk + akhk) = min f(xk + ahk)y B.15) а где для методов спуска, т.е. при hk eU(xk, /), минимум берется по а ^ 0. Такой способ выбора ак является в некотором смысле наилучшим, ибо он обеспечивает достижение наименьшего значения функции вдоль заданного направления. Однако он требует решения на каждом шаге одномерной задачи минимизации. Эти задачи решаются, как правило, приближенно с помощью численных методов, описанных в гл. 2, что приводит к значительному объему вычислений. В простейших случаях величины ак удается найти в явном виде. Пример 2.1. Пусть f(x) = - (Ах, х) + F, ж), где А — симметрическая положительно определенная матрица. Тогда f{xk + ahk) = I (A(xk + ahk), xk + ahk) + (Ъ, хк + ahk) = = Х- (Ahk, hk)a2 + {Ахк + 6, hk)a + /I Axk + Ь, х*}. Нетрудно видеть, что получившийся квадратный трехчлен достигает минимума по а е R в точке ак = —(Ахк + 6, hk)/(Ahk, hk). Если hk — направление убывания, то, с учетом леммы 2.1 и того факта, что f'(xk) — Ахк + 6, имеем (Axk + b,hk)_ (f'(x«),hk)^Q ак {AhW} ~ {Ah\h") ^U- (гЛХ>) Поэтому в рассматриваемом случае f{xk + akhk) = mmf(xk + ahk) = min f{xk + ahk). 6. Адаптивный способ отыскания коэффициентов а*., не требующий дополнительных вычислений характеристик целевой функции. В предыдущем пункте рассмотрен адаптивный способ выбора коэффициентов ак, требующий решения вспомогательных одномерных задач. В процессе их решения приходится, как правило, производить дополнительные вычисления характеристик целевой функции / в точках, отличных от х°, я1, ..., хк. В данном пункте приводятся явные формулы B.19), B.21) для ак. В них используются лишь значения f'(xk) и некоторые константы, характеризующие глобальные свойства функции /. Эти формулы выбраны с целью обеспечить при соответствующих предположениях о / выполнение неравенства f(xk + akhk) - f(xk) ^ eak(f(xk), hk), B.17) где г G @, 1), направление hk таково, что (f'(xk)y hk) < 0 и, стало быть, hk e U(xk, /). Неравенство B.17) необходимо для обоснования
40 Гл. 1. Введение в оптимизацию сходимости многих методов минимизации. Из него, в частности, следует, что /(xfc+1) < f{xk)y и соответствующий метод минимизации является, таким образом, методом спуска. Лемма 2.2. Пусть функция f дифференцируема на Rn, а ее градиент удовлетворяет условию Липшица ||/'(х) - /'(х')И ^ Af ||х - х% х, х' е Rn, B.18) где М > 0. Тогда для произвольных xk Е Rn, e E @, 1) и hk, удовлетворяющего неравенству (f'(xk), hk) < 0, условие B.17) выполнено при Q<ak< (l-e)(/V).fefc) BJ9) Доказательство. По формуле Лагранжа при некотором в е е [0, 1] имеем f(xk + akhk) - f(xk) = (f'(xk + eakhk), akhk) = = (f'(xk), akhk) + (f(xk + 9akhk) - f'(xk), akhk) ^ < (f'(xk), akhk) + \\f'(xk + 6akhk) - f'(xk)\\ \\akhk\\ < < ak((f(xk), hk) +M\\9akhk\\ \\hk\\) < <afe((/'(xfc). hk) + Mak\\hk\\2) ^ < ak((f(xk), hk) - (l-e)(f'(xk), hk))=eak(f(xk), hk), где последовательно использованы неравенства Коши-Буняковско- го, B.18), К1 и, наконец, B.19). Л Лемма 2.3. Пусть функция f дважды дифференцируема на R", а ее матрица вторых производных удовлетворяет условию (f"(x)h, h) < D\\h\\2, x,he Rn, B.20) где D>0. Тогда для произвольных xk € Rn, ? € @, 1) и hk, удовлетворяющего неравенству (f'(xk), hk) <0, условие B.17) выполнено при 0-аг< 2(l-e)(/V),ft») B21) Доказательство. По формуле Тейлора при некотором в € [0, 1] имеем f(xk+akhk)-f(xk) = = (f'(xk), akhk) + \ (f"{xk+eakhk)akhk, akhk) ^ <afc(</V), hk) + \Dak\\hkf)*L < ak((f'(xk), hk) - A -e)(f'(a*), hk)) =eak(f'(xk), hk).
§ 2. Начальные сведения о численных методах оптимизации А\_ где первое неравенство справедливо в силу B.20), а второе — в силу B.21). Л К сожалению, константы М и D часто неизвестны, и в таких случаях обоснованные леммами 2.2, 2.3 способы выбора ак практически неосуществимы. Однако, как мы увидим в п. 8, можно указать такой способ выбора длины шага, который не требует знания МиД но, тем не менее, обеспечивает выполнение условия B.17). 7. Априорный выбор коэффициентов, определяющих длину шага. Иногда величины ак выбирают до начала вычислений. Так, в ряде методов достаточно потребовать выполнения условий оо оо ак > 0, fc = 0, 1, ...; ^afc = oo, У^а% < оо fc=0 fc=0 (например, можно взять ак = С/(к+ 1)). На интуитивном уровне их можно пояснить следующим образом. Условие сходимости ряда YLa\ накладывают, чтобы добиться достаточно быстрой сходимости последовательности ак к нулю с целью обеспечения сходимости метода в окрестности точки экстремума х*. Условие же расходимости ряда J2ak призвано обеспечить достижение точки экстремума х* даже при неудачном выборе начального приближения х° , т. е. при большом расстоянии от х° до х*. В некоторых методах коэффициенты ак можно выбирать постоянными: ак = а > 0. При этом иногда удается добиться выполнения условия B.17). Так, например, при hk = — f'(xk) неравенства B.19), B.21) принимают соответственно вид 0 < ак ^ A - е)/М, 0 < ак ^ 2A - e)/D. Поэтому, в силу лемм 2.2, 2.3, условие f(xk - akf'(xk)) - f(xk) < -еаь||/V)||2 B.22) выполнено в предположениях леммы 2.2 при а^ = а е @, A — е)/М], а в предположениях леммы 2.3 — при ак = а G @, 2A — e)/D]. Отметим, что указанные способы выбора ак = а требуют знания констант М, D. 8. Дробление шага. Опишем еще один адаптивный способ выбора коэффициентов ак, называемый дроблением шага. Если hk — направление убывания, то дробление шага можно осуществлять следующим образом. Выбираются некоторые константы /3 > 0, 0 < А < 1 (часто Л = 1/2). Для коэффициента а = /3 проверяется выполнение условия f(xk + ahk)<f{xk). B.23) Если оно выполнено, то полагают ак = а. Если нет, то производится дробление шага, т. е. принимается а = А/?, и вновь проверяется выполнение условия B.23). Процесс дробления, т.е. умножения текущего
42 Гл. 1. Введение в оптимизацию значения а на Л, продолжается до тех пор, пока условие B.23) не окажется выполненным. Этот процесс не может быть бесконечным, поскольку hk — направление убывания. Первое а, при котором условие выполнено, и принимается за ак. Как показывает следующая лемма, при (f'(xk), hk) < О с помощью описанного процесса дробления шага можно добиться выполнения и неравенства B.17). Лемма 2.4. Пусть функция f дифференцируема на Rn. Тогда для произвольных xk G Rn, e G @, 1) и hk, удовлетворяющего неравенству {f'(xk), hk) < О, найдется такое <*о > 0, что при всех a ? @, с*о] выполнено условие f(xk + ahk) - f(xk) ^ ea(f'(xk), hk). B.24) Доказательство. Имеем f(xk + ahk) - f(xk) = (/V), ahk) + o(a) = = ea(f{xk), hk) + a[A - e)(f'(xk), hk) + ^]. В силу условия леммы при достаточно малых а (\-e)(f\xk),hk) + ^<0} что и приводит к B.24). Д Чтобы достигнуть в результате процесса дробления выполнения условия B.17), на каждом шаге процесса следует, конечно, проверять выполнение неравенства B.24), а не B.23). Предположим, что hk = —f'(xk) и выполнены либо условия леммы 2.2, либо условия леммы 2.3, однако константы М, D неизвестны. Тогда, в силу сказанного в п. 7, неравенство B.24) заведомо окажется выполненным, если в результате процесса дробления шага в условиях леммы 2.2 получим а ^ A —е)/М или в условиях леммы 2.3 получим a < 2A - e)/D. Поэтому для коэффициентов с*ь построенных по методу дробления шага с проверкой условия B.24), справедливы неравенства ак^а = тт{р, Х(\-е)/М} B.25) в условиях леммы 2.2 и ак ^ а = min {/3, Л - 2A - e)/D) B.26) в условиях леммы 2.3. Эти неравенства понадобятся нам в § 1 гл. 5. Если проверяемое в процессе дробления шага условие B.23) или B.24) оказывается выполненным при начальном значении а = — /3, то иногда бывает полезным увеличить шаг, положив a = ///?, где /i> 1. Если при этом значение функции еще более уменьшится, т. е. окажется, что f(xk + ijiPhk) < f(xk + /3hk), то текущее значение а следует снова умножить на /х, и так до тех пор, пока значения функции
§ 2. Начальные сведения о численных методах оптимизации 43 не перестанут уменьшаться. Последнее а, при котором произошло уменьшение, и берется в этом случае за а^. Отметим в заключение, что рассмотренные в пп. 5-8 принципы выбора длины шага в методах спуска не исчерпывают множества всех применяемых на практике способов. ЗАДАЧИ 1. Пусть функция / дважды дифференцируема в точке х е Rn. Доказать, что если вектор h удовлетворяет условиям (f(x), h) = 0, (f"(x)h,h)<0, то heU(x,f). 2. Построить пример разрывной функции двух переменных, для которой любое направление является направлением возрастания в точке @, 0), но, тем не менее, начало координат не является точкой локального минимума. 3. Для функции /(хь х2) = —Ъх\ — Ъх\ + &х\х2 изобразить линию уровня /(жь х2) = /B, 2) и векторы B, 1), A, -2), A, -1), (-1, 1) с начальной точкой B, 2). Установить для каждого из изображенных векторов, задает ли он направление возрастания или направление убывания функции / в точке B, 2). 4. Найти минимум функции f(x\, х2) = Ъх\ + Ъх\ — Ьх\х2 при х = = (жь #2) G R2 с помощью метода B.3), где hk — —f'(xk), а& выбирается по правилу B.15), а начальной точкой служит: а) х° = B, 2); б)ж° = C, 1).
Глава 2 МЕТОДЫ ОДНОМЕРНОЙ МИНИМИЗАЦИИ Как известно, задача отыскания экстремумов дифференцируемой функции / сводится к решению уравнения f'(x) = 0. Однако лишь в отдельных случаях решение этого уравнения удается найти в явном виде. Как правило, задача отыскания корней уравнения f'{x) = 0 примерно так же сложна, как и задача минимизации функции /, и любую из этих задач приходится решать численно. Таким образом, численные методы решения уравнений можно использовать для решения задач минимизации, но методы, разработанные специально для задач минимизации, являются более эффективными. Необходимость отдельного рассмотрения численных методов поиска экстремума функций одной переменной диктуется следующими обстоятельствами. Во-первых, эти методы используются во многих алгоритмах поиска экстремума функций, зависящих от нескольких переменных. Во-вторых, классы функций одной переменной служат удобной моделью для теоретического исследования эффективности методов оптимизации. В-третьих, иногда удается, используя те или иные приемы, непосредственно с помощью алгоритмов одномерной оптимизации получить решение многомерных задач. Простейший прием такого рода, так называемая схема повторной оптимизации, основан на том, что min f(x\, X2) = min( min f(x\, xo)) = minf min f(x\, ?2)) (x1,x2)GX,xX2-/V ' *,€XiV*2€*2 ' *2eX2Vs,(EXi ' для произвольных множеств X\t X2 и функции /. Если х\, х2 — скаляры, то с помощью выбранного алгоритма одномерной оптимизации можно вычислять значения функции <р(х\) = min f(x\f x2) х2?Х2 и минимизировать эту функцию. Следует подчеркнуть, что универсальных методов, пригодных для минимизации произвольных функций одной переменной, не существует. Поэтому приходится строить алгоритмы, ориентированные на различные встречающиеся в прикладных задачах классы функций. В § 1 рассматривается класс унимодальных функций, т.е. функций, имеющих единственный экстремум. В § 2 излагаются численные методы поиска глобального экстремума многоэкстремальных функций. Наконец, в § 3 затрагиваются вопросы эффективности вычислительных алгоритмов.
§ 1. Численные методы минимизации унимодальных функций 45 § 1. Численные методы минимизации унимодальных функций 1. Унимодальные функции. Пусть X = [а, Ъ]. Определение 1.1. Функция / называется унимодальной на X, если существует такая точка х* е X, что f(X\)>f(x2), еСЛИ Х\ <Х2 <X*t X\,X2€X, f{x\)<f(x2), если х*<х\<х2, х\ух2еХ. Легко видеть, что строго выпуклые функции унимодальны (рис. 1.1, а). Конечно, существуют и невыпуклые унимодальные /t /¦ Х\ %2 Рис. 1.1. Унимодальные функции функции (рис. 1.1,6). Очевидно также, что если унимодальная функция / достигает на X значения inf f(x), то непременно в точке х*, которая является, таким образом, единственной точкой локального минимума функции / на множестве X 1). Если ограничиваться рассмотрением лишь непрерывных функций, то свойство унимодальности функции попросту означает наличие у нее единственного локального минимума. Построение и анализ эффективности методов минимизации унимодальных функций чрезвычайно важны, так как такие функции часто возникают при решении прикладных задач. Лемма 1.1. Пусть функция f унимодальна на X, х\,Х2€Х, Х\ < Х2- Тогда, если f(x\) ^ /(я^), то х* ^ х2\ если же f{x\)^f(x2), то х* ^ х\. Предположение о том, что X = [а, Ь), не является слишком ограничительным. В самом деле, если предположить, что множество X не ограничено (является полупрямой или прямой), то с помощью леммы 1.1 легко построить конечношаговый процесс, позволяющий указать отрезок, в котором содержится точка х*. 1) В дальнейшем мы называем х* точкой минимума, имея в виду именно этот случай. Если же значение inf f(x) не достигается, то все сказанное ниже относится к задаче приближенного отыскания точки х*, фигурирующей в определении 1.1.
46 Гл. 2. Методы одномерной минимизации Вычислим для этого значения / в точках х\, Х2 = х\ + h\, где h\ > 0. Пусть, например, f(x\) > /(х2). Если X ограничено сверху числом с, то х* е [х\, с]. Если же X не ограничено сверху, то следует вычислять значения f(xi) (xi = xi-\ + /i;_i, г = 3, 4, ...) до тех пор, пока не будет найдена такая точка ?;, что f(x{) ^ f(xi-\). В силу леммы 1.1 х* G [яг-2> #t]- При этом можно выбирать hj = const или же hj+\ = 2hj (j ^ 1) и т.д. Приступим к описанию алгоритмов минимизации унимодальных функций. Будем предполагать, если не оговорено противное, что используется информация лишь о значениях минимизируемой функции, число вычислений которой предполагается фиксированным и обозначается через N. 2. Алгоритм пассивного поиска минимума. Если N = 2k— 1, положим , о . о — а . * ЛГ ^ = а+дГТТг' ' •"" ; если же N = 2к, положим 0 _ b — а . о _0 r • _ i к х2г — а ~Г jl , 1 г> ^t-l — Х2г ~~ °> г — I, . . . , АС, где ? —- некоторое малое положительное число. Вычислим f(x°{), ..., f(x„). Пусть fix®) = min /(х?). Тогда, по- г=1, ...,7V лагая Xq = а, x^+i = ^ из леммы 11 выводим, что х* G [^_р ^+1]- Говорят, что точка минимума х* локализована в отрезке [х^_х, a^+ib сам отрезок при этом называют отрезком локализации минимума. Центр этого отрезка принимается за аппроксимацию точки х*. В благоприятном случае, когда, например, /(x°+1) = /(ж!-), имеем х* е [х*-,ж*-+1]. За аппроксимацию точки х* принимается в этом случае центр отрезка [я*-, а^+1]. В любом случае длина отрезка локализации 2lzA JV = 2fc-l, max (*°+1-*?_!) = <( u + 0.1) •=1,....лЛ г+1 1 b-a - к iV/2+l+d' "-гк' не превышает значения -jt——тгйу\ + <*» а погрешность в определе- нии х* — половины этого значения. При этом параметр алгоритма 8 > 0 может быть выбран сколь угодно малым. 3. Метод дихотомии. Пусть N = 2к. Положим х\ = — 6, Х2 = ^-z Ь S, 6 > 0. Длина отрезка локализации минимума после первой пары вычислений равна — Ь S. Вторая пара вычислений проводится в точках, отстоящих на расстояние S по обе стороны
§ 1. Численные методы минимизации унимодальных функций 47 от середины отрезка локализации. В результате получается отрезок локализации минимума длиной (—^ + Sj/2 + 5 = —^ + —. После третьей пары вычислений длина отрезка локализации становится рав- u (Ь-а , 3E\/0 , , Ь-а 76 JO 6-a,2fc-l. ной ^-^- + уу2 + 5=-^ + т, ..., после А:-и--^^ +-^гг5- После N вычислений длина отрезка локализации минимума равна Ь-а , 2™ - 1 х П9. + 7ГП™1 Т°- I1-2) 2LN/2J ' 2UV2J _ ! Соответствующим выбором 5 эту длину можно сделать сколь угодно близкой K(b-a)/2W2J. 4. Числа Фибоначчи. Последовательность чисел F{ задается условиями F0 = F\ = 1, Fi+\ = Fi + Ft-i, t = 1, 2, Элементы введенной последовательности называются числами Фибоначчи. Выведем формулу, выражающую числа Фибоначчи в явном виде. Для этого будем искать решение рекуррентного уравнения F»+i = Fi + i^-i среди геометрических прогрессий с г-м членом ?*. Имеем ?i+1 = t* + ?г-1. Ненулевые корни этого уравнения являются корнями квадратного трехчлена t2 — t— 1 и равны A±\/5)/2. Введем обозначение т = A + + л/5)/2 = 1,618 ... Тогда A - \/5)/2 = — 1/т. Итак, последовательности тг и (— 1/т)г удовлетворяют нашему рекуррентному уравнению. Ему же, очевидно, удовлетворяет и любая линейная комбинация этих последовательностей с\тг + с2(— 1/т)*. Выберем коэффициенты сь с2 так, чтобы выполнялись условия Fo = Fj = 1. Имеем с\ + с2 = 1, cit + сг(—1/т) = —1. Решая эти уравнения, получаем следующую формулу для чисел Фибоначчи /l + x/5V+1 (\-Уьу+1 rw_(_T)-(W) _ V 2 J V 2 ) л/5 V5 ' из которой следует, в частности, что r«+i Fi~—— при г —> со. A.3) V5 5. Метод Фибоначчи. Пусть X = [О, 1]. Это не ограничивает общности рассмотрений, так как заменой переменной х' = a + x(b — a), х е [0, 1], все результаты переносятся на случай X = [а, 6]. Первые два вычисления проводятся в точках х\ = Fn^/Fn, х2 = = Fn-i/Fn, расположенных симметрично относительно середины отрезка [0, 1]. Если f(x\) < f(x2)y то отрезком локализации минимума является отрезок [0, хг], в случае f(x\)>f(x2) — отрезок [х\, 1], в случае же f(x\) = f(x2) — отрезок [х\, х2). Для единообразия в последнем случае будем рассматривать в качестве отрезка локализации, например, [0, х2]. Точка гс3 выбирается симметрично относительно
48 Гл. 2. Методы одномерной минимизации FN-2/FN FN-l/FN 09- . . FN-2/FN . FN~z/FN FN-l/FN ^ FN-l/FN FN-2/FN FN-3/FW -+r* * *2 FN-z/FN\ fn-aIfn FN-2/FN а б Рис. 1.2. Взаимное расположение первых трех вычислений по методу Фибоначчи середины отрезка локализации к лежащей внутри этого отрезка точке уже проведенного вычисления (х\ или жг)- Взаимное расположение точек х\, #2, #з в случае /(xi) ^ /(хг) показано на рис. 1.2. Алгоритм определяется следующим условием: на каждом шаге точка очередного вычисления выбирается симметрично относительно середины отрезка локализации к лежащей внутри этого отрезка точке уже проведенного вычисления. Взаимное расположение генерируемых алгоритмом точек поясняет следующая таблица, в которой через г\у г^ Таблица 1 Число проведенных вычислений 1 2 3 i N r\ FN-2/FN FN-3/FN FN-4/FN Fn-i-i/FN Fo/FN = 1/Fn S Г2 FN-i/FN Fn.2/Fn Fn^IFn Fn-i/Fn Fx/FN = 1/Fn l/FN Длина отрезка локализации 1 Fn^/Fn FN-2/FN FN-i+\/FN F2/FN = 2/FN \/FN или I/Fn+J обозначены расстояния точки проведенного вычисления, лежащей внутри текущего отрезка локализации, до соответственно ближнего и дальнего концов этого отрезка. Как видно из таблицы 1, после (N — 1)-го шага точка проведенного вычисления оказывается в середине отрезка локализации. Точка Xn выбирается на расстоянии S от середины этого отрезка, где S — заранее фиксированное малое положительное число. Очевидно, что в случае X = [а, Ь) длина отрезка локализации минимума после N вычислений не превосходит b-^+S. (..4)
§ 1. Численные методы минимизации унимодальных функций 49 Заметим, что на каждом шаге метода Фибоначчи точка, лежащая внутри отрезка локализации, делит его в отношении двух последовательных чисел Фибоначчи. Так, после i шагов отношение длины всего отрезка локализации к длине большего из отрезков, на которые отрезок локализации разбивается точкой ранее проведенного вычисления, равно Fx-i+i/FN-i' Вследствие A.3) Fj+\/Fj —> т при j -> оо. Это замечание наводит на мысль на каждом шаге выбирать новую точку таким образом, чтобы отрезок локализации минимума оказывался поделенным в одном и том же отношении т, что приводит к так называемому алгоритму золотого сечения, обладающему рядом привлекательных черт метода Фибоначчи (в дальнейшем мы увидим, что метод Фибоначчи в определенном смысле оптимален). 6. Метод золотого сечения. Пусть X = [0, 1]. Положим х\ — 1/т. Так как т2 = т + 1, то 1 — 1/г = 1/г2. Итак, отношение длины всего отрезка [0, 1] к длине большей из его частей [0, х\] равно отношению длины большей части [0, xi] к длине меньшей части [х\, 1]: 77- = -г/? = Т- Деление отрезка в таком отношении носит название 1/т \/т* золотого сечения. Точку x<i выберем симметрично точке х\ относительно середины отрезка X: х2 = 1/г2 (рис. 1.3). Сравнив значения f(x\) и f(x2), 1/т 1/т2 1/т* 1 1/т2 41 ^ 1/т находим отрезок локализации минимума ([0, х\] или [^2, 1]). Нетрудно видеть, что лежащая внутри отрезка локализации точка, где вычисление уже проведено, делит отрезок в отношении золотого сечения. Алгоритм определяется тем же условием, что и метод Фибоначчи (разница — в выборе точки х\): на каждом шаге точка очередного вычисления выбирается симметрично относительно середины отрезка локализации к лежащей внутри этого отрезка точке уже проведенного вычисления. Таблица, аналогичная по смыслу таблице 1, для метода золотого сечения имеет следующий вид. Таблица 2 Рис. 1.3. Взаимное расположение первых двух вычислений по методу золотого сечения Число проведенных вычислений 1 2 г П 1/г2 1/т3 1/т<+1 Г2 1/т 1/г2 1/т* Длина отрезка локализации 1 1/г l/r'-1
50 Гл. 2. Методы одномерной минимизации Очевидно, что в случае X = [а, Ь] длина отрезка локализации минимума после N вычислений равна ?г- A-5) 7. Некоторые замечания. При практическом использовании методов Фибоначчи и золотого сечения надо иметь в виду, что выбор на каждом шаге очередной точки симметрично точке ранее проведенного вычисления приводит к быстрому накоплению вычислительной погрешности. Чтобы избежать этого, следует на каждом шаге заново делить отрезок локализации минимума в требуемом отношении (отношении двух последовательных чисел Фибоначчи или отношении золотого сечения). Сравним теперь длины A.1), A.2), A.4), A.5) отрезков локализации минимума после N вычислений при применении описанных алгоритмов. Как видно, все последовательные алгоритмы, т. е. алгоритмы пп. 3, 5, 6, обеспечивают экспоненциальное уменьшение длины исходного отрезка [а, Ь]. В то же время алгоритм п. 2 обеспечивает лишь линейное уменьшение. При этом, однако, не следует забывать, что в ряде случаев порядок поступления информации и условия для ее обработки не позволяют применять последовательные алгоритмы (см. п. 1 § 2 гл. 1). С учетом A.3) имеем, что при N —> оо (b-a)/rN-1 rN+l/V5 т .2 = 1,1708 .. (b-a)/FN + 6 г"-* у/ь т.е. при больших N длина отрезка локализации минимума после N вычислений в методе золотого сечения лишь примерно на 17% больше, чем в методе Фибоначчи. Однако метод золотого сечения обладает тем существенным преимуществом, что в нем вычисления можно прекратить в любой момент, так как точки, где проводятся вычисления, не зависят от общего числа вычислений N. Перейдем к описанию так называемых методов полиноминальной интерполяции. Суть их заключается в том, что по полученной в ходе вычислений информации строится интерполяционный многочлен (обычно второй или третьей степени) и его минимум принимается за точку очередного вычисления. Такие методы широко распространены на практике. Они дают хорошие результаты при минимизации достаточно гладких унимодальных функций. Мы не будем приводить подтверждающие этот факт теоретические оценки и результаты численных экспериментов. Ограничимся лишь кратким описанием двух конкретных алгоритмов. 8. Метод парабол. Пусть а\ < с\ <b\, f(c\) ^ f(a\), f(c\) ^ f(b\), т.е. [а\, Ь\] — отрезок локализации минимума функции /. Тройку чисел а\, с\, Ь\ можно найти, сделав несколько шагов, например, по методу золотого сечения (если, конечно, точка минимума не совпадает
§ 1. Численные методы минимизации унимодальных функций Ь\_ ни с одним из концов отрезка [а, 6], на котором определена функция /). Построим квадратный трехчлен (р\, график которого проходит через точки (аь /(ai))f (сь /fa)), (bu /fa)): Vx{x) = //№')"/fa) + /faWfaA (s-c,)(x-b,) + 61 — c\ c\ — a\ I b\ — a\ ¦0 4 + /(b!)~/(ci)(x-c1) + /(c1). Ol -Ci Поскольку / — унимодальная функция, то хотя бы одно из неравенств /fai) ^/fai)> /fai)^/(&i) строгое и, следовательно, коэффициент при старшем члене квадратного трехчлена ср\ положителен. Нетрудно видеть, что (pi достигает минимума в точке „ = с, + 1 fa " ciJ(/fa) ~ /fa)) - fa - aiJ(/Fi) - /(d)) 1 l + 2 F, - ci)(/(ai) - /(d)) + (d - ai)(/(bi) - /(d)) ' причем Ql ! < s\ ^ Cl 9 1 • Эта точка и выбирается в качестве точки очередного вычисления значения функции / (если оказалось, что s\ = = с\, условимся в качестве точки очередного вычисления выбирать точку (ai+ci)/2). Итак, следующее вычисление проводится в точке 51, S\ ф Сь fai+ci)/2, s\.= c\. Как и в методах Фибоначчи и золотого сечения, определим новый отрезок локализации [а2, Ь2] с лежащей внутри него точкой с2, в которой значение функции / уже вычислено. Ясно, что с2 = с\ или C2 = t\. Далее строится квадратный трехчлен у?2, график которого проходит через точки (а2, /(«2)), fa2, /fa))> (Ь2, /(Ы), определяется его минимум и т. д. 9. Метод кубической интерполяции. Алгоритм предполагает вычисление в каждой очередной точке значений /(х) и f'(x). Пусть f'(x\) ^ 0, /'(х2) ^ 0 (например, х\ = а, х2 = Ь). Определим многочлен третьей степени (р\ условиями <Р\(х\) = f(x\), vitei) = f'{xi), Ых2) = /(ж2), Pife) = /'(^2)- В качестве хз выберем точку минимума многочлена щ. Вычислим /(^з), /'(^з)- Если /'(х3) > 0, то отрезком локализации минимума является отрезок [х\, хз], а многочлен третьей степени у?2 определяется условиями ?>2(zi) = /(^l), <?2(xi) = /'(^l), ^2(X3) = /(x3), ?>2(х3) = /'(*з)- Если же /'(хз) < 0, то отрезком локализации минимума является отрезок [хз, х2] и для определения у?2 имеем Ы^з) = /(х3), ?>2(жз) = /'(*з). Ы^г) = /(ж2), <Р2(Ж2) = /Чж2). В качестве Х4 выберем точку минимума многочлена у?2 и т. д.
52 Гл. 2. Методы одномерной минимизации Отметим, что существуют и другие варианты методов парабол и кубической интерполяции. Эти методы, как и другие методы полиномиальной интерполяции, можно применять и для минимизации многоэкстремальных функций. При определенных условиях такие методы обеспечивают отыскание локальных минимумов. ЗАДАЧИ 1. Функция / называется строго квазивыпуклой на X, если для любых двух различных точек х\,Х2€Х и AG @,1) справедливо неравенство f(Xx\ + A - Л)х2) < max{/(xi), /(хг)}- Доказать, что для непрерывных функций понятие строгой квазивыпуклости эквивалентно определению унимодальности. 2. Следует ли из унимодальности функций f\, /2 унимодальность функций /i + /2, max{/i, /2}? 3. Показать, что Ff - Fi+{ • F^ = (-l)i+2. 4. Построить алгоритм, позволяющий при помощи N вычислений локализовать минимум унимодальной на X = [0, 1] функции в отрез- ке длины — + ^~2 S. При этом расстояние между любыми двумя точками вычислений должно быть не меньше заданного S > 0. § 2. Численные методы минимизации многоэкстремальных функций Т 1. Постановка задачи. В этом параграфе мы рассмотрим методы отыскания глобального экстремума функций одной переменной. Задача отыскания глобального экстремума многоэкстремальной функции существенно труднее задачи минимизации унимодальной функции. Даже в одномерном случае решение задачи глобальной оптимизации требует большого объема вычислений. Кроме того, при реализации на ЭВМ многих алгоритмов глобальной оптимизации требуется большой объем оперативной памяти. Будем предполагать, что минимизируемая функция / удовлетворяет на отрезке X = [а, 6] условию Липшица с известной вычислителю константой М: \f(x) - f(x')\ ^М\х- х'\; х, х' Е X. B.1) Очевидно, что функция / непрерывна и поэтому достигает на X своего минимального значения. Пусть f(x*) = min/(x). Ясно, что точка глобального минимума может быть не единственной. Рассмотрим задачу приближенного отыскания минимального значения /(х*). Будем предполагать, что задано либо число N вычислений значений функции /, либо точность S отыскания значения минимума. Если метод дает в качестве приближенного к минимальному значение /(ж0) функции / в некоторой точке х°, то его погрешностью
§ 2. Численные методы минимизации многоэкстремальных функций 53 будем считать величину /(х°) — /(х*) (расстояние точки х° до точек глобального минимума во внимание не принимается). Следует отметить, что условие B.1) далеко не всегда дает адекватное описание встречающихся в практических задачах многоэкстремальных функций. Впрочем, это замечание относится и к другим известным способам описания. Мы останавливаемся на рассмотрении функций, удовлетворяющих условию Липшица, так как в рамках такой модели вычислений удается поставить и до конца решить важные задачи построения оптимальных в том или ином смысле вычислительных алгоритмов. Приступим к описанию алгоритмов глобальной оптимизации. 2. Метод перебора. Пусть задано число вычислений N. Положим о . Ь — а х\ = а + 3 2N x°N = a + {2N-l) Ь — а ~2ЛП Вычислим значения /(х°), ..., f{x°N) и в качестве приближения к минимальному примем значение min /(х°). г=1, ...,N Ъ — а Покажем, что погрешность метода не превосходит М -^-. Действительно, пусть х* — точка глобального минимума. Очевидно, найдется точка х^ (j е {1, ..., N}) такая, что |х9 - х*\ < -^тг- С учетом B.1) имеем 0<.=тт^/(х?)-/(х*)^/(^)-/(х*)<М|х«-х*|<М^. 3. Метод ломаных. Положим х\ = а, хг = Ь. Пусть вычисления проведены в точках хь ..., х*: у\ = f(x\), ..., у» = /0е*)- В силу B.1) Дх) ^yj -M\x-Xj\, xeXy j = l, ...,г, и потому /(ж) > (fi(x) def max {у~ — М\х — Xj\}. B.2) Нетрудно видеть, что функция щ является точной минорантой для функций, удовлетворяющих условию B.1) и принимающих в точ- 4>и xi=a Xj N/ X2=b x Рис. 2.1. График функции ipi ках х\, ..., Хг значения соответственно у\, ..., yi (см. рис. 2.1 и задачу 2). Точка Xi+i выбирается по правилу xi+i = axg min 4>i(x).
54 Гл. 2. Методы одномерной минимизации В качестве приближения к искомому значению минимума после N вычислений принимается величина min f(xi). Ясно, что после N i=l,...,N вычислений погрешность метода не превосходит величины min f(xi) — min ф^(х). i=\,...,NJ V У x€X ^ V ' Число вычислений N может быть, как и в алгоритме п. 2, задано заранее. Если же требуется обеспечить отыскание значения минимума с точностью не хуже 5, то следует прекратить вычисления, как только min f(xi) — min (PnM ^ S- 4. Метод покрытий. Пусть требуется обеспечить отыскание минимума с точностью не хуже 5. Обозначим через N0 минимальное число отрезков длины г = 25/М, которыми можно покрыть отрезок Х = [а,Ь]. Очевидно, что N0 = = |~F — а)/г]. Выберем Нетрудно видеть, что отрезки длины г с центром в точках сетки B.3) покрывают X. Пусть вычисления проведены в точках х\, ..., хс у\ = f(x\), ... ..., yi = f(xi). Опишем (г+1)-й шаг алгоритма. Для этого введем обозначение Xi = {х е X | 4>i(x) < min yj - 5}, j = l,..., г где функция (pi определена формулой B.2). Ясно, что множество Xi является объединением не более г + 1 промежутков. Обозначим число этих промежутков через mi (на рис. 2.2 они выделены жирной линией). min ц-ь*~ 1....Л Рис. 2.2. Множества Xi Пусть j-Pi промежуток есть (а^, /?;Д kj = fiij —<Xij. Обозначим через Ni минимальное число отрезков длины г, которыми можно покрыть множество Xi. Очевидно, что TTli Ni = Y,Nij, где Щ = \kjfr].
§ 2. Численные методы минимизации многоэкстремальных функций 55 Выберем xi+I e [) Ltj + B* - 1) fc^ | k = 1, ..., NiA . B.4) Ясно, что отрезки длины г с центрами в точках сетки B.4) покрывают Xi. Процесс останавливается на s-м шаге, если Xs = 0. При этом величина min f(xi) принимается в качестве приближения к значению г=1, ...,5 минимума. В силу пустоты множества Xs имеем min у л — min ips(x) ^ 6. j=l,...,s x?X Это означает, что требуемая точность обеспечена, поскольку min (ps(x) ^ min f(x) ^ min у5. х?Х х?Х j = 1,...,s 5. О реализации алгоритмов на ЭВМ. Общим недостатком алгоритмов пп. 3, 4 является то, что для реализации каждого из них на ЭВМ требуется большой объем оперативной памяти. Это, как уже отмечалось в начале параграфа, характерно и для многих других алгоритмов глобальной оптимизации. При реализации обоих алгоритмов также требуется знать значение константы Липшица М. На практике значение М часто не известно. В этом случае константу Липшица обычно оценивают приближенно. Существуют различные эвристические приемы как априорной, так и адаптивной оценки. Например, после i шагов в алгоритмах пп. 3, 4 вместо величины М можно использовать оценку М{ = o~i max , '— i , гьг2^г \Xix — Xi2\ где Gi — коэффициент осторожности, Oi ^ 1. При этом следует иметь в виду, что выбор слишком больших o~i может привести к существенному увеличению времени счета. Кроме того, модифицированные таким способом алгоритмы пп. 3, 4, конечно, уже не гарантируют решение задачи с заданной точностью. ЗАДАЧИ 1. Привести пример функции, для которой погрешность метода перебора равна М-^=-. 2. Показать, что определенная формулой B.2) функция щ является точной минорантой для функций, удовлетворяющих условию B.1) и принимающих в точках хь ..., х» значения соответственно у\, ..., yi. Иными словами, показать, что: a) cpi удовлетворяет условию B.1), ?>i(xj) —Уз (j = l,..., г)\ б) если / удовлетворяет условию B.1) и У{х5) = у5 (j = 1, ..., г), то f(x) ^ (fi(x) при всех х е X.
56 Гл. 2. Методы одномерной минимизации 3. Доказать сходимость метода ломаных, т.е. что для любой функции /, удовлетворяющей условию B.1), lim min f(xj) = min/(:r), t—*oo j=\, ...,t x?X где точки Xj выбираются по методу ломаных. 4. Привести пример функции, удовлетворяющей условию B.1), для которой при N = 3 погрешность метода ломаных больше, чем погрешность метода перебора. 5. Показать, что в методе покрытий N0 ^ N\ + 1^ iV2 4- 2 ^ ... 6. Показать, что после г шагов по методу покрытий полный перебор N{ точек сетки B.4) обеспечивает достижение заданной точности 5. к § 3. Понятие об оптимальных методах поиска экстремума Ў В этом параграфе мы рассмотрим минимаксную концепцию оптимальности вычислительных алгоритмов. 1. Оптимальные алгоритмы. Предположим, что на этапе выбора вычислительного алгоритма вся информация о минимизируемой функции / состоит в знании того факта, что / е F, где F — некоторый функциональный класс. Фиксация класса F не обязательно означает, что выбираемый алгоритм предназначен для минимизации многих функций. Даже если вычислитель имеет дело с одной единственной функцией, на этапе предварительного исследования ему приходится устанавливать наличие или отсутствие таких важных для выбора оптимизационного алгоритма свойств функции, как унимодальность, выпуклость, сильная выпуклость, гладкость, ограниченность скорости изменения и т.д., а в некоторых случаях давать и количественные оценки. Зафиксировав свойства функции, которые будут приняты во внимание при выборе вычислительного алгоритма, вычислитель тем самым фиксирует класс F. Далее следует зафиксировать множество (класс) А алгоритмов, из которого будет выбираться оптимизационный алгоритм а. Выбор множества А зависит от F (например, алгоритмы второго порядка нельзя использовать для минимизации функции, не имеющей вторых производных), от порядка поступления информации, получаемой в результате вычислений, возможностей по ее хранению и обработке и т.д. Наконец, на множестве А х F задается критерий е(а, /). Величина е(а, /) служит мерой эффективности решения задачи минимизации функции / алгоритмом а. В качестве критерия может выступать, например, точность (погрешность) решения задачи при заданном числе
§ 3. Понятие об оптимальных методах поиска экстремума 57 вычислений (шагов) или число шагов алгоритма, позволяющее получить решение с заданной точностью. Определение 3.1. Алгоритм а* е А называется оптимальным на классе F среди алгоритмов множества А, если sups(a*, /) = min sups:(a, /). C.1) Алгоритм а6 е А называется S-оптимальным на классе F среди алгоритмов множества А, если sup e(as, f) < inf sup e(a, f) + 5, S > 0. feF <*ел feF Таким образом, если в роли критерия выступает погрешность решения задачи, то оптимальный алгоритм минимизирует максимальную на классе F погрешность и обеспечивает тем самым достижение наилучшего гарантированного на классе F результата. Пусть F — класс всех унимодальных на X = [а, Ь] функций, А — множество всех пассивных алгоритмов: А = {(хь ..., xN) | х0 = а ^ х\ < х2 < ... < xN = 6} (число вычислений N предполагается заданным). После вычисления значений /(xi), ..., /(x/v) в качестве приближения к точке минимума х* принимается середина отрезка локализации минимума. Критерием будем считать погрешность определения х*, т.е. е(х\, ..., xtv, /) = * _ Xi-l +Х»+1 2 где [xi_i, x;+i] — отрезок локализации. Нетрудно видеть, что sup?(xi, ..., xNy f) = о max (xi+i -Xi_i). f€F I i=l,...,N Теорема 3.1. При N = 2k—l алгоритм из п. 1 § 1 — оптимальный пассивный алгоритм. При N = 2к оптимального пассивного алгоритма не существует, но алгоритм из п. 1 § 1 8-оптимален. Доказательство. Пусть N = 2fc — 1 и существует алгоритм, для которого . max (xi+1 - Xi_i) < —^. C.2) t=l,...,iV AC Тогда b — a b — a b — a X2-Xq<—j—, X4-X2<—?—, ..., X2fc ~X2k-2 < —?— • Складывая эти неравенства, получим, что b — a <b — а. Следовательно, ни для какого алгоритма неравенство C.2) не выполняется, и алгоритм из п. 1 § 1 при N = 2к — 1 оптимален, так как для него, в силу A.1), , Л max (х;,! - х"_!) = ——. i=l,...,ЛГ t+1 г и к
58 Гл. 2. Методы одномерной минимизации Пусть N = 2к и существует алгоритм, для которого max (x;+l ~ %i-i) < ГТТ- C-3) t=l,..., N /с + 1 Тогда ^ Ь — а ^ Ъ — а Ь — а Х2~Хо^-кТ\' Х4~Х2<тт- ¦¦¦' х*-х*-*^-к+т- Складывая эти неравенства, получим, что Х2к^а + к-—-. Отсюда К ~t~ 1 %2к+\ ~ Х2к-\ =Ь- х2к-\ >b-x2k^b- (а + к -г—г) b — a fc+Г что противоречит сделанному предположению C.3). Полученное противоречие вместе со вторым равенством A.1) доказывают 5-опти- мальность алгоритма из п. 1 § 1 при N = 2к. Д Пусть теперь А = {(х\у ..., xn)} — множество всех последовательных алгоритмов, т. е. Xi+\ =Xi+i(x\, . .., Xi, f(x\), ..., f(Xi)), где Xi+\ — произвольная функция указанных аргументов со значениями в X (<= 1, ...,iV- 1). Теорема 3.2. Алгоритм из п. 5 § 1 (метод Фибоначчи) является 8-оптимальным последовательным алгоритмом. Оптимального последовательного алгоритма не существует. Доказательство теоремы можно найти в [12, 28, 35]. Пусть опять А — множество всех пассивных алгоритмов, F = {/ | \f(x) - /(*')! < М \х - х'|; х, х' е X}, е(хи ••-, xN, f) = . min /(х*) - min/(x). Теорема 3.3. Алгоритм из п. 2 § 2 является оптимальным пассивным алгоритмом. Доказательство. В §2 показано, что sup г (*?,..., х^/К М^. C.4) Пусть (xi, . ..,xjv)G Л — произвольный пассивный алгоритм. Тогда выполняется хотя бы одно из неравенств ^ b — а . 6 — а . 6 — а ^ Ь — а , ^6 — а ^3-^2^—^—, ..., X7V -X7V_i ^ —^—, b-XN ? -^-. Действительно, в противном случае, сложив противоположные неравенства, мы получили бы, что Ь — а <Ь — а.
§ 3. Понятие об оптимальных методах поиска экстремума 59 Рассмотрим функцию д(х) = — М min \x-Xi\eF. Для нее д(хг) = 0 (< = 1 ЛГ), i=l'~"N шпд(х) = -М{Х1-а, 2LlJ!Lf 2LZS, ..., ??Z*L, b-xN}< <-мь~а 2N С учетом полученного неравенства имеем sup e(x\f ..., xN, /) ^е(хь ..., xNt д) = feF ь_а = min o(xi) — min о(х) ^ М -тггт-. C.5) Утверждение теоремы является непосредственным следствием неравенств C.4), C.5). Л Теорема 3.4. Алгоритм из п. 2 § 2 оптимален также среди всех последовательных алгоритмов. Теорема содержит на первый взгляд неожиданный результат. В самом деле, алгоритм, оптимальный в множестве, которое значительно шире множества пассивных алгоритмов, должен, казалось бы, гарантировать меньшую погрешность, нежели оптимальный пассивный алгоритм. Доказательство теоремы предоставляется читателю (см. задачу 2). 2. Последовательно-оптимальные алгоритмы. Важное значение имеет понятие последовательно-оптимального алгоритма. Мы не будем давать формального определения, а лишь кратко разъясним суть этого понятия. Начнем с примера, показывающего целесообразность введения нового понятия оптимальности. A 27V — 1 3 5 2N — 3\ 2N'^N~'2N'2N ^ЛГ> отличающийся от алгоритма п. 2 § 2 лишь порядком точек, так же, как и алгоритм п. 2 § 2, оптимален среди всех пассивных и всех последовательных алгоритмов. Предположим, что первые два вычисления дали результаты г ( 1 \ н 1 -/2JV-1\ ., 2N- 1 2N 2N-1 Та- Нетрудно видеть, что в этом случае f(x) = Мх, х е \ктт> 9N ким образом, оптимальный алгоритм предписывает производить оставшиеся вычисления в тех точках, в которых значения функции уже известны. Этот пример показывает, что понятие оптимального алгоритма (определение 3.1) не в полной мере учитывает особенности организации реальных вычислительных процессов. Именно, не все оптимальные алгоритмы извлекают пользу из благоприятных (не наихудших) ситуаций, сложившихся в ходе вычислений. Таким недостатком не обладают определяемые ниже последовательно-оптимальные алгоритмы.
60 Гл. 2. Методы одномерной минимизации Алгоритм называется последовательно-оптимальным, если он оптимален среди последовательных алгоритмов и в любой ситуации, сложившейся после некоторого числа шагов решения задачи, гарантирует наилучшее возможное в данной ситуации значение критерия. Выберем в качестве критерия число шагов алгоритма (т.е. число вычислений значений функции /), позволяющее получить решение с заданной точностью 6. Теорема 3.5. Алгоритм из п. 4 § 2 (метод покрытий) последовательно-оптимален. А Доказательство теоремы предоставляется читателю (см. задачу 5). Кроме минимаксной концепции развиваются и иные концепции оптимальности вычислительных алгоритмов. Например, суть вероятностной концепции состоит в том, что на классе F тем или иным способом задают вероятностную меру Ф. При этом оптимальным называют такой алгоритм а*, для которого \е(а*, /)ФD0 =mjnje(a, /)$(d/). F F ЗАДАЧИ 1. Доказать оптимальность метода Фибоначчи при N = 3, 4. 2. Доказать теорему 3.4. Указание. Если в результате применения произвольного последовательного алгоритма а к функции, тождественно равной нулю, вычисления произведены в точках х\, ..., ж//, то следует рассмотреть результат применения алгоритма а к функции д(х) = — М min \х — ж*|. 3. Найти оптимальный пассивный алгоритм пойо&Г'минимума функции из класса F = {/ | |/(х) - f(x')\ ^Mx\x- х'\, х, х1 е [0, 1/2]; |/(х) - f(x')\ ^ М2 \х - х'\, ж, х1 е [1/2, 1]}. 4. Построить последовательно-оптимальный алгоритм поиска минимума унимодальных функций. Указание. Единственная благоприятная ситуация, которая может сложиться в ходе вычислений, состоит в том, что вновь вычисленное значение минимизируемой функции окажется равным одному из ранее вычисленных значений. 5. Доказать теорему 3.5. Указание. Показать, что в ситуации после г шагов при у\ = = /(#i)> .. •, Vi — f{xi) пассивный алгоритм полного перебора по сетке B.4) гарантирует отыскание экстремума с точностью S и никакой последовательный алгоритм не гарантирует обеспечение такой точности меньше, чем за N{ шагов. А
Глава 3 ОСНОВЫ ВЫПУКЛОГО АНАЛИЗА Выпуклый анализ — раздел математики, в котором изучаются выпуклые множества и выпуклые функции. Понятия и факты выпуклого анализа играют фундаментальную роль в теории и численных методах оптимизации. Они находят широкое применение и в других областях прикладной математики: теории игр, исследовании операций, математической экономике и др. Данная глава служит введением в выпуклый анализ. Приводимые в ней сведения активно используются в последующих главах курса. Отметим, что немало дополнительных фактов представлено в виде задач, в связи с чем их рекомендуется, по крайней мере, просматривать. § 1. Выпуклые множества В этом и следующем параграфах излагаются основы теории выпуклых множеств. 1. Исходные понятия. Определение выпуклого множества уже приводилось в п. 5 § 1 гл. 1. Здесь уместно его напомнить. Определение 1.1. Непустое множество X С Rn называется выпуклым, если Ах1 + A — А)ж2 е X при всех ж1, ж2 е X, А е [0, 1], т.е. если X вместе с любыми своими двумя точками ж1 и ж2 содержит соединяющий их отрезок (см. рис. 1.4 гл. 1). Пустое множество считается выпуклым. Однако в дальнейшем подразумевается, если не оговорено противное, что участвующие в рассмотрениях множества непусты. Примерами выпуклых множеств служат линейное подпространство, одноточечное множество, шар, отрезок, прямая, луч, гиперплоскость, порождаемые ею полупространства, полиэдр (см. п. 5 § 1 гл. 1). Ниже указываются две простейшие операции над выпуклыми множествами, результатом которых являются также выпуклые множества. Теорема 1.1. Пусть I — любое, конечное или бесконечное, множество индексов, Xi (i € /) — выпуклые множества. Тогда их пересечение X = р| Хг выпукло. Доказательство. Пусть ж^ж2^^, А е [0, 1]. По определению пересечения для любого г е I имеем ж1, ж2 ? Xi и, значит, ж = 3 А Г. Сухарев и др
62 Гл. 3. Основы выпуклого анализа = Ах1 + A — Х)х2 е Х{, так как Xi выпукло. Тогда х? р| Х{ = X, т. е. X выпукло. Л г€/ Столь же просто доказывается следующая теорема. Теорема 1.2. Пусть Х\, ..., Хш — выпуклые множества, а\, ..., аш — любые числа. Тогда множество т т y^otjXj = <х \х = y^ajx\ хг е Xi, г = 1, ..., mi, г=1 г=1 называемое линейной комбинацией множеств Х\, ..., Х^, выпукло. В частности, выпуклы сумма и разность выпуклых множеств Х\ и Х2, т.е. множества Хх±Х2 = {х\х = хх±х2, xleX{, х2еХ2}. Важные подклассы выпуклых множеств образуют выпуклые конусы и аффинные множества. Определение 1.2. Множество IcRn называется: 1) конусом, если \х € X при всех х е X, А ^ 0, т. е. если X вместе с любой своей точкой х содержит проходящий через нее луч с началом в нуле (рис. 1.1, а); 2) выпуклым конусом, если X\xl + Х2х2 G X при всех х1, х2 е X, а б Рис. 1.1. Конус (а), выпуклый конус (б) Ai ^ О, Х2^ 0, т. е. если X одновременно является выпуклым множеством и конусом (рис. 1.1,6). Определение 1.3. Множество X С Rn называется аффинным, если Ах1 + A - А)х2 е X при всех х\ х2 е X, А е R, т.е. если X вместе с любыми своими двумя точками хх и х2 содержит проходящую через них прямую (рис. 1.2). Аффинные множества имеют весьма простую структуру: они представляют собой сдвиги линейных подпространств, или множества решений систем конечного числа линейных уравнений, или пересечения конечного числа гиперплоскостей.
§ 1. Выпуклые множества 63 Теорема 1.3. Пусть X — аффинное множество в Rn. Тогда\ 1) при любом х° Е X множество L = X — х° является линейным подпространством, причем L не зависит от выбора х° в Х\ 2) X можно представить в виде X = {х eRn\ Ах = Ъ} = {х eRn\ (aiyx) = biy i = l m}, A.1) где А — матрица размера тхп со строками а\,...,ат, Ь = = (ЬЬ ...,6m)eRm. Указанное в 1) линейное подпространство L называется параллельным аффинному множеству X (рис. 1.2). Доказательство. 1) Ясно, что L — аффинное множество и О б L. Тогда для любых xlt x2 e L, A e R имеем \х{ = Ах1 + A - - А) • О G L, х = 0,5 хх + 0,5 х2 е L, и, значит, х1 + х2 = 2х € L. Таким Рис. 1.2. Аффинное множество и параллельное ему линейное подпространство образом, сумма двух элементов из L и произведение элемента из L на число принадлежат L, т.е. L — линейное подпространство. Пусть L\=X-x\ где х{ е X. Возьмем любую точку х € L. Поскольку хх — х° е L, то х + хх — х° е L и, следовательно, х е L -f + х° — хх = X — хх = L\. Поэтому L С L\. Включение L\ С L доказывается аналогично. Отсюда L\ = L. 2) Известно, что любое линейное подпространство можно представить как множество решений системы однородных линейных уравнений. Пусть L из 1) имеет вид L = {х Е Rn | Ах = 0}. Тогда при 6 = = Ах° получаем A.1). Л Следствие. Любое аффинное множество х Е Rn замкнуто, причем либо X = Rn (в A.1) этому случаю соответствует А = 0, 6 = 0), либо intX = 0, /п. е. X «е имеет внутренних точек. Ясно, что для выпуклых конусов и аффинных множеств справедливы аналоги теорем 1.1, 1.2. В следующем пункте приводятся некоторые другие общие свойства рассматриваемых классов множеств.
64 Гл. 3. Основы выпуклого анализа 2. Комбинации точек и оболочки множеств. Определение 1.4. Пусть х\ ..., хш — точки из Rn. Их линей- m ная комбинация ]Г Х^хг называется: 1) выпуклой, если А» ^ 0, г = 1, ..., т, ]Г А; = 1; г=1 2) неотрицательной, если А» ^ 0, г = 1, ..., т; т 3) аффинной, если ? А; = 1. г=1 Теорема 1.4. Выпуклое множество (выпуклый конус, аффинное множество) содержит всевозможные выпуклые (неотрицательные, аффинные) комбинации своих точек. Доказательство. Утверждение для выпуклого конуса сразу следует из определения 1.2, а для аффинных множеств — из теоремы 1.3. Докажем утверждение для выпуклого множества X. Требуется показать, что для любого га = 1, 2, ... из условий т т x = Y^Kx\ x{eX, Xi^O, i=l,...,m, ^Л* = 1' A.2) г=1 г=1 следует х е X. Проведем индукцию по га. Если га = 1, то высказывание тривиально. Предположим, что оно уже доказано для га = к, и пусть A.2) выполняется при га = к + 1. Если Afc+i = 1, то \\ = ... ... = Хк = 0 и, значит, х = xfc+1 E X. Если же A^+i < 1, то мы можем записать к \ x = (l-Xk+l)x + Xk+lxk+\ где x = J2 ^^^ A-3) г=1 Ясно, что х — выпуклая комбинация точек хх,...,хк. Тогда, по индукционному предположению, хеХ. Поэтому из A.3) с учетом выпуклости X следует х е X. Л Определение 1.5. Пусть X — произвольное множество в Rn. Пересечение всех выпуклых множеств (выпуклых конусов, аффинных множеств) из Rn, содержащих X, называется его выпуклой (конической, аффинной) оболочкой и обозначается через convX (coneX, affX) (рис. 1.3). Для любого XcRn его выпуклая оболочка convX непуста (так как X содержится, по крайней мере, в Rn, являющемся выпуклым множеством) и выпукла в силу теоремы 1.1. При этом если множество Y выпукло и содержит X, то, по определению, convX С Y. Другими словами, convX есть наименьшее (по включению) выпуклое множество, содержащее X. Ясно, что X выпукло в том и только том случае, если convX = X.
§ 1. Выпуклые множества 65 а б в Рис. 1.3. Выпуклая оболочка (а), коническая оболочка (б), аффинная оболочка и параллельное подпространство множества X (в) (аффинная оболочка и линейное подпространство множества X на а, б совпадают со всей плоскостью) Аналогичные замечания можно высказать о соответствии понятий выпуклого конуса и конической оболочки, аффинного множества и аффинной оболочки. Введем еще одну полезную конструкцию, связанную с данным множеством. Определение 1.6. Линейное подпространство, параллельное аффинной оболочке множества X, называется параллельным X и обозначается через LinX (рис. 1.3,в). Таким образом, LinX = aff X — х°, где х° — произвольная точка из X (или даже из affX), причем LinX определяется однозначным образом в силу теоремы 1.3. В дальнейшем полезно иметь в виду следующие простые утверждения. Лемма 1.1. 1) Если х1, х2 G X, то х1 — х2 G LinX; 2) если х G X, ft1, h2 G LinX, c*i, аг G R, mo x + a\hl + a^2 € GaffX; 3) если 0 G X, mo LinX = aff X. Укажем теперь связь оболочек данного множества с соответствующими комбинациями его точек. Теорема 1.5. Выпуклая (коническая, аффинная) оболочка произвольного множества X совпадает с множеством всевозможных выпуклых (неотрицательных, аффинных) комбинаций точек из X. Доказательство. Рассмотрим лишь случай выпуклой оболочки, так как для конической и аффинной оболочек рассуждения аналогичны. Обозначим через Z множество всевозможных выпуклых комбинаций точек из X. Требуется показать, что convX = Z. Проверим, что Z выпукло. Пусть х, у G Z, A G [0, 1]. По определению Z имеем
66 Гл. 3. Основы выпуклого анализа х = y^jjjjx\ где хг е X, /it ^ 0, г=1,...,т, У^ /^ = 1, г=1 г=1 s s y = Y2r)kyk, где yfcGX, 77fc > 0, fc=l,...,s, ^qfc = 1. При этом точка z = Ax + (l-A)y является линейной комбинацией точек х\...,хт, y{,...,ys с неотрицательными коэффициентами \fi\, ..., Xfim, A - A)r/i, ..., A — A)t7s, в сумме равными единице. Иными словами, z — выпуклая комбинация указанных точек из X и, значит, z e Z. Следовательно, Z выпукло. Тогда convX С Z, так как X С Z. В то же время любое выпуклое множество У, содержащее X, содержит и Z в силу теоремы 1.4. Поэтому и пересечение всех таких У, т.е. convX, содержит Z. Таким образом, convX D Z и, значит, conv X = Z. А Данная теорема утверждает, что любая точка из convX пред- ставима в виде выпуклой комбинации каких-то точек из X, число которых конечно, но, вообще говоря, сколь угодно велико. Однако оказывается, что для IcRn это число всегда можно ограничить величиной п+ 1. Данный факт, известный как теорема Каратеодори, является одним из важнейших в конечномерном выпуклом анализе. Для его доказательства потребуется следующее утверждение, которое неоднократно будет использовано и в дальнейшем. Теорема 1.6. Если точка х является неотрицательной комбинацией точек я1, ..., х™, не равных нулю одновременно, то х можно представить в виде неотрицательной комбинации линейно независимой подсистемы этих точек. т Доказательство. По условию х = ^2 \{Хг при некоторых Ai ^ 0, ..., Ат ^ 0. Можно считать, что х1 ф 0, ..., хт ф 0 (в противном случае нулевые точки надо просто исключить из рассмотрения). Если точки х1,...,хт линейно независимы, то теорема доказана. Если же они линейно зависимы, то, по определению, найдутся числа т АИ, .--, Mm, не равные нулю одновременно и такие, что ]? nix1 = 0. г=1 Будем считать, что среди этих чисел есть положительные (в противном случае их следует заменить на числа —/-м, ..., —/хт). Введем а = = min (Xi/fii). Пусть этот минимум достигается на индексе 5. Тогда г: /ii>0 ^ = А» — afjii ^ 0 при всех i = 1, ..., га и 7s = 0. При этом т mm m х = ^2 ^х% ~ aY2 ^х% = 5Z ^{Х% = Y2 ^%х%' г=1 г=1 г=1 г=1 Таким образом, мы представили х в виде неотрицательной комбинации не более чем т — 1 точек из числа исходных. Если они линейно
§ 1. Выпуклые множества 67 независимы, то теорема доказана. В противном случае надо повторить описанную процедуру исключения точек нужное число раз. В «худшем» варианте остается одна точка из числа исходных. Она, будучи ненулевой, составит тривиальную линейно независимую систему. Л Напомним, что в пространстве Rn может быть не более п линейно независимых точек. Поэтому из теорем 1.5, 1.6 непосредственно получаем следствие. Следствие. Пусть X — произвольное множество в Rn. Тогда любую точку из сопеХ можно представить в виде неотрицательной комбинации не более п точек из X. Теперь без труда доказывается упомянутая выше теорема. Теорема 1.7 (Каратеодори). Пусть X — произвольное множество в Rn. Тогда любую точку из conv X можно представить в виде выпуклой комбинации не более п + 1 точек из X. Доказательство. Рассмотрим в пространстве Rn+1 множество А = X х {1}, т.е. совокупность точек вида (х, 1), где х е X. Условие х G convX, т.е. т т x = y^\iXl, хг е Xi, Xi ^ 0, z=l,...,ra, У^ Xj = 1, г=1 г=1 эквивалентно тому, что (х, 1) е сопеД т.е. га (гг, 1) = ^Х{(х\ 1), х{еХг, А;^0, г=1,...,га. г=1 Остается применить к А указанное выше следствие. А Следствие. Если X — компакт в Rn, то convX также является компактом. Доказательство. Рассмотрим декартово произведение У = Л х х X х ... х X, где X берется п + 1 раз, а Л = {леК"+1|А = (Ль...,Лп+1)^0, J> = l}. Ясно, что У — компакт. Введем отображение /: У —> Rn вида f(y) = n+l = ]Г Х{Хг, у = (А, х\ ..., xn+1) E Y. Оно непрерывно на Y. Теоре- г=1 ма 1.7 означает, что convX является образом У при отображении /, т.е. сопуХ = /(У). Но, как известно, образ компактного множества при непрерывном отображении компактен. Л Полезную роль в выпуклом анализе играют следующие два понятия. Определение 1.7. Выпуклая (коническая) оболочка множества, состоящего из конечного числа точек, называется выпуклым
68 Гл. 3. Основы выпуклого анализа а б Рис. 1.4. Выпуклый многогранник (а), многогранный конус (б) многогранником (многогранным конусом), натянутым на эти точки (рис. 1.4). Таким образом, с учетом теоремы 1.5 выпуклый многогранник имеет вид X = conv {xly ..., хт} = т т = {xeRn\x = ^\ix\ А^О, г=1,...,т, J^Ai = 1}' A.4) г=1 г=1 а многогранный конус — вид X = cone {х1, ..., хт} = -{¦ х eRn т ^\х\ Xi>0, » = 1 mj. A.5) г=1 Множество, состоящее из конечного числа точек, является компактом. Поэтому из следствия теоремы 1.7 получаем теорему. Теорема 1.8. Выпуклый многогранник есть компакт. Следующее утверждение интуитивно очевидно, но его доказательство потребует некоторых усилий. Теорема 1.9. Многогранный конус замкнут. Доказательство. Пусть X имеет вид A.5). Сначала предположим, что точки х1, ..., хт линейно независимы. Рассмотрим натянутое на эти точки линейное подпространство т • L= (xeRn\x = Y^^ix\ AiGR, г = 1,...,га} г=1 и линейное отображение F: Rm —> L вида т FW = J2\ix\ A = (Ab...,Am)eRm. г=1 Ясно, что F взаимно однозначно. Тогда обратное к нему отображение F~{: L —> Rm существует, причем оно также линейно. Кроме
§ 1. Выпуклые множества 69 того, F и F непрерывны, как и любые линейные отображения в конечномерных пространствах. Таким образом, F — гомеоморфное (т. е. взаимно однозначное и взаимно непрерывное) отображение. Следовательно, образ любого замкнутого множества в Rm при отображении F замкнут в L, а значит, и в Rn, так как само линейное подпространство L замкнуто в Rn. Заметим теперь, что X = F(R+), где R+ — множество неотрицательных векторов (неотрицательный ортант) в Rm. Поскольку Ry замкнуто, то и X замкнуто. Докажем теорему в общем виде. Если в A.5) все точки я1, ..., хт равны нулю, то X = {0} и утверждение тривиально. В противном случае, согласно теореме 1.6, любая точка из X может быть представлена в виде неотрицательной комбинации линейно независимой подсистемы точек ж1, ..., жт. Это означает, что X есть объединение многогранных конусов, натянутых на всевозможные линейно независимые подсистемы данных точек. Число таких конусов конечно. В силу вышедоказанного все они замкнуты. Следовательно, X замкнуто как объединение конечного числа замкнутых множеств. Л 3. Замыкание и относительная внутренность выпуклого множества. Теорема 1.10. Замыкание X выпуклого множества X выпукло, причем их аффинные оболочки совпадают, т. е. aff X = aff X. Доказательство. Пусть ж, у е X, Л е [О, 1] и z = \x + (l — — Х)у. По определению замыкания существуют последовательности точек хк € X и ук € X (к = 1, 2, ...), сходящиеся к ж и у соответственно, т. е. хк —> ж, ук —> у. Поскольку X выпукло, то zk = Ххк + + A - Х)ук е X при всех к = 1, 2, ..., причем zk —> z. Следовательно, z е X, т.е. ~Х выпукло. Далее, аффинное множество affX замкнуто (следствие теоремы 1.3). Поэтому из соотношения X С aff X следует X с aff X, и значит, aff X с aff X. Обратное включение очевидно. А Как будет ясно из дальнейшего, внутренность intX выпуклого множества X также выпукла. Но для многих множеств в Rn она пуста. Рассмотрим, например, отрезок X на плоскости R2 (см. рис. 1.3, в). Он не имеет внутренних точек. Тем не менее ясно, что в каком-то смысле все точки отрезка, кроме его концов, можно назвать внутренними. Говоря определеннее, они являются внутренними, если рассматривать X как подмножество его аффинной оболочки aff X (в данном случае — прямой) и «забыть» о других точках плоскости. Эти соображения мотивируют следующее важное определение. Определение 1.8. Точка ж множества IcRn называется его относительно внутренней точкой, если Ue(x) П aff X С X при некотором е > 0, т.е. если любая последовательность точек из aff X, сходящаяся к ж, содержится в X, начиная с некоторого номера.
70 Гл. 3. Основы выпуклого анализа Совокупность всех относительно внутренних точек множества X называется его относительной внутренностью и обозначается через riX. Множество X называется относительно открытым, если X = = riX. Лемма 1.2. Если int X ^ 0, то ri = int X. Доказательство. Если intX^0, то тем более intaffX^0. Тогда aff X = Rn в силу следствия теоремы 1.3. В этом случае определения intX и viX просто совпадают. Л Следующая фундаментальная теорема выпуклого анализа показывает, что для выпуклых множеств понятие относительной внутренности является содержательным обобщением понятия внутренности. Теорема 1.11. Относительная внутренность riX любого (непустого) выпуклого множества X С Rn непуста. Доказательство. Сначала предположим, что ОеХ и, значит, affX = LinX (лемма 1.1). Пусть х1,...ухгп — максимальная (по числу га) линейно независимая система элементов множества X. Покажем, что это — базис в LinX, т.е. т LinX = lx€Rn\x = ^2\ix\ A^eR, г=1,...,ш|. г=1 Обозначим правую часть этого равенства через L. Согласно выбору х1,...,жт имеем X С L. Тогда affXcL в силу определения 1.5. В то же время любую точку из L можно рассматривать как аффинную комбинацию точек ж1, ..., хт, 0 из X: mm m ?]А^ = 5]А^+A-^А;)-0. A.6) г=1 г=1 г=1 Поэтому LcaiiX в силу теоремы 1.5. Таким образом, LinX = = affX = L. Рассмотрим теперь линейное отображение F: Rm—>LinX вида т F(A) = ^A^, А = (АЬ ...,Am)eRm, г=1 и множество т A={AeRm|A = (Ab...,Am)>0, ^Ai<l}. г=1 С учетом A.6) при любом А е Л точка F(A) представляет собой выпуклую комбинацию точек х{, ..., жт, 0 из выпуклого множества X, и, значит, F(X) е X (теорема 1.4). Иными словами, F(A) с X. Далее, поскольку отображение F гомеоморфно (см. доказательство теоремы 1.9), а множество Л открыто в Rm, то F(A) — открытое множество
§ 1. Выпуклые множества 71 в Lin X. Иными словами, для любой точки х G F(A) существует число € > О такое, что U?(x) nLinX С F(A) С X, где, напомним, LinX = = aff X. Это означает, что х G riX, т.е. riX ф 0. Пусть теперь 0 0 X. Положим Y = X - х°, где х° G X. Тогда О G Y и, по доказанному выше, существует точка у eiiY. Ясно, что х = у + + x°GriX. Л ? Напомним, что размерностью dimL линейного подпространства L С Rn называется число элементов в его базисе. Определение 1.9. Размерностью dimX выпуклого множества X с Rn называется размерность параллельного ему линейного подпространства LinX. Так, размерность точки (одноточечного множества) равна нулю, размерность отрезка, луча, прямой — единице независимо от размерности пространства, в котором они лежат. Из теоремы 1.11 следует важный критерий «полной» размерности выпуклого множества. Теорема 1.12. Пусть X — выпуклое множество в Rn. Тогда dim X = п в том и только том случае, если int X ф 0. Доказательство. Если dimX = n, то очевидно, что LinX = = Rn и, значит, aff X = Rn. Поэтому intX = riX. Но riX ф 0 в силу теоремы 1.11. В другую сторону утверждение тривиально: если intX^0, то aff X = LinX = Rn и, значит, dimX = п. Л А Укажем теперь одно тонкое свойство замыкания и относительной внутренности выпуклого множества. Теорема 1.13. Пусть X — выпуклое множество, xGriX, yE gI, Ag@, 1]. Тогда z = Хх + A — Х)у G п X. Доказательство. Пусть zk —> z, zk€aHX (fc = 1, 2, ...). Требуется показать, что zk e X при всех достаточно больших к. Поскольку у е X, то существует последовательность точек ук G еХ (fc=l,2, ...), сходящаяся к у. Положим ик = ук—у, vk = = zk — z. Тогда zk = z + vk = Xx + A — X)(yk - uk) + vk. Иными словами, zk = Xxk + A - X)yk, где xk — x + ((A — l)wfc + vk)/X. Поскольку uk G LinX = LinX, vk e LinX, то xk G aff X (лемма 1.1). Так как uk —> 0, vfc —> 0, то хк —> ж. Тогда из условия х G riX получаем, что хк G X и, значит, 2^ G X при всех достаточно больших fc. Л Следствие. Относительная внутренность riX выпуклого множества X выпукла. Доказательство. Это непосредственно следует из теоремы 1.13, если взять там у G riX. Л Следующая теорема будет неоднократно использоваться в дальнейшем.
72 Гл. 3. Основы выпуклого анализа Теорема 1.14. Пусть X — выпуклое множество. Тогда X = х\Х, х\Х _=riX; в частности, если intX^0, то X — int X, int X = int X. Доказательство. Ясно, что X DriX. Пусть у?Х. По теореме 1.11 найдется х G riX. Для любого A G @, 1] положим zx = Ах + + A—А)у. Тогда zAGriX в силу теоремы 1.13, причем lim zx = у. Поэтому у G п X.^Следовательно, X с гГХ, т. е. X = гГХ. Поскольку aff X = aff X (теорема 1.10), то из определения 1.8 следует, что riX с riX. Пусть z G riX. Вновь возьмем х G riX. Для любого а G R положим уа = ах + A - a)z. Тогда уа G aff X и lim ya = а—>0 = z. Отсюда уа G X для достаточно малого по модулю а < 0. При этом z = Ах + A - А)уа, где А = а/{а - 1) G @, 1]. Тогда z G riX в силу теоремы 1.13. Итак, riXcriX, т.е. riX = riX. A Заметим, что условие выпуклости в этой теореме существенно. Если, например, X = [0, 1] U {2}, то X = X, но гГХ = шГХ = [0, 1]. Если Х = @, 1) U A, 2), то riX = intX = X, но riX = intX = = @,2). Ў 4. Неограниченные выпуклые множества. Напомним, что лучом, исходящим из точки х° G Rn в направлении вектора h G Rn, называется множество , п Oh = {x€Rn \x = x°+aht a ^ 0}. Далее нам потребуются следующие геометрически очевидные свойства неограниченных выпуклых множеств. Теорема 1.15. Пусть X — неограниченное замкнутое выпуклое множество в Rn. Тогда: 1) для любой точки х° G X существует ненулевой вектор h G Rn такой, что /+0/i С X; иными словами, из каждой точки множества X исходит некоторый луч, целиком лежащий в X (рис. 1.5); 2) если l^Qh С X при некотором х° G X, то l*h С X при любом х G X; иными словами, если некоторый луч содержится в X, то луч в том же направлении, но с началом в любой другой точке множества X также содержится в X (рис. 1.5). Доказательство. 1) Пусть х° G G X. Из неограниченности X следует существование последовательности точек xk G X (к = 1, 2, ...) такой, что ||xfc|| —> оо. При любых а ^ 0 и fc = 1, 2, ... положим к_ хк-х° хк _ a k _ \k„k , /i \к\„0 Рис. 1.5. Свойства неограниченного замкнутого выпуклого множества hk = х — х \\хк-яР\\' хк = \\хк - х°\\' хк = Хкхк + A-А*)х°.
§ 1. Выпуклые множества 73 Тогда ||/ifc|| = 1 и без ограничения общности можно считать, что последовательность {hk} сходится к некоторому вектору Л=^0. Ясно, что 0 ^ \k ^ 1 при всех достаточно больших fc. С учетом выпуклости X для таких к имеем хк е X. В то же время хк = х° + Хк(хк - х°) — х° + ahk и, значит, хк —> х° + aft. Таким образом, х° + ah G X при всех а ^ 0, т. е. Z+0/i С X. Остается заметить, что X = X, так как X замкнуто. 2) Пусть /+0/i G X и х G X. При любых а ^ О и fc = 1, 2, ... положим . / 1 \ xfc = х° + (afc)ft, хк = ±хк + П - ij х. Тогда xfc G /+0/1 С X и, значит, xfc G X при всех fc = 1, 2, ... В то же время хк = х + (хк - х)/к ='x + ah + (x° - x)/fc и, следовательно, хк —> х + аЛ. Таким образом, x + ahe X = X при всех а ^ О, т. е. &СХ. А Отметим, что в этой теореме условие замкнутости множества X (не говоря уже о выпуклости) отбросить нельзя. Например, для открытой полосы с добавленной граничной точкой оба утверждения теоремы не выполняются. А ЗАДАЧИ 1. Показать, что множество X выпукло в том и только том случае, если Х\Х + Х2Х = (Ai + Х2)Х при всех Ai ^ О, А2 ^ 0. 2. Пусть X — замкнутое множество, причем для любых точек х1, xr G X существует число A G @, 1) такое, что Ах1 + A — - А)х2 G X. Доказать, что X выпукло. Привести пример, показывающий, что условие замкнутости X здесь существенно. 3. Изобразить сумму круга и квадрата на плоскости, разобрав все возможные случаи. 4. Пусть Х\ = {xG R2|xix2 ^ -1, xi <0}, Х2 = {xG R2| xix2 ^ 1, xi > 0}. Найти Хх+Х2. 5. Пусть i4:Rn—>Rm — линейное отображение, X С Rn и У с Rm — выпуклые множества. Показать, что множества А(Х) = = {у G Rm | у = Ах, хеХ} и A~{(Y) = {x G Rn | Ax G У}, т.е. образ X и прообраз У, выпуклы. 6. Пусть Z — выпуклое множество в Rn x Rm. Показать, что его проекция X = {х G Rn | (х, у) G Z, у G Rm} выпукла, причем она компактна, если Z — компакт. Привести пример замкнутого выпуклого конуса, проекция которого незамкнута (для неконусов это очевидно: подходят множества Х\ и Х2 из задачи 4). 7. Пусть Хь 12 - выпуклые множества в Rn x Rm. Показать, что множество X = {(y,z)eRnxICn\(y1zl)eXl, (y,z2)eX2, z{+z2 = z}
74 Гл. 3. Основы выпуклого анализа выпукло (заметим, что в предельных случаях п = 0, га = О соответственно получается X = Х\ + Х2, X = Х\ П Х2). 8. Пусть X\t X<i — выпуклые множества. Показать, что множества П \J(XXi + (l-X)x), (J \J(XXl + (l-X)x), х€Х2Л^1 xGX2A^l называемые полной тенью и полутенью Х\ относительно Х2, выпуклы. 9. Пусть Х\, ..., Хт — выпуклые множества в Rn, P — выпуклое множество в Rm, причем Р С R+. Показать, что множество т р?Р г=1 где р = (рь ..., рт), выпукло. 10. Пусть X — конус в R", причем для любых х, у е X вектор тах{х, у} = (max{xi, y\}, ..., тах{хп, уп}) и аналогично определяемый вектор min{x, у} принадлежат X. Доказать, что X — выпуклый конус. 11. а) Пусть Х\ — произвольное, Х2 — выпуклое, А — ограниченное множества в Rn, причем Х\ + А С Х2 + А. Доказать, что Х\ С Х2. Указание. Для любой точки х Е Х\ рассмотреть последовательность точек ак е А (к = 1, 2, ...), рекуррентно определяемую соотношениями х + ак = яг + afc+1, где х* Е Х2 (к = 1, 2, ..., га, ...), просуммировать первые га соотношений, применить теорему 1.4 и перейти к пределу при га —> со. б) Пусть Х\, Х2 — замкнутые выпуклые, А — ограниченное множества, причем Х\ + А = Х2 + А. Показать, что Х\ = Х2. 12. Пусть X — выпуклый компакт. Доказать следующие утверждения: ж а) если хкеХу Хк>0 (fc=l, 2, ...), ? Afc = 1, то х = оо /с=1 = ? Afcxfc е X; к=\ б) если х(?) — интегрируемая вектор-функция на [0, 1] со значения- 1 ми в X, X(t) — неотрицательная функция на [0, 1] и J X(t)dt = 1, то 1 о х = jX(t)x(t)dteX. о 13. Точки х1, ..., хш из Rn называются аффинно зависимыми, если существуют числа Аь ..., Ат, не равные нулю одновременно и т га такие, что ? А*х* =0, ? А; = 0. Показать, что следующие утвержде- i=l г=1 ния эквивалентны: а) х1, ..., хш аффинно зависимы; б) х2 - х1, ..., хт — хх линейно зависимы; в) (х1, 1), ..., (хт, 1) линейно зависимы.
§ 1. Выпуклые множества 75 Вывести отсюда, что максимальное число аффинно независимых точек в Rn равно п + 1. 14. Доказать теорему Хелли в следующих двух ее вариантах. а) Пусть ra^n+1, X\, ..., Хт — выпуклые множества в Rn, каждые п + 1 из которых имеют общую точку. Тогда все они имеют общую точку. Указание. При га = п+1 теорема тривиальна; при т>п+ 1, пользуясь индукцией по га, для любого i = 1, ..., т рассмотреть точку ж\ принадлежащую всем га множествам, кроме X*; согласно зада- т т че 13 точки х\ ..., хш аффинно зависимы, т. е. ^ \{Х1 = О, ]Г) А; = 0 г=1 г=1 при некоторых Ль ..., Ат, не равных нулю одновременно; показать, что точка х = J2 \iXlI J2 Аг — общая для Х\, ..., Хш. i:\i>0 г:Аг>0 б) Пусть / — бесконечное множество индексов, Xi (г ЕI) — выпуклые компакты в Rn, каждые п + 1 из которых имеют общую точку. Тогда все они имеют общую точку. 15. Пусть Х\, ..., Хт — произвольные множества. т / т \ т / т \ Показать, что J2 conv X* = conv г=1 М=1 ' г=1 М=1 ' т / m \ но ]П cone Xi = cone ( (J Xi). г=1 4=1 ' 16. Пусть Х\, ..., Хт — выпуклые множества. Показать, что mm m conv(\Jxi\ = L\x = '22\iXit x'eXi, Ai^O, ^Ai = l}. г=1 г=1 г=1 17. Пусть X — выпуклое множество. Показать, что сопеХ = = {х | х = Ах', А ^ 0, ж' G X}. 18. Пояснить геометрический смысл теоремы 1.7 (Каратеодори) на примере выпуклого многогранника. Для аффинной оболочки результат, аналогичный этой теореме, справедлив, но его можно усилить. Каким образом? 19. Привести примеры, показывающие, что выпуклая оболочка замкнутого множества и коническая оболочка выпуклого компакта не обязательно замкнуты. 20. Пусть X — выпуклый компакт и 0 g X. Показать, используя задачу 17, что сопеХ — замкнутое множество. 21. Показать, что выпуклая оболочка открытого множества открыта. 22. Показать, используя задачу 15, что сумма выпуклых многогранников (многогранных конусов) также является выпуклым многогранником (многогранным конусом). 23. Пусть Х\ и Хг — выпуклые множества. Привести пример, показывающий, что из условия Х\ с Х2 не следует riXj С пХг. Доказать, 4toj_ а) если Xj С Хг и Х\ ПпХг Ф 0, то riXj с пХг;
76 Гл. 3. Основы выпуклого анализа б) если riX2 С Xj С Х2, то riXi = riX2. Указание. Здесь и в задачах 24, 25 использовать теорему 1.13. 24. Пусть Х\ и Х2 — выпуклые мужества, причем ri Xi П П п Х2 ф 0. Доказать, что XiflX2 = Xi П Х2, ri (X! П Х2) = ri Xi П ПХ2. Привести пример, показывающий, что условие riXi ПпХ2 ф 0 здесь существенно. 25. а) Пусть A: Rn —> Rm — линейное отображение, X — выпуклое множество в Rn. Доказать, что rii4(X) = i4(riX). б) Пусть Xi и Х2 — выпуклые множества. Показать, что ri(Xi + + Х2) =riXi +riX2. 26. Пусть X — выпуклое множество. Показать, что aff(riX) = = affX. Указание. Использовать теоремы 1.10 и 1.14. 27. Напомним, что множество 9X = X\intX называется границей множества X. Назовем множество тдХ = X\riX относительной границей X. Доказать следующие утверждения: а) тдХ = дХ в том и только том случае, если intX ф 0; б)гс?Х = 0 в ТЪм и только том случае, если X — аффинное множество; B)r0X = rdX = r0(riX); г) если X ограничено, то любой луч, проведенный из точки х G ri X и лежащий в aff X, пересекает тдХ в единственной точке. 28. Выпуклая оболочка m + 1 аффинно независимых точек (см. задачу 13) называется m-мерным симплексом. Показать, что: а) размерность m-мерного симплекса (в смысле определения 1.9) равна га; б) размерность выпуклого множества X совпадает с максимальной размерностью симплексов, лежащих в X. 29. Доказать следующие утверждения: а) любые два компактных выпуклых множества с одинаковой размерностью гомеоморфны, т. е. существует взаимно однозначное и взаимно непрерывное отображение одного на другое; б) любое открытое выпуклое множество в Rn гомеоморфно Rn. 30. Пусть X — неограниченное выпуклое множество. Доказать следующие утверждения: а) если при некоторых х G riX, h еКп выполняется l+h С X, то в действительности l*h С riX; б) для любой точки х е ri X существует вектор h ф 0 такой, что UcriX. Указание. Использовать теоремы 1.13 и 1.15. 31. Множество К(Х) = {h \ l+h с X при некотором х е X} называется рецессивным конусом выпуклого множества X. а) Доказать, что К(Х) — замкнутый выпуклый конус, причем K(X) = K(X) = K(iiX). б) Описать К(Х)9 если X = {х ? R2 | х2 > *?}, X = {х € R2 | x\x<i ^ 1, х\ > 0}.
§ 2. Теоремы отделимости и их некоторые приложения 77 § 2. Теоремы отделимости и их некоторые приложения В этом параграфе излагаются теоремы отделимости выпуклых множеств (п. 2), а затем рассматриваются некоторые их приложения, относящиеся к теории линейных неравенств (п. 3) и собственно теории выпуклых множеств (пп. 4-6). Немало применений этих важнейших теорем выпуклого анализа встретится и далее в курсе. В частности, теория необходимых условий оптимальности (гл. 4) может рассматриваться как развернутое следствие теорем отделимости в форме, которая будет им придана в § 5 данной главы. Начнем с одного понятия, которое окажется весьма полезным при выводе упомянутых теорем. 1. Проекция точки на множество. Определение 2.1. Проекцией точки a G Rn на множество IcRn называется точка 7гх(а) е X такая, что ||7гх(а) - а\\ ^ < \\х - а\\ при всех х е X, т. е. точка, ближайшая к а среди всех точек из X (рис. 2.1). Ясно, что 7гх(а) = а, если a G е X. Если же а Ф X и X открыто, то проекция 7гх(а) не существует. Наиболее содержательный случай описывает следующая лемма. Лемма 2.1 Пусть X — замкнутое выпуклое множество, а 0 X. Тогда проекция 7гх(а) существует и обладает следующими свойствами: (пх(а) ~~ а> х ~~ жх(а)) ^ 0 при всех х G X, B.1) (пх(а) ~~ а> х — а) ^ ||тгх(а) — а||2 > 0 при всех xGl, B.2) т.е. угол между векторами тгх(а) — а и х — тгх(а) не тупой, а между векторами 7гх(а)—а и х — а «с запасом» острый1) (рис. 2.1). Доказательство. Рассмотрим произвольную точку х е X, число R = \\х - а\\ и множество X = {х € X \ \\х - а\\ < R}. Это множество непусто, замкнуто и ограничено. Тогда, по теореме 1.1 (Вейерштрасса) гл. 1, точка минимума непрерывной функции f(x) = = ||х — а\\ на X существует. Из определения X ясно, что эта же точка будет точкой минимума функции / на множестве X. Таким образом, проекция 7гх(а) существует. Ради краткости положим х* — 7гх(а). Для Рис. 2.1. Проекция точки на множество и ее свойства 1) Напомним, что углом между векторами х и у из Rn называется число <р такое, что cosy? = ]^Ц^ @ ^ (р ^ тг).
78 Гл. 3. Основы выпуклого анализа любых х е X и Л е [О, 1], используя выпуклость X, определение 2.1 и простые свойства скалярного произведения, имеем ||х* - а\\2 ^ ||Ах + A - А)х* - а\\2 = \\(х* - а) + А(х - х*)||2 = = ||х* - а\\2 + 2А(х* - а, х - х*) + А2||х - х*||2. Отсюда 2(х* — а, х — х*) + А||х — х*|| ^ 0. Переходя здесь к пределу при А —> 0, получаем B.1). Чтобы вывести B.2), достаточно добавить ±а во второй член скалярного произведения из B.1) и заметить, что заведомо ттх(а) ф а, так как а ? X, ттх(а) е X. Л 2. Теоремы отделимости. Определение 2.2. Множества Х\ и Х2 из Rn называются: 1) отделимыми, если существуют ненулевой вектор р ? Rn и число /3 такие, что (р, х1)>/3>(р, х2) при всех х1 G Хь х2 G Хг; B.3) 2) собственно отделимыми, если существуют р и /? такие, что выполняется B.3) и, кроме того, (р, х1) > (р, х2) при некоторых х1 е Х\, х2 € Х2', B.4) 3) сильно отделимыми, если существуют р и /3 такие, что inf (р, х1) > /3 > sup (р, х2). B.5) *'€*1 х*€Х2 Напомним, что множество вида HpP = {x?Rn\(p, х) = /3}, р^О, называется гиперплоскостью, а множества Н+, = {х € Rn | (р, х) > /?}, Я^ = {* е R" | (р, *> < /3} — полупространствами, ею порождаемыми. Таким образом, отделимость множеств Х\ и Х% означает, что их можно поместить в разные полупространства, порождаемые некоторой гиперплоскостью Нрр, т.е. х\ с Н^, Х2 С Н~р (рис. 2.2,а-д). При этом говорят, что гиперплоскость Нрр разделяет Ii и Хг; саму гиперплоскость называют разделяющей. При собственной отделимости исключается вырожденный случай, когда оба множества лежат в разделяющей их гиперплоскости (рис. 2.2, д). Интуитивно ясно, что выпуклые множества Х\ и Х2 собственно отделимы в том и только том случае, если их относительные внутренности не пересекаются (рис. 2.2, а-г). Эта основная теорема отделимости будет доказана ниже (теорема 2.3). В частности, отсюда следует, что непересекающиеся выпуклые множества всегда отделимы. Отметим, что для произвольных множеств подобное утверждение несправедливо (рис. 2.2, е).
§ 2. Теоремы отделимости и их некоторые приложения 79 Рис. 2.2. К понятию отделимости Сильная отделимость означает, что множества находятся на положительном расстоянии от разделяющей их гиперплоскости, а также друг от друга (рис. 2.2, а). В самом деле, напомним, что расстоянием между множествами Х\ и Х2 называется число Р(ХиХ2)= inf II*1-*2!!. Допустим, что выполняется B.5). Тогда р ф 0, а число г = inf (р, х1) — sup (р, х2) = inf (р, хх - х2) *{€Х\ х2ех2 x^xlfx^ex2 положительно. Для любых х1 е Х\, х2 е Х2, используя неравенство Коши-Буняковского, имеем е < (р, х1 -х2) ^ ||р|| Цх1 — х2||. Отсюда р(Х\, Х2) ^ е/||р|| > 0. Аналогично выводится, что р(Х\, Нрр) > 0 и р(Х2, Нрр) > 0. Оказывается, для выпуклых множеств Х\ и Х2 условие p(Xi, X2) > 0 является не только необходимым, но и достаточным условием сильной отделимости. Теорема 2.1. Выпуклые множества Х\ и Х2 сильно отделимы в том и только том случае, если расстояние между ними положительно. Доказательство. Пусть р(Х\, Х2) > 0. Рассмотрим множество X = Х\ — Х2- Оно выпукло (теоремы 1.2, 1.10) и замкнуто. Из условия
80 Гл. 3. Основы выпуклого анализа р(Х\, Х2) > 0 следует, что 0 ^ X. Пустьр = 7гх@) — проекция точки О на X. Из B.2) следует, что (р, х) ^ ||р||2 > 0 при всех х е X. Отсюда inf (р, х1 — х2) > 0 и, значит, inf (р, xx) > sup (р, х2). х*€Х\,х2ех2 х1еХ\ х2ех2 При любом /?, лежащем строго между этими двумя числами, получаем B.5), т.е. множества Х\ и Х2 сильно отделимы. В обратную сторону теорема уже была доказана выше. Л Следствие 1. Пусть Х\ и Х2 — замкнутые выпуклые множества в Rn, причем хотя бы одно из них ограничено и Х\ П Х2 = 0. Тогда они сильно отделимы. Доказательство. Легко проверяется, что при указанных условиях р{Х\, Х2) >0. Л Отметим, что условие ограниченности Х\ или Х2 здесь существенно (см. рис. 2.2, в). Следствие 2. Пусть X — замкнутое выпуклое множество в Rn, а — точка, не принадлежащая X. Тогда X и а сильно отделимы, т. е. существуют вектор р G Rn и число C такие, что inf (р, х) > /3 > (р, а). х?Х Доказательство. Это утверждается следствием 1 при Х\ = X, Х2 = {а}. Л _ Напомним, что множество дХ = X\intX называется границей, а его точки — граничными точками множества X. Назовем множество гдХ = X\viX относительной границей, а его точки — относительно граничными точками X. Если intX^0 и, значит, intX = riX (лемма_1.2), то гдХ = дХ\ если же intX = 0, то множества хдХ и дХ = X существенно различаются. Например, относительная граница отрезка на плоскости состоит из его концов, а граница — из самого отрезка. Определение 2.3. Гиперплоскость Нрр называется: 1) опорной к множеству X С Rn в точке а ? дХ, если а лежит а б в Рис. 2.3. К понятию опорной гиперплоскости в Нрр, а X — в одном из полупространств, порождаемых Нрр, скажем, в#+0,т.е. (р, х) ^ C = (р, а) при всех х G Х\ B.6)
§ 2. Теоремы отделимости и их некоторые приложения 81_ 2) собственной опорной к X в а, если, кроме того, X не содержится в Нрру т. е. (р, х) > /3 при некотором х е X. B.7) Так, среди опорных гиперплоскостей, изображенных на рис. 2.3, собственными являются первая и третья. Теорема 2.2. 1) В любой граничной точке а выпуклого множества X С Rn существует опорная гиперплоскость', 2) в любой относительно граничной точке а выпуклого множества X существует собственная опорная гиперплоскость. Доказательство. Сначала докажем утверждение 2) в предположении, что X замкнуто. Согласно определению 1.8 условие ае е тдХ = X\viX означает, что существует последовательность точек ak e aff X \Х (к = 1, 2, ...) сходящаяся к а. Введем векторы Из B.2) следует, что (рк, х) > (pfc, ак) при всех х е X. B.8) Поскольку \\рк\\ = 1, то без ограничения общности, можно считать, что рк —> р ф 0. Тогда, переходя к пределу в B.8), получаем B.6). Далее, пусть xeriX, т.е. Ue(x) RaffX С X при некотором е > 0. Рассмотрим точку х = х — ер. Заметим, что рк eLinX (лемма 1.1). Но линейное подпространство LinX замкнуто. Поэтому ре LinX, a тогда xGaffX (лемма 1.1). Кроме того, xeUe(x), так как ||р|| = = 1. Таким образом, х е Ue(x) П aff X с X. Подставляя эту точку в B.6), получаем (р, х) = (р, х) - € ^ /?, т.е. (р, х) > C. Следовательно, выполняется B.7) в действительности при любом xGriX (ср. с рис. 2.3, а, в) Итак, утверждение 2) в случае замкнутого X доказано. В общем случае следует применить вышеприведенные рассуждения к замыканию X. Необходимо лишь учесть, что riX = riX (теорема 1.14) и поэтому тдХ = idlC. Для доказательства утверждения 1) рассмотрим два случая: intX = 0 и intX^0. Если intX = 0, то affX^RT1 (обратное с учетом теоремы 1.11 означало бы, что intX = riX^0). Тогда aff X является пересечением некоторого числа гиперплоскостей (теорема 1.3). Любая из них служит опорной (но не собственной опорной) к X в любой точке а е дХ = X. Если же intX^0, то дХ = тдХ и можно воспользоваться утверждением 2). Л Теперь мы готовы доказать основную теорему отделимости, упомянутую ранее. Теорема 2.3. Выпуклые множества Х\ и Х% собственно отделимы в том и только том случае, если их относительные внутренности не пересекаются.
82 Гл. 3. Основы выпуклого анализа Доказательство. Пусть пХ\Г\пХ2 = 0. Рассмотрим множество X = hX\ - riX2. Оно выпукло в силу следствия теоремы 1.13. При этом 0 ? X. Возможны два случая: О^Х и ОеХ\ХсгдХ. Применяя в первом случае следствие 2 теоремы 2.1, а во втором — утверждение 2) теоремы 2.2, получаем, что существует вектор р, для которого (р, х) ^ (р, 0) = 0 при всех х G X, причем для некоторого х € X здесь стоит строгое неравенство. Иными словами, с учетом определения множества X имеем (р, х1) ^ (р, х2) при всех a^EriXi, x2GriX2, B.9) причем для некоторых х1 G ri Х\ и х2 G ri Х2 здесь стоит строгое неравенство, т.е. выполняется B.4). Далее, поскольку предельный переход не нарушает нестрогих неравенств, то в B.9) множества riXi и riX2 можно заменить на их замыкания. Но Х\ С riXi, X2 С riX2 в силу теоремы 1.14. Таким образом, в B.9) можно просто поставить Х\ и Х2. Поэтому inf (р, х1) ^ sup (p, х2). При любом /?, лежащем *leXi Х2€Х2 между этими двумя числами (например, равном одному из них), получаем B.3), что и доказывает теорему в одну сторону. Пусть теперь Х\ и Х2 собственно отделимы, т. е. при некоторых р и /3 выполняются соотношения B.3), B.4). Допустим, что существует х G riXj flriX2. Рассмотрим столь малое по модулю а < 0, что х1 = х + &(х1 — х) G Х\, х2 = х -f а(х2 ~ х) ^ -^2» где х1 и х2 взяты из B.4). Тогда, очевидно, (р, х1) < (р, х2), что противоречит B.3). Таким образом, riXi firiX2 = 0. Л 3. Системы линейных неравенств и уравнений. В качестве первого примера использования теории отделимости получим следующее утверждение, играющее важную роль в теории оптимизации. Теорема 2.4 (Фаркаша) 1). Пусть даны матрица А размера т х п и вектор Ъ G Rm. Тогда имеет решение одна и только одна из следующих двух систем: Ах = Ъ, х^О (xGRn) B.10) или рА>0, (р, Ь)<0 (pGRm). B.11) Доказательство. Если допустить, что одновременно существуют решение х системы B.10) и решение р системы B.11), то получаем противоречие: 0 > (р, Ъ) = (р, Ах) = (рА х) > 0. B.12) О Иногда это утверждение называют леммой Минковского-Фаркаша.
§ 2. Теоремы отделимости и их некоторые приложения 83 Допустим теперь, что система B.10) не имеет решения. Это означает, что вектор Ь не принадлежит множеству T = {yeRm\y = Ax, х^О}, т. е. многогранному конусу, натянутому на вектор-столбцы матрицы А. Это множество замкнуто (теорема 1.9) и выпукло. Тогда, по следствию 2 теоремы 2.1, существует вектор р Е Rm такой, что (Р> У) > (Р> Ь) при всех у G У, иными словами, (р, Ах) = (рА, х) > (р, Ь) при всех х ^ 0. Поскольку все координаты вектора х могут принимать здесь сколь угодно большие положительные значения, то рА ^ 0. Если же взять х = 0, то получаем (р, Ь) < 0. Таким образом, р — решение системы B.11). Л Из теоремы Фаркаша можно вывести ряд других аналогичных результатов. Отметим один из них (другие см. в задачах 13-17). Теорема 2.5. Пусть даны матрица А размера тхп и вектор Ь е Rm. Тогда имеет решение одна и только одна из следующих двух систем: Л , , Л„ч Ах^Ь (xeRn) B.13) или М = 0, <р,Ь)<0, р^О (pERm). B.14) Доказательство. С помощью цепочки, аналогичной B.12), легко показать, что эти системы не могут иметь решение одновременно. Допустим, что система B.14) не имеет решения. Тогда, очевидно, не будет иметь решения система рА = 0 <р, Ь) = -1 <=* ~АТ] Г 0 Р ^ 0 р ^ 0, где Ат — транспонированная к А матрица. Система, стоящая здесь справа (эквивалентная левой системе), имеет вид B.10). Следовательно, по теореме 2.4 существует вектор (х, A) G Rn x R такой, что Ат' (*,А) ^0 <(*, А), @, -1)><0 Ах + Xb ^ 0 А>0. Отсюда заключаем, что х = —х/Х — решение системы B.13). Л Из теоремы 2.5 следует одно важное свойство задач линейного программирования (ЛП).
84 Гл. 3. Основы выпуклого анализа Теорема 2.6. Если в задаче ЛП на минимум, (максимум) допустимое множество непусто, а целевая функция на нем ограничена снизу (сверху), то эта задача имеет решение. Доказательство. В силу сказанного в п. 9 § 1 гл. 1 достаточно доказать утверждение для задачи ЛП, заданной, например, в основной форме (с, х) —» min, х € X, где X = {х е Rn | Ах ^ Ь}, причем А — матрица размера тхп, b e Rm. Итак, пусть X ф 0 и а = inf (с, х) > — оо. Допустим, что х&Х данная задача не имеет решения; иными словами, не имеет решения система Ах > b \-А 1 с X ^ ~-Ь] а (с, х) ^ а Тогда, по теореме 2.5, существует вектор (р, A) G Rm x R такой, что -А) О рА = Ас (р, Ь) > Ха р^О, А^О. (Р. А) ((р, А), (-6, а)) < О (р, А) ^ О Отсюда для любого я е X получаем А(с, ж) = (рА, х) = (р, Ах) ^ (р, Ь) > Аа. Следовательно, А > 0 и inf (с, ж) ^ (р, Ь)/А > а, но это противоречит х?Х определению а. Л Подчеркнем, что в этой теореме допустимое множество задачи ЛП не предполагается ограниченным. Для нелинейных задач аналогичное утверждение, разумеется, неверно. Например, функция f(x) = ex ограничена снизу на R, но не достигает минимума. Мы продолжим тему, связанную с применением теорем отделимости к теории неравенств, в § 5 данной главы. Т 4. Крайние точки выпуклого множества. В теории выпуклых множеств важное место занимает следующее понятие. Определение 2.4. Точка х выпуклого множества X называется крайней (иногда говорят — угловой, или экстремальной), если ее нельзя представить в виде х = \х1+(\-\)х2, где х1,х2еХ, ххфх2, 0 < А < 1. B.15) Совокупность всех крайних точек множества X обозначим через Е(Х).
§ 2. Теоремы отделимости и их некоторые приложения 85 Говоря геометрическим языком, точка х — крайняя в Ху если ее нельзя поместить внутрь отрезка, концы которого лежат в X. Например, у треугольника крайними точками являются его вершины, у луча — начало, у круга — все точки окружности. Прямая, гиперплоскость, вообще любое аффинное множество (кроме одноточечного) крайних точек не имеют. Нетрудно показать, что крайними могут быть только относительно граничные точки множества. Поэтому относительно открытое (в частности, открытое) множество также не имеет крайних точек. Опираясь на утверждение 2) теоремы 2.2, опишем основную конструкцию доказательств двух нижеследующих теорем. Лемма 2.2. Пусть X — замкнутое выпуклое множество в Rn, х* — относительно граничная точка X, т.е. х* ? тдХ = Х\пХ, Я = Нрр — собственная опорная к X в х* гиперплоскость у т. е. (р, х) > /3 = (р, х*) при всех х Е Ху B.16) (р,х)>C при некотором х Е X. B.17) Положим X* = XПН (рис. 2.4). Тогда: Н* 1) любая крайняя точка в X* явля- рис 2 4 к лшме 2 2 ется крайней и в А, т. е. Е(Х*) С Е(Х)\ 2) dimX* < dimX, где напомним, dim обозначает размерность множества (определение 1.9). Доказательство. 1) Пусть х е Е(Х*), но х ? Е(Х), т.е. х можно представить в виде B.15). Тогда, используя B.16), получаем Р = (р, х) = А(р, х1) + A - А)(р, х2) > А/3 + A - А)/? = /3. Здесь слева и справа стоит одно и то же число /3. Поэтому знак неравенства может выполняться только как равенство. Отсюда (р, х1) = = (р, х2)=/3, т.е. х\ х2 е XПН = X*. Вместе с B.15) это означает, что х?Е(Х*). Противоречие. Следовательно, х е Е(Х), т.е. Е(Х*) С Е{Х). 2) Положим М = aff X, М* = aff X*. Тогда М* с М и М* С Я, так как X* с X и X* С Я. Допустим, что М* = М. Тогда X с М = = М* С Я и, значит, (р, х) = /3 при всех х € Ху а это противоречит B.17). Следовательно, М^М*. Параллельные подпространства L = LinX и L*=LinX* связаны теми же соотношениями: L* С L, но L* ф L. Поэтому базис в L имеет по крайней мере на один вектор больше, чем в L*y т.е. dimL* <dimL. Но по определению 1.9 dimX = dimL, dimX* = dimL*. Л Укажем теперь критерий существования крайней точки. Теорема 2.7. Пусть X — замкнутое выпуклое множество в Rn. Тогда X имеет хотя бы одну крайнюю точку (Е(Х) ф 0) в том
86 Гл. 3. Основы выпуклого анализа и только том случае, если X не содержит прямых, т. е. множеств вида п lx*h = {х G Rn | х = хи + a/i, a € R}, где х° е Rn, he Rn, h ф 0. Доказательство. Пусть существует х е Е(Х), но lxoh С X при некоторых х° и h ф 0. Тогда 1хь С X в силу теоремы 1.15, примененной по отдельности к лучам l^h и /J _h. В частности, х1 = = х + h е X и х2 = х — he X. При этом х = 0,5 х1 -f 0,5 х2, х1 ^ х2, т.е. х^Е(Х). Полученное противоречие доказывает теорему в одну сторону. Предположим теперь, что X не содержит прямых. Покажем, что Е(Х) ф 0 путем индукции по размерности X. Если dimX = 0 и, значит, X = {х*} — одноточечное множество, то Е(Х) = {х*} ф 0. Пусть уже доказано, что Е(Х) ф 0 при dimX<ra, и пусть dimX = m. Выберем какую-нибудь точку х* е тдХ. (Ясно, что тдХ ф 0, так как любая прямая, проходящая через две различные точки множества X, пересекает его относительную границу по крайней мере в одной точке, иначе бы эта прямая целиком лежала в X.) Рассмотрим множество X* из леммы 2.2. Оно замкнуто, выпукло и как подмножество X не содержит прямых. При этом dimX* < m. Тогда, по индуктивному предположению, Е(Х*) Ф 0. Но Е(Х*) С Е(Х). Поэтому Е(Х) ф 0. Л Следующая важная теорема показывает, что выпуклый компакт может быть восстановлен по его крайним точкам. Теорема 2.8. Пусть X — выпуклый компакт в Rn. Тогда X = convЕ(Х), т.е. X совпадает с выпуклой оболочкой множества своих крайних точек. Иными словами, любая точка из X является выпуклой комбинацией некоторого числа крайних точек X (теорема 1.5), причем это число всегда можно ограничить величиной п+ 1 (теорема 1.7). Доказательство. Проведем индукцию по dimX. Если dimX = = 0, то теорема очевидна. Пусть она уже доказана при dimX<m и пусть dimX = m. Для произвольной точки х* етдХ рассмотрим множество X* из леммы 2.2. В данном случае X* — выпуклый компакт. При этом dimX*<m. Тогда, по индуктивному предположению, X* = conv?(X*). В частности, х* е convE(X*). Но Е{Х*) С СЕ(Х). Поэтому х* е convE(X). Итак, тдХ CconvE{X). Рассмотрим теперь произвольную точку x*GriX и какой-нибудь вектор he eLinX. Тогда прямая 1х*н лежит в affX (лемма 1.1). Ясно, что ее пересечение с X представляет собой отрезок с концами, лежащими на относительной гра- Рис. 2.5. К доказательству Нице X (рис. 2.5). Иными словами, теоремы 2.8 ix.h п X = conv {х1, х2}, где х1, х2 G тдХ.
§ 2. Теоремы отделимости и их. некоторые приложения 87 Следовательно, х* G conv {ж1, х2} С conv(rdX) С conv (convE(X)) = = convJ5(X). Таким образом, riX С convЕ(Х) и окончательно X — = тдХП riXcconv?(X). Обратное включение conv Е(Х) С X с самого начала очевидно, так как Е(Х) с X и X выпукло. Л 5. Сопряженные множества. Определение 2.5. Сопряженным (иногда говорят — двойственным) к данному множеству X С Rn называется множество X* = {peRn\ (p, х)>-\ при всех х G X}. B.18) Ясно, что сопряженное множество всегда замкнуто, выпукло и содержит нуль. Множество r* = (I*)* = {xGRn|(x, p)>-\ при всех реХ*} называют вторым сопряженным к множеству X. Приведем один из основных результатов теории сопряженных множеств. Теорема 2.9. Пусть X — произвольное множество в Rn. Тогда X** = conv (X П {0}), т. е. второе сопряженное множество к X совпадает с замыканием выпуклой оболочки объединения X с нулем. Доказательство. Обозначим У = conv (X U {0}). Если х е X, то, по определению X*, имеем (р, х) ^ — 1 при всех р G X*. Но это же означает, что х е X**. Таким образом, X С X**. Отсюда Y С X**, так как, согласно отмеченному выше, множество X** замкнуто, выпукло и содержит нуль. Допустим, что обратное включение X** С Y не выполняется, т. е. существует а е Х**\У. Тогда, по следствию 2) теоремы 2.1, найдутся вектор р и число /3 такие, что (р, х) > C > (р, а) при всех х G У. Поскольку х = 0 G У, то /3 < 0. Следовательно, (р, х) > — 1 > (р, а) при всех х G У, B.19) где р= —р//3. Из первого неравенства в B.19), справедливого, в частности, для всех х ? X С У, следует, что р G X*. Тогда (р, а) ^ — 1, так как a G X**. Но это противоречит второму неравенству в B.19). Таким образом, X** с У и, значит, X** = У. Л Выделим важный частный случай теоремы 2.9, когда ее утверждение принимает особо простой и изящный вид. Теорема 2.10 (теорема двойственности выпуклых множеств). Пусть X — замкнутое выпуклое множество, содержащее нуль. Тогда X** = X.
88 Гл. 3. Основы выпуклого анализа Доказательство. В данном случае conv (X U {0}) = convX = = Х = Х. Л Таким образом, все множества, обладающие указанными свойствами, распадаются на взаимосопряженные (взаимодвойственные) пары. Отметим, что замкнутые выпуклые конусы и, в частности, линейные подпространства удовлетворяют условиям теоремы 2.10. Полезно уточнить вид сопряженных к ним множеств. Лемма 2.3. 1) Если X — конус в Rn, то X* = {р е Rn | (р, х) ^ 0 при всех х е Х}\ B.20) 2) если X — линейное подпространство в Rn, то X* = {peRn | (р, х) =0 при всех х е X}. B.21) Доказательство. Обозначим правую часть в B.20) через Y. Сопоставляя Y с X* (см. B.18)), получаем УсР. Докажем обратное включение. Пусть р е X*. Поскольку X — конус, то Хх е X при всех х е X и А > 0. Тогда (р, Ах) ^ — 1 и, значит, (р, х) ^ — 1/А. Переходя здесь к пределу при А —> оо, имеем (р, х) ^ 0 при всех х е еХ, т.е. peY. Таким образом, X* с У, что и доказывает B.20). Чтобы вывести B.21), достаточно заметить, что для линейного подпространства X из условия х е X следует — х е X, и поэтому неравенство в B.20) может выполняться только как равенство. Д Таким образом, множество, сопряженное к конусу X, также является конусом и состоит из всех векторов р, составляющих нетупой угол с любым вектором х е X (рис. 2.6, а). Множество, сопряженное к линейному подпространству X, также является линейным подпространством и состоит из всех векторов р, ортогональных к любому вектору х е еХ (рис. 2.6,6). Напомним, что в линейной алгебре такое линейное Рис. 2.6. Сопряженный конус (а), сопряженное (ортогональное) линейное подпространство (б)
§ 2. Теоремы отделимости и их некоторые приложения 89 подпространство называется ортогональным к X и обозначается через XL. При этом известно, что повторный переход к ортогональному подпространству приводит к исходному линейному подпространству X, т.е. X-LX = X. Таким образом, теоремы 2.9, 2.10 являются далекими обобщениями этого элементарного факта через понятие сопряженного множества. 6. Эквивалентность понятий полиэдрального и многогранного множеств. Напомним определение полиэдра (полиэдрального множества), уже приводившееся ранее (см. п. 5 § 1 гл. 1). Определение 2.6. Множество IcRn называется полиэдром, если оно представляет собой множество решений некоторой системы конечного числа линейных неравенств, т.е. является пересечением конечного числа полупространств: X = {xeRn\Ax^b} = {xeRn\(ai,x)^biy i=l m}, B.22) где А — матрица размера шхп со строками ai,...,am, b = = (b{,...,brn)eR™ (m=l,2,...)- Полиэдр, являющийся ограниченным множеством, будем называть ограниченным; полиэдр вида B.22) при 6 = 0 — однородным а б Рис. 2.7. Ограниченный полиэдр (а), однородный полиэдр (б) (рис. 2.7). Вспомним теперь понятия выпуклого многогранника и многогранного конуса (определение 1.7). Из сопоставления рис. 1.4 и 2.7 видно, что на них изображены одни и те же множества, но лишь по-разному образованные: на рис. 1.4 — с помощью всевозможных выпуклых или неотрицательных комбинаций конечного числа точек, а на рис. 2.7 — с помощью пересечения конечного числа полупространств (можно сказать,- что в первом случае используется внутреннее представление множеств, а во втором — внешнее). Таким образом, имеются геометрические основания для гипотезы, что данные классы множеств совпадают. Это так и есть. Более того, общее понятие полиэдра оказывается эквивалентным понятию многогранного множества. Определение 2.7. Множество IcRn называется многогранным, если оно представляет собой сумму выпуклого многогранника и
90 Гл. 3. Основы выпуклого анализа многогранного конуса, т. е. X = conv {х1, ..., xr} + cone {xr+1, ..., xs} = S Г = {хеКп|х = ]ГА;х\ *i>b t = 1 sf ^\i = l\t B.23) i=l i=\ где x1, ..., xs — некоторые точки в Rn. Так, ясно, что многогранное множество X, изображенное на рис. 2.8, является полиэдром, а полиэдр, изображенный на рис. 1.5 гл. 1, можно представить как многогранное множество. Несмотря на то, что отмеченные факты эквивалентности интуитивно очевидны, их обоснование требует определенных усилий. Оно содержится в нижеследующих теоремах 2.11 и 2.12, которые опираются, Р=сопу{ж1,:е2,:г3} К=сопе{х*,хъ} Х=Р+К Рис. 2.8. Многогранное множество с одной стороны, на общие результаты, полученные ранее (теоремы 2.8 и 2.10), а с другой — на специфические свойства полиэдральных и многогранных множеств (леммы 2.4-2.6). Лемма 2.4. Любой полиэдр имеет не более конечного числа крайних точек. Доказательство. Пусть X имеет вид B.22). Для /с{1,... ..., т} обозначим через Aj матрицу со строками а; (г Е /), через bj — вектор с координатами bi (г е /). Пусть х — крайняя точка в X. Положим I = {г | (aif х) = Ъ{}9 J = {1, ..., т}\1. B.24) Тогда А\х = 6/, Ajx<bj. Допустим, что существует точка х^х, удовлетворяющая условию Л/х = 6/. Выберем столь малое а > 0,  — х -Ь а(х — х) и < bj, Ajx2 < bj. 2 _ = х — а(х — х) что для точек х неравенства Ajx{ < bj, Ajx2 < bj. При Ajx2 = bj. Следовательно, Ax1 ^ 6, Ax2 = 0,5x1+0,5x2 и x1 Ф x2. Это противоречит тому, что точка х крайняя в X. выполняются этом, конечно, А\хх — 6/, 6, т. е. х1, х2 е X. Но х =
§ 2. Теоремы отделимости и их некоторые приложения 91_ Таким образом, мы показали, что любая крайняя точка в X является единственным решением системы вида Ajx = Ь/, где / — некоторое подмножество {1, ..., га}. Но число таких подмножеств конечно. Поэтому число крайних точек в X не более чем конечно. Л Теорема 2.11. 1) Любой ограниченный полиэдр является выпуклым многогранником] 2) любой однородный полиэдр — многогранным конусом] 3) любой полиэдр — многогранным множеством. Доказательство. Утверждение 1) сразу следует из теоремы 2.8, леммы 2.4 и определения 1.7. Докажем 2). Пусть X — однородный полиэдр, т.е. множество вида B.22) при 6 = 0. Рассмотрим множества К = {ж е Rn | -1<ж,-<1, j = 1, ...,п} и Р = ХпК (рис. 2.9). Ясно, что Р — ограниченный полиэдр. Тогда, согласно утверждению 1), Р — выпуклый многогранник, т. е. Р = conv {ж1, ..., xs} при некоторых х1, ..., xs. Введем многогранный конус Y = cone {ж1, ..., Xs} и покажем, что X = Y. Пусть х е X. При достаточно малом а > 0 имеем ах ? Р, т. е. ах — выпуклая комбинация точек х1 Тогда х — неотрицательная комбинация тех же точек, т.е. х е Y. Итак, X с Y. В то же время Y с X, так как {ж1, ..., ж Рис. 2.9. К доказательству теоремы 2.11 X — выпуклый и время Y с X, так как {ж1, ..., ж5} с Р С X конус. Таким образом, X = У, что и доказывает 2). Докажем 3). Пусть X — полиэдр вида B.22). Рассмотрим в Rn+1 однородный полиэдр К = {(ж, /3) G Rn х R | Ах - (ЗЪ ^ 0, /3^0}. B.25) Согласно утверждению 2) К — многогранный конус, т. е. ^ = сопе{(ж1,^1), ...,(ж5,/35)}, B.26) где (ж1, /З1), ..., (ж5, Cs) — некоторые точки из Rn+1. Заметим, что в представлении B.26), например, точку (ж1, /З1) всегда можно заменить на (Аж1, А/31) при любом А > 0. В частности, можно взять А = 1//31, если /З1 > 0. Это соображение позволяет без ограничения общности предположить, что /З1 Тогда B.26) приобретает вид: ... = /Зг = 1 и /З1 Г+1 /3s = 0. К = cone {(ж1, 1), ..., (жг, 1), (жг+1,0), ..., (ж5, 0)} = S Г = {(ж, /?) eRn xR^^V, /3 = ^A;, Ai^O, г=1,...,5|. г=1 t=l B.27)
92 Гл. 3. Основы выпуклого анализа Рассмотрим теперь многогранное множество У = conv {х1, ..., xr} + cone {xr+1, ..., xs} = S Г = lxeRn\x = ^2\ix\ A^O, z=l,...,s, 53Ai = 1) B28) и покажем, что X = У. Пусть х е X. Согласно B.25) имеем (x, 1) e e К. Из сопоставления B.27) и B.28) следует х е У. Итак, X С Y. В то же время точки, участвующие в представлении B.27), сами принадлежат К, т. е. в силу B.25) Ах1 ^6, ..., Ахг^Ь, Лхг+1^0, ..., Axs^0. Тогда для любой точки х е У, т. е. имеющей вид, указанный в B.28), получаем S Г Г Ах = Y^ А< ^ ^ ]Г А*Ах* ^ 6S А* = 6* г=1 г=1 г=1 Следовательно, х е X. Таким образом, Y С X и, значит, X = У. Л Лемма 2.5. Множество, сопряженное к многогранному множеству {многогранному конусу), является полиэдром {однородным полиэдром). Доказательство. Пусть X — многогранное множество вида B.23) (где случай г = 0 формально соответствует многогранному конусу). Покажем, что сопряженное к нему множество имеет вид X* = {peRn | (р, х')^-1, г=1,...,г, (р, х*)^0, i = r+l, ...,*}, B.29) т.е. является полиэдром (при г = 0 — однородным полиэдром). Обозначим правую часть в B.29) через Y. Пусть р G Y. Тогда для любой точки х е X, т. е. имеющей представление, указанное в B.23), получаем S Г Г (р, X) = ]ГА;(р, **) ^ ]Г А*<Р' *'> ^ ~EAi = -1' г=1 г=1 г=1 т.е. реХ*. Итак, У с X*. Пусть теперь реХ*. Тогда с учетом B.23) имеем 5 Г Y^Ai(p, хг) ^ -1 при всех Ai ^ 0, i=l,...,s, У^ А^ = 1. г=1 г=1 Отсюда следует (это предоставляется проверить читателю самостоятельно), что р eY. Таким образом, X* С У, т.е. X* = У. Л Лемма 2.6. Многогранное множество замкнуто.
§ 2. Теоремы отделимости и их некоторые приложения 93 Доказательство. Легко проверяется, что сумма компактного и замкнутого множеств замкнута. Остается вспомнить теоремы 1.8, 1.9 и определение 2.7. Л Теорема 2.12. 1) Любой выпуклый многогранник является ограниченным полиэдром; 2) любой многогранный конус — однородным полиэдром] 3) любое многогранное множество — полиэдром. Доказательство. Сначала докажем 3) в предположении, что многогранное множество X содержит нуль. Согласно лемме 2.5 X* является полиэдром. Тогда, по теореме 2.11, X* — многогранное множество. Вновь применяя лемму 2.5, получаем, что X** — полиэдр. Но X = X** в силу теоремы 2.10 и леммы 2.6. Таким образом, X — полиэдр. По точно той же схеме доказывается утверждение 2). Докажем 3) в общем виде. Пусть X — многогранное множество вида B.23) и Y = X — х°, где х° е X. Ясно, что множество Y = = conv {х1 - х°, ..., хг — х0} + cone {xr+1, ..., х3} также многогранно. При этом 0 G У. По доказанному выше У — полиэдр, т. е. Y = = {у | Ау < 6}. Тогда X предстает в виде X = Y + х° = {х \ Ах ^ Ь + + Ах0}, т.е. также является полиэдром. Утверждение 1) следует из 3) и теоремы 1.8. А А ЗАДАЧИ 1. Пусть X — замкнутое выпуклое множество. Доказать следующие утверждения: а) проекция 7гх(а) любой точки а на X единственна; б) если (х* — а, х — х*) ^ 0 при всех х G X, то х* = пх(а) (утверждение, обратное к B.1)); в) проекция обладает свойством нерастяжения расстояний, т.е. И71"*^1) "" ^xfa2)!! ^ llal "" fl2ll ПРИ всех а* и а2- 2. Построить опорную гиперплоскость к множеству X = {х е € R2 | е*1 < х2} в точке х = @, 1). 3. Построить гиперплоскость, разделяющую множества X1 = {xeRnix? + ... + 4^1} Х2 = {х е Rn | х\ + ... + х2п+1 + 1 < хп}. 4. Показать, что если два множества, хотя бы одно из которых — конус, можно разделить с помощью некоторой гиперплоскости, то их можно разделить с помощью гиперплоскости, проходящей через нуль. 5. а) Пусть X — выпуклое множество в Rn, причем X П intR!}. = = 0. Показать, что существует ненулевой вектор р ^ 0 такой, что (р, х) ^ 0 при всех х е X. б) Пусть X — замкнутый выпуклый конус в Rn, причем X П R" = = {0}. Показать, что существует вектор р > 0 такой, что (р, х) ^ 0 при всех х € X. 4 А. Г Сухарев и др
94 Гл. 3. Основы выпуклого анализа Указание. Обратное означает, что X* П intR+ = 0; применить а) к X* и учесть теорему 2.10. в) Привести пример, показывающий, что для неконусов утверждение из б) неверно. 6. Конус X называется заостренным, если из условий х Е X, —х е X следует х = 0. Пусть X — замкнутый выпуклый конус. Доказать следующие утверждения: а) X заострен в том и только том случае, если intX* ф 0; б) если X заострен, то существует вектор р такой, что (р, х) > 0 при всех ненулевых х е X. 7. а) Доказать следующее утверждение (теорему Дубовицкого- Милютина). Пусть Х\, ..., Хш — выпуклые множества в Rn. Если т f]iiXi = 0, то существуют векторы р1, ..., рш и числа /?ь ..., рш г=1 т m такие, что ? р1 = 0, ]Г # = 0, (р\ х1) ^ /?; при всех х{ е X* (г = г=1 г=1 = 1, ..., ш) и (рг, хг) > Pi при некоторых г и хг G X». Верно и ОбраТ- га ное: из выписанных соотношений следует f] iiXi = 0. г=1 Указание. Применить теорему 2.3 к множеству X = XiX... ...хХт и множеству У всех точек вида (у,..., у), где г/ е Rn. б) Убедиться, что при т = 2 данное утверждение переходит в теорему 2.3. в) Убедиться, что в том случае, когда 0 G f| Xif в а) выполняется г=1 рх = ... = рш = 0, и, следовательно, если Xi, ..., Xm — конусы, то вместо неравенств вида (рг, хг) ^ Pi можно писать рг е X*. 8. Показать, что любое замкнутое или открытое выпуклое множество X можно представить как пересечение некоторого (вообще говоря, бесконечного) числа полупространств. Верно ли это для произвольного выпуклого множества? 9. Пусть X — замкнутое выпуклое множество в Rn, причем его дополнение Rn\X также выпукло. Показать, что X — полупространство. 10. Пусть Х\ и Х2 — произвольные множества в Rn, причем sup (р, х1) = sup (р, х2) при всех р G Rn. Показать, что convXi = a'eXi x*ex2 = сопуХг- 11. Пусть множества Х\ и Х2 отделимы, причем intXi ф 0. Показать, что они собственно отделимы. 12. Пусть Х\ и X<i — выпуклые множества, причем intXi пХ2ф Ф 0. Показать, что riХ\ П пХг ф 0. 13. Пусть А — матрица размера т х п, Ъ — вектор из Rm.
§ 2. Теоремы отделимости и их некоторые приложения 95 Показать, что имеет решение одна и только одна из двух систем: а) Ах = Ъ или рА = О, (р, Ь) < 0; б) Ах ^ 6, х ^ 0, или рА^О, р^О, (р, Ь) < 0. 14. Пусть А — матрица размера га х п. Доказать, что имеют решение системы: а) Ах = 0, х ^ 0, рА^О, х + рА> 0; б)Ах^0, х^О, рА^О, х+рА>0, р-Ах>0. Указание к а). При любом j = 1, ..., п применить теорему 2.4 к системе AjX = —а\ х ^ 0, где aJ — j-й столбец матрицы А, а А, — матрица А без столбца aJ; тем самым убедиться, что имеет решение система Ах = 0, х ^ О, рА ^ 0, Xj + [pA)j > 0; взять сумму этих п решений. 15. Пусть А — матрица размера га х п. Доказать, что имеет решение одна и только одна из следующих двух систем: а) Ах = 0, х ^ 0, х^О, или рА > 0; б) Ах = 0, х > 0, или рА ^ О, рА ф 0; в) Ах < О, х ^ 0, х ф О, или рА > О, р ^ 0; г) Ах ^ 0, х > 0, или рА ^ 0, рЛ ^ 0, р ^ 0. Указание. Воспользоваться задачей 14. 16. Пусть А — кососимметрическая (АТ = —А) матрица. Доказать, что имеет решение система Ах ^ 0, х ^ О, Ах + х > 0. Указание. Расписать для Ат систему б) из задачи 14. 17. Пусть А — неотрицательно определенная матрица. Показать, что имеет решение система Ах ^ 0, х ^ О, х фО. 18. Пусть X — выпуклый компакт, х* — его точка с наибольшей нормой, т.е. ||х*|| ^ ||х|| при всех х е X. Показать, что х* — крайняя точка в X. 19. Привести пример выпуклого компакта, множество крайних точек которого незамкнуто. 20. Выпуклое подмножество Х0 выпуклого множества X называется крайним в X, если из условий х = Ах1 4- A - А)х2, х е Хо, х1, х2 ? X, 0 < А < 1, следует х1, х2 Е Хо. Описать все крайние подмножества квадрата, круга, конуса на плоскости. 21. Пусть X — замкнутое выпуклое множество. Доказать, что X имеет хотя бы одно собственное крайнее подмножество в том и только том случае, если X не является аффинным множеством. 22. Пусть X — замкнутое выпуклое множество, не содержащее прямых. Обозначим через Е+(Х) объединение всех крайних точек и крайних лучей в X. Доказать, что X = convE+(X) (см. [46, с. 183]). 23. Найти сопряженное множество к каждому из следующих множеств в Rn: отрезку, лучу, прямой, гиперплоскости, полупространству, шару. Рассмотреть различные варианты их расположения. Изобразить эти сопряженные множества в случае R2. 4*
96 Гл. 3. Основы выпуклого анализа 24. а) Пусть X — произвольное множество. Показать, что X ограничено в том и только том случае, если 0 е intX*. б) Пусть X — замкнутое выпуклое множество, содержащее нуль. Показать, что X* ограничено в том и только том случае, если OeintX. 25. Пусть множества Х\ и Х2 таковы, что Х\ DintA^ ф 0. Доказать, что множество Х\ + Х| замкнуто. Указание. Пустьрк -»р, рк = рхк + р2к, р1к е X*, р2к е Х%; достаточно проверить, что последовательности {р1к} и {р*к} ограничены; пусть это не так и plfc/IIPlfell -»р; показать, что (р, х1) ^0 ^ (р, х2) при всех хх е Х\, х2 е Х2\ прийти отсюда к противоречию с условием Х\Г\ЫХ2ф0. 26. Пусть даны множества Х\ и Х2. Доказать следующие утверждения: а) если Х\ с Х2, то Х? С Х*\ б) если Хх - конус, то (Хх + Х2)* = Х\ П Х2*. 27. Пусть Х\ и Х2 — выпуклые множества, причем хотя бы одно из них — конус, второе содержит нуль и Х\ flintX2 ф 0. Доказать, что (Х1ПХ2)* = Х1*+Х*. Указание. Используя теорему 2.10 и задачи 24 § 1, 12, 25 и 26, обосновать цепочку (Х\ П Х2)* = (Х{ П Х2)* = (Хх ПХ2)* = (Х{* П П Х2**)* = (ХГ + X*)** = (Xf + X*) = ХГ + X*. 28. Вычислить множество, сопряженное к полушару X = {х е е Rn | ||х|| ^1, х\ ^ 0}. Применить задачу 27 к каким-либо другим множествам в Rn (или R2). 29. Пусть Xi,...,Xm — выпуклые конусы, причем Х\П (т \ * т П хЛ =Ylx*- г=1 ' г=1 30. Пусть X — полиэдр вида B.22), х е X. Доказать следующие утверждения: а) X не содержит прямых (или, что эквивалентно, Е(Х) ф 0) в том и только том случае, если rang Л = п; б) х е Е(Х) в том и только том случае, если rang Л/ = п, где / взято из B.24). Указание, а) Воспользоваться тем, что условие iangA = n равносильно отсутствию решений системы Ah = 0, h ф 0; б) развить схему доказательства леммы 2.4. 31. Показать, что любой полиэдр имеет не более конечного числа крайних подмножеств (см. задачу 20). Дать их полное описание. 32. Показать, используя теоремы 2.11 и 2.12, что пересечение конечного числа полиэдров (т.е. многогранных множеств), их линейные комбинации, сопряженные к ним множества также являются полиэдрами. Убедиться, что аналогичные факты имеют место для однородных полиэдров (т.е. многогранных конусов) и ограниченных полиэдров (т.е. выпуклых многогранников), за исключением того, что сопря-
§ 3. Выпуклые функции 97 женное множество к ограниченному полиэдру может оказаться лишь просто полиэдром. При каком условии он ограничен? (См. задачу 24.) 33. а) Пусть Х\ и Х2 — полиэдры. Показать, что X* + Х% замкнуто (ср. с задачей 25). б) Пусть Х\ — однородный полиэдр, Х2 — полиэдр, содержащий нуль. Показать, что (Х\ ПХ2)* = X* +Х? (ср. с задачей 27). 34. Пусть Х\ и Х2 — полиэдры, причем Х\Г\Х2 = 0. Доказать, что Х\ и Х2 сильно отделимы. Указание. Воспользоваться теоремой 2.5. 35. Пусть Х\ — выпуклое множество, Х2 — полиэдр, причем riXi Г)Х2 = 0. Доказать, что существует вектор р и число /3 такие, что (р, х1) ^ /3 ^ (р, х2) при всех xl e X\, x2 € Х2 и (р, х1) > C при некотором х1 е Х\ (см. [46, с. 199]). В чем суть этого утверждения в сравнении с понятием собственной отделимости? § 3. Выпуклые функции Этот и остальные параграфы главы посвящены основам теории выпуклых функций. 1. Исходные понятия. Определение 3.1. Функция /, определенная на выпуклом множестве IcRn, называется выпуклой, если /(Ах1 + A - Х)х2) < Xf(xl) + A - А)/(х2) C.1) при всех х1, х2 е X, Хе [0, 1]. Если при всех х1, х2 е X, х{ ф х2, А е @, 1) неравенство C.1) выполняется как строгое, то / называется строго выпуклой на X. Напомним, что эти понятия, их геометрическая интерпретация и некоторые связанные с ними факты уже приводились в пп. 5, 6 § 1 гл. 1. Введем еще один важный подкласс выпуклых функций. Определение 3.2. Функция /, определенная на выпуклом множестве X с Rn, называется сильно выпуклой с константой в > О на X, если /(АхЧ A - А)х2) ^ Xf(xl) + A - А)/(х2) - 0АA - А)||х* - х2||2 C.2) при всех х1, х2 е X, A G [0, 1]. Простейшим примером сильно выпуклой функции является функция /(х) = ||х||2 на Rn. Легко проверить, что для нее неравенство C.2) выполняется как равенство при в = 1. Сильно выпуклая функция, очевидно, строго выпукла. Обратное неверно. Например, функция /(х) = = х4 (геометрически «похожая» на сильно выпуклую функцию /(х) = = х2) строго, но не сильно выпукла на R (см. формулу C.8)).
98 Гл. 3. Основы выпуклого анализа Определение 3.3. Функция /, определенная на выпуклом множестве X С Rn, называется (строго, сильно) вогнутой на X, если функция -/ (строго, сильно) выпукла на X. В дальнейшем мы сосредоточим основное внимание на изучении свойств выпуклых функций. При необходимости читатель без труда получит их аналоги для вогнутых функций. Отметим, что неравенство C.1), определяющее выпуклую функцию, можно распространить на любое конечное число точек. Теорема 3.1. Пусть f — выпуклая функция на выпуклом множестве X. Тогда /(?>**) <?>/(**) (з.з) г=1 г=1 го при всех т = 1, 2, ..., хг G X, А; ^ 0, г = 1, ..., m, ?] А; = 1. г=1 Доказательство (ср. с доказательством теоремы 1.4). Проведем индукцию по га. Если га = 1, то формула C.3) очевидна. Предположим, что она уже доказана для т = к. Докажем ее для га = к + 1. Пусть х имеет вид A.2), где (отбрасывая тривиальный случай) будем считать Afc+i < 1. Тогда можем записать A.3). Используя сначала выпуклость /, а затем индуктивное предположение, имеем /(*) < A - Afc+1)/Cf) + A,+1/(xfc+1) ^ < о - а,+1)Е гл^7f{xi)+A*+i/(*fc+1)= ? А</(**)-Л г=1 г=1 Соотношение C.3), называемое неравенством Йенсена, содержит в себе как частные случаи ряд известных неравенств. Ограничимся следующим примером. Пример 3.1. Функция f(x) = — In ж выпукла на intR+ (см. формулу C.8)). Поэтому для любых га = 1, 2, ..., Xi > О, А; ^ 0, i = т = 1, ..., га, ]Г} А; = 1 имеем г=1 771 771 771 -lnf ]ГА*а:Л < -J^Ailnxi = -1п(Ца?*). г=1 г=1 г=1 Следовательно, m m ЕА<ж<^ n^Ai г=1 г=1 В частности, при А» = 1/га (г = 1, ..., га) получаем классическое неравенство между средним арифметическим и средним геометрическим го т/ го ™1>> VIIх'- г=1 г=1
§ 3. Выпуклые функции 99 2. Внутренние операции в классе выпуклых функций. Укажем несколько простейших операций над выпуклыми функциями, результатом которых являются также выпуклые функции. Теорема 3.2. Пусть f\, ..., /т — выпуклые функции на выпуклом множестве X, а\, ..., am — неотрицательные числа. т Тогда функция f(x) = J^ &ifi(x) выпукла на X. г=1 Доказательство. Для любых х\ х2 G X, AG [0, 1] имеем m f(Xxl + A - Л)х2) = ^а./ДАх1 + A - А)х2) < г=1 т ^ ?>(АД(*') + A - X)fi(x2)) = АД*1) + A - А)/(*2), г=1 т.е. выполняется C.1). Значит, функция / выпукла. А Без труда проверяется, что указанная функция / будет строго (сильно) выпуклой, если хотя бы при одном г функция /; строго (сильно) выпукла и а; > 0. Теорема 3.3. Пусть X — выпуклое множество, Y — любое множество, ср(х, у) — функция на X xY, выпуклая по х на X при каждом у G У и ограниченная сверху по у на Y при каждом х ? X. Тогда функция f(x) = sup ip(x, у) выпукла на X. Доказательство. Для любых х\ х2 G X, Хе [0, 1] имеем f{Xxl + A - А)х2) = sup <р{Хх{ + A - Х)х2, у) < 2/€У ^ sup (\<р(х\ у) + A - Х)(р(х2, у)) < yeY ^ sup (Хф\ у)) + sup (A - Х)ф2, у)) = Xf(xl) + A - А)/(х2). Л 2/€У y?Y В частности, функция f(x) = max fi(x) выпукла на X, если г=1, ...,т функции /ь ..., /т выпуклы на X. Теорема 3.4. Пусть д\, ..., #т — выпуклые функции на выпуклом множестве X с Rn, д = (д\, ..., дш) — образованная из них вектор-функция, ф — монотонно неубывающая выпуклая функция на выпуклом множестве U С Rm, причем д(Х) С U 1). Тогда функция f(x) = (p(g(x)) выпукла на X. 1) Условие монотонного неубывания (р означает, что <р(и1) ^ <р{и2), если и1 ^ и2, и1, и2 е U.
100 Гл. 3. Основы выпуклого анализа Доказательство. Для любых ж1, ж2 € X, А € [0, 1] имеем /(Лж1 + A - А)ж2) = <р(д(\х1 + A - А)ж2)) < < ^(ж1) + A - АM(ж2)) ^ \<р(д{х1)) + A - АМ<?(ж2)) = = А/(ж') + A-А)/(ж2), где первое неравенство следует из выпуклости д и монотонного неубывания </?, а второе — из выпуклости ср. Л Теорема 3.5. Пусть (р — выпуклая функция на выпуклом множестве U G Rm, А — матрица размера т х n, be Rm, причем множество X = {х е Rn | Ах + Ь е X} непусто. Тогда функция f(x) = ср(Ах + Ь) выпукла на X. Доказательство. Для любых х1, х2 е X, Хе [0, 1] имеем /(Ах1 + A - А)х2) = ^(Ах1 + A - Х)х2) + Ъ) = = <р(Х(Ах1 + Ь) + A - Х)(Ах2 + Ь)) < ^ \<р(Ах1 + Ь) + A - \)<р(Ах2 + Ь) = АДх1) + A - А)/(х2). Л Полученные теоремы являются эффективным инструментом для проверки выпуклости функций. Пример 3.2. Пусть f\, ..., /m — выпуклые функции. Тогда функция Дх) = ^ [max@, Л(х))]9, здесь О 1> г=1 также выпукла. В самом деле, функция рДх) = max@, /г(х)) выпукла в силу теоремы 3.3. Поскольку функция ip(u) = uq при q ^ 1 выпукла и не убывает на R+, то функция рДх) = [#г(я)]9 выпукла согласно теореме 3.4. Тогда / выпукла по теореме 3.2. Эта функция (одна из многих подобного сорта) находит применение в методе штрафов, о котором пойдет речь в § 5 гл. 6. га Пример 3.3. Пусть даны числа Ai ^ 0, ..., An ^ 0, ^А; = 1. Покажем, что так называемая функция Кобба-Дугласа /(х) = Ц xi вогнута на R+. Рассмотрим множество Y = <у е R+ \f[ У$ = 1 \ и функцию (р(х, у) = J2 \xiyi. Для любых х > 0 и у е У, используя г=1 неравенство из примера 3.1, получаем п п п /(х) = ДхгА* = fI(x^i)Ai < JZ XiXiyi = <p{x, у). г=1 t=l t=l В то же время для данного х>0 и у = /(x)(l/xi, ..., l/xn) G У имеем f(x) = ф(х,у). Таким образом, /(х) = min<^(x, у) при всех
§ 3. Выпуклые функции 101 х > 0. Тогда, по теореме 3.3 (точнее, ее аналогу для вогнутых функций), функция / вогнута на intR+. Поскольку / непрерывна на R+, то неравенство, определяющее вогнутые функции (т.е. C.1) с обратным знаком) сохраняется для всех точек из R+. 3. Дифференциальные критерии выпуклости функций. В этом пункте приводятся необходимые и достаточные условия выпуклости и сильной выпуклости дифференцируемых функций. Для краткости формулировок выпуклые функции рассматриваются ниже как сильно выпуклые с константой в = 0. Теорема 3.6. Пусть f — дифференцируемая функция на выпуклом множестве X С Rn. Тогда f сильно выпукла с константой в ^ 0 на X в том и только том случае, если Дх)-Дх*)^(/'(х*), х-х*)+0||х-х*||2 при всех х, х* € X. C.4) Доказательство. Пусть / сильно выпукла с константой 0^0. Согласно определению 3.2 для любых х, х* е X, AG @, 1] имеем /(Ах + A - А)**) ^ А/(х) + A - А)Дх*) - 0АA - А)||х - х*||2. Преобразуя эту формулу, а затем пользуясь дифференцируемостью / в х*, получаем /(х) - Дх*) - 0A - А)||х - х*||2 > /(** + *(«-^Ч)-/(**) = = (/V),A(s-x*))+o(A) = {ff{x^ x_x*) + ?(А) Предельный переход при А —> 0 в неравенстве, связывающем первый и последний члены данной цепочки, приводит к C.4). Пусть, напротив, выполняется C.4). Для любых х1,х2еХ, Ае е [0, 1] положим х* = Ах1 + A - А)х2 е X. Тогда Дх1) - Дх*) > (/'(**), х1 - х*) + в\\х{ - х*||2, Дх2) - Дх*) > </'(**). *2 " **> + 0\\х2 - х*||2. Заметим, что ||х' - *1 = A - Х)\\х1 - х2||, ||х2 - х*\\ = \\\х1 - х2\\. Тогда, умножая первое из выписанных неравенств на А, второе — на A — А) и складывая их, получаем АДх1) + A - А)Дх2) - Дх*) - 0АA - А)||х* - х2||2 > ^ (/'(я*), Ах1 + A - А)х2 - х*) = (/'(**), 0) = 0, т.е. выполняется C.2). Л
102 Гл. 3. Основы выпуклого анализа (**,/(**)) Заметим, что при выводе формулы C.4) мы пользовались лишь дифференцируемостью / в х*. Зафиксируем этот факт применительно к выпуклым функциям в виде отдельного утверждения, поскольку на него мы часто будем ссылаться в дальнейшем. Теорема 3.7. Пусть f — выпуклая функция на выпуклом множестве X С Rn, дифференцируемая в точке х* ? X. Тогда f(x) - f(x*) ^ (f(x*)9 x - х*) при всех х е X. C.5) Напомним, что график линейной функции l(x) = /(ж*) + (/'(ж*), х — х*) называется касательной гиперплоскостью к графику функции / в точке (ж*, /(ж*)). Таким образом, соотношение C.5) означает, что график функции / лежит не ниже касательной гиперплоскости к нему в точке (ж*, /(ж*)) (рис. 3.1). Опираясь на теорему 3.6, можно получить другой критерий выпуклости в терминах первых производных. Теорема 3.8. Пусть f — непрерывно дифференцируемая функция на выпуклом множестве X С Rn. Тогда f сильно выпукла с константой в ^ 0 на X в том и только том случае, если (f'(x) - fix*), ж - ж*) ^ 2в\\х - х*\\2 при всех ж, х* € X. C.6) Доказательство. Пусть / сильно выпукла с константой 0^0. Тогда, по теореме 3.6, f(x) - f(x*) > </'(ж*)> ж - ж*) + в\\х - ж*||2, f(x*) - f(x) > (/'(ж), ж* - ж) + в\\х - х*\\2 при всех ж, х* е X. Складывая эти неравенства, получаем C.6). Пусть, напротив, выполняется C.6). Тогда = [ (f'(x* + а{х - ж*)), х - х*) da - (f'(x*), x - ж*) = X X Рис. 3.1. Касательная гиперплоскость к графику выпуклой дифференцируемой функции Г1 (/'(х* + а(х - ж*)) - /'(ж*), а(ж - x*))da ^ о ^ [ I 20||а(ж - ж*)||2 da = в\\х - ж*||2,
§ 3. Выпуклые функции 103 где в первом равенстве использована формула Ньютона-Лейбница, а в неравенстве — формула C.6) для точек х* и ха = х* + а(х — ж*) Е X, где 0 < а ^ 1. Таким образом, выполняется C.4), и, значит, / сильно выпукла с константой в ^ 0. Л Для функции / числового аргумента (п = 1) условие C.6) предстает в виде /'(ж) - /'(ж*) > 29(х - х*) при всех х, х* е X, ж > ж*. При в = О (случай выпуклой функции) это просто означает, что производная f'(x) монотонно не убывает на X. Укажем теперь критерий выпуклости в терминах вторых производных. Теорема 3.9. Пусть f — дважды непрерывно дифференцируемая функция на выпуклом множестве X С Rn, причем intX ф 0. Тогда f сильно выпукла с константой в ^ 0 на X в том и только том случае, если {f"(x*)ht h) ^ 2вЩ\2 при всех х* е X, he Rn. C.7) При в = 0 данное условие говорит о том, что в любой точке х* е е X матрица вторых производных f"(x*) неотрицательно определена. При в > 0 оно означает несколько большее, чем просто положительная определенность этих матриц (заметим, что в не зависит от х*). Доказательство. Пусть / сильно выпукла с константой 0^0. Сначала предположим, что х* е intX. Тогда для любого h G Rn имеем х* + ah e X при всех достаточно малых а > 0. Пользуясь тем, что функция / дважды дифференцируема в ж*, можем записать /(х* + ah) = /(ж*) + (/'(ж*), ah) + \ (f"(x*)ah, ah) + o(a2). Отсюда у (f"(x*)h, h) + o(a2) = f(x* + ah) - /(ж*) - (f'(x*)f ah) > 0a2\\h\\2, где неравенство является следствием C.4). Итак, l-(f»(x*)h,h) + ?^>>e\\hf. Переходя здесь к пределу при а —> 0, получаем C.7). Рассмотрим теперь общий случай: ж* G X. Поскольку X С X = = intX (теорема A.14), то найдется последовательность точек xk e GintX (к = 1, 2, ...), сходящаяся к х*. По доказанному выше для любого h e Rn имеем {f"(xk)hy h) ^ 6\\h\\2 (к = 1, 2, ...), причем последовательность матриц f {хк) (к = 1, 2, ...) сходится к f"{x*) в силу непрерывности f"(x) в ж*. Отсюда и следует C.7). Пусть, напротив, выполняется C.7). Для любых ж, ж* е X положим h = x — ж*. Тогда, используя формулу Тейлора с остаточным членом в форме Лагранжа, а затем формулу C.7), при некотором a G @, 1)
104 Гл. 3. Основы выпуклого анализа имеем 1 / w// * . -^i.\i. I \ ^ /1HMI2 /(х* + Л) - Дх*) - </'(х*)> h) = ± (/"(х* +a/i)/i, Л) ^ 0||/i|| т.е. справедливо C.4), и, значит, / сильно выпукла на X. Л Следствие. Пусть А — симметрическая матрица размера п х х п, b € Rn. Тогда квадратичная функция f(x) = (Ах, х) + (Ь, х) выпукла (сильно выпукла) на Rn в тож и только том случае, если матрица А неотрицательно (положительно) определена. Доказательство. Утверждение сразу следует из теоремы 3.9, поскольку /"(х) = 2А. Следует лишь отметить, что если А положительно определена, то, очевидно, число т — min (Ah, h) положительна но, а значит, выполняется C.7) при 0 = га. Д Для функции числового аргумента условие C.7) предстает в виде /"(х*) ^ 20 при всех х* е X. C.8) При 0 = 0 это означает, что вторая производная /"(х) неотрицательна всюду на X. При 0 > 0 требуется, чтобы /"(х) была не меньше положительной константы. Отсюда, в частности, следует, что функция /(х) = х4 не является сильно выпуклой на R, так как /"@) = = 0; но на множестве X = [а, +оо] при а > 0 она сильно выпукла. Функция /(х) = ех также не является сильно выпуклой на R, так как /"(х) = ех —> 0 при х —> —оо; но на множестве X1 = [а, +оо], где а — любое число, она сильно выпукла. Последний пример говорит о том, что из положительной определенности матрицы /"(х*) всюду на X еще не следует сильная выпуклость функции. Теорема 3.9 в комбинации с критерием Сильвестра составляет удобный аппарат для проверки выпуклости функций небольшого числа переменных, когда вычисление миноров не составляет труда. Пример 3.4. Рассмотрим квадратичную функцию двух переменных /(х) = ах\ + Ьх\х2 + сх\. Имеем '2а Ь /"(*) = Ь 2с По критерию Сильвестра эта матрица неотрицательно определена, если а ^ 0, с ^ 0, 4ас ^ Ь2, и положительно определена, если а > 0, 4ас > б2. Поэтому в первом случае функция / выпукла, во втором — сильно выпукла на R2. Пример 3.5. Рассмотрим функцию /(х) = х2/хг на множестве X = {х е R2 | х2 > 0}. Имеем 2/х2 — 2xi/х| -2х!/х2 2х2/х^ /"(*) = Из критерия Сильвестра следует, что при любом х G X матрица f"(x) неотрицательно определена. Следовательно, функция / выпукла на X.
§ 3. Выпуклые функции 105 Отметим, что доказательство этого факта непосредственно на основе определения 3.1 привело бы к довольно громоздким выкладкам. В заключение этого пункта отметим, что для строго выпуклых функций имеют место естественные аналоги теорем 3.6, 3.8; в то же время теорема 3.9 переносится на них лишь частично (см. задачу 12). 4. Непрерывность и дифференцируемость по направлениям выпуклой функции. Неравенство C.1), определяющее выпуклую функцию, оказывается столь сильным, что обеспечивает ее непрерывность и дифференцируемость по всем (допустимым) направлениям в любой относительно внутренней точке области определения. Теорема 3.10. Пусть f — выпуклая функция на выпуклом множестве X С Rn. Тогда f непрерывна в любой точке х* Е ri X 1). Доказательство. Сначала предположим, что: 1)х*=0, /(х*) = 0; 2)intX^0. Поскольку OeriX = intX, то найдется столь малое число г > > 0, что гиперкуб К = {х е Rn | -r ^ Xj ^ г, j = 1, ..., п}, будучи окрестностью нуля, содержится в X. Пусть х1,...,хт, где т = = 2П, — все его вершины, т. е. точки вида (±г, ..., ±г). Положим а = = max f{xl). Ясно, что любая точка х Е К может быть представлена как выпуклая комбинация точек хх,...,хт, т.е. х = ][] А;х\ где \\ ^ 0, ..., Ат ^ 0, ^2 А» = 1. (Можно без труда выписать конкретные г=\ выражения для А;, но это несущественно.) Тогда, используя неравенство Йенсена C.3), имеем ТП ТП Их) < y. Л^и < аЕXi=а- C9) г=1 г=1 Таким образом, функция / ограничена сверху на К. Рассмотрим теперь произвольное число г ? @, 1]. Поставим ему в соответствие окрестность нуля вида U? = eK. Для любой точки х е U?, привлекая выпуклость /, условие /@) = 0 и оценку C.9) для точек ±х/е е Ку имеем /(х) = /F1 + A - ?H) < е/(|) + A - е)/@) ^ еа, Отсюда |/(х)| < еа. Следовательно, / непрерывна в х* = 0. Т Пусть теперь intX = 0, но по-прежнему я* = 0, /@) = 0. Рассмотрим какое-нибудь линейное гомеоморфное отображение F: Rm —> -»LinX (например, из доказательства теоремы 1.11). Положим Л = О Здесь, естественно, имеется в виду непрерывность относительное: для любого е > 0 существует такое S > 0, что \f(x) — f(x*)\ < € при всех х Е еи6(х*)пх.
106 Гл. 3. Основы выпуклого анализа = F~l(X). Поскольку OeriX, т.е. 0 — внутренняя точка множества X в LinX = affX, то, очевидно, 0 = F_1@) — внутренняя точка множества Л в Rm, т.е. OeintA. Введем функцию <р(\) — f(F(X)) на Л. В силу линейности F и F имеем, что Л — выпуклое множество, (р — выпуклая функция на Л. При этом ср@) = 0, так как /@) = 0. Тогда, по доказанному выше, <р непрерывна в 0. Но f(x) = (p(F~l(x)). Поэтому / непрерывна в 0 как суперпозиция непрерывных функций. ^ Итак, теорема полностью доказана в случае х* = 0, /@) = 0. Остается заметить, что общий случай легко сводится к этому путем рассмотрения функции Ф(у) = f(y + x*) - f(x*) на множестве Y = = Х-х*. Л Замечание. Для относительно граничных точек теорема неверна. Например, функция Л/ ч Гх, если х > 0, /(*) = {,, если х = 0, выпукла на R+, но разрывна в 0. Более тонкий пример разрыва выпуклой функции в граничной точке см. в задаче 21. Прежде чем доказать второй из упомянутых выше фактов, отметим следующее. Пусть х* ehX и hehinX. Тогда U?(x*) Daff X С X при некотором е > 0 и #* + ah e aff X при всех а (лемма 1.1). Следовательно, х* + ah e U?(x*) П aff X С X при всех достаточно малых а. Таким образом, множества А = {а > 0 | х* + ah е X}, В = {а < 0 | х* + ah e X} C.10) заведомо непусты. Теорема 3.11. Пусть f — выпуклая функция на выпуклом множестве X С Rn, x* Е riX и he LinX. Тогда: Х)ФуНЩиЯ v4a)-/(*' + qfc)-/(»') монотонно не убывает и ограничена снизу на множестве А из C.10); 2) величина f'(x*, h) = lim ф(а) существует и конечна', кроме ос—»0+ того, /'(х*, К) ^ ф{а) при всех а е А. C.11) Напомним, что при \\h\\ = 1 величина f'(x*, h) называется производной функции / по направлению h в точке х*. Доказательство. Заметим, что 2) сразу следует из 1) в силу теоремы о пределе монотонной функции. Для доказательства 1) рассмотрим любые a, a'e A, a ^ а'. С учетом выпуклости / имеем f(x* + ah) = /((l - ^)х* + ? (я* + а'Л)) ^ <(*-%) №) + %№+<**).
§ 3. Выпуклые функции 107 Отсюда ф(а) < ф{ос'), т. е. ф монотонно не убывает на А. В то же время для любых а е А, о! е Ву где В взято из C.10), имеем Отсюда t/>(a) ^ V>(a')> те- Ф ограничена снизу на А. Д Замечание. Из доказательства теоремы следует, что для точки х* е X\riX и вектора h таких, что множество А из C.10) непусто, величина /'(ж*, К) также существует, но, возможно, равна — оо. Такая ситуация реализуется, например, для функции f(x) = — \Л — ж2, выпуклой на [—1, 1], точки х* — 1 и вектора h = -1. 5, Теорема о промежуточной линейной функции. В этом пункте доказывается важная теорема, которая найдет в дальнейшем многочисленные приложения (см. теоремы 4.1, 4.2, 5.6, 5.7, а также теорему 1.3 гл. 4). Теорема 3.12. Пусть Х\ и Х2 — выпуклые множества в Rn, /i — выпуклая функция на Х\, f2 — вогнутая функция на Х2у причем ri Х\ П ri Х2 ф 0 и f\(x) ^ /2(#) пРи &сех х е Х\ПХ2. C.12) Тогда существует такая (промежуточная) линейная функция l(x) = (a, x) + 6, что f\(x) ^ 1(х) при всех х Е X\t C.13) l(x) ^ f2(x) при всех х 6 Х2. C.14) Геометрически это означает, что гиперплоскость, являющаяся графиком функции Z, проходит под графиком функции f\ и над графиком функции /2 (рис. 3.2). а Покажем, что Е\ выпукло. Для • любых (х\ /З1) G Ей (ж2, (З2) е Е{ Рис- 3-2- Теорема о промежуточной и А е [0, 1] положим ж = Аж1 + линейной функции
108 Гл. 3. Основы выпуклого анализа + A - А)х2, /3 = А/31 + A - А)/?2. С учетом выпуклости. Хх и_ /i имеем хеХи /i(x) ^ \f(xl) + A - А)/(х2) < /3, т. е. (х, /3) = = А(х*, /З1) + A - А)(х2, /З2) е Е\. Таким образом, i?i выпукло. Аналогичным образом, используя вогнутость /2, показываем, что i?2 выпукло. Тогда, по теореме 2.3, множества Е\ и JE2 собственно отделимы, т. е. существуют вектор (р, А) е Rn x R и число а такие, что (р, х1} + А^1 > а ^ (р, х2> + А/32 C.15) при всех хх е Х\, /З1 > /i(x!), ж2 G Х2, /З2 < /2(х2) и, кроме того, (р>х1>+А/31>(Р>х2> + А]Э2 при некоторых х1 е Хи /З1 > /i(xl), х2 € Х2, /З2 < /2(х2). При А = 0 данные соотношения означают, что Xi и X<i собственно отделимы и, значит, х\Х\ П т\Хг = 0 в силу той же теоремы 2.3. Но это противоречит условию данной теоремы. Следовательно, А ф 0. В то же время из C.15) при /З1 —> +оо (или /З2 —> —оо) следует, что А ^ 0. Таким образом, А > 0. Положим теперь а — —р/А, b = a/A. Заметим, что нестрогие неравенства в C.15) сохраняются и при /З1 = /i(x*), /32 = /2(х2). Рассматривая там только такие /З1 и /З2, получаем fi(x{)-(a,xl)>b>f2(x2)-(ayx2) при всех х1 G Xi, х2 е Х2. Иными словами, линейная функция 1(х) = = (а, х) + Ь удовлетворяет условиям C.13), C.14). Л Замечание. Условие riXiflriX2^0 в теореме существенно. Это видно из примера: Х\ — [-1, 1], Х2 = [1, оо], /i(x) = —у/\ — х2, /2(*)=0. 6. Теоремы об ограниченности множеств Лебега сильно выпуклой и выпуклой функций. Если / — выпуклая функция на выпуклом множестве X, то множества вида Хр = {х е X | /(х) < /?}, /3 е R, C.16) очевидно, выпуклы. Эти множества принято называть множествами Лебега функции /. В следующей теореме указывается одно важное свойство множеств Лебега сильно выпуклой функции. Теорема 3.13. Пусть f — непрерывная сильно выпуклая с константой в > О функция на замкнутом выпуклом множестве X. Тогда при любом /3 множество Хр ограничено. Доказательство. Зафиксируем любую точку х° е Хр (если Хр = 0, то утверждение тривиально). Пусть U = Ui(x°) — шар единичного радиуса с центром в х°. В силу непрерывности / и замкнутости X существует константа а такая, что /(х) ^ а при всех х G X П U C.17)
§ 3. Выпуклые функции 109 (см. задачу 2 § 4). Покажем, что ||x-*°||^l + ?z? при всех хеХр. C.18) и Это и будет означать ограниченность Хр. Если х € Х^ П f/, то ||х — х°\\ ^1, т.е. неравенство C.18) выполняется. Пусть xeXp\U. Положим А= 1/||х-х°||, х = Ах + A-А)х°. Тогда 0 < А < 1 и xeXnU. Последовательно используя неравенство C.17), сильную выпуклость /, условия f(x°) ^ /?, f(x) < C и определение А, получаем ос ^ Дх) ^ Xf(x) + A - А)/(х°) - 0\A - А)||х - х°||2 ^ ^C-e\(i-\)\\x-x°\\2 = P-e(\\x-A\-i)- Отсюда приходим к C.18). Л Следствие. В предположениях теоремы 3.13 точка минимума функции f на множестве X существует и единственна. Доказательство. Достаточно вспомнить теоремы 1.1' и 1.10 гл. 1. Л Подчеркнем, что множество X здесь не предполагается ограниченным. В частности, можно взять X = Rn. Разумеется, для выпуклых и даже строго выпуклых функций утверждения, подобные теореме 3.13 и ее следствию, несправедливы. Примером может служить функция f(x) = ех на R (ср. со сказанным после теоремы 2.6). Ў Тем не менее для выпуклых функций справедлив следующий аналог теоремы 3.13. Теорема 3.14. Пусть f — непрерывная выпуклая функция на замкнутом выпуклом множестве X. Допустим, что при некотором /3 множество Х-$ вида C.16) непусто и ограничено. Тогда при любом /3 множество Хр ограничено. Доказательство. Если /3 < /3, то XpcXj и ограниченность Хр очевидна. Пусть /3 > /3. Допустим, что Хр не ограничено. Рассмотрим любую точку х* е Xj С Хр. Поскольку Хр выпукло и замкнуто, то, согласно теореме 1.15, из точки х* исходит некоторый луч, целиком лежащий в Хр; иными словами, существует вектор h ф 0 такой, что x*+aheXpf т.е. x*+afteX и /(х* + ah) < /?, C.19) при всех а ^ 0. Введем функцию (р(а) = f(x* + ah) на R+. Допустим, что (р(а) > (р@) при некотором а > 0. По теореме 3.5 функция tp выпукла на R+. Тогда для любого а>а имеем *<a) = v((i-f)-o + 5e)<(i-f)v@) + 5v(a). Отсюда ?>(<*)> §(?>E)-?>@)) + ,р@).
110 Гл. 3. Основы выпуклого анализа Поскольку (р(а) > (р@), то ip(a) —> +00 при а —> +оо, что противоречит C.19). Итак, для любого а > 0 f(x* + ah) = у{а) < tp@) = /(ж*) < ]8, т. e. x* + a/i G «Хд. Но это противоречит ограниченности X-s. Л Следствие. Пусть /ь ..., /m — непрерывные выпуклые функции на замкнутом выпуклом множестве X. Рассмотрим множества вида Х(Ъ) = {хеХ\Мх)<Ьи i=\ m}, где 6 = (b\, ..., bm) G Rm. Допустим, что при некотором Ъ множество X(b) непусто и ограничено. Тогда при любом b множество Х(Ь) ограничено. Доказательство. Для функции f(x) = max (fi(x) — 5») рас- г=1, ...,т смотрим множества Хр вида C.16). По условию теоремы множество Хо = Х(Ь) непусто и ограничено. При этом функция / выпукла на X (теорема 3.3) и непрерывна. Для любого b заведомо найдется такое /?, при котором Х(Ь) с Хр. В силу теоремы 3.14 множество Хр ограничено. Тогда и Х(Ь) ограничено. Л Отсюда следует одно важное свойство задач выпуклого программирования. Теорема 3.15. Рассмотрим задачу /(Х) "* mhl' C 20) gi{x) ^ biy i = 1, ..., m, x G P, где Р — замкнутое выпуклое множество в Rn, /, g\, ..., pm — непрерывные выпуклые функции на Р. При любом b = (b\, ..., fem) G G Rm обозначим через X(b) и X*(b) соответственно допустимое множество и множество решений задачи C.20). Предположим, что при некотором b множество Х*(Ъ) непусто и ограничено. Тогда при любом b таком, что Х(Ь) ф 0, множество Х*(Ь) непусто и ограничено. Доказательство. Рассмотрим множества вида Y(b, /?) = {* G Х(Ь) | f(x) ^ /?}, где b G Rm, /3 G R. Положим /? = f(x) при xeX*(b). По условию теоремы множество У E, /?) = Х*(Ь) непусто и ограничено. Рассмотрим любой вектор b G Rm такой, что существует х° G Х(Ь). Из следствия теоремы 3.14 вытекает, что непустое множество У(Ь, f(x0)) ограничено. Тогда множество Х*(Ь) непусто в силу теоремы 1.1' гл. 1 и ограничено, поскольку Х*(Ь) с У(Ь, f(x0)). Л А ЗАДАЧИ 1. Пусть / — выпуклая функция на выпуклом множестве X. Показать, что f(Xx[ + A - Х)х2) ^ Л/(ж1) + A — А)/(ж2) при всех х\ х2 G G X, Л 0 [0, 1], для которых Ах1 4- A - \)х2 G X.
§ 3. Выпуклые функции 111 2. Пусть / — непрерывная функция на выпуклом множестве X, причем для любых точек х1у х2 е X существует число Л е @, 1) такое, что /(Ах1 + A - А)х2) ^ АДх1) + A - А)/(х2). Доказать, что / выпукла на X (ср. с задачей 2 § 1). т 3. Пусть Ai ^ 0, ..., Лт ^ 0, ? А; = 1. Применяя неравенство г=1 йенсена к соответствующим функциям, вывести следующие неравенства: а) ( § А;*') ( ? ^j) >1, где хх > О, ..., хт > 0; т / rn \ б) ? \х1 ^ 1п( ? А;ехЧ, где хь ..., xm — любые числа. г=1 М=1 ' 4. Пусть (р — выпуклая функция на выпуклом множестве X. Проверить следующие утверждения: а) функция f(x) = е^(х) выпукла на X; б) функция f(x) = \/<р(х) вогнута на Хо = {х е X \ <р(х) < 0}. 5. Пусть a,i e intR™ (г = 1, ..., га). Показать, что функция f(x) = т 1 = ? т г выпукла на R+\{0}. г=1 \а*> х) 6. Пусть X — выпуклое множество. Доказать следующие утверждения: а) если /ь /2, ... — выпуклые равномерно ограниченные функции оо на X, аь а2, ... — неотрицательные числа и ? а^ < оо, то функ- оо г=1 ция /(х) = ? OLifi(x) выпукла на X; г=1 б) если у>(х, ?) — функция на X х [0, 1], выпуклая по х на X при каждом ? ? [0, 1] и интегрируемая по t на [0, 1] при каждом х е X, a(t) — неотрицательная интегрируемая функция на [0, 1], то функ- 1 ция f(x) = </?(х, t)a(t)dt выпукла на X. ь 7. Пусть X — выпуклое, Y — любое множества, </>(х, у) — функция на X х У, выпуклая по х на X при каждом у G Y. Положим f(x) = = supy?(x, у), Хо = {х € X | f(x) < оо}. Показать, что Хо выпукло yeY и / выпукла на Хо (ср. с теоремой 3.3). 8. Пусть X и Y — выпуклые множества в Rn и Rm соответственно, </?(х, у), д\(х, у), ..., дк{х, у) — выпуклые функции на X х У, причем для каждого х е X функция <р(х, у) ограничена снизу на множестве В(х) = {у е Y | gi(x, у) ^ 0, г = 1, ..., к}. Доказать, что функция f(x) = inf (р(х, у) выпукла на X. Привести пример, показывающий, уев(х) что условие выпуклости функций по совокупности аргументов здесь существенно.
112 Гл. 3. Основы выпуклого анализа 9. Любому множеству X с Rn ставятся в соответствие: а) функция расстояния р(х, X) = inf ||х — х'||; x'tX б) опорная функция 6(х, X) = sup (х, х'); х'?Х в) функция Минковского у(х, X) = inf {а > 0 | х е аХ}. Показать, что эти функции определены и выпуклы на Rn, если соответственно X выпукло, X ограничено, X выпукло и 0 е intX. 10. Пусть Е — выпуклое ограниченное множество в Rn x R и X — его проекция на Rn. Показать, что функция /(х) = inf{/? | (х, /?) е Е} выпукла на X. 11. а) Показать, что в теореме 3.8 при 0 = 0 (случай выпуклой функции) достаточно предположить, что / лишь дифференцируема наХ. Указание. Использовать формулу Лагранжа вместо формулы Ньютона-Лейбница. б) Убедиться, что в теореме 3.9 непрерывность матрицы /"(х) потребовалась лишь при выводе формулы C.7) для точек х* G X\intX. в) Убедиться, что обратное утверждение теоремы 3.9 допускает случай intX = 0; привести пример, показывающий, что в прямом ее утверждении условие intX ф 0 существенно. 12. а) Пусть / — дифференцируемая функция на выпуклом множестве X. Показать, что следующие утверждения эквивалентны: 1) / строго выпукла на X; 2) Дх)-/(х*) > (f'(x*), х-х*) при всех х, х* е X, хфх*\ 3) (f'(x) - f'(x*)f x - х*) > 0 при всех х, х* е X, х^х*. б) Пусть / — дважды дифференцируемая функция на выпуклом множестве X, причем (/"(x*)/i, h) > 0 при всех х* € X, he Rn, h ф 0. Показать, что / строго выпукла на X. На примере /(х) = х4, х G R, убедиться, что обратное неверно. 13. Пусть / — дважды непрерывно дифференцируемая функция на выпуклом компакте X, причем (/"(x*)ft, h) > 0 при всех х* е X, /г G Rn, Л ф 0. Показать, что / сильно выпукла на X. 14. Проверить, что функция /(х) = J\ +x\ + х\ выпукла на R2. 15. Проверить, что функция /(х) = ln( Jl eXi J выпукла на Rn. 16. Пусть (р — непрерывная монотонно неубывающая (возрастающая) функция на числовом отрезке [а, 6]. Показать, что функция X f(x) — | ip(t)dt выпукла (строго выпукла) на [a, ft]. а 17. а) Пусть / — дифференцируемая строго выпуклая функция на выпуклом множестве X С Rn. Показать, что при любом а е Rn уравнение f'(x) = а имеет не более одного решения на X. б) Пусть / — дифференцируемая сильно выпуклая функция на Rn. Показать, что при любом а е Rn решение уравнения f'(x) = а на Rn существует и единственно.
§ 3. Выпуклые функции ИЗ Указание, а) Воспользоваться задачей 12; б) применить следствие теоремы 3.13 и теоремы 1.2, 1.9 гл. 1 к функции F(x) = f(x) - - (а, х). 18. а) Пусть / — дифференцируемая выпуклая функция на Rn. Показать, что для любого числа Л > 0 решение уравнения /'(х) = -Ах на Rn существует и единственно. б) Показать, что система уравнений Ххх + 2е2ж1+3*2 + 2(х! - х2)е(Х1-Х2>2 = О, Лх2 + Зе2х1+3*2 - 2(х! - х2)е^~х^ = О имеет единственное решение при любом Л > 0. Указание, а) Применить задачу 17,б к функции F(x) = f(x) + + 0,5А||х||2; б) найти функцию / на R2, при которой данная система — не что иное, как /'(х) = —Ах. 19. Надграфиком функции /, определенной на множестве X с Rn, называется множество в Rn+1 вида Ef = {(х, /3) G X х R | /(х) ^ /?} (ср. с множеством Е\ из доказательства теоремы 3.12). Доказать следующие утверждения: а) функция /, определенная на выпуклом множестве X, выпукла на X в том и только том случае, если Ef — выпуклое множество; б) если / — выпуклая функция на выпуклом множестве X, то uEf = {(х, /?) G т\Х х R | /(х) < /?}. Указание. Использовать определение 1.8 и теорему 3.10. 20. Напомним, что функция /, определенная на множестве X С Rn, называется полунепрерывной снизу (сверху) в точке х G X, если из условий хк G X (к = 1, 2, ...), хк —> х следует /(х) < lim f(xk) (/(x) ^ lim f{xk)). Пусть X замкнуто. Показать, что следующие утверждения эквивалентны: а) функция / полунепрерывна снизу на Х\ б) ее надграфик Ef — замкнутое множество; в) все ее множества Лебега Хр (см. C.16)) замкнуты. Убедиться, что замкнутость X требуется лишь при переходе от а) к б), в). 21. а) Доопределим функцию / из примера 3.5, положив /@) = = 0. Показать, что / выпукла на X U {0} и полунепрерывна снизу, но не сверху в нуле; более того, для любого числа а ^ 0 найдется сходящаяся к нулю последовательность точек хк G X (fc = 1, 2,...) такая, что lim f(xk) = a. fc—юо б) Пусть / — выпуклая функция на полиэдре X. Доказать, что / полунепрерывна сверху на X. Если, кроме того, / полунепрерывна снизу на Ху то / непрерывна на X (см. [46, с. 101]). в) Пусть в рамках теоремы 3.3 множество X — полиэдр, функция (р(х, у) полунепрерывна снизу по х на X при каждом у eY. Показать, что функция / непрерывна на X. 22. Пусть / — выпуклая функция на выпуклом множестве X С Rn. Показать, что величина /'(х, К) (см. теорему 3.11) как функция
114 Гл. 3. Основы выпуклого анализа на т\Х х 1АпХ обладает следующими свойствами: а) /'(х, К) выпукла по h на ЬтХ при каждом х G riX; б) /'(х, /i) ^ —f'(x, —h) при всех х G riX, he LinX; в) /'(х, /i) полунепрерывна сверху на riX x LinX. 23. а) Пусть /i,...,/m — выпуклые функции на выпуклых т множествах Х\, ..., Хт из Rn соответственно, причем f) viXi ^ m m г=1 т^0 и Х)/г(я)^0 ПРИ всех Х^ Г\ Xi- Доказать, что существу- г=1 г=1 ют линейные функции U(x) = (а», х) + Ь; (г = 1, ..., га) такие, что ? /г(х) = 0 всюду на R" (т.е. ? ^ = 0, ? 6< = 0) и /<(х) ^ /*(х) г=1 V г=1 г=1 ' при всех х € Xi (г = 1, ..., т). Указание. Применить теорему Дубовицкого-Милютина (задача 7 § 2) к множествам Е{ = {(х, Ъ) G Rn х Rm | х G Xi9 fi(x) < Ъ{} (i = 1, ..., rn) и Е = {(х, 6) G Rn х Rm I § bi ^ о}. б) Убедиться, что при т = 2 утверждение из а) переходит в теорему 3.12. 24. Пусть Х\ — выпуклое множество, Х2 — полиэдр, f\ — выпуклая функция на Х\, /2 — линейная функция на Х2) причем riXi П12^ Ф 0 и справедливо C.12). Доказать, что выполняется утверждение теоремы 3.12. Указание. В той же схеме рассуждений вместо теоремы 2.3 использовать теорему отделимости из задачи 35 § 2. 25. Пусть / - сильно выпуклая с константой в > 0 функция на выпуклом множестве X, х* — точка минимума / на X. Получить следующие оценки: а) в\\х - х*||2 ^ f(x) — /(х*) при всех х G X; б) если / дифференцируема в точке х G X, то 20||х — х*|| < ||/'(х)Н и4(9(/(х)-/(а;*))<||/'(х)||2. Указание. Использовать определение 3.2 и теорему 3.6. 26. а) Пусть /i — выпуклая функция на выпуклом множестве X, Хо — крайнее подмножество X (см. задачу 20 § 2), /г — выпуклая функция на Хо, причем f2(x) ^ /i(x) при всех х G Хо- Показать, что функция если х G Х\Хо, если х G Х0, выпукла на X. б) Пусть X = {х G R2 | х\ ^ х2, ^1^0} и ix\/x2, если х G X, xi > 0, ¦* W ~| Х2> если х G X, xi = 0. Отметим, что / — выпуклая функция на X, имеющая разрыв в точках х G X: х\ = 0, хг > 0. Проверить, что для / утверждение теоремы 3.14 не выполняется: Хо — {0}, но Хр при /3 ^ 1 не ограничено. f(x) f/l(*).
§ 4. Субградиент и субдифференциал выпуклой функции 1_П) в) Показать, чуть модифицировав пример из б), что в теореме 3.14 условие замкнутости X также существенно. 27. Пусть / — ограниченная сверху выпуклая функция на Rn (на R+). Показать, что / — постоянная функция на Rn (/ монотонно не возрастает на R+). Указание. Воспользоваться соображениями из доказательства теоремы 3.14. 28. Функция /, определенная на выпуклом множестве X, называется квазивыпуклой, если все ее множества Лебега Хр выпуклы. а) Привести примеры, показывающие, что квазивыпуклая функция необязательно выпукла (хотя обратное, разумеется, верно). б) Показать, что квазивыпуклость эквивалентна условию: /(Ах1 + + A - \)х2) < max (/(s1), f{x2)) при всех х\ x2el, AG [0, 1] (ср. с задачей 1 § 1 гл. 2). в) Пусть /i — неотрицательная выпуклая, /2 — положительная вогнутая функции на выпуклом множестве X. Показать, что функция f(x) — /i(x)//2(x) квазивыпукла на X. § 4. Субградиент и субдифференциал выпуклой функции Согласно теореме 3.11 выпуклая функция имеет производные по всем направлениям во внутренних точках области определения. В то же время ее частные производные и, стало быть, градиент могут не существовать. Однако для выпуклой функции можно ввести понятия субградиента и субдифференциала (множества субградиентов), заменяющие в широком круге вопросов понятие градиента и сводящиеся к нему, если функция дифференцируема. В частности, эти обобщения используются в теории негладких выпуклых задач минимизации, а также при построении численных методов их решения. 1. Понятия субградиента и субдифференциала. Напомним, что для выпуклой функции /, дифференцируемой в точке х*у выполняется неравенство C.5), означающее, что график / лежит не ниже касательной гиперплоскости к нему в точке (ж*, f(x*)) (см. рис. 3.1). Согласно нижеследующему определению под субградиентом понимается любой вектор, который можно поставить в неравенстве C.5) на место f'(x*). Определение 4.1. Пусть / — функция на множестве IcRn. Вектор а е Rn называется субградиентом функции / в точке х* G X, если f(x) — f(x*) ^ (а, х — х*) при всех х е X. D.1) Множество всех субградиентов / в х* называется субдифференциалом f в х* и обозначается через д/(х*). Соотношение D.1) по аналогии с C.5) означает, что график Of = {(*, C)eXxR\ f(x) = /?}
116 Гл. 3. Основы выпуклого анализа Рис. 4.1. Опорная гиперплоскость к графику выпуклой функции (геометрический смысл субградиента) функции / лежит не ниже графика Я = {(х, /3) <Е Rn х R 11(х) = /?} линейной функции l(x) = f(x*) + + (а, х — х*) (рис. 4.1). При этом Я называется опорной гиперплоскостью к графику функции / в точке (х*, /(х*)). Заметим, что это вполне согласуется с общим понятием опорной гиперплоскости (определение 2.3), поскольку в принятых ранее обозначениях, очевидно, имеем Я = Яра, где р — (-а, 1), (а,х*), и (х*,/(х*))е pay GfCH+a. Более того, Я является графику опорной гиперплоскостью к так называемому над- Ef = {(x,p)eXxR\f(x)*:C} функции / в той же точке (рис. 4.1). Полезно отметить, что для функции числового аргумента собственно субградиент имеет геометрический смысл тангенса угла наклона опорной прямой (т.е. опорной гиперплоскости при п = 1) подобно тому, как производная, если она существует, есть тангенс угла наклона касательной. Из рис. 4.1 нетрудно понять, что для функции /, выпуклой на выпуклом числовом множестве X, имеет место формула №*) = [/к»*), /;<**)]. D.2) где fL(x*) и /+(х*) — лево- и правосторонние производные / в точке х* е intX. Иными словами, опорные прямые в точке (х*, /(х*)) занимают все промежуточные значения между лево- и правосторонними касательными в этой точке. Например, субдифференциал функции /(х) = ||х|| на R имеет вид {{-1}, если х < О, [-1, 1], если х = 0, {1}, если х > 0. Эта формула легко переносится на n-мерный случай: субдифференциал функции /(х) = ||х|| на Rn имеет вид Г{х/||х||}, если х^О, °П*)-< щ0^ если х = 0 где U\@) — шар единичного радиуса с центром в нуле (проверьте). Из формулы D.2) следует, что выпуклая функция числового аргумента дифференцируема в точке х* (т.е. /i(x*) = /+(х*) = /'(х*)) в том и только том случае, если ее субградиент в х* единствен. Тем же свойством обладает, очевидно, функция /(х) = ||х|| на Rn. Ниже
§ 4. Субградиент и субдифференциал выпуклой функции П7 это свойство и аналог самой формулы D.2) будут получены сразу для произвольной выпуклой функции многих переменных. 2. Свойства субдифференциала выпуклой функции. Прежде всего покажем, что понятия субградиента и субдифференциала тесно связаны с понятием выпуклой функции. Теорема 4.1. Пусть f — функция на выпуклом множестве IcRn Тогда: 1) если f выпукла на Ху то ее субградиент в любой точке х* G G riX существует, т. е. df(x*) ф 0; при этом df(x*) — замкнутое выпуклое множество] 2) если df(x*) ф 0 при всех х* € X, то f выпукла на X. Доказательство. 1) Применим теорему 3.12 в случае Х\ = X, ^2 = {х*}, f\(x) = f(x) при всех х еХ\ и Мх*) = f(x*) (отметим, что здесь пХг = {х*} и, значит, riXj П11Х2 = {х*} ф 0). Согласно ее утверждению существует линейная функция 1(х) = (а, х) + Ь такая, что f(x) ^ (а, х) + Ь для всех х G X, (а, х*) + Ь ^ /(ж*). Складывая эти неравенства, получаем D.1), т.е. a G df(x*). Замкнутость и выпуклость df(x*) следуют непосредственно из определения 4.1. 2) Для любых х1, х2 е X, А е [0, 1] положим х = \хх + A — \)х2 е G X. По условию существует а е df(x). Тогда /(х1) - /(х) ^ (а, х1 - х), /(х2) - /(х) ^ (а, х2 - х). Умножая первое из этих неравенств на А, второе — на A — А) и складывая их, приходим к неравенству C.1) из определения выпуклой функции (ср. с доказательством теоремы 3.6 при в = 0). Л Замечание. В относительно граничной точке субградиент выпуклой функции не обязательно существует. Примером служит все та же функция /(х) = -у/\ — х2 на X = [-1, 1], упоминавшаяся в связи с теоремами 3.11, 3.12. В точках х* = ±1 касательная к ее графику (единственный «кандидат» на опорную прямую) занимает вертикальное положение и поэтому не может проходить под графиком. В следующей теореме устанавливаются две формулы, связывающие субдифференциал выпуклой функции с ее производными по направлениям (см. теорему 3.11). Теорема 4.2. Пусть f — выпуклая функция на выпуклом множестве х с Rn и х* е ri X. Тогда: df(x*) = {aeRn\f'(x*,h)>(ayh) при всех heLinX}, D.3) /'(х*, К) = max (a, h) при всех h G \лъХ. D.4) a?df(x*) Доказательство. Обозначим правую часть в D.3) через Y. Пусть aedf(x*). Тогда для любого /iGLinX, с учетом определения 4.1 (а также непустоты множества А из C.10)), имеем /'(**, h) = lim /(**+<*)-/(**) ^ Um i^^> = ( h) a—0+ a a—0+ OL
118 Гл. 3. Основы выпуклого анализа т.е. aeY. Пусть, напротив, а G Y. Для любого х G X, используя формулу C.11) при h = х — х* G LinX и а = 1, получаем /(*) - f(x*) > /'(**. h) > (a, h) = (а,х- х*), т.е. а е df(x*), что и доказывает D.3). Зафиксируем h G LinX. Если h = 0, то равенство D.4) тривиально: в обеих его частях стоят нули. Пусть h ф 0. С учетом формулы D.3) для доказательства D.4) достаточно показать, что /'(**. К) ^ (а, К) D.5) при некотором aedf(x*). Вновь воспользуемся теоремой 3.12, но на этот раз положим Х\ = X, Х2 = {х G Rn | х = х* + a/i, a ^ 0}, /i(x) = Дх) при всех х G X и /2(х) = /(**) + И*"**11 /'(х*, h) при всех х G Х2. Поскольку х* G riX, то очевидно, что riXi ПпХг^ 0. При этом для любого х G Xi П Х2, т. е. х = х* + а/г G X при некотором а ^ 0, используя формулу C.11), имеем Л(х) = Дх) > Дх*) + af(x\ h) = /2(х). Кроме того, ясно, что /г(Ах! + A — А)х2) = А/2(х!) + A — А)/2(х2) при всех х1, х2 G Х2, А G [0, 1], т.е. функция /2 линейна на Х2 (но не на Rn!) и, следовательно, вогнута на Х2. Таким образом, выполнены все условия теоремы 3.12. Стало быть, существует такая линейная функция 1{х) = (а, х) + 6, что имеют место соотношения C.13), C.14), т. е. в данном случае /(х) ^ (а, х) + Ь при всех х G X, (а, х* + ah) +b^ Дх*) + а/'(х*, Л) при всех а ^ 0. Отсюда при а = 0 следует а G df(x*) (см. доказательство теоремы 4.1). Устремляя а к +оо, приходим к D.5). Л Заметим, что для функции / числового аргумента формула D.3) принимает вид D.2), поскольку Д(х*) =/'(х*, 1) и /i(x*) = = -/'(**,-о. Формула D.4) представляет собой обобщение на произвольные выпуклые функции формулы /V, Л) = </'(*•), Л), D.6) справедливой, как известно, для любой функции /, дифференцируемой в точке х* G Rn. Это более отчетливо видно из следующей теоремы, где устанавливается связь понятий субградиента и субдифференциала с понятием дифференцируемости. Теорема 4.3. Пусть f — выпуклая функция на выпуклом множестве X С Rn и х* G int X.
§ 4. Субградиент и субдифференциал выпуклой функции 119 Тогда: 1) если f дифференцируема в данной точке х*, то df(x*) = = {f'(x*)}, т.е. градиент /'(#*) является единственным субградиентом f в х*\ 2) если df(x*) = {а}, т.е. субградиент f в х* единствен, то f дифференцируема в я*, причем а = f'(x*). Доказательство. 1) Пусть aedf(x*). Заметим, что LinX = = Rn, так как х* е intX. Тогда, согласно D.3), D.6), при любом h G G Rn имеем (f'(x*), h) ^ (а, /г), т.е. (f'(x*) - a, h) ^ 0. Если здесь взять h = a — f'(x*), то получим, что —]|/'(ж*) -а||2 ^ 0, т.е. а = = f'{x*). Таким образом, df(x*) = {f'(x*)}. 2) Обозначим через Ur = Ur@) шар радиуса г с центром в нуле. Поскольку х* е int X, то х* + t/r с intX при некотором г > 0. Рассмотрим функцию р(а> /i) = /(** + *Ц-/0О _ (а> Л)> D.7) где а е @, 1], h е Ur. Поскольку df(x*) = {а}, то формула D.4) принимает вид: f'(x*, h) = (a, /i). Тогда, в силу теоремы 3.11, для любого фиксированного h eUr функция ср(а, h) монотонно не убывает на @,1] и сходится к 0 при а —> 0-f. При этом, с учетом теоремы 3.10, для любого фиксированного а е @, 1] функция <р(а, К) непрерывна по h на компакте Ur. Следовательно, по известному признаку Дини, указанная сходимость является равномерной на Ur, т.е. для любого е > 0 существует S ? @, 1] такое, что 0 < ip(a, h) < е при всех а е G @, <5), h е С/г- Для любого h е Usr положим а' = ||Л||/г, Ы = r/i/||ft||. Тогда a' е @, 5), Ы е С/г, и, значит, 0 < ср(а', ti) ^ е. Если теперь раскрыть эту запись с учетом D.7), то получим °^ га ^- Следовательно, ,. /(»* + /»)-/(О-(о, Л) _ 0 Н> ||Ь|| Это и означает, что / дифференцируема в ж*, причем, очевидно, а = = /4х*) (достаточно взять h = aej при а —> 0, где е* — j-н единичный орт в Rn). Д Т 3. Субдифференциальное отображение. Обозначим через П (Rm) множество всех непустых подмножеств пространства Rm. Отображение F: X-»n(Rm), сопоставляющее каждой точке х е X С Rn непустое множество F(x) с Rm, принято называть многозначным, или точечно-множественным. Если / — выпуклая функция на открытом выпуклом множестве X с Rn, то согласно теореме 4.1, в любой точке х € X субдифференциал df(x) непуст. При этом естественным образом возникает многозначное отображение df:X€U(Rn), называемое субдифференциальным. Ниже нам потребуются некоторые понятия теории многозначных отображений.
120 Гл. 3. Основы выпуклого анализа Определение 4.2. Пусть XcRn. Многозначное отображение F: X -+ П(Кт) называется: 1) замкнутым, если из условий xkeX, ykeF(xk), хк^хеХ, yk-^yeRml) следует, что у е F{x)\ 2) локально ограниченным, если из условий xk еХ, уке F(xk), хк^хеХ следует, что последовательность {ук} ограничена; 3) выпуклозначным, если F(x) — выпуклое множество при любом х е X; 4) монотонным, если т = п и (у1 — у2, х{ — х2) ^ 0 при всех zl,x2eX,yleF(xl), y2eF{x2). Теорема 4.4. Пусть f — выпуклая функция на открытом выпуклом множестве X С Rn. Тогда ее субдифференциальное отображение df:X —> n(Rn) замкнуто, локально ограничено, выпуклозначно и монотонно. Доказательство. 1) Замкнутость df. Пусть xk EX, ak e df(xk), xk->xeX, ак -> о. По определению df{xk) имеем f(x')-f(xk)^(ak,x'-xk) при всех х'е X. D.8) При этом f(xk) —> f(x), так как функция / непрерывна на X (теорема 3.10). Тогда предельным переходом в D.8) получаем f(x') — f(x) ^ (а, х' — х) при всех х' G X, т.е. а € df(x). 2) Локальная ограниченность df. Пусть хк еХ, ак е df(xk), хк -> х е X. Тогда по-прежнему справедливо D.8). Допустим, что последовательность {ак} не ограничена. Без потери общности можно считать, что ||afc||—>оо и afc/||afc|| —> а ф 0. Производя в D.8) деление на ||а*|| и переходя затем к пределу, получаем 0 ^ (а, х' — х) при всех х' Е X. Поскольку X открыто, то здесь можно взять х' = х + аа при достаточно малом а > 0. Отсюда а = 0, что противоречит ранее сказанному. Таким образом, {ак} ограничена. 3) Выпуклозначность df. Выпуклость множества df(x) при любом х е X уже отмечалась в теореме 4.1. 1) Здесь и далее в такого рода записях имеется в виду, что индекс к пробегает все натуральные значения: к = 1, 2, ...
§ 4. Субградиент и субдифференциал выпуклой функции \2\_ 4) Монотонность df (ср. с теоремой 3.8 при 6 = 0). Пусть х1, х2 еХ, а1 е df(xl), a2 е df(x2). Тогда f(x2) - f(xl) > (а1, х2 - х1}, /(х1) - /(х2) > (а2, х1 - х2). Складывая эти неравенства, получаем (а1 - а2, хх - х2) ^ 0. Л Без труда можно показывать, что однозначное отображение непрерывно в том и только том случае, если оно замкнуто и локально ограничено как многозначное с одноточечными образами-множествами. Отсюда и из теорем 4.3, 4.4 следует Теорема 4.5. Пусть f — дифференцируемая выпуклая функция на открытом выпуклом множестве X С Rn. Тогда f непрерывно дифференцируема на X, т. е. ее градиентное отображение /': X -» Rn непрерывно. Данное утверждение показывает, сколь эффективным является понятие субдифференциала даже при изучении дифференцируемых выпуклых функций, где казалось бы, оно не может дать ничего нового. Для отображений F{: X -+U(Rn), F2: X ->U(Rn) условимся писать F{ П F2 ф 0, F{ с F2, F{ = F2, если соответственно Fx(x) П F2(x) ф 0, Fx(x) С F2(x), F,(x) = F2(x) при всех х е X. Кроме того, обозначим через convF: X -> П(КП) выпуклую оболочку отображения F: X -* П(КП), т.е. отображение, сопоставляющее каждой точке х е X множество convF(x). Ясно, что convF = F, если F выпуклозначно. Следующая теорема позволит легко получить ряд важных свойств субдифференциальных отображений. Теорема 4.6 [53]. Пусть X — открытое множество в Rn, F\: X —* П(КП) — замкнутое локально ограниченное, a F2: X —> —> n(Rn) — монотонное отображения, причем F\C\F2^ 0. Тогда convi<2 С convFi. Доказательство. Пусть хеХ и у е F2(x). Покажем, что у е G convFj(x). Допустим, что это не так. Из условий на Fi следует, что множество F\(x) — компакт. Тогда convFi(x) — выпуклый компакт (следствие теоремы 1.7). Согласно следствию 2 теоремы 2.1 существует вектор р еКп такой, что (у' — У* Р) < 0 ПРИ всех У1 € convFi(x). D.9) Рассмотрим последовательность точек хк = х+р/к (к = 1, 2, ...). Поскольку X открыто, то хк е X при достаточно больших к. По условию при любом таком к существует ук € F\(xk)nF2(xk). Из локальной ограниченности F\ следует, что последовательность {ук} ограничена. Пусть без потери общности ук-*у*. Тогда у'е F\(x) в силу замкнутости F\. Далее, из монотонности F2 следует (ук—у,
122 Гл. 3. Основы выпуклого анализа хк — х) ^ 0 или же (ук —у,р)^ О. Переходя здесь к пределу, получаем (yf — У>р)^ 0> что противоречит D.9). Таким образом, у е convF\(x), т. е. F2 С convFj. Отсюда convF2 С convFi. Л По-разному комбинируя теоремы 4.4 и 4.6, получаем следующий результат. Теорема 4.7. Пусть f — выпуклая функция на открытом выпуклом множестве X С Rn и F: X —» n(Rn) — многозначное отображение. Тогда: 1) если F замкнуто, локально ограничено и FDdf^0J то df С conv F; 2) если F монотонно и F ndf ф 0, то convF С df\ 3) если F замкнуто, локально ограничено, монотонно и F ndf ф Ф 0, то df = convF; 4) если F замкнуто и F С df, то df = convF; 5) если F монотонно и df С F, то df = F. Каждое из этих утверждений по-своему характеризует свойства субдифференциальных отображений. Например, утверждение 5) означает, что эти отображения являются максимальными в классе монотонных. Утверждение 4) говорит о том, что они, напротив, минимальны в классе замкнутых и выпуклозначных. Данное утверждение оказывается особенно полезным в приложениях. В этом мы сможем убедиться в следующем пункте параграфа. 4. Вычисление субдифференциалов. В теоремах 3.2-3.5 были описаны наиболее распространенные внутренние операции в классе выпуклых функций. Ниже применительно к каждой из этих теорем указывается, как вычислить субдифференциал вновь полученной выпуклой функции, если известны субдифференциалы исходных. Теорема 4.8. Пусть f\, ..., /m — выпуклые функции на открытом выпуклом множестве X С Rn, ai, ..., am — неотрицательные числа. т Тогда субдифференциал функции f(x) — ^ <х%1х(я) имеет вид df(x) = ^mdfiix), xeX. D.10) i=\ Заметим, что если функции /i,...,/m дифференцируемы, то, с учетом теоремы 4.3, данная формула предстает в знакомом виде: т Доказательство. Обозначим правую часть равенства D.10) через F(x). В результате возникает многозначнее отображение F: X—>П(КП). Из замкнутости, локальной ограниченности и вы- пуклозначности отображений dfi (теорема 4.4) легко следует, что отображение F замкнуто и выпуклозначно (а также локально ограничено, но это нам не требуется). Кроме того, F С df.
§ 4. Субградиент и субдифференциал выпуклой функции 123 В самом деле, пусть х е X и а е F(x). Тогда т а = \^а{а\ где аг Е <?/i(x), г=1,...,га. г=1 Для любого г = 1, ..., га, по определению dfi(x), имеем fi(x') - fi(x) ^ (а\ х' - х) при всех х' Е X. Отсюда после умножения на <Х{ и суммирования по г получаем f{x') — f(x) ^ (а, х' — х) при всех х' Е X, т.е. а Е df(x). Итак, F с df. Тогда из утверждения 4) теоремы 4.7 следует, что df = convF = F. Иными словами, выполняется D.10). Л Теорема 4.9. Пусть X — открытое выпуклое множество в Rn, Y — компакт, (р(х, у) — функция на X х У, выпуклая по х на X при каждом у Е У и непрерывная по совокупности аргументов на X х У. Тогда субдифференциал функции f(x) = max(p(x, у) имеет вид df(x) = conv( (J ^(x,y)Y хеХ, D.11) yeY(x) где Y(x) = {у E У | </?(x, у) = /(x)}, a cty?(x, у) — субдифференциал функции ip(x, у) по х на X при данном у Е У. Доказательство. Обозначим выражение, стоящее в D.11) под знаком conv, через F(x). Покажем, что получающееся отображение F: X —> n(Rn) замкнуто. Пусть хк Е X, а* Е F(xfc), xfc -> х Е X, afc -» а. Тогда ак Е д(р(хк, ук) при некотором yfc E y(xfc), т.е. таком, что ук Е Е У и <р(хк, ук) = f(xk). Поскольку У — компакт, то без ограничения общности можно считать, что ук —>у eY. При этом (p(xkt yk) —> —> ср(х, у) и /(xfc) —» /(х), так как у? непрерывна в силу условий данной теоремы, а / — в силу теоремы 3.10. Следовательно, (р(х, у) = = /(х), т. е. у Е У(х). Далее, по определению д(р(хк, ук), имеем 4>{х\ ук) - <р(хк, ук) ^ (afc, х' - хк) при всех х' Е X. Переходя здесь к пределу, получаем <р(х', у) — (р(х, у) ^ (а, х' — х) при всех х' Е X, т.е. а ? д<р(х, у) с i*\x), что и доказывает замкнутость F. Пусть теперь хеХ и a E F(x), т.е. а е дц>(х, у) при некотором у Е У(х). Тогда /(х) = </?(х, у) и для любого xf e X имеем f(x') - f(x) ^ (р(х\ у) - <р(х, у) ^ (а, х' - х),
124 Гл. 3. Основы выпуклого анализа т.е. aedf(x). Итак, Fcdf. Вновь используя утверждение 4) теоремы 4.7, получаем, что df = convF, т.е. выполняется D.11). Л Замечание. Из хода доказательства теоремы ясно, что условие «У — компакт» можно заменить более слабым «У — ограниченное множество», если дополнительно потребовать, чтобы (р(хк, ук) —> —оо, когда хк е X, ук € У, хк ^> х е X, ук —> у eY\Y. Такая форма теоремы часто оказывается более удобной в приложениях (см. пример 4.2). Теорему 4.9 полезно переформулировать применительно к максимуму конечного числа выпуклых функций. Следствие. Пусть f\, ..., /m — выпуклые функции на открытом выпуклом множестве X. Тогда субдифференциал функции f(x) = max /»(х) имеет вид (v г=1,...,т (J dfi(x)\ xex, D.12) гвЦх) где 1{х) = {г \ h(x) = f(x)}. Используя теорему 1.5, а также выпуклость множеств dfi(x), нетрудно показать (ср. с задачей 16 § 1), что формулу D.12) можно представить в виде df(x) = U e Rn I а = ^ Л*а*> а* е 9/(х)> А* > °« ie 7(х)' ? Ai = l}. D.13) г€/(х) г?1(х) В частности, если функции /ь ..., /т дифференцируемы на X, то df(x) = [a e Rn | а = ? А,Л(х), А, ^ 0, г G 7(х), ? А< = »}• г€/(х) tG/(x) D.14) Для доказательства следующей теоремы потребуются две леммы. Лемма 4.1 (ср. с задачей 9 § 1). Пусть А\, ..., Ат — выпуклые множества в Rn, Р — выпуклое множество в Rm, причем Р С R™. Тогда множество ю. где р = (р\, ..., Рт), выпукло. Доказательство. Пусть а, Ь е А, А е @, 1). Имеем а = ]Грга\ 6 = ]Г^Ьг г=1 при некоторых р, q е Р, а*, 6* е Л» (г = 1, ..., га). Положим г = Ар + + A— X)q е Р и /={г|г;>0}. Заметим, что р; = # = 0, если
§ 4. Субградиент и субдифференциал выпуклой функции 125 Г{ = 0. С учетом этого имеем т Ха + A - \)Ь = J2 (W + A - А)д^) = iei ^ г г / i€/ »=1 т. е. А выпукло. Л Вторая лемма является аналогом утверждения о неотрицательности градиента монотонно неубывающей дифференцируемой функции. Лемма 4.2. Пусть (р — монотонно неубывающая выпуклая функция на открытом выпуклом множестве U G Rm. Тогда dtp (и) С R™ при любом и G ?/. Доказательство. Пусть р G д(р(и), т.е. ip(u') - ip(u) ^ (р, и' - и) при всех и' G U. Подставляя сюда и' = и — ае\ где е{ — г-й единичный орт в Rm, a а > 0 — столь малое число, что и' G t/, получаем 0 ^ <р(и') — <р(и) ^ ^ -api. Итак, pi ^ 0 при всех г = 1, ..., га, т. е. р ^ 0. А Теорема 4.10. Пусть д\у ..., дш — выпуклые функции на открытом выпуклом множестве X С Rn, д = (д\, ..., gm) — обря- зованная из них вектор-функция, (р — монотонно неубывающая выпуклая функция на открытом выпуклом множестве U С Rm, причем д(Х) С U. Тогда субдифференциал функции f(x) = <p(g(x)) имеет вид т №)= U (!>%(*)). хеХ' D15) р?д(р(и) г—\ где и — д(х). Доказательство. Обозначим правую часть в D.15) через F(x). Из замкнутости и локальной ограниченности отображений dgi, dip без труда выводится, что отображение F замкнуто. Из лемм 4.1, 4.2, а также выпуклозначности дд^ dip следует выпуклозначность F. Проверим, m что Fcdf. Пусть хеХ и aeF(x), т.е. a=Y^Viai ПРИ некото- ром р G dip{u), где и = д(х), и некоторых аг G dgi(x) (г = 1, ..., га). С учетом того, что р ^ 0 (лемма 4.2), для любого х' е X имеем Дх') - Дх) = ^E(х')) - ?($(*)) > <р, 5(*') - <?(*)> = m m т.е. aedf(x). Итак, Fcdf. Теперь можно снова воспользоваться утверждением 4) теоремы 4.7. Л 5 А. Г Сухарев и др
126 Гл. 3. Основы выпуклого анализа В частности, если функция tp дифференцируема в точке и = д(х)у то формула D.15) приобретает вид дПх) = ^^(и)д9г(х). D.16) г=1 Если, кроме того, функции д\, ..., дт дифференцируемы в х, то получаем известную формулу для градиента суперпозиции дифференцируемых функций: /'(*) = Её (^(*)- Доказательство следующей теоремы, проводимое тем же методом, предоставляется читателю в качестве полезного упражнения. Теорема 4.11. Пусть <р — выпуклая функция на открытом выпуклом множестве U С Rm, А — матрица размера т х п, Ъ G Rm, причем множество X = {х € Rn | Ax + b ? U} непусто. Тогда субдифференциал функции f(x) = ip(Ax + b) имеет вид Of(x) = д<р{и)А d= {a e Rn | а = рА, ре д<р(и)}, где и = Ах + Ъ. Рассмотрим примеры использования изложенной теории. Пример 4.1. Пусть /0 — выпуклая функция на открытом выпуклом множестве X С Rn, q ^ 1 — заданное число. Тогда функция /(я) = [тах@,/0(*))р выпукла (пример 3.2). Вычислим ее субдифференциал. Положим g(x) = max@, /о(#)). Согласно D.16) имеем df(x) = q\g{x)]"-ldg(x)t xGl, где, в силу D.13), (df0(x)9 если /о(х)>0, дд(х) = { {°} > если /о(*) < 0> {а | а = Аа', 0 < А ^ 1, а' е df0(x)} , если f0(x) = 0. Если q = 1, то df(x) = дд(х) и ответ получен. Пусть q > 1. Заметим, что df(x) = {0}, когда /0(х) ^ 0 и, значит, д(х) = 0. С учетом этого можем записать df(x) = q [g(x)}o-]df0(x) = q [max@, fo(x))]*-ldf0{x). В частности, если функция / дифференцируема в точке х € X, то, в силу утверждения 1) теоремы 4.3, субдифференциал dfo(x) состоит из одного элемента при любом х е Rn. Тогда, по утверждению 2) той же теоремы, функция / дифференцируема в х, причем /'(я) = 9 [max @, /о(*))Г 7о(*)-
§ 4. Субградиент и субдифференциал выпуклой функции 127 Следующий пример будет использован в п. 4 § 1 гл. 4. Пример 4.2. Пусть X — замкнутый конус, лежащий в неотрицательном ортанте R+, / — непрерывная однородная функция на X, причем f(x) > О хотя бы при одном х е X (однородность / означает, что /(Ах) = А/(х) при всех х е X, А ^ 0). Рассмотрим задачу /(*)-> max, (р, х) ^ /3, х е X, где число /3 > 0 фиксировано, а вектор р > 0 может меняться. Используя теорему 1.1 (Вейерштрасса) гл. 1, легко убеждаемся, что при любом р > 0 задача D.17) имеет глобальное решение. Пусть Х*(р) — множество ее глобальных решений, f*(p) — максимальное значение ее целевой функции, т.е. f*(p) = f(x) при х е Х*(р). Ясно, что f*(p) > > О всюду на intR+. Рассмотрим функцию F(p) = /3 In/*(р), р>0. Оказывается, эта функция выпукла на intR+ и ее субдифференциал имеет вид dF(p) = -convX*(p), p > 0. D.18) Чтобы убедиться в этом, введем функцию к(р) = тж%Щу р>0, D.19) v ; з/€У (р, у) где Y = 1у е X К^ yi = 1, f(y) > 01. Пусть Y(p) — множество всех у е У, на которых достигается максимум в D.19). Из того, что X — конус, а / — однородная функция на X, без труда выводится, что на самом деле /*(р) = h(p) при всех р > 0, причем для у G У включение у е Y(p) имеет место в том и только том случае, если х = /Зу/(р, у) G 6 Х*(р). Тогда F(p) = /3 ln(ma* g^) =/3 в^с(Ь/? + 1п/(у) -ln{pf у)). Заметим при этом, что множество У ограничено, функция ^(р, у) = = In /3 + In /(у) — ln(p, у) выпукла по р на intRn при каждом у eY (теорема 3.5) и непрерывна по совокупности аргументов на intR^ x х У, причем <р(рк, yk) —> —сю, когда рк > 0, ук eY, рк -+ р> 0, yfc -* —* у 6 У \У (и, значит, /(у) = 0). Кроме того, функция <р(р, у) дифференцируема по р при каждом у е У и ч>'р(р, у) = -у/{р, у). Тогда из теоремы 4.9 с учетом замечания к ней получаем dF(p) = /?conv {х | х = -у/(р, у), у G У(р)} = -conv X*(p), что и доказывает D.18). При этом, разумеется, F выпукла на intR!}:. В частности, если при данном р > 0 задача D.17) имеет единственное решение х*(р), то из теоремы 4.3 и формулы D.18) следует, что F 5*
128 Гл. 3. Основы выпуклого анализа дифференцируема ври F'(p) = -x*(p)- Подчеркнем, что этот факт уже не содержит какого-либо упоминания о субдифференциалах, и тем не менее теория субдифференциала была существенно использована при его выводе. Полезно также отметить, что если в дополнение к сделанным вначале предположениям множество X выпукло, а функция / вогнута на X, то множество Х*(р) выпукло (теорема 1.10 гл. 1) и, следовательно, в формуле D.18) знак conv можно убрать. А ЗАДАЧИ 1 !). Доказать, что df(x*) HLinX ф 0 при всех x*enXt т.е. субградиент всегда можно выбрать в LinX. 2. Пусть Xq — ограниченное подмножество X. Показать, используя теорему 4.1, что / ограничена снизу на Xq. Вывести отсюда, что в теореме 3.13 условия непрерывности / и замкнутости X излишни. 3. Пусть Xq — компактное подмножество riX. Показать, что / удовлетворяет условию Липшица на Xq, т. е. существует число L такое, что \f(xl) — f(x2)\ < L\\xl — х2\\ при всех xl, x2 е Xq. Указание. Показать, что множество (J (df(x) ПLinX), непус- х?Х0 тое в силу задачи 1, ограничено, а затем использовать определение 4.1. 4. Пусть градиент f'(x*) в точке х* е intX существует. Доказать, что / дифференцируема в х*. Указание. Показать, используя задачу 22 § 3, что /'(х*, ft) — = (/'(ж*), ft), и обратиться к теореме 4.3. 5. Доказать, что в теоремах 4.8-4.11 производная по направлению функции / имеет соответственно вид т f'(x, ft) = S^otifKx, h), f'(x, h) = max ip'{xy ft, y), f^ y€Y(x) где <p'(x, ft, y) — производная (р(эь?. у) как функции х по направлению ft при данном у; f'(x, ft) = max V^Pt/i(x> ^)» ГДе u — f(x)> f'(x> ^) = p?d(p(u) -f-f = <pT(Ax + b,Ah). t=I Указание. Первая формула следует непосредственно из определения производной по направлению; для получения второй обосновать, используя теоремы 4.2 и 4.9, следующую цепочку: /'(*. h) = = max (a, ft) = max max (a, ft) = max ф'(х, ft, y)\ aEconv( U <*(..V>) У€У(«) а€М..у)Х у€У(«) yev(x) третья и четвертая формулы доказываются аналогично. 1) В задачах 1-4 предполагается, что / — выпуклая функция на выпуклом множестве X.
§ 5. Системы выпуклых и линейных неравенств 129 6. Найти субдифференциалы и производные по направлениям функций: а) f(x) = \х- 1| + |ж+ 1|, xgR; б) f(x) = max ((«г, х) - Ь{)> х е R; г=1, ...,т т в) f(x)=52\(ai,x)-bi\, xgR; г=1 r) /(x) = e"xll, xeRn] д)/(х) = \\Ах-Ь\\, xeRn. 7. Пусть X — выпуклый компакт в Rn. Найти субдифференциал и производные по направлениям его опорной функции 6(х, X) (см. задачу 9 § 3). 8. Пусть выполняются предположения из примера 4.2. а) Доказать, что при любом р>0 задача D.17) эквивалентна (в смысле совпадения множеств глобальных решений) задаче /?1п/(х) — (р, х) —> max, x G X. б) Используя а), вывести формулу D.18) непосредственно из утверждения 4) теоремы 4.7 (см. [53, с. 33]). в) Показать, что функция f*(p) также выпукла на intR!j:, причем 0/*(р) = -f*(p)convX*(p)/f3. Указание. /*(p) = eFW/0. § 5. Системы выпуклых и линейных неравенств В этом параграфе приводится ряд однотипных теорем существования, которые найдут эффективные применения в гл. 4 при выводе необходимых условий оптимальности в задачах математического программирования. Отметим, что сами эти теоремы целиком базируются на теории отделимости. Можно сказать, что они представляют собой лишь специальную форму данной теории, удобную при исследовании задач оптимизации. 1. Теорема Фана. Теорема регулярности для системы выпуклых неравенств. Отправной точкой послужит нам следующая теорема. Теорема 5.1 (Фана). Пусть X — выпуклое множество в Rn, /i, ...,Д — выпуклые функции на X, Д+ь ..., /т — линейные функции на Rn. Предположим, что система Л(х)<0, i=l,...,fc, E.1) /,(х)=0, i = *+l, ...,m, E.2) не имеет решения на X.
130 Гл. 3. Основы выпуклого анализа Тогда существуют числа у{ ^ 0, ..., ук > 0, yfc+1, ..., ym, не равные нулю одновременно и такие, что т ^2,yif%{x) ^ 0 пРи всех х е X. E.3) г=1 Доказательство. Рассмотрим множества С/, = {и е Rm | fi(x) ^щ, i = 1, ..., k\ fi(x) = щ, i = k + 1, ..., m, при некотором х е X}, t/2 = {ueRm |u. <0, t=l, ...,fc; ^ = 0, i = fc+l, ..., m}. Отсутствие решений системы E.1), E.2) означает, что U\ П t/2 = 0- Без труда проверяется, что множество C/i выпукло (именно здесь существенны указанные условия выпуклости и линейности). Выпуклость f/2 очевидна. Тогда, по теореме 2.3, существует ненулевой вектор у е Rm такой, что (у, и) ^ (у, г>) при всех и eU\, ue^- Иными словами, т к Y^ViUi ^ Х^У^г E.4) г=1 г=1 при всех и е U\, v\ ^ 0, ..., vk ^ 0. Отсюда при v\ —> —сю, ... ..., Vk —> —оо получаем, что yi ^ 0, ..., у* ^ 0. Для любого х е X рассмотрим вектор u G Rm с координатами щ = fi(x) (i = 1, ..., га). Ясно, что и eU\. Подставляя этот вектор в E.4) и полагая там г>1 = = ... = Vk = О, приходим к E.3). Л Замечание. Указанные в теореме условия выпуклости и линейности существенны. Так, система /!(х) = -х2<0, /2(х) = х = О не имеет решения на R, но неравенство —у\х2 + у2х ^ 0, где у\ ^ О, может выполняться всюду на R лишь в случае у\ = у2 = 0. Дело в том, что функция /i невыпукла (вогнута) на R. Утверждение теоремы нарушается также для системы fi(x) = x-l <0, f2(x) = х2 - 1 = О, не имеющей решения на R+: здесь функция /2 нелинейна. Читатель без труда приведет пример, показывающий, что условие выпуклости X столь же необходимо. Это и аналогичные замечания к последующим теоремам параграфа важны в том плане, что они фактически указывают на существенность тех или иных предположений, при которых в главе 4 будут выводиться необходимые условия оптимальности в задачах математического программирования (см. замечания к теоремам 2.4, 3.1 и 3.2 гл. 4).
§ 5. Системы выпуклых и линейных неравенств 1^ В теореме 5.1 не исключается, что среди неотрицательных чисел 2/ь ..., уь, соответствующих неравенствам, имеются нулевые. Все остальные теоремы этого параграфа решают, по существу, одну и ту же проблему: для систем типа E.1), E.2) (в которых будут допускаться и нестрогие неравенства) они указывают те или иные условия, при которых имеет место соотношение E.3), где число yiy соответствующее выделенному строгому неравенству (далее оно помечается индексом г = 0), положительно. Такого рода утверждения называются теоремами регулярности. Мы увидим в главе 4, сколь важна их роль при исследовании задач математического программирования. Укажем простейшую теорему регулярности, которая относится к системе, состоящей только из строгих выпуклых неравенств. Теорема 5.2. Пусть X — выпуклое множество в Rn, /o»/i,---,/m — выпуклые функции на X. Предположим, что система /о(*)<0, E.5) Д(я)<0, i = l ш, E.6) не имеет решения на X, а ее подсистема E.6) — имеет. Тогда существуют числа у0 > 0, у\ ^ 0, ..., Ут ^ 0 такие, что т 2/о/о0*0 + ^2 y%fi(x) ^ 0 при всех х е X. E.7) г=1 Доказательство. Согласно теореме 5.1 существуют числа 2/о ^ 0, у\ ^ 0, ..., ут ^ 0, не равные нулю одновременно и такие, что выполняется E.7). Допустим, что уо = 0. В этом случае среди чисел 2/1,..., Ут есть положительные. Тогда для точки хеХ, т являющейся решением системы E.6), имеем ^ yifi{x) < 0. Но это г=1 противоречит E.7), где, как мы предположили, уо = 0. Таким образом, 2/о >0. Л Замечание. В теореме нельзя отказаться от условия, что система E.6) имеет решение на X. Примером служит система /о (ж) = х < 0, fx(x) = x2<0 на множестве R (проверьте). Отметим, что в соотношении E.7) можно считать уо = 1: для этого достаточно поделить все его члены на уо> 0.В последующих теоремах регулярности аналогичные соотношения формулируются сразу с г/о = = 1, причем этот случай обеспечивается там из более тонких, нежели в теореме 5.2, соображений. 2. Теоремы регулярности для систем линейных неравенств и уравнений. Отметим, что доказанная ранее теорема 2.4 (Фаркаша) представляет собой теорему регулярности для системы однородных
132 Гл. 3. Основы выпуклого анализа линейных неравенств. Чтобы яснее понять это, перепишем ее в несколько ином виде — в форме и обозначениях, приближенных к теореме 5.1 (Фана). Теорема 5.3. Предположим, что система /о(х) = (а0, х) < О, fi(x) = (a,i, x) < 0, г = 1, ..., т, не имеет решения на Rn. Тогда существуют числа у\ ^ 0, ..., ym ^ 0 такие, что т т.е. ш fo(x) + ^Г Vifi(x) = ° пРи всех х eRn. г=1 Опираясь на этот результат, можно получить теорему регулярности для системы неоднородных линейных неравенств. Теорема 5.4. Предположим, что система f0(x) = (a0,x) + b0<0, E.8) fi(x) = (ai, x) + bi ^ 0, г = 1, ..., га, E.9) не имеет решения на Rn, а подсистема E.9) — имеет. Тогда существуют числа у\ ^ 0, ..., уш ^ 0 такие, что т т ao+J2yiCii = °' b°+5Zyib{ ^ ° <5-10) г=1 г=1 и, значит, т fo(x) + ^ УгЛ(^) ^ 0 при всех xeRn. г=1 Доказательство. Рассмотрим систему однородных линейных неравенств (ао, ft) + М < 0, E.11) (а;, ft) + bi\ < 0, г = 1, ..., га, E.12) (О, ft)-A<0. E.13) Допустим, что она имеет решение (ft, А) е Rn x R. В силу E.13) либо А > 0, либо А = 0. Если А > 0, то из E.11), E.12) следует, что х = = Л/А — решение системы E.8), E.9). Но это противоречит условию теоремы. Если же А = 0, то (ао, ft) < 0 и (ai, ft) < 0 (г = 1, ..., га). Возьмем решение х системы E.9). Тогда (ао, х + ah) +b0 = {(ао, х) + 60) + а(а0, ft) < О
§ 5. Системы выпуклых и линейных неравенств 133 при достаточно большом а > 0 и (aif х + ah) + Ь» < 0, г — 1, ..., га, при любом а ^ 0. Следовательно, система E.8), E.9) имеет решение вида х + аЛ, что снова противоречит условию теоремы. Итак, система E.11)—E.13) не имеет решения. Тогда, по теореме 5.3, существуют числа у\ ^ 0, ..., ут ^ 0, ут+\ ^ 0 такие, что т (а0, bo) + ^yi(ai, bi)+ym+i@, -1) = 0, т.е. выполняется E.10). Л Замечание. В теореме нельзя отказаться от условия, что система E.9) имеет решение. Примером служит система /о(х) = х\ < 0, fi(x) =x\ + х2 ^0, /г(ж) = -х\ -х2+ 1 ^ 0 (проверьте). Теперь без труда получается общий результат для систем линейных неравенств и уравнений Теорема 5.5. Пусть X - полиэдр в Rn, /о, /ь ..., /ь Л+ь ••• • • •, fm — линейные функции на Rn. Предположим, что система /о(*)<0, E.14) /<(*)< 0, t=l, ...,fc, E.15) /i(x)=0, » = fc+l, ..., m, E.16) яе имеет решения на X, а ее подсистема E.15), E.16) —- имеет. Тогда существуют числа у\ ^ 0, ..., yk ^ 0, yk+\, . • •, Ут такие, что ш fo(x)+ y^Vifi(x) ^ Q при всех xGX. E.17) г=1 Доказательство. По определению полиэдр X можно представить в виде X = {xeRn\gt{x)^0y t=l, ...,*}, где pi, ..., gs — некоторые линейные функции. Рассмотрим систему fo(x) < 0, fi(x) ^0, i= l, ..., fc, Л(я?) ^ 0, -Л(х) ^0, i = fc + 1, ..., т, #t(z) ^0, t = 1, ..., 5. Эта система удовлетворяет предположениям теоремы 5.4. Поэтому существуют неотрицательные числа ?/ь ..., уь Ufc+i, Vfc+i, ..., ttm, vm, ^ь •. •, zs такие, что
134 Гл. 3. Основы выпуклого анализа km s fo(x) + ^2yifi(x)+ ]Г {ui-Vi)fi{x) + ^zt9t{x)>Q г=1 i=k+\ t=l при всех х G Rn. Положим Уг — щ — Vi для г = к + 1, ..., га. Тогда т s /o(s) + ^2y%fi(x) > -^ztgt(x) ^ 0 t=i t=\ при всех х ? X. А Ў 3. Теоремы регулярности для смешанных выпукло-линейных систем. Опираясь на полученные результаты, докажем две более глубокие теоремы регулярности. Первая представляет собой прямое обобщение теоремы 5.5, связанное с заменой в E.14) и E.15) некоторых из линейных функций на выпуклые. При этом, подчеркнем, соответствующие неравенства в E.15) становятся строгими, как и в E.1), E.6). Теорема 5.6. Пусть X — полиэдр в Rn, /о, /ь ..., fi — выпуклые функции, определенные на относительно открытом выпуклом множестве U, содержащем X, /j+ь ..., Д, Д+ь . • •, fm — линейные функции. Предположим, что система /о(») < 0, fi(x)<0, i = l,...,l, Л(х)<0, i = l+l, ... fi(x) = 0, i = fc+l, ... , K, , m, E.18) E.19) E.20) E.21) не имеет решения на X, а ее подсистема E.19)—E.21) — имеет. Тогда существуют числа у\ ^ 0, ..., уь ^ 0, у^+ь • • • > Ут такие, fo(x) + J2 Vifi(x) > ° пРи всех хеХ. E.22) г=1 Доказательство. Рассмотрим множество V = {х е X | fi(x) ^0, * = ? + 1 Л; fi(x)=0, i = l+l 4 E.23) Согласно условию теоремы система E.18), E.19) не имеет решения на V, а система E.19) — имеет. Тогда, по теореме 5.2, существуют числа у\ ^ 0, ..., yi ^ 0, такие, что функция f(x)=f0(x) + Y,Vifi(*) E-24) г=1 неотрицательна на V. При этом / выпукла на U. Кроме того, V С U = = iiU. Поэтому nUniiV = tiV ф 0 (теорема 1.11). Тогда, по теореме 3.12 (при Х\ =U, Х2 = V, /i = /, f2 = 0), существует линейная
§ 5. Системы выпуклых и линейных неравенств 135 функция д такая, что f(x) ^ д(х) при всех х G С/, E.25) д(х) ^ 0 при всех х ?V. E.26) Из E.23), E.26) следует, что система, составленная из неравенства д(х) < О и соотношений E.20), E.21), не имеет решения на X. Тогда, по теореме 5.5, существуют числа yj+i ^ 0, ..., yk ^ О, 2/л+ь •••, 2/m такие, что m #(х) + У^ Vifi(x) ^ О ПРИ всех # ? -X"- E-27) Поскольку X с С/, то из E.24), E.25), E.27) следует E.22). Л Замечание. В теореме нельзя ограничиться условием, что функции /о,/ь ..., Л выпуклы лишь на X. Примером служит система fo(x) = -yjxxx2 < 0, fi(x) =x\ <0 на множестве R+ (проверьте). Ниже потребуется лемма. Лемма 5.1. Пусть Х\ и Х2 — выпуклые множества в Rn, причем y\X\ П Х2 ф 0 и Х2 С aff X\. Тогда riXi П riX2 ф 0. Доказательство. Рассмотрим точки х G riХ\ ПХ2, у G riХ2 и za = х + a(y — я), a G R. Тогда za G riX2 при всех a G @, 1] (теорема 1.13). В то же время, поскольку х G riXi и у G riX2 С aff Хь то za G aff Xi при всех a. Ho lim za = x. Поэтому z$ G Xi при ДОСТаТОЧ- но малом /3 > 0 (определение 1.8). Следовательно, 2a = A — a//?)x + + (a/C)zP G riXi при всех a G [0, /3) (теорема 1.13). Таким образом, za G riXi ПпХ2, если 0 < a < min(l, /?). Л Следующая теорема является модификацией предыдущей: варьируются условия, при которых справедливо то же утверждение. Доказывается она аналогичным методом, т.е. с помощью теорем 5.2, 3.12, 5.5, которые, однако, используются чуть иначе. Теорема 5.7. Пусть X — выпуклое множество в Rn, /о» /i» • • • 1 Л ~" выпуклые функции на X, /i+i, ..., /m — линейные функции. Предположим, что система E.18)—E.21) не имеет решения на X, а система E.19)—E.21) имеет решение на riX. Тогда выполняется утверждение теоремы 5.6. Доказательство. Наряду с множеством V из E.23) рассмотрим множество V' = {xe aff X | fi(x) ^0, i = I + 1, ..., k\ f(x)=09 i = k+l m}. E.28) Ясно, что V = X П V. Как и выше, из теоремы 5.2 выводим, что существуют числа у\ ^ 0, ..., yi ^ 0, при которых функция / вида E.24)
136 Гл. 3. Основы выпуклого анализа неотрицательна на V. При этом / выпукла на X. Кроме того, пХП nV'^0, V Caff X и, значит, riXnriV7 ^0 (лемма 5.1). Тогда, по теореме 3.12 (при Х\ = X, Х2 = V, f\ = /, /2 = 0), существует линейная функция д такая, что /(х) ^ д(х) при всех 1бХ, E.29) д(х) ^ 0 при всех х е V. E.30) Из E.28), E.30) следует, что система, составленная из неравенства д(х) < 0 и соотношений E.20), E.21), не имеет решения на affX. Заметим, что affX, как и любое аффинное множество, является полиэдром (теорема 1.3). Тогда, по теореме 5.5, существуют числа yi+i ^ 0, ..., ук ^ 0, иь+ь ..., ут такие, что т 9{х) + У^ Vifi(x) ^ 0 ПРИ всех х EaffX. Отсюда и из E.24), E.29) получаем E.22). Л Замечание. В теореме нельзя ограничиться лишь тем условием, система E.19)—E.21) имеет решение на X. Примером служит система /о(ж) = xi - 1 < 0, f{(x)=xi+X2-2^0 на множестве X = {х е R2 | х\х2 ^ 1, х\ ^ 0, х2 ^ 0} (проверьте). А ЗАДАЧИ 1. Показать, что в теореме 5.1 числа yi, ...,ym можно выбрать таким образом, что не более п+1 из них будут отличны от нуля. Аналогичным образом уточнить теоремы 5.2-5.7. Указание. Воспользоваться теоремой Хелли из задачи 14 § 1. 2. а) Доказать следующее обобщение теоремы 5.2. Пусть X — выпуклое множество, /ь ..., /т — выпуклые функции на X. Предположим, что система /<(*)< 0, z = l,...,fc, fi(x)<0, i = fc+l,...,m, W не имеет решения на X, а система (*) — имеет. Тогда существуют числа у\ ^ 0, ..., ут ^ 0 такие, что хотя бы одно т из чисел у\, ..., yk отлично от нуля и У^2/г/г(#) ^ 0 при всех х е X. Указание. Применить теорему 5.2 к системе *<0, fi(x)-t<0, i= l, ..., fc, /г(ж) < 0, г = fc + 1, ..., m. б) Получить соответствующие обобщения теорем 5.3-5.7.
§ 5. Системы выпуклых и линейных неравенств 137 3. Пусть выполняется хотя бы одно из двух условий: а) X — выпуклый компакт, Д, ..., Д — непрерывные выпуклые функции на X, Д+1, ..., /т — линейные функции; б) X - полиэдр, /ь ..., /т — линейные функции. Предположим, что система Д(х)<0, t=l, ...,*, fi(x) = О, i = fc + 1, ..., га, не имеет решения на X. Доказать, что существуют числа т У\ > 0, ..., ук ^ 0, 2/*+1, ..., ут такие, что ? ?/г/г(я) ^ 1 при всех х G г=1 € X, причем у\ > 0, если указанная система без неравенства f\(x) ^ 0 имеет решение на X. Указание. При а) воспользоваться теоремой 2.1, при б) — теоремой 2.5.
Глава 4 ТЕОРИЯ НЕОБХОДИМЫХ И ДОСТАТОЧНЫХ УСЛОВИЙ ОПТИМАЛЬНОСТИ В § 1 гл. 1 уже отмечалась важная роль необходимых и достаточных условий оптимальности в теории и численных методах оптимизации. Там же были приведены соответствующие результаты для задачи безусловной оптимизации и классической задачи на условный экстремум. В данной главе излагается общая теория необходимых и достаточных условий оптимальности в задачах математического программирования, включающая указанные результаты как частные случаи. § 1. Условия оптимальности в общей задаче минимизации В этом параграфе приводится ряд простых фактов, относящихся к задаче минимизации в общей постановке: /(ж)-+min, xeX. A.1) Эти факты готовят почву для изложения основных результатов теории условий оптимальности в последующих параграфах главы. 1. Необходимое условие оптимальности в терминах направлений. Напомним одно понятие, приводившееся в п. 4 § 2 гл. 1. Говорят, что вектор h e Rn задает направление убывания функции / в точке ж* е Rn, если f(x* + ah) < /(х*) при всех достаточно малых а > 0. Множество всех таких h обозначается через ?/(ж*, /). Будем говорить, что вектор h E Rn задает возможное направление относительно множества X в точке х* Е X, если ж* 4- ah ? X при всех достаточно малых а > 0. Множество всех таких h обозначим через V(x*, X). Ниже приводится необходимое условие локальной оптимальности в задаче A.1), не требующее каких-либо предположений на X и /. Теорема 1.1. Если х* — локальное решение задачи A.1), то Щх*9 f)CiV(x\X) = 0. A.2) Доказательство. Допустим, что A.2) неверно, т.е. существует вектор h e Rn, для которого f(x* +ah) < f(x*) и х* + ah G X при всех достаточно малых а > 0. Стало быть, в любой сколь угодно малой окрестности точки х* найдется точка х € X (вида х = х* + ah)
§ 1. Условия оптимальности в общей задаче минимизации 139 такая, что f(x) < f(x*O но это противоречит определению локального решения (см. п. 1 § 1 гл. 1). Д Как мы видим, теорема 1.1 тривиальна и попросту означает, что из точки x*t являющейся локальным решением, нельзя осуществить сколь угодно малый сдвиг вдоль какого бы то ни было луча так, чтобы уменьшить значение целевой функции и остаться при этом в пределах допустимого множества. Однако данная теорема послужит далее идейной основой для получения более содержательных условий оптимальности при тех или иных предположениях на / и X (см. п. 2 и §2). 2. Дифференциальное условие оптимальности в задаче минимизации на выпуклом множестве. Укажем простейшую конкретизацию теоремы 1.1. Теорема 1.2. Пусть в задаче A.1) множество X выпукло, функция f дифференцируема в точке х* е X. Тогда: 1) если х* —локальное решение задачи A.1), то (/'(ж*), х — х*) ^ 0 при всех х е Х\ A.3) 2) если функция f выпукла на X и выполняется A.3), то х* — (глобальное) решение задачи A.1). Доказательство. 1) Допустим, что A.3) неверно, т.е. (f'{x*), ?-?*)< 0 при некотором х е X. Положим h = x — x*. Тогда he е U(x*, /) в силу леммы 2.1 гл. 1. В то же время с учетом выпуклости X для любого а е [О, 1] имеем х* + ah = ах 4- A — а)х* е X, т.е. he V(x*, X). Мы пришли к противоречию с теоремой 1.1. 2) Это непосредственно следует из теоремы 3.7 гл. 3. Л Таким образом, соотношение A.3) является необходимым условием локальной оптимальности в задаче минимизации дифференцируемой функции на выпуклом множестве; причем, в соответствии с общим принципом, высказанным в п. 6 § 1 гл. 1, для выпуклой задачи оно оказывается и достаточным условием глобальной оптимальности. Геометрически условие A.3) означает, что градиент f'(x*) (если он отличен от нуля) составляет нетупой угол с вектором, направленным из х* в любую точку х е X. Иллюстрацией служит рис. 1.1. Из него видно, что точка х, которая не удовлетворяет данному условию, не может быть решением: + 1- +|- +1- +1- /(*)=/(*) /(*)=/(**) Рис. 1.1. Необходимое условие локальной оптимальности в задаче минимизации дифференцируемой функции на выпуклом множестве
140 Гл. 4. Теория необходимых и достаточных условий оптимальности из нее можно совершить сдвиг, уменьшая значение функции / и оставаясь в пределах X. Полезно конкретизировать условие A.3) в некоторых частных случаях. Лемма 1.1. Если x*GintX, то A.3) эквивалентно условию: /V)=0. т.е. |?(**) = 0, j = l, ...,n. A.4) Доказательство. При достаточно малом а>0 точка х = = х* —af'(x*) принадлежит X. Подставляя х в A.3), получаем A.4). Напротив, из A.4) тривиально следует A.3). Л Таким образом, для задачи безусловной оптимизации (X = Rn) теорема 1.2 не дает ничего нового в сравнении со знакомыми результатами (теоремы 1.2 и 1.9 гл. 1). Лемма 1.2. Пусть множество X имеет вид X = {х G Rn | а, < Xj < bj9 j = 1, ..., n}, A.5) где — oo ^ aj < bj < +oo, j = 1, ..., n (если aj = —oo или bj = +oo, то соответствующий знак неравенства в A.5) следует понимать как строгий). Тогда A.3) эквивалентно условию: для любого j=\,...,n f = 0, если aj < x*j < bj, ^ 0, если x*j = aj ф —oo, A.6) ^ 0, если x*j = bj ф +оо. e-v>< Доказательство. В данном случае условие A.3) равносильно следующему: для любого j = 1, ..., п ^- (x*)(xj — x*j) ^ 0 при всех Xj G [aj, bj]. А это эквивалентно A.6). Л Выделим один частный случай данного утверждения. Лемма 1.3. Пусть множество X имеет вид X = {х е Rn | xj ^ 0, j = 1, ..., 5}, где 0^s<n(s = 0 соответствует X = Rn). Тогда A.3) эквивалентно совокупности условий: M;W>0- x*l?<**>=0' i-1—.*. О-7) M-(x*)=0, j = 8 + l,..„п. A.8) Доказательство. Заметим, что X — это множество вида A.5) при aj = О, j = 1, ..., s; aj = —oo, j = s + 1, ..., n; bj = +oo,
§ 1. Условия оптимальности в общей задаче минимизации 14J_ j = l,...,n. С учетом этого условия A.6) приобретают вид A.7), A.8). Л Лемма 1.4. Пусть X — аффинное множество и L = X — х* — параллельное ему линейное подпространство {см. теорему 1.3 гл. 3). Тогда A.3) эквивалентно условию (/'(х*), h) = О при всех h e L, т. е. /'(х*) лежит в ортогональном дополнении к L. Доказательство. Условие A.3) можно эквивалентным образом записать в виде (/'(ж*), h) ^ О при всех h Е L. Но, по определению линейного подпространства, из he L следует —h G L. Поэтому указанное неравенство может выполняться только как равенство. Л В простейших случаях полученные результаты позволяют явно решить задачу. Пример 1.1. Пусть требуется найти все (локальные и глобальные) решения задачи: /(#ь #2) = 2xf +х\Х2 + х2 —> min, — l^xi^l, х2 ^ 2. A.9) Согласно утверждению 1) теоремы 1.2 и лемме 1.2, любое решение (хь х2) задачи A.9) должно удовлетворять следующим двум условиям: ( = 0, если — 1 < х\ < 1, ^0, если х{ = -1, Aло) < 0, если xi = 1; df (= 0, если х2 > 2, — (хь*2) = *,+2х2|^а если х2 = 2 A.11) Теперь, вообще говоря, необходимо составить шесть систем путем попарного комбинирования соотношений из A.10), A.11); например, первые две системы имеют вид: 4х1+х2 = 0, -1<xi<1, xi+2x2 = 0, x2>2; A.12) 4xi+x2=0, -1<xi<1, xi+2x2^0, x2 = 2. A.13) Затем требуется найти решения каждой такой системы и каким-то образом исследовать их на оптимальность. Однако перед этим полезно провести качественный анализ задачи. Функция / является квадратичной. Используя критерий Сильвестра, легко убеждаемся, что ее матрица вторых производных положительно определена. Значит, / сильно выпукла на R2 (следствие ^-(хь х2) =4xi +*2 {
142 Гл 4. Теория необходимых и достаточных условий оптимальности теоремы 3.9 гл. 3). Поэтому, во-первых, локальные и глобальные решения задачи A.9) совпадают (теорема 1.8 гл. 1); во-вторых, она имеет решение, причем единственное (следствие теоремы 3.13 гл. 3); в-третьих, только это решение и может удовлетворять условиям A.10), A.11) (утверждение 2) теоремы 1.2). Таким образом, еще не приступая к рассмотрению упомянутых шести систем, мы уже знаем, что одна и только одна из них имеет решение, причем единственное, и оно является решением задачи A.9). Теперь рассмотрим систему A.12). Ясно, что она несовместна. Перейдем к системе A.13). Ее решением является (—1/2, 2). Это и есть единственное решение задачи A.9). Просмотр оставшихся четырех систем излишен: согласно вышесказанному они не могут иметь решения. 3. Субдифференциальное условие оптимальности в выпуклой задаче минимизации. Согласно теореме 1.2, соотношение A.3) является необходимым и достаточным условием оптимальности в выпуклой задаче минимизации с дифференцируемой целевой функцией. Получим более общий результат, охватывающий и недифференцируемый случай. Теорема 1.3. Пусть в задаче A.1) множество X выпукло, функция f выпукла на относительно открытом выпуклом множестве U, содержащем X. Тогда точка х* Е X является решением задачи A.1) в том и только том случае, если существует вектор a Е df(x*) такой, что (а, х — х*) ^ 0 при всех х € X. A14) Здесь df(-) — субдифференциал функции /, рассматриваемой на U; иными словами, запись а е df(x*) означает, что f(x) - f(x*) ^ (а, х -х*) при всех xeU. A-15) В случае, когда функция / дифференцируема в точке х*, имеем df(x*) — {f'(x*)} (теорема 4.3 гл. 3) и, значит, соотношение A.14) переходит в A.3). Доказательство. Пусть х* — решение задачи A.1). Поскольку X С U = ri U и, значит, ri U U riX = riX ^ 0, здесь можно применить теорему 3.12 гл. 3 при Х{ = U, Х2 = X, f{(x) = f(x) - /(х*), f2(x) = = 0. Согласно ее утверждению, существует линейная функция 1(х) = = (а, х) + Ь такая, что f(x) - f(x*) ^ (а, х) +Ъ при всех xeU, A-16) (а, х) + Ъ^ 0 при всех хеХ. A17) Отсюда при х = х* получаем Ъ = — (а, х*). В результате A.16) переходит в A.15), а A.17) - в A.14). Обратное очевидно: если при некотором а имеет место A.14), A.15), то /(х) — /(х*) ^ 0 при всех х € X, т.е. х* — решение задачи A.1). Д
§ 1. Условия оптимальности в общей задаче минимизации 143 Замечание. В теореме можно было бы считать, что функция / определена только на X, и соответственно в A.15) вместо U поставить X. Однако в этом случае теорема становится тривиальной: всегда подходит а — 0. В то же время приведенная формулировка позволит в дальнейшем привлечь теорию субдифференциалов для изучения задач математического программирования (см. теорему 3.13 и теорему 5.4 гл. 6). Отметим, что леммы 1.1-1.4 можно автоматически переформулировать применительно к соотношению A.14). В частности, если х* GintX, то A.14) эквивалентно условию а = 0. Иными словами, в предположениях теоремы 1.3 точка х* eintX является решением задачи A.1) в том и только том случае, если 0 е df(x*). В соответствии со сделанным выше замечанием данный факт сам по себе тривиален. Однако и он может быть полезен, если только удается вычислить df. Пример 1.2. Пусть требуется найти все решения задачи f(x) = ||х|| - (с, х) -> min, х е Rn, где с — произвольный вектор в Rn. Функция / выпукла на Rn. Ее субдифференциал в точке х = 0 имеет вид 9/@) = U\@) — с (см. п. 1 § 4 гл. 3 и теорему 4.8 гл. 3). Во всех остальных точках она дифференцируема и f'(x) = х/\\х\\ — с. Включение 0 € df@) означает, что с е ?Л@), т.е. ||с|| ^ 1. Уравнение f'{x) = 0 разрешимо в том и только том случае, если ||с|| = 1; при этом его решением является любая точка х* = Ас, где А > 0. Таким образом, если ||с|| < 1, то х* = 0 — единственное решение данной задачи; если ||с|| = 1, то решением служит любая точка х* = Ас, где А ^ 0; если ||с|| > 1, то решений нет. Т 4. Модель рынка с ограничениями на цены. Качественные методы выпуклого анализа и теории оптимизации находят эффективное применение при изучении экономико-математических моделей. Ниже приводится один пример их использования в рамках модели рынка с ограничениями на цены [53]. Дадим (несколько упрощенное) описание этой модели. Имеется рынок, на котором п типов ресурсов покупаются га предприятиями с целью их использования для производства собственного товара. Пусть число Pi > 0 обозначает цену единицы г-го ресурса, V — (Рь • • •» Рп) — вектор цен на ресурсы. Предполагается, что j-e предприятие формирует спрос на ресурсы в соответствии с задачей /,(х)-^шах, (р, х) </?,-, хеХ^сЩ., где Cj > 0 — денежные средства, X, — технологическое множество, fj(x) — производственная функция j-ro предприятия (см. пример 1.7 гл. 1). Задача A.18) говорит о том, что в рамках бюджетных и технологических ограничений предприятие планирует покупку такого набора ресурсов, при котором достигается максимальный объем выпуска.
144 Гл. 4. Теория необходимых и достаточных условий оптимальности Будем предполагать (ср. с примером 4.2 гл. 3), что Xj — замкнутый конус, fj — неотрицательная непрерывная однородная функция на Xj, причем fj(x) > О хотя бы при одном х е Xj, т. е. (что из экономических соображений само собой разумеется) предприятие в состоянии выпустить положительное количество товара. Однородность fj означает, что выпуск пропорционален затратам при любой заданной их структуре. Из замкнутости Xj и непрерывности fj следует, что при любом р > > О задача A.18) имеет глобальное решение. Ради простоты предположим, что оно всегда единственно. Обозначим это решение, т. е. вектор спроса на ресурсы со стороны j-ro предприятия при данных ценах р > > 0. через ^ = (^(р)) ^ ^ ^(р)) Здесь x*j(p) — спрос jf-ro предприятия на г-й ресурс. Далее, пусть 6* > 0 — заданный запас г-ro ресурса на рынке, Ь = = (Ь\, ..., Ьп) — вектор запаса. Вектор-функция п Я(р) = 5>;(р)-Ь, P>0> i=i называется функцией избыточного спроса. Ее г-я координата п &i(p) = ^2xij(p) ~hi> * = 1, ..., n, i=i показывает разницу между совокупным спросом предприятий на г-й ресурс и его предложением (запасом) при данных ценах р > 0. Таким образом, если Ег(р) = 0, то спрос равен предложению (рыночное равновесие по ресурсу); если Ег(р) < 0, то спрос меньше предложения (избыток ресурса); если Ei(p) > 0, то спрос больше предложения (дефицит ресурса). Разумеется, наиболее желательными являются цены р, при которых Е(р) = 0, т. е. по всем ресурсам спрос равен предложению. Однако практика показывает, что такие, равновесные, цены устанавливаются лишь в редких случаях. Одна из причин этого состоит в том, что в конкретных условиях цены не могут варьироваться произвольным образом (от 0 до +оо). Так, нижняя граница цены обычно определяется издержками производства (или добычи) имеющегося на рынке запаса ресурсов. Определенные границы изменения цен могут устанавливаться в законодательном порядке государством, например с той целью, чтобы текущие цены не сильно отличались от ранее действовавших, т. е. в целях обеспечения относительно стабильного функционирования экономической системы. В соответствии со сказанным будем предполагать, что в рассматриваемой модели цена г-го ресурса pi может изменяться лишь в пределах от р\ до р\, где р\ и р\ — заданные величины, 0 < р\ < р2{ < +оо, и, следовательно, вектор цен на ресурсы должен находиться в множестве Р = {реПп\рЫрг^р1 г=1,...,п}.
§ 1. Условия оптимальности в общей задаче минимизации 145 Естественно считать, что в этой ситуации на рынке устанавливаются такие цены р* е Р, при которых избыток (дефицит) каждого г-го ресурса может иметь место лишь в том случае, если его цена р* достигла нижней (верхней) границы изменения, и, значит, ее дальнейшее движение вниз (вверх) с целью уравнивания спроса и предложения уже невозможно. Иными словами, цены р* должны определяться из условия: для любого г = 1, ..., п если р\ < р\ < р\\ если р* =р\\ A19) если р* =р\. Такие цены р* назовем рыночными. Рассмотрим функцию F(P) = ^/3iin/;(p) + {Pf6>> p>o, где fj(p) = fj(x^(p)) — максимальное значение целевой функции задачи A.18). При сделанных ранее предположениях на Xj и fj справедлива теорема. Теорема 1.4. 1) Функция F выпукла и дифференцируема на intR", причем F'(p) = -E(p), p>0; A.20) 2) множество рыночных цен совпадает с множеством решений задачи F(p)-+min, peP; A.21) 3) множество рыночных цен непусто и выпукло. Доказательство. 1) Как было показано в примере 4.2 гл. 3, функция Fj(p) = fa In ff(p) выпукла и дифференцируема на intR/J:, причем Fj(p) = — Xj(p). Тогда функция F также выпукла и дифференцируема на intRJ, причем F,{p) = -Yjx){p)^-h = -E{p). 2) В силу теоремы 1.2, леммы 1.2 и формулы A.20) соотношение A.19) представляет собой необходимое и достаточное условие оптимальности вектора в задаче A.21). 3) Поскольку Р — компакт, то множество решений задачи A.21) непусто. В силу теоремы 1.10 гл. 1 оно выпукло. Л Таким образом, вопрос о вычислении рыночных цен в данной модели сводится к поиску решения выпуклой задачи A.21), который может осуществляться, например, методом проекций градиента (см. § 2 гл. 6). Заметим, что целевая функция F задачи A.21) имеет довольно Ег(р*) { = 0, <о, 1^0,
146 Гл. 4. Теория необходимых и достаточных условий оптимальности сложную структуру: для вычисления ее значений требуется решать задачи A.18). Однако при этом оказываются автоматически вычисленными значения градиента V. Кроме того, допустимое множество Р задачи A.21) является параллелепипедом. Это значительно облегчает применение упомянутого метода, так как проекция на Р указывается в явном виде (см. задачу 1 § 2 гл. 6). Отметим, что пример 4.2 гл. 3, использованный в теореме 1.4, целиком опирается на теорию субдифференциалов. Это показывает, сколь полезную роль могут играть качественные методы выпуклого анализа при создании вычислительных алгоритмов. А ЗАДАЧИ 1. Показать, что для выпуклой задачи формула A.2) является также достаточным условием глобальной оптимальности. 2. Решить задачи: а) 4xf - х\х2 + 2x1 —» min, 4 ^ х\ < 8, -1 ^ х2 ^ 2; б) ах\ + Ъх\х<1 +сх\ —> min, — 1 ^ х\ ^ 1, х2 ^ 1, где а, Ъ, с — такие числа, что а > О, Аас > Ь2\ в) ах\ + х\Х2 + х\ —> min, 2 ^ х\ ^ 3, 3 < х2 ^ 4, где а — любое число. 3. При всех значениях вектора с решить задачи: б) ||х|| — (с, х) —» min, х ^ 0; в) ^ И2 + ||х - с|| -> min, xGRn. 4. Выяснить, при каких значениях числа а точка @, 0) является решением задачи еа2х, + еа2х2 + 2aXi *_ ^ _> minj O^Xi^l, -1<Х2^0. 5. Пусть X = Ur(x°) — шар радиуса R с центром в х°. Показать, что в этом случае условие A.3) эквивалентно следующему: f'(x*) = — а(х* - х°) при некотором а ^ 0. 6. Выяснить, какой вид принимает условие A.3), если X — многогранное множество (см. определение 2.7 гл. 3). 7. Пусть X — выпуклое множество, х* е X. Показать, что V(x*, X) — выпуклый конус и V(x*,X) = {h\h = \(x-x*), A>0, хеХ}. Описать V(x*, X), если X — гиперплоскость, куб, полиэдр, шар. Убедиться, что из условия A.3) следует (f'(x*)t h) ^ 0 при всех h e е V(x*, X). 8. Пусть в задаче A.1) множество X выпукло, функция / дифференцируема в точке х* е Ху причем (/'(х*), К) > 0 при всех ненулевых h e V(x*, X). Доказать, что х* — строгое локальное решение задачи A.1). Убедиться, что сформулированное достаточное условие
§ 2. Дифференциальные условия оптимальности 147 оптимальности первого порядка если и выполняется, то только в граничной точке х* множества X. 9. Пусть в задаче A.1) множество X выпукло, функция / дважды дифференцируема в точке х* е X. Доказать следующие утверждения о необходимом и достаточном условиях оптимальности второго порядка: а) если х* — локальное решение задачи A.1), то в дополнение к условию A.3) выполняется (f"(x*)h, h) ^ О при всех h e V(x*9 X) таких, что (/'(ж*), h) = 0; б) если выполняется условие A.3) и, кроме того, (f"(x*)hy h)>0 при всех ненулевых h e V(x*, X) таких, что (f'(x*), h) = 0, то х* — строгое локальное решение задачи A.1). Убедиться, что для безусловной задачи (X = Rn) данные утверждения переходят в теоремы 1.3, 1.4 гл. 1. 10. а) Пусть в задаче A.1) множество X выпукло, функция / имеет производную по любому направлению h e V(x*, X) в точке х* е X, т. е. величина f'(x*, h) = lim — -———- существует и конечна. Пока- а_>о+ а зать, что если х* — локальное решение задачи A.1), то /'(#*, h) ^ О при всех h e V(x*, X). б) Привлекая теорему 3.11 гл. 3, уточнить сформулированное утверждение в рамках предположений теоремы 1.3. Имея в виду теорему 4.2 гл. 3, сопоставить полученный результат с самим утверждением теоремы 1.3. Какой результат сильнее? § 2. Дифференциальные условия оптимальности в задаче математического программирования В этом параграфе излагается общая теория дифференциальных условий оптимальности в задаче математического программирования вида f(x) -» min, ft(x)<0, i = l,...,fc, B.1) gi(x)=09 i = fc+l, ..., m, x G Р С Rn. Всюду в параграфе под X будет пониматься допустимое множество задачи B.1), т.е. X = {хе Р\ gi(x) ^0, г = 1,...,/с; д{(х) = 0, г = к + 1, ..., т}. B.2) Кроме того, свяжем с этой задачей множество Q = {у = (уи • • •, Ут) е Rm | уг > о, г = 1,..., *}, B.3) состоящее из всех m-мерных векторов, у которых первые к координат неотрицательны. В частности, Q = Rm, если ограничения-неравенства
148 Гл. 4. Теория необходимых и достаточных условий оптимальности отсутствуют (к = 0); Q = R/p, если ограничения-равенства отсутствуют (к = т). Введем функцию Лагранжа задачи B.1) т Ц*, 7/о, У) = V0f{x) + ^УгРг(х), г=1 где х G Р, уо ^ 0, у = (уь ..., ym) € Q. Отметим, что эта функция имеет такой же вид, как и в случае классической задачи на условный экстремум (см. п. 4 § 1 гл. 1). Будем по-прежнему использовать обозначение т L'x(x, уо, у) = yof'(x) + ?у^(х) B.4) г=\ для вектора, составленного из частных производных функции Лагранжа по координатам вектора х, т. е. из величин ^(*,yo,y)=yoj?(z) + jj>||0r), i=l,...,n. 1. Формулировка принципа оптимальности Лагранжа. В гл. 1 мы приводили известное из курса математического анализа правило множителей Лагранжа, указывающее необходимое условие локальной оптимальности в классической задаче на условный экстремум (теорема 1.5 гл. 1). Прямым обобщением этого результата является следующая теорема, занимающая центральное место в теории дифференциальных условий оптимальности. Теорема 2.1 (принцип Лагранжа). Пусть в задаче B.1) множество Р выпукло, функции f,g\, ..., Qk дифференцируемы в точке х*еХ, функции pfc+i, ...,#m непрерывно дифференцируемы в некоторой окрестности х*. Если х* — локальное решение задачи B.1), то существуют число у^^О и вектор у* = (у*, ..., y?j ? е Q, не равные нулю одновременно и такие, что (L'x{x*, уд» 2/*)> х-х*)^0 при всех х е Р, B.5) y*9i(x*) = 0, i=l,...,k. B.6) Доказательство теоремы будет дано в п. 2. А пока сделаем ряд замечаний по поводу ее формулировки. Любая точка х* € X, удовлетворяющая условиям B.5), B.6) при некоторых 2/q ^ 0, у* е Q, (у?, у*) ^0, называется стационарной точкой задачи B.1). Принцип Лагранжа утверждает, что при указанных предположениях любое локальное решение задачи B.1) является стационарной точкой. Обратное гарантируется лишь при тех или иных дополнительных предположениях о задаче B.1) (см. теоремы 2.2, 2.6).
§ 2. Дифференциальные условия оптимальности 149 Числа з/q, yj\ ..., у^ называются множителями Лагранжа. Согласно определению Q множители у*, ..., у?, соответствующие ограничениям-неравенствам, неотрицательны, а множители у?+1» •••»Ут» соответствующие ограничениям-равенствам, могут иметь любой знак. Отметим, что множители Лагранжа определены с точностью до положительной константы, т.е. если пара {у^у*) удовлетворяет условиям B.5), B.6), то при любом А > 0 пара (Ау?, Ху*) обладает тем же свойством. В частности, можно взять А = 1/у?, если yj > 0. Это позволяет без ограничения общности рассматривать в теореме 2.1 лишь два случая: у? = 0 или у% = 1. Любое дополнительное предположение о задаче B.1), обеспечивающее в рамках данной теоремы случай 2/q = 1, принято называть условием регулярности (ср. с теоремой 1.5 гл. 1). При этом саму задачу называют регулярной. Для такой задачи достаточно рассматривать лишь функцию Лагранжа вида m Цх, у) = Цх, 1, у) = /(*) + 5>;<7i(z), B.7) г=1 которую также называют регулярной. Следующая теорема показывает, что для регулярной задачи выпуклого программирования соотношения B.5), B.6) являются не только необходимым, но и достаточным условием оптимальности (ср. с теоремами 1.9 гл. 1 и 1.2). Теорема 2.2. Пусть в задаче B.1) множество Р выпукло, функции f,g\,...,gk выпуклы на Р и дифференцируемы в точке х* Е X, функции gk+\, •. •, gm линейны. Если при у? = 1 и некотором у* ? Е Q выполняются условия B.5), B.6), то х* — (глобальное) решение задачи B.1). Доказательство. В данном случае функция Цх, у*), очевидно, выпукла по х на Р. Тогда, согласно утверждению 2) теоремы 1.2, из условия B.5) следует, что х* — точка минимума функции Цх, у*) на Р, т. е. Цх*, у*) ^ Цх, у*) при всех х е Р. С учетом этого, а также формулы B.6) для любого х Е X имеем m /(**) = /(**) + 5>Ы**) = Цх*, у*) < Цх, у*) = = /(*) + 5>?ft(*K/(s).A i=\ В связи с данной теоремой вопрос об эффективных условиях регулярности в задаче выпуклого программирования приобретает особо важное значение. Группа таких условий будет указана в п. 3. Опираясь на леммы 1.1-1.3, конкретизируем условие B.5) в некоторых частных случаях.
150 Гл. 4. Теория необходимых и достаточных условий оптимальности щ (х*> у*°> у*] < Лемма 2.1. 1) Если х* GintP, то B.5) эквивалентно условию (ср. с теоремой 1.5 гл. 1): Ь'Л^,У1.У') = 0, т.е. щ{х\у1,у*) = 0, j = l,...,n; B.8) 2) если Р имеет вид Р = {х е Rn | dj < Xj ^bj, j = 1, ..., n}, где —oo ^ a,j < bj ^ +00, j = 1, ..., n, mo B.5) эквивалентно условию: для любого j = 1, ..., п ( = 0, ес/ш а^ < а^ < 6^, ^ 0, если Xj = aj ф —оо, ^ 0, если Xj = bj ^ +oo; 3) если Р имеет вид Р = {х е Rn | Xj ^ 0, j = 1, ..., 5}, B.9) где 0 ^ 5 ^ п, то B.5) эквивалентно совокупности условий: g(x*,%*,y*)^0, х*^(х*,2/0*,г/*) = 0, j=l,...,*, ^т(х*» 2/о. 2/*) =0, j = s+ 1, ..., п. Для любой точки х* е X введем (и будем использовать на протяжении всего параграфа) множества I(x*) = {i | gi(x*) =0, 1 < г О}, S(x*) = /(х*) U {fc + 1, ..., т} = {г | gi(x*) =0, 1 ^ г ^ т}. Ограничения-неравенства с индексами г Е 1(х*) называются активными в точке х*, а остальные — пассивными. Условие B.6), называемое иногда условием дополняющей нежесткости, означает, что множители Лагранжа, соответствующие пассивным ограничениям- неравенствам, должны обращаться в нуль, т. е. у* = 0 при всех г е е {1, ..., k}\I(x*). Таким образом, из условий B.5), B.6) с учетом B.4) следует (уо/'(**) + Y, У*9'г(х*)>*-х*)>0 при всех хеР B.10) i?S(x*) Напротив, имея B.10), всегда можно прийти к B.5), B.6), положив у?=0 при *g{1, ...,fc}\J(**). Поясним геометрический смысл принципа Лагранжа в случае, когда ограничения-равенства и прямое ограничение отсутствуют (к = га,
§ 2. Дифференциальные условия оптимальности 1_51_ Р = Rn) l). Условие B.10) предстает тогда в виде 2/o/V)+ ? v№(x*) = 0. B.11) t€/(**) При 7/q = 1 это означает, что антиградиент целевой функции является неотрицательной линейной комбинацией градиентов функций, образующих активные ограничения в точке х*. Так, на рис. 2.1 изображены Рис. 2.1. Необходимое условие локальной Рис. 2.2. Пример нерегулярной за- оптимальности в задаче математическо- дачи математического программи-' го программирования с ограничениями- рования неравенствами множество X, образованное неравенствами gi(x) <0 (г = 1, 2, 3), и линии уровня некоторой функции /. В точке х* эта функция достигает минимума на X. Активными в х* являются первое и второе ограничения: 1{х*) = {1, 2}. При этом антиградиент -f'(x*) по необходимости оказывается в конусе, натянутом на градиенты д[(х*) и д2(х*) и, стало быть, представим как неотрицательная линейная комбинация последних. Заметим, что точка я, для которой подобное условие не выполняется, не может быть точкой минимума / на X: из нее можно сместиться, оставаясь в рамках X и уменьшая значение /. Нетрудно понять, какой геометрической ситуации соответствует случай 2/q = 0. Рассмотрим, например, задачу f(x) = х\ —> min, 01 (х) = -х\ + х2 ^ 0, д2(х) = -х\ - х2 ^ 0, B.12) д3(х) = х\ + х\ - 1 < 0, х е R2. На рис. 2.2 изображены ее допустимое множество X и линии уровня функции / (прямые, параллельные вертикальной оси). Решением за- 1) Напомним, что геометрический смысл принципа Лагранжа для классической задачи на условный экстремум, т.е. теоремы 1.5 гл. 1, приводился в п. 4 § 1 гл. 1.
152 Гл. 4. Теория необходимых и достаточных условий оптимальности дачи служит х* = @, 0). Активными в х* выступают первое и второе ограничения. При этом /'(»*) = A,0), g[(x*) = @,l), д>2(х*) = @, -1). Ясно, что вектор f'(x*) нельзя представить в виде линейной комбинации векторов д[(х*) и д'2(х*)\ соотношение B.11) здесь может выполняться лишь при г/о =0, у* = А, у\ — —А, где А > 0. Суть дела тут в том, что сами градиенты д[(х*) и д'2(х*) линейно зависимы. 2. Доказательство принципа Лагранжа. Сначала поясним основную идею доказательства теоремы 2.1. Рассмотрим следующую линейную систему относительно х: (f(x*)tx-x*)<0, B.13) (91(х*),х-х*}<0, геЦх*), B.14) (</г'(х*),х-х*)=0, » = fc+l, ...,m. B.15) Допустим, что она не имеет решения на riP. Тогда, по теореме 5.1 (Фана) гл. 3, существуют числа у% ^ 0, у* ^ 0, iel(x*), Ук+\> •••* Ут> не Равные нулю одновременно и такие, что 'y*0(f'(x*),x-x*) + ? y*(g'i(x*),X-x*) = i?S(x*) при всех х е viP. Поскольку Р с Р = riP (теорема 1.14 гл. 3), то данное неравенство сохранится и при х G Р; иными словами, выполняется B.10). Отсюда и следует утверждение теоремы 2.1. Таким образом, для завершения доказательства данной теоремы остается проверить, что система B.13)—B.15) не имеет решения на riP. Ниже мы увидим, что обратное предположение приводит к тому, что из точки х* можно осуществить сколь угодно малый сдвиг, уменьшая значение целевой функции и оставаясь при этом в рамках допустимого множества. Но такого быть не может, поскольку х* — локальное решение задачи. Перед тем как обратиться к общему случаю, проведем требуемые рассуждения для задачи, ограничения-равенства которой линейны. В этом случае удается весьма просто показать, что система B.13)—B.15) не имеет решения уже на Р. Отметим, что для линейной функции д(х) = (а, х) + Ь справедлива следующая очевидная формула: g{x + h) = g(x) + tf{x),h), B.16) где, естественно, дг{х) = а. Эта формула и позволяет существенно упростить рассуждения.
§ 2. Дифференциальные условия оптимальности 153 Доказательство теоремы 2.1 (при дополнительном предположении линейности функций рь+ь ..., рт). Допустим, что система B.13)—B.15) имеет решение хеР. Положим /i = x-x*. Из неравенства B.13) и леммы 2.1 гл. 1 следует, что he U(x*, /). Для любого г G 1{х*) из B.14) и той же леммы следует, что h G t/(x*, #), т.е. gi(x* Л-ah) < Qi(x*) = О при всех достаточно малых а > 0. Для любого z G {1, ..., к}\1(х*) имеем gi(x*) < 0 и, значит, gi(x* + ah) < < О при всех достаточно малых по модулю а. Для любого г = = к + 1, ..., т, привлекая B.15) и B.16), получаем 9i(x* + ah) = 9i(x*) + а {д[{х% h) = 9i(x*) = 0 B.17) при всех а. Наконец, заметим, что из выпуклости Р следует х* + ah = = ах + A - а)х* G Р при всех а е [0, 1]. Таким образом, х* + ah e X при всех достаточно малых а > 0. Иными словами, h eU(x*, f)C\ C\V(x*y X). Но это противоречит теореме 1.1. Следовательно, система B.13)—B.15) не имеет решения на Р. Остается в соответствии с ранее сказанным воспользоваться теоремой Фана. Л Ў Перейдем теперь к общему случаю. Чтобы пояснить характер трудностей, связанных с нелинейными ограничениями-равенствами, рассмотрим на плоскости множество Х0, заданное единственным уравнением: Х0 = {х G R2 | д(х) = 0}. Пусть точка х* е Хо и вектор h G Rn таковы, что (д'{х*), h) = = 0. Если функция д линейна, то Хо — прямая. В этом случае h указывает возможное направление относительно Хо в х* (рис. 2.3, а). Рис. 2.3. Геометрическая иллюстрация леммы 2.2 Заметим, что как раз об этом и свидетельствует соотношение B.17), выведенное из B.15), B.16). Но если д нелинейна, то Хо — кривая и именно поэтому сколь угодно малый сдвиг из х* вдоль h выводит из Хо (рис. 2.3,6). Стало быть, для нелинейных ограничений- равенств соответствующая часть вышеприведенного доказательства не проходит. Однако интуитивно ясно, что малые сдвиги вдоль такого («касательного») вектора h сохраняют достаточную близость от Хо, т.е., говоря определеннее, для точки x* + ah можно указать такую
154 Гл. 4. Теория необходимых и достаточных условий оптимальности точку х(а) G Х0, что их разность г(а) = х(а) — (х* + ah) будет бесконечно малой более высокого порядка, чем а (рис. 2.3,6). Более того, понятно, что точку х(а) всегда можно выбрать таким образом, что разность г(а) будет ортогональна к любому наперед заданному вектору а, неколлинеарному градиенту д'(х*). Сформулируем отмеченный факт сразу для системы конечного числа уравнений в Rn. Он и позволит нам провести общее доказательство теоремы 2.1. Лемма 2.2 (теорема Люстерника). Пусть функции д\(х),..., дш{х) непрерывно дифференцируемы в некоторой окрестности точки х* G Rn, причем gi(x*) = О, i = 1, ..., m, а градиенты g[(x*), ..., g'^x*) вместе с некоторыми векторами ат+ь ..., ап образуют базис в Rn. Предположим, что вектор h G Rn удовлетворяет условию №*),Л)=0, t = lf...f m. Тогда существует n-мерная вектор-функция г (a) (a G R) такая, что , . _ , чч _ gi(x* + ah + r{a)) = О, г = 1, ..., га, (aiy r(a)) = 0, i = т + 1, ..., п, г( о/) при всех достаточно малых а и lim -^—^ = 0. a->0 OL Для доказательства данного утверждения нам потребуется теорема о неявной функции (см., например, [26, с. 673]). Напомним ее формулировку в частном, но достаточном для наших целей случае. Теорема о неявной функции. Пусть функции f\(ry a),... • ••> /n(r, а) непрерывно дифференцируемы в некоторой окрестности нуля в Rn х R, причем Д@,0)=0, t=l, ...,n; градиенты -^- @, 0), ..., -^ @, 0) линейно независимы и я* or or g@,0) = 0, i = l,...,n. Тогда существует n-мерная вектор-функция г (a) (a G R) такая, 41710 Г / / Ч /»(r(a), a) =0, г= 1, ..., n, при всех достаточно малых а и lim -^—^ = 0. а—о а Доказательство леммы 2.2. Рассмотрим функции fi(r, a) = gi(x* + aft + r), i = 1, ..., га, /i(r, a) = (a», r), i = m + 1, ..., n.
§ 2. Дифференциальные условия оптимальности 155 Имеем л. Й, ^@,0) = <,,'(**)> ^@,0) = (^(^)fh> при всех г = 1, ..., га, М(о,0)=а,, ^@,0) = 0. при всех г = т+ 1, ..., п. Ясно, что здесь выполнены все условия сформулированной теоремы. Применяя ее, получаем требуемый результат. Л Теперь мы готовы дать общее доказательство принципа Лагранжа. Доказательство теоремы 2.1. Пусть L = LinР — линейное подпространство, параллельное Р (определение 1.6 гл. 3). Рассмотрим какие-нибудь векторы а\, ..., а5, образующие базис в подпространстве Lx, ортогональном к L. Тогда, как известно, само L имеет вид L={heRn | (ajt h)=0, j = 1 s>. B.18) Допустим, что векторы д'к+{(х*), ..., gfm(x*)f аь ..., as линейно зависимы, т.е. т s ? yM**) + ?Vb=0 B19) г=А;+1 j=l при некоторых числах у?+1, ..., ут, Аь ..., As, не равных нулю одновременно. Заметим, что тогда среди чисел г/?+1, . ..,ут имеются отличные от нуля, так как обратное противоречило бы линейной независимости векторов а\, ..., as. В силу B.18), B.19) для любого h e L имеем т s ( ? УМ**)- h) = -?Xj(aj, h) = 0. i=k+\ j=\ Ho L, по определению, можно написать в виде L = aff P — х*. Поэтому га при всех rcGaffP и, в частности, хеР. Таким образом, с учетом B.4) числа t/fc+1, ..., ym вместе с числами у^ — у* = ... = ук = = 0 тривиально удовлетворяют условиям B.5), B.6), что и доказывает теорему в этом вырожденном случае. Пусть теперь векторы д'к+1(х*), ..., д'^х*), ai,...,as линейно независимы. Без ограничения общности можно считать, что они образуют базис в Rn (в противном случае их следует произвольным образом дополнить до базиса). Допустим, что система B.13)—B.15) имеет решение xeriP. Положим h = x — x*. С учетом B.15) из
156 Гл. 4. Теория необходимых и достаточных условий оптимальности леммы 2.2 следует существование n-мерной вектор-функции г(а) (а € е R) такой, что g{(x* + ah + r(a)) = О, i = к + 1, ..., га, B.20) (aitr(a))=0, j=l,...,s, B.21) при всех достаточно малых а и lim iM = о. B.22) a-*0 a Положим х(а) = х* + ah + r(a). (Далее «с точностью до г(а)ь воспроизводятся рассуждения из вышеприведенного доказательства теоремы для случая линейных ограничений-равенств, а также доказательства леммы 2.1 гл. 1 и теоремы 1.1, которые там использовались.) Из дифференцируемости функции / в х* следует /(*(<*))-/(**) = = </V)f ah + r(a)) + o(a) = a(</'(**). >>> + (/V). ^) + ^) • Отсюда с учетом B.13), B.22) получаем, что f(x(a))<f(x*) при всех достаточно малых а > 0. Для любого % е 1(х*) аналогичным образом, но привлекая B.14), выводим, что gi(x(a)) < gi(x*) =0 при всех достаточно малых а > 0. Для любого г е {1, ..., к}\1(х*) имеем gi(x*) < 0 и, значит, рДх(а)) < 0 при всех достаточно малых а. Формулы B.18), B.21) означают, что r(a) e L = LinP. Положим х(а) = = х + г(а)/а. Тогда x(a)eaffP (лемма 1.1 гл. 3). Поскольку хе ehP и ж(а) —> х в силу B.22), то для достаточно малых а > 0 имеем х(а) G Р (см. определение 1.8 гл. 3) и, значит, х(а) = х* + а(х — х*) + г (а) = ах(а) + A — а)х* G Р. Объединив сказанное, начиная с B.20), получаем, что f(x(a)) < < /(х*) и х(а) е X при всех достаточно малых а > 0, причем х(а) —> ->ж*. Но это противоречит тому, что х* — локальное решение задачи B.1). Таким образом, система B.13)—B.15) не имеет решения на riP. Применяя, как указывалось, теорему Фана, завершаем доказательство. Л А 3. Условия регулярности. Дифференциальная форма теоремы Куна-Таккера. Напомним, что условием регулярности называется любое дополнительное предположение о задаче B.1), при котором в теореме 2.1 обеспечивается случай у% = 1. Простейшим примером такого условия служит требование линейной независимости градиентов <7{(х*), ..., д'т(х*) в классической задаче на условный экстремум (см. теорему 1.5 гл. 1). Вообще условием регулярности в задаче B.1) при х* eintP выступает линейная неза-
§ 2. Дифференциальные условия оптимальности 157 висимость градиентов д[{х*) (г Е S(x*)). В самом деле, при х* Е intP формулу B.10) можно записать в виде 2/o*/V)+ ? tfirf(**)=0, %es(x*) где, как утверждается теоремой 2.1, числа у^, у* (г Е S(x*)) не равны нулю одновременно. Ясно, что случай у? = О здесь невозможен по определению линейной независимости. К сожалению, условия регулярности подобного типа (см. также теорему 2.5 и задачу 5) труднопроверяемы, так как, помимо прочего, они формулируются в терминах самой точки минимума х*, которую и требуется найти. Более удобные условия регулярности удается получить в рамках задачи с выпуклыми ограничениями-неравенствами и линейными ограничениями-равенствами. В следующей теореме приводится группа таких условий. Каждое из них обосновывается как условие регулярности по схеме рассуждений из п. 2, но только вместо теоремы Фана используется одна из ее модификаций, как раз и называемых теоремами регулярности. Теорема 2.3. Пусть в задаче B.1) множество Р выпукло, функции f,g\, ..., Qk дифференцируемы в точке х* Е X, функции д\, ..., gi< выпуклы на Р, функции дк+\, • • •, д™. линейны. Предположим, что дополнительно выполняется хотя бы одно из следующих условий: 1) ограничения-равенства отсутствуют (fc = га) 1) и существует точка х Е Р такая, что gi(x) < 0 при всех i = 1, ..., га; 2) множество Р —- полиэдр, функции д\, ..., дк линейны; 3) множество Р — полиэдр, функции gi+\, ..., gk @ < / ^ к) линейны и существует точка х Е X такая, что gi(x) < 0 при всех г = 1, ..., 1\ 4) функции рг+ь ..., gk @ ^l ^k) линейны и существует точка х Е ri Р П X такая, что gi(x) < 0 при всех i = 1, ..., I. Если х* — локальное решение задачи B.1), то существует вектор у* Е Q такой, что при у$ = 1 выполняются условия B.5), B.6). Доказательство. Пусть выполняется условие 1). Тогда, как следует из первого доказательства п. 2, система B.13), B.14) не имеет решения на Р (соотношения B.15) здесь просто отсутствуют). В то же время для указанной точки х и любого г Е 1{х*), используя теорему 3.7 гл. 3, получаем №(х*), х-х*)< gi(x) - 9i(x*) = 9i(x) < 0, B.23) l) To есть речь идет о задаче f(x) —> min, g%{x) < 0, i = 1, ..., т, х Е Р. 6 А. Г. Сухарев и др
158 Гл. 4. Теория необходимых и достаточных условий оптимальности т. е. х — решение системы B.14) на Р. Тогда, согласно теореме 5.2 гл. 3, существуют числа у* ^ О (i e 1(х*)) такие, что при у% = 1 выполняется B.10), где, естественно, S(x*) = 1(х*). Это и доказывает теорему при условии 1). Пусть выполняется условие 2). Рассмотрим линейную систему (f'(x*)tx-x*)<0, B.24) №*),*-**Х0, t €/(**), B.25) {9i(x*)9 x-x*)=0, i = к + 1, ..., ш, B.26) отличающуюся от B.13)—B.15) лишь нестрогим неравенством в B.25). Если х удовлетворяет B.25), то для h = х — х* и любого г е /(х*), привлекая B.16), получаем gi(x* + ah) = gi(x*) + a(g<{x*), h) ^ 9i{x*) = 0 при всех а ^ 0. В остальном точно так же, как и ранее, показывается, что система B.24)-B.26) не имеет решения на Р. В то же время сама точка х* является решением системы B.25), B.26). Применяя теорему 5.5 гл. 3, вновь приходим к B.10) при г/J = 1. Пусть выполняется условие 3). Рассмотрим систему (/'(х*),х-х*)<0, B.27) (g-(x*), x - х*) < 0, г е Цх*) П {1, ..., I], B.28) (<7г'(**), х - х*) < 0, г G J(x*) П 0 + 1, ..., fc}, B.29) (^(х*), х - х*) =0, г = к + 1, ..., т. B.30) Без привлечения новых соображений показывается, что эта система не имеет решения на Р. В то же время указанная точка х является решением системы B.28)-B.30) на Р. В самом деле, для любого г е е 1(х*) П {1, ..., /} выполняется B.23); для любого ге/(х*)П{/ + + 1, .. •, к} с учетом B.16) справедливо @-(ж*), х - х*) = gi(x) - gi(x*) = д{(х) < 0, а для любого г — к + 1, ..., т можно записать такую же цепочку со знаком равенства в конце. Теперь следует применить теорему 5.6 гл. 3, что опять же приводит к B.10) при у? = I. Пусть, наконец, выполняется условие 4). Тогда по-прежнему система B.27)-B.30) не имеет решения на Р. При этом х — решение системы B.28)-B.30) на riP. Остается применить теорему 5.7 гл. 3. Д Из теорем 2.2 и 2.3 непосредственно следует один из важнейших фактов теории выпуклого программирования. Теорема 2.4 (теорема Куна-Таккера в дифференциальной форме). Пусть в дополнение к условиям теоремы 2.3 функция f выпукла на Р.
§ 2. Дифференциальные условия оптимальности 159 Тогда точка х* является решением задачи B.1) в том и только том случае, если существует вектор у* 6 Q такой, что при 2/q = 1 выполняются условия B.5), B.6). Л В § 3 мы получим и другие формы необходимых и достаточных условий оптимальности в задаче выпуклого программирования. Замечание. Фигурирующее в теореме 2.3, а стало быть, и в теореме 2.4 условие 1) называется условием Слейтера. Это наиболее простое и часто используемое условие регулярности. Условие 2) называют условием линейности. Отметим, что оно автоматически выполняется для задач линейного и квадратичного программирования. Более тонкие условия 3) и 4) именуются модифицированными условиями Слейтера. Общим их моментом является требование типа условия Слейтера по отношению лишь к нелинейным ограничениям- неравенствам. Отличие состоит в расположении точки х. В условии 3) — это просто точка из допустимого множества X. В условии 4) требуется, кроме того, чтобы х принадлежала относительной внутренности множества прямых ограничений Р. Таким образом, предположения «Р — полиэдр» и «#eriP» здесь как бы заменяют друг друга. Заметим, что при Р = Rn условия 3) и 4) сливаются в одно, сохраняя лишь отмеченный выше общий момент. Приведем примеры, показывающие существенность полученных условий регулярности. Прежде всего подчеркнем, что они «действуют» лишь в рамках общего предположения теоремы 2.3 о выпуклости функций pi, ..., у* и линейности функций gk+\, ---,9™,- Так, в задаче B.12) условие 1) как таковое выполнено, но функции g\t дч там невыпуклы и именно поэтому у^ = 0. Далее, рассмотрим задачу fix) = х —> min, B 31) д(х) =х2^0, xeR (ср. с замечанием к теореме 5.2 гл. 3). Ее единственной допустимой точкой и, значит, решением является х* = 0. При этом f'(x*) = 1, д'(х*) = 0. Ясно, что условие B.11) в данном случае может выполняться лишь при з/q = 0. Заметим, что ни одно из условий 1)-4) здесь не выполнено. Более интересным примером служит задача /(*) = *, - min, д(х) = х\ + x<i — 2 < 0, х е Р, где Р = {х е R2 | х\Х2 ^ 1, х\ ^ 0, х% ^ 0} (ср. с замечанием к теореме 5.7 гл. 3). Единственной допустимой точкой задачи является х* = = A, 1). При этом f'(x*) = A, 0), д'(х*) = A, 1). Неравенство B.10) имеет здесь вид: (Уо*+У*)(*1-1)+2/*(*2-1)^0. Рассмотрим функцию (р(х) = (у% + у*)(х — 1) +у*(\/х — 1). Для нее </?(!) =0, <р'0) = 2/о- Поэтому, если у% > 0, то для любого х < 1, 6*
160 Гл. 4. Теория необходимых и достаточных условий оптимальности достаточно близкого к 1, следует (р(х) < 0 и, значит, точка (х, 1/х), принадлежащая Р, не удовлетворяет указанному неравенству. Для данной задачи также не выполнено ни одно из условий 1)-4), причем условия 2)-3) — в силу того, что Р — не полиэдр, а условие 4) — в силу того, что х* ? ri Р = int P. ? Из теорем 5.2-5.7 гл. 3 нетрудно извлечь ряд других условий регулярности, если заменить предположения выпуклости и линейности непосредственными требованиями разрешимости соответствующих систем. Приведем в качестве примера одно из таких условий (другие см. в задаче 5). Теорема 2.5. Пусть в рамках предположений теоремы 2.1 выполняются следующие условия: 1) градиенты g'k+\(x*), • • •» #m(x*) линейно независимы; 2) натянутое на g'k+iix*), ..., д'ш(х*) линейное подпространство L имеет нулевое пересечение с ортогональным дополнением к LinP, т.е. LП AлпР)х = {0}; 3) система B.14), B.15) имеет решение на riP. Тогда в теореме 2.1 можно считать у$ — 1. Доказательство. Из условий 1), 2) следует, что градиенты g'k+l(x*), ..., g'mix*) вместе с векторами а\, ..., aSy образующими базис в (LinP)-1-, составляют линейно независимую систему. В этом случае, как было показано в общем доказательстве теоремы 2.1, система B.13)-B.15) не имеет решения на riP. Согласно условию 3) система B.14), B.15) имеет решение на ri(riP) = riP. Остается воспользоваться теоремой 5.7 гл. 3. Л В некоторых случаях формулировка данной теоремы упрощается. Если intP ф 0, то LinP = Rn и, значит, (LinPI = {0}. В этом случае условие 2) выполняется тривиальным образом. Если ограничения- неравенства отсутствуют (к = 0) и х* ? ri P, то автоматически выполнено условие 3) (решением служит х*). В частности, для классической задачи на условный экстремум (к = 0, Р = Rn) остается лишь условие 1), уже упоминавшееся ранее как условие регулярности. ^ 4. Условия оптимальности второго порядка. Пусть га L'U*. J/o, У) = »>/"(*) + ? »ifljV) — матрица вторых производных функции Лагранжа по координатам вектора х. Для точки х* е Р введем множество V(x*) = {heRn\h = \(x-x*), А>0, х G Р}. Ясно, что V(x*) = Rn, если х* е int Р.
§ 2. Дифференциальные условия оптимальности НИ Обозначим через Н(х*) множество всех векторов /i G Rn таких, что (/V). V < Ь B-33) №*)> h)< О, г G /(**), B.34) (g,i(x*),h)=0, t = fc+l, ...,m. B.35) Приведем теорему о достаточных условиях оптимальности в общей (необязательно выпуклой и регулярной) задаче математического программирования. Теорема 2.6. Пусть в задаче B.1) функций /, д\, ..., Qm дважды дифференцируемы в точке х* G X. Предположим, что существуют число уд ^ 0 и вектор у* € Q такие, что выполняются условия B.5), B.6) ы, кроме того, (L'Ux*, yl y*)h, h) > О B.36) л/ш всех ненулевых h G V(x*) П Н(х*) (черта означает замыкание). Тогда х* — строгое локальное решение задачи B.1), m. e. f(x*) < < f(x) при всех х G X, достаточно близких к х*, но отличных от х*. Доказательство. Если х* — изолированная точка множества X, то утверждение тривиально. Пусть х* — предельная точка X, не являющаяся строгим локальным решением задачи B.1). Тогда существует последовательность {хк}, удовлетворяющая условиям хк еХ, хк ф х\ хк -> х\ f(xk) ^ /(ж*). B.37) Представим хк в виде хк = х* + akhk, где ак = \\хк - х*||, hk = (хк - х*)/ак. Поскольку \\hk\\ = 1, то без ограничения общности можно считать, что hk —> h ф 0. Так как hk G V(x*), то h G V{x*). При этом, используя B.37), имеем 0 > f(xk) - f(x*) = (/'(**), akhk) + oK), 0 ^ 9i(xk) - 9i{x*) = (^(х*), afchfc) + o(afc), t G J(x*), 0 = <7i(sfe) - gi(x*) = {g^x*), akhk) + o(ak), i = ft + 1, ..., m. Поделив эти соотношения на ак и перейдя к пределу, получаем B.33)- B.35). Таким образом, h eV(x*)nH(x*), кфО. Далее, из B.5) следует {L'x{x\ yl у*), hk) > 0. B.38)
162 Гл. 4. Теория необходимых и достаточных условий оптимальности С учетом B.6), B.37) имеем m L{x\ уо*, у*) = y*0f(xk) + Y,y*9i(xk) < y*0f(xk) < < y*0f(x*) = %*/(**) + 5><ftOO = L{x\ y*0, y*). B.39) Из условий теоремы следует, что функция L(x, у?, у*) дважды дифференцируема в точке х*. Стало быть, L(x\ г/0*, у*) = L(x\ yl у*) + (Vx{x\ у0*, у*), а*Л*)+ + \ (L'U**, Уо*> y*){otkh% akhk) + о(а2к). Отсюда и из B.38), B.39) выводим f(L';x(x*,y*0,y*)hk,hk) + o(al)^0. Поделив обе части этого неравенства на а\ и перейдя к пределу, получаем противоречие с B.36). Л Замечание. При любых у* ^ 0 и у* е Q, удовлетворяющих B.5), B.6), из условия h e V(x*) П Н(х*) следует <^(**,y0*,y*),/i)=0, B.40) у0*(Г(х*)^> = 0, B.41) У?&(**).Л}=0, iel(x*)- B.42) В самом деле, из формулы B.5) и условия h ? V(x*) вытекает, что (L'x(x*> yQ, у*), h) ^ 0. Из формулы B.6) и условия heH(x*) получаем обратное неравенство: (L'x(x\y*0,y*),h) = (y*of'(x*)+ ? yt9'i(x%h) = i€S(x*) = »5</V).fc>+ ? #№*)•*>< о. г€/(х*) Это возможно лишь в том случае, когда выполняются соотношения B.40)-B.42). Из приведенного замечания и хода доказательства теоремы 2.6 понятно, что формулировка теоремы допускает некоторые модификации. Отметим одну из них, которая иногда оказывается более удобной в приложениях. Следствие 1. Пусть в задаче B.1) функции /, д\, ..., #т дважды дифференцируемы в точке х* G X. Предположим, что существуют у* > 0 и у* 6 Q такие, что выполняются условия B.5), B.6)
§ 2. Дифференциальные условия оптимальности 163 и B.36) при всех ненулевых h G V(x*), удовлетворяющих B.34), B.35), B.42). Тогда х* — строгое локальное решение задачи B.1). Ясно, что для классической задачи на условный экстремум это следствие переходит в теорему 1.7 гл. 1. Из доказательства теоремы 2.6 нетрудно извлечь также (более грубое) достаточное условие оптимальности с использованием только первых производных. Следствие 2. Пусть в задаче B.1) функции /, д\, ..., дш дифференцируемы в точке х* G X. Если V(x*) ПН(х*) = {0}, то х* — строгое локальное решение задачи B.1). Л Заметим, что для задачи выпуклого программирования теорема 2.6 и ее следствия указывают достаточные условия единственности (глобального) решения. Т Приведем теперь теорему о необходимом условии оптимальности второго порядка, ограничившись случаем х* G intP. Теорема 2.7. Пусть в задаче B.1) множество Р выпукло, функции f,g\t...,gm дважды дифференцируемы в точке х* G intРПX. Пусть, кроме того, функции gi (i G S(x*)) непрерывно дифференцируемы в некоторой окрестности х*, а градиенты д[(х*) (i E S(x*)) линейно независимы. Если х* — локальное решение задачи B.1), то (L'Ux*, y*0, y*)K h)>0 B.43) при любых ?/q ^ 0, у* G Q, удовлетворяющих B.6), B.8), и всех h G G#(x*) l). Доказательство. Для произвольного heH(x*) введем множества индексов /(**, h) = {ie /(**) | Шх% h) = 0} = = {i\9i(x*)=0, (дЦх*), h)=0, l^i<fc}, S(x*, h) = I(x\ h) U {k + 1, ..., m} = = {г | 9i(x*) = 0, (g'i(x*),h)=0, 1 < г < m}. Согласно лемме 2.2 существует n-мерная вектор-функция г(а) (а € R) такая, что gi(x* + ah + r(a)) = 0, i € S(x*, h), B.44) при всех достаточно малых а и lim iM = 0. B.45) «->О а ') Отметим, что на самом деле, согласно сказанному в начале п. 3, случай j/o = 0 здесь невозможен. Но это несущественно.
164 Гл. 4. Теория необходимых и достаточных условий оптимальности Пусть х(а) = х* + ah + r(a). Для любого г G {1, ..., /г}\/(х*, Л) выполняется одно из двух условий: либо gi(x*) < О, либо (#•(**)> Л> < 0. B.46) Ссылаясь в первом случае на B.6), а во втором — на B.42), получаем, что уг* = 0. Отсюда и из B.44) следует, что y*gi(x(a)) = 0 при всех г = 1, ..., т и всех достаточно малых а > 0. Поэтому т Цх(а), уо*. У*) = %*/(*(«)) + ? У*Л(*(«)) = »№(«)) B-47) г=1 при всех достаточно малых а. Далее, из B.44)-B.46) и условия х* e'mtP без труда выводится, что х(а) G X при всех достаточно малых а > 0. Отсюда /00 ^ f(x(a)) ПРИ всех достаточно малых а > 0, так как х* — локальное решение задачи B.1). Тогда, пользуясь формулами B.6), B.8), B.47), а также дважды дифференцируемостью функции L(x, у?, у*) в ж*, можем записать: 0 < Уо*/(*И) " 1Й/0О = Ж"), У0*> У*) " Д**> у1 2/*) = = 5 <^'*(**> 2/о*, У*Ж"). М«). *(*)> +*(а2), где Л(а) = ж(а) — х* = ah + г (а). Отсюда 5(^(*-.1в,1Г)(л + ^).(л + ^)) + ^>0. Переходя здесь к пределу, получаем B.43). Л Нетрудно понять, что для классической задачи на условный экстремум это утверждение переходит в теорему 1.6 гл. 1. Заметим, что для задачи выпуклого программирования теорема 2.7 (в отличие от теоремы 2.6) интереса не представляет: неравенство B.43) выполняется здесь автоматически при всех h G Rn в силу выпуклости функции L(x, ?/q, у*) по х (см. теорему 3.9 гл. 3). А 5. Отыскание решений простейших задач. В некоторых случаях изложенная теория позволяет в явном виде найти решение задачи математического программирования. Последовательность действий состоит здесь, естественно, из следующих этапов: 1) составление функции Лагранжа; 2) составление системы, характеризующей стационарные точки; 3) решение системы; 4) исследование стационарных точек в целях отбора среди них решений. Подчеркнем, что на этапе 1) задачу необходимо предварительно привести именно к виду B.1). Так, если дана задача максимизации
§ 2. Дифференциальные условия оптимальности 165 функции /, то ее следует рассматривать как задачу минимизации функции —/; если имеется ограничение вида gi(x) ^ 0, то его надо заменить на ограничение — gi(x*) ^ 0, и т.п. Заметим также, что для конкретной задачи можно составить, вообще говоря, много функций Лагранжа в зависимости от того, какие ограничения считать функциональными, а какие — прямыми, т.е. включенными в множество Р. Обычно Р выбирается таким образом, чтобы можно было применить одно из утверждений леммы 2.1. Кроме того, на этапе 1) проверяется, удовлетворяет ли задача какому-либо условию регулярности, и если да, то сразу строится функция Лагранжа вида B.7). На этапе 2) выписываются в конкретной форме условия B.5), B.6), а также условие допустимости я* е X и условия на множители Лагранжа, указанные в теореме 2.1. Так, если множество Р имеет вид B.9), то полную систему для определения стационарных точек можно записать (опуская «звездочки») в виде Xj ^ °' ~дх~ (х* Уо' у} ^ °' Xj ~дх~ ^' Уо' у} = °' 3 =1> •••> s> -j^T (ж, 2/о, У) = 0, j = s+l п, 2/г^0, gi(x)^0, yigi(x)=0, t=l,...,fc, gi(x) =0, г = fc + 1, ..., m, Уо > 0, (од, у) ф 0, причем для регулярных задач последняя строка заменяется условием 2/0 = 1- Этап 3) — наиболее трудный, и преодолеть его удается лишь в редких случаях. Этап 4) для регулярной задачи выпуклого программирования сводится к ссылке на теорему 2.4, а точнее — на теорему 2.2. В общем случае этот этап также непрост. Иногда удается воспользоваться довольно громоздкими условиями оптимальности второго порядка (п. 4). В некоторых случаях проще провести непосредственное исследование поведения целевой функции в стационарной точке. На данном этапе могут быть полезными разного рода специальные соображения. Так, если известно, что задача на минимум имеет глобальное решение, то им, очевидно, является та стационарная точка, в которой целевая функция принимает наименьшее значение. Отмеченные подходы к исследованию стационарной точки на оптимальность будут продемонстрированы в примере 2.3. Иногда из некоторых соображений, например геометрических или содержательных, удается выдвинуть гипотезу о том, что данная точка х является решением задачи. Эта гипотеза затем может быть строго проверена путем подстановки х в систему типа B.48) и ее исследования на разрешимость относительно множителей Лагранжа.
166 Гл. 4. Теория необходимых и достаточных условий оптимальности Пример 2.1. В примере 1.5 гл. 1, исходя из геометрических соображений, было найдено, что решением задачи выпуклого программирования х2 —» min, х\ + х\ ~~ 1 ^ Of ~х\ + х\ ^ 0» х\ +х2^0 является точка х = (\/2/2, -л/2/2). Теперь покажем это строго. Учитывая, что задача удовлетворяет условию Слейтера, сразу выпишем регулярную функцию Лагранжа: L(x, у) =х2+у\(х\ + а$- 1)+У2(-х\ +х1)+у3(-хх -х2). Система B.48) в данном случае (когда х = 0, п = 2, fc = m = 3) выглядит следующим образом: 2у\х\ -2/2-2/3=0, 1 + 2у\х2 + 2у2х2 -у3=0, ух >0, x\ + x22-l <0, yi(a^ + x|- 1)=0, 2/2 ^ 0, -xi+a^^O, г/г(-^1 + ж|) =0, Уз^О, xi+x2^0, уз (ж 1 +ж2) =0. В указанной точке ж первое и третье ограничения активны, а второе — пассивно. Поэтому при подстановке х в B.49) должно быть 2/2 = 0; в результате получаем следующую систему для у\ и у$: \/2 2/1-2/3=0, 1_722/1-у3 = 0, У1 ^ 0, г/з ^ 0. Эта система имеет решение (у\ = \/2/4, г/з = 1/2)- Тогда, по теореме 2.2, данная точка х является решением задачи. Читателю предлагается самостоятельно убедиться в том, что других стационарных точек и, стало быть, решений задача не имеет. Как уже неоднократно отмечалось, найти решение задачи оптимизации в явном виде удается далеко не всегда. Однако условия оптимальности позволяют порой свести поиск решения к применению какой-нибудь простой вычислительной процедуры. Пример 2.2. Вернемся к задаче поиска из примера 1.6 гл. 1, записав ее как эквивалентную задачу минимизации: п п Y^V3e~ajtj -* min> X^j < т> *i ^ °» J = 1. • • • > л- i=i j=i Ясно, что это регулярная задача выпуклого программирования. Выпишем ее регулярную функцию Лагранжа П П где t G R+. Система B.48) имеет здесь вид
§ 2. Дифференциальные условия оптимальности 167 Ь>0, ^- = -а^е-а^+у^О, *;§? = 0, j = l, ...,п, 1 ' B.50) п п У^О, 5><Т, у(Х>-т)=0. B.51) i=i i=i Из B.50) следует, что у > 0 и, значит, 5>=Т. B.52) Преобразуя неравенство из B.50), имеем причем здесь стоит знак равенства, если tj > 0, а случай tj < 0 не допускается. Следовательно, L=max(o, -Lln^2iV j = 1, ...,n. B.53) Подставляя эти выражения в B.52), получаем уравнение для у: J2 max (О, i- In 5a?t) = Т. B.54) j=i J Левая часть этого уравнения как функция от у строго монотонно убывает на полуинтервале @, у], где у = max {otjPj)\ кроме того, j=l,...,n она стремится к +оо при у —> 0 и обращается в нуль при у — У- Поэтому решение у* уравнения B.54) существует и единственно. В силу теоремы 2.2 формула B.53) при у = у* указывает единственное решение задачи. Заметим, что найти у* в явном виде затруднительно. Для приближенного отыскания у* можно использовать, например, простейший метод «вилки» ([26, с. 468]). Прежде чем обратиться к следующему примеру, отметим, что в рамках описанной выше схемы отыскание точек минимума и максимума данной функции / при тех или иных ограничениях можно осуществлять одновременно. Необходимо лишь исключить в системе типа B.48) условие уо ^ 0- Тогда, как очевидно, случай уо ^ 0 будет соответствовать стационарным точкам задачи максимизации /, т.е. минимизации —/. Для этого случая все теоремы параграфа допускают естественную переформулировку. Если, скажем, выполняются условия теоремы 2.6 при у? ^ 0, то х* — точка строгого максимума функции / х). 1) По поводу кажущегося противоречивым случая Уо = 0 см. задачу 6.
168 Гл. 4. Теория необходимых и достаточных условий оптимальности Пример 2.3. Пусть даны числа а > О, Ь > О, причем а < Ь. Требуется найти точки локального минимума и максимума функции /(х) = -ax2{+- Ьх\ на множестве решений системы X1 ~t~ Хп ^ 1, Х\ ~\~ Хп ^ 1. Обозначим это множество через X. Выпишем функцию Лагранжа Цх, Уо, У) = Уо B arEi + 26xV + 2/1 (^1 -Ь ^2 — 1)+У2(-я?-х! + 1). Система B.48) (без условия уо ^ 0) выглядит здесь следующим образом: ау0х\ + Ъу\х\ - 2у2х{ = 0, B.55) ЬуоХ2 + 3yix2 - 2у2х2 = 0, B.56) г/i ^ 0, х?+х^1, ух(х\+х\- 1) = 0, B.57) У2^0, х\ + х\>\, у2(х? + х|-1)=0, B.58) (Уо, 2/1,2/2)^0. B.59) Допустим, что xi =0. Тогда из B.57), B.58) следует х2 ^ 1, х\^\. Отсюда либо Х2 = 1, либо х2 < — 1. Во втором случае из B.57) вытекает у\ = 0. Если при этом х2 < —1, то у2 =0 в силу B.58). Но тогда из B.56) имеем уо = 0, что противоречит B.59). Теперь без труда получаем первые две группы решений системы B.55)-B.59): l)xi=0, х2 = 1, byo + 3yi -2у2 =0, yi^O, у2 ^ О, (уиу2)ф т^О; 2)xi=0, х2 = -1, Ьу0-2у2=0, yi=0, у2 > 0. Аналогичным образом, предположив х2 = 0, получаем еще две группы решений: 3) х\ = 1, х2=0, ау0 + 3yi - 2у2 = 0, yi ^ О, у2 ^ О, (уи у2) ф 4)xi = -l, х2 = 0, ау0-2у2=0, у\ = О, у2 > 0. Допустим теперь, что xi ^ О, х2ф 0. Тогда уравнения B.55), B.56) можно переписать в виде ау0 + 3yixi - 2у2 = 0, by0 + 3yix2 - 2у2 = 0. Если здесь у\ = О, то у0 = 0, поскольку а ф Ь. Но тогда у2 = 0, что противоречит B.59). Остается предположить, что у\ > 0. Тогда х\ + + х\ = 1 в силу B.57). Учитывая, что х\ /О, х2ф О, отсюда выводим xf + х\ > 1, и поэтому у2 = 0 в силу B.58). Теперь без труда получаем еще одну группу решений системы B.55)-B.59):
§ 2. Дифференциальные условия оптимальности 169 5) хх = а/^ТбЗ, Х2 = б/^TF, уо < 0, ух = -у0 у/о? + Ь3/3, 2/2 = 0 (ср. с примером 1.3 гл. 1). Заметим, что в 1) и 3) множитель уо может принимать как положительные, так и отрицательные значения, в 2) и 4) — только положительные, а в 5) — отрицательные. Поэтому @, 1) и A,0) — стационарные точки как в задаче минимизации, так и в задаче максимизации, @, -1) и (-1, 0) — только в задаче минимизации, а точка из 5) — только в задаче максимизации. Теперь проведем исследование стационарных точек на оптимальность. Заметим, что рассматриваемая функция / сильно выпукла на R2. Поэтому, в силу теоремы 3.13 гл. 3 и теоремы 1.1' гл. 1, она достигает глобального минимума на любом замкнутом множестве в R2 и, в частности, на данном множестве X. Вычислим значения / в стационарных точках задачи минимизации: /(О, 1) = ДО, -1) = \b, /A, 0) = /(-1, 0) = io. Поскольку а < 6, отсюда следует, что A, 0) и (—1, 0) — точки глобального минимума функции / на X. Далее, представим / в виде f(x) = I а{х\ + х\) + - (Ь - а)х\. Отсюда ясно, что если двигаться из точек @, 1) и @, —1), оставаясь на окружности х\ + х\ = 1, а значит, и в X, то значение / будет уменьшаться. Следовательно, эти точки не являются точками локального минимума / на X. В то же время при любом ?>0 точка (—е, 1) лежит в X и /@, 1) </(-?, 1). Поэтому точка @, 1) не является точкой локального максимума / на X. Итак, стационарные точки @, 1) и @, —1) оказались «посторонними». Рассмотрим теперь матрицу вторых производных функции Лаг- ранжа: L„ = Гауо + 62/iXi — 2з/2 0* 1 хх [ 0 byo + 6yix2 -2у2\ При значениях из 5) эта матрица выглядит следующим образом: г и \-У№ 0 1 хх [ 0 -у0ь\- Поскольку уо < 0, то эта матрица положительно определена и, значит, заведомо выполняется условие B.36). Таким образом, (а/у/а3 н- Ь3, Ь/у/о? + б3) — точка строгого локального максимума / наХ.
170 Гл. 4. Теория необходимых и достаточных условий оптимальности ЗАДАЧИ 1. Привести пример задачи, для которой в условии B.6) оба сомножителя обращаются в нуль. 2. Показать, что в теореме 2.1 множители Лагранжа у?, у*, ..., у^ можно выбрать таким образом, что не более п + 1 из них будут отличны от нуля. Соответствующим образом уточнить утверждения теорем 2.3-2.5. Указание. Воспользоваться задачей 1 § 5 гл. 3. 3. Убедиться, что в формулировке теоремы 2.2 функцию git к + + 1 ^ г ^ т, можно считать выпуклой, если у* ^ 0, и вогнутой, если 4. Показать, что в условии 2) теоремы 2.3 функции g\, ...,gk можно считать вогнутыми на Р. Указание. Используя аналог теоремы 3.7 гл. 3 для вогнутых функций, убедиться, что в этом случае система B.24)-B.26) по- прежнему не имеет решения на Р. 5. Пусть в задаче B.1) множество Р выпукло, функции /, <7ь ..., gk дифференцируемы в точке х* е X, функции р^+ь ..., д-т линейны. Предположим, что дополнительно выполняется хотя бы одно из следующих условий: 1) ограничения-равенства отсутствуют (к = т), а система B.14) имеет решение на Р; 2) множество Р — полиэдр, функции gj+i, ..., gk @ <l ^ к) линейны, а система B.28)-B.30) имеет решение на Р; 3) функции gi+\,...,gk @ ^ / < к) линейны, а система B.28)- B.30) имеет решение на riP. Доказать, что тогда в теореме 2.1 можно считать у^ = 1. 6. Показать, что если выполняются условия теоремы 2.6 при у^ = 0, то х* — изолированная точка множества X. Проверить, что именно такой случай имеет место в задаче х 1 —> min, х\ + х\^\у х\ + х\ = 1. 7. На примере задачи х\ —> min, x\ + x\^ \, x\ -f х\ = 1 убедиться, что в теореме 2.7 условие линейной независимости градиентов д[(х*), г ? S(x*), существенно. 8. Выдвигая из геометрических соображений гипотезу, а затем проверяя ее, найти решения следующих задач: а) х\ + (х2 - IJ -яшп, х\ + 4^2 ^ 4, 2х\ + х2^2, х\ ^ 2х2; б) х\ —> max, х2 + х2^1, (х\ - 1J+х2 ^ 1, xi+x2^l;
§ 2. Дифференциальные условия оптимальности 17J_ в) 10 (ж! - 3,5J + 20 (х2 - 4J -> min, Х\ + #2 ^ 6, Xi — Х2 ^ 1, 2xi + ^2 ^ 6, 0,5 xi — Х2 ^ —4, х\ ^ 1, Х2 ^ 1; г) 25 (х, - 2J + (х2 - 2J -> max, xi + х2 ^ 2, xi - х2 ^ -2, xi + х2 < 6, Х\ — 3X2 ^2, Х\ ^ 0, Х2 ^ 0. 9. Разработать (по типу примера 2.2) численный метод решения задачи п п У^ (xj - а^J -> min, ^P Xj ^ 1, х\ ^ 0, ..., xn ^ 0, где ai, ..., ап — произвольные числа. 10. Привести геометрическую интерпретацию задачи из примера 2.3; убедиться, что полученные там выводы относительно стационарных точек наглядно очевидны. 11. Решить задачи: п п а) 2 аэ уЛЧ ~~> тах' X) хз ^ *» xi ^ 0, ..., хп ^ 0, где аь ... ..., an — положительные числа; п л n б) П х7J —> тах> S ftxi ^ 1' xi ^ 0, ..., хп ^ 0, где Ai,... • • •, An, pi, ..., pn — положительные числа (ср. с примером 1.7 гл. 1); п п п в) J2 (xj ~ азJ "* min' J2 х) ^ *» X) ^ = 0, где аь ..., an — произвольные числа. 12. Решить задачу ах\ + 6xi#2 + С^2 ~~* mm> X2 + Х2 ^ 1, Xi + Х2 ^ 1, при всевозможных значениях а, 6 и с. Обратить внимание на то, сколь упрощает дело предположение о выпуклости целевой функции: a ^ О, с ^ 0, Аас ^ Ь2. 13. Убедиться, что (—1, —1) — стационарная точка задачи - Xi + х2 —> min, х2 + х\ ^ 2, попадающая в «зазор» между теоремами 2.6 и 2.7: условие B.43) выполняется здесь как равенство при всех Л, удовлетворяющих B.33)- B.35). Тем не менее выяснить, является ли эта точка решением. 14. В задаче B.1) любое ограничение-равенство gi(x) = 0 можно эквивалентно заменить неравенствами gi(x) ^ 0, —gi(x) ^ 0 или неравенством [<7;(#)]2 ^ 0. В этой связи представляется естественной попытка вывести теорему 2.1 в общей формулировке из ее частного (проще доказываемого) случая, относящегося к задаче только
172 Гл. 4. Теория необходимых и достаточных условий оптимальности с ограничениями-неравенствами. Почему такой путь не приводит к успеху? 15 (Принцип Лагранжа в терминах производных по направлению.) Функцию / назовем квазидифференцируемой в точке х* ? Rn, если / определена в некоторой окрестности этой точки; для любого вектора h € Rn величина f'(x*9 h) = lim — a ' ~ ^x ' существует и a—0+ a конечна, причем f'(x*, К) как функция от h выпукла на Rn. Этот класс функций достаточно широк. Так, дифференцируемая функция квазидифференцируема. Из теоремы 4.2 гл. 3 следует, что выпуклая функция квазидифференцируема в любой внутренней точке области определения. Доказать следующее утверждение. Пусть х* — локальное решение задачи f(x) —» min, gi(x) ^ О, i = 1, ..., m, x e P, где множество Р выпукло, а функции /, g\y ..., gm квазидифференци- руемы в точке х*. Тогда существуют числа у? ^ 0, у* ^ 0, ..., у^ ^ 0, не равные нулю одновременно и такие, что т 2/о/'(х*> х ~ х*) + У2У{9{(Х*> х-х*)^0 при всех х е Р, г=1 у*9г(х*) = 0, i=l m. Указание. Применить теорему 5.1 гл. 3 к системе f'(x*,x-x*)<0, д'{(х*, х-х*) <0, ге/(х*), на множестве Р. 16. (Условия оптимальности в минимаксной задаче.) Рассмотрим минимаксную задачу f(x)= max fi(x) —> min, x Е Rn. A) г=1, ...,т Для точки х Е Rn введем множество 1(х) = {г | fi(x) = f(x), 1 ^ г ^ ш}. Доказать следующие утверждения. а) Пусть функции /ь ..., /ш дифференцируемы в точке х* Е Rn. Если х* — локальное решение задачи A), то существуют числа у* ^ 0, г Е 1(х*)> такие, что ? y*fl{x*)=0, Y, У* = 1- " B) i?l(x*) г€/(х*) б) Пусть функции /i, ..., /m выпуклы на Rn. Тогда точка я* является решением задачи A) в том и только том случае, если существуют
§ 2. Дифференциальные условия оптимальности 173 числа у* ^ 0, г G 1(х*), и векторы (субградиенты) аг G 9/,(х*), г G G Дх*), такие, что ? »?а<=0, J; у? = 1. ie/(x*) iei(x*) в) Пусть функции /i, ..., fm дважды дифференцируемы в точке х* G Rn. Предположим, что существуют числа у* ^ 0, г G G /(х*), такие, что выполняются условия B) и, кроме того, а]Г ytf"{x*) Л, /Л > О при всех ненулевых Л G Rn, для которых г€/(х*) J ' (Л(х*),ЛК0, t €/(**). C) Тогда х* — строгое локальное решение задачи A). г) Пусть функции /i,...,/m дважды дифференцируемы в точке х* и непрерывно дифференцируемы в некоторой окрестности х*, причем градиенты /г'(х*), i е 1(х*), аффинно независимы (см. задачу 13 § 1 гл. 3). Если х* — локальное решение задачи A), то ([ Е yif"(x*j\h,h)>0 при всех у\> О, г G/(х*), и h G Rn, Ui(E/(x*) J / удовлетворяющих B), C). Указание. Задача A) эквивалентна следующей задаче математического программирования: и —> min, fi(x)-u^0, г=1,...,га, xGRn. Утверждения а), в), г) получаются путем применения к этой задаче теорем 2.1, 2.6 и 2.7 соответственно. Для доказательства утверждения б) необходимо применить теорему 1.3 непосредственно к задаче A) и учесть следствие теоремы 4.9 гл. 3. 17. (Принцип уравнивания Ю.Б. Гермейера.) а) Пусть /ь ..., /п — непрерывные функции на R+, Рп = <хе G R+ \J2 xj = 1 f • Доказать, что существует точка х* G Рп и число Л такие, что /•(х*){=А' 6СЛИ Х'*>0' A) MjJbA, если х*=0, i=l,...,n. Uj n 7 Указание. Применить теорему 2.3 к задаче J2 \fj(tj)dtj-+ —> min, 5^x^ = 1, xeR". i=i б) Рассмотрим задачу min fj(xj) —> max, x G Pn> i=i, ...,n где /i,...,/n — непрерывные монотонно неубывающие функции на R+. Доказать, что существует глобальное решение х* этой задачи и число А такие, что выполняется A).
174 Гл. 4. Теория необходимых и достаточных условий оптимальности § 3. Теория двойственности и недифференциальные условия оптимальности в задаче выпуклого программирования В этом параграфе мы продолжим изучение задачи вида f(x) —> min, &(ж)<0, t=l, ...,*;, Qi(x) = 0, i = k+ 1, ..., га, xePcRn. Основные результаты параграфа относятся к случаю, когда C.1) — задача выпуклого программирования, удовлетворяющая определенным требованиям типа условий регулярности из § 2; при этом функции /, #1, ..., gk необязательно дифференцируемы. Пусть по-прежнему X = {х е Р | gi(x) ^ 0, г = 1, ..., к; gi{x) = 0, г = А; + 1, ..., т} — допустимое множество задачи C.1); Q = {yeRrn\yi>0, г = 1, ...,fc} — множество векторов из Rm, у которых первые к координат неотрицательны; m Цх, y) = f(x) + Ysyi9i(x) — (регулярная) функция Лагранжа задачи C.1). Предполагая, что X ф 0, обозначим через /* точную нижнюю грань целевой функции задачи C.1) на ее допустимом множестве: г = мт. Ради краткости будем называть /* значением задачи C.1). Понятно, что точка х* € X является (глобальным) решением задачи C.1) в том и только том случае, если /(ж*) = /*. Однако может случиться и так, что задача C.1) не имеет решения, т.е. f(x) > /* ^ -оо при всех хеХ. 1. Теорема о существовании вектора Куна-Таккера. Центральную роль в дальнейшем изложении будет играть следующее понятие. Определение 3.1. Вектор у* е Q называется вектором Куна- Таккера задачи C.1), если т /* ^ /(х) + ]Гyl9i{x) = L(x, у*) при всех х е Р. C.2)
§ 3. Теория двойственности в задаче выпуклого программирования 175 Мы увидим, что задачи, для которых такой вектор существует, обладают целым рядом важных свойств, отсутствующих в общем случае. Этим свойствам фактически и посвящен данный параграф. Оказывается, вектор Куна-Таккера существует для достаточно широкого класса задач выпуклого программирования. Прежде чем доказать соответствующий результат, получим более слабое утверждение, отражающее одно характерное свойство произвольной задачи выпуклого программирования. Это утверждение позволит прояснить природу введенного понятия. Теорема 3.1. Пусть в задаче C.1) множество Р выпукло, функции f,g\,...,gk выпуклы на Р, функции gk+\> -••> д™ линейны, множество X непусто. Тогда существуют число yJ^Ou вектор у* G Q, не равные нулю одновременно и такие, что т yor<yof(^) + ^2yigi(<x>>=L^y^y*) при всех хеР. C.3) г=1 Доказательство. Если /* = -оо, то C.3) тривиально выполняется при всех у? > 0 и у* е Q. Пусть /* > —оо. Рассмотрим систему /(*)-/*< О, gi{x) <0, г = 1, ..., к, gi{x) = О, г = к + 1, ..., га. По определению /* эта система не имеет решения на Р. Тогда, согласно теореме 5.1 (Фана) гл. 3, существуют число yj ^ 0 и вектор у* € Q, не равные нулю одновременно и такие, что m »о(/(*)-Я+ ?>?#(*) ^ о пРивсех xeR <3-4) г=1 Но это и есть C.3). Л Замечание. Для произвольных задач математического программирования утверждение теоремы 3.1 неверно. Так, легко проверить, что оно нарушается для задачи —х2 —> min, х = 0, х G Р = R, а также для задачи х — 1 —> min, х2 — 1 = 0, х е Р = R+ (ср. с замечанием к теореме 5.1 гл. 3). В первой задаче целевая функция невыпукла, во второй — ограничение-равенство нелинейно. Как мы видим, теорема 3.1 является простым следствием теоремы Фана, точнее говоря, ее переформулировкой в терминах задачи C.1). При этом в C.3) не исключается случай у$ = 0, который, как будет
176 Гл. 4. Теория необходимых и достаточных условий оптимальности ясно из дальнейшего, не позволяет делать нужных выводов. Используя, однако, вместо теоремы Фана другие результаты § 5 гл. 3 (теоремы регулярности), можно без труда указать дополнительные условия на задачу C.1), при которых обеспечивается случай у$ = 1 в C.3), т.е. существование вектора Куна-Таккера. Теорема 3.2. Пусть в задаче C.1) множество Р выпукло, функции ftg\,...,gk выпуклы на Р, функции gk+\, • •-, gm линейны. Предположим, что дополнительно выполняется хотя бы одно из следующих условий: 1) ограничения-равенства отсутствуют (к = га), и существует точка х е Р такая, что gi(x) < О при всех г = 1, ..., га; 2) множество Р — полиэдр, функции /, g\, ..., gk линейны, множество X непусто х); 3) множество Р — полиэдр, функции f,g\,...,gi @ ^ I < к) выпуклы на относительно открытом выпуклом множестве U, содержащем Р, функции рг+ь • • • , gk линейны, и существует точка х Е X такая, что gi(x) < О при всех г = 1, ..., 1\ 4) функции gi+\, ..., gk (О ^ I ^ к) линейны, и существует точка х GnPnX такая, что gi(x) < О при всех г = 1, ..., /. Тогда вектор Куна-Таккера задачи C.1) существует. Доказательство. Как уже отмечалось, случай /* = — оо тривиален. Пусть /* > -оо. Если выполняется условие 1), то система /(*)-/* <0, gi(x) < О, г = 1, ..., га, рассматриваемая на множестве Р, удовлетворяет предположениям теоремы 5.2 гл. 3. Поэтому существует вектор у* е R™ = Q такой, что справедливо соотношение C.4) при у? = 1, т.е. соотношение C.2). Если выполняется условие 2), то существование вектора Куна- Таккера следует из теоремы 5.5 гл. 3, примененной к системе /(*)-/*< О, д{(х) ^0, i= l, ..., к, gi(x) = 0, г = к + 1, ..., га, на множестве Р. Если выполняется условие 3) или условие 4), то следует применить теорему 5.6 или 5.7 гл. 3 соответственно к следующей системе /(*)-/*< 0, gi(x) <0, г = 1, .... Z, О Отметим, что в рамках условий 1), 3), 4) требование X ф 0 выполняется автоматически.
§ 3. Теория двойственности в задаче выпуклого программирования 177 gi(x) <0, г = Z+1, ..., fc, gi(x) = 0, г = fc+ 1, ..., m, на множестве Р. Л Замечание. Условия 1), 4) теоремы 3.2 соответственно совпадают с условиями 1), 4) теоремы 2.3. Напомним, что условие 1) называется условием Слейтера, а 4) — модифицированным условием Слейтера. В условиях 2), 3) теоремы 3.2 требуется, как видим, чуть больше, чем в условиях 2), 3) теоремы 2.3, и это существенно. Так, для задачи выпуклого программирования вида f(x) = —у/х\Х2 —> min, х\ ^ 0, х Е Р = R+, C.5) соотношение C.3) выполняется лишь при у% = О (ср. с замечанием к теореме 5.6 гл. 3). Здесь ни одно из условий 1)-4) не выполняется, причем условие 2) — в силу того, что функция / нелинейна, а условие 3) — в силу того, что / выпукла только на Р. Отметим, впрочем, что для этой задачи неприменима и теорема 2.3, так как в точке х* = = О, являющейся решением, функция / недифференцируема. Нетрудно убедиться, что для задач выпуклого программирования B.31), B.32), не удовлетворяющих ни одному из условий 1)-4), утверждение теоремы 3.2 также нарушается. 2. Основы теории двойственности. Любой задаче математического программирования можно поставить в соответствие так называемую двойственную задачу оптимизации. Между этими задачами обнаруживаются тесные связи, изучение которых составляет предмет теории двойственности. Как мы увидим, данная теория тесно связана с теорией условий оптимальности и в определенном смысле может рассматриваться как раздел последней. Определение 3.2. Двойственной к задаче C.1) называется задача (р(у) -> max, yeYt C.6) где m 4>{V) = ™lL(X> У) = ^f (f(x) + Vyi&(x)), i=l Y = {y e Q | ip(y) > -oo}. При этом задача C.1) называется прямой. Предполагая, что Y ф 0, обозначим через <р* = sup <р(у) y€Y значение задачи C.6).
178 Гл. 4. Теория необходимых и достаточных условий оптимальности Замечание. Двойственную задачу C.6) можно записывать просто в виде ip(y) -> max, у е Q, допуская тем самым бесконечные значения функции (р(у). В то же время прямая задача C.1), очевидно, представима в форме ф(х) —> min, х € Р, где г *( \ г v ,, v т( \ /Ях)» если хеХ> *(*) = »рД*.у) = {+00| если хеРКХт Формально положим /* = +оо, если X = 0, т. е. sup L(x, у) = = +оо при всех х € Р; <р* = —оо, если У = 0, т. е. inf L(x, у) = х?Р — —оо при всех у eQ. Тогда во всяком случае можем записать: /* = inf supL(x, у), (р* = sup inf L(x, у). C.7) xGPyGQ y€Qx?p Таким образом, прямая и двойственная задачи определяются симметрично относительно функции Лагранжа L(x, у) прямой задачи: чтобы получить двойственную, достаточно переставить операции inf и sup X у над данной функцией. Отметив этот факт, мы тем не менее будем использовать в дальнейшем более удобные несимметричные формы записи C.1) и C.6) для прямой и двойственной задач. Покажем, что задача, двойственная к произвольной задаче математического программирования, всегда выпукла (если рассматривать ее как задачу минимизации). Теорема 3.3. В задаче C.6) множество Y выпукло, функция ср вогнута на Y. Доказательство. Функция Лагранжа L(x, у) линейна по у при любом х е Р. С учетом этого для любых у\ у2 е Q и А е [О, 1] имеем <р(\у>+A-\)у2) = = inf L(x, Ay1 + A - Х)у2) = inf (ХЦх, у1) + A - ХЩх, у2)) > х?Р х?Р ^ A mfL(x, у1) + A - A) inf L(x, у2) = \<р(у1) + A - \)V{y2). х?Р х?Р Поэтому, во-первых, множество Y выпукло (из условий (р(у{) > —оо, <р(у2) > -оо следует ip{\yl + A — А)?/2) > — оо), а во-вторых, функция ip вогнута на Y. Д Следующая теорема указывает простые, но важные взаимосвязи между произвольной задачей математического программирования и двойственной к ней.
§ 3. Теория двойственности в задаче выпуклого программирования 179 Теорема 3.4. 1) Для любых хеХ и ytQ справедливо неравенство /(*) > ?>(»). C.8) 2) Если ХфЯ, Y ^0, то Г > Ч>\ C-9) т. е. значение прямой задачи (на минимум) всегда не меньше значения двойственной задачи (на максимум). Доказательство. Для любых х е X, у eQ имеем т fix) ^ f(x)+У2у&(х) = L(x' у) > fef ?(ж'' у) = ?(»)• г=1 т.е. справедливо C.8). Отсюда непосредственно следует C.9). Л В C.9), вообще говоря, возможен случай /* > (р* (см. задачу 7). Одной из центральных проблем теории двойственности является поиск условий, при которых значения прямой и двойственной задач совпадают, т. е. /* = (р* или с учетом C.7) inf sup L(x, у) = sup inf L(x, у). x?py?Q yeQx?p Это равенство, называемое соотношением двойственности, влечет за собой ряд важных следствий и, в частности, позволяет сводить поиск решения прямой задачи к отысканию решений двойственной, которая в ряде случаев оказывается более простой. Приведем основной результат излагаемой теории. Теорема 3.5 (теорема двойственности). Пусть выполняются предположения теоремы 3.2 1). Если значение прямой задачи C.1) конечно (/* > — оо), в частности, если она имеет решение, то множество решений двойственной задачи C.6) непусто и совпадает с множеством векторов Куна-Таккера задачи C.1). При этом справедливо соотношение двойственности /*=?>*• (ЗЛО) Доказательство. Пусть у* € Q — вектор Куна-Таккера задачи C.1), существующий в силу теоремы 3.2. Тогда из C.2) /*< mfL(x,y*) = <p(y*)^<p*. C.11) х€ Р Поскольку /* > —оо , то ip(y*) > —оо, т.е. у* е Y. Сопоставляя C.11) с C.9), получаем C.10). При этом, естественно, (р(у*) = <р*, т.е. у* — решение задачи C.6). Таким образом, любой вектор Куна-Таккера задачи C.1) является решением задачи C.6). Пусть, напротив, у* — 1) На самом деле здесь, а также в теоремах 3.6, 3.9-3.12 требуется лишь сам факт существования вектора Куна-Таккера задачи C.1).
180 Гл. 4. Теория необходимых и достаточных условий оптимальности решение задачи C.6). Тогда, используя доказанное соотношение C.10), ИМееМ /* * i *\ • с т( *\ /* = у* = ip{y*) = mipL(x, у*), т.е. выполняется C.2) и, значит, у* — вектор Куна-Таккера задачи C.1). Л Из теоремы 3.5 следует другое важное утверждение теории двойственности. Теорема 3.6. Пусть выполняются предположения теоремы 3.2. Если допустимое множество Y двойственной задачи C.6) непусто, то она имеет решение. Если же Y = 0, то значение прямой задачи C.1) бесконечно (/* = —оо). Доказательство. Если Y ф 0, то /* ^ ip* > —оо в силу теоремы 3.4. Тогда, согласно теореме 3.5, задача C.6) имеет решение. Если У = 0, то, по той же теореме 3.5, случай /* > —оо невозможен. А Ў Приведем другую теорему о совпадении значений прямой и двойственной задач, где вместо регулярности требуются непрерывность функций, а также непустота и ограниченность множества решений прямой задачи. При этом уже не утверждается, что двойственная задача имеет решение. Теорема 3.7. Пусть в задаче C.1) множество Р замкнуто и выпукло, функции f,g\, ..., gk непрерывны и выпуклы на Р, функции gk+\, ..., g<m линейны, причем множество решений этой задачи непусто и ограничено. Тогда Y ф 0 и /* = tp*. Доказательство. Ограничимся рассуждениями для случая, когда в задаче C.1) ограничения-равенства отсутствуют (к = т). При произвольном е > 0 рассмотрим задачу f(x) —> min, 9i(x)^e, i= 1, ..., m, C.12) xe P. Отметим, что при ? = 0 это — исходная задача C.1). Пусть Х? — допустимое множество задачи C.12), а /* = inf f(x) — ее значение. х?Х? Поскольку X с Х?, то /* ^ /*. Из теоремы 3.15 гл. 3 следует, что задача C.12) имеет решение х*, т.е. х* е Хе и /(я*) = /?*. Заметим, что при любом ? е @, 1] точка х* удовлетворяет системе gi(x) ^ 1, г — 1, ..., т. Но по следствию теоремы 3.14 гл. 3 множество решений этой системы ограничено (если в C.13) заменить 1 на 0, то получим систему,
§ 3. Теория двойственности в задаче выпуклого программирования 181 определяющую множество решений задачи C.1), которое по условию теоремы непусто и ограничено). Поэтому без потери общности можно считать, что ж* —> ж* при е -» 0. Тогда х* Е I, и поскольку /(я*) < /*, то /(ж*) ^ /*. Отсюда по определению /* имеем /(ж*) = /*, т. е. ж* — решение задачи C.1). Таким образом, lim Д* = lim f(x*?) = /(ж*) = /*. C.14) Рассмотрим теперь задачу, двойственную к C.12): (ре(у) -> max, у е Уе, C.15) где т Му) = jg,(/(x) + ? юЫ*) -?)). П = {» е g | у,(») > -оо}. г=1 Для любого у е Q, очевидно, имеем (ре(у) ^ 4>{у)* Следовательно, ПсУи <р* = SUp ^е(у) < SUp^(y) = </Л C.16) у€Уе у€У Ясно, что задача C.12) удовлетворяет условию 1) теоремы 3.2 (подходит любая точка ж е X). Тогда из теоремы 3.5 следует, что, во-первых, задача C.15) имеет решение; поэтому заведомо Ye ф 0 и, стало быть, У ф 0, так как YE с У, а во-вторых, /* = </?*. Отсюда с учетом C.14), C.16) получаем /* < у>*. Тогда f* = <p* в силу C.9). Л Замечание. В условиях данной теоремы задача C.6) действительно может не иметь решения. Рассмотрим задачу B.31), т.е. х -» min, х2 ^ 0, х Е R. Выпишем ее функцию Лагранжа Цж, у) = ж + уж2, где ж е R, у ^ 0. Без труда вычисляется, что {-оо, если у = О, 1 ~, если у > 0. Следовательно, двойственная задача записывается в виде: — - у max, у > 0. 4у Эта задача не имеет решения, хотя в соответствии с теоремой 3.7 ее значение ср* = 0 совпадает со значением исходной задачи. Приведенные доказательства теорем двойственности 3.5, 3.7 опирались на теорию систем выпуклых неравенств. Другой подход к
182 Гл. 4. Теория необходимых и достаточных условий оптимальности доказательству подобных утверждений, основанный на теории антагонистических игр, можно найти в [14]. В связи с теоремой 3.7 отметим одно достаточное условие непустоты и ограниченности множества решений задачи C.1). Теорема 3.8. Пусть в задаче C.1) множество Р замкнуто и выпукло, функции /, д\, ..., д^ непрерывны и выпуклы на Р, функции gk+i, ¦ •., д-т линейны, причем множество X непусто. Предположим, что при некотором у ? У множество Р(у) всех точек из Р, на которых достигается величина ip(y) = inf L(x, у), т. е. Р(у) = {х°еР\ Цх°, у) = ттЦх, у)}, х?Р непусто и ограничено. Тогда множество решений задачи C.1) также непусто и ограничено. Доказательство. Зафиксируем произвольную точку х° е Р(у) и рассмотрим задачу f(x) —> min, 9i(x)^9i(x°), i= 1, ..., fc, 9%{х) = #;(zu), i = Hl m, хеР. Покажем, что х° — решение данной задачи. Пусть х — ее произвольная допустимая точка. По выбору х° имеем L(x°, у) ^ L(x, у), т.е. т m f(x°) + J2vi9i(x°) < f{x) + J2vi9i(x)- i=\ i=\ Отсюда m f{x°) < /(*) + 5>(ft(*) - 9i(x0)) ^ /(*), i=\ т.е. x° — решение задачи C.17). Пусть теперь х — произвольное решение задачи C.17). Тогда f(x) = f(x°) и, значит, т т Ь(х, у) = f(x) + Х>&(*) < /(х°) + Х>^(*°) = г=1 г=1 = L(x°, у) = minL(x, у), х?Р т.е. х е Р(у). Таким образом, множество решений задачи C.17) непусто и, будучи подмножеством множества Р(г/), ограничено. Тогда, по теореме 3.15 гл. 3, множество решений задачи C.1) также непусто и ограничено. Л
§ 3. Теория двойственности в задаче выпуклого программирования 183 Замечание. Если множество Р(у) всего лишь непусто, то задача C.1) может и не иметь решений. Рассмотрим задачу f(x) = max(О, х\-\ J —» min, х\ > О, х е Р = {х е R21 х2 > 1}. Ясно, что ее значение /* = О не достигается, т. е. задача не имеет решений. В то же время сама функция /, т.е. функция Лагранжа при у = 0, достигает минимума в любой точке х € Р такой, что х\ + 1/х2 < 0, например в точке х = (-1, 1). ^ 3. Недифференциальные формы теоремы Куна-Таккера. В данном пункте мы продолжим построение теории двойственности. Теперь упор будет сделан на вопросе о необходимых и достаточных условиях оптимальности в задаче выпуклого программирования. Напомним, что в § 2 была получена дифференциальная форма этих условий (теорема 2.4). Ниже приводятся их другие формы, уже не использующие производных и не требующие дифференцируемости функций. Подчеркнем, что речь идет именно о «форме», поскольку принципиально теоремы 2.4, 3.9, 3.11-3.13 выражают один и тот же факт, но лишь по-разному записанный в зависимости от предположений. Теорема 3.9 (теорема Куна-Таккера в форме двойственности). Пусть выполняются предположения теоремы 3.2. Тогда точка х* ? X является решением задачи C.1) в том и только том случае, если существует вектор у* е Q такой, что справедливо соотношение двойственности /(**) = у(у*), C.18) равносильное условиям L(x\y*)=minL(x,y*), C.19) х? Р 2/*<fc(x*) = 0, t = l,...ffc. C.20) Множество векторов у* G Q, удовлетворяющих C.18), совпадает с множеством решений двойственной задачи C.6) или же (см. теорему 3.5) с множеством векторов Куна-Таккера прямой задачи 3.1. Доказательство. Самое существенное утверждение теоремы фактически уже доказано ранее: если х* — решение задачи C.1), то, согласно теореме 3.5, задача C.6) разрешима и любое ее решение у* удовлетворяет C.18), поскольку f(x*) = /* = (р* = <р(у*). Дальнейшие рассуждения справедливы для произвольной задачи вида C.1).
184 Гл. 4. Теория необходимых и достаточных условий оптимальности Пусть выполняется равенство C.18). Тогда для любого ж е X, используя C.8), получаем /(**) = р(у*) < f{x), т.е. ж* — решение задачи C.1). Аналогично для любого у е Y следует v{ym) = f(**)>v(v)> т.е. у* — решение задачи C.6). Остается показать, что равенство C.18) равносильно условиям C.19), C.20). Пусть выполняется C.18). Тогда, по определению </?, имеем т fix*) = ?>(»*) < f{x) + "?y*9iix) C.21) г=1 при всех х е Р. Подставляя сюда х = ж*, получаем т г=1 Но ж* е X, т. е. ^(Х*) ^0, 1=1, ..., fc, #(я*) =0, t = fc+ 1, ..., т. Поэтому m 5>?я(**)=0 C.22) г=1 и выполняется C.20). Из C.22) с учетом определения L вытекает ?(**, у*) =/(**). C.23) Следовательно, C.21) можно переписать в виде L(x*t у*) ^ Ь(ж, у*) при всех х е Р. А это то же самое, что C.19). Обратно, пусть выполняются условия C.19), C.20). Из C.20) следует C.22), а значит, и C.23). Тогда C.19) принимает вид C.18). Л Замечание. В случае, когда дополнительно к сделанным предположениям функции /, <7ь .-.,9k дифференцируемы в точке ж*, условие C.19) равносильно условию B.5) при у^ = 1 (теорема 1.2). В то же время условие C.20) просто совпадает с условием B.6). Таким образом, теорема 3.9 выступает как обобщение теоремы 2.4 на случай недифференцируемых функций. В этой связи важно подчеркнуть, что само понятие вектора Куна-Таккера служит обобщением понятия вектора множителей Лагранжа (т. е. вектора у* е Q, удовлетворяющего
§ 3. Теория двойственности в задаче выпуклого программирования 185 условиям B.5), B.6) при yj = 0- Из предыдущего ясно, что в рамках теоремы 2.4 эти два понятия, а также понятие решения двойственной задачи эквивалентны. Применение теоремы 3.9 оказывается особенно эффективным в тех случаях, когда каким-либо образом удается заранее вычислить решение у* двойственной задачи. Тогда отыскание решений исходной задачи сводится к отысканию решений уравнения C.18) или системы C.19), C.20) на множестве X. Пример 3.1. Пусть требуется найти все решения задачи п п У^ \xj — dj\ —> min, У^Xj = 0, C.24) где си, ..., an — заданные числа. Составим функцию Лагранжа п п L(x> v) = Ys to ~аэ\+ У^>2xi> i=i i=i где x = (x\, ..., xn) g Rn, у G R. Без труда проверяется, что . г ,, ,, ч [Уаз> если М< 1. ml (\Xj - clj\ + yxj) = < ..I ^€КУ' ¦* л » J* [-oo, если у > 1. Следовательно, ^ = inf Т,(т ii\ = } если |у| > 1, , х • г г/ ч Г УА' если М^ *> где А = J2 aj. Таким образом, задача, двойственная к данной, имеет i=i вид ср(у) = уА-> max, -1 < у < 1. Ее решением является у* = sign А, при этом (р(у*) = \А\. Согласно теореме 3.9 решения задачи C.24) совпадают с решениями уравнения C.18) на X, т.е. системы п п Х>,--а,.| = |Л|, 5>=0. C.25) Если А = О, то очевидно, что х = (аь ..., ап) — единственное решение данной системы. Пусть А ф 0. Будем искать решения в виде Xj — aj — XjAy j = 1, ..., n, C.26) где Аь ..., An — некоторые числа. Подставляя C.26) в C.25), получаем ?>ii = i. X> = 1-
186 Гл. 4. Теория необходимых и достаточных условий оптимальности Отсюда Ai ^ 0, ..., An ^ 0. Теперь ясно, что все решения системы C.25), а следовательно, и решения задачи C.24) описываются формулой C.26), где Ai ^ 0, ..., Ап ^ 0, ? А^ = 1. Из приведенного примера ясно, что для отыскания решений задачи C.1) уравнение C.18) или систему C.19), C.20) следует решать именно на X, а не на Р. Укажем важный частный случай, когда условие х* е X можно не учитывать, поскольку оно выполняется автоматически. Теорема 3.10. Пусть выполняются предположения теоремы 3.2, у* — решение задачи C.6) и известно, что задача C.1) имеет решение. Если х* — единственная точка множества Р, удовлетворяющая какому-то одному из условий C.18)—C.20), то х* — единственное решение задачи C.1). Доказательство. Пусть х — решение задачи C.1). Тогда, согласно теореме 3.9, выполняется каждое из условий C.18)-C.20) при замене там я* на х. В силу сделанного предположения это возможно лишь в том случае, когда х = х*. А Теореме 3.9 можно придать другую красивую форму, если воспользоваться следующим понятием. Определение 3.3. Пара (x*,y*)ePxQ называется седловой точкой функции L(x, у) на Р х Q, если L(x*yy*)=mmL(xty*), C.27) L(x*y у*) = тахЦх*, у), C.28) т. е. если L(x,y*)>L(x\y*)>L(x*,y) при всех х € Р, у е Q. Теорема 3.11 (теорема Куна-Таккера в форме утверждения о седловой точке). Пусть выполняются предположения теоремы 3.2. Тогда точка х* G Р является решением задачи C.1) в том и только том случае, если существует вектор у* G Q такой, что пара (х*, у*) — седловая точка функции Лагранжа L(x, у) на Р х Q. Доказательство. Поскольку условия C.19) и C.27) совпадают, то требуется лишь показать, что условие C.28) выполняется в том и только том случае, если х* е X и выполняется C.20). Однако это сразу следует из теоремы 1.2 и леммы 1.3, примененных к задаче минимизации функции — L(x*> у) по у на Q (не составляет труда доказать данный факт и непосредственно). Л
§ 3. Теория двойственности в задаче выпуклого программирования 187 Иногда теоремы 3.9 и 3.11 удобнее использовать как утверждения об условиях одновременной оптимальности данных двух точек в прямой и двойственной задачах. Теорема 3.12. Пусть выполняются предположения теоремы 3.2. Тогда'. 1) точки х* е X и Y* ? Y являются решениями задач C.1) и C.6) соответственно в том и только том случае, если справедливо соотношение двойственности C.18), равносильное условиям C.19), C.20); 2) точки х* ? Р и у* е Q являются решениями задач C.1) и C.6) соответственно в том и только том случае, если пара (х*, у*) — седловая точка функции Лагранжа L(x, у) на Р х Q. С учетом предыдущего данная теорема очевидна. Отметим, что в утверждении 1) можно было бы поставить у* ? ? Q, поскольку из условия C.18) следует у* ? Y. Отличие между утверждениями 1) и 2) состоит в том, что в 1) сразу предполагается условие допустимости х* ? X, а в 2) — нет. Т Приведем, наконец, еще одну форму необходимых и достаточных условий оптимальности, требующую уже более сильных предположений о задаче C.1), Теорема 3.13 (теорема Куна-Таккера в субдифференциальной форме). Пусть выполняются предположения теоремы 3.2 и, кроме того, функции f,gu-.-,gk выпуклы на открытом выпуклом множестве U, содержащем Р. Будем считать, что линейные функции gk+i, ..., gm имеют вид gi(x) = (а*, х) + bi (г = к + 1, ..., т). Тогда точка х* ? X является решением задачи C.1) в том и только том случае, если существуют векторы у* ? Q, а<> ? df(x*), &% ? dgi(x*) (г = 1, ..., к) такие, что т \а° + У^г*а*' х~х/ ^® при всех х е Р, г=1 ^ ' ' y*gi(x*) = 0, i = l, ..., k. Доказательство. Учитывая теорему 3.9, достаточно показать, что соотношение C.29) равносильно C.19). Но это сразу следует из теоремы 4.8 гл. 3 и теоремы 1.3, примененных к функции L(x, у*) = m = f(x) + \^y*gi(x), выпуклой по х на U. Д Отметим, что если функции /, д\, ..., д^ дифференцируемы в точке х*, то, согласно теореме 4.3 гл. 3, соотношение C.29) переходит в B.5), т.е. утверждения теорем 2.4 и 3.13 в данном случае совпадают. А
188 Гл. 4. Теория необходимых и достаточных условий оптимальности 4. Метод возмущений. Плодотворным подходом к исследованию задач оптимизации является метод возмущений, заключающийся в том, что исходная задача рассматривается как один из элементов целого семейства задач, зависящих от параметра. Мы продемонстрируем этот подход на примере задачи выпуклого программирования с ограничениями-неравенствами /(Х) -*min' C.30) 0(*)<of xeP, где д(х) = (д\(х), ..., рт(х)). (В дальнейшем нам будет удобно пользоваться такой, векторной, формой записи ограничений.) Внесем «возмущение» в правые части ограничений задачи C.30), т. е. рассмотрим семейство задач вида fto^**** C.31) д(х)^Ь, хеР, где Ь Е Rm — векторный параметр. Введем следующие обозначения: Х(Ь) = {хеР\ д(х) ^ Ь} — допустимое множество задачи C.31); В = {Ь е Rm | Х(Ь) ф 0} — множество параметров 6, при которых задача C.31) имеет допустимые точки; F(b)= inf¦/(*), be В, х?Х(Ъ) — значение задачи C.31); Y*(b) = {y*eR™\F(b)^f(x) + (y*,g(x)-b) при всех х е Р} — множество векторов Куна-Таккера этой задачи. Нам потребуется также субдифференциал функции F(b) на В: dF(b) = {a e Rm | F(V) - F(b) ^ (a, b' - b) при всех V е В}. Теорема 3.14. Пусть множество Р выпукло, функции fug выпуклы на Р, причем 0 е В, F@) > —оо, и У*@) ф 0, т. е. значение исходной задачи C.30) конечно и она имеет вектор Куна-Таккера (например, удовлетворяет одному из условий 1)-4) теоремы 3.2). Тогда'. 1) множество В выпукло] 2) функция F(b) конечна, выпукла и монотонно не возрастает на В; 3) ftF(ft) - -Y*(b) при всех be В.
§ 3. Теория двойственности в задаче выпуклого программирования 189 Напомним, что в теореме 3.5 векторы Куна-Таккера задачи C.1) были охарактеризованы как решения двойственной задачи C.6). Утверждение 3) теоремы 3.14 дает их другую характеристику: векторы Куна-Таккера задачи C.31) суть взятые с обратным знаком субградиенты значения этой задачи как функции правых частей ограничений. Доказательство. 1) Пусть Ь1, Ь2 G В, А е [0, 1]. По определению В существуют точки х1, х2 е Р такие, что g(xl) < б1, д(х2) ^ Ь2. Положим х = Ах1 + A — А)х2. Из выпуклости множества Р и функции д следует, что х е Р и д(х) ^ Хд(х1) + A - А)<?(х2) ^ \Ъ1 + A - А)Ь2, C.32) т.е. А61 + A — АN2 е В. Таким образом, множество В выпукло. 2) Рассмотрим любой вектор у* е Y*@). По определению У*@) имеем F@) < /(ж) + (у*, д(х)) при всех х е Р. Отсюда, поскольку у* ^ 0, для любых be В и х е Х(Ь) следует F@K/(x) + (y*,6>; тогда, по определению FF), F@)^F(b) + (y*,b), C.33) где, напомним, F@) > —оо. Поэтому F(b) > -оо. Итак, функция F конечна на В. Пусть Ь\Ь2еВ, А €[0,1] и Ь = АЬ1 + A-А)Ь2. Для любых хх е Х(Ь1), х2 е Х(Ь2) положим* х = Ах1 + A — А)х2. Тогда, согласно C.32), имеем х е Х(Ь). Отсюда с учетом выпуклости функции / получаем F(b)^f(x)^\f(xl) + {l-\)f(a*yt поэтому F(b)^\F(bl) + (l-\)F(b2), т. е. функция F выпукла на В. Пусть Ь1еВ, Ь2^Ь1. Тогда Х(Ь1) с Х(Ь2) и, значит, F(bx) ^ ^ F(b2), т.е. функция F монотонно не возрастает на В. 3) Зафиксируем be В. Пусть у* е dF(b), т.е. F(b')-F(b)^(y*,b'-b) при всех Ъ'еВ. C.34) Для любого х е Р положим Ь' = д(х). Тогда V е В и F{b') ^ /(х). С учетом этого из C.34) следует F(b) </(х)+ (-</*, д{х)-Ъ) при всех х е Р. C.35) Кроме того, имеем —у* ^ 0, так как функция F монотонно не возрастает (см. лемму 4.2 гл. 3). Таким образом, — у* е Y*(b). 7 А Г Сухарев и др.
190 Гл. 4. Теория необходимых и достаточных условий оптимальности Пусть, напротив, -у* G F*F), т.е. выполняется C.35), причем -у* ^ 0. Тогда для любых Ь' е В и х е Х(Ь') получаем FFK/(*) + <-</*, 6'-6), откуда следует C.34), т.е. y*edF(b). Итак, dF(b) = -Y*(b). Л Как видим, теорема 3.14 сама по себе проста: для ее доказательства потребовалось лишь знание определений. Однако эта теорема позволяет привлечь для исследования исходной задачи C.30) достаточно глубокие факты выпуклого анализа. Укажем ряд получаемых таким образом результатов при некоторой конкретизации предположений теоремы 3.14. Теорема 3.15. Пусть множество Р выпукло, функции fug выпуклы на Р, причем F@) > —оо и д(х) < 0 при некотором х ? Е Р, т. е. исходная задача C.30) удовлетворяет условию Слейтера (условию 1) теоремы 3.2). Тогда 0 6 int В и при этом: 1) функция F непрерывна в точке 6 = 0; 2) F имеет производную F'@, h) по любому направлению h G Rm в точке 6 = 0, причем F'@, h)= max l-y\ Л); C.36) 2/*<=У*@) 3) F дифференцируема в точке 6 = 0 в том и только том случае, если вектор Куна-Таккера задачи C.30) единствен: У*@) = {у*}; при этом F'@) = —у*. Таким образом, наличие целого спектра векторов Куна-Таккера задачи C.30) соответствует случаю, когда в точке 6 = 0 функция F(b) имеет излом. Доказательство. Включение OGintS очевидно: если д(х) < < 0, то д(х) ^ 6 при всех достаточно малых по норме 6. С учетом этого и теоремы 3.14 утверждения 1)-3) следуют из теорем 3.10, 4.2 и 4.3 гл. 3 соответственно. Л Утверждения 2) и 3) теоремы 3.15 означают, что векторы Куна- Таккера, взятые с обратным знаком, выступают как оценки скорости изменения значения задачи при изменении правых частей ограничений. В этой связи полезно отметить следующий факт, уточняющий характер изменения (монотонного невозрастания) функции F при изменении лишь одной г-й координаты вектора 6. Теорема 3.16. 1) Если выполняются предположения теоремы 3.14 и у* = 0 при некотором у* € У*@), то F(ael) = F@) при всех а > 0; здесь ег — г-й единичный орт в Rm; 2) если выполняются предположения теоремы 3.15 и у* > 0 при всех у* е У*@), то F(ae*) < F@) при всех а > 0.
§ 3. Теория двойственности в задаче выпуклого программирования 191 Доказательство. 1) Как было показано, вектор у* € У*@) удовлетворяет формуле C.33). Если в эту формулу при у* = 0 подставить Ь = ае\ то получим F@) ^ F{ael). Но при а>0 в силу монотонного невозрастания F имеем Р(ае*) ^ F@). Таким образом, F@) = F(ae*). 2) Возьмем элемент yeY*(Q), на котором достигается максимум в C.36) при h = e*: Г@. е<) = lim EiS^m. = -Vi. a->0+ a По условию у{ > 0. Тогда F'@, j) < 0. Стало быть, F(ae{) - F@) < 0 при всех достаточно малых а > 0, а значит, вообще при всех a > 0, так как F монотонно не возрастает. Л Ў Укажем еще одно свойство задачи C.30), которое следует из соответствующего результата выпуклого анализа. Наряду с задачей C.31) рассмотрим эквивалентную задачу вида МХ)) -* mhl' C.37) g{x)^b9 xeP, где (р — выпуклая дифференцируемая возрастающая функция на R. Пусть ФF) — значение задачи C.37), а Y*(b) — множество ее векторов Куна-Таккера. Оказывается, это множество при 6 = 0 следующим образом связано с множеством векторов Куна-Таккера исходной задачи C.30). Теорема 3.17. Пусть выполняются предположения теоремы 3.15, а функция ip удовлетворяет указанным выше условиям. Тогда y;(o) = <p'(F(o))y*(o). Доказательство. Ясно, что Ф(Ь) = <p(F(b)). Применяя к Ф теорему 4.10 (точнее, формулу D.16)) гл. 3 и учитывая утверждение 3) теоремы 3.14, получаем У;@) = -вФ@) = -<p'(F@))dF@) = <p'(F@))Y*@). А Таким образом, при монотонном преобразовании целевой функции множество векторов Куна-Таккера новой задачи получается из векторов Куна-Таккера исходной задачи умножением на одно и то же число. А 5. Экономические интерпретации вектора Куна-Таккера. Вектору Куна-Таккера можно придать различные экономические интерпретации в зависимости от вида исходной задачи и ее трактовки. Ниже приводятся две таких интерпретации. В первой вектор Куна-Таккера предстанет как вектор оценок дефицитности ресурсов, во второй он совпадает с вектором цен, действующих в системе. 7*
192 Гл. 4. Теория необходимых и достаточных условий оптимальности Рассмотрим задачу максимизации: fix) —> max, Л \ г, C.38) д(х)^Ь, хеР. Будем считать, что здесь х — n-мерный вектор выпуска товаров некоторым предприятием; Р — множество технологически возможных выпусков, Р с R+; д(х) — m-мерный вектор затрат ресурсов при выпуске х, д(х) ^ 0; 6 — вектор наличных ресурсов, Ь > 0; /(ж) — доход, получаемый предприятием при реализации товаров х. Таким образом, задача C.38) состоит в максимизации дохода предприятия при имеющемся запасе ресурсов в рамках существующих технологических возможностей. Естественно считать, что 0 е Р и д@) = 0, т. е. предприятие может не работать и при этом оно не использует ресурсов. Тогда задача C.38) заведомо удовлетворяет условию Слейтера: д@) < Ъ. Требуемые для применения изложенной выше теории предположения о выпуклости множества Р, вогнутости функции / и выпуклости функции д также допускают естественную экономическую трактовку. Так, необходимым (а при непрерывности / и достаточным, см. задачу 2 § 3 гл. 3) условием вогнутости / на Р является неравенство f(x + 2Дх) - f(x + Ах) < f(x + Ах) - /(х), справедливое при всех х е Р и Ах G Rn таких, что х + 2Дх е Р. При Ах ^ 0 это неравенство означает, что с ростом масштабов производства прирост дохода понижается (например, в связи с трудностями, возникающими при реализации товаров). Пусть теперь х* = х*F) — решение, а ФF) = /(х*(Ь)) — значение задачи C.38), т. е. оптимальный выпуск товаров и максимальный доход при запасе ресурсов Ъ. Пусть у* — для простоты единственный вектор Куна-Таккера задачи C.38), точнее, эквивалентной ей задачи -/(х) -> min, д(х) - Ь ^ 0, хеР. Тогда, если г-й ресурс используется не полностью (gi(x*) < 6), то у* = = 0 в силу теоремы 3.9. При этом, согласно теореме 3.16, увеличение только г-го ресурса не может привести к увеличению дохода предприятия (Ф(Ь + ае1) = ФF) при а > 0). В таком случае говорят, что г-й ресурс недефицитен. Если же у* > 0, то г-й ресурс дефицитен: он используется полностью (gi(x*) = &*), и увеличение его запаса приводит к росту дохода предприятия (ФF + аег) > ФF) при а > 0). Далее, согласно теореме 3.15, имеем Ф'F) = у* и Ф'F, h) = = (у*, h). Первая формула означает, что при возможности получения предприятием небольших количеств отдельных ресурсов наиболее
§ 3. Теория двойственности в задаче выпуклого программирования 193 желательным (в смысле роста дохода) является увеличение ресурса, соответствующего максимальной компоненте вектора у*, т.е. такой ресурс является наиболее дефицитным. Если же есть возможность увеличивать количества всех ресурсов сразу, то, согласно второй формуле, их желательно приобретать в пропорциях, описываемых вектором ft = = <Л Таким образом, вектор Куна-Таккера задачи C.38) выступает как важная характеристика дефицитности используемых ресурсов. Выше мы не принимали в расчет, что приобретение дополнительных ресурсов требует определенных расходов со стороны предприятия. Теперь учтем это соображение. Пусть р=(рХ) . ..,рш) — заданный вектор цен на ресурсы, р > 0. Будем считать, что предприятие может как докупать необходимые ресурсы к имеющемуся их запасу Ь, так и продавать «ненужную» часть запаса с целью максимизации общего дохода, учитывающего и результаты торговых операций с ресурсами. Тогда деятельность предприятия описывается следующей задачей f(x) - (p, ft) -> max, g(x) ^b + h, xeP, h^-Ь, где ft = (fti, ..., ftm) — вектор продаж-покупок ресурсов предприятием: при hi > 0 ресурс i покупается, при hi < 0 — продается. Условие ft ^ — Ъ означает, что предприятие не может продать больше ресурсов, чем у него имеется. Пусть (я*, ft*) — решение задачи C.39), г у* — ее вектор Куна-Таккера, соответствующий функциональному ограничению д(х) < Ь + ft. Тогда, согласно теореме 3.9, имеем L(x*, ft*, у*) — min L{x, ft, г/*), x?P,h^—b где L(x, ft, у) = -f(x) + {p,h) + (у, д(х) - b - ft). Естественно считать, что ft* > —6, т. е. предприятию невыгодно полностью продавать ресурсы. Тогда, очевидно, градиент функции L(x, ft, у*) по Л в точке (ж*, Л*) обращается в нуль: L'h(x\ ft*,y*)=p-y*=0. Таким образом, вектор Куна-Таккера задачи C.39) — не что иное, как вектор действующих цен. ЗАДАЧИ 1. а) Убедиться, что множество У* векторов Куна-Таккера задачи C.1) всегда выпукло и замкнуто. б) Пусть задача C.1) удовлетворяет условию 1) теоремы 3.2 (условию Слейтера). Показать, что множество Y* ограничено. Верен ли этот факт при выполнении условия 2), 3) или 4) той же теоремы?
194 Гл. 4. Теория необходимых и достаточных условий оптимальности 2. Вывести теорему о существовании субградиента выпуклой функции в относительно внутренней точке области определения (утверждение 1) теоремы 4.1 гл. 3) из теоремы 3.2; на этом примере лишний раз убедиться, что в условии 4) теоремы 3.2 предположение xeviP существенно. Указание. Рассмотреть задачу f(x) —> min, х = х*, хеХ. 3. Проверить, что задача выпуклого программирования х —> min, х2 + е\х\ ^ О, х G R, где е > 0, не удовлетворяет ни одному из условий 1)-4) теоремы 3.2 и тем не менее имеет вектор Куна-Таккера. (Причины этого явления выяснятся в примере 5.1 гл. 6.) 4. Пусть какие-то функциональные ограничения задачи C.1) введены в прямое ограничение (см. п. 7 § 1 гл. 1). Изучить связь между векторами Куна-Таккера этой задачи в ее старой и новой записях. 5. Изучить связь между векторами Куна-Таккера задачи f(x) —> min, gi{x) ^ 0, г = 1, ..., ш, х ? Р, и эквивалентной задачи вида f(x) —> min; max g%{x) ^ 0, х ? Р. 6. а) Пусть в задаче C.1) множество Р — выпуклый компакт, функция / строго выпукла и непрерывна на Р, функции д\, ...,#& выпуклы и непрерывны на Р, функции gk+\, •••, #m линейны. Тогда в задаче C.6), очевидно, У = Q. Доказать, что функция (р дифференцируема в любой точке у ? intQ, причем <р'(у) = д(х(у)), где х(у) — (единственная) точка минимума функции L(x, у) по х на Р, а д — = (<7ь •••» 9т)- б) Обобщить сформулированное утверждение на случай, когда / просто выпукла. Указание. Воспользоваться теоремами 4.3 и 4.9 гл. 3. 7. Проверить, что соотношение двойственности (/* = ip*) нарушается для следующих задач: а) х — 1 —> min, х2 — 1 = 0, х G R+ \ б) f(x) —> min, x2 < 0, х е R+, где A, если х = 0, fix) = < J K ' \0, если х >0. Для каждой из задач выяснить причины этого явления, имея в виду теоремы 3.5 и 3.7. 8. (Общая схема двойственности.) Пусть Р и Q — произвольные множества из Rn и Rm соответственно, L(x, у) — произвольная чис-
§ 3. Теория двойственности в задаче выпуклого программирования 195 ловая функция на Р х Q. Положим f(x) = sup L(x, у), ip(y) = inf L(x, у). y€Q x^p Задача tt \ • r- r> f(x) —> mm, x e Py называется прямой, а задача <p(y) -> max, yGQ, — двойственной. (Здесь допускаются бесконечные значения целевых функций.) /* = inf/(ж), у* = sup ip(y) хеР y(zQ — значения этих задач, а X* = {х* 6 Р | Дх*) = /*}, Y* = {у* € Q | ?»(»*) = *>*} — множества их решений. Доказать следующие утверждения: а) /(#) ^ ф(у) ПРИ всех х е Р, у е Q и, стало быть, /* ^ у?*; б) если х* е Р и /(ж*) = <р*, то х* G X*; в) если у* е Q и у?(у*) = /*, то у* е У*; г) если х*еР, y*GQ и /(ж*) = <р(у*), то ж* е X*, у* G Г; д) при данных х* е Р к у* е Q равенство /(ж*) = <р(у*) равносильно тому, что (х*, у*) — седловая точка функции L(x, у) на Р х Q. 9. (Теорема двойственности.) Пусть в рамках предыдущей задачи множества Р и Q выпуклы, функция L(x, у) выпукла по х на Р при каждом у ? Q и вогнута по у на Q при каждом х е Р. Предположим, кроме того, что множество Р (или Q) замкнуто, множество X* (соответственно, У*) непусто и ограничено, функция L(x, у) непрерывна по х на Р при каждом у е Q (по у на Q ПРИ каждом х е Р). Доказать, что /* = ?>*. (См. [14, с. 192].) 10. а) Убедиться, что теорема 3.7 — частный случай теоремы, сформулированной в задаче 9. б) Пусть в задаче C.1) множество Р выпукло, функции /, 9\у---у9тп выпуклы на Р, функции gk+\, •--, 9т линейны. Предположим, кроме того, что множество решений двойственной задачи C.6) непусто и ограничено. Доказать, что X ф 0 и /* = </?*. 11. Применяя схему рассуждений из примера 3.1, решить следующие задачи, где а\, ..., ап, Ь\, ..., Ьп — заданные числа: п п а) J2 \xj — a,j\ —> min, ^2 ^jxj = Ф n n б) Y2 niax(xj — ay, 0) —> min, ]P bjXj ^ 0;
196 Гл. 4. Теория необходимых и достаточных условий оптимальности в) J2 ajxj ~~> mm> ? bj\xj\ ^ 1 (bj > 0); п п г) ?|х;-а^|->тт, ? «?<!¦ 12. Пусть выполняются предположения теорем 3.2 и 3.8, у* — решение задачи C.6), х* — единственная точка множества Р, удовлетворяющая условию C.19). Показать, что х* — единственное решение задачи C.1). Указание. Соединить теоремы 3.8 и 3.10. 13. (Необходимые условия оптимальности в произвольной задаче выпуклого программирования.) Пусть выполняются предположения теоремы 3.1 их*- решение задачи C.1). Доказать, что существуют число t/рОи вектор у* G Q, не равные нулю одновременно и такие, что выполняются следующие равносильные условия: а) /(х*) = (р(у%,у*)9 где т Ч>Ы> У) = inf Цх, у0, у) = inf (у0/(х) + Y]yi9i(x))'t г=1 б) L(x*, у*, у*) = minL(x, у*, у*), y*gi(x*) = 0, г = 1, ..., к; в) (х*, у*) — седловая точка функции L(x, у^, у) на Р х Q. 14. Пусть выполняются предположения теоремы 3.15. Показать, что для любого вектора у* е У*@) справедливы оценки W«>K-ltf<f>). «-I.-.»», где слева и справа стоят лево- и правосторонние частные производные функции F в точке Ь = 0 по аргументу 6;. 15. Построить функцию Р(Ь) из п. 4 для задач: п а п а) ]П — —> min, ]Г} х* < Ь, xi > 0, ..., хп > 0; б) —4xi — 3x2 —> niin, xi + Х2 < b\, 2xi + #2 ^ &2> х\ ^ 0, хг ^ 0. Проверить, что свойства функции Р(Ь), описанные в теоремах 3.14- 3.16 и задаче 14, здесь выполняются. 16. Рассмотрим задачу 1п/(х) —> max, g(x) ^ 1, х € X, где X — выпуклый конус в Rn, /(x) — вогнутая однородная функция на X, причем /(х) > 0 при некотором хеХ (полагается 1п/(х) = = — оо, если /(х) < 0), д(х) — выпуклая однородная функция на X. Показать, используя теорему 3.17, что у* = 1 — число (одномерный вектор) Куна-Таккера этой задачи (ср. с задачей 8 § 4 гл. 3).
§ 4. Условия оптимальности в задачах линейного программирования 197 § 4. Условия оптимальности и двойственность в задачах линейного и квадратичного программирования В этом параграфе изложенная выше общая теория применяется к двум простейшим классам регулярных задач выпуклого программирования. 1. Задача линейного программирования. Рассмотрим задачу линейного программирования (ЛП) вида y^CjXj —> min, i=i }] dijXj ^bi, г = 1, ..., к, <4Л> n 2_] QijXj = bt» i = k+ I, ..., m, Xj^O, j = 1, ..., s, где Cj, a^-, bi — заданные числа. Напомним, что такую форму записи задачи ЛП принято называть общей (см. п. 9 § 1 гл. 1). При к = т, 5 = 0 получаем основную форму, при к = га, s = п — стандартную, при fc = 0, 5 = n — каноническую. Будем рассматривать условие неотрицательности первых s переменных задачи D.1) как прямое ограничение. Соответственно введем множество Р = {х е Rn | Xj ^ 0, j = 1, ..., 5}. Как обычно, положим Q = {yeRrn\yi^0, i= 1 fc}. D.2) Пусть X = < х е Р\ V^ aijXj ^ bi, i = 1, ..., k; n 2_] a>ijXj =b{, i = fc-fl, ...,ra> i=i з=\ — допустимое множество задачи D.1); n m n L(x> У) = ^2cjx3 + YlVi (bi ~ Saiixj) j=\ i=\ i=l = Yl{ci~^yiaii)xi + Y2yibi' xeP> y€Q> D-3) j=\ i=\ i=i
198 Гл. 4. Теория необходимых и достаточных условий оптимальности — регулярная функция Лагранжа этой задачи. Отметим, что задача D.1) является задачей выпуклого программирования, удовлетворяющей условию 2) теоремы 2.3, а также условию 2) теоремы 3.2, если X непусто. Таким образом, для этой задачи полностью применима теория, изложенная в §§ 2, 3. Приведем в качестве ее следствия теорему о необходимых и достаточных условиях оптимальности в задаче ЛП. Теорема 4.1. Точка х* Е X является решением задачи D.1) в том и только том случае, если существует вектор у* Е Q такой, что ^ViCiij^Cj, j = l,...,5, D.4) i=\ т m ^2 Viaij =Cj, j = S + 1, . . . , П, D.6) n уГ(Х>я;-ь<)=о, t = i fc. D.7) Доказательство. Утверждение непосредственно следует как из теоремы 2.4, так и из теоремы 3.9. Необходимо лишь заметить, что в данном случае дЬ - (ж, у) = Cj -y^yiaijy j = 1, ..., п. dxi 3 г=1 Поэтому, с учетом утверждения 3) леммы 2.1, условия D.4)-D.6) равносильны условию B.5) при у^ = 1 или, что то же самое, условию C.19). Л Перейдем к конкретизации результатов теории двойственности для задач ЛП. Без труда проверяется, что для функции L(x, у) вида D.3) справедливо равенство inf Цх, у) Y^Vtbi, если yeY, —оо, если у Е Q\Y, где Y = \у t QI Ylyiav ^ CJ' i = lf • • •'s; га У2 yidij =Cj, j = s + 1, ..., n j. i=\ i=\
§ 4. Условия оптимальности в задачах линейного программирования 199 Согласно определению 3.2 это означает, что двойственной к задаче D.1) является следующая задача: т ]Pyi&; —> max, т 2_^Viaij ^ С?, J — 1, . . . , 5, ,^ gv г=1 га У^ Уг^ = Cj, j = 5 + 1, . . . , П, г=1 г/г ^ 0, г = 1, ..., к. Таким образом, двойственная к задаче ЛП также является задачей ЛП, причем ее удается выписать в явном виде. Проанализируем механизм построения двойственной задачи D.8). Прежде всего, это задача максимизации, тогда как D.1) — задача минимизации. Коэффициенты Cj целевой функции задачи D.1) служат коэффициентами правых частей ограничений задачи D.8), а коэффициенты bi правых частей ограничений задачи D.1) — коэффициентами целевой функции задачи D.8). Если в задаче D.1) матрица коэффициентов dij умножается на вектор переменных Xj справа, то в задаче D.8) она умножается на вектор переменных у; слева. Имеется взаимно однозначное соответствие между (функциональными) ограничениями задачи D.8) и переменными задачи D.1): j-e ограничение задачи D.8) является неравенством (обратного, нежели в D.1), знака), если на j-ю переменную задачи D.1) наложено условие неотрицательности; в противном случае j-e ограничение задачи D.8) является равенством. Аналогичное соответствие имеется между переменными задачи D.8) и ограничениями задачи D.1). Подчеркнем, что перед тем, как строить двойственную задачу, исходную задачу ЛП следует привести к виду D.1). Пример 4.1. Пусть дана задача ЛП 2х\ + 3x2 + 4хз —> min, 4xi — 5X2 — 2?з ^ 1, 3xi — 4X2 + 2хз =6, Х\ ^ О, Х2 ^ 0. Приведем ее к виду D.1), поменяв знаки ограничения-неравенства и переменной х2 на противоположные: 2xi — 3xg + 4хз —> min, —4xi — 5х? + хз > — 1, 3xi + 4xg + 2хз = 6, xi ^ 0, х'2 > 0 (х'2 = — хг). Задачей, двойственной к данной, является следующая: ~У\ + 6у2 -* max, -4ух + Зу2 ^ 2, -5у, + 4у2 ^ -3, у, + 2у2 =4, ух > 0.
200 Гл. 4. Теория необходимых и достаточных условий оптимальности Особо отметим, как выглядят двойственные задачи к задачам ЛП в упомянутых ранее частных формах. 1) Двойственной к задаче ЛП в основной форме п п 2_\сохз ~~* mm> /_.агэхз ^ bj, i = 1, ..., га, D.9) является задача ЛП в канонической форме т т Y^biVi -* max> 5^2/tfltj =Cj, j=l,...,n, i=l i=l y^O, t=l, ...,m. D.10) 2) Двойственной к задаче ЛП в стандартной форме п п У CjXj —> min, У aijxj ^ h, i = 1, ..., га, j=1 i=1 Xj^O, j = l,...,n, D.11) является задача ЛП также в стандартной форме m n •]>^b»2/t -> max, ^yidij ^ Cj, j = 1, ..., n, i=1 i=1 yi^O, i=l m. D.12) 3) Двойственной к задаче ЛП в канонической форме п п У CjXj —> min, у (lijXj = b{, i = 1, ..., га, i=1 j=1 x^O, j=l,...,n, D.13) является задача ЛП в основной форме т т ^Ь^-япах, ^Vidij^Cj, j = l,...,n. D.14) г=1 г=1 В этих частных случаях часто прибегают к векторно-матричной форме записи прямой и двойственной задач. Так, если задачу D.9) записать в виде (с, х) —» min, (с, х) —> min, /47 t ИЛИ (а^, ж) ^ о», г = 1, ..., т, Ах ^ о, где а; = (а»ь ..., a,in), А — матрица размера га х п со строками аь ..., ат, с = (сь ..., сп), Ь = (Ьь ..., 6т), то задача D.10) соответственно примет вид (Ь, у) —> max, (b, у) —> max, m ^У;а;=С, ИЛИ уЛ = С,
§ 4. Условия оптимальности в задачах линейного программирования 201 К аналогичному виду легко приводятся и задачи D.11)—D.14). Вместе с тем при изучении задач ЛП в общей форме удобнее пользоваться наиболее подробной покоординатной формой записи, которой мы и будем придерживаться. Существенную особенность задач ЛП выражает следующая лемма. Лемма 4.1. С точностью до эквивалентной формы записи двойственной к задаче D.8) является задача D.1). Доказательство. Перепишем задачу D.8) в виде эквивалентной задачи типа D.1) У2 (-bi)yi -> minf ]Г (-a>'ji)y% >-cJ9 j = 1, ..., s, г=1 ? г=1 (-а^)гй =-с,-, j = s+l,...,n, з/г^0, z=l,...,fc, где а'^ = aij. Двойственная к этой задаче имеет вид п п У^ (-Cj)xj -> max, ^Xj(-a^) ^ -biy г = 1, ..., fc, n ^Xj(-a^) =-6^, г = fc-f 1, ..., m, x3 ^ 0, j = l,...,s. i=i Но это лишь иная форма записи задачи D.1). Л Таким образом, все задачи ЛП разбиваются на пары взаимодвойственных задач: при необходимости задачу D.8) можно считать прямой, а задачу D.1) — двойственной. В частности, взаимодвойственными являются пары D.9) и D.10), D.11) и D.12), D.13) и D.14). Выше мы отмечали, что при построении двойственной задачи исходную задачу необходимо привести к виду D.1). Можно, однако, приводить ее к виду D.8), а затем использовать лемму 4.1. С точностью до эквивалентной формы записи результат будет всегда один и тот же. Заметим, что для произвольной задачи математического программирования факт, аналогичный лемме 4.1, несправедлив хотя бы уже потому, что в общем случае двойственную задачу C.6) не всегда удается представить явным образом в виде задачи математического программирования. В следующей теореме собраны воедино основные факты теории двойственности в линейном программировании. Все они являются прямыми следствиями соответствующих результатов общей теории двойственности. Теорема 4.2. 1) Для любых точек хеХ, yeY справедливо неравенство п т
202 Гл. 4. Теория необходимых и достаточных условий оптимальности 2) точки х* Е X и у* €Y являются решениями задач D.1) и D.8) соответственно в том и только том случае, если справедливо соотношение двойственности 71 771 равносильное условиям D.5), D.7), т. е. т *;(!>*«*;-<*) =°. J = !.•••. «. D16) г=1 У* п *(j2aiJx*j-bi) =0, г= 1, ..., к\ D.17) 3) задача D.1) имеет решение в том и только том случае, если имеет решение задача D.8), при этом, в соответствии с D.15), их значения совпадают] 4) если допустимые множества задач D.1) и D.8) непусты, то обе они имеют решение] 5) если допустимое множество одной из задач D.1) и D.8) непусто, а второй пусто, то значение первой бесконечно. Доказательство. Утверждение 1) непосредственно следует из теоремы 3.4. Как отмечалось в доказательстве теоремы 4.1, для задачи D.1) условие C.19) равносильно условиям D.4)-D.6), а в случае у* G Y — просто условию D.5). С учетом этого утверждение 2) следует из теоремы 3.12. Утверждения 3)-5) получаются из теорем 3.5, 3.6, если применить их сначала к задаче D.1), а затем, с учетом леммы 4.1, — к задаче D.8). Л В качестве примера использования теории двойственности приведем другое доказательство теоремы 2.6 гл. 3. Напомним (в несколько иных терминах) ее формулировку. Теорема 4.3. Если допустимое множество задачи D.1) непусто, а значение ее конечно, то эта задача имеет решение. Доказательство. По теореме 3.5 задача D.8) имеет решение. Тогда, в силу утверждения 3) теоремы 4.2, задача D.1) также имеет решение. Д Понятно, что аналогичный факт справедлив для любой задачи математического программирования, если только она является двойственной к своей двойственной и к обеим взаимодвойственным задачам применима теорема 3.5, например, они удовлетворяют предположениям теоремы 3.2 (см. задачу 18). Теорема 4.2 лишь конкретизирует общие факты теории двойственности применительно к задачам ЛП. Ниже указывается одно специфическое свойство взаимодвойственных задач ЛП.
§ 4. Условия оптимальности в задачах линейного программирования 203 Согласно утверждению 2) теоремы 4.2 любые решения х* и у* задач D.1) и D.8) удовлетворяют соотношениям D.16), D.17). При этом, вообще говоря, не исключается, что оба сомножителя в каком-то из указанных произведений равны нулю. Оказывается, всегда можно выбрать такие решения этих задач, для которых в каждом произведении лишь один сомножитель будет обращаться в нуль. Теорема 4.4. Пусть допустимые множества задач D.1) и D.8) непусты. Тогда существуют такие их решения х* и у*, что in ; + (<^ - x>W) > о, j = i в, D.18) г=1 п '* + QToijZi - Ь») > 0, г = 1, ..., к. D.19) i=i Доказательство. Сначала докажем, что существуют решения х* и у*, для которых выполняется неравенство D.18) при j = 1. Если х* > 0 для некоторого решения х* задачи D.1), то, взяв любое решение у* задачи D.8), получим требуемое неравенство. Предположим, что х\ = 0 для любого решения х* задачи D.1). Необходимо показать, что т Х>?а«<с1 D-20) г=1 для некоторого решения у* задачи D.8). Пусть /* - значение задачи D.1). Рассмотрим вспомогательную задачу ЛП вида —х\ —> min, п п 2_] ^%зхз ^ h, г = 1, ..., fc, 2_l aijxj — &;> г = fc + 1, ..., га, -^TcjXj^ -/*, Xj^O, j=l,...,5. ' j=\ С учетом сделанного предположения целевая функция этой задачи тождественно равна нулю на ее допустимом множестве, совпадающем с множеством решений задачи D.1). Запишем задачу, двойственную к данной: ^hyi -ym+if* -»maX, ^T/iGtl -S/m+lCi ^ -1, i=\ rn i=\ ^2 У*ач ~ У™+1сз ^ °' i = 2, ..., 5, i=l У^ yidij - Ут+lCj =0, j = S + 1, . . • , П, 1=1 yi ^ 0, i = 1, ..., fc, ym+i ^0.
204 Гл. 4. Теория необходимых и достаточных условий оптимальности Согласно утверждению 3) теоремы 4.2 эта задача имеет решение у = = (уи • •, Ут, Ут+i), причем значения взаимодвойственных задач совпадают: m ?ЬгУг-Ут+1/*=0. D.21) Рассмотрим два возможных случая: а) ym+i > 0; тогда у* = (?/,/ут+1, ..., ym/ym+i) - допустимая точка задачи D.8), удовлетворяющая D.20); из D.21), в силу утверждения 2) теоремы 4.2, следует, что у* — решение задачи D.8); б) Ут+\ = 0; рассмотрим точку у = (у\, ..., ут) и любое решение у задачи D.8); тогда, очевидно, у* = у + у — решение той же задачи, удовлетворяющее D.20). Таким образом, указанное частное утверждение доказано. Аналогичные рассуждения можно провести для индексов j = 2, ..., 5, а также для z=l,...,fc, если взять за основу двойственную задачу D.8). Следовательно, существуют s + k пар решений задач D.1) и D.8), каждая из которых удовлетворяет какому-то одному из 5 + fc неравенств в D.18), D.19). Любая выпуклая комбинация этих пар с положительными коэффициентами также представляет собой решения данных задач, но уже удовлетворяющие всем неравенствам одновременно. Л Следствие. Если решения х* и у* взаимодвойственных задач D.1) и D.8) единственны, то они удовлетворяют условиям D.18), D.19). Л Отметим, что для нелинейных задач аналог теоремы 4.3 отсутствует. Так, для задачи х2 —* min, х ^ 0, точка х* = 0 является единственным решением, а у* = 0 — единственным множителем Лагранжа (решением двойственной задачи). Приведем примеры использования теории двойственности для отыскания решений простейших задач Л П. Пример 4.2. Пусть требуется найти решение задачи 2xi + 3^2 + 2хз + 3x4 —* min, 2xi — Х2 — Хз + Х4 = 2, —Xi — 3X2 + Хз + Х4 = 1, D.22) Xi ^ 0, Х2 ^ 0, Хз > 0, Х4 ^ 0. Это задача ЛП в канонической форме. Двойственной к ней, согласно D.14), является задача 2yi - У2 < 2, -ух - Зу2 < 3, -ух + 2/2 < 2, ух + у2 ^ 3.
§ 4. Условия оптимальности в задачах линейного программирования 205 К примеру 4.1. На рис. 4.1 дана геометрическая интерпретация задачи D.23). Отсюда нетрудно предположить, что ее решением является точка пересечения прямых 2у\ - у2 = 2, 2/1 +2/2 = 3, т.е. у* = E/3, 4/3). В этой точке второе и третье ограничения задачи выполняются как строгие неравенства. Тогда, согласно утверждению 2) теоремы 4.2, решение х* задачи D.22) должно удовлетворять условию х\ = х\ = 0. При этом для х\ и х\ получаем систему 2Х\ + Х4 = 2, —Х\ + Х4 = 1, Х\ ^ О, Х4 ^ 0. Ее решением служит х* = 1/3, х\ = 4/3. Таким образом, х* = = A/3, 0, 0, 4/3) - решение задачи D.22). Заметим, что если бы была выдвинута неверная гипотеза о том, что решением задачи D.23) является, скажем, точка пересечения прямых ~У\ +2/2 = 2, 2/1 + 2/2 = 3, т. е. у = A/2, 5/2), то в результате мы пришли бы к системе -х3 + х4 = 2, х3 + х4 = 1, х3 ^ 0, х4 ^ О, которая не имеет решения. На этом основании данная гипотеза и была бы отвергнута. Пример 4.3. Пусть требуется найти все решения задачи xi + 2x2 + • • • + пхп —* min, xi ^ 1, х\ + #2 ^ 2, D.24) х\ + х2 + ... + хп ^ п, #1 ^ 0, х2 ^ 0, ..., хп > 0.
206 Гл. 4. Теория необходимых и достаточных условий оптимальности Это задача ЛП в стандартной форме. Двойственной к ней, согласно D.12), является задача 2/1 + 2^/2 + • • • + пуп -> max, 2/1 + 2/2 + ..-+ Уп ^ 1, 2/2 + ...+ 2/п<2, D.25) У\>0, г/2 ^ 0, ..., уп ^ 0. Эти задачи имеют решения в силу утверждения 4) теоремы 4.2. Ясно, что для любой допустимой точки (в частности, решения) задачи D.25) все функциональные ограничения, кроме первого, выполняются как строгие неравенства. Тогда, согласно утверждению 2) теоремы 4.2, любое решение х* задачи D.24) должно удовлетворять условию х\ — — ... = х*п — 0. При этом, очевидно, х* = п. Таким образом, х* = — (п, 0, ..., 0) — единственное решение задачи D.24). 2. Задача квадратичного программирования. Напомним, что задачей квадратичного программирования называется задача минимизации квадратичной выпуклой функции при линейных ограничениях (см. п. 9 § 1 гл. 1, а также следствие теоремы 3.9 гл. 3). Как и в задачах ЛП, эти ограничения могут задаваться в различных формах, легко сводящихся к друг другу. Мы возьмем за основу задачу квадратичного программирования вида - (Сх, х) + (d, x) —> min, (ai9x)^bi, i=l, ..., к, D-26) (di, x) = bi, г = к + 1, ..., га, где С — неотрицательно определенная симметрическая матрица размера пхп, d, а\, ..., ат — заданные векторы из Rn, Ьь ..., Ьш — заданные числа. Пусть, как обычно, X — допустимое множество исследуемой задачи D.26), Q — множество вида D.2), А — матрица размера mxnco строками а\, ..., ат, Ь — вектор из Rm с координатами Ъ\у ..., Ът. Выпишем регулярную функцию Лагранжа задачи D.26) 1 m L(x, у) = - (Cx, х) + (d, х) +^yi((a>i, х) - Ь{) = = I (Cx, x) + (d, х) + (у, Ах - Ь) = I (Cx, x) + (d + у А, х) - (у, Ъ), где х е Rn, у Е Q. Заметим, что 14 (ж, у) =Cx + d + yA.
§ 4. Условия оптимальности в задачах линейного программирования 207 С учетом этой формулы из теоремы 2.4 вытекает следующее утверждение о необходимых и достаточных условиях оптимальности в задаче квадратичного программирования. Теорема 4.5. Точка х* Е X является решением задачи D.26) в том и только том случае, если существует вектор у* € Q такой, что Cx*+d + у* А = 0, D.27) у*{{а{,х*)-Ьг)=0, i = 1 fc. D.28) Замечание. Если С — произвольная симметрическая матрица и, стало быть, целевая функция задачи D.26) необязательно выпукла, то условия D.27), D.28) сохраняются как необходимые для оптимальности точки х* е X. Это следует из теоремы 2.3. Далее, согласно определению 3.2, задача, двойственная к D.26), имеет вид tp(y) -+ max, ye У, D.29) где ^ = *€R» L^' ^ = *€R» Й ^СХ' X) + (d + УА' ^ " & Ь0' У = {у е Q | ?>М > -°°}- Для задач D.26) и D.29) справедливы общие факты теории двойственности, изложенные в § 3. Мы не будем останавливаться на их конкретизации (см. задачи 15-20). Ниже приводится лишь один важный результат при дополнительном предположении положительной определенности матрицы С. В этом случае обратная матрица С~{ существует. Тогда при любом у система L'x(x, y) = Cx + d + yA = 0 имеет решение x{y) = -C-l(d + yA). Иными словами, при любом у величина ср(у) конечна и достигается в точке х(у). Таким образом, в данном случае задача, двойственная к D.26), выписывается в явном виде <р(у) -» max, у е Q, D.30) где <р(у) = Цх(у)> У) = ~\ (C-l(d + yA), d + yA)- (у, Ъ) = = -\ ([АС-1АТ)у, у) - (AC~ld + b, у)-1- (С"Ч d). Из последнего равенства видно, что функция у? квадратична. При этом матрица АС~1АТ неотрицательно определена. Следовательно,
208 Гл. 4. Теория необходимых и достаточных условий оптимальности задача D.30) (с точностью до знака) также является задачей квадратичного программирования, имеющей, однако, существенно более простые ограничения: только условие неотрицательности на первые к переменные. Оказывается, отыскав решение задачи D.30), можно в явном виде выписать решение задачи D.26). Теорема 4.6. Пусть в задаче D.26) матрица С положительно определена, а допустимое множество X непусто. Тогда задача D.30) имеет решение у*'> при этом х* = -C-[(d + y*A) D.31) — решение задачи D.26). Доказательство. В данном случае целевая функция задачи D.26) сильно выпукла (следствие теоремы 3.9 гл. 3). Значит, эта задача имеет решение (следствие теоремы 3.13 гл. 3). Тогда, в силу теоремы 3.5, имеет решение у* задача D.30). При этом точка х* вида D.31) — единственная точка минимума функции L(x, у*) на Rn, т.е. единственная точка, удовлетворяющая условию C.19). Остается воспользоваться теоремой 3.10. Л Суть этого результата в сопоставлении с теоремой 4.5 состоит в том, что здесь нет необходимости проверять условие допустимости х* G X и условие дополняющей нежесткости D.28): они выполняются автоматически. ЗАДАЧИ 1. Выписать задачу, двойственную к транспортной задаче ЛП (см. пример 1.11 гл. 1). 2. Выписать задачи, двойственные к следующим задачам ЛП: т а) ^(с*, хг) —> min, t=i т Atxl^b\ t=l, ...,T, ^BtxT^d, хг^0, t = 1 Г, t=\ где At, Bt — заданные матрицы, с*, 6*, d — заданные векторы соответствующих размерностей (блочная задача ЛП); т б) У^(с*, хг) —> max, t=XAtxl ^хг~\ t = 1, ...,Г, ж* ^0, t= 1, .... Т, где х°, At и с* заданы (задача ЛП, возникающая в динамической модели планирования производства [4]); в) ]? <с*. хг) + ?<Ь*, и1) + (ст+1, хт+{) -> max, (=1 (=0 xt+l =Atxt + Btut, t = 0, 1. ...,Т,
§ 4. Условия оптимальности в задачах линейного программирования 209 Dtu1 ^d\ t = 0, 1, ...,Т, где х°, Аи Ви Dt> с*, &*, dl заданы (линейная задача оптимального управления в дискретном времени [5, 11]). 3. Используя метод, описанный в примере 4.2, найти решения следующих задач ЛП: а) х\ + х2 + #з + #4 —> min, Х\— Х2^0, Х[ + Х2 — #3 + х4 — #5 ^ 1 > #1^0, . . . , Х5 ^ 0; б) a?i + 5x2 + #з + 10^4 + #5 + Зхб —> min, -xi + х2 + х3 4- х4 ^ 1, xi И- 2х2 - х3 + Зх4 - х5 - хб ^ 1, xi ^0, ...,х6 ^0. 4. Решить следующие задачи ЛП: а) xi + х2 + ... + хп —> min, Xj +xJ+i ^ а^, j = 1, ..., n — 1, x\ -f xn ^ an, где ai, ..., an — заданные числа; б) xi + x2 + хз —» min, axi + x2 + хз ^ 6i, xi + ax2 + хз ^ 62, xi -f x2 + ахз ^ 63, где a, 6i, 62, 63 — заданные числа. 5. В следующих задачах ЛП исследовать на оптимальность указанную допустимую точку: а) xj + 8х2 + Юхз —> max, х\ + #2 + 4хз =2, xi — х2 + 2хз = 0, xi ^ 0, х2^0, х3^0; х* = A,1,0); б) xi + 4х2 + хз —> max, 4xi + 11^2 + Зхз = 7, xi + х2 — хз = 0, х^О, х2^0, х3>0; х* = A,0,1). (Задачи 3-5 взяты из работы [23]; там же читатель найдет большое количество других упражнений на отыскание решений конкретных задач ЛП с использованием теории двойственности.) 6. Показать, что задача D.1) при наличии только ограничений- равенств (к = 0, 5 = 0) становится вырожденной: множество ее решений либо пусто, либо совпадает с допустимым множеством. 7. Привести примеры взаимодвойственных задач ЛП, допустимые множества которых а) пусты; б) непусты и ограничены; в) не ограничены.
210 Гл. 4. Теория необходимых и достаточных условий оптимальности 8. Привести примеры взаимодвойственных задач ЛП, множества решений которых а) содержат по одной точке; б) непусты и ограничены; в) не ограничены. 9. а) Пусть в задаче D.1) имеется хотя бы одно функциональное ограничение-неравенство (к ^ 1), причем ее допустимое множество X непусто. Предположим, что допустимое множество Y двойственной задачи D.8) непусто и ограничено. Доказать, что множество X не п ограничено и, более того, sup ^ a^-Xj = +оо при всех i = 1, ..., к. Указание. Использовать теоремы 4.2 и 4.3. б) Показать, что в задачах D.1) и D.8) допустимые множества X и Y могут быть одновременно непустыми и ограниченными лишь в вырожденном случае к = 0, s = 0. 10. а) Пусть х* — решение задачи D.1). Положим п I(x*) = U l^ciijX* =biy 1 < г ^ к\, j=i J(x*) = {j | x) = 0, 1 ^ j ^ s}. Доказать, что х* — единственное решение задачи D.1) в том и только том случае, если система п п y^Cjhj ^ 0, y^ctijhj ^ 0, г е 1(х*), 2_\aijhj = 0, г = к + 1, ..., га, hj ^0, j e J(x*), имеет лишь тривиальное решение h = @, ..., 0) (ср. со следствием 2 теоремы 2.6). б) Пусть х* — решение задачи D.1), у* — решение задачи D.8) и для простоты у* > 0 при всех г Е 1(х*). Положим бц = (ац> ..., а^)- Допустим, что среди векторов ai} г е I(x*) U {к -Ь 1, ..., га} имеются п линейно независимых. Доказать, что х* — единственное решение задачи D.1). 11. а) Пусть в задаче D.1) все переменные неотрицательны (s = п), а ее допустимое множество X непусто. Предположим, что двойственная задача D.8) удовлетворяет условию Слейтера, т.е. существует m вектор у € Q такой, что ^2 Viaij < cj ПРИ всех j = 1, ..., п. Доказать, г=1 что множество решений задачи D.1) непусто и ограничено. Указание. Можно воспользоваться теоремой 3.8 или утверждением, сформулированным в задаче 1,6) § 3, применительно к двойственной задаче D.8).
§ 4. Условия оптимальности в задачах линейного программирования 211 б) Предположим, что каждая из взаимодвойственных задач D.11) и D.12) удовлетворяет условию Слейтера. Доказать, что множества их решений одновременно непусты и ограничены. 12. Пусть задача D.1) имеет решение. Заменим в ее записи один из коэффициентов Ь» A ^ г ^ т) на коэффициент 6- так, чтобы допустимое множество получающейся задачи было непустым. Показать, что эта задача также имеет решение. В чем отличие этого утверждения от теоремы 3.15 гл. 3? 13. Пусть в задаче D.1) все переменные неотрицательны (s = n). Обозначим через F(c) значение этой задачи при данной величине вектора с = (cj, ..., сп). Исследовать функцию F(c), применив теорию, изложенную в п. 4 § 3, к двойственной задаче D.8). 14. Решить следующие задачи квадратичного программирования: а) х\ + 2х\ + ... + пх\ —> min, х\ + х2 + ... + хп ^ Ь, где Ь — заданное число; б) 2х\ — 2x\x<i +x\ — 6xi — 2^2 —> min, #i + %2 ^ 2, 2xi —#2^2; в) х\ + х\ -f х\ —> min, х\ +2х2 + 3х3 < -1, 3xi +2х2 + х3 ^ -1. 15. Пусть F — квадратичная выпуклая функция на Rn. Показать, что F либо достигает минимума, либо неограничена снизу на Rn. Указание. Применить утверждение из задачи 13,а) § 2 гл. 3 к линейной системе F'(x) = 0. 16. Из сформулированного выше утверждения следует, что множество Y в задаче D.29) состоит из тех и только тех у е Q, при которых функция L(x, у) достигает минимума по х на Rn в некоторой точке z, т.е. L'x(z, у) = 0. Учитывая это, показать, что задача D.29) эквивалентна следующей задаче квадратичного программирования: ~2 (Cz> z) ~ (У> Ь) -* тах' и\ Cz + d + yA = 0, yeQ, z<ERn; точнее, убедиться, что пара (у*, z*) является решением (или просто допустимой точкой) задачи (*) в том и только том случае, если у* — решение (допустимая точка) задачи D.29), a z* — точка минимума функции Ь(х, у*) на Rn. 17. Доказать, что с точностью до эквивалентной формы записи двойственной к указанной выше задаче (*) является задача D.26) (ср. с леммой 4.1). 18. Доказать, что если допустимое множество задачи D.26) непусто, а значение ее конечно, то эта задача имеет решение. Указание. С учетом предыдущих утверждений применить теорему 3.5 сначала к задаче D.26), а затем к задаче (*); ср. со сказанным после теоремы 4.3.
212 Гл. 4. Теория необходимых и достаточных условий оптимальности 19. Пусть X и W — допустимые множества задач D.26) и (*) соответственно. Доказать следующие утверждения (ср. с теоремой 4.2): 1) для любых точек х е X и (у, z) e W справедливо неравенство ±(Cx9x) + (d9x)>-±(Cz9z)-ty,b)i 2) точки х* е X и (у*, z*) € W являются решением задач D.26) и (*) соответственно в том и только том случае, если справедливо соотношение двойственности i (Сх*, х*) + (d, **) = -\ (Cz\ z*) - (у*, Ь), равносильное условию y*((ailx*)-bi)=01 i=l,...,k; 3) задача D.26) имеет решение в том и только том случае, если задача (*) имеет решение; при этом, как было указано выше, их значения совпадают; 4) если допустимые множества задач D.26) и (*) непусты, то обе они имеют решение; 5) если допустимое множество одной из задач D.26) и (*) непусто, а второй пусто, то значение первой бесконечно. 20. Пусть х* и (у*, z*) — произвольные решения задач D.26) и (*) соответственно. Показать, что Сх* = Cz* и (Сх*, х*) — (Cz*y z*)\ при этом пара (у*, х*) является решением задачи (*), однако точка z* не обязана быть решением задачи D.26) (в последнем легко убедиться, рассмотрев предельный случай С = 0, т.е. задачу ЛП). 21. Доказать следующий вариант теоремы 4.6. Пусть в задаче D.26) матрица С положительно определена. Тогда, если задача D.30) имеет решение у*, то точка х* вида D.31) — решение задачи D.26). Если же задача D.30) не имеет решения, то допустимое множество задачи D.26) пусто. 22. Пусть в задаче D.26) матрица С положительно определена, ограничения-неравенства отсутствуют (fc = 0), а векторы ai,...,am линейно независимы, т.е. rang A = т. Показать, что тогда решение у* задачи D.30) вычисляется по явной формуле у* = ~[AC-lAT]-l(AC-ld + b), при этом решение х* задачи D.26) по-прежнему находится по формуле D.31). 23. Частным случаем задачи квадратичного программирования является задача проектирования точки а € Rn на полиэдр X: - \\х - а\\2 —> min, x G X. Найти явный вид проекции пх(а) (решения этой задачи) в случаях, когда X — координатный параллелепипед, неотрицательный ортант, гиперплоскость, полупространство, аффинное множество. (Ответы см. в задаче I § 2 гл. 6.)
Глава 5 ЧИСЛЕННЫЕ МЕТОДЫ БЕЗУСЛОВНОЙ ОПТИМИЗАЦИИ В этой главе рассматривается задача безусловной минимизации: f(x) —* min, x G Rn. В каждом конкретном случае особо указывается (или это ясно из контекста), идет ли речь об отыскании локального или глобального минимума. Значительное внимание уделено классическим методам минимизации — градиентному методу и методу Ньютона. Эти методы имеют важное значение в идейном отношении. Оба они явным образом основаны на идее замены минимизируемой функции в окрестности очередной точки хк первыми членами ее разложения в ряд Тейлора. В градиентном методе берут линейную часть разложения, в методе Ньютона — квадратичную часть. Многие из рассматриваемых в этой и следующих главах методов оптимизации базируются на той же идее аппроксимации функций. Вместе с тем будут представлены и методы, основанные на других идеях и соображениях. § 1. Градиентный метод 1. Схема метода. В § 2 гл. 1 была описана общая схема методов спуска, в которых последовательность приближений х°, х1, х2, ... к точке минимума выбирается по правилу xk+l =xk + otkhk, где hk — направление убывания функции / в точке х*\ т.е. hk e G U(xk, /), а од — параметр, регулирующий длину шага вдоль hk. В градиентном методе hk берется равным антиградиенту функции / в точке хку т.е. hk = -f'{xk). Итак, в градиентном методе x*H-i =xk-akf(xk)t ak >0, fc = 0, 1,2,... A.1) Такой выбор hk определяется следующими соображениями. Пусть функция / дифференцируема на Rn. Тогда /(*) = f(xk) + (f'(xk), х-хк)+ 0(||s - xfc||). Для определения точки xfc+1 минимизируем по х на шаре U = {х \ \\х — -хк\\^г} функцию {f'(xk), х - хк), являющуюся линейной частью
214 Гл 5. Численные методы безусловной оптимизации приращения f(x) - f(xk). При х е U, в силу неравенства Коши- Буняковского, имеем (/V). х - хк) > -\\f{xk)\\ \\х - хк\\ > -r\\f{xk)\\. С другой стороны, (f'(xk), х - хк) = —гЦ/'(ж*)|| для х = хк - - rf'(xk)/\\f'(xk)\\ e U. Следовательно, минимум функции (/'(xfc), х-хк) достигается в точке хк+1 = хк - rff\xk)/\\f'(xk)\\. Таким образом, при фиксированной длине шага, т.е. величине ||xfc+1 — xfc||, минимум линейной части разложения функции / в окрестности точки хк в ряд Тейлора достигается, если направление шага h = _ хк+\ _ хк совпадает с направлением антиградиента —f'(xk). В градиентном методе используются различные способы выбора длины шага, описанные в § 2 гл. 1. Так, если длина шага выбирается из условия минимизации функции вдоль направления антиградиента, то получаем вариант градиентного метода, носящий название метода наискорейшего спуска. Ниже мы рассмотрим детальнее другой вариант градиентного метода, в котором выбор длины шага осуществляется с помощью описанного в п. 8 § 2 гл. 1 метода дробления. Именно, будем считать, что коэффициенты а/~ удовлетворяют условию f(xk - akf'(xk)) - f(xk) < -eak\\f'(xk)\\2, в € @, 1), A.2) причем если функция / дифференцируема и удовлетворяет неравенству \\f'(x)-f'(x')\\^M\\x-x% *,х'е1Г\ A.3) где М > 0, то ak^a>0; A.4) если же функция / дважды дифференцируема и удовлетворяет неравенству (f"(x)h, h) ^ ?>||/г||2, ж, h e Rn, A.5) где D > 0, то afc^5>0 A.6) (см. леммы 2.2, 2.3 и формулы B^22), B.25), B.26) гл. 1, где, в частности, определены величины а, а). 2. Сходимость в случае невыпуклой минимизируемой функции. В случае, когда минимизируемая функция / не предполагается выпуклой, градиентный метод может обеспечить лишь сходимость к множеству стационарных точек функции /. Теорема 1.1. Пусть функция / дифференцируема и ограничена снизу на Rn, а ее градиент удовлетворяет условию Липшица A.3).
§ 1. Градиентный метод 215 Тогда при произвольной начальной точке х° ? Rn для метода A.1), A.2), A.4) имеем lim ||/V)||=0. к—+оо Доказательство. В силу A.2) f(xk+x) - f(xk) ^ -**fc||/V)||2 ^ 0, A.7) т.е. последовательность {f(xk)} не возрастает. Так как функция / ограничена снизу, то последовательность {f{xk)} сходится и, следовательно, /(я*)-/(я*+1)->0 при к ->оо. Тогда Ц/^х^)!! —> 0, поскольку из A.7) и A.4) имеем ||/V)|| < f{xk)-jf+X) < f^-«xk+ll A Теорема 1.1 показывает, что любая предельная точка х* последовательности {хк}, генерируемой градиентным методом A.1), A.2), A.4), является стационарной точкой минимизируемой функции /, т.е. f'(x*) = 0. Нетрудно построить примеры, в которых х* не является точкой минимума функции / (см. задачу 1). Если же в условиях теоремы 1.1 функция / выпукла, то, как известно, любая стационарная точка х* есть точка минимума. 3. Сходимость и оценка скорости сходимости в случае сильно выпуклой минимизируемой функции. В этом случае градиентный метод сходится к точке минимума со скоростью геометрической прогрессии. Теорема 1.2. Пусть функция f дважды дифференцируема и сильно выпукла на Rn, а ее матрица вторых производных удовлетворяет условию A.5). Тогда при произвольной начальной точке х° Е Rn последовательность {хк}, определяемая формулами A.1), A.2), A.6), сходится к точке минимума х* функции f со скоростью геометрической прогрессии: f(xk)-f(x*)^qk(f(x°)-f(x*)), A.8) \\xk-x*\\^C(Jq)k, A.9) где q е @, 1), С > 0 — константы. Доказательство. Прежде всего отметим, что, согласно следствию из теоремы 3.13 гл. 3, точка минимума х* существует и единственна. По теореме 3.9 гл. 3 условие сильной выпуклости дважды дифференцируемой на Rn функции / эквивалентно неравенству (f"(x)h, h) ^ d\\h\\2, x,he Rn, A.10)
216 Гл. 5. Численные методы безусловной оптимизации где d > О — удвоенная константа сильной выпуклости. Учитывая, что /'(#*) = 0, по формуле Тейлора получаем Дх) - /(х*) = \ </"(** + ?{х - х*))(х - х*), х - х*), откуда, в силу A.10) и A.5), имеем ^||х-х*||Ч/(х)-/(х*)<|||х-х*||2. A.11) Применение теоремы 3.6 гл. 3 при в = d/2 и неравенства Коши- Буняковского приводит к неравенствам Дх*) - Дх) > {f'{x), х* - х> + \ ||х* - х||2 ^ ^-||/'(х)||||х-х*|| + |||х-х*||2. A.12) Отсюда, используя левое из неравенств A.11), имеем d-\\x-x*t^\\f\x)\\\\x-x*\\-d-\\x-x*f, что приводит к оценке ||х-х-|КИМ. Правое из неравенств A.11) дает оценку ||x-xl2>|(/(x)-/(x*)). С учетом указанных оценок получаем из A.12) Дх) - f{x*) < 1М _ ? (Дх) _ Дх*)), откуда ||/'(x)||2^(l + l)(/(x)-/(x*)). Используя это неравенство, из A.7), A.6) выводим /(xfc+1) - Дх*) < f(xk) - eakd(\ + ±)(f(xk) - /(х*)) - Дх*) = = [l - eakd(\ + ^)] (/(**) - Дх*)) ^ g(/(xfc) - Дх*)), где g= 1 -eadfl + —J. единственная точка м неравенстве произво убеждаемся, что q > 0; кроме того, очевидно, что q < 1. Таким образом, Как отмечалось, х* — единственная точка минимума. Поэтому, рассматривая в полученном неравенстве произвольную точку хк+х т^х*,
§ 1. Градиентный метод 217 из полученного неравенства следует A.8). Неравенство A.9) выводится непосредственно из A.11) и A.8): \\*к-х*\\ < \jlyJf(xk)-f(x*)<C(Wk, где С = y|v/(xO)-/(*•). Л 4. Обсуждение градиентного метода. Найдем минимальное значение q для метода A.1), A.2), A.6). Будем считать для простоты, что дробление шага начинается с достаточно большого начального значения (см. п. 8 § 2 гл. 1), а именно /3 ^ А • 2A —e)/D. Подставляя тогда 5 = А-2A -e)/D в выражение для q и минимизируя по е, получим <Ы„ = 1-^A + ^), A-13) причем минимальное значение достигается при е = 1/2. Нижняя грань по А достигается при А —» 1—, однако при этом следует учитывать, что увеличение А приводит к замедлению процесса дробления шага, на котором основан обсуждаемый метод. Можно показать [45], что если / удовлетворяет условиям теоремы 1.2, а коэффициенты ак выбираются из условия минимизации функции вдоль направления антиградиента, то получающийся метод, т.е. метод наискорейшего спуска, также сходится со скоростью геометрической прогрессии со знаменателем « = Ш1- <'¦'«> В обеих формулах A.13), A.14) величина знаменателя прогрессии мала лишь при условии, что d и D отличаются друг от друга незначительно. При фиксированном х и любой дважды непрерывно дифференцируемой сильно выпуклой функции / в качестве d и D можно выбрать соответственно наименьшее и наибольшее собственные значения матрицы /"(х) (см. пример 1.4 гл. 1). Если же d/D «С 1, то знаменатель прогрессии близок к единице и градиентный метод сходится медленно. Этот факт легко пояснить и геометрически. В рассматриваемом случае линии уровня функции / имеют овражную структуру, и направление вектора —f'(xk) может сильно отклоняться от направления в точку минимума (рис. 1.1, см. также задачу 3). Вследствие этого движение Рис. 1.1. Поведение градиентного метода при минимизации «овражной» функции
218 Гл. 5. Численные методы безусловной оптимизации к минимуму в градиентном методе носит явно выраженный зигзагообразный характер; происходит, как говорят, «рыскание» метода, что является его существенным недостатком. Чтобы избежать этого, применяют изменение масштабов независимых переменных. Используют и другие эвристические приемы. Одним из них является так называемый овражный метод. Пусть х° и х° — две произвольные близкие точки. Совершаем из них по одному шагу методом наискорейшего спуска в точки и0 и й° соответственно. Точки и0, й° лежат в окрестности «дна оврага». Соединяя их прямой, делаем большой шаг в полученном направлении, перемещаясь вдоль «дна оврага». В результате получаем точку х1. В ее окрестности выбираем точку х1 и повторяем процедуру. Градиентный метод служит основой для создания и других, иногда весьма полезных в практических приложениях, эвристических алгоритмов. Еще один недостаток градиентного метода связан с его чувствительностью к погрешностям вычислений. Этот недостаток сказывается особенно сильно в окрестности точки минимума, где норма градиента мала. Поэтому градиентный метод в начальной стадии поиска работает лучше, чем на его заключительном этапе. Т 5. Субградиентный метод. Аналогом градиентного метода для минимизации выпуклых негладких функций является так называемый субградиентный метод, в котором последовательность точек х°, х1, ж2, ... определяется по правилу хк+\ =хк _akhk^ hk edf{xk), а*>0, jfc = 0, 1, 2, ..., A.15) где субградиент hk выбирается из множества df(xk) произвольным образом. При реализации субградиентного метода часто оказываются полезными правила вычисления субдифференциалов из п. 4 § 4 гл. 3. Следует отметить, что метод A.15) не относится, вообще говоря, к числу методов спуска (задача 4). Тем не менее можно показать [13, 19, 39], что если множество X* точек минимума выпуклой на Rn функции / непусто и ограничено, а коэффициенты а^ таковы, что оо afc||/ifc||->0 при к —> сю, y^gfcl|fefcll = оо, fc=0 то р(хк, X*) = т{т р{х\ х) -> 0, /(**) - min f(x). Как показывают теоретические оценки и вычислительная практика, субградиентный метод сходится сравнительно медленно и не является достаточно эффективным способом минимизации сложных негладких функций. К тому же может оказаться затруднительным и вычисление субдифференциалов df(xk). Другие методы негладкой оптимизации, а также важные теоретические результаты изложены, например, в [19, 60]. А
§ 2. Метод Ньютона и его модификации 219 ЗАДАЧИ 1. Указать функцию /, удовлетворяющую условиям теоремы 1.1, и начальную точку ж0, для которых последовательность {хк}, генерируемая градиентным методом A.1), A.2), A.4), сходится к стационарной точке, не являющейся точкой минимума функции /. 2. Показать, что в методе наискорейшего спуска направления хк+х — хк и хк —хк~1 ортогональны. 3. Вычислить градиенты функции Розенброка /(жь х2) = Ю0(ж2 - x\f + A - xiJ в точках (-1,2, 1), @, 0), A,5, 1) и сравнить полученные направления антиградиента с направлениями в точку минимума A, 1). 4. Построить пример, показывающий, что вектор -а, где a G Э/(ж), а ф 0, может не определять направление убывания функции / в точке х. § 2. Метод Ньютона и его модификации В данном параграфе излагаются методы, относящиеся к числу наиболее эффективных способов решения задач безусловной оптимизации. Сам метод Ньютона является методом второго порядка, т. е-, использует вычисление вторых производных минимизируемой на Rn функции /. В его модификациях (квазиньютоновских алгоритмах) матрица вторых производных аппроксимируется с помощью информации о значениях градиентов функции /, и эти модификации, таким образом, являются методами первого порядка. 1. Описание метода Ньютона. Предположим, что функция / выпукла и дважды дифференцируема на Rn, причем матрица /"(ж) невырождена на Rn. В методе Ньютона последовательность ж0, ж1, ж2, ... генерируется, исходя из следующих соображений. По определению дважды дифференцируемой функции, для очередной точки хк имеем /(ж) - f(xk) = (f'(xk), x - хк) + I (f"(xk)(x - хк), х-хк) + + о(||ж-ж/с||2). Для определения следующей точки xfc+1 минимизируется функция Д(ж), являющаяся квадратичной частью приращения /(ж) — f(xk), т. е. решается задача Д(х) = (f'(a*), ж - хк) + I (f"(xk)(x - хк), х-хк)^ min, ж е Rn. Ясно, что /?'(ж) = f"{xk). Так как необходимым и достаточным условием выпуклости функции является неотрицательная определенность матрицы ее вторых производных (теорема 3.9 гл. 3), а функция /
220 Гл. 5. Численные методы безусловной оптимизации выпукла по условию, то функция Д выпукла. Поэтому, с учетом теоремы 1.9 гл. 1, необходимое и достаточное условие минимума имеет вид /?(*) = / V) + / V)(* - х") = о. Решая полученную систему линейных уравнений и принимая найденную точку минимума за хк+\ получаем хк+\ =xk + hky hk = -(f"(xk))-lf'(xk). B.1) Данное соотношение определяет метод Ньютона минимизации функции /, совпадающий, как нетрудно видеть, с известным из курсов математического анализа и методов вычислений методом Ньютона решения системы уравнений f'(x) = 0. Исследуем сходимость метода B.1). 2. Сходимость метода Ньютона и оценка скорости сходимости. Теорема 2.1. Пусть функция f дважды дифференцируема, сильно выпукла с константой в > 0 на Rn и удовлетворяет условию ||/"(х) - f"(x')\\ < М||* - х'||, х, х' € R", B.2) где М > 0, а начальная точка х° такова, что ||/'(#°)|| ^ 802/М, т. е. \\f'(x°)\\ = 802q/M, где q G @, 1). B.3) Тогда последовательность B.1) сходится к точке минимума х* с квадратичной скоростью: \\xk-x*\\^46q2k/M. Доказательство. По следствию из теоремы 3.13 гл. 3 точка минимума х* существует и единственна. По теореме 3.9 гл. 3 условие сильной выпуклости эквивалентно следующему: (f"(x)h, h) ^ 20\\h\\2, x, h Е Rn. B.4) Отсюда следует, что матрица f"{x) положительно определена и потому невырождена при всех х е Rn. Таким образом, метод B.1) определен корректно. В силу теоремы 3.8 гл. 3, учитывая, что f{x*) = 0, получаем IIх"" Х*И2 < Те <//(xfc) ~ Г{х*]> х" ~xt)<Tell/,(xfc)l1 ||х"" х*1 т.е. Il*fe-**IK^II/V)ll- B.5) Оценим величину ||/'(a:fe)||. Интегрируя по it от 0 до 1 соотношение ? f'(xk + t(xk+i - xk)) = f"(xk + t(xk+l - xk))(xk+l - xk)
§ 2. Метод Ньютона и его модификации 221 и вычитая из обеих частей полученного равенства f"(xk)(xk+l — xk), имеем f(xk+l) - f'{xk) - f"(xk)(xk+l - xk) = = j[/'V + *(*fc+1 " **)) ~ f"(xk)){xk+x - xk) dt, 0 откуда, в силу B.2), имеем ll/V+1) - /V) - f"{*k){xk+X - xk)\\ ^ f ||*fc+1 - xkf. Подставляя сюда xfc+1 — xk = — (f"(xk))~lf'(xk), приходим к неравенству ll/V+1)|| < у ll(/V))-1ll2ll/'(«*)ll2. B-6) Оценим теперь величину IK/"^))-1!!- Полагая h = (f"(x))~ly, получаем из B.4) откуда ,rw)-i-wiicgp*<^. 2 2* С учетом полученной оценки из B.6) следует, что ll/V+1)H^II/'(*fe)ll2- Это неравенство справедливо при всех к = О, 1,2, ..., поэтому, используя B.3), получаем ll/'(*')ll < ^ ll/V)»2 < (?) V^-2)»' <¦¦¦ Утверждение теоремы теперь непосредственно следует из B.5). Л Таким образом, сходимость метода Ньютона доказана лишь для достаточно хорошего начального приближения х°. При этом условие B.3), гарантирующее сходимость для данного начального приближения, труднопроверяемо, так как фигурирующие в нем константы, как правило, неизвестны. Сложность отыскания нужного начального приближения является недостатком метода Ньютона. Еще более существенным недостатком является высокая трудоемкость метода, обусловленная необходимостью вычисления и обращения на каждом шаге матрицы вторых производных минимизируемой функции. 8^А Г. Сухарев и др.
222 Гл. 5. Численные методы безусловной оптимизации В силу названных причин применение классического метода Ньютона далеко не всегда приводит к успеху. Многочисленные модификации направлены на то, чтобы, сохраняя основное достоинство метода Ньютона — его быструю сходимость, уменьшить трудоемкость и ослабить требования на выбор начального приближения. 3. Метод Ньютона с регулировкой шага. Рассмотрим метод xk+\ =xk + akhkf ak >0 hk== -(/"(ж*))-1/'^), B.7) называемый методом Ньютона с регулировкой шага. При ак = 1 он совпадает с классическим методом Ньютона. Выбор коэффициентов ак в B.7) производится обычно или из условия минимизации функции вдоль заданного направления, или с помощью метода дробления шага, обеспечивающего выполнение условия B.17) гл. 1. Можно показать, что упомянутые варианты метода B.7) сходятся при любой начальной точке х° е Rn, причем скорость сходимости будет либо сверхлинейной, либо квадратичной в зависимости от требований, которым удовлетворяет функция / [45]. Таким образом, с помощью регулировки шага преодолевается недостаток метода Ньютона, связанный с необходимостью отыскания хорошего начального приближения. Метод Ньютона с регулировкой шага является одним из наиболее употребительных в вычислительной практике. Уменьшить трудоемкость метода можно, вычисляя матрицу (/")~1 не на каждом шаге, как в B.7), а один раз через каждые 5 шагов, т. е. полагая в B.7) hk = -(f"(xaW8l))-lf'(xk). Подбирая эмпирическим путем подходящее s, иногда удается получить с помощью этого метода неплохие результаты. Однако кардинального решения проблемы уменьшения трудоемкости метода Ньютона описанный прием не дает. Более перспективным в этом плане оказывается другой подход, при котором строится аппроксимация матрицы (f"(xk))~l на основе информации о значениях градиентов f'(xk), f'(xk~l), ... 4. Квазиньютоновские методы. Предположим, что функция / дважды дифференцируема. Рассмотрим метод xfc+1 = xk + akhk, hk = -Hkf(xk). B.8) Матрицу Нк будем выбирать таким образом, чтобы она в некотором смысле аппроксимировала матрицу {f"(xk))~l. Заметим, что f'(xk) - f'(xk+x) = /"(zfc+!)(*fc - **+1) + o(||x* " *fc+1 ID- Предполагая невырожденной матрицу f"{xk+l), отсюда с точностью до членов более высокого порядка малости по сравнению с \\хк — хк+х\\
§ 2. Метод Ньютона и его модификации 223 имеем , , , , (/"(* ))" (/'(* + ) " /'(*)) ~ * "х • B-9) При этом, если /(х) = (Ах, х)/2 4- F, х) — квадратичная функция, А — симметрическая положительно определенная матрица, то /'(х) = = Ах + Ь, /"(х) = А и приближенное равенство B.9) обращается в точное (f"(xk+l))-lAyk = ba*9 где Дх* = xfc+1 - xfc, Дг/* = f(xfc+1) - /'(xfc). Поэтому естественно потребовать, чтобы для матрицы Я^+ь приближающей (/"(х**1))-1, выполнялось условие #*+1Ду* = Д*\ B.10) Это условие носит название квазиньютоновского. Оно лежит в основе целого ряда методов аппроксимации (/"J". Соответствующие методы минимизации, для которых на каждом шаге выполняется квазиньютоновское условие, также называются квазиньютоновскими. Пусть приближения к (/")-1 пересчитываются от шага к шагу по формуле Нк+\ = Нк + АНк. Попытаемся указать какую-нибудь матрицу AHkf обеспечивающую выполнение B.10). Для этого перепишем B.10) в виде АНкАук = Ахк-НкАук. Ясно, что этому равенству удовлетворяет матрица ранга 1, заданная формулой АНк = (^w> (Дх* - НкАук^ ¦ **• B11) где гк — произвольный вектор такой, что (zk, Ayk) ф 0. Здесь и далее до конца параграфа для векторов и = (щ, ..., ит), v = (v\, ..., vn) используется обозначение u-v = U\V\ U\V<i ... U\Vn ЩУх U2V2 . . . ЩУп UmV\ ишУ2 ... UmVn Выбрав zk = Axk - HkAyk, получаем из B.11) при (Axk — HkAyk, Аук) ф 0 следующую формулу для пересчета матриц Нк: Ни , - Яь + (Ахк-НкАук)-(Ахк-НкАук) Я*+| " Нк + {Ах*<-НкАУ\АуЪ) ' BЛ2) Часто используются также формулы и -ил. Ахк'Ахк Нк(Аук - Аук)Нк (су л ^ Нк+Х ~Нк+ (АхК Ay») ~ {НкАуКАуЬ) ' BЛЗ) 8*
224 Гл. 5. Численные методы безусловной оптимизации И -и , Л , (НкАук,Аук)\ Ахк-Ахк uk+i - пк + yi н- {Axfc>Ayfc> J {Дх^д^)- (Axfe.Ayfc)fffc fffc(Ayfe.Asfe) , . (Axfc, Ayfc) (Axfc, Ay*) ' V } которые, как нетрудно показать, также удовлетворяют условию B.10). В качестве Я0 можно выбрать любую положительно определенную симметрическую матрицу. На практике часто выбирается единичная матрица. Длина шага в квазиньютоновских методах чаще всего выбирается из условия минимизации функции вдоль заданного направления: f(xk + akhk) = mmf(xk + ahk). B.15) a Иногда рассматриваются и другие способы, например ак = 1, как в классическом методе Ньютона, или ак выбирается в процессе дробления шага (см. п. 8 § 2 гл. 1). Оказывается, что для квадратичной функции f(x) = (Ах, х)/2 + + F, х), где А — симметрическая положительно определенная матрица, все три метода B.8), B.12)—B.14), B.15) при любом начальном приближении х° е Rn генерируют одну и ту же последовательность точек х1, х2, ..., хп, причем Нп = СП*")) = А~1> хп=х* = -А~1Ь = arg min /(x), x€Rn т. е. квазиньютоновские методы позволяют найти минимум квадратичной функции за п шагов. Для неквадратичных функций это, конечно, не так. Однако можно показать, что при соответствующих предположениях Hk-(f"№))-l->0, xk-*x*, причем скорость сходимости сверхлинейна. Так, например, если / — дважды непрерывно дифференцируемая сильно выпуклая на Rn функция, то при любом начальном приближении х° G Rn последовательность точек {хк}, определяемая формулами B.8), B.13), B.15), сходится к х*. Если при этом для всех х таких, что /(х) ^ /(х°), справедливы неравенства \dxidxj dxidxj i то хк сходится к х* сверхлинейно. Доказательства некоторых из приведенных утверждений, соответствующие ссылки, а также ряд других результатов, относящихся к квазиньютоновским методам, можно найти в [39, 63-65]. Квазиньютоновские методы называют также методами переменной метрики. Это название объясняется тем, что любая симметрическая положительно определенная матрица Нк задает скалярное произведение (и, v)k = (Hku, v) и связанную с ним метрику. Линейная часть
§ 3. Методы сопряженных направлений 225 приращения f(xk + Ахк) — f(xk) имеет вид </'(**). Axfe) = (HkH;lf(xk),Axk) = (H^f'tf), Axk)k, и потому вектор H^lf(xk) можно рассматривать как градиент функции / в точке хк в пространстве со скалярным произведением (•, •)*;. Таким образом, метод B.8) является обобщением градиентного метода на случай пространства с переменной метрикой. Квазиньютоновские методы являются эффективным средством решения задач безусловной оптимизации. Их отличает высокая скорость сходимости, в то же время при реализации квазиньютоновских алгоритмов не приходится выполнять такие трудоемкие операции, как вычисление матрицы вторых производных или обращение матрицы. Однако при большой размерности пространства необходимость хранения и пересчета на каждом шаге матриц Hk обусловливает высокие требования к объему занимаемой памяти ЭВМ. Этот недостаток не присущ изучаемому в следующем параграфе методу сопряженных градиентов. ЗАДАЧИ 1. Показать, что если матрица f"(xh) положительно определена, Г(хк)фО, то направление hk = — (f"(xk))~lf'(xk) является направлением убывания функции / в точке хк. 2. Показать, что при нарушении условия B.3) и соблюдении остальных условий теоремы 2.1 метод Ньютона B.1) может расходиться, в частности может оказаться, что условие /(xfc+1) < f(xk) не выполняется ни при одном к. 3. Пусть Hk — симметрическая положительно определенная матрица, (Ахк, Аук) > 0. Показать, что определенная формулой B.13) матрица Hk+\ также симметрическая положительно определенная. § 3. Методы сопряженных направлений Высокая скорость сходимости метода Ньютона обусловлена тем, что он минимизирует квадратичную функцию /(*) = \ (Ах, х) + (Ь, х), C.1) где А — симметрическая положительно определенная матрица размера пхп, за один шаг. Квазиньютоновские методы позволяют найти минимум квадратичной функции за п шагов. На стремлении минимизировать квадратичную функцию за конечное число шагов основана идея методов сопряженных направлений. Точнее говоря, в методах сопряженных направлений требуется найти направления Л°, Л1, ..., hn~l такие, что последовательность п одномерных минимизаций вдоль этих направлений приводит к отысканию минимума функции C.1), т.е. f(xn) = min f(x) при любом х° ? Rn, где x€Rn
226 Гл. 5. Численные методы безусловной оптимизации xk+i =xk+akhk, f(xk + akhk) = min f(xk+ahk), к = 0,1,... a€R C.2) Оказывается, что указанным свойством обладает система взаимно сопряженных относительно матрицы А направлений. 1. Понятие сопряженных направлений и их свойства. Пусть А — симметрическая положительно определенная матрица размера п х п. Определение 3.1. Векторы (направления) h! и Ы1 называются сопряженными (относительно матрицы А), если они отличны от нуля и (Ah', h") = 0. Векторы (направления) h°, Л1, ..., hk называются взаимно сопряженными (относительно матрицы А), если все они отличны от нуля и (Ah\ hj) = 0, i ф j, 0 ^ г, j < к. Лемма 3.1. Пусть векторы h°,hl,...,hk являются взаимно сопряженными. Тогда они линейно независимы. Доказательство. Пусть это неверно, т.е. hl = ^ Xjhj при ЭФ* некотором г. Тогда (Ah1, h%) = ]? Xj(Ah\ hj) = 0, что возможно толь- зфъ ко при h% = 0, так как матрица А положительно определена. Полученное противоречие доказывает лемму. Л Рассмотрим задачу минимизации на Rn функции C.1). Будем решать ее методом C.2). Если векторы h%, hl+l, ..., Л*4-", ie е {0, п, 2п, ...}, взаимно сопряжены, то метод C.2) можно назвать методом сопряженных направлений. Однако обычно это название употребляется лишь для тех методов, в которых именно стремление добиться выполнения условия взаимной сопряженности определяет выбор направлений /i°, Л1, ..., hn~l (см. пп. 2, 3). К выполнению того же самого условия может привести и реализация совершенно иной идеи (см. задачу 6). Теорема 3.1. Если векторы hk в методе C.2) взаимно сопряжены, к = 0, 1, ..., т — 1, то для функции /, заданной формулой C.1), /(xm) = min /(*), хт е Хт, х?Хт где Хт = х° + lin {h°, ft1, ..., ftm_1}, lin {... } — линейное подпространство, натянутое на указанные векторы. Доказательство. С учетом C.2) и определения 3.1 имеем f(xk + Xkhk) = i (A(xk + Xkhk), xk + Xkhk) + (b, xk + Xkhk) = = f(xk) + Xk(Axk + b, hk) + i A| (Ahk, hk) = fc-i = /(**) + *k(Ax° + Y,aiAhi + 6' hh) + \ X^Ah^ h*> = г=0 = f(xk) + Afc (Ax° + b, hk) + i А|(АЛ*. hk).
§ 3. Методы сопряженных направлений 227 Используя это равенство, получаем га— 1 f(x°+J2\khk) = к=0 га— 1 га— . = \ (а(х°+J2 а*л*), x°+y, ык)+(ь, x°+yi w) = fc=0 fc=0 fc=0 ra—1 = f(x°) + ? (ЫАх° + b, hk) + I \\{Ahk, hk)) = fc=0 ra—1 fc=0 ra.— 1 ra—1 ra—1 k=0 Отсюда ra—1 min f{x) = min /fx° + Y" \khk) = x6Xm'/V ' (A„,A Am.,№J\ f-i / (Ao.A Am_,)€R" m—1 = /c*°)+E t та Кх"+Afcftfc) - /(xfe)]= ' * At t-K. ra—1 ra—1 fc=0 ra—1 = /(*°) + ^ [/(** + afc/ife) - /(**)] = /(x° + ? afcfcfc) = f(xm). A fc=0 fc=0 Следствие. Если векторы hk в методе C.2) взаимно сопряжены, fc = О, l,...,n— 1, то (Эля функции /, заданной формулой C.1), w произвольной точки х° Е Rn /(xn) = min /(ж). Таким образом, метод C.2) позволяет найти точку минимума квадратичной функции C.1) яе более чем за п шагов. Доказательство. Утверждение непосредственно следует из теоремы 3.1, так как Хп = Rn, поскольку векторы /i°, Л1, ..., /in_1, в силу леммы 3.1, линейно независимы. Л Теперь для получения конкретных алгоритмов минимизации достаточно указать способы построения взаимно сопряженных направлений. При обосновании одного из этих алгоритмов нам понадобится следующее вспомогательное утверждение. Лемма 3.2. Пусть функция f задана формулой C.1), точки и и v таковы, что f(u) = min /(#), и € а-\- L, x?a+L f(v) = min /(я), v €. b + L, x?b+L
228 Гл. 5. Численные методы безусловной оптимизации где а, 6 € Rn произвольны, Л°, Л1, ..., hk~l E Rn отличны от нуля, L = lm{h°,h{, ...yhk~1}. Тогда вектор u — v сопряжен (относительно матрицы А) с каждым из векторов Л°, Л1, ..., hk~l. Доказательство. Из теоремы 1.2 гл. 4, с учетом леммы 1.4 гл. 4, имеем (f'(u), hi) = (Au + b1hi)=01 г = 0, 1, ..., k - 1, C.3) (f'(v), ti) = (Av + 6, Л») = 0, г = 0, 1, ..., fc - 1, C.4) Вычитая C.4) из C.3), получаем (A(ti-t;)f Л*)=0, г = 0, 1, ..., fc- 1. А Перейдем к конкретным методам. Начнем с описания алгоритма, не требующего вычисления производных минимизируемой на Rn функции /. 2. Метод сопряженных направлений нулевого порядка. Алгоритм состоит из последовательности циклов, fc-й из которых определяется начальной точкой t°(k) и направлениями минимизации р°(к), р1(к), ..., рп~1(к). На нулевом цикле в качестве ?°@) выбирается произвольная точка х° е Rn, в качестве р°@), р!@), ..., рп~1@) — направления координатных осей. Очередной fc-й цикл состоит в последовательном решении одномерных задач /(#+1(к)) = тш/(#(к)+ор>{к)), j = 0, l,...,n-l. C.5) Тем самым определяется шаг из точки хк = t°(k) в точку xk+l=xk+akhk, C.6) где hk и afc таковы, что hk = tn(k) - t°(k), f(xk + akhk) = min f(xk + ahk). a€R После завершения fc-го цикла начальная точка и направления минимизации (fc-b 1)-го цикла определяются по формулам t°(fc+l) = xfc+1, p°(k+l)=pl(k), ..., рп~2(к+\)=рп-\к), pn-l(k+l) = hk. C.7) Критерием остановки может служить выполнение неравенства \\хк+1 —хк\\ ^ ?, где е — заранее выбранное малое положительное число. Теорема 3.2. Если векторы h°, ft1, ..., ftn_1 в методе C.5)- C.7) отличны от нуля, то для функции /, заданной формулой C.1), Дх")= min/(x).
§ 3. Методы сопряженных направлений 229 Доказательство. Учитывая следствие из теоремы 3.1, достаточно показать, что векторы /i°, /i1, ..., hn~l взаимно сопряжены. Пусть fce{l,...,n-l}. Предположив, что векторы /i°, /i1, ..., hk~x взаимно сопряжены, докажем, что вектор hk сопряжен с векторами /i°, h\ ..., Л*-1. Заметим, что рп~к(к) — Л°, ..., pn~l(k) = hk~l и, стало быть, точка tn(fc), согласно формулам C.5), получена из точки tn~k(k) с помощью последовательности одномерных минимизаций вдоль направлений /i°, Л1, ..., hk~x. Это, в силу теоремы 3.1, означает, что f(tn(k)) = min f(x). *€t"-*(fc)+lin{/i°,/i»,...,/i*-»} Аналогично точка t°(k) = xk получена из точки tn~k+x(k— 1) с помощью последовательности одномерных минимизаций вдоль тех же направлений, и поэтому f(t°(k)) = min f(x). xetn-k+l(k-l)+\m{h0,hi,..; hk~l} Доказываемое утверждение теперь непосредственно следует из леммы 3.2, так как hk = tn(k) - t°(k). Л Предположение теоремы 3.2 о том, что /i°, /i1, ..., hn~{ отличны от нуля, выполняется далеко не всегда. Система векторов р°(к), pl(k)t ..., рп~1(к) может при некотором к оказаться линейно зависимой (или «почти» линейно зависимой), в результате чего метод может не обеспечить отыскание минимума даже квадратичной функции (задача 4). Опишем модификацию метода C.5)-C.7), приводящую к эффективному алгоритму минимизации. После завершения fc-ro цикла проверяется выполнение неравенств \\hk\\ ^ ?, \\хк+1 —хк\\ ^ е. Если хотя бы одно из них выполнено, то производится остановка. В противном случае проверяется выполнение неравенства , , ^ I /(xfc)-/(xfc+1) /Q я. где /(*"*(*)) - f(tm+i(k)) = . max [/(*(*)) - /(f+I(*))]- j=0,1, ...,n—1 Если оно выполнено, то направления минимизации (А;+1)-го цикла остаются прежними, т. е. p?(k+l)=pi(k), j = 0, l,...,n-l. C.9) Если нет, то направления минимизации (fc+ 1)-го цикла определяются по формулам
230 Гл. 5. Численные методы безусловной оптимизации p°(fc+l)=p°(fc), ...,рт-1(к+1)=рт-1(к), р™(к + 1) = pm+1(fc), ..., рп~\к + 1) = рп-1(к), рп-\к + 1) = hk. (ЗЛО) В обоих случаях начальная точка (fc-M)-ro цикла вычисляется так же, как и в исходном алгоритме: t°(fc+l)=j;*+1. C.11) Можно показать, что модифицированный алгоритм C.5), C.6), C.8)-C.11) ни при каком к не приводит при минимизации квадратичной функции к линейно зависимой системе направлений р°(к), р1(к), ..., рп~х(к). С увеличением к для этой системы во все возрастающей степени выполняется свойство «приблизительной» взаимной сопряженности [63] (при этом, однако, отыскание минимума квадратичной функции за п циклов не гарантируется). Алгоритм C.5), C.6), C.8)-C.11) применяется для минимизации выпуклых гладких функций (не обязательно квадратичных). Упомянутые свойства обеспечивают на практике его сравнительно высокую эффективность. В настоящее время разработаны и применяются на практике и другие варианты метода сопряженных направлений нулевого порядка [45, 63, 65]. Перейдем к описанию метода сопряженных направлений первого порядка. 3. Метод сопряженных градиентов. Вновь рассмотрим задачу минимизации на Rn квадратичной функции C.1) с помощью метода C.2). Попытаемся построить систему взаимно сопряженных направлений по правилу h° = -f'(x°), hk = -f'(xk) + Ck-Xhk-\ k>\. C.12) Из условия сопряженности векторов hk~x и hk имеем 0 = (hk, Ahk~x) = (-f'(xk), Ahk-l)+pk-x(hk-1, Ahk~l), откуда _ (f'(x% Ahk~>) Рк-Х~ (hb-i,Ah"-*) ' FЛ6) Обоснование того факта, что метод C.2), C.12), C.13) относится к числу методов сопряженных направлений, содержится в двух следующих леммах. Лемма 3.3. Векторы f'(xk) и f'(xk+x) ортогональны, к = = 0, 1, ... Доказательство. В силу C.2) имеем Axk+l = Axk + otkAhk, откуда с учетом равенства f'(x) = Ах + Ь получаем f'(xk+l) = f'(xk)+akAhk, C.14)
§ 3. Методы сопряженных направлений 231 и после подстановки значения ак из B.16) гл. 1 имеем Следовательно, </'orfc+l)./V)> = </V)./v»-(ffff{Ahk'f,{xk))- C.15) Заметим теперь, что поскольку хк — точка минимума функции / на прямой хк~х + lin{/ifc—1}, то (f'(xk), hk~x) = 0 по теореме 1.2 гл. 4 и лемме 1.4 гл. 4. Поэтому (f'(xk), hk) = -</'(**). /'(xfe)> +/3fc_,(/'(xfc), Л*) = - -(/V). /V)>- (зле) Кроме того, равенство C.13) обеспечивает сопряженность векторов hk~l и ftfc, откуда следует, что (Ahk, hk) = -(Ahk, J\xk))+f3k-X(Ahk, hk~x) = = -(Ahk,f'(xk)). C.17) В силу C.16), C.17) правая часть в C.15) обращается в нуль, т.е. (f'(xk+x),f'(xk))=0. Л Лемма 3.4. Пусть х° е Rn, точки хх,...,хп~х и векторы ft0, ft1, ..., hn~l получены по формулам C.2), C.12), C.13) и /'(*•) ^ 0 (г = 0, 1,...,п-1). Тогда векторы ft0, ft1, ..., ftn_1 взаимно сопряжены, а градиенты /'(ж0), /'(ж1), ..., f'{xn~x) взаимно ортогональны. Доказательство. Ортогональность f'(x°) и /'(ж1) следует из леммы 3.3; ft0 ф О по условию; ft1 ф 0, так как в противном случае ft1 = = —/'(ж1) - Cof'(x°) = 0, что невозможно из-за ортогональности /'(ж0) и /'(ж1); наконец, сопряженность ft0 и ft1 следует из C.13). Предположим, что к ^ п — 1, векторы ft0, ..., ftfc_1 взаимно сопряжены, а градиенты /'(ж0), ..., f'{xk~x) взаимно ортогональны. Тогда {f'(xk), f(xk~x)} = О по лемме 3.3. При г ^ А; — 2 имеем </'(**). /'И> = (/V), /V)> +а*-1(АЛ*-!, /'(*<)> = = ak-X(Ahk-\ /'(**)> = ak.x(Ahk-xt -ft* + A-ift*) = О, где первое равенство справедливо в силу C.14), второе и четвертое — в силу индукционного предположения, а третье — в силу C.12). Тем самым доказана взаимная ортогональность векторов /'(ж0), ..., f'(xk). Далее, hk ф О, иначе из C.12) следовало бы, что векторы /'(ж0), ..., f'{xk) линейно зависимы, что противоречит их взаимной ортогональности. Докажем, что ft0, ..., hk взаимно сопряжены.
232 Гл. 5. Численные методы безусловной оптимизации Действительно, (hk, Ahk~x) = 0 в силу C.13). По формулам B.16) гл. 1 и C.12) п = </V). **> = (/vwvbft-i/y-1)-...) = (Ah\ Л*) (Ah*, h*) _ (/'(*«), f'jx*)) (Ah\ h*) ' и потому cti^O, i < &. Следовательно, по формуле C.14), Л/И =/V^!iziV). C.18) При i < к - 2 (hk, Ah1) = (-f'(xk) + l3k_ihk-1, Ah1) = = -(f'(xk), Ah') = -(f'(xk), /,(X<+I)a" Г(Ж<)) = О, где первое равенство справедливо в силу C.12), второе — в силу индукционного предположения, третье — в силу C.18), последнее — в силу уже доказанного. Л Итак, рассматриваемый метод относится к числу методов сопряженных направлений. Поэтому из следствия теоремы 3.1 следует справедливость следующего утверждения. Теорема 3.3. Метод C.2), C.12), C.13) обеспечивает отыскание точки минимума квадратичной функции C.1) не более чем за п шагов. Заметим, что если окажется, что f'(xk) = 0 при к < п, то вычисления следует прекратить — задача решена. В противном случае формула C.16) показывает, что (f (xk), hk) < 0, т.е. hk является, в силу леммы 2.1 гл. 1, направлением убывания. Поэтому при минимизации квадратичной функции C.1) операцию взятия минимума по всей прямой в C.2) можно заменить операцией взятия минимума по неотрицательной полупрямой. Для получающегося метода x*+i = xk+akhk, f(xk + akhk) = minf(xk+ahk), fc = 0, 1, ... C.19) теорема 3.3 остается справедливой (направления hk по-прежнему определяются формулами C.12), C.13)). До сих пор мы предполагали, что симметрическая матрица А в C.1) положительно определена. Однако на практике часто встречаются задачи (см., например, § 2 гл. 6), в которых предполагается лишь, что {Ах, х) ^ 0 при всех х е Rn, т.е. симметрическая матрица А неотрицательно определена. Теорема 3.4. Если квадратичная функция C.1) с неотрицательно определенной матрицей А достигает своего минимального
§ 3. Методы сопряженных направлений 233 значения на Rn, то метод C.2), C.12), C.13) обеспечивает отыскание точки минимума не более чем за п шагов. Если минимальное значение не достигается, то метод позволяет установить этот факт также не более чем за п шагов. Доказательство. Пусть функция f(x) = - {Ах, х) + (Ь, х) достигает на Rn своего минимального значения и пусть вектор у G Е Rn таков, что Ау = 0. Тогда F, у) = 0, ибо в противном случае f(ay) = a(b, у) —> —оо при а —» +со или а —> —со, что противоречит сделанному предположению. Для произвольного х е Rn имеем </'(*). У) = (Ах + Ъ,у) = (х, Ау) + (Ь, у) = 0. Обозначим через г ранг матрицы Д ' г ^ п. Тогда размерность подпространства решений системы уравнений Ау = 0 равна п — г. Полученное выше равенство показывает, что градиенты функции / в произвольных точках из Rn принадлежат ортогональному дополнению (га — г)-мерного подпространства. Таким образом, среди этих градиентов имеется не более г линейно независимых векторов. В силу C.12), указанному ортогональному дополнению принадлежат и векторы hk. Поэтому (Ahk, hk) = 0 только при hk = 0. Действительно, если (Ahk, hk) = 0, то неотрицательная на Rn функция (Ах, х) достигает в точке hk минимума, следовательно, ее градиент Ах/2 обращается в нуль: Ahk — 0. Итак, вектор hk ортогонален самому себе, т. е. hk = 0. Покажем, что метод сопряженных градиентов обеспечивает отыскание минимума не более чем за г шагов, т.е. f'(x%) = 0 при некотором г ^ г. Пусть Ь? т^ 0 и, стало быть, (Ahj, hj) > 0 (J = 0, 1, ..., г - 1). Просматривая доказательства лемм 3.3 и 3.4, убеждаемся, что из них следует взаимная ортогональность векторов f'(xi) (j = 0, 1, ..., г). В силу отмеченной выше линейной зависимости системы этих г + 1 векторов хотя бы один из них обращается в нуль. Если же /i^O (j = 0, 1, ..., к - 1), hk = 0, к < г, то по тем же, что и ранее, причинам векторы ff(xj) (j = 0, 1, ..., к) взаимно ортогональны. В силу C.12) система этих векторов линейно зависима, т. е. и в этом случае хотя бы один из них обращается в нуль. Рассмотрим, наконец, случай, когда функция C.1) не достигает на Rn своего минимального значения. В этом случае (Ahk, hk) =0 при некотором к < п — 1 и вычисляемый по формуле C.13) коэффициент /3k обращается в бесконечность, т.е. дальнейшее применение метода становится невозможным. Действительно, если (Ahk, hk) > >0 (к = 0, 1, ..., п — \\ то, просматривая доказательства лемм 3.1 и 3.4, убеждаемся, что векторы /i°, Л1, ..., hn~l взаимно сопряжены и линейно независимы. Тогда любой вектор х ф 0 можно представить в
234 Гл. 5. Численные методы безусловной оптимизации п-\ виде х = ]Р ^khk, где хотя бы один из коэффициентов А& отличен от к=о нуля. Отсюда п_{ (Axix) = YJ><l(AhkJhk)>01 к=0 т.е. матрица А положительно определена и, следовательно, функция C.1) сильно выпукла. Это противоречит предположению о том, что она не достигает на Rn своего минимального значения. Л Сформулируем теперь метод сопряженных градиентов для минимизации неквадратичной функции. Для этого преобразуем формулу C.13) так, чтобы в ней не фигурировала матрица А. Лемма 3.5. Справедливы формулы о (/Ч^/Ч^У/У-1)) /0201 Pk-x ||/>(х*-1)||2 • V'M> о ,_ 11/УI12 C21) Доказательство. Используя C.13), C.14), C.12) и взаимную ортогональность векторов f'(x°)f ..., f'(xk), получаем </У),ЛЬ*-'> (f'(x%f(xk)-nxk-1)) = Рк~Х (hk~\ Ahk~l) (hk~\ f'(xk) - f'(xk-1)) (f(xk),f(xk)-f(xk-1)) (-f'(xk-*) - pk-2f'(xk-*) - . . . , /'(**) - /'(Я*)) _(/4xfc),/4xfc)-/4xfc-1))_ ||/У)И2 д \\П*к'1)\\2 \\f'(xk-l)\\2' Полученный метод C.19), C.12), C.20) (как и его вариант C.19), C.12), C.21)) носит название метода сопряженных градиентов и может применяться для минимизации неквадратичных функций. Естественно, что при этом метод перестает быть конечным, вырабатываемые им направления Л°, /г1, ... не являются, вообще говоря, взаимно сопряженными относительно какой-либо матрицы, а задачи C.19) определения величин од приходится решать численно. Обычно в метод сопряженных градиентов вводится процедура «обновления» — коэффициенты /Зп-ь /?2п-ь /?3п-ь ••• не вычисляются по формуле C.20) (либо C.21)), а полагаются равными нулю, при этом /i* = — fix*) (г = 0, n, 2n, ...). Такая модификация позволяет уменьшить влияние погрешностей решения одномерных задач C.19). В этом случае вариант C.20) метода сопряженных градиентов принимает вид
§ 3. Методы сопряженных направлений 235 хк+\ =xk+akhk, f(xk +akhk) = minf(xk + ahk), a>0 k = o, i h° = -f'(x°), hk = -f'{xk)+pk_xhk-\ k>\, [ 0, fcG {n, 2n, 3n, ...}, Можно показать, что при применении метода C.22) для минимизации ограниченной снизу функции /, градиент которой удовлетворяет условию Липшица, для любой начальной точки х° е Rn имеем И/'О*^)!! —> —> 0 при к —> оо. Для сильно выпуклой гладкой функции, удовлетворяющей некоторым дополнительным ограничениям, {хк} сходится к точке минимума х* со сверхлинейной скоростью [39, 45], а именно \\хк+п - я* || < СИ** - х*||2, к = {0, п, 2п, Зп, ... }. Таким образом, метод сопряженных градиентов обладает высокой скоростью сходимости. В то же время его трудоемкость сравнительно невелика. Так, например, метод C.22) по трудоемкости и памяти лишь незначительно превосходит метод наискорейшего спуска. Все это позволяет отнести метод сопряженных градиентов к числу наиболее эффективных алгоритмов первого порядка. Вычислительная практика показывает, что этот метод незначительно уступает по эффективности квазиньютоновским методам; в то же время он предъявляет меньшие требования к объему занимаемой памяти ЭВМ. Следует отметить, что в настоящее время построено и применяется много различных вариантов метода сопряженных градиентов. ЗАДАЧИ 1. Пусть х° е Rn, f(x*) = min f(x), функция / задана форму- xGRn лой C.1). Доказать, что вектор х* — х° сопряжен с любым вектором, лежащим в касательной гиперплоскости к поверхности f(x) = f(x°) в точке х°. 2. Показать, что взаимно ортогональные собственные векторы симметрической положительно определенной матрицы А взаимно сопряжены относительно А. 3. Пусть векторы а1, ..., ап е Rn линейно независимы. Доказать, что векторы h*=a\ hk = ak-Y^y*\h\ fc = 2,...,n, ^ (Ah\ h%) взаимно сопряжены относительно матрицы А. 4. Убедиться, что алгоритм C.5)-C.7) при х° = A/2, 1, 1/2) не обеспечивает отыскание минимума функции f(x\, 2?2, Хз) = (Х\ -Х2+ ХзJ + (-Ж1 + Х2 + Х$J + (х\ + Х2 ~ Х3J.
236 Гл. 5. Численные методы безусловной оптимизации 5. Для тех же, что и в задаче 4, функции / и начальной точки х° определить точки х\ х2, х3 по правилам C.5), C.6), C.8)—C.11). 6. Показать, что для функции C.1) при произвольных х° е Rn и симметрической положительно определенной матрице #о векторы /i°, Л1, ..., hn~l оказываются взаимно сопряженными для всех трех методов B.8), B.12)-B.14), B.15). § 4. Эвристические методы нулевого порядка В данном параграфе описаны два метода нулевого порядка. Оба они основаны на эвристических (т.е. интуитивных, не обоснованных строго) соображениях, не связанных с использованием линейной или квадратичной аппроксимации целевой функции в окрестности очередной точки вычисления. Их можно применять в ситуациях, когда применение более совершенных методов невозможно или нецелесообразно, например, значения целевой функции вычисляются со значительными погрешностями, информация о ее свойствах недостаточна, нет необходимости обеспечить высокую точность решения задачи и т.д. Оба метода, как и другие подобные алгоритмы, просты в реализации и довольно часто применяются на практике, позволяя в ряде случаев получить удовлетворительное решение задачи (для невыпуклой функции, как правило, локальное). 1. Метод вращения системы координат. Параметрами метода являются коэффициенты /х > 1, А е (О, 1). Текущее значение точки, из которой делается очередной шаг, обозначим через t. Текущие значения векторов, задающих возможные перемещения из ?, обозначим через р1, ..., рп. Алгоритм состоит из последовательности циклов. На к-м цикле (итерации) заданы точка хк и ортонормированная система векторов р1(к), ..., рп(к). При этом в качестве р*@), ... ..., рп@) выбираются координатные орты. В начале цикла переменным t, р1, ..., рп присваиваются соответственно значения хк, р1(к), ... . ..,pn(fc). Затем поочередно производятся испытания в направлениях р](к), р2(к), ..., pn(fc), pl(k), р2(к), ..., рп(к), ... Испытание в направлении р1(к) состоит в вычислении значения /(t + p*). Испытание считается удачным, если fit + p*) ^ f(t), и неудачным в противном случае. В случае удачи делается шаг в точку t + рг и текущее значение р* умножается на /х. В случае неудачи рг умножается на -А. Точнее говоря, переменным ?, рг присваиваются следующие значения: t. =/*+^' если /(* + ^К/М> ' ~~ \*. если /(t + p*) > f(t)9 г = Г /хр\ если /(* + р<) </(*). Р' \-\p\ если /(* + ?*)>/(*)•
§ 4. Эвристические методы нулевого порядка 237 Цикл заканчивается после очередного испытания в направлении pn(fc), если оказалось, что в ходе цикла в каждом направлении уже проведено хотя бы раз такое удачное испытание, следующее за которым оказалось неудачным. Обозначим через xfc+1 значение t по окончании fc-ro цикла, через 7t — алгебраическую сумму шагов, совершенных на протяжении цикла п в направлении р*(к) (г = 1, ..., п). Тогда хк+{ = хк + ]Г) ЪР{(к)- Положим t=i и1 = 71Р1 (к) + ЪР2(к) + ... + 7nPn(fc), u2=72P2(fc) + .-. + 7nPn(fc), un=lnpn(k). Можно считать, что ъФ® (г = 1, ..., п) (теоретической возможности обращения в нуль какого-либо из коэффициентов 7г легко избежать соответствующим выбором А и /х — задача 1) и, следовательно, система векторов и1, и2, ..., ип линейно независима. Из этой системы с помощью процесса ортогонализации строится новая ортонормирован- ная система векторов р1(к + 1), р2(к + 1), ..., рп(к + 1) по следующим рекуррентным формулам: 8-1 wi=ui-'^2 <»*. РЧк + 1)У (* + 1), Таким образом, в методе вращения системы координат после очередного fc-ro цикла система векторов р1(к), ..., рп(к) (система координат), определявшая возможные направления шагов алгоритма, преобразуется в новую систему векторов р1(к + 1), ..., рп(к + 1). При этом первый орт р\к+ 1) новой системы направляется вдоль выявленного в результате fc-ro цикла наиболее перспективного направления xk+l — — хк, второй орт р2(к+ 1) — вдоль наилучшего из направлений, ортогональных к pi (к + 1), и т.д. Остановка производится либо после заданного числа вычислений значений функции /, либо когда окажется, что ||xfc+1 — хк\\ ^ е, либо когда после некоторого цикла max 7* ^ ?• Рекомендуемые значения 1=1, ...,П параметров: А = 1/2, р. = 3. 2. Симплексный метод. Рассмотрим один из вариантов симплексного метода решения задачи безусловной оптимизации. Пусть заданы три параметра: коэффициент отражения а > О, коэффициент растяжения /3 > 1 и коэффициент сжатия 7 € @, 1), а также вершины начального симплекса ж°@), х!@), ..., хп@).
238 Гл. 5. Численные методы безусловной оптимизации На fc-й итерации заданы вершины текущего симплекса х°(к), х1(к), ... t хп(к), причем их нумерация такова, что f(x°(k))^f(xl(k))^...^f(xn(k)). Положим c(fc) = I]TV(fc). г=0 Основная идея метода состоит в том, чтобы заменить вершину хп(к) с наихудшим (максимальным) значением целевой функции на новую вершину, в которой значение целевой функции как можно меньше. Это осуществляется с помощью операций отражения, растяжения и сжатия. Итерация начинается с выполнения операции отражения, результатом которой является точка и(к) = с(к) + а(с(к) - хп{к)). После вычисления в этой точке значения целевой функции / может представиться один из трех случаев: f(x°(k))^f(u(k))^f(xn-l(k)), D.1) /(«(*)) < f(x°(k)), D.2) f(xn-l(k))<f(u(k)). D.3) В случае D.1) вершина хп(к) заменяется на и(к)у чем определяется набор вершин симплекса (fc + 1)-й итерации, и fc-я итерация заканчивается. В случае D.2) результатом отражения является новая точка с наилучшим (минимальным) значением целевой функции. Поэтому направление отражения является перспективным и можно попытаться осуществить растяжение симплекса в этом направлении. Для этого значение / вычисляется в точке v(k) = с(к) + /3(и(к) - с(к)). Если f(v(k)) < f(u(k))y то вершина хп(к) заменяется на v(k), в противном случае — на u(fc), и fc-я итерация заканчивается. В случае D.3) результатом отражения является новая точка, которая, если ею заменить наихудшую вершину xn(fc), сама станет наихудшей вершиной. В этом случае производится сжатие симплекса. Для этого значение / вычисляется в точке fc(/c) + 7(zn(fc)-c(fc)), если f(xn(k))^f(u(k))t w^ >- { с(к) + ф{к) - c(fc)), если f(xn(k)) > f{u(k)).
§ 4. Эвристические методы нулевого порядка 239 Если f(w(k)) < min{/(xn(fc)), /(г/(&))}, то вершина хп(к) заменяется на w(k). В противном случае вершина xi(k) заменяется на х*(к) = х*(к) + | (х°(к) - x*(fc)), г = 1, ..., п. Полученные п точек вместе с точкой х°(к) составляют набор вершин симплекса (к+ 1)-й итерации. Остановка производится, если после завершения fc-й итерации выполняется неравенство Не №(к+*)) - /(*°(*+1))]2}1/2 <*• г=1 где е — заранее заданное малое положительное число. Рекомендуемые значения параметров: а=1, /3 = 2, ^=\/2. Если х°@) = = (xi,...,xn) — начальное приближение к точке минимума, то в качестве начального симплекса можно выбрать симплекс с вершинами х°@) = (хь ..., хп), ХХ @) = (Х\ + Г, Х2 + S, Х3 + 5, . . . , Хп + $), Х2@) = (Xi + 5, Х2 + Г, Х3 + 5, . . . , Хп + $), х3@) = (rci + s, х2 + 5, х3 + г, ..., хп + s), ?п@) = (xi + 5, Х2 + S, Х3 + S, . . . , Хп + Г), где г = /(VrT+T - 1 + п)/ \/2, 5 = /(л/пТТ — 1)/ \/2. Нетрудно видеть, что указанный симплекс является правильным, с длиной ребра /. Величина I выбирается в зависимости от масштаба независимых переменных. Описанный алгоритм можно дополнить процедурой обновления, состоящей в замене после определенного числа итераций текущего симплекса новым правильным симплексом. В заключение отметим, что симплексный метод никак не связан с симплекс-методом решения задач ЛП, излагаемым в § 1 гл. 6. ЗАДАЧИ 1. Указать такие значения А, /х, при которых коэффициенты 7ь ...,7п в методе вращения системы координат не обращаются в нуль. 2. Сравнить работу метода вращения системы координат с А = 1/2, fi = 3, х° = @,8) и симплексного метода с а=1, /? = 2, 7=1/2, ж°@) = @,8), х1@) = @,9), х2@) = A,9) при минимизации функции Дх) = (хх - ЗJ + (х2 - 2J + (х! +Х2- 4J.
Глава 6 ЧИСЛЕННЫЕ МЕТОДЫ УСЛОВНОЙ ОПТИМИЗАЦИИ Создание численных методов решения задач оптимизации с ограничениями является еще более трудной проблемой, чем построение методов безусловной оптимизации. Эффективные алгоритмы удается построить лишь для специальных классов условных задач, к которым в первую очередь следует отнести задачи линейного, квадратичного и выпуклого программирования. Именно этим классам задач уделяется основное внимание в данной главе. § 1. Симплекс-метод решения задач линейного программирования 1. Введение. Основным численным методом решения задач линейного программирования (ЛП) является так называемый симплекс- метод. В настоящее время теоретические и вычислительные аспекты этого метода хорошо разработаны. Практически во всех вычислительных центрах имеются соответствующие стандартные программы. Симплекс-метод находит широкое применение при решении разнообразных практических задач Л П. Наряду с этим он используется в численных методах нелинейной и дискретной оптимизации как вспомогательный инструмент для решения возникающих подзадач ЛП. Следует отметить, что сам термин «симплекс-метод» не отражает существа этой вычислительной процедуры. Он связан с тем историческим обстоятельством, что первоначально метод был разработан применительно к задаче ЛП, допустимое множество которой имело вид X = <х е R+ \J2 Xi — 1 \ (это множество именуется стандартным симплексом). В литературе данный метод называют также методом последовательного улучшения плана. Ниже мы познакомимся лишь с принципиальными идеями симплекс-метода. Его более детальное изложение (в частности, подробное обсуждение вычислительных аспектов метода) имеется, например, в книгах [5, 12, 17, 28, 35, 61]. Там же приводятся и другие численные методы решения задач Л П.
§ 1. Симплекс-метод решения задач линейного программирования 241 Симплекс-метод предназначен для решения задачи ЛП в канонической форме (с, x)->min, Ах = 6, х ^ О, где А — матрица размера т х n, be Rm, с G Rn. Это не ограничивает общность метода, так как любая задача ЛП может быть представлена в такой форме (см. п. 9 § 1 гл. 1). Всюду в параграфе (кроме теоремы 1.4) под X будет пониматься допустимое множество задачи A.1): X = {xeRn\ Ах = Ь, х^О}. A.2) Обозначим через о1, ..., ат столбцы матрицы А. Для любой точки х = (хь ..., хп) G Rn введем множество J(x) = {J I х, > 0, 1 ^ 3 ^ п}, состоящее из индексов ее положительных координат. Отметим, что из условия х G X следует п b = Ax = V^o?Xj — Y^ a?Xj, A.3) *=i ieJ(x) т.е. вектор Ь является положительной линейной комбинацией столбцов a,i (j G J(x)). 2. Опорные точки допустимого множества задачи A.1). В этом пункте излагаются предварительные факты, подводящие к основной идее симплекс-метода. Определение 1.1. Точка х допустимого множества X называется опорной, если столбцы а^ (j G J(x)) линейно независимы. Теорема 1.1. Если множество X непусто, то оно имеет опорные точки и число их конечно. При этом для любой точки х G X существует такая опорная точка х1 G X, что J(xf) С J(x). Доказательство. Пусть х е X. Если Ь = О, то х' = 0 — тривиальная опорная точка, для которой J(x') = 0 С J(x). Если же 6^0, то, в силу теоремы 1.6 гл. 3, из A.3) следует существование множества индексов J с J(x) такого, что векторы aJ (j € J) линейно независимы и Ъ = ]Г a^x'j при некоторых x'j > 0 (j G J). Положим x'j = 0 при j ? J !). Тогда точка х' = (xj, ..., x'n) принадлежит Х и является опорной, причем J(x') = J с J(x). Покажем, что число опорных точек конечно. Пусть это не так. Тогда, поскольку число подмножеств множества {1, ..., п} конечно, непременно найдутся две такие различные опорные точки хх и ж2, !) Здесь и далее запись j ? J означает, что j G {1, ..., n}\J.
242 Гл. 6. Численные методы условной оптимизации что J(xl) = J(x2) = J. При этом Ь = ]П °?хХу Ь = J2 а^х]- Но векто- ры a-7 (j e J) линейно независимы. Тогда соответствующие коэффициенты в указанных разложениях вектора Ь должны совпадать: ж] = ж2 при j e J. Кроме того, ж] = ж2 = О при j ^ J. Следовательно, ж1 = = ж2, что противоречит сделанному предположению. Л Оказывается, среди решений задачи A.1) обязательно существует опорная точка ее допустимого множества X. Для доказательства этого факта воспользуемся теорией двойственности. Задачу ЛП, двойственную к A.1) (см. формулу D.14) гл. 4), нам удобно будет записать в виде F, у) —> max, . ' A.4) (у, a3) ^cjt j = 1, ..., п. Согласно утверждениям 2) и 3) теоремы 4.2 гл. 4, задачи A.1) и A.4) обладают следующими свойствами: 1) если ж и у — допустимые точки задач A.1) и A.4) соответственно, причем (y,a')=cj9 jeJ(x), A.5) то ж и у — решения этих задач (условие A.5) — это иная форма записи условия D.16) гл. 4 при s = n\ условие D.17) гл. 4 для задач A.1), A.4) отсутствует); 2) если задача A.1) имеет решение ж, то задача A.4) имеет решение у, причем выполняется A.5). Теорема 1.2. Если множество решений задачи A.1) непусто, то оно содержит хотя бы одну опорную точку допустимого множества X. Доказательство. Пусть ж — некоторое решение задачи A.1). В силу указанного свойства 2) задача A.4) имеет решение у, причем выполняется A.5). По теореме 1.1 существует такая опорная точка х' G е X, что ./(ж') с J(x) и, значит, (у, a3) = Cj при j e J{x'). Согласно свойству 1) точка х' — решение задачи A.1). Л Ў Полезно выяснить (хотя явно это и не потребуется в дальнейшем), как расположены опорные точки в допустимом множестве. Теорема 1.3. Понятие опорной точки множества X эквивалентно понятию его крайней точки {определение 2.4 гл. 3). Доказательство. Пусть ж — опорная, но не крайняя точка множества Ху т. е. ж = Лж1 + A — А)ж2 при некоторых ж1, ж2 е X, ж1^2, Ае@, 1). Легко видеть, что тогда ж] = ж2 = 0 при j ? J(x). Следовательно, Ъ= ?) а^ж], Ъ= J2 а3х2у Но векторы a3 (je jeJ(x) jeJ{x) e J(x)) линейно независимы. Поэтому ж j = ж2 при j G J(x). Итак,
§ 1. Симплекс-метод решения задач линейного программирования 243 х{ = ж2, что противоречит ранее сказанному. Таким образом, х — крайняя точка X. Пусть, напротив, х — крайняя, но не опорная точка X, т.е. векторы aj (j e J(x)) линейно зависимы. Тогда найдутся числа hj (j € е J(x)), не равные нулю одновременно и такие, что ^ a^hj=0. j?j(x) Положив hj = О при j ф J(x), имеем Ah = 0, где h = (h\, ..., hn) ф Ф 0. Тогда, очевидно, А(х ± ah) = b при любом а и х ± ah ^ 0 при достаточно малом а ф 0, т.е. x±aheX. Но x = 0,5(x + aft) + + 0,5(х — ah). Таким образом, х не является крайней точкой, что противоречит предположению. Л Благодаря полученному результату становится ясным то, что существование и конечность множества опорных точек, утверждаемые теоремой 1.1, суть частные проявления общих фактов выпуклого анализа. В самом деле, согласно теореме 2.7 гл. 3, выпуклое замкнутое множество имеет крайние точки в том и только том случае,-если оно не содержит прямых. Но множество X вида A.2) обладает этим свойством, так как является подмножеством неотрицательного ортанта RJ. В силу леммы 2.4 гл. 3 любой полиэдр, а значит, и данное множество X имеют конечное число крайних точек. Что касается теоремы 1.2, то она является частным случаем следующего утверждения. Теорема 1.4. Рассмотрим задачу (с, х) —> min, х G X, где X ¦— замкнутое выпуклое множество в Rn, не содержащее прямых, и сЕ Rn. Если множество X* решений этой задачи непусто, то оно содержит хотя бы одну крайнюю точку множества X. Доказательство. Ясно, что множество X* выпукло, замкнуто и, как подмножество X, не содержит прямых. Тогда, по теореме 2.7 гл. 3, множество X* имеет хотя бы одну крайнюю точку X*. Без труда показывается (как в доказательстве леммы 2.2 гл. 3), что точка х* будет крайней и в X. Д Более общий результат приведен в задаче 3. А Теоремы 1.1, 1.2 означают, что для поиска решения задачи A.1) достаточно перебрать лишь опорные точки допустимого множества X, число которых конечно. Та опорная точка, в которой целевая функция (с, х) принимает наименьшее значение, будет одним из решений задачи A.1) (если они вообще существуют). Чтобы найти все опорные точки, необходимо для каждого множества индексов Jc{l п} такого, что столбцы о? (j E J) линейно независимы, составить относительно Xj (j e J) систему Y,ajXj=b. A.6)
244 Гл. 6. Численные методы условной оптимизации Если эта система имеет решение и оно неотрицательно, то, положив Xj = О при j ? J, получим, что точка ж = (х\, ..., хп) — опорная. В противном случае осуществляется переход к следующему J. Ясно, что в результате этой процедуры ни одна опорная точка не будет пропущена. Как известно, для того чтобы решить линейную систему A.6) или убедиться, что она не имеет решения, а также чтобы исследовать векторы на линейную независимость, требуется конечное число арифметических операций. Таким образом, теоремы 1.1, 1.2 обосновывают принципиальную возможность решения задачи ЛП за конечное число шагов методом полного перебора опорных точек. Но «конечное» не означает «малое». К сожалению, при сколько-нибудь больших п и га этот простой в идейном отношении метод требует огромной вычислительной работы. Итак, метод полного перебора опорных точек практической ценности не имеет. Но он естественным образом подводит к основной идее симплекс-метода: полный перебор следует заменить^ упорядоченным, разумным. В самом деле, если уже вычислена некоторая опорная точка ж, то нет необходимости просматривать те опорные точки, в которых целевая функция принимает большее значение, чем в ж: они заведомо не могут быть решением задачи. Симплекс-метод представляет собой вычислительную процедуру, в которой специальным образом генерируется последовательность ж0, х, ..., хь опорных точек множества X. На очередной t-Pi итерации в зависимости от знаков некоторых параметров делается один из следующих выводов: 1) хг — решение задачи A.1); 2) задача A.1) не имеет решений; 3) существует (конструктивно указываемая) «лучшая» опорная точка ж*4, в которой целевая функция принимает меньшее значение, чем ВХ': (с, ж'+1) < (с, ж<). A.7). Поскольку, во-первых, число опорных точек конечно и среди них обязательно имеется решение задачи A.1), если она вообще разрешима, а во-вторых, в силу A.7) возврат к однажды просмотренным опорным точкам уже невозможен, то за конечное число итераций эта процедура приведет к выводу 1) или 2). Теоретически не исключается (и такие патологические примеры построены), что последовательность ж0, ж1, . ..,ж* пройдет по всем опорным точкам множества X. Однако большой практический опыт показал, что для подавляющего числа задач ЛП вида A.1) количество итераций симплекс-метода находится в пределах от га до 2га. В дальнейшем мы будем предполагать, что ранг матрицы А равен га, т.е. все ее строки линейно независимы. К этому всегда можно прийти, исключив из системы Ах = b линейно зависимые уравнения. На практике данная операция обычно осуществляется одновременно с
§ 1. Симплекс-метод решения задач линейного программирования 245 поиском начальной опорной точки х° по методу искусственного базиса. (Идея этого метода приведена в п. 5; его детальное изложение с учетом упомянутой операции см. в [5, 12].) Отметим, что у любой опорной точки множества X может быть не более га положительных координат, так как в пространстве Rm может быть не более га линейно независимых векторов. Определение 1.2. Базисом опорной точки х множества X называется произвольная линейно независимая система из га столбцов матрицы Д включающая в себя все столбцы, соответствующие положительным координатам точки х. Иными словами, столбцы о? (j e J с {1, ..., п}) образуют базис опорной точки х, если они образуют базис в Rm (в обычном смысле) и J(x) с J. Поскольку, как мы предполагаем, ранг матрицы А равен га и, следовательно, максимальная линейно независимая подсистема ее столбцов состоит из га элементов, то для любой опорной точки х систему столбцов a? (j e J(x)) всегда можно дополнить до системы из га линейно независимых столбцов. Это означает, что при указанном предположении любая опорная точка имеет базис. Определение 1.3. Опорная точка х называется невырожденной, если она имеет ровно га положительных координат. Задача A.1) называется невырожденной, если любая ее опорная точка невырождена. В противных случаях говорят о вырожденной точке или задаче. Ясно, что невырожденная опорная точка х обладает единственным базисом, который образует столбцы a? (j G J(x)). У вырожденной точки базисов может быть несколько. Пример 1.1. Пусть множество X задается системой х\ + 2x2 + х3 + 2x4 = 4, 3xi + 2х2 + 2хз + 4x4 = 8, Х\ ^ 0, . . . , Х4 ^ 0. В данном случае п = 4, га = 2, •'-(!)• "'=B). --(J> "S<> '-G> Опорная точка х1 = B, 1, 0, 0) невырождена. Опорная точка х2 = = @, 0, 4, 0) вырождена. Базисами последней являются {а1, а3} и {а2, а3}, но не {а3, а4}. Понятно, что вырожденность задачи A.1) обусловлена специальной ситуацией, когда вектор b располагается в линейном подпространстве (точнее, многогранном конусе) пространства Rm, натянутом на менее чем т столбцов матрицы А. Достаточно небольшого возмущения вектора 6, чтобы задача стала невырожденной. Так, задача с множеством X, указанным в примере 1.1, превратится в невырожденную, если заменить там Ъ = D, 8) на Ь? = D + ?, 8) при малом е ф 0.
246 Гл. 6. Численные методы условной оптимизации Уточняя высказанную ранее общую схему симплекс-метода, отметим, что для вырожденной задачи возможен случай, когда на очередной итерации не произойдет перехода к новой опорной точке, а значит, и уменьшения значения целевой функции, т.е. будет выполняться xt+1 = — х1 и, значит, (с, xt+1) = (с, хг) вместо A.7) (подробнее об этом неблагоприятном случае см. в замечании 2 к теореме 1.7). Приступим к более детальному описанию симплекс-метода. 3. Итерация симплекс-метода. Пусть в результате предыдущих итераций уже получена последовательность х°, ж1, ..., хг опорных точек множества X. Для краткости положим х1 — х. Пусть ai (j G J) - некоторый базис точки х. Поскольку это базис в Rm, то все столбцы матрицы А можно представить как линейные комбинации данных столбцов, т. е. ак = ^2aj\jk, fc=l,...,n, A.8) где Xjk (j ? J) — некоторые числа. Положим Ак = '52ч\,к-ск, fc=l,...,n. A.9) Для любого keJ, очевидно, имеем: Хкк = h Xjk=0 при je е J\{k} и Ак = о. В зависимости от знаков параметров Xjk, Д& при j E J, к ф J выполняется хотя бы одно из трех условий: I. Для любого индекса к ? J справедливо неравенство Д^ < 0. И. Существует индекс s ? J такой, что As > 0 и XjS ^ 0 при всех jeJ. III. Существует индекс s ? J такой, что Д5 > 0 и XjS > 0 при некотором j e J. Оказывается, каждому из этих условий соответствует один из упомянутых ранее выводов. Теорема 1.5. Если выполняется условие I, то х — решение задачи A.1). Доказательство. Поскольку матрица, составленная из столбцов aj (j e J), невырождена, то система (y,ai) = cjy jeJ, A.10) имеет решение у е Rm. Для любого к $. J с учетом A.8)—A.10) и условия Afc ^ 0 имеем (ЗЛ ак) = Y1 & а^Хэк = YlciXJk ^ Ск' Таким образом, у — допустимая точка задачи A.4), причем из A.10) следует A.5), так как J(x) С J. Следовательно, х — решение задачи A.1) (а у — решение задачи A.4)). Д
§ 1. Симплекс-метод решения задач линейного программирования 247 xi = < Для индекса s ? J, указанного в условиях II, III, проведем некоторые построения. Используя формулу A.8) при к = 5, а также то, что Xj = О при всех j ? J, для любого а € R имеем Ъ = 22,°^хз — z^aJxj + a[aS ~ y^a^js) — У^.аЧхз ~ a^js) + otas. Иными словами, Ь = ?Va? = Ac', A.11) i=i где ж' — точка из Rn с координатами Xj — a\jSi если j G J, a, если j = 5, A12) О, если j $l J, j ^ 5. При этом n 1С c^xi= ]Cc^^' ~aA^)+c*a = ]C cix^ ~ a(jL, c^s ~Cs) • j=l j€J i€J i€J Таким образом, (c,x') = (c,x)-aAs. A.13) Теорема 1.6. Если выполняется условие II, то задача A.1) «е имеет решения. Доказательство. Поскольку XjS ^ 0 при всех j E J, то для любого a > 0 вектор ж/ = ж/(а), определенный в A.12), неотрицателен. Вместе с A.11) это означает, что х'(а)еХ. В силу A.13) из условия As > 0 следует, что lim (с, х'(а)) = —оо, т. е. целевая а—»+оо функция задачи A.1) не ограничена снизу на допустимом множестве и, следовательно, задача не имеет решения. Л Итак, при выполнении условий I или II работа метода заканчивается на данной итерации. Далее, положим х. а= min -т^-, A14) jeJ: Xjs>0 Ajs где 5 взято из условия III. Пусть этот минимум достигается на индексе т т е ' а = ^, reJ, Xrs>0. A.15) Теорема 1.7. Если выполняется условие III, то тачка х', определенная формулами A.12), A.15), является опорной, причем столбцы а? > j € J7, где J' = (J\{r}) U {s}, A.16) образуют ее базис.
248 Гл. 6. Численные методы условной оптимизации Доказательство. Благодаря выбору а все координаты точки х1 неотрицательны: ( Xj - aXjs ^ 0, если j e J\{r}, хг — a\rs = 0, если j = г, а ^ О, если j = s, 10, если j ф J, j ф s. х< = < A.17) Это вместе с A.11) означает, что х'еХ. Кроме того, из A.16), A.17) следует, что индексы положительных координат точки х! могут находиться лишь в J', т.е. J{x') с J'. Так как векторы a? (j e J) образуют базис в Rm, то любой вектор у е Rm можно представить как их линейную комбинацию: у = ^ tija? = У2 ^за^ + Vrcf • A-18) j?J jeJ\{r} Но, используя формулу A.8) при k = s и учитывая, что Ars ф О, вектор аТ можно выразить через векторы aj (j e J')\ ar=as^-- У aj^. A.19) Ars ?--J Лг$ i€J\{r} Подставляя это выражение в A.18), получаем, что любой вектор из Rm представим как линейная комбинация векторов а^ (j e J'). Следовательно, эти m векторов образуют базис в Rm; иными словами, они линейно независимы. Тогда векторы & (j ? J(x')) обладают тем же свойством. Таким образом, х' — опорная точка, а а^ (j e J') — ее базис. Л На следующей (?-М)-й итерации в качестве xt+x принимается указанная опорная точка х' с данным базисом о? (j E J'). При этом говорят, что столбец аг выводится из базиса, а столбец as вводится в базис. Элемент АГ5 называется ведущим. Замечание 1. Вообще говоря, индекс s определяется из условия III неоднозначно. Для невырожденной задачи индекс г, удовлетворяющий A.15), единствен; обратное означало бы, что опорная точка х' содержит менее т положительных координат. Но для вырожденной задачи таких г может быть много. На практике обычно выбирают наименьшие «иг, удовлетворяющие указанным требованиям. Замечание 2. В теореме 1.7 возможны два случая: а = 0 или а > 0. При а = 0 имеем х' = х, т. е. происходит лишь замена одного базиса точки х другим. При а > 0 заведомо х ф х' и (с, х') < < (с, х) в силу формулы A.13), т.е. выполняется A.7). Если точка х невырождена, и, значит, J = J(x), то хг > 0 и поэтому обязательно а > 0. Но для вырожденной точки х случай а = 0 не исключается. Таким образом, для вырожденной задачи возможна ситуация, когда
§ 1. Симплекс-метод решения задач линейного программирования 249 итерации описанной процедуры сведутся к перебору базисов одной и той же опорной точки, не являющейся решением; причем с некоторого момента эти базисы начнут повторяться, так как число их конечно. В таком случае говорят, что произошло зацикливание симплекс- метода. Известны специально построенные примеры задач ЛП, в которых это явление действительно наблюдается [35]. Однако большой практический опыт показал, что при решении реальных задач ЛП, многие из которых вырождены, зацикливание встречается крайне редко: если даже в процессе вычислений некоторая опорная точка повторяется, то, как правило, рано или поздно обнаруживается такой ее базис, который позволяет перейти к новой опорной точке. Ў Несмотря на это, разработаны различные уточнения основной процедуры симплекс-метода, позволяющие полностью исключить возможность зацикливания. Одним из уточнений является так называемое лексикографическое правило выбора индекса г в формуле A.15). Это правило состоит в следующем. Пусть J0 — множество всех индексов, на которых достигается минимум в A.14). Если Jo состоит из единственного г, то г — искомый индекс. В противном случае рассмотрим множество J\ всех индексов из J0, на которых достигается минимум отношения \j\/\jS при j € Jo. Если J\ состоит из единственного г, то г — искомый индекс. В противном случае рассматривается множество J<i всех индексов из 3\> на которых достигается минимум отношения Xj2/^js при j G J\, и т.д. Если этот процесс еще не закончился ранее, то на n-м шаге рассматривается множество Jn всех индексов из Jn-i, на которых достигается минимум отношения Xjn/Xjs при j е Jn-i- Индекс г е Jn и берется в A.15). При определенных условиях на базис начальной опорной точки х° применение описанного правила выбора г на каждой итерации симплекс-метода позволяет избежать зацикливания. Обоснование этого факта имеется, например, в книгах [5, 12]. А Итак, на следующей итерации описанная процедура повторяется для построенной опорной точки х' с базисом a? (j e J'). В первую очередь столбцы матрицы А выражаются через данные: ak= ^aj\'jk, fc=l n, A.20) j?J' а затем вычисляются параметры A'* = Ec^-Cfc' * = !.•••.*• о-21) Вообще говоря, определение коэффициентов \'jk требует решения соответствующих систем линейных уравнений, что является довольно трудоемкой операцией. Однако оказывается, что, зная величины \jk, Afc, параметры \'-к, А'к можно вычислить значительно проще.
250 Гл. 6. Численные методы условной оптимизации Перед формулировкой соответствующего результата отметим, что с учетом A.16) формулу A.20) можно переписать в виде : ]Г ai\'jk + a°\'sk, k=l,...,n. A.22) ак Теорема 1.8. При любом fc=l,...,n выполняются соотношения {Xjk - -r^. Хгк, если j G J\{r], Xrk Ars . A23) -—, если j = s; A'k = Ak-^Xrk. A.24) Доказательство. Подставляя выражение A.19) в A.8), получаем ак= Y, aJbjk + U'Y*-- J2 aj^I±) = j?A{r} " j€J\{r} = У a^(xjk-^^)+as^. A.25) i€J\{r} Поскольку векторы aj, j G A(r}> и а* как базис точки х' линейно независимы, то соответствующие коэффициенты в двух представлениях вектора ак (формулы A.22) и A.25)) должны совпадать. Отсюда следует A.23). Соотношение A.24) получается простой выкладкой, использующей A.9), A.16), A.21) и A.23). Его проверка предоставляется читателю. Л Т 4. Организация ручного счета по симплекс-методу. Как уже отмечалось, в настоящее время широко распространены стандартные программы симплекс-метода на ЭВМ. Но при решении малоразмерных задач ЛП вряд ли целесообразно прибегать к услугам машины. Полезно владеть навыками ручного счета по симплекс-методу, тем более что в вычислительном плане все его процедуры весьма просты. Опишем организацию этой работы. Основной конструкцией является здесь так называемая симплекс- таблица Т, связанная с текущей опорной точкой х и данным ее базисом a-7 (j е J). Эта таблица представляет собой матрицу размера (ra-f 1) х (п+ 1) (табл. 1). Над столбцами таблицы выписываются буквенные обозначения о1, ..., an, b столбцов матрицы А и вектора правых частей ограничений задачи A.1), а с левой стороны таблицы — обозначения aJ, j е J, столбцов матрицы А, образующих базис, и обозначение А. На указанные места таблицы заносятся численные значения параметров Xjk, Xj, Ak при j G J, к = 1, ..., п. Напомним,
§ L Симплекс-метод решения задач линейного программирования 251 Таблица 1 ап Ь Xj\ Ari Ai Xjk Xrk Ak Ajs 1 Ars 1 Д, Ajn Arn An Xj (c, x) что параметры A.^ (j e J) представляют собой коэффициенты разложения вектора ak по базису о? (j е J) (см. A.8)). Параметры Xj (j e G J) можно рассматривать как коэффициенты разложения вектора b по тому же базису: Ъ = J^ o?xj. Параметры Д^ определены в A.9). В правом нижнем углу таблицы проставляется значение целевой функции задачи в данной точке х, т.е. (с, х) = ^2 CjXj. Из дальнейшего будет ясно, почему (с, х) удобно заносить именно сюда. Затем проводится анализ симплекс-таблицы с тем, чтобы выяснить, какое из условий I—III выполняется. Если выполняется условие I (Ak ^ 0 при всех к ? J) или условие II (As > О, Xjs ^ 0 при некотором s?J и всех j G J), то в соответствии с теоремами 1.5, 1.6 расчеты заканчиваются. Пусть выполняется условие III, т. е. As > 0, Xjs > О при некоторых s ? J и j e J. Если таких s несколько, то, в соответствии с замечанием 1 к теореме 1.7, выбирается, например, минимальный из них. Столбец as должен быть введен в базис. Далее, по формуле A.14) вычисляется а и выбирается, например, минимальный индекс г, удовлетворяющий A.15) (если возникло зацикливание, то следует использовать более трудоемкое лексикографическое правило выбора г из замечания 2 к теореме 1.7). Столбец аг должен быть выведен из базиса. Ведущий элемент АГ5 в таблице Т выделяется. Затем по формулам A.12), A.13), A.23), A.24) осуществляется переход к новой симплекс-таблице Т", соответствующей опорной точке х' с базисом a?, j e J' = (A(r}) u U {s} (табл. 2). При этом в таблице Т" слева вместо «аг» ставится «as», а остальные буквенные обозначения остаются неизменными. Полезно отметить, что, с учетом A.15), формулы A.12), A.13) можно записать в виде , ^хг, если jeJ\{r}, если S'y (с, xf) = (с, х)
252 Гл. 6. Численные методы условной оптимизации Таблица 2 Ь Xji Asl А'. \jk Xsk д; 0 1 0 Xjn К x> < {c,x') Если сопоставить эти формулы с формулами A.23), A.24), то становится понятно, что переход к таблице V сводится к следующим элементарным операциям со строками таблицы Т: 1) для получения строки (А^, ..., A^n, х^) таблицы V при j e Е J\{r} из строки (Aji, ..., Xjn, Xj) таблицы Т вычитается ее строка (Агь ..., Агп, хг), умноженная на коэффициент Xjs/Xrs\ 2) для получения строки (А^, ..., A^n, x's) таблицы V строка (Агь ..., Агп, хг) таблицы Г делится на коэффициент АГ5; 3) для получения строки (А\, ..., Д^, (с, х')) таблицы V (в полной аналогии с 1)) из строки (Дь ..., Дп, (с, х)) таблицы Т вычитается ее строка (Агь ..., Агп, хг), умноженная на коэффициент As/Xrs. Назначение указанных коэффициентов состоит в том, чтобы в столбце под обозначением «а5» получить все нули, кроме единицы на 5-м месте, т.е. X'js = 0 при j € J\{r}t X'ss = 1 и Д'5 = 0. Затем проводится анализ таблицы Т". Если выполняется условие III, то осуществляется переход к следующей симплекс-таблице, и т. д. Рассмотрим численный пример решения задачи ЛП симплекс- методом. Пример 1.2. Пусть дана задача х\ — Х2 + 2а?з + 3x4 -* niin, 2xi 4- Х2 + хз = 1, х\ + 3x2 + Х4 = 2, XI ^ 0, Х2 ^ 0, Хз ^0, Х4 ^ 0. В данном случае п = 4, га = 2, с = A, -1, 2, 3), •'-(?)• °!=(з> *-(А> °4=(?> '-(!)• Эта задача невырождена, так как вектор Ь не коллинеарен ни одному из столбцов а1, ..., а4. Ясно, что х° = @, 0, 1, 2) — опорная точка допустимого множества задачи. Векторы а3, а4 образуют естественный базис в R2. Поэтому коэффициенты разложения по нему векторов а1
§ 1. Симплекс-метод решения задач линейного программирования 253 а3 а4 а1 I Аз1 = 21 А41 = 1 А, =6 а2 Аз2 = 1 Л42 = 3 А2 = 12 а3 Лзз=1 А43 = 0 Аз = 0 а4 Лз4 = 0 Л44 = 1 А4 = 0 Таблица 3 0 Ь Хз = 1 х4 = 2 (с, ж) = 8 и а2 совпадают с их координатами. С учетом этого начальная симплекс- таблица Т° выписывается без труда (табл. 3). Ясно, что здесь выполняется условие III, причем в качестве столбца, вводимого в базис, можно взять а1 или а2. Мы возьмем а1 (s = 1). Поскольку Х3/А31 = = 1/2, Х4/Л41 = 2, то в качестве столбца, выводимого из базиса, сле- Таблица 4 1 0 0 1/2 [5/2] 9 1/2 -1/2 -3 0 1 0 1/2 3/2 5 а А дует взять а3 (г = 3). Проделав вышеуказанные преобразования строк таблицы Т°, получаем таблицу Т1 (табл. 4). Здесь вновь выполняется условие III: Д2 = 9 > 0, Ai2 = 1/2 > > О, А42 = 5/2 > 0, причем xi/A12 = 1, Х4/А42 = 3/5. Таким образом, столбец а2 вводится в базис на место а4 E = 2, г = 4). Переходим к новой таблице Т2 (табл. 5). Здесь выполнено условие I. Таблица 5 а1 а2 а3 а4 6 а А Следовательно, х* = A/5, 3/5, 0, 0) — решение задачи. При этом (с, х*) = -2/5. А 5. Поиск начальной опорной точки. Описанная выше рекуррентная процедура симплекс-метода предполагает, что начальная опорная точка х° уже дана. В некоторых частных случаях отыскание х° не 1 0 0 0 1 0 3/5 -1/5 -6/5 -1/5 2/5 -18/5 1/5 3/5 -2/5 О В данной таблице для большей наглядности выписаны обозначения числовых параметров. В дальнейшем они опускаются. 9 А Г Сухарев и др.
254 Гл. 6. Численные методы условной оптимизации составляет труда (см. пример 1.2). Но, вообще говоря, поиск х°, т.е. какой-нибудь опорной точки множества X, по своей трудоемкости сопоставим с самой процедурой симплекс-метода. Рассмотрим один из общих методов построения начальной опорной точки — так называемый метод искусственного базиса. Без ограничения общности можно считать, что в задаче A.1) выполнено условие 6^0 (этого всегда можно добиться, умножая ограничения-равенства задачи на —1). Рассмотрим вспомогательную задачу ЛП га У^ щ —> min, U A26) Ах + и = Ь, х ^ 0, и ^ 0. Допустимое множество этой задачи можно записать в виде п т X = |(х, и) G Rn х Rm I ^TVxj + ]TVui = 6, x > 0, u^oV j-\ г=1 где е1, ..., em — единичные орты в Rm. Отсюда ясно, что @, Ь) — опорная точка множества X. Целевая функция задачи A.26) ограничена снизу (нулем) на X. Тогда, в силу теоремы 2.6 гл. 3, эта задача разрешима. Применяя к ней процедуру симплекс-метода с указанной начальной опорной точкой, найдем опорную точку (х*уи*) множества X, являющуюся решением. Пусть f* = J2ut ~~ значение задачи A.26). i=l Теорема 1.9. Если /* =0, то х* — опорная точка множества X. Если /* > 0, то задача A.1) не имеет допустимых точек: Х = 0. Доказательство. Если /* = 0, то и* = 0, причем (х*, 0) — опорная точка множества X. Но это эквивалентно тому, что х* — опорная точка множества X. Пусть /* > 0. Если существует х е X, то (х, 0) G X, что несовместимо с условием /* > 0. Л Таким образом, при решении задачи A.1) основная процедура симплекс-метода применяется дважды: сначала с ее помощью решается задача A.26), а затем — сама задача A.1). Существует так называемый М-метод, позволяющий объединить оба этих этапа [28, 61]. Подчеркнем, что метод искусственного базиса имеет и самостоятельное значение как метод поиска неотрицательного решения системы Ах = Ь, причем, согласно теореме 1.9, он позволяет определить, имеются ли вообще такие решения.
§ 1. Симплекс-метод решения задач линейного программирования 255 ЗАДАЧИ 1. Решить методом полного перебора опорных точек задачи: а) 4xi + 2x2 + хз + 3x4 —> min, Х\ — 2X2 + 4Хз — Х4 = 1, 2xi + 3X2 + ЯЗ + 2X4 = 3, xi ^ 0, ..., Х4 ^ 0; б) xi — 4x2 + 5хз —> max, 2xi-hx2+х3 < 4, xi-x2-x3^2, xi ^ 0, х2 ^ 0, хз ^ 0, предварительно приведя вторую задачу к канонической форме. 2. Рассмотрим задачу ЛП в основной форме (с, х) —> min, Ах ^ 6, где А — матрица размера га х п, Ь G Rm, с G Rn, причем rang A = п. Доказать, что если множество решений этой задачи непусто, то оно содержит хотя бы одну крайнюю точку ее допустимого множества. Указание. Воспользоваться задачей 30 § 2 гл. 3 и теоремой 1.4. 3. Рассмотрим задачу /(х) —> min, х G X, где X — замкнутое выпуклое множество, не содержащее прямых, / — вогнутая функция на X. Доказать, что если множество решений этой задачи непусто, то оно содержит хотя бы одну крайнюю точку множества X (см. [46, с. 358]). 4. Найти решение задачи min(xi — Х2, 3xi +жг) ""* m*n' — 1 ^ хз < 1, 0 ^ хг < 5. 5. Определить, какое из условий I, И, III выполняется для указанных опорных точек в следующих задачах ЛП: а) xi — 2x2 + #3 —> min, х\ - х2 + 2х3 = 0, xi + х2 + 5х3 = 2, xi > 0, х2^0, х3^0; х = A,1,0); б) xi + х2 + хз —> max, -2xi + х2 + х3 = 4, xi - 2х2 + х3 = 1, х\^0, х2 ^ 0, х3^0; х — @,1,3); в) xi — 2x2 — 4хз —> min, Xi — Х2 — Хз = 1, Xi + Х2 + Х3 = 3, zi^O, х2^0, х3^0; х = B, 1,0). 9*
256 Гл. 6. Численные методы условной оптимизации 6. Решить симплекс-методом следующие задачи ЛП, начав с указанной опорной точки: а) 3xi — #2 + 5хз + Х4 —> min, 4xi + ?2 + 4хз + Х4 = 5, 7xi + хч + 8хз + 2x4 = 9, xi ^0, ..., х4 ^0; х° = @, 1, 1, 0); б) xi + 2x2 + #з + 3x4 + ?5 —> шах, Xi + Х2 + 2X4 + Х5 = 5, Xi + Х2 + Хз + 3x4 + 2X5 = 9. я2+хз + 2х4 + Х5 = 6, хх 5*0, ...,х5^0; х° = @, 0, 1,2, 1). 7. Решить симплекс-методом следующие задачи ЛП, определяя начальную опорную точку методом искусственного базиса: а) 4xi — 2x2 — Зхз — Х4 —> min, х\ + x<i — хз + Х4 = 3, — 10xi + 14x2 + Ю#з + #4 = 24, xi ^ 0, ..., х4 ^ 0; б) xi — 5x2 — хз + Х4 —^ max, xi + 3x2 + Зхз + Х4 = 3, 2xi + Зхз — Х4 = 4, Xi ^ 0, .. ., Х4 ^ 0. 8. Решить симплекс-методом задачу xi + 3x2 + хз ~* min, xi + 4x2 + Зхз ^ 12, xi — 2x2 + #з ^ —4, xi ^ 0, х2 ^ 0, х3 ^ 0, приведя ее к канонической форме. 9. Решить задачу 2xi +6x2 —* max, xj + 2х2 ^ 2, xi + 4x2 ^ 3, xi — Х2 ^ —4, xi +7х2 ^1, х\ +х2 ^ 6, применив симплекс-метод к двойственной задаче. 10. Разработать численный метод поиска решения системы линейных неравенств Ах ^ 6. § 2. Метод проекции градиента Приступим теперь к изложению численных методов нелинейной оптимизации. В данном параграфе рассматривается метод проекции градиента для решения задачи /(x)-*min, xeX, B.1)
§ 2. Метод проекции градиента 257 где X — замкнутое выпуклое множество в Rn, / — дифференцируемая функция на X. Этот метод является модификацией на случай условных задач градиентного метода безусловной оптимизации (см. § 1 гл. 5). Нам потребуются некоторые вспомогательные сведения. 1. Свойства проекции точки на множество. Напомним, что проекцией точки а на множество X называется точка 7гх(а), ближайшая к а среди всех точек из X (см. определение 2.1 гл. 3). Иными словами, 7гх(а) является решением задачи проектирования ф) = \\х - а\\2 -> min, х е X. B.2) Лемма 2.1. Пусть X — замкнутое выпуклое множество в Rn. Тогда: 1) проекция тгх(о) любой точки a G Rn существует и единственна', 2) точка х является проекцией точки а на X (х = тгх(а)) в том и только том случае, если (х — а, х — х) ^ 0 при всех х Е Х\ B.3) 3) для любых точек а1, а2 Е Rn справедливо неравенство \Ыа1)-пх(а*)\\^\\а1-а2\\, B.4) т. е. оператор проектирования обладает свойством нерастяжения расстояний. Доказательство. 1) Функция <р сильно выпукла. Поэтому, в силу следствия теоремы 3.13 гл. 3, решение задачи B.2) существует и единственно. 2) Заметим, что <р'(х) = 2(х — а). В силу теоремы 1.2 гл. 4 получаем требуемый результат. 3) В силу утверждения 2) имеем (тгх(а1)-а,,7гх(а2)-тгх(а1))^0, (тгх(а2)-а2,7гх(а1)-7гх(а2))>0. Сложив эти неравенства, получим (тгх(о!) - а1 - тгх(а2) + а2, тгх(а2) - тгх(а1)) > О, что, в силу неравенства Коши-Буняковского, влечет B.4): IKx(a') - *х(а2)\\2 < Ы*2) - *х(А «2 - «2> < ^\\жх(а2)-жх(а1)\\\\а2-а\А Заметим, что существование проекции и необходимость условия B.3) были доказаны в лемме 2.1 гл. 3. Однако здесь они получены проще, как следствия более общих результатов (ср. также лемму 2.1 с задачей 1 § 2 гл. 3).
258 Гл. 6. Численные методы условной оптимизации На языке проекций необходимое и достаточное условие оптимальности в выпуклой задаче можно выразить следующим образом. Лемма 2.2. Пусть множество X выпукло и замкнуто, функция f выпукла на X и дифференцируема в точке х* G X. Тогда х* является решением задачи B.1) в том и только том случае, если х*=тгх(х*-а/'(:г*)) B.5) при произвольном а > 0. Доказательство. Согласно утверждению 2) леммы 2.1, равенство B.5) эквивалентно условию (х* - (х* - af'(x*)), х - х*) ^ 0 при всех х е X, т. е. условию (/'(я*), х — х*) ^ 0 при всех х е X. Остается вспомнить теорему 1.2 гл. 4. Л 2. Описание метода и его сходимость. В методе проекции градиента в качестве очередной точки приближения к решению задачи B.1) выбирается проекция на множество X той точки, которая получается по градиентному методу: xfc+1 = тгх(хк - akf'(xk)), k = 0, 1, 2, ... B.6) Коэффициенты ak ^ 0 здесь можно выбирать на основе тех же правил, о которых шла речь в § 2 гл. 1 и в гл. 5. Докажем теорему о сходимости варианта метода с априорным выбором Qfc. Теорема 2.1. Пусть множество X выпукло и замкнуто, функция f сильно выпукла с константой в > 0 и дифференцируема на X, причем ее градиент удовлетворяет условию Липшица: \\f'(x)-f'(x')\\^M\\x-x% x,x'€X. B.7) Тогда последовательность {хк}, генерируемая по правилу B.6), где х° — произвольная точка из X, а ак = a ? @, 40/М2), сходится к решению х* задачи B.1) со скоростью геометрической прогрессии: \\xk+l-x*\\^q\\xk-x*l где q = л/1 - 40а + а2М2 е @, 1). Доказательство. Введем отображение А: X —> X вида Ах = 7гх(ж — af'(x)).
§ 2. Метод проекции градиента 259 Покажем, что оно является сжимающим. Используя утверждение 3) леммы 2.1, теорему 3.8 гл. 3 и условие B.7), имеем \\Ах - Ах'\\2 = ||тгх(х - af'(x)) - тгх(х' - а/'(х'))Ц2 ^ < ||(* - х') - a(f(x) - f'(x'))\\2 = \\х - А2 + a2\\f'(x) - f'(x')\\2- - 2а(/'(я) - f'(x'), х - х') ^ A + а2М2 - 40а) \\х - х'||2, откуда непосредственно следует, что 1 - 40а + а2М2 > 0 и ||Лх-Лх'|| ^q\\x'-x\\. B.8) Так как а < 40/М2, то q е @, 1) и, следовательно, отображение А — сжимающее. Кроме того, X, как и любое замкнутое множество в Rn, является полным метрическим пространством. Тогда, в силу принципа сжимающих отображений, для процесса B.6), который записывается в виде xfc+1 = Axk, имеем xk —» х* при к —> оо, где i*Gl- неподвижная точка отображения А , т. е. ж* = Ах*. По лемме 2.2 точка х* является решением задачи B.1). Наконец, из неравенства B.8) следует требуемая оценка: ||a;fc+1 - ж* || = \\Ахк - Ах* || < q\\xk - х*||. Л 3. Обсуждение метода. В описанном методе на каждой к-й итерации требуется производить операцию проектирования точки на множество X, т.е. решать задачу %вида B.2) при а = хк - akf'(xk). В некоторых случаях удается указать явный вид проекции, например, когда X — шар, координатный параллелепипед, неотрицательный ортант, гиперплоскость, полупространство, аффинное множество (см. задачу 1). Если X — полиэдр, то задача B.2) является задачей квадратичного программирования, для решения которой существуют достаточно эффективные численные методы (см. § 4). Однако если X задается с помощью более или менее сложной системы равенств и неравенств, то метод проекции градиента практически неприменим, поскольку тогда задача B.2) оказывается ничуть не проще исходной. В таких случаях иногда прибегают к модификациям данного метода, в которых проектирование на множество X заменяют проектированием на полиэдры (линейные многообразия), аппроксимирующие X в окрестности очередной точки [35]. Касаясь теоремы 2.1, отметим, что в конкретных задачах константы М, в обычно неизвестны, что затрудняет отыскание а. Тогда используют другие правила выбора длины шага, например, различные модификации метода наискорейшего спуска с приближенным решением задач одномерной минимизации по а или правило дробления шага [12]. В заключение отметим, что, используя идею проектирования, можно модифицировать применительно к задачам условной оптимизации и другие методы безусловной оптимизации, в том числе метод Ньютона и метод сопряженных направлений, изложенные в §§ 2, 3 гл. 5.
260 Гл. 6. Численные методы условной оптимизации ЗАДАЧИ 1. Доказать следующие утверждения для произвольной точки а G GRn: а) если X = {х G Rn | ||х - х°|| ^ г} — шар, то ^(a) = x° + jR^j|r; б) если X = {х G Rn | b3 ^ Xj ^ с,, j = 1, ..., n} — координатный параллелепипед, то ( bj, если aj < bj\ (irx(a>))j = \ ai> если bj ^ aj ^ Cj\ \cj, если aj > Cj\ в) если X = R+ = {x G Rn | Xj ^ 0; j = 1, ..., n} — неотрицательный ортант, то *x(a) = (max@f ai), ..., max@, ап))\ г) если X = НР(з = {x G Rn | (p, x) = /3} — гиперплоскость (р ф 0), то тгх(а)=а + (/?-(р, a» (p ф 0), то IMP' д) если X = H+p = {xeRn |.(p, x) ^ /?} — полупространство тгх(а) = a + max @; /3 — (p, a)) P . IIpF e) если X = {x G Rn | Ax = b} — аффинное множество, причем строки матрицы А линейно независимы, то пх(а) = а - АТ(ААТ)~1(Аа - Ь), где Ат — транспонированная матрица. 2. Дать геометрическую иллюстрацию метода проекции градиента на примере задачи х\ — 2х\ — Х2 —* min, 2х\ + 3x1 < 6' х\ > °> х2 ^ 0. § 3. Метод условного градиента В этом параграфе рассматривается метод условного градиента, называемый также методом линейной аппроксимации (линеаризации) целевой функции. 1. Описание метода и его сходимость. Рассмотрим задачу /(х) —> min, x G X, C.1)
§ 3. Метод условного градиента 261 где X — выпуклый компакт в Rn, / - дифференцируемая функция наХ. Метод условного градиента укладывается в общую схему методов спуска, описанную в п. 4 §2 гл. 1. Приближения к решению задачи C.1) строятся здесь по рекуррентной формуле a*+l=xk + akhk, к = О, 1, 2, ..., C.2) где hk e U(xk, /) П V(xk, X), т.е. вектор hk одновременно указывает направление убывания функции / и возможное направление относительно X в точке хк е X (см. п. 1 § 1 гл. 4), а число а^ > О выбирается из условий , ,, , , ,, /0**+1) </(**). ^+1е1 C.3) Для выбора hk на А;-м шаге решается задача минимизации на X линейной аппроксимации функции / в точке хк, т.е. функции fk(x) = f(xk) + {f'(xk),x-xk). Отбрасывая константу f(xk)t эту задачу можно записать в виде (f'(xk), x-xk)^ min, х е X. C.4) Пусть хк — решение данной задачи, а щ = (Г(хк),а*-хк) C.5) — ее значение. Заметим, что решение хк существует, поскольку X — компакт. Учитывая, что хк G X, имеем щ ^ (Г(хк), хк - хк) = 0. Поэтому возможны только два случая: щ =0 или щ < 0. Если щ = 0, то {f{xk), х-хк)^щ = 0 при всех х € X, т.е. точка хк удовлетворяет необходимому условию оптимальности, указанному в теореме 1.2 гл. 4; иными словами, хк — стационарная точка задачи C.1). В этом случае работа алгоритма заканчивается; точку хк необходимо исследовать на оптимальность вне рамок данного метода. Если же функция / выпукла, то никакого исследования не требуется: хк — решение задачи C.1) в силу той же теоремы 1.2 гл. 4. Пусть теперь щ < 0. Тогда в формуле C.2) полагаем hk = xk-xk. C.6) Этот вектор принято называть условным антиградиентом функции / в точке хк. Заметим, что hk G U(xk,f), поскольку (f'(xk), hr) — щ < <0 (лемма 2.1 гл. 1). Кроме того, используя выпуклость X, для любого а е [0, 1] имеем хк + ahk = axk + (\- a)xk G X, C.7) т.е. hk eV{xk, X).
262 Гл. 6. Численные методы условной оптимизации Коэффициент од в C.2) выбирается из полуинтервала @, 1] с той целью, чтобы при а = од заведомо выполнялось C.7), т.е. второе условие в C.3). В этих рамках выбор конкретного од может осуществляться по различным правилам; например, из условия одномерной минимизации: априорно: ак = arg min f(x + aft); О < ак ^ 1, ^ од = оо, У^а| < оо fc=0 к=0 (скажем, од = -—-] l)\ по правилу дробления шага до выполнения впервые неравенства вида B.24) гл. 1. Остановимся подробнее на варианте метода с выбором ак по правилу дробления. В данном случае, с учетом C.5), C.6), формулу B.24) гл. 1 можно переписать в виде f{xk + ahk)^f(xk)+?ar)k. C.8) Лемма 2.2 гл. 1 конкретизируется здесь следующим образом. Лемма 3.1. Пусть X — выпуклый компакт, функция f дифференцируема на X, а ее градиент удовлетворяет условию Липшица'. ||/'(:г)-/'(*'IКМ||*-*'||, х,х'еХ. C.9) Если щ < 0, то для любого г Е (О, 1) неравенство C.8) выполнено при °<^-^-^мШ- C10) Теперь в рамках условий леммы 3.1 будем дробить шаг с коэффициентом A Е (О, 1) (скажем, А = 1/2), начиная с 1, т.е. последовательно проверять выполнение неравенства C.8) при а= 1, а = А, а = А2 и т. д. Пусть это неравенство впервые выполняется при а = \гк. Тогда в формуле C.2) полагаем од = Хгк. Таким образом, f(xk+l) = f(xk+akhk) ^ f(xk)+eakrjk. C.11) При этом возможны два случая: ik = 0 или ik ^ 1. Если ik = О, то од = 1. Если же ik ^ 1, то по выбору ik число a = Хгк~1 = од/А еще не удовлетворяет C.8), а тогда оно не может удовлетворять C.10). Следовательно, выполняется одно из двух: либо од = 1, либо 1 > од > -АA - б) щщ2- C.12) ') В этом случае выполнение первого неравенства в C.3) не гарантируется.
§ 3. Метод условного градиента 263 Опишем свойства предельных точек последовательности {хк}, генерируемой по правилу C.2), где х° — произвольная точка из X, hk определяется по формуле C.6), а ак удовлетворяет условиям C.11), C.12). При этом считаем, что процесс генерирования продолжается бесконечно, т. е. rjk < 0 при всех к = О, 1, ... Теорема 3.1. Пусть X — выпуклый компакт, f — дифференцируемая функция на X, причем ее градиент удовлетворяет условию Липшица C.9). Тогда любая предельная точка х* последовательности {хк} является стационарной в задаче C.1), т. е. (f'(x*),x-x*)^0 при всех хеХ. C.13) Если при этом функция f выпукла на X, то х* — решение задачи C.1) и \uaf(xk) = r, C.14) к—юо где /* = min/(:r) — значение задачи C.1). Доказательство. Суммируя неравенства C.11) при к = О, 1, ..., т - 1, получаем гп-\ /(*т)-/(*°Ке?а*Чь fc=0 оо где /(х™) ^ /*, так как хт Е X. Следовательно, ряд ^ акщ (сОСТаВ- ленный из отрицательных чисел) сходится и, стало быть, lim(akr]k)=0. C.15) к—юо Поскольку X — компакт, то существует константа С > О такая, что \\hk\\ = \\хк - хк\\ < С при всех к = 0, 1, ... Отсюда и из C.12) следует что либо ак = \, либо ак > -A(l +^)tt^2- C16) Из C.15), C.16) без труда выводится, что lim 4fc=0. C.17) fc—>оо Пусть теперь х* — предельная точка последовательности {хк}, т.е. существует подпоследовательность {xki}, сходящаяся к х*. По определению щ имеем (f'(xk*), х - хк>) ^ щ при всех х е X, C.18) где lim f'(xkj) = f'(x*) в силу условия C.9). Переходя в C.18) к г—юо пределу при j —> оо и учитывая C.17), получаем C.13).
264 Гл. 6. Численные методы условной оптимизации Если при этом функция / выпукла на X, то х* — решение задачи C.1) в силу теоремы 1.2 гл. 4. Таким образом, можем записать lim /(**') = /(**) = /*• C.19) J—К» Поскольку последовательность {f(xk)} монотонно убывает, то она имеет предел. В силу C.19) им является /*, т. е. справедливо C.14). Л Замечание. Можно показать, что в условиях теоремы 3.1 (включая предположение о выпуклости /) справедлива оценка /(**) " Г < С/к, C.20) где С > 0 — некоторая константа [45]. 2. Обсуждение метода. Понятно, что применение описанного метода оправдано лишь в том случае, когда задача вида C.4), т.е. задача минимизации линейной функции на X, решается достаточно просто. Если X — шар или параллелепипед, то такую задачу удается решить в явном виде (см. задачу 1). Если X — полиэдр, то C.4) — задача ЛП, для решения которой можно воспользоваться, например, симплекс-методом. Но если множество X имеет сложную структуру, то задача C.4) столь же трудна, как и исходная. Кроме того, как можно показать, оценка C.20) является точной на классе задач минимизации выпуклых функций на полиэдрах, т.е. скорость сходимости метода, вообще говоря, невелика, причем именно в тех случаях, когда его применение оправдано. Тем не менее рассмотренный метод представляет определенный интерес, поскольку в наиболее простом виде выражает идею линейной аппроксимации (линеаризации) функций, играющую важную роль в численных методах оптимизации. В § 8 мы познакомимся с численным методом, в котором эта идея будет применена не только к целевой функции, но и к функциям, задающим ограничения задачи (см. также п. 4. § 4). Кроме того, идея линейной аппроксимации естественным образом приводит к идее квадратичной аппроксимации. Так, известен метод, в котором последовательность {хк} генерируется по тем же формулам C.2), C.6), где, однако, хк определяется как решение задачи (f'(xk), х - хк) + I (f"(xk)(x - хк), х-хк)^ min, x € X, C.21) т.е. как точка минимума на X квадратичной аппроксимации функции / в точке хк [45]. При этом, как и ранее, коэффициенты од можно выбирать по-разному. Данный метод выступает как модификация на случай условных задач метода Ньютона с регулировкой шага (см. § 2 гл. 5). Он наиболее эффективен в случае, когда функция / выпукла, а множество X является полиэдром. Тогда C.21) — задача квадратичного программирования, для отыскания решений которой существуют достаточно эффективные методы (см. § 4). Вместе с тем отметим,
§ 4. Конечный метод решения задач квадратичного программирования 265 что и для невыпуклых задач с линейными ограничениями методы ньютоновского типа (т.е. методы, основанные на квадратичной аппроксимации целевой функции) часто оказываются предпочтительнее других. Детальное изложение этих методов можно найти в [59]. ЗАДАЧИ 1. Рассмотрим задачу (с, х) —> min, х е X. Доказать следующие утверждения: а) если X — {х € Rn | ||х - х°|| ^ г} — шар и с ф О, то решением задачи является _ с б) если X = {х е Rn | dj; < Xj ^ bj, j = 1, ..., n} — координатный параллелепипед, то решением задачи служит любая точка х такая, что - _ \av если сз > О» * ~ \bj, если Cj < О, и Xj — любое число из отрезка [a,jy bj], если Cj = 0. 2. Найти условный антиградиент h функции f(x) = 2 - - х\ — - х\ о о в точке х = B, 3) на множестве X = {х ? R2 | Х\ + Х2 ^ 6, Xj — Х2 ^ 1, 2xi + #2 ^ 6, -xi-x2>-4, X! ^ 1, х2^0}. Найти длину шага а вдоль h из условия одномерной минимизации и по правилу дробления шага. § 4. Конечный метод решения задач квадратичного программирования Задачи квадратичного программирования, как и задачи ЛП, часто возникают на практике и вместе с тем используются в качестве вспомогательных при численном решении задач более сложного вида. Благодаря специфике задач квадратичного программирования для них также удается строить конечные (конечношаговые) методы решения [7, 22, 24, 39, 44, 45, 57]. В данном параграфе излагается один такой метод применительно к задаче квадратичного программирования вида /0*0 = 2 (Сх> х) + (d> x) ~* ™п» /4 1) (ai9 x) <Ь*. г= 1, ..., m, где С — положительно определенная симметрическая матрица размера п х n, d, ai, ..., am — заданные векторы из Rn, bi, ..., 6m — заданные числа.
266 Гл. 6. Численные методы условной оптимизации Сразу отметим, что метод можно модифицировать на случай, когда матрица С лишь неотрицательно определена. Однако рассмотрение этого общего случая привело бы к дополнительным деталям, затеняющим основные идеи метода. Примем следующие обозначения: X = {хе Rn | (<ь,х) ^biy i= 1, ..., га} — допустимое множество задачи D.1); I(x) = {i | (a,i, x) =bi, 1 ^ i ^ m} — множество номеров активных ограничений в точке х е X. Всюду в параграфе (кроме заключительного замечания 5)) под / понимается целевая функция задачи D.1), т.е. квадратичная сильно выпуклая функция. 1. Задача квадратичного программирования с ограничениями- равенствами. На итерациях излагаемого в пп. 2-4 метода решения задачи D.1) придется решать более простые задачи квадратичного программирования вида fix) —> min, I \ h -сг D'2) {ait x) =bi, г е i, где / — некоторое подмножество множества {1,...,т} такое, что указанная система уравнений совместна. Поскольку мы собираемся построить конечный метод решения задачи D.1), то задачу D.2) необходимо решать также конечным методом. Начнем с обсуждения этой проблемы. Прежде всего, если / = 0, то D.2) — задача безусловной минимизации функции /. Решение такой задачи отыскивается за конечное число шагов, например, методом сопряженных градиентов (§ 3 гл. 5). Если / ф 0, то задачу D.2) можно различными способами свести к безусловной минимизации некоторой квадратичной выпуклой функции с последующим применением того же метода сопряженных градиентов. Один из способов (двойственный метод) состоит в следующем. Согласно формуле D.30) гл. 4, задача, двойственная к D.2), может быть сформулирована как задача безусловной минимизации квадратичной выпуклой функции Ф(У) = -4>{V) = \ {C-\d + yAj)% d + yAfi + (у, 6), где у — вектор с координатами yi (г G /), а Л/ — матрица со строками a,i (г е /). Если решение у = (yjie/ этой двойственной задачи уже найдено, то, в силу теоремы 4.6 гл. 4, решение х задачи D.2) находится по формуле й = -C~{(d + yAj) = -С-1 {d + ^y^y
§ 4. Конечный метод решения задач квадратичного программирования 267 Отметим, что для реализации данного метода при различных /с{1,...,т} необходимо однажды вычислить обратную матрицу С-1. Это можно проделать, например, следующим образом. Каждый j-й столбец матрицы С представляет собой решение системы Сх = ej или же решение задачи - (Сх, х) — (е?, х) —> min, x ? Rn, где ei — j-й единичный орт в Rn. Решая эту задачу при j = 1, ..., п все тем же методом сопряженных градиентов, получаем С. Если С — Е — единичная матрица, то проблема обращения матрицы отсутствует. В этом случае предложенный метод становится особенно эффективным. Коротко опишем другой способ сведения задачи D.2) к безусловной минимизации квадратичной выпуклой функции (метод проектирования) [45]. Пусть 7г(у) — проекция точки у е Rn на допустимое множество задачи D.2) (см. задачу 1, е) § 2). Нетрудно проверить, что функция F(y) = f(n(y)) является квадратичной и выпуклой на Rn. При этом очевидно, что если у* — точка минимума функции F на Rn, то х* = ir(y*) — решение задачи D.2). Таким образом, дело сводится к минимизации F на Rn. Наконец, возможен и такой способ (метод базисного представления) [59]. Пусть х° — какая-либо допустимая точка задачи D.2), г В — матрица размера п х s, столбцы которой образуют базис в линейном подпространстве, являющемся множеством решений однородной системы (а;, х) = О, i e I. Тогда допустимые точки задачи D.2) суть точки вида х — х° -f By, где у е R5. Теперь мы приходим к задаче минимизации квадратичной выпуклой функции Ф(у) = f(x° + By) на R5. Если у* — найденное ее решение, то х* — х° + By* — решение задачи D.2). Разумеется, в последних двух методах возникают свои проблемы, связанные с вычислением проекции п(у) или базисной матрицы В. Мы не будем на этом останавливаться. Отметим только, что эти методы, в отличие от двойственного метода, применимы и в том случае, когда матрица С в функции / лишь неотрицательно определена, т.е. / просто выпукла. 2. Принципиальная схема метода решения задачи D.1). Далее окажется полезным следующее понятие. Определение 4.1. Допустимая точка задачи D.1) называется особой, если она является решением задачи вида D.2) при некотором J С {1, ..., га} (случай 1 = 0 здесь не исключается).
268 Гл. 6. Численные методы условной оптимизации Приводимая ниже теорема обосновывает принципиальную возможность отыскания решения задачи D.1) за конечное число шагов. Теорема 4.1. Число особых точек задачи D.1) конечно, причем ее решение является особой точкой. Доказательство. В силу сильной выпуклости функции / любая задача вида D.2) имеет не более одного решения, а число таких задач конечно. Отсюда следует, что число особых точек задачи D.1) не более чем конечно. Далее, пусть х* — решение задачи D.1). Тогда, очевидно, х* — локальное решение задачи /(х) -> min, (сц, х) < bit ie I(x*)y и, стало быть, глобальное ее решение (теорема 1.8 гл. 1). Ясно, что х* служит также решением задачи f(x) —> min, (oi, x)=bit iel = I(x*), имеющей более узкое допустимое множество. Следовательно, х* — особая точка задачи D.1). Л Итак, оказывается, что для отыскания решения задачи D.1) достаточно перебрать все ее особые точки; та из них, в которой функция / принимает наименьшее значение, и является искомым решением. Чтобы найти все особые точки задачи D.1), необходимо для каждого множества индексов /с {1, ..., га} такого, что система (а», х) =bi (i e I) совместна, отыскать решение х задачи D.2), а затем проверить условие х е X. Разумеется, такой метод полного перебора особых точек, как и метод полного перебора опорных точек для отыскания решения задачи ЛП (см. § 1), не имеет практической ценности, поскольку требует огромного объема вычислений уже при небольших значениях п и га. Однако, как и ранее, здесь представляется естественной попытка заменить полный перебор упорядоченным. Это соображение и составляет основную идею предлагаемого метода. Метод состоит из двух рекуррентно повторяемых алгоритмов. Первый алгоритм по данной допустимой точке задачи D.1) строит особую точку, в которой функция / принимает меньшее или равное значение. Второй алгоритм, работающий вслед за первым, определяет, является ли данная особая точка решением, и если нет, то находит допустимую точку с меньшим значением функции /. После этого происходит возвращение к первому алгоритму. В результате строится последовательность особых точек, на которой функция / строго убывает, и поэтому возврат к однажды полученным особым точкам уже невозможен. Поскольку число особых точек конечно, то рано или поздно процесс генерирования этой последовательности оборвется, т.е.
§ 4. Конечный метод решения задач квадратичного программирования 269 встретится случай, когда текущая особая точка является решением задачи D.1). Принципиальная схема метода описана. Теперь изложим упомянутые два алгоритма (как будет показано, второй алгоритм применим не только к особой, но и к любой допустимой точке задачи D.1)). 3. Алгоритм перехода от данной допустимой точки к особой точке с меньшим или равным значением целевой функции. Пусть дана точка х° е X. Требуется найти особую точку х, для которой f(x) < f(x°). С этой целью построим последовательности точек ж* e е X (к = 1, 2, ...) и хк е Rn (к = 0, 1, ...) по следующему правилу. Если при данном к = 0, 1, ... точка хк е X уже построена, то в качестве хк возьмем решение задачи f(x) —> min, (<Ь,х) = Ь, iel(xk). D*3) Найти хк можно за конечное число шагов одним из методов п. 1. f(xk)^f(x% D.4) Заметим, что т к поскольку хк — допустимая точка задачи D.3). Возможны два случая: хк е X или хк <? X. Если хк е X, то по определению, хк — особая точка задачи D.1). Пусть теперь хк ? X. Тогда построим точку ХШ = хк + Хк(хк - хк)у D.5) где Хк = тах{А ^ 0 | хк + Х(хк - хк) е X}, D.6) причем, очевидно, А* < 1. Иными словами, xfc+1 выбирается как точка отрезка [хк, х% лежащая в X и наиболее удаленная от хк. Отметим, что для Хк без труда указывается явная формула, позволяющая вычислить этот параметр за конечное число операций (см. задачу 1). Из D.4), D.5) с учетом выпуклости / следует f(xk+l) ^ Xkf(xk) + A - Xk)f(xk) < f(xk). D.7) Кроме того, имеем 1(хк) С J(rrfc+1), I(xk) ф /(ж*+1). D.8) В самом деле, если г е 1(хк), то (ait хк) = 6» = (сц, хк)\ тогда (а», хк+х) = bi, т.е. i e /(xfc+1). Следовательно, первое соотношение в D.8) справедливо. Допустим, что 1{хк) = I(xk+l) и, значит, (oi, xk + Xk(xk-xk))<bi при всех г ? 1(хк). Тогда, очевидно, найдется число е > 0 такое, что (ailxk + (Xk+e)(xk-xk))^bi
270 Гл. 6. Численные методы условной оптимизации при всех i = 1, ..., т (при г ? 1{хк) это соотношение выполняется как равенство). Мы пришли к противоречию с определением А&. Итак, второе соотношение в D.8) также справедливо, т.е. множество 1(хк+{) содержит по крайней мере на один элемент больше, чем множество 1(хк). Отсюда ясно, что рано или поздно случай хк ? X станет невозможным и встретится случай хк е X, т. е. на какой-то fc-й итерации будет получена особая точка х — хк. При этом, в силу D.4), D.7), имеем /C0 ^ /(**) < f(xk~l) ^ ... ^ /(х°) (см. задачу 2). 4. Алгоритм перехода от данной допустимой точки к допустимой точке с меньшим значением целевой функции. Пусть дана точка х е X; например, х — особая точка, полученная в результате работы предыдущего алгоритма. Требуется либо убедиться, что х — решение задачи D.1), либо найти точку х° G X, при которой f(x°) < < f(x). Заметим, что в принципиальном плане для этого достаточно проделать одну итерацию метода условного градиента из § 3. Ниже мы лишь модифицируем эту итерацию на случай, когда вместо задачи C.4) в соответствующей ее записи взята более простая задача вида (fix), h) —> min, _ D.9) (а^, h) ^ 0, i G I(x), —l^hj^l, j = 1, ..., n. (Здесь не учитываются ограничения задачи D.1), выполняющиеся в точке х как строгие неравенства.) Пусть h — решение данной задачи ЛП, найденное, например, симплекс-методом, а rj = (f'(x), h) — ее значение. Поскольку h = 0 — допустимая точка задачи D.9), то возможны только два случая: г\ = О или rj < 0. Если rj = 0, то х — решение исходной задачи D.1). В самом деле, п для любого х G X {хфх) положим h = (х — х)/7, где 7 = Z) \хэ ~ з=\ — Xj\ > 0. Тогда, очевидно, \hj\ ^ 1 при всех j = 1, ..., п. Кроме того, для любого г ? 1(х) имеем (a;, h) = - (di, х - х) = - ((аь х) - fc;) ^ 0. Таким образом, h — допустимая точка задачи D.9). Тогда, используя теорему 3.7 гл. 3 и определение rj, получаем /(*) " № > (/'(г), х - х) = 7</'(*), h) > iff = 0. Следовательно, х — решение задачи D.9). Пусть теперь rj < 0. Тогда h — направление убывания функции / в точке х (лемма 2.1 гл. 1); иными словами, для всех достаточно малых а > 0 выполняется неравенство f(x + ah)<f(x). D.10)
§ 4. Конечный метод решения задач квадратичного программирования 271 При этом для всех i G I(x) иаH имеем (aiy х + ah) = bi + a(ait h) < 6;. Для всех i ? I(x) и достаточно малых а справедливо то же неравенство _ (ait x + ah) ^ bif D.11) так как (а*, х) < 6*. Конкретное число а > О, удовлетворяющее неравенствам D.10), D.11), можно отыскать за конечное число шагов, например, по правилу дробления, т.е. путем последовательной проверки этих неравенств приа = \к, где к = 0, 1, ..., а А — фиксированное число из @, 1), до первого момента их выполнения (см. задачу 3). После того, как такое число а найдено, строится точка х° = х + + ah. В соответствии с предыдущим имеем f(x°)<f(x) и х°еХ. Теперь к данной точке х° применяется алгоритм п. 3, затем к полученной особой точке — только что описанный алгоритм и т.д. Объединяя сказанное в пп. 2-4, получаем метод, позволяющий отыскать решение задачи D.1) за конечное число шагов. Этот метод начинает работу с какой-нибудь точки х° е X. Чтобы найти такую точку или убедиться, что X = 0, достаточно решить следующую задачу ЛП относительно х и и = (щ, ..., nm): га 2_]Щ —* min, г=1 (а;, х) ^ bi + щ, г = 1, ..., т, Щ ^ 0, г = 1, ..., т. Пусть (х°, и0) — решение этой задачи, всегда существующее в силу теоремы 2.6 гл. 3. Тогда, очевидно, справедливы следующие выводы (ср. с теоремой 1.9): если и0 = 0, то х° G Х\ если и0 ф 0, то X = 0. 5. Некоторые модификации метода. Сделаем ряд замечаний, касающихся описанного метода. 1) На практике используется более экономная схема алгоритма п. 3 [45]. Суть ее состоит в следующем. Выше мы видели, что в случае, когда решение вспомогательной задачи D.3) выходит за допустимое множество X исходной задачи D.1), приходится производить операцию «возвращения» (формула D.5)). Ясно, однако, что если эта вспомогательная задача решается каким-нибудь конкретным методом, причем последовательность приближений к ее решению начинается из точки хк и монотонно не возрастает по функционалу, то эту последовательность можно прервать уже после первого момента выхода из X и именно к полученной точке применить операцию «возвращения». Важно лишь, что эта точка удовлетворяет неравенству вида D.4). Здесь можно использовать метод сопряженных градиентов, примененный к функции F((y) = /Gг(г/)) с начальной точкой у = аг или к
272 Гл. 6. Численные методы условной оптимизации функции Ф(у) — f(xk + By) с начальной точкой у = 0 (см. п. 1). Не вдаваясь в детали, отметим, что как раз такая модификация позволяет распространить метод на задачу квадратичного программирования с произвольной неотрицательно определенной матрицей С. 2) В алгоритме п. 4 нет необходимости всякий раз вычислять точное решение задачи D.9). Если в процессе построения приближений обнаруживается вектор ft, удовлетворяющий системе </'(*),*)< О, (ai9 ft) ^ 0, i e 1{х), то можно положить ft = ft и по тому же правилу дробления построить нужную точку х°. 3) Описанный метод существенно упрощается для задачи квадратичного программирования вида f(x) —> min, Jn • i DЛ2) Х{ ^ 0, г = 1, ..., п, где в качестве ограничений присутствуют только условия неотрицательности переменных. В сопоставлении с D.1) здесь т = п, ai = —е\ bi = 0. При этом X = R?, 1{х) = {г \ х{ = 0, 1 < i ^ п}. Задача D.3) в данном случае выглядит следующим образом: f(x) -> min, Xi=0, iel(xk). Фактически — это задача безусловной минимизации функции / по переменным, номера которых не входят в 1(хк). Для отыскания ее решения можно непосредственно применять метод сопряженных градиентов. Задача D.9) предстает здесь в виде (fix), ft) -> min, -1 </ц< 1, i$I(x). Ее решением является вектор ft e Rn с координатами Г — min @, signс*), если i G I(x), \ —signer если i ^ I(x), где Ci = ¦?*- (x) — г-я координата вектора f'(x). При этом {f'(x),h}= ? ™n@.ci)- J2 N- i€l(x) i$I(x) D.13)
§ 4. Конечный метод решения задач квадратичного программирования 273 Ясно, что условие (/'(х), ft) = 0 равносильно следующим двум: Ci ^ 0, г е 1(х), «=0, i?I(x) <4Л4> (ср. с формулой A.7) гл. 4). Таким образом, в рассматриваемом случае начальный этап алгоритма п. 4 сводится к анализу условий D.14). Если эти условия выполняются, то х — решение задачи D.12). Если же они нарушаются, то вектор ft вида D.13) указывает направление, вдоль которого можно сдвинуться из х, оставаясь в рамках X и уменьшая значение функции /. Отметим, что, в соответствии с замечанием 2), вектор ft, обладающий данным свойством, можно строить чуть проще. Если в процессе последовательной проверки условий D.14) обнаруживается, что Ci < 0 при некотором г € 1(х), то в качестве ft можно взять ft = е\ Если же с» ^ 0 при некотором г ^ 1(х), то подходит ft = = -signer -e\ 4) Предыдущее замечание в соединении с теоремой 4.6 гл. 4 позволяет предложить следующий метод решения задачи D.1). Сначала отыскивается описанным выше упрощенным методом решение двойственной задачи, т.е. задачи D.30) гл. 4 при Q = R+, а затем по формуле D.31) гл. 4 вычисляется решение прямой задачи D.1). Здесь необходимо лишь отметить, что фигурирующая в двойственной задаче матрица АС~1АТ будет положительно определена только в том случае, если rangA = ra, т.е. векторы а\, ..., ат линейно независимы. В общем случае эта матрица лишь неотрицательно определена, и поэтому для отыскания решения двойственной задачи необходимо уже использовать модифицированный метод, о котором было коротко упомянуто в конце замечания 1). 5) Отметим, наконец, что приведенные в пп. 2-4 построения, а также соображения, высказанные в замечаниях 1)-3), на самом деле проходят для произвольной сильно выпуклой дифференцируемой функции /. Более того, отыскивать решение вспомогательной задачи вида D.2) можно по-прежнему методом сопряженных градиентов, примененным к функции F(y) = /Gг(г/)) или функции Ф(у) = f(x° + By) из п. 1. Однако сходимость данного метода за конечное число шагов уже не гарантируется. Таким образом, описанный в параграфе метод решения задачи D.1) распространяется на случай любой указанной функции /, но при этом он теряет свойство конечности. ЗАДАЧИ 1. Показать, что параметр А^ из D.6) вычисляется по следующей формуле: л . bi — (ai, x ) \k = rnm- ± 7^, г {ai, XK — XK) где минимум берется по всем г ? 1{хк), для которых (aiy хк — хк) > 0.
274 Гл. 6. Численные методы условной оптимизации 2. Показать, что в рамках алгоритма п. 3 окончательное соотношение f(x) ^ f(x°) можно уточнить следующим образом: либо х = х°, либо f(x) < f(x°). 3. Учитывая, что функция / квадратична, указать в явном виде какой-нибудь параметр а > О, удовлетворяющий неравенствам D.10) и D.11). 4. Привести геометрическую интерпретацию описанного метода решения задачи D.1). § 5. Метод штрафных функций 1. Введение. До сих пор в этой главе мы рассматривали методы решения экстремальных задач, рассчитанные на случай, когда допустимое множество X имеет достаточно простую структуру, например, задается линейными ограничениями. Учет общих нелинейных ограничений представляет собой более сложную проблему. Здесь трудно предложить какие-либо универсальные подходы. Один из возможных подходов, основанный на учете ограничений путем изменения целевой функции исходной задачи оптимизации, дает так называемый метод штрафных функций, или метод штрафов [12, 15, 20, 21, 28, 35, 39, 45, 55, 56]. Этот метод имеет важное значение не только как эффективная вычислительная схема для отыскания решений задач математического программирования. Он служит также полезным инструментом при теоретическом анализе задач оптимизации; с его помощью можно получать необходимые условия оптимальности, результаты теории двойственности и т. д. К методу штрафных функций обычно относят целую группу методов, связанных с параметризацией исходной экстремальной задачи. Один из самых распространенных подходов основан на введении функций штрафа, зависящих от штрафного параметра и обладающих следующими свойствами: — на большей части допустимого множества задачи математического программирования эти функции близки к нулю; — каждая из них достаточно быстро возрастает либо при приближении изнутри к границе допустимого множества (внутренние, или барьерные, штрафные функции), либо при выходе за его пределы (внешние штрафные функции); — степень близости штрафа к нулю и скорость его возрастания зависят от значения штрафного параметра и увеличиваются с ростом параметра. Функция штрафа добавляется к целевой функции, после чего решается параметрическое семейство получившихся задач без функциональных ограничений. В рамках соответствующих предположений последовательность решений этих задач при неограниченном возрастании штрафного параметра сходится к решению исходной задачи. В этом и состоит основная идея метода штрафов.
§ 5. Метод штрафных функций 275 При изложении данного метода мы возьмем за основу задачу математического программирования с ограничениями-неравенствами: /(*)-min. Qi(x) ^ О, г = 1, ..., га, x € P. Пусть, как обычно, X — допустимое множество задачи E.1). Всюду далее без особых оговорок считаем, что X непусто. Под решениями задачи E.1) будем понимать глобальные решения. Из контекста будет понятно, что некоторые из результатов параграфа справедливы и для локальных решений этой задачи. 2. Сходимость метода штрафных функций. Докажем сначала вспомогательное утверждение о перестановочности операций взятия инфимума и операции предельного перехода. Лемма 5.1. Пусть на множестве Р заданы функции Ф, Ф^ (к = = 1,2,...), причем Фк(х) ^ Ф(х) (к = 1, 2, ...) и lim Фк(х) = Ф{х) г-» к—+оо при всех х ? Р. Тогда lim inf Фк(х) = inf lim Фк(х) = inf Ф(х). E.2) fc—юо х?Р xGP к—юо xGP Я/71/ э/псш если inf Ф(х) > —оо, то любая последовательность то- чек xk Е Р (к = 1, 2, ...), удовлетворяющая условию Фк(хк) ^ ЫФк(х)+ек, к= 1, 2, ..., ге?Р где ?fc ^ 0, lim ек = 0, является минимизирующей для функции Ф к—юо на множестве Р, т. е. lim Ф^) = inf Ф(х). к—юо х?Р Доказательство. Ограничимся доказательством в случае inf Ф(х) > —оо. Для любого е > 0 существуют точка х° € Р н номер N такие, что Ф(х°) < inf Ф(х) + §, Фк(х°) - Ф(х°) < е- при всех к^ N. Отсюда 0 ^ inf Фк(х) - inf Ф(х) ^ Фк(х°) - inf Ф(х) < х?Р хеР х?Р < Фк(х°) - Ф(х°) + \ < е и, следовательно, справедливо E.2). Для точек указанной последовательности {хк} имеем inf Ф(х) < Ф(хк) < Фк(хк) < inf Фк(х) + ек, х?Р х€Р
276 Гл. 6. Численные методы условной оптимизации где 6k —> 0 при к —> оо. В силу E.2) это означает, что {хк} является минимизирующей последовательностью для функции Ф на множестве Р. Л Заметим, что требование Фк(х) ^ Ф(х), х е Р, в лемме 5.1 является существенным (задача 1). Конкретизируя сказанное в п. 1, под штрафными функциями будем понимать далее функции (р, которые определены на Р х R+ и удовлетворяют следующим условиям: <р(х9 С) ^ О при всех х е Р, С ^ 0; E.3) (р(х, С) -»0 при С -> оо E.4) для всех х из множества Хо, всюду плотного в Ху т.е. Xq = X; <р(х, С) —> оо при С —> оо E.5) равномерно на множестве P\Us(X) при любом 5 > 0, где Щ(Х) = = {у | inf ||з/ — #|| < 5} — 5-окрестность множества X. х?Х Положим Ф(х,С) = /(х) + ф,С). Теорема 5.1. Пусть в задаче E.1) множество Р — компакт, функции /, д\, ..., дт непрерывны на Р. ?с/ш функция (р удовлетворяет условиям E.3)-E.5), то min fix) = lim inf Ф(х, С). х€Х V ' С—оохбР ?ош последовательность точек xk ? P (fc = 1, 2, ...) такова, что Ф(*\С*)< inf Ф(х,С*) + е*. x€P где Ck —> оо, ?* —* 0, ?fc ^ 0 (fc = 1, 2, ...), mo любая предельная точка этой последовательности является решением задачи E.1). Доказательство. В силу непрерывности / на компакте Р, для любого е > О найдется S > О такое, что inf /(x)^ inf/(*)-* E.6) xet/*(X)np хех Для достаточно больших С имеем inf Ф(х, С) ^ inf Ф(х, С) = х€Х0 х€Р inf Ф(х, С) ^ inf f(x) ^ inf /(ж) - е, xeus(X)nP v ' xeus(X)nPJK ' xexJX ' где равенство следует из E.4), E.5), предпоследнее неравенство — из E.3), а последнее совпадает с E.6).
§ 5. Метод штрафных функций 277 Из этой цепочки соотношений получаем Iim inf Ф(я, С) ^ Urn inf Ф(ж, С) ^ С—юо х€Хо С—юо х?Р ^ Um inf Ф(х, С) ^ inf /(ж). E.7) В силу E.3), E.4) для любого х е Хо имеем Ф(х, Ck) ^ /(я) и Ф(я, Ск) —> /(х) при С^ —> оо. Поэтому применима лемма 5.1, по которой lim inf Ф(х, Ск) = inf f(x) = min/(x). C7fc—юо х€Л.о х?Ло х?Х Отсюда, используя E.7), получаем, что предел lim inf Ф(х, С) су- С—юох^Р ществует и равен min/(x). х?Х Рассмотрим теперь последовательность {хк} из формулировки теоремы. Пусть х* е Р — ее предельная точка, существующая, поскольку Р — компакт. Не ограничивая общности, будем считать, что lim xk = х*. В силу непрерывности / и уже доказанного имеем fc—юо fix*) = lim f(xk) < Ш Ф(хк, Ск) < к—юо к—юо < lim fc—юо inf Ф(х, Ск) + е* 1 = min f(x). х?Р J xGA Далее, ясно, что х* ? X, ибо в противном случае из замкнутости X и свойства E.5) штрафной функции (р следовало бы, что lim Ф(?*\ Ск) = +оо. Итак, показано, что х* — допустимая точка fc—юо задачи E.1), в которой f(x*) < min/(а;), т.е. х* — решение задачи E.1). Л xGX Теорема 5.1 составляет основу метода штрафных функций, понимаемого как способ перехода от задачи с функциональными ограничениями к параметрическому семейству задач оптимизации функций Ф(х, С) на множестве Р. Обычно предполагается, что множество Р имеет простую структуру, так что учет ограничения х е Р не вызывает больших затруднений. В случае, когда Р — параллелепипед или шар в Rn, при соответствующем выборе функции штрафа задачи минимизации функций Ф на Р удается решать методами §§ 2, 3 данной главы или их модификациями. Предположение теоремы 5.1 о компактности Р не является слишком ограничительным: обычно из содержательных соображений можно указать параллелепипед или шар достаточно большого размера, в котором заведомо содержится хотя бы одно решение исходной задачи; тогда дополнительное ограничение не помешает отыскать некоторое решение этой задачи. Приведем примеры штрафных функций: m ??1(х>С)=С^[тах@>^(х))]9) q > 0; E.8)
278 Гл. 6. Численные методы условной оптимизации <р2(х, С) f 0, если gi(x) < О, г=1,...,га, Cexpl max г=1 1 9i(x) J в противном случае; (рз(х, С) = ^2 ехр{Сд%(х)У, г=1 щ(х, С) = I 1 v^ — 2^р- '(ж), если &(ж)<0, i=l m, i=l +oo в противном случае. Функции <?>ь (р2 являются так называемыми внешними штрафными функциями. Они удовлетворяют условиям E.3)-E.5), когда д\, ..., дш непрерывны на компакте Р; при этом в E.4) берется Xq = X. Функция <^з представляет собой функцию штрафа, если, кроме того, множество Х0 = {х е Р | д{(х) < О, i=l m} непусто и его замыкание совпадает с X. В этом же случае и^- штрафная функция. Она служит примером внутренней, или барьерной, функции штрафа. Особенно часто используется степенная штрафная функция E.8). При q — 1 она имеет вид «срезки» т , ?,(*, С) = С ?>(*)] + , [<?]+= П 9<0. При q = 2 функцию E.8) будем называть квадратичной штрафной функцией. Очевидно, функция щ при q ^ 1 может оказаться недиф- ференцируемой; однако если q> 1 и #1, ..., #m непрерывно дифференцируемы на Р, то <р\ будет также непрерывно дифференцируемой (задача 2). Отметим, что свойства функции (pq исследовались ранее в примерах 3.2, 4.1 гл. 3. Теорема 5.1 допускает многочисленные уточнения и обобщения [12, 15, 56]. Так, наложив достаточно естественные дополнительные условия, удается установить, что предельные точки последовательности локальных минимумов функций Ф(ж, Ск) на множестве Р являются локальными решениями задачи E.1), а также обосновать сходимость метода штрафов без предположения об ограниченности множества Р. На практике часто используют логарифмическую функцию 4>ь(х, С) /ft "C^l M-Pi(x)], если gfa) < О, i=1 i= 1, ...,m, I +oo в противном случае. E.9)
§ 5. Метод штрафных функций 279 Эта функция барьерного типа может и не удовлетворять условию неотрицательности E.3), однако теорема 5.1 для функции ip$ тоже справедлива (задача 3). По аналогии с функциями штрафа, приведенными выше, можно построить штрафные функции для задачи математического программирования, содержащей и ограничения-равенства (задача 5). 3. Условие ^-регулярности. Важную роль в дальнейшем изложении метода штрафов будет играть следующее понятие. Определение 5.1. Будем говорить, что задача E.1) (точнее, система ее ограничений) является р-регулярной, если существует число /3 > О такое, что справедливо неравенство max gi(x) ^ Рр(х, X) E.10) г=1,..., т при всех х е Р\Х, где р(х, X) = inf \\х — у\\ — расстояние от точки х до множества X. уе Геометрически условие р-регулярности означает, что функция g(x) = max gi(x) растет не медленнее, чем некоторая линейная г=\, ...,т | Р I {хфр(х,Х)) -4-L- 6- X Рис. 5.1. Геометрический смысл р-регулярности функция от расстояния до множества X (рис. 5.1). При этом, подчеркнем, функции д\, ..., дт не обязаны быть выпуклыми. Далее мы увидим, что условие ^-регулярности является условием регулярности в смысле §§ 2, 3 гл. 4 (см. теоремы 5.3 и 5.4). А сейчас покажем, что частными случаями условия ^-регулярности служат условия 1) и 2) теоремы 2.3 гл. 4, взятые в менее общем виде. Лемма 5.2. Пусть задача E.1) удовлетворяет хотя бы одному из следующих условий'. 1) множество Р — выпуклый компакт, функции g\,...,gm непрерывны и выпуклы на Р, существует точка х € Р такая, что gi(x) < 0 (г = 1, ..., т) (условие Слейтера);
280 Гл. 6. Численные методы условной оптимизации 2) Р = Rn, функции д\, ..., #m линейны, т. е. д{(х) = (ait x) -bi (г = 1, ..., га). Тогда задача E.1) р-регулярна. Доказательство. 1) Пусть число ^ > 0 таково, что gi(x) ^ ^ —j (г = 1, ..., га). Рассмотрим произвольную точку х е Р\Х. Тогда #(х) = max gi(x) > 0. Поскольку функция g непрерывна, то г=\, ...,т на отрезке, соединяющем х и х, найдется точка у, в которой у(у) = = 0. Учитывая, что у = ах + A — а)х, где а = Цу - Щ/\\х — х||, и ||х - х|| = ||х - 2/|| + \\у - х||, получаем, в силу выпуклости ф™' о^ккЬ(*>+ё^>. Х-Х х-х т.е. Поэтому где /3 = y/d, d ¦ g{x)>l\\x-y\\>Cp(x,X), sup ||x' -x"|| < +oo — диаметр компакта Р. x',x"?P Таким образом, неравенство E.10) справедливо. Ў 2) Для любого набора индексов /с{1 ш} такого, что векторы а* (г е I) линейно независимы, введем множество и функцию Л/ = {А = (Xi)i?l | А > О, |]Г А^|| = l} i?l /3A, А) = max/a;, S^ А^-аЛ, A G Л/. j?i Допустим, что /?(/, A0) ^ 0 при некотором A0 G Л/. Тогда (a*. Z)^iai/^^ (« G /). Умножая эти неравенства на А° (г Е J) и = 0, что противоречит определению Л/. складывая, получим Следовательно, /?(/, А) > 0 при всех А е Л/. Ясно, что множество Л/ замкнуто. Покажем, что оно ограничено. Допустим, что существует последовательность точек \к ? Л/ (fc = = 1,2,...) такая, что lim ||Afc|| = оо. Рассмотрим последовательность к—+оо точек рк = Afc/||Afc|| (fc = 1, 2, ...). Поскольку \\рк\\ = 1, то без огра- я, что || > ] Л~а;|| = 1 (/с = I, z, ... J, очевидно, имеем || )^ /-Ч-а^п = О, J2 Х^аА\ = 1 (fc = 1, 2, ...), очевидно, имеем ]Г) /z°a;
§ 5. Метод штрафных функций 281 т. е. Yj $аг = 0» гАе не все А4? (* ? Л равны нулю. Таким образом, некоторая нетривиальная линейная комбинация векторов а» (г е I) обращается в нуль, что противоречит их линейной независимости. Итак, Л/ — замкнутое ограниченное множество, т.е. компакт, а непрерывная функция CA, А) положительна на Л/. Поэтому ее минимальное значение на Л/ также положительно, т. е. CA) = = min CA, А) > 0. Число различных подмножеств / множест- ва {1, ..., га} конечно, следовательно, C = min/?(/) > 0. Теперь рассмотрим задачу проектирования произвольной точки х ^ X на множество X: F(x') = \\x-x'\\^mm, (oi, x')-bi^0, %= 1, ..., га. Согласно лемме 2.1 ее решение существует. Обозначим его через х*, тогда ||х — х*|| = р(х, X). По теореме 2.3 гл. 4 найдутся числа А* ^ 0, г е I(x*) = {i | (di, x*) — bi = 0}, такие, что t€i(x*) Опираясь на теорему 1.6 гл. 3, выберем такое подмножество / с Дх*), что векторы di (i € I) линейно независимы и х — х >г~"> ч при некоторых А» ^ 0 (г е /). Ясно, что А = (А;)*е/ ? Л/. Тогда, учитывая определение числа /?, получаем оценку E.10): шах ((а;, х) — bi) ^ max ((а;, х) — bi) = max (а^, х — х*) = t=l,...,m г?/ i?/ = ||x-x*||max/ai, ^А,-аЛ ^ ||х - х*||/? = /?/>(х, X). А ^ 4. Оценки скорости сходимости метода штрафных функций. В этом пункте мы рассмотрим степенные штрафные функции вида E.8) при q ^ 1. Эти функции порождают семейство задач Фя(х, С) -> min, xeP, E.11) где Ф,(х, С) = f(x) + CJ2 [шах@, 9i(x))]«. Пусть, как обычно, /*=inf/(x)
282 Гл. 6. Численные методы условной оптимизации — значение задачи E.1), а Ф*д(С)=ЫрФч(х,С) — значение задачи E.11). Если в задаче E.1) множество Р — компакт, а функции /, 9\> • • •, 9т непрерывны на Р, то lim Ф;(С) = Г С—юо * в силу теоремы 5.1. Эта теорема, однако, ничего не говорит о скорости сходимости Ф*(С) к /*, т. е. о значениях штрафного параметра С, обеспечивающих заданную точность приближения Ф*(С) к /*. В рамках теоремы 5.1 скорость сходимости может быть сколь угодно низкой (см. задачу 7). В следующей теореме устанавливаются оценки скорости сходимости (а попутно — и сама сходимость) Ф*(С) к /* при несколько иных предположениях о задаче E.1), чем ранее; при этом оказывается, что случай q=\ — особый: значения Ф*(С) и /* совпадают уже для конечных С. Теорема 5.2. Пусть задача E.1) р-регулярна, а ее целевая функция f удовлетворяет на множестве Р условию Липшица. Тогда: 1) если q > 1, то при любом С > О справедливы оценки о<г-ф;(с)<я,A) , E.12) / 1 \ 1/(9-0 Кх*,Х)<В2A) , E.13) где В\ и B<l — некоторые константы, не зависящие от С, а я* — произвольное решение задачи E.11); 2) если q = 1, то при любом достаточно большом С > 0 значения, а также множества решений задач E.1) и E.11) совпадают. Доказательство. Прежде всего отметим, что Фя(х, С) = f(x) при всех х е X. Поэтому, во-первых, Ф*(С) = mf Ф,(*, С) < ш?Ф,(х, С) = mf /(*) = /* E.14) и, во-вторых, /* ^ Фч(х, С) при всех х е X. E.15) Рассмотрим х е Р\Х. Так как / удовлетворяет условию Липшица, то для любого х G X имеем /(*) ^ f{x) - М\\х - х\\ >Г~ М\\х - 3?||, где М > 0 — константа Липшица. Отсюда /(*) ^ Г - Мр(х, X).
§ 5. Метод штрафных функций 283 В то же время, используя р-регулярность, можем записать: т СТ [max@, 9i(x))]q > С[ max 9i(x)]q > С/3*[р(х, X)}". ^—' г=1,...,т г=1 Складывая указанные неравенства, получаем: Фч(х, С)>Г- Мр(х, X) + С(Р\р(х, X))*. Таким образом, для любого х е Р\Х справедлива оценка r-9q(x,C)^z(p), E.16) где z(p) = Мр- Срчрч, р = р(х, X). Допустим, что q > 1 (рис. 5.2). Тогда для любого х е Р\Х путем непосредственного вычисления максимума z(p) в E.16) выводим / 1 \ 1/(9-1) f*-Фq(xtC)<mьxz(p)=Bl^ где q)\q/32) max.z(p) р>0 Отсюда и из E.14), E.15) следует оценка E.12). Далее, пусть х* — решение задачи E.11). Рассмотрим ненулевое решение уравнения z(p) = О, т. е. число р = вАс) ГДе ,// п Во Рис. 5.2. График функции z(p) при q> i Заметим, что z(p) < О при всех р>~р. Стало быть, если предположить, что р(х*,Х)>~р, то в силу E.16) получим: /* < Фч(х*у С) = Ф*(С). Но это противоречит E.14). Таким образом, р(х*, X) ^~р, т.е. справедлива оценка E.13). Допустим теперь, что q = 1. Тогда при всех достаточно больших С имеем z(p) = р(М — С/3) < О, если р > 0; иными словами, /* < Фх(х, С) при всех х е Р\Х. E.17) Отсюда и из E.15) следует, что /* < Ф*{С) и, значит, /* = Ф*(С) в силу E.14). Таким образом, значения задач E.1) и E.11) совпадают. Покажем, что множества их решений также совпадают. Пусть х* — решение задачи E.1), т.е. х*е!и /(я*) = /*• Тогда ф,(х*, с) = /(**) = /* = ф;(с), т.е. ж* — решение задачи E.11). Пусть, напротив, х* — решение задачи E.11). Если допустить, что х* G Р\Х, то, согласно E.17), получим
284 Гл. 6. Численные методы условной оптимизации /*< <&i(:r*, С) — Ф*(С), а это противоречит ранее сказанному. Таким образом, х* е X. При этом /(гг*) = Ф1(х*,С) = ФГ(С) = Л т.е. х* — решение задачи E.1). Л Итак, если выполняются условия данной теоремы, то любой численный метод отыскания значения или решения задачи E.11) при q = = 1 и достаточно большом С одновременно служит методом отыскания значения или решения задачи E.1). В частности, это распространяется на задачу E.1) с липшицевой целевой функцией и ограничениями, удовлетворяющими условиям 1) или 2) леммы 5.2. Напомним, однако, что функция Ф\(х, С), вообще говоря, недифференцируема, даже если функции /, </ь ...,Gт были дифференцируемы. Это создает свои вычислительные трудности, связанные помимо прочего с тем, что существующие методы недифференцируемой оптимизации обычно обладают невысокой скоростью сходимости (см. п. 5 § 1 гл. 5). Поэтому в практических алгоритмах метода штрафов часто отдается предпочтение задаче E.11) при q>l, когда функция Фя(х, С) дифференцируема, если дифференцируемы функции /, pi, ...,<7m. В этом случае для отыскания решений данной задачи можно привлекать более эффективные методы с использованием производных. Отметим, что утверждение 2) теоремы 5.2 справедливо также для любой задачи вида E.1), имеющей вектор Куна-Таккера (см. задачу 8). Кроме того, возможен и такой способ снятия функциональных ограничений в задаче выпуклого программирования, удовлетворяющей условию Слейтера, при котором целевая функция получающейся задачи не будет содержать неопределенных параметров типа С в E.11) (см. задачу 10). 5. Метод штрафных функций и условия оптимальности. Метод штрафов является инструментом для получения условий оптимальности в задачах с ограничениями. Схема рассуждений выглядит следующим образом. Сначала исходная задача оптимизации методом штрафов сводится к параметрическому семейству задач, уже исследованных ранее. Затем предельным переходом по параметру штрафа в условиях оптимальности для задач этого семейства выводятся и условия оптимальности в исходной задаче. Ниже мы продемонстрируем эту схему рассуждений на примере доказательства (в чуть более ограничительных предположениях) принципа Лагранжа, т.е. теоремы 2.1 гл. 4, для задачи вида E.1). В рамках данной схемы будет также показано, что условие р-регулярности является условием регулярности в смысле § 2 гл. 4, т.е. обеспечивает в формулировке принципа Лагранжа случай %* = *• Предварительно напомним, что если функция F дифференцируема на выпуклом множестве Р и х* — точка минимума F на Р, то, по теореме 1.2 гл. 4, (F'(x*), х - х*) ^ 0 при всех х е Р. E.18)
§ 5. Метод штрафных функций 285 Теорема 5.3. Пусть в задаче E.1) множество Р выпукло и замкнуто, функции ftg\,...,gm непрерывно дифференцируемы на Р. Если х* — глобальное решение задачи E.1), то существуют числа 2/q ^ 0, у\^0, ..., ym ^ О, не равные нулю одновременно и такие, что (уо№)+ ?>,№*)- х-х*}>0 при всех хеР, E.19) *~' Vi9i(x*)=0, i = \ го. E.20) Если при этом задача E.1) р-регулярна, то можно считать У*о = 1. Доказательство. Положим f(x) = f(x) + ||ж — х*\\2 и Р = = Р П С/, где С/ = Ue(x*) — шар произвольного радиуса ? > 0 с центром в х*. Тогда, очевидно, х* — единственная точка глобального минимума функции / на множестве X = {х е Р \ gi{x) ^ 0, г = = 1, ..., т}. Рассмотрим семейство функций га Ф(х, С) = f(x) + C^2 [max @, </;(*))]2, С > 0. Пусть х*(С) — точка глобального минимума функции Ф(ху С) на компакте Р. По теореме 5.1 имеем х*(С) —> х* при С —> оо. Заметим, что ' га Ф'(х*(С), С) = f'(x*(C)) + ^,1*(СМ(х*(С)), где /ii(C) = 2Cmax@>ft(x*(C)))> причем /'(ж*(С)) = f'(c*{C)). Поэтому условие E.18) предстает здесь в виде га (/V(C)) + 5>(CM**(C9). * - **(С)} ^ о г=1 при всех х е Р, а значит, и при всех х е Р. Запишем это неравенство чуть иначе: га (lto(C)/V(C)) + 5>(СМ**(С-)), х - **(С)} ^ 0 E.21) г=1 при всех х Е Р, где 7П га 3/о(С) = l/(l +5>(С)), у<(С) = i*c/{\ + $>(С)). г=1 г=1 г = 1, ..., т. га Поскольку у* (С) ^ 0, г = 0, 1, ..., га, ? 2/г(С) = 1, то выбираем по- г=0 следовательность Ck —> оо так, чтобы yi{Ck) —>у* (г = 0, 1, ..., т). 10 А. Г. Сухарев и др.
286 Гл. 6. Численные методы условной оптимизации т При этом yl > 0 (г = 1, ..., га) и ? у* = 1, т. е. числа у?, у*, ..., у^ не равны нулю одновременно. Поскольку х*(С) —» х* при С —> оо, а градиенты /', д[, ..., р^ непрерывны, то из неравенства E.21) следует E.19). Далее, если gi(x*) < 0, то для достаточно больших Ck имеем /^i(Cfc) = 0, т.е. Уг(С^)=0 и, стало быть, у*=0. Таким образом, справедливо E.20). Пусть теперь выполнено условие р-регулярности E.10). Так как функции f, д\, ..., дт непрерывно дифференцируемы на Р, то они удовлетворяют условию Липшица на компакте Р с Р с некоторой константой М. Тогда, во-первых, gi(x*(C)) ^ gi(x) + М\\х*{С) -х\\ ^ ^ М ||ж*(С) - ж|| (г = 1, ..., га) при всех х G X и, значит, дг(х*(С)) < М/>(х*(С), X), i=l т, а, во-вторых, в силу теоремы 6.2 (для q = 2), ^(С^ХКБС-1, где В — некоторая константа, не зависящая от С. Следовательно, т т $^(С) = 2С]Г max@, 9г(х*(С))) < 2СтМр(х*(С), X) < 2гаМВ, г=1 г=1 т т. е. сумма ]Г) /Xi(C) ограничена при С —> оо. Поэтому у? > 0 и, значит, г=1 можно считать у? = 1. Л Следующая теорема, выступающая как дополнение к теореме 3.2 гл. 4, показывает, что условие р-регулярности (вместе с некоторыми дополнительными предположениями) обеспечивает существование вектора Куна-Таккера в задаче выпуклого программирования. Теорема 5.4. Пусть в задаче E.1) множество Р выпукло, функции /, pi, ..., дш выпуклы на открытом выпуклом множестве U, содержащем Р, причем эта задача р-регулярна и имеет решение, а функция f удовлетворяет на Р условию Липшица. Тогда вектор Куна-Таккера задачи E.1) существует. Доказательство. Пусть х* — решение задачи E.1). Тогда, согласно теореме 5.2, при q = 1 и достаточно большом С > 0 точка х* является решением задачи E.11). Заметим, что функция Ф\(х, С) выпукла по х на U. Следовательно, по теореме 1.3 гл. 4, существует вектор a G дФ\(х, С) такой, что (а, х - х*) ^ 0 при всех х € Р. E.22) Используя теорему 4.8 гл. 3 и пример 4.1 гл. 3, получаем т а = ао + С\_" \сц, г=1
§ 5. Метод штрафных функций 287 где а0 € df(x*)y а» € dgi(x*)y 0 < А» < 1, t = 1, ..., m, причем А» = О, если #г(я*) < 0. Положим у* = САг (г = 1, ..., ш). Тогда, вновь применяя теорему 4.8, получим, что а — субградиент функции Лагранжа m L(x, у*) = /(ж) + ^2 у*дг{х) в точке ж*, т.е. a е dL(x*, у*). Поэтому, г=1 в силу той же теоремы 1.3 гл. 4, из E.22) следует, что ж* — точка минимума функции L(x, у*) на Р. Кроме того, согласно сказанному ранее, имеем y*gi(x*) = 0 при всех i = 1, ..., m. Следовательно, /* = /(ж*) = L{x\ у*) = тшЦх, t/*), т.е. у* — вектор Куна-Таккера задачи E.1). Л Таким образом, на /р-регулярную задачу E.1), удовлетворяющую и другим предположениям теоремы 5.4, полностью распространяется теория, изложенная в § 3 гл. 4. В частности, для этой задачи справедлива теорема Куна-Таккера о необходимых и достаточных условиях оптимальности во всех указанных ранее формах. Приведем пример, показывающий, что условие /9-регулярности не вкладывается ни в одно из условий 1)-4) теоремы 3.2 гл. 4. Пример 5.1. Рассмотрим задачу /(ж) = ж -> min, g(x) = х2 + е\\х\\ ^ О, ж е Р = R. E.23) (ж,ж24-в|ж|) Если е = 0, то ни условие /^-регулярности, ни условия 1)-4) указанной теоремы здесь не выполняется; при этом задача E.23) не имеет вектора Куна-Таккера. Если ? > О, то условия 1)-4) по-прежнему не выполнены, однако условие /^-регулярности уже имеет место и, значит, вектор Куна-Таккера задачи E.23) существует в силу теоремы 5.4. Суть дела здесь в том, что при переходе от? = 0к?>0 устраняется касание графика функции g оси ж в точке О, составляющей (при любом ? ^ 0) допустимое множество задачи E.23) (рис. 5.3). Отметим, что идея этого примера без труда переносится на общий случай (см. задачу 12). 6. Простейший алгоритм метода штрафов. Теоремы о сходимости метода штрафов и оценках скорости сходимости наводят на мысль, что для получения приближенного решения исходной задачи E.1) нужно лишь определить минимум на множестве Р функции Ф(ж, С), где С — достаточно большое число. Поскольку мы предполагаем простую структуру множества Р (Р = Rn, P — параллелепипед или шар), для этого можно использовать какой-либо метод безусловной 10* Рис. 5.3. «Регулярное исправление» ограничений задачи выпуклого программирования
288 Гл. 6. Численные методы условной оптимизации оптимизации (например, градиентный метод), дополнив его при необходимости операцией проектирования на Р (как в методе проекции градиента из § 2). При этом в выпуклом случае в качестве начальной точки для минимизации Ф итеративным методом можно взять произвольную точку х° € Р. Однако с вычислительной точки зрения такой подход не является рациональным. Чтобы пояснить сказанное, рассмотрим следующий пример. Пример 5.2. Пусть требуется найти решение задачи f(x) = х\ + х\ —> min, g(x) = xx + 1 ^ 0, х е Р = R2. В качестве функции штрафа выберем квадратичную функцию, т. е. функцию вида E.8) при q — 2; в результате придем к функции Ф(ж, С) = х\ + х\ + С [max @, xi + I)]2, которую и требуется минимизировать на R2. Заметим, однако, следующее. Линии уровня La(C) функции Ф, т.е. множества точек х е R2, где Ф(х, С) = а, суть La(C) = <х е R2 | х\ + х\ = а, если х\ < -1, и (Х1 + ТТсJ + (тшJ = ТТс--(ГТсу' если Х1>~1У При любом С > 0 имеем оценку Ф*(С) = min Ф(х, С) = min(x? + C[max(Oy xx + I)]2) = т^ < 1. xGR2 a;|€R 1 + С Если а G (Ф*(С), 1), то х\ ^ — 1 и линия уровня Ьа(С) представляет собой эллипс, заданный уравнением ( + С \2 л- ( Х2 V - а - С \Х{^ \ + с) ^{у/т+с) 1 + с (i + cJ- При этом отношение меньшей полуоси эллипса Ьа(С) к большей равно 1/\/1 +С и стремится к нулю при С —> оо, т.е. линии уровня минимизируемой функции Ф(х, С) неограниченно вытягиваются. Отмеченный эффект — увеличение «овражности» линий уровня функции Ф(х, С) с ростом параметра штрафа С, — как правило, имеет место и в общем случае. Поэтому если для минимизации функции Ф при больших С использовать градиентный метод, то, как отмечалось в п. 4 § 1 гл. 5, приближение к минимуму будет носить слишком замедленный зигзагообразный характер. Методы, основанные на квадратичной аппроксимации целевой функции Ф (§§ 2, 3 гл. 5), существенно меньше зависят от вытянутости линий уровня функций Ф(#, С). Однако при практической реализации методов ньютоновского типа, а
§ 5. Метод штрафных функций 289 также вычислений сопряженных направлений при больших С наблюдается эффект неустойчивости, связанный с плохой обусловленностью матриц, аппроксимирующих Ф^. Таким образом, если минимизацию функции Ф(х, С) при большом С начать из точки х°, которая не является достаточно близкой к точке минимума функции Ф на Р, то могут потребоваться слишком большие затраты времени ЭВМ и увеличиться вероятность прерывания процесса ввиду потери точности при вычислениях. По этой причине в практических алгоритмах метода штрафов используется идея постепенного увеличения параметра С вместе с постепенным увеличением точности решения вспомогательных задач. Ниже приводится простейший алгоритм, основанный на этой идее. Пусть задача E.1) и функция штрафа ip(x, С) удовлетворяют предположениям теоремы 5.1. Рассмотрим семейство задач ф(ж> С) = f(x) + ф, С) -> min, xeP. E.24) Алгоритм состоит в следующем. Выбираем последовательности Ск —> —> +оо, ?fe-+0 и точку х°. Тогда на каждом fc-м шаге решается задача E.24) при С = Ск с точностью ек по функционалу, т. е. отыскивается точка хк такая, что Ф(хк, Ск) ^ inf Ф(х, Ск) + ек. E.25) х?Р При этом в качестве начальной точки соответствующего численного метода выбирается точка хк~\ полученная на предыдущем шаге. Согласно теореме 5.1 любая предельная точка последовательности {хк} является решением задачи E.1). В процессе вычислений при малых к, когда точка хк~\ как правило, далека от искомого решения исходной задачи E.1), приближенно минимизируется еще достаточно «хорошая» функция Ф(х, Ск)- Это позволяет получить точку хк с относительно небольшими затратами, тем более, что при малых к число ек еще относительно велико. По мере увеличения к трудности минимизации Ф(х, Ск) возрастают. Однако положение несколько облегчается тем, что мы уже имеем начальную точку хк~х, в которой значение функционала Ф(ж, Ск) близко к ттФ(х, Ск) и min/(x). Возможности управления процессом вычислений в указанном алгоритме заключаются в соответствующем выборе штрафной функции (р(х, С), последовательностей {Ск} и {ек}> а также самого метода приближенного решения задач E.24). Как правило, выбирается метод градиентного или ньютоновского типа; при этом функция (р берется достаточно гладкой. Ў 7. Алгоритм с пошаговой комбинацией метода штрафов и субградиентного метода. Для отыскания точки хк, удовлетворяющей условию E.25), можно использовать, как было отмечено, метод градиентного типа. Однако число требуемых при этом шагов метода заранее
290 Гл. 6. Численные методы условной оптимизации неизвестно. Кроме того, сама проверка условия E.25) может составить значительные трудности. Поэтому естественно попытаться построить алгоритм, в котором очередная точка хк порождается одной итерацией метода градиентного типа. Изложим один из алгоритмов такого сорта, предполагая, что в задаче E.1) множество Р выпукло, функции /, g\,...,gm выпуклы на открытом выпуклом множестве С/, содержащем Р. При этом мы возьмем за основу субградиентный метод (см. п. 5 § 1 гл. 5), который естественно переходит в обычный градиентный метод, если функции /, <7i,...,<7m дифференцируемы на Р. В алгоритме будет осуществляться как бы «скользящая» минимизация на Р семейства функций m Ф(х, С) = f(x) + CJ2 [max@, gi{x))]\ С >0, г=1 включающих квадратичный штраф. Пусть последовательность точек хк (к = 1, 2, ...) генерируется по правилу хк+1 = тгр(хк - акак), к = 0, 1, ..., E.26) где 7Гр — оператор проектирования на Р, ак — субградиент на U выпуклой функции Ф(х, Ск) в точке хк, т.е. ак G дФ(хк, Ск). При этом, используя теорему 4.8 гл. 3 и пример 4.1 гл. 3, имеем т ак=а% + 2Cfc]T max @, ft(x*))af, E.27) г=1 где a§ G df(xk)f af G dgi{xk) (i = 1, ..., m). Последовательности {ctk}, {Ск} подчиним условиям oo ak > 0, Ck -> oo, ^ ak = oo, fc=0 oo oo $>|C|<oo, J>fcC^<oo. fc=0 k=0 E.28) Теорема 5.5. Пусть в задаче E.1) множество Р — выпуклый компакт, функции f,g\t ..., дш выпуклы на открытом выпуклом множестве t/, содержащем Р, причем эта задача р-регулярна, а функция f удовлетворяет на Р условию Липшица 1). Тогда для любого начального приближения х° G Р последовательность {хк}, определяемая формулами E.26)-E.28), сходится к множеству X* решений задачи E.1): р(хк, X*) —» 0 при к —> оо. Доказательство. Для произвольной точки х* G X* с Р справедливо х* = пр(х*). Поэтому, в силу E.26) и нерастягивающего 1) Последнее условие теоремы в действительности излишне, так как следует из остальных условий (см. задачу 3 § 4 гл. 3).
§ 5. Метод штрафных функций 291 свойства оператора проектирования (см. лемму 2.1), имеем \\xk+l-x*f^\\xk-akak-x*\\2 = = \\xk - х*\\2 - 2ak(ak, xk - **) + a2\\ak\\\ По определению субградиента ак выпуклой функции Ф(х, Ск) в точке xfc, получаем {ак, хк - х*) > Ф(хк, Ск) - Ф(х*, С*), где, заметим, Ф(х*, Ск) = f(x*) = /*. Согласно теореме 4.4 гл. 3 субдифференциальные отображения функций /, д\, ..., дт локально ограничены. Отсюда без труда выводится, что эти отображения ограничены на компакте Р, т.е. ||оо|| ^ const, Ца^Ц ^ const при всех х е Р, ао Е G df(x), di e dgi(x) (i = 1, ..., га). Кроме того, по теореме 3.10 гл. 3, сами функции д\, ...,дт непрерывны и, следовательно, ограничены на Р. Тогда из "E.27) заключаем, что \\ак\\ ^ DCk (А; =1,2,...), где D — некоторая постоянная. Таким образом, ||xfc+1 - х*||2 < И** - х*||2 + 2ак[Г - Ф(**, Ск)] + D2C2kal E.29) Используя теорему 5.2 (для q = 2), получаем оценку /* - Ф(х*. Ск) ^Г- Ф*(Ск) ^ ВС?, E.30) где Ф*(Ск) = ттФ(х, Ск), а В > 0 — некоторая константа. Из E.29), E.30) выводим, что р2(хк+\ X*) < р2(хк, X*) + 2BakC^+D2a2kC2k. оо Поскольку ряд Yl [2BakCfrl + D2alCl], в силу условий E.28), к=0 сходится, то из последнего неравенства следует сходимость последовательности {р{хк, X*)} (задача 16). Покажем теперь, что р{хку X*) —> 0 при к —> оо. Из E.29) следует, что при всех к ^ 0 к к 0 ^ р2(хк+\ X*) ^ р2{х\ X*) + 2]Га;[Г - Ф{х*, С5)\ + ?>2$>*С?. i=o i=o сю Так как ряд У^а2С2 сходится, то оо 5>*[Г-Ф(*\С*)]>-00. к=0 Поскольку оо оо J] «* min [0, /* - Ф(хк, Ск)} < В^"fcCfc"' < оо, fc=o fe=o
292 Гл. 6. Численные методы условной оптимизации в силу E.30), E.28), то сходится и ряд ?} <*k\f* - Ф(хк, Ск)\ (задало оо ча 17). Отсюда и из расходимости ряда Yl ak следует, что существует к=0 подпоследовательность {xkl} последовательности {хк}, для которой га Ф(А Ckl) = /(**¦) + Ск$2 [max@,Pi(*fc<))]2 - Г г=1 при I —> оо. Так как Р — компакт, то, не ограничивая общности, будем считать xkl -> х е Р при / —> оо. Поскольку /(ж*1) —> /(ж) > —оо и га Cfc —> оо, то, очевидно, ? [max@, рДж))]2 = 0, т.е. х — допустимая точка задачи E.1). Кроме того, f(x) ^ /*, ибо f(xkl) < Ф(х*', Ckl) и Ф(ж^, Cfc?) —> /* при / —> оо. Таким образом, xGl*. Следовательно, lim р(хк, X*) = lim р(хк*9 X*) = р(ж, X*) = 0. Д к—юо 1—>оо Отметим, что в E.26) слагаемое акак можно записать, с учетом E.27), в виде т ака% + 2/?*]? max @, gi(xk))ak, t=i где последовательности {ак}, {/3/J (/3^ = акСк) удовлетворяют, в силу E.28), условиям: ^ &к > 0, /Зк > 0, ^ а* = оо, fc=0 fc=0 fc=0 Легко видеть, что /3& —> 0 и поэтому здесь, в отличие от E.26), E.28), отсутствуют неудобства, связанные с большими значениями параметра штрафа Ск. Алгоритм E.26)-E.28) является достаточно простым для реализации на ЭВМ, если имеются эффективные способы проектирования на Р и вычисления субградиентов. Однако скорость сходимости его невелика. Это и естественно, ведь мы ограничились априорным заданием параметров ак, Ск. Поэтому на практике можно рассчитывать на отыскание данным алгоритмом лишь первого приближения к решению задачи E.1). Иногда оказывается полезным проводить периодическое «обновление» алгоритма, т. е. после некоторого числа итерации принимать полученную точку хк за начальное приближение яг и повторять вычисления с теми же последовательностями а0, <*ь ..., С0, С\, ... Эта операция позволяет избегать эффекта «измельчения» шага, когда последовательность {хк} прекращает свое движение, еще не достигнув множества решений задачи E.1). ?#<«>, ?ato-'<oo, ?-*оо.
§ 5. Метод штрафных функций 293 8. Непрерывный алгоритм метода штрафов. Наряду с рассмотренными выше дискретными (конечно-разностными) алгоритмами метода штрафов представляют интерес непрерывные алгоритмы, которые описываются системами дифференциальных уравнений. Разумеется, при численном решении таких систем приходится применять те или иные их разностные аппроксимации, т. е. в конечном счете переходить к дискретным процессам. Однако изучение непрерывных процессов оказывается полезным при обосновании сходимости их дискретных аналогов, оно позволяет строить общие схемы доказательства сходимости методов оптимизации [20, 39]. Кроме того, непрерывные алгоритмы могут непосредственно применяться при расчетах на аналоговых вычислительных машинах (ныне, впрочем, редко используемых). Ниже приводится один пример непрерывного алгоритма для решения задачи E.1) в предположении, что прямое ограничение отсутствует, а функции /, pi, ..., дт непрерывно дифференцируемы на Rn. Введем функцию «к*, о-/ю-if; ^, включающую барьерный штраф. С ее помощью строится следующий дискретный алгоритм, аналогичный E.26): xk+l = xk- акФ'х(хк, Ск), к = 0, 1, ..., где можно, например, положить Ск = ек, а ак > 0 и х° выбирать тем или иным образом. Непрерывным аналогом этого алгоритма является следующая система дифференциальных уравнений: х(г) = -Ф'х(х(г),е*), t^O, или, в развернутом виде, т i(t) = -/'(x(t))-e-*^^^SS(x(t))l t^O, E.31) с начальным условием х@) = х°. Вопрос о сходимости сводится здесь к исследованию поведения траекторий (решений) системы E.31) при t -> оо. Определение 5.2. Точка х е Rn называется предельной точкой траектории x(t) (при t —> оо), если найдется последовательность чисел t\, ?2, • • • 1 ^ь • • • такая, что lim tk = +00 и lim x(tk) = х. k—юо k—юо Следующая теорема содержит два факта, характерных как для непрерывных, так и для дискретных процессов: сходимость к стационарным точкам (в довольно слабом смысле) — для невыпуклых задач и сходимость к решениям — для выпуклых задач.
294 Гл. 6. Численные методы условной оптимизации Теорема 5.6. Пусть в задаче E.1) функции /, д\, ..., дш непрерывно дифференцируемы на множестве Р = Rn, а допустимое множество X ограничено. Пусть в системе E.31) начальная точка х° такова, что gi(x°) < 0 (г = 1 га). Тогда: 1) существует предельная точка х траектории x(t) системы E.31), являющаяся стационарной в задаче E.1), т.е.хеХ и т yof'(x) + Y^ У#'№) = °> Vi9i(x) = °> г = 1, ..., т, E.32) г=1 где уо ^0, у\ ^ 0, ..., ут ^ 0 — некоторые числа, не равные нулю одновременно; 2) если, кроме того, функции f,g\,...tgm выпуклы и при произвольном х Е X векторы д[(х), г Е 1(х) = {г | gi(x) = О, 1 < г ^ га} линейно независимы, то любая предельная точка траектории x(t) системы E.31) служит решением задачи E.1). Доказательство. По правилам дифференцирования вычислим полную производную функции Ф(х(?), е*) по t в силу системы E.31): — Ф eft пт+е-*Т,^*мщ +e"Ti <5-33) '*?(*№) г=1 "гч v " г=1 #(*(*))" Используя данную формулу, нетрудно показать (это предоставляется читателю), что в условиях теоремы gi(x(t)) <0 (г = 1, ..., га) и, значит, x(t) Е X при всех t^O. Попутно из E.33) следует, что — Ф < < 0 при всех t ^ О, т.е. функция $(x(t), ег) монотонно убывает при t —> оо. Кроме того, эта функция, очевидно, ограничена снизу величиной /* = inf f(x), конечной в силу компактности X. Следовательно, предел lim Ф(#(?), ег) существует. t—^оо Пусть теперь tk —> оо при к —> оо, а Д* > 0 — фиксированное число. По формуле Лагранжа имеем *(x(tk), е'*) - Ф(х(Ьк - At), е**"д*) = At | Ф(*(&), е**), где ?ь — некоторая точка из интервала (tk — At, tk). Так как функция Ф(х(?), е*) имеет конечный предел при t —> оо, то левая часть формулы Лагранжа стремится к нулю. Поэтому и — Ф(х(?к), e^fc) —> О при А; —> оо. Последовательность точек хк = x(?k) имеет, в силу компактности множества X, предельную точку х Е X; пусть lim xkl = x. Тогда при I—>оо ? = ?fcl и / —> оо все члены правой части в E.33) стремятся к нулю, поскольку они неположительны на траектории, а их сумма стремится
§ 5. Метод штрафных функций 295 к нулю. Иными словами, обозначив а\ = е ^ki 0/ . ч, имеем т /Ч^ + Е^^)-0' E.34) ^(х^) -*0, t= 1, ..., т, при / —> оо. Рассуждая далее как в доказательстве теоремы 5.3, легко показать, исходя из E.34), что точка ж, будучи предельной для траектории x(t), удовлетворяет условиям E.32), т.е. является стационарной в задаче E.1). Таким образом, утверждение 1) доказано. Пусть теперь выполняются условия утверждения 2). Поскольку градиенты д[(х) (г G 1(х)) линейно независимы, то, очевидно, коэффициенты /4 = e~^ki 9 в E.34) при / —> оо ограничены, а в E.32) pj(x*«) _ стоит уо > 0. Отсюда, по теореме 2.2 гл. 4, следует, что х — решение задачи E.1), т.е. f(x) = /*. Покажем теперь, что ^=e_efc,^T^° при 1^°°- Действительно, если gi(xkl) ^ S < О при всех /, то 0 ^ у?' ^ e~^fc« -z —> —> 0 при / -> оо. Если же gi(xkl) —> 0, то </?* = ii\gi{xkl) —> 0 при / -» оо из-за ограниченности /i*. Таким образом, m Как было установлено ранее, предел lim Ф(х(?), е*) существует. В силу только что доказанного он равен /*. Отсюда и из включения x(t) € X при всех t ^ О следует, что и lim f(x(t)) = /*. Теперь ясно, t—юо что любая предельная точка траектории ж(?) является решением задачи E.1). Л А ЗАДАЧИ 1. Построить пример, когда Фк(х) —» Ф(х) при к —> оо для любого х е X, однако inf Фк(х) не сходится к inf Ф(х) при к —* оо. 2. Установить непрерывную дифференцируемость штрафной функции max @, gi(x))\q, q > 1, i=i
296 Гл. 6. Численные методы условной оптимизации когда pi, ...,<7m непрерывно дифференцируемы. Вычислить ее градиент. 3. Пусть в задаче E.1) функции /, д\, ..., дш непрерывны на компакте Р с Rn, а замыкание множества Х° = {х е Р \ gi(x) < О, г = = 1, ..., га} совпадает с допустимым множеством X. Доказать, что min/(a:)= lim ттФ(х, С), х?Х С—юо х?Р где Ф(х, С) = f(x) + (ps(xt С), а функция ср^ определена в E.9). 4. Пусть функция штрафа имеет вид ф, С) = Сф(х) и х* (С) — точка минимума функции Ф(х, С) = /(#) + Сф(х) на Р. Доказать, что f(x*(C)) и —ф(х*(С)) — неубывающие функции параметра штрафа С > 0. Указание. Использовать неравенства Ф(х*(С1I Сх) ^ Ф(**(С2), С,), Ф(**(С2), С2) ^ Ф(х*(С0, С2) при 0 < Ci < С2. 5. Построить примеры функций штрафа (т.е. функций, удовлетворяющих условиям E.3)-E.5)) для общей задачи математического программирования, допустимое множество которой имеет вид X = {х е Р | gi(x) ^ 0, г = 1, ..., fc; д{(х) = 0, г = к + 1, ..., га}. 6. Пусть д\, ..., дш — выпуклые на компакте Р функции и существуют точки х% е Р такие, что gi{x%) < О (г = 1, ..., га). Доказать, что задача минимизации на множестве X = {х ? Р | min gi{x) ^ 0} является р-регулярной. ^*^т 7. Рассмотрим задачу E.1) при Р = [О, 1], / = — х, га = 1, д\ = = ахь, где а, Ь > О — параметры. Показать, что для любых е, С, q > О существуют значения параметров а, 6 такие, что /* — Ф*(С) ^ 1 — ?. 8. Пусть задача E.1) имеет вектор Куна-Таккера у*. Доказать, что при любом С > max у* значения, а также множества решений t=l, ...,m задач E.1) и E.11), где <? = 1, совпадают. 9. Пусть в задаче E.1) множество Р выпукло, функции /, д\,...,дт выпуклы на открытом выпуклом множестве U, содержащем Р, причем множество решений этой задачи непусто. Предположим, что при некотором С ^ 0 значения задач E.1) и E.11), где q=\, совпадают. Доказать, что вектор Куна-Таккера задачи E.1) существует. Указание. Основные идеи содержатся в доказательстве теоремы 5.4. 10. Рассмотрим задачу f(x) —> max, gi(x) > О, г = 1, ..., га, х е Р.
§ 5. Метод штрафных функций 297 Предположим, что 1) множество Р выпукло, функции f,g\,...,gm вогнуты на Р; 2) функции д\, ..., дт полунепрерывны сверху на Р; 3) существует точка х е Р такая, что рДх) > 0 при всех г = = 1, ..., га (условие Слейтера); причем эта точка не является решением указанной задачи. Доказать, что данная задача эквивалентна (в смысле совпадения множеств решений) задаче In (/(ж) - /(*)) + ^ min (О, ^Ц) -> max, x G Р, где полагается In t = —оо, если t ^ 0. И. Доказать аналоги теоремы 5.1 и 5.2, а также задач 8 и 9 для функции Ф(х, С) = /(ж) + J2°i Imax@, 0г(*))]*, q > 0, г=1 где С = (С\, ..., Ст) — векторный штрафной параметр. 12. Доказать, что задача E.1) эквивалентна (в смысле совпадения допустимых множеств и множеств решений) задаче f(x) -> min, gi(x) + ер(х, X) < 0, t = 1, ..., га, x G P, где ? > 0 — произвольный параметр; причем эта задача р-регулярна. 13. Простейшим алгоритмом метода штрафов (п. 6) решить следующие задачи: а) х\ + х2 —* min, жf — х2 < 0, — х\ ^ 0 (с использованием логарифмической штрафной функции E.9)); б) х2 — \0х —> min, х — 1 < 0 (с использованием квадратичной штрафной функции). 14. Решить методом штрафных функций следующие задачи: а) х\ — 6х2 + 1 lxi + хз —> min, Xi i Хп Хо ^ VJ, Xi |~ Хп |~ Хо ^ *, х3 < 5, xi ^ 0, х2 ^ 0, хз ^ 0; б) (xi — Х2J + (х2 — Х3L -» min, xi + xi#2 H- X3 = 4. 15. Привести примеры последовательностей {а*}, {С*}, удовлетворяющих условиям E.28). 16. Пусть 0 < zfc+i < zk + у*, 2/jk ^ 0, J2Vk< °°. Показать, что fc=0 последовательность {^} сходится. (X) ОО 17. Пусть X) *кУк > -оо, X) *fcmax@, ук) < оо, 2:fc ^ 0. Пока- fc=0 fc=0 00 зать, что ряд J] **1Ы сходится. fc=0
298 Гл. 6. Численные методы условной оптимизации 18. Рассмотрим задачу отыскания минимакса f(x) = max fi(x) —> min, x e P, с непрерывными на компакте Р функциями /ь ..., /™ (ср. с задачей 16 § 2 гл. 4). Сформулировать и доказать теорему о сходимости метода штрафов с квадратичной штрафной функцией для этой задачи. 19. Доказать методом штрафных функций, что любая предельная точка последовательности {х*(Сп)}, реализующей max{/i(x) + Cn/2(a:)} при непрерывных на компакте Р функциях /ь /г и Сп-> оо, является точкой лексикографического максимума вектор-функции f(x) = = (f\(x), /2C:)), т.е. реализует максимум f\(x) на множестве, где достигается максимум по х е Р функций /гОг). Указание. Записать лексикографическую задачу оптимизации в виде E.1) /i (x) —> max, f2(x) - max/2(x) ^ О, х G Р, и использовать для учета ограничения негладкую штрафную функцию — «срезку» (р\. § 6. Метод параметризации целевой функции К методу штрафных функций идейно примыкает метод параметризации целевой функции, в котором также строится и решается последовательность параметризованных задач без функциональных ограничений. Отличие состоит в том, что здесь параметр изменяется по заранее заданному правилу, оставаясь при этом ограниченным сверху, а в методе штрафных функций параметр может достаточно произвольным образом стремиться к +оо. Кроме того, в излагаемом ниже методе параметр по смыслу связан с целевой функцией, а не с ограничениями исходной задачи, как это было ранее. Отсюда и происходит указанное название метода. Всюду в параграфе под решениями задач оптимизации понимаются глобальные решения. 1. Описание метода и его сходимость. Рассмотрим задачу математического программирования вида fix) —> max, (fi 1 ^ Qi(x) ^0, i = 1, ..., m, x G P. Пусть X — допустимое множество этой задачи, /* = inf f(x) — ее х?Х значение.
§ 6. Метод параметризации целевой функции 299 Введем функцию M(x,C) = (f(x)-/3J + <p(x), где C — вспомогательный числовой параметр, а т ^) = 5^Иах@,л(я:))]2 г=1 F.2) F.3) — квадратичная функция штрафа из § 5 при С = 1. В методе параметризации целевой функции одновременно генерируются последовательность {хк} приближений к множеству решений задачи F.1) и последовательность {/3k} приближений к значению этой задачи. Именно, полагается ' F.4) Рк+^Рк + у/Щхк.рь), к = 0,1, где хК — решение задачи М(х, fa) min, x e P. F.5) При этом начальное приближение C0 берется как нижняя оценка величины /*, т.е. Д> ^ /*. Данный метод допускает наглядную геометрическую интерпретацию (рис. 6.1). Пусть д(х) = у/<р(х). Рассмотрим на плоскости с координатами (#, /) образ W множества Р при отображении х —> (д(х), f(x)). Очевидно, ордината точки а* на рис. 6.1 соответствует значению /* задачи F.1), т.е. а* = = @, /*). Зафиксируем на оси ординат точку or = @, /?*), где f3k ^ /*, и рассмотрим семейство окружностей с центром в ак\ (f~PkJ + g2 = const. Ясно, что отыскание решения задачи F.5) соответствует отысканию окружности минимального радиуса из имеющих пересечение с множеством W. Эта окружность касается данного множества в точке с* = = (9(хк), f(xk)), где хк — решение задачи F.5). Форму- Рис. 6.1. Геометрическая интерпретация метода параметризации целевой функции ла F.4) соответствует переходу к точке ак+х = @, /?fc+i), являющейся точкой пересечения полученной окружности с осью ординат. Затем
300 Гл. 6. Численные методы условной оптимизации строится окружность с центром в ак+1, касающаяся множества W в точке cfc+1, находится ак+2 и т.д. Геометрически очевидно, что каждая из получаемых таким образом последовательностей {ак} и {ск} сходится к точке а*. Строгое обоснование этого факта при соответствующих предположениях содержится в следующей теореме. Теорема 6.1. Пусть Р — компакт в Rn, функции f,g\,...,gm непрерывны на Р, множество X непусто. Тогда любая предельная точка последовательности {хк} является решением задачи F.1); при этом lim f(xk) = lim fa = /•. F.6) Л—юо к—»оо Доказательство. Прежде всего отметим, что при сделанных предположениях как исходная задача F.1), так и вспомогательные задачи F.5) имеют решения. Стало быть, метод определен корректно. Из F.4) следует, что последовательность {рк} не убывает. Покажем, что она ограничена сверху величиной /* и, следовательно, имеет предел. По определению метода, /?о ^ /*• Пусть уже доказано, что рк ^ /*. Поскольку хк — решение задачи F.5), то при любом решении х* задачи F.1) имеем М(х\ рк) < М{х\ рк) = (/* - рк)\ где учтено, что /(х*) = /* и х* е X, т.е. ц>(х*) = 0- Поэтому yjM(xk,Ck)^\r-Ck\ = f*-Ck и, значит, рк+1 = fa + у/м{хъ, рк) < /*• Таким образом, последовательность {рк} сходится к некоторому числу Р ^ /*. Тогда из F.4) заключаем, что lim М(хк, рк) = 0, а это, в к—юо силу F.2), влечет за собой равенства lim f(xk)= lim/?fc = /9, F.7) к—+оо к—юо lim фк) = 0. F.8) к—юо Пусть теперь х — произвольная предельная точка последовательности {хк}, существующая, поскольку Р — компакт. Тогда из F.7), F.8) следует, что f(x) = р и <р(х) = 0, т.е. х е X. Отсюда /? = /*, так как случай р < /* противоречит определению /*. Таким образом, х — решение задачи F.1), причем формула F.7) переходит в F.6). Л Замечание. Если на какой-то к-й итерации оказалось, что М(хк, рк) — 0, то расчеты можно закончить. В самом деле, тогда f(xk) = рк ^ /*, хк е X, и, значит, хк — решение задачи F.1).
§ 6. Метод параметризации целевой функции 301_ 2. Вычислительные аспекты метода. В описанном методе на каждой fc-й итерации требуется отыскивать глобальное решение задачи F.5). Вообще говоря, это непростое дело, поскольку функция М(ж, /?) вида F.2) не обязана быть выпуклой по х на Р, если даже F.1) — задача выпуклого программирования. Нетрудно, однако, показать, что теорема 6.1 остается справедливой, если в задаче F.5) взять функцию М(х, /3) = [max @, /(*) - /?)]2 + <р(х), которая уже выпукла при выпуклых функциях /, д\, ..., дт (см. пример 3.2 гл. 3). В этом случае для отыскания глобального решения задачи F.5) можно использовать метод проекции градиента (§ 2) или метод условного градиента (§ 3), если, конечно, функции f,g\t ..., дт дифференцируемы, а множество Р имеет простую структуру. Как уже отмечалось в связи с теоремой 5.1, предположение о компактности Р не является слишком ограничительным. В качестве начального приближения /% < /* можно взять Д> = = min/(a;). В практическом плане это означает, что сначала необходимо численно минимизировать функцию / просто на Р. Как показано в доказательстве теоремы 6.1, последовательность {/3k} приближается к /* снизу. Однако погрешности вычислений могут привести к тому, что на какой-то итерации условие /?& ^ /* нарушится и тогда, очевидно, метод потеряет свойство сходимости. Поэтому вспомогательные задачи F.5) необходимо решать как можно более точно. Фактически это приводит к тому, что метод параметризации может применяться лишь для получения первого приближения к решению исходной задачи F.1). Интересно отметить, что, несмотря на видимые отличия, метод параметризации тесно связан с методом штрафных функций. Точнее, последовательность {хк} решений задач F.5) можно построить с помощью метода штрафов при соответствующем выборе штрафного параметра (см. задачу 2). 3. Некоторые обобщения метода. В описанном методе формула F.4) для пересчета параметра /3 не является единственно возможной [20, 35]. Можно, например, положить или &+!=/(**). F.10) При соответствующих предположениях эти модификации метода также сходятся. Как и исходный метод, они допускают наглядную геометрическую интерпретацию (задача 3). 11 А. Г. Сухарев и др.
302 Гл. 6. Численные методы условной оптимизации Вместо функции М(х, /3) вида F.2) используются и существенно более общие конструкции типа m М(х, /3, у) = 4(f(x), /3) + ? ^(х), у<), t=l где Ф, (р — заданные функции, обладающие, как правило, свойствами выпуклости, монотонности и т. п., а /3 и у = (уь ..., ут) — вспомогательные параметры. При этом последовательности {/?*}, {ук} и {хк} генерируются в духе предыдущих построений, т.е. параметры /3* и ук вычисляются по специальным формулам, а хк определяется как решение задачи М(х, /Зь yfc) -» min, х е Р. В частности, если 1 m 1 /3-/(х) j^9i{x) или М(х, /3) = - In (/3 - f(x)) - ? In (-*(*)), г=1 причем Pk+\ = f(xh), к = 0, 1, ..., то получаем (если не акцентировать внимание на деталях) варианты метода центров [15, 21, 56]. Если m М(х, у) = f(x) + IJT [max(ft(*) + у,, О)]2, yf+1=max(^(xfc)+y?,0), г=1, ...,m, fc = 0, 1,..., то приходим к методу с модифицированной функцией Лагранжа [20, 35, 39]. Отметим, что этот метод зарекомендовал себя как достаточно эффективный для решения задач выпуклого программирования. В указанных работах читатель найдет его многочисленные обобщения и модификации, рассчитанные, в частности, на невыпуклые задачи. ЗАДАЧИ 1, Пусть X* — множество решений задачи F.1), причем X* ф Ф 0, Х(C) — множество точек (глобального) минимума функции М(х, /3) вида F.2) на Р. Доказать следующие утверждения: а) X* = X(f*); если х* е Х\ то М(х*, /*) = 0; б) если /?</*, х е Х(/?), то f(x) < /*; в) если /3, < ft, х1 е Х(рх), х2 е X(ft), то /(х1) ^ /(х2). 2. Пусть в задаче F.1) множество Р выпукло, функции /, pi,... ..., gm выпуклы и дифференцируемы на Р. Показать, что решение хк задачи F.5) в случае, когда fa < f(xk), является также решением
§ 7. Метод линеаризации 303 задачи Ф(х, Ск) = f(x) + Ск(р(х) -> min, х € Р, где <р - функция из F.3), а Ск = 2(/(ж*),д)- Указание. Применить к приведенным задачам теорему 1.2 гл. 4. 3. Привести геометрическую интерпретацию вариантов метода параметризации целевой функции с пересчетными формулами F.9) и F.10). 4. Применить метод параметризации целевой функции к решению минимаксной задачи max fi(x) -* min, х е P. § 7. Метод линеаризации В этом параграфе излагаются основы метода линеаризации — одного из наиболее эффективных методов решения задач математического программирования. Данный метод базируется на идее линейной аппроксимации целевой функции и ограничений задачи в окрестности очередной точки. В этом смысле он выступает как развитие метода условного градиента из § 3. Вместе с тем метод линеаризации содержит и качественно новые моменты. Так, здесь к линейной аппроксимации целевой функции добавляется квадратичный член и поэтому в качестве вспомогательных возникают задачи квадратичного (а не линейного, как можно было бы ожидать) программирования. 1. Описание метода и его сходимость. Рассмотрим задачу математического программирования вида /(*)-> min, 9г(х)<0, г=1,...,га, где функции /, ди ..., gm дифференцируемы, а функции ди ..., дт, кроме того, выпуклы на Rn. Пусть X — допустимое множество задачи G.1). Будем считать, что X непусто. Произвольной точке х € Rn поставим в соответствие следующую задачу квадратичного программирования относительно h: (r(x)th)+l-\\h\\^mint G2) (^(х), Л) -f gi{x) < 0, г = 1, ..., т. Эта задача, как мы видим, сформирована на основе линейных частей разложений /(x + ft) = /(x) + (//(x),/i)+o(H), ft(« + fc)=ft(a?) + (flj(x), Л)+о(||Л||), г=1,...,т, 11*
304 Гл. 6. Численные методы условной оптимизации причем в целевую функцию добавлен квадратичный член - ||Л||2, а константа /(я) отброшена. Заметим, что, в силу выпуклости функций g\,...,gm и условия X ф 0, допустимое множество задачи G.2) всегда непусто. В самом деле, для любой точки х е X, с учетом теоремы 3.7 гл. 3, имеем (д'{(х), х - х) + gi(x) < #(ж) < 0, г = 1, ..., га. G.3) Стало быть, вектор h = х — х удовлетворяет ограничениям этой задачи. Далее, благодаря квадратичному члену целевая функция задачи G.2) сильно выпукла. Поэтому, согласно следствию теоремы 3.13 гл. 3, данная задача имеет решение, причем единственное. Обозначим его через h(x). В методе линеаризации последовательность приближений {хк} генерируется по правилу хк+\ =хк + akhk^ fc = о, 1, ..., G.4) где hk — решение задачи G.2) при х — хк, т.е. hk = h(xk), а а^ выбирается тем или иным способом. При этом (в отличие от метода условного градиента) последовательность {хк} не обязана принадлежать множеству X, а последовательность {f(xk)} — убывать. Докажем теорему о сходимости варианта метода с постоянными коэффициентами а&. Теорема 7.1. Пусть функции ftgi,...9gm дифференцируемы на Rn, их градиенты удовлетворяют на Rn условию Липшица, функции pi, ...,0m, кроме того, выпуклы на Rn и существует точка х G Rn такая, что gi(x) < 0 при всех i = 1, ..., га (условие Слейтера). Пусть х° е X, причем множество No = {х € Rn | /(*) ^ Я*0)} ограничено. Тогда существует число а > 0 такое, что любая предельная точка х* последовательности {хк}, определенной формулой G.4), где hk = h(xk), a^ = а G @, а], а начальная точка х° указана выше, является стационарной в задаче G.1), т. е. х* G X и т /'(**) + ?*№*) = <>, G.5) t=l у?Л(х*)=0, г=1,...,т, G.6) где у* ^ 0, ..., у^ ^ 0 — некоторые числа (множители Лагранжа). Если при этом функция f выпукла на Rn, то х* — решение задачи G.1).
§ 7. Метод линеаризации 305 Отметим, что условие ограниченности множества iV0 обеспечивается, например, условием сильной выпуклости функции / (теорема 3.13 гл. 3) или условием lim f(x) = +оо. ||х||-юо Последнее утверждение теоремы 7.1 сразу следует из теоремы 2.2 гл. 4. Для доказательства ее основного утверждения нам потребуются две леммы. Прежде чем обратиться к первой из них, отметим следующее. Поскольку h(x) — решение задачи G.2), то, согласно теореме 4.5 гл. 4, существуют числа (множители Лагранжа) у\(х) ^ 0, ..., Угп(х) ^ 0 такие, что га /'(х) + Л(*)+ $>(*№) = 0, G.7) г=1 Уг(х)[(д1(х), h(x))+9i(x)} = О, г = 1, ..., т. G.8) Лемма 7.1. В предположениях теоремы 7.1 множители Лагранжа семейства задач G.2) равномерно ограничены на No, т. е. т У^2/г(#) ^ С при всех х е N0у G.9) г=1 где С — некоторая константа. Доказательство. Поскольку функция /' удовлетворяет условию Липшица, то она непрерывна и, следовательно, ограничена на компакте iVb, т. е. ||/'(х)|| < К при всех х <Е N0t G.10) где К — некоторая константа. С учетом этого для любых х е ЛГ0 и h e Rn имеем </'(*). h) + \ \\Ц2 ^ -||/'0г)|| \\h\\ + \ \\htf > -I \\f'(x)\\2 > -I К2, где в первом неравенстве использовано неравенство Коши-Буняковс- кого, а во втором непосредственно вычислен минимум квадратичной функции от числового аргумента \\h\\. Отсюда следует, что значения задач G.2) при х е No равномерно ограничены снизу. При этом, согласно замечанию к теореме 3.9 гл. 4, вектор множителей Лагранжа задачи G.2) одновременно является ее вектором Куна-Таккера (определение 3.1 гл. 4). Тогда -l-K2^(f(x),h(x))+l-\\h(x)\\2^ 1 m < (/'(*), h) + А ||Л||2 + 5>(*)[&(*), h)+9i(x)] G.11) при всех h e Rn. Рассмотрим точку х из формулировки теоремы 7.1. Пусть число 7 > 0 таково, что gi(x) < —7 при всех г = 1, ..., т. 12 А. Г. Сухарев и др
306 Гл. 6. Численные методы условной оптимизации Тогда, подставляя в G.11) вектор h = x-x и учитывая первое неравенство в G.3), получаем -1к2-(Г(х),х-х)-1-\\х-х\\^ т т <?»(*М*)<-7Х>(*) G.12) г=1 г=1 при всех х е No. Поскольку N0 — компакт и справедлива оценка G.10), то левая часть в G.12) равномерно ограничена на 7V0. Отсюда и следует G.9). Л Отметим, что в доказанной лемме (как и в следующей) вид множества No несуществен — важна лишь его ограниченность. Введем функцию Ф(ж, C) = f(x) + Cg(x), G.13) где g(x) = max@, д\(х), ..., дт(х)). G.14) Полезно отметить, что функция <р(х, С) = Сд(х) является штрафной для задачи G.1) в смысле § 5. Лемма 7.2. Пусть выполняются предположения теоремы 7.1. При любом е е @, 1) положим °=™n{l'(irm)' G15) где С — константа из G.9), а М — константа Липшица функций f',g[, ...,д'ш. Тогда для любых х € No и a ? @, а] справедливо неравенство Ф(х + ah, С) < Ф(х, С) - ae||/i||2, G.16) где h = h(x) — решение задачи G.2). Доказательство. Пусть х е JV0, ae@,a]. Используя формулу Лагранжа, неравенство Коши-Буняковского и условие Липшица для /', при некотором ? е @, 1) имеем /(х + ah) - f(x) = (f'(x + ?сЖ), ah) = = a(f'(x), h) + a(f'(x + ?ah) - f'(x), h) < <<*(/'(*), /i)+a2M||/i||2. G.17) При этом, в силу G.7)-G.9), G.14), </'(*), h) = -$>(*)&(*), h) - \\hf = m = ?ю(*Ы*)ЧШ12<Ср(*)-И2- i=l г=1
§ 7. Метод линеаризации 307 Таким образом, /(х + aft) ^ /(х) + aCg(x) - a\\h\\2 + a2M\\h\\2. G.18) Далее, по аналогии с G.17) для любого i = 1, ..., га выводим 9i(x + ah) ^ 9i(x) + а(<^(х), h) + a2M||ft||2, причем здесь (ft (s). Л) < -ft W. так как вектор ft, будучи решением задачи G.2), удовлетворяет ее ограничениям. Следовательно, 9i(x + ah) < A - a)ft(x) + a2M||ft||2 и, значит, ff(x + aft) < A - a)g{x) + a2M||ft||2, G.19) где учтено, что а ^ 1. Из формул G.13), G.15), G.18), G.19) и условия а е @, а] следует Ф(х + aft, С) ^ Ф(х, С) - аA - аA + C)M)||ft||2 < Ф(х, С) - a?||ft||2, т. е. справедливо G.16). Л Доказательство теоремы 7.1. Покажем, что утверждению теоремы удовлетворяет а из G.15). Поскольку х° € X, то д(х°) ±= 0. Поэтому, с учетом леммы 7.2, для точки хх имеем f(xl) < Ф(х\ С) < Ф(х°, X) - аг||Л°||2 < Ф(х°, С) = /(х°), т.е. х1 Е ЛГо. Рассуждая далее по индукции, легко получаем, что хк е eN0 и Ф(х/е+1, С) < Ф(х*, С) - ae\\hk\\2 G.20) при всех к = 0, 1, 2, ... Таким образом, последовательность {Ф^, С)} монотонно не возрастает и, кроме того, ограничена, так как непрерывная функция Ф(х, С) при данном С ограничена на компакте ЛГ0. Стало быть, эта последовательность имеет предел. Отсюда и из G.20) следует, что lim ||Л*||=0. G.21) fc-юо Пусть теперь х* — произвольная предельная точка последовательности {хк}, существующая, поскольку No — компакт. В силу леммы 7.1 последовательности {ft(xfc)} (г=1,...,га) ограничены. Без потери общности будем считать, что lim хк = х*, lim yi(xk) = у* ^ 0, г = 1, ..., т. к—*оо к—юо 12*
308 Гл. 6. Численные методы условной оптимизации Согласно G.7), G.8) имеем т t=l у{(хкШ(хк), hk)+9i(xk)] = 0, t=l m. Кроме того, вектор hk как решение задачи G.2) при х = хк удовлетворяет ее ограничениям, т. е. №*).Л*}+«(^)<0, f = l,...f m. Переходя в выписанных соотношениях, с учетом G.21), к пределу, получаем формулы G.5), G.6) и включение х* е X. А 2. Вычислительные аспекты и некоторые обобщения метода. В описанном методе на каждой итерации требуется решать задачу квадратичного программирования вида G.2). Для этого можно непосредственно использовать метод, изложенный в § 4. Однако здесь несколько удобнее применять данный метод к двойственной задаче, имеющей, согласно формуле D.30) гл. 4, вид <р(у) -> max, у ^ 0, G.22) где m и2 m г=1 г=1 В силу теоремы 4.6 гл. 4, задача G.22) имеет решение у(х) = = (у\(х)у ..., Ут(х))у и если оно уже найдено, то решение задачи G.1) вычисляется по формуле D.31) гл. 4, т.е. т h(x) = -f{x)-Y,Vi{*M*). t=l Для задачи G.22), имеющей в качестве ограничений лишь условие неотрицательности переменных, алгоритм упомянутого метода существенно упрощается (см. п. 5 § 4). Но дело не только в этом. Решение у(х) задачи G.22) одновременно является вектором множителей Лагранжа задачи G.1). Поэтому, вычисляя по ходу работы алгоритма величины у(хк) (к = 0, 1, ...), мы одновременно можем оценивать значение константы С из G.9), которая редко бывает известна заранее. Точнее говоря, возможна такая стратегия изменения параметра С и, тем самым, параметра а из G.15) (константу М считаем здесь известной, хотя в действительности ее вычисление — это самостоятельная проблема). Сначала берем какое-нибудь значение С. Если на текущем fc-м шаге оказывается, что 5>(**)>с, г=1
§ 7. Метод линеаризации 309 то С изменяем, полагая т <? = A?>(*fc), где Л > 1 — фиксированное число. В противном случае С оставляем без изменений. При этом в качестве а* в G.4) можно выбирать текущее значение а. Такой модифицированный способ выбора коэффициентов ak также обеспечивает сходимость метода линеаризации в рамках предложений теоремы 7.1. Коротко остановимся на других модификациях и обобщениях описанного в п. 1 метода (все детали можно найти в [44, 45]). 1) Условие выпуклости функций g\, ...,pm потребовалось в п. 1 лишь дважды (не считая последнего утверждения теоремы 7.1): при доказательстве непустоты допустимого множества задачи G.2) и выводе оценки G.9). Если взять эти факты в качестве предположений, то основное утверждение теоремы 7.1 останется справедливым и без условия выпуклости. 2) Если константа С из G.9) известна, то коэффициент а^ в G.4) можно выбирать чуть иначе: дробя (в духе п. 8 § 2 гл. 1) коэффициент а, начиная с а= 1, до первого момента выполнения неравенства G.16) при х = хк. Нетрудно понять, что для такой модификации метода справедлив аналог теоремы 7.1. В случае, когда константа С неизвестна, ее можно оценивать здесь тем же способом, как и выше. 3) Задача G.2) сформулирована на основе линеаризации всех ограничений задачи G.1). Можно, однако, учитывать лишь те ограничения, которые «наиболее нарушаются» в данной точке х. Именно, при фиксированном 8 > О введем множество It(x) = {i | Qi(x) ^ д(х) -5, 1 ^ г < га}, где функция д определена в G.14), и заменим задачу G.2) на следующую: 1 </Ч*М>ЦИ2-тт, (9i(x),h)+gi{x)^0, iels(x). Эта задача содержит, вообще говоря, меньше ограничений, чем задача G.2) (соответствующая случаю S = +оо. Поэтому, во-первых, отыскание ее решения требует меньше вычислительных ресурсов и, во-вторых, при невыпуклых функциях д\,...,дт она скорее имеет допустимые точки. Можно показать, что здесь также справедливы аналоги теоремы 7.1 и ее модификаций, связанных с замечаниями 1) и 2). 4) Метод линеаризации без труда распространяется на общую задачу математического программирования вида f(x) —» min, gi(x) <0, i = 1, ..., к, gi(x) = 0, i = к + 1, ..., m, x e P.
310 Гл. 6. Численные методы условной оптимизации Задача G.2) заменяется здесь следующей: (/'(x),/i) + I|№-min, (g^x), /i)+&(x)*$0, г=1, ..., fc, {g'i(x), h) + д{{х) = 0, t = fc + 1, ..., m, В остальном описание метода остается без изменений, причем он может модифицироваться с учетом предыдущих замечаний. При соответствующих предположениях тут также имеет место сходимость. ЗАДАЧИ 1. Показать, что точка х G Rn является стационарной точкой задачи G.1) в том и только том случае, если h = 0 — решение задачи G.2). 2. Упростить метод линеаризации на случай, когда он применяется для отыскания решения задачи f(x) —> min, x ^ 0.
Глава 7 МЕТОДЫ ДИСКРЕТНОЙ ОПТИМИЗАЦИИ В этой главе мы рассмотрим задачи минимизации или максимизации функции /, определенной на множестве X с элементами х = = (хь ...,жп). При этом либо множество X дискретно, либо лишь некоторые из переменных х\, ..., хп пробегают дискретные множества, когда х пробегает X. Дискретными мы называем конечные множества и счетные множества без предельных точек. Часто X — это множество точек с целочисленными координатами, удовлетворяющими некоторым ограничениям. § 1. Примеры дискретных оптимизационных задач и вопросы эффективности алгоритмов Один пример был приведен в § 1 гл. 1. Приведем еще несколько важных примеров. 1. Задача о рюкзаке. Пусть имеется п предметов, a,j — вес, a Cj — ценность j-ro предмета, a,j > О, Cj > 0. Требуется загрузить рюкзак, выдерживающий вес Ь, набором предметов, суммарная ценность которых максимальна. Введем переменную Xj, принимающую значение 1, если j-й предмет грузится в рюкзак, и 0 — в противном случае, jf=l,...,n. Переменные, принимающие значения 0, 1, называют булевыми. Задача принимает вид п У^ CjXj —> max, i=1 (id ^2,аэхо ^ &» хз € {0» 1}» j = 1, ..., п. Задача A.1) является частным случаем целочисленной задачи п 2_. сзхз ~* шах, i=i ^dijXj О;, г= 1, ..., m; х,€{0, 1,2,...}, j=l,...,n.
312 Гл. 7. Методы дискретной оптимизации Эту задачу можно трактовать как обобщенную задачу о рюкзаке, если отказаться от предположений о том, что каждый предмет имеется в наличии в единственном экземпляре и может загружаться в рюкзак в единственном экземпляре, заменив условие Xj Е {О, 1} условием Xj ? G {0, 1, 2, ...} (j = 1, ..., п). При этом единственное ограничение на вес заменяется совокупностью га ограничений (ограничиваются суммарный вес, объем и т.д.). 2. Задача размещения программных модулей в многоуровневой памяти ЭВМ. Пусть имеется т программных модулей для построения алгоритмов решения задач заданного класса, а» — объем (число стандартных слов) памяти, необходимый для размещения г-го программного модуля, pi — частота его использования, г= 1, ..., га. Система реализована на ЭВМ, память которой состоит из п уровней; bj — объем памяти jf-ro уровня, tj — время выборки слова стандартной длины из памяти j-ro уровня, j = 1, ..., п. Требуется так разместить программные модули в многоуровневой памяти ЭВМ, чтобы минимизировать среднее время решения задач заданного класса. Введем переменную Xij, принимающую значение 1, если г-й модуль размещен в памяти j-ro уровня, и 0— в противном случае. Тогда задача примет вид т п У^ У^ tjdiPiXij —> min, г=\ j=\ Х- -1 V^ . . <ъ. A3) / %ij — * » / ^ Q>i%ij ^ Oj i j=l г=1 s»jG{0, 1}, г=1,...,га; j=l,...,n. 3. Задача распределения ресурсов. Пусть г-й способ использования Xi единиц ресурса дает доход fi(xi), имеется п таких способов и га единиц ресурса. Ресурс предполагается неделимым, т. е. переменные хь ...,хп принимают целые значения. Требуется максимизировать суммарный доход. Задачу можно записать следующим образом: п п У^/гС^г) -»тах, У^Хг = т, Xi G {0, 1, ..., га}, г = 1, ..., гг. 4. Задача о коммивояжере. Имеется п городов, занумерованных числами 1,...,п. Для любой пары городов (г, j) задано расстояние Cij ^ 0 между ними (с^ может означать не только расстояние, но и время, путевые расходы и прочее, поэтому в общем случае не предполагается, что с^ = Cji). Выехав из исходного города, коммивояжер должен вернуться в него, побывав во всех остальных городах ровно по одному разу. В качестве исходного может быть выбран любой город. Требуется найти маршрут минимальной длины.
§ 1. Примеры дискретных оптимизационных задач 313 Иными словами, необходимо минимизировать функцию J\X) = Сц{2 -\- Ci2i3 -г . . . -\- C{nix на множестве X допустимых маршрутов х = (i\, ..., гп, i\), где (iii...,*n) — произвольная перестановка чисел 1,...,п. Заметим, что множество X содержит п! элементов, поэтому решить задачу методом полного перебора при достаточно больших п нереально. Описанная задача представляет значительный интерес с точки зрения теории и имеет прикладное значение. Так, различные ее варианты возникают, например, при отыскании оптимальных маршрутов доставки готовой продукции потребителям. Другая интерпретация этой же задачи связана с минимизацией времени переналадок при обработке на одном станке партии из п деталей. Пусть с^ — время переналадки при переходе от обработки детали г к обработке детали j. Требуется найти последовательность обработки деталей, минимизирующую общее время переналадок. Величину Cij можно интерпретировать и как стоимость перестройки гибкого автоматизированного производства при переходе от изготовления партии изделий г-го типа к изготовлению партии изделий j-ro типа. Требуется минимизировать суммарные издержки при производстве п партий изделий различных типов. Покажем, что задача о коммивояжере сводится к некоторой целочисленной задаче ЛП. Введем переменную Xij, принимающую значение 1, если коммивояжер из города г переезжает непосредственно в город j, и 0 — в противном случае, г, j = 1, ..., п. Рассмотрим задачу п п п п г=1я=1 г=1 j=l Щ — Uj + nxij < n — 1, щ € {1, 2, ... }, Xij E {0, 1}, г, j = 1, ..., n. Покажем, что любой набор переменных uiy хц, удовлетворяющий ограничениям этой целочисленной задачи ЛП, определяет допустимый маршрут коммивояжера. Действительно, пусть некоторый допустимый набор переменных определяет маршрут, распадающийся на не связанные между собой подциклы. Возьмем любой такой подцикл. Сложим ограничения-неравенства, соответствующие переездам, входящим в этот подцикл. Поскольку х^ = 1 для всех таких переездов, а разности щ — Uj взаимно уничтожаются, то получим неверное неравенство пк < (п — l)fc, где к — число переездов. Покажем теперь, что произвольному допустимому маршруту коммивояжера соответствует некоторый набор переменных, удовлетворяющий ограничениям задачи A.5). Положим щ=р, если коммивояжер на данном маршруте прибывает в г-й город после р-го переезда. Тогда
314 Гл. 7. Методы дискретной оптимизации Ui — Uj^n—l для всех г и j, и потому ограничение-неравенство выполняется при Xij = 0. Если же х^- = 1, то оно обращается в равенство, так как щ — Uj + nxij = p— (p+l) + n = n— 1. Тем самым эквивалентность задачи A.5) задаче о коммивояжере доказана. Однако практика показывает, что при численном решении дискретных задач оптимизации далеко не всегда целесообразно переходить от комбинаторной формулировки к формулировке в виде задачи дискретного программирования (типа A.1)-A.6)). Так, например, наилучших результатов для задачи о коммивояжере удается достичь с помощью алгоритмов, приспособленных к исходной комбинаторной формулировке задачи. 5. Задача планирования вычислений для многопроцессорной системы. Многопроцессорная вычислительная система состоит из г0 одинаковых процессоров, каждый из которых в любой момент времени может выполнять лишь одно задание. Имеется т заданий, занумерованных числами 1, ..., га. Время выполнения г-го задания любым процессором равно Т{ (г = 1, ..., га). Система содержит п видов ресурсов (устройства ввода-вывода, внешние накопители и т.д.), причем количество j-ro ресурса в любой момент времени равно rj (j = = 1, ..., п). В любой момент времени при выполнении г-го задания требуется затрачивать количество г^ ресурса j-ro вида. Все числа т;, rj, rij предполагаются целыми. Пусть бинарное отношение -< определяет частичный порядок на множестве заданий: г -< к означает, что выполнение fc-ro задания может начаться лишь после завершения выполнения г-го задания. Обозначим через ti время начала выполнения г-го задания. Необходимо найти расписание Т = (t\, ..., tm) минимальной длительности. Обозначим через V(t) множество номеров заданий, решаемых в момент времени t: V(t) = {i | 1 < i ^ ra, ti^t<ti+Ti}. Получаем задачу max (ti + Ti) —> min, U + r» ^ t^, если i -< fc, t=l, ...,m \V(t)\^r0, t = 0, 1,2, ..., Yl г<;<г,-, j=l n; t = 0, 1,2,..., (L6) i?V(t) «iG{0, 1,2, ...}, t=l, ...,m. 6. О сложности задач дискретной оптимизации и эффективности алгоритмов их решения. Решение задач дискретной оптимизации связано с трудностями принципиального характера. Полный перебор точек допустимого множества, как правило, неосуществим из-за слишком большого объема вычислительной работы. Из-за дискретности допустимого множества неприменимы многие приемы, разработанные в математическом программировании, например, движение
§ 1. Примеры дискретных оптимизационных задач 315 по направлению градиента или антиградиента, переход из одной вершины многогранного множества допустимых точек в другую и т.д. Неприменима здесь и теория условий оптимальности, изложенная в гл. 4. Поэтому для решения задач дискретной оптимизации приходится создавать специальные методы [29, 33, 48, 49]. Ў Важное значение имеют вопросы эффективности алгоритмов решения дискретных оптимизационных задач. Ясно, что для дискретных задач не всегда пригодны критерии оценки эффективности алгоритмов оптимизации, используемые для непрерывных задач. Так, например, такой критерий, как скорость сходимости минимизирующей последовательности к точке минимума, не может применяться к конечношаго- вым алгоритмам дискретной оптимизации. Рассмотренные в § 3 гл. 2 критерии, выражающие точность решения задачи минимизации при заданном числе вычислений значений минимизируемой функции, и число вычислений, необходимое для обеспечения заданной точности, нельзя использовать для оценки эффективности алгоритмов, предназначенных для отыскания точного решения (хотя такие .критерии можно использовать для оценки эффективности приближенных алгоритмов). В настоящее время интенсивно развивается теория сложности дискретных задач и эффективности алгоритмов их решения [3, 16]. Из соображений удобства в этой теории принято рассматривать задачи распознавания свойств, т.е. задачи, в которых формулируются вопросы, допускающие один из двух ответов — «да» или «нет». Так, в задаче о коммивояжере, сформулированной в виде задачи распознавания свойств, требуется установить, существует ли маршрут, длина которого не превосходит заданной границы г. Критерием эффективности в теории сложности служит временная сложность алгоритма как функция входной длины задачи. Дадим неформальное пояснение используемых понятий. Входная длина задачи с конкретными числовыми данными — это число символов в цепочке, которой описывается данная задача при принятой схеме кодирования. Например, задачу о коммивояжере можно кодировать последовательностью чисел, представляющих из себя расстояния между городами. Временная сложность заданного алгоритма при заданной входной длине п — это максимальное число операций, выполняемых выбранной моделью вычислительного устройства при решении заданным алгоритмом задач данного типа входной длины п с различными конкретными числовыми данными. Наиболее часто используемые модели вычислительных устройств — это одноленточные и многоленточные машины Тьюринга и машины с произвольным доступом к памяти. Алгоритм называется полиномиальным, если его временная сложность при любом п не превосходит |р(п)|, где р — некоторый полином, п — входная длина. Алгоритмы, временная сложность которых не допускает такой оценки, называются экспоненциальными. К числу экспоненциальных, таким образом, относится и алгоритм, временная
316 Гл. 7. Методы дискретной оптимизации сложность которого оценивается, например, функцией nfnn, не являющейся экспонентой. Принято считать задачу хорошо решаемой, если для ее решения существует полиномиальный алгоритм. Класс всех таких задач обозначается через Р (Polynomial). Другой важный класс NP (Nondeterministically Polynomial) состоит из задач, которые полиномиально разрешимы на недетерминированном вычислительном устройстве. Понятие полиномиальной разрешимости на недетерминированном вычислительном устройстве можно неформально пояснить понятием полиномиальной проверяемости. Так, полиномиальная проверяемость задачи о коммивояжере означает, что существует полиномиальный алгоритм, позволяющий вычислить длину любого маршрута и тем самым проверить, является ли он маршрутом, длина которого не превосходит заданной границы г. Очевидно, что Р с NP. Основной вопрос теории сложности дискретных алгоритмов состоит в доказательстве или опровержении гипотезы о том, что Р ф NP. Если гипотеза справедлива, то для решения наиболее трудных задач класса NP полиномиальных алгоритмов не существует. Задача считается наиболее трудной в классе NP, если к ней с полиномиальной временной сложностью сводится любая задача из NP. Такие задачи называются NP-полными. Примером NP-полной задачи является задача о коммивояжере. Список задач, NP-полнота которых доказана, в настоящее время достаточно обширен [16]. Установление принадлежности задачи классам Р, NP или ее NP-полноты является важной характеристикой сложности задачи. В то же время существуют NP-полные задачи, успешно решаемые на практике алгоритмами, имеющими экспоненциальную временною сложность (задача о рюкзаке — методом ветвей и границ). Более того, полиномиальный алгоритм решения задачи ЛП на практике дает худшие результаты, чем симплекс-метод, обладающий экспоненциальной временной сложностью. Таким образом, состояние теории в настоящее время не позволяет указать универсальные количественные и даже качественные оценки эффективности вычислительных алгоритмов. Такие оценки дает лишь вычислительная практика. А ЗАДАЧИ 1. Имеется п кандидатов на выполнение п работ. Назначение г-го кандидата на j-ю работу связано с расходами с^ A ^ г, j ^ п). Требуется назначить по одному кандидату на каждую работу так, чтобы суммарные расходы были минимальными. Сформулировать данную задачу как задачу ЛП с булевыми переменными. 2. Реберным покрытием графа (см., например, [37]) называется такой набор его ребер, в котором для любой вершины графа найдется инцидентное ей ребро. Требуется найти покрытие с минимальным числом ребер. Сформулировать данную задачу как задачу ЛП с булевыми переменными.
§ 2. Целочисленные задачи линейного программирования 317 § 2. Целочисленные и частично целочисленные задачи линейного программирования 1. Необходимость разработки специальных методов решения задач ЛП. Рассмотрим целочисленную задачу ЛП п 2_]cjXj —> min, V^ и -. B1) У UijXj ¦&¦ 0{, % — 1, . . . , 771, х,е{0, 1,2,...}, j=l ...,п. Естественно попытаться получить ее решение округлением решения задачи ЛП, получающейся из B.1) отбрасыванием требования целочисленности переменных. К сожалению, такой подход часто оказывается несостоятельным. В качестве примера рассмотрим задачу —5xi — 2x9 —» min, B 2) -llxi-4x2^-33, xi-2х2 ^-8; хь х2 G {0, 1, 2, ...}. Отбросив требование целочисленности, получим задачу ЛП, имеющую решением точку (хьхг) = A -рг, 4 — ). Легко убедиться, что лишь один из четырех возможных вариантов округления этого решения A,4), B,4), A,5), B,5), а именно A,4), дает допустимую точку для задачи B.2). Эта точка далека от точки C,0), являющейся единственным решением задачи B.2). Нетрудно построить примеры, показывающие, что описанный прием может давать сколь угодно плохие приближения к решению целочисленной задачи (см. задачу 1). Отметим еще, что в целочисленных задачах ЛП даже отыскание одной произвольной точки допустимого множества может оказаться весьма трудоемкой операцией. Таким образом, для решения целочисленных задач ЛП необходимо разрабатывать специальные методы. 2. Идея методов отсечения. В методах отсечения аппарат ЛП используется для решения целочисленных задач. Идея методов состоит в следующем. На первом этапе решается задача ЛП, получающаяся из B.1) отбрасыванием требования целочисленности х = (хь ..., хп). Если найденное решение х1 целочисленно, то оно, очевидно, является и решением задачи B.1). Если нет, то к ограничениям задачи, решаемой на первом п этапе, добавляется ограничение вида ]Г] am+i jXj ^ Ьт+ь которое «от- п секает» точку х1, т.е. ]? am+ijx] < 6m+i, и сохраняет в допустимом
318 Гл. 7. Методы дискретной оптимизации множестве все целочисленные точки допустимого множества исходной задачи. Такое ограничение называется правильным отсечением. На втором этапе находится решение х2 задачи ЛП с дополнительно введенным ограничением. Если точка х2 не является целочисленной, то для нее вводится новое правильное отсечение вида п Yl am+2jXj ^ Ьт+2> и т.д. до тех пор, пока решение очередной задачи j=\ ЛП не окажется целочисленным. Конкретные способы построения правильных отсечений приводят к конкретным вычислительным алгоритмам. При этом следует выбирать такие способы, которые обеспечивают отыскание решения задачи B.1) за конечное число шагов. Наиболее известны алгоритмы Гомори и их модификации. К недостаткам методов отсечения относятся непредсказуемость их поведения, необходимость учета все большего числа ограничений, слабая приспособленность к решению частично целочисленных задач, чувствительность к ошибкам округления. 3. Идея методов ветвей и границ. Методы типа ветвей и границ — это наиболее широко используемые в настоящее время методы решения не только целочисленных и частично целочисленных задач ЛП, но и других дискретных оптимизационных задач. Различные методы типа ветвей и границ существенно используют специфику конкретных задач и поэтому заметно отличаются друг от друга. Однако все они основаны на последовательном разбиении допустимого множества на подмножества (ветвлении) и вычислении оценок (границ), позволяющем отбрасывать подмножества, заведомо не содержащие решений задачи. Несколько конкретизируем общую идею методов ветвей и границ. Пусть решается задача отыскания min/(x). В зависимости от специфики задачи выбирается некоторый способ вычисления оценок снизу d(X') функции / на множествах X' С X (в частности, может быть X' = Х): , /(ж) ^ d(X'), х е X'. Оценка снизу часто вычисляется путем релаксации, т. е. замены задачи минимизации функции / по множеству X' задачей минимизации по некоторому более широкому множеству. Например, релаксация целочисленной или частично целочисленной задачи может состоять в отбрасывании требования целочисленности. Выбирается также правило ветвления, состоящее в выборе разветвляемого подмножества X' из числа подмножеств, на которые к данному шагу разбито множество X, и выборе способа разбиения X' на непересекающиеся подмножества. Иногда говорят, что ветвлению подвергается подзадача минимизации функции / на множестве X'. Обычно из числа кандидатов на ветвление выбирается множество X' с наименьшей оценкой, поскольку именно в таком множестве естественно искать минимум в первую очередь. При этом рассматриваются,
§ 2. Целочисленные задачи линейного программирования 319 конечно, только такие способы вычисления оценок снизу, в которых оценки для подмножеств, получившихся в результате разветвления X', не меньше d(X'). При решении релаксированной задачи может оказаться, что а) допустимое множество релаксированной задачи пусто и, стало быть, X' = 0; б) значение d(X') минимума для релаксированной задачи больше или равно наименьшему из уже вычисленных значений функции / (текущему значению рекорда) и, стало быть, min/(x) достигается вне множества X , в) точка минимума для релаксированной задачи принадлежит множеству X' и, стало быть, является точкой минимума / на X'. Во всех трех случаях множество X' исключается из числа кандидатов на дальнейшее ветвление. В случае в) текущее значение рекорда полагается равным минимуму из предыдущего текущего значения и вычисленного значения min f(x). С помощью метода ветвей и границ можно решать задачу приближенно. При этом на каждом шаге искомое значение минимума не больше текущего значения рекорда и не меньше наименьшей из оценок снизу для подзадач, входящих на данном шаге в число кандидатов на ветвление. Отметим, что существуют варианты метода ветвей и границ, разработанные специально для отыскания приближенного решения различных задач. Перейдем к описанию конкретного метода типа ветвей и границ. 4. Алгоритм Лэнд и Дойг. Рассмотрим частично целочисленную задачу ЛП п y^CjXj —> min, B.3) n j=l Y^ aijXj ^ bi, i = 1, ..., m; x3 ^ 0, j = 1, ..., n; B.4) Xje{0, 1,2, ...}, j€Jc{l n}. B.5) Допустимое множество задачи B.3)-B.5) предполагается ограниченным. Оценки снизу вычисляются с помощью релаксации, состоящей в отбрасывании условия B.5) целочисленности переменных. Получающиеся задачи решаются симплекс-методом. Прежде всего решается задача B.3), B.4). Если полученное решение хх удовлетворяет условию B.5), то задача B.3)-B.5) решена. В противном случае на первом шаге алгоритма выбирается любая нецелочисленная компонента xj.|f r\ е J, полученного решения и исходная задача B.3)-B.5) разветвляется на две подзадачи: первая — с дополнительным ограничением xrx ^ |_xnJ> ВТ0Рая "~ с дополнительным ограничением хГ] ^ [x|J + 1. Вычисляются оценки снизу, и если обе подзадачи остаются в числе кандидатов на дальнейшее ветвление, то для ветвления на втором шаге выбирается подзадача с минимальной оценкой.
320 Гл. 7. Методы дискретной оптимизации На fc-м шаге выбранная на (к— 1)-м шаге подзадача разветвляется на две новые с дополнительными ограничениями хГх ^ |_xrJ> хГк ^ [ж** J + * соответственно, где хГк (r^ € J) — любая нецелочисленная компонента решения xfc задачи ЛП, получающейся релаксацией подзадачи, выбранной для ветвления на (fc — 1)-м шаге. Для новых подзадач вычисляются оценки снизу. Формируется список кандидатов на ветвление. Для ветвления на (к + 1)-м шаге из числа кандидатов на ветвление выбирается подзадача с минимальной оценкой. Конечность алгоритма следует из ограниченности множества X. Если вместо ограничений B.5) в рассматриваемой задаче фигурируют ограничения ъе{0,l}, j€Jc{i n}, то описанный алгоритм, очевидно, применим, причем процесс ветвления существенно упрощается. ЗАДАЧИ 1. Для любого наперед заданного числа р привести пример такой целочисленной задачи ЛП, для которой округление до ближайших целых чисел компонент решения задачи ЛП, получающейся из исходной отбрасыванием условий целочисленности, дает точку, отстоящую от решения исходной задачи на расстояние, большее р. 2. Пусть на очередном этапе решения методом отсечения целочисленной задачи ЛП симплекс-методом найдена точка х* = (ж*, ..., х*), являющаяся решением соответствующей данному этапу канонической задачи ЛП, причем хотя бы одно число ж!- не целое. Положим J(x*) = = {j I 1 ^ 3 ^ n» x*j — 0}- Доказать, что ограничение ]Г) Xj ^ I jeJ(x*) является правильным отсечением. 3. Решить задачу B.2) методом ветвей и границ. § 3. Решение задачи о коммивояжере методом ветвей и границ В этом параграфе дается описание одного из вариантов метода ветвей и границ для задачи о коммивояжере. Напомним, что задача о коммивояжере (см. п. 4 § 1) состоит в минимизации функции f(x) = cili2 + a2i3 + ... + cinil C.1) на множестве X допустимых маршрутов х = (ц, ..., гп, i\), где (ч,...,гп) — произвольная перестановка чисел 1,...,п. Далее допустимые маршруты будем называть просто маршрутами, а переезды коммивояжера (ч, гг), fe, гз), ..., (гп, ч) — дугами маршрута. Чтобы запретить переезды вида (г, г), положим сц — +оо (г = = 1, ..., п). Матрицу расстояний обозначим через С = {cij)i,j=\,...,n, Cij ^ 0.
§ 3. Решение задачи о коммивояжере методом ветвей и границ 321 1. Операция приведения. Положим Qi = min cijt hj = min (cij - #*), Cij = Cij -Qi- hj. <7 = l,...,n t=l,...,n Матрицу С = {cij)i,j=i,...,n называют приведенной, операцию ее построения — приведением матрицы С, а величины git hj — константами приведения. Таким образом, приведенная матрица С получается вычитанием из всех элементов каждой строки матрицы С минимального элемента этой строки и из всех элементов каждого столбца получившейся матрицы минимального элемента этого столбца. Ясно, что с^- ^ 0 и в каждой строке, а также в каждом столбце матрицы С имеется хотя бы один нулевой элемент. Положим d(x)=f>+?>. г=1 j=\ Для любого маршрута х = (гь ..., гп, i\) e X }(Х) = Сцг2 + C{2iz + . . . + С{пг, = = cili2 + ci2iz + ... + cinil + d(X) ^ d(X), C.2) так как в сумме C.1) содержится ровно по одному элементу из каждой строки и из каждого столбца матрицы С. Неравенство C.2) показывает, что d(X) является оценкой снизу для множества X. Кроме того, после операции приведения длины всех маршрутов уменьшаются на одну и ту же величину d(X) и, следовательно, оптимальный маршрут, найденный с использованием приведенной матрицы, оптимален и для исходной задачи. 2. Ветвление. Процесс ветвления можно наглядно представить в виде дерева (рис. 3.1), каждая вершина которого соответствует некоторому множеству маршрутов, являющемуся подмножеством множества X. При этом начальная вершина соответствует множеству всех маршрутов X. На каждом шаге из числа кандидатов на ветвление выбирается множество X' с наименьшей оценкой. Оно разветвляется на два подмножества Х[ и IJ и исключается из числа кандидатов на ветвление. Подмножество Х[ состоит из всех маршрутов множества X', не содержащих некоторой выбранной на данном шаге описываемым ниже способом дуги (г, s)\ подмножество Х'2 — из всех маршрутов, содержащих дугу (г, s). Ребро дерева, соединяющее вершины X' и Х[, поме- Рис. 3.1. Ветвление
322 Гл. 7. Методы дискретной оптимизации чается (г, 5); ребро, соединяющее X' и Х'2, помечается (г, s). По пометкам на ребрах пути, ведущего в данную вершину, легко восстановить соответствующее ей множество маршрутов. Так, вершине X' на рис. 3.1 соответствует множество всех маршрутов из X, которые содержат дуги (г, j), (p, q) и не содержат дуги (fc, I). В п. 3 указан метод построения приведенных матриц расстояний для вершин дерева алгоритма. Пусть С — приведенная матрица, соответствующая вершине X'. Элемент матрицы С", стоящий на пересечении соответствующей городу р строки и соответствующего городу v столбца, будем обозначать через С"(/х, и). Это не обязательно элемент, стоящий на пересечении /2-й строки и г/-го столбца матрицы С", так как в процессе построения С" из исходной приведенной матрицы С вычеркиваются соответствующие некоторым городам строки и столбцы. Матрица С строится так, что отличный от оо элемент С'(р, и) содержится в ней тогда и только тогда, когда в X' найдется маршрут, содержащий дугу (/i, v). Опишем способ выбора дуги (г, s). Он основан на стремлении сделать оценку d(X'2) поменьше, а оценку d(X[) — побольше с тем, чтобы увеличить вероятность выбора для дальнейшего ветвления множества Х'2. Стремление к уменьшению d(X2) приводит к выбору такой дуги (г, s), для которой _ С'{г, 8) = О, C.3) поскольку все маршруты множества Х'2 содержат дугу (г, s). Стремление же увеличить d(X{) приводит к выбору среди дуг, удовлетворяющих условию C.3), той дуги, для которой значение функции 6(pt v) = min C"(/i, p) + min С (a, v) р: рфу о : офр, максимально: в(г, s) = max в(р, v). Здесь /х, и, р, а таковы, что матрица С содержит строки, соответствующие городам /i, а, и столбцы, соответствующие городам vy p. Смысл введения функции в состоит в том, что величина 0(/х, v) является, как нетрудно видеть, оценкой снизу для длины (по приведенной матрице расстояний) любого маршрута из X', не содержащего дуги (/х, v). 3. Построение приведенных матриц и вычисление оценок снизу. Начнем с построения приведенной матрицы расстояний для вершины Х[. Положим С (и и\ J^'")' (^ "^ (*¦•*)' [ Ч-ОО, (jL4, V) = (Г, S).
§ 3. Решение задачи о коммивояжере методом ветвей и границ 323 Искомая приведенная матрица ~С\ получается из С[ с помощью описанной в п. 1 операции приведения. Очевидно, что сумма констант приведения равна при этом 0(r, s), а величина d(X[) = d(X') + 9(r,s) является оценкой снизу функции C.1) на множестве Х[. Рассмотрим теперь множество Х'2. Все маршруты из этого множества содержат дугу (г, s). Найдем максимальный связанный путь, который принадлежит всем маршрутам множества Х2 и содержит дугу (г, s). Пусть этот путь начинается в городе т и заканчивается в городе t (может быть, га = г или t = s, или то и другое одновременно). Чтобы запретить подцикл, начинающийся и заканчивающийся в га, положим C2(t, m) = +оо. Остальные элементы матрицы С2 полагаем равными соответствующим элементам матрицы С"; при этом строку, соответствующую городу г, и столбец, соответствующий городу s, в матрицу С2 не включаем, поскольку все маршруты из Х2 содержат дугу (г, s). _ Приведенная матрица расстояний С2 для вершины Х2 получается из матрицы С2 с помощью операции приведения. При этом оценка снизу функции C.1) на множестве Х2 вычисляется по формуле d(Xfi = d(X') + r, где г — сумма констант приведения. 4. Формирование списка кандидатов на ветвление. После вычисления каждой из оценок d{X'i) (г =1,2) следует проверить, не состоит ли множество Х[ из единственного маршрута. Если в каждой строке и в каждом столбце матрицы Ci оказалось лишь по одному элементу, отличному от оо, то множество Х[ содержит единственный маршрут, длина которого равна d{X'i). В этом случае текущее значение рекорда (наименьшего из уже вычисленных значений функции /) полагается равным минимуму из предыдущего текущего значения и d(X,i). Если Х[ содержит более одного маршрута и d{X'i) меньше текущего значения рекорда, то множество Х[ включается в число кандидатов на ветвление. Для завершения описания алгоритма осталось заметить, что начальное значение рекорда полагается равным +оо, а начальный список кандидатов на ветвление состоит из вершины X. Остановка производится, если наименьшая из оценок снизу кандидатов на ветвление не меньше текущего значения рекорда. Чтобы не хранить в памяти приведенные матрицы расстояний для всех кандидатов на ветвление, можно на каждом шаге вычислять приведенную матрицу разветвляемого множества заново (см. задачу 2), кроме случая, когда после разветвления X' следующим разветвляемым множеством оказывается Х[ или Х2 (в этом случае целесообразно
324 Гл. 7. Методы дискретной оптимизации получить приведенную матрицу из матрицы С" описанным в п. 3 способом). Отметим в заключение, что метод ветвей и границ дает наилучшие результаты из всех известных в настоящее время методов решения задачи о коммивояжере. ЗАДАЧИ 1. Решить методом ветвей и границ задачу о коммивояжере с 43 16 оо 25 27 5 16 1 35 00 48 9 30 30 5 18 00 5 26] 25 0 18 5 00 2. Для произвольного подмножества X' всего множества маршрутов X описать способ построения приведенной матрицы расстояний С и оценки снизу d(Xf) по исходной матрице расстояний С и пометкам на ребрах пути, ведущего из вершины X дерева алгоритма в вершину X'. § 4. Метод динамического программирования В настоящее время метод динамического программирования широко применяется при решении некоторых классов оптимизационных задач (не обязательно дискретных). Термин «динамическое программирование» появился в послевоенные годы и принадлежит американскому математику Р. Беллману, однако идеи, на которых основывается динамическое программирование, использовались в математике давно и интенсивно развивались еще А. А. Марковым. Мы не будем пытаться охарактеризовать в общем виде метод динамического программирования, поскольку многие его особенности определяются конкретными задачами, а поясним этот метод на двух характерных примерах. Основные принципы динамического программирования хорошо прослеживаются на примере задачи о коммивояжере. Начнем с этого примера, не забывая, однако, о том, что для задачи о коммивояжере метод ветвей и границ значительно эффективнее метода динамического программирования. 1. Основное рекуррентное уравнение для задачи коммивояжера. В этом параграфе нам будет удобно занумеровать п городов, через которые проходит маршрут коммивояжера, числами О, 1, ..., п — 1. Ясно, что без ограничения общности можно считать, что любой маршрут начинается и заканчивается в городе 0. Задача состоит, таким образом, в минимизации функции СОг| ~Г Сг,г2 "Г • • • + Сгп_2гп_1 ~Г ctn_iO с = оо 27 7 оо 20 13 21 16 12 46 23 5
§ 4. Метод динамического программирования 325 на множестве всевозможных перестановок (гь ..., гп-\) чисел 1, ...,п-1. Обозначим через Afc_i@; гь ...,г^_ь г*) длину кратчайшего из путей, соединяющих города 0 и г* и проходящих в произвольном порядке через города гь ..., г*_ь а через 7rfc_i@; гь ..., zfc_i; ifc) — перестановку городов гь ..., г*_ь соответствующую кратчайшему пути. Предполагается, что числа 0, г'ь ..., ik-\, ik попарно различны при к ^ п — 1, гп = 0. Справедливо соотношение Afc@; гь ..., гь ifc+1) = min{Afc_i@; г2, ..., ifc; ii) + Ci|ifc+1, Afc-i@; гь гз, ..., %k\ г2) + c»2ifc+1, ... ..., Afc_i@; гь ..., tfc-i; h)-\-cikik+l}. D.1) 2. Принцип оптимальности. Рекуррентное уравнение D.1) выражает следующее очевидное свойство оптимальных многошаговых процессов принятия решений, называемое иногда принципом оптимальности. Оптимальное поведение в многошаговом процессе обладает тем свойством, что, какими бы ни были решение, принятое на последнем шаге, и состояние процесса перед последним шагом, предыдущие решения должны составлять оптимальное относительно этого состояния поведение. Столь же очевидно и другое свойство многошаговых процессов, которое также называют принципом оптимальности. Оптимальное поведение в многошаговом процессе обладает тем свойством, что, какими бы ни были решение, принятое на первом шаге, и состояние процесса после первого шага, последующие решения должны составлять оптимальное относительно этого состояния поведение. Сформулированные принципы носят общий характер и применяются не только в задачах дискретной оптимизации. Уравнение, являющееся математической формулировкой принципа оптимальности (например, уравнение D.1)), часто называют уравнением Беллмана. 3. Вычислительный алгоритм решения задачи о коммивояжере. Решение задачи о коммивояжере состоит в отыскании перестановки 7rn_i@; 1, ..., п— 1; 0), которая задает кратчайший маршрут, и величины An_i@; 1, ..., п — 1; 0), являющейся длиной этого маршрута. Вначале запоминаем значения Л0@; г) =сог, г = 1, ..., п- 1. На первом шаге вычисляем и запоминаем значения Ai@; г; j) = Л0@; г)+с^-; г, j = 1, ..., п - 1; гф j. Полагаем п\@; i\ j) = i и вычеркиваем из памяти таблицу значений Ло@; г).
326 Гл. 7. Методы дискретной оптимизации На fc-м шаге B<fc^n-2), пользуясь уравнением D.1), вычисляем и запоминаем значения функции Л^. В силу симметричности Ak по аргументам гь ..., гк достаточно рассматривать значения *ь • • •, Чу ik+\ такие, что О < i\ < ... < гк ^ п - 1, tfc+i ф гь ..., tfc+1 ф ik, 0 < ik+\ ^ п - 1. Строим и запоминаем также таблицу оптимальных перестановок 7Г^. Например, если из чисел под знаком минимума в D.1) минимально первое, то 7г*@; гь ..., ik\ ik+{) = Grfc-i@; г2, ..., й; м), ii). После этого вычеркиваем из памяти таблицы hk-\ и 7Г^_1. Наконец, на (п- 1)-м шаге вычисляем по формуле D.1) при к = = п— 1 искомую величину An_i@; 1, ..., п — 1; 0) и находим искомую перестановку 7rn_i@; 1, ..., п — 1; 0). Важным достоинством метода динамического программирования является его предсказуемость, т. е. возможность теоретически оценить объем вычислительной работы и объем занимаемой памяти. Пример такой оценки дается в п. 6. К недостаткам метода относится потребность в большом объеме памяти. 4. Основное рекуррентное уравнение для целочисленной задачи распределения ресурсов. Рассмотрим сформулированную в п. 3 § 1 задачу распределения ресурсов г=1 п Y~J Xi = га, Xi € {0, 1, ..., m}, i = 1, ..., n. D.2) г=1 Положим Ak(r) = тахУ^/г(х{)у к ^ n, r ^ m, D.3) i=\ где максимум берется по всем х\, ..., хк, удовлетворяющим условиям к ^2 xi = г, ж< е {0, 1, ..., г}, г = 1, ..., к. г=1 Обозначим через х\{г)у ..., х{:(г) какой-либо набор значений аргумента, реализующий максимум в D.3). Нетрудно видеть, что к-\ Л* (г) = max max ч(У"/*(^) + ЛЫ) = ж*€{0, l,...,r} xi xfc_i€{0, l,...,r-xfc} \f—f / г=1 = max (Ak-\(r-xk)+fk(xk)). D.4) Sk€{0, l,...,r} Полученное рекуррентное уравнение выражает сформулированный в п. 2 принцип оптимальности применительно к задаче распределения ресурсов.
§ 4. Метод динамического программирования 327 5. Вычислительный алгоритм решения задачи распределения ресурсов. Для решения задачи D.2) необходимо найти Лп(т), ж?(т), ..., х%(т). На первом шаге запоминаем значения A\(r) = /i(r), х\(г) = г (г = = 0, 1, ..., т). На fc-м шаге B < к ^ п — 1) по формуле D.4) вычисляем и запоминаем значения Л^(г), х%(г) (г = 0, 1, ..., га). При этом значение х^(г) отыскивается из условия реализации максимума в D.4). После этого вычеркиваем из памяти таблицу Af~-\. Наконец, на n-м шаге получаем по формуле D.4) при fc = n, r = т искомые значения Лп(т), х?(га) и вычисляем Хп-2(™>) = Хп-2(т ~ ХпМ ~ Хп-\ (™))> ¦ • ¦ . х^(т) = х\(т — х™(т) — ... — xV;(m)). 6. Оценка объема вычислений и сравнение с методом полного перебора. Для оценки объема вычислений при решении задачи D.2) методом полного перебора необходимо найти число неотрицатель- п ных целочисленных решений уравнения J2 х; = га. Это эквивалентно t=i известной комбинаторной задаче: сколькими способами можно разложить га шаров по п ящикам? Произвольный способ можно условно изобразить последовательностью из п +1 черточек и га звездочек, начинающейся и оканчивающейся черточками, где две соседние черточки обозначают ящик, а звездочка — шар. Так, последовательность символов |***|*|||**| изображает такой способ размещения 6 шаров по 5 ящикам, при котором в первый ящик помещается 3 шара, во второй — 1, третий и четвертый ящики остаются пустыми, а в пятый ящик помещается 2 шара. Ясно, что существует С™, „_, = -—Г/ г^ т-^п 1 т\(п — 1)! различных способов и, следовательно, столько же неотрицательных целочисленных решений у интересующего нас уравнения. Для каждого решения надо сложить п чисел f\(x\),..., fn(xn) и для получения текущего значения максимума сравнить полученную сумму с максимальной из до сих пор вычисленных сумм, т.е. произвести всего п операций. Итак, метод полного перебора требует (га-Ьп — 1)! выполнения п-—Г/ rr-f- операции. т\(п — 1)! В методе динамического программирования при вычислении Л&(г) по формуле D.4) требуется г -f 1 раз сложить два числа и для вычисления максимума каждую из полученных сумм сравнить с максимальной из до сих пор вычисленных, т.е. произвести 2г + 1 операций. Всего при составлении таблицы значений функции Л& придется произвести
328 Гл. 7. Методы дискретной оптимизации ]?Bг + 1) = (га + 1) операций. Такую таблицу придется составлять г=0 для к — 2, ..., п — 1, что требует выполнения всего (п — 2)(т + 1) операций. При вычислении Лп(т) потребуется произвести 2га + 1 операций. Таким образом, общее число операций равно (п — 2)(т + IJ + + 2т-fl, что значительно меньше, чем в методе полного перебора. Так, при т — 20, п = 10 получаем n ^m,|n~ii.^ = Ю0150050, (п - 2)(ш + IJ + 2га + 1 = 3569. га!(п — 1)! Более того, подсчитывая число операций, мы не учитывали операции вычисления значений функций /ь ..., /п. Это правомерно, если, например, все значения этих функций вычисляются и запоминаются заранее. Если же они каждый раз, когда возникает необходимость, вычисляются заново, то преимущество метода динамического программирования над полным перебором еще более возрастает. 7. Решение непрерывной задачи распределения ресурсов. Рассмотрим задачу п ^ЫУг) ~>max, i=l D.5) ]Ру» = а, yi ^0, г= 1, ..., п, г=1 в которой на переменные уь ..., уп не наложено требования целочис- ленности и предполагается, что функции <р\, ..., у?п удовлетворяют на отрезке [0, а] условию Липшица с константой L. Зафиксировав сетку 0, — ,2—, ..., m — и положив 771 771 771 /г(Яг) = </>i(x; —), Xi G {0, 1, ..., Ш}, г=1,...,П, D.6) заменим задачу D.5) на задачу D.2). Пусть х*, ...,?* — решение задачи D.2), а у*, ..., у* — решение задачи D.5). Выберем хь ..., хп так, что п ^2х{ = га, X; Е {0, 1, ..., га}, у* - х* ~ < ^. Тогда о < ir^y*) - ?>(*? ?) = !>(»?) - Ё^(х*) < г=1 г=1 г=1 г=1 n n n n г=1 i—\ г=1 г=1 п п < $3Н^*) - v* {xi S) И LH к - х< ? I ^Ln ?• i=l i=!
§ 5. Целочисленная задача распределения ресурсов 329 Следовательно, решив задачу D.2) с функциями D.6) при т ^ Lna/e, мы тем самым решим с точностью не хуже е и задачу D.5). Таким образом, метод динамического программирования применим для решения не только дискретных, но и непрерывных задач. Он применим также и в задачах отыскания экстремумов функционалов. ЗАДАЧИ 1. Выписать рекуррентное уравнение для длины кратчайшего пути коммивояжера, оканчивающегося в городе 0, пользуясь второй формулировкой принципа оптимальности. 2. Решить методом динамического программирования задачу о коммивояжере с матрицей С из задачи 1 § 3. 3. Описать вычислительный алгоритм метода динамического программирования для решения задачи п Y^fi(xi) -»max, у] Х{ ^ га, Xi ? {0, 1, ..., га}, i = 1, ..., n. i=\ 4. Промышленность может выпускать п различных видов станков. Пусть bi — потребность в станках г-го вида, i = 1, ..., п. Станок вида i может выполнять работу станка вида г + 1 и всех последующих видов. Заданы функции стоимости fi(xi) изготовления х» станков вида г, г=1,...,п. Требуется определить, какие виды станков и в каких количествах необходимо выпускать, чтобы удовлетворить заданные потребности при наименьшей сумме затрат на производство. Описать алгоритм решения задачи методом динамического программирования. § 5. Целочисленная задача распределения ресурсов при вогнутых целевых функциях 1. Постановка задачи. В этом параграфе рассматривается такая же задача, как и в § 4, но при дополнительном предположении о вогнутости функций /ь ...,/п. Это предположение позволяет существенно упростить решение. Данный пример наглядно показывает важность правильного учета специфики конкретной решаемой задачи. Итак, рассмотрим задачу п ^>2fi(xi) -»max, г=1 E.1) 2_2 Xi=^m, Xi G {0, 1, ..., m}, г = 1, ..., n, г=1 где для всех j = I, ..., т— 1, г = 1, ..., п т - fiU -i)> Mj+о - т. E.2)
330 Гл. 7. Методы дискретной оптимизации Очевидно, что условия E.2) выполнены для вогнутых на отрезке [0, га] функций /i,...,/n. Эти условия являются аналогом определения вогнутости для функций целочисленного аргумента. 2. Вычислительный алгоритм и оценка его трудоемкости. Так как fi(xi) = (fi(xi) - fi(xi - 1)) + (fi(xi - 1) - fi(Xi - 2)) + ... ... + ЛA)-Л@)) + Л@), TO n xi ?Л(ач)= ? X>i + C E.3) г=1 г€{г|1^г<?п, Xi>0} j=l где " Oii = /,(j)-/i(i-l), i=l,...,n, j = l,...,m; С = ]?Л@). г=1 Итак, исходная задача E.1) сводится к максимизации двойной суммы E.3), содержащей m элементов матрицы (а^). Принимая во внимание неравенства E.2), которые можно переписать в виде an ^ ai2^ ...^ airnt г = 1, ..., п, нетрудно видеть, что для решения задачи E.1) достаточно из матрицы (а^) выбрать га наибольших элементов. Запишем теперь, пользуясь оператором := (присвоить значение), следующий, принадлежащий О. Гроссу, алгоритм (см. [47]). Шаг 0: ж» := 0, i = 1, ..., п. Шаг j (l^j^ra): k := arg max (/;(x; + 1) - fi(%i)), ж*: :=xfc + 1. Учитывая E.2), убеждаемся, что, совершив га раз шаг j, выберем тем самым га наибольших элементов в двойной сумме E.3) и, следовательно, получим решение задачи E.1). Оценим объем вычислений. На первом шаге придется вычислить п разностей /»A) — /;@), произвести п - 1 сравнений для отыскания максимума и запомнить текущие значения разностей. На каждом из га - 1 оставшихся шагов придется вычислять одну разность и производить не более п — 1 сравнений. Общее число операций, таким образом, не больше (га + \)п - 1. Так, при га = 20, п = 10 потребуется произвести не более 209 операций, в то время как в методе динамического программирования необходимо произвести 3569 операций (см. п. 6 § 4). ЗАДАЧИ 1. Описать алгоритм решения задачи E.1) при заданном начальном приближении Хр ..., х„ таком, что т ^х? = га, х°е{0, 1, ...,га}, »=1, .... п. г=1 2. Решить задачу E.1) при условии fx=f2 = ... = fn.
§ 6. Приближенные методы 331 § 6. Приближенные методы Т О применении и разработке приближенных методов. Целесообразность использования приближенных методов обусловлена рядом обстоятельств. Прежде всего, для большинства прикладных задач вполне достаточно вместо точного получить хорошее приближенное решение, в то время как отыскание точного решения может потребовать недопустимо больших затрат ресурсов ЭВМ. За счет отказа от поиска точного решения задачи в ряде случаев удается построить простые, например полиномиальные, алгоритмы для сложных, например NP-полных задач (см. п. 6 § 1). Большие затраты ресурсов на поиск точного решения неоправданны в задачах, в которых оптимизация проводится в рамках упрощенных математических моделей, дающих грубое описание реальных процессов. Приближенные методы разрабатываются на основе различных принципов. Так, в ряде случаев удается получить хорошее приближенное решение задачи, используя точные методы или их модификации, разработанные специально для отыскания приближенных решений. В качестве примера можно привести метод ветвей и границ, который часто успешно используется для приближенного решения различных задач (см. п. 3 § 2). Точные методы могут использоваться и как элементы приближенных гибридных схем. Для приближенного решения задач часто используют так называемые локальные методы. Основным элементом локального метода является способ определения окрестностей точек допустимого множества. Например, для задач ЛП с булевыми переменными окрестностью точки х, принадлежащей допустимому множеству, можно считать совокупность всех допустимых точек, отличающихся от х не более чем одной компонентой. На (г+1)-м шаге решения локальным методом задачи минимизации функции / отыскивается с помощью полного перебора минимум ж*+* функции / в окрестности точки х1, найденной на г-м шаге. Если /(х*+*) = f{xl), то точка локального минимума хг принимается за приближенное решение задачи. Если /(xt+1) < f(x%), то производится переход к (г + 2)-му шагу. Большинство приближенных методов носит эвристический характер. Эвристическими принято называть методы, построенные на основе различных, подсказанных здравым смыслом соображений. Эти соображения, как правило, исходят из правдоподобных, но не обоснованных строго представлений о свойствах задачи. Тем не менее в ряде случаев удается доказать, что предлагаемый алгоритм позволяет гарантировать отыскание приближения, относительная ошибка которого не превышает определенной величины. В последующих пунктах рассматриваются два примера такого рода. Подробнее с этим новым интересным направлением исследований можно ознакомиться в монографии [16].
332 Гл. 7. Методы дискретной оптимизации 2. Задача распределения заданий в многопроцессорной системе. Многопроцессорная система состоит из нескольких одинаковых процессоров. Имеется п заданий, занумерованных числами 1, ..., п. Время выполнения г-го задания любым процессором равно U. Считаем, что число U рационально, 0 < U ^ 1 (г = 1, ..., га). Задания поступают в многопроцессорную систему в момент времени 0 и не допускают прерывания. Необходимо найти распределение заданий, обеспечивающее завершение всех заданий к моменту времени 1 при помощи минимального числа процессоров. Эту же задачу можно интерпретировать и как задачу об упаковке. Именно, пусть имеется бесконечная последовательность контейнеров, каждый размера 1, и га предметов; г-й предмет имеет размер U (г = = 1, ..., п). Требуется разместить эти предметы в минимальном числе контейнеров. Вполне естественным с точки зрения здравого смысла представляется следующий простой алгоритм, обозначаемый FF (First Fit — первый подходящий). Алгоритм заключается в том, что предметы размещаются по очереди в порядке возрастания номеров, причем очередной (г-й предмет помещается в первый подходящий контейнер, т. е. в контейнер с наименьшим номером среди контейнеров, для каждого из которых U плюс сумма размеров уже помещенных в него предметов не превосходит 1. Введем некоторые обозначения. Пусть П — класс оптимизационных задач рассматриваемого типа (массовая задача), 7г — некоторая задача из П, определяемая конкретными значениями параметров (индивидуальная задача). Так, в рассматриваемом примере параметрами массовой задачи являются га, t\, ..., tn. Пусть А — некоторый алгоритм, который строит приближенное решение для любой задачи 7г е П (построенное решение может оказаться и точным). Обозначим через А(п) значение целевой функции в точке, которую строит алгоритм А в качестве приближенного решения для задачи 7г. Наконец, пусть ОРТ Gг) — значение целевой функции в точке, соответствующей точному решению задачи п. Используя введенные обозначения, основной результат, характеризующий эффективность алгоритма FF, можно сформулировать следующим образом. Для любой задачи 7г е П FFGr)^OPTGr) + 2. F.1) Существуют задачи 7г € П со сколь угодно большим ОРТGг), для которых FFGr)>^(OPTGr)-l). F.2) Грубо говоря, число занятых контейнеров при размещении предметов с помощью алгоритма FF отличается от минимального числа не более чем на 70%, и в некоторых случаях такое отличие действительно достигается.
§ 6. Приближенные методы 333 Лучших результатов удается достичь с помощью алгоритма FFD (First Fit Decreasing — первый подходящий в порядке убывания). Алгоритм FFD заключается в применении алгоритма FF к списку предметов, перенумерованных в порядке убывания их размеров. Оказывается, что для любой задачи 7г е П FFD (тг) < у ОРТ (тг) + 4. F.3) Существуют задачи 7г е П со сколь угодно большим ОРТGг), для которых 11 FFDGr)^yOPTGr). F.4) Отметим, что доказательства неравенств F.1)-F.4) требуют кропотливого рассмотрения многочисленных случаев и довольно трудоемки. 3. Задача о коммивояжере. Рассмотрим задачу о коммивояжере (см. п. 4 § 1). Предположим дополнительно, что а$ = Cji и что расстояние удовлетворяет неравенству треугольника, т. е. Cij + Cjk ^ с^ для любых г, j, к. Как и в п. 1, будем говорить о классе задач П данного типа с параметрами п, с^- (г, j = 1, ..., п), конкретные значения которых определяют индивидуальные задачи 7т е П. Согласно алгоритму NN (Nearest Neighbor-ближайший сосед), коммивояжер, прибыв в некоторый город, выбирает в качестве следующего пункта маршрута ближайший из еще не посещенных городов. Однако эффективность этого алгоритма невысока. Именно, для любой задачи 7г е П , NNGr)^i([log2nl + l)OPTGr). Существуют задачи 7г е П со сколь угодно большим п, для которых NN(tt) > I(log2(n+ 1) + |HРТGг). Для того чтобы описать значительно более эффективный алгоритм MST (Minimum Spanning Tree — минимальное остовное дерево), необходимо ввести понятие минимального остовного дерева и описать алгоритм его построения. Любую задачу 7г можно представить в виде ориентированного графа, узлами которого являются города. Любые два различные узла г, j соединены ребром (г, j) длины с^-. Остовным деревом данного графа называется неориентированное дерево (т.е. связный подграф без циклов), содержащее все узлы графа. Минимальным остовным деревом называется остовное дерево, сумма длин ребер которого минимальна. Один из алгоритмов построения минимального остовного дерева (не самый экономный) заключается в следующем. Вначале список S узлов минимального остовного дерева состоит из единственного произвольным образом выбранного узла, а список Т ребер этого дерева пуст. На fc-м шаге (к — 1, ..., п — 1) из ребер вида (г, j), где г е 5, j ? 5,
334 Гл. 7. Методы дискретной оптимизации выбирается ребро (г^, jk) минимальной длины. Это ребро вносится в список Т, а вершина Д — в список 5. Нетрудно показать, что после (п — 1)-го шага список Т задает минимальное остовное дерево. Приступим к описанию алгоритма MST. Вначале строится маршрут двойного обхода минимального остовного дерева (рис. 6.1, а, б). Этот Рис. 6.1. Преобразование остовного дерева в маршрут коммивояжера: а — остовное дерево; б — двойной обход дерева; в — маршрут, полученный алгоритмом MST маршрут, конечно, не является допустимым, но легко преобразуется в допустимый. Для этого следует зафиксировать произвольный начальный город (например, город 1 на рис. 6.1, в) и каждый раз шаг из очередного города г делать в первый следующий за г на маршруте двойного обхода еще не посещенный город (рис. 6.1, в). Полученный маршрут и есть результат работы алгоритма MST. В силу неравенства треугольника длина этого маршрута не больше длины маршрута двойного обхода, т.е. не больше удвоенной суммы длин ребер минимального остовного дерева. Эта сумма в свою очередь меньше длины оптимального маршрута коммивояжера, так как, выкидывая из оптимального маршрута произвольное ребро, получаем остовное дерево. Проведенные рассуждения показывают, что для любой задачи 7ГеП MSTGr)<20PTGr). Наилучший из известных в настоящее время полиноминальных алгоритмов приближенного решения задачи о коммивояжере позволяет построить маршрут, длина которого для любой задачи 7г е П меньше |оРТ(тг). А ЗАДАЧИ 1. Доказать более слабое, чем F.1), неравенство FFGr)< <20РТ(тг). 2. Показать, что для любого г < 2 найдется такая индивидуальная задача о коммивояжере 7г Е П, для которой MSTGr) > гОРТGг).
Глава 8 ЭЛЕМЕНТЫ ТЕОРИИ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ Задачи оптимального управления составляют один из широких классов экстремальных задач и имеют важное прикладное значение. Математическая теория оптимального управления, основанная на принципе максимума Понтрягина, продолжает интенсивно развиваться. Различным аспектам этой теории посвящена обширная литература (см., например, [1, 11, 12, 20, 34, 40, 41, 42]). В данной главе мы кратко изложим лишь некоторые результаты, связанные с принципом максимума. § 1. Постановка задачи оптимального управления В этом параграфе дается постановка задачи оптимального управления, уточняющая постановку, приведенную в п. 11 § 1 гл. 1. Пусть движение управляемого объекта описывается системой дифференциальных уравнений х = f(x, u,t), A.1) где х = (х\, ..., хп) — вектор координат объекта или фазовых координат, f = (/i, ..., /n) — заданная вектор-функция, и — (щ, ..., иг) — вектор управлений или просто управление. В уравнении A.1) векторы х, и являются функциями переменной t, обозначающей время, причем t e [t0i Т], где [to,T] — отрезок времени, на котором происходит управление системой. На управление обычно накладывается условие u(t)eU(t), te[t0,T], A.2) где U(t) — заданное множество в Rr при каждом t e [to, T]. Будем называть далее управлением кусочно-непрерывную на отрезке [t0, T] (т. е. имеющую конечное число разрывов первого рода) r-мерную вектор-функцию и, непрерывную справа в точках разрыва и непрерывную в точке Г. Управление и называется допустимым, если оно удовлетворяет ограничению A.2). Заметим, что ограничиться рассмотрением непрерывных управлений оказывается невозможным, так как с их помощью трудно моделировать моменты переключения управления такие, как, например, включение и отключение двигателей, отделение ступеней ракеты, поворот рулей и т. д.
336 Гл. 8. Элементы теории оптимального управления Иногда рассматривают и более широкие классы допустимых управлений, например, класс всех ограниченных измеримых управлений, удовлетворяющих условию A.2). Покажем, как при произвольном начальном положении х° е Rn и допустимом управлении и определяется траектория управляемого объекта. Рассмотрим задачу Кош и x(t) = f{x(t), u(t), t), t0^t^T, x(to) = x°. A.3) Поскольку при разрывных правых частях классическое понятие решения системы дифференциальных уравнений неприменимо, поясним, что понимается в данном случае под решением задачи A.3). Для этого поступим следующим образом. Пусть функция и имеет скачки в точках ть ...,ть to < т\ < < t<i < ... < г*. < Т. Предположим, что задача A.3) имеет решение х, определенное на всем отрезке [*o»^i]. причем х(т\) = х1. Далее рассмотрим задачу Коши x(t) = f(x(t),u(t),t), х{тх)=хх. Предполагая, что она имеет решение на отрезке [т\, тг] и xfa) = = х2, приходим к задаче x{t) = f{x(t),u(t),t), х(т2) = х2 и т.д. Если функцию х удалось определить указанным способом на всем отрезке [?0,Т], то будем называть ее решением задачи A.3) или фазовой траекторией (иногда просто траекторией), соответствующей управлению и. Отметим, что х — непрерывная по построению функция, удовлетворяющая на отрезке [to, T] равенству t x(t) = x° + |/(ж(т), u(t)9 r) dr. При выполнении определенных условий на / решение задачи A.3), соответствующее управлению и, существует и единственно при произвольном начальном положении х° и произвольном допустимом управлении и. Пример таких условий дает следующая теорема. Теорема 1.1. Пусть вектор-функция f определена и непрерывна по совокупности аргументов на Rn х Rr x [to,T] и удовлетворяет условию Липшица по х с некоторой константой М > 0: \\/{х,и,г)-№9и,г)\\^м\\х-х% х, х' GRn, ueRr, te[to,T\. Тогда при любом х° G Rn и любом кусочно-непрерывном управлении и задача A.3) имеет единственное решение, определенное на всем отрезке [?о,Т].
§ 1. Постановка задачи оптимального управления 337 Доказательство теоремы, а также более общие факты, касающиеся решения дифференциальных уравнений с разрывными правыми частями, можно найти, например, в [12]. Всюду в дальнейшем накладываемые на / условия гарантируют при произвольном х° и произвольном допустимом управлении и существование и единственность решения задачи A.3). Помимо ограничения на управление могут существовать ограничения и на фазовые координаты x(t)eX(t), te[t0,T]. A.4) Ограничения на концах траектории целесообразно рассматривать отдельно: x(t0)eSo{t0), t0eQ0, x(T)eS(T), Те 9; A.5) здесь So(t0), S(T) — заданные множества из Rn; 0О, в — заданные множества из R, причем inf9o<sup0, t0 < Т. Таким образом, начальный и конечный моменты времени не обязательно фиксированы. Случаю фиксированных to, Т соответствуют множества 9о, 9, состоящие из одной точки; при этом говорят, что рассматривается задача с закрепленным временем. Если So(to) = {х0} при любом to Е 9о, то левый конец траектории называют закрепленным. Если же So(to) = Rn при всех to E 9о, то левый конец траектории называют свободным. Во всех остальных случаях левый конец называют подвижным. В аналогичных ситуациях говорят о закрепленном, свободном или подвижном правом конце траектории. Цель управления в задаче оптимального управления состоит в минимизации некоторого функционала. Мы будем рассматривать задачу с целевым функционалом т \fo(x(t), u(t), *)<Й + Ф(х(Т), Г), A.6) представляющим собой сумму интегрального функциона- т ла /о(х(?), u(t), t)dt и терминального функционала Ф(х(Т), Т). Эта задача называется задачей Больца. Ее частными случаями являются задача с интегральным функционалом, называемая задачей Лагранжа, и задача с терминальным функционалом, называемая задачей Майера. Задача с интегральным функционалом при /о = 1 называется задачей оптимального быстродействия. Поясним, что понимается под минимизацией функционала A.6). Для этого заметим, что при фиксированных to, Г, х° и допустимом управлении и траектория х управляемого объекта и, следовательно, значение функционала A.6) определяются однозначно (конечно, предполагается, что выполнены соответствующие условия на / и ?о < Т). 13 А Г. Сухарев и др.
338 Гл. 8. Элементы теории оптимального управления Задача оптимального управления заключается в минимизации этого функционала на множестве наборов (?0, Т, х°, и, х) таких, что to G во, Т е в, t0 < Т, х° ? S0(to), управление и допустимо, траектория х определяется в результате решения задачи Коши A.3), причем х(Т) е G S(T) и выполнены условия A.4). Набор (t0y Г, х°, и, х), минимизирующий функционал A.6), называется решением задачи оптимального управления, управление и — оптимальным управлением, а траектория х — оптимальной траекторией. Часто решением задачи оптимального управления называют пару (и, х). В заключение отметим, что сформулированная выше задача оптимального управления допускает множество различных и далеко идущих обобщений. ЗАДАЧИ 1. Показать, что задача Лагранжа и задача Больца сводятся к задаче Майера. Указание. Ввести дополнительную фазовую переменную x0(t) t такую, что xo(t) = |/0(x(r), и{т), r)dr. ч 2. Пусть в задаче Майера фиксирован левый конец траектории x(to) = x° и функция Ф(х, t) дифференцируема. Доказать, что задача Майера сводится к задаче Лагранжа с функционалом J = Указание. Использовать равенство Ф(х(Т), Г) = Ф(х(?о), *о) + т + f^A- J dt § 2. Принцип максимума Понтрягина 1. Формулировка принципа максимума. Рассмотрим задачу оптимального управления, являющуюся частным случаем задачи, сформулированной в § 1, т J7o(*@, 4*)> *)* + *(*СП) -> min> *о B.1) x(t) = f(x(t), u(t), t), x(t0) e So, x(T) eS, где u(t) eU, to^t^T, So = {x e Rn | gi(x) = 0, f = 1 m0}, S = {x e Rn \ gi(x) = 0, i = ra0 + 1, ..., m0} . B.2)
§ 2. Принцип максимума Понтрягина 339 При этом предполагается, что моменты t0, T фиксированы, т.е. рассматривается задача с закрепленным временем; множество U не зависит от времени, фазовые ограничения отсутствуют. Положим п Н(х, U, t, фо, ф) = ]Г^г/г(я, U, t), г=0 где фо — константа, ф(Ь) = (ф\(Ь)У ..., Фп^)). Функция Н называется функцией Гамильтона. Система линейных дифференциальных уравнений ф = -Н'х относительно переменных ф\, ...,фп называется сопряженной системой, соответствующей управлению и и траектории х. Здесь Щ = = (дН/дх\, ..., дН/дхп). В более подробной покоординатной записи сопряженная система принимает вид j>i(t) = —^ H(x(t), u(t), t, фо, ф(г)), г = 1, ..., п, B.3) ИЛИ п **® = -*> Ш1 fo{x{t)> u{t)>t]" 5>(t) ^т ?(*(*)• «(')• ')• г = 1, ..., п. Из теоремы 1.1 следует, что система B.3) имеет при любых начальных условиях единственное решение ф, определенное и непрерывное на всем отрезке [to, T]. Следующая теорема выражает необходимые условия оптимальности в задаче B.1). Теорема 2.1 (принцип максимума Понтрягина). Пусть функции /о, /ь ..., fn, Ф, д\, ..., дш имеют частные производные по переменным х\, ..., хп и непрерывны вместе с этими производными по совокупности аргументов х е Rn, и eU, t e [to,T]. Предположим, что (и, х) — решение задачи B.1). Тогда существует решение ф сопряженной системы B.3), соответствующей управлению и и траектории х, и константа фо < О такие, что \фо\ + \\Ф^)\\ ф 0 при t E [to, T], и выполняются следующие условия: а) (условие максимума) при каждом t € [to, T] функция Гамильтона H(x(t), v, t, фо, ф(Ь)) достигает максимума по v eU при v — = u(t), т. е. H(x(t), u(t), t, фо, ф(Ь)) = maxH(x(t), v, t, ф0, ф(Ь))\ B.4) б) (условие трансверсальности на левом конце траектории) существуют числа Х\, ..., А^ такие, что то 1>(ъ>) = ?а^(*(*о)); B-5) г=1 13*
340 Гл. 8. Элементы теории оптимального управления в) {условие трансверсальности на правом конце траектории) существуют числа А^+ь • •, Ат такие, что т ф(Т)-ф0Ф'(х(Т))= Y, А^(*СП). B-6) г=то+1 Доказательство теоремы будет дано в п. 3, причем лишь для некоторого частного случая. Центральным в теореме 2.1 и аналогичных теоремах [1, 12, 40], где формулируются необходимые условия оптимальности для различных задач оптимального управления, является условие максимума B.4). Посмотрим теперь, как выглядят условия трансверсальности в важных частных случаях закрепленных и свободных концов траектории. Пусть So = {х0}, т. е. левый конец траектории закреплен. Этому случаю в B.2) соответствуют функции gi{x) = Xi — x°i (i = = 1, ..., mo = п), и B.5) приобретает вид ip(t0) = (Аь ..., Ап), т. е. условие трансверсальности на левом конце траектории выполнено при любом ip(to). Таким образом, при закрепленном левом конце траектории условие трансверсальности на этом конце не несет никакой информации и его нет нужды формулировать. То же самое относится и к правому концу траектории. Пусть So = Rn, т.е. левый конец траектории свободен. Этому случаю в B.2) соответствуют функции ^=0 (г = 1, ..., то), и B.5) приобретает вид i/)(to) = 0. Аналогично при свободном правом конце траектории условие трансверсальности на этом конце приобретает вид ф(Т) - фо&{х(Т)) = 0. Замечание. Если отказаться от предположения о том, что конечный момент времени Т фиксирован, то теорема 2.1 останегся справедливой за исключением условия трансверсальности на правом конце траектории. Точнее говоря, пусть Т ^ ?о> минимизируемый функционал и ограничения на правом конце траектории имеют соответственно вид т ч х{Т) е S(T) = {х е Rn | 9i{xt Г) = 0, i = тп0 + 1, ..., m}, функции Ф(х, ?), gmo+\(xy t), ..., gm(x, t) непрерывны вместе со своими частными производными по переменным х\, ..., хпу t по совокупности аргументов х Е Rn, t € [to, -foo), j?9MT),T)?0, J^(x(T),T)^0, t = m0+lf...,m> где dgi/дх = (dgi/dx\t ..., dgi/dxn). Тогда теорема 2.1 оказывается справедливой, если в ней условие B.6) заменить условием я m я ф(Т)-фо?Цх(Т),Т)= ? Ъ±дМТ),Т) t=mo+l
§ 2. Принцип максимума Понтрягина 341 и добавить еще одно условие трансверсальности на правом конце траектории: Н(х(Т), и(П Г, фо, Ф(Т)) -фЛ Ф(*(Г), Г) = я = ? к^дМПТ). г=то+1 2. О методах решения задач оптимального управления. Убедимся вначале, что необходимые условия оптимальности в форме принципа максимума дают, вообще говоря, достаточную информацию для решения задачи оптимального управления B.1), B.2). Условие максимума B.4) позволяет, в принципе, найти управление и как функцию параметров х, t, фо, ф: Н(х, и(ху t, ф0, ф), г, ф0, ф) = max#(x, v, t, ф0, ф). B.7) Рассмотрим систему дифференциальных уравнений х = f(x, и(х, t, ф0) ф), t), \2. о) Ф = -Я?(я. и(х, t, фо, Ф), t, фо, ф), объединяющую систему уравнений движения объекта и сопряженную систему. Как известно, общее решение системы B.8), состоящей из 2п обыкновенных дифференциальных уравнений первого порядка, зависит от 2п параметров. Кроме того, система необходимых условий оптимальности содержит га параметров Аь ..., Ат и параметр ф0. Таким образом, общее число неизвестных равно 2п + га + 1. Для их определения мы имеем 2п условий B.5), B.6) и га условий B.2). Еще одно условие определяется из следующих соображений. Легко понять, что, в силу линейности функции Н по переменным фо^ ф, теорема 2.1 определяет вектор (-00» Ф) с точностью до положительного постоянного множителя. Поэтому если в конкретной задаче удается показать, что фо^О, то полагают обычно ф0 = -1. В противном случае накладывают какое-либо условие нормировки, например, |V>o|2 + HV>(*o)||2 = 1. Таким образом, общее число условий равно 2п + га + 1 и совпадает с числом неизвестных параметров, что, в принципе, позволяет определить эти параметры. Изложенные соображения дают возможность в простейших случаях решить задачу оптимального управления в явном виде. Ў Опишем численный метод, основанный на тех же соображениях. Для этого рассмотрим краевую задачу для системы дифференциальных уравнений B.8) с краевыми условиями B.5), B.6), а также выписанными на основе B.2) краевыми условиями 9i(x(t0)) = 0, г=1,...,га0; gi(x(T)) = 0, г = га0 + 1, ..., га. B.9)
342 Гл. 8. Элементы теории оптимального управления Эта задача называется краевой задачей принципа максимума. Задав произвольные начальные условия x(to) = a, ip(to) = b и решив каким-либо численным методом задачу Коши для системы B.8), можно найти х(Г), ф(Т). При этом на каждом шаге численного интегрирования значение u(xt t, фо> Ф) находится из решения вспомогательной оптимизационной задачи B.7) (считаем, что параметр ф0 задан и равен либо 0, либо —1). Значения #(Т), ф{Т) являются, очевидно, некоторыми функциями от а и Ь: х(Т) = (р\(а, 6), ф(Т) = (р2{а, Ь). Решение краевой задачи принципа максимума сводится, таким образом, к решению полученной из B,9), B.5), B.6) системы уравнений &(а)=0, г=1,...,га0, &(<?i(a, Ь)) = 0, г = га0 + 1, ..., га, то Ь = ^Л^(а), *=1 т (р2(а, Ъ) - фо&(<Р1(а> Ь)) = ^2 Xig'i{<P\(°» Ь))' • г=т0+1 Эта система содержит 2п + га неизвестных а, 6, Аь ..., Аш и состоит из 2п + m уравнений. Ее решение можно находить известными численными методами, например методом Ньютона. Отметим, что вычисление значений <р\(ау 6), (р2(а, Ь) весьма трудоемко, так как требует при каждом (a, b) решения задачи Коши для системы дифференциальных уравнений B.8). Именно в таких случаях особое значение приобретает изучение вопросов эффективности численных методов и построения оптимальных методов (см. гл. 2). При реализации на ЭВМ методов решения задач оптимального управления, основанных на необходимых условиях экстремума, могут встретиться также значительные трудности, вызванные некорректностью постановки исходной и вспомогательных задач и некоторыми особенностями краевой задачи принципа максимума. Это приводит к необходимости применения методов регуляризации, учета специфики конкретной решаемой задачи, ее физического смысла и т. п. Другие численные методы, не связанные непосредственно с принципом максимума, основаны на редукции исходной задачи к некоторой конечномерной задаче математического программирования. Их называют иногда прямыми методами (впрочем, разделение вычислительных методов на прямые и непрямые довольно условно). Конечномерные аналоги задач оптимального управления имеют особенности, позволяющие эффективно применять некоторые методы нелинейного, динамического программирования и т.д. [9, 10, 12, 20, 34, 57]. Продемонстрируем пример такого подхода. Рассмотрим следующую задачу оптимального управления т \fo(x(t), u(t), г)Л + Ф(х(Т)) -min, ±(t) = f(x(t), u(t), t), u(t) e U(t), x(t) e G(t), t0 < t ^ T,
§ 2. Принцип максимума Понтрягина 343 где моменты времени t0, T фиксированы. Это задача более общего вида, чем B.1), ибо в B.10) U зависит от времени и имеются фазовые ограничения произвольного вида, которые, в частности, могут содержать ограничения на концах траектории вида B.2). Зафиксируем моменты времени t0 <t\ < ... < tjv—i < ^ = T и заменим задачу B.10) ее конечноразностным аналогом N-1 J2 /о(**. и*> *<)(*«+! - U) + Ф(*") -> min, г=0 = (х\ u\U), г = 0, 1, ..., N- 1; u{ eUi9 г = 0, 1, ...,ЛГ-1; х{ G Gi% % = 0, 1, ..., N, где Ui = U(ti), Gi = G(U). Положив ср°{(х\ и{) = f{x\ u\ и)(и+{- — U)> фг{хг, иг) = х1 + (?i+i - U)f(xl, иг, U), задачу можно переписать в виде N-1 J2 <P°i(x\ и') + Ф(х») -> min, i=0 B.11) xi+1 = п(х\ u% г = 0, l,...,i\T-l, ^GC/i, г = 0, 1, ..., АГ-1; х{ е Git г = 0, 1, ..., N. Мы получили задачу математического программирования с переменными х°, х1, ..., xn e Rn, и0, и1, ..., u^~' G Rr. Задав начальное состояние х° и управление (и0, гх1, ..., uN~l), по формулам xi+1 = = ipi(xtiui) легко вычислить траекторию (х\ ..., xN). Тем самым B.11) сводится к задаче с переменными х°, п°, г/1, ..., г^~1, и ее размерность, таким образом, оказывается равной n + Nr. Решение задачи можно получить с помощью методов гл. 5, 6, однако при больших N они оказываются малоэффективными из-за высокой размерности пространства переменных. Для решения задачи B.11) часто применяют метод динамического программирования, основные идеи которого были изложены в гл. 7. В данном случае этот метод выглядит следующим образом. Введем функцию N_{ Ak(xk) = min [? <р?(*\ и') + Ф(*"I где минимум берется по таким uk e Uky .. -, uN~l € J/tv-i, что Xi+\ — = (fi(xl, и1) е Gi+\ (i = к, ..., N — 1) (будем предполагать, что все фигурирующие здесь и ниже минимумы достигаются). Если множество таких наборов (ик, ..., uN~l) пусто, то значение Ак(хк) не определено. Нетрудно видеть, что Ак(хк) =mM(xk, чк) + Ак+х(<рк(хк, ик))], B.12) хк в Gkl
344 Гл. 8. Элементы теории оптимального управления где минимум берется по таким ик G C4, что значение Л&+1 (</?*;(xfc, ик)) определено. Положив AN(xN) = Ф(х») и проводя вычисления по формулам B.12) при k = N—l, N - 2, ..., 0, можно найти решение задачи B.11). Действительно, пусть vk(xk) — значение управления, реализующее минимум в B.12). Ясно, что значение задачи B.11), т.е. минимальное значение минимизируемой функции, равно Ло(я2) = minAo(x°), где х° минимум берется по таким х° Е Go, что значение Ло(х°) определено. Оптимальное управление и оптимальная траектория находятся, очевидно, по формулам u4 = v°(x% х1 = щ(х1,и1), tti =У\Х\), .... X» =^_!(Х^-1, U»-1). При численной реализации данного метода задаются сеточные аппроксимации множеств Go, U0, ..., J7jv_i, те. некоторые конечные множества G'0 С G0, UqCUq, ..., U'N_{ С С/^-ь Затем строятся множества G'i+l — (pi(Gf{1 Щ) nG;+i, которые служат сеточными аппроксимациями интересующих нас подмножеств множеств G^+i (i = = 0, l,...,iV-l). Далее по формулам B.12) вычисляются значения An-\(xn *), vN~l(xN~{) для xN~x e G'N_X и т.д., причем при каждом к минимум в B.12) берется по ик еЩ. После того как приближенно найдена точка х°, минимизирующая Ло(х°), решение задачи определяется формулами B.13). Отметим, что дискретные задачи оптимального управления встречаются на практике (например, при описании импульсных систем) и потому представляют интерес не только как конечноразностные аналоги непрерывных задач [11, 41]. А 3. Доказательство принципа максимума для задачи оптимального управления с закрепленным левым концом траектории и свободным правым концом. Начнем с доказательства одного вспомогательного неравенства. Лемма 2.1. Пусть функция ср непрерывна на отрезке [to, T], О 0, <p(t) ^ ajV(r) dr + 6, te [t0, T]. B.14) Тогда </?(*) Oea(t te[to,T\.
§ 2. Принцип максимума Понтрягина 345 Доказательство. Положим R(t) = а | ср(т) dr. Имеем R(t) = = cup(t) и, в силу B.14), *° R(t) - aR{t) ^ ab, te [t0,T]. Умножая обе части последнего неравенства на е~а(*~*°), находим, что Интегрирование этого неравенства от to до t с учетом того, что R(t0) = О, приводит к оценке t Я(*)е-в<*-*> ^ аЪ [е-а(т-*°) dr, *0 т.е. Отсюда и из неравенства B.14) следует утверждение леммы. Л Рассмотрим теперь задачу оптимального управления с закрепленным левым концом траектории и свободным правым концом: т J (и) = \fo(x(t), u(t), t)dt + Ф(х(Г)) -> min, *° B 15) x(t) = f(x(t), u(t), t), x(t0) = x°, u(t) eU, to^t^T. Формулируемая ниже теорема 2.2, являясь частным случаем теоремы 2.1, в то же время несколько уточняет ее, ибо оказывается, что для задачи B.15) теорема 2.1 справедлива при фо = — 1. Таким образом, в рассматриваемом случае можно ограничиться функцией Гамильтона вида п Н(х, иу t, ф) = -/0(х, u, t) + Y^^iMx^ и> г)- г=\ При этом сопряженная система, соответствующая управлению и и траектории я, выглядит следующим образом: ф{1) = -H'x(x{t\ ti(t), t, ф{1)). В следующей теореме будем использовать обозначение г. 'dfn' .дх\ EL дхп "dfn дхп J
346 Гл. 8. Элементы теории оптимального управления Теорема 2.2. Пусть функции /о, f\, ..., /п, Ф имеют частные производные по переменным х\, ..., хп и непрерывны вместе с этими производными по совокупности аргументов х Е Rn, и eU, t G е [to, Г]. Пусть, кроме того, \\f(x + Z9u + h,t)- f(x, и, t)\\ < M(\\z\\ + ||ft||), B.16) Шх + z,u + h,t)- f'x(x, и, t)\\ ^ M(\\z\\ + \\h\\), B.17) \\^fo(x + z,u + h,t)--H- f0(x, u, t)\ < M(||z|| + ||Л||), B.18) ||Ф'(я + 2)-Ф'(ж)||<М||*||. B.19) Предположим, что (и, х) — решение задачи B.15). Тогда при каждом t e [to, T] выполняется условие максимума H(x(t), u(t), t, ip(t)) = maxH(x(t), v, t, ф(г)), где ф — такое решение сопряженной системы, соответствующей управлению и и траектории х, для которого выполнено условие трансверсальности ф(Т) = -Ф'(х(Т)). Заметим, что утверждение теоремы справедливо и без предположений B.16)—B.19), наложенных лишь для упрощения доказательства. Доказательство. В силу теоремы 1.1 задача Коши в B.15) имеет при любом допустимом и единственное решение х, определенное на всем отрезке [t0t T]. Придадим допустимому управлению и кусочно-непрерывное приращение h такое, что управление u + h допустимо, т. е. u(t) + h(t) e eU, t e [to, Т]. Пусть х + z — траектория, соответствующая управлению и + h и начальному положению х°, т. е. z{t) = f(x(t) + z(t), u(t) + h(t), t) - f(x(t), u(t), t), z(t0) =0, to^t^T. B.20) Интегрируя это уравнение от t0 до t и используя B.16), получим t \Ш\ = || Jt/ОФО + z(t), и(т) + Л(т), г) - /(х(т), п(т), г)} dr\\ < *• ^ M\\\z{r)\\dT + M\\\h{r)\\dT, t € [t0, T).
§ 2. Принцип максимума Понтрягина 347 1 Применив лемму 2.1 при (p(t) = ||^(*)||, а = М, Ь = М\\\h(t)\\ dtf выводим оценку *о М*)\\ < ^|||Л(*)|| A, Ci = MeM^T^\ t e [t0, Г]. B.21) Преобразуем теперь выражение для приращения минимизируемого функционала Д J = J {и Л-К)- J {и) = т = \[fo(x(t) + z(t), u(t) + h(t), t) - f0(x(t), u(t), t)]dt + + (*'(x(T)),z(T)) + Ru B.22) где R{ = (Ф'(х(Т) + Oxz(T)) - Ф'(*(Т)), z(T)), 0i G [0, 1]. Используя неравенства B.19) и B.21), получим |Д,| < ||Ф'(х(Т) + МГ)) - Ф'(х(Г))|| ||*(Т)|| < M\\z(T)f <МС?(|||Л(*I|ЛJ. B-23) Преобразуем второе слагаемое в правой части B.22). Пусть ф — такое решение сопряженной системы, соответствующей управлению и и траектории х, для которого выполнено условие трансверсальности. Тогда, с учетом равенства B.20) и определения сопряженной системы, имеем (Ф'(х(Т)), z{T)) = (-ф(Т), z{T)) = т т а «о т = -|(V-(t), /(x(t) + z(t), u(t) + h{t), t) - f(x(t), u{t), t)) dt + 4 x ]{H'x{x(t)Mt),t,rl>{t)),z{t))dt. T + *0 Выражение B.22) для приращения AJ можно представить теперь в виде т AJ= -l[H(x(t) + z(t), u(t) + h(t), t, 1>(t))-H(x(t), u(t), t, 1>(t))]dt + t0 T + ](H'x(x(t), u(t), t, i/>(t)), z{t))dt + R\.
348 Гл. 8. Элементы теории оптимального управления Отсюда, используя разложение Н(х + z,u + h,t,1>) = Н(х, г* + М, V0 + + (Н'х(х + o2z, u + h,t, i>), z), e2(t) е [о, 1], получаем т AJ = -\[H(x(t)f u(t) + h(t)9t9 i/>(t)) - H(x(t), u{t), t, il>(t))]dt + Д, где R = Rx + R2 и B'24) T r2 = -J <#?(*(*) 4- e2(*)^(*), ti(«)+h(t)919 m) - -H'x(x(t)9u(t)9t9^(t))9z{t))dt. Так как #? = -^ + V>/i, то, с учетом B.17), B.18) и B.21), имеем х т ГГНЯ . . .. Я II + |Д2| < J{|^/oWO + ШФ)> u(t) + h(t)9 t) -±fQ(x(t)$ u(t), t) 4 4- max |№(t)|| \\f'x(x(t) + 02(Ф№> u(t) + fc(t), t) - -fx(x(t),u(t),t)\\}\\z(t)\\dt< < M(l + ^Tl№(t)||)J(ll*(*)ll + ||М*I1)И«)И < < M(l + штHVWIDJ [(C.J||M*)II * + IIM')ll)CiJ||ft(*)ll A]dt = = M(l + ^max, ||VWH)[Cf (Г -*>) + C,] ( JllMOII *)'• Вспоминая B.23), получаем оценку ||Д||<Су||Л(*IИJ. B.25) «о где С = МС^ + МA+ шис И*)||)[С?(Т-«о) + С,], -0 — решение сопряженной системы, соответствующее паре (х, tt) и удовлетворяющее условию трансверсальности. Теперь с помощью соотношений B.24), B.25) нетрудно завершить доказательство теоремы.
§ 2. Принцип максимума Понтрягина 349 Пусть и — оптимальное управление. Выберем произвольные v G U\ t, t + е е [t0у Г), е > О, и рассмотрим приращение h вида . _ (v-u{r), t^r <t + e, {Т)~\09 т€[«ь.Г|\[М + е], называемое игольчатой вариацией. Очевидно, что управление и + h допустимо. Для игольчатой вариации Л, в силу B.24), имеем Д J = _ f д(Т) dr + Д, где д(т) = #(х(т), v, г, ф(т)) - Н(х(т), и(т), т, ф(т)), t^t<t + e, t+e 2 t+e |Д| < С( J 1 • ||Л(т)|| dr) < еС | ||/i(r)||2dr, t t причем оценка для R получена из B.25) с помощью неравенства Коши- Буняковского. При достаточно малом е > О функция и непрерывна на [t,t + e), следовательно, и функция д непрерывна на [t,t + e). Поэтому Jg(T)dT = eg(t + 03e)t въ G [О, 1], t И t+e О < AJ = -eg(t + въе) + Д ^ -eg(t + 9ъе) + еС J ||/i(r)||2dr, t где неотрицательность AJ следует из оптимальности и. После деления на е > О имеем t+e </(* + 0з<КС| \\h{r)\\2di t и при е —> О получаем, что #(?) ^ 0, т. е. H(x(t), v, t, ф(Ь)) < H(x(t)t u(t), t, i/>(t)). В силу произвольности v G U это и есть доказываемое условие максимума при t G [to, T). Чтобы доказать его при ? = Т, следует взять вариацию |t;-^(r), Т-е^ЩТ, 10, t0^r<T-? и провести аналогичные рассуждения. А Задача. Описать численный метод решения краевой задачи принципа максимума для задачи оптимального управления с закрепленными концами.
350 Гл. 8. Элементы теории оптимального управления § 3. Примеры применения принципа максимума 1. Простейшая задача оптимального быстродействия. Пусть точка движется по прямой в соответствии с законом х = и, C.1) где х — координата. Требуется найти управление и, переводящее точку из начального положения в начало координат за минимальное время Т (задача оптимального быстродействия). При этом скорость точки в конце траектории должна быть нулевой, а управление — удовлетворять условию К*)|<1, te[o,T\. Применим к сформулированной задаче принцип максимума Понтрягина (теорема 2.1 и замечание к ней). Введем фазовые переменные х\ = х, Х2 = х. Тогда движение управляемого объекта описывается системой двух дифференциальных уравнений первого порядка: Х\ = Х2, Х2 = U. C.2) Начальное положение х° = (х°{, х\) при to = 0 и конечное положение @, 0) фиксированы, а конечный момент времени Т не фиксирован. В обозначениях §§ 1, 2 в данной задаче U = [-1, 1], /0 = 1, Ф = 0, а функция Гамильтона имеет вид Н = ^0 + ^1^2 +^2^- Общее решение сопряженной системы ф{ = -Н'Х1=0, ф2 = -Н'Х2 = -ф{ легко выписывается в явном виде i/>i(t) = C, fo(t) = -Ct + D, где С, D — постоянные. Очевидно, что максимум функции Н по и е U достигается при г 1, Ы*)>о, U{t) = {-1 Mt)<o. Таким образом, оптимальное управление и может принимать лишь два значения ±1 и имеет, в силу линейности функции -02» не более одной точки переключения, т.е. такой точки, в которой функция и меняет знак. Пусть для определенности х° = A, 0). Очевидно, что управления u(t)= 1, u(t) = -l, не могут перевести точку из положения A,0) в начало координат.
§ 3. Примеры применения принципа максимума 351 Поэтому ' л 0^t<tu ¦*>-{"!: Такому управлению и начальным условиям х\@) = 1, хг@) = 0 соответствует траектория x{(t) = { Из условий х\(Т) — X2(T) = 0 находим t\ = 1, Г = 2. Итак, принцип максимума позволил выделить единственное управление yj \ 1, 1 < t < 2. Это и есть оптимальное управление, поскольку из физических соображений ясно, что решение исходной задачи существует (данному факту можно дать строгое обоснование). Следовательно, оптимальна и соответствующая траектория x\(t) = < ft-2J ,._„ *2U I t-2, 1 < t ^ 2. 2 Рассмотрим теперь ту же задачу при всевозможных х°. Сделанный выше вывод о том, что оптимальное управление и является кусочно- постоянной функцией, принимающей значения ±1 и имеющей не более одного переключения, справедлив, очевидно, при любом ж0. Для отрезка времени, на котором и — 1, в силу C.2) имеем = Х2, откуда dx2 *i = 5 4 +с- (з.з) Аналогично при и = — 1 х\ =~2*2 + d- C.4) Семейства парабол C.3), C.4) изображены на рис. 3.1. Нетрудно видеть (рис. 3.2), что при любом х° оптимальная фазовая траектория состоит из двух кусков парабол, примыкающих друг к другу (если точка х° лежит на дуге АО параболы х\ = - х\ или на
352 Гл. 8. Элементы теории оптимального управления а б Рис. 3.1. Фазовые траектории системы C.2): а — при и = 1; б — при и — — 1 Рис. 3.2. Оптимальные фазовые траектории при различных расположениях начальной точки Рис. 3.3. Синтез оптимальных управлений дуге ВО параболы х\ = —-zx\, то первый из кусков парабол, составляющих оптимальную траекторию, вырождается в точку). На рис. 3.3 изображено все семейство таких траекторий. Полученные результаты позволяют задать оптимальное управление как функцию фазовых координат управляемого объекта: 1, если точка х расположена ниже кривой АОВ или на дуге АО, — 1, если точка х расположена выше кривой АОВ или на дуге ВО. v(x) Такая функция v называется синтезирующей функцией, а задача построения синтезирующей функции — задачей синтеза оптимальных управлений. Управление, заданное как функция времени, называется иногда программным управлением.
§ 3. Примеры применения принципа максимума 353 В ряде практических задач задание оптимального управления с помощью синтезирующей функции оказывается предпочтительней задания оптимального программного управления. Это связано с тем, что на движение реального управляемого объекта может оказывать влияние ряд факторов, не учитываемых уравнениями движения. К тому же и оптимальное управление неизбежно вычисляется и реализуется с погрешностью. Все это приводит к отклонению управляемого объекта от оптимальной траектории. Синтезирующая функция как раз и позволяет осуществлять оптимальную коррекцию траектории. Задача синтеза оптимальных управлений чрезвычайно сложна, и ее полное решение удается получить в редких случаях. В то же время некоторые численные методы позволяют приближенно построить оптимальное управление в виде синтезирующей функции. Это относится, в частности, к методу динамического программирования, описанному в п. 2 § 2. 2. Задача вариационного исчисления. Рассмотрим следующую задачу, называемую задачей вариационного исчисления: среди всех непрерывных кривых x(t) = (x\(t), ..., xn(t)), to ^ t < T, для которых x(to) = x°, x(T) e 5(T), а вектор-функция х кусочно-непрерывна, найти кривую, минимизирующую функционал г \fo(x{t)9x(t),t)dt, *° и предполагая, что функция /0 непрерывна и имеет непрерывные частно Я/о Я/о d2f0 ( d2f0 \ d2f0 ( d2f0 \ ные производные -?, &-?.-§& = (^> ^fe = (g^fej. Ш = {-?щ) ПРИ (*.*.*)€ R» х R» х [«ь.+оо), Ui, i<n. Положив x(t) = u(t), запишем поставленную задачу вариационного исчисления как задачу оптимального управления: т \fo(x(t)9 u(t), t)dt -> min, 'о C.5) x(t)=u(t), t0^t^T, x(t0) = x°, x(T) e S(T). Применим к ней принцип максимума Понтрягина. Для этого выпишем функцию Гамильтона Я(х, u, t, -00, Ф) = Фо/о(х, и, t) + (ф, и) и сопряженную систему ф = -н'х = -ф0^Мх,и,г). C.6)
354 Гл. 8. Элементы теории оптимального управления Пусть (и, х) — решение задачи C.5), ф — решение системы C.6), соответствующее паре (и, х). Тогда H(x(t)t u{t), t, фо, V>@) = max H(x(t), v, t, ф0, ф{г)) при to ^ t ^ T и, следовательно, H'u(x(t), u(t), t, фо, 1>(t)) = = 4o-fcfo(x(t)9u(t)tt) + 1>(t) = 0, to^t^T. C.7) Бели фо = О, то из C.7) следует, что ф = 0. Это противоречит условию \фо\ + HV^H Ф 0 теоремы 2.1. Поэтому ф0^0,и можно принять ^, = -1. Интегрируя C.6) от to до t, имеем откуда, подставляя и = х, с учетом C.7) получаем уравнение t §r fQ(x(t)9 ±{t), *) = J gj /o(*(r), i(r), г) dr + ф(Ъ), «о называемое уравнением Эйлера в интегральной форме. Дифференцируя его по ?, получаем уравнение dt [дх называемое уравнением Эйлера в дифференциальной форме. Принцип максимума позволяет получить также другие необходимые условия экстремума и условия трансверсальности для задачи вариационного исчисления [12, 40]. ЗАДАЧИ 1. Решить задачу оптимального быстродействия для управляемого объекта, движение которого описывается уравнениями х\ = хг, х2 = = -х\+и при ограничениях \u(t)\ < 1, 0 < t < Т, х@) = A,0), х(Т) = @, 0). 2. Пусть задача B.1) автономна, т.е. вместо функций /о(х, и, t), /(х, u, t) в B.1) фигурируют функции /о(х, и), /(х, и). Показать, что H(x(t), u(t), фо, V>M) — const, to^t^T, где (и, х) — решение задачи, фо, ф определены из принципа максимума. 3. Найти синтезирующую функцию в задаче быстрейшего попадания управляемого объекта, движение которого описывается уравнениями C.2), в множество {х = (х\, х2) | х\ ^ 0, х2 ^ 0} при ограничении \u(t)\ < 1, O^t^T. | /0(x(t), ±(t), *)] " ^ /<>(*(*), x(t), t) = 0,
ПРИЛОЖЕНИЕ Здесь приводятся часто используемые в книге сведения из математического анализа и линейной алгебры, а также наиболее употребительные общематематические обозначения. Специальные обозначения, вводимые в книге, здесь не упоминаются. xel- элемент х принадлежит множеству X. х ? X - элемент х не принадлежит множеству X. X С У — множество X содержится в множестве У (это не исключает случая X = У). X U У, (J Xi — объединение множеств. X П У, Р| Xi — пересечение множеств. г?1 X\Y — (теоретико-множественная) разность множеств. X х У — декартово произведение множеств. 0 — пустое множество. {х | Р}, {х е X | Р} — множество элементов и подмножество элементов множества Ху обладающих свойством Р. {х, у, z) — множество, состоящее из элементов х, у, z. \Х\ — число элементов конечного множества X. \t\ — целая часть числа t, т.е. наибольшее целое число, меньшее или равное t. \t] — наименьшее целое число, большее или равное t. х :— а — оператор, присваивающий переменной х значение а. def = — равно по определению. Д — символ конца доказательства (или конца формулировки, если утверждение следует из предшествующих рассуждений или приводится без доказательства). R — числовая прямая, множество действительных чисел. R+ — множество неотрицательных чисел. Rn — n-мерное координатное пространство. х = (х\, ..., хп)у х° = (ж?, ..., х°), у1 = (у{, ..., yl) - стандартное обозначение элементов из Rn: для обозначения координат данного элемента всегда используется тот же символ с индексом внизу; для обозначения различных элементов чаще всего применяется верхний индекс. Элементы из Rn называются также точками или векторами. За исключением специально оговоренных мест для нас несущественно, как записывается вектор: в виде строки или в виде столбца. О = @, ..., 0) — нулевой элемент в Rn.
356 Приложение ej _ j-й единичный орт в Rn, т. е. еР- = 1 и е[ — О при всех i ф j. х + У — (х\ + 2/ь ..., жп + уп) — сумма элементов а: и у из Rn. Ах = (Ахь ..., Ахп) — произведение элемента х на число А. X ±Y = {z е Rn | z = х ± у, х е X, уеУ} — (алгебраические) сумма и разность множеств X и Y из Rn. linX — линейная оболочка множества IcRn, т.е. пересечение всех линейных подпространств пространства Rn, содержащих X. п {х> У) = X) хзУз ~ скалярное произведение элементов х и у; эти элементы называются ортогональными, если (х, г/) = 0. ||х|| = у/(х, х) — норма элемента х. Для любых элементов х и у справедливо неравенство Коши- Буняковского: |(х, у)\ ^ ||х|| • ||у||. Для элементов х и у из Rn пишем: х ^ у и я > 2/, если соответственно Xj ^ 2/j и х^ > yj при всех j = 1, ..., п. R+ = {х е Rn | х ^ 0} — неотрицательный ортант в Rn. Если дана матрица А размера тх п (cm строками и п столбцами), то, как правило, а; — ее г-я строка, aj — j-й столбец, а^ — элемент на пересечении г-й строки и j-ro столбца. АТ — матрица, транспонированная к матрице А. А~1 — матрица, обратная к квадратной матрице А. detA — определитель квадратной матрицы А. rang A — ранг матрицы А, т.е. максимальное число ее линейно независимых строк или столбцов. \\А\\ = max ||Лх|| — норма матрицы А] очевидно, что ||Ах|| ^ 11*11=1 < \\А\\ • ||х|| при всех х. Е — единичная матрица (на диагонали стоят единицы, остальные элементы — нули). Если даны матрица А размера га х га, векторы х е Rn и у € Rn, то: Ах — вектор из Rm с координатами п (Ax)i = (ait x) = ^2aijxj> г = 1, ..., m. j=i уА — вектор из Rn с координатами m (yA)j = (у, aj) = Y^yi°>i3> 3 = 1. • • • > " *)• г=1 1) В литературе часто используется обозначение уТА, подчеркивающее, что вектор, умножаемый на матрицу слева, является строкой, а умножаемый справа — столбцом. Мы опускаем символ т, поскольку, как уже отмечали, не различаем вектор-строки и вектор-столбцы.
Приложение 357 Ясно, что у А = Ату и m n (У, Ах) = J2^2yiai3XJ = (УА> Х)' АД — произведение матрицы А размера га x n и матрицы Б размера п х s, т. е. матрица размера га х 5 с элементами п (a*, b7') = ^aifcbfci, t= 1, .... га, j = 1, ..., 5. Квадратная матрица Л называется симметрической, если Ат = А. Симметрическая матрица А размера n x n называется: неотрицательно определенной, если (Ах, х) ^ 0 при всех х € GRn; положительно определенной, если (Ах, я) > 0 при всех ненулевых х G Rn. Имеет место следующий критерий Сильвестра: симметрическая матрица А неотрицательно (положительно) определена в том и только том случае, если все ее главные (угловые) миноры неотрицательны (положительны). При этом главным минором матрицы А называется определитель матрицы, построенной из элементов матрицы А, стоящих на пересечении строк и столбцов с одинаковыми номерами Если это несколько первых номеров, то главный минор называется угловым. Если А — положительно определенная матрица, то обратная матрица А~х существует и положительно определена. Если А — неотрицательно определенная матрица размера пхп, В — любая матрица размера га х п, то матрица ВАВ1^ (размера га х х га) неотрицательно определена. Если А— положительно определенная матрица размера пхп, В — матрица размера тхп, имеющая ранг га, то матрица ВАВТ положительно определена. U?(a) = {х G Rn | \\х — а\\ ^ е} — шар радиуса е > О с центром в точке a G Rn. {xk} — последовательность точек х1, х2, ... (или х°, х1, ...). Говорят, что точка а является пределом последовательности {хк}, если для любого числа е > О существует число К ^ 1 такое, что хк G G Ue(a) для всех натуральных к^ К, при этом пишут: а = lim xk к—+оо или хк —> а при к —> оо. хк —> а + (хк —> а—) при к —> оо — это означает, что xfc —> а при fc —> оо и, кроме того, хк ^ а (хк ^ а) при всех fc. {rr*} ~ {2/fc} или хк ~ ук — две стремящиеся к нулю числовые последовательности {хк} и {ук} эквивалентны, т.е. для любого числа е G (О, 1) существует число К ^ 1 такое, что для всех натуральных к^ К выполняется хотя бы одно из двух двойных неравенств: A -е)ук^хк ^ A + е)ук, A -е)ук > хк > (\+е)ук.
358 Приложение f: X—>Y — функция (отображение) с областью определения X и областью значений Y. Эта функция называется числовой, если Y с R, и функцией числового аргумента, если X С R. Подчеркнем, что, в силу данного определения, числовая функция принимает лишь конечные значения во всех точках области определения. Говорят, что а ? Rm является пределом (предельным значением) функции /: X-+Y (I С Rn, Y С Rm) в точке х° ? X, если для любого числа е > О существует число 5 > О такое, что f(x) ? U?(a) для всех х ? Us(x°) ПХ; при этом пишут: а = lim f(x) или f(x) —> —> а при х —> х°. Функция f:X—>Y называется непрерывной в точке х° ? X, если lim f(x) = /(ж0), и непрерывной на множестве А С X, если это ж—>х° равенство справедливо для всех х° ? А. lim /(x), lim f(x) — право- и левосторонние пределы функ- х—*х -\- х—*х®— ции / числового аргумента в точке х°. lim, Urn — символы верхнего и нижнего пределов числовой последовательности или числовой функции. f(A), f~l(B) — образ множества АсХ и прообраз множества В CY при отображении /: X —> Y. inf f(x), sup f(x) — точные нижняя и верхняя грани числовой х^х х?Х функции / на множестве X. min/(x), max/(я) — минимальное и максимальное значения чис- х?Х х?Х ловой функции / на множестве X, т. е. величины inf f(x) и sup f(x) Х€Х х?Х в предположении, что они достигаются на некоторых элементах из X. intX = {х е Rn | U?(x) С X при некотором е > 0} — внутренность множества IcRn; элементы из int X называются внутренними точками множества Х\ множество X называется открытым, если X = intX. X = {х е Rn \ U?(x) Г) X ^ 0 при любом е > 0} — замыкание множества X С Rn; элементы из X называются предельными точками множества X; множество X называется замкнутым, если X = X. дХ = X\iiitX — граница множества X; элементы из дХ называются граничными точками множества X. Окрестностью точки х (множества X) называется любое множество, содержащее х (соответственно, X) в своей внутренности. Множество X называется ограниченным, если существует число R > 0 такое, что ||х|| ^ R при всех х е X. Множество X С Rn называется компактом, если оно замкнуто и ограничено.
Приложение 359 Ниже, говоря о дифференциальных характеристиках функции / в точке ж*, подразумеваем, что ж* е Rn и / — числовая функция, определенная в некоторой окрестности х*. Of fix* + ae*) — fix*) -х=- (х*) = lim — -———- — частная производная функ- OXj a—*0 О. ции / в точке х* по аргументу Xj. /'(ж*) — f ~?- (x*), ..., -^- (ж*)) — градиент (вектор частных производных) функции / в точке ж*. Функция / называется дифференцируемой в точке ж*, если градиент /'(х) существует и при всех достаточно малых д e Rn справедлива формула f(x* + h) = f(x*) + (f(x*)9h)+o{\\h\\). Здесь, как и всюду далее, о(а) — некоторая числовая функция числового аргумента, удовлетворяющая условию lim -^- = 0. Функция / называется непрерывно дифференцируемой в точке ж*, если градиент /'(ж) существует в некоторой окрестности точки ж* и непрерывен в самой точке ж*. Если функция / непрерывно дифференцируема в точке ж*, то, как известно, она дифференцируема в этой точке. Говорят, что функция / дифференцируема (непрерывно дифференцируема) на множестве IcRn, если она дифференцируема (непрерывно дифференцируема) в каждой точке из X. При этом, как следует из предыдущего, функция / фактически должна быть определена в некоторой окрестности множества X. Если функция / дифференцируема на выпуклом множестве IcRn, то для любых точек ж, ж* е X справедлива формула Лагранжа /(х) _ /(х*) = {f,{x* + aft)? д)> где д = ж — ж*, а a — некоторое число из интервала @, 1). Если функция / непрерывно дифференцируема на выпуклом множестве IcRn, то для любых точек ж, ж* Е X справедлива формула Ньютона-Лейбница /(ж) - /(ж*) = [(/'(ж* + а(х - ж*)), ж - ж*) da. о Для любого вектора д Е Rn используем обозначение /V. h) = lim /(*'+<*)-/(**); a—0+ a если ||/i|| = 1, то величина /'(ж*, д) называется производной функции f в точке ж* Е Rn до направлению вектора д. Функция / называется дифференцируемой в точке ж* по направлению вектора д, если величина f'(x*, д) существует и конечна.
360 Приложение Если функция / дифференцируема в точке ж*, то / дифференцируема в х* по направлению любого вектора Л, причем fix*, К) = (/'(ж*), Л>. -—т(— (х*) — вторая частная производная функции / в точке ж* е Rn по аргументам ж*, Xj (частная производная функции -^- (ж) в точке х* по аргументу Xj). /"(ж*) = (-г—?—{х*)) — гессиан (матрица вторых Частую С/ХгС/Ж; / i,j=\,...,n ных производных) функции / в точке ж*. Функция / называется дважды дифференцируемой в точке ж*, если матрица /"(ж) существует, является симметрической матрицей и при всех достаточно малых h e Rn справедлива формула fix* + ft) = fix*) + (fix*), h)+l- </"(*>. *> + о(||Л||2|. Функция / называется дважды непрерывно дифференцируемой в точке ж* е Rn, если матрица /"(ж) существует в некоторой окрестности точки ж* и непрерывна в самой точке ж*. Если функция / дважды непрерывно дифференцируема в точке ж*, то она дважды дифференцируема в этой точке. Если функция / дважды дифференцируема на выпуклом множестве X с Rn (т.е. в каждой точке из X), то для любых точек ж, ж* е X справедлива формула Тейлора (с остаточным членом в формуле Лагранжа) fix) - fix*) = (fix*), ft) + | </"(** + ah)h, ft), где h = x — ж*, a a — некоторое число из интервала @, 1). Функция вида /(ж) = - (Ах, ж) + F, ж) + с, где А — симметрическая матрица размера пх п, Ь е Rn, с е R, называется квадратичной. Для нее //(х) = Аг + Ь, /"(*) = А
СПИСОК ЛИТЕРАТУРЫ 1. Алексеев В. М., Тихомиров В. М., Фомин С. В. Оптимальное управление. - М.: Наука, 1979. 2. Аоки М. Введение в методы оптимизации. — М.: Наука, 1977. 3. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979. 4. Ашманов С. А. Введение в математическую экономику. — М.: Наука, 1984. 5. Ашманов С. А. Линейное программирование. — М.: Наука, 1981. 6. Белоусов Е. Г. Введение в выпуклый анализ и целочисленное программирование. — М.: Изд-во МГУ, 1977. 7. Базара М., Шетти К. Нелинейное программирование. — М.: Мир, 1982. 8. Батищев Д. И. Поисковые методы оптимального проектирования. — М.: Сов. радио, 1975. 9. Беллман Р. Динамическое программирование. — М.: ИЛ, 1960. 10. Беллман Р., Дрейфус С. Прикладные задачи динамического программирования. — М.: Наука, 1965. И. Болтянский В.Г. Оптимальное управление дискретными системами. — • М.: Наука, 1973. 12. Васильев Ф.П. Численные методы решения экстремальных задач. — М.: Наука, 1980. 13. Васильев Ф.П. Методы решения экстремальных задач.— М.: Наука, 1981. 14. Гольштейн Е.Г. Теория двойственности в математическом программировании и ее приложения. — М.: Наука, 1971. 15. Гроссман К., Каплан А. А. Нелинейное программирование на основе безусловной минимизации. — Новосибирск: Наука, 1981. 16. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. - М.: Мир, 1982. 17. Данциг Д. Линейное программирование, его обобщения и применение. — М.: Прогресс, 1966. 18. Даффин Р., Питерсон Э., Зенер К. Геометрическое программирование. — М.: Мир, 1972. 19. Демьянов В. Ф., Васильев Л. В. Недифференцируемая оптимизация. — М.: Наука, 1981. 20. Евтушенко Ю.Г. Методы решения экстремальных задач и их применение в системах оптимизации. — М.: Наука, 1982.
362 Список литературы 21. Еремин И. И., Астафьев И. Н. Введение в теорию линейного и выпуклого программирования. — М.: Наука, 1976. 22. Зангвилл У. И. Нелинейное программирование. Единый подход. — М.: Сов. радио, 1973. 23. Заславский Ю. Л. Сборник задач по линейному программированию. — М.: Наука, 1969. 24. Зойтендейк Г. Методы возможных направлений. — М.: ИЛ, 1963. 25. Ильин В. А., Позняк Э.Г. Линейная алгебра. — М.: Наука, 1978. 26. Ильин В. А., Садовничий В. А., Сендов Бл. X. Математический анализ. — М.: Наука, 1979. 27. Канторович Л. В., Горстко А. Б. Оптимальные решения в экономике. — М.: Наука, 1972. 28. Карманов В. Г. Математическое программирование. — М.: Наука, 1980. 29. Корбут А. А., Финкельштейн Ю.Ю. Дискретное программирование. — М.: Наука, 1969. 30. Лотов А. В. Введение в экономико-математическое моделирование. — М.: Наука, 1984. 31. Лэсдон Л. С. Оптимизация больших систем. — М.: Наука, 1975. 32. Марчук Г. И. Методы вычислительной математики. — М.: Наука, 1980. 33. Михалевич В. С, Кукса А. И. Методы последовательной оптимизации. — М.: Наука, 1983. 34 Моисеев И.И. Численные методы в теории оптимальных систем. — М.: Наука, 1971. 35. Моисеев Н. И., Иванилов Ю. П., Столярова Е. М. Методы оптимизации. - М.: Наука, 1978. 36. Немировский А. С, Юдин Д. Б. Сложность задач и эффективность методов оптимизации. — М.: Наука, 1979. 37. Оре О. Теория графов. — М.: Наука, 1968. 38. Подиновский В. В., Ногин В. Д. Парето-оптимальные решения многокритериальных задач. — М.: Наука, 1982. 39. Поляк Б. Т. Введение в оптимизацию. — М.: Наука, 1983. 40. Понтрягин Л. С, Болтянский В. Г., Гамкрелидзе Р. В., Мищенко Е. Ф. Математическая теория оптимальных процессов. — М.: Наука, 1976. 41. Пропой А. И. Элементы теории оптимальных дискретных процессов. — М.: Наука, 1973. 42. Пшеничный Б.Н. Выпуклый анализ и экстремальные задачи. — М.: Наука, 1980. 43. Пшеничный Б.Н. Необходимые условия экстремума. — М.: Наука, 1982. 44. Пшеничный Б.Н. Метод линеаризации. — М.: Наука, 1983. 45. Пшеничный Б. Н., Данилин Ю. М. Численные методы в экстремальных задачах. — М.: Наука, 1975. 46. Рокафеллар Р. Выпуклый анализ. — М.: Мир, 1973.
Список литературы 363 47. Саати Т. Целочисленные методы оптимизации и связанные с ними экстремальные проблемы. — М.: Мир, 1973. 48. Сергиенко И. В., Каспшицкая М. Ф. Модели и методы решения на ЭВМ комбинаторных задач оптимизации. — Киев: Наук, думка, 1981. 49. Сергиенко И. В., Лебедева Т. Т., Рощин В. А. Приближенные методы решения дискретных задач оптимизации. — Киев: Наук, думка, 1980. 50. Современное состояние теории исследования операций / Под ред. Н. Н. Моисеева. — М.: Наука, 1979. 51. Стронгин Р. Г. Численные методы в многоэкстремальных задачах. — М.: Наука, 1978. 52. Сухарев А. Г. Оптимальный поиск экстремума. — М.: Изд-во МГУ, 1975. 53. Тимохов А. В. Математические модели экономического воспроизводства. - М.: Изд-во МГУ, 1982. 54. Тихонов А.Н., Арсенин В. Я. Методы решения некорректных задач. — М.: Наука, 1979. 55. Федоров В. В. Численные методы максимина.— М.: Наука, 1979. 56. Фиакко А., Мак-Кормик Г. Нелинейное программирование. Методы последовательной безусловной минимизации. — М.: Мир, 1972. 57. Хедли Дж. Нелинейное и динамическое программирование. — М.: Мир, 1967. 58. Цурков В. И. Декомпозиция в задачах большой размерности. — М.: Наука, 1981. 59. Численные методы условной оптимизации / Под ред. Ф. Гилла, У. Мюррэя. - М.: Мир, 1977. 60. Шор Н.З. Методы минимизации недифференцируемых функций и их приложения. — Киев: Наук, думка, 1979. 61. Юдин Д. Б., Голыитейн Е.Г. Линейное программирование. — М.: Наука, 1969. 62. Юдин Д. Б., Юдин А. Д. Экстремальные модели в экономике. — М.: Экономика, 1979. 63. Avriel M. Nonlinear Programming: Analysis and Methods. — Englewood Cliffs: Prentice-Hall, 1976. 64. Gill P. E., Murray W., Wright M. H. Practical Optimization. - London, N. Y.: Academic Press, 1981. (Русский перевод: Гилл Ф., Мюррей У., Райт М. Практическая оптимизация. — М.: Мир, 1985.) 65. Jacoby S. L. S., Kowalik J. S., Pizzo J. T Iterative Methods for Nonlinear Optimization Problems. — Englewood Cliffs: Prentice-Hall, 1972.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Алгоритм второго порядка 33 — комбинированного метода штрафов 289 — Лэнд и Дойг 319 — метода штрафов 287, 289 непрерывный 293 — нулевого порядка 33 — оптимальный 56 — пассивного поиска минимума 46 — пассивный 33 — первого порядка 33 — полиномиальный 315 — последовательно-оптимальный 59 — последовательный 34 — экспоненциальный 315 Базис опорной точки 245 Барьерная штрафная функция 274, 278 Вариация игольчатая 342 Вектор Куна-Таккера 174 Внешняя штрафная функция 274, 278 Внутренность множества 358 Внутренняя штрафная функция 274, 278 Временная сложность алгоритма 315 Входная длина задачи 315 Выпуклое множество 17 Выпуклый конус 68 — многогранник 68 Гессиан 360 Гиперплоскость 17 — касательная 102 — опорная 80 — разделяющая 78 — собственно опорная 81 Градиент 9, 358 Граница множества 76, 358 относительная 76 Дробление шага 41 Задача безусловной оптимизации 9 — вариационного исчисления 353 — выпуклая 19 — выпуклого программирования 22 — двойственная 177 — дискретного программирования 28, 311 — дискретной оптимизации 27 — квадратичного программирования 24, 206, 298 — классическая на условный экстремум 13 — краевая принципа максимума 342 — оптимизации конечномерная 7 — лексикографическая 298 — математического программирования 20 — минимаксная 172, 298, 303 — о коммивояжере 312, 320, 325, 333 — оптимального быстродействия 337 управления 29, 335 Больца 337 Лагранжа 337 Майера 337 простейшая 350 с закрепленным временем 337 — о рюкзаке 311 — оптимизации конечномерная 7 — проектирования точки 212, 257 — прямая 177 — распределения ресурсов 312, 328, 329
Предметный указатель 365 Задача регулярная 149 — синтеза 352 — условной оптимизации 11 — целочисленного программирования 28 — экстремальная 8 — NP-полная 316 Замыкание множества 358 Значение задачи 177 Итерация метода 35 Классическая задача на условный экстремум 13 Компакт 358 Конус 62 — выпуклый 62 — заостренный 94 — многогранный 68 — рецессивный 76 Критерий Сильвестра 357 Линейная комбинация 64 аффинная 64 выпуклая 64 неотрицательная 64 Линейного программирования задача 23, 197 каноническая 24 общая 24 основная 24 стандартная 24 целочисленная 28, 317 частично булева 28, 311 целочисленная 28, 317 Линейное подпространство 65 ортогональное 89 Линия уровня 11 Луч 17 Матрица неотрицательно определенная 357 — положительно определенная 357 — симметрическая 357 Метод бесконечношаговый 35 — ветвей и границ 318 Метод возмущений 188 — вращения системы координат 236 — градиентный 213 — динамического программирования 324 — дихотомии 46 — золотого сечения 49 — искусственного базиса 254 — квазиньютоновский 222 — конечный (конечношаговый) 35 — кубической интерполяции 51 — линеаризации 303 — ломаных 53 — наискорейшего спуска 214 — Ньютона 219 с регулировкой шага 222 — оптимальный 56 — отсечения 317 — парабол 50 — параметризации целевой функции 298 — перебора 53 — переменной метрики 224 — покрытий 54 — проекции градиента 258 — симплексный 237 — с модифицированной функцией Лагранжа 303 — сопряженных градиентов 230 направлений 226 нулевого порядка 228 — спуска 38 — субградиентный 218 — условного градиента 260 — Фибоначчи 47 — центров 302 — штрафных функций 274 М-метод 254 Методы приближенные 331 — эвристические 236 Минор матрицы главный 357 угловой 357 Множества отделимые 78 — сильно отделимые 78 — собственно отделимые 78 Множество аффинное 62 — возможных направлений 138
366 Предметный указатель Множество выпуклое 17 — дискретное 27 — допустимое 7 — замкнутое 358 — Лебега 108 — многогранное 89 — направлений убывания 138 — ограниченное 358 — открытое 358 — относительно открытое 70 — полиэдральное 18 — сопряженное 87 — технологическое 23 Множители Лагранжа 14 Надграфик 116 Направление возможное 138 — возрастания 38 — убывания 38, 138 Направления сопряженные 197 Неравенство Йенсена 98 Оболочка аффинная 64 — выпуклая 64 — коническая 64 Ограничения активные 150 — неравенства 21 — пассивные 150 — прямые 21 — равенства 21 — функциональные 21 Окрестность 358 Операция приведения 321 Оптимальная траектория 338 Относительная внутренность 70 Отображение выпуклозначное 120 — замкнутое 120 — локально ограниченное 120 — многозначное 119 — монотонное 120 — субдифференциальное 119 Отрезок 17 Полиэдр 18, 89 Полупространство 17 Последовательности эквивалентные 357 Последовательность минимизирующая 35 Правильное отсечение 318 Предел последовательности 358 — функции 358 Предельная точка 358 траектории 293 Приведенная матрица 321 Принцип Лагранжа 148 — максимума Понтрягина 338 — оптимальности 325 — уравнивания 173 Проекция 77 Производная по направлению 106, 358 Прямая 17 Размерность выпуклого множества 71 Симплекс 76 Симплекс-метод 240 Симплекс-таблица 250 Скорость сходимости 35 геометрической прогрессии 35 градиентного метода 215 квадратичная 36 линейная 36 сверхлинейная 35 Сложность задач дискретной оптимизации 314 Соотношение двойственности 179 Сопряженная система 339 Субградиент 115 Субдифференциал 115 Субдифференциальное отображение 119 Теорема двойственности 179 выпуклых множеств 87 — Дубовицкого-Милютина 94 — Каратеодори 67 — Куна-Таккера 156, 183, 186, 187 — Люстерника 154
Предметный указатель 367 Теорема о неявной функции 154 — отделимости 79, 81 — регулярности 131-133 — Фана 129 — Фаркаша 82 — Хелли 75 Теория двойственности 174 Точка внутренняя 358 — глобального минимума 7 — граничная 358 — допустимая 7 — крайняя выпуклого множества 84 — локального минимума 7 — минимума 7 — опорная 24 невырожденная 245 — особая 267 — относительно внутренняя 69 — предельная 35 — стационарная 14 — строгого минимума 7 — экстремума 8 Управление 335 — допустимое 335 — оптимальное 338 — программное 352 — синтезирующее 352 Уравнение Беллмана 325 — Эйлера 354 Условие второго порядка 160 — дополняющей нежесткости 150 — достаточное 9 — квазиньютоновское 223 — линейности 159 — необходимое 9 — оптимальности 9 — регулярности 149 — р-регулярности 279 — Слейтера 159 Условие Слейтера модифицированное 159 — трансверсальности 339, 340 Условный антиградиент 261 Фазовые координаты 335 Формула Лагранжа 359 — Ньютона-Лейбница 359 — Тейлора 360 Функционал интегральный 337 — терминальный 337 Функция вогнутая 18, 97 — выпуклая 18, 97 — Гамильтона 339 — дважды дифференцируемая 360 — дифференцируемая 358 по направлению 358 — квадратичная 360 — квазивыпуклая 52, 115 — квазидифференцируемая 172 — Кобба-Дугласа 23 — Лагранжа 13, 148 регулярная 14, 149 — линейная 19 — непрерывная 358 — овражная 217 — полунепрерывная 113 — производственная 23 — сильно выпуклая 97 — строго выпуклая 18, 97 — унимодальная 45 — целевая 7 — числовая 358 — числового аргумента 358 Шаг метода 35 Штрафная функция 274 внешняя 274, 278 внутренняя (барьерная) 274, 278 квадратичная 278 степенная 278
Учебное издание СУХАРЕВ Алексей Григорьевич ТИМОХОВ Александр Васильевич ФЕДОРОВ Вячеслав Васильевич КУРС МЕТОДОВ ОПТИМИЗАЦИИ Редактор Н.И. Воронина Корректор Т.С. Вайсберг Оригинал-макет: Е.А. Королева ЛР №071930 от 06.07.99. Подписано в печать 10.01.05. Формат 60x90/16. Бумага офсетная. Печать офсетная. Усл. печ. л. 23. Уч.-изд. л. 26,4. Заказ №3012 Издательская фирма «Физико-математическая литература» МАИК «Наука/Интерпериодика» 117997, Москва, ул. Профсоюзная, 90 E-mail: fizmat@maik.ru, fmlsale@maik.ru; http://www.fml.ru Отпечатано с готовых диапозитивов в ПФ «Полиграфист» 160001, г. Вологда, ул. Челюскинцев, 3 Тел.: (8172) 72-55-31, 72-61-75, факс: (8172) 72-60-72 E-mail: form.pfp@votel.ru http://www.vologda/~pfpv ISBN 5-9221-0559-0