Текст
                    МАТЕМАТИЧЕСКОЕ
ПРОГРАММИРОВАНИЕ
и электрические цепи


JACK В. DENNIS MATHEMATICAL PROGRAMMING and ELECTRICAL NETWORKS The Massachusetts Institute of Technology and John Wiley & Sons, Inc., New York 1 959
Дж. Б. Деннис МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ И ЗЛЕКТРИЧЕСКИЕ ЦЕПИ Перевод с английского 10. Ф. Кичатова и В. Н. Новосельцева Под редакцией канд. техн. наук А. М. Петровского С предисловием д-ра техн. наук Д. Б. Юдина И 3 Д А Т Е Л Ь С Т В О ИНОСТРАННОЙ ЛИТЕРАТУРЫ Москва 1961
АННОТАЦИЯ Эта книга главным образом посвящена обсуждению аналогии между теорией электрических цепей и математи¬ ческим программированием. На основе этой аналогии дается физическая интерпретация основных результатов математического программирования. Книга предназначена для математиков, инженеров и экономистов, интересующихся задачами математиче¬ ского программирования и разрабатывающих методы решения этих задач. Редакция литературы по вопросам техники
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ За последние годы в СССР и за рубежом опубликован ряд работ, посвященных математическим основам линейного программирования, методам решения общей и частных задач линейного программирования и приложению этих методов к экономическим, военным, техническим и матема¬ тическим проблемам. Важные результаты в этой области обобщены и сформулированы применительно к некоторым нелинейным экстремальным задачам с ограничениями в виде равенств и неравенств. Все вопросы, связанные с подоб¬ ного рода задачами, объединены в зарубежной литературе под общим названием — математическое программиро¬ вание. Развитие цифровых вычислительных машин содейство¬ вало совершенствованию методов математического програм¬ мирования и успешному использованию этих методов для решения практических задач. В то же время в поисках экономных путей решения трудоемких задач естественно было обратиться к аналоговому моделированию задач ма¬ тематического программирования. Проф. JI. В. Канторович в свое время предложил гидравлическую модель для реше¬ ния транспортной задачи х). Предлагались и другие физи¬ ческие аналоги для простых задач линейного программиро¬ вания. Однако только в книге Дж. Б. Денниса «Математи¬ ческое программирование и электрические цепи» изложе¬ ние одной из физических интерпретаций задач математи¬ ческого программирования проведено с полнотой и обстоя¬ тельностью, достаточной для практической реализации мо¬ дели. *) См. сб. «Проблемы повышения эффективности работы транспор¬ та», АН СССР, 1949. 5
Давно известно, что в цепях, содержащих источники тока и сопротивления, распределение токов в ветвях, мини¬ мизирующее мощность, рассеиваемую на сопротивлениях, удовлетворяет законам Кирхгофа. Однако формулировка принципа экстремальности для электрических цепей, содержащих, помимо источников тока и сопротивлений, также диоды, принадлежит, по-видимому, Деннису. Автор установил тесную связь между теорией электрических цепей и математическим программированием и получил изящную физическую интерпретацию основных результа¬ тов этой математической дисциплины. В частности, одно из положений принципа двойственности интерпретируется в электрических цепях как принцип сохранения энергии. Рассуждения в терминах и понятиях теории электрических цепей позволили автору построить достаточно эффектив¬ ные методы решения некоторых частных, но важных за дач линейного программирования. Однако предложенные Деннисом электрические модели вряд ли можно рекомен¬ довать в качестве универсального практического способа решения задач математического программирования. В зада¬ чах с большим количеством переменных аналоговые модели не могут конкурировать с цифровыми вычислительными машинами. Кроме того, относительно точное решение задач требует источников тока и напряжений высокой стабиль¬ ности, диодов с характеристикой, достаточно близкой к идеальной, прецизионных сопротивлений и высококачест¬ венной измерительной аппаратуры. Тем не менее в задачах со сравнительно небольшим числом переменных простые электрические модели могут оказаться наиболее эконо¬ мичным средством решения задач математического про¬ граммирования. Это в первую очередь относится к зада¬ чам нелинейного программирования, для которых до сих пор нет тщательно отработанных алгоритмов решения. Для устойчивых задач математического программиро¬ вания (а с такими задачами на практике приходится встре¬ чаться весьма часто) установившееся распределение токов в цепи, составленной из серийных элементов без специаль¬ ных мер стабилизации их параметров, как правило, будет незначительно отклоняться от распределения, соответст¬ вующего оптимальному плану задачи. Для задач линейного программирования можно оценить допустимый разброс, параметров элементов схемы, при котором отклонение установившегося распределения токов от решения задачи в
не превысит допустимого. Исходные соображения для по¬ добных оценок содержатся в работе X. Д. Милса «Мар¬ гинальные значения матричных игр и задач линейного программирования» (см. сб. «Линейные неравенства и смеж¬ ные вопросы», Издательство иностранной литературы, М., 1959). Основные результаты этой работы при весьма общих условиях могут быть распространены и на нелинейные за¬ дачи. Большая часть книги Денниса посвящена обсуждению аналогии между теорией электрических цепей и математи¬ ческим программированием и вытекающим отсюда методам решения специальных задач линейного программирования. Несмотря на это, можно утверждать, что компактное оригинальное изложение в книге основных вопросов ма¬ тематического программирования представляет самостоя¬ тельный интерес и заслуживает внимания. Читатель, инте¬ ресующийся только математическими аспектами нелинейного программирования, может без ущерба опустить гл. 3, 4 и изучить гл. 1, 2, 7 и приложения А, В, Г, Д и Е. Можно надеяться, что предлагаемая книга будет способ¬ ствовать ознакомлению советских специалистов — мате¬ матиков и инженеров, с новой дисциплиной — математичес¬ ким программированием, и привлечет их внимание к возможности применения моделирования к решению широкого круга важных для приложений экстремальных задач. Д. Б. Юдин
ГЛАВА 1 Новая точка зрения на математическое программирование Недавно было замеченочто некоторые простые задачи линейного программирования могут быть решены построе¬ нием эквивалентных электрических цепей, содержащих источники напряжения, источники тока и идеальныедиоды2). Если источники напряжения и тока выбраны в соответствии с исходными данными задачи программирования, то опти¬ мальное решение может быть получено простым измерением токов и напряжений в соответствующих точках цепи. Други¬ ми словами, в такой электрической цепи автоматически устанавливается распределение токов, воспроизводящее оптимальное решение задачи программирования. Основная цель настоящей работы состоит в возможно более полном исследовании этой интересной связи между математическим программированием и свойствами электрических цепей. Представляет интерес вопрос, может ли аналогия, лежа¬ щая в основе этой связи, добавить что-либо существенное к нашим знаниям в области математического программиро¬ вания. Действительно, некоторые задачи программирова¬ ния можно решить при помощи электрических моделей, но этому способу не следует отдавать предпочтение, осо¬ бенно если принять во внимание эффективность применения для решения задач этого класса цифровых вычислитель¬ ных машин. Какое же значение имеет исследование таких Это положение выяснилось в результате неофициальных сове¬ щаний по вопросам теории цепей в Массачусетском технологическом институте осенью 1956 г. (однако основная заслуга принадлежит здесь проф. Мэсону и Ардену). 2) Вопрос о моделировании задач линейного программирования поднимался советскими учеными значительно раньше. Здесь следует упомянуть гидравлическую модель решения транспортной задачи, предложенную проф. Канторовичем Л. В.—Прим, ред. 9
электрических моделей для математического программи¬ рования? Ответ на этот вопрос может быть получен при срав¬ нении отношения к задаче оптимизации специалиста в области теории операций и подхода специалиста в области электро¬ техники к задаче анализа цепей. Первый почти всегда ис¬ пользует термины минимизации или максимизации при наличии ограничений. Электротехник же просто изучает распределение токов и напряжений, которое удовлетворяет условиям, наложенным свойствами цепи. При этом он редко размышляет о минимизации и, возможно, даже не представ¬ ляет, что существует соответствующий принцип экстремума. Таким образом,наиболее важная особенность элект¬ рической аналогии состоит в том, что она дает физи¬ ческую модель задачи математического программирования как системы условий, которые должны быть удовлетворены (формулировка Лагранжа), а не обычную геометрическую картину минимизации функции на ограниченном множестве. Сводка результатов Изучение аналогии, о которой говорилось выше, позво¬ лило получить ряд интересных результатов. В гл. 3 показано, что решение любой электрической цепи, составленной из источников напряжения, источников тока, идеальных диодов и идеальных трансформаторов, эквива¬ лентно определению оптимального решения задачи линей¬ ного программирования. Кроме того, справедливо также и обратное утверждение: любая задача линейного програм¬ мирования может быть промоделирована с помощью элект¬ рической цепи из перечисленных выше элементов четырех типов. Каждой из трех основных теорем линейного прог¬ раммирования — теореме двойственности, теореме сущест¬ вования решений и теореме о дополняющей нежесткости — может быть дана изящная физическая интерпретация при рассмотрении электрических цепей. Добавление линейных сопротивлений к этим электричес¬ ким элементам обеспечивает (как это показано в гл. 3) более широкую эквивалентность между задачами квадратичного программирования с линейными ограничениями и электри¬ ческими цепями. Утверждения теорем двойственности и существования решения для квадратичного программиро¬ вания являются непосредственным следствием этого рас¬ ширения эквивалентности. Теорема двойственности квад- ю
ратичного программирования в свою очередь предполагает справедливость принципа двойственности для программиро¬ вания при вогнутых функциях, сформулированного в гл. 2. Эти результаты связывают известное соотношение двойственности в линейном программировании и принцип двойственности, сформулированный Курантом и Гильбер¬ том для обычной задачи минимизации при наличии огра¬ ничений [5]. Возможно, более важной, чем теоретические результаты, является новая интерпретация алгоритмов решения задач программирования, полученная на основе аналогии с элек¬ трическими цепями. В гл. 4 показано, что задача о распре¬ делении потока в цепи с заданной пропускной способ¬ ностью (являющаяся обобщением хорошо известной транс¬ портной задачи) может быть промоделирована с помощью электрической цепи, состоящей только из источников напряжения, источников тока и диодов. Любое распре¬ деление токов, которое удовлетворяет условиям, наложен¬ ным электрической моделью, представляет собой опти¬ мальное распределение потока в цепи с заданной пропуск¬ ной способностью. Электрические цепи, содержащие только диоды и источники, являются наиболее важными из всех рассматриваемых моделей, так как для их решения могут быть применены методы (как в случае транспортной задачи), включающие из арифметических операций только сложение и вычитание. Такой алгоритм для решения цепей, содержащих только источники и диоды, и поэтому примени¬ мый к решению задач об оптимальном распределении пото¬ ка в цепи, рассмотрен в гл. 4. Поскольку этот метод поз¬ воляет найти решение произвольной цепи, содержащей источники и диоды, он охватывает также задачи о распреде¬ лении потока, в которых единичная стоимость может быть отрицательной, или задачи, в которых на поток наложены ограничения снизу. Метод является достаточно гибким и позволяет использовать полученное решение цепи в качестве исходного для получения решения цепи при других значе¬ ниях параметров. Важным понятием, связанным с алгоритмом решения цепей, содержащих источники и диоды, является понятие кривой критических состояний. Рассмотрим цепь, содержа¬ щую источники и диоды, в которой для внешнего наблюдения доступны два вывода. В гл. 3 показано, что комбинация допу¬ стимых значений токов и напряжений на этой паре выводов 11
образует последовательность отрезков ломаной, или кривую критических состояний. Рассмотренный выше алгоритм основан на методике движения по кривой критических состояний и связан с методом, предложенным Фордом и Фул¬ керсоном для транспортной задачи [15]. В гл. 5 настоящей работы дается описание процесса движения по кривой кри¬ тических состояний, наблюдаемой на паре выводов произ¬ вольной цепи, состоящей из диодов, источников, сопротив¬ лений и идеальных трансформаторов. Этот процесс сводится к небольшому изменению основных правил, относящихся к симплексному методу Данцига [9] для линейного прог¬ раммирования, и может рассматриваться как физическая модель, соответствующая этому методу Методика движения по кривой критических состояний применима к решению общих задач линейного и квадратич¬ ного программирования. В гл. 6 сформулированы два алгоритма, использующие такую методику. Первый из них сходен (но не идентичен) с симплексным методом. Второй эквивалентен алгоритму для одновременного решения прямой и двойственной задач линейного программирования, предложенному Данцигом, Фордом и Фулкерсоном [10]. Однако такая методика применима также к квадратичному программированию и, следовательно, эквивалентна некото¬ рому обобщению метода, предложенному Вулфом [29]. Заключительная глава этой монографии посвящена рассмотрению метода получения оптимального решения общей задачи программирования. Градиентные методы в течение долгого времени использовались для минимизации функций многих переменных. В последнее время появился широкий интерес к применению градиентных методов для решения задач минимизации при ограничениях в форме неравенств, т. е. к общей задаче программирования. В мето¬ де, описанном в гл. 7, производится определение направле¬ ния наискорейшего спуска, т. е. допустимого направления, движение по которому обеспечивает наибольшую скорость убывания целевой функции Ч Допустимое направление — это такое направление, по которому можно двигаться от точки, соответствующей данному состоянию, не нарушая ограничений задачи программирования. Показано, что этот метод обеспечивает получение оптимального вектора х) Вместо термина «целевая функция» часто используется термин «показатель (критерий) качества решения задачи».—Прим. ред. 12
задачи квадратичного программирования на каждом шаге процесса наискорейшего спуска. Указанный метод не тре¬ бует большого объема вычислений, что могло бы воспре¬ пятствовать его применению, так как после каждого шага получается очень хорошее исходное решение задачи квадра¬ тичного программирования для следующего шага. Оказы¬ вается, что непосредственное определение направления наискорейшего спуска имеет большие преимущества по срав¬ нению с другими градиентными методами, которые пред¬ лагались для решения общей задачи программирования. В гл. 2 рассмотрены общие вопросы математического программирования, приведены условия эквивалентности относительного и абсолютного минимумов и дана формули¬ ровка метода Лагранжа. Там же рассмотрены частные слу¬ чаи линейного и квадратичного программирования и даны основные теор емы. Обозначения Приведенные ниже условные обозначения применяются во всей монографии, за исключением гл. 4, где матричные обозначения не используются. Строчные буквы х, у, ... обозначают векторные вели¬ чины и везде рассматриваются как матрицы-столбцы. Векторное неравенство х > у или х > у всегда означает, что указанные неравенства выполняются между всеми парами соответствующих компонент векто¬ ров х ц у. Прямоугольные матрицы обозначаются про¬ писными буквами. Отдельные компоненты векторов (столб¬ цов) или элементы прямоугольной матрицы отличаются индексами ап #12 * * * #.171 л = |ми2.. ..лп|| = #21 #22* ‘ • #2 п #ml #m2 * • • # inn Транспонированная матрица обозначается индексом Т9 который записывается справа вверху. Следовательно, ска¬ лярное произведение двух векторов x-y = 'Zxiyi i 13
записывается в виде хту. Иногда также используется обозначение [х, у]. Подматрица, составная матрица или вектор обозначаются посредством буквенного индекса, стоящего справа внизу (прописные буквы), например: l = Скалярные величины обозначаются строчными греческими буквами. Буква, обозначающая функцию, показывает также, является ли функция скалярной или векторной. Так, ф (т]) обозначает скалярную функцию скалярного аргумента, f (|) — векторную функцию скаляра, ф (х) — скалярную функцию вектора, a f (х) переводит векторы в векторы. Градиент скалярной функции вектора ф(х) представ¬ ляется в виде дф =■ дф d*i дф дх2 дф дхп Дифференциал преобразования векторов в векторы обозначается следующим образом: df = дк_ dfi d_h dxi dx2 * ' ’ dxn df± dh dh dxi dx2 ' ‘ ‘ dxn d/m d/m dfm dxi dx2 dx n В гл. 2 и в доказательствах теорем, приведенных в приложениях, используется геометрическая интерпрета¬ ция. Для ознакомления читателей с элементами геометрии в многомерном пространстве в приложении А опреде¬ ляются некоторые геометрические термины, используемые как в данной монографии, так и в других работах по математическому программированию.
ГЛАВА 2 Сущность задач программирования Общая задача программирования Наиболее общий тип задачи, который будет рассматри¬ ваться в данной работе, формулируется следующим образом: значения некоторого числа переменных должны быть выб¬ раны так, чтобы целевая функция принимала минимальное значение на множестве значений переменных, которые удов¬ летворяют группе ограничений в форме неравенств, нало¬ женных на функции этих переменных. Математическая формулировка задачи такова: Общая задача программирования Минимизировать целевую функцию Ф (х) (2.1а) при наличии ограничений (A) g(x)> 0 (2.16) х>0. В этой формулировке х — вектор-столбец (матрица) из п компонент, a g(x) — вектор-столбец из т функций от я. В дальнейшем предполагается дифференцируемость функций <р(х) и g(x). Чтобы ввести некоторую терминологию, которая будет использоваться во всей этой работе, назовем любой вектор х, удовлетворяющий ограничениям (2.16), допустимым вектором задачи программирования. Набор всех допусти¬ мых векторов обозначим термином допустимое множество данной задачи. Допустимый вектор, обеспечивающий зна¬ чение целевой функции не большее, чем любой другой допус¬ тимый вектор, принято называть оптимальным вектором. 15
Ограничивающие условия (2.16) в задаче программиро¬ вания могут быть записаны также в одной из следующих двух форм: (Б) g(x) = О (С) g(x)> О х>0 на х ограничений не наложено. Простое рассмотрение показывает, что задача, выражен¬ ная в одной из этих трех форм, может быть выражена и в остальных двух. Принципы этого преобразования заклю¬ чаются в следующем: 1) ограничениевформе равенства может быть заменено парой неравенств и 2) переменная, на которую не наложено ограничений, может быть заменена разностью двух неотрицательных переменных. Точные соотношения между всеми тремя формами приведены в табл. 2. 1. Обычные аналитические методы решения задач миними¬ зации при наличии ограничений, заданных в форме равенств (решение ограничений, заданных в форме равенств, под¬ становка результатов в минимизируемую функцию и дифференцирование или метод множителей Лагранжа), не обеспечивают решения задач программирования. Эти методы не учитывают ограничений в форме неравенств, которые характерны для задач программирования. По- видимому, решение задачи программирования невозможно выразить в замкнутой аналитической форме. Однако метод неопределенных множителей Лагранжа, соответствующим образом обобщенный, играет важную роль при теорети¬ ческом рассмотрении и решении задач программирования. Из дальнейших глав станет очевидным, что обобщенный метод множителей Лагранжа имеет глубокий физический смысл. Линейное и квадратичное программирование Особенно важным частным случаем общей задачи про¬ граммирования является задача линейного программиро¬ вания, в которой ф(лг) представляет собой просто линейную комбинацию переменных, a g-(xr) — линейное преобразо¬ вание. Задача линейного программирова¬ ния Минимизировать ф(х) — с1'х 16
при условиях Ах> Ь, х>0. Таблица 2.1 Соотношение между различными формулировками задачи программирования Старая формулировка Новая формулировка Формулировка новой задачи в терминах старой задачи | Я (*) | ф (х) | х А В g(x)-\-Iw 4>W X W В А g(x) — ё(х) Ф(х) X А С gjs) 1 Г~х_ <Р (х) X С А g(x* — x~) -9 + 1 х = *+ * * 1 1 + 1 Здесь постоянный вектор b в линейном преобразовании перенесен в правую часть ограничивающего неравенства, р. Несколько более общим случаем и, несомненно, простей¬ шей формой нелинейного программирования является квад¬ ратичное программирование, в котором целевая функция представляет собой квадратичную форму переменных. Задача квадратичного программи¬ рования Минимизировать у xTQx + стх при условиях Ах> Ь9 х>0. 2 Лж В. Ленине 17
Эти два частных случая и составляют главный предмет рассмотрения настоящей работы, хотя в гл. 7 предлагается также метод решения общей задачи программирования. Важность этих частных случаев определяется тем, что существует способ вычисления, обеспечивающий получение оптимального вектора за относительно небольшое конечное число шагов итерационного процесса. Последи я я итерация дает точное решение задач линейного или квадратичного программирования. В то же время методы решения общих задач программирования обеспечивают с каждым шагом только приближение к решению; хотя сходимость может быть достаточно быстрой, точное решение никогда не может быть получено за конечное число шагов. Локальный и абсолютный минимумы. Вогнутость и выпуклость В математическом программировании все большее зна¬ чение приобретает вопрос эквивалентности локального и абсолютного минимумов. Чтобы понять смысл этих тер¬ минов, рассмотрим задачу программирования, сформулиро¬ ванную в терминах п-мерного пространства, когда каждой переменной соответствует одна ось координат. Тогда допус¬ тимое множество является определенным множеством точек в этом пространстве. Точка обеспечивает локальный (или относительный) минимум целевой функции, если она при¬ надлежит к допустимому множеству и ни в какой «близкой» точке допустимого множества целевая функция не прини¬ мает меньшего значения. Точка обеспечивает абсолютный минимум, если ни в одной другой точке допустимого мно¬ жества целевая функция не принимает меньшего значе¬ ния. Конечно, при решении конкретной задачи программиро¬ вания требуется определение общего минимума. К сожале¬ нию, обычные методы решения обеспечивают лишь нахож¬ дение локальных минимумов. Поэтому желательно знать, когда локальный и абсолютный минимумы эквивалентны. Понятия вогнутых функций и выпуклых множеств дают простой ответ на этот вопрос. Допустим, что функция п переменных представлена (м-|-1)-й координатой точки, лежащей на поверхности в пространстве размерности п+1, причем п-1-1 -я ось являет¬ ся «вертикальной». Функция называется вогнутой, если 18
представляющая ее поверхность ни в одной точке не явля¬ ется выпуклой. Более строгое определение вогнутой поверх¬ ности требует, чтобы ни одна точка отрезка, соединяющего любые две точки поверхности, не лежала ниже этой поверхности. Это положение иллюстрируется фиг. 2.1. Назовем функцию строго вогнутой, если упомянутый выше Фиг. 2.1. Вогнутая функция одной пе¬ ременной. отрезок прямой целиком лежит над поверхностью, за исклю¬ чением своих конечных точек. Функция называется выпук¬ лой, если эта же функция, взятая с обратным знаком, явля¬ ется вогнутой. Отметим, что, согласно этим определениям, линейная функция ф(х) = сТх, представляемая гиперплос¬ костью в ft-f 1-мерном пространстве, будет одновременно как вогнутой, так и выпуклой, не являясь при этом ни строго вогнутой, ни строго выпуклой. Выпуклое множество определяется как множество точек в ^-мерном пространстве, которое содержит все точки, лежащие на отрезках прямых, соединяющих любые две точки этого множества. Множество точек в ft-мерном прост¬ ранстве, для которых 0(,y)>O, представляет собой выпуклое множество, если 0(х) — выпуклая функция (фиг. 2.2). Обобщая это свойство, отметим, что допустимое множество задачи программирования является выпуклым, если все функции gv g2,... gm—выпуклы, так как это множество содержит точки, общие для всех выпуклых множеств, определяемых каждой из функций gb (лемма В. 1). Применяя эти положения к задачам математического программирования, можно получить следующий важный результат, сформулированный в теореме В.1. 2* 19
Для задачи программирования с вогнутой целевой функ¬ цией и выпуклым допустимым множеством локальный минимум является в то же время и абсолютным. Для задач линейного программирования целевая функ¬ ция всегда вогнута, а ограничивающие функции всегда Фиг. 2.2. Выпуклое множество, опре¬ деляемое выпуклой функцией. выпуклы. Отсюда следует, что в задачах линейного про¬ граммирования относительный минимум всегда является и абсолютным минимумом. В квадратичном программиро¬ вании допустимое множество также всегда выпукло. Однако целевая функция вогнута тогда и только тогда, когда мат¬ рица Q —неотрицательна, т. е. когда xTQx для всех комби¬ наций х неотрицательно (лемма Г. 1). В этом случае локаль¬ ный и абсолютный минимумы для задачи квадратичного программирования совпадают. Правило множителей Лагранжа Рассмотрим следующую задачу минимизации при наличии ограничений. Минимизировать ф W при наличии ограничения g(*) = 0. (2.26) Согласно правилу множителей Лагранжа, следует помножить каждую ограничивающую функцию gi на мно¬ житель — yi и полученный результат сложить с целевой функцией. 20
Эта операция дает функцию Лагранжа ■ф(лг, y) = <p(x)-yTg(x). Дифференцируя полученное выражение и сопоставляя результат с ограничениями (2.26), получаем задачу Лагранжа. Найти такие значения х и у, что g (•*) = 0. дер (х) — ут dg (х) = 0. Здесь — градиент целевой функции, a rig — дифферен¬ циал преобразования g. Правило множителей Лагранжа гласит: 1. Если х обеспечивает локальный минимум функции ф, то существует такой вектор у, что (х, у) представляет собой решение задачи Лагранжа. 2. Если (х, у) — решение задачи Лагранжа, ф (*) — вог¬ нута, а допустимое множество выпукло в окрестности точки х, то х обеспечивает относительный минимум функ¬ ции ф. Таким образом, правило множителей Лагранжа дает вторую эквивалентную формулировку обычной задачи минимизации. Обобщенная задача Лагранжа Здесь будет рассмотрено обобщенное правило множи¬ телей Лагранжа, предложенное для решения задач мате¬ матического программирования Куном и Таккером [21]. Строгое доказательство этого положения требует приме¬ нения теории неравенств и дано в приложении В. Однако в справедливости обобщенного правила множителей Лаг¬ ранжа для решения указанных выше задач можно убе¬ диться, рассмотрев несколько простых случаев. Рассмотрим сначала простую задачу ми н и м и з а ц и и. Минимизировать функцию ф© при наличии ограничения £>0. Как показано на фиг. 2.3, а, б, возможны два случая. Минимум достигается либо в некоторой точйе | > 0, 21
в которой щг(£)=0, либо же в точке £ = 0. В последнем случае (0) не может быть отрицательна. Таким обра¬ зом, необходимым условием того, чтобы функция ф (£) Фиг. 2.3. Задача Лагранжа в случае мини¬ мизации без ограничений. достигала минимума в точке £ при условии £>0, являет¬ ся выполнение для некоторого значения со следующих соотношений: (1) — ш = 0, i>0, ш > 0, (2.36) со | = 0. (2.3в) Написанные выражения представляют собой задачу Лагранжа, соответствующую простой задаче минимизации. 22
Уравнение (2.3в) требует, чтобы либо £ было равно нулю, либо со было равно нулю и, следовательно, только одно из неравенств (2.36) может строго удовлетворяться. Если f>0, то со обязательно должно быть равно нулю, так что имеет место первый случай; если со > 0, то Е, должно быть равно нулю, и имеет место второй случай. Так как это соотношение между исходными и новыми ограниче¬ ниями в форме неравенств получено как необходимое условие минимума, то соотношение (2.3в) известно под названием условия дополняющей нежесткости1). Как будет показано ниже, это условие соответствует поведе¬ нию диода в электрической цепи. Такая же идея применима и к задаче минимизации функции многих переменных, ограниченных условием неотрицательности. Минимизировать функцию ф м при условии х>0. Соответствующая задача Лагранжа заключается в сле¬ дующем: найти такие векторы х и w, что dcp (х) — w = О, х>0, &>> О, х1 w = 0. Эта формулировка просто повторяет условие задачи минимизации функции одной переменной для каждой ком¬ поненты вектора л: в случае многих переменных. Отметим, что условие дополняющей нежесткости xTw = 0 требует, чтобы xiwl = 0 для всех /, если х и w ограничены усло¬ вием неотрицательности. Далее будет рассмотрен более сложный случай — задача минимизации функции двух переменных при одном ограничении, заданном в форме равенства, и при усло¬ вии, что переменные должны быть неотрицательными. Минимизировать функцию Ф (Ч = ф (xv х2) х) В работе Таккера [27] дается следующее определение неже¬ сткого неравенства в системе однородных линейных неравенств: «Нежестким неравенством в системе называется неравенство (>- 0), которое выполняется как строгсе (> 0) для некоторого решения системы». Отсюда ясен смысл вводимого термина. — Прим. перев 23
при условиях 6 (х) = 0 (лд, х2) = о, х2>0, х2>0. Если среди ограничений нет неравенств, то можно найти необходимое условие минимума, образуя выражение Лагранжа г|;(х, ri) = cp(x)-Ti0(x). После дифференцирования получаем (Эф (я) — г)30 (л:) = О, в(х) = 0. (2.4) Это условие представлено геометрически на фиг. 2.4. Оно требует, чтобы в точке х градиент целевой функции был равен градиенту ограничивающей функции, взятому с коэффициентом г). Если ограничения заданы в форме неравенств, сле¬ дует учитывать и те случаи, когда точка минимума лежит на границе допустимого множества. Обобщенная задача Лагранжа заключается в определении таких векторов xt v и скаляра (множителя) rj, что г]3 0 (х) — <Эф (х) + v = 0, (2.5а) 0 (х) = О, х>0, v>0, vTx — 0. (2.56) Если точка минимума не лежит на границе допусти¬ мого множества, то хг > 0, х2 > 0 и условие дополняющей нежесткости (2.56) требует, чтобы выполнялось соотноше¬ ние Vj = v2 = 0. Тогда эта задача полностью сводится к задаче (2.4). С другой стороны, рассмотрим случай, показанный на фиг. 2.4,6, когда в точке минимума хл > О, л:2 = 0. Согласно условию дополняющей нежесткости (2.56), v2 может быть больше нуля, в то время как v1 должно быть равно нулю. Тогда соотношение (2.5а) устанавливает, что проекция <Эф на ось хг должна быть пропорциональна с некоторым коэффициентом соответствующей проекции 30, в то время как проекция Зф на ось д:2 не должна быть меньше, чем взятая с тем же коэффициентом проекция 30 на ось xv Очевидно, что в случае, показанном на фиг. 2.4, б, 24
это условие выполняется. Аналогичные соображения под¬ тверждают корректность метода Лагранжа, когда минимум функции лежит на оси х2 или в точке хг = х2 = 0. Фиг. 2.4. Задача Лагранжа при наличии ограни¬ чений. Задача мини ми з а ц и и функции многих неотрицательных переменных при наличии ряда ограничений в форме равенств заключается в следующем: Минимизировать функцию <р {х) при условиях да = о, *>о. 25
Обобщенная задача Лагранжа состоит в определении таких векторов х, у и v, что dg {Х)Т У — Зф (х) -г v = 0, (2.6а) g (х) = О, х > О, v>Qf V х = 0. Эти соотношения имеют ту же форму, что и в слу¬ чае одного ограничения, причем каждому ограничению в задаче (2.6а) соответствует один член. Формулировка задачи Лагранжа, соответствующая общей задаче программирования в форме (2.1), может быть найдена с помощью соотношений, приведенных в табл. 2.1. В результате имеем Обобщенную задачу Лагранжа Найти такие векторы х, v, и и у, что dg(x)Ty — dф(х)+о = 0, (2.7а) g (х) - и = 0, *>0, v>0, и> 0, у> 0, vlx = §, у1и = 0. (2,7 6) Обобщенное правило множителей Лагранжа (основная теорема для общей задачи программирования— теоре¬ ма Г.2) в этом случае состоит в следующем: 1. Если х — оптимальное локальное решение общей задачи программирования, то существуют такие векторы v, и и у, что комбинация (х, и, и, у) образует решение задачи Лагран¬ жа. 2. Если (х, v, и, у) — решение задачи Лагранжа, функ¬ ция ср(х) вогнута, а допустимое множество выпукло в окрестности х, то х представляет собой относительное оптимальное решение задачи программирования. Можно дать геометрическую интерпретацию задачи Лаг¬ ранжа, если записать уравнение (2.7а) в виде d<p(x) = dg(x)Ty + Iv. (2.8) Столбцами прямоугольной матрицы dg(x)T являются векторы, нормальные к ограничивающим поверхностям g-.(x) = 0 в точке х, а столбцами единичной матрицы — 26
векторы, нормальные к ограничивающим поверхностям .^ = 0. Выражение (2.8) требует, чтобы градиент целевой функции мог быть выражен в виде положительной линейной комбинации нормалей к ограничивающей поверхности. Фиг. 2.5. Геометрическая интерпретация за¬ дачи Лагранжа. Условия дополняющей нежесткости (2.76) указывают, что линейная комбинация должна составляться только из нор¬ малей к поверхностям, которые удовлетворяют ограниче¬ ниям в виде равенств. Фиг. 2. 5 иллюстрирует это поло¬ жение. Эквивалентные формулировки. Двойственность Рассмотренная выше связь, существующая между задачами нахождения экстремума, с одной стороны, и соотношениями, составляющими задачу Лагранжа, с другой, часто может наблюдаться в физических системах. Более того, часто две совершенно разные задачи нахожде¬ ния экстремума сводятся к одной и той же задаче Лагранжа. Это имеет место, например, при изучении электрических цепей, которые подробно рассмотрены ниже. В таких 27
случаях обе формулировки задачи нахождения экстремума эквивалентны в том смысле, что обе они дают полное опи¬ сание одной и той же физической ситуации. Поэтому говорят, что они двойственны по отношению друг к другу. При изучении отношений двойственности преобладающую роль играет преобразование Лежандра. Поэтому мы сделаем небольшое отступление, чтобы ввести это преобразование и рассмотреть его свойства. Преобразование Лежандра В геометрии известно имеющее глубокий смысл соотно¬ шение двойственности между точками и плоскостями в трехмерном пространстве или между точками и гипер¬ плоскостями в многомерном пространстве. Определение поверхности в многомерном пространстве — один из при¬ меров этого принципа двойственности. Обычный способ определения поверхности в пространстве размерности п-\-1 состоит в задании п+ 1-й координаты поверхности как функции первых ее п координат, т. е. Е = Ф(дс). Это точечный способ задания поверхности. Существует и дру¬ гой способ задания — через касательные плоскости. Если поверхность строго вогнута, то никакие две точки поверх¬ ности не могут иметь касательных плоскостей с одинаковыми нормальными векторами. Таким образом, поверхность может быть определена заданием для каждого возможного нормального вектора точки пересечения соответствующей касательной плоскости с д+1-й осью координат. Предпо¬ ложим, что n+1-я компонента нормального вектора всегда равна —1, и обозначим первые п его компонент вектором у. Если длина отрезка, отсекаемого от я+1-й оси координат соответствующей касательной плоскостью, равна rj, то за¬ дание поверхности через ее касательные плоскости эквива¬ лентно заданию г\ как функции у Г1 = 0(0). Фиг. 2.6 иллюстрирует оба указанных выше возмож¬ ных способа задания поверхности. Рассмотрим связь между этими способами задания поверхности. Напомним, во-первых, что нормальный вектор 28
касательной плоскости в точке х определяется соотноше¬ нием У Зф (х) -1 - 1 Поэтому уравнение плоскости, касательной к поверхности в точке х, имеет вид || х — х ||т дф (а:) — || т| — ф (х) || = 0. (2.9) Координата г\ точки пересечения этой плоскости с п + 1-й координатной осью может быть определена путем Фиг. 2.6. Преобразование Лежандра. подстановки значения ^ = 0 в уравнение (2.9) т] = ф (*) — хт дф (х). (2.10) При условии, что с помощью уравнения у = дф (х) можно выразить х через у [х = дф"1 (у)], полученное вы¬ ражение для г] может быть представлено как функция у. 29
Это всегда можно сделать, если ф (л*) — строго вогнутая функция. Такое утверждение основано на том, что для каждой точки поверхности существует единственная каса¬ тельная плоскость (теорема Д.2). Подставляя выражение для х в (2.10), получаем связь функциональных соотно¬ шений, задающих поверхность через касательные плоско¬ сти и точечным способом Ц = 9 (у) = ф [дер-1 (у)} - ут [(Эф-1 (г/)]. (2.11) Эта функция представляет собой преобразование Ле¬ жандра функции ф и оказывается строго выпуклой, если ф —строго вогнута (теоремы Д.1 и Д.З). В приложении Д дано некоторое обобщение преобра¬ зования Лежандра, сформулированное Курантом и Гиль¬ бертом [6]. В то время как их формулировка требует, чтобы исходная функция была дважды дифференцируема, в рассмотрении, проведенном автором с использованием свойств вогнутости, требуется существование только пер¬ вой производной. Важное свойство преобразования Лежандра состоит в том, что градиент преобразованной функции связан с градиентом исходной функции простым соотношением дв (у) = — «Эф'1 (у). В этом можно легко убедиться, применив правило диф¬ ференцирования сложных функций (см. приложение Д). В качестве примера преобразования Лежандра рассмот¬ рим случай, когда ф— положительно определенная квад¬ ратичная форма (и, следовательно, строго вогнутая функ¬ ция) 1 Т Г) ср = YX Р*' Тогда градиент функции ф равен <9ф (х) = Р х. Так как ф — положительно определенная квадратичная форма, то ее инверсия (обратная квадратичная форма) существует и также является положительно определенной. Следовательно, дф'1 (у) = Р'1 У- 30
Теперь можно построить преобразование Лежандра, используя выражение (2.11) 9 (У) = у II Р'ХУ I fPP-'y - [Р-% У) = - у УТР-1 У• Преобразование 0 (у), очевидно, является строго вы¬ пуклой функцией. Ее градиент в соответствии с приведен¬ ной выше формулой определяется выражением д Ь(у) = —Р^у. Двойственность задач минимизации при ограничениях в форме равенств Чтобы рассмотреть принцип двойственности в задачах программирования, проиллюстрируем его на простом при¬ мере двойственности обычной задачи минимизации при ограничениях в форме равенств. Рассмотрим задачу мини¬ мизации положительно определенной квадратичной формы при наличии системы линейных ограничений. Квадратичная задача минимизации Минимизировать у хтРх + ст х при условии Ах = b. Применяя правило множителей Лагранжа, получаем следующую эквивалентную задачу. Квадратичная задача Лагранжа Найти такие векторы х и z, что Агг — Рх = с, Ах = Ь. Как было показано выше, преобразование Лежандра функ¬ ции ф (х) = у хтРх есть 0 (у) = — у утР~1у. Рассмотрим другую задачу нахождения экстремума, а именно задачу максимизации преобразованной функции. Квадратичная задача максимизации Максимизировать -\/Р^у-ЬТ2 31
при условии ATz — у = с. Применяя правило множителей, получаем следующий результат: Квадратична^ задача Лагранжа Найти такие х, у иг, что Атг — у = с, х=-Р~ху, Ах = Ь. Обе задачи Лагранжа идентичны, за исключением введения дополнительных переменных у в последнем слу¬ чае. Это показывает, что две формулировки задачи на¬ хождения экстремума представляют собой просто две разные по форме, но эквивалентные по существу поста¬ новки одной и той же задачи. Эта тесная связь между двумя задачами определения экстремума подтверждается следующим положением: Если л; — оптимальный вектор задачи нахождения мини¬ мума, а {у, г) — оптимальный вектор задачи нахождения максимума, то оптимальные значения целевых функ¬ ций равны. Это утверждение представляет собой несколько изме¬ ненную формулировку свойства эквивалентности, данной Курантом и Гильбертом [5]. Чтобы показать справедли¬ вость такого утверждения, предположим, что (х, у, г) является решением задачи Лагранжа. Отсюда следует, что * —оптимальное решение задачи минимизации, а (г/, г) — оптимальное решение задачи максимизации. Исходя из задачи Лагранжа, легко можно получить следующие соотношения: ст х = х Атг — хту, bTz = гтАх = хт Ат Z- Отсюда следует, что ст х — bT г = —хту. (2.12) Разность значений целевых функций этих двух задач определения экстремума равна Д = у хРх + стх — [ — у утР^у + bTz J 32
или, используя (2.12), Д = ~ хтРх — хту + у УТР~1У. Наконец, применяя соотношение х = Р~^у, получаем Д-4 хт у - хт у -!- у утх = 0. Таким образом, целевые функции при оптимальном решении принимают одинаковые значения. Это положение о равенстве оптимальных значений целевых функций остается справедливым для соотношений двойственности в задачах линейного и квадратичного программирования, которые рассматриваются ниже. Двойственность в задачах математического программирования Соотношение двойственности, полученное выше для простой задачи определения минимума квадратичной формы, может быть обобщено на случай задач квадратичного про¬ граммирования. Рассмотрим следующую пару задач квадра¬ тичного программирования: Прямая задача квадратичного програм¬ мирования Минимизировать у XqPxq -г CqXq -г ClXl при условиях Aqxq + Alxl > b, xq > 0, xl > 0. Двойственная задача квадратичного про¬ граммирования Максимизировать при условиях ЛьУь<ССьу у[ > 0; на у0 ограничений нет. 3 Дж. Ь. Деннис 33
Каждая целевая функция состоит из суммы Положи* тельно определенной квадратичной формы от одних пере¬ менных и линейной комбинации других переменных, при¬ чем квадратичная форма в двойственной задаче предста¬ вляет собой преобразование Лежандра квадратичной формы в прямой задаче. Обе эти задачи определения экстремума сводятся к одной и той же обобщенной задаче Лагранжа, а именно: Обобщенная квадратичная задача Ла¬ гранжа Найти такие векторы х, v, у и ы, что AqXq + Alxl — u = b xq>0, Xl> 0, u> 0 ограничения прямой задачи XoyL — yQ + vQ = cQ AlУь-\~ l'L — cl ограничения двойственной задачи yL> 0, vQ>0, vL>0 x =p-iy соотношение между переменными Q Q прямой и двойственной задач XQVQ = 0 XlVL = 0 ylu = о условия дополняющей нежесткости Важнейшие свойства пары двойственных задач про¬ граммирования сформулированы в трех основных теоремах, доказанных в приложении Г. Теорема двойственности Допустимый вектор прямой задачи программирования оптимален тогда и только тогда, когда существует такой допустимый вектор двойственной задачи, что целевые функции прямой и двойственной задач равны. Допустимый вектор двойственной задачи оптимален тогда и только тогда, когда существует допустимый вектор прямой задачи, и целевые функции обеих задач равны. Теорема существования решения Если существуют допустимые векторы прямой и двой¬ ственной задач, то обе задачи имеют оптимальные векторы. Если одна из двух задач не имеет допустимого вектора, то ни одна из них не имеет оптимального вектора. 34
Принцип дополняющей нежесткости 1. Если (xq, xl)—оптимальное решение прямой задачи, a (ijq, уь) — оптимальное решение двойственной задачи, то (xq, xLy \Jq, Уь)— решение задачи Лагранжа. В частности, в этом случае удовлетворяются соотношения между пере¬ менными прямой и двойственной задач и условия дополняю¬ щей нежесткости. 2. Оптимальное решение прямой задачи программирова¬ ния получается только при одном значении xq. Это спра¬ ведливо и для переменной j/q в двойственной задаче. Важной особенностью задач квадратичного програм¬ мирования является то, что соответствующая задача Лагран¬ жа содержит только линейные соотношения. Эта особен¬ ность позволяет использовать для получения оптимальных решений только линейные вычисления и делает возможной выработку алгоритмов, приводящих к такому решению за конечное число шагов, что для любого более сложного класса задач программирования не выполняется. Приведенная выше пара двойственных задач сводится к хорошо известной паре двойственных задач линейного программирования, если опустить матрицы Р, Aq, cq, xq и уц. Прямая задача линейного програм¬ мирования Минимизировать стх при условиях Ax>bt х > 0. Двойственная задача линейного программирования Максимизировать Ьту при условиях Лт£/<с, у > 0. Таким образом, принцип двойственности для квадратич¬ ного программирования представляет собой связующее звено между известным соотношением двойственности в линейном программировании и принципом эквивалентности, сфор¬ мулированным Курантом и Гильбертом для задачи мини¬ мизации при ограничениях в форме равенств. Принцип 3* 35
двойственности для квадратичного программирования является развитием теории эквивалентных задач квадратич¬ ного программирования, разработанной Франком и Вулфом [16] и особенно Хилдретом [17]. К сожалению, принцип двойственности в том виде, в ка¬ ком он сформулирован выше, применим только к квадра¬ тичному программированию, в котором коэффициенты целевой функции имеют вид р 0 0 0 где Р — положительная матрица. Дорн [12] рассмотрел двойственную задачу, в которой Q может быть произволь¬ ной неотрицательной матрицей. Однако в этом случае Q входит в ограничивающие соотношения двойственной зада¬ чи и поэтому формулировка принципа двойственности не обладает такой симметрией, как в рассматриваемом случае. С другой стороны, из соотношения двойственности с помощью преобразования Лежандра можно получить пару задач программирования для вогнутых функций. Прямая задача программирования для вогнутых функций получает¬ ся при замене положительно определенной формы в прямой задаче квадратичного программирования на функцию <p(*q). Двойственная задача программирования для выпуклых функций получается при замене отрицательно определенной формы в двойственной задаче квадратичного программиро¬ вания на преобразование Лежандра от функции ф(*д). Строгое обоснование этого положения дано в приложе¬ нии Е. Фенхель [14] доказал следующий весьма общий прин¬ цип двойственности. Пусть дана вогнутая функция ср, определенная на произ¬ вольном выпуклом множестве С; тогда существует выпук¬ лое множество D (на которое наложены слабые ограниче¬ ния) и определенная на нем выпуклая функция 0 такие, что функция ф принимает минимальное значение в С тогда и только тогда, когда 0 достигает максимума в D, причем эти два экстремума совпадают. Правило определения D и 0 по заданным Сиф опирается на широкое обобщение преоб¬ разования Лежандра. По крайней мере теоретически прин¬ цип двойственности применим к общим задачам програм¬ 36
мирования. Однако такой принцип использует только общие понятия выпуклых множеств. Чтобы применить его к практическим задачам, надо знать, как по заданной целевой функции и заданным ограничениям в общей задаче программирования построить целевую функцию двойствен¬ ной задачи и выпуклые функции, определяющие допу¬ стимое множество решений двойственной задачи. Принцип двойственности для задач квадратичного программирова¬ ния и задач программирования для вогнутых функций дает ответ на этот вопрос в случае линейных ограничений. Однако в случае общей задачи программирования этого пока сде¬ лать нельзя.
ГЛАВА 3 Свойства электрических цепей, содержащих диоды, и эквивалентные формулировки для этих цепей Давно известно, что существует несколько эквивалент¬ ных формулировок для задачи решения цепей, содержащих источники и сопротивления. Еще в 1873 г. Максвелл [24] заметил, что в цепях, содержащих сопротивления и источ¬ ники тока, распределение токов, оказывающее наимень¬ шее «тепловое действие», удовлетворяет законам Кирх¬ гофа. Однако автору не известны работы, где бы рассмат¬ ривались формулировки принципа экстремальности для электрических цепей, содержащих диоды и источники. Исследование таких цепей основывалось на законах Кирх¬ гофа и свойствах диодов. В действительности же их поведе¬ ние точно описывается оптимальными векторами соответст¬ вующих математических задач программирования. Тесная связь между теорией электрических цепей и математиче¬ ским программированием является предметом рассмотрения настоящей главы. Введем как удобный способ представления топологии цепи понятие матрицы соединений. Затем кратко остановим¬ ся на условиях, необходимых для решения электрических цепей, и выясним характеристики идеализированных элект¬ рических устройств, которые будут интересовать нас в дальнейшем. Показав формально эквивалентность задач математического программирования и задач решения неко¬ торых электрических цепей, дадим физическую интерпрета¬ цию ряда основных положений математического програм¬ мирования. Наконец, введем понятия системы уравнений двухполюсника и кривой критических состояний, которые являются основой для дальнейших исследований. 38
Граф и матрица соединений Граф — это набор точек, называемых узлами, которые связаны между собой отрезками линий, называемых ветвями. Каждая ветвь графа связывает два различных узла и характеризуется направлением, которое указывается 6 етви 1 2 3 4 5 6 1 1 -1 1 2 -1 -1 1 -\ 3 1 I 1 4 1 „ i ~ 1 1 5 Г"" i 1 -1 Фиг. 3.1. Граф и его матрица сое¬ динений. стрелкой. Граф показан на фиг. 3.1 ,а. Мы будем рас¬ сматривать только связные графы, в которых каждый узел связан со всеми другими узлами графа последова¬ тельностью ветвей. Вообще при использовании понятия графа интерес представляет только его топология, т. е. сведения о том, какая пара узлов связывается каждой вет¬ вью. Эта информация легко может быть выражена в виде прямоугольной таблицы, имеющей по одной строке для каждого узла и по одному столбцу для каждой ветви графа. В каждом столбце таблицы ставится —1 на пересечении со строкой, соответствующей узлу, в котором эта ветвь начинается, и +1 — на пересечении со строкой, соответст- 39
вующей узлу, в котором она кончается. Остальные позиции столбцов остаются не заполненными. Составленная таким образом таблица называется матрицей соединений узлов дан¬ ного графа. В качестве примера на фиг. 3.1 ,б приведена матри¬ ца соединений для графа, изображенного на фиг. 3.1 ,а. Описа¬ ние графа с помощью матрицы соединений узлов будет использовано во всех математических формулировках на¬ стоящей главы. Другое топологическое описание может быть получено при рассмотрении контуров, составленных из ветвей. Такое рассмотрение является двойственным по от¬ ношению к предыдущему и в настоящей работе исполь¬ зоваться не будет. Электрические цепи. Законы и элементы Электрическая цепь представляет собой граф, в котором различные электрические устройства ассоциируются с вет¬ вями. Каждая i-я ветвь графа характеризуется напряжени¬ ем et и током /•. Выбор этих + eJ ~ переменных иллюстрируется О —~фиг. 3.2. Полярность выб- ** Ч рана таким образом, что про- фиг. 3.2. Полярность тока изведение равно мощно- и напряжения в ветви. сти, поставляемой в цепь дан¬ ной ветвью. Каждый /-й узел характеризуется узловым потенциалом щ. Чтобы некото¬ рый набор значений eL, ii и uj был решением цепи, необхо¬ димо и достаточно, чтобы выполнялись следующие три условия: 1. Первый закон Кирхгофа: токи ветвей должны удов¬ летворять условию непрерывности в узлах 24-34 = 0, г h где i — номера ветвей, направленных в узел /, a k — номе¬ ра ветвей, направленных от узла /. Используя матрицу соединений узлов N, можно пере¬ писать это соотношение в виде N i = 0, где i — матрица-столбец, составленная из токов ветвей. 2. Второй закон Кирхгофа: разность потенциалов узлов, соединяемых данной ветвью, должна быть равна напряже- 40
нию этой ветви, т. е. должно выполняться соотношение Uj ll-L = €j0 если ветвь к направлена из узла i в узел у. Используя матри¬ цу соединений, можно. переписать это уравнение в виде NTu = e, где и и е — матрицы-столбцы узловых потенциалов и напряжений ветвей соответственно. Очевидно, это условие эквивалентно требованию, чтобы сумма напряжений ветйей в контуре была равна нулю. 3. Соотношение между током и напряжением каждой ветви должно, удовлетворять всем условиям, налагаемым характеристиками электрического устройства, включенного в данную ветвь графа. В этой главе будет рассмотрено пять различных типов электрических устройств. На фиг. 3.3 показаны их обо¬ значения и приведены условия, которые они накладывают на соотношение'^ между током и напряжением ветви. Источник тока обеспечивает постоянный ток ветви неза¬ висимо от ее напряжения. Аналогично источник напря¬ жения поддерживает постоянным напряжение ветви. Диод действует подобно ключу. Он поддерживает нулевое напря¬ жение, пока ток больше нуля, и нулевой ток —если на¬ пряжение больше нуля. Ограничения, накладываемые диодом, могут быть кратко сформулированы ^в следующем виде: ed > 0, id > 0, edid = 0. Последнее соотношение обозначает, что диод всегда поставляет в цепь нулевую мощность. Мы будем предпо¬ лагать, что диод может находиться в одном из трех взаимоисключающих состояний: диод заперт: ed>0, id = 0; диод находится в критическом состоянии: ed — 0, id = 0\ диод открыт: ed = 0, id > 0. Сопротивление характеризуется линейной связью между током и напряжением ветви. Мощность, выделяемая на сопротивлении, равна 41
Источник напряжения с—Источник тока i*consi Идеальный диод От крыт :е = 0, i > О /критическое состо- / яние: е=0, i=0 Заперт :е>0, i =0 ed es~ tep Ь=~и5 Идеальный трансформатор постоянного тока 3.3. Соотношения между током и напряжением в зави¬ симости от типа ветви.
и является квадратичной функцией тока или напряжения ветви. Идеальный трансформатор постоянного тока — устройство, связывающее две ветви цепи. Одна ветвь, в которой ток равен /р, а напряжение е.р, является пер¬ вичной обмоткой трансформатора. Другая ветвь с током is и напряжением es представляет собой вторичную обмотку. Связь между ер и е3 и ip и is имеет вид = ip— —tiS' Отсюда следует, что ^ ^8» т. е. трансформатор отдает в цепь нулевую мощность, хотя и может перераспределять ее между ветвями. Эквивалентные задачи для цепей, содержащих диоды, источники и сопротивления В этом разделе будут рассмотрены цепи, содержащие источники напряжения, источники тока, диоды и сопро¬ тивления. Векторы е и /, представляющие напряжение и ток ветви, будут подразделяться в соответствии с типами ветвей (в случае необходимости ветви могут быть перену¬ мерованы) iv ес ic eD 1 —■ in ен in Столбцы матрицы соединений будут подразделяться аналогичным образом, так что N = \\NvNcNdNr\\. Общие законы теории цепей могут быть теперь запи¬ саны применительно к цепям, содержащим диоды, источ¬ ники и сопротивления. 43
Задача Лагранжа для цепи, содержащей диоды, источники и сопротивления Найти такие векторы е, i и и, что Nyiy + NDiD -{?NrIr = —Ncic первый закон Кирхгофа Здесь R обозначает диагональную матрицу, составлен¬ ную из величин сопротивлений. Члены Nctc и еу стоят в правой части уравнений, так как они являются задан¬ ными константами, представляющими условия, налагаемые источниками тока и напряжения. Существенным обстоя¬ тельством является то, что эта система соотношений в точности совпадает с задачей Лагранжа, соответствую¬ щей следующей паре двойственных задач квадратичного программирования. Прямая задача для цепи, содержащей диоды, источники и сопротивления Найти вектор /, минимизирующий функцию Двойственная задача для цепи, содержащей диоды, источники и сопротивления Найти векторы е и и, максимизирующие функцию А/ yll ==■ ву N'dU — ев = О второй закон Кирхгофа Nlu — Cpt = О NqU — £с = О eR~r RIr = 0 условия, налагаемые сопро¬ тивлениями условия, налагаемые диодами &D ^ 0, /д>0, eJ)iR) = 0 при условиях Nyiy -р NdIr -р NrIr = — Ncic> >0 2 eR^eR "Ь ^Сес* 44
при условиях NyU — ву, N^)U — в d = О, NrU — 6r= О, Л/с^ - ес = о, eD>0. В двойственной задаче G = R'1 — диагональная матрица, в которой сопротивления ветвей заменены значениями про¬ водимостей. В прямой задаче переменными являются токи ветвей, в то время как узловые потенциалы играют роль множителей Лагранжа. В двойственной задаче, наоборот, нас интересуют величины напряжений, а токи ветвей являются множителями Лагранжа. Соотношениями связи между переменными прямой и двойственной задач про¬ граммирования в задаче Лагранжа является совокупность условий, налагаемых сопротивлениями. Поэтому если цепь не содержит сопротивлений, соотношение связи исчезает и задача сводится к паре двойственных задач линейного программирования. Две рассмотренные выше задачи могут быть соответственно сформулированы следую¬ щим образом. Пр я мая задача. Найти допустимое распределение токов в цепи, которое минимизирует сумму мощности, поглощаемой источниками напряжения, и половины мощно¬ сти, поглощаемой сопротивлениями. Двойственная задача. Найти допустимое распределение напряжений в цепи, которое максимизирует разность мощности, поставляемой в цепь источниками тока, и половины мощности, поглощаемой сопротивлениями. Если цепь не содержит диодов или источников напря¬ жения, прямая задача сводится к хорошо известному пра¬ вилу, согласно которому решение цепи, содержащей источ¬ ники и сопротивления, представляет собой особый случай распределения токов, удовлетворяющих первому закону Кирхгофа, которое минимизирует мощность, рассеивае¬ мую на сопротивлениях. Когда в цепь включены источники напряжения при отсутствии диодов, прямая задача соответ¬ ствует более общему правилу, предложенному Максвеллом. Соответствие между задачами программирования и зада¬ чами решения электрических цепей позволяет дать изящ- 45
Ную физическую интерпретацию математических принципов программирования: 1) ограничения в форме неравенств в задачах програм¬ мирования в электрических цепях входят в условия, нала¬ гаемые диодами; 2) принцип дополняющей нежесткости соответствует требованию равенства нулю мощности, поставляемой в электрическую цепь диодами; 3) теорема двойственности утверждает, что оптимальные значения целевых функций прямой и двойственной задач совпадают. В задачах теории электрических цепей, согласно этому условию, требуется выполнение соотношения т 1т т ev iv —2 —2 eR ^eR ^ e° lc = что, как легко видеть, соответствует принципу сохранения энергии. Приведенные цепи Интерпретация теоремы существования решения может быть дана на основе понятия приведенной цепи, соответству¬ ющей данной цепи, содержащей источники, диоды и сопро¬ тивления. •м. Приведенная по напряжению цепь, соответствующая дан¬ ной цепи, содержащей источники, диоды и сопротивления, получается при замене каждого сопротивления или источ¬ ника тока первоначальной цепи разомкнутой ветвью. Приведенная по току цепь, соответствующая данной цепи, содержащей источники, диоды и сопротивления, получается при замене каждого сопротивления или источ¬ ника напряжения первоначальной цепи короткозамкнутой ветвью. Уравнения приведенной по напряжению цепи можно получить, если в задаче Лагранжа положить все ic равными нулю и заменить условия, налагаемые сопротивлениями, требованием iR = 0. Простой проверкой можно убедиться, что если i, е, и являются решением цепи, приведенной по напряжению, то и и е удовлетворяют ограничениям двойст¬ венной задачи программирования. Наоборот, если и и е удовлетворяют ограничениям двойственной задачи, то (i = 0, еу и) представляет, очевидно, решение цепи, приведен¬ ной по напряжению. Поэтому ограничения двойственной 46
задачи допустимы тогда и только тогда, когда приведенная по напряжению цепь имеет решение. Аналогично уравнения для приведенной по току цепи могут быть получены, если положить в задачеЛагранжа = 0 и заменить условия, нала¬ гаемые сопротивлениями, требованием eR = 0. Так же, как и выше, можно сделать вывод, что ограничения прямой задачи программирования допустимы тогда и только тогда, когда приведенная по току цепь имеет решение. Следова¬ тельно, теорема существования решения квадратичной (или линейной) задачи программирования (теорема Г. 3) имеет следующую физическую формулировку в терминах электрических цепей: Электрическая цепь, составленная из источников, дио¬ дов и сопротивлений, имеет решение тогда и только тогда, когда соответствующие приведенная по току и приведенная по напряжению цепи имеют решения. То, что приведенная по напряжению цепь имеет решение, очевидно, означает, что ни один из источников напряжения первоначальной цепи не был закорочен, а то, что приведен¬ ная по току цепь имеет решение, означает, что существует «путь» для тока каждого источника. Как будет показано в следующих главах, соответствие между задачами цепей и задачами программирования позволяет также дать изящную физическую интерпретацию алгоритмов решения задач линейного и квадратичного программирования. Электрические цепи, содержащие трансформаторы Рассмотрим теперь общий случай цепи, составленной из источников напряжения, источников тока, диодов, сопротивлений и идеальных трансформаторов постоянного тока. При этом подразумевается, что вектор тока i будет представлен как сумма токов первичной и вторичной обмо¬ ток трансформатора iP и is, а вектор напряжения ветви — как сумма напряжений первичной и вторичной обмоток трансформатора еР и es. Матрица соединений должна быть расширена так, чтобы включить столбцы NP и Ns, характери¬ зующие соединения первичных и вторичных обмоток транс¬ форматоров с узлами. Введем также диагональную матри¬ цу, содержащую в качестве элементов коэффициенты трансформации. Выражая законы цепи с учетом вышеиз¬ ложенного, получаем следующую систему соотношений: 47
Задача Лагранжа для цепей с транс¬ форматорами Найти такие векторы е, i и и, что Nyiv-T ND^D + NrIr 4- + Npip + Nsis ~ —NcJc первый закон Кирхгофа NyU = By N rU — в о — 0 N rU — Br = 0 N'ru — вр = 0 Ngu — eg ■= 0 cr + RIr = 0 второй закон Кирхгофа ограничения, накладываемые соп¬ ротивлениями es — Тер — О, /р+ Тig = 0 ограничения, накладываемые трансформаторами £d>0 /d> 0 eLDiu — 0 ограничения, накладываемые ди¬ одами Написанные соотношения представляют собой задачу Лагранжа, соответствующую следующей паре двойствен¬ ных задач квадратичного программирования: Прямая задача для цепей, содержа¬ щих трансформаторы Найти вектор /, минимизирующий ~2 *R RiR eV lV при условиях Nyiy -f N pin + NrIr + Npip + Ngtg ■= — Ncic, ip + 77s = 0, ip > 0. Двойственная задача для цепей, содержащих трансформаторы Найти векторы е и и, которые максимизируют — тг c\iGeR + ic.ec 48
при условиях N у и = ev, Nsu — es = О, N ijU — = 0, eg, — Tcp = О, N nil— Cr = 0, ££>0, А/ — вр = О. Таким образом, любая электрическая цепь, содержащая пять типов устройств, рассмотренных здесь, эквивалентна паре двойственных задач квадратичного программирования. Как будет показано ниже (гл. 6), справедливо также обратное утверждение: каждая задача квадратичного (или линейного) программирования может быть сопостав¬ лена с электрической цепью, содержащей только эти пять типов элементов. Все сделанные выше замечания относи¬ тельно физической интерпретации принципов математи¬ ческого программирования применимы без всяких изме¬ нений и для случая, когда цепь содержит трансформаторы. Важное отличие между цепями без трансформаторов и цепями, содержащими трансформаторы, заключается в следующем: в цепях без трансформаторов коэффициенты в соотношениях ограничений прямой и двойственной задач равны +1, —1 или 0. Действительно, они представляют собой элементы матрицы соединений. В линейном прог¬ раммировании это обстоятельство позволяет получить алгоритмы, арифметическая часть которых состоит только из сложения и вычитания1). Важность этого положения видна из следующей главы, в которой описывается такой алгоритм. В цепях, содержащих трансформаторы, в соотно¬ шения ограничений входит матрица Т коэффициентов транс¬ формации, и поэтому коэффициенты не обязательно долж¬ ны быть целочисленными. Нелинейные устройства Рассмотренное выше соответствие между задачами про¬ граммирования и задачами теории цепей может быть развито 1) Условия целочислеымостм решений задачи линейного програм¬ мирования более сложны. См., например, статью А. Дж. Гофмана и Дж. Б. Краскала «Целочисленные граничные точки выпуклых много¬ гранников» в сб. «Линейные неравенства и смежные вопросы», ИЛ, 1959.—Прим. ред. 4 Дж. Б. Деннис 49
и дальше. Для этого заменим линейные сопротивления в рассмотренных выше цепях нелинейными сопротивления¬ ми общего вида. Потребуем, чтобы зависимость между током и напряжением в таких устройствах определялась «строго убывающей» кривой. Точнее, если (/г, ег) и (ir, ег) — две точки на этой кривой, то ir<ir тогда и только тогда, когда ег > е.г В остальном кривая может быть произвольной. Фиг. 3.4. Вольтамперная характеристика устройства с нелинейным сопротивлением. ег > ег тогда и только тогда, когда ir < Характеристики устройства, реализирующего эту зависи¬ мость, приведены на фиг. 3.4. Линейное сопротивление является, очевидно, частным случаем такого устройства1). Для устройств, характеризуемых указанной выше зависи¬ мостью, соответствие между током и напряжением взаимно однозначно. Для цепи, содержащей источники напряжения и тока, диоды, трансформаторы и нелинейные сопротивления, формулировка задачи Лагранжа остается такой же, как и в рассмотренном выше случае цепи, содержащей транс¬ форматоры, за исключением того, что нелинейные сопротив¬ ления описываются соотношением Cr = f {Ir), где f — взаимно однозначное преобразование. В резуль¬ тате можно написать следующие соотношения: = Г1 (<?д) = —g (ев)• А) В этом случае прямая проходит во II и IV квадрантах, что объясняется выбранным автором правилом определения знаков тока и напряжения (см. стр. 40). — Прим. перев. 50
На основании перечисленных в приложении Д свойств выпуклых функций можно заключить, что / представляет собой производную некоторой выпуклой функции ф, a g — производную некоторой вогнутой функции 0. Отсюда сле¬ дует, что решение цепи рассматриваемого типа соответ¬ ствует паре двойственных задач программирования для вогнутых функций. Эти задачи идентичны сформулирован¬ ным выше задачам квадратичного программирования, за исключением того, что квадратичные формы заменяются в прямой задаче на ф(iR), а в двойственной — на 6(<?д). Решения цепи относительно пары выводов. Кривые критических состояний Понятия решения системы относительно пары выводов и кривой критических состояний очень важны при рассмот¬ рении алгоритмов, проведенном в последующих главах. Поэтому эти понятия будут введены в настоящем разделе. В — Р * + 6 М о Фиг. 3.5. Цепь с парой доступных для наблюдения выводов (двухполюс¬ ник). Рассмотрим произвольную цепь, содержащую источники, диоды, сопротивления и трансформаторы, в которой одна пара узлов (пара выводов) доступна для внешнего наблю¬ дения (фиг. 3.5)1). Обозначим ток и напряжение на этой паре выводов соответственно символами б и е, а узлы, обра¬ зующие произвольную пару выводов, — одним столбцом матрицы соединений пт, который содержит —1 на позиции, соответствующей узлу М, и +1—на позиции, соответ¬ ствующей узлу Р. Псд решением цепи относительно пары выводов подразумевается пара значений б и е, которые х) Такую цепь в дальнейшем будем условно называть «двухпо¬ люсником».— Прим. перев. Цепь, состоящая из источников, диодов, сопротивле - яий и трансфор¬ маторов 4* 51
соответствуют некоторому решению цепи.* Решение цепи относительно пары выводов, таким образом, соответствует решению приведенной ниже системы уравнений, описываю¬ щей двухполюсник. Система уравнений двухполюсника первый закон Кирхгофа второй закон Кирхгофа Mi -f- tij 6 = 0 NTu = e | n\u= — 8 / = — RIr es == Tep, ip — — T is условия, налагаемые сопротив¬ лениями условия, налагаемые трансформа¬ торами iD> 0, eD>0, eDiD = 0 условия, налагаемые диодами Эта система уравнений может быть также записана в табличной форме следующим образом: 8 iR iv .1 h) ip is 6 и eP 1 e'D Nr Ny Nn NP — I NS — T nr -Ncic 0 -R Nr NTV "I NJP -I Ns —T I 0 ву 0 0 0 1 T tly 0 Линия, соединяющая векторные переменные ip и eD, показывает, что эти переменные должны удовлетворять условиям, налагаемым диодами. Приведенная выше система является частным случаем системы уравнений двух¬ полюсника общего вида. 52
n X l У V л в -Q АТ I 1 вт Электрическая модель такой математической системы будет рассмотрена в гл. 5. Кривая критических состояний — непрерывная кривая, составленная из отрезков прямых линий, причем ни один из них не имеет отрицательного наклона. На фиг. 3.6 приведен пример такой кри¬ вой. В приложении Ж показа¬ но, что множество значений (£,т)), которые соответствуют решениям системы уравне¬ ний двухполюсника общего вида, образуют на плоскости £, г] кривую критических состояний. Ниже приводится качественное доказательство справедливости такого резуль¬ тата, основанное на физиче¬ ских соображениях, связан¬ ных с электрическими цепями. Для этой цели полезно отделить, как показано на фиг. 3.7, диоды от цепи, присоединив каждый из них к собственной паре выводов. Для любого решения системы уравнений двухполюсника каждый диод либо заперт, т. е. имеет нуле¬ вой ток и ведет себя как разомкнутая цепь, либо открыт, т. е. на нем имеется нулевое падение напряжения и он эквива¬ лентен короткозамкнутой цепи (в данном случае крити¬ ческая точка не принимается во внимание). Из физических соображений ясно, что для фиксированного состояния каждого диода (открытого или запертого) существует одно¬ значное дифференциальное сопротивление цепи малым приращениям тока б, поскольку цепь содержит только линейные устройства. Это сопротивление может быть Ф II г. 3.6. Пример кривой кри¬ тических состояний. 53
нулевым, равным сопротивлению разомкнутой цепи, но никогда не может быть отрицательным. Предположим, что существует более чем одно решение относительно пары выводов для данного состояния диодов. Тогда все точки, лежащие на линии, соединяющей эти два решения, также должны быть решениями, так как для любого сочетания состояний диодов система является системой линейных 5— о— + £ О— Фиг. 3.7. Цепь с выделенными диодами. уравнений. Наклон этого отрезка прямой должен быть равен дифференциальному сопротивлению. Ввиду того что число возможных комбинаций состояний диодов конечно, множество решений относительно пары выводов должно состоять также из конечного числа отрезков прямых. Рассмотрим теперь случай присоединения к выводам источника переменного напряжения и сопротивления 1 ом (фиг. 3.8) и предположим, что величина напряжения вы¬ брана так, чтобы цепь имела решение. С ростом напряжения а точка решения относительно пары выводов движется вдоль отрезка прямой, соответствующего данному состоя¬ нию диодов. В некоторой точке ток или напряжение одного из диодов достигнет нуля, этот диод перейдет из запертого состояния через критическое к открытому состоянию, или наоборот, и точка решения окажется на новом отрезке прямой. При дальнейшем росте напряжения состояние диодов будет изменяться и соответственно будут последо¬ 54
вательно формироваться отрезки кривой критических состояний. Так как число комбинаций состояний диодов конечно, то в конце концов будет достигнуто такое состоя¬ ние, в котором никакое дальнейшее возрастание напряже¬ ния а не будет вызывать изменений состояния диодов. Таким образом, последний отрезок кривой критических состояний 't-и/ 1 ом ,'W'—О- т. + е О- Цепь,состо¬ ящая из диодов, источ¬ ников,сопро¬ тивлений и трансфор¬ маторов Фиг. 3.8. Иллюстрация непрерывности множе¬ ства состояний относительно пары выводов, /—множество решений относительно пары выводов; 2—точки, удовлетворяющие условиям, наложенным на выводы двухполюсника. должен неограниченно продолжаться в область положи¬ тельных токов и напряжений. Аналогичные соображения применимы для области отрицательных решений. Такова физическая интерпретация математического метода, кото¬ рый используется в приложении Ж для строгого доказа¬ тельства соответствующих свойств двухполюсника обще¬ го вида. 55
Два частных типа двухполюсников настолько важны, что заслуживают специального рассмотрения. Если цепь не содержит сопротивлений, то дифференциальное сопротив¬ ление со стороны выводов должно быть всегда равно либо нулю, либо сопротивлению разомкнутой цепи. Следователь¬ но, кривая критических состояний такого двухполюсника будет состоять только из горизонтальных и вертикальных отрезков прямых. Более того, если.напряжение источников равно нулю или эти источники вообще отсутствуют, то гори¬ зонтальные отрезки должны совпадать с осью тока, так как расстояние этих отрезков от оси тока определяется источниками напряжения. Аналогично, если токи всех источников равны нулю, вертикальные отрезки оказываются лежащими на оси напряжений. Для двухполюсника общего вида эти результаты устанавливаются теоремами Ж-2 и Ж-3.
ГЛАВА 4 Алгоритм построения электрических моделей задач распределения потока в цепи Важный и интересный класс задач математического программирования связан с рассмотрением потока некоторой величины в цепи. Цепь может быть представлена как система узлов, связанных ветвями (фиг. 4.1). Величины, которые, по Фиг. 4.1. Задача о распределении потока в цепи. предположению, движутся в цепи, могут быть самыми разно¬ образными — это могут быть, например, потребительские товары в системе распределения, сообщения в системе связи, автомобильный транспорт в магистральной сети. В задачах, рассматриваемых в этой главе, величина потока должна удовлетворять следующему существенному условию: в узлах цепи поток должен сохраняться. Это означает, что общий поток, втекающий в узел цепи, всегда должен быть равен общему потоку, вытекающему из узла 57
где Dt — величина потока (положительная, отрицательная или равная нулю), которая по условию должна попадать в цепь через узел i. Для каждой ветви цепи могут быть определены два параметра, характеризующие эту ветвь. Первый параметр СД представляет собой стоимость единицы потока в ветви, направленного из узла i в узел /. Второй параметр — пропускная способность ветви Mtj> опреде¬ ляет верхний предел величины потока Xtj, допустимого в этой ветви Хц<МФ (4.2) Задача об оптимальном распределении потока заключает¬ ся в том, чтобы определить распределение потока, обеспе¬ чивающее наименьшую общую стоимость при выполнении условий непрерывности и ограничений по пропускным способностям. Формулировка этой задачи такова. Минимизировать ^jCijXij (4.3) г, У при условии 2 Хи — 2 Xh = Di 3 3 и О <Хц<Мф Задачи подобного типа являются, очевидно, задачами линейного программирования. Модель, представляющая собой цепь с потоком, соот¬ ветствует самым разнообразным задачам размещения, передачи и распределения. Например, в рамках этой модели может быть рассмотрена хорошо известная транспортная задача [18]. Распределение тока в электрических схемах обычно не рассматривается как задача, связанная с распределением потоков в цепях. Однако здесь имеется изящная и полезная аналогия, которая и составляет основу содержания настоя¬ щей главы. Ниже рассмотрены модели в виде электричес¬ ких цепей, пригодные для представления двух частных случаев задач о распределении потока. В первой задаче ветви характеризуются только пропускной способностью, во второй — значениями стоимости. Построена модель для 58
общей задачи о распределении потока (4.3), в которой допускаются ограничения и на пропускную способность и на стоимость. Каждая из этих электрических моделей состоит только из источников тока, источников напряже¬ ния и идеальных диодов. Следовательно, алгоритм, с по¬ мощью которого находится решение для произвольной цепи из диодов и источников, можно использовать также и для определения оптимального распределения Потока в любой цепи. Этот алгоритм представлен в настоящей главе в виде, принятом в теории электрических цепей, что способствует в значительной степени интуитивному пониманию пред¬ лагаемого процесса нахождения решения. Метод, который будет описан ниже, по своей природе аналогичен способу решения транспортной задачи [15], разработанному Фордом и Фулкерсоном. Эти авторы указывали на возможность распространения их метода на общую задачу о распределении потока, что было выпол¬ нено Дживеллом [19]. Однако описываемый в данной работе алгоритм в некоторой степени является более общим и зна¬ чительно более гибким, а также имеет то преимущество, что решение цепи той же структуры, но при измененных значениях параметров может быть проведено на основе полученных ранее решений. В конце главы приводится связь между алгоритмом, най¬ денным автором, и соответствующими методами решения задач о распределении потока. Задача о максимальном потоке В качестве первого частного случая общей задачи о распределении потока рассмотрим цепь, в которой ветви, направленной от узла i к узлу ; (потоку Хи), приписаны верхнее предельное значение Л4и- и нижнее предельное значение —так что Mji Xtj ■< Мij. Такая цепь показана на фиг. 4.2. Необходимо найти максимальную величину потока, который может входить в цепь через узел а и соответственно выходить через узел Ь. Таким образом, можно сформулировать задачу, которая согласуется з своей постановке с общей формулировкой задачи о потоке в цепи [формулы (4.3)] при введении ветви с единичной стоимостью (фиг. 4.2). Тогда полная стоимость 59
распределения потока в цепи равна —F, а распределение, которое характеризуется минимальной стоимостью, очевид¬ но, будет совпадать с распределением, обеспечивающим Фиг. 4.2. Задача о максимальном потоке. максимум потока от а к Ь. Математическая постановка задачи о максимальном потоке таким образом имеет следую¬ щий вид: Максимизировать F при условиях = ТЛ (4.4) ; ; I 0, i ф а, b и -Мн<Ха<МФ (4.5) С помощью результатов гл. 3 можно осуществить синтез электрической модели (фиг. 4.3) для этой линейной программы. Каждая ветвь цепи заменяется комбинацией источников тока и диодов, а ветвь с единичной стоимостью — источником напряжения в одну единицу (1 в). Электричес¬ кая модель содержит больше узлов, чем исходная цепь. Узлы модели, которые соответствуют узлам исходной цепи, назовем основными узлами, а дополнительные узлы, имею¬ щиеся только в электрической модели, вспомогательными узлами. Из гл. 3 следует, что распределение тока и напря¬ жения, которое является решением для модели, соответст¬ вует минимуму мощности, поглощаемой источниками напря¬ жения при условиях отсутствия отрицательного тока через 60
диоды й непрерывности тока в каждом узле. Обозначим через X-j ток, проходящий через цепь, состоящую из диодов и источников тока в направлении от узла i к узлу /, и через F — ток через источник напряжения. Тогда условие (4.4) есть условие непрерывности тока в основных узлах. Условие Фиг. 4.3. Электрическая модель для задачи о максимальном потоке. непрерывности для вспомогательных узлов в сочетании с требованиями к току через диоды дает • м^-ха> о, Мц X-j О, что эквивалентно выражению (4.5). Так как минимизация величины мощности, поглощаемой источником напряжения, означает максимизацию величины F, то задача решения электрической модели с математической точки зрения эквивалентна решению задачи о максимальном потоке. Лю¬ бой выбор токов и напряжений, который удовлетворяет этой модели, будет соответствовать максимально возможному потоку в исходной цепи. Таким образом, распределение тока в электрической цепи непосредственно соответствует потоку в цепи с задан¬ ной пропускной способностью ветвей. Диоды модели ограни¬ чивают величину тока, что соответствует ограничениям пропускной способности в исходной цепи. Единственный источник напряжения вызывает максимальный ток в модели, и тем самым достигается максимальный поток в цепи. 61
Задача о кратчайшем пути Рассмотрим цепь, показанную на фиг. 4.4, в которой для каждой ветви заданы по два параметра стоимости. C'-j представляет стоимость единицы потока X-j, направлен¬ ного от узла i к узлу /, а — стоимость единицы потока Xjt в обратном направлении. Требуется определить такой путь для единицы потока от узла а к узлу Ь, чтобы полная стоимость была минимальной. Если, например, стоимости соответствуют расстояниям в разветвленной сети дорог, то это эквивалентно нахождению кратчайшего пути от а до Ь. В математической форме задача имеет следующий вид: Минимизировать Как и в задаче о максимальном потоке, можно образо¬ вать эквивалентную электрическую цепь, показанную на фиг. 4.5. В данном случае каждая ветвь состоит из ком¬ бинации источников напряжения и диодов и источника единичного тока. Используя снова результаты гл. 3, можно Фиг. 4.4. Задача о кратчайшем пути. 23 с ц ха г, } при условиях О, i Ф а, b (4.6) и (4.7) 62
убедиться, что условие непрерывности для основных узлов электрической модели приводит точно к выражению (4.6). Требование отсутствия отрицательных токов через диоды приводит к условию (4.7). Поскольку решение электричес¬ кой модели обеспечивает минимизацию функции 2 сихи г, i или мощности, поглощаемой источниками напряжения Фиг. 4.5. Электрическая модель для задачи о крат¬ чайшем пути. при этих ограничениях, то ветви, через которые протекает единичный ток, определяют внутри цепи путь с наименьшей стоимостью. Таким образом, величины источников напряжения соответствуют единичным стоимостям, или ценам. Эта связь может быть пояснена при рассмотрении двойственной отно¬ сительно описанной выше задачи линейного программиро¬ вания. Максимизировать Ua-Vb при условии Ui-UjKCu. Применительно к электрической цепи величины U сле¬ дует рассматривать как электрические потенциалы узлов. 63
Постановка задачи требует, чтобы мощность, поставляемая источником тока, становилась максимальной при некотором распределении узловых потенциалов, при котором на диодах отсутствуют отрицательные напряжения. Потенциалы U{ также имеют смысл и в задаче о потоке в цепи: любое решение электрической цепи должно удовлетворять усло¬ виям, налагаемым диодами (условия дополняющей нежест- кости) 0. Из этого выражения следует, что разность потенциалов между любой парой основных узлов должна быть равна единичной стоимости ветви (стоимости единицы потока), их соединяющей, если в этой ветви имеется поток. Рас¬ смотрим теперь путь от узла а к узлу b, в котором поток установился. Из сделанного выше вывода следует, что раз¬ ность потенциалов Uа — Ub должна быть точно равна сумме единичных стоимостей каждой отдельной ветви по всему пути. Если принять, что Ub равно нулю, то потен¬ циал узла а в электрической модели непосредственно пред¬ ставляет собой стоимость единицы потока для кратчайшего пути в цепи. Электрическая ветвь в задаче о кратчайшем пути является двойственной (в электрическом смысле) отно¬ сительно ветви в задаче о максимальном потоке. Эта двой¬ ственность (которая следует из принципа двойственности математического программирования) показывает, что если в цепи с диодами и источниками, для которой граф плоский, заменяются источники тока источники напряжения параллельное соединение поел едов ате л ьн ое соединение на источники напряжения источники тока п ос л едов ател ь н ое соединение параллельное соединение, то получается вторая электрическая цепь, которая удов¬ летворяет тем же математическим соотношениям, что и первая. В частности, применение этого преобразования к электрической модели задачи о максимальном потоке при¬ водит к электрической модели, соответствующей задаче о кратчайшем пути, и наоборот. 64
Общая задача о распределении потока В предыдущих разделах было установлено, что имеют место следующие эквивалентные соотношения: источник напряжения, соединенный последовательно с диодом, ана¬ логичен ветви с однонаправленным потоком и неограничен¬ ной пропускной способностью, в которой стоимость едини¬ цы потока равна величине источника. Источник тока, MS: I о- си 11ь -D*- IJ —О- J -о Фиг. 4.6. Электрическая модель обобщен¬ ной ветви, по которой движется поток. соединенный параллельно с диодом, аналогичен ветви с нулевой единичной стоимостью и заданным верхним пределом пропускной способности, который определяется величиной источника. Комбинация этих двух основных элементов дает элек¬ трическую ветвь, в которой сочетаются как единичная стоимость, так и ограничение пропускной способности. На фиг. 4.6 для простоты изображена однонаправленная ветвь такого вида. Проводимость в обоих направлениях может быть достигнута путем параллельного соединения двух ветвей. Электрическая модель обобщенной задачи о распределении потока показана на фиг. 4.1. Эта модель построена путем замены ветвей исходной цепи электриче¬ скими ветвями описанного типа. На фиг. 4.7 приведена модель, в которой каждый источник тока создает свой поток, поступающий в цепь через соответствующий узел. Легко проверить, что, как указано выше, любое решение цепи дает оптимальное (характеризующееся наименьшей стоимостью) распределение потока в цепи. С помощью цепей с диодами и источниками можно про¬ моделировать большое число вариантов этой задачи. Напри¬ мер, «граничные условия» для цепи, показанной на фиг. 4.1, состоят в задании величины потока, который может быть поглощен или передан по цепи в каждый узел. Граничные 5 Дж. Б. Деннис 65
условия Другого типа могут быть представлены источни¬ ком, создающим или поглощающим необходимую величину потока, но с постоянной стоимостью. Стоимость потока, поступающего в источник или вытекающего из него, при¬ бавляется к целевой функции, которая должна быть мини¬ мизирована. В электрической модели источник постоянной Фиг. 4.7. Электрическая модель для задачи о распре¬ делении потока в цепи. стоимости представляется источником напряжения, вели¬ чина которого равна этой стоимости. Прэйджер [26] рас¬ смотрел специальные способы решения задач о распре¬ делении потока с тем или иным граничным условием или при сочетании этих условий. Модели, рассмотренные в предыдущих разделах, позво¬ ляют сделать вывод, что решение задачи о распределении потока в цепи можно получить, построив реальную электри¬ ческую модель. Оптимальное распределение потока для исходной цепи может быть получено простым измерением соответствующих токов в модели. В большинстве случаев использование электрических моделей нецелесообразно для практики по двум причинам. Во-первых, для решения таких задач разработаны очень эффективные программы для цифровых вычислительных устройств, причем форма представления входных дан¬ ных и результатов вычислений обычно весьма удобна для использования. В электрической модели операции введения 66
входных данных и считывания результатов были бы не¬ экономичны с точки зрения затрат времени, а механизацют таких процессов была бы не оправдана в связи с возмож¬ ностью использования цифровых машин. Вторая причина связана с трудностью реализации достаточно точных элек¬ трических элементов. Это особенно относится к источникам тока. Качество существующих диодов и батарей таково, что не позволяет успешно осуществить моделирование задачи о распределении потока даже для не очень больших цепей (~100 ветвей). В частном случае задачи о кратчайшем расстоянии модель содержит только один источник тока, точность которого не должна быть слишком велика. Следовательно, решение относительно небольших задач подобного типа могло бы быть практически осуществлено на модели [2]. Целью автора при изучении подобных моделей было развить идеи физической трактовки математических форму¬ лировок задач и использовать это представление в каче¬ стве руководства при рассмотрении методов, излагаемых ниже. Условия существования и приведенные цепи Прежде чем дать подробное описание алгоритма вычис¬ лений, следует остановиться на значении теоремы суще¬ ствования математического программирования в связи с реальной структурой цепи. Ниже для описания опреде¬ ленных групп ветвей графа данной цепи будут использованы термины путь,' контур и дерево. Эти термины опреде¬ ляются следующим образом. Путь от узла i к узлу у. последовательность ветвей и узлов в графе, начинающаяся от узла i и оканчиваю¬ щаяся в узле /. Контур: путь, который начинается и оканчивается в одном и том же узле. Дерево: набор ветвей и узлов в графе, который содержит пути между каждой парой узлов в наборе, но не содержит контуров. Полное дерево: дерево, которое охватывает все узлы цепи. Ниже всюду считается, что определенные избыточные ветви удалены из любой рассматриваемой цепи. В част¬ ности, делаются следующие предположения. 5* 67
Первое предположение об отсут¬ ствии избыточности. Узлы цепи не могут быть разделены на две группы так, что единственным видом ветвей, соединяющими узлы этих двух групп, являются ветви, содержащие только источники тока. Это означает, в частности, что ни один узел цепи не может быть соединен с источниками тока, направленными только к нему. Если бы это предположение не удовлетво¬ рялось, то это означало бы, что либо величины токов этих источников не дают в сумме нуля и цепь не имеет решения, либо токи источников взаимно уничтожаются и тогда две части цепи могут решаться по отдельности (фиг. 4.8). Второе предположение об отсутствии из бы точности. Предположим, что в цепи нет кон¬ туров, в которых имеются только источники напряжения. Если бы это предположение не удовлетворялось, то один из источников напряжения мог бы быть удален, при¬ чем решение не изменилось бы, если не принимать во вни¬ мание изменение тока в контуре на произвольную вели¬ чину (фиг. 4.9). Следующие два условия являются необходимыми и дос¬ таточными для существования решения цепи, состоящей из источников напряжения и тока, идеальных диодов и сопротивлений. Первое условие существования. Для каждого контура цепи, состоящего только из диодов и источников напряжения, в котором все диоды включены в одном направлении, сумма величин источников, поляр* ность которых совпадает с полярностью диодов, не должна г п Ф и г. 4.8. Цепь, в которой нару¬ шается первое предположение об отсутствии избыточности. Фиг. 4.9. Цепь, в которой нарушается второе предпо¬ ложение об отсутствии из¬ быточности. 68
превышать сумму величин источников напряжений, вклю¬ ченных навстречу диодам. Второе условие существования. Раз¬ делим произвольно узлы на две группы. Для любого спо¬ соба разделения узлов, в котором все ветви, соединяющие узлы обеих групп, содержат диоды или источники тока и все диоды направлены к одной группе узлов, сумма величин источников тока, направленных к этой группе, не должна превышать сумму величин источников тока, направленных от нее. Эти условия являются просто вариантом формулировки ^еоремы существования решения задачи квадратичного Фиг. 4.10. Цепь, в которой не соблюдается первое условие существования решения. программирования, данной в разделе о приведенных цепя.х в гл. 3. Необходимость этих условий совершенно очевидна. Если первое условие для некоторого контура нарушается, то никакое распределение потенциалов по узлам контура не может удовлетворять условию распределения токов в ветвях контура. Если же при некотором делении узлов на две группы второе условие не выполняется, то никакое допустимое распределение токов через диоды не позволит свести ток между двумя группами узлов к нулю (см., например, фиг. 4.10 и 4.11). Достаточность этих условий для цепи с диодами и источ¬ никами станет очевидна, когда будет описан алгоритм, позволяющий прийти к решению, если^оба условия существо¬ вания удовлетворяются. Конечно, достаточность следует также из теоремы существования решения задачи квад¬ ратичного программирования. Предположим, что требуется решить определенную цепь N из источников напряжения и тока, диодов и сопро¬ 69
тивлений. При удалении всех источников тока и сопротив¬ лений из этой цепи можно получить другую цепь V. Эту цепь будем называть приведенной по напряжению цепью, связанной с цепью N. Приведенная по напряжению цепь для цепи на фиг. 4.12,а показана на фиг. 4.12,6. Каждый контур в исходной цепи N, который содержит только источ¬ ники напряжения и диоды, оказывается неизменным в при¬ веденной цепи V. Действительно, V содержит только такие контуры. Следовательно, цепь N удовлетворяет первому условию существования тогда, и только тогда, когда свя¬ занная с ней приведенная цепь V удовлетворяет этому Ф и г. 4.11. Цепь, в которой не соблю¬ дается второе условие существо¬ вания решения. условию. Заметим, что приведенная цепь V всегда удов¬ летворяет второму условию, так как она не содержит источ¬ ников тока. Аналогично можно построить из N приведенную по току цепь С, замыкая накоротко все источники напряжения и сопротивления в цепи N. Приведенная по току цепь, соот¬ ветствующая цепи на фиг. 4.12,а, показана на фиг. 4.12,в. Для любого деления узлов в цепи А, при котором две группы узлов соединяют только диоды и источники тока, соответ¬ ствующее деление узлов цепи С приводит к тому же резуль¬ тату. Действительно, каждое деление узлов в цепи С соответ¬ ствует некоторому подобному ему делению узлов в цепи N. Таким образом, цепь N удовлетворяет второму условию существования тогда и только тогда, когда связанная с ней приведенная цепь С удовлетворяет этому условию. 70
Опять-таки приведенная цепь С всегда удовлетворяет пер¬ вому условию, так как не содержит источников напря¬ жения. Таким образом, на основе электрических представлений мы приходим к выводу, сформулированному в гл. 3: Фиг. 4.12. Цепь, состоящая из диодов, источников и сопротивлений, и связан¬ ные с ней приведенные цепи. Цепь, построенная из источников тока и напряжения, диодов и сопротивлений, обладает решением в том и только в том случае, если связанные с ней приведенные по току и напряжению цепи имеют решения. 71
Первый алгоритм для цепей с диодами и источниками В этом разделе дается описание алгоритма для решения любой цепи с диодами и источниками, удовлетворяющей условиям, отсутствия избыточности и условиям существо¬ вания. Перед детальным описанием алгоритма рассматри¬ вается выполнение эквивалентных операций над реальными цепями, что облегчает физическую интерпретацию алго¬ ритма. Метод состоит из двух этапов: сначала находится решение приведенной по напряжению цепи, а затем резуль¬ таты первого этапа используются в качестве исходных дан¬ ных для получения полного решения цепи. В терминах линейного программирования это означает, что вначале определяется допустимый вектор основной задачи, который затем видоизменяется до тех пор, пока станет не только допустимым, но и оптимальным. Предлагаемый алгоритм сводится физически к набору цепи из отдельных элементов следующим способом: I этап 1. Используем только источники напряжения, 2. Прибавляем диоды по одному, II этап 3. Замыкаем накоротко необходимое число диодов, чтобы короткозамкнутые ветви и источники напряжения составили полное дерево всей цепи. 4. Прибавляем источники тока по одному. 5. Последовательно снимаем короткие замыкания с дио¬ дов, введенные в п. 3. В дальнейшем цепь, состоящая из тех элементов, кото¬ рые уже были «собраны» в соответствии с описанным выше способом, будет называться решенной подцепью. Таким образом, на каждом шаге алгоритма набор токов и напряжений представляет собой решение для соответ¬ ствующей решенной подцепи. Следуя описанному порядку набора цепи, всегда можно, как будет показано ниже, найти решение для комбинации уже решенной подцепи и элемента, присоединяемого на следующем шаге. Такое утверждение справедливо только тогда, когда цепь, для которой ищется решение, удовлетворяет условиям отсут¬ ствия избыточности и условиям существования, приве¬ денным выше. Буквы О, В и С будут использованы для обозначения тех диодов, которые находятся в открытом, критическом и запертом состояниях соответственно. 72
I этап. Решение цепи, приведенной по напряжению Шаг 1. Выбираем в качестве исходной решенной цепи полное дерево цепи, решение которого ищется путем а) включения всех ветвей с источниками напряжения; б) добавления необходимого числа ветвей с диодами так, чтобы все узлы были охвачены, но в то же время не образовывалось бы контуров. Легко показать, что такое дерево существует. В соот¬ ветствии с первым предположением об отсутствии избыточ¬ ности невозможно разделить узлы цепи на две группы так, чтобы узлы двух групп соединялись ветвями, содержащими только источники тока. Это гарантирует существование дерева цепи, содержащего только источники напряжения и диоды. Второе предположение об отсутствии избыточ¬ ности означает, что не имеется контуров, включающих только источники напряжения. Это гарантирует существо¬ вание полного дерева, содержащего только диоды и все источники напряжения. Цепь из диодов и источников и полное дерево для нее с распределением потенциалов показаны на фиг. 4.13. Шаг 2. Считаем каждый диод исходной решенной цепи находящимся в критическом состоянии (нулевое напряжение, нулевой ток). Вычислим последовательный ряд узловых потенциалов для этой цепи (дерева). Рас¬ смотрим все диоды, на которых напряжение равно нулю или больше нуля, как составляющие часть решенной подцепи и находящиеся соответственно в критическом или запертом состояниях. Это можно сделать, полагая потенциал некоторого произвольно выбираемого узла равным нулю. Затем вычис¬ ляются потенциалы тех узлов, которые соединены с этим начальным узлом ветвями дерева. Это позволяет оценивать потенциалы других узлов относительно найденных ранее величин. Продолжая этот процесс, можно получить карти- * ну распределения потенциалов по всем узлам цепи. Поскольку, по определению, дерево не содержит контуров, никакой неоднозначности в этом процессе не возникает и, следовательно, требуемый набор узловых потенциалов всегда можно вычислить. Шаг 3. Выбираем диод, не входящий в решенную подцепь. Если такой диод отсутствует, то I этап закончен, и полученный набор узловых потенциалов представляет 73
решение приведенной по напряжению цепи. Переходим ко II этапу. Если же такой диод имеется, то обозначим узлы, к которым присоединены его положительный и отри¬ цательные выводы, соответственно через Р и М. Пусть Е будет величина напряжения (отрицательного) на выбран¬ ном диоде. В ходе шагов 4—7 определяется решение новой под¬ цепи, состоящей из решенной подцепи и диода, выбранного на шаге 3. Шаг 4. Пометим звездочкой узел Р. Шаг 5. Пометим узел /, если помечен узел i и имеется ветвь подцепи, соединяющая узлы i и /, которая включает а) источник напряжения; б) диод в критическом состоянии, направленный от узла i к узлу /. б Фиг. 4.13. Цепь с диодами и источниками и соответствующее дерево с распределением потенциалов перед началом I этапа. 74
Повторяем этот процесс до тех пор, пока не останется ни одного узла, который может быть помечен. Если узел М не помечен, переходим к шагу 6. Если М окажется поме¬ ченным, цепь не имеет решения. В последнем случае имеется путь между положитель¬ ным и отрицательным выводами выбранного диода, состоя¬ щий только из источников напряжения и диодов в крити¬ ческом состоянии (фиг. 4.14). Вместе с диодом ветви этого # Фиг. 4.14. Случай, когда узел М помечен звез¬ дочкой. пути образуют контур, состоящий только из источников напряжения и согласно включенных диодов с полным напряжением в контуре, равным Е. Первое условие суще¬ ствования, таким образом, нарушается, и цепь не имеет решения. Если узел М не помечен, то узлы цепи могут быть раз¬ делены на две группы,—помеченные и непомеченные. Любая ветвь, протянутая от помеченного узла i к непомеченному узлу /, должна иметь а) диод в запертом состоянии; б) диод в критическом состоянии, направленный от узла / к узлу i. Это положение иллюстрируется фиг. 4.15. Если бы это было несправедливо, то операция пометки узлов звездоч¬ ками (шаг 5) не была бы закончена. Вспомним, что на I этапе не имеется диодов в открытом состоянии, так как все токи остаются равными нулю. Теперь представим себе, что одновременно произошло увеличение потенциалов на всех помеченных узлах на вели¬ чину AU. Новый набор потенциалов может рассматриваться как решение для уже решенной подцепи, пока он совместим 75
с требованиями, налагаемыми отдельными ветвями. На ветви, соединяющие пару помеченных или пару непоме¬ ченных узлов, изменение потенциалов не должно повлиять. Ветви, которые соединяют помеченные узлы с непомечен¬ ными, можно разделить на два вида: ветви, содержащие диоды в критическом состоянии, и ветви, содержащие запер¬ тые диоды. Что касается диодов в критическом состоянии, Фиг. 4.15. Случай, когда узел М не помечен звез¬ дочкой. то они запираются при любой положительной величине AU и налагаемые ими условия удовлетворяются независимо от величины AU. Условия, определяемые диодами, напра¬ вленными от непомеченных узлов, справедливы для любой положительной величины AU. Для каждого запертого диода, направленного в сторону непомеченного узла, имеется предел допустимого увеличения потенциала поме¬ ченного узла, который равен напряжению на этом диоде. Поскольку, согласно принятому условию, напряжение на запертом диоде никогда не равно нулю, то всегда имеется допустимая величина At/, на которую могут возрасти потенциалы помеченных узлов, что дает новое решение решенной подцепи. Это увеличение потенциалов приводит к тому, что напряжение на выбранном диоде становится более положительным и его состояние приближается к со¬ стоянию, соответствующему налагаемым диодом условиям. Ниже дается подробное описание этого процесса. Шаг 6. Рассмотрим те диоды в подцепи, которые находятся в запертом состоянии и направлены от поме¬ ченного узла к непомеченному. Пусть AV будет наимень¬ г j 76
шее напряжение для любого из этих диодов. Если AV больше, чем £, или не имеется запертых диодов, напра¬ вленных к непомеченному узлу, то полагаем AU = E. В про¬ тивном случае AU = AF. Шаг 7. Увеличим потенциалы помеченных узлов на AU. Каждый диод в критическом состоянии, связывающий помеченный узел с непомеченным, переходит в запертое состояние. Некоторые запертые диоды, направленные от помеченных узлов к непомеченным, могут перейти в кри¬ тическое состояние. Все остальные диоды сохранят свои предыдущие состояния. После изменения потенциалов с не¬ которых диодов, не входящих в решенную подцепь, отри¬ цательное напряжение снимается. Эти диоды ниже будут рассмотрены, как часть решенной подцепи. Если AU — E, то полученное решение является решением старой под¬ цепи, к которой добавлен выбранный диод. В этом случае удаляем все звездочки и возвращаемся к шагу 3. В против¬ ном случае заменяем Е на (Е—AU) и возвращаемся к шагу 5. Каждый раз, когда изменение потенциалов произво¬ дится в ходе шагов 6 и 7, либо находится решение, удовле¬ творяющее выбранному диоду, либо один из запертых дио¬ дов, соединяющих помеченный узел с непомеченным, пере¬ ходит в критическое состояние. В последнем случае всегда можно пометить другой узел на шаге 5. Поэтому для каждого диода, выбранного на шаге 3, число операций пометки узлов звездочкой до того момента, как условия, налагаемые диодом, будут выполняться, никогда не пре¬ вышает числа узлов в цепи. Таким образом, I этап должен заканчиваться за конечное число шагов. II этап. Завершение решения Шаг 1. Рассмотрим для приведенной по напряжению цепи такое деление узлов на две группы, при котором в ветвях, соединяющих узлы этих двух групп, имеются только запертые диоды. Будем повышать или понижать по¬ тенциалы узлов одной группы до тех пор, пока по меньшей мере один диод не перейдет в критическое состояние. Эту операцию следует повторять до тех пор, пока указанное деление узлов на две группы станет невозможным. Цель шага 1 заключается в том, чтобы удостовериться, можно ли найти дерево со свойствами, которые окажутся необходи¬ мыми на шаге 2. Ясно, что каждое изменение потенциалов на шаге 1 дает новый набор значений потенциалов, являю¬ щийся решением цепи, приведенной по напряжению. При 77
каждом изменении потенциалов по меньшей мере один диод переходит из запертого в критическое состояние, в то время как все диоды, находившиеся в критическом состоянии, остаются в этом состоянии. Следовательно, шаг 1 должен закончиться после такого числа операций изменения потенциалов, которое не превышает числа первоначально запертых диодов. Шаг 2. Выберем из приведенной по напряжению цепи полное дерево, состоящее только из источников напряжения и диодов в критическом состоянии. Припи¬ шем ветвям распределение токов, которое удовлетворяет условию непрерывности и согласуется с требованиями, налагаемыми источниками тока. Выберем те диоды в дереве, токи которых больше куля, и замкнем накоротко диоды дерева, токи которых меньше нуля. Получившаяся цепь (с источниками тока) является решенной подцепью, кото¬ рая используется в качестве исходной для итераций на II этапе. Процесс нанесения распределения токов на дерево может быть выполнен следующим образом. Выберем источ¬ ник тока и путь (из дерева), соединяющий пару узлов, к которым подключается источник тока. Прибавим ток источника к току каждой из тех ветвей, где эти токи совпа¬ дают по направлению. Вычтем этот ток из остальных ветвей на этом пути. Повторим операцию для каждого источника тока. Очевидно, что подобный процесс нанесе¬ ния распределения токов на дерево может быть осущест¬ влен всегда. На фиг. 4.16, а показано решение для приве¬ денной по напряжению цепи, полученной из цепи фиг. 4.13. На фиг. 4.16,6 изображено дерево, удовлетворяющее тре¬ бованиям, предъявляемым на шаге 2, с распределением токов, согласованным с источниками тока. Шаг 3. Выберем один из замкнутых накоротко дио¬ дов. Если теперь не остается ни одного короткого замы¬ кания, то полученный набор токов и напряжений предста¬ вляет решение цепи, и II этап алгоритма закончен. В про¬ тивном случае обозначим узлы, к которым присоединяются положительный и отрицательный выводы выбранного диода, соответственно буквами Р и М, а величину тока (обрат¬ ного) в этом диоде через /. Дальнейшие шаги, с 4 по 9, направлены на отыскание решения новой цепи, состоящей из решенной подцепи и выбранного на шаге 3 диода со снятым с него коротким 78
замыканием. Снова помечаем звездочкой узлы, через кото¬ рые может протекать ток по пути от узла Р. В итоге можно прийти к двум результатам: оказывается найден¬ ным либо путь, соединяющий узлы Р и М, по которому может протекать приращение тока, уменьшающее ток Фиг. 4.16. Решение для приведенной по напряжению цепи и распределение токов перед началам II этапа. между этими узлами, либо способ изменения узловых потенциалов, при котором такой путь будет в конце концов найден. Значение этого утверждения станет яснее, если рассматривать узлы Р и М как выводы цепи с диодами и источниками и пробовать возможные комбинации тока и напряжения на этой паре выводов. Как указано в гл. 3, набор решений относительно выводов решенной цепи пред¬ ставляет кривую критических состояний. Поскольку цепь не содержит сопротивлений, кривая критических состоя¬ ний состоит только из отрезков вертикальных и горизон¬ тальных линий (фиг. 4.17). В начальном положении выводы Р и М накоротко замкнуты и цепь находится в со¬ 79
стоянии, соответствующем точке а на фиг. 4.17. Точка b представляет пересечение кривых, соответствующих зави¬ симостям, определяемым диодом и цепью. В ходе шагов с 4 по 9 решение решенной цепи передвигается по кривой критических состояний от точки а к точке Ь. Изменение потенциалов соответствует вертикальному перемещению > о- Выбранный . диод О— .1 р + Цель, 0 состоящая из диодов и М- источников Кривая критических состоянийч Характеристика выбранного диода Фиг. 4.17. Кривая критических состояний для ре¬ шенной подцепи, наблюдаемая со стороны выбран¬ ного диода. по кривой, а каждое приращение тока вдоль пути соответ¬ ствует перемещению по горизонтали. Ш а г 4. Пометим звездочкой узел Р. Будем поме¬ чать узел /, если узел i помечен и имеется ветвь, соединяю¬ щая i с / и включающая а) источник напряжения; б) диод в открытом состоянии; в) диод в критическом состоянии, направленный к узлу /; г) коротко замкнутый участок. Повторяем этот процесс до тех пор, пока ни один узел не может быть помечен. Если узел М помечен, переходим к шагу 5. Если же не помечен, переходим к шагу 8. 80
Если узел ЛЕ помечен, то картина будет такова, как показано на фиг. 4.18. ; . Ш а г 5. Выберем путь, проходящий от узла Р к узлу М, включающий только источники напряжения, открытые диоды и диоды в критическом состоянии, полярность которых совпадает с направлением пути. Такой путь должен существовать, иначе узел М не мог быть помечен ранее. Теперь рассмотрим увеличение тока Фиг. 4.18. Случай, когда узел М помечен звездочкой. в ветвях этого пути на величину AJ. Если потенциалы поддерживаются постоянными, то это изменение повлияет только на ветви. Поэтому новое распределение токов вместе с напряжениями на ветвях будет оставаться решением, пока удовлетворяются требования, наложенные на ветви выбранного пути. Источники напряжения, входящие в этот путь, допускают протекание любого тока, следовательно, они не налагают никаких ограничений на A J. Диоды в кри¬ тическом состоянии и открытые диоды, полярность кото¬ рых совпадает с направлением пути, также допускают неограниченное увеличение тока. С другой стороны, каждый открытый диод, направленный в противополож¬ ную сторону, устанавливает предел увеличению тока вдоль пути. Все эти диоды позволяют повысить ток на вели¬ чину, равную значению тока, проходящего в данный момент через диод. Последовательность действий предла¬ гаемого алгоритма такова. Шаг 6. Рассмотрим на пути, выбранном на шаге 5, лишь те диоды, которые находятся в открытом состоянии и ориентированы в направлении, противоположном напра¬ влению пути. Пусть АН будет наименьший ток для всех б Дж. Б. Деннис 81
этих диодов. Если А//>/ или не имеется открытых диодов, направленных против пути, положим А/ = /. В противном случае считаем AJ = A/7. Ш а г 7. Для каждой ветви пути увеличим ток на AJ, если он течет по направлению пути, или уменьшим на AJ, если ток течет в обратном направлении. Каждый диод на Ф». 4.19. Случай, когда узел М не помечен звездочкой. этом пути, находившийся в критическом состоянии, пере¬ ходит в открытое состояние. Некоторые из открытых дио¬ дов переходят в критическое состояние. Ток некоторых замкнутых ^накоротко диодов уже не может быть отрица¬ тельным. Свкаждого из этих диодов снимем короткое замы¬ кание. Если A J = /, то найдено решение подцепи, справед¬ ливое для выбранного диода. Рассмотрим новую подцепь, в которой этот диод не замкнут накоротко. Снимем все звездочки и возвратимся к шагу 3. В противном случае полагаем I~I—AJ, снимаем звездочки и возвращаемся к шагу 4. Если узел М не помечен, то возникает ситуация, изо¬ браженная на фиг. 4.19. Снова рассмотрим увеличение потенциалов помеченных узлов на величину AV (как и на шагах 6 и 7 этапа I). Теперь каждая ветвь, соединяющая помеченный узел i и непомеченный узел /, должна включать а) запертый диод; б) диод в критическом состоянии, направленный от узла / к узлу i\ в) источник тока. 82
В противном случае следовало бы пометить звездочкой узел /. Как и раньше, запертые диоды, направленные к непомеченным узлам, определяют величину, на которую могут возрасти потенциалы, все еще сохраняя совместно с токами в ветвях свойства решения решенной подцепи. Ш а г 8. Рассмотрим те запертые диоды в решенной подцепи, которые направлены к непомеченным узлам. Если их нет, задача не имеет решения. Пусть AV будет наименьшим напряжением для всех этих запертых диодов. Если нет ни одного запертого диода, направленного к непомеченному узлу, то все диоды, соединяющие поме¬ ченные узлы с непомеченными, направлены к помеченным узлам. Кроме того, сумма величин источников тока между помеченными узлами и непомеченными должна быть точно равна 1, т. е. должна быть больше нуля и ее направление должно соответствовать проводимости диодов. Таким обра¬ зом, нарушается второе условие существования и решения цепи не существует. Шаг 9. Увеличим потенциал каждого помеченного звездочкой узла на AV. Все диоды, находившиеся в кри¬ тическом состоянии, которые соединяют помеченные узлы с непомеченными, окажутся в запертом состоянии. По край¬ ней мере один запертый диод перейдет в критическое состояние. Снимем все звездочки и возвратимся к шагу 4. При каждом изменении либо в распределении потен¬ циалов, либо в распределении токов в ветвях в ходе всех шагов от 4 до 9 на II этапе хотя бы один диод решенной подцепи изменяет состояние. Кроме того, каждое изменение потенциалов или токов сдвигает точку решения монотонно вверх или вправо по кривой критических состояний. Поэтому ни одна заданная комбинация состояний диодов не может повториться. Это свидетельствует о том, что итера¬ ционный процесс заканчивается за конечное число шагов, причем либо находится решение, либо становится очевид¬ ным, что решения не существует. Второй алгоритм для цепи с диодами и источниками Согласно алгоритму, описанному выше, вначале нахо¬ дится решение приведенной по напряжению цепи, соответ¬ ствующей заданной цепи с диодами и источниками. В этом разделе будет описан второй алгоритм, согласно которому сначала ищется решение приведенной по току цепи, свя¬ 6* 83
занной с данной. В терминах математического программи¬ рования это ^означает, что находится допустимый вектор для прямой задачи линейного программирования, а затем он видоизменяется до тех пор, пока не станет опти¬ мальным. Второй алгоритм эквивалентен ^выполнению следую¬ щих операций над реальной цепью с диодами и источниками. I эта п. Решение приведенной по то¬ ку цепи 1. Замкнем накоротко все диоды и источники напряже¬ ния в цепи. Тогда исходная цепь будет состоять только из источников тока. 2. Будем последовательно заменять диодами коротко- замкнутые участки, пока все ранее исключенные диоды не будут восстановлены в цепи. II этап. Завершение решения 3. Удалим из цепи все диоды, ток через которые равен нулю. 4. Разомкнем один за другим все источники напря¬ жения. 5. Восстановим по одному диоды, которые были уда¬ лены на шаге 3. Ниже дается краткое описание второго алгоритма, поскольку этот алгоритм во многом подобен первому. I эта п. Решение приведенной по то¬ ку цепи Ш а г и 1 и 2. Выберем из приведенной по току цепи дерево, которое не содержит ни одного источника тока. Припишем этому дереву распределение токов, которое удовлетворяет требованиям, налагаемым источниками тока. Замкнем накоротко те диоды в дереве, через которые текут отрицательные токи. Полученная цепь является начальной решенной подцепью для этапа I. Шаг 3. Выберем один из короткозамкнутых диодов. Если таковых нет, то I этап завершен и существующее распределение токов является решением приведенной по току цепи. Затем переходим ко II этапу. При наличии замкнутого накоротко диода обозначим буквами Р и М положительный и отрицательный узлы относительно этого диода. Пусть / есть обратный ток этого диода. III а г 4. Пометим звездочкой узел Р. Щ а г 5. Пометим узел /, если узел i помечен и имеется ветвь, соединяющая узлы i и /, которая включает 84
а) открытый диод; б) диод в критическом состоянии, направленный к узлу /; в) короткозамкнутую ветвь. Повторяем эту операцию до тех пор, пока ни одного узла уже нельзя будет пометить. Если узел М помечен, переходим к шагу 6. В противном случае цепь не имеет решения. Если узел М оказывается не помеченным, то второе условие существования нарушается. Шаг' 6." Выберем путь от узла Р к узлу М, составлен¬ ный из открытых диодов и диодов в критическом состоя¬ нии, полярность которых совпадает с направлением пути. Пусть ДН будет наименьший ток открытых диодов, вклю¬ ченных в направлении, противоположном направлению пути. Если ДЯ>Д/ или таких открытых диодов нет, пола¬ гаем Д/ = Д/. В противном случае считаем Д/^ДЯ. ПГа г 7. Для каждой ветви'пути увеличим ток на Д J, если его направление совпадает с направлением пути, или уменьшим, если их направления противоположны. Каждый диод, находившийся в критическом состоянии, становится открытым. Некоторые из открытых^диодов, включенных в направлении, противоположном направле¬ нию пути, переходят в критическое состояние. После такого изменения в распределении токов ток некоторых из замкнутых накоротко диодов может уже не быть отри¬ цательным. Снимем замыкание с этих диодов и будем рас¬ сматривать их как часть решенной подцепи. Снимем все звездочки. Если Д J = I, то возвращаемся к шагу 3, в про¬ тивном случае — к шагу 4. II этап. Завершение решения Шаг I. Рассмотрим любой контур приведенной по току цепи, которая при распределении токов, полученном на этапе I, содержит только диоды в открытом состоянии. Если их нет, переходим к шагу 2. Изменим токи в ветвях контура так, чтобы один из диодов перешел в критическое состояние, добавляя или вычитая приращение Д/ в зависи¬ мости от того, совпадают направления ветви и контура или они противоположны, Повторяем шаг 1, пока все такие контуры не будут исключены. Это гарантирует полу¬ чение дерева, необходимого для шага 2. Ш а г 2. Выберем полное дерево из приведенной по току цепи, включая все открытые диоды и короткозамкну¬ 85
тые ветви и прибавляя необходимое количество диодов в критическом состоянии. Введем снова источники напря¬ жения, которые были замкнуты накоротко при составле¬ нии приведенной по току цепи. Вычислим набор узловых потенциалов, который удовлетворял бы требованиям, нала¬ гаемым источниками напряжения и другими ' ветвями дерева. Это дерево вместе с источниками тока представляет для II этапа исходную решенную подцепь. Добавим к решенной подцепи любые не входящие в дерево диоды, напряжение на которых не отрицательно, и будем рассма¬ тривать их как часть решенной подцепи. Ш а г 3. Выберем диод, не включенный в решенную подцепь. Если такого диода нет, то имеющиеся токи и на¬ пряжения представят решение всей цепи, и II этап закон¬ чен. Если же такой диод имеется, обозначим узлы, к кото¬ рым присоединены его положительный и отрицательный выводы, буквами Р и М соответственно, а величину напря¬ жения (отрицательного) на этом диоде через Е. В ходе шагов с 4 по 9 второго алгоритма находится решение для новой подцепи, состоящей из уже решенной подцепи, дополненной диодом, выбранным на шаге 3. Как и в первом алгоритме, метод заключается в движении по кривой критических состояний, построенной относительно узлов Р и М. Эти шаги идентичны соответствующим шагам на II этапе первого алгоритма, за исключением того, что а) при выборе величины изменения тока на пути от узла Р к узлу М на шаге 6 всегда считаем A J равным А Я. Если нет открытых диодов, включенных в направлении, противоположном направлению пути, то цепь не имеет решения из-за нарушения первого условия существования; б) при установлении величины изменения потенциалов на шаге 8 полагаем AV равным Е, если АУ>£ или если не имеется запертых диодов, направленных от узла, поме¬ ченного звездочкой, к непомеченному узлу; “в) на шаге 9 при изменении потенциалов окажутся снятыми с некоторых диодов, не входящих в решенную подцепь, отрицательные напряжения. Включим эти диоды в решенную цепь перед выполнением следующих шагов. Удалим все звездочки. Если AV = E, введем выбранный диод в решенную подцепь и вернемся к шагу 3. В против¬ ном случае перейдем к шагу 4; г) на шаге 7 изменим токи на А/, положим 1 = 1—A J, удалим все звездочки и возвратимся к шагу 4. 86
Рассуждения, аналогичные приведенным в предыдущем разделе, показывают, что этот процесс также закончится за конечное число шагов. Видоизменение решения при новых значениях параметров Естественный вопрос, касающийся описанных выше алгоритмов, состоит в следующем. Дано решение некото¬ рой цепи с диодами и источниками. Насколько легко найти решение для той же цепи, но при других величинах источ¬ ников тока и напряжения? Следует ли начинать все с са¬ мого начала или можно использовать уже найденное ре¬ шение? Описанные выше алгоритмы позволяют легко использо¬ вать полученное решение в качестве исходного для процесса определения нового решения. Очевидно, могут быть три случая в зависимости от того, что изменилось: источники тока, источники напряжения или и те и другие. Случай I. Положим, что новая цепь отличается от рассмотренной только величинами источников тока. Выбе¬ рем полное дерево в цепи, которое при прежних величинах токов и напряжений включает все источники напряжения и все открытые диоды, а также достаточное число диодов в критическом состоянии, чтобы построить полное дерево. Припишем этому дереву такое распределение токов, чтобы удовлетворялись требования, налагаемые новыми вели¬ чинами источников тока. Сохраним прежний набор узло¬ вых потенциалов. В некоторых диодах дерева теперь могут возникнуть отрицательные токи. Используем операции II этапа первого алгоритма, чтобы устранить это положе¬ ние, и в результате получим искомое решение для цепи. Случай II. Положим, что новая цепь отличается от рассмотренной только величинами источников напряжения. Выберем полное дерево в цепи, которое при прежних вели¬ чинах токов и напряжений включает все источники напря¬ жения и все открытые диоды, а также достаточное число диодов в критическом состоянии, чтобы построить полное дерево. Поддерживая прежнее распределение токов в вет¬ вях, вычислим новый набор узловых потенциалов, который удовлетворял бы требованиям для ветвей дерева при новых величинах источников напряжения. Теперь на некоторых диодах, не вошедших в дерево, уже не будет отрицатель¬ ных напряжений. Применим метод этапа II второго алго¬ 87
ритма, чтобы удовлетворить условия, налагаемые этими диодами, и тем самым получим решение для новой цепи. Такое полное дерево, обладающее необходимыми свой¬ ствами для начала этих операций, всегда может быть най¬ дено, что подтверждается предположениями об отсутствии избыточности. Положим, что узлы цепи могут быть разде¬ лены на две группы так, что любые ветви, соединяющие узлы обеих групп, представляют собой либо запертый диод, либо источник тока. Это обстоятельство может препятство¬ вать существованию требуемого дерева. Первое предполо¬ жение об отсутствии избыточности гарантирует, что не все из этих ветвей содержат источники тока. Поэтому потен¬ циалы одной группы узлов могут быть так изменены, чтобы один из диодов перешел в критическое состояние. С другой стороны, допустим, что в группе ветвей, содер¬ жащих все источники напряжения и все открытые диоды, имеется замкнутый контур. Это также может явиться пре¬ пятствием к построению требуемого дерева. Однако, соглас¬ но второму предположению об отсутствии избыточности, такой контур не может состоять только из источников напряжения. Поэтому токи в ветвях контура могут быть изменены так, что открытый диод перейдет в критическое состояние. Приведенные соображения показывают, что для заданной цепи с диодами и источниками и заданного реше¬ ния можно либо выбрать полное дерево, включающее все источники напряжения и все открытые диоды, а также необходимое число диодов в критическом состоянии, либо нетрудно видоизменить решение так, чтобы такое дерево можно было бы выбрать. Случай III. Предположим, что новая цепь отли¬ чается величиной источников тока и источников напряже¬ ния. Рассмотрим промежуточную цепь, в которой по срав¬ нению с ранее рассмотренной изменены только величины источников тока. Решим эту цепь методом, изложенным в случае I. Далее изменим величину источников напряже¬ ния и будем действовать, как в случае II. Промежуточная цепь всегда разрешима, если новая цепь вообще имеет решение. Это справедливо, поскольку приведенная по напряжению цепь для промежуточной задачи идентична подобной цепи в ранее рассмотренной задаче, тогда как приведенная по току цепь для промежуточной задачи иден¬ тична подобной цепи в новой задаче. Первая должна обла¬ дать решением, если ранее рассмотренная цепь имела 83
решение, а последняя должна обладать решением, если новая цепь разрешима. Следовательно, промежуточная цепь также должна иметь решение. Другой подход к задаче случая III состоит в решении промежуточной цепи, в которой только величины источни¬ ков напряжения изменены, и в последующем видоизмене¬ нии этого решения для новых величин источников тока. Как и предыдущая, эта промежуточная цепь всегда будет разрешима. Применение алгоритмов к задаче о распределении потока Для иллюстрации применения изложенных выше мето¬ дов к решению задач о распределении потока вернемся к задаче о кратчайшем пути, описанной в начале главы. м Фиг. 4.20. Решение задачи о кратчайшем пути с помощью первого алгоритма. Как было указано, кратчайший путь может быть определен путем решения цепи с диодами и источниками, пред¬ ставленной на фиг. 4.20. В цепь включен дополнительный диод, который, очевидно, не может изменить решения цепи. Поскольку напряжение источников положительно, существует очевидное решение для приведенной по напря¬ жению цепи, а именно равенство нулю потенциалов всех основных узлов. Исходное решение для начала этапа II первого алгоритма можно получить, направив единичный ток из отдельного источника тока через дополнительный диод в обратном направлении. Этот диод единственный в цепи, для которого не выполняются необходимые усло¬ вия. Следовательно, при движении по кривой критических состояний, построенной относительно выводов цепи, отме- 89
генных на фкг. 4.20, будет получено полное решение, как только ток через эти выводы окажется равным нулю. При применении второго алгоритма к задаче о кратчай¬ шем пути может быть найдено решение для приведенной Фиг. 4.21. Решение задачи о кратчайшем пути с помощью второго алгоритма. по току цепи путем выбора произвольного пути через при¬ веденную цепь и задания единичного тока на этом пути (фиг. 4.21). Поскольку не составляет труда выбрать путь так, чтобы ток проходил через каждый диод в прямом напра¬ влении, то никаких дальнейших флагов не требуется.^Пр и Ф и г. 4.22. Решение задачи о максимальном по¬ токе с помощью второго алгоритма. введении источников напряжения в начале этапа II к некоторым диодам, не входящим в выбранный путь, может оказаться приложенным отрицательное напряжение. В этом случае следует воспользоваться операциями шагов с 4 по 9 с тем, чтобы видоизменить решение. Аналогичные замечания относятся к электрической модели, построенной для задачи о максимальном потоке, которая иллюстрируется фиг. 4.22. В этом случае решение 90
приведенной по току цепи может быть непосредственно най¬ дено из рассмотрения цепи. Токи в цепи текут через диоды, присоединенные параллельно источникам. Исходное реше¬ ние для начала II этапа второго алгоритма можно получить, если приложить единичное напряжение к дополнительному диоду D. При движении по кривой критических состояний, наблюдаемой на выводах этого диода, получается решение, а следовательно, и максимально возможный поток, как только напряжение на этих выводах станет равным нулю. Фиг. 4.23.’ Решение задачи о макси¬ мальном потоке с помощью первого алгоритма. Очевидно, этот прием является точным аналогом (в топо¬ логическом смысле) первого алгоритма для задачи о крат¬ чайшем пути. Можно также построить аналог другого алгоритма опре¬ деления максимального потока. Решение приведенной по напряжению цепи может быть найдено произвольным выбо¬ ром такого набора разрывов в цепи, при котором преры¬ ваются все пути по цепи, и приписыванием потенциалов в 1 в узлам, расположенным слева от разрывов, и нулевых потенциалов узлам, лежащим справа от них. Этот процесс иллюстрируется фиг. 4.23. Чтобы начать II этап первого алгоритма, направим все токи источников через шунти¬ рующие их диоды, за исключением тока источника в каждой ветви, где есть разрыв. Токи оставшихся источников долж¬ ны быть приписаны контуру цепи, который включает источ¬ ник единичного напряжения. Может случиться так, что эти токи должны быть направлены навстречу некоторым диодам. Двигаясь по кривым критических состояний для этих диодов, согласно правилам II этапа первого алго¬ ритма, найдем решение цепи и определим максимальный поток. 91
Теперь рассмотрим общий случай цепи с заданной про¬ пускной способностью, когда каждой ветви приписана еди¬ ничная стоимость. Электрическая модель для этого случая приведена на фиг. 4.7. Для иллюстрации удобно изменить моделирующую цепь, согласно фиг. 4.24, так, чтобы весь поток был направлен через входной и выходной узлы цепи. Если главный источник имеет величину, равную требуе¬ мому полному потоку через цепь, то ясно, что исходная модель и измененная эквивалентны. Распределение токов Ф и г. 4.24. Решение общей задачи о распределении потока в цепи с помощью модели, содержащей диоды и источники. и напряжений в ветвях с заданной пропускной способно¬ стью является решением для одной из этих моделей тогда и только тогда, когда это же распределение является реше¬ нием и другой модели. Если все единичные стоимости в исходной задаче о рас¬ пределении потока в цепи положительны, то все напряже¬ ния батарей на фиг. 4.24 будут также положительны. Тогда нулевые потенциалы всех основных узлов будут предста¬ влять тривиальное решение приведенной по напряжению цепи, сопоставляемой с моделью. Исходное распределение токов для начала этапа II первого алгоритма легко полу¬ чить, направляя ток каждого источника тока через шунти¬ рующий его диод. Единственным диодом, для которого условия не удовлетворяются, является диод, шунтирую¬ щий главный источник тока. При движении по его кривой критических состояний находится решение задачи о рас¬ пределении потока с наименьшей стоимостью. Описанный 92
процесс представляет собой обобщение метода Форда — Фулкерсона для транспортной задачи [15] применительно к задаче о распределении потока в цепи с заданной про¬ пускной способностью. Конечно, описанные здесь алгоритмы являются более гибкими, чем это следует из приведенных примеров их применения к сугубо частным задачам. Особенно валено, что этими алгоритмами допускается достаточно широкий выбор начальных решений, так что уже найденное решение одной и той же цепи при различных величинах источников тока и напряжения можно легко использовать в качестве исходного. Изложенный выше метод является также более общим (по сравнению с методом Форда — Фулкерсона), поскольку он позволяет решить любую цепь с источниками и диодами, которая, вообще говоря, соответствует более широкому классу задач, чем класс задач о распределении потока в цепях с заданной пропускной способностью. В частности, этот метод может быть применен для иссле¬ дования задач о распределении потока в цепях, где имеют место отрицательные единичные стоимости или где на допустимый поток в ветвях наложены ограничения снизу. Метод Форда и Фулкерсона не рассчитан на решение задач с такими особенностями1). Задачи о распределении потока при квадратичной стоимости Применение электрических моделей для решения задач о распределении потоков в цепях может быть распростра¬ нено на случай, когда в цепи имеются ветви, для которых полная стоимость включает члены, зависящие от квадрата величины потока отдельных ветвей. Такая ветвь приведена на фиг. 4.25 вместе с ее электрической моделью. Коэффи¬ циент при квадрате стоимости в модели представляется сопротивлением. Справедливость такой модели можно проверить сравнением с формулировкой прямой задачи для цепи, содержащей диоды, источники и сопротивления, данной в гл. 3. Таким образом, задачи о распределении потока при наличии элементов с квадратичной стоимостью могут быть *) Очевидные обобщения метода Форда — Фулкерсона позволяют использовать его во вебф случаях, о которых говорит автор.— Прим. ред. 93
решены при помощи алгоритма для решения цепей с дио¬ дами, источниками и сопротивлениями. Оказывается, что алгоритмы, приведенные в этой главе, допускают обобще¬ ние, которое позволяет рассматривать ветви с сопротив¬ лениями путем применения топологических методов [27] для оценки решений цепи при малых приращениях пере¬ менных. Эти методы, однако, по своему характеру являются Стоимость равна сумме мощности, поглощеной источником напряжения, и половины мощности, поглощенной сопротивлением, т. е. равна CX+^-QX 2, 0<Х<М. М С Q г~0—I Фиг. 4.25. Ветвь с квадратичной стоимостью потока и ее электрический аналог. комбинаторными, и для их реализации может потребо¬ ваться недопустимо большой объем вычислений, даже при относительно простых цепях. Конечно, простота и изяще¬ ство алгоритмов решения цепей с диодами и источниками в этом случае будут утрачены. По-видимому, наиболее практически подходящим средством для разрешения про¬ блемы о распределении потока в цепи, содержащей ветви с квадратичной стоимостью, была бы аппроксимация кривой стоимости кусочно-линейной функцией и подстановка соот¬ ветствующего числа ветвей с линейной стоимостью, сое¬ диненных параллельно. Минти [25] рассмотрел подобный метод решения цепи с нелинейными сопротивлениями, заменяя в первом при¬ ближении вольтамперную характеристику каждого сопро¬ тивления кривой критических состояний, состоящей только из вертикальных и горизонтальных отрезков прямых линий. Это эквивалентно замене каждого сопротивления специальной цепью из диодов и источников. с, Q, м о— —о х—*-
ГЛАВА 5 Движение по кривой критических состояний В конце гл. 3 была введена система уравнений двух¬ полюсника Л х I у v I с °, (5.1а) в которой переменные х и v должны удовлетворять уело вию дополняющей нежесткости х>0у v>0, vTx = 0. (5.16) Было показано (и доказано в приложении Ж), что решения подобной системы составляют кривую критиче¬ ских состояний в плоскости £, г). В этой главе будет развит алгебраический метод «движения» по кривой кри¬ тических состояний, соответствующей такой системе урав¬ нений. В гл. 6 этот метод будет применен к решению задач линейного и квадратичного программирования. Будет использоваться также вторая форма записи системы уравнений для двухполюсника А е — Q Ат I 1 ет 95
I У I л x v с ь (5.2) о и несколько других вариантов соотношении (5.1). Ряд решений для всех этих вариантов обладает такими же свойствами, какие описаны в приложении Ж для (5.1). Здесь будет сформулирован алгоритм для движения по кривой критических состояний, соответствующий системе (5.1); этот метод применимое небольшими видоизменени¬ ями для всех других вариантов. Будет разработана в деталях рекуррентная формула для алгоритма последовательного продвижения по кривой критических состояний, которая во многом сходна с хорошо известным симплексным методом линейного программиро¬ вания [9]. Так же как и в симплексном методе, основная идея заключается в применении способа Гаусса—Жордана для решения системы линейных уравнений, т. е. в последо¬ вательном исключении переменных. Электрическая модель системы уравнений двухполюсника Чтобы дать физическую интерпретацию описываемого метода, снова применим электрическую аналогию. Системе уравнений (5.1) соответствует электрический аналог в виде цепи, показанной на фиг. 5.1. Переменные прямой задачи I и х представлены в модели токами, а переменные двой¬ ственной задачи т), у и v—напряжениями. Прямоугольная матрица А порядка тХп изображается рядом идеальных трансформаторов постоянного тока, расположенных в виде прямоугольника, a Q представляется соответствующим набором сопротивлений. Матрица-столбец е заменяется рядом трансформаторов с последовательно соединенными вторичными обмотками. Источники тока и напряжения являются аналогом правой части уравнений системы. На АТ е I — Q А 1 ет 96
Чч/ *\7 Ч — °2 полюсника. / Дж. В. Деннис
фиг. 5.2 схема приведена в упрощенном виде. Упрощение достигается введением символов, представляющих схему соединений трансформаторов, сопротивлений, диодов и источников. Жирные линии на рисунке обозначают одно¬ временно несколько цепей, тонкая линия представляет Q эс Фиг. 5.2. Упрощенное изображение модели системы уравнений двухполюсника. одну цепь. Такие же условные обозначения будут исполь¬ зованы в гл. 6, где рассматриваются электрические модели для линейного и квадратичного программирования. Представление электрической модели в виде черного ящика, показанное на фиг. 5.3, применяется при разра¬ ботке схемы движения по кривой критических состояний. В этом случае все элементы цепи, за исключением п дио¬ дов, изображаются в виде черного ящика с л+1 парами выводов. Одна из этих пар является парой выводов исход¬ ной цепи, напряжение на которой г), а ток £. Диоды при¬ 98
соединены к "оставшимся п парам выводов^и имеют токи xv . . ., Хп и напряжения vv . .., vn. Переменные у'должны рассматриваться как напряжения внутри черного ящика, недоступные для наблюдения. Цепь, состоящая -ь из и cm очни¬ V ков, транс¬ форматоров и сопро¬ тивлений Ф и г. 5.3. Представление системы уравнений двухполюсника в виде черного ящика. Базисные решения Для удобства будем использовать в этой главе букву Р для обозначения матрицы системы уравнений Р = II РцРхР^РуРу || = 0 А е 0 0 0 — Q 0 АТ I 1 0 0 ет 0 Векторы-столбцы переменных будут обозначаться как и постоянных системы г = К] X У V d = b с О В этих обозначениях система уравнений принимает вид Pz = d. (5.3) 7* 99
Пара переменных (xi9 1\), связанная с /-м диодом электрической модели, будет называться сопряженной парой переменных. Определенные решения системы урав¬ нений двухполюсника, называемые базисными решениями, особенно важны в процессе движения по кривой крити¬ ческих состояний. Эти решения соответствуют изменениям в наклоне или критическим точкам кривой критических состояний. Базис системы представляет набор В линейно незави¬ симых /тг + я+1 столбцов из Р9 который включает Рц, Pi и все Ру , но не содержит одновременно РХ{ и Pv для любого i. Базисным решением системы является решение z, в котором только ненулевые компоненты х и у соответ¬ ствуют векторам в некотором базисе системы. Поскольку векторы Pr|, Рg и РУ{ всегда есть в базисе, то л + 1 векторов Рх и Pv должны быть векторами каж¬ дого 'базиса. По отношению к электрической модели это означает, что в любом базисном решении по меньшей мере один из диодов должен иметь как ^ = 0, так и ^ = 0, т. е. находиться в критическом состоянии. Поэтому молено утверждать, что эта сопряженная пара переменных нахо¬ дится в критической точке. Вначале будем предполагать, что любому базисному решению соответствует только один диод (сопряженная пара переменных) в критическом состоя¬ нии. Возможен противоположный случай, но он представ¬ ляет особое условие вырождения и будет рассмотрен ниже. Векторы-столбцы базиса составляют квадратную ма¬ трицу порядка т + п+ 1. Эта матрица имеет обратную, так как было принято, что векторы базиса линейно независимы. Пусть строка этой обратной матрицы S1, соответствующая столбцу Pt базиса, будет представляться вектором-столбцом St. Тогда т ( 1 i = i p(si= | о 1' 1 6 в' М поскольку произведение матрицы на матрицу, ей обратную, равно единичной матрице. С помощью векторов, составляющих матрицу, обратную базисной, любой столбец из Р9 не входящий в базис, 100
может быть выражен в виде линейной комбинации базис¬ ных векторов, а именно Л-= 2 (sTp,)pi. i£B (5.5) Единичные решения: суперпозиция Пусть индекс b относится к диоду, который находится в критическом состоянии для базисного решения г с базит сом В и обратной матрицей ST. Рассмотрим два перемен¬ ных вектора Г] ц z = У о v Z = У * л: связанных с небазисными переменными хъ и vb соответ¬ ственно. Эти векторы определяются соотношениями z,- = -SjPr t е в 1 i — r (5.6) 0 для других t -Sjpk i £ В 1 i = А (5.7) 0 для других где Рт и Ph являются столбцами из Р, связанными соот¬ ветственно с хь и vb. В соответствии с (5.5) следует, что P°z = S °ZiPi = ^r-S (SfPr) Р * = О (5.8) 1 и аналогично Pz = 0, 101
о * Таким образом, г и z являются решениями системы уравнений двухполюсника при условии, что постоянные члены в правой части равны нулю. По отношению к элек- о ^ трической модели г и г представляют дифференциальные решения цепи внутри черного ящика. Другими словами, они являются решениями для черного ящика, когда источники тока и напряжения «мертвы»1). Более того, а б Ф иг. 5.4. Решение системы уравнений двухполюсника при единич¬ ном приращении переменных. если диоды, находящиеся в запертом состоянии для базис¬ ного решения z, заменяются разомкнутыми ветвями, а от- о крытые диоды — коротко замкнутыми ветвями, то г предста¬ вляет собой дифференциальное решение этой цепи, в которой о о соответствующим выбором величин £ и rj на выводах диода в критическом состоянии достигается ток 1 а, а напряже¬ ние на нем поддерживается равным нулю. Это иллюстри- * руется фиг. 5.4,67. Аналогично г является дифференциаль¬ ным решением, при котором к диоду в критическом состоя¬ нии прикладывается напряжение 1 в, в то время как ток г) Используя термин «мертвые источники», автор имеет в виду, что источники остаются в цепи, но их величина равна нулю. — Прим. перев. 102
хь поддерживается равным нулю за счет соответствующего * * о выбора | и г] (фиг. 5.4,6). Дифференциальные решения г * и z поэтому называются единичными решениями, связан¬ ными с базисным решением г и переменными хъ и vb. Теперь рассмотрим переменный вектор, построенный о путем наложения единичного решения г с положительным множителем а на базисное решение г z(a) = z + az. (5.9) Тогда, используя соотношения (5.3) и (5.8), получим Pz (a) =Pz-\- aPz = d, следовательно, г является решением системы уравнений двухполюсника. Кроме того, ( zi — aSjPr i£B zt (a) = I a i =• r (5.10) I 0 для других /. Поскольку z является базисным решением, оно удов¬ летворяет условиям дополняющей нежесткости (5.16). Единственной ненулевой переменной в z(a), которая была равна нулю в z, является zr (а) = хъ = а. Заметим, что это также удовлетворяет условиям дополняющей нежесткости, поскольку пара переменных (хъ> vb) соответствовала кри¬ тической точке при z. PVb не входит в базис и поэтому vb (a) = 0. В предположении, что только один диод всегда находится в критическом состоянии, каждая базисная пере¬ менная xt или vt должна быть больше нуля. Как след¬ ствие этого, слагаемые xt и v-b суммы z (а) должны быть больше или равны нулю для некоторых положительных, но не слишком больших значений а. Таким образом, о z (a) = z -г az (5.11) является решением рассматриваемой системы, пока а мень¬ ше некоторой предельной положительной величины, кото¬ рая определяется согласно формуле о Г 1 ь соответствует столбцам из Рх a = JV!in[sfp7 или Ру из В при SjPr > 0. (5Л2) 103
Отсутствие «индекса i, удовлетворяющего приведенным выше условиям, означает, что выражение (5.10) дает ре¬ шение системы для всех положительных значений а. Это в свою очередь показывает, что последняя критическая точка системы пройдена. Напротив, для значений а, опре¬ деляемых, согласно (5.12), одна из базисных переменных xi или vt становится равной нулю. Обозначим столбец из Р, о связанный с этой переменной, через Ps- Тогда решение z (а) соответствует выходу диода b из критического состояния, в то время как некоторый другой диод попадает в критическое о состояние. Следовательно, г (а) есть новое базисное реше¬ ние, в котором вектор Рт был добавлен к старому базису, a Ps удален. Значения основных переменных в новом ба¬ зисном решении определяются следующим образом: С - Sjpr - Zi~WrZ*' 1ФГ { slPr z - 1 r i£B, (5.13) где В включает векторы нового базиса. Таким же образом находим, что z(a) = z + az (5.14) должно быть решением системы уравнений двухполюс- •1* V ника для 0<a<a, где а определяется выражением (5.12) _ * при замене Рт на Ph. Опять г (а) является новым базис¬ ным решением. Два класса решений (5.6) и (5.7) соответствуют движе¬ нию в противоположных направлениях от критической точки вдоль кривой критических состояний для системы уравнений двухполюсника, связанной с базисным реше¬ нием z. В лемме Ж- 7 показано, что единичные дифферен- о * циальные решения г и z должны удовлетворять соотно¬ шению о * * о £т] < ъП- (5.15) В этом соотношении нулю не могут быть равны одиовре- о о * * менно ни I и г|, ни I и тр Это означает,что супер¬ позиция (5.11) и (5.14) всегда приводит к удале¬ 104
нию точки решения от критической точки в плоскости г). Кроме того, наклон отрезка, вызываемый наложе- * нием единичного решения г, в котором vb > 0, должен быть больше наклона отрезка, соответствующего единич- с ному решению г, в котором хъ > 0. Это иллюстрируется фиг. 5.5. В электрической модели диод 6, находя¬ щийся в критической точке при базисном решении z, переходит в открытое со- о стояние, когда г прибавля¬ ется к г, или переходит в закрытое состояние, если * прибавляется г. Действи¬ тельно, во втором случае на паре выводов £—ц созда¬ ется большее дифференци¬ альное сопротивление и также имеет место боль- . с - „ Ф и г. 5.5. Кривая критических ШИИ наклон КрИВОИ кри- состояний и наложение единич- тических состояний. ных решений. Вычисление обратной матрицы относительно нового базиса Базис для нового базисного решения (5.13) отличается от предшествующего базиса тем, что вектор Рг присут¬ ствует в новом базисе, a Ps удален из него. Строки обрат¬ ной матрицы нового базиса S- могут быть вычислены по строкам предшествующей обратной матрицы St с помо¬ щью формул SjP.y S Рг I 1 _ SrsPr Эти вычисления могут рТ 7 1фг t — г. (5.16) быть выполнены во всех слу¬ чаях, так как SLsPT всегда больше нуля. То, что Si, по¬ строенное таким образом, является обратной матрицей для нового базиса, может быть проверено умножением на векторы нового базиса В. 105
Если i Ф г, SiP^SlPi-^Sl Pi = Si Pj = { J’ ]J . i € B. Если i = r, S.sP; C1 P . — "s ' 7 _ I ^ 7 ^ ; / С R r3 sjpr lO,./#r’/e5, Движение по кривой критических состояний Предположим, что необходимо просмотреть все точки кривой критических состояний системы уравнений двух¬ полюсника Р, располагая базисным решением системы z и соответствующими обратными векторами St. Тогда необ¬ ходимо проделать следующие шаги: Шаг 1. При данном базисном решении возможны два единичных дифференциальных решения. Из этой пары выбираем то решение, которое соответствует движению вдоль кривой критических состояний в желаемом напра¬ влении. Столбец Рг, связанный с этим единичным диф¬ ференциальным решением, представляет первый вектор, который должен быть включен в базис. Шаг 2. Определим вектор Ps, который исключается из базиса при применении правила (5.12). Если нельзя указать индексов г, соответствующих вектору из Рх или Pv при STiPr >0, то последняя критическая точка достигнута и процесс движения по кривой заканчивается. Шаг 3. Вычислим значения новых базисных перемен¬ ных, используя выражения (5.13), и построим с помощью формул (5.16) новые векторы обратной матрицы относи¬ тельно нового базиса. III а г 4. Следующий вектор Рг, который должен быть подставлен в базис, является сопряженным с Ps. Возвра¬ щаемся к шагу 2. Эти правила, за исключением шага 4, идентичны сим¬ плексному методу. Различие заключается в способе выбора вектора, который должен быть введен в базис. Метод, используемый в случае вырождения. До сих пор предполагалось, что для любого базисного решения только один диод находится в критическом co¬ lon
стоянии. Это условие было необходимо для однозначного определения вектора Ps, исключаемого из базиса на каж¬ дом шаге. Если это условие не выполняется, то вектор, исключаемый из базиса, не может быть однозначно опре¬ делен по приведенным выше правилам, что в свою очередь может привести к изменению направления движения по кривой критических состояний. При симплексном методе в этом случае возможно зацикливание. Для симплексного метода проблема разрешена Чарнесом [4], который дал безошибочное правило для выбора вектора, исключаемого из базиса. Впоследствии более изящное математическое исследование этого вопроса было проведено Вулфом [11]. В приложении 3 алгоритм движения по кривой крити¬ ческих состояний обобщен на вырожденный случай. При этом в сложной системе выделяется такой двухполюсник, в котором для каждого базисного решения имеется только одна пара сопряженных переменных, находящихся в кри¬ тической точке. Показано, что величина, соответствующая £+г|, в этом методе строго увеличивается с каждым шагом. Только на шаге 2, где исключаемый из базиса вектор не мо¬ жет быть найден однозначно, процесс нахождения решения, описанный в предыдущем разделе, непригоден. В прило¬ жении 3 показано, что этот метод тем не менее может быть использован при условии видоизменения правила (5.12) для определения вектора, который должен быть исключен из базиса на шаге 2, следующим образом: Шаг 2. а. Вычислим величины 2. а; =—■ i соответствует векторам Рх и Pv, входя- S{ Рг щим в базис, для которых SjPr > 0. Если таких векторов нет, то достигнута последняя критическая точка. Тогда вектор _ О 2=2 + az является решением системы уравнений двухполюсника для всех положительных значений а; б. Пусть а имеет наименьшее значение из вычисленных выше, а R является множеством всех /, таких, что = а. Если R содержит только один член, то Рг является ! 07
соответствующим вектором. В противном случае полагаем / = 1 и продолжаем процесс, в. Оценим величины для каждого i из R. Пусть а; будет наименьшая из них. г. Удалим из R все /, кроме того /, для которого a-j = aj. Если в R остается только один член, то соответ¬ ствующий вектор будет Рт. В противном случае повторим операцию в при увеличении / на единицу. В любом слу¬ чае шаг 2 заканчивается к моменту времени / = m + п + 1. Описание метода для случая, когда Q = О Хотя метод, развитый в предыдущем разделе, применим к любой системе уравнений двухполюсника, представляет интерес рассмотрение метода, который был бы достаточно прост в ряде важных частных случаев. Сначала рассмот¬ рим случай, когда матрица Q равна нулю. Как было ука¬ зано в гл. 3, кривая критических состояний будет тогда состоять только из горизонтальных и вертикальных отрез¬ ков прямых. Система уравнений двухполюсника превра¬ щается в несвязанную систему л 1 X 1 У 1 V А е ! | 1 1 лт | I 1 еТ Рассмотрим свойства базиса этой системы. Базис дол¬ жен содержать точно т + п + 1 столбцов из матрицы си¬ стемы Р (где А имеет т строк и п столбцов). Однако базис может включать не более чем т линейно независи¬ мых векторов из ||Р*Р*||. Аналогично базис не может включать больше чем п + 1 векторов из || РлРуРу ||. Следовательно, любой базис системы уравнений двух¬ полюсника, в котором Q = 0, должен содержать т векто¬ ров из ||Р*Р*|| и /1+1 векторов из ЦР^РуРуЦ. 108
Таким образом, подобный базис имеет вид I ВР О В = О Вт Он состоит из базиса прямой задачи ВР, щего m линейно независимых столбцов из II Л е\\\ содержа- и базиса двойственной задачи BD, содержащего п-\- 1 линейно независимых столбцов из 0 АТ I 1 ет О Обратная матрица для этого базиса будет, очевидно, иметь вид Вр1 о о ВБ1 Из рассмотрения структуры матрицы, обратной базису, может быть легко получено единичное решение, связанное с небазисным вектором Рг \ -SlPf В I I = Г О для остальных /. Если Рт является столбцом из Рх, то г\ = у = v = 0; о о если Рг представляет столбец из Яу, то £ = х = 0. Поэ¬ тому на том шаге алгоритма, в котором столбец из Рх под¬ ставляете я в базис, только £ и х могут изменяться, тогда как т|, у и v должны оставаться фиксированными. По этой причине вектор, который исключается из базиса, должен также быть столбцом из Рх. Аналогично в ходе шага, на котором вводится столбец из Ру, т], у и v могут ме¬ няться, а £ и х будут фиксированы. Исключаемый вектор должен относиться к Ру. Поскольку вектор, вводимый на некотором шаге, является сопряженным вектору, исклю¬ ченному на предыдущем шаге, то, следовательно, в алго¬ ритме попеременно выбираются векторы из Рх и Ру. Более того, базис прямой задачи ВР остается неизменным 109
в ходе шага, на котором меняются переменные двойствен¬ ной задачи, тогда как базис двойственной задачи не меняется с изменением переменных прямой kзадачи. Далее будет показано, что в вычислениях, связанных с движением по кривой критических состояний, необходимо применять только одну из обратных матриц ВР1 или Вр1. Предположим, что имеется базисное решение г = (т), У» v) с соответствующим базисом Вр О о BD и только векторы обратной матрицы (SP)t из ВР- Пусть (Pp)i9 где i £ В, будут столбцами матрицы РР = || А е || в базисе ВР. Тогда №0?\Pp)i _! 1, i = 1 0, i 1, i = j ФУ i-i i 6 ftp- Положим также, что базисное решение г было получено при прямом шаге1), на котором вектор (Рр)т исключается из базиса. Теперь заметим, что вектор (Рр)^--е всегда является членом Вр, и рассмотрим величины У — — (б’р)\, v = AT(Sp)i = — Ату, г\ — ет (Sp)$ = -егу. Тогда получим (Ppjx.(Sp) 1 = 0, если х{ входит в Bj "П = (Pp)i (Sp)i = 1. /ь ■ * * * * Очевидно, что z = (r), 0, 0, у, v) представляет единич¬ ное дифференциальное решение двухполюсника. L) Под термином «прямой шаг» подразумевается шаг алгоритма движения по кривой критических состояний, в ходе которого изменя¬ ются переменные прямой задачи. При изменении переменных двойст¬ венной задачи совершается двойственный шаг.— Прим. перев. 110
Поскольку прямой шаг завершен, единичное решение 2, в котором все переменные прямой задачи равны нулю, должно быть единичным решением, налагаемым на г при выполнении двойственного шага. Так как г| > 0, то z должно прибавляться к 2, если движение по кривой кри¬ тических состояний производится в направлении положи¬ тельных s и г], и должно вычитаться при движении в обратном направлении. В первом случае двойственный шаг рассматриваемого метода определяется формулами y{a) = y-a(SP)b vi (a) = vi — a (pp)l, (Sp)b xi не входит в ВР, 1 % i](a) = T] + a, где a = Min u a i таково, что xt не входит в Bp. Как указано выше, определение частного вида алго¬ ритма движения по кривой критических состояний не обес¬ печивает решения проблемы вырождения. К сожалению, автору не удалось конкретизировать правило, данное на стр. 106, таким образом, чтобы можно было для при¬ нятия всех необходимых решений ограничиться информа¬ цией, содержащейся в одном только базисе прямой задачи. Метод, описанный в этом разделе, может быть, кроме того, сформулирован на основе использования информа¬ ции, содержащейся только в базисе BD. Случай, когда Q и Ъ или с равны нулю Вторым интересным частным случаем является такой, когда множество постоянных Ь или с, так же как и Q, равно нулю. В электрической модели равенство с нулю эквивалентно замене источников напряжения короткозамкнутыми вет¬ вями. Полученная в результате система будет называться ill
системой уравнений двухполюсника, приведенной по пере¬ менным прямой задачи. Ей соответствует кривая критиче¬ ских состояний, в которой все горизонтальные отрезки сов¬ падают с горизонтальной осью (теорема Ж- 3), и поэтому она должна иметь одну из форм, показанных на фиг. 5.6. Вследствие этого все критические точки должны лежать а ^ k £ г ,4 д ■7 I | к Ф и г. 5.6. Возможные кривые крити¬ ческих состояний для приведенной си¬ стемы уравнений двухполюсника (пря¬ мая задача). на горизонтальной оси. Поскольку этот случай является еще более частным по сравнению с несвязанной системой, рассмотренной в предыдущем разделе, то результаты, полу¬ ченные там, применимы и к настоящему случаю. В част¬ ности, для любого базиса В системы его часть BD должна состоять из /2+1 линейно независимых столбцов из 0 АТ I 1 ет 0 Соответствующее базисное решение г должно быть таким, что 1 zt(P D)i = 0. i£BD Это может быть справедливо только, если все перемен¬ ные двойственной задачи г], у и v равны нулю. Другими сло¬ вами, при двойственном шаге значения переменных двой¬ ственной задачи вообще не изменяются, а просто указыва¬ ется, какой вектор должен далее войти в базис. 1 12
Аналогичные замечания справедливы для системы уравнений двухполюсника, приведенной по переменным двойственной задачи, в которой Q и b равны нулю. В этом случае переменные прямой задачи х и £ равны нулю для любого базисного решения. Если Q, b и с равны нулю, то система уравнений двух¬ полюсника является полностью вырожденной и все кри¬ тические точки лежат в начале координат на плоскости CD ,1? г . «с 4 h Фиг. 5.7. Возможные кривые критических состояний для полностью вырожденной си¬ стемы уравнений двухполюсника. S, Л- Тогда кривая критических состояний должна иметь одну из простых форм, изображенных на фиг. 5.7. Заметим, что это достаточно сильный случай вырождения, ибо все пары сопряженных переменных находятся в критической точке при каждом базисном решении. 8 Дж. Б. Деннис
ГЛАВА б Применение метода движения по кривой критических состояний к общим задачам линейного и квадратичного программирования Метод движения по кривой критических состояний, развитый в гл. 5, будет применен в этой главе для построе¬ ния некоторых алгоритмов, которые позволяют находить оптимальные решения общих задач линейного и квадра¬ тичного программирования. При этом задачам линейного и квадратичного программирования будут поставлены в соответствие модели — электрические цепи. Для каждой из этих моделей будет построена система уравнений двух¬ полюсника таким образом, что 1) базисное решение и век¬ торы обратного базиса легко могут быть получены и 2) дви¬ жение по кривой критических состояний приводит к реше¬ нию цепи и, следовательно, к определению оптимальных векторов прямой и двойственной задач программирования. Электрические модели общих задач линейного и квадратичного программирования Для упрощения начертания цепей, содержащих группы одинаковых элементов, будут использованы символы, кото¬ рые уже применялись в гл. 5 для упрощения модели двух¬ полюсника. На фиг. 6.1 показана электрическая модель пары двойственных задач квадратичного программирова¬ ния, описанных в гл. 2. Переменным прямой задачи х и а соответствуют токи, а переменным двойственной задачи у и v — напряжения. Из фиг. 6.1 видно, что любое решение уравнений модели является одновременно решением задачи Лагранжа, связанной с двойственными задачами. В соответствии с физической интерпретацией, приведен¬ ной в гл. 3, постоянные векторы ограничений в форме неравенств воспроизводятся при помощи источников элек¬ трического тока и напряжения; диоды позволяют осуще- 114
I Ф и г. 6.1. Электрическая модель пары двойственных задач квадратичного программирования. Прямая задача Минимизировать 1 Т Т Т - XqPxq+cq xq+cl xL при условиях AQxj+ALxL~u=b' Xq^O, x^0t 0. Двойственная задача Максимизировать -ryQP'lyQ+bTyL при условиях AQ yL~yQ+vQ=cQ• aU'L^vL~cL' yL^0. vQitO, vL^0. P—положительно определенная матрица. g*
ствить принцип дополняющей'нежесткости, а соотношение двойственности проявляется в матрице сопротивлений Р. Сохранение электрической энергии эквивалентно равен¬ ству целевых функций, которого требует теорема двой¬ ственности. Связанная с этой моделью цепь, приведенная по напря¬ жению, получается, если разомкнуть сопротивления Р (приняв Xq = 0) и положить значения токов источников рав¬ ными нулю. Как было по¬ казано в гл. 3, важность изучения этой цепи состо¬ ит в том, что (xq = 0, Xl = О, IJq, Уд является реше¬ нием приведенной по на¬ пряжению цепи в том и только в том случае, если (f/G> Уд является допусти¬ мым вектором двойственной задачи программирования. Аналогично этому цепь, приведенная по току, по¬ лучается, если замкнуть накоротко сопротивления и положить напряжения ис¬ точников равными нулю. Цепь имеет решение (xq, Xh Уь= о, yL = 0) в том и только в том случае, если (xq, Xl) является допусти¬ мым вектором прямой за¬ дачи. Заметим, что в' силу принципа двойственности для любой задачи квадра¬ тичного программирова¬ ния, заданной в таком ви¬ де, как показано на фиг. 6.1, любой метод решения прямой задачи по существу является сочетанием двух мето¬ дов, потому что его можно применять также к решению Зс!д<йЧ в двойственной формулировке. Это утверждение нсьсрно для более общей задачи квадратичного программи¬ рования, приведенной на фиг. 6.2 вместе с соответствую¬ щей моделью. В этом случае прямая задача программиро¬ Ф и г. 6.2. Более общая модель прогр эм- задачи квадратичного мнрования. Задача квадратичного программирования Минимизировать К x^Qx-\-c^x при Ах—а=Ь, аг^О, iC>0. Q—положительно полуопределенная мат¬ рица. 116
вания приводит к задаче Лагранжа, которая позволяет полу¬ чить условия, для решения моделирующей цепи. Однако неясно, какова двойственная формулировка для этой более общей задачи. (Путем замены переменных можно привести задачу квадратичного программирования с не¬ отрицательно-определенной целевой функцией к такому же виду, какой имеет задача программирования, соответ¬ ствующая фиг. 6.1. Однако желательно иметь более про¬ стой способ.) Фиг. 6.3. Вторая модель задачи линейного программирования. Прямая задача Минимизировать с^х при Ах—и= b х^О, 0. Двойственная задача Максимизировать Ь^у при Л^г/+и=с, 0, г’^0. Если отбросить на фиг. 6.1 левую часть, то получится модель пары двойственных задач линейного программиро¬ вания. Другая модель двойственных задач линейного про¬ граммирования получается при замене последовательно¬ стей источников тока и напряжений последовательностями трансформаторов (фиг. 6.3). При этом модель содержит один источник напряжения и один источник тока. Эта модель дает возможность найти алгоритм для линейного программи¬ 117
рования, не имеющий, очевидно, аналога в квадратичном программировании. В следующих разделах будут рассмотрены два вида алгоритмов решения моделирующих цепей. При исполь¬ зовании алгоритмов первого вида предполагается, что в начальный момент значения тока и напряжения, генерируемых источниками, равны нулю и, следовательно, цепь имеет очевидное нулевое решение для тока и напря¬ жения. Метод состоит в постепенном увеличении значений тока и напряжения источников до заданных уровней, причем остаются в силе законы, которым под¬ чиняется цепь. Этот способ напоминает включение цепи с помощью потенциометра. Поэтому такие алгоритмы называются алгоритмами включения. При использовании алгоритмов второго вида значения токов и напряжений, генерируемых источниками, остаются на заданном уровне, но эффект, производимый в цепи источниками, регулируется с помощью шунтов. Алгоритмы такого вида называются алгоритмами шунтирования. Алгоритмы включения осно¬ ваны на второй электрической модели общей задачи линей¬ ного программирования, а алгоритмы шунтирования — на модели, показанной на фиг. 6.1. Применение алгоритма включения к решению цепи, приведенной по току Вначале для решения приведенной по току цепи, моде¬ лирующей задачу линейного или квадратичного програм¬ мирования, будет использован метод движения по кривой критических состояний. В терминах теории программирования это эквивалентно образованию допустимого вектора при ограничениях пря¬ мой задачи Ах — и = Ьу х > 0, и > 0. (6.1) Рассмотрим двухполюсник, изображенный на фиг. 6.4. Так как модель не содержит источников тока или напря¬ жения, то система полностью вырождена и все ее крити¬ ческие точки лежат в начале координат плоскости £, т]. Предположим, что ограничения (6.1) допустимы, т. е. суще¬ ствует некоторый вектор (х, и), удовлетворяющий усло¬ виям (6.1). Тогда (т| = 0, х, £== 1, у= 0, й, и=0) является реше¬ нием системы уравнений двухполюсника, для которого 118
решение относительно пары выводов имеет вид (£=1, т] —0). Обратно, если (1,0) является решением цепи отно¬ сительно пары выводов, то соответствующие х и и обра¬ зуют допустимый вектор системы ограничений (6.1). Сле¬ довательно, система ограничений (6.1) допустима тогда 7} Л £ у U V А -Ь -1 АТ I \ -ь! Фиг. 6.4. Метод включения для решения цепи, приведенной по току. и только тогда, когда кривая критических состояний двух¬ полюсника, изображенного на фиг. 6.4, проходит через точку (1,0). Одно базисное решение двухполюсника очевидно; ему соответствуют базисные переменные г]=--г0, и = 0, и=0. При таком выборе базисного решения базисные векторы представляют собой единичные векторы матрицы тожде¬ ственного преобразования порядка m + n+1, а обратный базис также состоит из единичных векторов. Заметим, что вектор не содержится в базисе, чего требует один из выво¬ дов гл. 5. Во всех других отношениях он является под¬ ходящим базисным решением. Это — единственное возра¬ 119
жение при выборе Р в качестве вектора, подставляемого в базис в начале процесса движения по кривой критических состояний. Заметим, что единичное решение f -SjPt i f в h= 1 I 0 при других I соответствующее такой подстановке, имеет компоненту 0 1 = \ и, следовательно, автоматически выбирается правиль¬ ное направление движения по кривой критических состоя¬ ний. Конечно, ввиду вырожденного характера системы уравнений двухполюсника должен быть использован обоб¬ щенный способ, описанный в гл. 5. Процесс движения по кривой продолжается до тех пор, пока результат второго шага не перестанет указывать вектор, который следует исключить из базиса. При этом будут получены базисное решение г = 0 и единичное решение * z, такие, что z = z-\-az (Р.2) является решением системы при всех а>0. Так как система уравнений двухполюсника полностью вырожден¬ ная, то луч (6.2) совпадает либо с положительной частью оси * либо с положительной частью оси г). Если т] > 0, имеет место второй случай, кривая критических состояний не проходит через точку (1, 0) и не существует допустимого вектора, * * * * * удовлетворяющего (6.1). Если £ > 0, то вектор (х/£, «/£) является требуемым допустимым вектором. Напомним, что базис системы, в которой матрица Q равна нулю, имеет вид 1ВР 0 0 BD Следовательно, базис прямой задачи ВР, соответствующий базисному решению z, должен состоять из т линейно независимых векторов, принадлежащих множеству векто¬ ров прямой задачи 1И / ||. Тот факт, что базис прямой задачи и обратный ему базис Sp можно получить с помощью процесса движения по В = 120
кривой, критических состояний, будет использован при построении алгоритмов, описанных в следующих разделах. Применение алгоритма шунтирования к решению цепи, приведенной по току На фиг. 6.5 показан другой способ применения метода движения по кривой критических состояний к решению О о b о Фиг. 6.5. Метод шунтирования для решения цепи, приведенной по току. цепи, приведенной по току. Здесь двухполюснику соответ¬ ствует диагональная матрица Г, содержащая только + 1 или — 1ц. | +1, если &• > О, — 1, если Ьь < 0. В электрической модели матрица Т представляется диагональной последовательностью трансформаторов посто- 121 АТ 0 I Т Z Г А Т -I 1 0 Z1'
янного тока с единичными коэффициентами трансформа¬ ции. Каждая компонента специального вектора-столбца 21 равна -f- 1, так что 2,Tw есть сумма компонент вектора w. В этом случае вторичные обмотки трансформаторов, пред¬ ставляющих 2, соединены параллельно, так как токи скла¬ дываются. Двухполюсник содержит источники тока и не содержит источников напряжения и, следовательно, является приве¬ денной системой. Таким образом, множеству решений цепи относительно пары выводов соответствуют критические точки, лежащие на оси £. Из рассмотрения двухполюсника видно, что ограничение (6.1) допустимо в том и только в том случае, если система имеет решение при ш=0, а это в свою оче¬ редь имеет место тогда и только тогда, когда кривая кри¬ тических состояний системы проходит через начало коор¬ динат. Базисные переменные базисного решения, с которого удобно начать движение по кривой критических состояний, имеют вид о=0, z = 0, W'--=Tb, £ = 2тоу. Базис, связанный с этим выбором базисных переменных, I 0 Т 01 в = 0 BD > Bd = 2Т 1 | Легко проверить, что обратная матрица определяется по формуле т Г ОI Sd = BL) = ■ ^Trp j Если известны базисное решение и обратная матрица, то движение по кривой критических состояний можно начать, вводя в базис вектор Р%. Так как Е, не может быть больше нуля, кривая критических состояний должна окан¬ чиваться в точке, соответствующей базисному решению z и пучку решений _ * z^=z + az> — * * где |<0, г] = 0 и £ = 0, т]>0. Следовательно, движение следует продолжать до тех пор, пока не будет получено базисное решение z с | = 0 или пока не будет получен пучок 122
решений, параллельных оси т). В первом случае х и и образуют требуемый допустимый вектор. В остальных случаях ограничения не являются допустимыми. Как и в случае алгоритма включения, окончательный базис содержит т линейно независимых векторов из И -Л1> являющихся частью базиса двойственной задачи. (Если базис содержит вектор, связанный с некоторым wL, то этот вектор можно заменить вектором, связанным с и{.) Решение цепи, приведенной по напряжению Для решения приведенной по напряжению цепи, моде¬ лирующей задачу линейного или квадратичного програм¬ мирования, можно использовать метод, описанный в двух предыдущих параграфах. Математическое описание алго¬ ритмов включения и шунтирования для двухполюсников точно такое же, как и приведенное выше; отличие состоит лишь в расстановке букв. Для алгоритма включения i О о 1о Для алгоритма шунтирования 2L т о о с О Каждый метод позволяет найти допустимое решение (у, v) при двойственных ограничениях АТу +v = c, у> 0, v > О, а также соответствующий базис из п линейно независимых векторов из 1ИТЛ1 и обратный ему базис. Li -/ о г1 123
Применение алгоритма включения к решению задач линейного программирования После того как найдено решение (х, и) соответствующей приведенной по току цепи, можно построить полное реше¬ ние модели задачи линей¬ ного программирования по кривой критических со¬ стояний двухполюсника, показанного на фиг. 6.6. При этом необходимо ис¬ пользовать частичный ба¬ зис М, состоящий из т линейно независимых век¬ торов из \\А — /1|, и со¬ ответствующую обратную матрицу. Их можно по¬ лучить из решения при¬ веденной по току цепи. Двухполюсник на фиг. 6.6 не содержит источников напряжения. Следователь¬ но, его система уравнений является двойственной приведенной системой и все критические точки со¬ ответствующей этой си¬ стеме кривой критических состояний лежат на оси Из фиг. 6.6 видно, что п Ат -с I А -I -1 |-сТ о ь о Фиг. 6.6. Метод включения для решения модели задачи линейного программирования. решение для моделирую¬ щей цепи существует в том и только в том случае, если кривая критических состояний содержит точку с координатой г)=1. В качестве базисного решения можно выбрать базисные переменные V = 0, UL = Ut, Xj = Xj> | = £TX, где i и / таковы, что Р„. или Рх. содержатся в М. Соответ- 124
ствующий базис имеет вид М О В~ О BD — С где d — содержит элементы из п !, соответствующие и I столбцам | \А — / ||. Базис, обратный BD, есть АГ1 О 1 • Построение кривой критических состояний начинают с введения в базис вектора и заканчивают, когда найден пучок решений двухполюсника Если г] > 0, уравнение (6.3) дает решение цепи при а = 1/г]. Если | > 0, то цепь не имеет решения. Так как система уравнений двухполюсника, к которой применяется этот метод, является двойственной приведен¬ ной системой, то при таком способе движения по кривой критических состояний первый шаг не меняет значения переменных прямой задачи (которые равны нулю), а просто указывает, какие переменные следует ввести в базис на сле¬ дующем шаге. Движение по кривой критических состояний для этой модели, по-видимому, эквивалентно симплексному методу Данцига [9], в котором переменные прямой задачи х и v при каждом шаге образуют допустимый вектор прямой задачи линейного программирования и целевая функция г\ = —стх всегда убывает при каждой итерации. Алгоритм движения по кривой критических состояний отличается от симплексного метода тем, что каждый вектор прямой задачи, присоединяемый к базису, определяется на осно¬ вании результатов шага в двойственной задаче. При при¬ менении симплексного метода этот вектор выбирается так, чтобы обеспечить наибольшую скорость убывания целевой функции. К сожалению, метод, предложенный автором, очевидно, требует использования полного базиса системы уравнений двухполюсника, состоящего из базиса первич¬ ной задачи программирования ВР и базиса двойственной задачи программирования BD, чтобы не иметь дела с явле¬ нием вырожденности. Для применения симплексного метода z = г + аг. (6.3) 125
достаточно знать базис двойственной задачи, и поэтому симплексный метод является более эффективным с точки зрения требований, предъявляемых к исходным данным. Двойственный симплексный метод Лемке [22] требует применения таких же шагов, но при этом используется базис Др1, обратный базису системы уравнений двухполюс¬ ника. Соотношение между этими тремя методами еще не вполне ясно и требует дополнительного исследования. Применение алгоритма шунтирования к решению задач линейного и квадратичного программирования На фиг. 6.7 показан двухполюсник, предназначаемый для решения электрической модели задачи квадратичного Ш V А 0 -I Т Г -т -Q Гат т т 1 0 LT Фиг. 6.7. Метод шунтирования для решения за¬ дач линейного и квадратичного программирования. 126
программирования методом шунтирования. При применении алгоритма необходимо вначале иметь решение (л:, и) цепи, приведенной по току. В двухполюснике имеются все эле¬ менты, и поэтому соответствующая ему кривая критических состояний имеет более общий вид. Элементы диагональной матрицы Т выбираются так, чтобы (4-1, если (Qx+ c) -L > О, 1, если (Qjc-t-< О, а значение d определяется из соотношения d=^Tx. Очевидно, что моделирующая цепь имеет решение в том и только в том случае, если двухполюсник имеет решение при ^ = 0; это справедливо тогда и только тогда, когда кривая критических состояний содержит точку с ц = 0. При использовании метода движения по кривой крити¬ ческих состояний выбирается базисное решение * = *, и = и, t = Т (Q*+ с),г] = — 2Т^- По построению матрицы 7\ /> 0 и, следовательно, г)<0. Соответствующая базисная матрица имеет вид А -/ 0 0 Т 0 0 0 -Q 0 т 0 0 0 2Т 1 Матрица, обратная В, равна 0 т 0 0 -I АТ 0 0 0 TQT т 0 ; о -ZtTQT - БТГ 1, Прежде всего, в этот базис вводится вектор Р=. Это позволяет начать движение по кривой критических состоя¬ ний в положительном направлении. Вычисления заканчи¬ ваются, либо когда найдено базисное решение, для кото¬ рого / = 0, и решена цепь, либо когда найден пучок решений _ * z — z + az 127
ПРИ £<0, г)>0, £=0, что указывает на отсутствие реше¬ ния. В применении к задаче линейного программирования этот способ почти совпадает с общим методом Данцига, Форда и Фулкерсона [10J одновременного решения прямой и двойственной задач программирования. Метод решения прямой и двойственной задач характеризуется тем, что двойственные шаги делаются до тех пор, пока т] не достиг¬ нет своего наибольшего возможного значения при текущих значениях переменных прямой задачи. Затем осущест¬ вляется прямой шаг, который сдвигает точку решения в направлении £ вдоль кривой критических состояний, а затем снова делается двойственный шаг. Метод, предло¬ женный автором, предполагает, что прямой и двойственный шаги совершаются раздельно. В невырожденном случае г| всегда максимизируется за один шаг метода одновремен¬ ного решения прямой и двойственной задач, и оба алго¬ ритма эквивалентны. Они отличаются лишь способом пред¬ ставления вырожденности. Для того чтобы избежать цик¬ лов, возможных в вырожденных случаях, в методе Форда — Фулкерсона используются только те сведения, которые содержатся в базисе Во\ обратном базису двойственной задачи. В алгоритме шунтирования для того, чтобы избе¬ жать вырожденных случаев, используются обе матрицы Вр и BD. Очевидно, что алгоритм одновременного решения прямой и двойственной задач можно сформулировать так, чтобы использовался только базис BJ>[; прямые шаги при этом делаются до тех пор, пока £ не достигнет максимума, после чего определяется двойственный шаг, который при¬ водит к увеличению ц. В применении к квадратичному программированию алгоритм шунтирования эквивалентен обобщению метода, недавно развитому Вулфом [29]. Движение по кривой критических состояний двухполюсника по методу Вулфа сводится к последовательному добавлению единичных диф¬ ференциальных решений, что приводит к увеличению ч] до тех пор, пока невозможно будет найти ни одного такого единичного решения. Таким образом, метод приводит к цели, как только будет достигнут какой-либо горизон¬ тальный участок кривой критических состояний. Следова¬ тельно, в том виде, как он сформулирован у Вулфа, метод применим лишь к тем задачам, в которых кривая крити¬ 128
ческих состояний не имеет горизонтальных участков, за исключением точки, соответствующей решению г] = 0. Необходимым условием этого является положительная определенность Q. Метод можно обобщить, применяя двой¬ ственные шаги подобно тому, как это делается в методе одновременного решения прямой и двойственной задач вся¬ кий раз, когда rj максимизирована, но не равна нулю. Один из очевидных вариантов этого метода состоит в добавлении единичных решений, в результате чего £ увеличивается до максимального значения, затем делаются только прямые шаги до получения пересечения с вертикальными отрез¬ ками кривой критических состояний. С другой стороны, метод шунтирования, предложенный автором, позволяет избежать процесса максимизации и дает алгоритм, при применении которого шаги производятся тем же способом. Во всех трех методах делаются одинаковые шаги, по край¬ ней мере в невырожденном случае, хотя правила совер¬ шенно различны. Более того, изложенное выше указывает на тесную связь между методом Вулфа для квадратичного программирования и методом Данцига, Форда и Фулкер¬ сона одновременного решения прямой и двойственной задач. Метод решения задач квадратичного программирования, предложенный Марковицем [23], может быть также интер¬ претирован как способ движения по кривой критических состояний. Однако алгоритм, развитый Франком и Вул¬ фом [16], и метод Хилдрета [17] не относятся к этой кате¬ гории. Метод движения по кривой критических состояний применим к общей задаче квадратичного программирова¬ ния в той формулировке, которая приведена в начале этой главы. Однако, если матрица Q имеет специальную форму р 0 0 0 то задача имеет также двойственную формулировку, и этот метод можно применять к прямой задаче описанным спо¬ собом или к двойственной задаче, начиная с решения при¬ веденной по напряжению цепи. Конечно, в частном случае линейного программирования этот метод можно применять в любом виде. Метод, развитый в этой главе, описан при помощи опе¬ раций над большими и громоздкими матрицами. Это было 9 Дж. Б. Деннис 129
сделано для того, чтобы показать, каким образом каждый из методов можно описать с помощью представления, осно¬ ванного на движении по кривой критических состояний двухполюсника. Поскольку большинство элементов матриц системы равно нулю или единице, практически программа вычислительной машины должна иметь в памяти только матрицы А и Q и обратную матрицу 5Т. Эффекты, обусло¬ вленные другими частями матрицы системы, следует коди¬ ровать при помощи логических операций.
ГЛАВА 7 Применение квадратичного программирования к общей задаче программирования В этой главе излагается метод последовательного опре¬ деления относительного оптимума общей задачи программи¬ рования, сформулированной в гл. 2. Этот метод является обобщением градиентных методов, которые часто приме¬ няются при нахождении минимума функции многих пере¬ менных в отсутствии ограничений [8]. В частности, будет показано, что сама задача определения направления наи¬ скорейшего спуска является задачей квадратичного про¬ граммирования. Вначале будет дан обзор градиентных методов в применении к задаче определения минимума в от¬ сутствии ограничений и к задаче определения минимума при ограничениях в форме равенств. Градиентные методы минимизации Рассмотрим в качестве примера задачу минимизации функции двух переменных ср^, х2). Требуется определить в плоскости xv х2 такую точку, для которой ф(лгд, х2) при¬ нимает наименьшее значение. Пусть на фиг. 7.1 х обозна¬ чает точку, в которой ф достигает минимума. Очевидно, что в окрестности х линии, вдоль которых ф постоянна, должны быть замкнутыми кривыми, охватывающими эту точку. Примем в качестве начального приближения к решению задачи точку х°. Лучшее приближение к точке минимума можно получить, двигаясь от начальной точки в напра¬ влении наибольшего убывания ф. Это направление, кото¬ рое является направлением наискорейшего спуска, прямо противоположно направлению градиента ф и перпенди¬ кулярно к линии постоянного значения ф, проходящей через начальную точку. Новая точка определяется 9* 131
формулой хх = х° — Хд ф (лг°), (7.1) где X — положительная постоянная. Конечно, один такой шаг не приведет, вообще говоря, в точку минимума х. Следо¬ вательно, шаги в направлении, противоположном градиенту, определяемые формулой (7.1), следует повторять до тех пор, пока не будет установлено с помощью некоторого критерия, что точка минимума достигнута. В качестве одного из критериев можно выбрать условие, чтобы изме¬ нение ф при последнем шаге было меньше некоторой задан¬ ной величины. Следует очень осторожно подходить к выбору постоянной X. Она должна быть не слишком большой, так как при этом процесс может расходиться, и не слишком малой, так как в этом случае может потребоваться значи¬ тельное число итераций. Один из возможных методов про¬ верки пригодности выбранного X состоит в том, что наблю¬ дают угол 0 между последовательными векторами гра¬ диента: если угол слишком велик, X следует уменьшить, если он слишком мал, ^следуетувеличить. Кроме того, нель¬ зя выбирать слишком большие Ху при которых ф увеличива¬ ется. Бут [3] привел несколько примеров, в которых приме¬ няются различные способы выбора величины шага. Метод наискорейшего спуска можно применять к функциям лю¬ бого числа переменных, но при этом теряется простая геометрическая интерпретация. Схема вычислений приве¬ дена на фиг. 7.2. А О 132
Градиентный метод минимизации имеет несколько недостатков. Во-первых, этот метод позволяет найти только локальный минимум заданной функции ср. Если функция вогнута, то, как показано в гл. 2, локальный минимум совпадает с абсолютным минимумом. В противном случае начальная точка х° должна быть выбрана таким образом, Фиг. 7.2. Последовательность операций при применении метода наискорейшего спуска. чтобы «ближайший» относительный минимум оказался искомым решением. Вторая трудность заключается в том, что метод не инвариантен относительно замены перемен¬ ных. Если масштаб или метрика выбраны неудачно, то такой метод может давать очень медленную сходимость к минимуму. Критерии выбора метрики изучались Крокет¬ том и Черновым [7] и Фидером [13]. Минимизация при ограничениях в форме равенств Градиентные методы можно применять для решения задач, в которых переменные должны удовлетворять огра¬ ничениям, задаваемым в форме равенств или неравенств. Для этого следует изменить определение направления наи¬ скорейшего спуска. Вектор и характеризует допустимое направление в точ¬ ке х области определения общей задачи программирова¬ ния, если возможны перемещения от точки х на неболь¬ 133
шие расстояния в направлении и, не выводящие точку из области определения задачи. Для общей задачи программи¬ рования направлением наискорейшего спуска в точке х области определения задачи называется направление, вдоль которого скорость убывания ср больше, чем вдоль любого другого возможного направления. Вначале будет рассмотрен случай ограничений, задан¬ ных равенствами. Задачи минимизации при ограни¬ чениях, заданных в форме равенств Минимизировать ф(я) при g-(x) = 0. Пусть х — одна из точек области определения задачи, полу¬ ченная на некотором этапе процесса итераций; обозначим градиент целевой функции, взятый с обратным знаком, через 7 = — Зф (х), и пусть Ах — градиент i-й функции ограничения Ai = %i (*)• Этот вектор является нормалью к касательной плоскости поверхности ограничения в точке х. Вектор и является допустимым, если он лежит в каждой касательной пло¬ скости к поверхностям ограничения в точке х. Это будет иметь место, если и ортогонален векторам-нормалям каждой поверхности ограничений в точке х. Aju = 0. (7.2) Направление наискорейшего спуска задается допустимым единичным вектором, который имеет наибольшую состав¬ ляющую в направлении, обратном направлению градиента ф. Таким образом, задача нахождения направления наиско¬ рейшего спуска эквивалентна следующей. Максимизировать tTu при ити = 1, Ати = 0. Применяя множители v и — 6/2, получим выражение Лагранжа для этой задачи ф (и, v, X) = tTu -f vTATu — (6/2)ити. 134
Путем дифференцирования получается соответствующая задача Лагранжа. Найти и, v и б такие, что ити = 1, (7.3а) Ати = 0, (7.36) t-\-Av — 6u = 0. (7.3в) Эту систему уравнений можно решить, подставив (7.3в) в (7.36). При этом получится -^ATAv = ~ATt, О О или V = - M~lATt, где М = ЛТЛ. Окончательно u = ^\\I — AM'lAT\\t. (7.4) Матрица М неотрицательно определенная, так как хтМх = хтАтАх = || Ах, Ах ||>0 при всех х. Если столбцы А линейно независимы, то М — положи¬ тельно определенная матрица и можно вычислить обратную ей матрицу М'1. Отсюда единственным образом опре¬ деляется б и. Если столбцы А линейно зависимы, то один из векторов-нормалей является линейной комбинацией дру¬ гих и соответствующее ограничение оказывается избыточ¬ ным в х. Множитель бв (7.4) должен быть выбран таким образом, чтобы модуль и равнялся единице и удовлетво¬ рялось соотношение (7.3а). На фиг. 7.3 показана схема минимизации функции при ограничениях, заданных в форме равенств. Кроме труд¬ ностей, о которых уже упоминалось в связи с нахожде¬ нием безусловного минимума, здесь возникает задача удовлетворения ограничениям. Если направление движения удовлетворяет соотношению (7.2), то это только означает, что связи не будут нарушены при бесконечно малых пере¬ мещениях в направлении наискорейшего спуска. В действительности шаги имеют конечную величину. Поэтому в схеме необходимо предусмотреть устройство, которое возвращает точку на поверхность ограничений. 135
Кроме того, возникает задача определения начальной точки в области определения задачи программирования. Эти задачи обсуждаться здесь не будут. Фиг. 7.3. Метод наискорейшего спуска при ограниче¬ ниях, заданных в форме равенств. Направление наискорейшего спуска при ограничениях, заданных в форме неравенств В случае ограничений, заданных неравенствами, допустимая точка \х\ не обязательно должна лежать на какой-либо ограничивающей поверхности. Если х не лежит на ограничивающей поверхности gL (х) = 0, то это ограни¬ чение не влияет на направление наискорейшего спуска в точке х. С другой стороны, если gt (х) = 0, то вектор 136
направления наискорейшего спуска может лежать на поверх¬ ности ограничений или быть направленным внутрь области определения задачи. Для того чтобы и мог быть вектором допустимого направления, он не должен иметь отрицатель¬ ной составляющей вдоль нормали ни к одной поверхности ограничений, содержащей х. Направление наискорейшего спуска в этом случае также представляет собой единичный вектор допустимого направления, имеющий наибольшую составляющую в направлении, обратном градиенту ср. Фиг. 7.4. Направление наискорейшего спуска для случая трех переменных. Если / — множество условий ограничений, каждое из кото¬ рых выполняется в точке х, то направление наискорейшего спуска определяется следующей задачей программирования. Максимизировать tTu (7.4а) приити=1, (7.46) Aju>Oy i £ /. (7.4в) На фиг. 7.4 показан пример для случая трех перемен¬ ных. Так как уравнение ограничения (7.46) нелинейное, то область определения этой задачи программирования не выпукла и рассуждения, проведенные в гл. 2, не гаран¬ тируют, что локальный минимум совпадает с абсолютным. 137
В следующем разделе будет показано, что эта задача эквивалентна задаче квадратичного программирования, которая имеет единственное решение. Эквивалентность задачи определения направления наискорейшего спуска и задачи квадратичного программирования Используя результаты, приведенные в гл. 2, задачу Лагранжа, соответствующую задаче программирования (7.4), можно представить следующим образом. Найти v, и и б такие, что Av — du + t = 0, (7.5а) ити= 1, (7.56) Ати> 0, v>0, (7.5в) vTATu = 0, (7.5г) где А—матрица, содержащая столбцы Л, соответствующие ограничивающим поверхностям, на которых достигается равенство. Постановку задачи можно упростить, если решить (7.5а) б u = t + и результат подставить в (7.5в). Тогда задача Лагранжа приводится при 6 > 0 к следующей. Определить vy г такие, что -Mv-\-z = ATt, (7.6а) z>0, v>0, (7.66) О, где М = АтА. Задача (7.6) представляет собой задачу Лагранжа, связанную со следующей задачей квадратичного програм¬ мирования. Максимизировать vTMv + iTAv (7.7) при условии v>0. Как уже было показана, М является положительно определенной матрицей, если столбцы А линейно незави¬ 138
симы. Поэтому целевая функция всегда ограничена снизу. Так как область определения задачи квадратичного про¬ граммирования, очевидно, представляет собой множество допустимых векторов, то теория квадратичного програм¬ мирования (теорема Г.4) показывает, что (7.7) всегда имеет единственное оптимальное решение. В дальнейшем будет показано, что если (v, г) —реше¬ ние (7.5) при tTu > 0, то любой другой допустимый единичный вектор и имеет меньшую составляющую вдоль т. е. tTu < tTu при всех и, не равных и, и таких, что ити = 1 и 7\ти — г = 0, г>0. (7.8) Из соотношений (7.5) б uTu~tTu = uTAvy vTAT\u\ = О и, следовательно, так как ити= 1, б = tTu > 0. Пусть и — любой вектор, не равный и и удовлетворяю¬ щий (7.8). Тогда из (7.5а) Ъити = tTu + uTAv, vATu = vTz> 0 и, следовательно, tTu = (tTu) (ити) — vTz. Так как и и и не совпадают, то ити должно быть меньше 1, отсюда tTu < tTu. Из этих рассуждений вытекает, что если (7.5) имеет решение (б, и, v), причем б = /77/>0, то и определяет направление наискорейшего спуска. Но v и z^At-^Mv являются решением (7.6). Следо¬ вательно, v—единственное оптимальное решение задачи 139
квадратичного программирования (7.7). Обратно, если v — оптимальное решение (7.7) и Ь = tTt -\- tTAv > О, то v, ^ = и б являются решением (7.5) при tTu > 0. б Таким образом, установлен следующий принцип: Если для оптимального вектора задачи квадратичного про¬ граммирования (у, г) имеет место неравенство tTt + tTAи > 0, то направление вектора u — t-\-Av в точке х совпадает с направлением наискорейшего спуска в общей задаче про¬ граммирования. Если для оптимального вектора задачи квадратичного программирования имеет место соотношение tTt + tTAv 0, то х представляет собой локальный минимум общей задачи. Этот вывод о направлении наискорейшего спуска для общей задачи программирования был также независимо получен Заутендиком [30]. На фиг. 7.5 приведена схема, в которой этот принцип используется для нахождения условного оптимума общей задачи программирования. Схема вычислений почти та¬ кая же, как в случае ограничений, заданных равенствами; отличие здесь состоит в том, что при каждом шаге необ¬ ходимо определять оптимальный вектор задачи квадратич¬ ного программирования. Параметры задачи квадратичного программирования незначительно изменяются от одного шага к другому, и решение, полученное для предыдущего шага, оказывается хорошей исходной точкой для опреде¬ ления нового направления наискорейшего спуска. Если используется алгоритм квадратичного программирования, позволяющий учитывать это обстоятельство, то количество операций, требуемых для определения нового направления наискорейшего спуска, становится очень небольшим. Предлагались и другие методы решения общей задачи программирования. Следует отметить работы Эрроу и Гурвица [1] и Клейна [20]. В первой работе авторы преобразуют исходную нелинейную программу в задачу о седловой точке и используют градиентный метод для опре¬ деления этой точки. Предложение Клейна сводится 140
к добавлению квадратов дополнительных переменных для перехода от ограничений в форме неравенств к ограниче¬ ниям в форме равенств. Оба метода требуют добавления новых переменных, в результате чего процесс значительно замедляется и увеличивается вероятность того, что потре- поломить к=0} выоратъ начальную допустимую точку хс,началъное множество раезнстпа,удозлет воряюгцих ограничениям I tu начальную величину шага Х° Повторить k->k+1 Исправить размер шага ■V к . к+1 Конец —yH N Проверит ь.уЬозлетворя ется ли критерий оптимальности т~ к + 1 Исправить рс так, чтобы ограничения I k + f удовлетворялись тождественно I Определить направление наискорейшего спуска 1) Решить Max|uTM u+t*** А v при и > О 2) и^= t + А и 3) Проверить условие tTt+tT Аи> О (М = АТА, А = II А;|| ,1 е гК) N Найти <р(хк'1) д< **Ч) Сделать шаг в направле - нии наискорейшего спуска xk*’=xk*Xkuk Фиг. 7.5. Метод наискорейшего спуска при огра¬ ничениях, заданных в форме неравенств. буется очень большое число итераций. Кроме того, эти предложения не дают возможности использовать преиму¬ щества, которые дает простота задачи линейного програм¬ мирования. С другой стороны, метод, изложенный в этой главе, дает прямой подход к задаче и не требует введения допол¬ нительных переменных. В применении к задаче линейного программирования число требуемых итераций приблизи- 141
тельно равно числу шагов, требуемых для решения этой же задачи по симплексному методу. При применении к общей задаче программирования этот метод позволяет исполь¬ зовать преимущества, которые получаются, если ограни¬ чения или целевая функция приблизительно линейны. Таким образом, использование метода наискорейшего спуска дает, очевидно, прямые и эффективные способы решения общей задачи программирования.
ПРИЛОЖЕНИЯ
IT Р И Л О ж Е н и Н Л Элементы геометрии в эвклидовом пространстве В этом разделе вводятся геометрические понятия, кото¬ рые будут использованы (особенно. в приложении Б) для иллюстрации алгебраических доказательств. Определение. Эвклидовым пространством назы¬ вается множество Rn всех совокупностей из п действи¬ тельных чисел. Элемент из Rn можно рассматривать как точку, координатами которой являются п действительных чисел, или как вектор, исходящий из начала координат, составляющие которого вдоль координатных осей представ¬ ляют собой п действительных чисел. Точка или вектор х из Rn будет представляться в виде матрицы-столбца Выражение «вектор у из Rn больше вектора х из Rni> и запись у > х означают, что каждая составляющая у больше соответствующей составляющей х, т. е. из у > х следует, что у{ > xit i = 1, 2, ..., п. Запись г/>х означает, что для каждой составляющей выполняется соотношение Vi>Xi> *=1,2, ..., rt. Два вектора х и у называются ортогональными, если их скалярное произведение п ХТУ= 2 х{у{ 1=1 равно нулю. 10 Дж. Б. Деннис 145
Ниже потребуется рассмотреть произведение матрицы А1 размера пхт на вектор у. Геометрически это произведе¬ ние можно представить как вектор-столбец, компоненты которого являются скалярными произведениями у с соот¬ ветствующими столбцами А АТу = А[у <у С другой стороны, произведение матрицы /1 размера п X пг и вектора х, имеющего m составляющих, можно наглядно представить в Rn в виде векторной суммы столб¬ цов из А, каждый из которых взят с весом, пропорцио¬ нальным соответствующей составляющей х Ах = х1А1-{- х2А2А~ .. • 'X,И rn- Эти способы интерпретации будут использоваться "в по¬ следующих доказательствах. Определение. Прямой в Rn называется множество точек х, удовлетворяющих соотношениям Xi — а1 __ х2 — а2 __ хп — ап b 1 Ь* где а и Ь — элементы Rv. Прямая содержит точку а и параллельна направляющему вектору Ь. Определение. Гиперплоскостью в Rn называется множество точек х из Rn, удовлетворяющих соотношению аТх = (3, где а—элемент Rr\ представляющий собой вектор-нормаль к гиперплоскости, а (3 — скаляр. Заметим, что гиперплоскость атх = 0 содержит начало координат и является объединением всех прямых, которые проходят через начало координат и направляющие векторы которых ортогональны а, т. е. гиперплоскость есть мно¬ жество точек, принадлежащих этим прямым. Определение. Полупространством в Rn называется множество всех точек х из Rn, удовлетворяющих соотно¬ шению аТх> Р, 146
где а —элемент Rn и (5 —скаляр. Гиперплоскость атл*=|3 называется граничной гиперплоскостью полупространства. Такое множество имеет смысл называть полупростран¬ ством, так как каждой точке л* по одну сторону от гра¬ ничной гиперплоскости аТх < [3 можно поставить в соот¬ ветствие ее изображение у строго по другую сторону от этой гиперплоскости: ату = атх — 2атх Jr 2(3 = (3 — (атх — (3), так что ату > j3. Это соответствие между л* и у является взаимнооднозначным. Определение. Лучом, или полупрямой, в Rn назы¬ вается множество таких точек х, что .v = а ХЬ при некотором л >0. Здесь а и b—фиксированные элемен¬ ты Rn. Определение. Конусом называется множество точек из Rn таких, что если х принадлежит множеству, то у = Хх также принадлежит множеству при любом неотрицатель¬ ном числе X. Заметим, что, согласно этому определению, вершина конуса всегда лежит в начале координат. Определение. Выпуклым множеством в Rn назы¬ вается множество, удовлетворяющее следующему условию: если х и у принадлежат множеству, то и все точки отрез¬ ка прямой, соединяющего эти точки, также принадлежат множеству, т. е. г = (1 — а) х -|- а у принадлежит множеству при любом а, лежащем в интер¬ вале между нулем и единицей. Выпуклой оболочкой дан¬ ного множества называется «наименьшее» выпуклое мно¬ жество, содержащее данное множество. Точнее, это пере¬ сечение (совокупность всех общих точек) всех выпуклых множеств, содержащих заданное множество. Крайней точкой выпуклого множества называется точка выпуклого множества, не лежащая ни на одном отрезке прямой, соединяющем две отличные от нее точки множества. 10* 147
Выпуклый многогранник представляет собой выпуклое множество. Он является выпуклой оболочкой своих край¬ них точек. Крайними точками многогранника являются его вершины. Определение. Выпуклым многогранным множест¬ вом в Rn называется пересечение конечного числа полу¬ пространств. Таким образом, оно представляет собой мно~ жество точек х, удовлетворяющих соотношениям Ar[х> bv А\х> Ь2, АТтх>Ьт ИЛИ АТх> Ь, где Л — матрица размера п х т, строки которой—/^, Л2, .. . ..., Am, а b — вектор-столбец с т составляющими Ьг ът В частности, множество точек х, удовлетворяющих ограничениям задачи линейного программирования, пред¬ ставляет собой выпуклое многогранное множество. Выпук¬ лое многогранное множество может содержать точки, рас¬ положенные на сколь угодно большом расстоянии от нача¬ ла координат, т. е. может быть неограниченным. Поэтому такое множество не называют просто многогранником. Для обоснования приведенных определений необходимо показать, что любое такое множество в самом деле выпукло. Теорема. Выпуклое многогранное множество выпукло. Доказательство. Пусть х и у — точки выпуклого многогранного множества. Тогда АТх>Ь, Ату>Ь. Рассмотрим точку, лежащую на отрезке прямой, соединяю¬ щей х и у г = (1 — а) х + а у. 148
Имеем ATz = (1 — а) Атх + аАту, > (I — а) b + ab = Ь, ATz>b. Таким образом, г также принадлежит выпуклому много¬ гранному множеству и, следовательно, это множество выпукло. Определение. Выпуклым многогранным конусом называется пересечение конечного числа полупространств, граничные гиперплоскости которых содержат начало коор¬ динат. Этот конус представляет собой множество точек х, удовлетворяющих соотношению Атх> 0. Любой выпуклый многогранный конус является выпук¬ лым многогранным множеством и, следовательно, выпук¬ лым множеством. Однако требуется доказать, что такое множество в самом деле является конусом. Теорема. Выпуклый многогранный конус представ¬ ляет собой конус. Доказательство. Пусть х — точка выпуклого мно¬ гогранного конуса. Следовательно, Атх> 0. Но тогда Ат(Хх) = Мтх> 0 при всех Х>0. Таким образом, выпуклый многогранный конус является конусом. В геометрии выпуклых тел установлена равнозначность приведенного определения выпуклого многогранного кону¬ са и другого определения, которое следует ниже. Определение. Выпуклым многогранным конусом называется выпуклая оболочка конечного числа лучей, исходящих из начала координат. Если Av Л2, ..., Аш — векторы, имеющие одинаковое направление с этими лучами, то конус представляет собой все положительные линейные комбинации этих векторов, т. е. содержит все точки г = Ах, где х > 0 149
Совершенно очевидно, что любой выпуклый многогран¬ ный конус в трехмерном пространстве соответствует обоим определениям. В пространствах большего числа измерений это утверждение остается справедливым, хотя его несколь¬ ко труднее доказать. Поскольку эти геометрические поня¬ тия будут использованы лишь для иллюстрации, они не влияют на строгость доказательств и поэтому доказатель¬ ство равнозначности определений здесь не приводится.
ПРИЛОЖЕНИЕ Б Основная теорема теории линейных неравенств1) Ниже приведено доказательство известной теоремы об однородных линейных неравенствах, на которой базируется основная теорема общей теории программирования. Теорема утверждает, что существуют векторы х и у, удовлетворяю¬ щие системе соотношений АТу> 0, (БЛа) Ах = 0, (БЛб) х> 0, (БЛв) Ai у -г х1 > 0, (БЛг) где Л —произвольная матрица размера пхт. Легко показать, что для этой системы могут иметь место два взаимно исключающих случая. Свойство Б.1. Любое решение (х, у) системы (Б.1) таково, что либо А\у = 0, яд > О, либо AJу > 0, яд = 0. Доказательство. Из (Б. 1а) и (Б. 16) А1у>0 при всех /, дд>0 при всех i. Следовательно, каждый член суммы (Б.2) г) Приведенный здесь вывод основан на доказательстве Гэйла, содержащемся в работе Таккера [27]. 151
неотрицателен. Но 2 xtAj у = хтАту = ут (Ах) = 0. i Здесь использовано то обстоятельство, что транспониро¬ ванная матрица произведения равна произведению транс¬ понированных матриц, взятых в обратном порядке. Сле¬ довательно, каждый член (Б.2) должен быть равен нулю. В частности, xiAi У = °- Отсюда следует, что либо xv либо AJ у. должно быть равно нулю. Из соотношения (Б. 1 г) видно, что они не мо¬ гут обратиться в нуль одновременно. Следовательно, два указанных случая являются единственно возможными. Пользуясь этим свойством, можно дать изящную гео¬ метрическую иллюстрацию теоремы. Запишем сначала систе¬ му (Б.1) в развернутом виде Ат у ^ 0 Ч у >о А1у>о 0 — х1А1 + х2А2 ... + xmAm, (Б. 16) (Б. la) xi>0’ (Б.1в) А^у + хг>0 (БЛг) в соответствии с двумя представлениями произведения матрицы на вектор, приведенными в приложении А. Усло¬ вию (Б. 1а) должна удовлетворять гиперплоскость, вектор- нормаль которой у такова, что каждая компонента А{ либо лежит в гиперплоскости, либо имеет положительную ком¬ поненту вдоль вектора-нормали у. Следовательно, ни одна точка конуса, описываемого векторами А., не может иметь отрицательной координаты 'вдоль у. Соотношения (Б. 16) и (Б.1 в) требуют, чтобы нуль-вектор являлся положитель¬ ной линейной комбинацией компонент Av Очевидно, этому требованию можно удовлетворить при выборе любой мат¬ рицы А, если положить х = 0, у = 0. Таким образом, тео¬ рема является интересной и важной лишь постольку, по¬ скольку требуется удовлетворить соотношению (БЛг). Геометрическая формулировка теоремы. Если задана последовательность векторов Л2, А3, ... . ,/1т и единственный вектор —Av то либо ^сущест¬ вует гиперплоскость, отделяющая —Аг от конуса, обра¬
зованного векторами Л2, Л3, ..., А.м, точнее, существует гиперплоскость такая, что —Аг находится по одну сторону, а все точки конуса —по другую сторону от гиперплоско¬ сти или на гиперплоскости; либо 2) вектор — Ах является элементом конуса, опре¬ деляемого векторами Л2, А3, .Ат. Геометрически тео¬ рема поясняется на фиг. Б.1. Теорема Б.1. Система соотношений АТу> 0, Ах = О, х>0, А'[у-\-х1> О имеет решение. Доказательство. В соответствии с доказанным выше свойством любое решение системы должно удовлет¬ ворять следующим соотношениям: либо 1) Аг{у — 0, х1 > 0; либо 2) AJу > 0, хх = 0. Заметим, что в первом случае, если (х, у) = (х, у) — решение, обладающее требуемым свой¬ ством, то (х, у) = (х, 0) также обладает этим свойством. Во втором случае, если (х, у) является решением, то (0, у) также является решением. Для доказательства теоремы достаточно показать, что существует решение, которое выражается одним из этих двух способов. Доказательство проводится по индукции относительно числа m столбцов матрицы А. А. Рассмотрим сначала случай, когда А содержит один столбец. Тогда либо 1) Ах = 0 и (у = 0, х = 1) является требуемым решением, либо 2) Л^О и (y = Av * = 0) является требуемым решением. Б. Предположим, что теорема справедлива для матри¬ цы Л, состоящей из m столбцов, и покажем, что она спра¬ ведлива для матрицы Л = Ц А, Ат+1||, состоящей из m-\- 1 столбцов. 1. Допустим, что матрице Л соответствует решение (0, х). Тогда это же решение вместе с л:т+1 = 0 является реше¬ нием для Лч 153
б Фиг. Б.1. Иллюстрация к теореме Б.1. Либо —Л± положительная линейная комбинация Ач, •••, Ап =Х2А1±111±х11Ап _ 0 *1 т. е. — А\ принадлежит конусу, образованному Ао Ап (я); либо существует гиперплоскость р^у=0 такая, что А2, ...у Ап лежат в этой плоскости или по одну сторону от нее, а — Л1—строго по дру¬ гую сторону от нее (б).
Геометрически решение (0, х), соответствующее матри¬ це А, означает, что —Ах содержится в выпуклом конусе, образованном векторами Л2, /!3, .. ., Ат. Очевидно, что если расширить конус, добавив еще несколько произво¬ дящих лучей, вектор —Ах останется элементом нового конуса. 2. Допустим, что матрице А соответствует решение (г/, 0). При этом следует рассмотреть два случая. а. Пусть Тогда (г/, 0) является по-прежнему требуемым решением. В этом случае задана гиперплоскость с вектором-нор¬ малью у; гиперплоскость отделяет вектор —Аг от конуса, определяемого остальными столбцами матрицы А. Новый вектор Ат+1 и конус находятся по одну сторону от гипер¬ плоскости, следовательно, та же гиперплоскость отделяет —Аг от конуса, определяемого расширенной системой лучей. б. Пусть А^пл-[ < 0. В этом случае решение, соответ¬ ствующее матрице А, не может быть получено из реше¬ ния (у, 0) для А. Образуем матрицу ^ = II ^1 "Т ^l^ra+l» ^2 + ^2^т+1» • • • » Ат "Г II = = II Bj, В2, . . ., Вт||, где а( у ^•=-Ут>а т-4-1 У т+1J Эта матрица обладает следующими свойствами: Bj у Aj у -j - kjAm-\-\y = Aj у — Aj у — 0. Таким образом, векторы Bj лежат в гиперплоскости с вектором-нормалью у. Этот случай показан на фиг. Б.2а. Каждый вектор By равен сумме вектора Aj и век¬ тора Ат+1, умноженного на такое число, чтобы резуль¬ тирующий вектор лежал в гиперплоскости. Так как матрица В содержит т столбцов, и по пред¬ положению для таких матриц теорема справедлива, то обязательно существуют два вектора v и ц, такие, что BTv> 0, Вм = 0, и > 0, В[ v j их>'$. 155
Можно выбрать решение, соответствующее матрице Ву в одной из двух форм 1) В\ v = 0, иг > 0 и (0, и) также является решением; 2) В{ v > 0, иг = 0 и (у, 0) также является решением. Фиг. Б.2. Иллюстрация к доказательству теоремы Б.1. I. Пусть (0, и) — решение, соответствующее матрице £ при ьд > 0. Покажем, что lk = o, х = (и, 2М/)11 i 156
является решением, соответствующим матрице А. Оче¬ видно, Ату > О, х>0, так как и> 0, Х>0, А\у = 0 и л:, — их > 0. Далее имеем Ах = Лх х.2Л2 + ... -[- хтЛт + Х1П+ l^-m+i = = £//, -!-«,Л2+ ••• -T«m^m + S МА*1 = = U, ( Лх + Ч'^т+l) -р Ы2 (^2 + ^'2/^m+l) “Ь • • • ••• +4m(Am + KAm,l) = BU = 0, так что все требования удовлетворяются. Геометрическая интерпретация этого случая дана на фиг. Б. 2,а. Здесь вектор —Вх лежит внутри конуса, обра¬ зованного векторами В2, В3, ..., Вт. Следовательно, век¬ тор —Вх можно представить в виде линейной комбинации векторов В2, В3, . . ., Вт. Суммируя Л2, Л3, .. ., Ат с теми же весами и добавляя вектор Лт+1, умноженный на соот¬ ветствующее число, можно выразить —Аг в виде положи¬ тельной линейной комбинации других столбцов матри¬ цы Л. Следовательно, —Лх лежит внутри конуса, образо¬ ванного векторами Л2, Л3, . .., Лт+1. II. Пусть (v, 0) — решение, соответствующее матрице В при B*v>0. Покажем, что {y = v+iiy, х = 0), где _ <+,» является решением, соответствующим матрице Л. Заметим, что Ат+\У = Дп+1^ —А1+,у = 0. Тогда очевидно, что Лх = 0, х> 0, 157
но Ajy = Afy -I- 'чАгп^У = ts‘у ---- Bj v -г yB]y= Bjv > О, j = 1, 2, . , ., m. Следовательно, ATy>0. Точно так же A\y = A fy-|- Mm+i*/ = B]y = й/ L» > 0. Следовательно, > 0. Последний случай показан на фиг. Б. 2, б. Существует гиперплоскость с вектором-нормалью v, отделяющая вектор —В± от конуса, образованного векторами й.>, й3, . . В1П. Исходя из этого, можно построить гиперплоскость, отде¬ ляющую вектор —Ах от конуса, описываемого векторами А2, А3, . .., Ат+1, следующим образом. В качестве вектора- нормали к гиперплоскости выбирается вектор у, равный сумме вектора v и вектора у, умноженного на такое число, что сумма ортогональна вектору Ат+1. При этом каждый вектор Bj имеет одинаковые компоненты вдоль векторов у и v, так как каждый вектор Bj ортогонален вектору у. Компонента вектора Aj вдоль у также равна соответству¬ ющей компоненте вектора Bj. Таким образом, все век¬ торы Aj расположены по одну сторону от гиперплоскости с вектором-нормалью у, причем Ах лежит строго по эту сторону. Следовательно, гиперплоскость отделяет вектор —Aj от конуса, что и требовалось доказать. Теорема справедлива при т= 1 и, кроме того, если теорема справедлива при т, то она верна и при т-1-1. Следовательно, она справедлива для любого целого поло¬ жительного числа. Этим и завершается доказательство.
ПРИЛОЖЕНИЕ В Общая теория программирования') при условии (В.1) (В.2) где х — искомый /7-мерный вектор и g (х) — преобразование я-мерного пространства в т-мерное Ф и g предполагаются дифференцируемыми. О п р е д е л е и и е. Множество точек, удовлетворяющих (В.1) и (В.2), называется допустимым множеством задачи программирования. Допустимое множество будет обозначаться буквой С. Оно представляет собой выпуклое множество, если каждая координатная функция gt выпукла. Лемма В.1. Пусть С — множество точек, удовлетво¬ ряющих условиям Тогда С —выпуклое множество, если координатные функ¬ ции gv g2> ■ • •» gm вектора g выпуклы. gt w gw= «■ w gm (X) g (x) >0, x > 0. x) Это приложение основано на работе Куна и Таккера [21]. 159
Доказательство. Пусть х и х — две точки из С, о a .v = (1 — а) х + 0 < а < 1 — некоторая точка, лежащая о на отрезке прямой, соединяющей х и х. Очевидно, что х>0. Точно так же ёг (*) = gi К1 - о) X - ах] > (1 - а) gi (х) + ag{ (х) > О вследствие выпуклости g.. Одним из важнейших вопросов, возникающих в задачах программирования, является вопрос о том, при каких условиях локальный минимум является оптимальным реше¬ нием. Как будет показано ниже, достаточным условием этого является вогнутость целевой функции и выпуклость допустимого множества. Теорема В.1. Если ср — вогнутая функция, g1? ... . .., gm — выпуклые функции и ср(х) в точке х достигает минимума в некоторой окрестности х, содержащейся в С, то в точке х функция ср (х) достигает своего минимального значения в С. Доказательство. Допустим, что ср (х) не достигает о минимума в точке х. Пусть х —некоторая точка в С, для О о которой ср (х) < <р (х). Отрезок прямой х = (1 — а) х + ах (0<а< 1) полностью содержится в С, так как С выпукло. Значение целевой функции на этом отрезке равно о о Ф (а) = ф [(1 — а) д; -+ ах\ < (1 — а) ф (х) + аф (х). На отрезке существует точка, содержащаяся в окрест¬ ности х, но не совпадающая’ с х. Пусть это будет точка х = (1 — 6) х + Ьх, где 0 < б < 1. Тогда Ф (х) = ф [(1 — 6) х + 6х] < (1 — 6) ф (х) + бф (х) — = <р (х) — б [ф (х) - ф (х)] о вследствие вогнутости ср(х). Так как ср(х)<ср(х), имеем ф (х) < ф (х), что противоречит предположению о том, что х дает локаль¬ ный минимум. 160
Для доказательства основной теоремы нелинейного программирования (теорема В.2) необходимо наложить на допустимое множество следующее условие: для каждой граничной точки допустимого множества должна суще¬ ствовать гладкая кривая, оканчивающаяся в этой точке и целиком принадлежащая допустимому множеству. После доказательства теоремы будет приведен пример, показы¬ вающий, что это условие необходимо. Точная формули¬ ровка условия приводится ниже. Определение. Множество С точек, удовлетворя¬ ющих ограничениям g(x)>0, х>0, удовлетворяет связным ограничениямх), если для каждой точки из С выполняется следующее условие. Разделим ограничения на две группы Е и /, такие, что gE М = °> §i (*) > °. Si (*) Кроме того, разделим составляющие х на такие две группы, что X = , хр > О, х7 = 0. Пусть х — произвольный вектор, такой, что [dgE(x), х]>0, xz>0, (В.З) * т. е. х направлен от границы С внутрь множества. Условие формулируется так: для каждого х, удовлетворяющего (В.З), существует дифференцируемая кривая, принадлежащая С такая, что x = h(а), 0<а<1, h(0)=x Связные ограничения иногда называют условиями регуляр- ности.—Прим. ред. 11 Дж. Б. Деннис 161
dh (0) = kx при некотором к > 0. Теорема В.2. (Основная теорема общей теории про¬ граммирования.) Рассмотрим общую задачу программиро¬ вания. Требуется минимизировать ф (х) при g (х) > о, х>0, где ф и g — дифференцируемые функции и допустимое множество С удовлетворяет связным ограничениям. Необ¬ ходимым условием того, чтобы х был оптимальным векто¬ ром общей задачи программирования, является существо¬ вание вектора у, такого, что дф (х) — dg (xf у > 0, g (х) > 0, У>0, х>0, (В-4) ут g (х) = 0, х*1 [<5ф (х) ~ dg (х)ТУ] = 0. Достаточным условием того, чтобы л: был оптимальным вектором в некоторой окрестности N точки х, является существование у, удовлетворяющего (В.4), при условии, что ф вогнута, a g выпукла в N. Доказательство. Пусть х — некоторая точка в до¬ пустимом множестве С. Разделим ограничения и перемен¬ ные так, чтобы Хр ^> 0, g(x) = ge W 8ЛХ) . = 0 ga (x) = 0, gi {x) > 0. Рассмотрим систему неравенств1) x) Условная запись матрицы в соотношениях (В.5а), (В.56) рас¬ шифровывается следующим образом: пусть переменные хi и функции gi пронумерованы так, что Хр={х1, х2, хт}, g„={gu gi, gs}, 162
- дф (х) dgE (х)т ®!|7 х>0, - <h W dgE (х)г т т иЕ = 0, иЕ vz Vz (В. 5а) >0, (В. 56) [ — дф(лг), л:] + т > 0. (В.5г) В соответствии с теоремой Б.1 и свойством Б.1 система имеет либо решение, для которого т > 0, либо решение, — * для которого [дер (я), х] < 0; оба случая одновременно не * имеют места. Если система (Б.5) имеет решение (х, т, иЕ, vz) при т > 0, то иЕ/х У 0 удовлетворяет условиям (В.4). Обратно, если у удовле- * творяет (В.4), то [* = 0, т=!, иЕ = уЕУ vz = dcp(x) — — dg(x)Ty] является решением (В.5) при т > 0. Для доказательства необходимости предположим, что х — оптимальный вектор общей задачи программирования. Допустив, что не существует вектора у, удовлетворяющего (В.4), придем к противоречию. Это следует из последнего условия, которое гласит, что система (В.5) не имеет реше¬ ний при т > 0. По теореме Б.1 она должна иметь решение тогда -дф(х) dgE(x)T 5|] = дф дхг dg г дхх dgs дхг дф дхг дф dg i дхг dgi dgs дхг dgs дхг+1 дер дхг+1 dg i дхг+1 dgs дх(-+2 д*,.+2 dxr+2 дф дхп dgi дхп dgs dxn 0 0 0 0 1 0 0 1 0 0 — Прим. ред. 11* 163
при [дф(л:), х] <0. Из (В.5а) видно, что л: удовлетворяет соотношениям [dg,, (х), х] > 0, xz > 0. * Таким образом, вектор х направлен «внутрь» допустимого множества. В соответствии с условием связности ограни¬ чений существует дифференцируемая кривая f(a), оканчи¬ вающаяся в х и целиком содержащаяся в С, для которой * df (0) = Кх при некотором К > 0. Производная <р вдоль кривой равна при этом |£(0) = [dq>$, й<о. Следовательно, в окрестности х существуют точки, для которых ф(д:)<ф(х), что противоречит утверждению об оптимальности х. Для доказательства достаточности предположим, что х — не оптимальный вектор и покажем, что не существует вектора у, удовлетворяющего (В.4). Если х —не оптималь- о ный вектор, то в С существует отличный от него вектор .v, о такой, что ф (я) < ф (х). В предположении выпуклости отре¬ зок прямой f (а) = (1 — а) х + ах, 0<а< 1, о соединяющей х и х, содержится в С. Так как ф вогнута, значение производной ф вдоль отрезка в точке х должно быть отрицательным ^(0) = [дФ(*), х] < 0, * о _ * где х = х — х. Поэтому х вместе с т = 0, иЕ = 0, vz = 0 образуют решение системы (В.5). Из теоремы Б. 1 следует, что (В.5) не имеет решений при т > 0. Следовательно, ни один у не удовлетворяет (В.4), если х не оптимальный вектор. Примером задачи программирования, которая не удов¬ летворяет условию связности ограничений, является сле¬ дующая.
Требуется минимизировать — х1 при условии 0 (х) = == (1 —х1)3-х2>0, х2>0, х2>0. Очевидно, что оптимальным решением задачи является граничная точка х1=1, х2 = 0. В этой точке вектор на¬ правления 1 * х = удовлетворяет условиям (В.З), но он направлен не внутрь допустимого множества. Только в случае таких, аномаль¬ ных «вершин» теорема оказывается неприменимой. В заключение этого приложения покажем, что допу¬ стимое множество, определенное системой линейных нера¬ венств, всегда удовлетворяет связным ограничениям. Теорема В.З. Выпуклое многогранное множество Ах>Ь, х>0 всегда удовлетворяет связным ограничениям. Доказательство. Пусть л; — любая точка множе¬ ства. Разделим матрицы А, b и вектор х так, чтобы Aix > Ъи А Ех Ъ j?, хР > О, xz = 0. * Пусть х — любой вектор, такой, что Аех > О, xz> 0. Определим кривую h (а) следующим образом: * h (а) = х + а*. Получаем Ajh (а) = Ajx + aAjX > bi при всех положительных а, не больших некоторого ах > 0, и * AKh (а) = AFx -г аАкх > ЬЕ, а > 0. 165
Кроме того, _ * II h (а) 1|р = хр + «л>>0 при всех положительных а, не больших некоторого а2 > О, тогда как — * || h (a) ||z = xz+ <*xz> 0 при всех а>0. Следовательно, h (а) содержится в допустимом мно¬ жестве при всех а, удовлетворяющих условию 0<a<Min * |! ct1? а2||. Очевидно, что dh(0) = %x при А,= 1.
ПРИЛОЖЕНИЕ Г Основные теоремы квадратичного программирования В этом приложении рассматривается следующая пара двойственных задач квадратичного программирования. Прямая задача квадратичного програм¬ мирования Найти вектор (xq, xL), который минимизирует ф (xq, Xl) = ~2 xqPxq 4- CqXq + ClXl при условиях Aqxq + ALxL>b, xq>09 xl>0. Двойственная задача квадратичного про¬ граммирования Найти вектор (yQ, yL), который максимизирует в {Uqi Ui) — 2 ^ УL при условиях AlyL-y0<cQ' ALyL CL. На yQ — ограничений нет, уь> 0. В такой постановке Р представляет симметрическую матрицу коэффициентов положительно определенной ква¬ дратичной формы. Следовательно, Р-1 всегда существует и также представляет симметрическую матрицу коэффи¬ циентов положительно определенной формы. 167
Заметим, что приведенная формулировка прямой задачи определяет класс задач квадратичного программирования с меньшей общностью, чем формулировка, данная на стр. 17. Приведенная формулировка прямой задачи охватывает только такие задачи, для которых матрица Q имеет форму: р 0 0 0 Матрица Р коэффициентов положительно определенной формы может иметь любой порядок от нуля до порядка матрицы Q; в первом случае мы имеем дело с линейным программированием; в последнем — целевая функция пред¬ ставляет положительно определенную квадратичную форму. Сначала покажем, что целевые функции этих задач квадратичного программирования вогнуты и выпуклы соот¬ ветственно. Лемма Г.1. Функция ф (х) = xTQx + стх вогнута в том и только том случае, если Q —матрица коэффициентов неотрицательной квадратичной формы, и строго вогнута в том и только в том случае, если Q — матрица коэффициентов положительно определенной формы. Доказательство. Непосредственным вычислением из определения вогнутой функции получаем Ф [(1 — а) х + ах] = = (1 — a)2xTQx + 2а (1 — a) xTQx + a2xTQx -f + (1 — а) стх + а стх = О О гр О = (1 — а) ф (х) + аФ (х) + а (1 — а) (х *— х) Q (х — х). о Последний член больше или равен нулю для всех х и х в том и только в том случае, если Q — матрица коэффи¬ циентов неотрицательно определенной формы. Этот член о больше нуля для всех различных х и х тогда и только тогда, когда Q — матрица коэффициентов положительно определенной формы. Как отмечено в гл. 2, определенные выше задачи ква¬ дратичного программирования рассматриваются как двой¬ 168
ственные, так как каждая из них определяется и той же задачей Лагранжа. Задача Лагранжа для квадратичного г р а м м 11 р о в а н и я Найти (xq, xl, yQ, yL) такие, что AqXq + AlXl> b ограничения прямой задачи xq> 0 xl> О т \Уь Уд ^ ограничения Льуь<сь двойственной задачи yL>o хQ = соотношение связи прямой и двойственной задач */£ (Лд*д + АьХь — &) = О г, , v л условия дополняющей /г. XQ (CQ А<2Уь~гУо) — 0 нежесткости (Г-4) XL (Cl — АьУь) — О Так как целевые функции прямой и двойственной задач квадратичного программирования соответственно вогнуты и выпуклы, фундаментальная теорема нелинейного про¬ граммирования (теорема В.2) и теорема В. 1 приводят к сле¬ дующему результату: Теорема Г.1. Допустимый вектор (xq, xl) прямой задачи квадратичного программирования оптимален в том и только в том случае, если существует вектор (yQ, yL), такой, что (лгд, xL, yQt yL) — решение задачи Лагранжа квадратичного программирования. Точно так же допустимый вектор (уд, уь) двойственной задачи квадратичного про¬ граммирования оптимален в том и только в том случае, если существует вектор (xQi xL), такой, что (xQ, xL, yQ, yL) — решение задачи Лагранжа. Докажем два простых свойства, которые будут исполь¬ зованы при доказательстве основных теорем квадратичного программирования. Свойство Г.1. Если (xQ, xl) и (yQl yL) — допустимые решения прямой и двойственной задач квадратичного про¬ граммирования, то cp (xQ, xl) > ср (yQ, yL). Доказательство. Умножив неравенства ограниче¬ ний прямой задачи на yL, получим uIAqXq + yThALxL > bTyL. одной п ро- (Г.1) (F.1) (Г.2) 169
Умножив неравенства ограничений двойственной задачи на xq и xl соответственно, имеем х1 а1уь-*1уь<с1х0, xlAlyL<clxL. Запишем выражение для разности целевых функций фЦ}. xL)-b (yQ, yL) = = -i- xTQPxQ + CTqXq + CTlXL + J yTQP^yQ - bTyL. Используя полученные выше соотношения, находим ф (XQ, Xl)— 6(t/Q, yL) > > -j xlPxQ - xTyQ + \ UQP^yQ = = у (XQ - Р~1Уо)Тр (XQ - Р^Уо) ■ Последнее выражение представляет собой положительно определенную квадратичную форму и, следовательно, не отрицательно. Свойство Г. 2. Если (xQ, xL) и (yQ, ^—допусти¬ мые векторы прямой и двойственной задач квадратичного программирования и ф(хд, xL) < б (yg, tyL), то (xq, Xl) и (UQi Уь) — оптимальные решения прямой и двойственной задач. Доказательство. Согласно свойству Г.1, ф>9, следовательно, ф = 0. Если на (xq, хь) функция ф не до¬ стигает наименьшего значения, то допустимый вектор, на котором достигается наименьшее значение, и (yQ, уь) не удовлетворяют свойству Г.1. Те же рассуждения приме¬ нимы к (у0, уь). Теорема Г.2. (Теорема двойственности.) Допусти¬ мый вектор (xq, Xl) прямой задачи программирования оптимален в том и только в том случае, если существует допустимый вектор (уд, уь) двойственной задачи, такой, что ф (xq, xl) = 6({/q, yL). Допустимый вектор двойствен¬ ной задачи программирования оптимален в том и только в том случае, если существует допустимый вектор пря¬ мой задачи, такой, что ф(хд, xL) = 6 (уд, уь)- Доказательство. Докажем только первое утверж¬ дение, так как доказательство второго по существу анало¬ гично. Из свойства Г.2 очевидна достаточность условия. 170
Для доказательства необходимости предположим, что (%q, лгь)—оптимальный вектор прямой задачи квадратично¬ го программирования. Тогда по теореме Г.1 существует (yQ, yL), такой, что (xQ1 xL, yQ, yL) — решение задачи Лагранжа. Вектор (yQ, yL), следовательно, является до¬ пустимым вектором двойственной задачи. Далее, рассмотрим разность целевых функций прямой и двойственной задач Ф(*<г> ^)-0(Уо. Уд = = Y XQPxQ + CqXQ + cJXj + у y'ZP-% - ЬТу. Используя соотношения дополняющей нежесткости (Г.4), получаем Ф-0 = У XQPXQ ~ Xl,yQ + Т У%Р~%- Наконец соотношение связи (Г.З) дает ф — б = 0. Теорема Г.З. (Теорема существования.) Если пря¬ мая и двойственная задачи программирования имеют до¬ пустимые векторы, то каждая из них имеет оптимальный вектор. Если хотя бы одна из этих задач программиро¬ вания не имеет допустимого вектора, то ни одна из них не имеет оптимального вектора. Доказательство. Докажем сначала второе утвер¬ ждение. Пусть (xQ1 Xj) — допустимый вектор прямой за¬ дачи квадратичного программирования. По теореме Г.1 вектор (х0, хь) может быть оптимальным только в том случае, если существует вектор (yQ, yL), который удовлет¬ воряет ограничениям двойственной задачи. То же самое справедливо для допустимого вектора двойственной задачи. Для доказательства первого утверждения предположим, что (xQ, xL) и (yQ, yL) — допустимые решения прямой и двойственной задач. Достаточно показать, что целевая функция прямой задачи ограничена снизу на любом луче, точки которого удовлетворяют ограничениям прямой за¬ дачи. Пусть XQ - Xq + ^ Г * Xq * .XL_ Хь 171
представляет какой-нибудь из этих лучей. Для того чтобы вектор (xq, xl) был допустимым для всех неотрицатель¬ ных А,, должно выполняться следующее соотношение: * * _ AqXq + AlXl = A, (AqXq + AlXl) + AqXq -f- AlXl > b и Xq > 0, Xl > 0 для всех A,>0. Эти условия выполняются только в том случае, если (xq, xl) — допустимый вектор прямой зада¬ чи и * * AqXq -f- AlXl ^ 0, XQ>0, XL>0. (Г.5) Далее, рассмотрим на этом луче значение целевой функции прямой задачи как функции А, Ф (А,) = XqPxq + XxqPxq + + Y WxJPxq + cq {xq + KxQ) + + cl (xL + hxL) = ф (xq, xl) + + № ~ XqPxq + % (XqPxq + CqXq + cJxL) = a + px + yk2. * Если некоторая компонента xq отлична от нуля, то коэф¬ фициент при А,2 ^ * \^2X^PXq больше нуля. В таком случае ф(Х), очевидно, ограничена снизу. С другой стороны, если существует решение (Г.5) * при xq = 0, то ф (А,) будет ограничена снизу на луче только в том случае, если — m ^ гг» ^ гтл Р = XqPXq -f- CqXq -(- ClXl = Cl%L неотрицательно. Мы покажем, что это соотношение выполняется. По¬ скольку (г/q, yL) — допустимое решение двойственной за¬ дачи, AlyL<ct., Уь> 0> 172
следовательно. ^ 7' т г ^ XlAlDl < Cl*l- Из (Г.5) имеем также Поэтому У1,АьХь ^ 0. грХ СьХь > 0, что и завершает доказательство. Теорема Г.4. (Принцип дополняющей нежесткости и единственность.) а) Если (xq, Xl) — произвольное опти¬ мальное решение прямой задачи, a (j/q, yL) — произвольное оптимальное решение двойственной задачи, то (xq, xl, \)q, Уь) — решение задачи Лагранжа. В частности, удовлетво¬ ряются соотношение связи и условия дополняющей не¬ жесткости; б) значения xq и yQ в решениях прямой и двойственной задач соответственно единственны. Доказательство. Все условия задачи Лагранжа автоматически удовлетворяются, за исключением условий дополняющей нежесткости и соотношения yg = P^g. Оста¬ ется показать, что удовлетворяются и эти условия. Пусть представляют величины рассогласований условий допол¬ няющей нежесткости. При ограничениях прямой и двой¬ ственной задач каждая из у, е и 6 должна быть неотри¬ цательна. Запишем разность целевых функций прямой и двойственной задач Y = Уь (aqxq + Alxl - b), е = 4 (CQ - A?yL + yQ), b — x1 (cl — А[Уь) (Г.6) q>(*<3, xL) - 9 (i/q, yL) = x?Pxq + c'qXq + + cLxL + -i у^Р-'уа - bTyL. 173
полученные из (Г.6), находим Ф (*^Q» ^l) 0 ({/q, J/l) = "2* ^qUw't + У'^Уо] + Y + e + 6 = 4 (*« “ P~1У^Г (Px« _ y^ + + Y + e + 6 = y (PxQ — yq^P'1 (PxQ — yQ) + y + e + 6. По теореме Г.2 это выражение должно тождественно рав¬ няться нулю. Каждый его член неотрицателен: первый — так как он представляет положительно определенную фор¬ му переменных (Pxq — уд), остальные — вследствие ограни¬ чений прямой и двойственных задач. Таким образом, каж¬ дый член должен равняться нулю. Последнее влечет необ¬ ходимость выполнения соотношения Уо = PxQ и условий дополняющей нежесткости. Следовательно, (xq, xl, Уо, Уь) — решение задачи Лагранжа. Для доказательства единственности положим, что о о _ _ (xq, xl) и (xq, xl) — какие-либо два оптимальных решения прямой задачи квадратичного программирования. По тео¬ реме Г.2 двойственная задача должна иметь оптимальное решение (j/q, yL). В соответствии с первым утверждением настоящей теоремы должны выполняться следующие со¬ отношения: о Уо = Pxq, У0= Pxq. о _ Следовательно, xq = xq. Подобным же образом можно показать единственность г/q в оптимальных решениях двой¬ ственной задачи. Наконец, приведем обоснование выбранной нами фор¬ мулировки пары двойственных задач квадратичного про¬ граммирования. Покажем, что применение принципа двой¬ ственности к двойственной задаче приводит к первоначаль¬ ной прямой задаче. Начнем с двойственной задачи. Требуется максимизи¬ ровать 0 Ota, Уь) = - у Щр^уо + &Ч/1. 174
при условиях AqUl — Uq cq, АьУь < cl, Уь^>0, Над обозначениями векторов и матриц поставлена черта для того, чтобы отличать их в дальнейшем. Произведя замену переменных xQ = yQ Xl = Уь Cq = О cl= —b Р^Р'1 An = = -Cq (Г.7) можно записать эту задачу в терминах прямой задачи, в которой xq — свободная переменная. Требуется минимизировать у x^Pxq + cTxq + c\xL при условиях AqXq + AlXl > b, XL>0. Поэтому ограничения двойственной задачи, соответствую¬ щие переменной atq, записываются в виде равенств. Требуется максимизировать при условиях --2 Ус1Р~1Уо + Ьтуь А1уь-Уо = ся, А1уь<сь, Уь>0. 175
Используя соотношения (Г.7), можно сформулировать задачу, двойственную по отношению к двойственной задаче. Требуется максимизировать -\ytpyQ- при условиях [/0] Уь~Уа = о, [ — Aq — Al] i/l< — b. (Т.8) Если отождествить с Xq _ 1 XL то из (Г.8) следует, что jjq — xq. Можно сформулировать задачу также следующим образом. Минимизировать у XqPxq + CqXq -f clxL при условиях AqXq + ALxL>b, Xq >0, IJq > 0. Это полностью совпадает с формулировкой исходной прямой задачи, что и требовалось показать. CQ cL yL
ПРИЛОЖЕНИЕ Д Некоторые свойства выпуклых функций В трех теоремах этого раздела доказывается, что каж¬ дой строго вогнутой функции ф соответствует строго вы¬ пуклая функция 0, такая, что йб = — (Зф)-1. Для обозначения скалярного произведения векторов х и у используется символ [х, у}\ ф°0 обозначает суперпо¬ зицию1) отображений (функций) ф и 0; Rn-n-мерное эвк¬ лидово пространство. Прежде всего введем понятия вогну¬ той и выпуклой функций. Определение. Отображение ф \D—>R, определен¬ ное в области D из Rn, вогнуто в том и только в том случае, если для любых х и у в D Ф [(1 — а) х + ау]<С (1 — а) ф (х) + аф (у) (Д.1) для всех а в интервале 0<а< 1. Такое отображение строго вогнуто в том и только в том случае, если (Д.1) представляет строгое неравенство для всех пар различных точек в D. Оно выпукло (строго выпукло) в том и только в том случае, если — ф — вогнуто (строго вогнуто). В дальнейших рассуждениях будет использовано обоб¬ щение понятия строгого возрастания функции одной пере¬ менной. Определение. Пусть t: D R — непрерывное пре¬ образование, определенное в области D из Rn. Мы будем говорить, что t удовлетворяет свойству строгого возраста¬ ния в том и только в том случае, если следующее соотно¬ шение удовлетворяется для любой пары различных точек х к у из D: (У-х)\ < [t{y), (у-х)]. 1) ф о 0 = ф [0 (х)]. — Прим. персе, 12 Дж. Б. Деннис 177
Преобразование t удовлетворяет свойству строгого убы¬ вания в том и только в том случае, если — t удовлетво¬ ряет свойству строгого возрастания. При доказательстве теоремы Д.1 будут использованы две леммы. Так как до¬ казательства этих лемм довольно длинны, хотя и не слож¬ ны, и их утверждения достаточно очевидны, то эти дока¬ зательства будут опущены. Лемма Д.1. Пусть [0, 1]замкнутый единичный ин¬ тервал в R. Пусть далее ср :/—>/? —функция, определен¬ ная на некотором интервале /, содержащем [0, 1], и имею¬ щая непрерывную производную ф\ Положим ф'(1)<ф'(0). Тогда для некоторого а в промежутке 0 < а < 1 * Ф (а) > (1 — а) ф (0) + аф (1). Лемма Д.2. Пусть ф :/ —> R —дифференцируемая функция, определенная на единичном интервале [0, *1]. Положим для некоторого а в промежутке 0 < а < 1 ф (а) > (1 — а) ф (0) + аф (1). Тогда существуют две различные точки £ и г|, 0 < S < < а < т) < 1, такие, что ф' (6) > ф' (il)- Теорема Д.1. Пусть D —выпуклая область в Rn и пусть ф :£)—>/? —функция с непрерывными первыми про¬ изводными. Пусть, далее, / : D —^ R — градиент ф. Тогда Ф — строго вогнута (выпукла) в том и только в том случае, если t удовлетворяет свойству строгого возраста¬ ния (убывания). Доказательство. Докажем теорему для того слу¬ чая, когда ф — строго вогнута. Другой случай следует из первого, если рассматривать — ф. 1. Из того, что ф строго вогнута, следует, что t удов¬ летворяет свойству строгого возрастания. Предположим, что t не удовлетворяет свойству строгого возрастания. Тогда существуют две различные точки х и у в D, такие, что |Y(x), {y-x)]>[t(y), (у-х)]. Определим вещественную функцию г| (£) на некотором от- крытом интервале, содержащем [0, 1] при помощи равен¬ ства т](£) = ф./г(£), 178
где h (£) - л' + (у - х) I. Производная от r\ (£) может быть найдена, согласно пра¬ вилу дифференцирования сложной функции, следующим образом: = h'{l)] = [Uh{l), (у-х)). Таким образом, р' (0) = [/ (х), {у-х)}, 11' (0 = [Цу), {у-х)}, откуда следует, что ц' (0) > ц (1). Согласно лемме Д. 1, существует точка а в открытом интервале (0, 1), такая, что r|(a)> (1 — а) г| (0) +ат) (1). Однако Л(0) = л*, Л(1) = */, так что 11 (0) = ср (*), n (1) = ф (г/), т] (а) = фо А (а) = ф [(1 — а) х + ау]. Следовательно, Ф [(1 — а) х + ау] > (1 — а) ф (х) + аф (у), что противоречит строгой вогнутости ф. 2. Из того, что t удовлетворяет свойству строгого возрастания, следует, что ф вогнута. Предположим, что ц не вогнута. Тогда существуют две различные точки лл у в D, такие, что для некоторого а, 0 < а < 1 Ф [(1 - а) х + а у] > (1 - а) ф (х) + аф (у). (Д.2) Определим снова т|(£), как и ранее, л(1) = Ф-'Л(£), где Л(£) = х + {у — х) £. Вместо (Д.2) можно записать г| (а)>(1 - а) г) (0) + arj(l). Согласно лемме Д.2, существуют £г и £4, 0 < < a < < < 1, такие, что Л'(У>Л' (У- Однако мы имеем, как и раньше, 11'(I) = [t<Hl), {у-х)]. 12* 179
Таким образом, (y-x)]>[t -МЪг)ЛУ-*)]- Если положить хг = h (£г), ул = /г(^2) и учесть, что (Ул—Х\) имеет то же направление, что и (у — х), получим [И*]). (Ух — x,)]>[t(yi), Таким образом, t не удовлетворяет свойству строгого возрастания, что доказывает теорему. Теорема Д. 2. Пусть D — область в Rn} а ф : D —> R — функция с непрерывными первыми производными. Пусть, далее, £ —градиент ф. Тогда, если ф либо строго вогнута, либо строго выпукла, t:D—>R есть взаимно однознач¬ ное отображение. Доказательство. Приведем доказательство для случая, когда ф строго вогнута. По теореме Д.1 t удо¬ влетворяет свойству строгого возрастания. Предположим, что t не взаимно однозначно. Тогда в D существуют различные точки х и у, такие, что t \Х) = t (у). Отсюда следует, что [t (х), {у ~ х)] = [t {у), (у - х)]. Это противоречит предположению о том, что t удовле¬ творяет свойству строгого возрастания. Теорема Д.З. Пусть D — область в Rn, a t : D —> R— непрерывное преобразование, удовлетворяющее свойству строгого возрастания. Пусть, далее, Е — выпуклая область, лежащая в области изменения t. Тогда Г1 существует и удовлетворяет свойству строгого возрастания на £. Доказательство. Согласно теоремам Д.1 и Д.2, t является взаимно однозначным преобразованием. Следо¬ вательно, Г1 существует. Предположим, что t"1 не удо¬ влетворяет свойству строгого возрастания. Тогда в Е существуют две различные точки и и и, такие, что [Г1 (и), (v - и)] > [Г1 (&), (v — и)]. (Д.З) Пусть х = Г1(^), y = t~1(v), так что х и у лежат в D. Так как t удовлетворяет свойству строгого возрастания, то [t (х), (у - х)\ < [/ (у), (у - х)] 180
или [и, у] - [и, х] < [V, у] — [v, х]. Из (Д.З) имеем [х, у] - [х, и] > [у, и] - [у, и]. Получаем противоречие. Проведенные рассуждения дока¬ зывают справедливость следующих предложений. Любая строго вогнутая функция <р имеет градиент дер, который является взаимно однозначным отображением, удовлетворяющим свойству строгого возрастания. Взятое с противоположным знаком обратное к нему отображение — (<Эф)-1 удовлетворяет свойству строгого убывания и яв¬ ляется градиентом некоторой выпуклой функции 6. Другими словами, 36= — (Зф)-1. Для любой строго вогнутой функции ф функция 0, определяемая формулой 0 (у) = ф.-(дф)-1 (у) - [у, (дф)-1 (у)], называется преобразованием Лежандра функции ф. Его градиент может быть вычислен по правилу дифференци¬ рования сложной функции 30 (у) = [дфэ(дф)-1 (у), d (дф)'1 (г/)] - - [У, d (дфГ1 (г/)] - (дф)"1 (у) = = [(дф)с (дф)-1 (у) -У, d {3(f) 1 (у)] - — (дф)-1 (у) = - (дфУ1 (У)- Таким образом, градиент 0 равен взятому с противопо¬ ложным знаком отображению, обратному градиенту ф. В теоремах Д.1—Д.З показано, что, так как ф строго вогнута, Зф удовлетворяет свойству строгого возрастания и поэтому — (Зф)-1 существует и удовлетворяет свойству строгого убывания. Следовательно, 0 есть строго выпуклая функция.
ПРИЛОЖЕНИЕ Е Соотношения двойственности выпуклого программирования Основываясь на свойствах преобразования Лежандра, полученных в приложении Д, распространим принцип двойственности на класс задач выпуклого программирова¬ ния. Рассмотрим прямую задачу, целевая функция которой равна сумме строго вогнутой функции ср переменных хс и линейной комбинации переменных xL> отличных от Хс. Прямая задача Найти вектор (хс, Хь), который минимизирует ф (А'с) + CTXL при условиях AlXl -г А('Хс > Ь, хь > 0, хс > 0. Двойственная задача Найти вектор (ус, yL), который максимизирует 0 (Ус) + ьтУь при условиях Aj;yL — у с< °> а1уь<с- На ус ограничений нет, yL> 0. Преобразование Лежандра 0 определяется выражением 9 {Ус) = фЧ^фГ1 {Ус) ~ [Ус’ (аФ)-1 (Ус^ (Е- Ч и, как показано в приложении Д, обладает тем свойством, что до (//,.) = - (дф)'1 (ус). 182
В силу этого свойства задачам вогнутого и выпуклого программирования, сформулированным выше, соответствует одна и та же задача Лагранжа. Задача Лагранжа Найти (хь, хс, уь, ус), такие, что Асхг + AjXj > Ь х > 0 v >0 ограничения прямой задачи (Е.2) АсУь~~ ограничения двойственной /р ^ А1Уь <с задачи yL> 0 хс — — (ус) = (дер) 1 (ус) соотношение связи прямой /р ^ и двойственной задач Уь ^схс — Ь) = 0 условия дополняющей ^р xl (ус - Атсуь) = 0 нежесткости. xl (c-ATLyL) = 0 Применяя фундаментальную теорему нелинейного про¬ граммирования к паре двойственных задач, получим сле¬ дующую теорему, которая лежит в основе доказательств настоящего приложения. Теорема Е.1. Допустимый вектор (хс, xL) прямой задачи для вогнутой функции оптимален в том и только в том случае, если существует вектор (ус, уь), такой, что (xci xL, ус, уь) — решение задачи Лагранжа. Точно так же допустимый вектор двойственной задачи для выпуклой функции оптимален в том и только в том случае, если существует вектор (лгс, xL), такой, что (лгс, xL, Ус, Уь) — решение задачи Лагранжа. Для пары задач с вогнутой и выпуклой целевыми функциями докажем два свойства, аналогичные доказан¬ ным для пары двойственных задач квадратичного програм¬ мирования. Сначала, однако, необходимо доказать лемму. Лемма Е.1. Если ф(х) —строго вогнутая функция и строго выпуклая функция 0 [у) — ее преобразование Лежандра, то функция • ^ (-*> У) = ф (Ч - о (у) - утх 183
неотрицательна и равна нулю в том и только в том слу¬ чае, если х=* - дв (у) = (дсрР (у). Доказательство. Воспользуемся формулой (Е.1), определяющей преобразование Лежандра ф (*, у) = ф (х) - сро(аф)'1 (у) + [у, (дф)-1 (у)] - утх. Пусть w = (<Эф) 1 (у), так что y = d<p(w). Тогда Ф (х> У) = Ф (*) — ф(а>) —[<Эф(ш), (л: — ш)]. Если л; = (<Эф)-1 (у) = w, то, очевидно, ф = 0. Далее пред¬ положим, что х отличается от w. Согласно теореме о сред¬ нем значении для функции многих переменных, на отрезке прямой, соединяющей х и w, существует точка z, в ко¬ торой [д<р(г), (x-w)] = ср(х) — фН. (Е.6) Так как д(р удовлетворяет свойству строгого возрастания, [дф(г), (z — w)]>[dcp(w), (z — w)] или, поскольку (z — w) коллинеарен (х — w), [<Эф (z), (л; — w)] — [<Эф (до), (х — до)] > 0. Используя (Е.6), получаем Ф (х) — ф (до) — [<Эф (до), (.v — до)] = ф (*, у) > 0. Следовательно, ф (я, у) —строго больше нуля, за исклю¬ чением точек х = до = (<Эф)-1 (у). Свойство Е.1. Если (*c, *l) и (ус, Уь) —допусти¬ мые решения соответственно прямой вогнутой и двой¬ ственной выпуклой задач, то ф (хс) + с\хс > Q (Ус) + Ьтуь- Доказательство. Умножив неравенства ограни¬ чений прямой задачи на yL, получаем yTLAсхс + yTLAbXL > bTyL. 184
Подобным же образом из ограничений двойственной задачи находим xlAcyL — xlyc < о, хТА1уьКсТхь- Запишем разность целевых функций прямой и двой¬ ственной задач Д = Ф (л'с) + стхь - 6 (ус) - bTyL или, используя полученные выше соотношения, получим Д > ф (ас) — 0 (ус) - УсХс • Это выражение согласно лемме Е.1 неотрицательно. Свойство Е.2. Если (хс, xL) и (ус, уь) — допустимые векторы прямой и двойственной задач и ф (*с) + cTxL < < 0 (ус) + bTyL, то (хс, xl) и (ус, уь) — оптимальные реше¬ ния прямой и двойственной задач. Доказательство. Согласно свойству Е. 1, ф (хс) + + cTxL > 0 (ус) + bTyL. Следовательно, целевые функции равны. Если вектор (хс, хь) не оптимален, то некоторый другой допустимый вектор даст прямой целевой функции меньшее значение, что противоречит свойству Е.1. Подоб¬ ные же рассуждения применимы и к (ус, уь) в отношении двойственной задачи. Теперь можно доказать теорему двойственности и прин¬ цип дополняющей нежесткости для задачи выпуклого программирования. Теорема Е.2. (Теорема двойственности.) Допусти¬ мый вектор (хс, xl) прямой задачи вогнутого программи¬ рования оптимален в том и только в том случае, если существует допустимый вектор двойственной задачи, такой, что целевые функции обеих задач равны. ф (Хс) + CTXL = 6 (Ус) + bTyL. Допустимый вектор двойственной задачи оптимален в том и только в том случае, если существует допусти¬ мый вектор прямой задачи, такой, что целевые функции обеих задач равны. Доказательство. Мы докажем только первое утверждение, так как доказательство второго по существу 185
такое же. Из свойства Е.2 очевидна достаточность усло¬ вия. Для доказательства необходимости предположим, что (жс, xl) — оптимальный вектор прямой задачи. Тогда по тео¬ реме Е.1 существует такой вектор (ус, yL), что (хс, xLj ус, Уь) ~ решение задачи Лагранжа. Вектор {ус,Уь), сле¬ довательно, допустимый вектор двойственной задачи. Запи¬ шем разность целевых функций прямой и двойственной задач А = ф (хс) + стхь — 0 (ус) — bTyL. Используя условия дополняющей нежесткости (Е.5), получим А = ф (хс)-уЪхс-Ъ(Ус). Из соотношения связи и леммы (Е.1) следует, что Д = 0. Теорема Е.З. (Принцип дополняющей нежесткости и единственность.) а) Если (хс, xL) — какой-нибудь опти¬ мальный вектор прямой задачи и (ус, уь) — какой-нибудь оптимальный вектор двойственной задачи, то (хс, xL, ус, уь)— решение задачи Лагранжа. В частности, удовлетворяются соотношение связи и условия дополняющей нежесткости; б) значения переменных хс и ус в оптимальных решениях прямой и двойственной задач соответственно единственны. Доказательство. Все условия задачи Лагранжа, за исключением условий дополняющей нежесткости (Е.5) и соотношения связи хс = (дф)”1 (г/с), удовлетворяются автоматически. Остается показать, что удовлетворяются и эти условия. Пусть У = У[ + Асхс — Ь), е = -Ч(Ус-л£Д> 6 = xl (c-A[yL) представляют величины рассогласований условий допол¬ няющей нежесткости. При ограничениях прямой и двой¬ ственной задач каждая из величин у, е и 6 должна быть положительна или равняться нулю. Разность целевых функ¬ ций, прямой и двойственной задач имеет вид ф (Д'с) +.cTxL - 6 (ус) - bTyL = = [ф Чс) - О (Ус) - У1схс] + Y + 6 + 6. (Е.7) 186
Каждый член полученного выражения неотрицателен; первый —по лемме ЕЛ, остальные —по построению. Однако теорема Е.2 требует, чтобы целевые функции прямой и двойственной задач были равны и, следовательно, чтобы выражение (Е.7) обращалось в нуль. Так как члены (Е.7) неотрицательны, каждый из них должен равняться нулю. Из леммы Е.1 следует, что для первого члена должно удовлетворяться соотношение связи (Е.4), в остальных случаях— условия дополняющей нежесткости. Таким обра¬ зом, (хс, Хь, Ус, Уь) — решение задачи Лагранжа. Для доказательства единственности положим, что О О (xc,xL) и (хс, ХЬ) - какие-либо два оптимальных вектора прямой задачи вогнутого программирования. По теореме Е.2 двойственная задача должна иметь оптимальный век¬ тор (ус, Уь)- Согласно первому утверждению настоящей теоремы, имеют место следующие два равенства: Vc = (^ф) 1 (Ус), хс = {д(рУ1(Ус)- Следовательно, хс = *с, так как дер — взаимно однознач¬ ное отображение. Подобным же образом можно показать единственность у(. в оптимальном решении двойственной задачи.
ПРИЛОЖЕНИЕ Ж Свойства решений двухполюсника В этом приложении исследуются свойства системы уравнений двухполюсника Ь с О 1 А е -Q i Аг I 1 ет В частности, ставится задача показать, что совокупность всех пар (£, л)> соответствующих решениям системы, пред¬ ставляет на плоскости кривую критических состояний,. Из этой системы могут быть получены три соотношения Ах + еЪ = Ь, (Ж. 1а) ATy-Qx + v = c, (Ж.1б> Л = — етУ (Ж-1 В> и условия дополняющей нежесткости х>0, и>0, xTv = 0. (>1\.1г> Предполагается, что матрицы в (Ж-1) обладают сле¬ дующими свойствами: А — произвольная прямоугольная матрица; Ь, с, е — произвольные матрицы-столбцы; 188
Q — симметрическая матрица коэффициентов неотри¬ цательно определенной квадратичной формы. Прежде всего следует дать точное определение кри¬ вой критических состояний. Определение. Кривая критических состояний есть последовательность к прямолинейных отрезков в пло¬ скости, обладающая следующими свойствами: 1. Первый отрезок —луч с ненулевым направляющим вектором (£, т)), где £<0, ц<0. 2. k-Pi отрезок (не обязательно отличен от первого) — луч с ненулевым направляющим вектором (£, ц), где £>0, ц > 0. о о 3. Пусть (£i? гр) — начало /-го отрезка (за исключением первого), a (|f, гц) — конец /-го отрезка (за исключением последнего). Тогда ^i+i = Si? Лi+i = i’ i = 1 ? • • •» ^ 1 ? т. е. два следующих друг за другом отрезка должны соединяться в общей точке. 4. Все отрезки должны иметь неотрицательный наклон. 0 , ь — ^? •••»«' 1 • 4i-4i>0 Определение. Решением двухполюсника относи- тельно его выводов называется пара (£, ц), которая соот¬ ветствует некоторому решению системы. Ниже при дока¬ зательствах будет часто использоваться следующее свой¬ ство решений относительно пары выводов. Лемма Ж.1. Если (ц, х, £, г/, v) и (ц, х, I, у, v)— решения системы, то £г| = хт с — yTb + xTQx — vTx. Доказательство. Непосредственным вычислением, последовательно используя соотношения (Ж-1в), (Ж. 1а) и (Ж-16), находим £г] = — \гту = утАх — утЬ = хтс — yTb + xTQx — vTx. Прежде всего покажем, что совокупность решений системы относительно пары выводов обладает «свойством 189
монотонного возрастания», а именно, если g увеличивается, то т] не убывает, и наоборот. о о Лемма Ж-2. Пусть (Е, ц) и (Е, ц) — решения системы* относительно пары выводов. Тогда (1-1) (11-г|)>0. Доказательство. Пусть (г|, луд, у, v) и (ц, х, |, у, v) — любые решения системы (Ж. 1), соответствующие данным решениям относительно пары выводов. Применяя лемму Ж.1, получаем (1 — 1) (л —л) = ел + — 1г| — = = хтс + хтс — хтс — хтс + + УТЬ + утЬ - утЬ - утЬ + + xTQx + xTQx — xTQx — xTQx — — VTX — VTX + VTX -f VTX = = (x — x)T Q (x — x) -f vTx° + vTx > 0. Это выражение не меньше нуля, так как оно предста¬ вляет сумму положительно определенной формы и произ¬ ведений неотрицательных векторов. Далее покажем существование прямолинейных отрез¬ ков в плоскости, каждая точка которых представляет решение двухполюсника. В каждом решении (Ж.1) неко¬ торые компоненты х и некоторые компоненты v должны быть равны нулю, чтобы удовлетворялись условия допол¬ няющей нежесткости. Определим систему прямых пере¬ менных Р и систему двойственных переменных D так, что из того, что i не входит в Я, следует, что xt = 0; из того, что i не входит в D, следует, что vt = 0. Выбор Р и D допустим, если каждое i содержится в одном и только одном из Р и D. Лемма Ж-3. Пусть Р и D — допустимая пара систем прямых и двойственных переменных. Пусть, далее, S — совокупность всех решений относительно пары выводов, соответствующих решениям системы уравнений двухполюс¬ ника с наборами PhD. Тогда либо S пусто, либо S'- есть точка, либо S —отрезок прямой (быть может полу- бееконечный или бесконечный). 190
Доказательство. Пусть (£, ц) и (|, ц) — два различных элемента S и пусть (гр д% у, v) и (щ л', Г) О I/, ^—соответствующие решения (Ж-1) с наборами Р и D. Тогда прямой подстановкой в (Ж-1) убеждаемся, что " Л" Л л — о X X А' = (!—«) I + а У ..L'w У У .V - /о" также является таким решением при 0<а<1. Следова¬ тельно, все точки на прямолинейном отрезке, соединяю- о о щем (£, г|) и (£. л), представляют решения относительно пары выводов и принадлежат S. * * Пусть далее (£, ц) — какой-либо элемент S, отличный от (1, г]). Покажем, что эта точка лежит на прямой, _ о о проходящей через (£, rj) и (£, г|), а именно покажем, что (1-1) (л - л) = (1 -1) (л — л)- Это справедливо тогда, когда прямая, проходящая через _ * * (£> л) и (£> л)» параллельна прямой, проходящей через _ о о л) и (£» л)’ и> следовательно, совпадает с ней. Ис¬ пользуя тот же метод, что и в лемме (Ж-2), находим (£ -1) (л - л) = Ь' - xf Q (х - х) И (1 --1) (Л - л) = (-V - xf Q (х - -V). Так как правые части равенств одинаковы, лемма до¬ казана. Следующее свойство показывает, что существует един¬ ственная точка пересечения совокупности решений двух¬ полюсника и прямой, имеющей угол наклона —45°. 191
Лемма Ж-4. Если система (Ж-1) имеет решение, то для любого числа а существует единственное решение (£, г]) системы, удовлетворяющее условию т) + £ = <х. (Ж.2) Доказательство. Добавим это условие к системе уравнений двухполюсника и рассмотрим полученную систему Ах + = Ь, х>0, Агу — Qx + v = с, Л = — етУ, (Ж-3) v>0, = 0. Эти соотношения определяют задачу Лагранжа, свя¬ занную со следующей задачей квадратичного програм¬ мирования. Минимизировать -тг xTQx + Стх + Y I2 — а£ при условиях Ах + = 6, лг>0. По предположению, двухполюсник имеет некоторое ре¬ шение (т], Ху £, у, v). Если положить а = £> — ету, то (Л» Ху £, у, у) будет решением задачи Лагранжа (Ж-3) для этого значения а. Следовательно, (х9 £)—оптимальное решение задачи квадратичного программирования (Ж-4). Покажем, что целевая функция (Ж-4а) ограничена снизу на любом луче, точки которого удовлетворяют ограниче¬ ниям (Ж-46), независимо от величины а. Отсюда будет следовать, что (Ж-4) имеет оптимальный вектор при любом а, и, следовательно, (Ж-3) имеет решение при любом а. (Ж. 4а) (Ж-46) 192
Луч, точки которого подчиняются ограничениям"(Ж-4б)« описывается уравнениями х^х+'Кх, Х>0, 1 = \ + Ч где Ах “р = х>0, Ах + е\ = 0, х>0. Значение целевой функции (Ж-4а) на этом луче равно Ф (X) = (х -{- Хх) Q (х -\- Хх) (х — А/х) + ~d+x |)2-а(|+х|) = = ср (0) +1X2 (*TQ* +12) + я, (>Qx + сТх + if - at). Это выражение, очевидно, ограничено снизу, если коэффициент при А,2 строго положителен. С другой сто¬ роны, на луче, для которого коэффициент при А,2 равен нулю (что возможно лишь при 1=0), целевая функция имеет вид ф (X) = X (.xTQx + стх). Так как это выражение ограничено снизу при некото¬ ром а, оно должно быть ограничено снизу при любом а» Это доказывает существование решения (Ж-3) при любом а. Остается показать, что соответствующее решение относи¬ тельно пары выводов единственно. Предположим, что существуют два решения относи- о о _ тельно пары выводов (£, г\) и (£, г]), которые удовлетво¬ ряют (Ж-3) при одном и том же значении а. Из усло¬ вий (Ж.2) и леммы Ж-1 следует, что !|= — т)| + а|= —cTx-\-b1y — x'rQx + vTx + ai. Теперь рассмотрим выражение у (! -1)2 = - 112 + Y Ъ2 -15° + V2- (Ж-5) 1 /о 13 Дж. D. Деннис 193
Применяя полученное выше соотношение к последним двум членам, имеем 4- (I -1)2 = ф (*> I) — ф (А‘> I) - 4 (х ~ х^т ® и _ _ vTx- (Ж.6) о о — _ Так как оба вектора (х, £) и (х, £) должны быть опти¬ мальными решениями (Ж-4), то они соответствуют одному и тому же значению целевой функции. Другие члены в правой части не больше нуля. Левая часть не меньше _ о о нуля. Следовательно, | = £ и из (Ж. 2) следует, чтоц^гр Этот результат позволяет показать, что существует луч решений относительно пары выводов, направленный в сторону положительных значений координат, а также луч, направленный в сторону отрицательных значений координат. Лемма Ж.5. При некоторых допустимых PhD соответствующая совокупность решений относительно пары выводов представляет собой луч (£. л) = (I. л) + ч1. л). А'>°- где £<0, л<0 и по крайней мере либо £, либо г] отлич¬ но от нуля. Точно так же при некоторых допустимых Р и D соответствующая совокупность решений относительно * пары выводов представляет собой такой же луч с |>0, * * * tj>0, где по крайней мере либо £, либо ц отлично от нуля. Доказательство. Если бы все отрезки были ко¬ нечны, можно было бы выбрать достаточно большое по абсолютной величине отрицательное а так, чтобы о о а < ■£. +гц для всех /, и тогда не существовало бы решения относительно пары выводов, удовлетворяющего (Ж-2)- Наклон луча должен находиться в таких пределах, чтобы удовлетворялась лемма Ж-2. Если выбрать а положительным и доста¬ точно большим, становится очевидным и второе утвержде¬ ние. 194
В дальнейшем термин прямолинейный отрезок будет означать непустую совокупность решений относительно пары выводов (Ж-1) при некоторых допустимых Р и D. Прямолинейный отрезок может состоять всего лишь из одной точки. Предположим, что существует k систем Р и D, которым соответствуют свои прямолинейные отрезки. Начало и конец i-го прямолинейного отрезка о о _ будем обозначать через (EL, r}L) и (gif т].) соответственно, где + + rl i- Лемма /К.6. Прямолинейные отрезки, содержащие совокупность всех решений относительно пары выводов, могут быть представлены в виде последовательности Lj, L2, .. ., Ljo так что о о __ + i= 1. Доказательство. Выберем в качестве отрезок, направленный в сторону отрицательных г\ и (или) Считая, что заданы отрезки от до Lh, в качестве Li+1 выберем среди оставшихся отрезок с наименьшим значением 1 + 11. Тогда li*i + 4i+i>Ii + 4i, (Ж-7) так как ООО о Si + % < Si+l + + + 1 и если (Д.7) не было бы верно, то существовала бы точка на Д, для которой S + 'n = Si+i + 'Hi+i* о о Это противоречило бы лемме Ж-4 при а = Ei+i + тгц+г Последний отрезок Lk последовательности есть луч, на¬ правленный в сторону положительных £ и (или) rj. 13* 195
Теорема Ж-Е Совокупность всех решений системы уравнений двухполюсника относительно пары выводов представляет собой кривую критических состояний. Доказательство. В предыдущих леммах было показано, что совокупность всех решений относительно пары выводов есть последовательность прямолинейных отрезков с неотрицательными наклонами. Остается дока¬ зать, что эти отрезки образуют непрерывную кривую, т. е. _ о i = 1 k-\. (Ж. 8) Предположим, что это не так. Тогда для некоторого i соотношения (Ж-8) не выполняются. Лемма Ж-6 утвер¬ ждает, что li + 'Hi < li+i + 'Hi+r (Ж. 9) _ _ о Если (Ж-9) справедливо как равенство, то (|4, %) и rji+1) —два различных решения системы уравнений двух¬ полюсника с !i + T]i = « = ii+i+Tli+i. (Ж-10) что противоречит лемме Ж-4. Если (Ж-9) справедливо как строгое неравенство, то не существует конечных ре¬ шений, удовлетворяющих (Ж-Ю) с что также противоречит лемме Ж-4. В заключение рассмотрим два особых класса систем уравнений двухполюсника. Это, во-первых, класс двух¬ полюсников, матрица Q которых состоит из одних нулей. Покажем, что для этого класса двухполюсников соот¬ ветствующая кривая критических состояний состоит только из вертикальных и горизонтальных отрезков. Во-вторых, это класс, для которого Q и либо £>, либо с предпола¬ гаются равными нулю. В первом случае все вертикальные отрезки вырождаются в ось г); во втором случае все горизонтальные отрезки вырождаются в ось 196
Теорема Ж.2. Кривая критических состояний для системы уравнений двухполюсника состоит только из вертикальных и горизонтальных прямолинейных отрезков в том случае, когда матрица Q равна нулю. о о _ Доказательство. Пусть (£, rj) и (£, rj) — два ре¬ шения (Ж.1) относительно пары выводов, лежащие на одном отрезке (имеющие одни и те же системы прямых и двойственных активных переменных PhD), Из леммы Ж-1 при Q, равной нулю, следует (I — I) (Л - 1]) = (V - vf (х - Л-). Правая часть равна нулю, согласно условию дополняю¬ щей нежесткости. Следовательно, либо (1-1) > о, либо Сп — п) > О (но не одновременно). В первом случае отрезок гори¬ зонтален, во втором — вертикален. Теорема Ж.З. Кривая критических состояний си¬ стемы уравнений двухполюсника, в которой матрицы Q и Ь равны нулю, не содержит вертикальных отрезков, на которых I отлично от нуля; если Q и с равны нулю, кривая не содержит горизонтальных отрезков, на которых г] отлично от нуля. о Доказательство. Пусть (£, г|) и (£, т]) — два ре¬ шения (Ж-1) относительно пары выводов, лежащие на одном вертикальном отрезке (rj > г|). Тогда, используя лемму Ж-1 и полагая Q и b равными нулю, получаем £ Ol — т]) — УТЬ + У1b — vTx + vTx = 0. Следовательно, £ == 0, что и требовалось доказать. Второе утверждение доказывается таким же образом. В гл. 5 используется следующее предложение относи¬ тельно базисных решений системы уравнений двухполюс¬ ника. 1 97
Лемма Ж-7. Пусть z —базисное решение системы уравнений двухполюсника, в котором пара сопряженных о * переменных (хь, vb) берется в точке излома. Пусть г и г — единичные дифференциальные решения, связанные с базис- о * ным решением. Предположим, что хь > 0 и vb > О, о * vb = xb = °- Тогда о ^ * о Доказательство. Единичные дифференциальные о * решения гиг удовлетворяют системе уравнений двух¬ полюсника с нулевыми правыми частями. Используя лемму Ж-1, получаем
ПРИЛОЖЕНИЕ 3 Обобщенный метод движения по кривой критических состояний1) Разработанный в гл. 5 алгоритм решения, основанный на движении по кривой критических состояний системы уравнений двухполюсника, Ь (3.1) с О не применим в случае, когда в процессе вычисления для некоторого базисного решения в точке излома оказывается более одной пары сопряженных переменных. В этом при¬ ложении будет развита теория модифицированного метода, применимого во всех случаях. Для решения вырожденной задачи первоначальная система (3.1), определяющая кри¬ вую критических состояний, будет расширена таким образом, что слившиеся точки излома системы уравнений двухполюсника станут различными (обобщенная система). Каждая переменная хь первоначальной системы заменяется в обобщенной системе вектором ZL с т + п + 2 компонен¬ тами. Первая компонента вектора отождествляется с перво¬ начальной переменной. Подобным же образом каждый !) Методы, используемые в этом приложении, частично заим¬ ствованы у Вулфа [11]. I I г\ X I у V А е -Q АТ I 1 ет 199
элемент dt правой части [заменяется вектором [Dv Следо¬ вательно, первоначальная система заменяется системой где PZ = D О А е О О 0 -Q О Ат I 1 0 0 ет О D = ьт ст 0 I 0 0 0 I 0 0 0 1 (3.2) Z = \gXfYV]. Будет показано, что при использовании обобщенной си¬ стемы величина f+g строго возрастает при нахождении решения на каждом шаге движения по кривой критиче¬ ских состояний. Однако понятие возрастания имеет не обычный алгебраический, а особый смысл, определяемый ниже. Определение. Будем говорить, что вектор х боль¬ ше нуля в лексикографическом смысле, и писать * х >0, если х не равен нулю и его первая отличная от нуля компонента положительна. Будем говорить, что вектор х меньше нуля в лексикографическом смысле, и писать х < 0, если взятый с противоположным знаком он больше нуля в лексикографическом смысле. Соотношение х> у справедливо, если х — у> 0. Определение. Будем говорить, что квадратная матрица, представляющая «произведение» двух векторовх) А = хуТ, х) Здесь умножение векторов производится по правилам умноже¬ ния матриц: матрицы-столбца х и матрицы-строки у1.— Прим. ред. 200
больше нуля в лексикографическом смысле, и писать * л> о, если А не равна тождественно нулю и ар > о, где / — первая, отличная от нуля строка и /-первый, отличный от нуля столбец матрицы А. Следующее свой¬ ство является очевидным следствием этих определений. * Свойство 3.1. Соотношение хут > 0 справедливо в том и только в том случае, если * * * * х > 0, у > 0 или х < 0, у < 0. Требование неотрицательности переменных xi и vL первоначальной системы заменяется требованием Х*>0, У,>0 для обобщенной системы. Условие дополняющей не¬ жесткости хррг = 0 для всех / заменяется условием X^Vji = 0 для всех i и /, т. е. каждая компонента новой векторной переменной должна удовлетворять такому же условию, что и пере- менная первоначальной системы. Очевидно, что если некоторая матрица Z есть решение обобщенной системы, то первые составляющие столбцов матрицы Z являются решением первоначальной системы уравнений двухполюсника. Далее, определим понятие базиса для обобщенной системы. Определение. Базисным решением обобщенной системы называется решение Z, в котором п + 1 столб¬ цов, соответствующих X и У, равны тождественно нулю, m + п + 1 столбцов матрицы Р, соответствующих осталь¬ ным столбцам1) матрицы Z, образуют базис, связанный с базисным решением. Базис всегда должен содержать столбцы матрицы Р, соответствующие векторам / и g* и столбцам У. х) Среди этих ш + 1 столбцов в вырожденных случаях могут быть нулевые. 14 Дж. Б. Деннис 201
Следующее свойство базиса обобщенной системы является наиболее важным для дальнейшего изложения. Лемма 3.1. Пусть Pt (где / £ В) — базисные векторы, соответствующие некоторому базисному решению Z. Тогда эти векторы линейно независимы и Доказательство. Векторы базиса Р{ (i £ В) обра¬ зуют квадратную матрицу R размера (т + п + 1) X Х{т + п + 1). Соответствующие столбцы матрицы Z обра¬ зуют матрицу W размера (т + п + 2) х (т + п + 1), так что Матрица D построена так, чтобы ее ранг равнялся т + п+ 1. Следовательно, ранг матриц R и W равняется т + п+1. В отношении матрицы R это означает линейную независимость ее столбцов; в отношении матрицы W это означает, что ни один из ее столбцов не равен тождест¬ венно нулю. Таким образом, каждая векторная переменная, свя¬ занная с базисным вектором некоторого базисного реше¬ ния, не равна тождественно нулю. С другой стороны, в силу условия дополняющей нежесткости в каждой паре сопряженных переменных одна из них равна тождест¬ венно нулю для каждого решения. Так как в базисном решении п + 1 векторов Хх и Vt равны нулю, то для одной пары сопряженных переменных Xt = 0 и \Л=0. Остальные Хг и 1Л соответствуют базисным векторам и в силу доказанной леммы не равны нулю. Определение. Для некоторого базисного решения пара сопряженных переменных (Xb, Vb) находится в точке излома, если Хь = 0 и Vb’-= 0. Так как базисные векторы линейно независимы и обра¬ зуют квадратную матрицу, то существует обратная ей матрица. Строку обратной матрицы, соответствующую базисному столбцу Pv представим в виде вектора-столб- ца S-. Следовательно, Z4>0, igB. •И 0 O' RWT = DT= с 0 I 0 0 0 0 1 202
так как умножение матрицы на обратную ей матрицу дает тождественную единичную матрицу. В трех нижеследующих теоремах показывается, что если дано некоторое базисное решение обобщенной системы, можно либо построить новое базисное решение с возрос¬ шим значением f + g, либо существует класс решений, для которого величина f + g неограниченно возрастает. Суще¬ ствование класса решений, для которого величина f-\-g возрастает, и класса решений, для которого величина f + g уменьшается, доказывается в теоремах 3.1 и 3.2. в качестве предварительного результата, необходимого для доказательства теоремы 3.3, где получен основной резуль¬ тат. Теорема 3.1. Пусть Z —базисное решение обобщен¬ ной системы, для которого пара сопряженных перемен¬ ных (Хь, Vb) находится в точке излома. Тогда можно * построить класс решений Z(/z), для которого Хъ (К) > О * * * при h > 0, и класс Z (k), для которого Vb (k) > 0 при k > 0. Доказательство. Пусть Pt (i £ В) — базис, связан¬ ный с Z, и Si(i^B) — строки матрицы, обратной базисной. Предположим, что Рг —столбец матрицы Р, связанный с векторной переменной ХЪ.РГ не входит в базис, но может быть выражен через линейно независимые базисные векторы Pr= s (Sjp^p,. i£B Так как Z базисное решение, ie в Тогда S P.zJ-py + PA^D1', или 'ZPi[Zi-(SfPr)h)T + PrhT = DT. Поэтому для остальных i 14* 203
есть решение обобщенной системы при А> 0, если выпол- гр ♦ няется (SiPr)A<Zi для всех i£B, соответствующих век¬ торным переменным, содержащимся в X или V. Подобным же образом пусть Ps — столбец матрицы Р, связанный с векторной переменной Vb. Ps не входит в базис, но, как и раньше, р,= 2 (sJpjp, г £ В И ( z^isJpjk ieB Zi ik) = | k i = s 1 0 для остальных i * есть решение обобщенной системы при &>0, если {sjpjkkZi. При доказательстве следующей теоремы будут использо¬ ваны два предварительных предложения. Лемма 3.2. Пусть Z —базисное решение обобщенной системы уравнений двухполюсника, в котором пара сопря¬ женных векторных переменных (Xb, Vb) находится в точке излома. Пусть далее Z = Z (A), h > О и Z = Z (А), А > О два класса решений, построенных в теореме 3.1. Тогда * _ * гг * (f-f)(g-g)T> о И О _ О — гр * (f-f)(g-g)T> о. Доказательство. Очевидно, что разность любых двух решений обобщенной системы является решением системы с правыми частями, равными нулю Л(Х-Х)т + а(/-/)г=0, -<3(Х-Х)Т + ЛТ(Г-7)Т+(У-К)Т = 0, (g-g)T + eT(£-F)T = 0. 204
Умножив левые части этих соотношений соответственно * — * — * _ на (У —У), (Х — Х) и (f — f) и комбинируя полученные выражения, получим — 'i’ — гр ^ •fc — гр И* Гр ГГ1 г =(/-/) (g-g)T=(X-X)Q(X-X)T + XVT + Xl/T (i, /)-й элемент квадратной матрицы Т равен ^ гг> гг) ^ ГГ) ГГ) ГГ) ГГ) ■sf- гг) ГГ) ГГ) Та = [(X -Xf]jQ[(X -Х)ТЬ- + (ХТ)Г (VTh + (XT)J (VT)i: Из условий дополняющей нежесткости следует, что последние два члена равны нулю. (Единственная векторная переменная, которая может равняться нулю в Z и не рав- * * о няться нулю в Z, есть Vb. Но Xb(h) равно нулю.) Следо¬ вательно, матрица Т — симметрическая, так как Q — сим¬ метрическая. Пусть г —индекс первой не равной нулю строки матрицы Т (предполагаем, что Т не равно нулю). Тогда г также индекс первого не равного нулю столбца и Тгг Ф 0. Таким образом, Т„ = [{X - Xf)J Q [(X - Х)т]г > 0, так как Q —матрица коэффициентов неотрицательно опре¬ деленной квадратичной формы. Поэтому Тгт > 0, и так как Т есть произведение двух векторов, из свойства 3.1 следует, что V — ^ гр ^ T = (f-f)(g-g)T> 0. Таким же образом доказывается второе утверждение. Лемма 3.3. Пусть Z —базисное решение обобщенной системы уравнений двухполюсника, и пусть Z = Z(h), h> 0 и Z = Z(fe), k>0 два класса решений, построенных в теореме 3.1. Тогда ^ О гр ^ О — гр (/-/) (g-g)T>(g-g)(f-f)T- Доказательство. Пусть Ь — индекс пары сопря¬ женных переменных, находящихся в точке излома при 205
базисном решении Z. Тогда Vb = 0 и Хъ = 0, в то время как Хъ = h > 0 и Vb = k>0. Методом, подобным использованному при доказатель¬ стве леммы 3.2, находим — О гг) ^ О — гр (f-f)(g-g)T-(g-g)(f-f)T = О гр О гр гр О гр Гр = (X-X)Q(X -Х)т- XVT + XVT + XVT-XVT- О ■ Гр *** ^ гр О гр Рк гр , гр - (X - X) Q (X - Х)т + vxr - vxT - vxT + vxT = ♦ О rp Sf! гр О гр ♦ О гр — О гр ■X' гр = - xvT+xvT+xvT+VXT - VXT - VXT. Далее Xl/T = 0, VXT = 0, о так как в V и в V не равны нулю одни и те же столбцы, о о и единственный новый, не равный нулю столбец в X естъХъ. о Но было принято, что Vb = 0. Таким же образом получаем •к —гр ♦—гр vxT = o, xvT = o и * о гр xvT=o. С другой стороны, О гр О гр гр VXT = VbXl =khT. Таким образом, ♦ — О — гр ♦ •— О — rpt ер ^ (/- f) (g - gf - (g - g) (/~ f)1 = khT > 0, что доказывает лемму. Теорема 3.2. При заданных базисном решении Z о * обобщенной системы и двух классах решений Z (h) и Z (k), построенных в теореме 3.1, для одного из этих классов f(h) + g(h)<f + g, h> 0 и для другого / (&) + g W £ > 0. 206
Доказательство. Согласно доказательству тео¬ ремы 3.1, имеем °f(h) = f + ah, а = SjPr, g{h) = g + fih, P = Sj/>r, f\k) = f + ak, a = SjPt, g(k) = g+k, f = SjP,. В этих обозначениях утверждение леммы 3.2 запишется следующим образом: аЛрАт>0, откуда оф>0 (3.3) и ak$kT > 0, откуда сф>0. (3.4) Аналогично запишется утверждение леммы 3.3 ♦ О —1 sf: Н* о гр afep/г > fikati, откуда следует a[J > Р а. (3.5) о о Согласно этим соотношениям, а и р не равны одновременно * * нулю; то же справедливо для а и р. Следовательно, для каждого из двух классов решений обобщенной системы величина f + g либо возрастает, либо уменьшается, но не остается постоянной. Предположим, что f + g>f + g при h > 0, (3.6) и покажем, что *f + *g<f + g при 6 > 0. (3.7) 207
Из соотношения (3.6) следует, что а + р>0. Если * * предположить, что a-fP>0, то получим противоречие. Рассмотрим произведение * О * О ,р T = (f-f) (g-g)r> * которое, согласно лемме 3.2, должно быть >0. Непосред¬ ственной подстановкой получаем T = (ak-ah)($k-$h)T. * Возьмем некоторое достаточно малое h > 0 и выберем * к > 0, такое, что k = тг—sr h =.t > 0. a+p a + p Тогда *o о* * о о* rp Т = (сф — a(3) (pa — Pa) it * и из соотношения (3.5) следует, что Т < 0, что противо¬ речит лемме 3.2. Следовательно, чтобы удовлетворялись (3.4) и (3.5), * * должно выполняться соотношение a-fp<0, откуда сразу же следует (3.7). Аналогично, полагая f+g<f+g при h>°> получаем Ж * ♦ _ * f + g>f + g при k > 0. Теорема 3.3. Пусть Z —базисное решение обобщен- ной системы, в котором пара сопряженных переменных (Хъ, Vb) находится в точке излома. Тогда можно построить о либо единственное базисное решение Z, для которого f+g>f+g, 208
либо бесконечный класс решений Z(t), для которых f(t)+g(t)>f + g при всех f>0. Доказательство. Согласно теореме 3.1, можно построить два класса решений обобщенной системы, а из теоремы 3.2 следует, что / (0 + g (0 строго возрастает в одном из них. Применяя обозначения, использованные при доказательстве теоремы 3.Г, при¬ мем, что ( Zi-(SjPr)t /6 в Zi(t)= / i = r \ 0 для остальных i представляет именно тот класс, для которого f(t) + g(t)>f + g при / > 0. Если SjPr < 0 для всех i £ В, соответствующих столб- * цам X или V, то Z(t) — решение системы для всех t> 0. Если это не так, то пусть R — множество всех индек¬ сов /, таких, что Р{ — столбец матрицы Рх или Ру, вхо¬ дящей в базис, и для которого SjPr > 0. Таким образом, R определяет, какие из столбцов Z должны быть не отри¬ цательными и убывают с возрастанием t. Далее, выберем s так, чтобы * 1 — * I — t = —^— Z < —тр— Z,, i £ Р, i Ф s. SjPr sjPr 1 Должно существовать единственное s, удовлетворяющее этому соотношению, так как если бы два вектора были одинаковыми, соответствующие Zi были бы пропор¬ циональны. Тогда матрицы Z не имели бы ранг m-j-n-j- 1, что противоречит лемме ЗА. 209
При этом значении s имеем для Z = Z(t) * Z, = о, * я» * zr = t > о, * * и каждый из остальных базисных столбцов X и V строго * больше нуля. Следовательно, Z— новое базисное решение, в котором Рг входит в базис, a Ps — нет, и •f* 5fS Jfc f+g>f+g■ На основании этих результатов можно сформулировать правила, позволяющие устранить трудность, которая воз¬ никает в случае вырождения при использовании метода движения по кривой критических состояний. Нетрудно показать, что последовательность базисов и соответствую¬ щих базисных решений может быть вычислена по тем же рекуррентным формулам, которые приведены в гл. 5. При этом на каждом данном шаге следует выбрать вектор, который надлежит исключить из базиса. Оказывается, что достаточную информацию для этого выбора можно полу¬ чить из базисного решения необобщенной системы (3.1). Задача заключается в отыскании такого s, что при заданных базисном решении Z обобщенной системы и векторе Рг, который должен быть введен в базис, < “FT Zi’ l' s € R’ 1ф s• (3-8) Это может быть сделано последовательной проверкой ком¬ понент векторного соотношения (3.8) до тех пор, пока единственное s не будет определено. Первые компоненты Z{ совпадают с соответствующими базисными решениями необобщенной системы. Непосредственной подстановкой в обобщенную систему уравнений двухполюсника можно показать, что для остальных компонент Z{ выполняется равенство 2 Pizu = Ej-v / = 2, 3, ..., т-\-п-f 2, i£B где Ej — единичный вектор, у которого /-я составляющая равна единице, а остальные — нулю. Таким образом, вели¬ 210
чины Zj{ при j > 1 представляют коэффициенты разложе¬ ния единичного вектора по базисным векторам. Следова¬ тельно, эти величины являются элементами матрицы, обрат¬ ной базисной zd = si, i-v 16 В, j = 2, 3, . .., т + п + 2. Таким образом, величины z-bj находятся из матрицы, обратной базисной, которая вычисляется в процессе дви¬ жения по кривой критических состояний необобщенной системы уравнений двухполюсника. Операции, необходимые для определения вектора Ps, который исключается из базиса, детально разработаны в гл. 5.
ЛИТЕРАТУРА 1. Arrow К. J., Н u г w i с z L., and U z a w a H., Studies in Linear and Non-Linear Programming, Stanford University Press, Part II, 1958. 2. В ochF., CameronS., Allocation of Network Traffic Demand by Instant Determination of Optimum Paths, Armour Research Foundation Technology Center, Chicago, 1958. 3. В о о t h A. D., An Application of the Method of Steepest Descent to the Solution of Systems of Non-Linear Simultaneous Equa¬ tions, Quarterly J. of Mechanics and Applied Mathematics, 2, 460—468 (1949). 4. Charnes A., Degeneracy and Optimality in Linear Program¬ ming, Econometrica, 20, № 2, pp. 160—170 (1952). 5. Курант P., Гильберт Д., Методы математической физики, т. 1, ГИТТЛ, М.—Л., 1951. 6. Курант Р., Гильберт Д., Методы математической физики, т. 2, ГИТТЛ, 1951. 7. Crockett J. В., Chernoff Н., Gradient Methods of Maximization, Pacific J. of Mathematics, 5, pp. 33—50 (1955). 81 Curry H. B., The Method of Steepest Descent for Non-Linear Minimization Problems, Quarterly of Applied Mathematics, 2, pp. 258—261 (1949). 9. D a n t z i g G. B., Maximization of a Linear Function of Variab¬ les Subject to Linear Inequalities, Activity Analysis of Produc¬ tion and Allocation, T. Koopmans, Ed.. Wiley, N. Y., Chap. 21, 1951. 10. Данциг Дж., Форд Л., Фулкерсон Д., Алгорифм для одновременного решения прямой и двойственной задач линейного программирования, см. сб. «Линейные неравенства и смежные вопросы», ИЛ, 1959. 212
11. D a n t z i g G. В., О г d e n A., W о 1 Ге P., The Generalized Simplex Method for Minimizing a Linear Form under Linear Inequality Restraints, Pacific J. of Mathematics, 5, 183—195 (1955). 12. Dorn W. S., Duality in Quadratic Programming, AEG Com¬ puting and Applied Mathematics Center, N. Y. University, 1958. 13. Feder D. P., Solution of Nonlinear Equations, Wayne State University Computation Laboratory Summer Program, July 1956. 14. F e n с h e 1 W., Convex Cones, Sets and Functions, Office of Naval Research Logistics Project Report, Department of Mathe¬ matics, Princeton University, 1953. 15. F о r d L. R., Fulkerson D. R., Solving the Transporta¬ tion Problem, Management Science, 3, 1 (1956). 16. Frank М., W о 1 f e P., An Algorithm for Quadratic Program¬ ming, Naval Research Logistics Quarterly, 3, № 1, 2, pp. 95— 110 (1956). 17. Hildreth C., A Quadratic Programming Procedure, Naval Research Logistics Quarterly, 4, № 1, pp. 79—85 (1957). 18. H i t с h с о с к F. L., The Distribution of a Product from Several Sources to Numerous Locations, J. of Mathematics and Physics, 20, pp. 224—230 (1941). 19. J e w e 1 1 V/. S., Optimal Flow Through Networks, Interim Technical Report N° 8, MIT Project Fundamental Investigations in Methods of Operations Research, 1958. 20. Klein B., Direct Use of Extremal Principles in Solving Certain Optimizing Problems involving Inequalities, J. of the Operations Research Society of America, 3, 2, 168—175 (1955). 21. Kuhn H. W., Tucker A. W., Nonlinear Programming, Proceedings of the Second Berkeley Symposium on Mathema¬ tical Statistics and Probability, pp. 481—492, 1951. 22. L e m к e С. E., The Dual Method of Solving the Linear Programming Problem, Naval Research Logistics Quarterly, 1, N° 1, pp. 36—47 (1954). 23. Markowitz H., The Optimization of a Quadratic Function Subject to Linear Constraints, Naval Research Logistics Quar¬ terly, 3, No 1, 2, pp. 111—133 (1956). 24. Maxwell J. C., A Treatise on Electricity and Magnetism, Clarendon Press, Oxford, pp. 336—337, 1873. 25. M i n t у G. J., On Monotone Networks, presented to the RAND Symposium on Mathematical Programming, March 1959. 213
26. Р г a g е г W., Numerical Solution of the Generalized Transporta. tion Problem, Naval Research Logistics Quarterly, 4, № 3, pp. 253—261 (1957). 27. Танкер А., Двойственные системы однородных линейных неравенств, сб. «Линейные неравенства и смежные вопросы», ИЛ, 1959. 28. W е i n b е г g L., Kirchoff’s Third and Fourth Laws, IRE Trans- actions on Circuit Theory, CT-5, 1, 8—30 (1958). 29. Wolfe P., The Simplex Method for Quadratic Programming, Rand Report P-1205, Santa Monica, California, 1957. 30. Z о u t e n d i j k G., Maximizing a Function Subject to Linear Constraints, presented at St. Andrew’s Conference on Mathematical Statistics, August 1958; см. также Journal o| the Royal Statistical Society.
СОДЕРЖАНИЕ Предисловие к русскому изданию 5 Глава 1. Новая точка зрения на математическое програм¬ мирование 9 Глава 2. Сущность задач программирования 15 Глава 3. Свойства электрических цепей, содержащих диоды, и эквивалентные формулировки для этих цепей 38 Глава 4. Алгоритм построения электрических моделей за¬ дач распределения потока в цепи 57 Глава 5. Движение по кривой критических состояний ... 95 Глава 6. Применение метода движения по кривой крити¬ ческих состояний к общим задачам линейного и квадра¬ тичного программирования 114 Глава 7. Применение квадратичного программирования к общей задаче программирования 131 Приложение А. Элементы геометрии в эвклидовом про¬ странстве 145 Приложение Б. Основная теорема теории линейных не¬ равенств 151 Приложение В. Общая теория программирования . . . 159 Приложение Г. Основные теоремы квадратичного про¬ граммирования 167 Приложение Д. Некоторые свойства выпуклых функций 177 Приложение Е. Соотношения двойственности выпуклого программирования 182 Приложение Ж. Свойства решений двухполюсника . . . 188 Приложение 3. Обобщенный метод движения по кривой критических состояний 199 Литература 212
Д ж. Б. Д енни с МАТЕМАТИЧЕСКОЕ ПРОГРАММИРОВАНИЕ И ЭЛЕКТРИЧЕСКИЕ ЦЕПИ Редактор Л. Я, Якименко Художник С. Я. Чихирьян Технический редактор А. Д. Хомяков Сдано в производство 7/II 1961 г. Подписано к печати 30/VI 1961 г. Бумага 84х 1081/32=3,4 бум. л. 11,1 печ. л. Уч.-изд. л. 9,0. Изд. № 20/0226 Цена 78 к. Зак. 887 ИЗДАТЕЛЬСТВО ИНОСТРАННОЙ ЛИТЕРАТУРЫ Москва, 1-й Рижский пер., 2 Московская типография № 5 Мосгорсовнархоза. Москва, Трехпрудный пер., 9
78т.