Текст
                    I
u-94
I
Г.П.КЮНЦИ
В. КрЕЛЛЕ
.. и


NICHTLINEARE PROGRAMMIERUNG von HANS PAUL KLINZI WILHELM KRELLE Professor an der Universitat Professor an der Universitat Zurich Bonn unter Mitwirkung von WERNER OETTLI wissenschaftlicher Mitarbeiter Wirtschaftswiss. Institut der Universitat Zurich SPRINGER—VERLAG BERLIN GOTTINGEN HEIDELBERG 1962
Г. П. КЮНЦИ, В. КРЕЛЛЕ НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ Перевод с немецкого О. И. Помазанец и Е. Г. Миркиной под редакцией Г. А. СОКОЛОВА ИЗДАТЕЛЬСТВО «СОВЕТСКОЕ РАДИО» МОСКВД-1965
.83T02) Книга Кюнци и Крелле посвящена изложению, в основном, квадратичного программирования — наиболее разработанной части нелинейного программирования, представляющего собой новую, весьма перспективную отрасль математики, посвященную решению нелинейных экстремальных задач и имеющую чрезвычайно широкое применение во многих областях науки и техники, В книге собрано большинство методов, созданных к моменту ее написания, для каждого из которых указаны условия применения. На русском языке нет книг, посвященных систематическому изложению вычислительных методов квадратичного программирования, поэтому перевод книги Кюнци и Крелле должен восполнить этот пробел. Книга рассчитана на широкий круг читателей, имеющих математическую подготовку не более чем в объеме первых курсов втуза. Все излагаемые методы поясняются на большом числе примеров.
ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА Одним из основных математических аппаратов теории исследования операций является математическое программирование, которое включает в себя в виде разделов линейное, выпуклое й нелинейное программирование. Простейшими задачами, относящимися ко второму из названных разделов, являются задачи так называемого квадратичного программирования. Они характеризуются тем, что оптимизируемая функция представляет квадратичную форму (или многочлен), обладающую положительной или отрицательной полуопределенностью (в общем случае), а множество возможных решений задается линейными условиями. Предлагаемая вниманию читателя книга Кюнци и Крелле и посвящена изложению различных методов решения задач квадратичного программирования, хотя и носит более общее название — «Нелинейное программирование». Интерес даже к простейшим нелинейным задачам огромен и это вполне закономерно, ибо аппроксимация реального процесса линейной моделью осуществляется в большом числе случаев ценой весьма серьезных допущений. Из названных выше разделов математического программирования наиболее полно разработана и достаточно обширно представлена на русском языке теория линейного программирования. Что же касается теории квадратичного программирования, то, за исключением монографии Зойтендейка, излагающей лишь методы возможных (допустимых) направлений, и монографии Эрроу, Гурвица и Удзава, излагающей градиентный метод применительно к выпуклым задачам, на русском §
языке практически ничего нет. Данный перевод книги Кюнци и Крелле поможет восполнить этот пробел в интересах самого широкого круга читателей. Книга написана весьма доступно. В первых четырех главах содержится необходимый материал, вводящий читателя в курс дела, так что никаких предварительных знаний по этой тематике не требуется. Остальные главы посвящены изложению отдельных методов квадратичного программирования, каждый из которых обязательно иллюстрируется на примерах. Следует заметить, что данная книга не лишена и некоторых недостатков. Так, например, авторы приводят подчас доказательства, которые содержатся буквально во всех руководствах по линейной алгебре, и в то же время опускают такие, которые можно найти лишь в журнальных статьях, не доступных широкому кругу читателей. Все замеченные опечатки и ошибки были исправлены, как правило, без специальных примечаний. В целом можно надеяться, что данная книга будет с интересом встречена советскими читателями и будет содействовать дальнейшему развитию теории нелинейного программирования. Редактор и переводчики считают своим долгом выразить благодарность тт. Афанасьевой И. В. и Палей 3. В. за ту большую помощь, которую они оказали в процессе работы над переводом.
ИЗ ПРЕДИСЛОВИЯ АВТОРОВ В последние годы появилось много работ по линейному программированию как теоретического, так и при* кладного характера. . Почти параллельно с линейным программированием развивалось нелинейное, представляющее значительно более сложную математическую задачу. В настоящее время еще нельзя говорить о законченной теории нелинейного программирования. Однако ее разработка осуществляется столь интенсивно, что значительные успехи в этой области прикладной математики не за горами. В этих условиях, естественно, возникает вопрос, своевременно ли написание монографии с изложением результатов, достигнутых в этой области. Мы все же предприняли такую попытку, и этому есть свое оправдание. Не имея намерения изложить все известные в настоящее время методы нелинейного программирования, мы решили, сформулировав в первых главах основные теоретические положения, далее познакомить читателя с различными возможными направлениями в разработке наиболее важных, на наш взгляд, и интересных методов. Большинство из этих методов посвящены решению задач квадратичного программирования (с определенной или полуопределенной матрицей) при линейных ограничениях. Но уже сейчас имеются методы, позволяющие решать задачи более общего типа. К ним относятся рассмотренные нами методы Розена, Фриша и Зойтен- дейка. При изложении материала мы преследовали две цели. Во-первых, мы хотели некоторые методы, развитые в теоретическом плане отчасти в данной монографии, 7
сделать удобными для практического применения. Во-вторых, поставить на обсуждение некоторые методы, не удовлетворяющие по тем или иным причинам запросам практики. Этим как раз объясняется то, что не все включенные в книгу методы одинаково подробно изложены. Хотелось бы надеяться, что выбранная в нашей книге форма обсуждения проблем нелинейного программирования правильна и будет содействовать активизации научных исследований в этой области. Основное внимание в нашем изложении уделено теории. Практическое значение нелинейного программирования очевидно каждому специалисту. Впрочем, задача науки не исчерпывается лишь получением узкопрактических результатов для непосредственного использования. Часто теоретические результаты находят самое неожиданное лрактическое применение лишь спустя несколько лет. Многие примеры возможного применения нелинейного программирования можно перечислить уже сейчас. Однако решение этих задач требовало до сих 1 пор значительных усилий и остроумия, ибо вначале надо было аппроксимировать нелинейную задачу линейной и потом решить ее. Теперь эта необходимость в известной степени отпала. С внедрением научных методов управления производством нелинейное программирование значительно расширит область своего применения и приобретет еще большее значение. В дальнейшем "мы дадим несколько примеров практического использования нелинейного программирования. Широкой областью для его применения является планирование цен, продукции и рекламы фирмы. Одни из авторов подробно описал эту область в своей недавно вышедшей книге*. Здесь же мы должны ограничиться (так же, как ,и в других случаях) только указанием на это. Возьмем следующий пример: фирма хочет опреде? лить производственный план, оптимальный в смысле некоторого критерия (функции цели). Принтом известна номенклатура-тех продуктов, которые фирма .может производить; производственная мощность; возможности по * См. Крелле [1].
обеспечению производства сырьем, полуфабрикатами, энергией, рабочей силой и так далее; возможности сбыта этих продуктов (зависящие от цен и рекламы) и так далее. При этом, цели, которые преследует фирма при определении производственного плана, могут быть са-. мыми разнообразными: либо просто максимизация прибыли, либо сложная комбинация различных требований, например максимальное расширение сбыта некоторого продукта с получением не менее 5% прибыли на вложенный капитал, и так далее. Ограничениями при этом являются технологические связи между затратами производственных факторов и объемом выпускаемой продукции (эти связи часто линейны, в противном случае искусственно аппроксимируются кусочно-линейными функциями), возможности обеспечения производства этими факторами, связи между ценой, рекламой и величиной спроса (которые также аппроксимируются кусочно-линейными функциями, если с самого начала не являются линейными) и, наконец, условия неотрицательности, (поскольку количество продукции, цены и так далее — существенно неотрицательные величины). Такого рода задача формулируется в терминах нелинейного программирования, если цена выпускаемой продукции является одной из величин, подлежащих определению, и влияет на величину сбыта. Транспортная задача становится нелинейной, если стоимость транспортировки единицы товара зависит от общего количества перевозимого товара. Задача назначения также становится нелинейной, если элементы матрицы соответствия не являются постоянными. В этой задаче мы сталкиваемся еще с одной трудностью, вызванной требованием целочисленное™. Эти вопросы· в данной книге не рассматриваются (см, в связи с этим Кюнци и Эттли [1]). И наконец, все линейные задачи программирования становятся нелинейными, если ввести неопределенность и риск, если вероятности соответствующих величин (например, цены, возможности снабжения и так далее) не существуют и если функция цели учитывает риск при принятии различных решений. Но в книге эти вопросы не рассматриваются. Они изложены в уже упомянутой книге Крелле (1], а также в книге Фройнда [1]. Возмож* ности применения метода нелинейного, программировав ?
ния, конечно, не исчерпываются этими примерами. Задача специалиста в области исследования операций состоит в данном случае в изучении логики существующего производственного процесса и «построении его удобной математической модели. Одна из задач данной книги как раз состоит в том, чтобы помочь читателю при выборе той или иной формализованной схемы и соответствующего метода решения. Читатель может легко убедиться в том, что не все приведенные методы одинаково удобны для решения какой-либо определенной задачи. Поэтому дадим краткую характеристику каждого из них. Итерационный метод Хилдретя очень прост. Но во многих случаях сходится плохо и, следовательно, требует очень большого числа итераций. Правда, им удобно пользоваться при решении задач на ЭВМ. Функция цели, однако, должна быть строго выпуклой, что сужает область возможных применений. Метод Тейла и ван де Панна также требует от функции цели строгой выпуклости. Этот метод, являясь комбинаторным, существенно отличается от остальных. Он требует небольшого объема вычислений лишь в том случае, если условная экстремальная точка близка к безусловной. Метод Била является обобщением симплексного метода и может быть использован для решения квадратичной программы с полуопределенной формой. Алгоритм Вулфа целиком основан на условиях Куна— Таккера и использует симплексные итерации в еще большей степени, чем метод Била. Этот метод также допускает полуопределенность квадратичной формы. Он имеет хорошо разработанную программу для ЭВМ. М№5д Баранкина и Дорфмана имеет много общего с методом Вулфа. Применим не всегда. ч Метод Франка и Вулфа проще, чем метод Баранкина— Дорфмана, использует только технику симплексного метода и короче, чем метод Вулфа. Пожалуй, наиболее удобна комбинация методов Баранкина — Дорфмана и Франка — Вулфа. Преимущество методов Розена и Фриша состоит в том, что при определении оптимума функции цели в качестве начальной может быть использована любая точка, принадлежащая допустимой области. Дальнейшее 10
движение происходит в направлении градиента функции цели (с учетом ограничений), что обеспечивает значительно более быструю сходимость к решению. Аналогичные соображения положены в основу метода Зойтендейка. Последние три метода могут быть обобщены для решения задач с более сложными функцией цели и ограничениями. В настоящей книге мы ограничиваемся изложением квадратичных программ с определенной и полуопределенной функцией цели и линейными ограничениями. Метод Хаутеккера применим лишь в том случае, если все коэффициенты линейных ограничений неотрицательны. Так как квадратичная функция цели предполагается к тому же определенной, то возможность практического использования метода очень ограничена. Данная книга рассчитана, главным образом, на лиц, изучающих математику, экономику, естествознание, технику, а также на инженеров и экономистов, работающих в промышленности и сельском хозяйстве. Для нематематиков мы собрали в первой главе основные теоретические положения, которые используются в последующих разделах, изложив их по возможности элементарно. В заключение мы считаем долгом поблагодарить всех лиц, помогавших нам при написании этой книги. Цюрих и Бонн, весна 1962 г. Г. П. КЮНЦИ и В. КРЕЛЛЕ
ГЛАВА ПЕРВАЯ МАТЕМАТИЧЕСКИЕ ОСНОВЫ 1. МАТРИЦЫ Матрицей А с размерами тХп: А = #ц #12 · · · #1П #21 ^22 " ■ ' ^2М #ТИ1#П .#7) (1.1) или, короче, л=Ы называется прямоугольная таблица с т строками и η столбцами, в которой расположены тХп величин aij(i=l, ···> т\ /= 1» ··., л), причем элемент α^ находится на пересечении ί-й строки и /-го столбца. Под элементами ац будем понимать в дальнейшем действительные числа, или, как еще говорят, скаляры. Говорят, что две матрицы Л==||#^|| и Л = ||6^|| с размерами тХп равны Л=5, если ai) = bij при всех i и j. Если число строк равно числу столбцов, т = я, то матрица называется квадратной (п-го порядка). Главной диагональю квадратной матрицы называется диагональ, проходящая через верхний левый и нижний правый углы, т. е. совокупность элементов ац. Квадратная матрица, у которой все элементы, расположенные вне главной диагонали, равны нулю, называется диагональной. 13
Особую роль играет единичная Матрица, т. е. диагональная матрица с элементами ац—\ при всех ί. Обозначим ее через Ε (без указания порядка): 1 О О 1 О О = 1141. δ ij~{o! 1, при t = /, при ίφ]. (1.2) Матрица, все элементы которой равны нулю, называется нулевой. 2. ОПЕРАЦИИ НАД МАТРИЦАМИ Если в матрице (1.1) поменять местами строки и столбцы, то получится транспонированная матрица с размерами пХт: Л' = ^11^21 " · · 0"ГП\ #J2#22 · · · ^W2 #т#2п · · · &тп\ =Ы (1.3) Например, А = 13 2 — 1 |5 0 7 1 , Л' = 1 3 511 2 0 1-1 7|| Для квадратной матрицы транспонирование сводится к зеркальному отображению относительно главной диагонали, при этом диагональные элементы не меняются. Очевидно, (Л')' = А (1.4) Квадратная матрица называется симметричной, если А'=А, (1.5) т. е. aij = aji. Если же А'=-А, (1.6) 14
т. е. aij = — а и и au = 0, то матрица называется косо- симметричной. Умножение матрицы на число сводится к умножению на это число каждого элемента матрицы ЯЛ = ЛЯ'= λα, ,λαιη *41тл · · · *&ri (1.7) Суммой двух матриц Л = ||а^|| и /? = ||6^[| с размерами т χ η называется матрица С=||с^|| с размерами т^п такая, что Сгз = ац-\-Ьф (1.8) т. е. А + В = С или ||а^1 + Ц64j|| = || αΐ5 + 6^||. Суммировать можно лишь матрицы одинаковых размеров. Произведением двух матриц Л —||α^·|| с размерами πιχ/ι иВ = ||64j|| с размерами я X <7 называется матрица C=|jcift|| с размерами mXq такая, что <7i*=j ЪА» Итак, или подробно / = 1,2,.. .,т ¥=1 £ = 1,2,...,?. Л-Д = С, (1.9) (1.10) Uu , · . (Ιχη &mi · · ·βτηη η η Ьи ... 6Χ4, 0щ · · · 0fig η Σα, b , V λ, 6 η... V α, 6 v=I v=l Σ *mAl Σα^2··· Samv6v v=l v=l *=1 (1.11) 15
Таким образом, умножение двух матриц выполнимо лишь в том случае, когда число столбцов в первом сомножителе равно числу строк во втором. Произведение двух квадратных матриц порядка η есть снова квадратная матрица порядка п. Умножение матриц ассоциативно (АВ)С=А(ВС)=АВС, (1.12) дистрибутивно А{В + С)=АВ+АС, (А+В)С=АС+ВС, (1.13) но не коммутативно, т. е. может случиться, что АВфВА, (1.14) хотя оба произведения существуют. Единичная матрица Ε обладает тем свойством, что ЕА=АЕ=А (1.15) для любой матрицы А с размерами тХп. При этом Ε в качестве левого сомножителя имеет порядок т, а в качестве правого — п. При транспонировании произведения имеет место; равенство вообще {АВ)'^В'А\ (AB...Q)' = Q'.. B'A*. (1.16) 3. ВЕКТОРЫ Назовем матрицу с размерами nXl, т. е. состоящую из одного столбца с п. элементами, вектором-столбцом аЛ а = = N1 (1.17) а% 16
Величины at называются компонентами вектора а. При транспонировании вектор (1.17) переходит в матрицу с размерами ΙΧη, τ. е. в вектор-строку а'= 11^,. ..д»|| (1.18) В дальнейшем под вектором, или, точнее, п-мерным вектором, следует понимать упорядоченную последовательность η действительных чисел, которой в рамках теории матриц соответствует вектор-столбец с η компонентами. Соответственно, вектор-строку следует понимать как транспонированный вектор-столбец и записывать в форме (1.18). Если компоненты n-мерного вектора рассматривать как координаты некоторой точки в n-мерном эвклидовом пространстве /?п, то 'каждому n-мерному вектору будет взаимно однозначно соответствовать точка в Rn. По этой причине в дальнейшем термины точка и вектор будут употребляться как синонимы. Текущей точке с координатами хи *2, · · ·, *п соответствует (переменный) вектор х = (1.19) и наоборот. Началу координат соответствует нулевой вектор 01 0: о о (1.20) Будем считать, что а^Ь, если а^фЪ^ хотя бы для одного значения ί, (1.21) a^b, если #*!>&* для всех значений L (1.22) Частным случаем общего определения произведения матриц является: произведение а'Ь n-мерного вектора- 17
строки и n-мерного вектора-столбца есть матрица с размерами 1X1, т. е. число. Это произведение не меняется при транспонировании: η a'b^b'a — £α464. (1.23) i = l Произведение (1.23) называется скалярным произведением двух векторов. Если один из сомножителей переменный, то это произведение называют линейной формой: η а'х = V diXi. Два вектора называются ортогональными или взаимно перпендикулярными, если их скалярное произведение обращается в нуль: аЪ = 0. (1.24) Нормой или модулем |а| вектора а называется выражение |а| = -Ц7а'а ι=\ (1.25) Если а=^=0, то |а|>0; вектор а называют нормированным, если |а| = 1. Норма |х2 ^— хх| называется расстоянием между х1 и х2. Произведение я-мерного вектора-столбца и ю-мерной вектор-строки есть матрица с размерами η χ т\ ab' = а, ■цбА,....ад= ахЬх ахЬг... ахЬт а2Ьг а2Ь2 ·.. афт \апЬх anbv .. anbm (1.26) Очевидно, ab'^ba'. Матрицу (1.1) можно разложить на т векторов-строк аг* = ||а*1> я*2,..-, ain]\, / = 1, 2,...tm, (1.27) 18
или ή векторов-столбцов Ια и а, 23 а mj , /=1,2, ...,«· Поэтому матрицу можно записать так: Л = ||о„ <ха,.. .,ап1| = а', а', ft m Если матрицы А и В представить в виде* Л = ft τ? » ^ = ||Эи · · ·> βςΊΐι то произведение матриц можно записать так ιαα-.a'A ля= ft mPi ft 7ПК2 · · · ft mP? (1.28) (1.29) (1.30) (1.31) Элемент сц матрицы-произведения равен, следовательно, скалярному произведению *=-й строки Л и /-'го столбца В. Если же матрицы Л и В разложить по-иному: Λ=11*1. <χ2>· ■-■«nil, В — ъ\ ь\ (1.32) * Матрица А имеет размеры mX/ι, a B — nXq. (Прим. ред.) 19
to йройзвеДение (1.10) можно записать так: (1.33) / = 1 В обоих случаях (1.31) и (1.33) матрицы А и В умножаются аналогично векторам. Произведение матрицы и вектора-столбца есть снова вектор-столбец An-- а, а, ■mi &тп a'mU «! ν=1 Σα u fflV ϊ ν=1 =Σ «Λα .34) ν=1 Выражение 2j # ναν называется линейной комбинацией век- У торов αν. Линейная комбинация называется выпуклой, если ιι^Ο и V^ = i. (1.35) Система линейных уравнений: ^2ΐ·^ι τ ^22·^2 ι · · · Т^гп^п^1 #2» #7ηι·£ι~"Γ^ΗΊ2·^2 ι · · · i^,mn^nz==^'Tn может быть записана в виде /4х=а. (1.37) 20 (1.36)
Линейное преобразование пространства Rn с координатами xf = ||jc1jc1,. ...jCnll в пространство Rm с координатами У=\\У„ ·■ ->Ут\\> т. е. /ι 0« = Σα'Λ· i=l»2f-..w, (1.38) может быть записано в виде у = Лх. (1.39) Произведение двух матриц соответствует последовательному выполнению двух линейных преобразований: из у = Лх, z = 5y следует г = В(Ах) = (ВА)х. Единичная матрица соответствует тождественному преобразованию: £х=х. (1.40) Из (1.40) с очевидностью следует х = £*еь (1.41) где ег· представляет ί-й столбец единичной матрицы. Вектор ег·, i-я координата которого равна единице, а остальные — нули, называется i-м единичным вектором. Единичные векторы ортогональны и нормированы. Наконец, имеет место x'ei = jci. (1.42) 4. ЛИНЕЙНАЯ ЗАВИСИМОСТЬ ВЕКТОРОВ И РАНГ МАТРИЦЫ m векторов alf aa, ...,am называются линейно независимыми, если равенство й1а1 + йааа + · •■+«mam = 0 (1-43) 21
выполняется лишь при нулевых значениях всех ии другими словами, если система линейных уравнений Ли = 0, где j4 = ||alf аа,.. .,am||; u' = ||«lf «.,...,йт||. (1.44) имеет лишь тривиальное решение и = 0, или, что то же самое, если АифЪ при любых и=^=0. Если же (1-43) выполняется при значениях и и не все из которых равны нулю, то векторы называются линейно зависимыми. Если т векторов линейно зависимы, то по крайней мере один из них может быть представлен как линейная комбинация остальных т—1 векторов. Если т—1 оставшихся векторов линейно независимы, то коэффициенты этой линейной комбинации определяются однозначно. Пример. II 5 ' 1 3 > аг — 1—31 1 0 ; а3 = 1—1 | 3 3 1 Эти три вектора линейно зависимы, поэтому ai + 2а2 — а3= 0. Напротив, три единичных вектора: 1 1 0 о . е2 = 1 ° 1 1 0 г е'Н 1 ° 1 0 1 линейно независимы. Далее, если в (1.43) а* = 0 при некотором ι, то векторы ai, ..., а™ линейно зависимы. Более чем η n-мерных векторов всегда линейно зависимы. Под рангом г системы т n-мерных векторов понимают максимальное число линейно независимых векторов из этой системы. . Всегда выполняется 0<r<min{/rc, /г}, (1.45) В первом примере г —2, во втором г=3. 22
Так как всякая матрица с размерами тХп согласно (1.29) может быть разложена на т векторов-строк или η векторов-столбцов, то можно определить по аналогии и для матрицы понятия ранга системы строк и ранга системы столбцов как максимальное число линейно 'независимых строк, и, соответственно, столбцов. Оказывается, что оба эти числа совпадают, так что можно говорить просто о ранге г матрицы с размерами тХп. Соотношение (1.45) по-лрежнему выполняется. Матрица ранга О состоит сплошь из нулей. Матрица (1J26) имеет ранг 1, так как каждые ее две строки (или два столбца) линейно зависимы. Общий способ определения ранга матрицы излагается ниже. Каждой квадратной матрице А η-го порядка можно поставить в соответствие число, называемое определителем |Л|, Если |Л |=7^0, то матрица называется неособенной. В этом случае г=п. Если, напротив, |Л| = 0 — матрица особенная, то г<п. Сделаем еще несколько кратких замечаний, касающихся понятия ранга матрицы. 1. η векторов а< = d2i 1, 2,.. .,п тогда и только тогда линейно независимы, когда матрица А=\\&„ аа,...,ап|| с размерами riyji имеет ранг п, т. е. неособенная. (1.46)* 2. пг векторов аг: a2i CLjii , / = 1, 2,...,w; m^jty * Номера с (1.46) по (1.49), относятся каждый раз к последним предложениям. 23
тогда и только тогда линейно независимы, т. е. матрица А с размерами пХт А — Ца^ aa, ;..,am|| — тогда и только тогда имеет ранг т, когда по крайней мере одна квадратная подматрица А = *'и •Ч. (1.47) порядка т неособенная. 3. Ранг системы из т векторов не изменится, если один из векторов умножить на скаляр, отличный от нуля, или несколько векторов прибавить к одному из остальных. Поэтому строки (столбцы) матрицы можно умножать на константы, отличные от нуля, или несколько строк (столбцов) прибавлять к одной из остальных, не меняя ранга матрицы. (1-48) 4. Система уравнений Лх=а {А — матрица с размерами тхл, χ—m-мерный и а—л-мерный векторы) тогда и только тогда имеет решение, когда матрица А и расширенная матрица Я=1И·: all с размерами тХ{п+1) имеют один и тот же ранг /. Решение единственно, если г = п. Если г<п, то решение зависит от η—г параметров, т. е. можно задать произвольно значения η—г переменных. Решение, в частности, единственно, если А — квадратная неособенная матрица. (1.49) 5. ПРИСОЕДИНЕННАЯ И ОБРАТНАЯ МАТРИЦЫ Присоединенной к матрице я-го порядка Яц ,а in л= \а п\ аТ 24
называется матрица л-го порядка ^пп — ^пр где Ai = (-!)*+J α. Alz^sz · · · Ащ •^18^*22 " · · ^П2 **ziv*an· " -"я aiJ-z aiJ+i (1.50) a in ^i-z» ζ · · · ^ΐ-ι, j-z^i-i, i+i ■ ■ · ^i-i, η #i+z. ζ ' - · #i+z. j-i#i+i, j+z · · · #i+z, η *Щ ' #n, i-z ^n, j+i Лг (1 .51) Таким образом, так называемое алгебраическое дополнение Ац есть взятый со знаком плюс или минус определитель матрицы; получаемый из А вычеркиванием ί-й строки и /-го столбца. По теореме о. разложении * определителя имеем Σ*αΑ = *=ι Ящ Яг-ь dhi- Яг+i. 1 " · 1 " " •Яг-! dhn • Яг+\ Л .я 0 при Λ^ί |Л| при Л=/. |ЯП1 . . . ЯПп Аналогично при разложении по элементам столбца**: £я,Л,=И|8,,, (1.53) *=ι * См. например, [2]. {Прим. редЛ) φψ* /1, при ι=λ, <л~\0, при *\^Л (/7/?и*. />*dj. 25
Из (1.52) и (1.53) следует ААлр — AjioA — пр-^ о и о о он о ■ И = \А\Е. (1.54) Если матрица А неособенная, то равенство (1.54) можно разделить на \А\ и получить АК = КА = Е. (1.55) (1.56) Можно показать, что матрица /С, обладающая свойством (1.56), существует лишь для неособенных матриц, и притом единственная. Матрицу К называют обратной к Л и обозначают К=А~1: Ли A2i \л\ иГ Лщ И1 Лщ А2п \Л\ \А\ ' Ann : и! АА-1 = А-1А=Е. Имеют место соотношения: (Ar^iA-η, (АВ)-* = В-1А-\ (1.57) (1.58) (1.59) (1.60) (1.61) если А и В — неособенные матрицы. Если матрица А линейного преобразования (1.39) квадратичная и неособенная, то, умножая слева обе части равенства на Л-1, получим А-*у. (1.62) 26
Следовательно, Л-*1 соответствует преобразованию, обратному к (1.39). Пример. А = \ пр = -' = —13—3 2 0 3 2 1 0 ■ Μ | = 15. 1—3—3 91 6 6—3 2 7—6 • 1 —1/5 —1/5 3/5 1 2/5 2/5 —1/5 2/15 7/15 —2/5 . Матрица А п-го порядка если А-1=А', т. е. если называется ортогональной, А'А=АА' = Е. (1.63) В этом случае векторы-строки (векторы-столбцы) А ортогональны и нормированы. Тривиальным примером ортогональной матрицы служит £. Учитывая |Л/>| = «=|i4|-|5|f |Л'| = |Л|, |£| = 1, из (1.63) для ортогональной матрицы получим |Л|=|±1. (1.64) Построить обратную матрицу с помощью (1.57), используя определители, довольно утомительно. В дальнейшем будет приведен другой метод. 6. РЕШЕНИЕ СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ Для конструктивного определения ранга матрицы, как и для построения обратной матрицы (что практически очень часто требуется при решении квадратичных программ) применяется вычислительный метод, тесно связанный с решением системы Линейных уравнений. Так как здесь приводится лишь самое необходимое, то для получения более обстоятельных сведений следует обратиться к Цурмюлю * [1]. * См. также {2, 4]. (Прим. ред.) 27
Метод определителей. Для определения решения системы типа (1.37) с η переменными, записанной в виде Ах = а (А — квадратная неособенная матрица) или в виде η V ^ai = a, можно сначала вычислить Л"1 согласно (1.57) и далее воспользоваться формулой х = Л1а. . (1.65) При этом возможно некоторое упрощение. А именно, если расписать векторное равенство (1.65) для (-й компоненты, то, принимая во внимание (1.57), получим *<=ϊ3γ(Σ*α) |aia2... а<-,аа<+1 anM И1 (1.66) Здесь числитель является определителем, составленным из элементов матрицы Л, где только столбец при Х\ заменен на столбец, стоящий в правой части системы**. Пример. Пусть дана система линейных уравнений: 2*,+ 2*2 — 3Jtj = 2, *ι + 4*2 — 6*, = — 2. Решение есть *ι = - *2 = - 2 2—3 5—2 6 —2 4 —6 2 2 —3 1 —2 6 1 4 —6 2 2—3 1 5 6 1 —2 —6 =Ί8 —36 —18- 9 =—18 = 2, 1 2 * βν — v-я компонента вектора а. (Прим. ред>) ** Формула (1.66) известна в литературе как формула. КрамеРа- (Прим. ред.) 28
2 2 2 1 —2 5 1 4 —2 — 6 —18 18 Вычисления с помощью определителей слишком утомительны, чтобы этот метод можно было применить прн решении больших систем. Алгоритм Гаусса. Пусть дана система α1γχγ + а12х2 + · · · + а1Пхп=>а„ (1.67) &ηΐ·Χΐ "Т~ #712*^2 "Г* ' " •\~0"ПП'Хп #71· Попытаемся привести ее методом исключения к так называемой треугольной форме: 022Хг -р · · · "Т" ^2п^п === ^2 > (1.68) Первый шаг перехода от (1.67) к (1.68) состоит в том, что первое уравнение (1.67) последовательно умножается на dx и вычитается из /-го уравнения (1.67), где си = 1, 021 ЛИ Й21 Яш = —,..., сП1 = —. При этом предпола- Ац flu гается, что аи=^0. Если это условие не выполняется, необходимо поменять местами строки- что связано лишь с перестановкой коэффициентов в матрице системы. В данном случае первые две матрицы* имеют вид Λ аХ1а12 #21#22 - &2П &П1&П2 · · ·0"ηη «1 α, (1.69) * Расширенные. (Прим. ред.) 29
л || о о .. ο<· |ο«2·. . 0 α(|) ·α2η ηη 0 αϊ" ^2 α(,) (1.70) при этом имеем Переход от (1.69) к (1.70) соответствует исключению неизвестной Х\, так что система, соответствующая матрице (1.70), уже состоит из η—1 уравнений с η—1 неизвестными. Процесс исключения применительно к (1.70) осуществляется аналогично, т. е. первая строка, не равная тождественно нулю; умножается последовательно на число Ci2 и затем вычитается из ί-й строки таблицы (1.70), где 4У 42 Г —1 г __!££ с _ΐ£ 4г "--' *22 При этом получим 0 0 0, 0 0 0 0 0о£>. α 0 0 (2) 0 0а (2) 43 ' а 0 0а<2> .а(2) "лЗ ЯЯ{ Я (1.71) После η таких шагов получим нулевую матрицу Лп» Если на (/ — 1)-м шаге окажется, что а'~1 = 0, то необходима перестановка строк. Вычисленные таким образом матрицы А о, Ль Л2, ..., Ап~\ позволяют теперь легко записать систему уравнений в треугольной форме (1.68), беря из Л0 первую строку, из А\ вторую и так далее-, наконец, из Ап-\ п-ю строку, 30
Полученная треугольная система быстро решается, потому что из последнего уравнения сразу получаем хп, это значение подставляем в предпоследнее уравнение и определяем х<п-\ и так далее. Различные "шаги, ведущие от матрицы Л0 к А\ и так далее до АПу целесообразно связать друг с другом, что приводит к так называемому связанному алгоритму Гаусса. Связанный алгоритм Гаусса. Чтобы понять этот более короткий метод, следует взглянуть на три матрицы А, С, В: А = dudi2 · ■ #21#22 ' ■ #П1#П2· • #171 • #2П . *Unn \ (1.72) С = 1 0 . ctl 1 . ^Щ ^712 .. 01 • ° • ·ΐ| (1.73) в= *11 *12 · · · *1П U t?22 · · · "г я * 0 0...6„„ (1.74) Матрицы (1.73) и (1.74) —треугольные, состоящие из уже знакомых читателю элементов Сц и Ьц соответственно» Пусть далее с,= 1 , са = 0 1 с» •ι Сп о о (1.75) 31
— векторы-столбцы матрицы (1.73) и b'i = !|ftui bti, ..., bin\l где btj = atjt Ь', = ||0, b2it *„,...f6w||* где 6„· = α^,..., (U6) b'n = ||0, 0, ...Ml» где 6ηη = α(η71) — векторы-строки матрицы (1.74). После этих определений сразу обнаруживается закон построения матриц Аи а именно: At = A—ctVt9 Ла = А1— с2Ь'а = А — с^ — cab'a, (1.77) Лп = 0 = Л — с^ — c2b'2 — ... — 1пЪ'п^А—СВ. Произведения в (1.77)—это векторные произведения типа (1.26), и их сумма по определению матриц С и В есть не что иное, как СВ. Из (1.77) следует приведение матрицы (1.72) к треугольному виду Л = СЙ, (1.78) или, если матричное равенство (1.78) расписать подробно, принимая во внимание (1.73) и (1.74): an = J] сиЪ^ + bi j при / < /, 7 α*·;=Σ^Α/ ПРИ *>/· (1.79) »=ι Связанный алгоритм предполагает одновременное рекурсивное определение элементов Ё и С. При этом удобно обе матрицы В и С представлять себе совмещенными в виде новой матрицы Л: *ιΛ» · ■ ■ *т С%ХЪ %хигг Сп\Рю • 02п • · ипп =в+-с—е: (1.80) <32
Определение элементов А производится за η шагов, так на i-м шаге сначала вычисляется диагональный элемент Ьц и затем элементы, расположенные справа и вниз от Ьц, т. е. bij, j>i и Сии k>i, следовательно, Ьц = ац-%с(Аг j>i, (1.81) ί-1 (1.82) Равенства (1-81) и (1.82) следуют непосредственно из (1.79). Стоящие справа величины ch и Ьч, уже вычислены на v-м шаге. На первом шаге имеем просто bij — dij, / = 1, 2, ..., п, Если некоторое 6^ обратится в нуль, необходимо снова поменять местами строки. Добавим к матрице А еще один столбец ах а2 а — ат а к матрице β соответственно 1*1 Ьп и распространим формулы (1.81) и на эти столбцы /—1 *<=«<-Σ <ч А· (1.83) зз
С помощью В и b можно теперь исходную систему (L67) записать в желаемой форме (1.68), которая уже позволяет быстро найти неизвестные. Для проведения вычислений очень удобно пользоваться следующей формой таблицы: Л! а А | b (1.84) причем в А величины Сц умножены на — 1. Благодаря последнему в (1.81), (1.82) и (1.83) вычитание заменяется сложением. Для η = 4 эта таблица имеет вид я» Λ.1 а„ «41 6« —сп —си —ctl alt α22 «sa ati Кг Ьгг £42 «м «и «42 «4> ^2S —^48 αι4 «24 «84 «44 *24 6,4 644 «Ι «2 «8 «4 6, 6, 6, ъ* (1.85) Пример. Пусть дана та же задача, что и при рассмотрении метода определителей, т. е. требуется решить систему уравнений 2*ι + 2хг — Злг3 = 2, *i — 2*2 + 6jcs = 5, *ι+4*, — й*з = — 2. Вычисляя по формулам (1.81) — (1.83) таблицу получим 0ц 021 α3ι *П ~c,,L — C,i ^12 022 032 *» 6,2 —ι —^з«/ 013 023 033 *!·- *«3 Ь%% 01 А2 0з ^ Ьг Ьг 2 1 1 2 -1/2 -1/2 2 —3 -2 6 4 —6 2 —3 -3.15/2 l[ 3 2 5 —2 2 4 1 34
Отсюда эквивалентная система имеет вид,: 2хх + 2х2 — 3*3 = 2, 15 — 3*, + -γ χ* = 4' Зл:»=1. Из последнего равенства определяем хх = 1/3, после подстановки в предыдущее получаем jca = — 1/2 и, наконец, после подстановки в первое находим Х\ = 2. Легко проверяется методом полной математической индукции, что если А— симметричная матрица {А =А'), то и все матрицы от Αι до Ап^\ симметричны и что выражение (1.82) упрощается до см = т~. 0-86) Но при этом для сохранения симметрии каждая перестановка строк должна компенсироваться перестановкой одноименных столбцов, что необходимо иметь в виду при последующем вычислении неизвестных. Если матрица А не только симметрична, но и обладает свойством положительной определенности (см. ниже), то необходимость в перестановках отпадает; величины Ьц для всех i отличны от нуля, более того, положительны. 7.' ВЫЧИСЛЕНИЕ ОБРАТНОЙ МАТРИЦЫ Для вычисления А-1 — матрицы, обратной к данной А7—используются правила, аналогичные рассмотренным при решении системы линейных уравнений. Матрица А~1 для неособенной матрицы А определяется единственным образом как решение X матричного уравнения АХ = Е, (1.87) 35
подробно аг1 агг Λη, α„ 1 0. 0 1 . о о л11 л1* ^ιτι • -^п . 1 Здесь число неизвестных х^ равно я*. Это матричное уравнение может быть представлено как η систем векторных уравнений, каждая с η неизвестными, а именно: где /\Х{ — ©ΐ, I — 1, Ζ, Χχί •ι П, (1.88) (1.89) есть 1-й столбец матрицы X и ег- — г-й столбец^ матрицы Е. Для решения каждой из систем (1.88) применяют связанный алгоритм Гаусса. Так как все системы отличаются друг от друга лишь дополнительным столбцом *, то можно все преобразования выполнять как единый процесс вычислений. Нужно лишь вместо одного дополнительного столбца записать все я, а именно еь е2, ..., ете, короче, Е. Столбцы е* рассматриваются (каждый в отдельности) как обычные дополнительные столбцы, в сущности точно так же, как и столбцы Л, * Правой частью. {Прим. ред.) 36
При этом столбец е, переходит в столбец О dj: О 1 dni (1.90) J—1 где dij = 8ij—Jj^A/ (δϋ — элементы Ε). (1.91) ν=1 Формула (1.91) соответствует (1.81), вернее (1.83). Тем самым матрица Ε в целом преобразуется в нижнюю треугольную матрицу D, на главной диагонали которой стоят сплошь единицы: D = 1 0. . ,0 1 . . о dm - · · 1 =каа,..., d„||. (1.92) Разложению А = СВ согласно (1.78) соответствует теперь для дополнительной матрицы разложение E = CD, откуда и следует D = C~l. Из системы (1.93) (1.94) можно, наконец, по очереди, начиная с xin, вычислить все элементы хц t-го столбца х* матрицы X. Определен- 37
ная этим способом обратная матрица А"1 = Х согласуется, естественно, с (1.57). В соответствии с (1.84) вычисления удобно проводить в форме таблицы А | Ε A]D, Г!" (1.95) или, если это расписать (при л = 3): дополнительные столбцы «и аг1 a3i Ь» —си —си *11 х12 -^13 <*ia ai2 a*t Ь22 —с** xtl X%2 -^as ^13 | Яаз 1 Яве Κι! bj •^31 •^32 -^33 ^3i <*за 1 (1.96) /-я строка Хг соответствует *-му дополнительному столбцу. Пример. Пусть дана матрица А = 2 2—3 1 —2 6 1 4 —6 -Требуется найти обратную матрицу Л""1.
Заполняя таблицу (1.96) с помощью (1.81), (1»82), (1.91) и решая соответствующие системы уравнений (1.94) с помощью последовательных подстановок, получаем дополнительные столбцы 2 1 1 <N -1/2 -1/2 2/3 0 -1/3 2 —2 4 2 —3 1 —2/3 1/2 5/6 —3 6 —6 —3 15/2 3 -1/3 1/3 1/3 1 о 0 1 -1/2 —1 0 1 0 0 1 г 0 0 1 0 0 1 -,> Итак, решение имеет вид . I 2/3 0 —1/3 А~1 = \\ -2/3 1/2 5/6 —1/3 1/3 1/3 Следует заметить, что если матрица A = Af симметрична, то можно определять d{j проще. В силу (Л_1)' = = (Л')"1 матрица Х = Л~1 также симметрична. Если теперь вычислять столбцы X в обратном порядке — сначала хп, затем хп_1 и так далее, наконец, хх,—то для определения элементов хц /-го столбца необходимы величины diU /"<*· В силу симметрии Xij = x,u и этот элемент уже находится в ί'-м столбце. Итак, в /-м столбце нужно вычислить лишь Xij при /=з/, и для этого достаточно знать, что ац = 0 при i</, djj = l. Для вычисления обратной матрицы с помощью электронной вычислительной машины особенно удобен метод Рутисхаузера [1]. 8. ОПРЕДЕЛЕНИЕ РАНГА МАТРИЦЫ Матрица с размерами пгХп а,, а (hi 12 а22 0171 Я3п А = \ (1.1) . а* 39
может рассматриваться как система η йектороб-столб- цов glj согласно (1.28) или как система т векторов- строк a'j согласно (1.27). Каждой из этих систем соответствует ранг г, и, как уже ранее было указано, эти числа совпадают. Их общее значение г называется рангом матрицы А. Для определения г матрицу А приводят методом Гаусса к треугольному виду В. При этом, в случае необходимости, требуется не только перемена мест строк, но и столбцов. Согласно (1.48) от шага к шагу ранг матрицы А не меняется. После преобразований матрица А принимает вид 6П Ь12 · . . bir j bltT+l . . . bin\ U L?22 · · · &%Г ^2,Г+1 * ' · ^271 | В = 0 0 • 0. 0. ■ · ЬгГ &Г,Г + 1 · · . . oj о . . • ι • brn .0 • о o. . . о! о о i r (1.97) f m—r r I n—r причем btl =7^=0, 6227^=0, ..., 6rrz^=0. Непосредственно убеждаемся, что система строк (как и система столбцов) матрицы В имеет ранг г. Первые г векторов-строк и, соответственно, векторов-столбцов линейно независимы. Более чем г векторов-строк линейно зависимы, так как содержат нулевые строки. Точно так же более чем г векторов-столбцов линейно зависимы, так как система уравнений: ЪцХЛ-Ь^Хъ + — + Ь1Т xr+ blSxs = 0, 022-^2 *Т~ '·· *Т~ ^2Г-^Г~Р ^2S^S Т= V> brrXr+brsxs=0\ s = r-\-l,r-\-2,...fn, имеет единственное решение при любом xs=/=0, поэтому 5-й столбец представим в виде линейной комбинации первых г столбцов. Отсюда немедленно следует, что лю- 40
бая линейная комбинация r+Ι столбцов линейно зависима. Пример. Установить ранг г матрицы 2 2—3 2 О А = -2 6 3—2 4—6 5 1 0 3 6 1 Так как число строк т =.4 меньше числа столбцов η = 5, то н г<4. Для точного определения ранга приведем А к треугольному виду в соответствии с таблицей 0ц ^21 031 041 6,1 — ^21 — Си — С41 012 022 0S2 042 &12 &22 — С32 — С42 013 023 033 043 &13 — С43 I 014 024 034 044 &14 Ь 24 ^ 34 &44 015 025 035 045 Ьи ^25 &35 &4 5 Согласно формулам (1.81) и (1.82) получим 2 1 1 0 2 1 2 1 2 0 2 - -3 —2 6 4 —6 0 3 2 —3 —3 1 0 15 2 3 —1 2 0 3 —2 5 1 , 6 -1 2 0 2 —2 J 6 —1 | 0 0 1 (1.98) 41
Итак, преобразованная матряца имеет внд 2 2—3 О —3 15/2 0 0 3 0 0 0 г=3 2 0 2 —2 6 —1 О О п—г=2 г = 3 и ранг матрицы равен 3. Приведем в заключение еще две теоремы о ранге некоторых матричных произведений. 1. Ранг матрицы не меняется, если ее умножить справа или слева на квадратную неособенную матрицу с соответствующим числом строк. В частности, произведение двух неособенных матриц снова есть неособенная матрица. (1.99) 2. Симметричная матрица п-го порядка А'А = з. 1&1 ft гв,2.. * а гв,п ft 2&! Я- 2^2 · · · ft 2ftfl ft nfti ft nfta · · · ft nftfi I имеет тот же ранг, что матрица с размерами τη Χ п: л=11*1* а*> ■■■■ а*1!· Матрица Л'Л, в частности, неособенная, если система векторов-столбцов матрицы А имеет ранг г = п, т. е. столбцы линейно независимы. (1.100) 9. МАТРИЦА ПРОЕКТИРОВАНИЯ Пусть в /z-мерном пространстве Rn даны η линейно-независимых л-мерных векторов а^ а2, .. м ап. Все пространство Rn натянуто на эти векторы, т. е. каждый дей: ствительный л-мерный вектор χ может быть представлен как линейная комбинация ' x = £ejaj. (1.101) 42
Говорят, что aj образуют базис в #п, и щ называет координатами χ в этом базисе. Выберем теперь q векторов из этих л, например alf аа, ,.., а^. На эти q векторов натягивается лишь многообразие* размерности qy а именно, подмножество тех χ из Rn, которые представимы в виде я x = £tfjaj, короче, х = Л',и, (1.102) где Л', = ||ал, ..., а,||; и'= \\и1У а,, ..., uq\\. (1.10Э) Обозначим это линейное многообразие размерности q че- +** **/ *** рез D. Если q-=n, то D совпадает с Rn; при <7 = 0 # состоит лишь из нулевого вектора. Уравнением а^х = 0 в Rn задается гиперплоскость Ни проходящая через начало координат, т. е. линейное подпространство размерности η — 1. Пересечение q гиперплоскостей Яп #а, ..., Ня представляет линейное подпространство размерности η—q\ это подпространство обозначим через D. D—- это множество таких векторов х, которые удовлетворяют системе уравнений а',х = 0, /=1, 2, ..., <7, короче, Л,х = 0. (1.104) При q — nD состоит лишь из нулевой точки, при q~0 D совпадает с /?п. Каждый из векторов alf аа, ..., &я перпендикулярен D, следовательно, D и D взаимно ортогональны: y'z = 0 для всех у££> и ζξβ. (1.105) Кроме нулевой, D и D не имеют ни одной общей точки. * В отечественной литературе совокупность векторов (1.102) чаще называют линейной оболочкой или подпространством. Линейная оболочка — это наименьшее подпространство, содержащее векторы ai ag. Под многообразием при этом понимают подпространство, сд-виБутое на некоторый фиксированный вектор. (Прим,, ред.) 43
Все пространство Rn натягивается на D й £), т. е. каждый вектор x£Rn единственным образом представим в виде x = xff + xD, (1.106) где x„£D и xD£I>. В силу ортогональности D и £), очевидно, справедливо х'х_=0. (1.107) Если x£D, то х_ = х, xD = 0. Если x£D, то х_=0, Ъ Ъ х = xD. Назовем xD проекцией χ на £>, а х_ —проекцией Ъ χ на £>. Проекция xD определяется единственным образом в силу условия ^Онх'„(х-д=0. (1.108) Проекция обладает характеристическим свойством минимальности, т. е. |xD —х|<|у —х| для всех xD=£y£D. (1.109) Аналогичными свойствами обладает χ . Ъ Проекцию xD получают умножением так называемой матрицы проектирования Ря на х: xD = Pgx. (1.110) Матрица Рд п-го порядка строится по правилу РЯ = Е- Аг,(АгдА\у1Ад. (1Л11) Матрица АдАгд q-Ъо порядка согласно (1.100) неособенная, ибо столбцы Ад линейно независимы; следовательно, обратная матрица существует. Очевидно, Р'д = Рд и Рд.ря = Ря. (1.112) 44
Чтобы убедиться в том, что Ря обладает нужными свойствами проектирования, остается лишь проверить (1.108). Рях£Р> ибо /\qiqX :— /iqJu X A,qA, q \J\qJ\ q) /\qX ш=== /iqfl X Ju /iqX z== U, И (PqX)f (X — PqX) = X'P'qX — X'P'qPqX = X'PqX — Х'Я?Х=0. Поскольку χ_ = χ — χ матрица Ъ РЯ=Е — РЧ = А'Я{АЯА'ЯУ1АЯ (1.113) осуществляет проектирование на ГУ. х^ = рдХя (1.114) D Для любого y£D (т. е. удовлетворяющего равенству Л^у = 0) справедливо Pqy = Ey-A',(AqA'q)-lAqy = y, Рду= Arq{AqArqylAqy = 0. Для любого ζξρ (т. е. удовлетворяющего равенству ζ = = Afqu) справедливо PqZ = A'qU — A'q (AqA'q) "'[ AqAqU = A'qVL — A!qU = 0, В частности, Pgaj — 0 для /==1, 2, ..., 9. Для того чтобы произвольный л-мерный вектор χ линейно выражался через а19 а2, ..., av, необходимо и достаточно, чтобы выполнялось условие . РдХ=0. Следовательно, этот x£D и согласно (1.102) единственным образом разлагается по векторам aj, т. е. х=А'ди. <7-мерный вектор и, составленный из коэффициентов разложения, получается умножением левой части (1.102) На {AqA'q)'1 Aq\ (AqA'q)-lAqx=u (1.115) 45
При q = ti матрица Ап имеет обратную и (АпА'п)-1 = (А'п)-1Ап-*, при этом Рп=Е-А'п(А'пу*А^Ап=Е~Е=0. Это, естественно, означает, что проекция на точку есть нулевой вектор. Избегая особых случаев, полагаем Р0=^ = Zf: проектирование на все пространство не меняет вектора. Отметим еще несколько свойств матрицы проектирования*: P,Pj = P„ PqP) = Pq Для / = <7 + 1, ···> л, (1.116) PgPj = Pg, PqP^Pi для / = 0, 1, ..., q. (1Л17) Для любого χ такого, что Рдх=£0, справедливо х'Р,х>0. (1.118) Действительно, x'Pqx = (Рдх + рдх)' Рдх = (Рдху Рдх = \ Рдх |2 > 0. Так как ад линейно не зависит от ах, а2, ..., а^-р то всегда выполняется Р^а^О. (1.119) Пусть щ есть коэффициент при а.я в разложении Pqx (или просто х, если χ уже принадлежит D) по векторам ап аа> ..., а^, т. е. Ρ,χ=Σ*Ρϊ Тогда __ βΆ-ι*=*«Ι^-ΛΓ· (1Л2°) * Здесь имеется в виду следующее: Dq C.Dj при / > q. (Прим. ред.) 46
Действительно, а'Л- χΧ = aW1 (Я,х + Я,х) = г!яРя_ х (Ρ,χ+V иЛ) = Далее имеем |Р,_жхГ=|Р,х|«+й*|Р,_Л|». (1.121) Действительно, Р„-1х=Р„х + Я,. до,, |Я,.1х|» = |Р,х|Ч-и;|Р?_1а?|а + 2(Р?х)'(иЛ-1а?) = = |Р,х|» + <|Я,-1а,|, + 2«,х'/>,а,=1'>*х|1 + Следовательно, в частности, |/ViX|>|P*x|. если ияфОу (1.122) и вообще, имеет место цепочка неравенств |Я,х|^|Р^1х|^...^|Р0х| = |х|. (1-123) При проектировании, следовательно, норма вектора не может увеличиться. 10. КВАДРАТИЧНЫЕ ФОРМЫ, ОПРЕДЕЛЕННОСТЬ Квадратичной формой η скалярных переменных называется выражение вида -\- . . . -|- £СхпХхХп -р I ^№^2 ~Т" ^СХ1рСгХг "т" · ' · ι ^гпХж^п "Т" Τ" ^w*3 "Τ" ■ · · Τ" 2^3η·^3·^η Τ" + ··· + <W< (1.124) 47
с действительными коэффициентами. Считая Сц симметричными {сц = сц), можно записать V == (^li-^i г ^ΐ2·^2 ι ■ · · ι CinXn) Х\ "Τ" + "Τ" \Сг1\Х\Х~СпгХ2-j- * . · -J- CnnXn) Xn. (l.lZO) Если коэффициенты сц представить в виде симметричной матрицы С л-го порядка, а переменные x'f — в виде л-мерного действительного вектора х, то правая часть (1.125) есть скалярное произведение вектора-строки х' на вектор-столбец Сх. В матричной записи для квадратичной формы (1.124) имеем выражение Q(x) = x'Cx, С — симметричная матрица. (1.126) Наоборот, каждой симметричной матрице С согласно (1.126) соответствует квадратичная форма. Имеем следующее определение. Квадратная симметричная матрица С называется неотрицательно определенной или положительно полу- определенной, если х'Сх>0 для всех х. Она называется положительно определенной или строго положительно определенной, если х'Сх > 0 для всех χ φ 0. Она называется отрицательно определенной {полуопределенной), если — С — положительно определенная (по- луотгределенная) матрица. Симметричная матрица (1.111), например, положительно полуопределена согласно (1.118). Вид той или иной «определенности» матрицы С распространяется и на соответствующую ей квадратичную форму х'Сх. Следовательно, положительно полуопределенная квадратичная форма никогда не может принять отрицательных значений. Более того, если она еще и строго определенная, то обращается в нуль лишь при х=0» 48
Если некоторые фиксированные переменные равны нулю, то относительно остальных переменных квадратичная форма сохраняет тот же вид «определенности». При этом оказывается, что у каждой определенной (полуопределенной) * матрицы любая симметричная подматрица, получающаяся вычеркиванием соответствующих строк и столбцов, является снова определенной (полуопределенной). В частности, диагональное элементы положительно определенной (полуопределенной) матрицы положительны (неотрицательны). Уточняя далее, скажем, что диагональный элемент полуопределенной матрицы может быть равен только нулю, когда равны нулю все элементы строки и столбца, содержащих этот элемент. Справедливы следующие предложения: 1. Если С положительно полу определена, то Сх=0 для всех х, для которых х'Сх = 0. (1.127) Доказательство. Для произвольного у и любого Я имеем О Ш (у + WC (У + Ях) = У Су + 2Я (у'Сх) 4- *2 (х'Сх) = = y'Cy-f 2Я(у'Сх). Это возможно лишь в том случае, если коэффициент при Я равен нулю: у'Сх = 0. Так как это равенство справедливо при произвольном у, то необходимо Сх = 0. Отсюда непосредственно следует; 2. Строго определенная матрица является неособенной, и полуопределенная неособенная матрица является строго определенн ой. (1.128) Пусть теперь С — симметричная матрица л-го порядка и А — произвольная матрица с размерами п\т. * Положительно или отрицательно. (Прим. ред.) 49
3. Вместе с С положительно полуопределенной является н симметричная матрица АСА т-го порядка. Если С — строго определена и ранг системы векторов-столбцов матрицы А г = т, то и А'СА строго определена. (1.129). Для проверки этого утверждения достаточно сделать подстановку Лх = у. Тогда х'(Л'СЛ)х = у'Су^О для всех у и, следовательно, всех х. Если столбцы А линейно независимы, то из хфО следует уфО. Тогда, если матрица С строго определена*, то х'Л'СЛх>0 для всех у^=0, а следовательно, и всех х^=0. 4. Матрица А'А для произвольной А положительно полуопределена. (1.130) Это следует из 3, если положить С=£. 5. Вместе с С и С~1 строго определена. (1.131) Это следует из 3 при Л^=Л/=С~1. 6. Если положительно полуопределенная матрица С м-го порядка представима в виде С = Q'fs где Ρ — строго положительно определенная матрица лгго порядка, S — положительно полуопределенная матрица п2-го порядка (αιι + αι2=Ό и Q — матрица с размерами ΠιΧη2, то и матрица S—Q'P-lQ положительно полуопределена (строго определена, если С строго' определена). (1.132) Доказательство. Представим вектор χ в виде χ'=Ι|χ">χ2Ί|, где χ Тогда л^мерный вектор, а х — л2-мерный вектор. 0^х'Сх = ||х", х2'| P\Q qT's Ж ;v а = x1'Pxl-{-2x1'Qxi-{-xi'Sx,t при всех х1 и х" * Часто авторы пишут просто «определена». Слово «положительно» при этом подразумевается. (Прим. ред.) 50
Положим χ* =— P^Qx2, тогда справедливо* Q^x^Q'P^Qx* — 2x2,QP-1Qx2 + x*'Sx*^ = x2'(S —Q'P-'QJx8 при всех х2. Если С строго определена, то для х2=т^0 можно всюду знак = заменить знаком <. Обратимся еще раз к треугольному разложению Гаусса (1.78), причем матрицу (1-73) обозначим через Г, ее элементы — через γ^·. Согласно (1.78) квадратная матрица С может быть представлена, как произведение двух треугольных матриц (1.73) и (1J4) О-ГВ. (1.133) Если же С симметрична, то согласно (1.86) имеет место *<k=*«YM (1.134) в предположении, что симметрию можно сохранить на всем протяжении гауссовского приведения. Если С полуопределена, то это лишь частный случай. Читатель может проверить, применяя (1.132) для случая, когда «i = lf P-l=rllc\u Q = lki2, ..., cmll, что вместе с С и матрица с«'>=ИО= «'-'-£ CjjCjt у I — Ζ, - - .) 1t\ J — ~» · · ·» **> соответствующая (1.70), положительно полуопределена (строго определена). Тогда это по аналогии справедливо и для матрицы типа (1.71) и вообще для матрицы Cw = ||^||, l = k + l9 ...,η; / = А + 1, .... л, соответствующей Ak. Если эти матрицы не состоят сплошь из нулей и, следовательно, разложение должно еще продолжаться, то они содержат по крайней мере один отличный от нуля, более того, положительный диагональный элемент, который перестановкой одноименных строк и столбцов, не нарушающей симметрии, * Следует помнить, что С — симметричная матрица. {Прим. ред.) 5!
Может быть сделан йервым диагональные элементом и тем самым bk+u ь-и- Если С строго определена, то и C<fe) строго определена, все диагональные элементы положительны, и, вообще, никакие перестановки не нужны. В матричной записи (1.134) имеет вид где N = Β = ΝΓ, blx О. . ■ О О в» о о (1.135) (1.136) Равенство (1.135) остается справедливым, если последние из Ьц обращаются в нуль. Матрица В тогда имеет в £-й строке сплошь нули. Матрица Г имеет в i-ы столбце 1 на ί-м месте и остальные нули. В этом случае Г — неособенная. Равенство (1.133) примет тогда вид Если ние C = TNF. (1.137) теперь применить к χ неособенное преобразова- (1.138) то квадратичная форма преобразуется к виду Q = х'Сх = x'IWFx = y'tfy= bXitj\ + + 6^ + ... + ^ηί£· (1.139) Если в С при треугольном разложении осуществляется перестановка одноименных (симметричных) строк и столбцов, что соответствует переименованию некоторых компонент х, то предыдущую запись необходимо скорректировать: тв=с, где С есть матрица С с переставленными строками и столбцами, х'Сх = х'Сх, 52
где х есть. Βεκΐορ χ с йереставленными компонентами, у = Г'х. Из (1.139) легко видеть, что Q тогда и только тогда строго положительно определена, когда все &ϋ>0, и полуопределена, когда все Ьц^ 0. (То, что условие Ьц^ 0 является необходимым для определенности, следует также из сказанного выше относительно определенности Okl) Отсюда следует критерий: действительная симметричная матрица м-го порядка тогда и только тогда положительно определена, когда возможно треугольное разложение С = ТВ с уи=\ без перестановок и все диагональные элементы Ьц положительны. Матрица С положительно полуопределена и имеет ранг г тогда и только тогда, когда первые г элементов Ьц положительны, а остальные η — г равны нулю; при этом разрешается перестановка одноименных строк и столбцов. Из этого критерия следует другой: С тогда и только тогда строго положительно определена, когда все главные определители \Сх\ = сг„ \С%\ = |С.| = ^11 ^12 ^18 £ai ^as ^aa ., \сп\ = \с\ положительны *. С тогда и только тогда положительно полуопределена и имеет ранг <г, если (возможно, после перестановки одноименных строк и столбцов) первые г главных определителей положительны, остальные η—г равны нулю. Второй критерий следует из первого потому, что главные определители С не меняются при преобразованиях, имеющих место в алгоритме Гаусса; |С&| равен &-му главному определителю В, а следовательно, произведению b\\b\2... bkk диагональных элементов, поскольку матрица В треугольная, < Наконец, справедливо следующее: С строго отрицательно определена, если все Ьц отрицательны или глав- * Этот критерий известен в литературе как условие (Сильвестра {5]. (Прим. ред.) 53
ные определители попеременно отрицательны и йоло- жительны *. Если частные производные ■τ—- = Ζ (С{1Х1 -f- С{2Х2 -ρ . . . -j- CinXn) объединить в так называемый вектор-градиент 0Q gradQ(x) = ^ = дХг д<2 дхг dQ дхп то получим дл = 2Сх. (1.140) (1.141) Для того чтобы избежать числового коэффициента в производной, часто квадратичную форму рассматривают 1 в виде Q(x)· уХ'Сх. Геометрически Q(x)= const есть центральное уравнение эллипсоида в n-мерном пространстве, если Q строго определена. Градиент в точке х° геометрически есть нормаль к поверхности Q(x) = const в точке х°. Согласно (1.127) в случае полуопределенной матрицы С градиент, не равный тождественно нулю, никогда не может быть перпендикулярен к радиусу-вектору точки х°. 11. ВЫПУКЛЫЕ ОБЛАСТИ И ФУНКЦИИ Множество точек К в Яп называется выпуклым, если с каждыми двумя точками х1 и х2 из К и все точки вида Ях1 + (1— *)х2, Ο^λ^Ι (1.142) * Точнее, все главные определители четного порядка положительны, а нечетного отрицательны. (Прим. ред.) 54
принадлежат К. Очевидно, это означает, что множество выпукло, если с любыми двумя точками, принадлежащими множеству, оно содержит и весь отрезок, соединяющий их (рис. 1). Если множество замкнуто, то говорят также о выпуклой области. Эта область может быть неограниченной и и может лежать в некотором линейном многообразии меньшей размерности, чем п. На рис. 2 приведены примеры выпуклых и невыпуклых множеств. Все пространство Rn выпукло, пустое множество, не содержащее ни одного элемента, также может рассматриваться как выпуклое. Пересечение любого числа выпуклых множеств есть снова выпуклое множество. Если выпуклое множество К неограничено, то можно из каждой точки х°£К провести луч x°4-*t, Я>0, целиком лежащий в /С. Выпуклая линейная комбинация любого числа точек выпуклой области дает снова точку из этой области, т. е. вместе сх^/( и Vh*k£K при Vlft=l, **I>.0. Если k k две выпуклые области К1 и К2 имеют общими разве лишь граничные точки, то существует разделяющая гиперплоскость а!х=Ь такая, что d!xY^b для всех хг£Кг и а!х*^Ь для всех ха£/Са. Функция F(x) n переменных И*,,..., xv\\f = x£Rn называется выпуклой в выпуклой области /С, если для любых двух точек из К справедливо F {Ях1 + (1 — λ) χ2} ^ XF (х1) + (1 - X) F (ха) при 0<Я<1. (1.143) Функция называется строго выпуклой, если для любых χΐφχ* знак = можно заменить знаком <. Выпуклая функция, следовательно, на отрезке [х1, х2] не может принимать больших значений, чем линейная функция, интерполирующая значения F{xl) и F(x2). 55
Выпуклые области Небыпуклые области Рис. 2. χ1 λχ'+(1-λ)ζζ Рис. 3. 5а
Ma рис. 3 приведен пример выпуклой функции одного переменного. F(x) называется вогнутой (строго вогнутой), если — ^(х) выпукла (строго выпукла). Линейная функция одновременно и выпукла и вогнута, в обоих случаях не строго. Выпуклая функция непрерывна* внутри К- Если К £ Rlj то F(x) в каждой точке имеет производную справа и слева. Если конкретно не сказано, что понимать под областью /С, то следует считать K^Rn. Теорема. Если С — положительно полуопределенная матрица, то функция Q(x)=x'Cx выпукла; если С строго положительно определена, то Q(x) строго выпукла. (1.144) Докажем первую 'половину. Принимая во внимание, что WCz^KtiCz при всех ζ и 0<Я<1, имеем lQ(x1) + (l—l)Q(x1) = Xxl'Cx1 + (l—l)x1'Cx1 = = Хх*'С(хг — х») + Я(х* — х*)'Сх2 + -f λΐχ1 — x^yCix1 — х^+х^Сх^Ях^С/х1— x2)-f + Я(х1-х2/Сх2 + Я2(х1 — х2)'С(х1 — χ*)4- + х2'Сх2 = {Я(х1 — x2)-f х2УС{Я(х1 — x2)-f χ2} = = {Ях* + (1 — Я)х2уС{Ях1 + (1 — Я)х2} = _ρμχι+(ΐ-λ)χ2} для всех х1, х2 и 0<Я<1. Если С отрицательно определена, то Q(x) вогнута. Приведем еще некоторые утверждения, касающиеся выпуклых функций. Каждое из следующих четырех условий необходимо и достаточно для выпуклости F(x) в предположении, что все встречающиеся производные существуют**: a) F(x2) — /Чх1Шх2--х7(^г) t при всех х1, х2. Xl (1.145) .. * Это следует непосредственно из определения (1Л43) выпуклой функции, которое можйо. переписать <в следующем виде /ϊ*2+λ(*ΐ— x*)]—F{x*)<^%[F{xi)--F{x*)l (Прим. ред.) ** Доказательство этих утверждений см., например, у Зойтен- дейка [3]. (Прим. ред.) 57
б) Матрица d*F вторых производных положительно ] \dxidx j полуопределена для всех х. (1Л46) в) /Γ(χ° + λί) выпукла по λ при всех х°, t. (1-147) г) f i^j-J 9 —неубывающая функция Я при произвольных х°, t. (1.148) Если ^(х) выпукла, то и ^(Лх + Ь) выпукла. Кроме того, mm m F(V i*x*)s£ lkF(Xk) для %h=h h>0; (1.149) и множество всех х (которые удовлетворяют условию /Γ(χ)<α, короче, {x\F(x)^a}) выпукло (быть может, пусто) при любом действительном числе а. Если ^(х)^ = р'х+х'Сх, где С строго положительно определена, то это множество ограничено. Если /3(х) (/=1» .. -№) т —выпуклые функции, то max f] (χ) и Vj иj/,· (x) при и^О— тоже выпуклые функции. Любой локальный минимум выпуклой функции, заданной на выпуклой области, является одновременно и глобальным* минимумом в этой области. Строго выпуклая функция достигает локального минимума в единственной точке. * Говорят, что в точке х° ζ D функция F (х) достигает локального минимума, если F (х°Х,Р(х) для всех χ ζ Ο (χ°) ζ О; где О (х°) — яекоторая окрестность х°. Если же F (x°)^F (x) для всех χ ζ D, то в точке х° функция F (х) достигает глобального минимума. (Прим. ред.)
ГЛАВА ВТОРАЯ ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ 1. ДВОЙСТВЕННЫЕ СИСТЕМЫ ЛИНЕЙНЫХ ОДНОРОДНЫХ СООТНОШЕНИЙ Поскольку в последующих главах, посвященных квадратичному программированию, часто придется обращаться к линейным программам *, дадим сейчас краткое изложение теории двойственных линейных программ, следуя в основном Голдману и Таккеру [1]. Более подробное изложение методов линейного программирования можно найти в наших более ранних публикациях**. Прежде всего коснемся кратко двойственных однородных систем. Под двойственными однородными системами понимают пару конечных систем линейных однородных неравенств и (или) равенств, в которых переменные неотрицательны или неограничены по знаку. Каждому неравенству (равенству) в одной системе соответствует в другой некоторая неотрицательная (неограниченная) переменная, и наоборот. Матрица коэффициентов одной системы представляет собой транспонированную матрицу коэффициентов другой системы, взятую со знаком минус. Точнее, двойственные системы имеют вид: * В дальнейшем чаще используется термин «линейная программа» вместо более длинного, хотя н более употребительного термина «задача линейного ттропрам'мироваяия». {Прим% ред.) ** Крелле и Кюнци [1] (см. также {б, 7]. — Прим. ред.). 59
Uh неограничена h I = 0(A=1, ...,/>) 1 ft ^0(/=l, .... m) Xj ^0(/ = l, ..., я) (2-1) ук неограничена (k=1, • ·., 9). .Таким образом, всякому неравенству одной системы (заданному индексами ί и /) поставлено в соответствие, некоторое неравенство другой системы. В матрично-век- торной записи (2.1) имеет вид: — Ах — Ву = 0 — Сх —Dyl>0 χ >0. Л'и + C'v^O (2.2) Опуская часть переменных и умножая равенства на (—1), получим двойственные системы, являющиеся частными случаями системы (2.2): (2.3) (2-4) Л'и^О Л'и^О Д'и = 0 v^O C'v^O Лх = 0 х^О, Ах-\-Ву=0 х^О, — Сх^О х^о' (2.5) Наконец, выбрав в (2.5) в качестве С косоеимметрич- ную матрицу С'=—С=/С, получим систему, двойственную себе, Кг > 0, ζ > О, {К = - /С). (2.6) Для системы, двойственной себе, справедлива следующая центральная лемма*. Система (2.6) имеет решение ζ0, 60 * См. Танкер Щ,
такое, что /Cz0-f-z0>0 (строгое векторное неравенство надо понимать в покомпонентном смысле). (2.7) Доказательство смотри в упомянутой работе, где имеются и другие утверждения относительно систем (2.2) — (2.5), а также в работах Фаркаса [1], Гордана [1], Штимке {1], Моцкина [1] и Неймана и Моргенштер- на[1]. 2. ТЕОРИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ а) Двойственные линейные программы. Под парой двойственных линейных программ 'понимают следующие две*задачи: I. Максимизировать линейную форму ^Λ + ·-·+^χη (2.8) при соблюдении т-\-п линейных ограничений α11χ1 + ...+αιηχη^61, ; (2-9) Хг^О, хг^0, ..., лг„:>0, (2.10) II. Минимизировать линейную форму Ьхи,^ + · · · + bmUm (2.11) при соблюдении п-\-т ограничений: яиЙ1 + · · · + ат1ит > сх ; (2.12) и»>0, иа^0, ..., ит^0. (2.13) 61
При этом atJ·, bi и Cj — заданные действительные числа. Обе программы можно свести в таблицу &0) Ui а2 ит & Χι Х2 - · #11 #12 · #21 #22 · · 0>тХ #ти2 · Ci V2 . . Хп • - #1п , а,2п ■ · #отп • · сп ® Ьг Ьг Ьт Ограничения (2.9) и (2.10) называют также строчными ограничениями, а (2.12) и (2.13)—столбцовыми. Всякому строчному ограничению из (2.9) (1(2.10)] соответствует некоторое столбцовое ограничение из (2.13) [(2.12)1 Линейные программы можно записывать в матричной форме: I. Максимизировать II. Минимизировать с'χ и'Ь при при АхШЬ, А'и^с, х^О или в форме таблицы и>0, (^0) и Θ X' Л с' ш ъ пг+п ограничений (2.9) и (2.10) называются допустимыми, если существует вектор х, который им удовле- воряет. Задача максимизации в этом случае называется также допустимой, а вектор χ—.допустимым вектором системы (2.9), (2.10). Допустимый вектор х°, который доставляет максимум линейной форме с'х, называется 62
оптимальным вектором задачи максимизации. Аналогичная терминология вводится и в случае задачи минимизации. Может случиться, что ни задача максимизации, ни задача минимизации не имеют допустимых векторов. Например: (^0) «1 «г <^> Χι 0 0 1 Хг 1 4 2 (^0) —1 3 Имеют место: Теорема 1. Если векторы χ и и — допустимы, то c'x^u'b. Доказательство непосредственно следует из ограничений с' х^ (и' А) х = и' (Ах) Ш и'Ь. Теорема 2. Если векторы х° и и0 — допустимы и c'x° = u°'b, то и? и х° оптимальны. Доказательство основывается на теореме 1. Если с'х°=ц°'Ь, то по теореме 1 и0'Ь = с'х0=§и'Ь для всех допустимых ц. Следовательно, иа оптимален. Аналогичными рассуждениями убеждаемся, что их0 оптимален. Теорема существования задачи линейного программирования, на которой кратко остановимся в следующем разделе, утверждает, что обе задачи имеют оптимальные векторы, если они имеют допустимые векторы. б) Теоремы двойственности и существования. К теореме двойственности нас подводит лемма, сформулированная в разд. 1 этой главы. Применив лемму к кососим· метричной матрице * К = О —А Ь А 0 —с — br с' О * Если векторы с и х —n-мерны, Ь и и —m-мерны, а матрица Л имеет размеры τηχη, то квадратная матрица К имеет порядок m+rt+1. Вектор Zo, очевидно, rt+m-fl-мериый, причем и0—т-мер- иый, х0 —л-мериый, а /0 — одномерный, т. е. число. (Прим. ред.) 63
убеждаемся в существовании вектора Z0 = Uo Ыо^Лх,, А'и0 > с/„, C'x0^b'U0, и0 + Ыв>Лх0, хв + Л'ив>с/в) /в + с'х0 >ь 'и.. такого, что: (2.14) (2.15) (2.16) (2.17) (2.18) (2.19) Для дальнейшего необходимо разграничить ряд случаев. Теорема 3. Пусть /0>0. Тогда задачи двойственной пары имеют оптимальные векторы х° и и0 такие, что c'x° = b'u°, и° + Ь>Лх°, Л'и° + х°>с. Доказательство. В случае /о>0 неотрицательный вектор ||u'o, х'о, /oil можно нормировать так, чтобы /о=1, не нарушая при этом однородных неравенств (2.14) — (2.19). Если *0=1, то из (2.14) и (2.15) следует, что векторы х0 и и0 допустимые. На основании (2.16) и теоремы 1 c/x0 = b/u0 и по теореме 2 векторы х0 и и0 — оптимальные. Учитывая же (2.17) и (2.18), можем нормированные векторы х0 и и0 принять за искомые векторы х° и и0. Теорема 4. Пусть /0 = 0. Тогда: а) или по крайней мере одна из двойственных задач не имеет ни одного допустимого вектора; б) или задача максимизации имеет допустимый вектор, множество ее допустимых векторов неограничено, и с'х согласно предыдущему неограничена на этом мно^ 64
жестВе (аналогичное утверждение справедливо и Дли задачи минимизации); в) или ни одна из задач не имеет оптимального вектора. Доказательство. Предположим, что χ — допустимый вектор для задачи максимизации. Учитывая (2J 5) при /о=0 и неотрицательность х, получаем х'Л'и,:>0. Из этого неравенства, учитывая (2.19) и допустимость вектора х, получаем О £ х'Л'ио < b'u0 < с'ха. (2.20) Предположение, что задача минимизации также имеет допустимый вектор и, привело бы в силу (2.14) к противоположному неравенству, а именно: 01>ii71x0;>c'x0. Это противоречие доказывает а). Чтобы доказать б), рассмотрим луч х-{-Ях0(Я^>0). Очевидно x-f Ях0^>0. Из (2.14), учитывая, что /0 = 0, получаем А(х-{- Ях0)<СЛх<;ь. Следовательно, весь бесконечный луч состоит из допустимых векторов, чем и доказывается первая часть б). Далее, поскольку с'х0 >0 в силу (2.20), то выражение с'(x-f Ях0) —с'х + *с%> можно сделать сколь угодно большим, выбирая достаточно большое λ. Тем самым „доказано и второе утверждение б). в) является непосредственным следствием б). Следствие 1А. Или обе задачи — максимизации и минимизации — имеют оптимальные векторы, или ни одна из них. В лервом случае достигаемые максимум и минимум равны друг другу и их общее значение называется оптимальным значением двойственных задач, Доказательство следствия вытекает из двух предшествующих теорем: если одна из задач имеет оптимальный- вектор, то из утверждения в) теоремы 4 следует, что /0>0, и тогда теорема 3 утверждает, что в этом случае обе задачи имеют оптимальные векторы х° и и0 и максимум линейной формы с'х равен минимуму линейной формы b'u. Следствие 1Б. Для того чтобы одна из двойственных задач (и, следовательно, обе) имела оптимальный 65
вектор, необходимо и достаточно, чтобы либо с'х, либо b'u была ограничена на соответствующем непустом множестве допустимых векторов. Доказательство. Необходимость условия очевидна. Для доказательства достаточности предположим, что задача максимизации имеет непустое множество допустимых векторов и что с'х на этом множестве ограничена. Тогда согласно утверждению б) теоремы 4 должно быть /0>0 и по теореме 3 обе задачи имеют оптимальные векторы. Теперь можно сформулировать обе основные теорема линейного программирования. Теорема двойственности. Допустимый вектор х° оптимален тогда и только тогда, когда существует допустимое решение и0, такое, что Ь'и° = с'х°. Допустимое решение и0 тогда и только тогда оптимально, когда существует допустимое решение х° такое, что c'xo-b'u0. Доказательство. Очевидно, можно ограничиться доказательством лишь первой части. Достаточность условия следует из теоремы 2. Чтобы доказать необходимость, предположим, что вектор х° является оптимальным. Тогда согласно утверждению в) теоремы 4 должно быть tf0>0; no теореме 3 в этом случае задача минимизации имеет оптимальный -вектор и0, и по следствию 1А достигаемые максимум с'х0 и минимум b'u0 равны. Теорема существования. Для того чтобы одна из двойственных задач (и, 'следовательно, обе) имела оптимальные векторы, необходимо и достаточно, чтобы обе они имели допустимые векторы. Доказательство. Необходимость условия очевидна. Для доказательства достаточности предположим, что обе задачи имеют допустимые векторы. Тогда согласно утверждению а) теоремы 4 /о>0 и по теореме 3 обе задачи имеют оптимальные векторы. Теорема доказана. Обе эти теоремы доказаны Гейлом, Куном и Такке- ром в [1]. В приводимых ниже двух следствиях излагаются некоторые свойства пар оптимальных решений. При этом 66
предполагается, что обе задачи имеют допустимые, а тем самым, по теореме существования, и оптимальные векторы. Следствие 2А*. Пусть обе задачи имеют оптимальные векторы х° и и0. Тогда: а) если х° удовлетворяет некоторому строчному ограничению как равенству, то и0 удовлетворяет соответствующему двойственному** ограничению как строгому неравенству (> вместо >); б) если и0 удовлетворяет некоторому столбцовому ограничению как равенству, то х° удовлетворяет соответствующему двойственному ограничению как строгому неравенству. Доказательство: Из утверждения в) теоремы 4 следует, что \t0>0. По теореме 3 существуют оптимальные векторы х° и и0 такие, что и°+|Ь>Лх° и>и°+х°>с. Тем самым векторы х° и и0 обладают желаемыми свойствами. Во втором следствии используем обозначение {Ах){ для i-й компоненты вектора Лх. Следствие 2Б***. Для всякого индекса i справедливо: или (Ax°)i<Cbi для некоторого оптимального вектора х° и U{ = 0 для любого оптимального и, или (Ах){= ■=-bi для любого оптимального χ и и^>0 для некоторого оптимального и0. Доказательств о****. Второе альтернативное утверждение непосредственно вытекает из следствия 2А. Для доказательства первой половины заметим, что из (Лх°){< < Ь{ и и] > О (для некоторого оптимального вектора и0) следует ul(Ax°)i<ulbi. * В формулировке этого следствия авторами была допущена неточность. (Прим. ред.) ** Назовем 1-е (у-е) соотношения, содержащиеся в матричных неравенствах Ах^С b, u>0, (Л'х>с, xj>0) парой двойственных ограничений. (ГТрим* piRF.) *** Предполагается, что обе задачи имеют допустимые векторы. (Прим. ред.) **** Аналогичным образом формулируется и доказывается двойственное утверждение. (Прим. ред.) 67
Учитывая u](A**huu]bi> l^i* и суммируя по /, получим иогЛх°<Ь'и°, или, используя допустимость и0, cV£u°Mx°<bV. Но согласно следствию 1А для двух оптимальных векторов χ£ и и0 справедливо c'x° = bV. Противоречие доказывает, что мг=0 для всех оптимальных и, если Назовем ограничение жестким, если всякий оптималь* ный вектор удовлетворяет ему как равенству, в противном случае — нежестким. Тогда следствие 2Б сформулируется следующим образом: Ограничение, двойственное жесткому, нежестко, и наоборот. а. двойственные задачи СО СМЕШАННЫМИ ОГРАНИЧЕНИЯМИ Пусть N — множество индексов (1, 2, ..., ή). По ана« логии множество (1, 2, ..., т) обозначим через М. Пусть по предположению Μ и Ν2 есть дополняющие друг друга подмножества множества N соответственно с П\ и п% элементами. Пусть далее Мх и Λί2 — дополняющие друг друга подмножества множества Μ соответственно с Ш\ и п%2 элементами. Под парой двойственных линейных программ со смешанными ограничениями понимают следующие задачи. I. Максимизировать 68
αηχι+ •-■+αίηΧη| при ограничениях <bi для i£Mlt [ = bi для *£Λί2, / неотрицательны для /£Л\, \ свободны от ограничений для /£Af2. II. Минимизировать Л1й1 + . .. + 6™йт при ограничениях αχμχ-\-.. .+amj#m | щ { ^Cj для /£#!, сj для /£ЛГ2, неотрицательны для /£Λί2, свободны от ограничений для /£Λί2 Заметим, что ограничения — равенства соответствуют переменным, не ограниченным по знаку. Если ввести в рассмотрение матрицу А и векторы Ь, с, χ и и, соответствующие делению Μ (Ν) на Λίι и Мг {Νχ и Л^г), то задачи примут вид: I. Максимизировать С'А + С'.Х, при ограничениях Atlxl + Anxt = bt, (2.21) χ, ;>о (ха свободен от ограничений). II. Минимизировать Ь'Л + У.П, 69
при ограничениях ^Л + ^аА^Ср (u2 свободен от ограничений). Соответствующая таблица имеет вид (2.22) и, ;>0 U2 χΊ>ο X 2 An А2\ А\2 А22 = с'2 £Ьг (Afi) = b2 (Aft) (2-23) Следует подчеркнуть, что такая пара программ в принципе не обладает большей общностью, чем определенная во втором разделе, для которой //г2 = /г2 = 0. Причину этого легко усмотреть. Действительно, как известно, всякое ограничение-равенство / = 0 может быть заменено парой неравенств вида /1>0 и —/^0. Далее, всякую не ограниченную по знаку переменную можно представить как разность двух ограниченных по знаку переменных, например : Х2 Х2 Х2+^0> Х2~^°» , i£N2. причем xt = max{0, xt) л:Г = тах{0, —;сг} Аналогично для и2. . Тем самым (2.21) и (2.22), короче (2.23), принимает вид и2+:>о χΊ>0 А» Аг\ — An *2+'^0 А\2 А22 — А2г х2-'^0 — Л1а — Лаа А2г <ь, <-ь,. (2.24) >c'i >С'2 >-с'а 70
Новая пара задач (2.24), которая имеет Нормальную форму, эквивалентна паре задач (2.23) в том смысле, что Xj и х2 тогда и только тогда являются допустимыми (оптимальными) для (2.23), когда χη χ*, х~ являются допустимыми (оптимальными) для (2.24), то же для up u2 и ult В силу этой эквивалентности теоремы двойственности и существования справедливы и для пары двойственных задач (2.23), т. е. для (2.21) и (2.22). Только что описанный способ приведения пары двойственных задач со смешанными ограничениями к нормальной форме имеет тот недостаток, что новая матрица (2.24) более громоздка, чем матрица (2.23). Поэтому на практике пользуются другим методом, основанным на том, что ограничения-равенства позволяют исключать некоторые переменные, Пусть, например, равенство с атпфО является строчным ограничением. Тогда хп можно исключить: Хя^ — — Kytn ^mi-^i · · · #m, η- r^n-i)· \2.2u) Подставив значение хп в остальные строчные ограничения и в линейную форму, получим новую задачу с η—1 переменной, в которой U>ij U>ij , bj=.bi- *"ГПП /=1,...,л{ — 1, /=1,'...,л —1. Следует различать два случая. Если η содержится в #2, то неограниченная переменная ит исключается с помощью л-го столбцового равенства Um = - (Сп — ¥ш — ... — Ит-га>т-и «)■ (2·26) 71
Тем самым одновременно исключаются хп й ит, а также т-е строчное и л-е столбцрвое ограничения. Двойственные задачи, задаваемые матрицами ||а*,|| и векторами Ь* и Cjy оказываются эквивалентными предыдущим; это значит, что χι, Хг, ..., Хп или иь u2i ..., От в старых задачах являются допустимыми (оптимальными) в том и только в том случае, когда Χι, х2, ..., xn-i или αϊ, Иг, ..., г*т_! являются допустимыми (оптимальными) для новых задач. Чтобы возвратиться к старой задаче и вычислить хп и ит, используются (2.25) и (2.26). Если, с другой стороны, η принадлежит Л/\, то в силу (2.25) полагаем &т* = Т*-ч *»=■/=- ДЛЯ/=1,...,Л-1, заменяем неограниченную переменную ит неотрицательной переменной и строим новое т-е строчное ограничение которое соответствует прежнему ограничению хп^0. Таким образом исключаются переменная хп и д-е столбцовое ограничение, а т-е строчное ограничение, которое было равенством, превращается в неравенство. Снова получена эквивалентная пара, причем эквивалентность следует из того, что χν...,χη и #ι> · · · > tim соответствуют значениям х19..., xn_ t и и1У..., ит_ 1Э ит- Для определения ;tn и ит используют (2.25) и (2.26). В обоих случаях (/ιζΝχ или /i£Na) предложенный метод изменяет величину с'х, соответственно, b'u, только на постоянную -З-^. В изложенном выше методе мы исходили из строчного ограничения как равенства. Само собой разумеется, подобную операцию можно проделывать и в случае, когда равенством является столбцовое ограничение. После конечного числа шагов, состоящих из таких опера* 72
Ции, наверняка придем к ситуации, когда все ограничения-равенства содержат только нулевые коэффициенты. Если все постоянные члены (6* и с^) в этих равенствах равны нулю, то вычеркиваем соответствующие нулевые строку или столбец и получаем пару задач с т2 = д2=0. Если же хоть одна из указанных констант не равна нулю, то соответствующая задача из пары задач (а тем самым и соответствующая из исходной пары задач) недопустима. Из теоремы существования для двойственных программ со смешанными ограничениями непосредственно следует следующая теорема. Теорема Фаркаса*. Если с'х<^0 для всех х, для которых Лх<0, то с = Л'и, причем и>0. Доказательство. Используем двойственные программы: I. max c'x при Лх<0 (х свободен от ограничений) II. min (Уη при Л'и = с и>0. Задача I имеет допустимые точки, а так как с'х по предположению ограничена в допустимой области, то и оптимальные точки, например х = 0. По теореме существования отсюда следует, что и II имеет допустимые точки. Следовательно, существует, по крайней мере, одно и такое, что Л'и = с, и>0. 4. СИМПЛЕКСНЫЙ МЕТОД** Важнейшим методом решения линейных программ является так называемый симплексный метод Данцига,, который и попытаемся кратко охарактеризовать. Запишем линейную программу следующим образом: * Смотри Фаркас [1]. ** См. Крелле и Кюнци [1]. Здесь читатель .найдет также обширную библиографию по симйлеконому методу (см, также [6, 7].— Прим. ред.) 73
Минимизировать L(x) = p'x (2.27) при Лх = Ь, (2.28) х^О. (2.29) Пусть при этом А—матрица с размерами тХп, т<п. Можно предположить, что множество строк А имеет ранг r=im (в противном случае равенства в (2.28) или несовместны, или хотя бы одно из них представляет линейную комбинацию остальных и поэтому является лишним). По этой причине (2.28) можно разрешить относительно тех т из η переменных, которым соответствуют в матрице А линейно независимые столбцы. Обозначим эти т переменных через *ь ..., Хт и представим их в виде линейных функций от η—т оставшихся переменных. Получим л—т -*Λ = έΆβ + Σ dhhXm+h> A = l> 2,... ,/и. (2.30) Подставив значения xh в линейную форму L, получим п—т £ = *o + S***m+*, (2.31) причем должно быть (контроль счета!): т *o = %Phdh09 (2.32) т *h = Pm+k+YiPhdhh. (2.33) Значения зависимых переменных хн и функции цели/, полностью определяются значениями независимых переменных xm+h. Решение (2.28) с нулевыми значениями независимых переменных называется базисным решением. Зависимые переменные и L в случае базисного решения имеют значения ам и а0 соответственно. Итак, если dhO^> 0, то зависимые переменные неотрицательны и ба- 74
Зисное решение тем самым является допустимым. Можнб показать, что если система (2.28), (2.29) имеет допустимое решение, то она имеет и допустимое базисное решение. Зависимые переменные по отношению к базисному решению иногда называют базисными переменными. О независимых, равных нулю переменных говорят, что они не входят в базис. Базисное решение называют невырожденным, если dho удовлетворяют строгому -неравен-. ству <4о>0, т. е. если все базисные переменные строго положительны. Предположим, удалось подобрать такую комбинацию независимых переменных, что соответствующее базисное решение оказалось допустимым и невырожденным. Тогда для дальнейшего решения можно применить симплексный метод. Для этого (2.Э0) и (2.31) удобно записать в виде таблицы: ■*' *А. •Хт L 1 1 du dh0o dm0 α° -*m + l · dtt . dha\ ■ dmi ■ a, ' " xm+k0 · • -d\k0 · · ' " dh0k0 ■ • " dmk0 · • ■«*. ■ - · *n • «1, n-m ' ah*> n—m ' m, n—m • an - m Двойную черту будем понимать как знак равенства. Первый столбец коэффициентов дает значения базисных переменных и функции цели три лгт+ь = 0. Очевидно, существуют лишь три взаимно исключающие друг друга возможности: Случай Ι: aft^0 для всех k. В этом случае базисное решение, о котором идет речь, является оптимальным, ибо всякое увеличение любой из независимых, равных нулю переменных [уменьшаться они не могут в силу (2.29)], привело бы в силу неотрицательности коэффициентов а& к увеличению значения L, а не к уменьшению. Тем самым при условиях (2.28), (2.29) достигается минимум L. 75
Случай II: aft<0, rio крайней мере, для одного k=kQ и dkko^0 для всех h. В этом случае значение L можно сколь угодно уменьшать, не нарушая условий (2.29). Если, например, увеличим независимую, до сих пор равную нулю переменную xm+k ' с0ХРанив за остальными независимыми переменными их прежнее нулевое значение, то функция L в силу условия ak <0 монотонно уменьшится, зависимые же переменные, в силу dhk ^>0, не уменьшатся, так что условия (2.29) будут по-прежнему удовлетворяться. Получаем „оптимальный луч": х* =dh0+XdhkQ> на котором L не ограничена снизу L — a0-\-lak ->—оо. (2.36) Случай III: aft<0, по крайней мере, для одного k и для всякого такого k имеется, по крайней мере, одно h такое, что dhh<^0. В этом случае можно произвести замену переменных, ведущую к новому базисному решению с меньшим значением L. Пусть, например, ak <0. Если увеличим независимую переменную xm+ko, как это делалось в случае II, сохранив за остальными небазисными переменными нулевое значение, то L уменьшится, как в случае II. Но в противоположность случаю II теперь уменьшатся и некоторые зависимые переменные, а именно те, для которых dhk <0. Переменную xm+ko можно увеличивать лишь до тех пор, пока какая-нибудь из положительных до сих пор базисных переменных не примет нулевое значение. Предположим, что это произошло лишь для одной переменной, а именно xh (это будет иметь место, если min (r-^ h \\dhka\ * Это соотношение следует из последнего равенства (2.35). {Прим. ред.) 76
достигается именно при Л0 и ни при каком другом ин^ дексе). Тогда имеем новое базисное решение, в котором xh^ равна нулю, a xm+k положительна; другими словами, xm+k занимает в базисе место xho< Все остальные небазисные переменные по-прежнему сохраняют нулевое значение, все остальные базисные переменные по-прежнему положительны. Остается только измененную систему базисных переменных выразить через измененную систему независимых переменных, аналогично (2.30). Разрешив для этого Л0-е уравнение (2.30) относительно xm+v . п—т л Хт+^~^к~Ъ^Хт+к+1Ь:х^ (2·37) кФК и подставив в остальные равенста (2.30) и (2.31), получим л-('*-^&К? (""""^ ё>+> + *=1 кфк„ +3ΓΓ*ν (2·38) *h0k0 + Таким образом (если случаи I и II не имеют места), справедливо следующее правило перехода коновой сим* плексной таблице, приводящее к уменьшению значения функции L (величины новой таблицы отмечаем штрихами) : Выбираем k0 так, чтобы ak <0(чаще всего выбирают „наиболее отрицательную" ak). Получаем заменяющий столбец. Затем выбираем h0 так, чтобы J^-=min J** (2.40) <*Мо h I dhkQ I 77
Получаем заменяющую строку. Элемент dh k, стоящий на пересечении заменяющей строки и заменяющего столбца, называется опорным элементом. Приведем перечень элементов новой таблицы: Χ m+h'==:: Xm+hr &^Г*&о 1 d' Л o«o *м = - d h0k Vo f k = 0, 1, 2,..., η —m: k φ k0 uhk0 d'hk = dhh — dhkn ^-=dhk+dhkd'k\ ЬфНъкфК hk0d h0k0 (2.41) (2.42) 'A„*o (2.43) ΛΉ = ^ft ■ *M **od Л0&о aft+a^'M, & = 0, 1, 2,.. ., η — /я; кфк^ Для контроля счета снова можно использовать соотношения m m a\ = ^p\d\Qy *'h = p'm+b + %P'kd'hk· (2.44) A=l h=l В (2.44) //Л и p'm+k являются коэффициентами соответственно при x!h и ^т+к в (2.27). Так как значение функции L однозначно определяется значениями независимых переменных и при всяком симплексном преобразовании уменьшается, то никакая комбинация независимых переменных никогда не может повториться. Так как число таких комбинаций конечно, то метод через конечное число шагов должен оборваться, т. е. придем к таблице, для которой выполняется или случай I, или случай II. 78
Если переменная xm+k «свободна», т. е. не ограничена по знаку, то критерий оптимальности для этой переменной запишется: <хь = 0 (вместо ^0). Действительно, пусть aft>0. Тогда, сделав xm+k отрицательной, можно уменьшить значение функции L, что невозможно в случае ограниченной τιο знаку переменной. Уменьшать xm+k по-прежнему надо только до тех пор, пока какая-нибудь из зависимых переменных не превратится в нуль. Выпадающая из базиса переменная теперь выбирается из числа тех хн, для которых dhk>0, остальные правила счета сохраняются. В новом решении хт+и входит в базис с отрицательным значением. Если базисная переменная хь. свободна, то она не принимается во внимание при определении переменной, подлежащей исключению из базиса и замене, так как свободная переменная хи при вариации какой-нибудь из независимых переменных может принять и отрицательное значение. Следовательно, свободная базисная переменная всегда остается в базисе. Поэтому рекомендуете^, если имеются свободные переменные, их прежде всего включать в базис. Трудность возникает, когда подлежащая исключению из базиса переменная определена неоднозначно, т. е. когда dh min. , ° .' достигается для нескольких индексов, например h I ahk01 для ht и h2. Тогда xh и xh одновременно превращаются в нуль, и если xh сделать независимой переменной, то xh в новом базисном решений также примет нулевое значение, хотя она и продолжает оставаться в базисе. Таким образом, новое базисное решение оказывается вырожденным, а в случае вырожденного решения доказательство конечности метода теряет силу. Если, например, d^0 = 0, а включаемая в базис переменная xm+k такова, что dhok <<0, то фактически нельзя увеличить значение xm+k t поскольку при этом xh приняла бы отрицательное значение. В результате jc^, хотя и входит в базис, но по- прежнему сохраняет 'нулевое значение, другие переменные также не изменяются. То есть мы сделаем «холостое» симплексное преобразование, в результате которого значение L не уменьшится. Тем самым существует теорети- 79
ческая возможность регулярного повторения одинаковой комбинации базисных переменных, значение функции L при этом сохраняется. Примеры с такими циклами можно сконструировать. Но такая возможность имеет небольшое практическое значение. Тем не менее Чарнс для случая, когда (2.40) не исчерпывается однозначным определением Ло, указал дополнительное правило счета, исключающее возможность зацикливания. Симплексный метод действует в этом случае так, как если бы все получаемые базисные решения были невырожденными. Остается определить исходное для симплексного метода допустимое решение и соответствующую ему таблицу. Для этого поступают следующим образом. Для каждого ограничения вводят вспомогательную переменную Zj(/-=1, ..., т) и систему (2.28) и (2.29) заменяют расширенной системой Лх + г = Ь, (2.45) х^О, z;>0. (2.46) Так как без ограничения общности можем считать b неотрицательным, то легко получаем отсюда допустимое базисное решение х=0, z==b с соответствующей таблицей z=b—Ax. На первом этапе минимизируем с помощью симплексного метода вспомогательную функцию цели 2j Zj при ограничениях (2.45) и (2.46). Если минимум функции 2j2j есть положительная величина, то первоначальная / система (2.28), (2.29) не имеет ни одного допустимого решения. В противном случае минимизирующий вектор является базисным решением (2.45) и (2.46), причем 2j 2j = 0, т. е. Zj=0 для всех ;. Если это решение невы- i рожденное, то Zj не входят в базис. Вычеркивая в табли- , це столбцы, соответствующие Zj (это значит, что для последующих шагов метода эти Zj = 0), получим допустимую таблицу для (2.28) и (2.29). Если некоторые Zj с нулевым значением еще остаются в базисе, их можно попытаться исключить из базиса ς помощью холостого 8Q
преобразования. Если это не удается, то строки (2.28) не являются линейно независимыми. Если линейная программа вместо ограничений-равенств Лх<=Ь содержит ограничения-неравенства Лх<^Ь, то последние можно привести к форме (2.28) путем введения также дополнительных переменных || yv .. ♦ ,ут || — y'i>0, для которых справедливо* Лх + У^Ь. В симплексном методе tfi рассматриваются как настоящие переменные, коэффициенты при которых в (2.27) равны нулю. Условиями Ax<b, xl>0 в пространстве Rn геометрически определяется некоторый выпуклый многогранник. Вершины этого многогранника характеризуются тем, что в них по крайней мере η ограничений-неравенств удовлетворяются как равенства. Следовательно, вершины соответствуют тем допустимым базисным решениям системы Лх+у = Ь, х!>0, у!>0, в которых из т-\-η переменных Хи Уг по крайней мере η равны нулю, а именно, небазисные и, возможно, некоторые базисные переменные (Уг=0, соответственно Хг=0, означает, что ограничение- неравенство удовлетворяется в форме равенства). Если имеет место вырождение, то в некоторой вершине пересекаются более чем η гиперплоскостей видахг=0или t/i==0; нормали к этим гиперплоскостям тогда являются линейно зависимыми. Симплексный метод состоит в переходе от одной вершины допустимой области к другой, а именно, к какой-нибудь из прилегающих вершин; некоторые неравенства, соответствующие переменным, ставшим положительными и удовлетворившиеся в форме равенств, можно опустить и вместо них ввести новые ограничения в форме равенств, соответствующие переменным, которые раньше входили в базис, а теперь стали нулевыми. В случае разрешимой линейной программы существует, по крайней мере, одно решение, которое представляет собой вершину допустимой области. Эту точку и находят симплексным методом. Если ограничения заданы в виде Лх = ь, то возможна аналогичная геометрическая интерпретация. В заключение заметим, что симплексные таблицы чаще можно встретить в более расширенной форме; к ней 81
придем, если правую часть (2.34) дополним единичными столбцами, по одному для каждой переменной хн, и каждый элемент dhki k=£0 умножим на —1. Следовательно, если краткая форма таблицы соответствует равенству Хд=С1о~рХ-'Х^д» Χ β==:||·*'ΐ» · · · »^m||j Χ νβ :== || ^m + i> · · · 1 Χ η ||» то расширенная форма скорее соответствует равенству a. = -DxNB + ExB. Для дальнейшего знакомства с симплексным методом, особенно со случаем вырождения и с ролью двойственности (оптимальная симплексная таблица дает решение и двойственной программы), мы отсылаем читателя к какой-нибудь специальной монографии *, например Крелле и Кюнци [1]. Следует подчеркнуть, что изложенный выше симплексный метод не является наилучшим в вычислительном аспекте. В литературе имеется несколько вариантов метода, более удачных в этом отношении. Мы не имеем возможности на них остановиться. * См. также [6, 7]. {Прим. ред.)
ГЛАВА ТРЕТЬЯ ВЫПУКЛЫЕ ПРОГРАММЫ 1. ВВЕДЕНИЕ Пусть F (х) и /j (χ) (/ = 1,..., m) — выпуклые функции η переменных || х1% .,., хп ||= х'. Под выпуклой программой понимают следующую задачу: минимизировать функцию F(x) при условиях /i(x)<0, /=1, ...,/и; х>0. Пользуются и краткой формой записи min {F (χ) I Xi > 0, /=1,... ,#; /y(x) <0, /=l,...,/rc} (ЗЛ) или min^ix)!^/?}, где R есть заданная ограничивающими условиями область изменения переменной х: /? = {х|х^0; Мх)^0 ДЛЯ всех /}■ (3.2) Ограничение по знаку х^>0 может отсутствовать или содержаться в других ограничениях; χ тогда формально считается не ограниченным по знаку. Если ^(х) и /j(x) являются вогнутыми функциями, то получаем соответственно задачу: максимизировать функцию ^(х) при /i(x)I>0. В дальнейшем, как правило, рассматривается задача минимизации. Минимизируемая функция F(x) называется функцией цели. Точка х, удовлетворяющая условиям (ЗЛ), называется допустимой точкой. Множество R всех дапусти- 83
Мых 1гочеК называется допустимой областью, β силу выпуклости функций fj множество R выпукло. Программа называется допустимой, если множество R не пусто. Задаваемые равенствами /j(x)=0, соответственно хг = 0> гиперповерхности называются граничными поверхностями допустимой области. Допустимая точка называется граничной точкой, если она принадлежит хотя бы одной граничной поверхности; в противном случае, т. е. когда /j(x)<0 и *г>0 для всех ί, j, допустимая точка называется внутренней точкой допустимой области. Допустимая программа называется разрешимой, если функция цели ограничена на множестве R и достигает на А нем своего минимума. Допустимая точка х, в которой функция F(x) достигает минимума на R, называется век- А тор-решением* или оптимальной точкой: F(x)<^F(x) для А всех х£/?. Минимум ^(х) называется решением или оптимальным значением программы. Если-/? не пусто и ограничено, то существует по крайней мере одно решение. Если R неограничено, то даже из ограниченности функции F (х) на R не обязательно следует разрешимость программы (например, строго выпуклая функция F(x) = e~x ограничена в области х^>0, однако своего минимума — нуля — она не достигает), В случае же, когда F(x) есть квадратичная функция (этому случаю в дальнейшем уделяется особое внимание), из ограниченности ^(х) всегда следует существование, по крайней мере, одного решения, Если/^х) строго выпукла, то программа имеет единственное решение. В общем случае множество всех решений выпукло, А Пусть χ есть решение задачи (3.1). Выделим соответст- А вующие этой точке подмножества индексов NC{1,, . ,#} А и,ЖС{1,. -. >т) такие, что xi = 0 для igJV, Xi>0 для /<£#, /j(x) = 0 для /£4f, ■ fj(*)<0 Для/$М. * Или просто решением. (Прим. ред.} 84
Легко видеть, что χ представляет собой решение и более простой программы: гат{^(х)|л:<^0 для /0V; /;(х)^0 для j£M}, (3.3) τ. е. оптимальность χ сохранится, если опустить те ограничения, которым χ удовлетворяет как строгим неравенствам. Доказательство. Предположим, что 1с не является решением (3.3), и, следовательно, имеется точка χ такая, что Xi>0 для i£N, /j(x)^0 для /£М и F(x)<F(x). Тогда для достаточно малого А>0 /; {* + Мх — х)} < 0 для всех /, х{^-Х(х{ — Х{)^0 для всех i и в силу выпуклости F(х) F{x + *(x-x)}<F(x). Но это означает, что χ не является решением (3.1). Противоречие доказывает утверждение. Обратное, конечно, неверно, ибо решение задачи (3.3) может не удовлетворять некоторым из опущенных условий задачи (3.1). Чаще всего функции F (х) и fj (x) предполагаются непрерывно дифференцируемыми. Вектор-столбец из частных производных функций F(x) в точке х°, так называемый градиент, обычно обозначают одним из символов (пвг)*· ПЙГ1· Sradf(x°)' Vf(x°) или^(х'). Градиент функции F(x) в точке х° перпендикулярен к поверхности F(x) — F(x°) и направлен в сторону наибольшей выпуклости функции F(x) в окрестности точки х°. 85
Если /j (χ°) = 0, το grad/^x0), если он отличен от нуля, имеет то же направление, что и нормаль к ограничивающей гиперповерхности /^(х) = 0 в точке х°, внешняя по отношению к допустимой области. Внешняя нормаль к граничной поверхности Х{ = 0, очевидно, задается вектором — ег(вг — 1-й единичный ректор). На рис. 4 представлен Рис. 4. простой случай выпуклой программы с я = 2, /гс = 3. Кривые, соответствующие постоянным значениям F, проведены пунктиром. Точка χ является единственным решением. Множество N пусто, Ж = {1, 2}. Точка χ будет оптимальной и в том случае, если опустить все ограничивающие условия, кроме flm Приведем здесь еще раз два часто используемых утверждения относительно выпуклых, непрерывно дифференцируемых функций F(x), которые вытекают непосредственно из (1.145) и (1.148). Если то F (Xе + U) > F (х°) для всех λ > 0. (3.4) 86
(Точнее, F(x° + #) монотонно возрастает при увеличении Я.) Если ί'/Γχ(χβ)<0> то существует Я0>0 такое, что F(х° + «)<f (χβ) для 0<Я<Я0. (3.5) (Точнее, F(x°-f-&) монотонно убывает при увеличении Я>0 до тех пор, пока ?Fx(xu-\-lt) не станет неотрицательной), Если функция цели F (х) дифференцируема, то множество всех решений программы можно охарактеризовать более обстоятельно. Пусть χ есть фиксированный вектор-решение. Тогда множество всех векторов-решений состоит из тех допустимых векторов х, для которых справедливо FXW = FX$), (3.6) (x-i/Fx(x) = 0. (3.7) Доказательство. Пусть некоторая допустимая точка χ удовлетворяет равенствам (3.6) и (3.7). Тогда (х-хУ-/7х(х) = 0| откуда следует F(x)^F{x). Далее (х-х)г-/?х(х) = 0| откуда следует F(x)^>F(x). Значит, F(x) = f(x) и вектор χ является оптимальным*. Теперь предположим, что F(x) — F(x). В силу выпук- лости ^(х) и оптимальности точек χ и χ справедливо f(x + 1(x — x)} = F(x) = F(x). Согласно (3.4) и (3.5) отсюда следует (3.7): (X — xYFx(i) = Q. * Вышеприведенные соотношения следуют из неравенства (1.145). Действительно, Р(х)—Р(х)^(х^х)! Fx{x)=(x-5l)'Fx(x)=0. Аналогично доказываете,? и обратное неравенство. {Прим. ред). §7
Функция d(x) = F(x) — (x — x)'Fx(x) также выпукла, d(x) = d(x), dx(x) = Q, dx(x) = Fx(x) — — Fx(x). Если FJx)7^(x), το dx(x)^0, т. е. существует вектор t такой, что i'dx(x)<0, и для достаточно малого λ d (χ + It)<d (χ) = d (χ). Но в то же время^ должно быть d(x^M)^d(x). Из этого противоречия следует (3.6). 2. ТЕОРЕМА КУНА - ТАККЕРА Теперь рассмотрим теорему Куна и Таккера *, занимающую центральное место в теории выпуклого программирования. Эта теорема представляет собой обобщение классического метода множителей Лагранжа для определения экстремума при наличии ограничивающих условий на случай, когда последние содержат не только равенства, но и неравенства. Существует необходимое и достаточное условие для того, чтобы некоторая точка х яредставляла собой решение задачи (3.1). Критерии, которые дает теорема, выражаются через так называемую обобщенную функцию Лагранжа Ф. Для ее построения введем т новых переменных, так называемые множители Лагранжа и\, .,., umy являющиеся компонентами вектора и. Φ представляет собой функцию тп+п переменных (х, и) и строится следующим образом: m Ф(х, и)=/ЧхГ+5]иЛ(х). (3.8) В предположении регулярности (см. доказательство) имеет место следующая теорема. Теорема Кун а—Т а к к е ρ а. Вектор χ тогда и только * См. Кун и Таккер [1J. 88
tor да представляет собой решение задачи (3.1), когда су* ществует вектор и такой, что х^О, S:>0, (3.9) Ф(х, и)£Ф(х, и)<Ф(х, и) (3.10) для всех х^О, и^О. Следовательно, функция Φ в точке (х, и) должна принимать глобальный минимум в области х>0 относительно χ и глобальный максимум в области и^>(Готносительно и, короче, (х, и) представляет собой неотрицательную седло- вую точку для функции Ф. Данную теорему часто называют теоремой о седловой точке, ибо задаче минимизации для F(x) соответствует задача о нахождении седловой точки (минимаксная задача) для Ф, в которой из всех ограничений сохраняются только ограничения на знак. Решение χ минимаксной задачи представляет собой решение задачи минимизации и наоборот. Прежде всего докажем достаточность условий (3.9) и (3.10). Итак, пусть х>0 и и>0 есть сёдловая точка функции Φ в смысле (3.10). Заменив Φ в (3.10) ее выражением (3.8), получим т т F (х) + £ щ\ь (х)й F(х) + J«i/i(x) й т ^F(x) + V^/i(x) Для всех x^O» ul>0. Так как левое неравенство должно выполняться для всех и^>0, то /i(x)<0, /=1·, ..., т (т. е. χ лежит в допустимой области) и т
Правое неравенство тем самым приведется к виду m ^(χ)^(χ) + £^Μχ) для всех х^°> откуда в силу ιΟ>0 следует: F(x)<^F(x) для всех х^>0, таких, что /j(x)<^0, / / — 1,... ,/га, следовательно, χ является решением (3.1). Для доказательства необходимости условий (3.9) и (3.10) используем предположение о регулярности: существует по крайней мере одна допустимая точка χ такая, что /j(x)<° Для всех /· (3.11) Следует, однако, заметить, что предположение регулярности излишне для тех /j(x), которые являются линейными фу'нкциями. Доказательство этого факта мы вынуждены опустить *. Во всяком случае, при наличии линейных условий теорема Куна —Таккера действует без ограничений. Итак, пусть х^>0 является решением (3.1). Покажем что тогда существует и^О такой, что (х, и) удовлетворяет условию (ЗЛО). Для этого в пространстве /?™+1 с координатами ]| у0у ух, ..., ут \\ = Уг построим два множества точек: для некоторого I : х^о г */m^>/m(X) ] * Это доказательство см., например, у Эрроу, Гурийца, Удзава ДО [Прим. ред.) 90 к*=
K2= ί/ο</7(χ) Уг<0 \Ут<0 Множества К1 и К2, очевидно, выпуклы, и в силу оптимальности χ не пересекаются. Поэтому имеется разделяющая гиперплоскость* v'y = a, \ф0 такая, что v'y^v'y2 (3.12) для всех у^К1 и у2£Ка. (Неравенство (3.12) остается справедливым и тогда, когда уа лежит на границе К2.) Так как по определению множества К2 компоненты у могут принимать сколь угодно большие отрицательные значения, то из этого неравенства следует, что v^>0. Выберем у1 и у2 следующим образом: у"Н|/Чх). M*).-.-J»«ll'. y'HI^x). о,...,о||'. Получим N т ^(х) + 2^(х)^^(х) для всех х^>0. (3.13) Отсюда 0О > 0, ибо в противном случае для всех х^>0 было бы причем 7=1 >0 для всех / и >0 по крайней мере для одного /. * Теорему о разделяющей гиперплоскости см., например, в [7], стр. 744. {Прим. ред.) 91
Но это неравенство несправедливо по меньшей мере для одного χ в силу (3.11). Итак, σ0>0 н неравенство (3.13) можно разделить на σ0. Положим Получим т или Ф(х» u)^F(x) для всех χ :>0, (3.14) причем Uj^>0. Положив в (3.14) х = х, получим т Но /j(x)<^0, так как х принадлежит допустимой области, поэтому т и 0(х, u) = F(x). (3.15) Очевидно, т Р(х)^Р(х)+%ао,$) = Ф(х, и) дляи^О. (3.16) Отсюда* 0(Х, U)^0(X, ί)<0(Χ, U) ДЛЯ Х>0, U^O, то есть получили (3.10). Кун и Таккер доказали свою теорему первоначально только для случая дифференцируемых F(x) и fj{x) и при несколько ином предположений регулярности. Обобщение на случай выпуклых функций и условий (3.11) принадлежит Слейтеру [1]. * А также из (3.14). (Прим. ред.) 92
Если F(x) и /j(x) являются дифференцируемыми функциями, то (3.9) и (3.10) эквивалентны следующим «локальным» условиям Куна —Таккера: (—) >о ] *i^0 J V^i/x, U= \ для t = 1,, «j>0 для /=lf 2, или сокращенно: дф <-?■&> о, **&Д=а 011 = ди S 11>0. , Л, » ΐΐΐ (3.17) (3.18) (3.19) (3.20) (3.21) (3.22) (3.170 (3.18') (3.19') (3.2С) (3.21') (3.22') Условие (3.18') эквивалентно (3.18), так как согласно остальным условиям все слагаемые скалярного произведения (3.18') имеют одинаковые знаки, поэтому оно может лишь тогда обратиться в нуль, когда обратятся в нуль отдельные слагаемые (3.18). То же самое справедливо для (3.19) и (3.19'). Легко убедиться, что (3.9) и (ЗЛО) сво- 93
- дятся к (3.17)—(3.22). ΠρίΓ фиксированном неотрицательном 2 Φ (χ, и) представляет собой выпуклую функцию относительно Χι. Если бы для Xi^>0 нарушалось условие (3.17) или (3.18), т. е., если бы х{>0 и дФ£.\и) фО или 7с{= = 0 и —^' <0, то существовала бы точка Хг>0, в которой функция Φ имеет меньшее - значение, чем в точке Xi. Но это противоречит требованию (3.10), согласно которому функция Φ должна достигать в точке χ минимума по х. Аналогично (3.20) и (3.21) получаются из Требования максимизации Φ относительно «j^>0, если учесть, что Φ (χ, и) при закрепленном χ представляет собой' линейную функцию относительно tij. Если, наоборот, выпрлняются (3.17)т-(3.22), то, поскольку Ф(х, и) выпукла по х, имеем Φ(χ, ΐ)^Φ(χ, u)+(x-x)f^f>u) = = Ф(х, ц) + х^Ф(£,ц)>Ф(х, и) для х^О и, поскольку Ф(х, и) линейна по и, имеем Ф(х, и) = Ф(£, i) + (u-u)'^^ = = Ф(х, Ц) + Ц,ОФ(^'Ц) <Ф(х, ί) для и^О. Следовательно, условия (3.17)—(3.22) эквивалентны (3.9) и (ЗЛО), т. е. являются необходимыми и достаточными. для оптимальности х^ Можно получить наглядную интерпретацию и более удобную для некоторых целей форму условий (3.17)—(3.22), если заменить Φ ее выражением (3.8). 94
Условие (3.20) ничего нового не даст, так как —Jx' u* = = /j(x). Вместе с условием (3.19) оно обеспечивает допустимость точки х. Остальные же условия существенно характеризуют оптимальную точку. Положим η дФ_( дх |*=г=Е?,е,. В результате (3.17) преобразуется к виду т η grad/;,(x) + ^«jgrad/j(x)=:^triei, υ^Ο для <= 1,... ,л. Как и в первом разделе, обозначим через Μ множество всех /, для которых /,(х) = 0, и через N множество всех iy для которых χ* —0. Тогда (3.18) и (3.21) запишутся: и$= О для / ( М\ ui — Ο для i$fi. Окончательно получаем, что условия (3.17)—(3.22) эквивалентны следующим условиям: точка χ допустима и -gradF(x)= V^grad^W+J^H^ <3'23) /6й ' *6* %^0, ίζΜ\ о<^0, i£N. (3.24) Если, наоборот, для некоторой допустимой точки χ выполняются условия (3.23) и (3.24), то выполняются и условия (3.17)—(3.22), причем «j = 0 для/(£Л? и "?; =0 для/(£#. 95
Тем саМым условия (3.23) и (3.24) являются необходимыми и достаточными для того, чтобы допуо1имая_тожа *х давала решение задачи (3.1). Условия (3.23) и (3.24) утверждают, что в оптимальной точке χ отрицательный градиент минимизируемой функции можно представить как неотрицательную линейную, комбинацию внешних нормалей к тем ограничивающим гиперповерхностям, которым принадлежит точка х. Если χ лежит внутри допустимой области, то градиент обращается в нуль. Условный минимум в этом случае совпадает с абсолютным минимумом в пространстве Rn, который находится приравниванием нулю производной. Рис. 4 из разд. I делает критерии (3.23) и (3.24) более убедительными и наглядными для читателя. Например, х° не является оптимальной точкой, так как —grad/^x0) не лежит внутри конуса, натянутого на —еа и grad/j(x°). Напротив, для *х условие (3.23) выполняется. Из выражения (3.23) очень хорошо видно, что условия -^t^O по существу ничем не отличаются от условий /i(x)<0. . Далее, из (3.23) следует, что точка х, представляющая собой решение (3.1), является также решением упрощенной программы: min { χ' grad F (x) | x{ I> 0, i£N, x'gradMx)-x'grad/Hx)^0, /gjft}, (3.25) которая получается, если функцию цели и ограничивающие условия линеаризовать по χ (при этом надо учитывать, что, согласно (3.11) grad /j(x) ^0 для /£Af). Наконец, из (3.23), (3.24) легко заключить, что в случае линейных ограничений условия Куца—Таккера являются необходимыми и без предположения регулярности (3,11). А именно, если /,(х) = а^х — 6j, то grad/i(x) = 96
==aj, й если х представляет собой решение (3.1), то должно быть . t'grad/^x^O для всех t, таких, что a'jt^O (ϊξΜ) й *<==е'^0 (/£#). (3.26) Действительно, если бы существовал такой вектор t, что..,. t'gradF(x)<0, то при достаточно малом Л>0 точка χ -+· И принадлежала бы допустимой области и доставляла бы функции F меньшее значение, чем точка х, тем самым точка χ не была бы оптимальной. Но из (3.26) по теореме Фаркаса следуют (3.23) и (3.24). При наличии условия (3.11) множество всех точек и, которые вместе с некоторой точкой х, оптимальной для (3.1), удовлетворяют условиям Куна—Таккера, ограничено. Действительно, согласно (3.14) справедливо т F(x)<F (χ) -f £ щ\j (χ) для всех χ :> О и тем более /7(x)^/r(x)-|-«jfj(x) Для всех х!>0, для которых (3.27) Ь(х)<0. Положив χ —χ [см. (3.11)], можно разделить (3.27) на -f з(х) < 0; получим 0<ai<F®-rfim (3.28) = = fj(x) Поскольку правая часть не зависит от выбора х, утверждение доказано. Условия Куна—Таккера остаются справедливыми при некоторых вариациях условий задачи (3.1). Может слу- 97
читься, что ограничения л:г-^0 отсутствуют. В этом случае три условия (3.17)—(3.19) заменяются условием (£)μ-°· <3·29) в чем легко убедиться, если представить jt* как разность двух ограниченных по знаку переменных. Если /;- (х) линейна, то допустима форма ограничивающего условия fj(x) = 0; с помощью неравенств /;(х)^0 — /;(х)^0 °на может быть снова сведена к виду (3.1). Легко видеть, что тогда условия (3.20)—(3.22) заменяются более простым условием которое представляет собой всего лишь другую запись условия fj(x) = 0. Множитель щ при этом, следовательно у не является более ограниченным по знаку. Наконец, если задача формулируется так: min{F(x)|/i(x) = 0}, и при этом предполагается линейность /j(x), то шесть условий (3.17)—(3.22) заменяются всего лишь двумя условиями (3.29) и (3.30); это — известный из анализа классический случай метода множителей Лагранжа.
ГЛАВА ЧЕТВЕРТАЯ КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ 1. ПОСТАНОВКА ЗАДАЧИ Применим теперь выводы предыдущих глав для задачи с квадратичной функцией цели и линейными огра« ничениями. Пусть F(x) (см. гл. III] — выпуклая квадратичная функция, которую в дальнейшем будем обозначать через Q(x): Q(x) = p'x+x'Cx. (4.1) Здесь С — симметричная положительно полуопределен- ная матрица. Пусть, далее, fj(x) = a'ix-6i. (4.2) Сформулируем основную задачу квадратичного программирования с линейными условиями как задачу минимизации Q(x) при ограничениях a'jx — 6;<;0, / = 1, 2,..., т, (4.3) х^О. (4.4) Если в квадратичных программах, встречающихся на практике, функция цели не минимизируется, а максимизируется или если в некоторых ограничениях вместо знака <L стоит знак ^, то такие программы всегда можно привести к вышеупомянутой основной форме. Для этого достаточно умножить на —1 функцию цели и соответствующие неравенства. Если среди ограничений имеются также равенства и (или) не все переменные ограничены по знаку, то можно такие смешанные ограничения описанным ранее методом [см. гл. II, разд. 3J 99
привести к основной форме. Однако для Решенияп£о- граммы это пр^ведени^:Ш£ЙШЕ^ еще вернемся в дальнейшем. "*~"ΈοιΤΓ7η векторюв-строьГа?] собрать в матрицу А с размерами тХп и величины bj — в вектор Ь, то систему ограничений (4.3) можно записать в виде Ах— Ь<0. И тогда квадратичную программу можно представить в матричной записи, аналогичной (3.1), а именно: гшп{<?(х)|Лх<Ь, х^О}. (4.5) Элементы Л, b и ρ (но не С!) могут быть заданы весьма произвольно. Для квадратичной программы с произвольной симметричной матрицей С в настоящее время не существует удовлетворительного метода решения. Поэтому мы вынуждены ограничиться рассмотрением лишь выпуклых функций цели, для которых матрица С положительно полуопределена. Требование той или иной определенности С в дальнейшем всегда предполагается выполненным, даже если это явно и не оговаривается. Для некоторых методов решения требуется даже строгая определенность. Если квадратичная программа формулируется как задача максимизации, то функция цели должна быть вогнутой. Она записывается тогда чаще всего в виде р'х— х'Сх, где С также положительно полуопределена. Если квадратичная функция цели не выпукла (соответственно, не вогнута), то результаты, полученные методами, излагаемыми в последующих главах (если эти методы и сходятся), нельзя считать решением программы. В лучшем случае это изолированные локальные экстремумы или седловые точки. Для ясности кратко дадим геометрическую интерпретацию квадратичной программы для двух переменных (пример легко обобщается для большего числа переменных, но при этом теряется геометрическая нагляд* ность). Мы ограничимся частным случаем, когда матрица С не только положительно полуопределена, но даже положительно определена. В этом случае Q строго вьь пукла, линии уровня Q(x)=const образуют эллипсы. Общий центр этих эллипсов соответствует безусловному (при отсутствии ограничений) минимуму Q. Допустимая 100
область, ограниченная заданными условиями, представляет, как и в линейном программировании, выпуклый многогранник. Задача состоит в том, чтобы найти ту точку многогранника, которая лежит на линии уровня с наименьшим значением Q (для строго определенной матрицы С эта точка определяется однозначно). При этом в двумерном случае могут быть три возможности, которые представлены на рис. 5,а, б, в для т = 2. Искомая оптимальная точка каждый раз обозначается через х. Легко видеть отличие от линейного программирования*: для линейной функции цели всегда существует вектор-решение**, являющийся вершиной допустимого многогранника. Квадратичная функция цели свой конечный минимум, даже если он единственный, может принимать как на границе, так и внутри допустимого многогранника. Следовательно, если в линейном случае при существовании единственного решения и отсутствий вырожденности ровно η из т + п ограничений выполняются в оптимальной точке как равенства, то в квадратичном случае — не более чем п. Квадратичные программы, встречающиеся на практике, чаще всего представлены *** в форме I. Нетсмысла * См. Крелле ,и Кюнци [1]. ** Если задача вообще разрешима. (Прим. ред.) *** В дальнейшем авторы часто пишут кратко «задача I» (или II, или ΪΪΪ) вместо «задача квадратичного программирования в форме I» (или II, или III). (Прим. ред.) 101
снова вводить в рассмотрение нормальную форму со смешанными ограничениями, ибо она всегда может быть сведена* к форме I. Вместо этого приведем две другие формулировки, которые в дальнейшем будем называть задачами II и III и которые соответствуют различным вариантам записи ограничений (3.1), приведенным в конце предыдущей главы, а именно: II: min {р'х + х'Сх | Ах = b, x > 0} (4-6) III: ппп{р'х + х'Сх|Лх<Ь}. (4.7) Обе эти формулировки позволяют иногда добиться некоторых математических упрощений. По существу же они не дают ничего нового по сравнению с формой I, так как ограничения в форме II или III можно привести к форме I способом, приведенным в гл. II (разд. 3). Последний состоит в том, что ограничение в форме равенства заменяется двумя неравенствами или неограниченную по знаку переменную заменяют разностью двух неотрицательных переменных. Если, наоборот, мы хотим задачу I привести к форме II, то вводим вспомогательные переменные у$ и заменяем a'jX<6j равенствами a'jX + */j = 6j, где i/j^O, короче При Лх + У^Ь, у^О. , Α· = \\Α\Ε\\, C*H|C5JjJ. (4.8) л* (4.9) задача I эквивалентна следующей задаче II; minfp^-f χ*<;*χ*μ*χ* = 1>, x*>Q}. (4.10) Если первоначальная система содержит ограничения в виде равенств, то для них, конечно, вспомогательные переменные не вводятся. Вектор у при этом имеет меньше элементов, а матрица А * соответственно меньше дополнительных единичных столбцов. * См. гл. 2. (Прим. ред.) 102
Если мы хотим, наконец, привести задачу I к форме III, то полагаем Л** = -А —Е' , Ь** = (4Л1) Задача I эквивалентна тогда следующей задаче III: min{p'x -f x'Cx | Л**х <Ь**}. (4.12) В дальнейшем при описании методов решения будем приводить программы, при необходимости, то к одной, то к другой основной форме,. Читатель может каждый результат, полученный для задач II или III, перенести на задачу I с помощью (4.9) или (4.11). 2. ХАРАКТЕРИСТИКА РЕШЕНИЙ Функция Лагранжа для задач I, II и III имеет вид Φ (χ, u) = Q (χ) + £ us (a';x - bo) = p'x + + x'Cx + u'(/4x — b). (4ЛЗ) Обозначим тогда dj. —v' du y' у=* + 2Сх+Л'и—^-, У —A + b—£■ (4.14) (4.15) Условия Куна—Таккера для трех основных задач имеют вид: Задача!. min{pfx-f x'Cx) Лх<Ь, х^О}: а) Лх + у —b согласно (4.15), б) 2Сх—у + Л'и = —ρ согласно (4.14), в) х^О, ν^Ο, у^О согласно (3.19'), (3.17'), (4.16) и^О согласно (3.20'), (3.22'), Г) x'V-f-y'u = 9 согласно (3.18'), (3.21'). 103
Задача И. min{p'x-|- x'Cx | Лх = Ь, х^О}: а) Ах = Ъ согласно (3.30), б) 2Сх— у+Л'и = — ρ согласно (4.14), (4.17) в) х^О, ν^Ο согласно (3.19'), (3.17')> г) χ'ν = 0 согласно (3,18'). Задача III. miti {р'х + х'Сх (Ах < Ь}: а) Лх4-у = Ь согласно (4.15), б) 2Сх -f А'и = — ρ согласно (3.29), (4.18) в) yi^O, u^O согласно (3.20'), (3.22'), г) /и = 0 согласно (3.2Г). Допустимый /z-мерный вектор χ является решением задачи I в том и только в том случае, если совместно с /г-мерным вектором ν существуют и два яг-мерные векторы и и у, такие, что (х, v, u, у) —решение задачи (4.16). Аналогичные утверждения справедливы для задач I и III. Условия Куна — Таккера в указанном выше виде для квадратичных программ сводятся к условиям Баранкина и Дорфмана [1]. Условия а)—в) образуют линейную систему. Условие г) является комбинаторным и требует, чтобы из каждых двух ограниченных по знаку переменных xt и υι (соответственно Uj и у$) по крайней мере одна равнялась нулю. Следовательно, все те решения системы а)—в), которые образуют множество возможных решений уравнения г), характеризуются тем, что они имеют самое большее столько компонент, отличных от нуля, сколько имеется в а) и б) ограничений в форме равенств, а именно, т+п. Эти решения являются базисными, и только среди них имеет смысл выбирать такое решение, которое удовлетворяло бы условию г). Таким образом, для решения системы (4.16), также как и (4.17) или (4.18), можно воспользоваться симплексным методом (гл. 8, 9, 10) в несколько измененной форме, так как именно этот метод оперирует с базисными решениями систем. Выполнение условий а)—в) необходимо и достаточно для существования решения квадратичной программы. Необходимость очевидна, так как любое решение удовлетворяет этим условиям. Покажем достаточность этих_условий для задачи I. Если существуют такие χ, ν, и, у, которые удовлетворяют в (4.16) условиям 104
a)—в), то, в частности, χ является допустимым (условие а)) и для любого другого допустимого х имеет место Q(x) — Q (χ) ^ (χ — χ/ Λρ. )_= (вследствие выпукло- _ ^хУх cthQ(x)), = (х-хУ(Р + 2Сх) = = (х — x)4v — А'и) = (вследствие б)), = x'v — χ' ν + y'u — у' u ^ (вследствие а)), > — χΓ ν — у' и (вследствие в)). Таким образом, функция цели Q(x) ограничена на непустой допустимой области (4.3), (4.4) и решение, следо- Λ вательно, существует. Для оптимального значения Q (х), в частности, имеем Q(x)— *x'v — y'u<Q(x)<Q(x). (4.19) _ Λ Если χ стремится к х, то обе стороны неравенства стремятся к Q(x). Этим неравенством йюжно воспользоваться для оценки близости решений, получаемых итерационными методами, к оптимуму. А Если χ есть некоторое частное решение квадратичной программы, то все множество решений определится как пересечение некоторого линейного многообразия и допустимой области, а именно, оно состоит из тех допустимых точек x = x + t, для которых имеет место Ct=0, p't = 0. (4.20) Это следует из (3.6) и (3.7) при Fx = ^=p + 2Cxa Если С — строго определенная и поэтому неособенная матрица, то решение квадратичной программы единственно, так что система (4.20) имеет лищь тривиальное решение t = 0. 3. ДВОЙСТВЕННЫЕ КВАДРАТИЧНЫЕ ПРОГРАММЫ По аналогии с двойственными линейными программами, введенными в гл. 2, § 2, можно также рассмотреть двойственные квадратичные программы. 105
Однако вследствие известной несимметричности двойственные программы в квадратичном программировании не имеют столь большого значения. Первые исследования в этом направлении провели Дорн [1, 2, 3, 4, 5] и Деннис [1]. Одно из наиболее общих исследований принадлежит Вулфу [2]. Рассмотрим для наглядности задачу III. Для нее обе задачи двойственной пары имеют вид. Прямая задача (минимизации): min {Q (χ) = р'х + х'Сх | Ах < Ь}, (4.7) двойственная задача (максимизации): max/ф(х, и) = р'х + х'Сх + иЧЛх-Ь)}Ц-=0, u^ol. (4-21) После подстановки в функцию цели (4.21) соответствующего выражения*, полученного из системы ограничений !^==р + 2Сх-М'и = 0, ' (*) двойственная программа примет вид тах{— х'Сх — Ь'и|2Сх + Л'и = — р> и^0}. (4.21') В линейном случае (С=0) вышеуказанное определение двойственной программы совпадает с данным в гл. II. Приведем без доказательств несколько утверждений относительно пары двойственных задач, которые читателю следует сопоставить с соответствующими утверждениями гл. 2 (разд. 2). Если допустимая область одной из задач пуста, то допустимая область другой либо пуста, либо функция цели на допустимой области неограничена. Если для одной из задач функция цели на допустимой области неограничена, то для другой допустимая область пуста. Если одна из задач разрешима, то и другая также разрешима, причем экстремальные значения обеих равны. * Речь идет о выражении р'хЧ-и'Лх=—2х'Сх, которое получается после транспонирования (*) и умножения на χ. \(Пр#м. ред.) 106
Нсли х есть решение Прямой задачи, то компоненты χ совпадают также с соответствующими компонентами решения двойственной задачи. Обратное верно лишь тогда, когда С строго определена. В этом случае вектор, составленный из компонент Xi решения двойственной программы, одновременно представляет собой решение прямой программы. В случае положительно определенной матрицы С вектор χ можно исключить из двойственной программы с помощью ограничений-равенств. Мы вернемся к этому в следующей главе.
ГЛАВА ПЯТАЯ МЕТОД ХИЛДРЕТА И Д'ЭЗОПО 1. ФОРМУЛИРОВКА ДВОЙСТВЕННОЙ ЗАДАЧИ Хилдрет предложил асимптотический метод определения экстремума квадратичных форм, сущность которого состоит в решении двойственных задач (см. гл. IV). Метод особенно удобен для вычислительных машин, отдельные шаги итерационного процесса чрезвычайно просты, поэтому случайные сбои быстро исправляются. При этом функция цели должна быть строго выпукла, что несколько ограничивает применимость метода. Итак, рассмотрим задачу III: min {р'х + х'Сх | Ах < Ь}. (5.1)=(4.7) Здесь А — матрица с размерами тХп, так что система ограничений состоит всего из т неравенств а',х<6, (5.2) (a'j—/-я строка матрицы Л), среди которых могут содер-- жаться, в частности, ограничения вида Х^О. Симметричная я-мерная матрица С предполагается строго положительно определенной. Для доказательства сходимости будем считать, что допустимая точка существует и в том случае, когда ограничения (5.2) заменить более жесткими а^х<^—е, (5.3) где ε — произвольно малая положительная величина. В силу наших предположений о функции цели и огра- А ничениях задача (5.1) имеет единственное решение X. 108
Условия Куна—Таккера имекУг ёйд'. а) Лх + У = Ь, б) 2Сх + Л'и = - р, (5.4)=(4Л8) в) и^О, у^О, г) и'у = 0. Так как матрица С положительно определена, то существует обратная матрица С-1 и условие б) можно разрешить относительно х: х(и) = -^С-'(Л'и + р). (5.5) После подстановки (5.5) в (5.4) условия Куна—Так- кера примут вид: 2Gu — y = — h, u^O, у^О, (5:6) u'y = 0, где для удобства введены обозначения h = i-^C-1p + bf (5,7) G = ±AC~1Af (5.8) и первое уравнение умножено на —1. Вектор h, очевидно, состоит из т элементов, m-мериая матрица G положительно определена, если А имеет ранг т (что в общем случае не обязательно, так как А обычно имеет больше строк, чем столбцов, по крайней мере, когда допустимая4 область ограничена). В противном случае G положительно полуопределена. При всех обстоятельствах ее диагональные элементы положительны *: Условия (5.6), как легко видеть, являются условиями Куна—Таккера для задачи min {γ (u) = h'u + u'Gu | u I> 0}. (5.9) * (Положительность gjj следует из невырожденности С-1, см. гл. 1. (Прим. ред.) 109
Поскольку условия Куна—Таккера необходимы и достаточны и, будучи составленными для задач (5.1) и (5.9), фактически совпадают, то имеет место следующая А Теорема, χ является решением задачи (5.1) тогда и А Л только тогда, когда х=х(и) [в соответствии с (5.5)], А причем и представляет собой решение задачи (5.9). Программа (5.9) является, по существу, двойственной к (5.1). Функция — φ совпадает (с точностью до аддитивной константы) с функцией цели в (4.2Г), если в ней исключить х- с помощью ограничений-равенств. 2. РЕШЕНИЕ ДВОЙСТВЕННОЙ ЗАДАЧИ Согласно нашей теореме двойственная задача разрешима, если разрешима прямая задача (5.1), и для полу- А чения решения χ прямой задачи достаточно найти реше- А ние и двойственной программы и воспользоваться (5.5). А Если решение (5.9) не единственно, то все и, естествен- А но, дают равные значения х. Хилдрет {i, 2] и д'Эзопо .[1] предложили метод для решения программы (5.9), представляющий некоторое видоизменение итерационного метода Гаусса — Зейделя* для решения систем линейных уравнений. Решение начинается с произвольной допустимой точки u°I>0. Удобно выбрать ц°=0, так как в окончательном решении некото- А рые Uj имеют значение 0. Компоненты следующей итерационной точки и1 определяются по очереди в результате минимизации φ (и} по каждой компоненте я* вектора и . при ограничении и^О, причем остальные' компоненты сохраняют значения, полученные в последний раз. Аналогично получают ц2 из и1 и так далее. Вообще, и* + 1 для /; = 0, 1,2,... находят по формулам: ttf+1=max{0,<+1}, (5.10) * См. Цурмюль [1] (а также [1] — Прим. ред.). ПО
где /=1, 2...../И, > (5.11) o;f+I—те значения #*, которые получаются, если положить производные т равными нулю, для / < / подставить вновь вычисленные значения uf+l , а для />ί взять значения а'. При этих фиксированных значениях щл ]φί и й,->0, φ (и) как функция Ui принимает наименьшее значение, равное xs>i , если это значение положительно, и равное нулю в противном случае. Этот же смысл имеет и формула (5.10). wf* определяется всегда однозначно, так как gu Φ 0. Очевидно, 9(u*+Ij<9,(uP). (5.12) Имеет место теорема: последовательность φ(up) сходится к минимальному значению <рш1п=:<р(и) и последователь- А А ность х(ир) сходится к х = х(и). Доказательство этой теоремы приводится в следующем разделе. В случае, А когда G строго определена и, следовательно, и единственно, можно даже ожидать, что последовательность ир сама сходится к некоторому решению и задачи (5.9). Таким образом, итерационный процесс продолжается до тех пор, пока ир или <р(ир), или х(ир) не будут изменяться в пределах допустимой точности. Обозначим вектор, составленный из тех переменных Uj, которые в окончательном решении положительны, через и+. Условия (5.6) при этом упрощаются, поскольку W = 0*: ' 2G+u++h+ = 0, (5.13) * Для тех /, для которых и,>0. [Прим. ред.)
причем G+ получается из Q вычеркиванием тех строк и столбцов, которые соответствуют Uj = 0. Аналогично получается h+ из h. Если после нескольких итераций есть основания предположить, какие переменные останутся положительными, то можно исследовать, имеет ли система (5.13) положительное решение и+. Если имеет, то вектор, составленный из положительных компонент, вошедших в и+, и нулевых компонент, не вошедших в и+, представляет собой искомое решение (5.9). Такое сокращение метода особенно рекомендуется при ручном счете. 3. ДОКАЗАТЕЛЬСТВО СХОДИМОСТИ Остается доказать, что Иш9(ир) = 9ш|п. р-*оо Запишем символически ир+1 = Р(ир)1 причем Ρ определяется последовательным применением формул (5.10) и (5.11) для i= 1, 2, .... /я. Легко убедиться, что оператор Я (и) непрерывен*, и согласно (5.12) имеем 9[/>(u)]<?(u), причем <р [Р (и)] = φ (и) тогда и только тогда**, когда и =и [и — решение (5.9)]. * Непрерывность оператора Ρ в точке up понимается в том смысле, что для всякого е ^> 0 существует такое число д (е) ^> 0, что из условия ιιΡζ{ιιΡ|ρ(ιΐΡ, ιΐΡ)«^δ (е)} следует up+1£{up+1| ρ (u*+\ "UP+1) < е}, где ρ (χ, у) = у V (Xi — yi)*. Непрерывность Ρ непосредственно следует из непрерывности (5.10) и (5.11). (Прим. ред.). ** Это утверждение является центральным во всем доказательстве. Необходимость его очевидна. Достаточность требуется доказать. Из равенства γ [Ρ (u)] = φ (и) следует, что при всех г minf «, υξ u,,.. ., u£) = f(uf О. 112
Область {u|u^0, ?(u)^?(u0)}, (5.14) которой принадлежат все up, как мы покажем в заключение, ограничена. Следовательно, последовательность ир< имеет по крайней мере одну предельную точку и. Так как φ (и) — непрерывная функция, то φ (и) является предельной точкой последовательности φ (up). Так как Ρ (и) — непрерывная функция, то Ρ (и) — предельная точка последовательности Р(ир) и, следовательно, φ [Я (и)]—предельная точка все той же последовательности ?[Я(ир)] = = ?(ир+1). Так как последовательность γ (up) монотонно убывает, то обе предельные точки должны совпадать γ (и) = φ [Ρ (u)]. Отсюда следует, что u=u и, значит, φ(ιιρ) сходится ^ min Κφ(ΐΐ) = φ . Остается еще показать, что область (5.14) ограничена. т Если это не так, то функцию φβ(ιι) = φ(ιι) — ε V щ (β — положительное произвольно малое число) при ограничениях и^О можно было бы сделать сколь угодно малой. Но ?s(u), как легко проверить, есть функция цели задачи, двойственной к модифицированной программе, которая получается заменой в (5.1) ограничений (5.2) ограничениями (5.3). Согласно нашему предположению о допустимой области .(5.3) модифицированная программа также имеет решение, и двойственная функция цели φβ (и) тогда должна быть ограничена на области и^О. Это противоречие и доказывает утверждение. Отсюда Ρ α* ("Г <Л = О при uf > О, ^ 0 при uf — О, что эквивалентно (5.6). Таким образом, точка и* реализует локальный минимум функции <р (и). В силу положительной полуопределенности матрицы G локальный минимум совпадает с глобальным (см. гл. I) и достаточность доказана. (Прим. ред.). т
Совершенно аналогично можно показать, что последовательность х(ир), принимающая свои значения в ограниченной области [полученной из (5.14) с помощью линейного преобразования (5.5)], сходится к своей единственной предельной точке х=х(и). 4. СХЕМА ВЫЧИСЛЕНИЯ И ПРИМЕР Схема для вычисления и\ или соответственно w% по формулам (5.11) является предельно простой*..Она имеет для ая = 4 следующую форму: 8ц 8ΐ2 8г, £u V2 S21 S22 82, £24 V2 £3ι 8ь2 8** 8и К{2 8ъ 8,2 8* 8« hj2 схема коэффициентов. Начальная точка 0j = O и°2 = 0 и°3=0 и°4=0 2 р-\ /к „P-I „Р-1 ,р-' ,Р-» < таблица итераций. Таблица итераций заполняется построчно шаг за шагом. В качестве примера определим ιιζ. Для этого вычисляем Произведения tfjgjj, /=т^3, причем для /<3 используем величины #*> а для />3 — величины йр"1. Сложим сум- * См. Цурмюль [1]. 114
My этих произведений с й3/2 и разделим на Диагональный" элемент, соответствующий #£, взятый со знаком минус, т. е. на — g33. Если результат ад* положительный, то внесем его в таблицу в качестве ϋζ , в противном случае полагаем tff = 0. Следующий простой пример решим лишь для сравнения с другими методами. Для предложенного метода он не очень характерен, так как точное решение получается уже после нескольких итераций. Имеем задачу: минимизировать Q(x)=y х\ + γ x\ — xx — 2xt при ограничениях 2*ι + Здга < 6, Х\ + 4*а < 5, Χι ^0, Xt ^з 0. Записав все данные» в виде (5.1), получим: ΙΧι 1 1 *а Г Р== 1—2 1. с = \ 1 1/2 0 1 0 1/21 II 2 3 1 4 — 1 0 1 ° —ι \ . ь = 161 5 0 [ о I Вычисляем сначала II о 2 II и затем 4 г 115
Тогда ПолучиΜ h = 1 ~2 — 4 1 2 L 0 = 1 13/2 1 7 17/2 — 1 —1/2 —3/2 —2 -1 -1/2 1/2 0 — 5/2 — 2 0 1/2 Вычислив G и h, имеем, по существу, таблицу коэффициентов для вычисления итерационных точек uP = \\uft u£t и£, в£ \\\ Для лучшего понимания дадим еще явные формулы: ef== max/θ, — γ3(— \ + 7ιιξ-1 - и?-1 — j «£~Ч}> αξ = max {θ, - § ^7ef - 2— γ «3P~l — Μ"1)}' в£ = max /θ,-2^ —Bf-y αξ + у + 0-в£~Л1, в£ = max /θ, — 2 f — у ef — 2и£ + O-ef + 1 ji. Начиная с и° = 0, a\ = 0, a§ = 0, в° == 0, мы получим последовательность итерационных точек: 1 итерация: н| = 0,15, н£ = 0,11, в3! =0» «i = 0. 2 итерация: ^ = 0,04, в|=0,20, и\=Ъ, в^ = 0. Если бы Βι и «2 оставались положительными, то итерационный процесс иа этом можно было бы прервать и непосредственно вычислить вь в2 пог формулам; 2G+u+ + h+ = 0, где и+ = ■ 0+ = 13/2 7 7 13/2 , h+ = — 2 — 4 Получили бы в, = — 22/25, в2 = 24/25. Но из-за отрицательного значения и\ необходимо продолжить итерации. 3 итерация: а\ = 0, в^ = 4/17, в|=0, В4=0. Эти значения больше не изменяются и точное решение будет: иН| 0.4/17. 0, 0 ||. 116
Решение ггрямой программы получается по формуле т. е. Хг = 13/17, х8 =18/17, Q (х) = — 69/34. Читатель может проследить, как изменится процесс вычисле- яий, если вместо и° = О выбрать другую начальную точку или если изменить последовательность вычисления компонент up. Возможная погрешность вычислений не очень опасна для итерационного метода, в худшем случае она увеличивает число необяо димых итерации.
ГЛАВА ШЕСТАЯ МЕТОД ТЕЙЛА И ВАН ДЕ ПАННА 1. ВВЕДЕНИЕ В этой главе для решения квадратичных программ со строго определенной матрицей излагается метод проб и сравнений. Этот метод принадлежит Тейлу и ван де Панну [1] и имеет определенное сходство с известным в линейном программировании «методом полного описания» Моцки- на, Райфа и Тролла *. В этом методе строятся все базисные решения системы линейных уравнений, являющихся ограничениями, и исключаются те, которые не принадлежат допустимой области. Далее вычисляются и сравниваются между собой значения линейной функции цели, соответствующие множеству оставшихся базисных решений. То базисное решение, которое доставляет функции цели оптимальное значение, является решением программы. С помощью подобного систематического метода проб можно было бы разыскивать минимизирующее решение и в случае квадратичной программы, если функция цели Q(x) является строго выпуклой. На первом шаге определяется безусловный (без ограничений) минимум Q(x). Если он достигается в точке, не принадлежащей допустимой области, то это означает, что в оптимальной точке одно или несколько неравенств из числа ограничений должны выполняться как равенства. Можно было бы попытаться найти минимум Q(x), формируя из числа ограничений всевозможные системы из η линейных уравнений относительно η переменных. (При таком подходе * См. по этому поводу Крелле и Кюнци [Л]. 118
задача сводится к многократному решению систем линейных уравнений.) В результате получили бы множество точек, подлежащих проверке. Оптимум функции цели достигается на подмножестве этих точек, принадлежащих допустимой области. Метод Тейла и ван де Панна и является развитием этого подхода. От данной выше схемы метода систематических проб и сравнений он отличается экономичной выборкой "возможных подмножеств ограничений и применением критерия, который сразу указывает, является ли данное решение окончательным или нет. 2. ОСНОВЫ МЕТОДА Пусть программа задана в форме III: тт{<Э(х) = р'х + х'Сх|а',х<^, y_if 2, . . . , т}. (6.1) В (6.1) С — положительно определенная симметричная л-мерная матрица. Ограничения переменных по знаку, если они есть, содержатся в числе вышеуказанных. Безусловный минимум функции цели Q(x), не зависящей о от ограничении (6.1), обозначим через х. Его легко определить из уравнения grad Q (χ) = ρ + 2Сх = О, т. е. х = —1/2С-*р. (6.2) Через χ в дальнейшем будем обозначать окончательное решение программы (6.1), удовлетворяющее всем ограничениям. Если допустимая область задачи (6.1) не пуста, то χ определяется однозначно вследствие строгой выпуклости Q(x) (см. гл. IV). Обозначим через 5 некоторое подмножество индексов {1,2, ... , т}, присвоенных нашим ограничениям. Пусть xs является решением следующей вспомогательной программы: min{Q(x)|arjx = 6J для /£S}. (6.3) Если уравнения, соответствующие /£S не повторяются в (6.3), то, конечно, Xs также определяется однозначно в рилу строгой выпуклости Q(x). П9
Пусть {А} — множество, состоящее только из одного индекса А. Из h£S следует {А} CS. Пустое множество, не содержащее ни одного элемента, обозначим Q (СЛеДОВа- тельно, х = х ). Наконец, обозначим через V(x) множество тех индексов /, для которых а'^х>^. υ (χ) указывает, каким огра- Рис 6. ничениям χ не удовлетворяет. Очевидно, χ лежит в допустимой области тогда и только тогда, когда V(x) = Q. Читатель может наглядно убедиться в правильности этого утверждения по рис. 6, для которого были выбраны т = 4 и х' = \\х19 хя\\. Множество S представлено в явной форме своими элементами, например S = {1, 4}, S = {3, 4}, S = {1} и так далее. Допустимая область, ограниченная четырьмя неравенствами, заштрихована по границе. Метод Тейла и ван де Панна предполагает (исключение вырожденности), что 120
для всех подмножеств индексов S, которые используются в методе: х^хМ"} для всех A£S. (6.4) Это предположение, однако, можно обойти. Мы к этому еще вернемся при доказательстве. Множество S={1, 2} на рис. 6 не удовлетворяет условию (6.4), так как χΜ^χΗ (здесь Л=1). Сформулируем теперь три теоремы, на которых основывается метод Тейла и ван де Панна. Доказательства их приводятся в разд. 4. Теорема L Пусть 3 — такое множество ограничений, что a'jX = bj для /£5 и а',-х<6,- для J$S\ тогда х=х5. Теорема 2. Если х = х и S=£ Q, то для всех собственных* подмножеств S с 5, в том числе для 5=Sl, найдется хотя бы один h£(§— S) такой, что h£V(xs). Следствие. Если 5 состоит из k элементов ^ /р /2, . . . , /л, то имеется такая перестановка / , / f . . . , ]\ , что /v/+IG^(x5z) для/=о11,-.-,*-1. где Si = {/v...,/¥j},So=S. * Подмножество SaS называется собственным, если S & S . (Прим. ред.). 121
Теорема 3. Если V(xs)=& и A£V(xs~W) для всех A£S, то xs=x. Первая теорема утверждает, что достаточно найти оп- тимальное множество 5, чтобы определить χ , а следовательно, И X. Из теорем 2 и 3 следует три правила, которые позволяют определить искомое оптимальное множество 5. о Правило 1. Если V(x)=^=Sl, то существует по о крайней мере один вектор h из множества V(x), принад- ^ о лежащий S. Другими словами, если χ нарушает некоторые ограничения, то χ должно обращать в равенство по крайней мере одно из них (следует из теоремы 2 при Правило 2. Если V(xs)=^=Si, то SciS лишь в том случае, если по крайней мере один вектор h из множества V(xs) принадлежит 3. Иначе говоря, если Xs нарушает некоторые ограничения, то для получения S необходимо присоединить к S по крайней мере одно из этих ограничений (следует из теоремы 2). Правило 3. Если для некоторого xs V(χ5) = Si> то xs=x тогда и только тогда, когда h£V(xs *А') для всех h£S. Другими словами, xs, удовлетворяющий всем ограничениям, является^ решением χ тогда и только тогда, когда χ ι * не удовлетворяет А-му ограничению, исключенному из системы (следует из теоремы 2 при S = § — {Λ}, т. е. 3—S={A}, и из теоремы 3). Читатель может проверить эти правила с помощью о о рис. 6: χ нарушает ограничения 3 и 4, т. е. У (χ) = {3,4}. 122
В,соответствии с правилом 1 рассмотрим теперь множества S = {1} и 5 = {4}. х* ' нарушает 4-е ограничение {4} их11 нарушает 1-е ограничение. Введем подмножество ~ {1,4} {1, 4} (по правилу 2). Согласно правилу 3 x = xl \ так как l£V(x* ') и 4£V(x* '), т7 е. х* * нарушает первое. U} υ {м} и х1 J нарушает четвертое ограничения. Хотя х1 'лежят в допустимой области, оно не дает оптимального решения, так какЗ$У(х* '). 3. АЛГОРИТМ В этом разделе изложим алгоритм, основанный полностью на вышеуказанных правилах. Формулы для определения х^ и V(x5) при фиксированном S даны в конце этого раздела. о о о о Определим χ и V(x). Если У(х)=&, то χ уже представляет собой искомое решение х. В противном случае-S должно содержать по крайней мере один элемент. Далее следует: Первый этап. Проверяем, не является ли одно из множеств Slf состоящее из одного элемента, искомым множеством 3. Согласно правилу 1 ограничимся рассмотрением множеств 5t вида S, = {ft}, где ftgV(x). Далее для всех таких множеств 5, определяем величины х5* и множество V(xSl). Если встретится такое Slt что V(x5l)==Sl, то проверяем, следуя правилу 3, является ди найденный х5' решением, т. е. х5|=х, Если нет, то исключаем соответствующие St из дальнейшего рассмотрения. Таким образом, в конце первого этапа, если окончательное решение χ еще не получено, 123
имеем такую совокупность множеств Slt которую назовем Gv что У(х5,)^& для всех StQBlm Итак, если на первом этапе решения не получили, то переходим ко второму этапу. Второй этап. Проверяем, не является ли одно из множеств S2, состоящее из двух элементов, искомым множеством S. Согласно правилу 2 можем ограничиться рассмотрением множеств S2 вида s,=$,+{*}. где S£Gl и h£V(xSl) для соответствующих Sr Далее для всех таких множеств S2 определяем величины х5> и множества V (х5*). Для тех множеств S2, для которых V(x5l)=0, проверяем с помощью правила 3, является ли х5* решением. Если нет, то исключаем такие множества S2 из рассмотрения и переходи^ к третьему этапу. Совокупность множеств S2, дли которых V(x5a)^=Sl образует G2. Следующие этапы осуществляются аналогично. Предположим, что k-й этап не дал окончательного решения и имеется некоторая совокупность Gk множеств Sft, каждое из которых состоит из k элементов и для которых V(xSk)=£&. На (к-\-1)-м этапе тогда рассматриваются множества Sfc+x = Sft + {A}. где S£Gk и AGV(x5ft). Совокупность множеств Sfc+1, для которых У (х *+1) ^Q» образует класс Gh+l. Множества Sft+1> для которых V(x *+1) = Q, проверяются согласно правилу 3 на оптимальность. Если ни один вектор χ *+|, удовлетворяющий условию V(x *+1)=Q,He представляет собой оптимума х, то переходим к (й-|~2)-му этапу и так далее. 124
Если 5 содержит k элементов, то его обязательно найдем на k-м этапе, на котором проверяются как раз те множества Sk, которые удовлетворяют необходимому условию совпадения с 5, сформулированному в следствии. 5 находится среди этих множеств и может быть выделено с помощью необходимого и достаточного условия, даваемого правилом 3, В заключение этого раздела приведем алгоритм, который позволяет определить х5 и V(x5) для заданного множества 5. По теореме Куна—Таккера (см. гл. III, разд. 2) х5 и множители us удовлетворяют условиям (3.29) и (3.30): (6.5) ^ = а'^-6,=0 для/GS. Оба соотношения в (5.5) можно записать иначе. Для этого представим матрицу А в виде А = fij, где строками As служат векторы а'^, /£S. Аналогично представим вектор b в виде Ь = bs ьг* а множители us запишем в виде вектора us. Тогда условия (6.5) примут вид p + 2Cxs = — A'sus (6.6) Asxs=bs. (6.7) 125
Вектор и5 в силу (6.4) определяется единственным образом (см. раздел 4), н ранг матрицы As равен числу ее строк. Умножая (6.6) слева на -~ С"1 и принимая во внимание Х=—-кС~гр, получим х5=х—уС-М'5и5. (6.8) Умножая (6.8) слева на As и принимая во внимание (6.7), получим Введя соответствующие обозначения, получим 4 GsfT где GT—— АТС. A's. Из (6.9) найдем выражение для и „s 1 г—\us 2-s где h = = —Лх + Ь, и подставим в (6.8). Окончательно получим (6.9) (6.10) GS—-^ASC~1A'S (неособенная матрица), (6.11) (6.12) (6.13) (6.14) (6.15) 126
Таким образом, выражение для Xs найдено, перейдем теперь к определению V (х5). Для этого строим вектор Ът — Атх3=Ът — Атх— GT G~l hs= hT — GTG~l h5. V(x5) состоит из тех индексов, для которых соответствующие элементы вектора hT — GTG-lhs (6.16) отрицательны. Если нас интересует не столько х5, сколько V(x5), то можно ограничиться получением лишь (6.16). 4. ДОКАЗАТЕЛЬСТВА Доказательство теоремы 1. Если х* обращает „ограничения, относящиеся к 5, в равенства, то по теореме Куиа—Таккера χ определяется из условий: — (р + 2Сх) =г V £.аu щ ^ о, a'jx=fy для /£§, (6.17) arjx<6j для /$3. В то же время Xs определяется условиями _(p+2Cxs)=2«Ja,f (6.18) Из (6.17) и (6.18) ясно, что χ a fortiori* удовлетво- ряет условиям для χ . * Тем более (лат.) (Прим. ред.) 127
Доказательство теоремы % Здесь воспользуемся условием (6.4), исключающим вырожденность. И^з этого условия следует, что векторы aj, /£S, линейно независимы (следовательно, в разложении -(р+2Сх5)=£ф (6.19) множители и^ определяются единственным образом) и, кроме того, все us.^0. Действительно, если бы, например, вектор ал, А£$, линейно зависел от остальных а,-, /£S, или если бы ush = Q, то можно было бы записать -(p + 2Cxs) = £<а'· (6.20) Но это означало бы, что х5= х5~ ih*9 вопреки нашему предположению (6.4). Применяя вновь теорему Куна—Таккера и принимая во внимание условия (6.4), сведем доказательство теоремы 2 к доказательству следующего утвержде* ния: из условий Куна—Таккера для Xs — х, а именно: -(р + 2СхГ)=£ afaj> tff>0, /€? (6.21) a';xs =bj для ;£S, afjX5<6j для /$S, и из условий Куна—Таккера для х5 _(p + 2Cxs)=Y и]ли /g5 (6.22) ΐήφΟ, SLrjXS=bj ДЛЯ /£S следует*, что a'jxs>6j (6.23) по крайней мере для одного /£(3 — S). * Здесь ScS" и 5 ф£ (Прим. ред.). 128
Образуем разность первых уравнений (6.21) и (6.22) -2C(x?-xs)=\]("f-<)ai+ £ «f«i(6.24) 'Έ5 /6(f-s) и умножим (6.24) слева на — (Xs — Xs)'. Поскольку* Ui-a'jx5 для /G(S-S), то окончательно получим 2 (х? — х5/ С (х* - х5) = £ «f (a'j x5—bj). (6.25) /€(S-s) Левая часть (6.25) положительна, так как С положительно определена и Xs =^= х5 согласно (6.4), и множители us в правой части положительны, следовательно, arjxs>6j по крайней мере для одного i£(S — S), что и требовалось доказать. Доказательство остается справедливым и в случае S—Q. Тогда правая часть (6.22) равна нулю**. Доказательство теоремы 3. Здесь нужно показать, что из — (р + 2Сх5) = ^ *ia'» и]¥&* а',х5=^ для /gS (6.22) и /€s-{h} * Это следует из a'jXs = &,, /ζ§, (6.21) и а',х5=6;, /£S, (6.22) и из предыдущего примечания. (Прим. ред.) ** (6.25) также остается справедливым, причем суммирование осуществляется по всем /£S. (Иран. ред). 9—1704 129
a'iXS W = b} для /gS-{A}, (6.26) S—fh\ а'дХ >&л для всех h£S следует, что #^>0 для всех /£S. Если при некотором фиксированном h найти разность первых уравнений (6.22) и (6.26) и умножить ее на — (х5— — χ ι ')', то как и в предыдущем доказательстве, получим 2(x5-xS"W/C(xs-xS-{A}) = <(a4x^{A}-^). (6.27) Левая часть (6.27) положительна, двучлен в скобках в правой части также положителен, отсюда следует, что множитель ush положителен. Тем самым* us^>0 для всех AgS. Остановимся кратко на следующем вопросе: можно ли пользоваться рассматриваемым методом без предположения (6.4). Оказывается, что можно. При доказательстве теоремы 2 мы действительно опирались на тот факт, что S удовлетворяет предположению (6.4). Однако если это не так, то всегда найдется подмножество S*OS со следующими свойствами: 1) χ остается оптимальным, если будут опущены все не относящиеся к S* ограничения; 2) χ^ = χ?=χ; 3) S* удовлетворяет условию (6.4). При доказательстве теорем 2 и 3 предполагалось относительно множеств S, что aj, /£S, линейно независимы [при доказательстве теоремы 3 условие х5^х **' еле- дует уже нз h£V(x x ;) (без предположения (6.4))]. Но * В силу произвольности А. (Прим. ред.). 130
ведь правила алгоритма гарантируют, что для всех SA,i которые рассматриваются на k-м шаге, векторы aj, /ξ5Λ, линейно независимы, за исключением, быть может, случая, когда х5* не существует в силу противоречивости урав- V Рис. 7. нений, входящих в Sk. Если в процессе решения встречается вырожденность (другими словами, если xs h обращает в равенство еще некоторые ограничения, кроме входящих в SA), то найдем не S, а одно из множеств S*. Но тем самым будет определено и решение программы. Наши рекуррентные правила не нуждаются в изменениях. Рис. 7, обозначения которого соответствуют принятым на рис. 6, поясняет случай вырожденности. Имеем ί=χν·2f 3,/ = χ {'·»>. :X{2'3W'2>. Множество § = {1, 2, 3} не удовлетворяет предположению (6.4) Подмножества S* = {1, 2} h~S*={2, 3} обладают необходимыми тремя свойствами, а множество {1, 3} первым из них не обладает. Метод Тейла и ван де Панна, таким образом, дает в качестве окончательного * {Ь2} {2,3} решения либо х1 \ либо xl J. Если проверим на опти- 131
мадьность χ* , то получим отрицательный результат, хотя χι1,3' также есть х. » 5. ПРИМЕРЫ Проиллюстрируем кратко метод Тейла и ван де Панна на двух примерах, первый из них в дальнейшем будет снова решен, но уже методом Хаутеккера*. Здесь мы ограничимся составлением лишь общей схемы решения, или, что эквивалентна, так называемой таблицы знаков. В этом примере имеется семь ограничений. В приводимой ниже таблице знаков каждая строка соответствует некоторому ограничению. Столбцы соответствуют различным множествам S, которые проверяются в процессе решения. В столбце, соответствующем некоторому проверяемому S, знак минус соответствует тем ограничениям, которые принадлежат V(xs), точка—тем ограничениям, которые Xs обращает в равенства, т. е. которые принадлежат S, и знак плюс—остальным ограничениям. о Решение начинается с определения х, при этом устанавливаем что V£)={3. 5. 6, 7}· Следовательно, на первом этапе следует проверить множества S,:{3}.{5}.{6}.{7}· Затем определяем: У(хЩ={5, 6, 7}, К(Х{5})={2, 3, 6. 7}, У(Х{6}) = {3, 5, 7}, Κ(χ{7},) = {2. 3, 5, 6}. На втором этапе следует проверить множества: S*·· {3, 5}. {3, 6}- {3, 7,}, {5, 2} {5, з} = {з, 5}- {5, б}. {5, 7}, {6, 3} = {3, 6}. {6, 5} = {5, 6}· {6, 7}. {7, 2}· {7, 3}={3. 7}, {_7-5} = {5-7} {7-6} = {6-7l· * См. гл. [15] (Прим. ред.) 132
Устанавливаем, что для этих множеств S2 На третьем этапе следует проверить множества вида Ss- {3, 5, 2}f {3f 5f 6}, {3, 5, 7} и так далее. Дли 58 = {з, 6, 7} впервые V (х$*) = Q. Теперь нужно приме. ннть правило 3. Легко видеть, что все V (х"8 *■ ') для этого 53 уже были вычислены на втором этапе: {6, 7} . х* ' нарушает ограничение 3, (3< Л а χΐ J нарушает ограничение о, {э. 6} Xх s нарушает ограничение 7. Тем самым условие оптимальности выполнено и {з, б, ?} - X1 ' =Х. Таблица знаков* Ограничения 1 2 3 4 5 6 7 h + + + — Множества St 3 5 6 7 '+ + + + + - + - + + + + ~ ~ ' Множества S, 3, 5 |3, 6)3, 7|5, 2/5, 6)5. 7(6,7)7,2 + + + + + + + + - + - · + · + + + + + + + + -..--... Ограничения 1 2 3 4 5 6 7 3, 5, 2 + • . + — — Множества 3, 5, 6, + + .-* + . — 3, 5, 7 + — + . — • S, 3 6, 7 и т. д. + + , + + • Теперь, изложив схему решения, приведем подробно все вычисления, сопровождающие решение нашего учебного примера. * Столбец h соответствует V(x0): (Прим. ред.) 133
Имеем задачу: минимизировать 1 Q (х) = — Χι — 2х2 + j {χ] + х\) при ограничениях: 2лг, + 3л:2<б, Х\ + 4лг2 < 5, Обозначим: ■1 —11 1 ~2 II ~~х 0 2 II ι с = t 0 | —\ з | ^ 1 1/2 0 1 0 1/2 . ь = 1 ° II 0 6 1 ^ II ι 11 2 ~8 |1 —9 1 Г 1 ° 1 0 1б 1 5 1 \ 1 1 1 2 1 ~2 1 —*II А = Начальный шаг. (S=®). Согласно (6.4) и (6.2) имеем Ь-уЛ'С-,р-Ь = Так как два последних элемента h отрицательны, т. е. нарушены о 3-е и 4-е ограничения, то х = ||1, 2||' не является решением. Знаки элементов вектора h заносим в соответствующий столбец таблицы знаков, а номера ограничений, которым соответствует h} < 0, — в строку, содержащую обозначения следующих столбцов (см. стр.135). 1-й промежуточный шаг. Вычисляем по формуле (6.10) —1 —4 14 17 Затем определяем значение (6.16) для 5 = /3}: hT ~rfiTGJ]hs = G = ^-j4C-M'« Ι 1 0 —2 —ι 0 1 —3 —4 —2 —3 13 14 Ι/ Ι Ι r2| 11 —* Γι 9 ll 11 13 || 2 3 II —14 1 1 9'13 ll 20/13 —24/13 |i 134
и для 5 = {4}: i l 2 I —2 ι — I 4 II 117II ll * 1 4 II — *41 — 1 13/1? 1 18/17 | 22/17 1 Соответствующие знаки вносим в таблицу знаков и обнаруживаем, что в столбце, соответствующем Si = /41, все знаки неотрицательны. Следовательно, х* ' может оказаться решением. Таблица знаков Ограничения 1 2 3 4 h + + — "~— Множества 5Х + + + + + """■ ■ о Последний шаг. Так как вектор χ нарушает ограничение 4, то при 5 = {4}, действительно^ =х. Следовательно, решением является ха = 13/17, х2 = 18/17. Ограничение 3 выполняется как строгое неравенство. Значение соответствующей вспомогательное переменной г/г = 22/17. Условие 4 выполняется как равенство. Функция цели Q (х) в точче χ достигает , минимального значения, равного — 69/34.
ГЛАВА СЕДЬМАЯ МЕТОД БИЛА 1. ВВЕДЕНИЕ Весьма наглядный метод, удобный как при ручном счете, так и при использовании вычислительных машин, принадлежит Билу [2, 3]. Этот метод представляет собой обобщение симплексного метода линейного программирования (-см. гл. 2, разд. 4). Пусть задача состоит в минимизации выпуклой квадратичной функции Q(xiy *„..., *„) = (? (χ) при ограничениях (задача II) Ах = Ъ, (7.1) χ > 0. (7.2) Здесь А — матрица с размерами тХп, т<п. Если существует некоторая точка, удовлетворяющая условиям ■ (7.1) и (7.2), то существует, как известно из теории симплексного метода, и базисная допустимая точка, в которой по крайней мере η — т переменных равны нулю. Остальные т переменных, называемые базисными, положительны (при отсутствии вырожденности). 2. ОБОСНОВАНИЕ МЕТОДА Исходным при решении задачи методом Била является какое-либо допустимое базисное решение системы (7.1), (7.2). Если разрешить (7.1) относительно базис- 136
ных переменных этой точки, пусть для удобства относительно первых из хи то получим ** = <о + Е4*гл (*=ϊ. 2.-··.'«). (7·3) где zh = xm+h. Равенство (7.3) идентично равенству (2.30). Базисные переменные имеют в исходной точке значения d{g0>0. Назовем переменные в правой части (7.3) независимыми или исчезающими (в данной точке). Переменные в левой части назовем зависимыми или базисными. Выражение (7.3) позволяет представить Q как функцию только независимых переменных. Квадратичную форму Q удобно представить в виде Ui \·Χχι -^2' · ■ · ι "%n) ==' У (2?l» . . . , Zn_m) = n—m n—m n—m =4+2 5>S,*<+Σ Σ *«***= 1=1 h=l i=I я—m =(4+Σ4,^)·ι+ л—m л—m _I ι I _ ι ι J где (^00 \C0\Zi'T~ · · " ГСо, n-mZn-m)' * \ *Ь (СЛ0 ~Ь СЛ1г1 + · · · + Ch, n-mZn- ™) zn + + (^я-т. <fn-mt 1г1 + · ■ '"h^-m. л_тгп-т)2п-т, c\h=chi для Λ, ί = 0, Ι,.,.,λ —от. 137
В такой записи выражение в скобках при zh есть не что иное, как у j^-- В частности, в исходной точке 2 dzh —ch0· Значение Q в исходной точке равно с^. При таком представлении функции Q условия Куна— дО1 ' Таккера имеют очень простой вид: если все ~—^0, то исходная точка является решением, ибо увеличение любой из независимых переменных (уменьшаться они не могут в силу условия неотрицательности) может привести лишь к увеличению значения Q, более того, в силу выпуклости * Q увеличение нескольких независимых переменных одновременно также не уменьшает значения функции. Но если для некоторых переменных Zh g<0, т. е. 4<0, то можно уменьшить значение Q, увеличив одну из этих zh, например гх. Остальные независимые переменные можно оставить по-прежнему равными нулю. Вместе с z{ изменяются также значения зависимых переменных. Дальнейшие действия имеют много общего с симплексной процедурой. Выбираем переменную, которая до сих пор была равна нулю, включаем ее в базис и затем уменьшаем функцию цели. Максимальное уменьшение функции цели, происходящее за счет изменения этой переменной (в данном случае г{), достигается при ее увеличении до тех пар, пока одна из зависимых (до сих пор положительных) базисных переменных не обратится в нуль. Дальнейшее увеличение невозможно, ибо оно приводит к нарушению ограничений. Этот случай всегда имеет место для линейной функции цели, производные от которой суть константы. Для квадратичной функции цели производная -р- может обратиться в нуль раньше, чем одна из зависимых переменных достигнет границы допустимой области. Дальнейшее увеличе- * По совокупности переменных. (Прим. ред.) 138
ние ζγ неразумно, так как при этом функция Q снова начинает возрастать. Рассмотрим сначала случай, когда зависимая переменно1 ная, например, хх обращается в нуль раньше — . В качестве второго приближения к решению (второй точки) выбираем тогда ту точку луча которая соответствует обращению хх в нуль. Во второй точке, следовательно, равны нулю переменные хх и z2, Z3, ..., zn_m. Оии являются независимыми переменными. Значения остальных переменных zx и х% хъ . -., хт, являющихся зависимыми во второй точке, при этом определяются автоматически. Используем равенство (7.3) при g=l для представления зависимой в данной точке переменной z{ как функции переменных, обращающихся в этой точке в нуль: п—т С помощью (7.5) исключим из остальных равенств (7.3) переменную ζχ и получим тогда [вместе с (7.5)] новую систему h=2 (7.3') где базисные переменные второй точки представлены в виде функций от переменных, обращающихся в нуль. (Здесь вновь zx = xm+u) Переход от системы (7.3) в (7.3') аналогичен соответствующему преобразованию симплексного метода. Наконец, выразим Q с помощью (7.5) через новые не- 139
зависимые переменные (более удобные правила преобразования будут даны ниже): п—т η—m + (4> + fox + Σ cxiz^ Xl + (7.6) я—m rt—m + £ (СЛ0 + СЛ!*1+ Ц *«**)**" Л=т2 ί=2 Таким образом, во второй точке имеем по существу то же самое что и в первой. Только переменные ζλ и Х\ поменял ись'ролями. дО1 Рассмотрим теперь второй случай, когда -р- обращается в нуль внутри допустимой области. Для этого введем новую не ограниченную по знаку переменную Ц*~ 2 дгх* которую в отличие от неотрицательных переменных Xi назовем свободной. По определению эта переменная связана с прежними независимыми переменными линейным соотношением п—т «.=4о+Е4**=4й;· (7·7) Λ = 1 Индекс «1» при щ отмечает первую свободную переменную и никак не должен ассоциироваться с индексом при Ζχ. В качестве второй точки в данном случае возьмем точку, в которой равны нулю щ% а также прежние независимые переменные, кроме той, которая включена в базис, т. е. кроме z\. Независимыми переменными во второй точке являются, следовательно, и\9 z2y ..., zn_m. На основании (7.7) положительную зависимую в данной точке переменную z\ можно представить в виде 140
функции независимых переменных. Получим выражение, аналогичное (7.5):, ι п~т л я—m = <+^Л + 2^*· (7-8) С помощью (7.8) исключим из (7.3) переменную zt и получим тогда [вместе с (7.8)] новую систему η—т •** = di) + ii«i + 2dih*ft» £ = 1, 2, ...,/&,/0+1. (7.3") И, наконец, с помощью (7.8) можно выразить Q в виде7 функции новых независимых переменных. Это даст такое же выражение, как и (7.6), только вместо х\ будем иметь щ. Легко видеть, что система (7.3") содержит на одно равенство больше, чем (7.3'). Это равенство появилось в результате введения свободной переменной. При этом число базисных переменных также увеличилось на единицу, так как в базис была включена дополнительная переменная 2i = xm+i, равная нулю в предыдущей точке. От второй точки (где z\ = xt в случае 1 и z]=ui в случае 2), построенной указанным способом, аналогично осуществляется переход к третьей и так далее, правда, с одним существенным изменением для случая 2: для свободной переменной условие Куна—Таккера имеет вид J*-—0. Так как иг не ограничено по знаку, то значение Q можно уменьшать с помощью допустимых вариаций uv если только тр-^О (Для уменьшения значения Q с помощью допустимых вариаций переменной, ограниченной по знаку, соответствующая производная должна быть отрицательной). Если же -Д > 0, то при переходе к следующей 141
точке свободную переменную следует сделать отрицательной. Здесь, однако, нужно заметить: если свободная переменная стала отличной от нуля и тем самым зависимой, то ее следует исключить из выражения для Q и из равенств для базисных переменных, и в дальнейшем вообще не принимать во внимание. Равенства для зависимых переменных служат для контроля их знаков при изменении независимых переменных. Свободные переменные, значения которых в окончательном решении не представляют интереса, подобному контролю не подвергаются. Вообще, в результате выполнения указанных выше преобразований, базис всегда состоит только из переменных, ограниченных по знаку. Наконец, приведем следующее правило. Дополнительное правило. Переход к следующей точке нужно попытаться осуществить, прежде всего, за счет изменения свободных переменных. Если производные от Q по всем свободным переменным равны нулю (т. е. уменьшение Q таким образом невозможно), то в базис нужно включить независимую переменную, ограниченную по знаку. Изложим теперь общую схему перехода от £-й точки к (А + 1)-й. Пусть в k-и точке Q представлена как функция от η —т независимых переменных г, , г2 ,..., zrt_m, обращающихся в этой точке в нуль: Q(x) = Q*(z*,.··,*„*_„) = п—т п—т п—т (слг = с*л Аля «, Л=0, 1,...,л —/и; снн**0 для h = = 1 ,..., τι — т в силу выпуклости Q). Среди этих ζ* могут находиться 5 свободных переменных Uj и η — т — 5 переменных, ограниченных по знаку. Оставшиеся mA-s ограниченные по знаку переменные χ , s 142
входящие на данном шаге метода в базис, линейно выражаются через независимые переменные по формулам п—т *.,=<»+Σ <****· δ==1·2 m+s- (7·10) Критерий Куна—Таккера оптимальности точки, полученной на k-м шаге, имеет вид к г О для всех ограниченных по знаку ζΛ, *>' η « » (7Л1) -~- = 0 для всех свободных г.. Если (7.11) не выполняется, то можно строить новую точку с меньшим значением Q, при этом все переменные ζ*, кроме одной, например, zhp сохраняют нулевое значение. zk заменяется одной из прежних базисных переменных, обращающейся в нуль, или вновь вводимой свобод- ной переменной, которой соответствует производная γ—^-. ρ В частности, переход к следующей точке может осуществиться следующим образом. Пусть zk — переменная, нарушающая условие (7Л1) ldQh=d<o 2 dzk '° р (или chp^^>Q, но zp— свободная переменная). Если среди переменных, нарушающих условие (7.11), находится свободная переменная, то согласно дополнительному правилу ее следует выбрать в качестве заменяющей zhp. Придадим zp положительное (отрицательное) значение. При этом изменятся зависимые переменные и —^ . Пусть дгкр zh может произвольно увеличиваться (уменьшаться), не обращая ни одно из зависимых переменных или -~ в нуль. 143
Этот случай имеет место, если d*Ρ^Ό (соответственно, sp ft d* <0) для всех g и е* =0. Тем самым определится луч, вдоль которого Q может принимать произвольно малые значения, и, следовательно, программа не имеет решения. В противном случае возможны два варианта. Случай 1. Пусть ch — 0 или I*1- mi„ ■*- срр e€{g\dtp<o}\dep\ (Если £*0>0 и, следовательно, zhp уменьшается, то минимум берется по тем g, для которых ^* >0.) В этом случае -^~- не обращается в нуль внутри допу- дгР стимой области. Пусть минимум правой части достигается при g = q. Тогда в следующей точке прежняя базисная переменная xv обращается в нуль [вместе со всеми z*h(h=jt=p)}. Если разрешить q-e уравнение (7.10) относительно ζ*, то получим Ь__^£0 | 1 \Ί dqh h Uqp йЯР Q {£раЯР Случай 2. -~ обращается в нуль раньше, чем любая дгкр из зависимых переменных. Это имеет место тогда, когда с* >0и РР' ξ < mm —ξ—τ с* \dk » PP I SPI где минимум берется по всем g£{g | fif* < 0} или, соответственно, g£{g\d*p>0}. В этом случае вводится новая свободная переменная ит (г— число свободных переменных, появившихся в процессе вычислений): п—m 1 dQfe __ ft ι \Ί ft h 144
Разрешая это равенство относительно ζ , получим LP0 срр я* рр РР РР НФр Переменная ит в (А-{-1)-й точке равна нулю (вместе со всеми г\{кфр)) и, будучи независимой переменной, заменяет г. Полагая ρ z\ для h Φ ρ t х для h = ρ (случай 1), q \ ur для h — p (случай 2), выразим переменную ζ , отличную от нуля в новой точке, как функцию независимых переменных ζ\+ ,.. .,z**m, рав- ных где в этой точке нулю: eh = β Ρ eh = Ρ Cp & 1 dk — -—- для кфр, qp I dk qp ^Ph UL. г для h φ ρ, CPP 1 ck ' CPP n—m Σ A=l > ) ft + l eftzft , если г = ·*» (случай 1), &+1 если г =йГ (случай 2). (7.12) (7.12а) (7.126) Для того чтобы выразить Q в виде функции новых независимых переменных, подставим в (7.9) выражение (7.12). 145
Эту подстановку лучше осуществить в два этапа, сначала ft + 1 ft Zh Zh η—τη η—rn внутри скобок (где г*+1 = z\ для Ιιφρ). Получим где * (7ЛЗ) Применяя еще раз (7.12), окончательно получим л—m я—m я—m я—τη η—τη +(^.+Σ^+,)(β·+Σβ»2ί+,)= =(4Γ+Σ4+4*+,)·ι+ ί = 1 я—m я—m где elf1 —chi-\-cPieh; h, < = 0, 1.....Л — /я, Ь.фр, Cpl —Cpi^p) или с учетом (7.13) c^l = clPev+chppehev, кфРл (7Ло) 146
Матрица chhi вновь симметрична. Теперь остается преобразовать ограничения- Подставим (7.12) в (7.10), тогда η—т -V —ago ι 2j *h h · где dlhl = dlh + dlpe^ Для А^А Q =U вгх* 8 P "gp**' (7.16) Это справедливо, для g = 1,..., т -{т s, если г является свободной переменной, так как в этом случае при переходе к следующей точке прежние базисные переменные остаются в базисе; а также для g=l,... ,m-\-s, g^q, если zk*1 является одной из прежних базисных переменных, например χ . Если zk была свободной переменной, то после подстановки выражения (7.12) больше ничего делать не надо. Если же zh была ограничена по знаку, например zh=x , то систему (7.16) следует допол- " m + θ+Ι нить равенством (7.12). После этого имеет место та же ситуация, что была и в k-и точке. Аналогично можно осуществить переход к следующей (k-\-2)-H точке. Оптимальная точка достигается после конечного числа шагов. Для доказательства этого факта необходимы следующие две леммы, справедливость которых следует непосредственно из (7.15) и (7.126). Лемма 1. Если новая независимая переменная zh + * является свободной, то Лемма 2. Если для некоторого г °hi — cih с* — c\ = 0 для всех h φ i 2fc+ —свободная переменная, то c£l = c)*l = 0 для всех кфи 147
Назовем матрицу chi нормальной, если h ft. л сон = с/ю = ° для всех свободных переменных ζ*. Если матрица С*, нормальна, то Q не содержит линейной формы от свободных переменных и значение Q нельзя далее уменьшить, не сделав положительной одну из ограниченных по знаку независимых переменных ζ*. Так как значение Q (при отсутствии вырожденности) с каждым шагом итерации уменьшается, то в процессе решения не может дважды встретиться нормальная матрица с той же самой комбинацией ограниченных по знаку независимых переменных, даже в совокупности с измененной комбинацией независимых свободных переменных. Ввиду того, что существует только конечное число комбинаций переменных, ограниченных по знаку, процесс вычислений обрывается после конечного числа шагов, если получающаяся при этом матрица Chi нормальна. Покажем теперь, что это всегда имеет место. Дополнительное правило гарантирует, что свободная переменная будет зависимой, если C\t не нормальна. Следовательно, число 5 свободных независимых переменных не может увеличиться. Если новая независимая переменная ζ" является свободной, то на основании леммы 1 из элементов матрицы с*£1 вида с\*г или с* 1 только £**V=0 (это легко проверить на примерах следующего раздела). Лемма 2 утверждает, что это имеет место, по крайней мере, до тех пор, пока одна из ограниченных по знаку переменных не станет независимой, при этом количество 5 свободных переменных среди Zh уменьшится. Но тогда последнее должно произойти не позднее, чем через 5 итерационных шагов, если матрица не станет нормальной раньше. Следовательно, после некоторого числа итераций в худшем случае в качестве независимых останутся лишь переменные, ограниченные по знаку, и матрица Chi станет, очевидно, нормальной. Если в случае 1 базисные переменные, которые должны быть независимыми, определены неоднозначно, имеет 148
Место вырожденность. Преодоление вырожденности осуществляется точно так же, как и в симплексном методе линейного программирования. 3. ПРИМЕР И СХЕМА ВЫЧИСЛЕНИЙ Прежде всего разберем принадлежащий Билу простой, но очень наглядный пример, включающий все существенные особенности метода. Минимизировать Q = — 6xt + 2х\ — 2хгх2 + 2х\ при ограничениях Χι + χ2 <^ 2, Χι ^ О, (см. рис. 8, где граница допустимой области заштрихована). Рис. 8. После введения вспомогательной переменной x3t получим ограничения в виде *1+*2 + *з = 2, ΛΓι^Ο, *2^0, хг^?0. В качестве первой точки можно взять 149
которая на рис. δ обозначена буквой А. Тогда хь = 2 — Х\ —*2, q= ( — а* )·ι + + ( — Χι + 2χ2)χ2. 1-я точка (Л). J^i = 0, *2 = 0, х9 = 2, Q = 0. Поскольку 2 djci d· то Q можно уменьшить, придав JCi положительное значение {Χχ остается равной нулю). Производная 1 dQ обращается в нуль при хх — ~й~· Эта точка лежит в допустимой области, так как хъ обращается в нуль только при Χι = 2. Поэтому введем новую свободную переменную 1 dQ которая заменит независимую переменную Х\. ax обращается в нуль во всех точках, в которых эллипс равных значений Q имеет горизонтальную касательную. Получим теперь для второй точки равенства: 3,1 1 Х\ = "ΊΓ "r"-ft~tfi + ΊΓ Хг, Хь — о 9 ^1 9 "^2> /9334 + ( "ι ) (т+Та, + ТЛ1) + / 3' 1 _3_ N + ( 2 "У«1+ 2 х*]х* = 150
+ ( Τ"1 )«» + 2-я точка (5). 3 1 9 «ι = 0, *2=0, λ:ι==-2", jr, = -y, _Q = -- "2"- Поскольку -7f т^, ό"> включаем в базис лс2; «j остается 1 dQ " равной нулю, -у -£— обращается в нуль при х2 = 1 (что соответствует безусловному минимуму Q), однако хг обращается в нуль при меньшем значении л:2 = 1/3. Поэтому исключаем хг нз базнса н выражаем новую хг н прежнюю Χγ базисные переменные через хг н «ι. Для третьей точки (С) получим: J \ J_ х* — з з ttl~ з Λ·» _A_lJL ± Χι — 3 3 ttl"~~ 3 **8> + ( T+TUi + Tx*)Ui + ,/2,1 2 \ + {T+TUl+TXt)x*- 3-я точка (С). α,=0, *,=0, л:» =1/3, л:, = 5/3, Q = —I6/3. 151
Теперь единственная возможность улучшить значение Q состоит в уменьшении их. Последнее осуществляется до тех пор, пока не обратится в нуль хотя бы одна из следующих переменных: 1 1 или -*2== 3 3 Ul~ Тх* Χχ— з Ί з Ul~ з ■*» Раньше других переменных обратится в нуль и2 πρΗΗι =—γ. Поэтому вместо Hi вводим независимую переменную и2. 4-я точка (D). Имеем: 1 -1- 3 Х2= -γ- 9 й2 —'2 Хз* 2 ~*~ 2 "2— 2 "**' = ( +( +г = ( +f +с 11 . 1 1 \ + и2 )(~T+Ttt2~ 2 2 "2 · 9 *^3 J"^3 11 , 1 N 3 ^ . ' 4. ' ^ 2 ■·" 2 -*3 К»" Т*») + Так как производная от Q по свободной переменной и2 обращается в нуль, а по ограниченной переменной хг положительна, то минимум Q=— -у реализуется в точке jti=3/2, -*2= 1/2, *з=0· Это и есть оптимальное решение задачи. Равенство для щ в точке D необходимо только для того, чтобы исключить их из других соотношений. Если 152
бы потребовался еще один итерационный шаг, то переменную щ и соответствующее равенство не следовало бы учитывать. Если отдельные шаги вычислений представить схематически (соответствующие правила будут даны ниже), то целесообразно значения величин dqh и chil вычисляемые для каждой итерационной точки, свести в таблицу. Верхняя часть таблицы будет содержать коэффициенты dqh и соответствовать обычной симплексной таблице. При этом удобно к системе (7.10) добавить тривиальные соотношения типа где ζ/ι — ограниченная по знаку переменная, не входящая в базис. Этим соотношениям в 'симплексной таблице будут соответствовать строки, содержащие 1 на пересечении с /ι-м столбцом и 0 на пересечении с остальными столбцами. Как только переменная Zh становится зависимой, тотчас соответствующая единичная строка заменяется строкой, состоящей из коэффициентов ен, и наоборот. С этой симплексной таблицей связана еще таблица коэффициентов функции цели chi. Общая таблица для £-й итерационной точки имеет вид 1 г? . . . zk 1 Л1 ... л„ Симплексная таблица Таблица коэффициентов функции цели чо *"о 40 4 п\ и01 .d \, п—т "0, п—т . С п—т, п—т 153
При этом для тех xg1 которые встречаются среди zh» имеем: если xg — zu то ^А = 0для кф1 и^{ = 1. Столбец таблицы называется х-столбцом, если соответствующая переменная zh является одной из ограниченных по знаку переменных х&л и u-столбцом, если zh являются одной из свободных переменных щ. Для предыдущего примера таблица, соответствующая первой точке, имеет вид Таблица I Симплексная таблица Таблица коэффициентов функции цели 1 0 0 2 0 —3 Х\ 1 0 —1 -3 2 Хг 0 1 —1 0 — 1 Эта таблица содержит только х-столбцы. Первые две строки симплексной таблицы соответствуют двум тривиальным соотношениям: X\~XU #2 = #2, для независимых переменных, а третья — соотношению Х% = 2—Х\ —Х2 для зависимой переменной. Таблица коэффициентов функции цели соответствует выражению Q=( ~3χ, )·1 + +(_3 + 2*,- *,)·*,+ "т\ xl-f-2x2)'X2· Первые три элемента 0,0,2 первого столбца дают значения переменных, ограниченных по знаку в рассматри- 154
ваемой точке. Элемент 0 на пересечении первого столбца и четвертой строки дает значение Q в этой точке. Остальные элементы первого столбца дают значения производных Q по независимым переменным. Элемент в рамке является опорным. Переход к таблице, соответствующей следующей итерационной точке, целесообразно осуществить с помощью промежуточной таблицы/которая в верхней (симплексной) части содержит коэффициенты d**] новой точки, а в нижней—промежуточные величины с hi- Промежуточная таблица имеет вид: Симплексная таблица 1 Таблица промежуточных коэф- J\ фнциентов функции цели Л+\ dk+l Соо ьп -т, О »* + ! Hk+\ dk+\ *k+\ CQ,n- ... С п-т, п-тп Формулы (7.13) перехода от ckhl к chi аналогичны формулам (7.16) перехода от dkgh к d*+l . Поэтому при переходе к промежуточной таблице все строки исходной таблицы преобразуются одинаково, независимо от того, какой части таблицы они принадлежат. При переходе от промежуточной таблицы к таблице следующей итерационной точки верхняя часть таблицы переносится без изменений, а нижняя еще раз подвергается аналогичному (симплексному) преобразованию, причем строки и столбцы согласно (7.14) меняются ролями. 155
Первая промежуточная таблица в вышеприведенном примере имеет вид Промежуточная таблица 1а (*?> (4) Симплексная таблица Χι Х2 Хъ Таблица промежуточных коэффициентов /2\) функции цели (4) 1 Χι Х2 1 3/2 0 1/2 Hi 1/2 0 -1/2 Хг 1/2 1 —3/2 —9/2 —3/2 —3/2 О 1 -3/2 —1/2 О 3/2 Нижняя таблица соответствует выражению Следующие таблицы заполняются в соответствии с теми вычислениями, которые имели место при решении примера. 2-я точка Таблица2 Промежуточная таблицу 2а Χι Х2 Хг .1 Hi Х2 1 3/2 1/2 - —9/2 —3/2 (*?> Hi 1/2 -1/2 1/2 (*1) *2 1/2 ι 1 — 3/2 1 — 3/2 3/2 | Χι Хг Хг 1 Hi Хг 1 1 5/3 1/3 —5 — 1 Hi 1/3 —1/λ 1/2 1/2 -t/2 Хг -1/3 —2/3 1 1 —1 I 156
3-я точка Таблица 3 *1 Х2 Хь 1 «1 Хъ I 1 «1 1 5/3 1/3 1/3 —1/3 — 16/3 1/3 1/3 2/3 2/3 1/3 Хъ -1/3 —2/3 1 2/3 1/3 2/3 Χι Хг Хь 1 «1 Хь Та 1 1 1 3/2 1/2 —11/2 1/2 блица За «2 Хь 1/2 —1/2 — 1/2 —1/2 1 1/2 1/2 1 1/2 1/2 4-я точка (оптимальная). Таблица 4 Х\ Хг Хь 1 1 «2 *г\ I 1 Иг 3/2 1/2 1/2 —1/2 —11/2 3/2 1/2 Хь -1/2 -1/2 1 ' 1/2 . 1/2 *1=3/2, *2=72, *3 = 0, Q = -И/2 Формальные правила перехода от одной таблицы к следующей можно сформулировать так. 1. Рассмотрим первую строку нижней таблицы без первого элемента. Если элементы этой строки, стоящие на пересечении с u-столбцами, равны нулю, и элементы, стоящие на пересечении с х-столбцами неотрицательны, то данная таблица оптимальна. Если элемент, стоящий на пересечении первой строки й некоторого и-столбца отличен от нудя, то этот столбец следует выбрать в качестве заменяющего. Если же таковых нет (или и-столб- цы вообще отсутствуют) и при этом элемент, стоящий на пересечении первой строки и некоторого х-столбца, отрицателен, то этот столбец следует выбрать в качестве заменяющего. 157
Пусть с% —элемент, стоящий на пересечении первой строки и заменяющего столбца. Последний определяет новую зависимую переменную zk. В табл. 1, 2 и 3 заменяющими являются соответственно х1? х2 и ^-столбцы. 2. Разделим модуль выбранного (в соответствии с предыдущим пунктом) элемента ckQ на соответствующий диагональный элемент ск нижней части, если с*р>0, и разделим на модули соответствующих элементов d* заменяющего столбца те элементы первого столбца верхней части таблицы d*0, которые имеют тот же знак, что и с*р . Строка, реализирующая минимум этих отношений, является заменяющей. Элемент, .стоящий на пересечении заменяющей строки и заменяющего столбца dkq или ск , называется опорным элементом. Если заменяющая строка принадлежит верхней части таблицы, то в промежуточной таблице на место переменной ζ* которой соответствует заменяющий столбец, ставится переменная, которой соответствует заменяющая строка. Если последняя принадлежит нижней таблице, то zk заменяется новым переменным иг· Последнее (табл. 1 и 3) соответствует случаю 2, описанному выше. Оба случая (1 и 2) формально можно и не различать. 3. Чтобы получить элементы столбца промежуточной таблицы, соответствующего заменяющему, разделим элементы последнего на опорный элемент. Это соответствует (7.12), точнее (7.16), для h — p и (7.13) для ί=ρ. В табл. 1, например, Χι-столбец следует разделить на 2 и тем самым получить Ui-столбец табл. 1а. 4. Чтобы получить остальные столбцы промежуточной таблицы, из элементов соответствующих столбцов исходной таблицы, следует вычесть элементы полученного выше столбца этой таблицы, умноженные на элемент, стоящий на пересечении данного столбца л заменяющей строки. Таким образом строится промежуточная таблица, а также симплексная часть окончательной таблицы. Это вновь является следствием формул (7.12), (7.16) для кфр и (7.13) для ίφρ. В приведенном примере, если из первого столбца 158
||0, 0, 2, 0, —3, 0|К табл. 1 вычесть игстолбец ЦУ2, 0, —7г, —3/г, 1, —1/sllх табл. 1а, умноженный на —3, то получим первый столбец ||3/г, 0, У2, —9/2, 0, — 3/2Н' табл. 1а. 5. Второй заменяющей строкой является та строка, которая пересекается с заменяющим столбцом по главной диагонали нижней таблицы. Разделим каждый элемент второй заменяющей строки промежуточной таблицы на опорный элемент. Получим соответствующую строку окончательной таблицы. Вместо переменной, которой соответствует вторая заменяющая строка, ставится переменная, которой соответствует заменяющий столбец промежуточной таблицы. Это правило следует из (7.14) для h=p. Если первая заменяющая строка лежит в нижней части таблицы, то вторая заменяющая строка совнадает с первой, как в табл. 1а и За. В приведенном примере вторую заменяющую строку II—1, —Уг, —HI табл. 2а делим на опорный элемент —3/г и получаем последнюю строку ||2/з, Уз, 2/з11 табл. 3. 6. Чтобы получить одну из оставшихся строк, например h-ю окончательной таблицы, из ft-й строки нижней части промежуточной таблицы необходимо вычесть уже вычисленную вторую заменяющую строку окончательной таблицы, умноженную на элемент исходной таблицы, стоящий на пересечении первой заменяющей строки и Л-го столбца. Это соответствует (7.14) для НФр. В. приведенном примере для получения 2-й строки (игстроки) нижней части табл. 3, из 2-й строки ||0, У2, 0|| табл. 2а следует вычесть 3-ю строку (вторую заменяющую) ||2/3, Уз, 2/з11 табл. 3, умноженную на элемент —у2, стоящий на пересечении второго столбца и заменяющей строки табл. 2. Получаем строку ||у3,2/з, Уз11 Для сравнения приведем еще один пример (который далее будет решен еще н другим методом). 1 о 1 о Минимизировать Q = — хх— 2х2 + -γ Х\ + ~ο~·*2 ΠΡΗ ограничениях: 2χι + 3χ2+Χ3 — 6, ■Xi^O, i=l, ... ,4. Начиная решение с точки хх = 0, х2 = 0, х3 = 6, х4 = 5, получим следующую последовательность таблиц. 159
1-я точка ΐ) Χι Хг Хг X* 1 Χι Хг 1 1 6 5 -1/2 —1 Χι 1 —2 —1 -1/2 1/2 Хг 1 —3 —4*1 —1 1 1/2 1 2-я Χι Хг Хг Ха 1 Χι Χα точка. 2) 1 5/4 9/4 —55/32 —13/32 3/32 Χι 1 -1/4 —5/4 —13/32 17/32 1/32 Χα -1/4 3/4 1 3/32 1/32 1/32 3-я точка. 3) (оптимальная) la] Χι Хг Хг Χα 1 Χι Хг 1 5/4 9/4 -5/4 —1/2 —3/8 Χι 1 -1/4 —5/4 -1/4 1/2 -1/8 Χα -1/4 3/4 1 1/4 -1/8 J Χι Хг Хг Χα 1 Χι Χα 2а) ι 13/17 18/17 22/17 —69/34 2/17 «1 • 32/17 —8/17 —40/17 —13/17 1 1/17 Χα —1/17 —4/17 16/17 1 2/17 Ι 1/34 | ■*" Хг Хг Χα 1 Hi Χα Ι Ι 1 Ι 13/17 18/17 22/17 —69/34 2/17 «1 32/17 —8/17 —40/17 32/17 Χα —1/17 1 —4/17 16/17 1 2/17 Ι 1/34 λ:, = 13/17, λγ2 = 18/17. χ, = 22/17, χ< = 0, Q = -69/34.
ГЛАВА ВОСЬМАЯ МЕТОД ВУЛФА 1. ВВЕДЕНИЕ Вулф [1], следуя предложению Марковица [1, 2], разработал метод решения квадратичных программ, в котором используется с небольшим изменением симплексный метод. Предположим, что квадратичная программа приведена к форме II (быть может, с помощью вспомогательных переменных): min{Q(x) = p'x+xfCxl^x = b, х^О}. (8.1) Здесь С — положительная полуопределенная матрица л-го порядка; А — матрица с размерами mX/г. Элементы т~мерного вектора b без ограничения общности можно считать неотрицательными. Условия, необходимые и достаточные для решения вышеуказанной задачи, согласно (4.17), имеют вид: Ах = Ь, 2Сх —ν + Λ'ιι = —ρ, (8.2) х^О, v^O и лг^ = 0 для всех г, /=1,2,-.-,»- (8.3) Как уже было показано в гл. 4 [см. (4.16) — (4.18)], для того, чтобы для каждого индекса i по крайней мере одна из переменных Xi или г/* обратилась в нуль, достаточно, чтобы условию (8.3) удовлетворяло базисное решение cHQTeMbi (8.2), в котором (см. гл. 2, разд. 4) из 2п+т переменных xit г/*, щ в нуль обращаются не бо- 161
лее чем п+т, где п+т—число равенств в системе (8.2). Задача, следовательно, состоит в том, чтобы отыскать среди допустимых базисных решений системы (8.2) такое, которое удовлетворяет условию (8.3). Напрашивается мысль использовать для этого в соответственно измененной форме симплексный метод, сущность которого как раз' и состоит в последовательной замене одного базиса линейной системы уравнений другим. В общих чертах метод Вулфа состоит в следующем. Введением дополнительных вспомогательных переменных из системы (8.2) получают расширенную систему уравнений, для которой легко указать базисное решение (с соответствующей симплексной таблицей), удовлетворяющее условию (8.3). Затем с помощью симплексного метода дополнительные переменные обращают в нуль. При этом дополнительное условие, учитываемое при пе* реходе от одного базисного решения к другому, обеспечивает выполнимость (8.3) на протяжении всего процесса вычислений. Это дополнительное условие и представляет собой единственное отличие от обычного симплексного метода линейного пограммирования. Алгоритм Вулфа разработан в двух вариантах — частном и общем, при этом в общем варианте по существу дважды повторяется схема частного варианта. Если общий вариант применим без каких-либо ограничений, то частный можно с уверенностью использовать лишь в том случае, когда или р = 0, или С строго положительно определена. 2. ЧАСТНЫЙ ВАРИАНТ Чтобы найти решение системы (8.2), удовлетворяющее условию (8.3), поступим следующим образом. Введем т+2п дополнительных неотрицательных вспомогательных переменных: w = ||wlf wlf.... wm\\\ [zl = \\z\,z\%...9zlJ9 *Ш = К*1 <|Г. 162
и перейдем от системы (8.2) к расширенной системе: 2Сх — v + ^'u + z1 — za = ~p, (8.4) х!>0, v^O, 2х^0, 2а^0, w>0. Для системы (8.4) можно без труда построить базисное решение, удовлетворяющее (8.3), в котором не более т+п переменных отличны от нуля. Оно имеет вид х = 0, v = 0f u = 0 и при каждом значении индекса / по крайней мере одна из величин г|, г^ равна нулю· В базис тогда включаются (возможно, со значением О, если имеет место вырожденность) переменные Wj=bj (1>0 по предположению), j = 1,..., т, а также одна из переменных г*, г* (для каждого значения индекса /), а именно: *I = — Pu если/?*<(), z2. = pi, если /?i>0· Если /?i = 0, то безразлично г\ или ζ. (со значением нуль) включается в базис. Сведение дополнительных переменных к нулю, что соответствует возвращению от системы (8.4) к системе (8.2), осуществляется в два этапа. На первом этапе применяется обычный симплексный метод линейного программирования с целью минимизации линейной формы Σ wt (8.5) при условиях (8.4), а также и = 0 и v = 0. При этом в качестве нулевого приближения используется вышеупомянутое базисное решение. Переменные щ и vit следовательно, на первом этапе остаются вне базиса. 163
Если ограничения последней задачи совместны, то минимум линейной формы (8.5), найденный таким образом, равен нулю. Если имеет место вырожденность, то метод применяется до тех пор, пока в базисе не останется ни одной переменной wu даже с нулевым значением. Таким образом получаем, наконец, базисное решение, в котором базисными переменными являются т переменных Х\ и η из 2/г переменных ζ\ и ζ2, при этом от знака ρχ зависит, какая из переменных, г! или ζ2, включена в базис. На этом первый этап заканчивается. Из системы (8.4), а также из результирующей симплексной таблицы вычеркиваются столбцы, соответствующие всем Wi и тем из z\ которые не вошли в базис. Эти переменные в дальнейшем во внимание не принимаются. Оставшиеся ζ1, ζ2, образуют /г-мерный вектор ζ = = 112!,..., гп||г, где Zi равно ζ1, или ζ2 в зависимости от того, какая из этих переменных оказалась в базисе после выполнения первого этапа. В случае вырожденности в базисе может оказаться больше чем т переменных Х{ и меньше чем η переменных г{ (см. нижеследующий численный пример, табл. 1.5). В этом случае вектор ζ имеет, соответственно, меньше элементов. Обозначим матрицу коэффициентов при компонентах вектора ζ в системе (8.4) через D (D — диагональная матрица, состоящая из элементов +1 или — 1 в зависимости от того, Ζι~ζλ или Zi = z2). Тогда в результате выполнения первого этапа получаем допустимое базисное решение и соответствующую симплексную таблицу для системы: Лх = Ь, 2Сх — v + 4'u + Dz = —р, (8.6) х^О, v^O, z^O, где u = 0, v = 0. Условие (8.3) выполняется, так как v=0. С этим базисным решением в качестве нулевого приближения выполняется второй этап, на котором с по- 164
мощью симплексного метода минимизируется линейная форма Σ * (8-7) при ограничениях (8.6). При этом для всех индексов / и для всех переходов от одной симплексной таблицы к следующей, а следовательно, от одного базиса к другому, должно выполняться следующее дополнительное правило: если Xi находится в базисе, то при переходе к следующему базисному решению υ\ не должно включаться в новый базис; если υ\ находится в базисе, то х\ не должно включаться в новый базис. (8.8) Правило (8.8) гарантирует, что на каждом шаге симплексного метода Χχ и Vi не будут находиться в базисе одновременно. Тем самым для всех базисных решений, которые строятся на втором этапе, выполняется условие (8.3). Если минимум 2гг-, получаемый таким образом, равен 0, то это означает, что в конце второго этапа определяется решение (8.6), в котором вектор z=0, и, тем са-, мым, решение (8.2), удовлетворяющее условию (8.3). Последнее является и решением исходной задачи (8.1). Если на С и ρ не наложено никаких ограничений, то вполне возможно, что из-за правила (8.8) нельзя будет сделать больше ни одного шага в симплексном методе, несмотря на то, что все еще будет оставаться положительной. Чтобы убедиться в этом, надо обстоятельнее исследовать то базисное решение (построенное на втором этапе), начина» с которого симплексный метод из-за правила (8.8) больше не применим, т. е. на котором второй этап обрывается. Образуем из компонент х* вектора х, которые в этом последнем решении положительны, вектор хх. Вектор, составленный из компонент ν, соответствующих Χχ (т. е. равных нулю), обозначим через ν*. Далее, образуем из положительных компонент ν вектор νΌ й обоз- 165
начим вектор из соответствующих компонент χ через Χυ. Воспользуемся теперь леммой, доказательство которой приводится в разд. 4 данной главы. В этой лемме w — вектор, состоящий из h переменных, q—вектор состоящий из h констант, R — матрица п-то порядка и f — Ai-мерный вектор, состоящий из констант. Все остальные величины имеют тот же смысл, что и раньше. Лемма. Пустэ w есть решение следующей линейной программы: минимизировать q'w при ограничениях Лх = Ь, 2Сх — ν + А'и + /?w = f, х^О, v^O, w^O, vx = 0, xv = 0. Тогда существует /z-мерный вектор г такой, что Сг —0, Лг = 0 и q'w = fr. Положим далее W = z (при этом Л = #), qr = ||l. 1.--..1Ц. ■ q'w = £z2, Я = Д f = -p. Тогда решение, полученное на втором этапе, очевидно, удовлетворяет предположениям леммы. Отсюда следует существование м-мерного вектора г, такого, что и minV ζι = — ρ'ι\ Если теперь р=0 или С — положительно определенная матрица (в этом случае из Сг = 0 следует* г=0), то * См. гл. 1. (Прим. ред.) 166
Как уже упоминалось, Ь этих чабтных случаях Досматриваемый вариант приводит к дели. Не исключено, конечно, что Σζ{ на втором этапе окажется равной нулю, хотя ρ =т^0 и С положительно полуопределена. В этом случае, однако, рекомендуется сразу применять общий вариант, который решает квадратичную программу без указанных ограничений. 3. ОБЩИЙ ВАРИАНТ Общий вариант состоит из трех этапов, причем первые два по существу совпадают с частным вариантом. В основных чертах общий вариант состоит в следующем. Сначала применяют частный вариант к системе (8.4), в которой вектор ρ полагают равным нулю. Как было выше показано, частный вариант приводит в конце второго этапа к базисному решению системы (8.6), в котором все 2* равны нулю. Если (в случае вырожденности) в базисе находятся еще некоторые гг- с нулевыми значениями, метод продолжается до тех пор, пока эти переменные также не будут удалены из базиса. При этом столбцы, соответствующие гг-, вычеркиваются и в дальнейшем эти переменные во внимание не принимаются. В результате получаем базисное решение системы: Лх = Ь, 2Сх —у+Л'и = 0, (8.9) х^О, ν^Ο, удовлетворяющее условию (8.3) или, если ввести новое переменное μ, базисное решение системы: Лх = Ь, 2Сх — ν + Λ'χχ + μρ = 0, (8.10) χ^ο, ν;>ο, μ>ο При μ=0. 1. При практических " вычислениях рекомендуется с самого начала в число переменных включать μ и на протяжении первых двух этапов сохранять за μ нулевое значение. Это делается для того, чтобы в конце второго этапа иметь таблицу, содержащую все величины, необ- 167
ХоДимые Для симплексного преобразований на Третьем этапе. С этой целью в системе (8.4) уравнение 2Сх— v + + А'и + ζ1 — ζ2 = — ρ заменяется уравнением 2Сх —v-f Л'и + μρ + ζ1 —ζ2 = 0, μ^Ο. 2. Правила вычислений для частного варианта дополняются одним требованием: на обоих этапах μ не должно включаться в базис, т. е. всегда μ = 0. Это, очевидно, равносильно тому, что вектор ρ заменяется нулевым вектором. Во всяком случае, в конце второго этапа получаем решение (8.10) с μ=0 и ν'χ=0. Однако нам необходимо получить решение этой системы с μ=1 и ν'χ=0, ибо такое решение будет одновременно решением (8.2), удовлетворяющим условию (8.3). Для этого на третьем этапе симплексным методом с учетом дополнительного правила (8.8) минимизируется тривиальная, состоящая лишь из одного слагаемого, линейная форма -μ (8.11) при ограничениях (8.10). В качестве начальной точки используется базисное решение (8.10), полученное на втором этапе. 'При этом возможны два случая: или —μ =—оо, или —μ>—оо. Во втором из них можно снова применить сформулированную выше лемму, на этот раз полагая ιν = μ(ή=1), q = — I q'w = — μ, /? = p, f = 0. Тогда min (— μ) = f'r = 0, т. е. в этом случае —μ вообще не может быть уменьшено. Другими славами, если на третьем этапе —μ не стремится к —оо, то вообще нельзя сделать ни одного симплексного преобразования при соблюдении условия (8.8). В этом втором случае значение функции цели Q(x) в допустимой области не ограничено снизу, следо- 168
вательно, задача (8.1) не имеет решения. Доказательство этого утверждения приводится в разд. 4 этой главы. В другом возможном случае —μ может быть произвольно уменьшено. Согласно общей теории симплексного метода (см. гл. 2, разд. 4) получаем, следовательно, сначала конечную последовательность базисных решений (X*, V, U'\ μ*), (8.12) /= 1, 2,..., g для системы (8.10) (первое из них получено на втором этапе и соответствует μ1 = 0) и затем луч, началом которого является g-e базисное решение: (χ' + *χ'+1, ν* + Λν*+\ и*+Яц*+\ μ* + ν+1) (8.13) при Д^>0. Этот луч (на котором μ может принимать сколь угодно большое значение) получим, сделав положительной одну из обращающихся в нуль (в g-м решении) переменных, сохранив за остальными нулевое значение. Базисные переменные при этом не изменяются. Правило (8.8) обеспечивает выполнимость условия v*x' = 0 18Л4) для всех индексов / = 1, 2,... , g +1. Правило (8.8) гарантирует также, что vJ7xi+i = 0> v^+lfxi = 0, /=l, 2 β, (8.15) так как согласно (8.8) в (/+1)-м решении Xi(Vi) не входит в базис, если ε>ΐ(*ΐ) было в предыдущем базисе. В результате, условие ν'χ=0 выполняется не только для всех базисных решений, но также и для всех выпуклых линейных комбинаций двух следующих друг за другом базисных решений. Для (X, V, U, μ) = α(χ'\ V*t U>, μ') + + Rx' + \ ν'+\ π'+\ μ'+1), α^Ο, β^Ο, e + p=l, /=1,..., g-h 169
имеет место ν'χ = (αν'' + βν^+Ι)'(αχί + βΧ3+,) = = aV'xJ+pV+"xi+1 + apv3'x3+1 + apvi+1'xi = 0, а также для всех точек луча (X, V, U, 5) = (Х«, V', β*, μ*) + λ(χί+1, V*+1, и* + ,,^+1) имеет место v'x = (v*-f Яу*+,)(х*+Ях*+,) = = у^х* + Яау*+"хг+1 + Яу*'х*+14-Яу*+"х* = 0. Предположив, что система (8.10) невырождена, получим 0 = μ1<μ1<...<μ«. Далее следует различать два случая: 1. При μ.*^1 выбирается индекс /, 1^/^g—1 так, чтобы μ3'<ΐ^μ3+1. Выпуклая линейная комбинация (X, V, ί, $)=*£=1,№, yi, U>, μί) + +j?fer£j(*,+1. vi+1» UJ+,> ^+1) (8.16) (поскольку "μ г=1) является не только решением системы (8.10), но и системы (8.2). Так как условие (8.3): ν'χ = 0,^ также выполняется, то система (8.2) и, следовательно, задача (8.1) решены. 2. При μ*<1 строим (χ, ν, и, Д = (х'. ν*, и*, μ*) + + (χ*Λ v*+l, u*+\ μ'+1)^#. (8.17) 170
Вновь μ=1 и χ является решением задачи (8.1). Как уже отмечалось, общий вариант метода Вулфа обладает большими возможностями, чем частный. Именно, если функция цели квадратичной программы зависит еще от скалярного параметра v^>0: Q(x, v) = vp'x-fx'Cx, (8.18) то можно получить из последовательности базисных решений третьего этапа решение квадратичной программы для произвольного v>0. Для этого достаточно в правилах для определения χ число 1 заменить интересующим нас vl>0. Полученные при этом значения переменных представляют собой решение (8.10) при p = vh, следовательно, решение (8.2), где ρ следует заменить на νρ. Но это и значит, что найденный χ минимизирует функцию (8.18) при постоянном, но произвольно выбранном vl>0. 4. ДОКАЗАТЕЛЬСТВА I. Доказательство леммы. В разд. 3 были даны определения векторов хх и χυ, а также νχ и νυ. Из оставшихся элементов векторов χ и ν образуем векторы хь и νδ. Они содержат переменные с теми индексами /, для которых в решении, полученном на 2-м этапе (а следовательно, решении, полученном на 3-м этапе, и тем самым в решении сформулированной в лемме программы): Xi = Vi = 0, Χχ и νχ строятся так, что все их компоненты положительны. Представим, быть может после перестановки, векторы χ и ν в виде χ'ΗΙχ'χ. хё. χ'.ΙΙ и v=|iv«, VV v,I] и аналогично: А = \\АХ\ Аъ\ Д,||, С„\СХЬ\СЯ О хь: 'ъъ bv Ίό (8.19) 171
|f'*,f\,f δ»1 « Πι R = ;r* Kb Rv В этих обозначениях лемма эквивалентна следующему утверждению: Пусть w есть решение следующей линейной программы: минимизировать q'w при ограничениях: 2Схххх + 2СхЪхъ + A'xti + Rxvr = ίχ, 2Cfxixx+2Cu^-vi + A\u+Rlw=fb 2C'xvxx + 2С\ахь - ν» + A'vu+Rvvr=f„, 0, x.^0, vs>0, v„>0, w^O V3C^="» Λδί (u ограничений на знак не имеет). Тогда существует вектор г, такой, что Сг = 0, Лг^О, q'w = f'r (х« и vx в этой формулировке уже не фигурируют, так как они равны нулю). ., При доказательстве используется теорема двойственности линейного программирования. Применительно к нашему случаю она утверждает: , Если сформулированная выше программа имеет решение (хх, *χδ, νχ, "νδ, u, w), то имеет решение и двойственная, к ней программа: максимизировать Ь'у + Г«г, + ГЛ + 1'Л 172
при ограничениях: Л'ху + 2Cxxtx + 2СхЬть + 2€χντυ < О, А\у + 2С'хЪтх + 2Сььг, + 2Сгогю ^ О, -г, йО, -τΏ£0, Ахгх + Аъгъ + Аьгь = 0, R'xrx + R'irb + R'vrv£q. Другие переменные ограничений на знак не имеют. Двойственное решение имеет вид (У, rX9 rs, ?„). Теорема двойственности далее утверждает: если некоторые из ограниченных по знаку переменных первой программы в решении положительны (такими будут, во всяком случае, хх и νΌ, потому что они так определены*), то неравенствам двойственной программы, соответствующим этим переменным (т. е. первому и четвертому неравенствам во всяком случае), решение удовлетворяет как равенствам и экстремальные значения обеих функций цели совпадают. Итак, А'ху + 2СХХ?Х + 2Cjb + 2Cxvrv = 0, (8.20) А\У + 2С 'Лг, + 2СЬЬ?Ь + 2Cjv ^ О, (8.21) — *ь й°> (8·22) — ?V = Q, (8.23) ASx + A$b + AZrv = 09 (8.24) * Условия леммы яьно этого ие содержат, однако утверждение χ,,—Ο, νΛ=0 молчаливо предполагает, что х*>0, v„>0. (Прим. ред.) 173
ff.r. + fl'.i + ff-r^q (8.25) q'w = b'y + f«f» + f'»r, + nr. (8·26) Принимая во внимание (8.22) и (8.23) и умножая уравнение (8.20) слева на г'ж, а уравнение (8.21) слева на ?δ, получаем ?* Л'ху + 2?хСххТх + 2?«СЛгЛ = О, Суммируя эти уравнения и транспонируя их сумму, получим f(Axfx + A;rb) + 2\\r\fb\\ Схх \с** II ι НИ с » г Г ΙΜ *ь Ι <о. Согласно (8.24) и (8.23) первое слагаемое равно нулю; второе слагаемое всегда неотрицательно, ибо подматрица С хЬ Jxb 'ЪЪ положительно полуопределенной матрицы С всегда положительно полуопределена. Остается единственная возможность Г*. Ml· Схх j СхЬ С ' Г = 0, (*) откуда в силу полуопределенности матрицы этой квадратичной формы следует Схх j СхЪ =о (8.27) 174
или Cxxrx + Cjb=09 Учитывая (8.23) и первое из этих равенств, из (8.20) получим А'ху=о и, следовательно, Ь'у = @тА'л + х\А\) у =ЪхА'ху=О (χδ=0 по определению). Из (8.26) тогда получим q'w = Г xfx + f л + Г#1л (§.28) Поскольку Γυ = 0, то справедливо* равенство более общее, чем (8.27), а именно: . VJCX \с* [*-» XV с« с« С* οχυ V Crii j (8.29) * Действительно, поскольку r„ = 0, то имеет место тождество t*C'xtXx + rV-'δϋ Γδ + г xCxvto -\- t\C^v г„ + г'»£»»г* = 0. Суммируя его с (*), получим I г', г'5 г'. II \ С ' С С'хЪ J ^δδ Cxv Cbv t*vv Γχ4 = 0. Отсюда в силу положительной полу определённости матрицы даииой квадратичной формы следует (8.29). (Прим. ред.) 175
Обозначая г'Н|?,?в?,||, из (8.29), (8.24) и (8.28) получим: Лг = 0, qrw = fr, что и доказывает лемму. II. Второе доказательство, которое предстоит провести, относится к случаю, когда третий этап общего метода дает в качестве минимума—μ конечное число, а именно μ=0. Обозначим соответствующее базисное решение системы (8.10) через (х1, v1, u1, μ1). В дальнейшем предполагается, что система (8.10) невырождена, т. е. каждое решение содержит по крайней мере т-\-п и каждое базисное решение —точно т-\-п отличных от нуля переменных. Так как ц!=0и/п неограниченных по знаку переменных uj всегда входят в базис, то из 2п переменных χ], ϋί ровно η должны быть положительными, а именно, для каждого индекса i или х]>0 и υ\ = 0 или ι г υ\ >>0 и х!=0. Векторы χδ и νδ в этом случае отсутствуют. Из леммы (при q = — 1, R = ρ) следует существование вектора г, такого, что Сг = 0, Лг = 0. Кроме того, некоторые существенные сведения относительно вектора r' = ||?x,?r|j (г'ь не существует вместе с χδ) можно извлечь из доказательства леммы. Те элементы г, которые соответствуют обращающимся в нуль переменным, т. е. г„, обращаются в нуль вследствие (8.23). Покажем теперь, что элементы гж не могут быть отрицательными. 176
Действительно, (х^+Яг, V\U\ μ») = (χ^ + λΓ„ Xi + ir„ V1, ll1, μ1) = = (xi + ar„ Ο, ν1, и1, О) тоже является решением* (8.10), по крайней мере, для достаточно малых Я, таких, что Если хотя бы один элемент гх отрицательный, то существует такое значение Я'>0, что по крайней мере для одного индекса i х\>0 и *)+Я'г{=0, т. е. (х* + Ягг, ν1, и1, μ1) является решением (8.10) с менее чем т-\-п положительными элементами, что невозможно по предположению; следовательно,. г^О. Из Лг = 0, г^>0 следует, что луч х = х1 + Яг, Я>0. лежит в допустимой области квадратичной программы (571). Вдоль этого луча функция цели Q(x) имеет значение Q (χ* -f Яг) = р' х1 + х1'Сх1 + Яр'г, так как Сг = 0. Из (8.25) следует (при R = p, q = —1) p'rg — 1. Отсюда заключаем, что Q(xl4"^r)"^ — °° ПРИ Я-^оо. Значение функции цели, следовательно, в допустимой области не ограничено снизу. * Ибо Сг=0, Лг=0. (Прим, ред.) 177
5. ПРИМЕР Рассмотрим следующий пример: минимизировать 1 1 Q — 9 Х\ + 9 **2 '2*j при ограничениях: 2л;, + 3*8 ΞΞ 6, Х\ + 4*2 ΞΞ 5, *,;>0. Введением вспомогательных переменных хг и *4 приведем систему ограничений к форме II: 2*1 + 3*2 + -«1 = 6, Х\ +4*2+-«4=5, **;>0' *1>о. ^з^о, *4>о. Тогда χ = |*ι 1 *2 г8 J·**! г РН 1—1 —2 0 0 | с-1 2 3 1 4 0 0 ι L в = |6| [5! Легко видеть, что частный вариант приводит к цели и тогда, когда задача квадратичного программирования записана в форме И, полученной из формы I (со ctporo определенной матрицей) с помощью (4.9), как в предлагаемом примере. Из Сг=0 и Лг=0 вследствие специального вида матриц С и А следует г=0 и тем самым для решения, получаемого на втором этапе, имеем minSzi = p'r = 0. Однако для иллюстрации решим приведенный пример с помощью общего варианта метода. 178
. ЁвеДем 14 дополнительных Неотрицательных Переменных: V = ||t»1, ν„ ν„ и4||, w' = ||a»1, в»,II, ιΐ' = ||ζ}, z«, zj, ζ'||, ζ2' = || ζ», ζ|, ζ», zj|| и μ, а также две не ограниченные по знаку переменные и/=||и1и2Н- Тогда решением рассматриваемой задачи будет вектор х, составленный из компонент Х\ решения следующей более общей задачи: Лх-f-w —b,~ 2Cx—ν+Λ'ιι+ζ1—ζ8+μρ==0, xl>0, v;>0, w^O, zl^0t ζ2;>0, μ^Ο, ν'χ = 0 при w = 0, z1 = za=:0 и μ=1. На первом этапе вычислений минимизируем Σα/*, причем μ, u и V в базис не вводятся и, следовательно, получаются равными нулю. В первом базисном решении входят в базис w и z1- Так как w = b —Лх, Zl=0— 2CX + V— Л'11 + Z2 — ρμ, то первая таблица имеет вид Wi wt г\\ 4 4 А 1 6 5 0 0 0 0 Σα;, ЦП Х\ Х% Х% —2—3 —1 _ 1 _4 —1 |—1| —1 —3 —7 —1 Х4 Oj, Ό% Ό% 04 #1 —1 1 -2 1 —3 1 —1 —1 1 — 1 2 2 2 —1 —1 —1 —1 Α ή 1 2 —1 179
Опорный элеменФ на пересечении заменяющего столбца и заменяющей строки выделен рамкой. Те элементы, которые не должны входить в базис, отмечены звездочкой. Последовательность новых симплексных таблиц такова: Таблица 1.2 «Ί w2 *ί х* 4 А Y>Wi Ι ι 6 5 0 0 0 0 11 Χι —2 —1 —1 —3 4 3 4 —1 7 Хг Χ* *>ι Ό2 —1 —3 — 1 —4 1 1. —1 —1 7 Vi 1 о* ι «ι 9 12 —2 —3 —1 -21 и2 12 16 —1 —4 —1 28 ~2 21 1 4 —3 —4 1 —7 ■8 1 *4 I* —6 —8 1 2 1 Ι — 14 * * * * * * * Таблица 1.3 Wi 4 z\ Хг z3 z4 Hwi | ι 9/4 5/4 0 5/4 0 0 9/4 xx z\ хъ λ:4 αϊ — 5/4 —1 3/4 — 1/4 1 —1/4 - |—1| 1 — 1/4 —1/4 —5/4 —1 3/4 σ2 -1 »1 1 еч «ι u2 3 4 —2 —1 —1 1 —1 9 2 2 21 ^t Z3 24 ft - 3/4 — 1/4 —2 1 1 -1/4 1 1 7/4 1 ****** * 180
Таблица 1,4 wx г\ Χχ χ% ζ] *4 Σϋ>. j I t 9/4 5/4 0 5/4 0 0 9/4 «! 5/4 1/4 —1 1/4 5/4 1 * Z2 ■*» 1-' 1 —1 *4 3/4 -1/4 -1/4 3/4 Ь -5/4 -1/4 1 -1/4 -5/4 v% Ьг ϋ4 ί/j 5/2 —1 7/2 —2 1/2 1 —1 1 5/2 *» 5/4 17/4 —1 1/4 —1 5/4 ·? -5/4 -1/4 1 -1/4 - -5/4 wt 3/4 -1/4 -1/4 7/4 4 1 < Μ —5/4 -9/4 1 -1/4 j 1 —5/4: ****** * Таблица 1.5 Хь 4 Χι χ% 4 •i Σνΰ% 1 9/4 5/4 0 5/4 0 0 •1 5/4 1/4 -1 1/4 *2 1 wx -1 Χι 3/4 -1/4 -1/4 Ot Γ, —5/4 -1/4 -1 1 -1/4 Vg Vt 1 1 «1 5/2 7/2 —2 1/2 —1 u* 5/4 17/4 -1 1/4- -1 4 —5/4 -1/4 1 -1/4 ■> 4 -3/4 -1/4 -1/4 1 ■5" : -5/4 ] -9/4 1 -1/4 "" 1 J 0 . 1 1 Ι Поскольку 2^1 = 0, первый этап окончен. Последняя таблица вырождена в том смысле, что число переменных Xi, входящих в базис, больше чем т. Чтобы получить исходную таблицу для второго этапа, вычеркнем столбцы, соответствующие Wi, и те ζχχ и 22г<, которые не входят в базис. Вследствие вырожденности остаются только три переменные гг·. На втором этапе минимизируется Σ* при дополнительном правиле: нельзя включать Х{ в новый базис, если νχ входит в старый базис, и наоборот. Переменная μ также не должна входить в базис. 181
*г ζ* Χι χ% ζ% ζ* Szi\ Ι 1 j 9/4 5/4 0 5/4 0 0 Ι 5/4 Χα 3/4 |-1/4 | -1/4 -1/4 Vi — 5/4 -1/4 ί -1/4 -1/4 ν% —1 ~1 *· 1 1 0* 1 1 *ι 5/2 7/2 —2 1/2 —1 5/2 Таблица 2Л "а 5/4 17/4 —ι 1/4 — 1 13/4 Ι* —5/4 Ι —9/4 ι -1/4 —9/4 Χι Ι ΛΓ* Χι χ% ζ% Ζ* j Σζ< | | 1 Ι 6 5 [ ■ 6 0 0 ι ° ι ° ζ% —3 —4 1 1 0! —2, —1 1 0а —3 —4 1 »ι 1 1 *♦ ι ■ 1 Ui 13 14 —2 —3 —1 —1 Таблица 2.2 "2 14 17 — 1 —4 —1 — 1 μ —8 Ι —9 1 2 Таблица 2.3 "*' ι *4 Ι *ι Ι *2 «1 ^ Σ** Ι [ 1 Ι 6 5 ■-0 0 0 • ό Ι ο ζ2 —3 —4 1 1 Vl —2 — 1 1 ν2 —3 —4 1 Γι 13 14 —2 —3 1 »* 1 1 ζ» —13 —14 2 3 —1 1 α2 14 17 —1 —4 1ζ±ί —1 μ ! —8 Ι —9 1 2 182
Таблица 2.4 ·*' χ* Ι Χ\ Хг «ι «2 Σζ* J | 1 1 6 5 0 0 0 0 1 ° z2 —3 —4 1 1 i>l —2 — 1 1 f2 —3 —4 1 »■ 13 14 —2 —3 1 1 04 14 17 — 1 —4 1 zs — 13 —14 2 3 —1 1 24 —14 —17 1 4 —1 1 μ —8 —9 1 2 * * * * * Так как все 2* = 0 и не входят в базис, то второй этап окончен. Вычеркиваем столбцы, соответствующие 2, и минимизируем на третьем этапе —μ. Дополнительное правило должно приниматься во внимание и в дальнейшем. Хг х* Хг Хг «1 «2 —μ 1 1 1 б 5 0 0 1 ° Vl —2 —1 1 v2 —3 —4 1 ν* 13 14 —2 —3 1 ^4 14 17 — 1 —4 μ —8 Ι 9 Ι 1 2 —ι * * * * Хг Χι Хг «1 Hi —μ ι . ι 14/9 5/9 5/9 10/9 0 0 —5/9 Vl — 10/9 -у9 8/9 —2/9 1/9 t>2 5/9 —4/9 —4/9 1/9 4/9 v% 5/9 14/9 —4/9 1/9 1 — 14/9 »4 |-10/9| 17/9 8/9 —2/9 1 —17/9 x* 8/9 —11/9 -1/9 —2/9 1/9 * * * μ» = 5/9 < 1 π x»= || 5/9, 10/9, 14/9, 0||\ 183
»4 μ Χι χ* UX иг —μ ( I 7/5 16/5 9/5 4/5 0 7/5 —16/5 V\ — 1 —2 —1 2 ϋ2 1/2 1/2 1/2 -1/2 ο8 1/2 5/2 1 1/2 —5/2 Тг Хг —9/10 — 17/10 —4/5 1/5 —9/10 17/Ш \6 л ица 3.3 ** 1 4/5 1 7/5 3/5 —2/5 4/5 -7/5 | μ·=16/5>1, х'=||9/5, 4/5, 0, 0||'. Так как 1 == зЦ μ3 + уЦ μ.*, то ,*-«. - /μ8— f 2 , 1— μ2' з— 99 2 , 20 ■ ,_ Х— (μ8 — μ* Χ ~Γ μ8 — μ« Χ 119 Χ +Й9Х _ = || 13/17, 18/17, 22/17, Ο |f дает^ решение рассмотренной задачи. Для первоначальной задачи существенны, конечно, А только первые две компоненты х. Из последовательности таблиц легко видеть, что всегда Аз=иь ν4=112. Это объясняется тем, что первоначально пример имел форму I. В качестве упражнения рекомендуем читателю подумать, как изменится алгоритм решения задачи в форме I, если ее не приводить сначала явно к форме II. В этом случае надо исходить не из (4.17), а из (4.16).
ГЛАВА ДЕВЯТАЯ МЕТОД БАРАНКИНА И ДОРФМАНА 1. ВВЕДЕНИЕ Баранкин и Дорфман сформулировали * условия Куна —Таккера для задачи I: пип{р'х + х'Сх|Ах<:ь, х^О}, (9.1) в форме (см. 4.16): Ах +У = Ь, 2Сх — v + Л'и == — р, (9.2) х^°> У^°. v^O, u^O и x'v + y'u = 0. (9.3) Здесь С — положительно полуопределенная матрица л-го порядка, Л —матрица с размерами тХп. Как уже показано в соответствующем разделе гл. 4, условие (9.3) может выполняться только для допустимого базисного решения системы (9.2), т. е. для решения, в котором из 2(n+m)=2N ограниченных по знаку переменных χ, ν, у, и самое большое N переменных [N=n+m — число равенств в (9.2)] положительны. Значит, задачу можно сформулировать следующим образом: среди допустимых базисных решений системы (9.2) найти такое, которое, обращает в нуль величину x'v+y'u. Такой подход к решению задачи совпадает с подходом Вулфа. Однако Вулф начинает с того, что в систему (8.2), соответствующую (9.2), вводит с помощью вспомогательных переменных некие отклонения и затем симплексным методом, * См. Баранкин и Дарфман [1, 2]. 185
перебрав ряд базисных решений, сводит к нулю сумму этих вспомогательных переменных, причем так, чтобы условие (8.3) (соответствующее условию (9.3)] выполнялось на каждом шаге. Баранкин и Дорфман [1, 2] поступают наоборот: начинают с базисного решения системы (9.2), которое не обязательно удовлетворяет условию (9.3), и с помощью симплексного метода сводят к нулю выпуклую функцию x'v+y'u. 2. АЛГОРИТМ БАРАНКИНА И ДОРФМАНА Условия (9.2) и (9.3) примут более удобную форму, если все переменные представить в виде 2#-мерного вектора Zr=\\X\ У'У, Uf|| =|| ΛΓρ. . мЗДп. . .,Ут,01Э. . мОтй^.-АпЦ. (9.4) Каждому такому вектору соответствует вектор rf = ||V, u\ x', y'||, (9.5) . так что для компонент векторов ζ и ζ имеем Zl+N~Zi ) Очевидно, x'v -f- y'u — -κ ζ'ζ и условия (9.2) и (9.3) можно записать так: , /=1, 2, ...,#. А \Е ~2С\0 0_\ 0_ ~—Ё\ А' ζ — Ъ —Ρ (9.6) ζ^Ο ζ'ζ=0. (9.7) Метод Баранкина и Дорфмана состоит в том, что, исходя из некоторого допустимого базисного решения для (9.6), совершается ряд симплексных преобразований, 186
в результате каждого из которых выпуклая функция Γ(ζ) = ζ'ζ^ (9.8) уменьшается, пока, наконец, не будет получено базисное решение с Т = 0. При этом симплексные преобразования совершаются по тем же правилам, что и в случае линейной программы, усложняются только в силу нелинейности Τ правила выбора включаемых в базис переменных. Последние (правила выбора) будут получены ниже. Пусть имеется некоторое допустимое базисное решение системы (9.6). Соответствующая симплексная таблица задает входящие в базис переменные zg как функции от N независимых переменных zv —th, не входящих в базис, причем функциональная зависимость имеет вид N Равенство типа (9.9) можно записать и для независимой переменной zg из числа in- Для этого достаточно симплексную таблицу дополнить строкой, все элементы которой, кроме одного (равного 1), суть нули (как в методе Била). Тогда переменные zg, g—1,...,2#, будут входить в направляющий столбец* в своей естественной последовательности, а для zg = tjt т. е. для небазисных переменных, dgh^Oy Ъ,ф\, dgj = \. Равенства (9.9) можно заменить одним векторным равенством, « = d. + S'*d*- (9Л0^ Здесь dh — Λ-й столбец симплексной таблицы. Для базисного решения, в котором независимые переменные равны нулю, z = d0I>0 и r = df0d0. Если включить в базис, например, переменную tj, т. е. сделать эту * То есть самый левый столбец симплексной таблицы (2.34). (Прим* ред.) 187
переменную положительной ^- = &, &]>0, сохраняя за остальными переменными th, кф\у их нулевые значения, то вектор ζ изменится следующим образом: z = d0 + folj. (9Л1) Переменную tj можно увеличивать только до тех пор, пока какая-нибудь из базисных переменных не обратится в нуль. Это произойдет при &_miflijjii \\dgj\ dgj <θ|. (9Л2) Положив ^ = 0j, получим новое базисное решение. В новом базисном решении вектор ζ принимает значение z = d0 + Mi, (9.13) а Г —новое значение r3- = r(z) = (d0+Mi)'(do + Mj)· (9.14) Поскольку d'jd0 =2 ^/+Λ,ι0+Σ ^ч^/^.o^d'odj, то можно записать Ъ = й'А+2Ы&, + &* tfJdj = 7, + »JJCJI (9.15) где ^ = 2^ + »^, (9.16) α^ΰ'Λ> (9.17) pj = d'jdj. (9.18) Так как значение Τ при симплексных преобразованиях должно уменьшаться, в базис нужно включить такую переменную tj, для которой /С/<0. Это и есть новое правило выбора. Так как θ5·>0, то справедливо Tj<T. Если несколько чисел /С,- отрицательны, то из них выбирают то, которому соответствует наименьшее отрицательное произведение fy · /С,·. Величины β5·, представляющие собой по существу вторые производные от Tj no tj, в силу выпуклости Τ никогда не отрицательны. Поэтому Kj может быть отрицательным тод&ко тогда, когда а,- 188
отрицательна. Для тех /, для которых а^О, нет необ-* ходимости вычислять β;, Oj, Kj. Правило выбора сводится к тому, что каждую независимую переменную симплексным преобразованием проверяют: уменьшит ли базисное решение, полученное Рис. 9. после включения этой независимой переменной в базис, значение функции Г. Для линейной функции цели, монотонно уменьшающейся в случае отрицательной первой производной aj, достаточно было исследовать знак * otj. В случае квадратичной (выпуклой) функции цели Τ исследования только первых производных недостаточно, ибо не исключено, что на некотором отрезке прямой функция Τ принимает минимальное значение между старым и новым базисными решениями. Может случиться, что Kj>0 для всех /, хотя еще Г>0. Тогда рассматриваемый метод не применим. На рис. 9 представлен такой случай. Пусть многоугольник Ри · ·, Pi — область, задаваемая условиями (9.6). Кри-' вые, проведенные пунктиром, суть кривые равных значений Т. Вершины соответствуют базисным решениям, симплексное преобразование" соответствует переходу к ближайшей вершине. Если полученное решение соответствует вершине Pi, то в обеих ближайших к Р\ вер- * См. (2.36). (Прим. ред.) 189
шинах, Р2 и Рт, Τ принимает большее значение, чем в Р%, хотя Р\ еще те является окончательным решением. Описываемый в следующей главе метод Франка и Вулфа указывает выход из такого положения. В методе Баранкина и Дорфмана в этом случае ничего не остается, кроме как смириться с временным увеличением значения функции 7\ включая в базис переменную с положительным Kj и пытаясь пробиться через эту «мертвую зону». 3. ВЫЧИСЛИТЕЛЬНАЯ СХЕМА И ПРИМЕР Прежде, чем применить метод Баранкина и Дорфмана, необходимо иметь некоторое допустимое базисное решение системы (9.6) с соответствующей симплексной таблицей. Если такое решение непосредственно не следует из числовых данных задачи, то можно ввести вспомогательные переменные и начать с того, что свести эти переменные к нулю (ср. с методом Вулфа). Если допустимое базисное решение с соответствующей симплексной таблицей найдено, начинаем минимизировать Г. Симплексную таблицу дополняем строками, соответствующими яебазисным переменным, так что в таблице все переменные задаются как функции от небазисных переменных. Далее строки таблицы упорядочиваем по индексу zg и затем строим дополнительную таблицу согласно (9.19). имплексна; таблица Дополнительная таблица Χι=Ζι °l = ztf+l| U>m=Z2N 1 ^19 dN$ dN+\yQ d2Nt0 «9 *4 rfn dN,\ dN+U d2N,\ Pi θ, Κι Zhn d\N dNfN dN+\.N d2N,N aN \ KN \ (9.19) 190
При этом сначала вычисляем N /=1 Если а0 —0, то таблица оптимальна и вектор х, составленный из компонент х{ вектора ζ, есть решение. В противном случае вычисляем as = ά Д = V (φ sd + <W/*io)> /=i дг. Для тех /, Для которых aj < 0, вычисляем Σ t = I 1 = 1 »>=тН~Йт|^<0} (фиксируем элемент dg^ доставляющий минимум) и /Cj = 2aj + ^Pj. В качестве заменяющего столбца выбираем столбец с отрицательным /(,·, например столбец, которому соответствует наименьшее отрицательное произведение Ъ^К). Эту переменную включаем в базис. Элемент dgj столбца, по которому определено θ3· ( frj = гт^Т")» становится опорным элементом. Если в»се К} неотрицательны, а а0>0, то метод далее не применим; в этом случае включаем в базис какую^ нибудь переменную и пытаемся выйти из «мертвой зоны» или же выбираем в качестве начального другое базисное решение. Если заменяющий столбец определен, дополнительная таблица больше не нужна. Симплексная таблица 191
преобразуется по обычным правилам, которые, правда, из-за наличия строк, соответствующих небазионым переменным, несколько упрощаются. Эти упрощенные правила уже формулировались при рассмотрении метода Била. Повторим их кратко: Переменную, стоящую «во главе» заменяющего столбца, заменяем переменной, стоящей «во главе» строки, содержащей опорный элемент (заменяющей строки). Делим все элементы заменяющего столбца на опорный элемент (опорный элемент при этом становится равным 1). Получаем заменяющий столбец с новыми элементами (начинаем строить новую таблицу). Чтобы получить остальные столбцы новой таблицы, из соответствующих столбцов старой таблицы вычитаем уже построенный заменяющий столбец новой таблицы, умноженный на элемент, стоящий на пересечении преобразуемого столбца старой таблицы и заменяющей строки (заменяющая строка гори этом превращается в строку, состоящую из единиц). Можно поступать и иначе, а именно, сначала опреде лить первый столбец dg0 новой таблицы согласно и по dg0 вычислить а0. Если а0 обращается в нуль, то новое базисное решение оптимально, и мы экономим одно- преобразование С новой симплексной таблицей поступаем так же, как и со старой: вычисляем дополнительную таблицу и определяем заменяющий столбец. Процесс продолжается до тех пор, пока функция Τ не примет нулевое значение. Пример. В рассматриваемом примере —ll —2 { 1 ι C=J [ i 1/2 0 0 1/2 ι Λ = 2 3 14 1 I ' b=== 1 1 61 5 192
Расширенная матрица системы (9.6), имеет вид 1 Хг 2 1 1 Хг ' 3 4 1 У1 1 Уг 1 tfx —1 v2 —1 «ι 2 3 α2 J ι 4 I В качестве начальной точки выбираем такое базисное решение» в котором переменные xlt xt, ou «χ входят базис со значениями 9/5, 4/5, 8/5, 2/5. Соответствующая таблица, уже приведенная к нормальной форме, вместе с дополнительной таблицей имеет вид. Симплексная таблица Дополнительная таблица (Ζχ=)*1 - 01 ι • Уг . v2 . Hi (*βΗ«ι ai h\ 1 1 9/5 4/5 0 0 8/5 - 0 2/5 0 ijl 44/25 (ii) Уг Уг —4/5 3/5 1/5 . —2/5 ι 1 —14/15* 13/15 —1/15 2/15 —64/25 63/25 102/75 — 12/7 — —2,8 — Таблица . . .ih) Ι 2/3 —5/3 Ι 1 1/3 |—4/3*| 1 2 —3 — 0 — 3/10 - -6 Элемент, стоящий в первом столбце н строке otj, дает значение Т. Элементы, отмеченные звездочкой, доставляют минимум при определении θί# Они становятся опорными элементами, если соответ- 193
СТвующий столбец выбирается в качестве заменяющего столбца. Фактический опорный элемент заключен в рамку. Включаем в базис переменную и2 и строим табл. 2. Таблица 2 Xt χβ Уг Уъ Όι υ2 Ul u2 ai h bj Ki 1 1 9/5 4/5 0 0 11/10 0 0 3/10 1 99/25 У\ —4/5 1/5 1 [—51/60* —1/20 —241/100 102/75 66/51 —153/60 Уг 3/5 —2/5 1 7/10* 1/10 —3/10 26/25 11/7 181/175 v2 1/4 1 1/4 5/4 — — Ui 1 5/4 1 -3/4 9/4 1 — — Следующую таблицу можно полностью не вычислять, так как из равенства Τ = с^ = α0 + &ιΚι = 0 следует, что решение уже найдено. Остается привести значения базисных переменных: хх = 13/17, х2 = 18/17, ух = 22/17, и2 = 4/17.
ГЛАВА ДЕСЯТАЯ МЕТОД ФРАНКА И ВУЛФА 1. ОПИСАНИЕ Франк и Вулф развили дальше метод Баранкина и Дорфмана. Их метод действует без ограничений. Подход к решению задачи гот же, что и у Баранкина и Дорфмана. Пусть требуется минимизировать функцию T(z) = zrz (10.1) при ограничениях £z = d, z^O, (10.2) где для краткости положено r — \\Aj e.lJ*J ° ΰ~ ||2&jv|—£|"лг ζ и ζ определяются как и в предыдущей главе. Известно, что минимум функции Τ (ζ) при ограничениях (10.2)' есть нуль и достигается при некотором базисном решении. Вектор х, составленный из компонент х\ оптималь- А ного вектора ζ, представляет собой решение квадратичной программы I * тт{р'х + х'Сх1Лх^Ь, χ^Ο}. Как и метод Баранкина и Дорфмана, метод Франка и Вулфа мож'но применять только тогда, когда известно некоторое допустимое базисное решение ζ°, удовлетворяющее условиям (10.2), с соответствующей симплексной таблицей. Функция Τ в методе Франка и Вулфа минимизируется по следующему рекуррентному правилу. 195 d = — ρ (10.3)
В результате k-vo шага имеем допустимое базисное решение zk1 удовлетворяющее условиям (10.2), вместе с соответствующей симплексной таблицей, а также другое допустимое решение wh, удовлетворяющее условиям (10.2), но не обязательно базисное, которому соответствует положительное значение функции Τ (на первом шаге полагаем w°=z°). Исходя из базисного решения zk симплексным методом минимизируем линейную относительно ζ форму ^ z'w* (10.4) при ограничениях (10.2). Получим последовательность базисных решений причем 2<"w">21'wft>22'wA.... Метод обрывается, как только выполняется или условие а) 2Л'2Л = 0, (10.5) или условие б) Zh'wkm^wh'wh=^T(wk).. (10.6) В первом случае Zh представляет собой окончательное решение ζ. Во втором случае полагаем ζ"+1^=2Λ ( (10.7) Wft+i==wfc_^ti(zft+i_wft)) (10.8) где у μ^ΙΠίαίΐ, (w>-«>^)^ \ (10.9) I (Z& + 1—w*)'(zfc+1 — wfc) J Франк и Вулф показали, что на каждом шаге имеют место а) или б) и что через конечное число шагов обязательно будет только а), так что метод приводит к решению. wfc+i есть такая точка отрезка прямой между wft и ζ*+χ, в которой функция Τ (ζ) достигает минимума на указанном отрезке. 196
Чтобы отчетливее представить себе, как действует метод Франка и Вулфа, надо учесть, что дг zz' т. е. в частном случае (£)«.-**· Следовательно, если функцию Τ линеаризовать в точке wft, то получим линейную функцию z'wft, причем их градиенты в точке wft имеют одинаковое направление. На рис. 10 приведен графический пример для метода Франка и Вулфа. Допустимая область совпадает с допустимой областью на рис. 9 в предыдущей главе, Очевидно, вершина Рб есть решение, в лей Г—0. Пред- ЛинеЙная функция цели на 1-м шаге. Линейная функция цели иа 2-м шаге. Рис. 10. положим, что начальной точкой для метода была вершина P1 = z°=w°. Метод Баранкина и Дорфмана, согласно которому переход от Pi совершается к сближай- шей вершине с меньшим значением Т, в этом случае не* применим. В методе-Франка и Вулфа функцию цели Τ (ζ) линеаризуем в точке Pi и получаемую линейную функцию минимизируем с помощью симплексного мето* \$7
да, при этом начальной точкой является базисная точка Рг. Получаем Zl = P2, Z2 = Pb. Пусть точка Рг удовлетворяет условию (10.6). В качестве точки wl выбираем такую точку отрезка прямой между точками у/° = Рх и z1 = Z2 = /33, которая доставляет функции Τ наименьшее значение; это—точка/Υ, P8=w1. Линеаризуем функцию цели в точке Р& и минимизируем полученную линейную форму симплексным методом, исходя из базисного решения /V Получаем Ζι = Ρ4ι Ζ2 = = Р$. Пусть условию (10.6) удовлетворяет точка Рь> Рь = 12' Наименьшее значение на отрезке прямой между точками Ре и Р$ функция Т, очевидно, принимает в точке Рб, так что теперь w2 = z2 = P5 (μ=1). Линеаризуем функцию цели в точке Р$ и повторяем процесс еще раз. Точка Рб удовлетворяет условию (10.5), и решение получено. 2. ПРИМЕР, ИЛЛЮСТРИРУЮЩИЙ МЕТОД ФРАНКА И ВУЛФА Рассмотрим пример, который уже использовался для иллюстрации других методов, Q = — Χι — 2х2 +γ χ2\^~2 х2 = т1п> 2х, + Зх2 Ш б> Χι + 4*2<5. Xi^>0, ί = 1, 2. Имеем: Ρ'= 11-1. -2||. b' = ||6. 5||, Ι 1/2 0 Ι Ι 0 1/2 Ι Ι, Λ = | 2 3 1 Ι 1 4 | Согласно данным в предыдущей главе определениям z = |I*l *ι· Уи У*> vu Vit ult u2\\f^\\zlf z2, ..., zf[|', Z^IK, »ι. «ι. u%, Χι, Хг, Уи Уя|К- 198
Далее, Я = 2 3 10 1 4 0 1 10 0 0—1 0 L 0 0 о ооо| о -еоо -1 0 2 1 0—1 3 4 ч 1 гd = 1 6 | 5 1 2 Задача теперь формулируется так: минимизировать Τ (ζ) = z'z при ограничениях Вг = й, z^O. Первый этап метода состоит в определении какого-нибудь базисного решения. Для этого молено воспользоваться способом, применяющимся на 1-м этапе алгоритма Вулфа. Применительно к нашему примеру необходимо ввести только две вспомогательные переменные и матрицу W' = ||wi. wt\\ F = J 0 0 Ι 00 10 0 1 после чего минимизировать N wi ПРИ ограничениях / = 1 #z + fw = d, z, w>0. Прежде всего вводим в базис переменные ylt y2, wit w2> Если в некотором очередном базисе /. ^t — 0, то получено базисное ре - i шение и нашей исходной системы. На этом 1-й этап заканчивается. Последовательность симплексных таблиц (заключенный в рамку элемент является опорным) имеет вид: Уг #2 Wi W2 Σχ0{ Ι 1 16 5 1 2 3 X\ —2 —1 —1 — 1 Τ x* 0i —3 —4 1 — 1 — 1 1 аблица ν* 1 1 ai —2 —3 -5 1 . 1 «2 —1 —4 —5 1 199
У1 У* Wt Σΐί/i Таблица 1 Χι X2 V1 ϋ2 Wi [ 6 —2 —3 5 —1 ' —4 1/2 —1/2 1/2 1/2 3/2 —1 —3/2 1 1/2 3/2 —1 —3/2 1 -1/2 3/2 1.2 u2 ! -1/2 | —5/2 1 1 5/2 —5/2 | Ух ι Уг «ι «2 Ът{ 1 6 5 2/5 1/5 0 Xt —2 — 1 —4/5 3/5 X* —3 —4 1/5 —2/5 Όι 4/5 —3/5 Таблица 1.3 Vt W\ Wz -1/5 -4/5 1/5 2/5 3/5 —2/5 1 1 Итак, в результате 1-го атапа получено Zwi = 0. Следовательно, согласно данным в тексте определениям (w имеет теперь другое значение, чем в приведенных выше промежуточных вычислениях) имеем zw = wu |0, 0, 6, 5, 0, 0, 2/5, 1/5 ||\ w° = ||0f 0, 2/5, 1/5, 0, 0, 6, 5|Г- Так как w°'w°>0, решение еще не получено н вычисления надо продолжать. Со второго этапа начинаются собственно иитерации. Ищем вектор zfe, zfe = || z\ , . .., ζ\ ||', минимизирующий 200
tipH ограничениях zh;>0, прячем в первой итерации £ = 0. Вычисляем 1/2 w° ' w° = 17/5. Первую таблицу получаем непосредственно из табл. 1.3, сменив обозначения. Таблица 2.0 ζ* Z4. ζ. ζ* z'w° Ι 1 ζ, 6 —2 5 -1 Ι 2/5 1 -4/5 1 1/5 3/5 34/5 —14/5 ζ* —3 —4 1/5 —2/5 - —14/5 *s 4/5 -3/5 9/5 z6 -1/5 2/5 4/5 Полученное решение обозначим Z° = z° =w°. Так как a) Z° 'z° = 34/5 >0, то вычисления продолжаем. Zl ι z* Ζι *8 z'w° Tzrrr-. 1 1 5 9/2 1/2 1/2 1 27/5 Zl 5/2 5/4 -5/4 -3/4 7/2 z2 —7/2 — 17/4 1/4 -1/4 —7/2 Таб z6 —2 —1 1 —1 лица 2.1 1/2 ι 1/4 -1/4 1/4 J 3/2 ?01
Полученное теперь решение обозначим Z1. Так как a) 21'Z1 = 9/2>0 и б) Z1' w° = 27/5 > 17/5, то вычисления продолжаем. г* 22 Zl Z* z'w° Ι 1 Ι 22/17 18/17 13/17 ■ 4/17 144/85 z7 25/17 5/17 -20/17 -14/17 42/17 Z* 14/17 —4/17 — 1/17 1/17 14/17 z5 -20/17 —4/17 16/17 1/17 —3/17 Z* 5/17 1/17 —4/17 4/17: 22/17 Обозначим новое решение Ζ2: Ζ« = ||13/17, 18/17, 22/17, 0, 0, 0, 0, 4/17Ц'. Так как теперь Ζ2 'Ζ2 = 0, то искомое решение получено. В первоначальных обозначениях хх = 13/17, Jtr8- 18/17.
ГЛАВА ОДИННАДЦАТАЯ ГРАДИЕНТНЫЕ МЕТОДЫ 1. ВВЕДЕНИЕ Для того чтобы первое знакомство с градиентными методами было достаточно наглядным, рассмотрим сначала в </?3 уравнение Q=xfCx = const, (11.1) которое, как известно, представляет центральное уравнение поверхности второго порядка. Совершенно аналогичные рассуждения справедливы, естественно, и в случае Лп, где (11.1) также представляет центральное уравнение поверхности второго порядка. Ее дифференциал определяется выражением «-Σ^-^-(&)'Λ· <»·2> Вектор-градиент (^)=gradQ = VQ==2Cx, (11.3) как уже ранее указывалось, перпендикулярен к этой поверхности. Вариация dQ в (11.2) может лишь тогда обратиться в нуль, когда скалярное произведение справа равно нулю. Отсюда следует, что [т^\ перпендикулярен ко всем векторам dx, лежащим в плоскости, касательной к поверхности в данной точке. При применении всех градиентных методов возникает задача решения системы линейных уравнений типа 2Сх = —р, (11.4) 203
где С — симметричная, йоложи*ельно Определений матрица. Эта задача равносильна минимизации квадратичной формы О Г + о · О Q(x)=x'Cx+p'x, ~" ~ (11.5) tjfo легко видеть, если приравнять жулю первые производные от (11.5). Поверхности уровня, соответствующие (11.5), пред- Рис, п. ставляют концентрично расположенные подобные эллип- о соиды*, общий центр которых х^/гСНр ectb решение {П.4). Для практического решения системы (11.4) используется метод скорейшего спуска в форме градиентного метода. Для этого берут в качестве исходного приближения точку х° на поверхности и рассматривают 'ортогональную** траекторию х(/), выходящую из этой точки. Эта траектория определяется решением дифференциального уравнения ^=_gradQ(x)==-(p + 2Cx), (11.6) * См. [5], гл. 11. (Прим. ред.) ** Авторы называют траекторию χ(ί) ортогональной, подчеркивая ее осиоаиое свойство, а именно то, что ома перпендикулярна при каждом t некоторой поверхности уровня. (Прим. ред.) 204
где t — параметр кривой. Она касается в каждой точке направления антиградиента, т. е. направления скорейшего убывания Q, и заканчивается в искомой точке, определяющей минимум Q(x). Если обозначить Д = —р —2Сх, (U.7) то система (11.6) примет вид ^ = i = /?. (11.8) Для решения этой системы дифференциальных уравнений существуют различные методы. Отметим метод Эйлера, согласно которому ось / делят на интервалы и определяют bx^R^U (i=l,2, ...), где &ti = ti+t —1{, Δχι — Xi+i — х{. Разные градиентные методы различаются, в основном, выбором U. Дальнейшее обсуждение этих методов смотри в соответствующей специальной литературе. Новый, весьма эффективный метод предложил Штифель [1] в своей теории релаксационных методов для решения систем линейных уравнений. 2. МЕТОД СОПРЯЖЕННЫХ ГРАДИЕНТОВ* Хестенс и Штифель [1] предложили итерационный 'метод для решения (11.4), т. е. нахождения общего цент^ о ρ а х эллипсоидов Q(x) Ξρ'χ + х'Сх = const. . Для определения этого решения градиентное движение начинается с исходной точки х° и исходного направ- о ления s°. Второе приближение к искомому решению х. определяем так: xx = x*-\-X*s\ (11.9) * Точнее, метод сопряженных направлений, см. Зонтендейк [3], стр. 22. (Прим. ред.) 206
где *°=lEw' (g° = P° + 2Cxe). (11.10) Затем выбираем новое направление s1, .сопряженное с s°, т. е. удовлетворяющее условию sl'Cs° = 0. (11.11) Пусть достигнута точка xfe, далее образуем gfe = p + 2Cxft (11.12) и выбираем новое направление sfe, сопряженное с s°, s1, ..., sh-\ т. е. в соответствии с (11.11) удовлетворяющее условиям sfe,C8'=0 (11.13) для / = 0,1, ■ ·-, k — 1. Далее полагаем χ*+ι = χ* + λ**\ (11.14) где ~~ 2s*'Csk * Соотношение (11.13) еще не полностью определяет sft. В работе Хестенса и Штифеля (1] приводятся точные правила для образования s\ Там же доказано, что выбор на каждом шаге вектора sfe, удовлетворяющего (11.13), приводит к цели за конечное число шагов rS/г. Геометрически легко установить, что все векторы s\ сопряженные с s* (/=0,1, ..., k—1) и имеющие начало в точке xfe, образуют (п—k) -мерное линейное подпространство*, которое содержит в себе центр эллипсоида о Q(x) = const, так что х достигается самое большее через η шагов. Если теперь в случае квадратичного программирования требуется найти максимум квадратичной функции Q(x)=p'x + x'Cx (11.5) * См. примечание иа стр. 43. (Прим. ред.) 206
ири наличии линейных ограничений а/х<;Ь;, J = l, ,.., m, (11.15) то метод Хестенса и Штифеля непосредственно нельзя о применить, ибо, как известно, безусловный оптимум χ может вообще не лежать в допустимой области. В этом случае, однако, искомый оптимум xOJ)i = x лежит в пересечении некоторых гиперплоскостей a/x = bj, ограничивающих допустимую область. Пусть это многообразие D имеет размерность г(0Шг^п — 1) и пересекает при С>0 поверхность Q(x) = const по эллипсоиду размерности г—1. Центр этого (г— 1)-мерного эллипсоида и есть тогда искомый оптимум. Если предположить, что искомый оптимум находится в многообразии Д то можно к (11.13) добавить еще требование sh£D, с тем чтобы, находясь в D, достичь цели за конечное число шагов. Естественно, заранее неизвестно, является ли D тем многообразием, в котором лежит х. Предположим, что это так и определим согласно (11.13) s& при дополнительном требовании 8&£D, т. е. a/s& = 0 для тех /, которые принадлежат * D. Если при определении следующей итерационной точки xh+l встретится какое-либо другое ограничение, то будем знать, что необходимо изменить D\ исходное предположение было неверным. Метод повторяется для нового многообразия D и так далее до тех пор, пока не найдется многообразие, действительно содержащее искомую точку. Это случится через конечное число шагов. Приведенные соображения будут существенно использованы в гл. 12 и 14. 3. ГРАДИЕНТНЫЕ МЕТОДЫ МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ ι Рассмотрим для иллюстрации достаточно общую задачу математического программирования, которая состоит в максимизации выпуклой функции F{x)=*F{x„ ..., Хп) (11.16) * Точнее: «для тех /, которым соответствуют гиперплоскости &'jx=bj, образующие многообразие Р». [Прим. ред.) .207
в выпуклой области /i(x) = M*i. *ш> .--. *»)^0. (11.17) Если для этого взять какую-нибудь точку х, лежащую в нашем случае внутри выпуклой области, то можно воспользоваться соответствующими соображениями, изложенными в первом разделе. Некоторое усовершенствование может быть получено, если двигаться в направлении градиента ν Л т· с. перпендикулярно к поверхности уровня F (рис. 12). Уравнение траектории получается из системы дифференциальных уравнений *£l=VF(x). (11.18) Наличие условий (11.17), естественно, ограничивает выбор способа движения. Несмотря на это, здесь, как и в классическом случае (см. первый раздел), имеются различные методы, обеспечивающие движение в направлении скорейшего подъема (соответственно спуска в случае минимизации) при наличии ограничений. а) Прямой градиентный метод. Рассмотрим задачу (11.16), (11.17) и попытаемся построить траекторию движения в направлении скорейшего подъема с учетом 208
существующих ограничений. Этому требованию-будет удовлетворять решение следующей системы дифференциальных уравнений: •^=i=V^(x)-J^(x)v/i(x). (11.19) где „Нх) = (°'вСЛИ,;<,1),=0п (П.20, I Ж, если /j(x)>0. В (11.20) константа Μ должна быть выбрана настолько большой, чтобы точка χ не могла выйти за пределы допустимой области. Система (11.19) из-за разрывности выражения μ^χ) может не иметь решения и поэтому непригодна для практического использования. Прямой градиентный метод может служить, скорее, основой__ДЛя оценки влияния ограничений. IsJ Градиентный метод Лагранжа. Этот метод, основанный на тех же соображениях, что и прямой градиентный, делает_все-.-же.: попытку преодолеть разрывность правых" частей. Для этого вместо функций μj вводятся множители Лагранжа. В результате получаем 5P- = V^(x)-J]«iV/i(x). (И -21) f3(x), если по крайней мере одна из величин Uj или fj (χ) становится /j j £2) положительной, в противном случае. Теперь легко видеть, что правые части дифференциальных уравнений постоянны, если постоянны производные от F и fj. В дальнейшем дифференциальные уравнения строятся так, что Uj возрастает, если χ нарушает j-e ограничение (тогда согласно (11.22) -^-=/j(x)>0). Однако как только щ становится положительным, χ возвращается в силу (11.21) в допустимую область fj(x)^0. Если начать движение с какой-либо itj^O, то эта переменная в тече- 20?
ние всего процесса решения никогда не станет отрицательной. Функция Лагранжа (3.8) для задачи (11.16) и (11.17), будучи примененной для формулировки задачи минимизации, имеет вид Ф(х, u) = -F(x)+Jejfjix). Тогда (11.21) и (11.22) можно записать так: duj (t) dt z dx(t)_ дФ dt ~ d*} |*f если |^>0 или ej>0, 0 , если -r—<;0 или Uj = 0. (11.21') (11.22') При этом неотрицательность щ уже учтена. Дифференциальные уравнения, следовательно, составлены так, что движение происходит в направлении, противоположном х-градиенту* Ф, и в направлении u-градиента* Ф, при условии, что и должно быть неотрицательно. При известном предположении регулярности, с которым мы здесь ближе не можем познакомиться**, вышеупомянутые дифференциальные уравнения для заданной исходной точки χ°=χ(0), u° = u (0)^0 дают решения Xi(t), u}(t), сходящиеся при t ->оо к (х, u). x является тогда решением сформулированной задачи программирования. В последнем легко убедиться. Действительно, в точке (х, и) имеет место dt ' dt * Под х-градиентом Φ здесь понимается вектор, составленный дФ л из частных производных g—. Аналогично, под u-градиентом пони- дФ „ мается вектор, составленный из частных производных -g— (Прим, ред.). ** См. Эрроу, Гурвич, Удзава Щ 210
Отсюда, согЛасйо (11.21') и (11.22') и принимая во ёйй* мание неотрицательность и, следует дф -ЭГ=0 (3.29) И и^°> ΈΐΓ^ и^=°^ля всех/. (3.20) —(3.22). Но это есть условия оптимальности Куна — Таккера. Дальнейшее обсуждение этой проблемы можно найти у Вулфа [3]. с) Градиентные методы с конечным шагом. В противоположность вышеизложенным «дифференциальным» градиентным методам в практике для решения выпуклой программы с линейными ограничениями применяются в основном градиентные методы с «длинным шагом», при которых приближение к оптимуму осуществляется не по траектории, а по кусочно-линейной кривой (см. также раздел 2). Точки, в которых кривая изменяет свое направление, определяются итеративно. От k-и точки итерационного процесса xft двигаются в направлении градиента или, если ограничения этому мешают, в направлении вектора s, образующего с градиентом острый угол s'S/F(xh)>0 до тех пор, пока на луче не будет достигнут максимум или дальнейшее движение в пределах допустимой области невозможно. Определенная таким образом точка есть xft+i. Весь процесс движения происходит внутри допустимой области. В последующих трех главах излагаются подобные методы. Вектор направления s может быть выбран, например, так, что он, будучи соответствующим образом нормализованным, реализует максимум скалярного произведения (s, SJF) при выполнении следующего условия: при движении от точки xft в направлении s траектория в достаточно малой окрестности xft должна оставаться внутри допустимой области. Эти методы принадлежат Зойтендейку. Выбор вектора s можно также подчинить дополнительному требованию, чтобы он лежал в некотором линейном многообразии меньшей размерности, чем л. Этот путь лежит в основе методов Фриша и (Розена. В методе Розена градиент проектируется на границу допустимой области, точнее, на ограничивающее многообразие, которому принадлежит точка xft, размерности, меньшей, чем размерность всего пространства. 211
ГЛАВА ДВЕНАДЦАТАЯ МЕТОД ПРОЕКТИРУЕМЫХ ГРАДИЕНТОВ РОЗЕНА 1. ВВЕДЕНИЕ Если в квадратичной программе точка х° допустимой области еще не является решением, то можно попытаться от точки х° двигаться в направлении градиента функции цели, чтобы достичь допустимой точки с большим значением функции цели (при максимизации). Если х° является внутренней точкой, то это всегда возможно. Если же х° есть граничная точка допустимой области, то это движение может оказаться невозможным, когда градиент направлен от допустимой области. Метод Розена состоит в том, что градиент проектируется на границу допустимой области и движение осуществляется по направлению не градиента, а проекции градиента. Это приводит прежде всего к тому, что траектория движения все время остается на границе допустимой области, не покидая последнюю. Точнее, градиент проектируется на некоторое граничное линейное многообразие, содержащее х°, в частности, на многообразие с наименьшим числом измерений. Например, в случае пространства трех измерений допустимая область представляет собой- многогранник, и ее граница состоит из многообразий размерности 2 (боковые поверхности), размерности 1 (ребра) и размерности 0 (вершины). Если х° принадлежит грани, но не принадлежит ребру, градиент Проектируется на грань, если же х° принадлежит ребру, градиент проектируется на ребро. Для внутренней точки х° метод Розена совпадает с обычным градиентным методом. 212
Теперь йзЛоЖйМ Метод Рбзейк подробно. При этоМ предполагается знакомство читателя, прежде всего, с материалом гл. 1 (разд. 10) и гл. 11. Пусть программа формулируется на этот раз как задача максимизации выпуклой функции F(x) при ограничениях Л,(х) = а^х — &ϊ<;0, /=1,...,да. (12.1) По-<прежнему χ — n-мерный вектор переменных л*г. Будем считать, что возможные ограничения по знаку переменных Х{ уже содержатся в сформулированных выше условиях. Если F(x)—квадратичная функция, то можно записать F (х) = р'х — х'Сх == Q (х), где С — положительно полуопределенная матрица. Многообразие размерности η—1, которое определяется равенством /ij(x)=0, т. е. является гиперплоскостью, будем обозначать #j, следовательно, Я, = {х|А,(х) = 0}, /=1, 2,..,,/и. (12.2) Граница допустимой области состоит из всех тех допустимых точек, для которых ftj(x) =0 хотя бы для одного /. Вектор-градиент (ненормированный) а^, перпендикулярный к ограничивающей поверхности #j, направлен от допустимой области. Несколько гиперплоскостей -называются (линейно) независимыми, если соответствующие векторы а3- линейно независимы *. Под, пересечением k гиперплоскостей понимается множество точек, принадлежащих всем этим k гиперплоскостям. Пересечение к независимых гиперплоскостей образует (п—к) -мерное линейное многообразие в я-мерном пространстве переменных хг·. Например, пересечение η—1 независимых гиперплоскостей есть прямая, пересечение η независимых гиперплоскостей есть точка. Чтобы глубже раскрыть понятие проекции вектора, выделим из общего множества гиперплоскостей Hj q линейно независимых, например, согласно введенной нумерации [см. (12.2)], первые q гиперплоскостей, а именно, * См. гл. 1, разд. 4. 213
#1, tf2> .. ·, Hq. Обозначим (п—q) -Мерное пересечение этих гиперплоскостей через D. Градиенты аь ..., ад перпендикулярны к линейному многообразию Ζλ Линейное многообразие* (размерности q), натянутое на линейно- независимые векторы аь а2, чекх£/?п, представимых в виде ад, т. е. множество то- х rz= V UjSij (Uj — скаляры), обозначим через D. Многообразия D и D взаимно перпендикулярны, и все пространство натянуто на них, т. е. всякий я-мерный вектор у допускает однозначное разложение У=-У~+У . D D причем у^ лежит в fl, a yD параллелен D (многообразие D не содержит нулевой точки, за исключением случая, когда все Ьи ..., bq равны нулю; поэтому yD не может лежать в Di а может быть только параллелен D). Далее справедливо У'_У =0. D D Если у лежит в Д то у = у_ и у =0. Если у парал- D D лелен D, to у ~у и у_ = 0. D D yD называют проекцией у на линейное многообразие D. Если вектор у задан, его проекция (см. гл. 1, разд. 10) получается умножением вектора у слева на матрицу проектирования Рд: 'д tL Л q (Ад A q) Aq, (1.111) причем AQ есть q χ η -мерная матрица векторов-строк a J,..., а ^ ι л,= (1.103) См. примечание на стр. 43. (Прим. ред.) 214
Следовательно, yD = Pq-y. (1.110) Чтобы исключить особые случаи, положим Р0 = Е (проекция на все пространство есть сам вектор) и Яп = 0 (проекция на точку есть нулевой вектор). Заметим еще, что вектор у тогда и только тогда линейно не зависит от векторов аь ..., ад, когда Рдуф0. Если q гиперплоскостей Н{, ..., Hq не являются линейно независимыми, то выберем максимальное число линейно- независимых среди них. Пересечение последних совпадает тогда с пересечением всех гиперплоскостей. В дальнейшем всегда будем предполагать, что ограничивающие условия не вырождены, т. е. что всякие q гиперплоскостей, пересекающихся в граничной точке, всегда линейно независимы. В конце главы в разд. 4 содержатся некоторые рекомендации по вычислению Pq. 2. АЛГОРИТМ РОЗЕНА Обратимся теперь непосредственно к методу оптимизации. Пусть yF (x) = g(x) есть градиент функции цели F(x) в точке х, т. е. vF(x) = g(x) = dF dF дхх *' " * дхп в частном случае квадратичной ^(х) vQ(x) = p — 2Cx. Пусть граничная точка xft принадлежит ровно #(0 ^q^n) линейно независимым гиперплоскостям Ну Не ограничивая общности, можно предположить, что это есть первые q гиперплоскостей Ни ..., Hqy т. е. hj(xh)^0 для /=!,... ,^. Справедлив следующий критерий оптимальности, основанный на понятии матрицы проектирования: точка xft тогда и только тогда является решением программы, когда p,g(x*) = 0 (12.3) л (V'*)"4g(xfc)^0. (12.4) 2J5
Условие (12.3) утверждает, что вектор g(xft) перпендикулярен многообразию Д т. е. лежит в Л, Б силу линейной независимости векторов аь ..., ад вектор g(xft) допускает тогда однозначное разложение" е(хЧ = 5>а, = Л>, (12.5) где и = ||й11..-,й^||г. Но левая часть (12.4) согласию (1.115) есть не что иное, как и. Тем самым (12.4) утверждает, что коэффициенты в (12.5) не могут быть отрицательными. Оба условия (12.3) и (12.4) утверждают, что в максимизирующей точке градиент функции цели задачи (12.1) может быть представлен в виде неотрицательной линейной комбинации внешних нормалей к тем ограничивающим гиперплоскостям, которым принадлежит точка xk. С этой формулировкой критерия оптимальности мы уже встречались в гл. 3 (разд. 2) при рассмотрении теоремы Куна — Таккера. Если точка xft лежит внутри допустимой области, критерий оптимальности имеет простой вид Λβ(χ*) = β(χ*)=ο. Если условия оптимальности не выполняются, можно найти допустимую точку xft+1 с большим значением функции цели. При этом будем различать две возможности, на каждой из которых остановимся в отдельности в двух рассматриваемых ниже случаях. Введем обозначение gfc=g(xft). Случай L Пусть PQgkz£Q. Тогда точка xk не является вершиной допустимой области, т. е. ?<я и D имеет, самое меньшее, размерность прямой. Положим в дальнейшем / s = P,gft. (12.6) Так как точка xfe лежит в Д as параллелен D, то точка x = xfe-f^s (Я —скаляр) т
йри любом λ также Лежит в £), т. е. Мхк + Я8) = 0 для/=l,*..ftf. Так как точка xfe есть допустимая точка и принадлежит только гиперплоскостям Hv ..., Hqy то для /=^-|~ Ϊ» ·-·№ справедливо M*fe)<0. Если из точки xfe двигаться в направлении проекции градиента, т. е. вдоль луча х = х* + Яв, Я>0, то можно при не слишком больших значениях Я увеличить значение функции цели, не выходя за пределы допустимой области. А именно, для всех j=q-\-1,... ,т справедливо h5{xh-\-Х$) = Н5(хк)-\-Ха'з$ для всех Я. Следовательно, прямая xfe-f^s пересекает гиперплоскость Hj при я;=--^Р7г-^0· (12J) Если гиперплоскость tf j параллельна D, то соответствующее Яj = oo, что, естественно, не противоречит дальнейшему. Луч xfe4"^s» Я>0, выходит из допустимой области при Я'=тт{Я^>0, / = 0 + 1,...,/»}. (12.8) Пусть xfe = xA-j^'s. Попытаемся внутри допустимого интервала изменения Я о<я<;я' получить наибольшее возможное значение функции цели. Для этого надо исследовать проекцию градиента g(xfe+ +Xs) на луч, т. е. скалярное произведение 8fg(x* + fc).' 217
Это скалярное произведение" ё силу выпуклости функции цели монотонно уменьшается с возрастанием λ [см. (1.148)], и притом линейно, если функция цели квадратичная. Очевидно, при λ = 0 в силу (1Л18) *'g (xfe) = g (χ*)' ρ л (*ft)=i ρ л (xft)l2 > °- Значит, если для λ=λ' справедливо s'g(xfe)^0, то во всем интервале 0<^Я<Я' скалярное произведение положительно, и тогда функция цели, поскольку она выпукла, монотонно возрастает между λ=Ό и λ=λ', τ. е. между xft и xft. Значит, наибольшее значение внутри допустимого промежутка изменения λ функция цели принимает при λ = λ'. Поэтому в качестве следующего приближения к решению выбирается точка Xfc+» = xfc = xfc-f Я'в. (12.9) Если, напротив, справедливо s'g(xft)<0, то функция цели достигает своего максимума на луче между точками xft и хА, а именно, в точке, градиент в которой перпендикулярен к лучу, следовательно, в точке, для которой выполняется равенство s'g(xft + a"s) = 0. Соответствующее значение параметра Я" можно приближенно найти, например, линейной интерполяцией. В случае квадратичной функции цели линейная интерполяция дает даже точное значение параметра. Если $'g(xk) известно, то *" = Я' s'g(xfe)„ =Я'р, 0<р<1. (12.10) s'g(xfe)-s'ii(x*) 218
В этом случае, как и в (12.9), в качестве следующей итерационной точки выбирается xft+i = x* + A''s = pxfe + (l-p)x\ (12.11) являющаяся лучшим приближением к решению. Случай II. Пусть PgSk = 0, НО «j<0 хотя бы для одного /. В этом случае следует выбрать какой-нибудь индекс из числа тех, для которых Wj<0, например индекс, которому соответствует наименьшее произведение |aj|ttj, и отбросить соответствующую гиперплоскость Ну Пусть это будет гиперплоскость tfg. Тогда, следовательно, uq<0 и далее поступают так, как если бы точка xfe принадлежала только гиперплоскостям #ι, ..., tfg-i, т. е. повышают размерность D на единицу. Соответственно матрица проектирования теперь будет Рд-\. Очевидно, так как а.я не зависит от ах,... ,а^.х. Поэтому Тем самым в новом Ζ), размерность которого на единицу выше, имеем ту же ситуацию, что и в случае I, и можно повторить все рассуждения и построения случая I для вектора 8^/Vxg*- (12.12) Как и выше, получим: hj(xh-\-X$) = 0 для /=1,... ,q — 1 и всех Я, hj(xh-\-X$)<;0 для / = <7+ 1,... >т и для 0<^λ<^λ'. Но в силу (1.120) А,(х* + *в) = А,(х*) + Яа,,8 = Яа',8^0 для А>0. Поэтому ограничения, соответствующие опущенной гиперплоскости, не нарушаются, если осуществлять движение по лучу χ*+λβ. 219
Случай, когда xfe ленда внутри допустимой области, можно рассматривать как частный случай случая I. Тогда в силу Pq=E будет просто 8 — gk^Pog к- Все сказанное при рассмотрении случаев I и II позволяет построить общий алгоритм. В качестве начальной точки х° для метода может служить любая точка внутри или на границе допустимой области. Например, в качестве точки х° можно выбирать вершину допустимой области, полученную с помощью симплексного метода. Затем итерационно вычисляется последовательность точек xfe+1, 4 = 0, 1, 2,·.., по следующему рекуррентномуправилу: пусть \к принадлежит ровно q(0^q<n) ограничивающим гиперплоскостям, которые пока считаем независимыми. 1. ВыЧИСЛЯеМ g(xfe) = gft И Pqgk- Если P7gft=0 и и^О, то xfe — есть решение. 2. Если Pqgh=fcQ\ полагаем s — Pqgk. 3. Если Pqgk = 0 и «j<0 хотя бы для одного /, выбираем какое-нибудь отрицательное и$ и отбрасываем соответствующую гиперплоскость Hj, Полагаем s = P^lgft. 4. По соответствующему 8 согласно (12.8) определяем λ' и вычисляем ϊ* = χ* + *'«- 5. Вычисляем g(xfe) и s'g(xft). Если srg(xh)>Ot полагаем χ***1— χ**. 6. Если s'g(xfeX0, полагаем χΑ + ι = χ* +A"8'=pxfc + (1— p)xfcf где — s'g(xft) (12.13) s'g(x*)-S'g(X*) Легко видеть, что в каждом итерационном шаге существует несколько возможностей: остаться многообра* 22а
зию D неизменным (2—6), какой-нибудь гиперплоскости выпасть из числа линейно независимых (3—6), какой* нибудь гиперплоскости появиться в числе линейно независимых (2—5), одной гиперплоскости выпасть, а другой появиться в числе линейно независимых (3—5).Возможно также, что при переходе от xk и xfe+1 к числу линейно независимых будет добавлено сразу несколько новых гиперплоскостей. Это может произойти, когда имеет место вырожденность, т. е. когда минимум λ' достигается одновременно при нескольких λ;. Добавим следующее замечание к сформулированным выше шести правилам. Само собой разумеется, проектировать градиент имеет смысл только тогда, когда он направлен от допустимой области. Если же градиент в гра-* ничной точке xk направлен внутрь допустимой области, как это может иметь место, например, при неудачно выбранной начальной точке, то лучше двигаться непосредственно по градиенту. В этом случае мы совершенно не обращаем внимания на Z), а точку хк рассматриваем согласно I как внутреннюю с s = gfe. Тем самым, начав дви* гаться от плохой начальной точки, пересечем допустимую область и попадем непосредственно в окрестность оптимальной точки, вместо того, чтобы продвигаться к оптимальной точке по границе допустимой области с помощью многочисленных итераций. Следовательно, можно сформулировать следующее правило. Дополнительное правило: 1а) Если afjgft^0 для /=1,...,<7 (т.е. Ajgfc^O), то полагаем s = gft и пользуемся правилами 4 — 6. В случае, когда функция цели не квадратичная, а ли* нейная и в качестве начальной точки выбрана вершина допустимой области (это автоматически исключает использование дополнительного правила), то последовательность итерационных точек метода Розена совпадает с последовательностью итерационных точек симплексно* го метода Данцига. В этом легко убедиться. Действительно, так как градиент постоянен, шестое правило никогда не вступает в силу. На каждом шаге осуще·^ ствляется переход от одной вершины допустимой обла* сти к другой, а именно, к какой-нибудь из соседних. Выпадение из числа линейно независимых какой-нибудь гиперплоскости соответствует включению в базис новой переменной в симплексном методе. Таким образом, 221
в случае линейной функции цели метод проектируемых градиентов за конечное, число шагов приводит к точному решению. В случае нелинейной функции цели характер сходимости не столь ясен. Теоретически метод может и не сходиться, если требовать произвольно высокую точность. Причина этого кроется в различном характере зависимости улучшенного значения xft+I от xh в случаях I и II. В самом деле, легко построить пример, когда постоянно ладо использовать правило 6 и когда условию Pqg(xh) =0 нельзя удовлетворить за конечное число шагов. В этом случае метод приведет лишь в окрестность точки максимума функции цели, принадлежащей многообразию D (для которого справедливо условие Pqg(xk) =0). При практических вычислениях, однако, в силу их ограниченной точности, можно считать, что всегда через конечное число шагов требуемое условие выполнится, т. е. в общем метод сходится достаточно хорошо. Тем не менее, упомянутый теоретический недостаток можно устранить, если несколько изменить метод, а именно, при PQgk=j£:0 использовать вариант случая II. Точнее, пусть Рд£к¥=®· Разложим gk по формуле где Pq = E-Pq. Pqgki в свою очередь, можно представить в виде „ я где VL=-{AqA'q)-lAqgh. Если некоторые Uj отрицательны, выбираем одно из них, например ид<С0, и отбрасываем гиперплоскость HQ. Тогда, согласно (1.122): \P*-iuk\>\Pqek\>o. 222
Выбраб попадаем в условия случая II, ибо а><0. В самом деле, согласно (1Л20) а!д$^агдРд^ёк=-ид\Рд^д\2<0. При такой модификации метода возможен, конечно, случай, когда продолжительное время будем оставаться в пределах каких-то двух различных многообразий D, попеременно попадая из одного в другое. Чтобы гарантировать себя от этого, надо то ограничение, которое многократно участвует в образовании Z), сохранять в форме равенства только до тех пор, пока возможно увеличение значения функции цели при этом условии. (См. соответствующее правило в методе Зойтендейка.). Если функция цели квадратичная, то можно добиться не только сходимости, но и конечности метода, введя дополнительное условие сопряженности*: при хА+1 = хА-|- ~f-u"sft (п. 6) J sh должно удовлетворять равенству (8fe+1/Ceft = 0. Более подробные сведения можно найти в гл. 14. 3. ВЫРОЖДЕННОСТЬ Все правила вычислений, которые до сих пор рассматривались, предполагали отсутствие вырожденности. Если отказаться от этого предположения и допустить, что xk принадлежит q линейно независимым и, кроме того, еще г другим гиперплоскостям, например, Hq+u - ■ ·, Hq+r, линейно зависимым от первых qt то критерий оптимальности, очевидно, сохранит только свою достаточность. Вырожденность по-разному влияет на правила вычислений в зависимости от того, какой случай имеет место— I или II (ограничимся рассмотрением метода, заданного правилами 1—6. Учет вырожденности при его изменениях (см. выше) очевиден). Если имеет место случай I, то правила вычислений полностью сохраняются. Pggk лежит на пересечении q-\-r * .См. гл. И, разд. 2. 223
гиперплоскостей й можно использовать s = Pqgh- Зависимые гиперплоскости вовсе не принимаются во внимание. В случае II Я^а = 0 и ι^<0, по крайней мере для одного /, например для j = q. Поступать надо следующим образом. Прежде всего, как и в обычном случае, вычисляем * = Рд-гйк, где a'v8<0. Если, кроме того, а>^0 для / = 4r-f lf...ftf-f г, то на этом s можно .остановиться, и для всех зависимых гиперплоскостей будет ЛЛ(х*+ **)<() (Я^О). Если же для каких-нибудь индексов произведения a'fi положительны, то приходим к задаче линейного программирования. В этом случае надо bq+i, ..., bq+r заменить на 6α+ι+β, -.·> Ьа+г+гг> где ε — малая положительная величина. Тогда в точке хк будут пересекаться только независимые гиперплоскости. Действительно, условия ЛЛ(х)<0, /=1,...,?, Ьц.Л*)й™' v=lf...fr выделяют в многообразии D неограниченную выпуклую область R , есе вершины которой невырождены. В об- Ъ ластй R максимизируем линейную функцию g'ftx. Это D обычная линейная программа. Для ее решения можно перейти к новым переменным, сделав в функции цели и в условиях hx (χ),..., hg+r (x) подстановку и приняв q переменных и,- за новые независимые переменные. Можно было бы также й hl9..., hQ принять за новые независимые переменные й с помощью и предста- 224
вить х£/?_ как функцию этих новых переменных, кото- Ъ рую затем подставить δ функцию цели и в условия Л : где h' = ||^.---.M. Ь' = |1*п---ЛН· Для решения этой линейной программы можно применить метод проектируемых градиентов или симплексный метод, выбирая в качестве начальной точки вершину xfe. В симплексном методе параметр ε можно не вводить. Алгоритм выполнит все сам. Существуют, далее, две возможности. Пусть g\x ограничена в R„ . Тогда решением будет одна из вершин R , D D и так как при β -> 0 все вершины утягиваются в xfe, то это означает, что ни в какой другой вершине линейная функция, а значит, и квадратичная функция цели не принимает большее значение, чем в вершине xh(xh — решение квадратичной программы). Вторая возможность состоит в том, что найдется оптимальный луч x^x^-f-As (λ!>0, χ^ — вершина /?_), который целиком лежит в R~ и вдоль которого линейная D функция g'ftx может принимать как угодно большие значения. Тогда s'gft>0 и 8'а3-<10 для /=1,... ,<7+г- Следовательно, с помощью этого s можно сделать итерационный шаг в методе проектируемых градиентов согласно 4 — 6. Новая трудность возникает, когда значение a':=mta{aja,>ot ν=^+ι от} достигается одновременно для нескольких индексов (например, для ρ индексов). Тогда xfe+1 принадлежит не ήτ-|-1> а ЧЛ~Р гиперплоскостям, например, Н19 -.. ,Hq+p. Начиная с точки xk имеем матрицу проектирования Pq. С помощью z = Pqg(xk+1) строим величину z'a Ч=7£7Г ν=(7+1 ч+Р- 225
Пусть max{ayv|wv>0, ν = <7+1> 4 + Р} = *>Я + 1- , Hq, получим Добавляя гиперплоскость Hq+X к Ht1 Pq+i· Далее вычисляем * = Л+Л(х*+1) и повторяем процесс. Окончательно получим или вектор z=-.P9+wg(xft+1)^rO, удовлетворяющий условиям /а^О, / = 1,... ,<7 + яг, и z'g(xft + 1)>0, так что этот ζ можно использовать в качестве s для нового итерационного шага, или матрицу проектирования удовлетворяющую условию Я?+тб(хА+1) = 0. Для пк^р справедливо сказанное вначале данного раздела. 4. ВЫЧИСЛЕНИЕ МАТРИЦ ПРОЕКТИРОВАНИЯ Остановимся на вычислении Pq. Как мы видели, в процессе вычислений многообразие D может меняться за счет добавления или отбрасывания некоторой гиперплоскости. Для вычисления соответствующей Pq необходима матрица, обратная к AqA'q. Было бы очень удобно иметь рекуррентную формулу, которая по известной (AqA'q)-1 давала бы (Aq+xA'q+x)-1 или (^-HVi)'1· Предположим, что матрица А разбита следующим образом: Ая Л = и что матрица, обратная к Л, разбита аналогично в,! вг л-,= в,\в* 226
тогда βςι=Βχ-Β^ιΒ%. (12.14) Если, наоборот, известна А\~х и если А~х существует, то матрица-Л*4 задается элементами приведенного выше разбиения: "ι== А^ -}- Αχ A2AQ AbAx , 5а = β,= 54 = ,-Л7 =-4Г -Λ » л= ЛаЛ0 , 4V. Л4 — ^j/lj ч. (12.15) где В справедливости этих соотношений легко убедиться, если принять во внимание, что матрицы, разбитые указанным образом на четыре клетки *, могут рассматриваться как матрицы порядка 2 с подматрицами в качестве элементов. Предположим, что имеется q линейно независимых, гиперплоскостей и соответствующая матрица, обратная к матрице AqA'qt т. е. Пусть требуется выбросить гиперплоскость Нд и построить (Ay-i^l'^J'1 (если вместо q-& выбрасывается другая гиперплоскость, то надо соответствующие строку и столбец поменять местами с q-n строкой и столбцом). В нашем случае А=АЙА!Я есть симметричная матрица порядка q, Ах = Αη.χΑ!η^χ — симметричная матрица порядка q—1. Если известна А~1 = (АдА'дух1 то известны и Ви В2 В3 и Б4. Вх есть симметричная матрица порядка q — 1, В2 — (q — 1)-мерный вектор-столбец, BS = B'21 Б4— скаляр. А~1 можно вычислить по формуле (12.14). * Основные операции над клеточными матрицами совершаются формально по тем же правилам, как и над обыкновенными. См. [3]. (Прим. ред.) 227
Предположим теперь, что известна Л, 1={Ад_1Агй_1)'1 и надо к q—1 гиперплоскостям добавить еще одну независимую гиперплоскость, например Hqy так что Ла ~= Ад _ jug = Л з, Л4 = а^а9, Л0 = а q [h Л q^x (Aq-χΑ q-y) Ад ^ j] SLq =· 3, qPq-i&qz= Тогда = 1^-А д-1°-д\ Β<=/ς\ где Г?-1 \Aq-\Aq_x) Aq-xB.q Л] /i2. При вычислении Л0 надо еще учитывать, что Pq^1SLq = !Lq Л <7-1Г<7^1, (Л д_ χΓ^_ л = Рд- x&q). Следовательно, сначала строим тд_г1 по нему Л0 и затем ИИ')"»: ]βχ U. 5,1! в*\ по известным 5*. Эти рекуррентные формулы дают возможность строить (ЛдЛ'д)-1 и Pq при минимуме вычислений*, начиная с ai и затем последовательно добавляя новые а,·, обра* зующие A'q. Если не все из q гиперплоскостей независимы, то в процессе построения матрицы проектирования зависимые гиперплоскости можно обнаружить и выбросить из рассмотрения. Если, например, построена Рт, т<«7, .и Ртат+1=0, το aro+i будет линейно зависимой от тех а,·, которые уже * fB связи с излагаемым здесь методом обращения матрицы, см. также [4]. (Прим. ред.) 228
рошли в А'т, и Ят+1 при построении матрицы проектирования не учитывается. Переходим к ат+г, и построение матрицы А~х продолжается. В результате каждая.из q гиперплоскостей или «попадает» в матрицу проектиро-- вания, или оказывается линейно зависимой от гиперплоскостей, «включенных» в матрицу. 5. ПОДРОБНЫЙ АЛГОРИТМ МЕТОДА РОЗЕНА Для удобства читателя изложенный выше вычислительный процесс повторим подробно для квадратичного случая, не останавливаясь, однако, на всех частных случаях вырожденности. Пусть дана задача: максимизировать Q(x) = p'x— x'Cx (С положительно полуопределена) при ограничениях hj(x) = a!jX — bj^Oy / = 1,...,/гс. 1. В качестве начальной точки х° выбираем любую точку допустимой области. Эта точка может быть получена, например, симплексным методом. Если все 6j]>0, то в качестве начальной может быть использована и нулевая точка. 2. Выделяем те q ограничений, которым х° удовлетворяет как равенствам. Соответствующие векторы aj должны быть линейно независимыми. Точку х° теперь рассматриваем как произвольную итерационную точку хА. 3. Результатом А-го итерационного шага является точка хк и q ограничений, соответствующие, например, индексам /=1, ..., q, которым хк удовлетворяет как равенствам. Векторы аь ..., aq линейно независимы. хк может удовлетворять и другим ограничениям как равенствам, например ограничениям с индексами /=?+1, ..., q+rf однако соответствующие а^· будут линейно зависеть от аь ..., aq. Вычисляем gh по формуле gft = g(x*) = p-2Cx*, далее, * q —L- Ε* *ι q \/iq/i q) /iqi где Λ',ΗΙα,ία,; · · · ;aj. 229
При этом а; есть транспонированный вектор коэффициентов /-го ограничения, которое должно удовлетворяться как равенство (/=1, 2, ..., q). Далее вычисляем и = (АдА'ду1А£к и Ря£к. Если Pggh=zQ и и^О, то xft —решение. 4. Если Pggkz^=01 то полагаем * = PqZh- 5. ЕСЛИ Pqgh^O И Uj<0 ХОТЯ бы ДЛЯ ОДНОГО /, ТО ИЗ числа таких щ выбираем то, которому соответствует наименьшее произведение \ъ$\щ (пусть это будет uq), и вычисляем Pq~\. Pq-\ определяется так же, как Pq в п. 3, только вместо Aq теперь надо брать Aq_x. Aq^x получается из Aq вычеркиванием строки а'д, соответствующей выбранному uq (это значит, что далее не требуется, чтобы точка, реализующая решение, принадлежала гиперплоскости Hq). Затем вычисляем Ря-&ъ. и полагаем Если для тех ограничений, которым xft удовлетворяет как равенствам и которые не «содержатся» в Лд, т. е. для ограничений с индексами j = q+ 1, ..., q+r, то полагаем s=z. Если же a,-z>0 хотя бы для одного такого /"(/ = ==^7+1, ..., q + r), то необходимо провести дополнительные вычисления, а именно; решить линейную программу, сформулированную, например, в переменных Ль /?2, ..., hq\ максимизировать L=g'bA'q(AqA'q)-1 «h при ограничениях ^\Afg(AqArq)-l(h + bq)-b^(v-q)B1 v = q + h ...,q+r 230
Здесь h'=||*i. Л,, ..., Α,II, b'g=\\bv 62, . . ., bq\\y b — У-и -элемент b. ε — малое положительное число. Если эту линейную программу решать симплексным методам, то можно положить ε=0. Если экстремум линейной программы конечен, то xfe есть решение квадратичной задачи. Если же L неограни- чена сверху, то существует оптимальный луч (см. гл. 2, разд. 4): h^h^ + ЯЬ, (Я>0), вдоль которого L неограниченно растет с увеличением Я, L-+oo при Я ->· оо, и при этом все ограничения удовлетворяются. Определяем hz и полагаем * = Aq{AqA'qy*{hz + bq). 6. Определяем Я': Я' = min {Я3· | λό ;> 0, / = <7-)-1, ..., /я}, где a jS a s определяется согласно п. 4 или п. 5 в зависимости от обстоятельств. При этом Выбираем наименьшее положительное Xj (пусть это будет, например, Яд+1) и обозначаем его Я'. Затем вычисляем xft = xfe_[-^s. 7. Далее вычисляем g(xA), аналогично тому, как мы вычисляли g(xfe) в п. 3, и s'g(xfe), где s также вычисляется согласно п. 4 или п. 5 в зависимости от обстоятельств. Если 8'g(xfe)^>0, то полагаем хь+1_хь и получаем исходное значение для следующей 231
итерации, начинающейся с п. 3. При этом для проведений следующего итерационного шага к матрице Ая добавляем вектор а'^+1 и получаем матрицу. Л^+1, которая играет ту же роль, что и ранее Aq. Если в п. 6 минимум А' достигается одновременно для нескольких индексов, например для / = <7+1> ···» Q-\-p* то из векторов аи ..., а^+р выбираем наибольшее число линейно независимых. При проведении новой итерации все соответствующие им а.? войдут в матрицу Ая. 8. Если s'g(x*X0, то полагаем х^+1=,рх^ + (1 — p)xft, где и получаем исходное значение для новой итерации, начинающейся с п. 3. Aq не изменяется. 6. ПРИМЕР Рассмотрим старый пример: максимизировать 1 1 ~к Х\ -£ Xq* Xt~{-2xt при ограничениях: В этой задаче Р' а', а'г а', а'* Ь' = 11 = 11 = 11 = 11- —11 о = 116 2JCJ + Зл:8 < 6, , .x,+4Xt <5, Χι >0. xt>0. с = 11/2 0 1 1 0 1/2 J » 1. 21|. 2. 3 ||. ■ | а, | = У\Ъ, 1.41|. |а2| = УТ7. -■1.011, |а,|=1. . -ΜΙ. |а4|=1. . 5.( 3.01|. 232
0.0) (Определение исходного значения). В качестве начального значения х° для итераций выбираем значение, удовлетворяющее первым двум ограничениям как равенствам. Значит, , Ь'«=Ч|6. 61 Xе «II 9/6. 4/5 ||'. Так как остальные два ограничения тоже удовлетворяются, то точка х°—допустимая и может быть выбрана в качестве начального значения. 0.1) (Пр о в е рк а о π τ и м а л ь н ос τ и полученного решения), g (х) — ρ — 2Сх, следовательно, где q= п.— 2. Л4 = Это дает 12 31 |1 4 X °=ν«· нч 1 4/5 —3/5 | —1/5 2/5 111 2; 1 011 |о ill II 9/61 II 4/5 | — 4/51 1 6/51 g. = g(x°)= Так как q = η, Pqgo = 0 (сохраняется общее обозначение для индекса — д). Вычисляем Ад A q — 13 14 14 17 , \AqAq)" (АдА q)~ Aq 17/25 —14/25 —14/25 13/25 4/5 —1/5 Находим и: | —3/5 2/5 u = (AqA'q)-*Aqg(*°) = 22/25 24/25 Так как Pq g0 = 0 и «ι <С 0, то окончательное решение еще не получено. 1.0) (1-й итерационный шаг). Выбросим из рассмотрения а,. Матрица Ад (в тексте называемая Лд-ι) содержит теперь Соответственно Λα = 1П. 4Н· AqAq = 17, (AqA'q)-x=\l\7. A'q \AqA q) Pe== Aq — 1 16/27 1 -4/17 11/17 4/17 | | 4/ΙΓ 16/17 j —4/27 1 2/17 ■ 233
Полагаем и находим S=Pggo = λ3 = а'эх° — Ь3 a'3s | —88/85 I 22/85 1|-1. 0||· II- -ι. он-Ι 19/5Ι I 4/51 —88/85 j 22/85 ° 153 1 88 153 и, соответственно, λ4 = — 34/11. Следовательно, λ'=λ3= -gg. В точке 9/5 4/5 ^ 88 X°=X° + X'S = вычисляем g (χ°) = ρ — 2Сх° = , /~оч 143 Так как s'g(x°)<0, вычисляем 484/425 •88/85 22/85' 1 3/4 О 5/4 Р = 88 484/425 + 715/850 153" Точка х1 = _88_ 153' 1 ° | 5/4 | I+—-1 1 1531 19/51 1 4/51 = 113/171 |l8/17| является новой итерационной точкой. 1.1) (Проверка оптимальности полученного решения). с( х') = 1 11 121 — 13/1711 18/17|| = 1 4/17 1 16/17 ■ Ая не изменилась. Значит, снова Ря = \ I 16/17 —4/17 —4/17 1/17 Π HPeg(xO-0. Так как u2 = (AqA'q)-*Aqg(x') ^^-Ul. 4||-| 4/17 Ί6/17| | 17i">0· то решение найдено: 234 13/17 18/17 1
ГЛАВА ТРИНАДЦАТАЯ МУЛЬТИПЛЕКСНЫЙ МЕТОД ФРИША 1. ВВЕДЕНИЕ Метод, весьма близкий к методу Розена, был предложен Фришем [2]. Кратко опишем идею мульти^ плексного метода без ссылок 1на предыдущую главу, причем будем строго лридерживаться изложения Фриша, а сопоставление с методом Розена предоставим читателю *« Пусть задача состоит в максимизации выпуклой квадратичной функции ** Q (х)= р'х—х'Сх = Q (x°)+g'0 {x—x°Y—(x—x°YC (χ — х°)' (13.1) при ограничениях Н5{х) = а'5х — Ь}^0, /=1, 2, ..., т. (13.2) При этом С — положительно полуопределенная матрица, а g.=й (χ°)=(fr)x=x.=ρ - 2Сх°- <13-3> Величины Aj(x) называют часто зависимыми переменными ,в отличие от независимых переменных хг·. 2, ОБЩЕЕ ОПИСАНИЕ МЕТОДА В мультиплексном методе, начиная движение от не- ■ которой точки х°, лежащей внутри или на границе допустимой области, итерационными шагами продвигаются вдоль луча х=х° + Я8, Я>0, (13.4) * Сравнительтте рассмотрение методов Фриша и Розена имеется у Витцгалла [1]. ** g в дальнейших формулах обозначает транспонированное g, а не чтрсжз водную от g. 235
причем направление s выбирается так, чтобы значение функции цели, по крайней мере при достаточно малых λ, было больше, чем в точке х°, и чтобы луч не проходил целиком вне допустимой области, когда х° лежит на границе. Итерационное движение, таким образом, совершается или внутри допустимой области, или на элементе границы произвольной размерности (мультиплексе). Если направление s определено, натравляющие коэффициенты * зависимых переменных А,- определяются следующим образом: ds=ariSf (13.5) так что Л^х° + As) = М*°)+ *<*;· Если направление задано, то движение осуществляется вдоль этого луча в направлении возрастающих значений функции цели, пока последняя не достигнет своего максимума или пока не попадем на границу допустимой области. Значение λ', 'при котором луч пересекает границу допустимой области, определяется как наименьшее из λ,- Α' = ππη{Α,|Α,>0}, причем aJ = ^*^l\ (13.6) Положив λ=Λ/ в уравнении луча, получим точку пере- сечения тс, а тем самым и значения зависимых переменных в точчсе пересечения. Вдоль луча функция цели изменяется (в соответствии с выражением Q (χ° -f As) = Q (х°) + *g'0s - AVCs, (13.7) т. е. является квадратичной функцией от λ. Необходимым и достаточным условием возрастания функции цели вблизи точки λ = 0 при λ>0 является gros>0. (13.8) Выбрав одним из описываемых ниже способов такое 8, чтобы удовлетворялось (13.8), найдем (условный) максимум * dj—это величина, пропорциональная косинусу угла между векторами а} и s. (Прим. ред.) 236
на луче из выражения g^-=0, так как С — положительно полуопределенная матрица. Итак, я"=ж->0· (13·9> Определяем ao = min{a', Я"} (13.10) и выбираем точку χι = χ° + λ°β (13.11) в качестве начальной точки для следующего итерационного шага. Точка х1 леЖит в допустимой области и дает большее значение функции Q, чем точка х°. Если s обращает в нуль полуопределенную форму в знаменателе (13.9), то вычисление Я", разумеется, теряет смысл, поскольку значение функции цели монотонно" возрастает вплоть до точки Я'. Иногда можно избежать вычисления Я", если предварительно вычислить* s'g°, где Если эта величина больше или равна нулю, функция цели монотонно возрастает до точки х° и точка, реализующая максимум (13.7), лежит на луче вне допустимой области. Мультиплексный метод использует, в основном, два вида движений, то есть два способа построения s, при которых условие (i3.8) всегда удовлетворяется, а именно, движение перпендикулярное к границе, и так называемое регрессивное движение по границе. 3. ДВИЖЕНИЕ, ПЕРПЕНДИКУЛЯРНОЕ К ЭЛЕМЕНТУ ГРАНИЦЫ ПРОИЗВОЛЬНОЙ РАЗМЕРНОСТИ Предположим, что точка х° лежит на границе допустимой области, то есть, что хотя бы одна из переменных hj достигла своего наибольшего значения — нуля. * Здесь х° = х° + X'S. (Прим. ред.) 237
Значит, для некоторых переменных /га, /гр Αγ, множество индексов которых обозначим S, справедливо: Ы=0, i€S. (13.12) Выберем направление s следующим образом: s= £ kfo. (13.13) Вектор s перпендикулярен к многообразию, определяемому равенствами Аг = 0, i£S. ki определяются ниже. Для направляющих коэффициентов имеем ds = tfaj= 5]*<a'iai=S*i/?lii» /=1» ·-.. /я, (13.14) где /и^ = а\-а^. (13.15) Для направляющих коэффициентов переменных Αα, . . ., h аналогично Матрица || mih || (/£S, /z£S), как матрица скалярных произведений положительно полуопределена и невырождена тогда и только тогда, когда векторы аа, ..., а линейно независимы*. Если предположить, что dh заданы и матрица ||/ГСгь|| невырождена, то для ki получим ύ = ΣΜίΗάΗ, (13.16) где \\Mih\\ = \\mih\\-*. Определим т0г = rni0 = a'ig0y i£S. (13.17) * Определитель матрицы ||т*н||, известный в литературе под названием определителя Г рама, обладает целым рядом замечательных свойств, смотри, например, [5] (Прим. ред.) 238
Тогда i£S i£S iCS h£S = Σ [Σ ™*iMi*\dh. . (13.18) Выражение в последних скобках обозначим кратко через (—Bh) и назовем /^-коэффициентом регрессии. Bh зависит от аг и g0 и не зависит от dh- Окончательно, h£S Величины dh являются направляющими коэффициентами тех переменных, которые достигли своих наибольших значений. Значит, в силу (13.2) необходимо, чтобы <4<;0, h=-a y£S. Если определить dh следующим образом: !—Bh, при Bh>0, О, приВл<0, (13.20) 0, при Ял = 0, и если хотя бы одно dh=£0, то условие (13.8) выполняется и траектория движения остается в допустимой области. По dh можно вычислить k{ и затем s и djy j (£ S. Если все Bh неположительны, то движение перпендикулярно к границе невозможно* и следует обратиться к регрессивному движению (см. разд. 4). К переменным Λα, ..., ή достигшим своих наибольших значений, можно добавить переменные Λν, ..., it , строго меньшие нуля, предположив, что расширенная матрица тц{1, / = α, ..., γ, ν,..., μ) невырождена. Коэффициенты dv, ..., άμ переменных Λν, ..., h^ конечно, никакому ограничению по знаку не подлежат. * Ибо в этом случае dh=0 в силу (13.20) и условие (13.8) не выполняется. (Прим. ред.) 239
Полагаем Конечно, прежде всего выбираются такие переменные' Αν, ..., -A f относительно которых можно предположить; что в максимальной точке они обратятся в нуль. Наконец, если точка х° заведомо лежит внутри допустимой области, то для построения коэффициентов регрессии можно использовать только переменные типа Av, ..., А^. В этом случае dh никакому ограничению по знаку не подлежат. Если определитель mih переменных, достигших своих наибольших значений, равен нулю (вырожденность), то поступаем следующим образом. Предположим, что своих наибольших значений достигли переменные Аа> . .., А , hv ..., Αβ и что определитель /гс<Л при /, А = а, ..., Υ отличен от нуля, но становится равным нулю, если это множество индексов пополнить одним или несколькими индексами из δ, ..., ε. В этом случае коэффициенты регрессии вычисляются только для индексов А —а, ..., γ, а для индексов / = δ, ..., ε имеем i=a, ..., 7 А=в, ...,7 i=a 7 Коэффициенты определяются согласно (13.20). Они, в свою очередь, позволяют найти dj(j = b,.'.., ε) по последней формуле. Если все 5^ = 0, то следует обратиться к регрессивному движению (см. разд. 4). Конечно, линейную зависимость аа,..., a6, обусловливающую равенство нулю определителя, можно устранить с помощью малых вариаций соответствующих величин, 4. РЕГРЕССИВНОЕ ДВИЖЕНИЕ ПО ГРАНИЦЕ ОБЛАСТИ Если точка х° принадлежит границе и все коэффи-. циенты регрессии обращающихся в нуль переменных' Аа,...» А неположительны (т. е. cfa = 0,..., dt = 0),, то решение надо искать, осуществляя движение в многообра- 240
зии, задаваемом пересечением гиперплоскостей Ав(х)== = 0,..., Л7(х) = 0, с помощью вектора s = g0 = £ Bhaht S = {a,..., γ}, (13.21) h£S где Bh— «ранее определенные коэффициенты регрессии. Регрессивное движение может 'Применяться и тогда, когда х° лежит внутри области. При этом 5 пусто и s = g,0. Выражение (13.8) заведомо выполняется. Этот случай лочти всегда имеет место, когда максимум лежит внутри допустимой области. При этом мультиплексный метод совпадает с методом градиентов. Из определения* s фактически следует, что dj —0 для /£S, ибо rfj = a'jgo+ Y^B^'ph^m^-^ ]Г Bhmhu / = 1, Но Bh^- £ mQjMjh, (h£S) /ζ* m. удовлетворяют равенству ** moj + J] Bhmhj=^0 для /£S, *.Gm. (13.21). (Прим. ред.) ** Действительно, умножим соотношение слева и ι получим а справа -Σ 'б5 (Прим. Bh = — V tn0jM)h /gs справа иа mhi и просуммируем по всем V BhWhi, h£S. Тогда после изменения порядка суммирования получим Mo] ^ ред.) Mjhfnhi = —niQi, Ибо MjhTTlhi - -η при / = при J φ слева i. 241
т. е. dj = 0 для /£S, что и утверждалось. По аналогии с mi9 обозначим т00 — gOgo· Тогда *'go = /g'o + V ДЛа'Л g0 = т00 + ]£ юоЛЯл = i£Sh£S tn00 "*α0 ОТт0 "».. "*Τα ^0α· ^αα· «τ.·· • · · . . . ■то-, ••'"αΤ ■wtt • OT«T • отп Жо Λί (13.22) При вычислении коэффициентов регрессии уже предполагалось, что определитель в знаменателе отличен от нуля. Определитель М01 элементами которого являются скалярные произведения, неотрицателен. Условие (13.8) выполняется, если Λί0>0. В противном случае увеличить значение функции , Q регрессивным движением невозможно, а вектор s, вычисленный указанным выше способом, равен нулю. Случай вырожденности для регрессивного движения не вызывает затруднений. Действительно, предположим, что переменные На,,.., h , hv ..., ht достигли своих наибольших значений, но отличны от нуля лишь миноры Λί, соответствующие /, / = α,..., γ. Это значит, что векторы аы ■ а линейно зависят от а aY, т. е. что /l, .. h% могут быть выражены через Ла,..., h . Но при регрессивном движении значения Ла>..., Л остаются неизменными, поэтому остаются неизменными и значения hv ..., h%. 242
5. КРИТЕРИЙ ОПТИМАЛЬНОСТИ Если в некоторой точке не существует такого s, что определяемый им луч хотя бы частично принадлежит допустимой области и условие (13.8) выполняется, то эта точка является оптимальной. Это имеет место тогда и только тогда, когда или g0 = 0, или Ж0 = 0 и одновременно все коэффициенты регрессии неположительны. Для мультиплексного метода особенно важна вторая альтернатива. Если М0 = 0, то это означает линейную зависимость между 8о) а.а,. *., 8.^, точнее, справедливо go = — J] Bh2Lh. h£S Отсюда следует g'08= V {—Bh)dh для произвольного dn. Но поскольку Bh неположительна, последнее выражение нельзя сделать положительным в пределах допустимой области. Этим доказывается правильность критерия, который, очевидно, совпадает с критерием Куна — Таккера. 6. ПОДРОБНЫЙ АЛГОРИТМ МУЛЬТИПЛЕКСНОГО МЕТОДА ФРИША Прежде всего напомним в общих чертах алгоритм мультиплексного метода. Если х° лежит внутри допустимой области, выбираем 8 = g0. Если вектор g0 оказывается нулевым, имеем максимум. Если х° лежит на границе, определяем М0 и коэффициенты регрессии. Если Λί0< Ο, то совершаем регрессивное движение. Если М0 = 0 и не все коэффициенты регрессии неположительны, совершаем движение перпендикулярно к границе. Если УИ0 = 0 и все коэффициенты неположительны, то достигнута точка максимума на границе. Для удобства читателя отдельные шаги алгоритма повторим подробно. 243
1. Пусть требуется решить задачу (13.1), (13.2). Предположим, что на q-м итерационном шаге получена точка х?, удовлетворяющая условиям (13.2). (Решение начинается с поиска методом проб такой точки х°. В общем это нетрудно *.) 2. Если точка xq лежит внутри допустимой области (13.2), т. е. если Л'(х*)<!0 для /=1, 2, ..., т, то вычисляем g* = g(x«) = p-2Cx*. Если gtf = 0, то х^ — решение. Если gg Φ 0, определяем λ<* согласно п. 3 и получаем новую допустимую точку χ9+Ι, доставляющую большее значение функции цели: . 3. Вычисляем λ<ΐ\ Яя = гшп{Я', Я"}, где V — min~~ i ^x > для тех /, для которых а%>0 (/=1, 2,..., т), λ"= 2^с1 >0 (если 8'Ά«=0, λ* = λ'). Если х<* лежит внутри допустимой области (п. 2), то 4. Если точка хя лежит на границе допустимой области (13.2), то для некоторого множества S ограничений (13.2) Аг.(х*) = 0, /£S. * Метод проб—это не единственный и не лучший способ определения исходной точки. Некоторые' из таковых уже встречались и будут встречаться в других главах, в частности, методы линейного программирования, позволяющие получить одну из вершин многогранника (13.2) и так далее. {Прим, ред.) 244
Предположим, что множество S Состоит из ограничений α, β,. .., γ, т. е. 5 = {α, β,..., γ}. Тогда вычисляем а) где Щ = *»оо '<···< /ttaO m* ... /я «τ <ο <■·■< >0, «οο =g'?g?; g? = g (x") = Ρ - 2Cx", τη 96? 9 -m« or ί»« = *'<*«· 'б5- <А = а'гаЛ, i£S, A£S б) Д; = - 2<Λί«Λ для всех A£S, причем ||Λί«Λ|| = '6s -Ида'»"1 ■/ли Относительно случая, когда обратная матрица не существует (вырожденность), см. разд. 3. 5. Если Λί' > 0, то вычисляем h£S и получаем новую допустимую точку х*+1, доставляющую большее значение функции цели: хч+1=х'?4-Я989, причем Дя вычисляется согласно п. 3, ^~ 6. Если Λί£=0 и 5£>0, хотя бы для одного h£S, то где 8<7 — Л «г&г» Л£5 245
причем Mih определяются согласно 4,6 й d\ = -B\4 если Я«>0, dj = 0, если Д£<;0. Точка где Я** определяется согласно п. 3, доставляет функции цели Q большее значение. 7. Если Ж^ = 0 и Β\ύ® Для всех *€£» то максимум достигается на границе допустимой области. 8. Если известно или можно предположить, что в окончательном решении множество Τ ограничений hj (которые до сих пор выполнялись как неравенства) удовлетворяются как равенства, т. е. Aj = 0 для /£Г, в то время как на данном шаге hi = 0, i^S (см. п. 4) и ГфЯ, то в п. 4—7 можно положить S = S*y S* = SU7\ предположив, что и в этом случае в п. 4,6 |tfzih|^£0. Таким образом можно сэкономить вычислительный шаг. В этом случае в п. 6 для /£Т надо положить d«=-Bq, 9 3 для h£S определение dqh остается старым. Изложенные ^правила, будучи примененными несколько раз, обязательно приводит к решению задачи (п. 2 или 7). 7. ПРИМЕР Снова рассмотрим старый пример: максимизировать Q — —ζ*? ~Т х\ + Хх + 2х* при ограничениях 2*1+3*2^6, хх + 4х2 <J 5, х2;>0. 246
Согласно определениям (13.1) и (13.2) имеем: Р' = 1|1. 2||. 1/2 О О 1/2 a'i = ||2. 3||, а', = ||1. 4[|, а'.= |М. 0||. a'4 = lia -in. bi = 6, 62 = 5, 63=0, 64 = 0, Л, (х) = 2лг, + Злг2 — 6, h2 (χ) = Χι + 4лг2 — 5, Λ3(χ) = — ΛΓι, Л4(х) = —лг2. В качестве начальной точки выбираем, например, хв = ||1/2р 1/2Ц'. Так как hj (х°)<0 для ; — 1 4, то х° находится внутри допустимой области и надо поступать в соответствии с п. 2, Имеем go =p-2Cx° = HI/2, 3/2||'. Так как go-^Ο, то находим λ° согласно п. 3. Имеем X' = min{7/ll, 5/13} = 5/13, λ"=1, следовательно, получаем λ°=5/13. Итак, согласно п. 2 получаем ж' = |1/2. 1/2ЦЧ-4" 111/2. 3/2||' = ||9/13, 14/13Ц'. 1-й шаг итерации. В точке х1 имеем: Л2(х1) = 0; Ни Л8, Л4<0; следовательно, 5 = {2}. Таким образом, х1 лежит на границе допустимой области, поступаем согласно п. 4. Вычисляем gl=p-2Cx' = ||4/13, 12/13Ц', 160 :169* moo Q 13 у +( 13 J = т02 — Щ0 = 1 ■ 4 . 12 ^ + 4.^ = 4 и т^ = 1« + 4^ = 17. 247
Значит, Mln m00 m20 «,1 mQ2 m22 160 169 4 4 17 | 16 л = Ϊ69>°" и так как М\2 = {т22)^1 = 1/17, то β2 = — 4/17. Поскольку ΛΪ^ > 0, далее поступаем согласно п. 5. Теперь Sl-Ц4/13, 12/13||'-^11.4||'=Ш, ~ 4 "221 Согласно п. 2 /153 119\ 153 λ'-min^, -2"J-ТОГ Значит, λ* = 1. Согласно п. 5 имеем х2 = ||9/13, 14/13|Г+Ь||16/221, — 4/2211|' = |1 3/17, 18/17Ц'. 2-й шаг итерации. В точке х2 h2 (х2) =0; hlt Л, Л4<0. Значит, х2 лежит на границе допустимой области; поступаем согласно п. 4. Вычисляя g. = ρ -2Сх2 = Ц4/17, 16/17Ц', получаем Так как М\\ = Согласно п. 7, /яоо" = 16/17, /я02 = 4, ^22 = 17' ^0 = ηιω mQ2 2 2 ™20 m22 - = (/4,)-' = Ι/Ι7, то В2 = - х2 — ре шение. 16/17 4 4 17 4/17. = 0.
ГЛАВА ЧЕТЫРНАДЦАТАЯ МЕТОД ДОПУСТИМЫХ НАПРАВЛЕНИЙ ЗОЙТЕНДЕЙКА 1. ВВЕДЕНИЕ Анализ различных градиентных методов позволяет утверждать, что все они в известной степени похожи друг на друга. Возьмем е1ВД^з_вошух^Дне„.обязательно квадратичную)" ф^йщию цели ^л^ксимум которойгпд&- лежихрпределе^ию>jnpn условиях ***хйь'£ /=1. 2 т. (14.1) Предположим, что функция Q обладает непрерывным градиентом dQ dQ dQ\ I dxt ' dx2 '" ''dxn\ vQ(x)b=gfx) = (14.2) в допустимой области ι/?, заданной условиями (14.1). Процесс вычислений, общий для всех градиентных, методе©, состоит в том, что начинается он с произвольной допустимой точки х°. Для того чтобы в процессе итераций перейти от точки xk к xfc+1f в xk определяете такое направление sfcf чтобы при достаточно малом λ>0 луч χ*+λ$* принадлежал Я. Для этого (необходимо и достаточно, чтобы a'j8*<£0 для всех /£S, (14.3) где $ есть множество тех индексов /, для которых а';х» = 6;. (14.4) Такое направление называется допустимым. 249
Кроме того, функция Q должна увеличиваться вдоль Луча, по крайней мере, для малых λ, что обеспечивается условием s*'£(x*)>0. (14.5) Такое направление называется подходящим. Отдельные -методы состоят .в том, что .с (помощью дополнительной нормализации из множества допустимых и подходящих 'направлений s в точке „χ* выбирается некоторое частное (направление. В видах этих (нормализации и состоит в -основном отличие различных (методов. Коль скоро sh определен, вычисление длины шага %к во всех методах осуществляется одинаково. Определяется λ' — такое значение параметра, ори котором луч «протыкает» область R, заданную системой (14.1) (λ' может быть и бесконечным), и λ"— та<кое значение параметра, при котором Q достигает максимума на луче, т. е. 8h'g(xh-\-*"8h) = 0 (14.6) (Λ" также может быть бесконечным). Далее определяется *ft = min(A', Я"). (14.7)" Если Кк бесконечно, то функция цели Q неограничена. В противном случае вычисляется следующая точка (итерационного процесса) x*+l = x* + Jl*s\ (14.8) Читателю, по-видимому, ясно, что метод Била, например, также укладывается в эту схему. Зойтендейк [1, 2, 3] рассмотрел всевозможные методы допустимых направлений с единой точки зрения и проанализировал в вычислительном аспекте некоторые частные способы нормализации, обеспечивающие определенным образом получение оптимальнрго sh. Здесь мы приведем лишь методы, предложенные Зойтендейком. Частные вопросы, как и доказательства сходимости, см. у Зойтендейка [3]. 250
Теперь попытаемся, начав движение от некоторой допустимой исходной точки х°, получить новое решение с лучшим значением Q. Зойтендейк для этой цели определяет наилучшее 'возможное направление, которое каждый, раз получается в результате решения небольших линейных и нелинейных вспомогательных программ. Для решения такой вспомогательной программы можно с успехам применить симплексный метод. В новой точке, получаемой, как правило, .решением одномерной задачи на максимум вдоль выбранного направления, определяется онава наилучшее направление и так далее. Данный метод не связан именно с квадратичной функцией цели. Кроме того, он может применяться и в случае нелинейных условий, однако ограничимся здесь рассмотрением лишь линейных условий. Далее следует упомшуть, что рассматриваемый метод, вообще говоря, не дает решения за конечное число шагов, не исключая даже квадратичные функции цели. Однако в последнем случае метод можно усилить с помощью принципа сопряженности, обеспечивающего конечность процесса. 2. АЛГОРИТМ ЗОЙТЕНДЕЙКА При нахождении лучшего направления, '$к] формулируется, исходя из условия (14.5), следующая вспомогательная программа: для вновь найденной точки x!fe и определенного в ней градиента g(xfe)=g максимизировать линейную форму g's, (14.9) при ограничениях а'^О для /gS (14.10) и при одном из дополнительных условий (условий нормализации) Nl9 N2i..., Nш> а именно, Nt: S'S<1, (14.11a) N2: —1 <Si^ 1 для всех i(i'=l, 2,... /г,), (14.116) N,: Si<l для gi>0, (14.11b) Si> — 1 Для gf<0, 25!
N4: g'S^l, (14.1 lr) Nt: arj(s-\-xh)^b) для всех /. (14.11д) Выражение (14.10) уже содержится в (14.11д). ч Если некоторые из ограничений (14.1) должны выполняться как равенства, т. е. a.'jX=bjt то в соответствующих ограничениях (14.10) также необходимо писать знак равенства, т. е. a'jS=0. Условия нормализации Nh ..., /V5 необходимы для ограничения вектора sfe, ибо в противном случае величину g's можно сделать сколь угодно большой, если только существует допустимое направление s, удовлетворяющее условию g's>0. Метод дает оптимальную точку, как только max g's = 0. (14.12) S Естественно, наряду с вышеизложенными пятью нор- мализациями можно указать еще ряд других. Пусть читатель попытается установить нормализации, соответствующие методам Розена и Била. Следующие (пять рисунков (рис. 13—17) дают наглядное представление об областях, задаваемых условиями (14.10) и (14.11), на которых должен быть определен max g's, причем начало вектора s всегда можно считать совпадающим с xfe. Условия N2l Af3, N4, N5 — линейны, так что определение sfe в этих случаях сводится к решению линейной программы. Условие Νλ требует более обстоятельного обсуждения. Легко видеть также, что область допустимых направлений s при условиях Af4 или Af5 не ограничена. В этих случаях действуют таким образом: если симплекс- метод дает неограниченное sfe, то используется экстремальный луч, ведущий от последней угловой точки к бесконечному решению (см. гл. 2, разд. 4). Как уже упоминалось во введении, для квадратичной функции цели Q(x) =р'х—х'Сх (С положительно полуопределвна) можно с помощью дополнительного условия получить метод, приводящий к решению за конечное число шагав; для этого необходимо ввести следующий принцип. Принцип сопряженности. Если хк есть внутренняя тачка, т. е. 252 λ*-1 «λ", (14.13)
rf**-1 Χ,-tfl xI=0 хг=0 Рис. 13. Рис. 14. х^о 1 */e0i *♦ х* /у!г-' х2-0 χζ=0 Рис. 15. Рис. 16. Х,=Ок *5 * хг=0 Рис. 17. 253
то новое искомое sfe должно удовлетворять еще одному условию (s^'Cs^O. (14.14) Если для определения sft_I такого вида условие уже использовалось, то оно остается, так что следующие условия имеют вид (s*)'Cs* = 0 для h=k— 1, k—2, ..., k—r. (14.15) Условия (14.14) или (14.15) не следует 'принимать во внимание, как только «встретится новая гиперплоскость, т. е. λ* = λ'. Новые ограничения линейны, так как sft~! уже известный вектор, поэтому линейность всех ограничений сохранится, если к (14.10) добавить (14.15). По поводу обоснования этого дополнительного условия сошлемся на гл. 11, разд. 2. При нормализации Νι+-Ν$ возникают задачи двух типов; Ν{ приводит к нелинейным, а нормализации Ni—Ns>— к полностью линейным программам. Для каждого типа задач приведем теперь иллюстрирующий пример. 3. ДВА ПРИМЕРА НА СЛУЧАИ N5 Для обоих нижеследующих примеров ограничимся квадратичной функцией цели: Q = p'x—х'Сх (С—положительно полуопределена), (14.16) при этом g(x") = p-2Cxft = gft, (14.17) ^W· <14Л8> Величина Λ' в случае Ыъ всегда равна единице. Задача. При ограничениях Χι + 2х2 + хг + х\ ΞΙ 5, 3jCi + Х2 + 2jt3 — Χα ^ 4, Xi^O. * = 1. 2, 3, 4 254
c = максимизировать (14.16), если 1 0 —1/2 О 0 1/2 0 0 —1/2 О 1 1/2 О 0 1/2 1/2 Для вспомогательной программы следует использовать нормализацию ЛГ5. В качестве исходной точки возьмем х° = || 0, 0, 0, 01|'. Тогда g (х°) = 1/1. 3, —1, 1 ||\ Перваи вспомогательная программа: максимизировать выраже ние при ограничениях g'oS=S! +3s2 — s34- s4 "ill·- Si + 2s2 + s3 + s4: 3si + s2 + 2sa — s4 Si Ъ 0 /= lp 2, 3f 4. Если ввести в ограничения вспомогательные переменные у ι и у2, то решение линейной программы даст: Таблица 1 У\ Уг g'oS ! Ι ι 5 4 0 Sl —1 —3 1 sz —2 —1 3 $3 —1 —2 —1 *4 —1 1 1 Как легко видеть, вторая итерация приводит к оптимальному решению первой вспомогательной программы. Таблица 2 (оптимальнаи) s2 I Уг ι ST'qS 1 1 Sj s8 Ι 5/2 —1/2 —1/2 ■ 3/2 —5/2 —3/2 I 15/2 —1/2 —5/2 - 54 У1 1 -1/2 —1/2 1 3/2 1/2 -1/2 —3/2 1 255
Из оптимальной таблицы получаем в°«||0. 5/2, 0, 01|' и g'0s° = 15/2. Далее, ь° 'Cs° = 25/8 н согласно (14.18) 15/2 λ": 25/4 >1. λ', как уже сказано, при Nb всегда равна 1; следовательно, λ°=λ'=1, Отсюда получаем вторую точку xi = x° + X°s° = ||0, 5/2, 0, 0|Г и Km —II 1- 1/?. —1. ИГ- Если подставить во второй вспомогательной программе s = = t— χ1, то окончательная таблица первой вспомогательной программы допустима в качестве исходной для второго шага. Лишь самая последняя строка должна быть вычислена заново*. В качестве результата второго шага получим t1, тогда s1—t1— χ1. и У2 g'lt | 1 5/2 3/2 ■ 1 5/4 Таблица tl l· —1/2—1/2 -5/2 —3/2 3/4 —5/4 1 второго шага *4 У1 -1/2 3/2 -1/2 1/2 3/4 1/4 Таблица 2 второго шага и У* g'lt1 1 tx ι 5 —1 9 —4 5 0 h tz yx Ι -2 —1 —1 1 —3 —3 —1 —3/2 —2 —1 Последняя таблица оптимальна, и мы имеем: t^ilO. О, 0, 5 ||' s1 ^t1 — х1 = |1 0, —5/2, 0, 51|', s^Cs1^: 125/8, λ" = 3/25, λ' = 1, 1} = λ" » 3/25. * Более подробно изложение теории столь успешно применяющегося здесь сокращенного табличного метода смотри у Зойтеи- дейка [3], стр. 109. 256
Следовательно, х* = ||0. 11/6. О, 3/6 IP. βι-||1. 4/5. -8/5. 2/6 |Г. Теперь необходимо добавить условие sfCsi^=Ot т. е. (если снова положить .t = х8 + s) t'Cs1 *» χ* 'Cs1 или в скалярной форме -"4*2 + 5*, +5^ =-5/2. Оптимальное решение линейной вспомогательной программы на третьем шаге имеет внд t* = ||6/7, 13/7, 0, 3/7 ||'. поэтому s2 = ||6/7. —12/35, 0. -6/35Ц'. Тогда λ" = 7/22 = λ2 и χ* = Л 3/11. 23/11. 0, 6/ПЦ'. gt = || 5/11. 10/11. -14.11. 5/11 Ц'. Далее необходимо воспользоваться еще раз условием сопряженности, а именно: s'Cs* = 0 или, после соответствующей подстановки, lOti — 2tt — Ы% — U = — 2. Оптимальное решение на четвертом шаге: ί« = ||3/11, 23/11, 0. 6/11 |f и s'^t· — x'HIO, 0, 0. 0||'. Отсюда х* есть решение квадратичной программы. Для сравнения с другими методами просчитаем снова тот же пример, что и раньше. Прежде всего приме* ним метод с Af5 без условия сопряженности, что дает сходимость лишь за бесконечное число шагов, и в заключен ние повторим решение с этим дополнительным ограни* чением, обеспечивающим сходимость за конечное число шагов. 257
А. Без дополнительного ограничение. Найти х\ х2, реализующие Q = хх + 2л:2 — l/2jcf — 1/2л| = max» (а\х ==) 2*ι + 3*2 g 6 (=* 6ι), (a'2x=)*i + 4*2S5(=*0» *i>0, i = I, 2. Здесь С = Р = 1/2 О О 1/2 В качестве исходного решения выбираем х° = || 0, 01|\ Тогда Ϊ· = Ρ —2Схв=|Ц. 2||'. К Вспомогательная программа g'fls = Si + 2s2 = max при условиях 25ι + 3s2 < 6, Si + 4s2 < 5, Si^O, i=lt 2. Если ввести вспомогательные переменные yt н у2, то симплексные таблицы примут вид: У* 02 j g'oS| J 1 si Ι 6 -2 5 —1 0 1 52 —3 —4 2 | Ух s2 \ 1 9/4 5/4 5/2 Sl —5/4 -i/4 1/2 Уг 3/4 -1/4 -1/2 j Si St ( i 1 9/5 4/5 1 17/5 Уг —4/5 1/5 —2/5 У* 3/5 I —2/5 -1/5 J Это окончательная таблица вспомогательных вычислений· 258
Отсюда* s°-||9/5, 4/5 ||' и согласно (14.18) λ" = 85/97, λ' = 1, т. е. λ1 = 85/97. 2. После первого шага получаем х1=|| 153/97, 68/971|'^ || 1.577; 0,701 ||' и g.= ||-56/97. 127/97 |Г. Во второй вспомогательной программе требуется найти максимум при условиях Преобразование t = x1 + s позволяет продолжить вычисления, воспользовавшись последней таблицей первой вспомогательной программы. Тогда вторая вспомогательная программа состоит в максимизации _56 126 97 Ί + 97 *2 при условиях Последовательность симплексных таблиц имеет вид ΪΙ | и *Л\ 1 1 9/5 '4/5 1 ° Уг -4/5 1/5 70/97 У2 I 3/5 —2/5 —84/97 1 - У\ | 1 1 ' 9/4 5/4 1 315/194 tr У* \ —5/4 3/4 —1/4 —1/4 -175/194 ^-63/194 J Это окончательная таблица. Отсюда имеем .1· = || 0.5/41|' 2Й
й Далее имеем следовательно, 153 213 " 97 9 388 λ" = 27160/46657, λ'=1. λ'= λ" =27160/46657. 3. Результатом второго шагаг следовательно, является 130753 476181 х«' = 46657' 46657 % II 0,66; 1,021 - g'a^l|0,34; 0.981|. Если подставить t = xa+s, то получим те же условия, что и во второй вспомогательной программе У* h g'2t 1 9/4 5/4 [ 1,225 и —5/4 -1/4 0,095 У* 3/4 -1/4 —0,245 I til *2\ | 1 9/5 4/5 [l,396 Уг —4/5 1/5 —0,076 Уг 3/5 —2/5 —0,188 Ι Отсюда получаем f-II9/5. 4/511'/ sa = t* — χ» = Πlf8— 0,66; 0,8- 1,02(1'= ||1,14; -0.22Ц'* Поскольку λ" = g's/2s'Cs & 0f 1276 < λ' = 1, то λ* = λ" ^0,1276. 4. Результатом третьего шага является тогда х" ^ ||0,805; 0,992||'. 260
Продолжая аналогичным образом, к пятому шагу получим последовательность приближений х· X1 X» X* X* X» Χι 0 1,577 0,659 0,805 0,689 0,795 Хш 0 0,701 1.021 0,992 1,029 1,007 Последовательность сходится к решению xf = ~ ^ 0,765, xf = jy- = 1,059. Б. Метод с условием соприженности, обеспечивающий сходимость за конечное число шагов. 1. Первый шаг такой же, как и в случае А, поэтому 8· = || 9/5, 4/51|', х*= || 153/97, 68/971|', gl= (1-56/97, 126/97 |Г. Теперь можно воспользоваться дополнительным условием (14.14), т. е. добавить условие Подставим и тогда получим s»'Cs =0 или 9si + 4s2 = 0. t=x' + s, 9/1 + 4/2 = 17. Задача второго шага тогда формулируетси так: 2. Найти максимум 56 126 g'tt = q=- ti + <vT- t2t 97 97 или, что то же самое, найти максимум -^28*1 + 63/, npir условиях •'jt + 0j = *j, / = 1, 2, ^>0, ^2^0, 9^ + 4ί2 + ^=17, ^ = 0, t>0. 261
Исключим сначала из базнса уъ. Тогда последовательность таблиц имеет вид: 1 U U Уг Уг и g'lt 1 1 20 9 28 9 1 17 9 476 9 /· 19 9 32 9 4 9 679 9 Уг 2 ! 9 ι 1 9 1 9 28 9 У\ и\ *1\ 1 1 1 3/8 7/8 3/2 105 8 Уг 19/32 —9/32 ' 1/8 679 32 Уг 5/32 1/32 | -1/8 175 1 32 Из t1 = s1 + х1 = ЦЗ/2, 7/8)]' следует s1 = (14.И9Х· 10864 "776 776 . Согласно rrgg- > 1, тогда как λ' = 1. Следовательно, λ1 = λ' = -= 1 и новое решение имеет внд x*=t =||3/2, 7/8Ц'. 3. Так как на предыдущем шаге λ*= λ', то на данном третьем шаге дополнительное условие не используется. Подставим t «в ■=» х* -f" s и в качестве новой функции цели получим 262
1 9 g'2t = — -£- t\ -f- ~g~* *2· Вновь имеем таблицы Уг Уг 1 1 6 5 0 *1 'з —2 —3 1 —1 --4 —1/2 9/8 1 Уу *2 1 Ί £2 1 9 5 3 1 4 '4 4 5 1 1 4 4 4 45/32 —25/32 — 9/321 Отсюда t2 = |)0 5/4||' и s* = ||—3/2, 3/8||'· Согласно (14.18) λ" __25 *■ 25 "~5F' * = 1, следовательно, λ2 = λ" = gj- и X» = X2+^2S2: 13_ 18^ 17 ' 17 4. На четвертом шаге сделаем подстановку t = xs -f- s и найдем максимум 4 16 или, что то же самое, максимум Л + 4*2. Соответствующие таблицы имеют вид Ух Уг 1 6 5 0 Л —2 —1 1 *t —3 —4 4
tx 1 U 9/4 —5/4 5/4 —1/4 5 0 ν* 3/4 -1/4 —ι Ι Следовательно, t* = ||0, *5/4||' и s»=|l—13/17, 13/68Ц'; так каж g^$s = 0, то JCS = JJ13/17', 18/17Ц' является решением. 4. ПРИМЕР НА СЛУЧАЙ N{ Вернемся теперь к случаю Λ/Ί. Из-за квадратичного условия нормализации он требует несколько больших вычислений, однако дает в известном смысле лучшее sft,. а именно, образующее наименьший угол с градиентом. Это, однако, еще не означает, что метод с Nx обеспечивает более быструю сходимость, чем с N2, Nz, NA или N^r так как рост функции за шаг зависит также и от длины шага λ*. Итак, в случае Nx sh получается как решение следукь щей программы: raax{g's|a'j8<0 для /£5, s's<;i}. (14.19) Линейдые условия в (14.19) можно записать также в виде > Ps + y = 0, у^О, где Ρ—матрица, состоящая из строк a'j, /£S. Из условий Куна — Танкера следует, что решение (14.19) пропорционально решению следующей про* граммы: min{s's|Ps-f y = 0, у^О, gfs=l}. (14.20) Задача (14.20)—это обычная квадратичная про* грамма с линейными условиями, для решения которой можно применить один из уже изложенных методов, например Вулфа. Несколько иной путь решения (14.19) кратко излагается ниже. 264
По теореме Куна —Таккера решение (14.19) должно удовлетворять следующим условиям: Ц^0,ио^0,у^0, (14.21) и'у = 0. (14.22) Здесь и0 — скаляр. (14.21) означает, что градиент g линейной функции цели в оптимальной точке можно тгредставить как неотрицательную линейную комбинацию градиентов к гиперплоскостям, проходящим через эту точтсу. Выражение (14.22) означает, что в нуль обращаются коэффициенты, соответствующие тем ограничениям, которые не выполняются как равенства. Если умножить равенство в (14.21) на — Ρ и подставить —и0Я8 = и0у = у, о получим новую систему условий, а именно: -PP'u + v = -Pg, .(1423) u'v^O. (14.24) Если некоторые из условий в (14.19) даны © форме равенств, то соответствующие значения у, и Vj должны быть равны нулю. Если найдены и и ν, удовлетворяющие вышеприведенной системе, то s получим из u0s = g—P'u. (14.25) При этом s можно не нормировать, так как важно знать лишь направление. Для решения системы (14.25), (14.24) Зойтендейк [3] предлагает следующий метод. Возьмем в качестве исходных u = 0, v=—Pg. Если ν ]> 0, то цель уже достигнута. В противном случае можно произвести один шаг двойственного симплекс-метода так, чтобы замшить ib базисе отрицательный ε>3· лоложи- 265
тельцым щ. Условие u'v = 0 в этом случае всегда выполняется. Такая замена Vj <на щ всегда возможна, так как соответствующий диагональный элемент в симплексной таблиде, соответствующий отрицательному Vj (см. нижеследующий пример), ©сегда положителен. Доказательство этого правила знаков смотри у Зойтендейка [3]. Задача. Пусть в выражении (14.16), соответственно (14.17), ΡΉΙ-Ι, о. 20> , следовательно, g (χ) = —1- —Хг 2- -*ι\\ -Хш\\ прн ограничениях II Ц2 0 0 С= 0 1/2 О II 0 0 1/2 Максимум следует искать при ограничениях *1— *2 + *s= 1, *<^>0, i = If 2, 3. Решение. В качестве исходных примем χ·' = ||1, 0, 01|, g'U0) = H-2, 0, 2||. Учитывая, что согласно (14.12) и (14.19) при данном х0 величины 52 и «! не могут быть отрицательными, определим se из следующей задачи: максимизировать выражение — 25i + 2ss Si —S2 + ss = 0, s2;>o, Легко видеть, что можно принять se = ge, следовательно, s* = П — 2, 0, 2Ц'. Отсюда следует λ' =1/2 н λ"=1, значит, λ· = 1/2 и χι = Ι№. ο, \\γ9 g(xl) = ii-i, ο, ι\\\ На втором шаге определяем s1 из программы: максимизировать выражение — s; + s, 26Q
лри условиях Si — s2 -f- s3 = 0, si :>o, s2 ;>0, Далее получаем в соответствии с изложенным методом 1 I 0 ~~ι 11 0 0 —I 0 | L ЯР'= 1 3 Li I —1 1 1 0 0 I I > ps (**) = ] 1 ° I 1 о и последовательность симплексных таблиц: Vi v\\ »t 1 I «i 0 3 4k —1 —1 0 1 «2 -I 1 [ 0 «1 I 0 1 Vi «2 vz\ I I —1 I 0 Ui 2 I 1 ϋ2 Ux — I I I 0 0 I «1 «2 v%\ 1 1 1/2 vt v2 1/2 1/2 3/2 1/2 3/2 1/2 1/2 1/2 «, ί -щ -1/2 1/2 Последняя таблица оптимальна. Кроме того, Oi = 0, так как этой величине соответствует ограничение-равенство. Видно также, что все элементы диагонали (первый столбец не учитывается), как ранее указывалось, положительны. Из оптимальной таблицы получаем Ui = 1/2, и2 = 3/2, иг = 0 и согласно (14.25) s1 = g — Р'и = 1—11 0 II 1 1 1 2 Ι ι 3 2 1—1 j 0 1 о| = 1 ° 1 1/2 1 1/2 II 267
Далее, λ' = со, λ" = 1, следовательно, λ· = 1. Отсюда χ» = 11 0. 1/2, 3/2Ц-, g(x') = 11-1,-1/2. 1/211'. Поскольку λ1 = λ", необходимо добавить к ограничениям условие S^Cs^O, илн $а + st = 0. Тогда для определения второй точки получаем задачу: максимизировать выражение —*ι—1/2β, +1/2*1 при ограничениях «ι — st + s, = 0f Sz + st = 0, si >0, Σ5/< Вновь строим 1—1 1 />«|| 0 1 1 ||, РР'= [—1 0 0 Последовательность таблиц имеет вид: 3 0 0 2 -1 0 —1 1 0 1 . Pg=\ 1 ° 0 111 Vl ν* »■ Ι 1 0 0 —1 «1 3 0 —1 Us 0 ■ 2 0 «ι -ι 0 1 Vl Vt "ι | | 1 Li 0 1 «1 2 0 1 «2 Vt 0 —1 ! 2 0 ! 0 1 , Ui vz u* 1 | 1 Vi u2 1 1/2 1/2 0 0 0 2 3/2 1/2 0 o» 1/2 0 3/2 268
Последняя таблица определяет оптимальное значение. Величины ϋ% и ϋ2 должны равняться нулю, так как они соответствуют ограни· ченням-равенствам. Итак, получаем U' = ||1/2, 0, 3/21|, 1 ~~ i 1 -1/2 1 1/21 1 f l\ —1 1 3 1—11 0 0 1 1 ° Ιι 0 о 1! Таким образом, оптимум достигается в точке х2. В заключение следует упомянуть, что Зойтендейк в овоих методах указывает некоторое правило, которое должно препятствовать так называемому зигзагообразному движению. Это дополнительное правило сводится, в основном, к замене условия условием а>* = 0, а',х*_1<^ и а';Х*-* = ^., 2^l^k, т. е. при возвращении на гиперплоскость в!$х = Ь}. Это правило отпадает, как только неравенство g's*>0 становится невыполнимым. Подробности смотри у Зойтен- дейка [3].
ГЛАВА ПЯТНАДЦАТАЯ ПАРАМЕТРИЧЕСКИЙ МЕТОД ХАУТЕККЕРА 1. ВВЕДЕНИЕ Хаутеккер [1] предложил параметрический метод решения строго выпуклой квадратичной программы, который основан на варьировании некоторого вспомогательного условия. Этот метод справедлив, по-видимому, .при наиболее сильных из встречавшихся в настоящей книге ограничениях, поэтому приведем здесь лишь основные его идеи, не останавливаясь на строгих доказательствах. Пусть квадратичная программа записывается в форме /: минимизировать <Э(х) = р'х+х'Сх (15.1) при ограничениях х{^0, i = l, 2, ..., л; (15.2) й,(х)^а',х —bjgO, / = /г + 1> я + 2> . *., п-\-т. Матрица С должна быть положительно определенной, кроме того, Хаутеккер требует, чтобы &j>0f а^О. (15.3) Метод решения основывается на добавлении к системе ограничений (15.2) так называемого р-ограничени,я 2*^р- (15·4) Часто также в качестве β-ограничения используется одно из ограничений (15.2) после соответствующего 270
преобразования, обращающего есе коэффициенты в единицы *. В процессе решения параметр β изменяется, (причем исходное значение β равно нулю. В этом случае допустимая область состоит лишь из одной точки—начала координат, которая и * является решением. Бели увеличивать β, то решения изменяющейся программы mm Q(x)\Xi^0; Л, SO, %ХгЩ (15.5) ί=1 образуют непрерывную кусочно-линейную кривую. Решения, получающиеся при определенных, значениях β, обозначим через χ (β). Для наглядности приведем нижеследующий графический пример. На рис. 18, где заштрихованы в соответствии с (15.2) границы допустимой области, χ (β) получаются как пересечение ломаной (жирная черта) с прямыми Σ^ = β. Таким образом, получается сходящаяся последовательность значений (l*(g = 0, 1, ...), при которых кривая меняет свое * См. пример 2 в разд. 3. 271
направление. Начиная с некоторого значения (^#, решений Χ(β) не меняются: ϊ(Ρ)=ϊ(Ρβ.) ДЛ*р>р^. (15.6) Если β-ограничение принадлежит к вышеупомянутой системе (15.2), то данное значение pi>Pg# . Таким образом, χ(β5# ) является решением ^исходной задачи, ибо β-ограничение (15.4) больше на решение никакого влияния не оказывает. Если обозначить через Г(Р) множество таких индексов /, для которых .ϊ<(Ρ)>0, и через Δ (β) множество индексов /, для которых а'£(Р) = &„ то для всех значений β, лежащих между β$ и β^+ι, Γ и Δ постоянны. В справедливости этого утверждения читатель может убедиться с помощью условий Куна—Так- кера. Наглядное подтверждение можно получить из рассмотрения графического примера. Критическое значение $g, следовательно, характеризуется тем, что при этом значении изменяются Г или Δ. Так как Г и Δ при ©сех β, заключенных между fig и β^+ι, постоянны, то можло определить Г, = Г(0)прир,<р<р,+11 А* = МР)прирв<р<рв+1. На рис. 18 имеем случай двух переменных, причем наряду с ограничениями на знак переменных должны выполняться еще три неравенства. Для" рассматриваемого примера Г0 = { 1}, Δ0 пусто, , ^ = {1,2}, Δ, пусто, Г, = {1.2}, Δ, = {3}, Г, = {1,2}, Δ, = {4}: При β4 достигается окончательное решение. 272
. Метод ХауТеккера состоит β гшследобатеЛьноМ ойрё^ делении критических значений pg и соответствующих им множеств rg и Ag, При этом рекуррентные формулы, позволяющие определить β$, Tg и Ag по уже известным β^-ι, Гя_1, Ag-i, сравнительно просты. 2. ПРАВИЛА ВЫЧИСЛЕНИЙ Предположим, что β^, Γ^ и Δ^ уже получены в результате предшествующих рекурсий. Вычислим следующее значение χ (β) для β>β$. По теореме Куна—Таккера (гл. 3) χ(β) должно удовлетворять следующим условиям [см. (3.23) и (3.24)]: 1 -р-2Сх(Р)=«,(Р) +5^(»^+53г*(р)(~е1)· (15.7) V ~ 2jx*CP);=P: а',х(Р) = ** /£Δ,; х,(Р)=0, ί^Γ, «ο(β)>θ; «ЛР)^0; МР)^°; а',х(р)^, /$А,; х\(р)^0, ί£Γ,. (15.8) В (15.7) вектор-столбец — в{ содержит на г-м месте элемент, равный — 1, а все остальные элементы — нули. Для нахождения требуемого решения χ,·(β) с ίξΓβ нужна лишь часть равенств (15.7), а именно: — Pi— V, cihXk= JjUfin + Ut для всех ίξΓβ, *€г. /ζ* JJ ajhxk = bj для всех /£Δ„ 53**=p. (15.9) *e 273
Если решить эти уравнения 'относительно Xit tl$, a0, to получим линейные функции от β, а именно: а) х,(р) = Ьр + *4, ί£Γ„ (ί=Ι, 2 л); 6)*j(P) = 'jP + *j. /€Δ* N + 1 Φ)! в)£(Р)=*.Р+*о- (ΐ5:ΐ0) и далее из остальных уравнений (15.7) получим г) й(р) = *,р+й„ ί$Γ,; Согласно (15.8), однако, все величины в (15.10) должны быть неотрицательными. То значение β>β$, при котором одна из этих величин обратится, в нуль, является новым критическим значением β5+1. Итак, для всех тех λ(λ = = 0, 1, 2, ..., п-\-т)> для которых *л<0, необходимо вычислить величины Р*.* = —£- (15.11) и далее p,+l = min{p,.h|fh<0}. (15.12) Состав множеств Тё+1 и Δ^+1 определится теперь тем, при каком индексе h достигается минимум βίβΛ. Пусть min{p^j^<0} = ^v Предположим, что А0 единственно. В противном случае метод не работает. 1. Если Аог=0, то β-ограничение далее не играет никакой роли, потому что обращается в нуль именно множитель и0 (15.10в). В этом случае решение получено при β^+ι = β^·· Определять Tg+l и Ag+1 уже не, нужно. 2. Пусть Н0Шп и h0£Tg (15.10а). Это означает, что ранее положительная переменная xh обращается в нуль при β]>β^+1 (отрицательной она, конечно, не может стать). Тогда *g+i — ig V*o}> 274
, Δ остается без изменения 3. Пусть /г0Шп η /г0$Гё (15.Юг). Это означает, что множитель υΗ, который соответствовал ранее переменной χ = 0, обращается в нуль. Можно, следовательно, уело- вие xh =0 заменить условием xh >0. Тогда r*+i = rtf+{M и Δ,+1 = Δ,. 4. Пусть Ао^/г + 1 и ho£&g (15.106), это означает, что множитель uh, соответствовавший условию а'Лх = 6Л , обращается в нуль. Это условие, следовательно, для $g+l будет несущественным. Итак, Δ*+ι = Δ* — {Л0}, Г остается неизменным Ig+i = IV б. Пусть Л01>/г+ 1 и Л0 $ Δ^ (15.10е). Это означает, что для β^+1 будет существенным новое условие, а именно, условие а' хШЬ. должно теперь выполняться тоже как равенство. Вместе С этим Δ*4-ι = Δ* + {Λ0} и rg+1 = rg. Наконец, может встретиться случай, когда Гя+1 и Δ^+1, образованные в соответствии с вышеизложенным, содержат равное число элементов. Это означает, что мы достигли некоторой вершины допустимой области. Тогда X при решении (15.9) (естественно, для Г^+1 и Δ^+1 вместо Гя и Δ^) уже определяется однозначно без условия Σλ^ = (1 и при этом не зависит от β. (На рис. 18 мы имеем этот случай при β,.) Чтобы выйти из этого тупика, необходимо отказаться от одного из ограничений, т, е. необходимо либо исключить элемент из Δ^+1, либо добавить элемент к Tg+1* Этому предшествует следующее: для каждого /£Δ^ ре- 275
шаем систему (15.9), заменяя Tg на Г£+1 и Δ£ на Δβ+1— {/}. Пусть решением является х*. Если для этого / а',-х'>6, при β>β*+1, то далее этот / во внимание не принимается. Для тех jf для которых а'&ШЬ5 при β>β£+1, вычисляем W (β£+1) = λί. Затем для каждого i (£ Г£ решаем систему (15.9), заменяя Г£ на Г£+1 + {0 и Δ* на Δβ+1. Решение обозначим через х\ Если U в выражении отрицательно, то этот i далее во внимание не принимается Для тех i, для которых U^O, вычисляем Если таковых Яг" и V не найдется, то достигнуто окончательное решение при βί+ι. В противном случае отыскиваем такой индекс, при котором Я максимально. Если это один из индексов t, например г0, то заменяем ранее определенное множество Tg+l на Г£+1 = Г£+1 + {го}*» Δ£+1 остается ^ без изменения. Если же максимум достигается при одном из индексов /, например }0, то заменяем Δ£+1 на Δβ+1—{/0}, a Tg+l остается без изменения. Теперь, для того чтобы начать итерационный процесс, с принципами построения которого мы уже познакомились, необходимо знать Го и Δ0. Для значения β, близкого к нулю, очевидно, Δ (β) пусто, тем самым Δο не содержит элементов. Го состоит из тех индексов /, которым соответствуют минимальные компоненты pi в выражении gradQ(x)x=0=p. Читатель может это проверить также с помощью условий Куна — Таккера. Если все pi положительны, то, естественно, х=0 уже является решением программы. 276
Читатель заметит, что нигде 'не использованы условия #jg> 0. Это требование на самом деле имеет лишь эвристическое оправдание. Именно в этом случае, как указывает без доказательства Хаутеккер, можно ожидать с большей вероятностью, что множества Г и Δ будут меняться столь просто, как это выше изложено. Однако даже и © этом случае (Ду ^> 0) возможна вырожденность, когда множества Г и Δ меняют более одного элемента. Как было замечено во вступительной части, мы не будем далее останавливаться на подрбных вопросах. Вместо этого подробно рассмотрим два числовых примера с тем, чтобы глубже познакомить читателя с правилами вычислений. 3. ПРИМЕРЫ Прежде всего рассмотрим тот же пример, который схематично обсуждался уже при изложении метода Тейла и ван де Панна. Он принадлежит Хаутеккеру и полезен тем, что в нем на некотором шаге встречается случай вырожденности. Минимизировать Q(x) = p'x + x'Cx, где при ограничениях *<>0, 1 = 1, 2, 3, 4, А5 (х) = 5*ι+10*, — 2^0; Λβ(χ) = 4·*2 + 5Λ:4 — 3g0, *ι + *2 + x*+ x* = ? g Ws (β — ограничение). Частные производные Q(*) имеют вид: ~ ("и* у=18~~ 6Xl ~~ Хг — 8Xit "~ ν дхТJ= 16 ~"Χι ~"10Хг ~"х%"" ^ X = Uil •%2 j x*\ г РН 1 — 181 — 16 — 22 | — 201 нС=2 6 1 8 0 1 10 1 4 8 1 17 3 0 4 3 11 =22 — 8*ι — *2 — 17*,— 3*4, (dxj 277
1-я итерация. £0 = О Г0 = {3} (потому, что рг = — 22 = «=minpi), Δ0 — пусто. Для простоты вместо χ (β) будем писать х. Тогда xt = 0t лг2 = 0, лг4==0. Для определения хъ и и0 решим систему: —^"="о, т. е. 22— 17лг3 = и0, Σλγ» = β, т. е. х3 = Р. Из равенств л:, = β и ы0 = _-— 17β ·+· 22 имеем β -2? Poo— |у Подставляя это значение в остальные равенства (15.7) dQ dQ t dQ получим значения г/ь ϋζ и о4 ϋι = —9β + 4; βοι = 4/9, ϋ2 = — 16β + 6; hi =3/8/ α* = -Ι4β + 2; Рн-1/7- Наконец, составим еще _Л5(х)--ЮР + 2; Р.. = 1/5, -А.(х)«3. 2-я итерация. На второй итерации положим β ж'= β 0^ = 1/7 и получим Г! = {3, 4}; Δχ — пусто. (Очевидно, *1 = л:2 = 0. Для определения лг3, х4 и "о решим систему dQ dQ — =20 — Зх3 — 11л:4 = и0, Отсюда 278 дх4 •*J + *4 = P 4 ^
89 228 »· = —цр + ТГ"· й, следовательно, (?i>0 = 2g5. После известной подстановки найдем dQ ___57 38 2 dQ ___S7 49 49 ^8 = tto + ^- u? + u> PM = g7» а также 40 12 3 — A5(x) = 2—Ι0χ5 = -ττβ + π; Pi,5 = yo' 35 38 3 — Ae(x) = 3 —5дг4= — yy β + TT' ?ι··= Ι 35" 3 3-я и т е р а ц н я. На третьей итерации полагаем g2 — βι,6 == Τη а образуем Г2 = {3, 4}, Δ2 = {5}. Далее, Χι = 0 и хг = 0. Дли определения лг8, лг4, и© и иь решаем систему: Учитывая при этом, 22 — g^—«ο-ϊ-βδ3"δ, Σ*,· = p, Мх) = 0. что λγι и х% обращаются в \7хг — Злг4 = «о + 10ws» 20 — Злг8— 11λγ4=ί*·, -*8 + -*4 = β, 10xf=-2. нуль, получим: 279
Отсюда следует: X* — 5 ' 108 108 Ио =—llp + ~5~i Р2,о = 55 * 4 _6 Наконец, определяем еще: ^ 2 = «0+ ^Г +α«2"δ = 7Р + 5'' Р2,2 = 5/7, — Αβ(χ) = 3-5^ = -5β + 4; β2,β = 4/6. 4-я итерация. Полагаем β3 = Рг,1 = 4/7. Поэтому Г, =» = {1, 3, 4}, Δ, = Д2={5\. Теперь обратится в нуль еще одна пере менная, а именно Хг· Переменные ль х3, х*> Щ и и6 определим из системы: 18 — 6*, — δ*, = «о + 5а5, 22 — 8лгх — 17*, — 3*4 = «о + Юиб, 20— Злг,— 11*4=" «о, ·*! + «*· + **=Р. 5л:, + 10*, = 2. Получим*отсюда: 14 8^ -^ж —13 Ρ 13' 7 33 fi 33 ■*» — ~~!3P + 65; Ρ3-3 = 35* х*- 13Р + 65; 45 1 124 «о = — Уз Ρ + 65 ' 'Р*·0^ "»»' 17. f 22 "«^ббР+зй· 280
Исследуя также v2 и — h9(x), получим, что 33 Р4= Рз.а = 35- 33 5-я итерация. Для Р* == ос получим Г4 = {1, 4}; Δ4 = Δ,={5}. Опустим здесь вычисления, предлагая проделать ях читателю. 6-я итерация. Опущенные здесь вычисления дают Рв = ?<,.= ι, так что Г*={1. 4}, Г5 = {5, 6}. И здесь имеем особый случай. Равенства, соответствующие ЛБ, полностью определяют переменные, содержащиеся в Г5. Из Мх) = 0, М*)==0, при х2 = 0 и хг = О следует JC!==2/5, jc4 = 3/5. Согласно правилам .выхода из тупика* теперь необходимо исследовать следующие комбинации: Г ={1,4} и Δ = {6}, Г={1, 3, 4} и Δ ={5, 6}, Г = {1, 2, 4} и Δ ={5, 6}. Для определении χ нужны лишь равенства, соответствующие Δ- и ^-ограничению. Начнем с первой комбинации. В качестве решении получим Jc1 = p —3/5, jc4 = 3/5. Эти выражения дают -/ц(х) = 5-5р<0 дляр>1~р„ т. е. данную комбинацию использовать нельзя. Для второй комбинации 5лгх+ 10т, = 2, 5*4=3, *1+*|+ ·**=?' 281
Решение имеет вид: Сж = 2В ■*· = - ** = -8/5, -Р + 1, 3 : 5· Для [> 1 jc3 отрицательно, следовательно, и эта комбинация не подходит. Для последней комбинации имеем систему уравнений Ее решение 5*ι = 2, 4*2 + 5*4 = 3 * Ι "Τ" *2 "Т~ -^4 == 2 л:2 = 5β —В, *4 = -4р + 4-| Для f > 1 *2 > Q, следовательно, с этой комбинацией можно продолжить решение задачи. Итак, β5,4= 23/20. Для определения и0} ий, ий имеем систему 18 —6л: ι— *2 = и© + 5и6э 16 — Χι + 10*2 —4*4=и0 + 4tfe, 20— 4*2—11*4 = и0 + 5и0. Отсюда tf0 = -2660 + 278 у, Ρ... = 1 261 . e,14 4 «β^=58β — 57 у. Далее получаем dQ , 1 . Рз1^ "e + ^jf- +<г5а"б + ^айв = 249? — 247у, ибо ява =* 0, откуда 31 2 Ь:=Рм = 1ед5<1 з' 282
Как следует из теории, экстремальная точка, накойец, определена^ Окончательные значения χι получям, подставяв ? = £, в последние равенства* Χι Х2 х% χϊ 2 = 5' =15-1 -0, = -4 31 665 ~ .1-^- ]665 -5 = + 4 31 Ί33 3' .5 t 55 135' Второй пример рассмотрим коротко лишь для сравнения. Мянямизировать Q (х) = — Xt — 2х2 + 1/2лг2 + 1 /2дг| при ограничениях Xi^Q, (ί=1, 2), 2лг1 + 3дг2<6, χι + 4*2 <; 5. Используем первое неравенство в качестве β-ограничения. Для этого введем^преооразование 1 _J_ Χι=~2 У1, Xz— β Уг 1 2 . 1 2 \_ 2 и получим Q (У) = — J У ι — "f У* + if У\ + Г8 & =min» ί/i^O, (ί = 1, 2), 1 4 a',y =ύ ί/χ + у ί/2 ^ 5 (= &8). Решение будет получено как только β = 6 или «0 = 0. 1-я и τ е ρ а ци я. β0 = 0, Г0 = /2}, Δ0= 0. Для определения ί/2 и «0 решим,систему —*2. ζζ Σ -β * Чятателю должно быть ясно, что в этом примере исходное 2 значение р, равное 1-о-> оказалось неэффективным. 283
■Го ttth 2 1 Отсюда следует р0.о = 6. Далее получим 2 ! о * β рз ?оа = 3 3 2-я и τ е ρ а ц и я. {W = ρ0.ι = γ i следовательно, Г, = {1, 2}, Δ,= 0. Теперь определим #ь #2 и и0 из системы dQ 1 1 Отсюда dyi dQ __ ду2 Уу и9 = У1 = У2 = Т~Т^ = ( 2 1 : 3 9 Уг " 1+01=?. 1 8 13Р + 13' 4 6 -13Р~~ 13' 9 6 "13° + 13' и0 "о, 2 Таким образом, [Jlf0 = 8. Дальнейшие вычисления дают βι,3:=4-~-. 2 3-я итерация начинается с f2=4y и Г2 = {1, 2}, Δ2—J3}. Читатель может проверить, что на третьей итерации уи yi9 иг н «о представимы как функции f следующим образом: 3 ί/2 = —g Ρ + б, 284
42 12 51 * t ** Отсюда сразу следует Ь.#«= 80/17 и fr.a=«K>. Наконец, при β8 = 80/17 достигается экстремальное реШенве- Подставляя значение $9 в последние равенства для у ι и у*, ιύν· лучим 26 13 54 18 yx=-yj или ^ = j7 и ^2 = Т7 или ^2 = f7*
ЛИТЕРАТУРА Abraham, J.: [1] An approximate method for convex programming. Econ. 29 i(-1961). Arrow, K. J., E. W. В а г а п к i n, and D. В I а с к w e 11: [1] Admissible points of convex sets. In 'Contributions to the theory of games. II (Ann. Math. Studies 28). Princeton: Princeton University Press 1953. — and Ε η t h ο ν e η A. C: {11 Quasi—concave programming. Econ. 29 (19Θ1). — and Hurwicz I..: fl] The gradient method for concave programming. In Arrow, ](. J., Hurwicz L, and U ζ a w a H. fl]· 12] Reduction of constrained maxima to saddle—point problems. In Proceedings of the Third Berkley Symposium on Math. Stat. and Prob. Berkley and Los Angeles: University of California Press Jl 955. {3] Gradient methods for constrained maxima. OR JORSA 5 (1957). — — and Uzawa H. Есть пер.: Эрроу К. иУдзава X.: [1]. Исследования по линейному и нелинейному 'Программированию. М., ИЛ, 196'2. Barankin Е. and R. Dorfman: fl] Toward quadratic programming. Los Angeles: Univ. of Calif., Management Sc. Res. Project Res. Rep. 412 (1955). I[2] A method for quadratic programming. Econ. 24 (1956) - {3] On quadratic programming. University of California Publications in Stat. 2 (1958). В e a 1 e, E. M. L.: fl] Note on reciprocal problems in linear programming. Conference on Linear Programming. May 1954. London: Ferranti Ltd. 1954. — 12] On minimizing a convex function subject to linear inequalities. J. Roy. Stat. Soc. 17B * (11955). — [Э] On quadratic programming. Nav. Res. Log. Qu. 6 (1959). — [4] An algorithm for solving the transportation problem when the (shipping cost over each route in convex. Nav. Res. Log. Qu. 6 (11959). Blackett, D.: (1) Convex programming. Abstract in Project SCOOP. Manual No. 10 (1952). Bohm, Η. Ή.: [1] Nichtlineare Programmplanung. Wiesbaden: Bet- ribswirtschaftlicher Verlag Dr. Th. Gabler 1959. Booth, A. D.: [1] An application of the method of steepest
descent to the solution of systems of non—linear simultaneous equations. Qu. J. AppL Math. 1 (ι1949). ί Boot, J. С G.: [1] Notes on quadratic programmiag:>.lhe Kuhn— Tucker and Theil—van de Panne conditions» Jegeberacy and equality constraints. Man. Sci. 8 (il^Glj. Саг о II, Ch. W.: [I] The created response surface technique for optimizing non—linear restrained systems. OR JORSA 9 (1961).. Charnes, A. and W. W. 'Copper Jll] Nonlinear power of adjacent extreme point methods of linear programming. Eoon. 25 (1957). 12] Chance constraints and normal deviates. JASA 57 (1962). {3] Chance constrained programming. Man. Soi. 6 (I960). and A. Henderson: {1] An Introduction to linear programming. New York: Wiley 1953. — >and C. E. Lemke: [1] Computational theory of linear programming: Part II—Minimization of nonlinear separable convex functional. Eoon. 23 (1954). [2] Minimization of nonlinear separable convex functions. Nav. Res. Log. Qu. 1 (1954). Cheney, E. W.: A code for convex programming. In The Rand Symposium on Math. Prog. Proc. of a Conf. R—3511 (1960). — and A. A. Goldstein: fl] Newton's method for convex programming and Tchebycheff approximation. Numerische Math. 11 (1959). Chenery, H. B. and Uzawa H. Есть лер.: Чене.ри, X. В. и X. Уд зава: [1] Применение нелинейного программирования « вопросам экономического развития. См. Э ρ ρ о у, Г у ρ в и ц, У д з а в а [1]. Cowles Commission for Research in Eoonomics (University New Haven, Connecticut), fl] Lagrange multiplier revisited (A contribution to nonlinear programming). Santa Monica/Gal.: The Rand Corp., RM-^676 (1951). (Vgl. Slater [1]). D a n t ζ i g, G. В.: [1] Computational algorithm of the revised simplex method. Santa Monica/Cal.: The Rand Corp., RM—1256 (1953). — (2J General convex objective forms. Santa Monica/Cal.: The Rand Corp., P—1664 (1959). — [3] New directions in mathematical programming. Santa Monica, Cal.: The Rand Corp., P—1646 (1959). — Ford L. R. and Fulkerson D. R. Есть пер. Г. Данциг. Л. Р. Форд, Д. Р. Фулкерсон: 11] Алгоритм для одновременного решения прямой и двойственной задач линейного программирования. См. Кун и Таккер (2). — S. Johnson and W. White: [I] A linear programming approach to the chemical equilibrium problem. Man. .Sci. 5 (1958). — А. О г d e η and P. Wolfe: [I] The generalized simplex method tor minimizing a linear form under linear inequality constraints. Рас. J. Math. 5 (1955). Dennis, J. В. Есть пер.: Деннис, Д. Б.: [1] Математическое программирование и электрические цепи, М., ИЛ, 196 L Dillon, J. D.: [I] Geographical distribution of production in multiple plant operation. Man. Sci. 2 (1956). Dorfman, R.: [I] Application of linear programming to the theory of firm, including an analysis of monopolistic firms by nonlinear programming. Econ. 22 (1954). 287
D о г η, W. S.: [1] Duality and shadow prices in nonlinear programming. IBM Res. Memo. RC—192 (1959). — [2] Duality in quadratic programming. Qu. Appl. Math. 18 (I960). — [3] On Lagrange multipliers and inequalities. IBM Res. Memo. RC—274 (1960) and OR JORSA 9 (1961). — {4] Non—linear programming. IBM Res. Memo. RC—«266 (1960). — [5] A duality theorem for convex programming. IBM Res. Journ. Elmaghraby, Salah E.,: [1] An approach to linear programming under uncertainty. OR JORSA 7 (1959). D' Ε s ο ρ о, D. Α.: [1] A convex programming procedure. Nav. Res. Log. Qu. 6 (1959). Fan, Ky: {1] Existence theorems and extreme solutions for inequalities concerning convex functions for linear transformations. Math. Z. 70 (1958). — [Щ On systems of xonvex inequalities. In The Rand Symp. on Math. iProgr. Proc. of a Conf. R-351 (1960). — L. Glicksberg and A. J. Hoffman: (il) Systems of inequalities involving convex functions. Proc. Amer. Math. Soc. 8 (1957). Farkas, J.: [1] Uber die Theorie der einfachen Ungleichungen. J.. Reine Angew. Math. 124 (1902). Fenchel, W.: [1] Convex cones, sets and functions. Lecture notes, Dept of Math., Princeton Univ. (1953). Flacco, A. V., N. M. Smith and Blackwell: [1] A more general method for лопНпеаг programming. Paper, presented to the 17th National Meeting of the ORSA (I960). Frank, M. and Ph. Wolfe: flj An algorithm for quadratic programming. Nav. Res. Log. Qu. 3 (1956). Freund, R. J.: [1] The introduction of risk into a programming model. Econ. 24 (1956). F г i s с h, R. Α. K·: [1] The logarithmic potential method of convex programming, with particular application to the dynamics of national development. Mem. Univ. Inst, of Economics of Oslo 1955. — [2] The multiplex method for linear and quadratic programming. Mem. Univ. Social. Institute of Oslo 1957. — [3] Quadratic programming by the multiplex method in the general case where the quadratic form may be singular. Mem. Inst, of Economics Univ. of Oslo I960. Foulkes, J. D., W. Prager and W. H. Warner: [1] On bus schedules. Man. Sci. 1 (1954). Gale, D., H. W. Kuhn and W. Tucker: [1] Linear programming and the theory of games. In Chap. XIX of the Cowles Comission for Research in Economics Monograph No. 13. Goldman, A. J. and Tucker A. W. Есть пер.: Го л дм ал, А. Д. и А. У. Τ эккер: [1] Теория линейного программирования См. Кун иТаккер [2]. G о г d а п, Р.: [1] Uber die Auflosung linearer Gleichungen mit reellen Koeffizienten. Math. Ann. 6 (1873). Gould, S.: [1] A method of dealing with certain nonlinear allocation problems using the transportation technique. Op. Res. Qu. 10 . (1959). Griffith, R. E. and (R. A. Stewart: [1] A nonlinear programming technique for the optimization of continuous processing systems. Man. Sci. 7 (1961). Hartley, H. O.: [1] Nonlinear programming for separable objective 288
Junctions and constraints. In The ВДядевдЮскшт on Math Progr. Prod, of a Conf. Rand Report R-ЙШ (1960). — {2] Nonlinear programming by the simplex method. Econ 29 (19Θ1). Hestenes, M. R. and E. Stiefel.: {1] Methods of conjugate gradients for solving linear systems. J. Res. Nat. Bur. Standards 49 (11952). Hi Id re 4 h, C. G.: [1] Point estimates of ordinates of concave functions. JASA49 (1954). — [2] A quadratic programming procedure. Nav. Res. Log. Qu. 4 (1957). Η ο u tha к к е г, Η. S.: [1] The caipacity method of quadratic programming. Econ. 28 (1960). Гурвиц, Л.: [1] Программирование в линейных пространствах. См. Эрроу. Г у ρ в и -и, Удзава [1]. — и X. Удзава: [1] Заметка о седловых точках функции Лагра<н- жа. См. Э ρ ρ о у, Г у ρ в и ц, У д з а в а [1]. Karlin, S.: [1] Mathematical methods and theory in games, programming, and economics. Vol. I and II. London: Addison — Wesley Publishing Company Inc. 1959. — H. N. S h a p i г о: [1] Some simple nonlinear models. The Rand Corp. RM-949 (1952). К a rush, W.: [1] On a class of minimum-cost problems. Man. Sci. 3 (1957). --, (2] a theorem in convex programming. Nav. Res. Log. Qu. 6 (1959). — and A. Vazsonyi: [1] Mathematical programming and employment scheduling. Nav. Res. Log. Qu. 4 (1957). Kelley Jr., J. E.: The cutting plane method for solving convex programs. SIAM 8 (1960). — (2] A general technique for convex programming. To appear in J. Roy. Stat. Soc. — and Ph. Wolfe: [1] Programming with nonlinear constraints. In draft. Кемени Д., Д. Снелл и Д. Томпсон. Введение в конечную 'математику. М., ИЛ, 1963. Klein, В.: [1] Direct use of extremal principles in solving certain optimizing problems involving inequalities. JORSA 3 (1955). Krelle, W.: [1] Preistheorie. Tubingen: J. С. В. Mohr und Zurich: Poligraphfscher Verlag 1961. — und H. P. Kunzi: [1] Lineare Programmierung. Zurich: Verlag Industrielle Organisation 1959. Kuhn, H. W. and A. W. Tucker: [1] Nonlinear programming. In Proc. of the Second Berkley Symposium on Math. Stat, and Pro- bab. Berkley/Cal.: Univ. Press 1950. : [2] Сборник «Линейные неравенства и смежные вопросы», М, ИЛ, 1959. Kunzi, Η. P.: [1] Nichtlineare Programmierung. ZAMM 41 (1961). — [2] Abgekurzte Verfahren beim quadratisohen Programmieren. UFO 5 (1961). — und W. Oettli: fl] Une methode de resolution de programmes quadratiques en nombres entiers. C. r. Acad. Sci. (Paris) 252 (1961). 289
L о e bf H. L.: [1] Algorithms far Chebycheff approximations using the ratio of linear forms. In The Rand Symposium on Math. Progr. Proc. of a Conf. R331 (1960). Mann, A. O.: {I] Concave programming for gasoline blends. JORSAI (1968). Μ а г к о w i t z, H. M.: 11] The optimization of quadratic functions subject to linear constraints. Santa Monica/CaL: The Rand Corporation RM-1438 (1955). — [2] The optimization of a quadratic function subject to linear constraints. Nav. Res. Log. Qu. 3 (1956). — [3] Computing procedures for portofolio selection. Abstract in: Nav. Res. Log. Qu. 1 (1957). Martin, A. D.: [1] Mathematical programming of portofolio selection. Man. Sci. 1 (1955). Merrill, R. P.: [1] Discriiption of computer code for gradient projection method. In The Rand Symposium on Math. Progr. Proc. of a Conf. R-351 (1960). Miller, С Ε.: 11] The simplex method for local separable programming. To appear in: The Math. Progr. Symp. Chicago 1962. Mizuno, Y.: {il] An example of the applied non-linear programming imvolving uncertain elements. Stat. Qual. Contr, 6 (1955). Motzkin, T. S.: [1] Beitrage zur theorie der Linearen Ungleichun- gen. Diss. Basel 1933. — [2] Ramification of optimization theory. The Rand Symposium on Math. Progr. Proc. of a Conf. R-351 (1960). Neumann, J. von, and O. Morgenstern: [1] Theory of games and economic behavior. Princeton: Univ. Press 1944 (3rd Edition 1953); О r d e η, Α.: [1] Survey of research on mathematical solusions of programming problems. Man. Sci. 1 (1955). — [2] Minimization of indefinite quadratic functions "with linear constraints. To appear in: The Math. Progr. Symp. Chicago 1962. Peuchot, M.: fl] Research in convex program solving. In Proc. of the Second Intern. Conf. on OR. Aix-en-Provence 1960. Rademacher, H. and I. J. Schoenberg: [1] Helly's theorem on convex domains and Tschebycheff's approximation problem. Can. J. Math. 2 (1950). Riley, and S. I. Gass: [1] A bibliography of linear programming and associated techniques. Baltimor: Johns Hopkins Univ. Press 1958. Rosen, J. В.: [1] The gradient projection method for nonlinear programming, Part 1—Linear constraints. SIAM 8 (1960). — (2] The gradient projection method for nonlinear programming, Part II — Nonlinear constraints. In The Rand Symposium on Math. Prog. Proc. of a Conf. R-351 (1960) and SIAM 3 (1961). — (3] Stability of differential equations and equivalent nonlinear programming problem. Notices Amer. Math. Soc. 7 (1960). R о s s m a n, M. J. and M. N. Kellogg: [1] A manual optimization of nonlinear systems with numerous feasible solutions. OR JORSA 5 (1957). R u t i s h a u s e r, H.: [1] Zur Matrizeninversion nach Gaus — Jordan. Ζ AMP X (1959). Saline, L. E.: [1] Quadratic programming of interdependent activities for optimum performance. Trans. Amer. Soc. Math. 78 (1956).
Shepard, R. W.: [1] Nonlinear programming. 2. Teil: Kuhn-Tackef- scher Lehrsatz, Quadratic Programming und Gradientenmethode Qual. u. OR. 1 (I960)'. — 12] Nonlinear programming. Teil 1: Lineare Darstellung trennbarer konkaver Funktionen bei einem Proauctionsprogramm. Qual. u. OR. 10 (Ί960). Shetty, С Μ.: {1] A solution to the transportation problem with nonlinear costs. OR JORSA 7 (1959). Simon, Η. Α.: [1] Dynamic programming under uncertainty with a gramming. Trans. Amer. Soc. Mech. 78 (1956). S1 a d e Jr., J. J.: [1] Some observations on formal models for programming. Trans. Amer. Soc. Meek 78 (1956). Slater, M.: [1] Lagrange multiplier revisited: A contribution to nonlinear programming. Santa Monica/CaL: The Rand Corp. RM-676 (1951). Smith, D. M.: [1] Techniques for block anqular and nonlinear programming, problems. In The Rand Symp. on Math. Prog. Proc. of a Conf. R-351 (H960). S t i e f e 1, E.: [1] Relaxationmethoden bester Strategie zur Losung linearer Gleichungssysiteme. Comment. Math. Helv. 29 (1955). — {2] Einfuhrung in die Numerische Mathenratik. Stuttgart: Teubner Verlagsgesellschaft 1961. S t i e m к e, E.: [1], Uber positive Losungen homogener linearer Glei- chungen. Math. Ann. 76 (1915). Theil, and Van de Panne: [1] Quadratic programming as an extension of conventional quadratic maximization. Math. Sci. 7 (1961). Therme, M.: [1] Solution and graphic discussion of a nonlinear programme. In Proc. of the 2nd Intern. Conf. on OR Aix-en-Pro- vence i960. Thrall, R.: [1] Some results in nonlinear programming. Part I. Santa Monica/Gal.: The Rand Corp., RM-909 (1952). — [2] Some results in nonlinear programming. Part II. Santa Monica 3 Cal.: The Rand Corip., RM-935 (1952). — [3] Some results in nonlinear programming. In Second Symp. in Linear Programming, Vol. II. Washington: Nat. Bureau of Standards 1955. Τ a κ κ e ρ А. У.: [1] Двойственные системы линейных однородных (соотношений. См. Кунн Таккер [2]. Tucker, A. W.: [2] Linear and nonlinear programming. OR JORSA 5 (1957). Уд зава, Χ.: [1] Теорема Куна — Таккера о вогнутом программировании. См. Эрроу, Гур.вщ, Уд зав а (1). —: [2] Градиентный метод для (Вогнутого программирования. II. Глобальная устойчивости в строго вогнутом случае. См. Эрроу, Гурйид, Удзава (1). . —: [3] Итерационные методы вогнутого программирования. См. Эр- фоу, Гурвиц, Удзава (1). —: [4] Теорема о выпуклых многогранных конусах. См. Эрроу, Гур- 1внц, Удзава (1). Uzawa, H.: [5} Market mechanism and mathematical programming. Econ. 28 (1960). Vajda, St.: [1} Mathematical programming. London: Addison — Wesley Publ. Сотр. Inc. 1961. 291
Van d e Panne, C: [il] A quadratic programming method. To appear in: The Math. Prog Symp. Chicago 1962. — G. J. Aver ink: [1] Imperfect management decisions and predictions and their financial implications in dynamic quadratic cost minimization. Stat. Need. 15 (19Θ1). Vazsonyi, Α.: [1] Optimizing a function of additively separated variables subject to a simple restriction. Second Symp, in Linear Programming, vol. И, Nat. 'Bureau of Standards, US Dep. of Commerce 1955. Wagner, P.: [I] A non linear extension of the simplex method. Man. Sci. 7 (I960). W а г g a, J.: [1] Convex minimization problems I. RAD technical Memo TM-59-20. Wilmington/Mass.: Res. and Adv. Devel. Division 11959. — [2] Convex minimization problems II (The transportation problem). RAD technical Memo TM-5901. Wilmington/Mass.: Res. and Adv. Devel. Division 1959. — [3] Convex minimization problems III, Linear programming. RAD technical Memo TM-59-22. Wilmington/Mass.: Res. and Adv. Devel. Division 1959. Wegner, P.: [1] A nonlinear extension of the simplex method. Man. Sci. 7 (1961). Wilde, D. J. and A. Acrivos: [11 Minimization of a piecewise quadratic function arising in scheduling. OR JORSA 8 (1960). W i t ζ g a 11, Ch.: [1] Gradientnprojection methods for linear programming. Princeton IBM Math, iRes. Proj. Teohn. Rep. 2 fl960). — [2] On the gradient projection methods of R. Risen and J. B. Rosen. To appear in: The Math. Prog. Symp. Chicago 1962. Wo He, Ph.: [1] The simplex method for quadratic programming. Econ. 27 (1959). — [2] A duality theory for nonlinear programming. Santa Monica/Cal.: The Rand Corp. P^2028 (1960). — [3] Recent developments in nonlinear programming, Part I. Santa Monica/Cal.: The Rand Corp. P-2063 (1960). — (4] Some simplex-like non linear programming procedure. In Proc. of the Second Intern. Conf. on OR Aix-en-Provence 1960. — [5] The Rand symposium on mathematical programming. Santa Monica/Cal.: The Rand Corp. R-351 (1960). — [6] Methods of non linear programming. To appear in: Math. Prog. Symp. Chicago 1962. Zoutendijk, G.: [1] Studies in nonlinear programming. Some remarks about the gradient projection method of nonlinear programming. Koninklije/Shell — Laboratorium, Amsterdam, Sept. 01957). -г- [2] Maximizing a function in a convex region. J. Roy. Stat. Soc. 21 В (1959). — [3] Методы возможных направлений. М., ИЛ, 1963. Ζ и г m u h I, R.: [1] Matrizen, eine Darstellung fur Ingenieure, 3, Aufl. Berlin — Gottingen — Heidelberg: Springer — Verlag 1961, 292
Дополнительная литература* 1. Березия И. С. и Жидков Н.41. Методы вычислений, т. II, Μ., ΦΜ., 1959. 2. Курош А. Г. Курс высшей алгебры, М., Гостехиздат, 1956. 3. Мальцев А. И. Основы линейной алгебры, М., Гостехиздат, 1956. 4. Фаддеев Д. К. и Фаддеева В. Н. Вычислительные методы линейной алгебры, Μ., ΦΜ, 1960. 5. Ш в л о в Г. £. Введение в теорвю линейных пространств, М., Гостехиздат, 1956. 6. Юдин Д. Б. и Гольштейн Ё. Г. Задачи и методы линейного программирования, М., Изд-во «Советское радио», 1961г 7. Юдин Д. Б. и ГольштеИн Е. Г. Линейное программя- рование, Μ., ΦΜ, 1963. * Добавлена редактором.
ПРЕДМЕТНО-ИМЕННОЙ УКАЗАТЕЛЬ Алгебраическое дополнение 25 Алгоритм Баранкина — Дорф- мана 186 — Вулфа 10, 162 — Гаусса 29, 53 связанный 31, 36 — Зойтендейка 251 Базис 43 Базисное решение 74 допустимое 75 невырожденное 75 Баранкина—Дорфмана условия 104 Бнл 149, 187 Ван де Панн 188 Вектор-градиент 54 Вектор допустимый 62 — /-й единичный 21 — нормированный 18 — оптимальный 63 Вектор-столбец 16, 85 Вектор-строка 17 Векторы 16 — ,базис 43 — взаимно-перпендикулярные 18 — компоненты 17 — ,линейная зависимость 21, 22 — .линейная комбинация 20 — линейно независимые 21 — ,модуль 18 — л-мерный 17 — .норма 18 — ортогональные 18 — ,скалярное произведение 18 Витцгалл 235 Вулф ι106, 161, 185, 190, 195, 196,211,264 Выпуклое множество точек 54 Выпуклые области 54, 56 — функции 54 Вырожденность 81, 223, 242, 277 Гаусса треугольное разложение 51 Гиперплоскости линейно независимые 213 Голдман 59 Гордон 59 Градиентные методы 203 ■ Лагранжа 209 математического программирования 207 , прямой 208 с конечным шагом 211 Граничная точка 84 Гурвиц 5, 90 Гурвич 210 Данциг 273 Двойственные линейные программы 61 — квадратичные программы 105 Двойственные однородные системы 59 Деннис 106 Допустимая область 84 —■ —, внутренняя точка 84 Допустимая программа 84 разрешимая 84 Допустимая точка 83 Допустимое направление 249 Дорн 106 Д'Эзопо 110- 294
Задачи двойственные 68 — , оптимальное значение 65 со смешанными ограничениями 68 , формулировка 108 — максимизации 61, 62, 65, 213, 229, 232, 246, 254, 266 выпуклой функции 207, 235 допустимая 62 , оптимальный аектор 63 — минимаксная 89 — минимизации 65, 115, 143, 149, 159, 172, 178, 199, 270, 277 квадратной формы 204 — назначения 9 — определения оптимального производственного плана 8 Зацикливание 80 Зойтендейк 5, 11, 57, 205, 211, 250, 256, 265, 266, 269 Квадратичная программа 161 двойственная 105 — форма 47 Крамера формула 28 Крелле 5, 8, 9, 59, 73, 83, 101, 118 Критерий оптимальности 215, 243 Куна — Таккера 143 Куна — Таккера условия 10, 96, 97, 103, 108—110, 128, 138, 141, 185, 264, 272, 277 локальные 93 оптимальности 211 Куна — Таккера теорема 88, 125, 127, 216, 265, 273 Кун 92 Кюнци 5, 6, 9, 59, 73, 83, 101, 118 Лемма центральная в теории двойственности 60 Линейная оболочка 42 Линейная программа 59 двойственная 59 , запись в матричной форме 62 Линейная форма 18 Линейное программирование Марковиц Ϊ6Ι - Матрица 13 —, главная диагональ 13 — единичная 14, 21 ^ - — квадратная 13 , главная диагональ 13 — —^ диагональная 13 симметричная 14, 42, 48 неотрицательно определенная 48 — . отрицательно определенная (полуопределенная) 48 . положительно определенная 48, 50, 53 положительно полу- определеиная 48 строго положительно определенная 48 — клеточная 227 кососиммегричная 15 — неособенная 23, 42 — нормальная 148 — нулевая 14 — л-го порядка 44 — обратная 24 , вычисление 220 — проектирование 44, 46, 215 —, произведение иа вектор- столбец 20 —, ранг 21, 42 —, — определение 39 — транспонированная 14 —, умножение иа число 15 —, элементы 13 Матриц произведение 15 — сумма 15 Метод Баранкина — Дорфмана 10, 185, 190, 195 — Била 10, 135, 250, 252 — Гаусса —* Зейделя итерационный ПО — Данцига 221 — допустимых направлений 249 — Зойтендейка 10 — итерационный Хилдрета 10 — множителей Лаграижа 88, 98 — проб и сравнений 118, 244 — проектируемых градиентов 212, 229 — Розеиа 7, 212, 221, 235, 252 -. , алгоритм 229 295
— Рутисхаузера 39 — скорейшего спуска 204 — сопряженных градиентов 205 — симплексный 10, 73, 80—82, 136, 161, 221, 225 — Тейла н ван де Панна 10, 118—120, 131, 132, 277 — Франка н Вулфа 10, 190, 195, 197 , иллюстрирующий пример 198 — Фрнша и Розена 7, 10, 211, 235 мультиплексный 235 , алгоритм 243 — Хаутеккера 1,1, 132, 273 параметрический 270 — Хестенса — Штифеля 205— 207 — Хнлдрета и Д'Эзопо 108 — Эйлера 205 Минимум глобальный 58, 113 — локальный 58, 113 Многообразие 42 Множители Лагранжа 88, 209 Моргенштерн 61 Моцкнн 61, 118 Нейман 61 Нелинейное программирование 5, 7, 10 Непрерывность оператора 112 Обобщенная функция Лагранжа 88 Ограничения допустимые 62 — жесткие 68 — нежесткие 68 — столбцовые 62 — строчные 62 Опорный элемент 78, 155 Определитель 23 — Грама 238 Оптимальные векторы 63 Оптимальный луч 76 Ортогональная траектория 204 Пара двойственных ограничений 67 линейных программ со смешанными ограничениями 68 Переменные зависимые 137, 235 296 — независимые 137, 235 — свободные 140 Подходящее направление 250 Правило дополнительное 165 Правило знаков 266 Принцип сопрнженностн 252 Подмножество собственное 121 Подпространство 42 Программа выпуклая 83 — двойственная 105 линейная 61 — квадратичная 270 Программирование выпуклое 5 — квадратичное 5, 99, 101 — линейное 5, 7, 59 — математическое 5 — нелинейное 5, 7 Райф 118 Ранг системы векторов 22 Расстояние между векторами 18 Регрессивное движение по границе 237, 240 Решение (оптимальное значение) программы 84 Розен 212 Сильвестра условие 53 Система линейных уравнений , решение методом оределнтелей 28 , решение с помощью алгоритма Гаусса 29, 31 Слейтер 92 Строго выпуклые функции 55 Таблица знаков 132, 135 Таккер 59, 60, 92 Тейл 118 Теорема двойственности 63, 66, 173 — о разделяющей гиперплоскости 90 — о седловой точке $9^ — существования 63, 66 — Фаркаса 73, 97 Тролл 118 Удзава 3, 90, 210
Фаркас 61 HypMioj^ut Ш, 114 Франк 195 Фройнд 9 Чарнс 80 Функция вогнутая 57 — Лагранжа 103, 210 Штимке 61 — строго вогнутая 57 Штифель 205 — цели 83 ^ Элемент матрицы произведения Хаутеккер 277 _ 19 _. м 01Л Хестенс205 Эрроу 5, 90, 210 Хнлдрет ПО Эттлн9
СОДЕРЖАНИЕ Предисловие редактора перевода 5 Из предисловия авторов 7 Глава первая. Математические основы 13 1. Матрицы 13 2. Операции над матрицами 14 3. Векторы 16 4. Линейная зависимость векторов и ранг матрицы .... 21 5. Присоединенная и обратная матрицы 24 6. Решение системы линейных уравнений 27 7. Вычисление обратной матрицы 35 8. Определение ранга матрицы 39 9. Матрица проектирования 42 10. Квадратичные формы, определенность 47 11. Выпуклые области и функции 54 Глава вторая. Линейное программирование 59 1. Двойственная система линейных однородных соотношений 59 2. Теория линейного программирования 61 3. Двойственная задача со смешанными ограничениями . . 68 4. Симплексный метод · 73 Глава третья. Выпуклые программы 83 1. Введение 8^ 2. Теорема Куна—Таккера 88 Глава четвертая. Квадратичное программирование ... 99 1. Постановка задачи 99 2. Характеристика решений 103 3. Двойственные квадратичные программы 105 Глава пятая. Метод Хилдрета и Д'Эзопо 108 1. Формулировка двойственной задачи 108 2. Решение двойственной задачи ПО 3. Доказательство сходимости. Π2 4. Схема вычислений и пример 114 298
Глава шестая. Метод Тейла и ван де Панна .118 1. Введение 118 2. Основа метода 119 3. Алгоритм 123 4. Доказательства 127 5. Примеры · 132 Глава седьмая. Метод Била· 136 1. Введение · . · . 136 2. Обоснование метода 136 3. Примеры и схема вычислений ' 149 Глава восьмая. Метод Вулфа 161 1. Введение 161 2. Частный вариант 162 3. Общий вариант 167 4. Доказательства 171 5. Пример 178 Глава девятая. Метод Баранкина и Дорфмана 185 1. Введение 185 2. Алгоритм Баранкина и Дорфмана 186 3. Вычислительная схема и пример 190 Глава десятая. Метод Франка и Вулфа 195 1. Описание 195 2. Пример, иллюстрирующий метод Франка и Вулфа ... 198 Глава одиннадцатая. Градиентные методы 203 1. Введение 203 2. Метод сопряженных градиентов 205 3. Градиентные методы математического программирования 207 Глава двенадцатая* Метод проектируемых градиентов Розена 212 1. Введение 212 2. Алгоритм Розена 215 3. Вырожденность 223 4. Вычисление матриц проектирования 226 5. Подробный алгоритм метода Розена . . . . 229 6. Пример 232 Глава тринадцатая. Мультиплексный метод Фриша . . . 235 1. Введение 235 2. Общее описание метода 235 3. Движение, перпендикулярное к элементу границы произвольной размерности 237 4. Регрессивное движение по границе области ...... 240 5. Критерий оптимальности 243 6. Подробный алгоритм мультиплексного метода Фриша . . 243 7. Пример „. . . 246 Глава четырнадцатая. Метод допустимых направлений ЗойтенДейка 249 1. Введение 249 29»
2. Алгоритм Зойтеидейка 251 3. Два примера на случай Nt 254 4. Пример иа случай Νι 264 Глава пятнадцатая. Параметрический метод Хаутек- кера 270 1. Введение 270 2. Правила вычислений х 273 3. Примеры 277 Литература 286 Предметно-именной указатель 294
Новые книги Ι9ξδ года по технической кибернетике Голь штейн Е. Г., Юдин Д. Б. Новые направления в линейном программировании. Издательство «Советское радио», 29 л., 20 000 экз., цена 1 р. 55 к., III кв. Книга содержит систематическое изложение пер-* спективных и важных для практики направлений в линейном программировании, разработанных в последние годы. Отдельные главы книги посвящены целочисленному, блочному, параметрическому и стохастическому программированию — разделам линейного программирования, возникшим из-за необходимости учета таких факторов, как стандарты при проектировании, ограниченная оперативная память ЦВМ и особенности управления в условиях неопределенности. В книге подробно аписы* ваются также методы решения сетевых задач и взаимо* связь методов линейного программирования и теории игр. Книга предназначена для широкого круга математиков, инженеров и экономистов, работающих в области математический экономики, автоматического регулирования, исследования военных операций и системотехники. Книга может быть использована также аспирантами и студентами, специализирующимися по вычисли-* тельной математике, математической экономике, автоматическому регулированию, исследованию операций и проектированию больших комплексов и систем современной техники. Основы исследования операций в военной технике. Коллектив авторов, под общей ред. Ю. В, Чу ев а. Из- 301
дательство «Советское радио», 27 л., 10 000 экз., цена 1 р. 45 к., III кв. В книге рассматриваются основные характеристики изделий военной техники, их надежность, эффективность, экономичность и т. д. Даются методы оценки этих характеристик в различных боевых и эксплуатационных ситуациях при помощи ' аналитических методов и метода статистического моделирования. Рассматриваются задачи оценки эффективности вооружения в различных боевых ситуациях с учетом его качества, надежности и различных форм противодействия противника. Приводятся сведения о классических и новых математических методах оптимизации, применяемых при решении военно-технических задач. Особенно подробно излагается метод статистического моделирования на электронных вычислительных машинах. Изложенный в книге материал поясняется на многих примерах. В приложении к книге приводятся таблицы, предназначенные для облегчения расчетов. Книга предназначается для широкого круга инженеров, имеющих дело с вопросами разработки, испытания, производства и эксплуатации военной техники. Бородин Л. Ф., Груш ко И. И. Введение в теорию помехоустойчивого кодирования. Издательство «Советское радио», 21 л., 10 000 экз., цена 1 р. 15 к., IV кв. В книге обсуждаются основные задачи теории помехоустойчивого кодирования и указываются методы их решения. Рассматриваются общие вопросы теории линейных кодов и методы построения кодов, оптимальных с точки зрения различных критериев. Обсуждаются некоторые проблемы нелинейного кодирования. Исследуются различные оптимальные и подоптимальные способы приема и декодирования. В качестве основного математического аппарата исследования линейных кодов применяется элементарная теория линейных форм над конечными полями, основные сведения из которой приводятся в соответствующих разделах книги. Книга рассчитана на широкий круг инженеров, научных сотрудников, преподавателей вузов и студентов старших курсов, специализирующихся в области радиотехники, радиофизики, автоматики и кибернетики. 302
Наука — feXHUKu — управление — Сзязь и интеграция научных исследований, техники и технологии, организации и управления производством в США.-т-ф. Каст и Д. Розенцвейг, профессора Вашингтонского университета,— Изд. 1963 г.— Пер. с англ. Объем 25 π л тираж 20 000 экз., цена 1 р. 85 к., IV кв. 1965 г. ·.. В книге дается анализ накопившегося в США опыта: — связи науки, техники, технологии, организации и управления в плане решения проблем современного производства; — организации научных исследований, связанных с производством новых видов вооружения; — использования результатов этих исследований в новой технике и новой технологии; — развития науки организации и управления производством, стоящей на уровне требований передовой техники и технологии. Эти проблемы были предметом дискуссии на конференции в Сиеттле, в которой приняло участие свыше девятисот ученых, руководителей крупнейших промышленных компаний, правительственных учреждений, университетов, вооруженных сил США. Стенограммы 24 докладов, прочитанных организаторами крупнейших центров исследований и производства, легли в основу настоящей книги. В отдельных главах освещается опыт исследований и производства новой техники для наземных, воздушных и морских во- оруженнных сил, для исследования и освоения космоса. Этот опыт обобщен в программных докладах о планировании науки, техники и технологии, об организации информации, о программах исследования проблем организации и управления. Книгу с неослабевающим интересом будут читать и изучать ученые, исследователи, инженеры, экономисты, руководители предприятий, аспиранты, студенты, работники промышленности, транспорта, связи, систем планирования, высших учебных заведений, исследовательских институтов и лабораторий. Заказы на книги сдавайте заблаговременно в местные магазины книготорга. Издательство никаких заказов не принимает. 303
Редактор Н, Д. Иванушка Техн. редактор В, В. Беляева Художественный редактор В* Т. Сидоренко Сдано в набор 9/ХН 1964 г. Подписано к печати 20/Ш 1965 г. Формат бумаги 84хЮ8/и Объем 15,96 п. л. Уч.-изд. л. 12,112 Тираж 8500 экз. Цена в пер. № 5—96 к. Темплан 1965 г. № 59 Заказ 1704 Московская типография № 10 Главполнграфпрома Государственного комитета Совета Министров СССР по печати. Шлюзовая наб., 10*