/
Текст
С. А. АШМАНОВ ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ Допущено Министерством высшего и среднего специального образования СССР в качестве учебного пособия для студентов вузов обучающихся по специальности «Прикладная математика» МОСКВА «НАУКА» ГЛАВНАЯ РЕДАКЦИЯ ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ 1 0 8 t
22.18 ' A 98 УДК 519.6 Линейное программирование. Ашманов С. А.— М.: Наука. Главная редакция физико-математической литературы, 1981.— 340 с. В книге излагаются основные разделы теории и численные ме- методы решения задач линейного программирования. Значительное место уделяется качественному исследованию свойств содержатель- содержательных моделей методами линейного программирования. Основной материал сопровождается упражнениями теоретического характера. Табл. 19. Илл. 35. Библ. 28 назв. Станислав Александрович Ашманов ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ Редакторы А. Д. Вайпгитейн, Е. ГО. Ходап. Техн. редактор С. Я. Шкляр. Корректоры О. Н. Бутусова, О. М. Иривепко. ИБ W. 11858 Сдано в набор, 31.12.80. Подписано к печати 12 06.81. Формат 84х108'/за. Бу- Бумага тип. Кг '3. Обыкновенная гарнитура. Высокая печать Условн. печ. л. 15,96. Уч.-изд. л. 16,5. Тираж 44 000 экз. Заказ J41 410. Цена 70 коп. Издательство «Наука» Главная редакция физико-математической литературы 117071, Москва, В-71, Ленинский проспект, 15 4-я типография изд-ва «Наука». 630077, Новосибирск, 77, Станиславского, 25. /?" Издательство «Наука». 20204 — 080 , 0| icnnnnnnnn Главная редакция 1-81,1502000000, физико-математической 053@2)-81 . литературы, 1981
ОГЛАВЛЕНИЕ Предисловие -. • 5 Глава I. Линейные модели , 9 § 1. Линейное программирование — инструмент исследо- исследования линейных моделей • 9 § 2. Примеры линейных моделей 10 § 3. Различные формы задач линейного программирова- программирования и их аквивалептность 28 § 4. Проблема отыскания численного решения задачи линейного программирования 35 Г л а в а II, Выпуклые многогранники и линейные неравенства 38 § 1. Геометрическая интерпретация задач линейного про- программирования 38 § 2. Выпуклые множества и теоремы о разделяющей ги- перпЛоскости . , ' .41 § 3, Многогранные выпуклые множестпа 52 § 4. Структура допустимых множеств задач линейного программирования 63 § 5, Эквивалентность двух определений выпуклого много- многогранного множества 74 § 6. Линейные неравенства 7,8 Упражнения. ...'..., 81 Глава III. Теория двойственности 83 § 1, Двойственная задача линейного программирования '83 § 2. Теорема двойственности 87 § 3, Короткое доказательство теоремы двойственности 95. § 4. Строение множества решений задачи линейного про- программирования 97 § 5. Интерпретация двойственных оценок и дифференци- дифференциальные свойства функции значений 100 Уиражнения 113 Глава IV. Применения теории двойственности . . , . 116 § 1. Основная теорема о матричных играх 116 § 2. О проблеме существования ядра в кооперативной иг- игре п лиц 126 § 3. Свойства неотрицательных матриц . , . , 136 § 4. Эффект замещения в обобщенной модели Леонтьева 141 § 5. Теорема о магистрали для динамической модели цланирования . 146 § 6. Принцип максимума для дискретных линейных за- задач оптимального управления 152 Упражнения '...,• 157 3
Глава V. Теория спмплекс-метода ........ 158 § 1. Метод исключения Жордана — Гаусса для систем ли- линейных уравнений 158 § 2. Опорные планы 161 § 3. Симплекс-метод для невырожденной задачи линей- линейного программирования 167 § 4. Вырожденные задачи Линейного программирования 178 § 5. Нахождение начального опорного плана .... 181 § 6. Иллюстративный пример численного решения задачи линейного программирования . 186 § 7. Модифицированный симплекс-метод 191 Упражнения • 193 Глава VI. Двойственный симплекс-метод ..... 195 § 1. Псевдопланы и правила двойственного симплекс-ме- симплекс-метода , 195 § 2. Применение двойствянного симплекс-метода к задаче с дополнительным ограничением ..;... 201 § 3. Симплексная таблица в координатной форме . . . 203 § 4. Двойственный симплекс-метод в координатной форме 207 § 5. Нахождение начального псевдоплана .... 209 § 0. Лексикографическая задача линейного проограмми- рования 212 Глава VII. Специальные задачи линейного программиро- программирования 217 § 1. Транспортная задача и транспортные сети . . . 217 § 2. Нахождение начального опорпого плана транспорт- транспортной задачи методом северо-аападного угла . . . 222 § 3. Опорные планы транспортной задачи и вырожден- вырожденность ... . ... 226 § 4. Метод потенциалов решения транспортной задачи 231 § 5. Целочисленные задачи линейного программирования 239 § 6. Метод отсечения для целочисленных задач линейного программирования . . . . . . 245 § 7. Первый алгоритм Гомори для целочисленных задач линейного программирования 248 § 8. Блочное программирование 264 Глава VIII. Метод регуляризации неустойчивых задач ли- линейного программирования . . . 271 § 1. Понятие устойчивости задач линейного программи- программирования . . . . . . . 271 § 2. Параметрические системы линейных неравенств . 273 § 3. Необходимые и достаточные условия устойчивости задач линейного программирования 278 § 4. Регуляризация неустойчивых задач 284 Добавление О новом методе решения задач линейного программирования 287 Разбор упражнений" 291 Литература 301 Предметный указатель , 303
ПРЕДИСЛОВИЕ Данная книга представляет собой учебное пособие по линейному программированию, рассчитанное на студентов и аспирантов высших учебных заведений по специально- специальностям математика, прикладная математика, экономическая кибернетика, а также на инженеров, пользующихся мате- математическим моделированием как средством исследования реальных процессов. Изучение свойств систем линейных неравенств ведет- ведется, по-видимому, очень давно. Выделение класса экстре- экстремальных задач, определяемых линейным функционалом на множестве, задаваемом линейными ограничениями, сле- следует отнести к 30-м годам нашего столетия. Одними из первых, исследовавшими в общей форме задачи линейного программирования, были: Джон фон Нейман, знаменитый математик и физик, доказавший основную теорему о мат- матричных играх и изучивший экономическую модель, нося- носящую его имя; советский академик, лауреат Нобелевской премии Л. В. Канторович, сформулировавший ряд задач линейного программирования и предложивший метод их решения, незначительно отличающийся от симплекс-ме- симплекс-метода. Публикации основных его работ помешала война, и книга вышла в свет только в 1959 г. , Первая постановка транспортной задачи предложена в 1930 г. советским ученым А. Н. Толстым. М. К. Гаву- рин вместе с Л. В. Канторовичем разрабатывал методы решения задач линейного программирования. В годы вой- войны пробудился интерес к задачам линейного программи- программирования в США. Симплекс-метод разработан Дж. Данци- 5
гом при дальнейшем' участии А. Чарнса, Л. Форда а Д. Фалкерсона. Теорема двойственности доказана Д. Гей- лом, Г. У. Куном и А. У. Танкером на основе идей Дж. фон Неймана. Накопленный опыт применения линейного программи- программирования показывает, что наряду с разработкой эффектив- эффективных вычислительных приемов решения линейных задач все большую роль приобретают качественные методы ис- исследования свойств задач линейного программирования. В связи с этим в книге уделяется несколько большее вни- внимание данному вопросу, чем обычно. Книга состоит из восьми глав. Глава I носит вводный характер. В ней обсуждаются, некоторые общие вопросы моделирования, рассматрива- рассматриваются примеры содержательных проблем, приводящих к задачам линейного? программирования. Поначалу на при- примерах подробно описывается методика формализации содержательных задач, что позволяет читателю освоиться с переходом к векторно-мат"ричвым обозначениям. При обсуждении формализованных моделей обращается вни- внимание не только на их достоинства, но и на ограничен- ограниченность, что должно предостеречь читателя от абсолютиза- абсолютизации математических выводов и рекомендаций. Глава II посвящена теории выпуклых многогранных множеств. По этому поводу скажем, что хотя изложения двойственности и симплекс-метода при желании можно провести, не опираясь на указанную теорию, все же, по нашему мнению, глубокое понимание свойств задач ли- линейного программирования невозможно без знания струк- структуры многогранных множеств. Автор приложил максимум усилий, чтобы сделать материал главы доступным. Основ- Основные понятия и факты иллюстрируются примерами и ри- рисунками, позволяющими осознать на геометрическом наглядном материале (в основном на плоскости, реже в трехмерном пространстве) основные идеи. Предваритель- Предварительное обсуждение каждого факта делает его интуитивно очевидным, так что в ряде случаев (их немного) читатель,
не привыкший к абстрактным математическим доказатель- доказательствам, может опустить их без ущерба для понимания существа дела. В главе-IIT формулируется и доказывается основной результат — теоремы двойственности в линейном програм- программировании. Глава IV представляет собой раздел, в котором прово- проводится качественный анализ решений некоторых из содер- содержательных моделей и указываются другие сферы приме- применения теории двойственности. Так, здесь доказывается теорема о магистрали в динамической модели Леонтьева с обсуждением содержательного смысла этого важного результата, теорема о замещении в динамической модели межотраслевого баланса. Наряду с классическим приме- примером использования теории двойственности — доказатель- доказательством теоремы фон Неймана о матричных играх,— приве- приведены факты о свойствах мпожества решений в играх п лиц, причем использование теории двойственности делает все доказательства здесь особенно простыми. Отметим также доказательство теоремы Фробепиуса — Перрона о свойствах неотрицательных матриц. Доказывается дис- дискретный принцип максимума для линейных задач. В главе V излагается симнлокс-метод численного реше- решения вадач линейного программирования. Глава VI преследует цель подготовить читателя к при- применению симплекс-метода для исследования целочислен- целочисленных задач линейного программирования. Здесь описыва- описывается иной способ организации числовой информации — так называемая симплексная таблица в координатной форме. На этой основе излагается метод решения лексикографи- лексикографических задач линейного программирования, что затем также используется при обосновании алгоритма Гомори решения целочисленных задач. Глава VII предназначена продемонстрировать, как преобразуется основная вычислительная схема симплекс- метода при решении специфических классов задач. Основ- Основным примером служит классическая транспортная вадача. 7
После теоретического рассмотрения несложной теории транспортных сетей показано, как симплексный вычисли- вычислительный алгоритм в данном случае сводится к выполне- выполнению ряда логических операций по поиску циклов в сети. Большой раздел посвящен целочисленным задачам линей- линейного программирования с изложением содержательных моделей (задача о коммивояжере, задача о ранце и т. п.). Последняя глава VIII дает понятие о трудностях, воз- возникающих в связи с возможной некорректностью задачи линейного программирования. Обсуждается вопрос о важ- важности этого момента, ввиду приближенности любой стати- статистической информации к реальной задаче. Приводятся методы регуляризации подобных задач, основанные на идеях А. Н. Тихонова. Весь материал сопровождается упражнениями. Автор приносит благодарность всему коллективу ка- кафедры исследования операций Московского государствен- государственного университета, принимавшему активное участие в работе над книгой. С. А. Ашманов
ГЛАВА I. ЛИНЕЙНЫЕ МОДЕЛИ § 1. Линейное программирование — инструмент исследования линейных моделей Линейное программирование является составной ча- частью раздела математики, который изучает методы нахож- нахождения условного экстремума функций многих переменных и называется математическим программированием. В клас- классическом математическом анализе рассматривается задача отыскания условного экстремума функции. Тем не ме- менее, время показало, что для многих задач, возникающих под влиянием запросов практики, классические методы недостаточны. В связи с развитием техники, ростом про- промышленного производства и с появлением электронных вычислительных машин все большую роль начали играть задачи отыскания оптимальных решений в различных сферах человеческой деятельности. Основным инструмен- инструментом при решении этих задач стало математическое моде- моделирование — формальное описание изучаемого явления и исследование с помощью математического аппарата. Остановимся на некоторых основных проблемах моде- моделирования. Всякая модель реального процесса предпола- предполагает идеализацию и абстракцию; следует в той или иной степени упростить постановку задачи и отвлечься от ее специфики. Когда в школьном учебнике рассматривается задача о том, как поезд движется из пункта А в пункт Б, то уже такая несложная модель иллюстрирует сказанное. В самом деле, если предполагается, что поезд движется с постоянной скоростью, то это есть идеализация; подоб- подобного в жизни почти не бывает. Вместе с тем, решая зада- задачу, школьник абстрагируется от ее содержания: если в следующий раз ему встретится не поезд, а автомобиль, он применит тот же способ решения, пё смещаясь разницей между средствами передвижения. Идеализация и абстракция не должны уходить слиш- слишком далеко от содержания задачи, чтобы построенная мо- 9
дель не утратила существенных черт моделируемого объекта, т. е. была ему адекватна. С другой стороны, если построить сложную модель, учитывающую все тончайшие особенности изучаемого процесса, то это может нарушить смысл моделирования, одна из целей которого — упрос- упростить постановку задачи, чтобы легче было ее исследовать (слишком сложвая модель, как ' правило, не поддается анализу). Искусство математического моделирования (и моделирования вообще) состоит в том, чтобы учесть как можно больше факторов по возможности простыми сред- средствами. Именно в "силу этого процесс моделирования часто носит итеративный характер. На первой стадии строится относительно простая модель и проводится ее исследова- исследование, позволяющее понять, какие из существенных свойств изучаемого объекта пе улавливаются данной формальной схемой. Затем происходит уточнение, усложнение модели. В большом' числе случаев первой степенью приближе- приближения к реальности является модель, в которой все зависи- зависимости между переменными, характеризующими состояние объекта, предполагаются линейными. Здесь имеется 'пол- 'полная аналогия с тем, как весьма важная и зачастую ис- исчерпывающая информация о поведении произвольной функции получается на основе изучения ее производ- производной — происходит замена этой функции в окрестности каждой точки линейной зависимостью. Значительное коли- количество экономических, технических и других процессов достаточпо хорошо и полно описывается линейными мо- моделями. Сказанным определяется важность той роли, которую играет липейное программирование — метод отыскания условного экстремума линейной функции на множестве, заданном при помощи линейных соотношений типа ра- равенств и неравенств (линейных ограничений). § 2. Примеры линейных моделей '" В этом параграфе приводится несколько достаточно распространенных простых моделей, отражающих ту или иную реальную ситуацию. Все эти модели можно отнести к разряду экономико-математических, поскольку в них присутствует экономический показатель — стоимость. Это можно объяснить современным положением дел: линейное программирование получило распространение в основном 10
как инструмент исследования именно экономико-матема- экономико-математических моделей. Особенно подробно разбирается первая из рассматри- рассматриваемых моделей — задача о диете. Это позволяет читателю освоиться с методикой формализации содержательных за- задач, с переходом к матрично^векторным обозначениям. После изложения каждой модели проводится обсуждении степени ее адекватности исходной содержательной ситуа- ситуации. Мы намеренно акцентируем внимание читателя на основных недостатках абстрактных формулировок, состав- составляющих содержание математической модели, чтобы пре- предостеречь его от чрезмерной абсолютизации дальнейших выводов. 1. Задача о диете. Рассмотрим задачу составления наиболее экономного (т. е. наиболее дешевого) рациона питания, удовлетворяющего определенным медицинским требованиям. Подобная задача возникает в связи с необ- необходимостью обеспечить питанием большое количество лю- людей, например, в армии, в санатории и т. д. Предполага- Предполагается, что известен перечень доступных продуктов из п наименований (хлеб, сахар, масло, молоко, картофель и т. д.), которые мы будем обозначать буквами F,, F2, ... ..., Fn. Кроме того, рассматриваются такие характеристи- характеристики продуктов, как витамины, минеральные вещества, жи- жиры, белки, углеводы, калорийность и т. д. Обозначим эти компоненты буквами JVi, /V2, ..., Nm, Предположим, что для каждого продукта Fi, i = 1, 2, ..., п, известпа его медицинская характеристика, т. е. количественное содер- содержание в одной единице (килограмме, грамме) продукта' указанных компонент. В таком случае можно составить таблицу-справочник, ' содержащую характеристики про- продуктов: F F F- F Г1 2 • ¦ • г ? • • • ' п «11 «21 «il ат а12 2 аг2 «пг2 •• ¦ «1J • •• ...eai... •••«„.;••• «in ain amn.' Элементы этой таблицы образуют матрицу, имеющую пъ строк и п столбцов. Обозначим ее через А и назовем матрицей питательности. И
Допустим, что мы составили рацион х=(хи х2, ... -.-.., хп) на некоторый срок (например, месяц). Другими словами, мы планируем каждому человеку на месяц я, единиц (килограммов, граммов) продукта Ft, x2 единиц продукта F2 и т. д. Нетрудно вычислить, какое количест- количество витаминов, жиров, белков и т. п. получит человек за этот срок. Именно, компонента jVi присутствует в этом рационе в общем количестве аих, + а1гх2 + ... + ainxn, поскольку в Xi единиц продукта Ft, согласно матрице пи- питательности, содержится aitXi единиц компоненты Nt; к этому количеству добавляется порция апх2 вещества Nt из хг единиц продукта F2 и т. д. Аналогично можно опре- определить и количества всех остальных веществ N{ в состав- составленном рационе (ж,, х2, ..., х„). Допустим, далее, что имеются вполне . определенные медицинские требования, касающиеся необходимого чело- человеку количества каждой из компонент N{, i = 1, 2, ..., т, в планируемый срок. Например: количество витамина С не должно бытв меньше заданного (чтобы не было цинги), количество калорий должно быть не меньше такого-то числа и т. д. Выразим эти требования вектором Ъ = (Ъи Ь2, ..., Ьт), i-я координата которого Ь, указывает мини- минимально необходимое содержание компоненты N{ в рацио- рационе. Это означает, что координаты х( вектора х должны удовлетворять следующей системе ограничений: апхг + aiZx2 + ... + atnxn ** bu a2iXt + п2гх2 + . . . + йгпХп >¦ Ъг, A.1) amixt + ат2х2 + ... + атпхп 72? Ьт. Кроме того, хотя из смысла задачи очевидно, что все пе- переменные хи хг, . .., хп неотрицательны, в процессе фор- формализации нашей содержательной ситуации этот факт необходимо учесть, поскольку в процессе решения задачи на-ЗВМ информация о смысле всех участвующих величии пе может быть учтена самой ЭВМ. Таким, образом, к ог- ограничениям A.1) добавляются неравенства xt^0, x2>0, .... хп^0. A.2) Пока ясно, что любой рацион, который может быть пред-
ложен в качестве меню на рассматриваемый срок, обязан удовлетворять условиям A.1) и A.2). Но таких рационов может быть бесконечно много. Для того чтобы выбрать какой-то из них, врач уступает место бухгалтеру. Пусть цены на продукты F,, F2, ..., Fn равпы соответ- соответственно с,, с2, ..., с„. Следовательно, стоимость всего ра- рациона х = ixt, хг, ..., ха) может быть записана в виде CtXi + СгХг + . . . + СпХп. A.3) Окончательная формулировка задачи о диете такова: среди всех векторов х = {хи хг, ..., хп), удовлетворяющих ограничениям A.1), A.2), выбрать такой, для которого выражение A.3) принимает минимальное значение. На этом процесс формализации содержательной зада- задачи о составлении рациона закончен. Далее можно лишь приводить пыражеиия A.1) —A.3) к более удобному виду. Вспомнив правило умножения матрицы на вектор, ви- видим, что каждое из т выражений, стоящих .в левой части неравенств A.1), представляет собой координату вектора Ах, где А — матрица питательности. Пусть и = lut, u2, ... ..., um), v = (у,, у2, ..., vm) — два вектора одинаковой размерности (с одинаковым числом координат). Условимся писать ц Зг v, если ut > vt, иг > v2, ..., ит 3* vm. Тогда си- систему неравенств A.1) можно переписать следующим об- образом: Ах 5э Ь. Запись х ~5* 0 будет означать, что все координаты вектора х = кхи хг, ..., хп) неотрицательны. Наконец, выражение СхХх + СгХг + ... + спхп можно записать в виде скалярного произведения двух векторов <с, х>, где с= (d, c2, ..., с„). Используя эти обозначения, задачу отыскания наибо- наиболее дешевой диеты можно кратко выразить в следующей матрично-векторной форме: min <c, х~> A.4) Ах > Ъ, х>0. Обсудим достигнутый результат. Мы выразили доста- достаточно реальную задачу в строгой математической форма, что в дальнейшем позволит для ее решения применить весь богатый арсенал математических методов. С другой стороны, в формулах A.1) —A.4) мы уже полностью аб- 13
страгировались от содержательного смысла задачи, и если выяснится, что при составлении модели A.4) были упу- упущены некоторые важные с содержательной точки зрения моменты, то никакая математика не спасет нас от полу- получения бессмысленных результатов. Ясно, например, что модель A.4) отражает не все стороны той реальной зада- задачи, которую она призвана заменить. Так, медицинские ограничения по необходимому количеству компоненты /V< в рационе могут носить и иной характер: это количество не должно превышать заданного. Правда, следует сказать, что это дополнительное требование нетрудно учесть, и при этом вид. задачи A.4) изменится незначительно. Кроме того, можно отметить, что в ограничениях A.1) и при минимизации функции A.3) учтены лишь требования врача и экономиста, в то время как вкусы человека, для которого составляется этот рацион, здесь никак не фигу- фигурируют. В модели A.4) не заложено условие, что рацион (диета) должен быть съедобным. Расскажем лишь об од- одной попытке составления дешевой диеты. В 1945 г. в [И] было опубликовано сообщение о ре- результатах решения задачи о диете с конкретными число- числовыми характеристиками. Рассматривалось 77 видов про- продуктов и 9 компонент, таких, как витамин А, белки, угле- углеводы и т. п. Рассчитывалась диета для питания одного человека в течение года. С помощью симплекс-метода (см. гл. V) было получено оптимальное решение задачи. В силу особенностей симплекс-метода это решение необ- необходимо включало в себя лишь 9 из имеющихся 77 видов продуктов. Вот эти 9 продуктов: пшеничная мука, куку- кукуруза, сгущенное молоко, растительное масло, сало, го- говяжья печень, капуста, картофель и шпинат. Оптималь- Оптимальная диета, составленная из перечисленных продуктов, стоила 39 долларов 67 центов в ценах 1939 г. и была аб- абсолютно безвкусной, а поэтому и неприемлемой. В то же время диета, составленная врачом.-диетологом, будучи вполне разумной, стоила 115 долларов. Несмотря на всю поучительность этого неудавшегося опыта, не следует думать, что изложенная модель состав- составления рациона не может дать подходящего решения за- задачи. Во-первых, в число ограничений модели можно включить условия, ограничивающие объем потребления каждого продукта, условия, учитывающие совместимость различных продуктов. Во-вторых, если применить метод решения, свободный от некоторых недостатков симплекс- 14
процедуры, можно получить оптимальное решение, вклю- включающее более богатый ассортимент. Существует, однако, много ситуаций из других обла- областей, в которых основная изложенная нами модель задачи о диете применима без каких-либо изменений в формули- формулировке и в стандартном методе решения. Например, эта модель с успехом была применима для отыскания рацио- рациона минимальной стоимости для крупного рогатого скота [12]. Известны удачные попытки составления таких сме- смесей нефтепродуктов, которые, удовлетворяя определенным техническим требованиям (заданное октановое число, ле- летучесть и др.), оказываются самыми дешевыми. Эти примеры позволяют надеяться на расширение области применения задачи о. диете. 2. Транспортная задача. Имеется т пунктов 5,, 52,... ..., Sm производства однородного продукта (угля, цемента и т. п.), причем объем производства в пункте St равен а( единиц. Произведенный продукт потребляется в пунктах Qi, Qz, ..., Qn, и потребность в нем в пункте Q) состав- составляет bj единиц, 7 = 1, 2, ..., п. Требуется составить план перевозок из пунктов Su I = 1, 2, ..., m, в пункты Qj, 7 = lt 2, ..., п, чтобы удовлетворить потребности в про- продукте bj, не допустить затоваривания пунктов производ- производства и минимизировать транспортные расходы. Пусть стоимость перевозок одной единицы (например, тонны) продукта из пункта 5( в пункт Q, равна с{,. На- Накладывая условия линейности, будем считать, что при перевозке xtj единиц продукта из 5( в Qt транспортные расходы равны СцХц. Назовем планом перевозок набор чисел (#«), i = = 1, 2, ..., т; / = 1, 2, ..., п, удовлетворяющий ограни- ограничениям п m . 2 хц = аи S хи ~ Ъ], ?ii>0, i = 1, 2, ..., m, / = 1, 2, ..., п. Содержательный смысл уравнений A.5) ясен: из пунк- пункта Si при плане (xtj) вывозится во все пункты Qj объем 2 Xij, который должеп быть равен как раз запасу at. 8 пункт Qj поступает из всех пунктов Si суммарное коли- чество 2 хи продукта; требуется, чтобы оно в точно- 15
сти отвечало потребности Ь;. При плане перевозок (x(i) транспортные расходы составят величину n m 2 2 ciiXl}. A.6) i"=l i=l Окончательная формулировка транспортной задачи та- такова: среди всех наборов чисел (?у), удовлетворяющих ограничениям A.5), найти набор, минимизирующий A.6). Транспортная задача (и ее модификации) оказалась первой из задач линейного программирования, применен- примененной в широких масштабах на практике в нашей стране. Приведем лишь краткие сведения об отдельных результа- результатах. Еще в 1959 г. (см. [13]) была предпринята попытка решения задачи закрепления потребителей однородного груза за поставщиками с целью снижения среднего рас стояния перевозки. На ЭВМ «Стрела» была решена зада- задача закрепления за 8 речными причалами г. Москвы 209 потребителей таких грузов, как песок, щебень, гравий, уголь и др.; итоги показали, что с помощью оптимального плана среднее расстояние перевозок может быть снижено на 11,3%. и это может дать существенный экономический эффект. К настоящему времени масштабы применения транс- транспортной задачи значительно выросли. Так, ВЦ Главмос- транса на основе построенной сетевой модели городских транспортных связей с учетом всех правил уличного дви- движения ежедневно решает большое число задач оператив- оперативного планирования перевозок строительных и других промышленных материалов (железобетона, кирпича, пес- песка, керамзита, металла, угля, нефти), перевозок мебели с фабрик по мебельным магазинам, развозки по магазинам молока, хлеба, мяса и т. д. 3. Модель рационального использования посевных пло- площадей. Имеется т земельных угодий Su S2 ..., Sm, пред- предназначенных для засева той или иной сельскохозяйствен- сельскохозяйственной культурой. Эти площади отличаются либо положени- положением, либо характером почвы. На каждом из угодий (полей) 5{, i = l, 2, ..., т, могут быть размещены одна или нес- несколько из п сельскохозяйственных культур Qt, Q2, ..., <?« (пшеница, рожь, кукуруза, картофель и т. д.). Пусть из- известна урожайность культуры Qt на поле S{; опа равна ati центнеров с гектара. Будем обозначать площадь поля S{ в гектарах через аи Ограничения в этой задаче таковы: 16
задан план производства Ь, каждой сельскохозяйственной культуры Q). Известны закупочные цены ct на каждый вид Q, продукции. Требуется определить план засева по- посевных площадей с целью максимизации дохода от прода- продажи сельскохозяйственной продукции. Пусть х{1 — площадь (в гектарах) на ?-м поле, занятая культурой Qj. Тогда математическая модель задачи рацио- рационального использования посевных площадей такова: п т max 2 ci 2 i n 2 хц ~ аи 2 m 2 i ж..^0, i=l, 2, ...,m, /=1,2,..., и. 4. Составление плана производства. Рассматривается деятельность некоторой производственной единицы (за- (завода, цеха). Требуется составить план производства, обес- обеспечивающий в максимальной степени выполнение зада- задания. Относительно данной производственной единицы из- известны ее технологические возможности, а также количе- количества сырьевых ресурсов, которые можно использовать. Пусть число всех видов ресурсов равно иг; обозначим их Ru R2, ..., Rm. Это могут быть: металл, электроэнергия, различные виды поставок с других предприятий. Допу- Допустим, что на нашем производстве могут выпускаться п типов товаров Gt, Gt, ..., Gn. Технологией производства товара Gs назовем набор чисел (ац), i = 1, 2, ..., пг, показывающих, какие количе- количества ресурсов fl( необходимы для выпуска одной единицы товара G]. Так, производство товара G, можно мыслить как конвейер, па .всем протяжении которого подаются ре- ресурсы в количествах аи, a2t, а31, ..., amU а на конце кон- конвейера выходит готовая единица продукта Gi. Можно составить технологическую матрицу ^i ai\ a\i •¦¦ аЦ ¦¦¦ ain С. А. Ашманов
Которая полностью описывает технологические возможно- возможности производства. Обозначим ее через А. Пусть заданы количества bt ресурсов Я,, i = 1, 2, ... ..., т, которые могут быть использованы в производстве; положим Ъ = (Ъи Ь2, ..., Ьт) (вектор ресурсов). Назовем планом производства вектор х = (хи хг, ..., хп), показы- показывающий, какие количества товаров G,, G2, ..., Gn будут произведены. Будем считать технологию производства линейной, т. е. предположим, что все затраты ресурсов растут прямо про- пропорционально объему выпуска. Более точно, допустим, что затраты при выпуске xs единиц продукта Gj описываются вектором (utjXj, Я2А, ,.., umjXj), причем одновременное функционирование нескольких технологических процессов приводит к суммарным затратам. . Таким образом, затраты ресурсов, необходимые для выполнения плана производства х = (xt, x2, . .., хп), опи- описываются вектором, координаты которого имеют вид aitx{ + ai2x2 + ... + ainxn, a2{xt + аг2х2 + ... + a2nxn, или, в матричной форме, вектором Ах. Условие ограничен- ограниченности ресурсов записывается в виде Ах =S Ъ. Следователь- Следовательно, при заданном векторе ресурсов Ъ рассматриваемой производственной единицей может быть выпущен любой набор товаров х, удовлетворяющий ограничениям Ах ^ Ь, х 3* 0. Как правило, такой вектор х не единствен. В связи с этим появляется возможность выбора наилучшего (в не- некотором смысле) плана. Рассмотрим две возможные постановки оптимизацион- оптимизационной задачи. Пусть заданы цены с = (с,, с2, ..., сп) на продукты производства G,, G2, . .., Gn. Требуется опреде- определить план производства, максимизирующий стоимость вы- выпущенной продукции. Формальная запись этой задачи такова: max <c, Xs) A.7) Ах < Ъ, х > 0. Подобная постановка вопроса соответствует принципу планирования «по валу». Тот случай, когда планирование 18
выпуска ведется «по номенклатуре», можно смоделиро- смоделировать иначе. Пусть задан вектор х = (хи хг, ..., хп), опре- определяющий один комплект выпуска; требуется выпустить как можно больше таких комплектов. Пусть а означает число выпускаемых комплектов. Рассмотрим задачу max а A.8) Ах < Ъ, х 2г ах, х 5= 0. Здесь неравенство х 5= ах означает, что вектор х = = (xt, хг, ..., хп) содержит не меньше а полных комплек- комплектов х = {хи хг, .,., хп) выпускаемой продукции. Модели A.7) и A.8), хотя несомненно и отражают оп- определенные черты реального производства, являются тем не менее сильно идеализированными. Так, в них отсут- отсутствует такое важное для производства понятие, как вре- время. Считается также, что все необходимые ресурсы #<, i = 1, 2, ..., т, в нужный момент находятся под рукой. Тем самым мы абстрагировались от острых проблем дина- динамики производства и ритмичности поставок. Кроме того, в построенных моделях не учитываются затраты живого труда и целый ряд других показателей, являющихся не- непременным атрибутом реального производства. 5. Динамическая модель планирования. Основой мно- многих линейных моделей производства являются схемы меж- межотраслевого баланса. Не останавливаясь подробно на исто- истории возникновения этого^метода изучения структуры на- народного хозяйства, скажем только, что его идея впервые в явном виде была сформулирована в работах советских экономистов 20-х гг. и получила затем развитие в изуче- изучении структуры американской экономики (см. [14]). Схеме межотраслевого баланса и ее различным моди- модификациям посвящена обширная литература. Для обстоя- обстоятельного знакомства с ней мы можем рекомендовать кни- книги [15-—17]; здесь же будет изложен упрощенный вариант схемы с "сохранением основного математического содер- содержания. Пусть весь производственный сектор народного хозяй- хозяйства разбит на п «чистых» отраслей, т. е. пррдукция каж- каждой из этих отраслей предполагается однородной. Чистая отрасль есть некая экономическая абстракция, не обяза- обязательно существующая реально в..виде каких-либо органи- организационных форм типа министерства, треста, объединения. 2* 19
Так, под отраслью «электроэнергетика» можно понимать совокупность всех электростанций вне зависимости от их ведомственной принадлежности. Несомненно, что включе- включение в схему межотраслевого баланса только чистых отрас- отраслей затрудняет его непосредственное применение, по- поскольку на практике планирование и отчетность осущест- осуществляются в рамках существующих организационных струк- структур. Однако подобная идеализация оправдана тем, что, с одной стороны, она позволяет провести детальный ана- анализ сложившейся технологической структуры обществен- общественного производства и распределения, а с другой — тем, что опыт, накопленный при изучении данной упрощенной схемы, привел к построению более содержательных мо- моделей. Возвращаясь к описанию схемы межотраслевого ба- баланса, предположим, что каждая отрасль выпускает про- продукт только одного типа и разные отрасли выпускают разные продукты. Таким образом, в рассматриваемой на- нами производственно-экономической системе выпускается п видов продуктов. В процессе производства своего вида продукта каждая отрасль нуждается в продукции других отраслей. Допустим теперь, что в некоторый момент времени, скажем, в году То, по итоговым данным составлен балан- балансовый отчет по народному хозяйству за фиксированный период времени (например, за прошедший год) по форме, приведенной в табл. 1. Величины ац указывают объем продукта с номерам i, израсходованный отраслью у в про- процессе производства за отчетный период. Числа Vt равны общему объему продукции (валовому выпуску) у-й отрас- отрасли за тот же период, а значения с, — объему продукции у-й отрасли, который был потреблен в непроизводственной сфере, для создания запасов и т. д. Числа a.ti, у = 1, 2, ... ..., п, показывают распределение продукта i на произ- производственные нужды всех отраслей. Балансовый характер этой таблицы выражается в том, что должны выполняться соотношения п 2aij = Fi — cu i=l, 2,..., п. 5=1 Единицы измерения всех указанных величин могут быть либо, натуральными — тонны, штуки, квт/час и т. д., либо стоимостными, в зависимости от чего различают 20
натуральный и стоимостной межотраслевой баланс. Для определенности мы в дальнейшем будем иметь в виду натуральный баланс. Если ^теперь все элементы у'-го столбца табл. 1 разде- разделить на Vh то число ац = a^lV i можно понимать как объ- объем продукции i-й отрасли, необходимый для производства одной единицы продукта отрасли с номером у, а число Т А Б Л И Ц А 1 Отрасли- Продукты 1 2 п Валовой выпуск Конечное потребле- потребление 1 аи ам «In Vi 2 «12 «22 v. . . . ... n «in ffl'an ... «nn Cn S«!i j=l s«« • • ¦ i«n,- с, = Cj/Fj — как долю продукции /-й- отрасли, израсходо- израсходованную на непроизводственное потребление. Числа aih i =• 1, 2, . . ., и, в некотором смысле полно- полностью характеризуют технологию у'-й отрасли в отчетный период: при данной структуре затрат и их объеме оказал- оказался возможным выпуск единицы ее продукции. Числа aih i = 1, 2, ..., п, носят название коэффициентов прямых затрат отрасли с номером у. Матрица А = (afJ) сама по себе песет много информа- информации о сложившейся структуре межотраслевых связей, о существующей технологии общественного производства. Однако еще более интересные возможности открываются в связи с идеей использования матрицы А для текущего и долгосрочного планирования и прогнозирования произ- производства. Сделаем два важных предположения. 21
Первое из них состоит в том, что мы будем считать( сложившуюся технологию производства неизменной в те- течение некоторого отрезка времени [То, Т]\ где Т > Го. В зависимости от постановки задачи отрезок 1Т0, Т] мо- может быть равен одному календарному периоду (скажем, году) или нескольким. Второе предположение состоит в постулировании свой- свойства линейности существующей технологии. Именно, бу- будем считать, чю для осуществления объема Xj валового выпуска продукции отрасли ; необходимо и достаточно произвести затраты продукции всех отраслей в объемах ацхи I =» 1, 2, ..-., п. Ясно, что каждое из этих предполо- предположений является очередной идеализацией реального поло- положения вещей. Так, требование линейности означает, в частности, что каждая отрасль способна произвести лю- любой объем своей продукции при условии, что ей будет обеспечено сырье в необходимом количестве. На самом деле, конечно, это не так, ибо производственные возмож- возможности всякой отрасли ограничены имеющимся объемом трудовых ресурсов и основных фондов: станков, производ- производственных площадей и т. д. Позднее, когда мы будем рас- рассматривать динамический вариант описываемой модели, этот недостаток будет частично устранен. Будем говорить, что матрица А = (a,j) описывает тех- технологию при единичной интенсивности работы всех отрас- отраслей. Допустим, что на отрезке времени [То, Т] все отрас- отрасли будут работать так, что отрасль с номером /', / = = 1, 2, ..., п, произведет объем xt валового выпуска еврей продукции. Скажем, что /-я отрасль при этом рабо- работает с интенсивностью xs. Обозначим через х вектор ва- валового выпуска (вектор интенсивностей) х — (хи х2, ... ..., хп). Воспользовавшись предположением о линейности, нетрудно подсчитать часть общего валового выпуска, из- израсходованного на производственные нужды в процессе выпуска. Эта часть описывается вектором Переходя к матричным обозначениям, заключаем, что век- вектор производственных затрат равен Ах. Тогда свободный остаток, равный с = х — Ах, будет использован на непро- непроизводственные цели. Однако основной вопрос, возникающий в плапирова- нии производства на период [Го, Т]3 формулируется, как 22
правило, наоборот: при заданном векторе й конечного по- потребления требуется определить необходимый вектор х валового выпуска. Другими словами, требуется решить систему уравнений х~Ах = с A.9) при заданном векторе с и матрице А. Это уравнение вместе с изложенной выше интерпрета- интерпретацией матрицы А и векторов х, с называется моделью Ле- Леонтьева. Эта модель называется продуктивной, если для каждого неотрицательного вектора спроса с ^ 0 сущест- существует неотрицательное решение л: 3» 0 уравнения A.9). Общепринятая схема межотраслевого баланса гораздо богаче того упрощенного варианта, который изложен здесь. Основное отличие состоит в подробном раскрытии составляющих вектора конечного спроса, таких, как вало- валовые накопления, включающие капитальные вложения, прирост запасов и т. д.; личное потребление; весь непро- непроизводственный сектор, состоящий из здравоохранения, науки, культуры и т. д. Информация, содержащаяся в подробной таблице межотраслевого баланса, полностью раскрывает не только межотраслевые связи народного хо- хозяйства, но и структуру распределения и перераспределе- перераспределения национального продукта. По поводу модели Леонтьева заметим еще раз, что она отражает лишь потенциальные возможности, заложенные в технологии производственного сектора. При этом модель A.9) полностью абстрагируется от фактора времени. В ней предполагается, что процесс производства совершается мгновенно, и все промежуточные продукты оказываются произведенными к тому моменту, когда в них появляется потребность. Формально, конечно, можно построить мо- модель типа A.9), в которой будут различаться однотипные продукты, произведенные в разные моменты времени; однако статистическую информацию. для такой модели межотраслевой баланс уже дать не в состоянии. Подобные проблемы решаются с помощью построения динамических моделей типа модели Леонтьева или, как их иногда называют, моделей динамического межотрасле- межотраслевого баланса. Для учета временного лага (запаздывания) в процессе производства, который особенно велик для та- таких отраслей, как строительстве, матрицу А разбивают на блоки, выделяя, например, коэффициенты затрат на капитальное строительство. Подробнее с этим можно озна- 23
комиться в рекомендованной литературе. Однако, как обычно, более подробная модель хуже поддается теорети- теоретическому исследованию, поэтому в дальнейшем мы будем придерживаться нашей основной схемы модели Леонтье- Леонтьева с тем, чтобы наиболее отчетливо показать основные идеи, лежащие в основе изучения большого класса моде- моделей производства. Рассмотрим промежуток планирования, состоящий из Т периодов (недель, месяцев, лет). В первый момент вре- времени используется начальный запас товаров х° = (х\, xl,...,x°n) и производится некоторый новый вектор товаров х1 = (х{, х\, ...,xl). Полученный набор това- товаров х1 затем вновь пускается в производство и т. д. В пос- последний момент Т планового периода получаем вектор х = \Ху, х%, ...,хп). Выбор вектора товаров xt+i, вы- выпуск которого возможен с использованием накопленного набора х\ не является однозначным. Поэтому последова- последовательность {х\ х2, ..., хт) является лишь одной из возмож- возможных траекторий развития производства. Можно по-разно- по-разному оценивать целесообразность выбора той или иной траектории. Мы, для определенности, будем считать, что Т Т Т целевая функция имеет вид с^хх + с2х2 -f- ... -f- cnxn, где вектор с = (си с2, ..., с„), можно, например, рассмат- рассматривать как цены на товары в последний момент планового периода. Запишем математическую формулировку изло- изложенной динамической модели: max (с, хт) Axt+i^x', . * = 0, 1, 2, .... 7-1, A.10) xf>0, t = 1, 2, ..., Т. Несмотря на то что построенная модель избавлена от ограничительного свойства статичности, она по-прежнему является сильно упрощенной. Так, в ней, как и в статиче- статической модели Леонтьева, не учитывается запаздывание в накоплении основных производственных фондов, вернее, сильные колебания в величине такого запаздывания. Если, к примеру, ввод в действие целой серии новых станков можно осуществить за год, то строительство нового заво- завода, электростанции зачастую длится много дольше. Кро- Кроме того, в этой модели пе учитываются инфраструктурные подразделения общественного производства, например, транспорт. Тем не менее оказывается, что качественные 24
результаты, полученные при исследовании данной моде- модели, мало меняются при переходе к более сложным и бо- более содержательным моделям. 6. Модель рационального использования трудовых ре- ресурсов. Опишем обобщение модели Леонтьева (см. преды- предыдущий пункт) на тот случай, когда один и тот же продукт может выпускаться разными отраслями. Пусть в нашей производственной системе по-прежнему фигурируют п ти- типов товаров. Имеется т технологических процессов (т > п), каждый из которых выпускает один товар. Пусть для определенности множество М = {1, 2, ..., ш разби- разбито на п подмножеств Мк, к = 1, 2, ..., п, так, что п Mh П Mh< = 0 при к Ф к', М = U Mk. Считаем, что прр- цесс с номером j^Mh выпускает /с-й товар (продукт). Пусть п X m-матрица А описывает технологию данного множества технологических процессов. Именно, столбец atj описывает затраты продуктов с номерами i = 1, 2, ... ..., п, необходимые для выпуска /-м технологическим про- процессом продукта с номером к, где j^Mk. В отличие от обычной модели Леонтьева, матрица /, описывающая вы- выпуск в данной модели, будет не квадратной, а прямоуголь- прямоугольной п X m-матрицей, состоящей из нулей и единиц, при- причем элемент е« этой матрицы равен 1, если j <= Л/;, и О, если j ^ Ми Таким образом, технология нашей производ- производственной системы задается парой матриц А и I. Пусть х=(х,, х2, ..., хт) — вектор интенсивностей, описывающий режим работы всех технологических про- процессов обобщенной модели Леоптьева. Тогда затраты про- продуктов на производственные нужды в данной модели описываются вектором Ах, а валовой выпуск — вектором 1х. Если вектор конечного спроса равен с, с ^ 0, то урав- уравнение, аналогичное основному уравнению модели Леон- Леонтьева, имеет вид Тх-Ах = с. A.11) Мы будем считать, что сформулированная нами обобщен- обобщенная модель Леонтьева является продуктивной, т. е. зада- задача A.11) имеет неотрицательное решение х^О при лю- любом векторе конечного спроса сЭ^О. Для этого достаточно предположить, что существует такой набор из п техноло- технологических процессов (но одному для каждого наименова- 25
ния товара), что соответствующая этому набору обычная модель Леонтьева является продуктивной. Допустим, что с каждым i-u техпологическим процес- процессом (столбцом матрицы А) связано положительное число U — коэффициент трудовых затрат. Обозначим матрицу / — А через А, вектор (Z,, 4, ..., 1т) — через I и рассмот- рассмотрим следующую задачу линейного программирования: min </, хУ A.12) Лх > с, х > 0. Содержательный смысл этой задачи ясен: обеспечить удов- удовлетворение конечного спроса с Э=Ч) с минимальными за- затратами трудовых ресурсов. Оказывается, задача A.12) обладает следующим свой- свойством: нет надобности использовать все имеющиеся тех- технологические процессы, поскольку существует такой набор из п процессов (по одному для каждого вида товара), что его применение приводит к оптимальному результату (в смысле экономии трудовых затрат) при любом векторо конечного спроса с. Доказательство этого факта будет дано в гл. IV. 7. Расчет химической технологии. Пусть имеются N химических реакторов, соединенных последовательно и перерабатывающих некоторый тип сырья с целью выде- выделить из него полезный продукт, и пусть х = ixu x2, .... ..., xj — характеристика свойств данного продукта. На- Например, Xi — его концентрация в среде-носителе, xz, ... ..., хп — другие интересующие исследователя свойства химического вещества. Обозначим через xh "— {х\, х\, ... . . . , Хп) характеристику продукта на входе &-го реакто- реактора, тогда xk+i — его характеристика на выходе. Пусть uh—{ii\,u\t ...,Um)— набор параметров, ре- регулирующих процесс преобразования продукта в А;-м ро- акторе: количество катализаторов, температура, сила электрического тока и т. д. Считаем, что известна зави- зависимость вида хк+1 = fk(xh, и"), к = 1, 2, ..., N, где /„ ха- характеризует к-я реактор. При этом на вектор и" могут быть наложены ограничения (р^и") ^ d*, /с = 1, 2, ..., N, например, ограничения па силу тока, на температуру, на общий расход и соотношение между различными катали- катализаторами. 26
Требуется определить такие значения управляющий параметров и", к = 1, 2, ..., N, чтобы при заданной на- начальной характеристике продукта х = (xit х2, ..., хп) максимизировать величину \\>(х\ х2, ..., х", и\ и2, ..., и"). Эта величина может, например, выражать стоимость по- полученного продукта на выходе последнего реактора с уче- учетом затрат на его производство. В том случае, когда все зависимости }h, ц>к, \|з линей- линейны, сформулированная задана будет задачей линейного программирования. Подобная задача носит название дис- дискретной линейной задачи оптимального управления. В об- общем виде она может быть записана так: тах{<с*+\ /<+1> + 2 (<с\ Л + <Ь\ uk I h=i / /+1 = AhXh + Bkuh, Dhuh^dh, к = 1, 2, ..., N, ^=1 . A.13) Отметим, что к виду A.13) часто приводятся также вадачи, не являющиеся по своей постановке динамически- динамическими. В качестве иллюстрации покажем, как привести к ви- виду A.13) транспортную задачу (см. п. 2). Введем в рассмотрение величину и Vik- 2*«. fc*= 1, 2, ...,ге, обозначающую суммарное количество продукта, переве- перевезенное из г-го пункта St производства продукта в первые к пунктов Q) потребления. Очевидно, что У» = ?/<.»-t + х», к = 1,2,..., п, где п Ую = 0, Уы = S хц = (Ч- 5-1 Обозначив у" = (j/u, j/ac, ;.., J/mJ, z" = (aslfc, a;2ft, ..,, xmh), получаем следующую формулировку транспортной задачи: Определить последовательность векторов хк, к = = 1, 2, ,.., п, являющихся решением задачи max S <с". ж"> 27
где ck=(cik, cih, -.-.., стк), e=(l, 1, :;., 1), e s Rra, a = (a,, a2, ..., Дт). Получим, очевидно, частный случай задачи A.13) (правда, в A.14) несколько иные обозначения — здесь управляющими параметрами являются xk). § 3. Различные формы задач линейного программирования о их эквивалентность Несмотря на различие содержательных ситуаций, опи- описанных в предыдущем параграфе, экстремальные матема- математические задачу, соответствующие им, имеют много об- общего. Так, в каждой из этих задач требуется максимизи- максимизировать или минимизировать линейную функцию от нес- нескольких переменных. При этом ограничения, наложенные на совокупность переменных, являются либо линейнымя неравенствами, либо линейными уравнениями. Правда, ограничения типа неравенств часто носят разный смысл: в одном случае линейная функция от переменных должна быть больше соответствующей константы, в другом — меньше. Однако очевидно, что всегда можно добиться, чтобы все знаки неравенств были направлены в одну сто- сторону (умножив при необходимости обе части неравен- неравенства (на (— 1)). Различают три основные формы задач линейного про- программирования в зависимости от наличия ограничений разного типа. Стандартная задача линейного программирования. max (с,ж, + с2х2 + ... + спхп) а,гх2 + ... + а,пха < Ь,, . . . + й2„Хп =S Ьг, umiXi + атгХ2 + . . . + птпХп < Ьт, ж, S* 0, хг 7* 0, ..., хп 7? О, или, в матричной записи, max <c, хУ Ах<Ь,х^0, где х = (хи хг, ..., хп), с = (с,, с2 с„), Ъ = F,, Ьг, ... ..., Ът), А = (ац) — матрица коэффициентов. Вектор с называется вектором коэффициентов линейной формы, Ъ — вектором ограничений. 28 -
Стандартная задача важна ввиду наличия большого числа прикладных моделей, сводящихся наиболее естест- естественным образом к этому классу задач линейно'го програм- программирования. Каноническая задача линейного программирования. max (с,я, + с2х2 + ... ¦+¦ спхп) апх2 ¦+¦... + alnxn = bt, «22 Хг + . .. + п2п Хп = Ь2, amix, + атгхг + ... + атпхп = Ът, Xi 5* О, Х2Х), . . ., Хп ^ О, или, в матричной записи, max <c, х> Ах = Ь, х^О. Основные вычислительные схемы (симплекс-метод и его модификации) решения задач линейного программи- программирования разработаны именно для канонической задачи. Общая задача линейного программирования В этой задаче часть ограничений носит характер не- неравенств, а часть является уравнениями. Кроме того, не на все переменные наложено условие неотрицательности: max (ciXi + сгх2 + ... + c,,xn) ЯцЖ, + ai2x2 +...+ alnxn < bu a2ixi + аггх2 +...+ a2nxn < b2, i + ah2x2 +...+ ahnxn < bh, "г• • ¦ 1 uh+2 nXn = x, ^ 0, x2 > 0, ..., xr > 0. Здесь к^т, г ^ п. Ясно, что стандартная задача полу- получается как частный случай общей при к — т, г — п; кано- каноническая — при А; = 0, г = п. Все три перечисленные формы задач эквивалентны в том смысле, что каждую из вих можно простыми пре- 29
образованиями Привести к любой из двух остальных. ПоЗтому, если имеется способ решения одной из этих задач (например, канонической), то тем самым мы умеем решать любую из трех задач линейного программиро- программирования. Поясним сказанное на примерах стандартной и кано- канонической задач. Покажем, как привести стандартную задачу к канонической форме. Введем в рассмотрейие но- новые переменные г,, г2, ..., zm — столько, сколько ограни- ограничений в стандартной задаче,— и рассмотрим следующую каноническую задачу: max (c,;?i + ex,. + ... + спхп + О • г, + ... + 0 • гт) апхх + а^х2 -К ..+ ainxn + г, = Ь,, аггхг +...+ а2пхп + г2 = Ь2, хг + ... + атпхп + zm = Ьт, х,>0, xt>0,..., хп > О, z, > 0, zt>0,..., zm ^ О, или, в матричной форме, max <c, ж> Ах + г = Ъ, х>0\ z>Q. Пусть (х*, х*, .:., Хп, г*, г", ..., г„) — решение сфор- сформулированной канонической задачи. Тогда решение ис- исходной стандартной задачи находится очень просто — это есть вектор (хл, х2, ...,хп). В самом деле, яспо, что он удовлетворяет всем ограничениям сгандартной задачи: его координаты неотрицательны (это требуется и в кано- ническои задаче), а поскольку числа гг, z2, .. .,zm также неотрицательны, то из равенств a^j + ац хг + ... + + сЦпХп + Z{ — bi, i = 1, 2, ..., m, вытекают неравенства ацх* + (ц2х* + ... + аыХп < bu i = 1, 2, . . ., т. Допустим теперь, что вектор х* — \хх, х2, ...,хп) не является решением стандартной задачи. В таком случае найдется другой вектор х = (х,, х2, ..., хп), который так- также удовлетворяет всем ограничениям стандартной задачи, однако доставляет максимизируемой функции большее значение, чем вектор х*: С\ХХ -f- csxr+ ... + спхп > > схх\ -f c2xl -\- ... + СпХп- Покажем, что это невозможно. 30 '
Для этого построим вектор, удовлетворяющий ограничени- ограничениям нашей канонической задачи и такой, что на нем до- достигается большее значение целевой (максимизируемой) / * * *** *\ , функции, чем на \хг, х2, ...., хп, zlr za, ..., zm), что оу- дет противоречить оптимальности последнего. Рассмотрим вектор (xi, хг, ..., хщ zt, ..., zm), где Zi = bt — (fl,|Xi + п{гХг + . . . + а(„Х„), / f= 1, 2, . . ., ТП. По- скольку х = (х,, хг, ..., xv) удовлетворяет ограничениям стандартной задачи, то гч > 0, / = 1, 2, ..., тп. В таком случае вектор E|, хг, ..., г», Zi, ..., zm) удовлетворяет всем ограничениям вспомогательной канонической задачи, и при этом <с, х>><с, х*У, что противоречит оптималь- ности вектора \хг, ...,хп, гг, ...,zm). Полученное про- противоречие и доказывает наше утверждение. Таким об- образом, стандартная задача линейного программирования может быть сведена к канонической. Еще проще процесс сведения канонической задачи к стандартной — надо лишь каждое уравнение из системы ограничений заменить двумя неравенствами: + + + ClinXn = bi ¦*=>¦ + ai2x2 + ... + аыхп «S Ь{, Если на переменную xt общей задачи линейного прог- программирования не накладывается условие неотрицатель- неотрицательности, то для того чтобы общую задачу свести к стандарт- стандартной, нужно положить Х) = щ — V], где uh vt — новые пере- переменные, и наложить условия щ ^ 0, у,- ^ 0. Тот случай, когда в задаче требуется минимизировать линейную . форму с{х{ + сгхг + ... + спхп, легко свести к задаче максимизации: следует рассмотреть задачу нахож- нахождения максимума функции — CiXi — сгхг — ... — спх„. Рассмотрим задачи линейного программирования, приведенные в предыдущем параграфе. Модель A.7) составления плана производства является стандартной задачей, так же как и задача о диете. В последней надо лишь ограничения Ах^Ь привести к виду (—Ах)^—Ь. Транспортная модель является канонической задачей с той несущественной, как мы уже знаем, разницей, что в ней требуется минимизировать функцию. Модель рацио- рационального испол1.зования посевных площадей следует отнести к общей задаче линейного программирования. 31
Второй вариант A.8) модели составления плана про- производства также близок к стандартной задаче линейного программирования. Убедимся в этом. Введем в рассмот- рассмотрение вектор х = Lxu хг, ..., х„, а) размерности п ¦+¦ 1. Тогда вектор коэффициентов в этой задаче есть вектор с = @, 0, ..., О, 1). Матрица ограничений имеет вид: Й21 пП ••• "in 0 . йт1 — 1 0 атг ¦ ¦ • 0 ... — 1 ... атп 0 0 0. х. х, О О ... —1 а вектор ограничений" есть вектор 5 = (bt, Ьг, ..., Ьт, 0). С использованием этих обозначений задача A.8) при- принимает вид max (с, хУ Ах <Ъ, xi>Q, хг > 0, ..., Хп > 0. Здесь отсутствует условие неотрицательности перемен- переменной а, поэтому формально эту задачу следует отнести к общей задаче линейного программирования. Модель рационального размещения трудовых ресур- ресурсов A.12) после очевидных преобразований также при- приводится к виду стандартной задачи. Изучим подробнее запись A.10) динамической модели планирования. Ясно, что это есть стандартная задача ли- линейного программирования. Выпишем явно ее матрицу коэффициентов и вектор ограничений. Вектором перемен- переменных здесь служит вектор х = (х\ х2, ..., х', .. ., хТ) раз- размерности п X Т, поскольку в этом выражении каждая буква х' обозначает /г-мерпый вектор х* = \х[, х[,..., xi). Вектор коэффициентов есть вектор с = @, 0, ..., 0, с), где символами 0 обозначены и — 1 нулевых /г-мерных векторов. Матрица коэффициентов имеет вид А 0 0 0... 00 / А 0 0 ... 0 0 0 — / А 0 ... 0 0 0 0 0 0 ... — / А, Вектор ограничений равен Б = (х0, 0, 0, .,., 0), где вновь 32
О означает нулевой л-мериый вектор. Нетрудно убедиться, что матричная запись max <c, хУ A.15) Ах ^ Ь, х>0, эквивалентна A.10). При изучении задач линейного программирования сложилась определенная терминология, которой мы и бу- будем придерживаться. Линейная форма <с, хУ = cixi + + сгхг + ... + спх„, подлежащая максимизации (или мини- минимизации), называется целевой функцией. Вектор х = = (xi, x2, .. ., #„), удовлетворяющий всем ограничениям задачи линейного программирования, называется допусти- допустимым вектором, или планом. Задача линейного програм- программирования, для которой существуют допустимые векторы, называется допустимой задачей. Допустимый вектор х*, доставляющий наибольшее значение целевой функции по сравнению с любым другим допустимым вектором х, т. е. <е, х*У > (с, хУ, называется решением задачи, или опти- оптимальным планом. Максимальное значение d = <с, х*>. целевой функции называется значением задачи. Обсудим, являются ли допустимыми задачи, встретив- встретившиеся нам в § 2. Ясно, что задача диеты, ограничения которой записываются неравенствами A.1) и A.2), явля- является допустимой не при любых значениях ее параметров ац и bt. В самом деле, если, например, в первой строке матрицы А все элементы а.ц равны 0, а число Ь4 поло- положительно, то не существует допустимых векторов х. Но условие flij = 0, / = 1, 2, . . ., п, означает, что компонента N{ ие содержится ни в одном из рассматриваемых видов пищевых продуктов. Поэтому ясно необходимое условие для того, чтобы задача о диете была допустимой: всякая рассматриваемая компонента N{ должна. содержаться хотя бы в одном из продуктов, т. е. в каждой строке матрицы А имеется хотя бы один положительный эле- элемент. Поскольку по смыслу коэффициентов До все они неотрицательны, то это условие оказывается и достаточ- достаточным — ясно, что можно взять вектор х с такими большими величинами Хц что все ограничения A.1) будут ааведомо выполнены. Очевидно, что для допустимости транспортной задачи п необходимо п достаточно выполнение условия 2 &j — 3 С- Л. Ашманод 33
m — D= 2 йь т. е. чтобы спрос на продукт совпадал с его i=i . ¦ предложением. Действительно, если план (.х{1) допустим для этой задачи, то суммируя первое из равенств в A.5) no i, а второе — по /, получаем т т п п т п 2^ = 22^=22 хц = 2 b]. i=] {=1 j=] j=l t=l )=1 С другой стороны, нетрудно убедиться, что при выпол- выполнении условия баланса спроса и предложения, сущест- существует допустимый плав х„ = uibJD, i = 1, 2, ..., т, / = = 1, 2, ...,и. Понятно, что задача для модели рационального ис- использования посевных площадей не всегда допустима — директивные планы bh / = 1, 2, ..., п, производства про- продукции не должны быть слишком высокими. Задачи A.7), A.8), A.10), соответствующие моделям составления плана-производства и динамической модели планирования, допустимы, если векторы запасов товаров b и х0 неотрицательны (это подразумевается), так как нулевой вектор удовлетворяет всем ограничениям. Тот факт, что задача A.12) рационального использо- использования трудовых ресурсов допустима, следует из предпо- предположения о продуктивности матрицы А. Естественно, имеет смысл искать опти\Чальный план лишь для допустимых 8адач линейного программирования. Следует, однако, отметить, что не всякая допустимая за- задача имеет решение — множество ее допустимых планов может быть неограпичено и при этом целевая функция на этом множестве может также оказаться неограничен- неограниченной. В качестве простейших примеров можно привести следующие. Пусть Xi — число (вектор размерности 1). Задача max х. пе являот'ся допустимой. Задача max х, х, > 0 допустима, но решений не имеет. 34
§ 4. Проблема отыскания численного решения задачи линейного программирования Первым шагом в исследовании задач линейного прог- программирования, естественно, является попытка применить для отыскания решения классический аппарат матема- математического анализа п высшей алгебры. Рассмотрим простей- простейшую задачу нахождения максимума дифференцируемой функции на отрезке. Пусть fix) — функция одного пере- переменного, заданная на отрезке [а, Ь]. Требуется найти максимум функции fix) иа [а, Ь]. Алгоритм, который дает для решения этой задачи математический анализ, таков: следует вычислить производную fix), найти все решения х\ х2, ..., хк уравнения f(x) = 0, вычислить значения /(z1), fix1), ..., fix"), /(a), fib) и выбрать из них наибольшее. Сразу видно, что даже в этом простом случае могут возникнуть осложнения. Как решать урав- уравнение /'(ж) =» 0 —не будет ли эта задача столь же слож- сложной, как и основная проблема поиска максимума? Что делать, если стационарных точек х1, хг, ..., хк очень мно- много, или даже бесконечное множество? Как организовать их перебор и сравнение значений fix1)? • Еще сложнее обстоит дело для функций нескольких переменных. Пусть х=(хи х2, ..., хп) есть «-мерный вектор, множество X — замкнутое подмножество «-мерного пространства R", fix) — функция п переменных, заданная на множестве X. Требуется найти максимум дифференци- дифференцируемой функции fix) па множестве X. Напомним, что в таком случае рекомендует классический анализ. Рассмот- Рассмотрим множество точек xiQ) re-мерного пространства, коор- координаты которых имеют вид Геометрически множество таких точек представляет собой луч с началом в точке (жх, х2, ...,хп), направление ко- которого совпадает с вектором (sl7 sz, ..., sn): Будем считать, что s\ + s22 + ... + 4 = 1. Зафиксировав направление s = (s4, s2, v.., sn) и уве- увеличивая число б, начиная от нуля, можно проследить, как меняется значение функции /(^(б), ж2(б), ..., а;»(б)). Локальное поведение функции fix) вдоль направления s будет определяться производной по б в точке 6 = 0 (на- 3* 35
помним, что 6 = 0 соответствует х@) = х"). Эту производ- производную можно вычислить; пользуясь правилом дифференци- дифференцирования сложней функции: /в l*i (в), хаф), ...,*„ (в)) = + ... + -^- ^ @) = — Величина ' /л*°; 3f dx 1 = Xj(9) °) *i -h хПО) называется производной функции jix) в точке х" по на- направлению s = {si, s2, ..., sn). Вектор I -gp {x"), -qZ-(x"), ••• • • • »7to~ (ж )J называется градиентом функции jix) в точ- точке х° и обозначается grad/(a;0). Таким образом, f,(x°) = = <grad/(x°), s>. Если теперь задаться вопросом, по какому направле- направлению s функция /(х) в окрестности точки х" возрастает быстрее всего, то используя основные свойства скалярного произведения, можно показать, что это имеет место толь- только в том случае, когда s = gradfix"). Итак, един из основных фактов математического ана- анализа для этой ситуации формулируется следующим обра- образом: значение функции f(x)=f(xt, х2, .. ., xj в окрест- окрестности точки (¦??, х\, ...,Хп) растет быстрее всего, если в качестве вектора направления s = (s,, s2, ..., sn) выбрать градиент функции fix) в точке а;0. Если в х° достигается локальный максимум функции fix), то в этой точке нет направления, вдоль которого функция возрастает. Поэтому необходимым условием максимума функции fix) во внут- внутренней точке х" множества X является равенство гради- градиента grad/(x°)'нулевому вектору. Здесь существенны слова «внутренняя точка» — все предыдущие рассуждения имеют силу лишь в том случае, когда из точки х° можно хоть немного сдвинуться по любому направлению, не выходя за пределы множества X. Окончательно, для нахождения максимума функции fix) на множестве X надо найти все решения хр = {ху, х\ ?п), р = 1) 2, .. t|1 k, системы уравнений за
8fLx)/$Xi = (), i=l 2, ..., n, вычислить значения /(zM, fix2), ..., fix") и все аначения fix) на границе множества X, а затем выбрать из них максимальное. Видно, что в случае функции мношх переменных ситуация усугублнетсн; даже если удастся легко решить систему уравнений grad/(z) = 0 и найти локальные максимумы f(.x) внутри множества X, надо еще, как ив. одномерном случае, вычислять зпачения фупкдии во всех точках границы. Но ведь граница множества X, лежащего в и-мерпом пространстве, при rt> 1 всегда (за исключе- исключением тривиальных случаев) состоит из-бесконечного числа точек. Как поступать в этом случае, общего рецепта классический анализ не дает — для каждой задачи нужпо искать свой метод. Так, если множество X задается си- системой уравнений, то отыскание экстремума функции на этом множестве вонможно с помощью метода множите- множителей Лагранжа, однако вычислительные проблемы оста- остаются и в этом случае. Для аадач линейного программиро- программирования дело осложняется еще и тем, что среди ограниче- ограничении, задающих допустимое множество, присутствуют ограничения типа неравенств. Обратимся к стандартной задаче липейного програм- программирования. Обозначим через X множество допустимых всч?торов. Градиент целевой функции равен (с,, с2, ..., с„) и является неличипой постоянной, не зависящей от точки вычисления. Следовательно, если не все с( равны нулю одновременно (в противном случае нет оптимизационной задачи), то у функции <с, х> нет локальных максимумов и, следовательно, ее максимальное значение достигается на границе множества X. Отметим, что граница множества А' в янном виде нам не указана Таким образом, основные вычислительные проблемы решения задач линейного программирования состоят в определении границы мно- множества X и организации вычислений значений фупкцип <с, х> в точках атой границы (а их бесконечно много), с гем чтобы найти среди них оптимальный план.
ГЛАВА II. ВЫПУКЛЫЕ МНОГОГРАННИКИ И ЛИНЕЙНЫЕ НЕРАВЕНСТВА § 1. Геометрическая интерпретация задач линейного программирования Рассмотрим пример простейшей задачи линейного программирования max {xt + хг) За;, 4- 5аг2 ^ 15, -xt + x2^2, Юг, ¦+¦ 1х2 <35, —Xi— Х2*5— 1, Xi > О, Хг > 0. Как известно из аналитической геометрии, уравнение axi ¦+¦ Ьхг = с определяет прямую на плоскости х^Охг (если а и Ь не равны пулю одновременно). При этом вся плоскость делится на две полуплоскости. Если две точки ¦Гц x-i) и \хх, х2) не лежат на данной прямой, то их взаимное расположение относительно этой прямой определяется величинами ахг + Ьх2 — с и ахг + Ьх2 — с; если эти величины одного знака, то точки лежат по одну сторону от прямой, если разного — то по разные стороны от данной прямой. Следовательно, неравенство axt + Ьхг < <с описывает множество точек (xt, x2), заполняющих полуплоскость по одну сторону от прямой axi + Ьхг = с, включая и саму прямую. Эти соображения помогают изобразить на координат- координатной плоскости множество точек, удовлетворяющих всем ограничениям в нашем примере. Так, неравенство З.Г1 ¦+¦ Ъхг < 15 определяет ту часть полуплоскости, которой принадлежит начало координат, таи как точка @, 0) ему удовлетворяет. На рис. 2.1 заштриховано множество до- допустимых точек, т. е. точек плоскости, координаты кото- которых удовлетворяют всем неравенствам рассматриваемой задачи линейного программирования. Обратимся к целекой функции х, + г2. Рассмотрим прямую Xi +хг = 5 (ее график изображен на рисунке 38
штриховой линией). Видно, что график этой прямой не пересекает допустимое множество. Это значит, что среди допустимых точек {хи хг) не найдется таких, которые придавали бы целевой функции значепие 5. Уравнение Xi + хг =d при различных значениях d описывает семейство параллельных прямых, и поставлен- поставленную нами задачу линейного программирования можно переформулиропать следующим образом: найти такое максимальное значение' d, при котором прямая xlJrx2 = d -х,*х2-2 Зх, * 5хг ¦ 15 "Рис. 2.1. пересекает допустимое множество. Для данного примера ясно, что если двигать эту прямую параллельно самой себе ближе к допустимому (заштрихованному) множеству, то первой точкой этого множества на ее пути окажется точка А с коордипатами G0/29, 45/29) — пересечение прямых lCtei + Ixi = 35 и bxi + 5ar2 = 15. На этом примере можно увидеть все главные особен- пости задач линейного программирования: в нем допу- допустимое множество точек представляет собой выпуклый многоугольник, получившийся в результате пересечения полуплоскостей, и наибольшее значение целевой функции достигается в его вершине — «крайней» точке. Ясно, что точка пересечения прямых lCtei + 7х2 = 35 и Зх, ¦+¦ Ьх2 — 15 не случайно оказалась решением зада- задачи— если через нее провести прямую семейства Xi + хг = = d, то она лежит между этими прямыми. То же самое можно выразить другим способом. На- Напомним, что вектором нормали к прямой axt + Ъхг — с является вектор с координатами {а, Ь). Изобразим векто- 39
ры нормалей всех прямых, участвующих в нашем при- примере, на координатпой плоскости (рис. 2,2). Здесь нор- .мали прямых обозначены в соответствии с порядком сле- следования ограничений в задаче. Нормали (—1, 0) и @, —1) соответствуют ограничениям xt > 0 и х% ^ 0. Штриховой линией обозначен вектор A,1) нормали целевой функция. Этот вектор лежит между ¦ нормалями A) и C) к пря- прямым, пересечение которых и дает нужную точку. X, Рис. 2.2. Может случиться, что решение задачи линейного программирования не единственно, как. в рассмотренном примере, а состоит из бесконечного множества - точек. Для иллюстрации рассмотрим еще одну задачу: 28, 0. max 7*. Здесь решением служит любая точка отрезка между точками A8/7, 12/7) и A08/31, 28/31). Отметим, что са- сами эти точки — вершины допустимого многоугольника — также являются решениями (рис. 2.3). Таким образом, процедура поиска решения в таких простейших задачах линейного программирования явля- является несложной: нужно каким-либо способом -описать многоугольник допустимых точек, найти его вершины и выбрать из них те, координаты которых придают макси- максимальное значение целевой функции. Кроме того, заслу- заслуживает рассмотрения и наглядная связь между нормалью к линейной форме, задающей целевую функцию, и нор- 40
малями к прямым, пересечение которых определяет ре- решение задачи. И хотя в случае, когда изучаются задачи линейного программирования в пространстве большого числа пере- переменных с большим числом ограничений, структура до- допустимого множества становится гораздо менее наглядной, а вычислительные сложности возрастают чрезвычайно, основные идеи поиска решения остаются неизменными. Прп этом особую роль играет именно изучение связи между нормалями, определяемыми ограничениями задачи и нормалью к целевой функции. Замечательные резуль- результаты, полученные на этом пути, составляют содержание теории двойственности. § 2. Выпуклые множества и теоремы о разделяющей гиперплоскости 1. В этом параграфе будут сформулированы и доказа- доказаны основные факты, относящиеся к произвольным вы- выпуклым множествам, которые в дальнейшем будут слу- жить инструментом исследования задач линейного про- программирования. Пусть R" — гс-мерное евклидово пространство. Ниже мы употребляем общепринятые математические обозна- обозначения: х е X — х является элементом множества X; Х,^Х2 — Х( является подмножеством Х2; Х = {х\х обла- обладает свойством S) — множество X содержит все элементы, обладающие свойством S, и не содержит других; х> у — всякая координата вектора у не превосходит соответст- соответствующей 'координаты вектора х\ хХ) — все координаты вектора х неотрицательны; х > 0 — все координаты векто- вектора х положительны; xi — 1-я координата вектора х. Не различая в «-мерном пространстве понятий точки и вектора, мы используем эти термины равноправно. Определение 2.1. Множество X называется вы- выпуклым, если вместе с любыми двумя своими точками х\ х2 (х1, х2 е X) оно содержит и все точки вида х = ах1 + A - а)х\ B.1). где OsS a *? 1. Чтобы пояснить геометрический смысл понятия вы- выпуклого множества, напомним способ задания отрезка [х1, х2] между двумя точками х1 и х2 в и-мерном прост- пространстве. 41
Параметрическое уравнение прямой, проходящей че- через точки х\ х1, имеет вил х(а) = х2 + (х* — х2)а, B.2) где х' — х2 называется направляющим вектором прямой. При а = О получаем х@) = жа, при а = 1 имеем х{\) = ж1. Когда а меняется в пределах (Xa^l, точка я(и) про- пробегает весь отрезок между точками а;1 и а;2. Перегруппировав члепы в B.2), получим я(а) = = ах1 + A — а)х2. Таким образом, ясно, что всякая точка, Рис. 2.5, представимая в виде B.1), лежит на отрезке прямой меж- между точками х1 и х2, и наоборот, всякая точка этого от- отрезка представима в виде B.1). Следовательно, определе- определение выпуклого множества может быть сформулировано па геометрическом языке. Определение 2.2. Множество X называется вы- выпуклым, если вместе с любыми двумя своими точками х\ х2 оно содержит весь отрезок, концами которого слу- служат эти точки. Приведем примеры выпуклых множеств на плоскости. Прямоугольник X = {(.Zi, x2)\0 ^ xt =? а, 0 =? х2 < '< Ь) (рис. 2.4). Покажем, что X выпукло. Пусть (¦^ь ^2I v^i» Х2/ —Две точки, принадлежащие прямоуголь- прямоугольнику X, а — произвольное число, 0^а<1. Надо дока- доказать, что точка с координатами (ахг + A — а) х[, ах2 -{- + A — ее) х2) также принадлежит X. Другими словами, надо убедиться " в выполнении неравенств О <J aajj + -г A — a) x\ < а, 0 < ах2 + A — а) х\ < Ь. Поскольку ^ ^ ^ 0 ^ xi ^ а> то умножая эти неравенства а> 42
соответственно на неотрицательные числа а а 1-я, а затем складывая, получаем О ^ axl -J- A — ol) х\ ^.аа + {i — а) а = а. Второе неравенство доказывается аналогично. Круг Х = ((*!, xal\ х\ + xij</ia| (рис. 2.5). Убедимся в том, что круг — выпуклое множество. Пусть {хи x.j) s s X, (x[,x'2)sX, O^a^l. Надо доказать, что (ах1 -f- (I — a) xi, a.z2+(l — a) х'г)^Х. Проделаем неслож- несложные преобразования: (ах^ + A — a) x^)'1 + (a.za -\- A — j X ((лГ + (^J)- Вспомним основное неравенство для скалярного произведения (неравенство Копш — Буняков- ского) хххл + х2х2 <J |/ х\ + х\ у {-х[J + {х-гУ- Заменяя во всех выражениях выше х\ + х\ и (^J + (х2J на Д- (ат этого неравенство только усилится), получаем: (oui + A - о) х[J + (aa:2 + A - а) х'гУ < < Да la2 + 2a (I - a) + A - aJ| = IP (a + A - a)J = Д2. Тем самым доказано, что круг — выпуклое множество. Важную роль в дальнейшем изложении имеет следую- следующее простое свойство выпуклых множеств. Теорема 2,1. Пересечение выпуклых множеств вы- выпукло. Доказательство. Пусть Х = Х,ПХ2, где Х(, Х2 — выпуклые множества. Рассмотрим дне произвольные точки х и х множества X. Поскольку Х^Хи го х, г' е X,. В силу выпуклости множества Xt из этого вытекаот, что весь отрезок [х, х'\ принадлежит Xt. Точно так же, [х, х'] ^ Х2. Но тогда lx, x'] s Xt П Х2 = X. Определение 2.3. Суммой двух множеств Xi^R", X,eR" назовем множество X == ix\x — х1 + х*, х' е X,, л!е1,1, состоящее из всех попарных сумм элементов множеств Xi, Хг. Теорема 2.2. Сумма выпуклых множеств выпукла. Доказательство. Пусть х, х е X, где X = Xi + Х2. Тогда в X, и в Хг иайдутся такие элементы, что х == = х' + х\ х = г1 + ж», х\ х' е Х„ х\ х2 е Х2/ Пусть те- теперь а — ироизиольиое число, O^a^l. Тогда ах' +•, + A - а)х' s A"i, axJ + A - a)Jc' е Ха. По определению X, 43
сумма этих элементов принадлежит множеству X: ССХ "г \1 — СС/Х "т" ССХ "т" vl ~~ СС/Х =я = а(х' + х2) + A - а)(х' + х2) - ах + A - а)хеХ. Примером выпуклого множества в пространстве R" служит любое линейное подпространство L: по определе- определению подпространства, оно содержит произвольную ли- линейную комбинацию своих элементов. 2. Осповпым свойством, характеризующим выпуклые множества, является так называемое свойство отдели- отделимости. Для пояснения это- этого свойства рассмотрим на плоскости замкнутое выпуклое множество X а точку d, пе принадлежа- принадлежащую этому множеству (рис. 2.6). Тогда найдется такая прямая ах, + Ьх2 = = с, что множество X и точка d = (di, d2) лежат по разную сторону от этой прямой, т. е. для любой ТОЧКИ (Zi, Х2) S X ВЫПОЛ- 2 ^ с, в то время как Рис. 2.6. + bx няется неравенство ad, + bd2 > с. Для того чтобы сформулировать и доказать этот факт- для выпуклого множества в и-мерном пространстве, нам понадобится понятие, аналогичное понятию прямой на плоскости. Определение -2.4. Гиперплоскостью в прострапст- ве R" называется множество точек х ==¦ (я,, хг, ..., хп), координаты которых удовлетворяют уравнению вида Pl*i + Р%х% + ... + рА = С (.(р, х) = с). Вектор р — (р{, р2, -.-.., рп) называется нормалью и этой гиперплоскости (предполагается, что р Ф 0). Теорема 2.3 (о разделяющий гиперплоскости). Пусть X— замкнутое, выпуклое множество, аФХ, а = = (а,, а2,-..., а„). Тогда существует гиперплоскость с нор- нормалью рФО такая, что <р, а> > с и для любого ieA' вы- выполняется неравенство (р,-х~>^с.
Доказатольство. Рассмотрим функцию (я, - й,J + (хг - а2J + ... + Un - О* аргумента х = (xit хг, ...,х„) на множестве X. Эта функ- функция, очевидно, непрерывна. Для того чтобы воспользо- воспользоваться теоремой Вейерштрасса о том, что функция, не- непрерывная на ограниченном и замкнутом множестве, достигает па нем своей точной нижней грани, рассмотрим произвольную топку геХ и шар U с центром в точке а, квадрат радиуса которого ра- равен (р(ж) (рис. 2.7). Пересечение X = UП X является замкнутым и огра- ограниченным множеством. Сле- Следовательно, функция ц>(х) до- достигает па нем минимума п некоторой точке bsl. Ясно, что b является топкой мини- минимума функции (fix) на всем множестве X. Таким образом, фЫ^фШ для всех х^Х. Зафиксируем произвольную точку х е X и рассмотрим отрезок Рис. 2.7. Поскольку множество X выпукло, то .r(a) <= X при любом a, 0«Sa«?l, п поэтому ср(.г(а)) > срF). Следовательно, »( a> 0<a^1_ фушщия ц{х[а)) дифференцируема по а как суперпозиция двух дифференцируемых функций ф(х) и х{а). Поэтому су- существует предел ига a-o = ф;{х о. Производную q>n(x(Q)) можпо вычислить непосредст- непосредственно по • правилу дифференцирования сложной функции: ; (х (а)) = ( S (ц (а) - а.J) =2V _ а;) х\ 45
Поскольку xi(a) =(ах\-\- A — а) 6;)' = Xi— bi, a ?j(O) =6;, то q>; (* (a)) = 2 2 (xj (a) - ai) (xi - bi), i ijA)() 1=1 По доказанному выше, эта производная неотрицательна, т. е. 2 Фг - аг) (xi - bi) > 0. i=l Обозначим теперь р{ = а{ — bt, i = 1, 2, ..., n; p = n =(/>i, Pa, ••-, Pn), c= 2 ^i (a, — b{). Тогда полученное не- i=l раЬенство можно переписать следующим образом: п *=1 Заметим, что вектор р '= (р{, р2, .-.., ра) и число с не зависят от выбранного нами вектора х<^Х. Поэтому для того чтобы убедиться, что вектор р и число с удовлетво- удовлетворяют всем утверждениям теоремы, надо лишь проверить, что р^О и <р, а)>с. В самом деле, р = а—Ь и р*^0, так как в противном случае а = Ь, что невозможно, по- поскольку 6еХ, а<?Х. Наконец, п п <р, а> — с = 2 (at - Ц аг - 2 bi (at — Ь<) - i=l 1=1 2(), и значит, <р, а> > с. Теорема доказана. Заметим, что гиперплоскость <р, х~> = с, построенная в ходе доказательства теоремы, обладает еще и тем свой- свойством, что она касается множества X в точке Ь: как не- нетрудно проверить, <р, b) = с. В связи с' этим введем Определение 2.5. Гиперплоскость <р, х~> — с на- называется опорной к множеству X в точке b e X, если для всякого элемента х^Х выполняются соотношения (р, У ^ с и (р, Ь) = с. 46
Таким образом, теорема о разделяющей гиперплоскости утверждает, что иыпуклое замкнутое множество X можно отделить от любой точки а&Х с помощью опорной гипер- гиперплоскости^ В том случае, когда выпуклое множество X не явля- является замкнутым, теорема об отделимости перестает вы- выполняться, если точка а не принадлежит X, по принад- принадлежит его замыканию. Однако здесь следует лишь слегка подправить формулировку: вместо неравенства </>, а) > с потребовать (р, а> > с. Это вытекает из следующего вспомогательного утверждения: 8амыкание выпуклого множества само выпукло. В самом деле, пусть х, х s X, где X — аамыкание множества X. Пустьж=Нтх , х еХ, — _ _ ft-* оо х = lima;'1, a"fte X .Поскольку X выпукло, то ах" +, h-*<x> d"(l-a)x'sX. При этом существует lim (a/ + A - a) xh) = ax + A — a) r, h-tao который принадлежит Х в силу замкнутости этого мно- множества. Hycib а&Х. Нетрудно показать, что в таком случае существует последовательность а", к = 1, 2, ..., а" Ф X, lira ah = а. Применяя теорему о разделяющей пшерпло- скости к множеству X и точке а", получаем гиперпло- гиперплоскость <р\ о;> = <р", Ь">. Рассмотрим параллельную ей гиперплоскость, проходящую через точку а": <р\ х~> = = </?", п*>. Бея ограничения общности можно считать, что II/j"II = 1, /c = l, 2, ..., и что последовательность векторов рь сходится к некоторому рФО. При каждом к для лю- любого хеХ имеет место неравенство ip", x>^<pk, a">, так как </?*, Ь*> ^ <р", а">. Переходя к пределу при к -+ ж», имеем <n, j;> ^ <р, а> для любого jeX, в част- частности, при ISA, Тем самым доказана следующая теорема о разделяю- разделяющей гиперплоскости для незамкнутых выпуклых мно- множеств. Теорема 2.4. Пусть X — выпуклое множество (не обязательно замкнутое) и пусть точка а не является внутренней для множества X. Тогда существует такая гиперплоскость <р, х> = с, р Ф 0, что <р, а> = с и (р, х>*5 ^ с для любого х^Х. 47
Часто требуется отделить с помощью гиперплоскости два выпуклых множества. Следующая теорема утверждает возможность этого. Назовем положительным ортантом пространства R" множество R" = [х \ х е R'\ я;^0)векторов х — (х1: хг, ... ..., хп), все координаты которых неотрицательны: xi > О, / = 1,2,..., и. Теорема 2.5. Пусть X — выпуклое множество, не содержащее внутренних точек положительного ортанта R+ (т. е. в X нет точек, у которых все координаты по- положительны). Тогда существует такая гиперплоскость (р, i> = 0 с неотрицательным вектором нормали р =2= О, р^О, что (р, хУ < 0 для любой точки iel Доказательство. Рассмотрим множество М ~ = -У— R+. Ясно, что точка 0 не является внутренней для М. В самом деле, пусть 0 — внутренняя точка. Тогда су-. шествует Окрестность (шар) около начала координат, принадлежащая М. В этой окрестности найдется точ- точка и, все координаты которой положительны: и > 0. По- Поскольку и <= М, то и = х — v, где ieX, te R™. Тогда х = и + v > 0, что противоречит условию тео- теоремы. Учитывая теперь теорему 2.4, можно утверждать, что существует такая гиперплоскость <р, ?> = 0, р^=0, про- проходящая через начало координат, что для всякой точки ме! имеет место неравенство <р, иУ ^ 0. Вспо'миная определение М, заключаем, что для любого ге!и для »eR* выполняется (р, х) < </>, i>>. Положив в этом неравенстве v = 0, получаем неравенство (р, х) =S 0 для любого j; <= X. Зафиксировав теперь какую-нибудь точку lei, по- получаем неравенство <р, v> ^ </>, ?> для любого и е R+. Из этого, конечно, вытекает, что р > 0. Действительно, если /?i < 0, то взяв в качестве v точку вида @, 0, ..; ..., 0, Я, 0, ..., 0), где Я > 0 стоит на г-ы месте, получим неравенство Ар, ^ <р, хУ. Однако число Ipt можно сделать сколь угодно малым отрицательным, числом, во всяком случае меньше, чем фиксированное число (р, хУ. 3. Часто представляет интерес случай, когда нормаль р, фигурирующую в теореме 2.5, можяо выбрать положи- положительной. Может показаться, что для этого достаточно потребовать, чтобы пересечение X [\ R" было либо пусто, 48
либо состояло только из нулевого вектора. Это, однако, не так, как следует из рис. 2.9, приведенного далее. Однако существует весьма важный класс выпуклых множеств, для которого можно уточнить формулировку теоремы 2.5. Определение 2!б. Множество K^Rn называется выпуклым конусом, если вместе с любыми своими точка- точками х', х" оно содержит и все точки вида х = ал' + $х", 0 fiO f Из этого определения непосредственно следует, что выпуклый конус К, во-первых, является выпуклым мно- множеством (см. определение 2.1), и во-вторых, вместе с вектором х содержит луч ах, а 2* 0. Очевидно, что вся- всякий выпуклый конус К содержит начало координат. Теорема 2.6. Всякая гиперплоскость, опорная к вы- выпуклому конусу К, проходит через начало координат. Доказательство. Пусть гиперплоскость <р, хУ = = с является опорной к конусу К в .точке 6 <= К: для вся- всякого х^К <р, хУ < с, <р, ЬУ = с. Рассмотрим тояку ab, где a S* 0. По определению конуса аЬ <= К, следовательно, </?, аЬУ «S с. Поскольку </>, аЬУ = а<р, ЬУ = ас, то нера- неравенство ас «S с выполняется для любого а S* 0. Отсюда (а—1)с ^ 0. При а = 0 получаем с 5» 0, а при а = 2 по- получаем с «S 0. Таким образом, с = 0, уравнение опорной гиперплоскости имеет вид <р, хУ = 0 п точка 0 принад- принадлежит этой гиперплоскости. Теорема доказана. Понятие выпуклого конуса играет исключительно важную роль при исследовании задач линейного програм- программирования. Этот частный класс выпуклых множеств об ладает рядом специфических особенностей. Рассмотрим примеры, изображенные на рис. 2.8— 2.10. На рис. 2.8 изображен заштрихованный выпуклый конус К, не* имеющий общих точек с внутренностью положительного ортанта R+. Как следует из теоремы 2.5, его можно отдели! ь от R+ с помощью гиперплоскости, нормаль к которой имеет неотрицательные координаты. Более того, как видно из рисунка, можно выбрать раз-, деляющую гиперплоскость так, чтобы нормг.ль к ней бы- была положительным вектором. Иная ситуация на рис. 2.9. Здесь выпуклое множество X представляет собой круг радиуса 1 с центром в точке (—1, 0). Единственная гиперплоскость, отделяющая мно- множество X от R+, имеет нормаль A, 0). Таким образом, 4 с. А. Ашмаиов . 49
в этом случае не существует разделяющей гиперплоскости с положительной пормалью. Рассмотрим выпуклый конус, изображенный ва рис. 2.10, представляющий собой левую полуплоскость вместе с точкой 0, по не включающую остальных точек оси 0х2. Этот выпуклый конус так же, как и конус на рис. 2.8, не содержит ни одпой точки неотрицательного ортапта R+, кроме точки 0, однако его нельзя отделить от R+ с помощью гиперплоскости, имеющей положитель- положительную нормаль. Дело здесь, конечно, в том, что данный конус не является замкнутым. Рис. 2.8. Рис. 2.10. При изучении свойств выпуклых копусов является полезной следующая конструкция. Определение 2.7. Выпуклым конусом К*, двойст- двойственным к выпуклому конусу /?, называется множество К* = i x> «SO для всех х е К). Иллюстрацией этого понятия служат рис. 2.11, 2.12, где штриховой линией обозначены образующие конусов К*, двойственных к конусам К (они заштрихованы). Дру- Другими словами, конус К* состоит из векторов р, каждый из которых составляет неострый угол с любым из векто- векторов конуса К. Поэтому на рис. 2.11, 2.12 образующими конусов К* служат лучи, перпендикулярные *к образую- образующим конуса К. Предоставляем читателю доказать утверж- утверждение, что К* — выпуклый коиус (см. упр. 12). - Теорема 2.7. Двойственный конус К* замкнут. 50
Доказательство. Пусть последовательность р1, рг состоит из векторов, принадлежащих конусу К*, и имеет предел limp = р. Покажем, что ре Й->оо s К*, т. е. что <р, хУ ^ О для любого вектора х^К. Поскольку р"^К*, то <р\ ж) «SO. Переходя в этом неравенстве к пределу при к -*¦ °° и используя свойство Рис. 2.11. Рпс. 2.12. непрерывности скалярпого произведения (в данном слу- случае, непрерывность линейной функции), получаем <р, ж><0. Конусу К* можно, в свою очередь, сопоставить двой- двойственный конус UC*)*, который мы будем обозначать К** = {К*)*. Следующий геометрически очевидный факт является ключевым. Теорема 2.8 (теорема двойственности для выпуклых конусов). 1) К**^К; 2) если выпуклый конус К замкнут, то К** = К. Доказательство. 1) Из определения К* следует, что <х, р> ^ 0 для любой точки хе К и ре К*. Следова- Следовательно, х^К**, т. е. KsK**. 2) Поскольку уже доказано, что К s К**, остается проверить лишь обратное включение К^К** в том слу- случае, когда конус К замкнут. Допустим, что а&К. Если мы покажем, что тогда а ^ К**, то доказательство теоре- теоремы будет закончено. К замкнутому конусу К а точке аФ К можно применить теорему о разделяющей гипер- 4* 51
плоскости с учетом теоремы 2.6 о том, что всякая гипер- гиперплоскость, опорная к конусу, проходит через 0. Пусть р —- нормальный вектор гиперплоскости, разделяющей множество К и точку а. Тогда (х, рУ < 0 для всякой точ- точки х е= К и <р, а> > 0. Отсюда вытекает, что р «= К*, и поэтому а <? К**, поскольку скалярное произведение векторов а и ре К* больше нуля. Теорема 2.9. Если замкнутый выпуклый конус К не содержит неотрицательного вектора, отличного от нуля (г. е. К fl R+ = 0)j то К* содержит положительный век- вектор р>0. Доказательство. Допустим противное, т. е. что конус К* не содержит положительных векторов. Тогда к К* можно применить теорему 2.5 о том, что существует неотрицательный вектор р &* 0, р Ф 0, причем <р, хУ < 0 для всех х s К*. По определению двойственного конуса, это означает, что р^К**. Поскольку конус К замкнут, то по предыдущей теореме К = К** и, значит р^К, что противоречит предположению теоремы. Теперь мы в состоянии уточнить результат теоремы 2.5 об отделимости. Теорема 2.10. Пусть К —выпуклый замкнутый ко-, ну с, пересекающийся с R+ только по нулевому вектору. Тогда существует такой положительный вектор р > 0, что <р, хУ ^ 0 для любого х е К. Доказательство непосредственно вытекает из преды- предыдущей теоремы и определения двойственного конуса. § 3. Многогранные выпуклые мпожества 1. Здесь будет подробно изучен специальный класс выпуклых множеств, отвечающий геометрическому пред- представлению о многогранниках. Определение 2.8. Пусть х\ хг, ..., ^ — произ- произвольные точки из R". Выпуклой линейной комбинацией этих точек называется сумма вида a,xs + агх2 + ... + akxh, где а(, ?=1, 2, ..., к,— произвольные неотрицательные числа, сумма которых равна 1: af^ 0, i = 1, 2t...,k, 2 «i = i. Согласно .определению 2.1 множество X называется выпуклым, если оно содержит выпуклую линейную ком- комбинацию любых двух своих точек. 62
Теорема 2.11. Пусть X — выпуклое множество, ~х\ х*, .. ., х" — произвольные точки из X. Тогда мно' жество X содержит любую выпуклую линейную комби' нацию этих точек. Доказательство пропедем с помощью полной математи- математической индукции по числу точек к. При к =• 2 утвержде- утверждение теоремы совпадает с определением выпуклого мно- множества. Пусть уже доказано, что любая выпукляя линейная комбинация к — 1 точек множества X ему принадлежит. Рассмотрим к точек х\ xlt ..., хк~\ х" и выпуклую линей- 4 пую комбинацию х = 2 оцх . Если ah ¦» 1, то <х( = 0 ори 1 *3 2 < /с — 1 и т = х* ^ X. Пусть а» < 1. Тогда 1 — 0С4 = 4-1 «¦ = 2 ai > 0- Сгруппируем слагаемые в выражении для xi А-1 Числа аУA—о»), i=l, 2, ..., А —1, неотрицательны и их сумма равна 1: 4-1 Следовательно, выражение а; = 7, i х представляет собой выпуклую линейную комбинацию точек х\ я*, ... ..., х"~* множества X. По предположению индукции х' s е X. Но в таком случае точка ж*= A — а»)ж' + акх^ явля- является выпуклой линейной комбинацией двух точек из X и, следовательно, х&Х. Определение 2.9. Пусть М — мпожество точек из R" (конечное или бесконечное). Выпуклой оболочкой С(М) множества М называется множество всех выпуклых линейных комбинаций точек из М. В качестве примеров рассмотрим множества Л/, и А/2: М{ состоит из трех различных точек (А, В, С) плоскости (рис. 2.13); Мг есть окружность (рис. 2.14). Нетрудно видеть, что выпуклой оболочкой множества М, является треугольник ЛВС (вместо с впутрепиими точками). Действительно, пусть D — произвольная точка 53
треугольника. Проведем через D и С прямую и пусть Е — пересечение этой прямой и отрезка [А, В]. Тогда точка Е является выпуклой линейной комбинацией точек А и В: Е = аА + A-а)В, где 0<а«?1. Точка D при- принадлежит отрезку [Е, С] и поэтому представима в виде Z) = рЯ + A - р)С, 0<р<1. Отсюда D = $(аА + A - а)В) + + A - р)С = а$А + A - a)pZ? + A - $)С. Правая часть это- этого выражения является выпуклой линейной комбинацией Щ) Рис. 2.13. Рис. 2.14. точек А, В, С, поскольку оф + A — cc)fi + A — fi) = 1. Сле- Следовательно, любая точка треугольника ABC принадлежит выпуклой оболочке множества Л/,. Выпуклой оболочкой множества Мг является круг, границей которого служит окружность Мг. В самом деле, любая точка D круга может быть представлена как вы- выпуклая линейная комбинация точек А и В окружности, лежащих па концах диаметра, проведенного через точку D. Тот факт, что выпуклые оболочки множеств М{ и Мг не содержат других точек, кроме указанных, вытекает из следующей теоремы. Теорема 2.12. Выпуклая оболочка С(М) множества М совпадает с наименьшим выпуклым множеством, со- содержащим М. , Доказательство очевидно, поскольку, с одной стороны, ясно, что выпуклая оболочка СШ) является выпуклым множеством, а с другой стороны, если X — выпуклое мно- множество, содержащее М, то оно содержит и все выпуклые линейные комбинации точек из М, т. е. Х^С(М). В примерах с множествами М, и Мг видно, что любую точку множеств С(М,) и СШг) можно выразить через крайние точки: Л, В, С в первом примере и точки окруж- окружности — во втором. 54
- Определение 2.10. Точка х выпуклого множества X называется крайней, если ее нельзя представить в виде х = у х1 Н- у х\ где ж1 Фх\ х1 еХ.г'еХ. Отметим, что не всякое выпуклое множество имеет крайние точки. Так, замкнутая верхняя полуплоскость является выпуклым множеством, имеет граничные* точки (все точки прямой, определяющей эту полуплоскость), но * пе имеет крайних точек. Напомним, что ограниченное и замкнутое множество называется компактным. Выпуклые компактные множест- множества устроены достаточно просто, как показывает Теорема 2.13. Любое компактное выпуклое множе- множество в R" является выпуклой оболочкой своих крайних точек. Это утверждение означает, что любая точка х^Х, где X — выпуклый компакт, представима в виде выпуклой комбинации конечного числа крайних точек из X. Нали- Наличие крайних точек у выпуклого компакта доказывается несложно (см. упр. 6). Нетрудно также доказать, что любая точка х выпук- выпуклого компакта X является выпуклой линейной комбина- комбинацией некоторых его граничных точек, В самом деле, пусть s — любой вектор, s e R". Рассмотрим прямую l{x) = x + Xs, — оо <Х < °°, проходящую через точку х (при Х = 0). Поскольку X — ограниченное выпуклое мно- множество, то прямая Кх) пересекает его границу в двух точках х1 и х2 (может быть, совпадающих). Тогда точка ieX принадлежит отрезку [х\ х2] и, следовательно, яв- является выпуклой линейной комбинацией граничных точек х1 н х2 множества X. Таким образом, для доказательства теоремы 2.13 оста- остается лишь показать, что всякая граничная точка х" яв- является выпуклой линейной комбинацией конечного числа крайних точек X. Для доказательства этого геометрически ясного факта введем понятие размерности выпуклого множества. Напомним, что линейным многообразием ^?R" на- называется множество вида Q = х° + L, где L — некоторое подпространство. Из курса линейной алгебры известно, что если Q = x' + L', где V — подпространство, то L=- = L', т. е. линейному многообразию Q соответствует толь- только одно подпространство L, сдвигом которого получа- получается Q. ! 55
Размерностью линейного многообразия Q — х° + L на- называется размерность подпространства L. На рис. 2.15 линейное многообразие Q получено парал- параллельным сдвигвм подпространства L: произвольная .точка х е Q представима в виде х = х° + I, где I е L. Ясно, что точку х° можно выбрать разными способами. Здесь раз- размерность Q равна 1. Поскольку R" также является линейным многообрази- многообразием (размерности п), х" = О, L = R", то всякое выпуклое множество X s Rn принадлежит линейному многообразию раз- размерности п. Назовем размерностью вы- выпуклого множества XsR" ми- минимальную из размерностей ли- линейных многообразий, содержа- содержащих X. Так, размерность от- Рмс 2.15. резка [А, В] (рис. 2.13) равна 1, размерность выпуклого множе- жества, состоящего только из точки А, равна 0, размер- размерность треугольника ABC равна 2. Если размерность вы- выпуклого множества X равна к, то можно считать,. что X е R",— для этого надо взять линейное многообразие Q, Is(?, размерности к и выбрать в Q = х° + L систему координат вида х° + 1„ х° + 12, ..., х° + lh, где {/,, 12, ... ..., lh) — базис в L. Тогда Q превращается в линейное пространство размерности к. Так, на рис. 2.15 можно взять за начало координат в Q точку х°, а за базис — вектор /; тогда Q превращается в R'. Отметим еще один очевидный факт, связанный с по- понятием размерности выпуклого мпожества. Пусть X имеет размерность I и Xs R\ Тогда пересечение X с любой гиперплоскостью Р = {х\<р, х.У = d), где р е R*, р Ф 0, име- имеет размерность пе больше чем к — 1. Действительно, пусть L = ix\'<p, ?> = 0}. Тогда, как легко видеть, размерность L равна к — 1. Поскольку Р пХ^-х" + t, то PUX по оп- определению имеет размерность не больше к — 1 (х° е Р П X). Доказательство теоремы 2.13. Проведем ин- индукцию по размерности к мпожества X. Если к = 0, то X является точкой и утверждение теоремы в данном случае «тривиально. Пусть для множеств размериости, меньшей к, теорема доказана и пусть X имеет размерность к. Обоз- Обозначим через а произвольную граничную точку множества X (граничные точки существуют, поскольку X— компакт). 56
Тогда по теореме 2.4 существует такая гиперплоскость (р, х) — (р, а>, что (.р, хУ < (р, а> для любого х е X. Пересечение Ха множества X и этой гиперплоскости представляет собой непустое компактное и выпуклое мно- множество (поскольку гиперплоскость выпукла и содержит точку а е X). Множество Ха имеет размерность меньше к и, по предположению индукции, является выпуклой оболочкой своих крайних точек. При этом всякая крайняя точка с множества Ха является крайней точкой и мно- множества X. В самом деле, пусть это не так и с = ах1 + + A — а)х2, 0 «Sot «Si, x\ х2&Х. Поскольку с припадле- жит гиперплоскости, то 0 = <р, с — а> = а(р, xi — а) + + A — а)<р, х2 — аУ. Поскольку <./>, х' — аУ < 0, <р, i!-s>< sSO, то <р, х.1-аУ = 0, <р, х2-аУ = 0, т. e. i'sJ,, х2 е s Ха. Но точка с — крайняя в Ха\ итак, х1 = с, я2 = с. Таким образом, мы доказал^ что всякая граничная точка а множества X является выпуклой линейной комби- комбинацией его крайних точек, что и доказывает теорему. Определение 2.11. Множество X называется вы- выпуклым многогранником, если оно является выпуклой оболочкой конечного множества точек. Другими словами, множество X называется выпуклым многогранником, если оно содержит конечное число таких точек х\ х\ ..., х", что любая точка х ^ X представима в виде и X содержит все точки такого вида. Теорема 2.14. Выпуклый многогранник компактен. Доказательство. Пусть X — выпуклый мпогог гранник, являющийся выпуклой оболочкой своих точек х\ хг, .... х": Х = С(х\ х2, ..., хи). Для доказательства компактности множества X достаточно показать, что из произвольной последовательности i(m)eX, m = \, 2, ..., можно выбрать подпоследовательность, сходящуюся к некоторому isl Так как x(m)^X, m = 1, 2, .... то" h k х (m) = 2 ai (m) x\ 0 «S af(m) «Si, 2 ai (m) = 1- Каждая i=i i=i последовательность a^m), m = 1, 2, ..., ограничена; сле- следовательно, из нее можно выбрать сходящуюся подпосле- подпоследовательность. Поскольку последовательностей (аДгга)}— конечное число Ц — 1, 2, ..., к), то можно выбрать такую 57
подпоследовательность номеров ти т2, ;.., что все после- последовательности аД/га,), 7 = 1, 2, ..., сходятся. Пусть ft lim а{ (nij) = aj !> 0. Очевидно, 2 °и =1- Тогда последова- 5-»°° i=l ft тельность 2 a* (т>)хг, j = 1, 2, ..., сходится и при этом .л ft я =s lim 2 «i ("ij) a;1 = 2 ОНЯ1 e -У. Теорема доказала. Из этой теоремы и теоремы 2.13 вытекает, что выпук- выпуклый многогранпик является выпуклой оболочкой мно- множества своих крайних точек. Если М—С(х\ хг, ..., хк) — выпуклая оболочка множества точен S={x\ х2, ..., х"), то ясно, что крайними точками в М могут быть лишь точки из 5 (возможно, не все). Полученные результаты достаточно наглядно опи- описывают структуру выпуклых многогранников, т. е. замк- замкнутых ограниченных выпуклых множеств, имеющих ко- конечное число крайних точек. 2. Перейдем к изучению другого важного класса вы- выпуклых множеств — многогранных конусов. Определение 2.12. Пусть М ? R" — произвольное множество. Конической оболочкой Со (М) назовем мно- множество всевозможных неотрицательных линейных комби- комби2 ai^ точек из М. наций i=i Нетрудно показать, что коническая оболочка Со(Л/) является наименьшим выпуклым конусом, содержащим множество М (см. упр. 17). На рис. 2.16 заштриховано множество Со(Л/), где множество М состоит из трех век- векторов g\ g2, g\ На рис. 2.17 множество М представляет собой окружность. Определение 2.13. Выпуклый конус К называется многогранным, если он представляет собой коническую оболочку конечного числа своих точек. Замкнутость многогранного конуса интуитивно оче- очевидна, однако, чтобы это доказать, нам потребуется Лемма 2.1. Пусть вектор х^О является неотрица- неотрицательной линейной комбинацией векторов х\ хг, ..., хк: х = 2 ai?'\ «j^sO, ?= 1, 2,. . ., к. Тогда вектор х мож- 58
/40 представить в виде неотрицательной линейной комби- комбинации некоторого числа линейно независимых векторов из множества {х\ хг, ..., хк). Доказательство. Проведем индукцию по к. При к = 1 утверждение леммы очевидно. Пусть для чисел, меньших к, лемма доказана. Если хотя бы одно из чисел Ряс. 2.16. Рис. 2.17. а, в формулировке леммы равно 0, то пргшенимо пред- предположение индукции.-Поэтому можпо считать, что а( > О, i = 1, 2, ..., к. Пусть векторы х1, х2, ..., х* линейно зави- h свмы, т. е. 2 ^ix = 0, где не все Х( равны нулю. Будем i=i предполагать, что среди Х{ имеются положительные числа (в противном случае мы умножим все Х< на —1). Пусть 0 = max (Xj/oti). Ясно, что G > 0; пусть для определенности h X = X — — = X,/a1. Тогда Коэффициенты at — X,/0 неотрицательны, так как G 5= Х</а(," г = 1, 2, ..., /с, при этом (*1 — X,/Q = 0. Следовательно, век- вектор х выражается в виде неотрицательной линейной комби- комбинации векторов х2, х\ ..., х* в количестве к—{. Согласно предположению индукции, его можно выразить через ли- линейное независимое подмножество этих лекторов. 59
' Теорема 2.15. Многогранный выпуклый кочуй замкнут, Доказательство. Пусть К = Со(х', х1, :.., х"). Рассмотрим впачале случай, когда система векторов х', i = l, 2, ..., к, линейно независима. Пусть L — А-мерное линейное подпространство в R", натянутое па эти векто- векторы. Тогда х\ х', .,., х" — базис подпространства L. Кате известно из линейной алгебры, в L можно таким образом ввести скалярное произведение, чтобы данный базис ока- оказался ортонормированным. После этого подпространство L можно отождествить с R*, а К — с Н + . Очевидно, что множество R+ вамкпуто, в поэтому йамкнут и конус К относительно нормы, соответствующей выбранному ска- скалярному произведению. Воспользуемся эквивалентностью норм. Обратимся к случаю, когда совокупность векторов х\ х2, ..., х* линейно вовисима. Возьмем произвольную Ч Н '« линеипо независимую подсистему х ,х ,...,х этой совокупности и рассмотрим конус Ка = Со (г , х ", ... . . ., х *), где о — набор о = {/,, 1%, ,.., i,K По доказанно- доказанному выше, конус Кв вамкнут. Покажем справедливость равенства К =» U К,, где объединение берется по всем на- наст борам о, соответствующим линейно независимым подси- подсистемам системы векторов х1, х%, ..., х*. В самом- деле, включение К э и К, очевидно. Обратное включение выю- 0 кает из леммы 2.1. Доказательство теоремы теперь полу- получается пз того простого факта, что.объединение конечно- конечного числа вамкпутых множеств вамкнуто. След'ствие. Для многогранного выпуклого конуса К справедливо равенство К = А'**. Это утверждение вытекает из доказаЕМОй замкнутости конуса и теоремы двойственности для выпуклых- конусов. Понятие крайпей точки, чрезвычайно полезное при выяснении структуры выпуклых многогранников, оказы- оказывается бесполезным при научении выпуклых конусов — нетрудно видеть, что конус может иметь ие более одпой крайней точки. В связи с этим введем в рассмотрении повый объект. Определение 2.14. Вектор х Ф 0, х е К. называ- называется крайним для выпуклого конуса К, если из того, чго х = 1 /2-е* + \/2хг, где я1, xl&K, вытекает, что г'=\х х1 — их для некоторых \ ^ 0, ц ^ О, 60
Наглядный смысл этого определения-попятен. Так, на рис. 2.14 крайними являются векторы g\ g\ Если конус К представляет собой замкнутую верхнюю полуплоскость в пространстве R2: К* {х\х — (xlt хг), Хг^О), то в нем крайними служат, например, векторы 01, 0), (—1, 0). Ясно, что если вектор х^К— крайний, то крайним является также любой вектор цх, ц. > 0. В этом случае условимся говорить, что вектор х принадлежит крайнему лучу цх, [I > 0. Хотелось бы, конечно, получить для мно- многогранных конусов описание, подобное теореме 2.13 для компактных выпуклых множеств, и утверждать, что мно- гограпный конус является конической оболочкой своих крайних векторов. Однако этот факт неверен. Так, суще- существуют выпуклые многогранные конусы, у которых вооб- вообще пет крайних векторов. Примером может служить вся плоскость R2, или конус в пространстве R3, задаваемый неравенством х3 Э= 0. Этот конус является многогранным: он совпадает с конической оболочкой векторов 00, 0, 1), A, 0, 0), 0-1, 0, 0), 00, 1, 0), СО, -1,0), однако в нем нет крайних. Тим не менее имеет место следующий очевидный факт. Лемма 2.2. Пусть К = Со(х\ х2, ..., х") и пусть (cii с2, ..., cs)—множество всех крайних векторов конуса К, принадлежащих различным крайним лучам. Toedi сре- среди векторов х1, / = 1, 2, ..., к, обязательно найдутся s векторов, принадлежащих этим крайним лучам. Приведенные выше примеры копусов, у которых нет крайних векторов, подсказывают причину этого явления — эти конусы содержат некоторое подпространство.. Чтобы формализовать этот факт, введем Определение 2.15. Выпуклый конус К называет- называется заостренным, если из того, что isl и —х е К, выте- вытекает, что х = 0. Это определение в точноати соответствует тому требо- требованию, чтобы конус К не содержал никакого линейного подпространства пространства К". Так, конусы на рнс. 2.16, 2.17 являются заостренными. Лемма 2.3. Пусть х\ х2, ..., х" — ненулевые векто- векторы. Если конус К = Coi.x\. хг, ..., xk) заострен, то векторы х\ х2, ..., xk положительно линейно независимы, т. е. из h условий 2 ^;я' = 0-) ^j^0, 7 = 1, 2,..., h, вытекает, что ki = U = ... = Kh = 0.' 61
Доказательство. Проведем индукцию по к. При к = 1 утверждение очевидно, поскольку х1 по предполо- предположению — ненулевой вектор. Пусть для чисел, меньших &, лемма доказана. Допу- к стим, что 2 kjx1 = О, kj ^ 0,/ = 1, 2,..., к. Тогда А.^1 = — 2 ^3- Поскольку 2 X^jx' е К, X-lX1 f= ЛГ, 3--2 j—2 то, согласно определению заостренного конуса, \хх = = 0 = 2 Х^х3. Тогда Я,! = 0 и, по предположению индук- j=2 ции, Я.2 = Х3 =.. .= Я,» = 0. Теорема 2.16. Многогранный заостренный конус К является конической оболочкой конечного множества своих крайних векторов. Доказательство. Пусть К = Со(.х\ х2, ..., xh). Среди векторов х\ х2, ..., xk вычеркнем тот, который можно представить в виде неотрицательной линейной комбинации остальных. Если это возможно, то из остав- оставшихся к — 1 векторов можно снова вычеркнуть один из векторов, являющийся неотрицательной линейной ком- комбинацией остальных к — 2 векторов. Продолжая дей- действовать подобным образом, мы придем к набору векто- векторов, например, х\ х2, ..., хт (г < А;), обладающему сле- следующими свойствами: К = Со(х\ х2, ..., хт); никакой из векторов х1, 1 <;' s? г, пе является неотрицательной линей- линейной комбинацией остальных. Покажем, что все векторы этого множества являются крайними. Допустим, что х1 — не крайний. Тогда х1 — г г = 2 &}Х3¦> где все а> 5? 0. Отсюда A — at) x1 = 2 oljX1. j=I ( ' 1 = 2 Если а!>1,'то A — al)xi <^ К и (ai — l)xl e К, т. е. г х1 = 0; если а, = 1, то 2 ая' = 0. чего не может быть ;=2 в силу леммы 2.3 и поскольку, очевидно, среди векторов х', /=1,2,..., г, нет нулевых. 1 = ^ о^г7 т е х1 В случае же а, < 1 имеем х1 = , _ ^ о^г7, т. е. х1 1 j=2 является неотрицательной линейной комбинацией векто- векторов х2, х\ ...-, хт, что невозможно. Таким образом, теорема доказана. 62
Сделаем замечание по поводу различия понятий край- крайней точки выпуклого множества (определение 2.10) и крайнего вектора выпуклого копуса (определение 2.14). Главным отличием здесь является то, что вектор 0 может являться крайней точкой конуса и не может быть край- крайним вектором. В то же время очевидно, что точка 0 яв- является крайней для заостренного копуса К. В самом деле, пусть 0 = \/2х' + У2х", где х\ х" е К. Отсюда х" = -х', что противоречит определению заостренного конуса. § 4. Структура допустимых множеств задач линейного программирования 1. Мы приступаем к систематическому изучению структуры допустимых множеств задач линейного про- программирования. Как следует из § 2 гл. I, допустимое множество описывается системой линейных неравенств вида аих, + апхг +...+ alnx,t «s Ъи аих, + аггхг + ... + агпхп < Ь2, ^ 3) a-miXi + атгхг +.. .4- атпхи < Ьт. Мы пе выделяем здесь ограничения вида х, > 0, считая, что если они присутствуют, то включены в систему аера- венств B.3) в форме — хг «S 0. В дальнейшем будем обозначать символом а, верггор а, = Ы,1, а,г, ..., а,л) — i-строку матрицы А коэффициен- коэффициентов системы B.3), а символом а1 — вектор а! = (аи, а1и ... ..., amj) —j-й столбец матрицы А. Тогда систему неравенств B.3) можно переписать в более компактном виде ' <а,, х> =5 Ьи <аг, х> < 62, ..., <am, x> ^ bm, B.4) где, как и раньте, х = (хи хг, ...,хп). Наконец, с помощью обозначения А = (ац), i = 1, 2, ... ..., т, / = 1, 2, ..., п, система неравенств B.3) записы- пается в виде Ах<Ъ, B.5) где Ь — (Ь„ Ьг, ..., Ьт). Всюду далее в этой главе будем обозначать через X множество допустимых векторов, т. е. множество всех векторов г., удовлетворяющих системе неравенств B.3): X = (.г е R"|Hx ^ Ь\. Может оказаться, что множество X 63
допустимых векторов пусто. В качестве самого простого примера приведем множество в R1, задаваемое ограниче- ограничениями xt «? 1, — Xi «? —2. В связи с этим оговорим зара- заранее, что все утверждения этого параграфа о тех или иных свойствах множества X относятся к тому случаю, когда X не является пустым множеством. Теорема 2.17. Множество X допустимых векторов выпукло и замкнуто. Доказательство. Покажем, что полупростран- полупространство Х{, определяемое одним неравенством (а,, хУ < Ьи выпукло. В самом деле, пусть х, х' е X,. В таком случае <аи хУ < Ьи <й,-, х У ^ Ъи Пусть а — произвольное число, 0<а< 1. Тогда а<аи хУ < аЬи A - а)<аи х'У < A - а)Ъи Складывая эти неравенства и пользуясь "линейностью ска- скалярного произведения, получаем <.аи ах+ A — a)z'> < < а.Ь{+ A — a)bi = bu Отсюда вытекает выпуклость мно- множества Xi. Нетрудно видеть, что множество X является пересечением полупространств Х{, т. е. хе X тогда и только тогда, когда х принадлежит всем Х{, ? = 1, 2, ... ...., тп. Теперь остается применить теорему 2.1 о том, что пересечение выпуклых множеств выпукло. Можно было бы доказывать эту теорему, используя матричную запись B.5) для задания множества X. По- Поскольку в дальнейшем нам придется часто сталкиваться с матрицами, приведем выкладки в матричном виде. Если х, х е X, то Ах < Ь, Ах' «с Ь. Тогда аАх < аб, A-а)Ах' < «? A — a)b. (Здесь мы пользуемся неотрицательностью чи- чисел а и .1 — а.) Отсюда аАх+ A — а)Ах' < Ъ. В силу ли- линейности операции умножения матрицы на вектор полу- получаем А(ах + A — а)х') < bt т. е. ах + A — а)х' е X. Докажем, что множество X замкнуто. Пусть х(!с), Л = 1, 2, ..., х(к) еХ — произвольная сходящаяся после- последовательность, lin\x(k) — x. Перейдем к_ пределу в не- равенстве Ах(к) < Ъ при к ->- <», в силу непрерывности функции Ах получаем Ах ^ Ь. Теорема доказана. Особый интерес представляют крайние точки множе- множества X. Может оказаться, что X не имеет ни одной край- крайней точки — мы уже видели подобные примеры в преды- предыдущем параграфе. Выведем условия, гарантирующие на- наличие крайних точек. Определение 2.16. Назовем точку х0 <= X внут- внутренней, если для нее все неравенства B.3) (а значит, и 64
B.4), B.5)) выполняются строго: (а{, zo> < ?>,, l=\, 2, ... ..., т. Все точки множества X, не являющиеся внутрен- внутренними, назовем граничными. Это определение вполне согласуется с обычным поня- понятием внутренней точки множества. В самом деле, ис- используя непрерывность функций <а;, хУ н то, что в дан- данном случае таких функций конечное число (i = 1, 2, ... ..., т), нетрудно указать такое число е, что если длина вектора Д = (At, Д2, ..., Дп) меньше е, ИДИ < е, то вы- выполняются неравенства <а,-, х0 + Д> < bt, i = 1, 2, ..., т, т. е. точка х0 + А также принадлежит X. Другими слова- словами, всякая внутренняя точка х0 множества X принадле- принадлежит ему вместе с некоторой своей е-окрестностью. Очевидно, что внутренняя точка х0 множества X не может быть крайней: ее можно представить в виде жо = 1/2(а;о + Д) + 1/2(а;о-Д), где* х0 + Д, г„ - Д е X, что противоречит определению 2.10 крайней точки. В связи с этим ясно, что крайние точки следует искать среди граничных, т. е. таких, для которых хотя бы одно из условий B.3) обращается в равенство. Определение 2.17. Носителем граничной точки х0 назовем множество всех ограничений в B.3), которым эта точка удовлетворяет в' форме равенства. Иначе говоря, носителем точки х„ является множество всех гиперплос- гиперплоскостей <а(," х) ¦= bi, которыми задается множество X и которые содержат точку х„. Например, на рис. 2.1 носителем точки А является пара прямых За^ + 5хг = 15, Юг, + 7хг = 35, а носителем точки с координатами B, 0) — прямая ,хг = 0. Пусть а = = (ii, h, ..., ik\ Kij^m, 7 = 1, 2, ..., А;,—номера тех векторов а{, которые определяют носитель точки х„, а — множество остальных номеров i^{l, 2, ..., m), не по- попавших в множество о. Обозначим через Аа матрицу, строками которой явля- являются векторы a,, i е о; через Ъа — вектор, составленный из координат вектора Ь с номерами пз множества о. Анало- Аналогично введем обозначения А- и Ъ-. Например, если А = 3 5 -1 1 10 7 -1 -1 -1 0 0 -1 * ь = 15] 2 35 1 0 0 _ /70_ _45\ Х° ~ \ 29 ' 29 Р 5 С. А. Ашманов 65
как в примере, изображенном на рис. 2.1, то о = A,3), а = B, 4, 5, 6), Аа = Тогда ограничения B.3) (или B.5)) для точки х„ прини- принимают вид Аахй = Ьа, А-хо<.Ь~. Напомним, что рангом матрицы называется максималь- максимальное число ее линейно независимых строк (или столбцов). Теорема 2.18. Точка хо^Х является крайней тогда и только тогда, когда ранг матрицы А„ равен п. Доказательство. Как известно из курса линей- линейной алгебры, уравнение Аах =*0 имеет только нулевое решение тогда и только тогда, когда ранг матрицы Аа равен числу переменных п. Покажем вначале, что если ха — крайняя точка, то ранг матрицы Аа равен п. Допустим, что это не так, тогда ранг меньше п, и уравнение Аах = 0 имеет решение х Ф 0. Поскольку А-хй <Г Ь-, то можно подобрать такое достаточно малое а Ф 0, что Аъ (х0 + ой) < Ь5, А-(зй-а7)<Ъъ. При этом Аа(х0 + ах) = Аах0 + аАах = Аах0 = Ьа, Аналогично, А„(х0 — ах) = Ь„. Отсюда вытекает, что точки Ха + ах, ха — ах принадлежат X. Это, однако, противоре- чпт тому, что х0 — крайняя точка, поскольку х0 = -т \хй + -; ах) + y(z0 — ale). Обратно, пусть ранг матрицы А„ равен п. Допустим, что .Го не является крайней точкой множества X. Тогда должны найтись такие две точки х', х" el, х Ф х"Л что хо ~ -2 х' + -$ х"- В таком случае Ьа = Аах0 = у Аах' -f- -\~Аах". Поскольку Аох' < Ьа, Аох" ^Ь„, то из этого равенства вытекает, что Аях' ;= Ь„'= А,х", Отсюда получаем А,{х'— G6
— ж") =0, что противоречит предположению о ранге мат- матрицы А„ (так как х' — х" ?=0). Теорема доказана. Из этой теоремы мы получаем два важных следствия. Теорема 2.19. Если в множестве X имеются край- крайние точки, то их число конечно. Доказательство. Из теоремы 2.18 следует, что всякой крайней точке соответствует квадратная невырож- невырожденная матрица А„, полностью определяющая эту точку: •^о = ^а Ьа. Следовательно, число крайних точек в мно- множестве X конечно, поскольку у матрицы А существует лишь конечное число подматриц. Теорема 2.20. Если множество X ограничено, то оно является выпуклым многогранником. Для доказательства достаточно применить определение 2.11 выпуклого многогранника и теорему 2.13 о том, что всякое ограниченное и замкнутое (компактное) множество является выпуклой оболочкой своих крайних точек. 2. Доказательство теоремы 2.18 наводит на мысль о том, что при изучении систем линейных неравенств вида Ах<:Ь полезно, подобно тому, как это делается при ис- исследовании систем линейных уравнений, рассмотреть од- однородную систему неравенств Ах < 0. Обозначим через К множество векторов х, удовлетво- удовлетворяющих системе неравенств ^4.г«5 0: К = {х\Ах^.О). Предоставляем читателю доказать тот простой факт, что К является выпуклым конусом (сам. упр. И). Весьма важным является следующее утверждение. Теорема 2.21. Множество К = {х\Ах^ 0} является выпуклым многогранным конусом. Доказательство. Рассмотрим в R" куб Q = = {ж| —Ка;(<1, i = l, 2, ..., п, х={хи х2, ..., xj) и пересечение S = К Л Q. Поскольку множество S задается системой конечного числа линейных неравенств: S = = {х\Ах^0, ?j*Sl, — Xj «SI, j = 1, 2, ..., га) и, очевидно, ограничено, то, как следует из теоремы 2.19, оно являет- является выпуклым многогранником. Пусть х\ х2, .. ., х" -~ его — \ h крайние точки. Рассмотрим конус К = \х \ х = 2 °4^ii I i=l а* ^ 0, ?=1,2 h\ —коническую оболочку множе- I - ства точек х\ х1, ..., т". Покажем, что К = К. В самом деле, поскольку всеж', i=\, 2, ..., /с, принадлежат ко- конусу К E s Л'), а К — минимальный конус, содержащий 5* ' 67
вти точки, то К^К. С другой стороны, пусть х&К. Тогда найдется такое достаточно малое число X > 0, что %х е Q, т. е. Хх е К П Q = S. Следовательно, вектор Хх дгожно представить в виде выпуклой линейной комбина- ции крайних точек мпожества S;Xx = 2j Pi^ » Pi ft *~ h i = 1, 2,..., A:, 2 Pi = 1- Но в таком случае х = 2 где at = PA>0j_ i = 1, 2, .,., /с. Отсюда вытекает, что x^K, т. е. К^ К. Следовательно, К = К. - -1 а) -1 Рис. 2.18. Иллюстрацией к доказательству этой теоремы служат рис. 2.18, а и б. На этих рисунках конусы К заштрихова- заштрихованы одинарной, а множества S — двойной штриховкой. Отмечены векторы, на которые затем оказывается натя- натянутым конус К. Некоторые из этих векторов являются лишними, но главное то, что конус К натянут на конеч- конечное число векторов. Как показывает теорема 2.16, особенно просто устрое- устроены заостренные конусы. Поэтому важным является ре- результат, дающий необходимое и достаточное условие то- того, чтобы конус К = ix\Ax ^ 0} был заостренным. Теорема 2.22. Конус К = {х\Ах^0} заострен тогда и только тогда, когда ранг матрицы А равен п. Доказательство. Пусть ранг А равен, п. Предпо- Предположим, что конус К не является заостренным и пусть .г^О таков, что х^К, -хе=К. Тогда Ля «SO, — Лл;<0, т. е. Ах = 0, что невозможно, поскольку это однородное уравнение имеет единственное решение х = 0 (ранг А равен числу переменных). Обратно, если ранг А меньше 68
п, то уравнение Ах = 0 имеет непулевое решение х *г* О, и при этом Л(—х) =¦- 0, т. в. х^ К, —х^ К и, следователь- следовательно, конус К не является наостренным. Теорема доказана. Случаи, когда ранг матрицы А равен п, часто встре- встречается в практических приложениях. Так, матрица огра- ограничений стандартной задачи линейного программирования (см. гл. I, § 3) имеет ранг п. Действительно, с учетом соглашения, принятого в этой главе, ограничения хх ^ О, хг>0, ..., xn>Q включаются в общую матрицу огра- ограничений. Следовательно, матрица ограшгчешга стандарт- стандартной задачи линейного программирования содержит под- подматрицу — / ранга п. Определение 2.18. Если ранг матрицы А равен п, то множество Х = {х\Ах<:Ь} назовем регулярным. Теорема 2.23. Множество X имеет крайние точки тогда и только тогда, когда оно регулярно. v Доказательство. Пусть множество X не явля- является регулярным, т. е. ранг матрицы А меньше п. В та- таком случае у матрицы А нет подматриц Ао ранга п, а сле- следовательно (см. теорему 2.8), нет и крайних точек. При доказательстве утверждения в обратную сторону используем следующий прием, позволяющий сводить изу- изучение произвольной системы неравенств к исследованию некоторой однородной системы. Рассмотрим пространство Rn+1 = R" X R1, точки кото- которого будем обозначать (х, t), ^sR", (eR1, В этом про- пространстве рассмотрим систему линейных неравенств Ах — Ы < 0, — t < 0. Матрица ограничений данной системы IA — М есть ( о — I) ~ > и поскольку ранг матрицы А равен п, то ранг матрицы А р'авен п+ 1. Из теорем 2.21 и 2.22 вытекает, что множество R решений этой системы явля- является выпуклым, многогранным и заостренным конусом. По теореме 2.16, в конусе R имеются крайние векторы. Допустим, что все крайние векторы конуса R имеют вид (х, 0). Поскольку R совпадает с конической оболочкой множества своих крайних векторов, то любой вектор в R имеет вид (х, 0). Это значит, что в конусе R нет векторов вида (х, 1), т. е. система неравенств Ах «? Ъ несовместна. Этот случай нас не интересует, поэтому можно считать, что в конусе К есть крайний вектор вида (х, t), t > 0. Покажем, что в таком случае точка -г—крайняя в мно- множестве X. Ясно, что —ie X. Пусть —х =\-х' \— г",
где х'Фх", i'eX, х" еХ, Тогда (х, t) = 1 (**', *) + -|-y(ta\ 0- Кроме того, (tx',t)e-R] (tx", t)<=R. На- Например, покажем это для (tx', t). Поскольку г'еХ, то Ля' < Ь. Тогда Л (to') < Ы, что и требовалось. Из предпо- предположения, что (х, t) — крайний вектор в R, имеем (tx', t) = = Ш, t), If 0, (tx",t)=^(xi t), ц>0. Тогда Х = ц = 1, tx' = x-=tx", т. e. x'= x", что противоречит предполо- предположению x' ?= x". ~- 3. Имеет место аналогия между структурой множества решений систем линейных уравнений и строением мно- множества X допустимых планов задачи линейного програм- программирования (т, е. множеством решений системы B.3M. Чтобы пояснить эту аналогию, рассмотрим систему ли- линейных уравнений Ах = b и соответствующую ей одно- однородную систему Ах = 0. Пусть X — множество решений неоднородной системы, L — множество решений однород- однородной системы, т. е. Х = {х\Ах = b), L = {x\Ax = Q]. Отме- Отметим, что L—¦подпространство, т. ,е. частный случай ко- конуса. Как известно из линейной алгебры, общее решение неоднородной системы получается в виде х0 + L, где х,0 — любой вектор из X. Другими словами, X = х0 + L, Перейдем к изложению соответствующего факта для систем линейных неравенств вида B.3). Обозначим через М выпуклую линейную оболочку множества крайних точек множества X. Как следует из только что доказанной теоремы 2.23, если множество X регулярно, то М не пусто и является выпуклым много- многогранником. Теорема 2.24. Если ранг матрицы А равен п (мно- (множество X регулярно), то Х = М + К. Доказательство. Воспользуемся конструкцией, приведенной в ходе доказательства теоремы 2.23. Там было установлено, что если (х, t), ?>0.— крайний вектор конуса R, то -j х — крайняя точка множества X. Пока- Покажем, что верно и обратное: если х — крайняя точка в X, то {х, 1) — крайний вектор в Я1. В самом деле, допустим, что (x,l) = -j{x',t1) + ±(xe,ti), где (х',и)^К, (х", t2) e R, Тогда г = {г' + {х", *! + *,=? 2. Если tu /2> >0, то fz'eX, ji'eJf. 1 2 70
Точка х допускает запись х = 4- (— х') + у (у х"\. Отсюда, поскольку ? —крайняя точка, имеем — я'= = ±-аГ=х, т. е. (х1, *!)=¦*!(.?, 1), (*',*,)-«,(*, 1). Тем самым доказано, что в этом случае (х, 1)—крайний вектор в R. Пусть одно из tt, U равно пулю, например, t2 = 0. Тогда ti = 2, yi'eX, у х" е X. Пусть а — носитель Крайней точки х (см. определение 2 17); тогда ba = Aax — 1 Г 1 1 = ~2 Аах' -\- п? Аа% . Поскольку у Арх' ^ Ьа, у Аах" ^ 0, то отсюда вытекает, в частности, что Аах" = 0. Ранг мат- матрицы Аа равен п (теорема 2.18), поэтому х" =0. Следо- Следовательно, х' = 2х и (х', ti)=2(x, 1), (х", t2)=0-(x, 1). И в этом случае также получили, что (х, 1) — крайний вектор в К. Пусть (ж1, 1), U2, 1), ..., U\ I), Uft+1, 0), .;., U', 0)- крайние векторы конуса R, принадлежащие разным край- крайним лучам, причем первые к соответствуют крайним точ- точкам множества X. Очевидно, что х'е К при / = к + 1, ..., s. Перейдем непосредственно к доказательству теоремы. Ясно, что Х^М + К. Действительно, если х"•<= М, zeff, то Ла;0<Ь и Лг^О. Покажем, что X ^ М + К. Пусть х^Х. Тогда (х, l)e=R и (х, 1)= Л,а)(х\\)+ S PjU-'.O), j i где otj 3s 0, Pj > 0 для всех /. Отсюда имеем ft S /1 1 = 2 а/ + 2 Pj*', 2j-«j = 1. j=l }=A+1 j=l ft Однако S «j?3 ^ Л/, поскольку это есть выпуклая лп- нейная комбинация крайних точек х1, /=1, 2, ..., &j 21 PjS'7 ^ ^i поскольку ils^j = Hl,...,s1 Теорема доказана, 71
В качестве иллюстрации к утверждению теоремы рас- рассмотрим рис. 2.19, 2.20. На рис. 2.19 множество X пред- представляет собой наклонный треугольный цилиндр в R3, ограниченный снизу плоскостью xt0x2. Многогранник М в данном случае есть треугольник, натянутый на крайние точки А, В, С. Конус К представляет собой луч из начала координат, параллельный образующей цилиндра. Как видно из рисунка, любая точка х е X представима в виде суммы двух векторов, лежащих соответственно в К и М. Рис. 2.20. Иная ситуация на рис. 2.20. Здесь X — цилиндр, не ограниченный в обе стороны. Крайних точек нет, однако достаточно очевидно, что X можно представить в виде суммы треугольника ABC и подпространства L. Оказы- Оказывается, что картина типичпа для общего случая множе- множества X, не являющегося регулярным. Чтобы это показать, воспользуемся обозначением а1 для ;'-го столбца матрицы А. Нетрудпо убедиться, что си- система неравенств B.3) может быть записана в виде B.6) aixi а2х2 .+ а"хп «S Ь. Если ранг матрицы А равен г < п, то среди столбцов а1, а2, ..., ап найдутся г линейно независимых, причем остальные будут выражаться через них в виде линейной комбинации. Будем считать, что линейно независимы пер- г вые г столбцов. Тогда а* = 2 Pj^a',, « =r -f 1, .. ,,п. Под- ставив эти выражения в B.6) и приведя подобные члены, 72
получаем п т п 3=1 3=1 «=r+l т п I т u3Xj + 2ll I 2j Pjsfi j=l «=r+l \j=l n i + 2 Рз«а «=r+l Таким образом, система неравенств B.6) эквивалентна системе 2 P;s*,W<fc. B.7) 5=1 \ «=r+i I Введем обозначение N ZHx) = ^+ 2 Р;Л, / = 1,2, .-м г, «=г+1 Дх) = (Z,(x), Z2(x), ..., 1Лх), 0, 0, ..., 0), Дх) s R". Отметим очевидное свойство преобразования /: 1{1(х)) = Рассмотрим в R" два линейных подпространства: L = ЫКх) = 0), Rr = (x|xr+1 = хг+2 =.. .= х„ = 0> и множество Q = X П Rr. Нетрудно видеть, что x&Q тогда и только тогда, ког- когда 1) Дх)=х; 2) Ах<:Ь. Точки пространства Rr имеют вид (xt, х2, ..., хг, 0, ... ..., 0), и поэтому систему неравенств Ах <i в этом про- Т странстве можно записать в виде 2 a'xi ^ b. Поскольку 3=1 ранг матрицы этой системы равен г, то по теореме 2.24 множество Q можно представить в виде суммы Q = М + + Ко, где М — выпуклый многогранник в пространстве Rr, Ко — конус в Rr, К„ = Ых е Rr, Ax < 0). Покажем, что X = Q + L, Ясно, что X^Q + L. Дей- Действительно, если х = у + 2, где у ^Q, z^L, то Ах = А у + + Az^b, так как Ay^b, Az^O, т. е. хеХ. Обратно, пусть ieX. Положим i/ = x — Z(x). Тогда .Ну) —/(Дх))=0, т. e. j/sL. Поскольку х=»Дх) + [/, то е <? + L, так как Z(x) e (^. 73
Таким образом, X = М + Ка + L. Покажем, что Ко + ?=» = К = \х\Ах<0). Как следует из B.7), для всякого у(=Ь выполняется равенство Ау = 0. По определению Ка, для всякого z s К„ имеем Az ^ 0. Следовательно, Ко + ts К. Обратно, пусть х&К. Положим у = х — 1(х). Тогда, как мы уже видели, у е L. При этом l(x) е Rr и Ля «S 0, т. е. Кх) е #0. Поскольку а; = у + Кх), то х<=К0 + L. Этими рассуждениями доказана Теорема 2.25. Множество X планов задачи линейно- линейного программирования допускает представление X •=• М + + К, где М — некоторый выпуклый многогранник, К = {\А) § 5. Эквивалентность двух определений выпуклого многогранного множества Как следует из результатов § 4, множество X решений линейной системы неравенств Ах^Ъ представимо в виде X = М + К, где М — некоторый ограниченный выпуклый многогранник, К — выпуклый многогранный конус. Учи- Учитывая определения 2.11 и 2,12, мы можем переформули- переформулировать этот факт следующим образом. Для множества X решений системы линейных нера- неравенств имеет место представление А B.8) где х* (г = 1, 2, -.-.., к), у' (j = 1, 2, ..., s) — некоторые век- k торы множества X, а* ^ 0, Р; ^0, 2 «i = 1- i=i Естественно дать следующее. Определение 2.19. Множество X, представимое в виде B.8), называется выпуклым многогранным мно- множеством. С учетом этого определения основные результаты § 4 следует рассматривать как доказательство того, что лю- любое множество X, заданное системой линейных нера- неравенств, является выпуклым многогранным множеством. Оказывается, верно и обратное утверждение: любое выпуклое многогранное множество может быть представ- представлено как множество решений некоторой системы линей- линейных неравенств. С учетом этого факта определение вы- 74
пуклого многогранного множества можно было бы сформулировать в следующем виде. Определение 2.20. Выпуклым многогранным мно- множеством называется любое множество X, совпадающее с множеством решепий Некоторой системы линейных неравенств. Доказательство эквивалентности определений 2.19 ir" 2.20 завершит изложение теории выпуклых многогранных множеств, составляющее содержание §§ 2—5 этой главы. Как следует из теоремы 2.17, множество решений си- системы линейных неравенств выпукло и замкнуто. Следо- Следовательно, в первую очередь нужно установить наличие этих свойств у множества X, имеющего вид B.8). Введем следующие обозначения: г ft М = \т I х — 2 OLix\ oti^O, i — 1, 2,. . ., /г, Тогда X = M + К. Как мы знаем, М — выпуклый много- многогранник, К — выпуклый многогранный конус. По теореме 2.2 множество X выпукло, как сумма двух выпуклых множеств. Множество X замкнуто в силу следующей леммы. Л е м м а 2.4. Пусть М — компакт, К — замкнутое множество. Тогда их сумма X = М + К замкнута. Доказательство. Пусть г/, v2, ..., г/11 — сходя- сходящаяся последовательность точек множества X, lim vm = v. *" m->oo Покажем, что »еХ, откуда и будет следовать, что X замкнуто. Для каждого vm найдутся такие элементы хт е М, у" е К, что vm = хт + у"% т = 1, 2, .... Поскольку М — компакт, то из последовательности {хт} (которая мо- может и не сходиться), можно выбрать сходящуюся после- последовательность. Чтобы не загромождать изложение введе- введением новых индексов, будем считать (не ограничивая общности), что сама последовательность ixn) сходится. Пусть Нш хт = х. Поскольку множество М замкнуто, то m-»oo ^ х^М. Так как ут — vm — хт, то применяя известные фак- 75
ты из теории пределов, можем утверждать, что последо- последовательность {(/"'}, т = 1, 2, ..., сходится. ,Если обозначить ее предел через у, то у = lim ут — lim #m — lim xm = m-»oo m-»oo гн-*оо = у — х, у ^ К. Отсюда v = х + у, т. е. v e X. Опишем процесс построения системы линейных нера- неравенств, множеством решений которого служит множество X, определяемое по формуле B.8). Рассмотрим пространство Rn+1, точки которого будем обозначать w — Uii, и2, ..., ип, v), или более коротко w = {и, v), где и = (гг,, иг, ..., ип), v — число. В простран- пространстве R"+l рассмотрим систему липенпых неравенств <и, xl> - v «S 0, <((, х2> - v «S 0, ... <и, хнУ - v < О, B.9) где х\ х"-, ..., х"; у\ уг, ..., у' — ;?мерные векторы, фигу- фигурирующие в представлении множества X в виде B.8). Обозначим через W подмножество прострапства Rn+1, сов- совпадающее с множеством решений системы B.9). По тео- теореме 2.21 множество W — выпуклый многогранный конус. Следовательно, найдутся такие точки w\ w2, ..., w'^W, что (г 1 Ус ^"I ' = 1,^, ...)^.? (z.iuj Каждая точка и>' имеет вид w' = (u', v'), t — l, 2, ..., /'. Используя числа v' и векторы и1, построим систему неравенств в пространстве R": <u'f *> *? и1, * =1,2, ..., г. B.11) Обозначим через X множество решений этой системы лп- пейных неравепств. Утверждается, что множество X сов- совпадает с множеством X, определяемым формулой B.8). Покажем вначале, что XsX. Пусть жеХ — произ- произвольная точка. Тогда для некоторых а, ^0, i = 1, 2, ..., к, h 2 «1 = 1 и [jj ^0, ; = ls 2i ..., st имеем i—] h s 76
Подставляя выражение для х в B.11), получаем <«*, *> = 2 at <«\ х > + S р3 <u\ г/3> <V 2 ai =* »*. 1=1 5=1 1=1 Здесь мы воспользовались тем, что точка w' = (и', v1) яв- является решением системы B.9), т. е. <uf, хО < v', 4 = 1,2 Л, и <uf, г/О «SO, ) = 1, 2, ..., s. Тем самым включение Х^Х доказано Допустим, что ХфХ, Тогда найдется точка хое^Г) хо ^ X. Применим к этой точке и к выпуклому замкнутому множеству X теорему о разделяющей гиперплоскости (см.' § 2). Найдутся такие w-мерный вектор р и число с, что 1р, х> ^ с для всех х е= X и <р, хо> > с. Покажем, что точка (р, с) е Rn+1 удовлетворяет ограни- ограничениям системы B.9). В самом деле, поскольку х1 е X, то (р, x'>sSc, i=l, 2, ..., к, а это значит, что точка (р, с) удовлетворяет первым к ограничениям системы B.9). Что- Чтобы убедиться в том, что точка (р, с) удовлетворяет осталь- остальным s ограничениям, рассмотрим множество точек хв = = х + $у', где индекс / фиксирован, 1 ^ / *S s, [} — любое неотрицательное число, ieX — любая (фиксированная) точка множества X. Очевидно, xs е X при любом р > 0. Тогда <xs, р> = <х, р> + [Кг/*, рУ^с. Последнее неравен- неравенство, однако, возможно лишь в том случае, если (у1, р)<0. Следовательно, (р, с) е W. Поэтому при некоторых ft ^ 0, t = l, 2, ..., г, имеет место представление (Р. с) = 2 t т. е.p=2vtut) c = 2v<u'- А поскольку жое^, т. е. х0 «=i t=i удовлетворяет условиям B.11), то Г Г <Р. ^о> = 2 Ъ <и\ хо> < 2 Y(u* = с- (=i (=i Полученное неравенство противоречит соотношению <р, хо> > с. Таким образом, имеет место включение Х^Х, а значит, выполняется равенство X.== X. Окончательный вывод из этих рассуждений сформули- сформулируем в виде теоремы. Т/е о р е м а 2.26. Определения 2.19 и 2.20 выпуклого мно'гограиного множества эквивалентны. 77
§ 6. Линейные неравенства 1. В §§ 4—5 изучалась структура множества решений системы линейных неравенств вида B.3). В этом разделе мы остановимся на проблемах следующего типа: В каком случае одно из неравенств системы B.3) яв- является следствием других? Например, пусть неравенство с номером т в B.4) яв- является неотрицательной линейной комбинацией осталь- остальных, т. е. существуют такие неотрицательные числа Ci, h, ••-. Pm-ii ЧТ0 т—1 m—1 а-т = 2 P.flb Ът > 2 РА- Тогда ясно, что т-е неравенство — «лшпнее» в системе B.4). В самом деле, если точка х удовлетворяет только первым т — 1 неравенствам, то она автоматически удов- удовлетворяет и неравенству с номером т: m—i in—1 <ат, хУ = 2 Р. <аи ar>< 2 Pibi < Ът. ¦ 1=1 i=l Определение 2.21. Будем говорить, что пера- венство <с, xXd B.12) является следствием системы неравенств <а;, ar> < Ь,-, г'= = 1, 2, .. ., ;га, если для любого х, удовлетворяющего всем неравенствам этой системы, выполняется неравен- неравенство B.12). Для сокращения записи будем выражать это символически так: Ах =? Ь =>• <с, хУ < d. Определение 2.22.. Будем говорить, что неравен- неравенство B.12) является неотрицательной линейной комбина- комбинацией неравенств системы B.4), если существуют такие неотрицательные числа ph /j2, ..., pm, что 771 c^Spnii, . B,13) i=l m d^SM. B.14) i=l Эти формулы могут быть записаны более компактно с использованием обозначения А' для транспонированной 78
матрицы и обозначения р = (ри р2, -.., рт): * с-А'р, B.15) d7z <Ь, РУ. B.16) Легко видеть, что если неравенство <с, хУ К, d явля- является неотрицательной линейной комбинацией неравенств системы B.4), то Ах ^ Ъ =*¦ <с, хУ ^ d. Оказывается, имеет место и обратное утверждение: если неравенство <с, хУ *S d есть следствие системы Ла;^. ^ Ъ, то оно является неотрицательной линейной комбина- комбинацией неравенств <а{, хУ ^ bh i = l, 2, ..., m, образующих данную систему. Сформулируем этот факт в виде теоремы. Теорема 2.27. Для того чтобы неравенство <с, хУ < «S d являлось следствием системы Ах ^ Ь, необходимо и достаточно, чтобы существовало неотрицательное решение р системы B.15), B.16). Как отмечено выше, в доказательстве нуждается ут- утверждение теоремы 2.27 лишь в одну сторону — о суще- существовании неотрицательного решения системы А'р'=с, <?>, рУ «? d. Этот замечательный факт является .прямым следствием теоремы двойственности, которая будет дока- доказана в следующей главе и, по сути дела, ей эквивалентен. Здесь же мы получим некоторые подготовительные ре- результаты, представляющие самостоятельный интерес кап средство исследования систем линейных неравенств. 2. Лемма 2.5. Если Ах^Ь=*~(с, хУ ^ d, то Ах < Доказательство. Допустим, противное, т. е. что существует такой вектор Ж, для которого Ах ^ 0, но <с, хУ>0. Пусть х — любой такой вектор, что. Ах^Ь. (Такой вектор обязательно существует, иначе- условие леммы Ах ^ Ь =>• <с, хУ < d не имеет смысла). Тогда при любом К > 0 вектор хх = х + Кх удовлетворяет неравенству Ахх *? Ъ. Следовательно, при любом X > 0 должно выпол- выполняться неравенство <с, х,} = <с, хУ + Х(с, хУ ^ d, что не- невозможно, поскольку <с, ж>>0 и величина Х<с, хУ может быть сделана сколь угодно большой за счет выбора X. Доказанная лемма позволяет на первых порах ограни- ограничиться изучением зависимости Ах «? 0 =*¦ <с, хУ < 0. Дру- Другими словами, изучение свойств произвольного много- многогранного множества в некотором смысле сводится к изу- изучению многогранных конусов. С этим явлением мы уже сталкивались в §§ 4, 5. 79
Отметим, что в этом случав теорема 2.27 превраща- превращается в утверждение о существовании неотрицательного решения системы B.15), поскольку неравенство B.16) бу- будет выполнено автоматически. Этот частный случай описывает Лемма 2.6 (Фаркаша). Для того чтобы Ах г?0 =*¦ •=> <с, хУ < 0, необходимо и достаточно, чтобы система уравнений B.15) А'р = с имела неотрицательное решение. Доказательство. Пусть А'р = с, рХ). Тогда m <с, х) = {А'р, х) = 2 Pi <au х) < 0^ i = l если Ах < 0. Обратно, допустим, что Ах < 0 =*¦ <с, х> < 0, но урав- уравнение B.15) не имеет неотрицательного решения. Рас- Рассмотрим выпуклый многогранный конус К = Coia,, а2, ... '..., ат) —коническую оболочку вектор-строк матрицы А. Отсутствие неотрицательного решения уравнения B.12) означает, что вектор с не принадлежит конусу К. (Напом- (Напомним, что, по определению 2.12 конической оболочки, ко- конус К содержит все неотрицательные линейные комби- комбинации ректоров a,-, i ¦= 1, 2, .. ., т). Как известно (теоре- (теорема 2.15)j конус К замкнут. Применим к точке с Ф К и замкнутому конусу К тео- теорему о разделяющей гиперплоскости 6 учетом замечания о том, Что существует опорная разделяющая гиперплос- гиперплоскость (см. § 2). Тогда существует такой вектор х0, что <х0, а> < 0 при а е К и <х0, с> > 0. Здесь мы воспользо- воспользовались теоремой 2.6 из § 2 о том, что гиперплоскость, опорная к конусу, проходит через 0. Поскольку at e К, то (х0, а,> < 0, i = 1, 2, ..., т, т. е. Ах0 < 0. В таком случае должно быть <ха, сУ<0, что, однако, не так. Полученное противоречие доказывает лемму Фаркаша. Лемме Фаркаша можно придать другую формулиров- формулировку в виде альтернативы для систем линейных уравнений. Теорема 2.28. Имеет место следующая альтернати- альтернатива: либо уравнение А'р**с имеет неотрицательное реше- решение, ftUIJb имеет решение система неравенств Ах < 0, <с, х) > 0. Результаты, подобные теореме 2.28, важны в теории линейного программирования и составляют аппарат ис- исследования систем линейных неравенств. Приведем еще два факта такого рода. 80
Теорема 2.29. Имеет место следующая альтернати* ва: либо неравенство А'р^с имеет неотрицательное ре- решение, либо имеет неотрицательное решение система не- неравенств Ах «? 0, <с, хУ > 0. , Доказательство. Легко убедиться, что обе систе- системы неравенств А'р>с и Ах < 0, <с, хУ > 0, не могут одновременно иметь неотрицательные решения. В самом деле, допустим, что р ^ 0, х > 0 — такие решения. Тогда (А'р, хУ > <с, хУ. По свойству скалярного произведения (А'р, хУ = (р, АхУ < 0, так как Ах < 0, р > 0. Получаем противоречивое неравенство 0 > <с, хУ > 0. С другой стороны, предположим, что неравенство А'р > с не имеет неотрицательного решения. Это значит, что уравнение А'р — q = с не имеет неотрицательного ре- решения (р, q). Тогда по теореме 2.28 имеет решение си- система ( _ Ах <! 0, <с, х) > 0. Но первое из неравенств даёт Ах «? 0, - а; *? 0, т. е. х > 0. Теорема 2.30. Имеет место следующая альтернати- альтернатива: либо уравнение А'р = 0 имеет положительное решение р > 0, либо существует такой вектор х, что Ах > 0, Ах Ф 0. Доказательство. Предоставляем читателю дока- доказать, что обе возможности одновременно осуществиться не могут. Допустим теперь, что система неравенств Ах > 0 имеет только такое решение х, что Ах = 0. Рассмотрим конус К = {р\А'р = 0} в пространстве Rm и двойственный ему конус К* = {у\<у, рУ < 0 для всех р е Я}. Покажем, что К* П R+ = 0. Пусть ;/ е Я*. Тогда А'р ^ 0, -4'р < 0 •*- => <г/, р> ^ 0. Применим лемму Фаркаша: существуют такие неотрицательные векторы и, neR" что у =¦ = Аи — Av = А (а — v). Если г/ > 0, то Ах>0, где а: = — u — v, откуда, по предположению, Ах = 0, т. е. у ¦=» 0. Поскольку конус Я*, очевидно, выпуклый и замкнутый, то теперь к нему можно применить теорему 2.8 иа § 2: двойственный ему конус К = (К*)* содержит положи- положительный вектор. УПРАЖНЕНИЯ "~*~ 1. Привести пример множества X, которое вместе с любыми своими точками х\ хг содержит точку х = '/а*1 + 1/2х2 и в то же время не является выпуклым. 2. Доказать, что если множество X замкнуто и вместе с лю- любыми своими точками х\ х2 содержит точку х =^ '/г*1 + Чзх2, то оно выпукло. 6 С. А. Ашманоа 81
3. Доказать, что надграфпк положительной ветви гиперболы, т. е. множество X = {(х, у)\х > О, у > 1/j:}, является выпуклым. 4. Построить гиперплоскость, разделяющую множество X пре- предыдущей задачи и точку E, 0). 5. Доказать, что если миожество X таково, что его можно отделить гиперплоскостью от любой точкп х° <? X, то X выпукло. 6. Пусть X— выпуклый компакт (т. е. ограничено и замкну- замкнуто), а^Х и точка ЬеХ — самая удаленная от а среди точек множества X. Доказать, что Ъ — крайняя точка в X. Указание. Предположить противное и воспользоваться тем, что в неравенстве треугольника \\х +- у\\ ^ \\x\\ + \\y\\ равен- равенство достигается только тогда, когда векторы х и у коллинеарньг. 7. Доказать, что опорная гиперплоскость к выпуклому ком- компакту содержит некоторые его крайние точки. 8. Говорят, что множества Х\ и Х2 строго разделяются гипер- гиперплоскостью <р, х) = с, если <р, xi> ^ с для всех i|eJf| и <р, х2У > с для всех х2 е Х2. Привести пример двух выпуклы* замкнутых множеств, которые нельзя строго разделить никакой гиперплоскостью. 9. Доказать, что если в некоторой граничной точке х° выпук- выпуклого множества X существуют две различные опорные гиперпло- гиперплоскости, то их существует бесконечно много. 10. Пусть вектор х е R™ является выпуклой линейной ком- комбинацией векторов г,1 х2, ..., iueR", Доказать, что х может быть' представлен как выпуклая линейная комбинация не более чем га + 1 векторов из множества {х\ х2, ..., xh). Указание. Рассмотреть векторы вида ) I, I \х /' \х i = 1, 2, ..., к, и воспользоваться леммой 2.1. 11. Доказать, что множество К = {х\Лх ^ 0} является выпук- выпуклым конусом. 12. Доказать, что конус К*, двойственный выпуклому конусу К, является выпуклым. 13. Пусть К = R". Найти К*. 14. Пусть К — многогранный коиус, К = Со{х\ х*,...,х*), К+ = {р\<х',рУ^0, г =1,2, ..., к). Доказать, что К+ = К*. 15. Пусть К — многогранный выпуклый коиус. Доказать, что К* — также многогранный конус. Указание. Воспользоваться упр. 14 и теоремой 2.21. 16. (Теорема Мипковского.) Пусть К — многогранный конус. Согласно упр. 15, К* — также многогранный конус, т. е. сущест- существуют такие р1, р2, ..., рт, что К* = Со {/>', рг, ..., рт]. Доказать, что К= {х\<х, р'У^О, ) = 1, 2 т). 17. Доказать, что коническая оболочка Со (М) является на- наименьшим выпуклым конусом, содержащим множество М,
ГЛАВА III. ТЕОРИЯ ДВОЙСТВЕННОСТИ § 1. Двойственная задача линейного программирования • Рассмотрим задачу линейпого программирования max (сл + с2х2 +...+ спхп) C.1) " гл V** \ > " <п2*2 ' • • • ' ?* }у\п? и -^ ?//»j пли, в матричной записи, max <c, а:) C.2) Задаче11, двойственной к C.1) {двойственной задачей), называется задача лниейпого программирования от ш переменных ри р2,. ..., р,п вида min (fr,/)i + Ьгр, + .'.. + Ь,„рш) а Г) —I— ft гл -+- -+- ft т\ —— f 11/М ' U2\[J2 ' • • • ' "inl/'m — u]j ^12?! + ^22^2 + . . . + dmlPm = Ca, - C.3) «i.iPi + аг,.рг + ...+ атпрт = с„, Pl>0, р,>0,..., рт > О, пли, в матричной записи, min (b, p> C/0 где р = (/)i, ри ..., pm). G* 83
Правила построения задачи C.3) по форме записи за- задачи C.1) таковы: в задаче C.3) переменных pt, столько же, сколько строк в матрице А задачи C.1). Матрица ограничений в C.3) — транспонированная матрица А. Вектором правой части ограничений в C.3) служит век- вектор коэффициентов максимизируемой линейной формы в C.1), при этом знаки неравенств меняются на равенство. Наоборот, в качестве целевой функции в C.3) выступает линейная форма, коэффициенты которой задаются векто- вектором правой части ограничений задачи C.1), при этом символ max меняется на min. На двойственные перемен- переменные Pi накладывается условие неотрицательности. Содер- Содержанием теории двойственности применительно к стан- стандартной задаче линейного программирования C.1) явля- является изучение связей между задачами C.1) и C.2). Задачу C.1), в отличие от двойственной задата C.3), будем на- называть прямой: Будем говорить, что двойственная переменная pt соот- соответствует г-му ограничению прямой задачи, t=»l, 2, ... ..., /га; наоборот, переменная xi соответствует /-му огра- ограничению двойственной задачи, / = 1,2,..., п. Обратимся к трем основным типам задач линейного программирования, описанным в § 3 гл. I, и выясним, как отражается их специфика на двойственной задаче. Двойственная к стандартной задаче ли- линейного программирования . max <c, х~> C.5) Ах < Ь, х 7* 0. Обозначим А = ( А, где / — единичная гаХ/г-матри- ца, Ь = [А, где 0 — га-мерный нулевой вектор. Тогда стандартная задача линейного программирования может быть записана в виде max (с, я> C.6) который совпадает с видом C.1). В таком случае задача, двойственная к C.6), имеет /га + га переменных, которые мы обозначим v = (pu р2, ... ..., Рт, <Ь <Ь ..., <7п), или v = {p% q), где !> = (pit Рг, ... • ¦., Р.»), ? = (?!, д2) .... q,X 84
Двойственная к C.6) задача, согласно описанному алгоритму, получает следующий вид: min <5, у> C.7) A'v = c, v>0. Поскольку А' *= (Л', —/), то, возвращаясь к старым обоз- обозначениям, вместо C.7) получаем min <b, p> C.8) А 'р - q = с, р > О, q > 0. Равенство Л'р — g = с при условии g > 0 возможно тогда и только тогда, когда Л'р > с. Поэтому запись C.8) экви- эквивалентна следующей: min (b, />> C.9) А'р> с, р>0. Действительно, если (/;*, q*) — решение задачи C.8), то, очевидно, р* — решение задачи C.9). Обратно, если р* — решепие C.9), то пара {р*, д*), где q* = A'p* — с, составляет решение для C.8). Поэтому двойственной к стандартной задаче линейного программирования C.5) называется задача C.9). Двойственная к канонической задаче линейного программирования max <c, х> C.10) Ах = by х ^ 0. Заменим каждое равенство <ait х) = Ь, на два нера- неравенства <а(, х) < й(, <—я(, хУ <, — й<. Ясно, что задача C.10) эквивалентна следующей: юах <с, х> C.11) ' Ла; ^ й, - Ла; й= - Ъ, х>0. Обозначив Л = I J, ^ = 1_й/| получаем в других обозначениях новую запись задачи C.11): шах (с, х> C.12) Л,г s= 5, ж S3 0. 85
Ясно, что C.12) представляет собой стандартную за- задачу линейного программирования. Воспользовавшись формулой C.9), получаем, что задачу, двойственную к C.12), можно записать в виде min <5, у> C.13) A'v>c, v>0, где v — (rit г., ..., г,„, sit s2 sn) — вектор 2/?г-мерного пространства. Возвращаясь к прежним обозначениям, имеем min (<Ь, r)-<b, s» C.14) A'r-A's>c, r>Q, s^O, где г =(;¦), г,_, ..., г,„), s = (.s,, s2, ..-., sm). Обозначим p = r—s. Очевидно, что задача C.14) эквивалентна такой: ^ min <Ь, рУ C.15) А'р>с, где на вектор р уже не накладывается никаких дополни- дополнительных условий (типа неотрицательности), поскольку то, что р есть разность двух неотрицательных векторов г и s, никакой информации не несет. Задача C.15) называется двойственной к канониче- канонической задаче C.10). Нетрудно проверить и обратпое: задача, двойственная к C.9), совпадает с C.5), а двойственная к C.15) совпа- совпадает с C.10). Поэтому прямую и двойственную задачи линейного программирования называют также взаимо- взаимодвойственными. Из предыдущих построений, а также факта взаимо- взаимодвойственности задач C.5), C.9) и C.10), C.15) вытекает следующее наблюдение, которое нетрудно обосновать формальными выкладками: на i-va переменную задачи линейного программирования условие неотрицательности накладывается тогда и только тогда, когда г-е ограниче- ограничение двойственной задачи носит характер неравенства (а не уравнения). Ограничась этим и не делая больше формальных пре- образоваппй, выпишем двойственную задачу к общей за- 88
даче линейного программирования (см. § 3 гл. I): h m min 2 Ьхр{ -f 2 1=1 i=ft+ ; = r+l,...,m, C.16) Pi>0, 1=1,2,...,*, где (напомним) a1— /-й столбец матрицы А, р = (pi, рг,... • • •, Vmlt В следующих параграфах теория двойственности бу- будет построена для взаимодвойственных задач C.1), C.3),' причем будет использоваться в основном матричная за- запись C.2), C.4), а затем эта теория будет распростране- распространена на остальные типы вадач линейного программи- программирования. § 2. Теорема двойственности 1. Выясним вначале простейшие связи между прямой C.2) и двойственной C.4) задачами. Напомним терминологию линейного программирова- программирования на примере задачи C.2). Линейная функция (форма) <с, х) называется целе- целевой функцией задачи. Вектор х, удовлетворяющий ограничениям задачи, т. е. Ах ^ Ь, называется допустимым, или планом. Множество Х = {х\Ах<^Ъ) всех допустимых векторов называется допустимым множеством, или множеством планов. Если допустимое множество X задачи C.1) не пусто, то задача называется допустимой. Если целевая функция <с, хУ достигает на множест- множестве X планов максимального значения и оно равна d, то число d называется значением задачи C.1). Любой допустимый вектор х* ^ X, на котором целе- целевая функция принимает максимальное значение Кс, я*> = = d), называется решением задачи C.1), или оптималь- оптимальным планом. Отметим очевидный факт: х* ^Х оптимален тогда и только тогда, когда для любого з:<=Х имеет место нера- неравенство <с, х~> ^ <с, х*). 87
Нам придется.часто проделывать следующие преобра- преобразования систем линейных неравенств вида C.1). Пусть Р = (ри Рг, ¦ ¦ ¦¦> Рт) — неотрицательный вектор, р< > О, i = 1, 2, ..., т. Умножим i-e неравенство в C.1) на чис- число р{: pMuXi + йахг + ... + ainxn) < р,Ь,. C.17) Поскольку pi 3* О, то знак неравенства сохраняется. Просуммируем полученные неравенства по i = 1, 2, ..; «•'.., т: п ординату вектора Ах, то формулу C.18) можно записать в более компактной форме Поскольку число 2 a-ijZj представляет собой г-ю ко- кото формулу C.18) можно записать орме <р, Ах> й= <р, Ь>. . C.19) Поскольку, очевидно, <р, Ах") = <А'р, х), C.20) то при р > 0 из неравенства Ах ^ Ь вытекает C.19), или <А'р, х> ^ <р, Ь>. C.21) В дальнейшем будем пользоваться формулами C.19), C.20), не прибегая к выкладкам с суммами. Переход от неравенства Ах ^i к неравенству C.19) при р > 0 назовем скалярным умножением на вектор р. Теорема 3.1. Если множество X плйнов задачи C.1) не пусто и целевая функция <с, х~> сверху ограни- ограничена на этом множестве, то задача C.1) имеет решение. Доказательство. По теореме 2.25 § 4 гл. II, множество X представимо в виде X = М + К, где М — не- некоторый выпуклый многогранник, К — выпуклый много- многогранный конус, К= {у\Ау ^0}. Пусть h \ где {х\ хг хк) — множество всех крайних точек мно-
гогранника М. Обозначим d= max <с, х1). Пусть х*— та из крайних точек многогранника М, для которой d = = <с, х*">. Покажем, что х* — решение задачи C.1). По- Поскольку х* е X, то требуется лишь показать, что для лю- любой точки ieX выполняется неравенство <с, х"> ^ d. h В самом деле, пусть х — 2 aixi Л-У, гДе У^К- Тогда Здесь мы воспользовались неравенством для у s К. Действительно, если <с, ;/> > 0, то поскольку при лю- г бом Я > 0 вектор х* + Ху принад- лежит X, т. е. является допусти- ° мым, получаем, что целевая функ- функция <с, а;> на X может принимать сколь угодно большие значения <с, х*> + к(.с, у>, т. е. неограни- чена. Если множество М пусто, то X = К и тогда очевидно, что точка х* = 0 является решением C.1). Отметим, что теорема 3.1 справедлива лишь для за- задач линейного программирования. Например, рассмотрим задачу max x-i — 1, хх 5г 0. Рис. 3.1. Здесь целевая функция липейна, но одно па ограничений не является линейным. Допустимое множество X данной задачи представляет собой часть плоскости, ограниченную ветвью гиперболы (см. рис. 3.1). Множество X выпукло (докажите!) и замкнуто. Целе- Целевая функция х2 ограничена сверху числом 0, однако точ- точная верхняя грань значений целевой функции на мно- множестве X, которая равна нулю, не достигается. Непосредственно из доказательства теоремы 3.1 полу- получаем следующее следствие. Теорема 3.2. Если множество X допустимых пла- планов имеет крайние точки (г. е. ранг матрицы А равен п)
и задача C.1) имеет решение, то среди крайних точек найдется оптимальная. Доказательство очевидно, поскольку, если задача C.1) имеет решение х* и, кроме тога, (с, х*У =d, то линейная форма <с, х) ограничена на множестве X числом d. Те- Теперь остается обратиться к доказательству теоремы 3.1. 2. Обозначим через Р множество планов двойственной задачи C.4): Р = {р\А'р = с, р^О). Лемма 3.1. Пусть х^Х, р^Р — произвольные до- допустимые планы прямой C.2) и двойственной C.4) задач соответственно. Тогда {с, х> *? <Ъ, р>. C.22) Доказательство. Поскольку х ^ X, то Ах =S /;. Умножим это неравенство скалярцо на вектор р 3= 0. Из C.19) и C.21) получаем <с, х> = <А'р, х> = <р, Ах) ^ *? <р, Ъ\ Лемма 3.2. Пусть х*^Х, р* ^ Р — планы задач C.2), C.4) соответственно. Если <с, х*> = <Ъ, р*У, то х* — решение задачи C.2), р* — решение задачи C.4). Доказательство. Пусть х^Х — произвольный план задачи C.2). Тогда, по лемме 3.1, <с, х) ^ (Ъ, р*У => = <с, х*), т. е. <с, х) ^ <с, з;*>. Утверждение для р* до- доказывается аналогично. Лемма 3.2 дает достаточное условие оптимальности планов задач линейного программирования. Позднее ми убедимся в том, что оно является также и необходимым условием оптимальности планов X* и р*. Основу теории двойственности составляют две тео- теоремы. Первая из них называется теоремой двойственно- двойственности,, вторая — теоремой равновесия. Объяснепие послед- последнего названия кроется в экономических интерпретациям двойственной задачи, о которых будет говориться в гл. IV. Теорема двойственности. Если взаимодвой- ственные задачи C.2), C.4) допустимы, то они обе имеют решение и одинаковые значения. Доказательство. Пусть задачи C.2), C.4) до- допустимы и р еР — произвольный план задачи C.4). Тогда, по лемме 3.1, целевая функция (с, х) ограничена на множестве X числом (Ъ, р). Отсюда и из теоремы 3.1 получаем, что задача C.2) имеет решение х*. Рассмотрим в пространстве- R систему линейных уравнений А'р = с C.23) <Ь, р) = <с, х*>, C.24) 90
Если вектор р* неотрицателен и является решением системы C.23), C.24), то 1) р* — план задачи C.4), так как р* > О, А'р* = с; 2) р* — оптимальный план задачи C.4), так как <Ь, р*У = <с, ?*>, а это, согласно лемме 3.2, достаточное условие оптимальности; 3) значения <с, х*У и <Ь, р*> задач C.2) и C.4) совпадают. Таким образом, для доказательства теоремы двойст- двойственности остается показать, что система уравнений C.23), C.24) имеет неотрицательное решение. Запишем данную систему в матричном виде. Пусть ) -(<;->)•¦Тогда Ар = с C.25) — запись системы уравнений C.23), C.24) в новых обо- обозначениях. Допустим, что система уравнений C.25) не имеет не- неотрицательных решений. В таком случае, по теореме 2.26 из § 6 гл. II, имеет решение система неравенств А'х<0, <с, х>>0. C.26) Здесь х — вектор размерности п + 1 (в соответствии с тем, что у матрицы Л' = (А, Ь) имеется п + { столбец). Обо- Обозначим х — {х, 7-), где ieR", 7 "~чпсло- Тогда система неравенств C.26) может быть записана в виде Ах + чЬ^О, C.27) <с, х> + ч<с, х*> > 0. C.28) Покажем, однако, что данная система не может иметь решений (х, 7). Умножим скалярно неравенство C.27) на вектор р > 0 — план задачи C.4): ЪХО. C.29) Воспользовавшись равенствами <р, Ах) — (А'р, хУ = = <с, ?>, из C.25) получаем <с, хУ + ^<Ь, р> < 0, что вместе с C.28) дает ч(<с, х*У — <Ь, р>)>0. Поскольку <с, х*> ^ <Ь, р>, то ^ <0. Поделив обе части неравенства C.27) на положитель- положительное число —7, получаем А{—х/^)^Ь. Это означает, что вектор —xl'x допустим для задачи C.2), Так как, кроме 91
того, х* — решение задачи C.2), то <с, —х/*[> «S <с, х*>, или <с, ?> + 7<с, #*> < 0, что противоречит C.28). Таким обрааом, система C.27), C.28) не может иметь, решений. Теорема двойственности доказана. 3. Теорема равновесия. Пцстъ x* = (xlt х*, ... ..., Хп), р* = (р*, Pt, ..., Pm) — оптимальные планы прямой C.1) и двойственной C.3) задач соответственно. Тогда если р; > 0, то апх* -f al2x* + ... + ainx* = Ь{. ' C.30) Доказательство. Поскольку х* е X, то Ля* < Ъ. Умножив это неравенство скалярпо на р* > 0, получаем <с, х*> = <^4'/>*, х*> — (р*, Ах*> < (Ь, р*>. Поскольку, по теореме двойственности, <с, х*У = (Ь, р*), то </?*, Ах*) — <Ь, /?*>.' Следовательно, </?*, -Ах* + ЬУ = 0. Bert- тор г = — ill* + Ь неотрицателен, так как Аг* < Ь. Ска- m лярное произведение </>*, г> = 2 Р«г« может равняться нулю только тогда, когда равенство Pi r-t = 0 выполняется для всех I = 1, 2, ..., т. Если р* > 0, то п 0 = Г{ = (Ь — Ax*)i = 6{ — Ц flija:*. ;-i Отсюда и вытекает утверждение теоремы. Отметим, что решение задач C.1) и C.3) необязатель- необязательно единственно. В связи с этим обратим внимание на то, что в теореме равновесия речь идет о любой паре ре- решений х*, р* этих задач. Выведем некоторые следствия из теорем двойственно- двойственности и равновесия. Теорема 3.3. Если одна из взаимодвойственпых задач имеет решение, то имеет решение и другая. Доказательство. Допустим, что задача C.1) имеет решение х*. Априори возможны два случая. 1) Задача C.3) допустима. В таком случае множест- множество Р непусто, и целевая функция (Ь, р) ограничена на нем снизу числом <с, х*) (согласно лемме 3.1). По тео- теореме 3.1 задача C.3) имеет решение. 2) Задача C.3) недопустима, т. е. система уравнений не имеет неотрицательного решения. В этом случае по теореме 2.28 (см. § 6 гл. П) имеет решение х система неравенств Ах ^ 0, (с, х) > 0. Рассмотрим вектор х = 92
•=х* + х. Ясно, что Ax<b, т.е. Jel Прп этом <с, х> = <с, я*> + <с, х>><с, я*>, что невозможно. Та- Таким образом, второй случай невозможен. Теорема 3.3 показывает, что имеются следующие воз- возможности: а) обе задачи C.1), C.3) допустимы (а значит, имеют решение); б) обе задачи C.1), C.3) недопустимы; в) одна задача допустима, другая нет. Примеры показывают, что все три возможности осу- осуществляются: а) шах (х, + х2) min Dр, + 4/>2) 2xt + хг < 4, 2pt 1 2i xt + t, pt p2 , р* >0, р2> 0; z* = D/3, 4/3), р* = A/3, 1/3). Поскольку значения целевых функций прямой и двой- двойственной задач на векторах х* и р* совпадают, то по лемме C.2) эти векторы являются решениями соответ- соответствующих задач. б) max (я, + Ъх2) min (Зр( — 4р2) xt — хг < 3, . Pt~ Рг = i, —Xi + хг< —4. — Pi + рг = 3; Pi > 0, рг > 0. Обе задачи недопустимы. в) max xt mm pt z.-ZjsSl. Pi ¦= 1, -Pi = 0, Pi > 0. Здесь прямая задача допустима, двойственная — недопу- недопустима. При этом прямая задача не имеет решения, как и должно быть по теореме 3.3. Теорема 3.4. Если одна из взаимодвойственных задач недопустима, а вторая допустима, то целевая функ- функция второй задачи неограничена на допустимом мно- множестве. Доказательство. Допустим, что задача C.3) не- недопустима, а допустимое множество X задачи C.1) не- непусто. Если предположить, что целевая функция <с, х) ограничена на множестве X, то из теоремы 3.1 будет следовать, что задача C.1) имеет решение, что противо- противоречит утверждению теоремы 3.3. 93
Теорема 3.5. Пусть x = {xt, х2, ..., хп), р — — (ри pii •••! Pm) — допустимые планы задач C.1) и C.2) соответственно, причем выполняется условие: если pt > О, то ахгх г +... + ainxn — bt. C.31) Тогда х и р — оптимальные планы соответствующих задач. Доказательство. Из условия C.31) вытекает ра- равенство <р,Ах) = <р,Ь). Поскольку <р, АхУ = (А'р, х> = = <с, хУ, то получаем равенство (с, х> = <Ь, р), после чего остается воспользоваться леммой 3.2. Теорема 3.5 является обратной к теореме равновесия. Взятые вместе, они дают необходимое и достаточное условие оптимальности допустимых векторов. 4. Теорема двойственности позволяет доказать теоре- теорему 2.27, сформулированную в § 6 гл. II. Доказательство теоремы 2.27. Пусть нера- неравенство <с, x)<d является следствием системы нера- неравенств Ах < Ъ. Это значит, что линейная форма <с, х) ограничена на множестве Х== {х\Ах^ Ъ). Рассмотрим задачу линейного программирования C.2) с данной матрицей А и векторами Ь, с. По теореме 3.1 эта задача имеет решение х*. Пусть значение задачи C.2) равно <?: (с, х*) — й. Тогда й^й. По теореме двойственности двойственная задача C.4) также имеет решение р*, т. о. А'р* = с, р* > О.Ири этом <р*, Ь> = 3^d. Используя приемы, переводящие различные типы за- задач линейного программирования друг в друга, можно распространить теорию двойственности на все типы за- задач. Так, нетрудно убедиться, что теорема двойственно- двойственности справедлива для стандартной, канонической и общей задач линейного программирования. Для примера сформулируем теорему равновесия для стандартной задачи: Пусть х* = (х*,Х2,..., х*п),р* = (р*, pi,..., р*т)—опти- р*т)—оптимальные планы прямой C.5) и двойственной C.9) задач соответствешю. Тогда, еслир\> 0, то ацх[ Если X) > 0,7-0 а\)Р\ + a.2)P*i + • ¦ • + amiP*m = 94
§ 3. Короткое доказательство теоремы двойственности Теорема двойственности представляет собой централь- центральный результат теории линейного программирования. Су- Существуют различные методы ее доказательства — и чисто алгебраические, без использования результатов типа тео- теорем об отделимости, и доказательства, основанные на принципиально новых идеях типа метода штрафных функций. Мы при доказательстве этой теоремы пользо- пользовались всеми сведениями о строении выпуклых много- многогранных множеств, полученными в гл. II. Теория вы- выпуклых многогранных множеств является неотъемлемой частью линейного программирования, поскольку, она пол- полностью описывает структуру допустимых множеств задач линейного программирования. Тем не менее в этом пара- параграфе мы дадим доказательство теоремы двойственности, не опирающееся на основные факты о многогранных ' множествах. Непосредственное доказательство теоремы двойствен- двойственности будет использовать следующую независимую це- цепочку утверждений: теорема об отделимости— § 2 гл. II, теорема о замкнутости многогранного выпуклого ко- конуса — § 3 гл. II. простейшие связи между прямой и двойственной за- задачами— леммы 3.1, 3.2 § 2 гл. III, альтернатива для систем линейных неравенств — тео- теорема 2.29 § 6 гл. II. Доказательство теоремы двойственно- двойственности для стандартной задачи линейного программирования. Рассмотрим взаимодвойственные стандартные задачи линейного программирования: щах <с, хУ min <Ь, у~> Ах^Ъ, . х>0; А'у>с, у>0. Будем считать, что обе эти задачи допустимы. Рассмотрим спстеяу линейных неравенств от прре- .менных (х, у) = (хи х2, ..., хп, j/i, уг, ..., ут) в простран- пространстве Rn+m; Ax^b, A'y^c, C 32) <z, с) =г <j/, 6>, x>0, y>Q. 95
Лемма 3.3. Если (.х*, у*) —решение системы C.32), то векторы х* и у* являются решениями прямой и двой- двойственной задач соответственно. Доказательство. Действительно, поскольку (х*, У*) удовлетворяет системе неравенств C.32), то х* и у* допустимы каждый для своей стандартной задачи линей- линейного программирования. .Тогда по лемме 3.1 из § 2 на- настоящей главы <с, х*У < <Ь, у*У. Но из C.32) вытекает, что <с, х*У> <Ь, у*У. Следовательно, <с, х*> = (Ь, у*У, и по лемме 3.2 из § 2 получаем требуемое утверждение. Таким образом, для доказательства теоремы двойст- двойственности нужно показать, что система неравенств C.32) имеет решение {х*, у*). Запишем систему C.32) в матричной форме: или где Лемма 3.4. Если обе взаимодвойственные стандарт- стандартные задачи линейного программирования допустимы, то система неравенств C.32) имеет решение. Доказательство. Допустим, что утверждение леммы неверно, и система C.32), а значит, и системы C.33), C.34), решения не имеют. Согласно теореме 2.29 § 6 гл. II в таком случае имеет решение система A'v > О, <v, Б> < 0, C.35) v>0. Распишем эту систему подробнее: А' 0 0 — А -е\ ъ w C.36) <v, b>-<w, cXO, v^O, w>0, u>0,
где v = (v, w, и). Здесь v — m-мерный вектор, w имеет размерность п, и — число. Систему неравенств C.36) можно переписать следую- следующим образом: A'v-uc>0, -Aw + ub~2? 0, C.37) <v, Ь> - <w, c>< 0, v^O, w>0, u>0. Покажем, что система C.37) не может иметь решений. Пусть х, у — допустимые векторы прямой и двой- двойственной стандартных задач соответственно. Тогда <у, Ь> > (v, Ах> = <A'v, x> > и(с, х>, <w, с> < (w, A'y7= (Aw, y> sS u(b, уУ, т. е. <v, b> > и<х, с>, (w, c> < и(у, Ь~>- Вычитая второе неравенство из первого, получаем О > <v, Ъ> - <н>, с> > uUx, c> - <у, Ь>), откуда и > 0. Рассмотрим векторы v = у/и n S- w/u. Из неравенств C.37) с учетом а > 0 имеем Л'?2* с, ?3*0, Л 23 < ft, w>0, <w, с> < <г\ 6>. Первая строчка означает, что пекгор v допустим для двойственпой стандартной задачи. Из второй строчки вы- вытекает, что w допустим для прямой задачи. Но в этом случае последнее неравенство невозможно, так как оно противоречит лемме 3.2. Из лемм 3,3 и 3.4 непосредственно вытекает спра- справедливость теоремы двойственности. § 4. Строение множестиа решений задачи линейного программирования Пусть Х° — непустое мпожество решений задачи C.2), d — значение зтой задачи Нетрудно видеть, что Х° — выпуклое многогранное множество. В самом деле, оче- очевидно, что Х° определяется системой линейных нера- неравенств <с, х) ^ d, (—с, x)^—d, Ax^b, и поэтому паше утверждение непосредственно вытекает из определения 7 С. А. Ашманов 97
2.20 выпуклого многогранного множества. Согласно теоре- теореме 2.25, множество X" допускает представление вида где Мх — некоторый выпуклый многогранник, Кх° = {х\Ах^0, <c, х> = 0). Нас интересует вопрос о связи множества Мх с мно- множеством М в представлении Х = М + К. (Напомним, что K=-ix\Ax<0).) Сначала покажем, что в качестве выпуклого много- многогранника М всегда можно взять множество М П Х°. Действительно, так как и М, и X" — выпуклые много- многогранные множества, то их пересечение также является выпуклым многогранным множеством (докажите!). Из ограниченности М вытекает ограниченность пересечения. Таким образом, М П Х° — выпуклый многогранник. Убе- Убедимся в выполнении равенства Х° = М(\Х° + Кх°. С этой целью покажем, что для любой точки х" е X" в представлении х" = т + у, где melf, i/ <= К, обязатель- обязательно те=Х°, У?еКх°. В самом длее, d = <с, х°У = (с, т> + <с, уУ < d + <c, уУ, откуда имеем <с, уУ > 0. Допустим, что <с, у> > 0, и рас- рассмотрим точку х(Х) = т + Ку, Очевидно, что х(\) е X при любом \>0. Тогда <с, х(Х)У = <с, m> + X<c, j/>,* откуда видно, что, взяв достаточно большое значение X, можно получить допустимый вектор х(К), на котором значение линейной формы сколь угодно велико. В таком случае задача C.2) не имеет решения, что противоречит пред- предположению о непустоте множества X". Таким образом, <с, г/> = 0, что вместе с условием у е К дает у^Кх . Кро- Кроме того, отсюда вытекает равенство d = <с, т>, которое означает, что точка т является решением задачи C.2), т. е. те Х° Этими рассуждениями доказано включение V'O Х° е М П Х° -f- К' . Обратное включение очевидно. Рассмотрим отдельно случай, когда множество X име- имеет крайние точки (т. е. оно регулярно). Напомним, что в этом случае выпуклый многогранник М в разложении 98
X = M + К определяется однозначно — он является вы- выпуклой оболочкой множества всех крайних точек из X. По теореме 3.2, множество X" также имеет крайние точ- точки. Кроме того, согласно теореме 2.24, Мх —выпуклая оболочка множества крайних точек из X". Предыдущие рассуждения показывают,что в этом случаев —М{\Хй. Отметим, что каждая крайняя точка множества X" является крайней и в множестве X. Действительно, пусть х°~—крайняя точка в X". Предположим, что она не явля- является крайней в X. Тогда найдутся такие х1, хг е X, что -v.0 _ 1 ~1 I 1 ~2 х — ~о~ ~i—2~ ' Поскольку подобное представление для точки х" не- невозможно в множестве Х°, то хотя бы одна из точек х\ хг не принадлежит X". Допустим, х1 <? X". Тогда <с, xl~><d. Воспользовавшись неравенством <с, хгУ ^,d, получаем d = <(с, ж°> = -=- <с, я1) + у <с, а:2) <; d. Получен- Полученное противоречие доказывает, что х° является крайней точкой X. Таким образом, в случае, когда множество X регуляр- регулярно, выпуклый многогранник М описывается следую- следующим образом: он является выпуклой оболочкой множе- множества {х\ хг, ..., геь}ПХ0, где {х\ i=l, 2, ..., к) — мно- множество всех крайних точек в X. Рассмотрим множество Р" решений двойственной за- задачи C.4). Нетрудно показать, что оно также является выпуклым многогранным множеством. - Множество Р допустимых векторов двойственной за- задачи всегда имеет крайние точки (так как рапг матрицы ограничений задачи здесь равен т — числу переменных). В представлении Р = Мр + Кр множество Мр является выпуклой оболочкой крайних точек множества Р, Кр = {р\А'р = 0, р>0). Если теперь {р\ рг, ..., р'} — множество всех крайних точек Р, то для множества Р° имеет место представление где Мр —выпуклая оболочка множества {р1, рг, ... }пР\ = 0, pTzO}. ?9
§ 5. Интерпретация двойственных оценок н дифференциальные свойства функции значений 1. Формальпо-математический аппарат теории двойст- двойственности, развитый в предыдущих параграфах, представ- представляет собой удобный инструмент исследования линейных моделей. В связи с этим возникает мысль попытаться интерпретировать двойственную задачу линейного про- программирования в . содержательных терминах прямой задачи. В качестве примера рассмотрим модель составления производственного плана, описанную в § 2 гл. I. Напом- Напомним, что ее формальная запись представляет собой стан- стандартную задачу линейного программирования: max <c, хУ C.38) Ах^Ь, х>0. Матрица А задает технологию производства — ее /-й столбец а1 = (а,„ а2), ..., ат]) состоит из коэффициентов ау, описывающих расход ?-го вида ресурса (сырья) при производстве одной единицы /-го продукта. Векюр Ь — — (Ь,, Ь2, ..., Ът) отражает запас всех видов ресурсоз. Двойственная задача в этом случае имеет вид min (Ь, рУ C.39) А'р>с, р>0. Пусть р* =(pi, Pi,- .., Рт) —произвольное решение двой- двойственной задачи. Теорема равновесия для стандартной задачи линейного программирования утверждает, что для любого решения х* задачи C.38) из неравенства (Ах*), < Ь, следует, что р\ = 0. В связи с этим возникает мысль рассматривать число р\ как оценку дефицитности i-ro вида ресурса: если при некотором оптимальном пла- плане х* задачи C.38) ресурс Ь, использован не полностью, то его оценка равна 0 — этот ресурс не дефицитен. Дру- Другими словами, данный факт означает, что увеличением запаса только этого ресурса нельяя добиться увеличения значения целевой функции. Правда, может существовать другое решение х зада- задачи C.38), для которого будет иметь место равенство {Ах){ = Ь{, которое означает, что при дампом плане х производства i-й вид ресурса используется полностью. 100
Тем не менее, как будет показано ниже, вывод остается тем же: если хотя бы для одного решения р* двойствен- двойственной задачи C.39) имеет место равенство [н = 0, то уве- увеличением запаса только i-jjp вида ресурса нельзя добить- добиться увеличения значения целевой функции. Таким образом, если хотя бы для одного оптималь- оптимального плана х* задачи C.38) выполняется неравенство (Ax*)t< Ь{ (т. е. г-й ресурс недефицитен), то для любого решения р* двойственной задачи /J; = 0 и i-й ресурс не является дефицитным ни при каком другом оптималь- оптимальном плане х. • Имея в виду изложенную интерпретацию, координаты решения р* = (рг, р2,- ¦., рт) двойственной задачи часто называют двойственными оценками. 2. В дальнейшем в этом параграфе обсуждение поня- понятия двойственных оценок будет вестись в терминах за- задач C.2) и C.4). Полученные при этом выводы, конечно, будут спра- справедливы для любой задачи линейного программирования. Чтобы изучить подробно зависимость максимального значения целевой функции <с, хУ от вектора Ъ правой части ограничений задачи C.2), введем в рассмотрение 'следующие функции. Значение d задачи C.2) будем обозначать d = F(b). В тех случаях, когда следует подчеркнуть зависи- зависимость числа d также от вектора с, будем писать d = fib, с). Рассмотрим множества S = (zgRbI существует x^R", z 5= Ах}, С = {w&: R"| существует peR" p > 0, w = А'р}. Из теоремы двойственности непосредственно вытека- вытекает, что областью определения функции fib, с) является множество ВХС = ((г, w)\zeB, we-C). Действительно, ясно, что если ib, с)ФВУ.С, т. е. ес- если либо ЬФ В, либо с<?С, то по крайней мере одна из взаимодвойственных задач C.2) и C.4) недопустима. Следовательно, по теореме 3.4, задача C.2) не имеет ре- решения, т. е. функция / не определена для пары ib, с). Наоборот, если ib, с)е В X С, то, как легко видеть, обе задачи C.2) и C.4) допустимы, откуда по теореме 101
двойственности получаем, что задача C.2) имеет реше- решение, поэтому значение fib, с) определено. Для некоторых задач линейного программирования может оказаться, что пара ib, с) является граничной точкой множества ВХС, так что небольшое изменение вектора b или вектора с может привести к тому, что за- задача C.2) не будет иметь решения. Чтобы иметь возможность изучать поведение функ- функции fib, с) всюду в некоторой окрестности данной точки (Ъ, с), в дальнейшем будем предполагать, что точка ib, с) не лежит на границе множества ВХС, т. е. явля- является внутренней для этого множества. Для иллюстрации данного требования рассмотрим Пример. max ic^i + сгхг) C.40) Множество В для этой задачи определяется равенством # = {(z,, 22)lz, > Xi + 2хг, Z2>3Xi + Хг, Xi>0, Хг>0). Другими словами, точка izu z2) принадлежит множе- множеству В, если найдется такая точка ixu хг), что Xt >0, Хг~> 0, Zi 3* Zi + 2хг, Z2 > За:, + Хг. Отсюда нетрудно видеть, что в данном случае В = R+ так как из .условий х^ 0, хг ^ 0 следует, что если (zi, z2) ^ В, то Zi ^ 0, z2 > 0. С другой стороны, если z, 7% 0, z2 2* 0, то (Zi, Zi)^B, так как в качестве вектора (xi, х^) можно взять @, 0). Поэтому вектор b= ibh b\) является граничным для множества В только- в юм слу- случае, когда bt > 0, Ьг > 0 и одно из чисел Ьи Ьг равно 0. Можно также показать, что вектор c = ici, c2) при- принадлежит границе множества С для нашей задачи толь- только в том случае, когда с коллинеарен одному из векто- векторов A, 2), C, 1) —строкам матрицы А. Теорема 3.6. Функция fib, с) является положи- положительно однородной первой степени по каждому из аргу- аргументов b и с, т. е. f(Kb, с) = Х/(Ь, с), f(b,lc) = Xf(b, с) для всякого X > 0. 102
Доказательство. Рассмотрим задачи max <с, я> Ах<ХЬ, min <Xb, p> C.41) Гис. C.42) А'р = с, р>0. Пусть х* — произвольное решение задачи C.2), т. е. <с, х*У = f(b, с). Тогда вектор Хх* допустим для за- задачи C.41): Ах*<Ь=> =>А{Хх*)<ХЬ, так как X ~> 0. Покажем, что Хх* — решение задачи C.41). Пусть р* — решение зада- задачи C.4). Тогда вектор р* допустим для задачи C.42). .Поскольку по теореме двойственности <с, х*У = <Ь, р*У, то <с, Хх*У = <ХЬ, р*У, от- откуда по лемме 3.2 получаем, что Хх* — решение задачи C.41). Следовательно, fiXb, с) = <с, Хх*У = Х<с, х*У = = Xf(b, с). Аналогично доказывается однородность функ- функции / по аргументу с. Определение 3.1. Функция ф(я) =<p(xit хг, ..., хл), определенная на выпуклом множестве X s R", называет- называется выпуклой, если для любых векторов х\ i'sX, и лю- любого числа а, 0 < а =$ 1, выполняется равенство ф(аа;4 + A — а)хг) s? аф(д;') + A — а)<р{х2). Поясним введенное понятие на примере функции од- одной переменной. Точка х = ах1 + A — а)хг принадлежит отрезку [х1,хг], причем при изменении а от 1 до 0 эта точка пробегает весь отрезок. . Рассмотрим прямую, проходящую через точки {х1, ф(^')), {хг, (р{х2)) плоскости. Уравнение этой прямой име- имеет вид у — ф(д1) _ у — ф (х1) Подставляя сюда выражение для точки х через концы отрезка ж1, ж2, получаем у(х) = аф(ж') + A — а)(((х2). От- 103
сюда вытекает геометрическая интерпретация понятия выпуклой функции: график этой функции лежит под хордой, соединяющей две произвольные точки этого гра- графика (рис. 3.2). Типичным примером выпуклой функции является функция п переменных х\ -\- х\ +... + х\ (см. упр. 19). В некотором смысле двойственным к понятию выпук- выпуклой функции является понятие вогнутой функции. Определение 3.2. Функция ф(я) «=<p(a;,,Xj,..., х„), определенная на выпуклом множестве X s R", называется вогнутой, если для любых х\ /еХ и любого числа а, 0<а<1, выполняется неравенство ф(аж'+ A - a)i') > ) ()() Примером вогнутой функции служит Т/х, + хг +...+ ха. Теорема 3.7. Функция fib, с) вогнута по Ь и вы- выпукла по с. Доказательство. Покажем вогнутость функции / по векторному аргументу Ь. Пусть Ь\ Ьг е В, О «S a ^ 1. Нужно проверить выполнение неравенства /(ab'+ + A - а)Ь\ с) > а/(Ь\ с) + A - о.)\{Ь\ с). Пусть х* - ре- решение вадачи C.2), когда в качестве вектора b взят вектор Ь\ х — решение аналогичной эадачи, когда Ь = Ь%. Тогда /(Ь1, с) = <с, х*>, fib', с) <= <с, х>. Рассмотрим вектор х — ах* + A — а)х. Поскольку Ах = аАх* + (.1 - а)Ах < аЬ' + [\ -а)Ь\ то вектор 2 допустим для задачи C.2), в которой в ка- качестве вектора Ь ваят вектор ab' + (l—аNа. Тогда (l-a)ba, c)Xc, Z> = = а<с, х*> + A - а)<с, х> = о/(Ь', с) + A - о)/(Ь», с). Утверждение о выпуклости функции / по аргументу с доказывается вналогично. Далее в этом параграфе нас будет ивтересоввть лишь зависимость аначения d задачи C.2) от вектора Ь, поэто- поэтому будем пользоваться обозначением d = F(.b). Выводы теорем 3.6 и 3.7 применительно к функции Fib) таковы: Fib) положительно однородна первой степени, т. е. b) lFib) при \>0\ Fib) вогнута на своей выпуклой области определе- определения В. щ
Из теории выпуклого анализа известно, что вогнутая функция непрерывна внутри области определения. Дока- Докажем этот факт для функции Fib) непосредственно. Пусть Р" — множество решений аадачи C.4): min <b, p> А'р=*с, р>0. Рассмотрим эту задачу с измененной целевой функцией: min <6 + ДЬ, р> C.43) А' р = с, jd > О, где ЛЬ = (ЛЬ,, ЛЬ2, ..., ДЬ».) — приращение векторв Ь. Обоавачим череа t'1 множество решений задачи C.43). Лемма 3.5. Существует такое число в > 0, что для всякого ДЬ, удовлетворяющего условию 11ДЫ1<е, выпол- выполняется включение Рд S Ра, означающее, что всякое ре- решение задачи C.43) будет решением аадачи C.4). Доказательство. Множество Р допустимых век- векторов задачи C.4) (оно же является допустимым мно- множеством для C.43)) является выпуклым многогранным множеством. Следовательно, число его крайних точек ко- конечно. Перечислим все эти точки множества Р: р*, jd1, ... ..., Р". Пусть первые I из них являются решениями задачи C.4), т. е. d = min<6, />> = <Ь, /И>, I = 1,2,...,J; d< 1ХВР <<b, /И>, i = i + 1,..., ^-Обозначим б = min <Ь, р})>. l Тогда d < б. Положим также <?=тнх!//|. В качеств числа е, фигурирующего в .формулировке леммы, можно ваять число е = (б — d)/2Q. В самом деле, пусть ИЛЬИ < е. Покажем, что в таком случае <Ь + ЛЬ, р'Х<Ь + ЛЬ, р>>, C.44) где 1«??<!Z, i+l^/^fc. Отсюда будет следовать, что среди крайних точек многогранного выпуклого множе- множестве Р оптимальными для задачи C.43) могут быть лишь те, которые были оптимальными для эадачи C.4). Отсю- Отсюда, используя утверждеЕше теоремы 3.2, получим доказа- доказательство леммы 3.5. 105
Отметим, что КДЬ, р*>| *? НдЫШр'П ^ QWAbW для всех i, I г? j =? к. Для доказательства неравенства C.44) перегруппиру- перегруппируем его члены следующим образом: р Однако <Ь, pj> - <Ь, р*> = <Ь, />'> - d > б - d. В то же время <дь, р*>- <дь, /»*>¦< пдышр'И + идьпуи ^ 2<?е = б - d. Полученные неравенства доказывают лемму. Теорема 3.8. Функция F{b) непрерывна в области определения. •Доказательство. Пусть ДЬ — достаточно малый вектор, причем вектор Ъ + Kb принадлежит В — области определения функции F. Поскольку, по предположению, задача C.4) имеет ре- решение, то с е С, н поэтому задача C.43) также имеет решение р*. Так как приращение ДЬ мало, то по лем- лемме 3.5 вектор р* является решением задачи C.4). По тео- теореме двойственности, F{b) = (b, p*>, F{b + ДЬ) = (b + + ДЬ, /?*>, откуда F(b — Ab) — F(b) = <ДЬ, р*>. Если те- теперь менять приращение ДЬ, устремляя его к нулю, то в том случае, когда решение двойственной задачи не- неединственно, крайняя точка р* может зависеть от ДЬ: р* = р*(ДЬ), где р*{АЬ) — одна из крайних точек р\ р\ ..., р\ Тогда Ab)-F(b)\ = где (напомним) Q = max \\рг\. Отсюда вытекает, что су- ществует предел lim (F (b + Ab) — F (b)) = 0, что озна- дь-.о чает непрерывность функции F в точке fcsB. 3. В качестве иллюстрации рассмотрим функцию Fib) для задачи линейного программирования C.40). Что- Чтобы избежать сложных чертежей, воспользуемся доказан- доказанной однородностью функции Fib): будем рассматривать векторы Ь, принадлежащие гиперплоскости Ьг = 4. Если 106
вектор b = (bt, b2, b3) таков, что 6, > О, b{?=A, то рас- рассмотрим число Х = 4/Ь, и вектор ХЬ = D, 4Ь2/Ь,, 4Ь3/6,). По теореме 3.6 F{b) = AA)F(X6). Значит, значение функ- функции FF) легко восстановить, зная все ее значения на гиперплоскости bt = 4. Итак, рассмотрим задачу max {2х{ + Зх2) C.45) Xi + 1хг < 4, Zxs. + х2 < Ь2, я, + ?2 < Ь3, где числа 62, Ь3 будем предполагать положительными. Рис. 3.3. Крайними точками допустимого множества X для дан- данной задачи могут служить лишь решения следующих систем уравнений: (хл + 2х2 = 4, _ , /2Ь„ — 4 12 — Ь„ -Ь х2 =62," 2х2 = 4, - X, = 6,, хх 5 ' 5 ¦л;« = BЬз-41 4-Ья); ?>хх Таким образом, допустимое множество X всегда име- от не более трех крайних точек. Точка х1 является крайней точкой множества X, если она удовлетворяет неравенству xt + хг г? Ь3, т. е. если BЬа — 4)/5 + A2 — Ьр/5 ^ Ь3, или -Ьг + 5Ь3>8. Анало- Аналогично, точка х2 является крайней, если она удовлетво- удовлетворяет неравенству Ъх\ + х2 г? Ь2, или 3B63 — 4) + D — Ь3) < ^ Ь2, т. е. —Ь2 + 5Ь3^8. Наконец, х3 является крайней точкой, если —Ьг + 563 ^ 8. Изобразим на координатной плоскости Ь2ОЬ3 две соот- соответствующие области, на которые прямая —Ь2 + 5Ь3 = 8 разбивает" множество всех ее точек (рис. 3.3). В области 107
Пт выполняется неравенство —Ь2 + 5Ь3<8, в области Пп — неравенство — Ь2 + 5Ь3 > 8. Из предыдущих рассуждений следует, что если (Ь2, Ь3)еПь то крайними являются точки х2, х3; если ж*е (Ь2, Ьз)еПа, то крайней является только точка х1. Если (Ь2, Ь3) лежит на прямой — Ь2 + 5Ь3 = 8, то все три край- крайние точки х\ х2, х3 сливаются в одну. Отсюда ясно, что в области Пп решением задачи слу- служит точка х{ и-, следовательно, F{b) = <c, xl> = (Ь2 + 28)/5. Чтобы найти решение в области П[, сравним значение целевой функции на крайних точках х2, х3: <с, х2У = = Ь3 + 4, <с, х'У = i-b2 + 7Ь,)/2. Поскольку в III имеет место —62 + 5Ь3 < 8, то Ь3+4> > (—Ь2 + 7Ь)/2, т. е. <с, х2У > <с, ж3) и, следовательно, точка а;2 — оптимальный план и F{b) = <с, ж2) = Ь3 + 4. Итак, имеем р2 + 8)/ при ЬеП„, ( ' " Ьз + 4 при Ь е Пг. На прямой -Ь2 + 5Ь3 = 8 оба значения для F(b) сов- совпадают, так как, как и следовало ожидать, F непрерыв- непрерывна всюду. Перейдем к изучению дифференциальных свойств функции F(b). В рассмотренном выше примере видно, что всюду внутри областей Ylt и Пп функция F{b) дифференци- дифференцируема: п дР „ dF . вП|^ = °- аГ3=1-' г, dF I dF „ вП» з^ = т- ^ = 0- - Другими словами, в области П: дефицитным является третий ресурс, в области Пп — второй. Ни в одной точке b° = (b^, Ья) прямой — 62 + 563 = 8 функция F(b) не дифференцируема, так как, если точка (Ь2, Ь3) приближается к данной прямой из области -П-i, то если же {b2, bz) приближается к точке (hi, bl) из / 108
области Пп, то Um^ * iim gL J о. ь>Адь* 5 ^$db3 8F Таким образом, ни один из пределов Iim — не су- ществует, т. е. функция Fib) недифференцируема в точ- точке («)• Читатель без труда убедится в том, что задача, двой- двойственная к C.45), имеет единственное решение в случае, когда точка [b2, Ь3) не лежит на прямой -62 + 5Ь3 = 8, и неединственное решение, когда точка (Ь2, Ь3) лежит на данной прямой. 4. Оказывается, что дифференцируемость функции F{b) зависит от структуры множества решений двойст- двойственной задачи. Теорема 3.9. Если двойственная задача C.4) име- е7 единственное решение р*, то функция F для задачи C.2) в точке b дифференцируема и dF{b)/db{ = р^, 1 = — 1, 2, ..., пг, т. е. grad Fib) = р*. Доказательство непосредственно вытекает из рассуж- рассуждений, проводимых при доказательстве теоремы 3.8. В са- самом деле, если решение р* двойственной задачи единст- единственно, то формула F{b + АЛ) = F{b) + <ДЬ, р*> справед- справедлива при всех достаточно малых АЬ. Это равенство озна- означает, что функция F линейна в окрестности точки b и ее градиент в этой точке равен р*. В случае, когда решение двойственной задачи C.4) пеединственно, ситуация несколько сложней, однако»» в этом случае крайние точки многогранного множества решений являются дифференциальными характеристика- характеристиками функции Fib). Прежде чем приступить к изложению соответствую- соответствующего результата, выясним причины неединственности ре- решения двойственной задачи. Для этого рассмотрим сле- следующие примеры: max B^i + Зх2) min D/?, + Qp2) х, + 2х2 < 4, р, + Зр2 = 2,* 3xt + х2 =5 б« 2р, + р2 = 3, [h > 0, рг > 0. 109
Решение двойственной задачи единственно (рис. 3.4): Р° = G/5, 1/5). Добавим к ограничениям прямой задачи еще одно: max Зх2) min 6р2 + -^ pa г + х2 < 6, . . 14 2 + РЗ = 3. , Ра^О, р3>0. « Здесь решение прямой задачи по-прежнему единственно Рис. 3.4. (рис. 3.5): х* = (8/5, 6/5), а множество решений двойст- двойственной задачи является отрезком с концами р* = = G/5, 1/5, 0), р = A, 0, 1) (рис. 3.6). • Ясно, что добавление «лишнего» ограничения привело к тому, что единственное решение р° исходной задачи «раздулось» в отрезок. В общем случае происходит то же самое. Пусть X" — множество решений задачи C.2), Р"— множество решений задачи C.4). Будем говорить, что ограничение <а,-, хУ < Ъ{ суще- существенно для задачи C.2), если для всякого i*eX" имеет место равенство <.at, х*У = Ь{, т. е. гиперплоскость <а(, хУ = = bi содержит множество решений задачи C.2). Пусть к ограничениям задачи C.2) добавлено еще не- несколько существенных ограничений: <а„, хУ < Ь», s = = m + l, ..., I, являющихся следствием старых огра- ограничений. 110
Тогда двойственная задача примет вид min Im in 2 bifi + 2 baps \ i s=m+l m C.46) 1 2 рл = с, s=m+l , i=i, 2,..., г. Так как' новые ограничения в задаче C.2) являются следствиями старых и, кроме тою, существенны, то из Рис. 3.6. теоремы 2.27 легко вывести, что существуют неотрица- неотрицательные числа Xia, i = 1, 2, ..., т, s = m + 1, ..., I, такие, что аа = 2 1=1 Учитывая равенства i + 2 s=m+i 1=1 {-=1 I I m +22 s=m+l \i=l m 2 1=1 m 1 m I / m 2 рш + 2 p8as = 2 Pi<*i +2B i=l *—m+l i=l s=w+l \i=l m = 2 i=l I 2 m+l \ / 1 2 ^1« 111
и введя обозначение _ i Pi = Pi + 2 bisP,, двойственную задачу C.46) можно записать в виде min <fo, /7> А'р = с, р>0. Очевидно, что это в точности задача C.4). Следовательно, всякому решению р задачи C.4) со- соответствует столько решений задачи C.46), сколько не- неотрицательных решений имеет система уравнений C.47). При этом очевидно, что крайние точки в множестве ре- решений задачи C.4.6) получаются следующим образом: берется крайняя точка р" многогранного множества Ра в качестве вектора р в C.47) и ищутся крайние неот- рицательные решения этой системы уравнений. Таким образом, причиной неединственности решения двойственной задачи C.47) являются «лишние» ограни- ограничения в прямой задаче C.2), содержащие все решения этой задачи. Обратимся к вопросу о дифференциальных свойствах функции Fib) в случае неединственности решения зада- задачи C.4). Пусть {р\ р2 pk} — множество всех крайних точек выпуклого многогранного множества Р°. Рассмотрим в пространстве Rm выпуклые конусы #r = {seRml<s,-?r>-<s, p(>^0, i = l, 2, ..., ft} для всех г = 1, 2, ..., к. Ясно, что каждый из конусов Кт не пуст: &е Кт, г = ¦=1,2,..., А:, так как <Ь, рт~> = d = <Ь, р'У. Лемма 3.6. Объединение конусов Кт, г=1, 2 А:, да h совпадает со всем пространством Rm: [} Kr — Rm. r=l Доказательство. Пусть seRm и г — такой ин- индекс, 4to<s, pr> = miii <s, p'>. Очевидно, что s e /^. Ki<ft Теорема 3.10. Пусть s e Rm, \\s\\ = i,— вектор, за- задающий направление в точке Ъ, s e Кт. Тогда число <s, рт~) является производной функции F в точке Ь по направлению s. 112
Доказательство. Пусть ЛЬ = Xs, X> О, достаточ- достаточно мало. Тогда множество решений задачи C.43) явля- является подмножеством Р°. Однако, <Ь + ЛЬ, рг> < <Ь 4- ЛЬ, />'> при любом i, i ^K к. Действительно, по определению К, <s, pr> ^ <s, р'>, г = 1, 2, ..., А:, следовательно, <ЛЬ, р'> = = <Xs, р'У < <Xs, р{) = <ЛЬ, р'>. Значит, при всех доста- достаточно малых X 5* 0 точка рт является решением задачи C.43), где ЛЬ = Xs. Отсюда так же, как в доказательстве теоремы C.8), получаем F(b + Xs) — F(b) = <Xs, pr\ где X 3* 0 — достаточно малое число. Тогда К Следствие 1. Если хотя бы для одного решения р* двойственной задачи C.4) выполняется равенство pi = О, то изменением значения координаты Ь, вектора Ъ при постоянных значениях остальных координат нельзя до- добиться увеличения максимального значения F(b) целой функции <с, хУ задачи C.2). В самом деле, производная функции F по направле- направлению s = @, 0, ..., О, 1,0,..., 0), где число 1 стоит на Месте г-й координатБ1, равна нулю: пусть s e Кг, тогда Pi = <s, /><<«, P*> = pt = 0. Следствие 2. Пусть s, llsll = 1,— некоторый вектор. Тогда 8F (Ь) . . гч —дГ1 = mm <s, p >. Действительно, если s e /?,, то dF{b)/ds = <s, pr>. По определению конуса /С <s, рг> ^ <s, p'>, i = 1, 2, ..., к. УПРАЖНЕНИЯ С целью сокращения записи будем обозначать задачу C.2) символом П(Ь, с), а двойственную ей задачу C.4) через D(b, с). 1. Доказать, что если 4^0, i^O и в матрице А нет нуле- нулевых столбцов, то задача max <c, х> Лх ^ Ъ, х S* 0 имеет решение. 2. Убедиться, что задача П@, с) либо имеет решение х = 0, либо вовсе не имеет решения. 3. Показать, что если задача П(Ь, с) имеет решение и Ь'^Ь, то и задача П(Ь', с) также имеет решение, 8 с. А. Ашманов ИЗ
4. Решить задачу min (i, -f 2x2 + 3x3 + ... + nxn) x\ > 1, ii + x2 ^ 2, i, + i2 + i3 > 3, ..., x, + xa + ... + xn 3s re, x, 3*0, / = 1, 2, ..., re. 5. Описать все решения задачи n max S^i1; 5=1 n 2я/;<Ь, i;>0, 7 = 1,2, ...,ra, где b, a, > 0, / = 1, 2, ..., п. Показать, что если все числа Ь~ различны, то решение единственно. 6. Найти, при каких значениях X и р, план х° = @, 4) опти- оптимален для задачи max (xi+3Xx2) —jii, — i2 ^ —4, 2ii — х2 ^ 2, Зр.Х! — х2 ^ 8. 7. Доказать, что уравнение <с, х> = d является следствием системы уравнений Ах = Ь тогда и только тогда, когда найдется такой векгор р, что с = А'р, d = <Ь, р>. 8. Доказать, что задача -тах<с, х> 4х ^ Ь, х > 0 имеет решение при всех Ъ е Rm и ceR" тогда и только тогда, когда существуют такие х°е R" и р° eRm, что Ах° < 0, А'ра > 0, р° > 0, х° ^ 0. 9. Пусть х° — граничная точка многогранника Х= {х|4х^ < Ь}, т. е. существует строка а, Ф 0 матрицы 4, для которой <.п{, х°> = Ь(. Доказать, что найдется такой вектор сфО, что х° является решением задачи П(Ь, с). 10. Сопоставим граничной точке х° многогранника X множест- множество Сха всех векторов с таких, что вектор ха является решением задачи П (Ь, с): Доказать, что С 0 — выпуклый конус. 11. Доказать, что множество Вс всех векторов Ь, при которых задача П(Ь, с) имеет решение, выпукло. 12. Пусть « — некоторый вектор, X > 0 и задачи П(Ь, с), П(Ь + Х«, с) имеют решение. Доказать, что тогда имеет решение и задача П(Ы- [is, с), где 0^ц<Х. Указание. Воспользо- Воспользоваться предыдущим упражнением. Будем говорить, что направление s (s e R, ||«|| = 1) измене- изменения вектора b возможно для задачи П(Ь, с), если задача П(Ь+ + Х«, с) имеет решение при достаточно малых Я ^ 0 (т. е. если существует dF(b)jds), 114
13. Показать, что для задачи П(Ь, с) возможно любое направ- направление s изменения вектора Ъ в том-и только в том случае, когда возможно направление s° = —тч'е, где е = A, 1, ..., 1) е Rm. 14. Доказать, что направление s возможно для задачи П(Ь, с) тогда и только тогда, когда для любого ре KF (где К* = {р \ р Г> О, А'р = О, <Ь, р> = 0}) выполняется неравенство <s, p> ^ 0. 15. Доказать, что для задачи ПF, с) возможно любое на- направление изменения вектора b в том и только в том случае, когда множество Р° решений задачи D(b, с) ограничено. Ука- Указание. Воспользоваться предыдущим упражнением, положив s =5 ±у', i — 1, 2, ..., m, где у' — i-й орт пространства Rm. 16. Доказать, что если направление s возможно для задачи ПF, с), то dF(b)jds = min <s, p>. Указание. Воспользоваться о упражнением 14 н следствием 1 теоремы 3.10. Для функции F(b), b = (b[, Ь2, •••, bm), правой частной произ- производной df+jdb{ называется производная dF(b)/dvl по направлению i-ro орта у' пространства Rm, левой частной производной dF~ldb, называется величина — dF(b)/d(—у'). 17. Показать, что если для задачи П(Ь, с) производная dF~ldb{ существует и р = (р(, рг, ..., рт) —произвольное решение задачи D{b, с), то dF+ dF~ ^^ 12 18. Доказать, что если задача max<c, i> Ах= Ь имеет решение, то любой допустимый вектор оптимален. 19. Убедиться в выпуклости функции х\ + х% и вогнутости функции Vii + xj.
Г Л А В А . IV. ПРИМЕНЕНИЯ ТЕОРИИ ДВОЙСТВЕННОСТИ Построенная в гл. III теория дпойственности в ли- линейном программировании является эффективным сред- средством качественного исследования линейных задач. Ее применения обширны и разнообразны. В настоящей гла- главе приводится несколько примеров использования теории двойственности в различных ситуациях. § 1. Основная теорема о матричных играх Одной из наиболее популярных математических моде- моделей, относящихся к вопросам принятия решений в усло- условиях неопределенности, является модель игры двух лиц. Хотя теория игр возникла в ходе исследования так на- называемых «салонных» игр типа игры в карты, шахматы, рулетку и т. д., впоследствии она получила широкую об- область Применения в экономике, военном деле и других сферах социальной деятельности. Чтобы пояснить основные понятия, вводимые ниже, рассмотрим простейший пример игры двух лиц. Игра состоит в том, что- каждый из двух участников загадывает число 1 или 2, одновременно пытаясь угадать, какое число задумал противник. Если оба игрока угада- угадали, или оба ошиблись, то игра считается закончившейся вничью. Если же правильно угадал лишь один игрок,, то его выигрыш выражается в сумме чисел, загаданных обоими игроками. Дадим формализованную запись этой игры. Назовем стратегией игрока пару чисел (s, t), где s и t могут принимать два значения: 1 или 2, Число s означает загаданное число, t — число, которое по мнению игрока задумал противник. Таким образом, у каждого игрока имеется 4 стратегии: A, 1), A, 2), B, 1), B, 2). Всю информацию о правилах игры удобно свести в следующую матрицу: 116
Игрок 1 A, A, B, B, 1) 2) 1) 2) ii.i) 0 2 3 0 Игрок ' 1.2'. 2 0 0 -3 II 2,1) -3 0 0 4 B,2) 0 3 -4 0 Элементы матрицы означают выигрыш игрока I. На- Например, если игрок I Bi бирает стратегию B, 2) и при этом игрок II выбрал стратегию B, 1), то выигрыш пер- первого игрока составляет 4 единицы. Наоборот, в случае, когда игрок I выбирает стратегию A, 2), а игрок II — стратегию A, 1), то первый игрок проигрывает 2 еди- единицы (его выигрыш равен (—2)). Основная особенность приведенной игры состоит в том, что каждый из игроков обладает конечным набором стратегий. Игры с таким свойством называются матрич- матричными. Общее описание матричной игры таково. У игрока I имеется набор из m стратегий, нумеруемых числами i = 1, 2, .. ., m; у игрока II имеется п стратегий, нумеруемых числами /= 1, 2, .,., п. Если игрок I выбрал стратегию г, а игрок II — стратегию /, то выигрыш пер- первого игрока равен числу а.ц (это может быть и проигры- проигрышем, если a,j<0). Матрица называется матрицей игры. Матричной игрой являются, например, шахматы, толь- только там число стратегий каждого игрока очень велико. Пусть х = {0, 0, ..., 1, 0, ..,, 0) е Rm, где число 1 стоит на месте с координатой t, означает стратегию i игрока I, а вектор у = @, 0, ..., 0, 1, 0, ..., 0) е R", где число 1 стоит на месте /-и координаты, означает ]-ю стра- стратегию игрока П. Тогда, как нетрудно видеть, исход игры, т. е. выигрыш первого игрока, равен а,,.= (х, АуУ = <А'х, уУ. 117
Теория игр выдвигает принцип выбора стратегий, являющийся принципом гарантированного результата. Это означает, что первый игрок должен рассуждать сле- следующим образом: если выбрать стратегию ilt то игрок II может так выбрать свою стратегию jt, что число а,^ окажется самым маленьким из чисел a^j, / = 1, 2, ..., и, т. е. а\ j = min at j. \<j<n Вообще говоря, игрок II заранее не знает выбора г, игрока I и должен указывать свою стратегию U независи- независимо. Однако он из каких-либо соображений может выбрать как раз стратегию у',: В таком случае при неудачном выборе ii первый игрок может понести большой ущерб. Так, в нашем примере, если игрок I возьмет г, = 3, т. е. выберет стратегию B, 1), то он может проиграть 4 еди- единицы (если игрок II выбирает jt = 4, т. е. стратегию B, 2)). В связи с этим предлагается проявить осторожность и выбрать стратегию Этаким образом, чтобы число fli1j1 = = min a; j было как можно большим, т. е. i<i<n си j = max min a,;. Ki<m Kj<n Обращаясь к нашему примеру, видим o-iu = min au = — 3, ]\ = 3, Kj<4 a2j = min a3j = — 2, /, = 1, l<j<4 flsj, = min a3} = — 4, j\ = 4, Ki<4 a4; = min a4j- = - 3, 7\ = 2. Поэтому со стороны первого игрока будет благоразум- благоразумным выбрать стратегию it так, чтобы аи;л = max ay = max {— 3, — 2, — 4, — 3}. Ясно, что следует взять ti = 2; при этом /, = 1 и а, _,• = = -2- Таким образом.^еслп игрок I выберет стратегию г'4 = 2, т. е. A, 2), то имеется гарантия, что, он проиграет не более 2-х единиц. 118
Если рассуждать таким же образом ва игрока И, то ясно, что ему следует выбирать свою стратегию j2 так, чтобы число { } = max ai} было как можно меньше, т. е. а\ } = min max сщ. Kj<n l<!<m При этом, как нетрудно видеть, /2 = 2 (т. е. стратегия A, 2), как и у игрока I), г2 = 1, ау2 = 2. Следовательно, игрок II также может гарантировать, что его проигрыш не превысит числа 2. Казалось бы, ситуация ясна: игроку I следует выбрать стратегию t4 = 2, игроку II — стратегию /2 = 2, и при этом игра закончится вничью, так как а,гг = 0. Однако здесь кроется парадокс: матрица А игры из- известна обоим игрокам, поэтому, например, игрок I мо- может провести все рассуждения не только за себя, но и за игрока II. Поняв, что игрок II выберет стратегию U — 2, первый игрок сообразит, что в этом случае ему следует взять ii = i и выиграть 2 единицы. Но игрок II, проделав те же рассуждения, также может отказаться от стратегии j2 = 2. Понятно, что подобным образом мож- можно рассуждать бесконечно и не прийти к окончательному решению о выборе стратегии. Рассмотрим теперь игру со следующей матрицей: 2—3 8 ON 6 4 5 5 7 2—3 6 Ч— 10 — 3 i Нетрудно вычислить, что здесь а\ j = max min ац = 4, Ki<4 Uj<4 при этом it = 2, ji = 2. С другой стороны, ai j = min max ац = 4, <'<UI<4 при этом h = 2, /2 = 2. Это означает, что стратегия i = 2 первого игрока га- гарантирует ему выигрыш не менее 4. В то же время вто- второй игрок может себе гарантировать проигрыш не более 119
4 единиц. Поэтому ясно, что обе стратегии z = 2 и / = 2 являются оптимальными для игроков I и II соответст- соответственно. Следовательно, в этой игре существует пара стра- стратегий, приемлемая для обоих игроков. Разница между приведенными двумя примерами те- теперь ясна. В первом случае каждый игрок может себе гарантировать выигрыш (—2), по надеется получить боль- больше. Во втором случае у каждого игрока есть стратегия, которая обеспечивает ему гарантированный результат, и нет способа получить больше. Чтобы различать эти две возможные ситуации в общем случае, введем некоторые понятия. Определение 4.1. Число v = max min (щ к Kin Kj<« назовем нижним аначением игры, число и = min max ац — ее верхним значением. Лемма 4.1. v < д. Доказательство. Ясно, что min aijOij, / = 1, 2, .. ., п, i = 1, 2, ...,т. Отсюда получаем max min <Zj;<; max ац, j= 1, 2, ...,n. i \}< i Окончательно max min ац ^ min max i Uj<n j i Как было показано, в первом примере v ——2, v — 2, т. е. v < v; во втором примере v — v = 4. Определение 4.2. Будем говорить, что игра имеет седловую точку, если v = v = v. В атом случае число v называется аначением игры. Определение 4.3. Стратегию ?0 игрока I назовем максиминной, если min ai j = max min ai;- = v. \<i<n KKinKja ~ 120
Аналогично, стратегию /о игрока II назовем минимаксной, если max ay = min max a^ = v. U ji Обе эти стратегии назовем гарантирующими. Ясно, что всегда существует максиминпая и мини- минимаксная стратегия итроков I и II соответственно. Отме- Отметим, что, кроме того, у каждого игрока может быть не- несколько гарантирующих (максиминных у первого и мини- минимаксных у второго) стратегий. Теорема 4.1. Матричная игра имеет седловую точку тогда и только тогда, когда для любой пары (i0, ]») га- гарантирующих стратегий выполняется неравенство для всех i = 1, 2, ..., m; / = 1, 2, ..., п. Доказательство. Пусть игра имеет седловую точ- точку, т. е. v = v = v. Тогда v = min aio;<aioj, / = 1,2,..., га. С другой стороны, max ац > аи , i = 1, 2, ...,го, откуда ai()j0 < v < alo ;0, т. е. v = oi(),-0, a{j0 < a1()j0 < a{oj. Наоборот, пусть выполняется D.1). Тогда v= max aiJo <tti } \<i<m v= min a{ ;>af , , т. e. v *? у. Поскольку уже доказано, что всегда v > и, то г; = у. Определение 4.4. Если игра имеет седловую точку, то любая пара гарантирующих стратегий (г0, /о) называет- называется седловой точкой. Из всего иредыдущего материала данного параграфа ясно, что если игра имеет седловую точку (г0, /„), то наи- наиболее разумными стратегиями игроков I и II являются стратегии U и /0 соответственно. В случае, когда седло- вой точки нет, становится неясно, какую стратегию счи- считать разумной. В связи с этим создателем теории игр Джоном фон Нейманом было предложено расширить по- 121
вятие стратегии следующим образом. Представим себе, что игра повторяется много раз, так что игрока интересу- интересует не выигрыш в каждой отдельной партии, а средний выигрыш по многим партиям. Назовем смешанной стратегией первого игрока, вектор х = (zj, хг, .. .,xm), гдея{ >0, i = 1, 2, .. .,m, 2 x\=i, координату Xi которого будем понимать как вероятность (или частоту) применения стратегии с номером i. Заме- Заметим, что частным случаем смешанной стратегии является стратегия вида х = @, 0, ..., О, 1,0,..., 0), где число 1 стоит на некотором месте L Это означает, что во всех партиях будут применяться стратегия -?. Стратегии тако- такого вида будем называть чистыми. Аналогично введем понятие смешанной стратегии у = = (j/i. 1/2, ¦. •, Vn) для игрока II: у} > 0, / = 1,2,..., п\. jl Применение смешанной стратегии х = (хи хг, ..., хт) состоит в следующем. Игрок I указывает вектор х, опи- описывающий, с какой вероятностью в каждой партии будет использоваться та или иная его чистая стратегия. После этого он передает право конкретного выбора стратегии в каждой партии некоему механизму, осуществляющему случайный выбор чистой стратегии в соответствии с век- вектором х. Теперь, даже если у второго игрока существует спо- способ узнавать стратегию первого, то, тем не менее, он не будет знать заранее его конкретного выбора в данной партии. Если игрок I выбрал смешанную стратегию х, а иг- игрок II — смешанную стратегию у, то вероятность (часто- (частота) применения пары чистых стратегий -(?, /) равна х{уи при этом выигрыш первого игрока будет равен ati в каж- каждой такой партии и a{jXiyjN за N партий. Поэтому сум- суммарный выигрыш игрока I за N партий будет равен IjN = N Z 2j auxiyh а средний выигрыш будет равен т п ' М (х, у) = 2 ацхм = (х, Ау}. D.2) 123
Число Mix, у) на языке теории вероятностей называ- называется математическим ожиданием выигрыша в каждой пар- партии в случае применения смешанных стратегий х и у- Определение 4.5. Пара смешанных стратегий (х°, у") называется седловой точкой функции М(х, у), если имеют место следующие неравенства: М(х, у0) *S M(x\ if) ss М(х°, у), D.3) т. е. если m n m n 2 2 еду1<2 2 i j 2 для всех смешанных стратегий х и г/ первого и второго игрока соответственно. Как и в том случае, когда игра имеет седловую точку в чистых стратегиях, наличие пары- (х°, z/°), являющейся седловой точкой игры в смешанных стратегиях, свиде- свидетельствует о том, что первый игрок, выбрав стратегию х°, обеспечивает себе гарантированный выигрыш М(х°, у°), В самом деле, если игрок II выберет любую стратегию у, то выигрыш первого игрока будет не меньше числа М(х\ у0), так как М(х°, у)>М(х°, у0). С другой сторо- стороны, второй игрок выбором стратегии у0 добивается того, что выигрыш игрока I не может быть больше числа М(х°, у0) (это вытекает из первого неравенства в D.3)). Таким образом, можно констатировать, что в случае наличия седловой точки • (х°, у°) стратегия х° представ- представляет собой разумный выбор игрока I, стратегия у° — разумный выбор игрока II. Именно поэтому представляет особый интерес следующая теорема Джона фон Неймана, оправдывающая введение смешанных стратегий. Теорема 4.2. Всякая матричная игра имеет седло- вую точку в смешанных стратегиях. Лемма 4.2. Для того чтобы пара смешанных стра- стратегий (х°, у0) образовывала седловую точку функции ,М(х, у), необходимо и достаточно, чтобы п m 2 ацу) < М (х°, if) < 2 ацх\ D.5) при любых i = 1, 2, .. ., m, / = 1, 2, ..., п. Доказательство. Пусть (х°, у") — седловая точка. Так как неравенство D.4) выполняется для любых сме- смешанных стратегий х и у, то взяв х= @, 0, ..., О, 1, 0, ... ..., 0), где число 1 стоит на месте j-й координаты, а у = 123
= @, 0, ..., 0, 1, 0, ..., 0), где 1 стоит на месте ]-й ко- координаты, и подставив ати векторы в D.4), получаем не- неравенства D.5). Наоборот, пусть (х°, у") — некоторая пара стратегий, для которых выполняются неравенства D.5) при всех i=l, 2, ..., т; 7 = 1, 2, ..., п. Для доказательства лем- леммы нужно убедиться, что в таком случае неравенства D.4) выполняются при всех х и у. Отметим прежде всего, что с использованием опера- операции умножения матрицы на вектор неравенства D.4) мож- можно записать в виде {х, Ау°> < <х\ Ау°У «S <А'х°, j/>, D.G) а неравенства D.5) в виде Ay°^vn, D.7) A'x°>vn, D.8) где vm — /га-мериый вектор, все координаты которого рав- равны v = <х°, Ау°>, a v„ — тг-мерный вектор, все координаты которого равны тому же числу v = (A'x", у"У. Умножим неравенство D.7) скалярно на вектор х, (напомним, что х>0): <х, Ay") < <vm, хУ. Число <vm, x> т т равно V, поскольку (vm, i) = i>2 ^ь 2^1 = 1- Тогда <х, Ay"'>^:V. Аналогично получаем (А'х°, y)^v. Обсудим наглядный смысл доказанной леммы. Как отмечалось, если пара стратегий (х°, у0) образует седло- вую точку, то стратегия х° является гарантирующей стра- стратегией против всего множества смешанных стратегий иг- игрока II. Доказанная лемма утверждает, что достаточно требовать, чтобы стратегия х° была гарантирующей толь- только против множества чистых стратегий второго игрока. Имеет место аналогичное утверждение и относительно у". Матрица А игры может быть произвольной т X га-мат- га-матрицей. Тем ие менее оказывается, что при необходимости можно считать матрицу А положительной. Именно, имеет мевто следующий простой факт. Лемма 4.3. Пусть а — произвольное число и матри- матрица А составлена^ из элементов а~ц — анЛ-а, Пусть пара (х°, у°) образует седловую точку игры с матрицей А. Тогда эта же пара смешанных стратегий является седло- вой точкой игры с матрицей А. 124
Доказательство. Обозначим функцию выигрыша игры с матрицей А через М(х, у). Тогда m n М {х, у) = (х, Ау) =2 2 Uij + а) х{у, = t=l j п = 2 S а-цхм/, + а 2 хг 2 У) = (х, Ау}+а = М{х, у)-\-а. i j i ; Так как (д;0, у") — седловая точка игры с матрицей А, то, воспользовавшись предыдущей леммой, можем на- написать S ~ачу) = 2 (flij + а) у) < М (^°, у0) + а = Tl (x\ у% 6=1 , 7=1 1 = 1,2, ...,т. Таким образом, доказано выполнение первого нера- неравенства из D.5) для пары стратегий (х°, у°) в игре с матрицей Л. Аналогично доказывается второе неравенство в D.5). Из того, что согласно утверждению леммы 4.2 вы- выполнение неравенств D.5) дает необходимое и достаточное условие седловой точки, заключаем, что _пара (х°, у") является седловой точкой игры с матрицей А. Перейдем к доказательству теоремы Джона фон Ней- Неймана. Будем при этом считать матрицу А положительной. Рассмотрим следующие задачи линейного программи- программирования: min (и, е„> D.9) A'u~Szen, и. 5? О, где u=(ut, и2, ..., ит), еп — «-мерный вектор, все коорди- координаты которого равны 1; max <??>, е„> D.10) A w «S em, где w = (wu w2, ..., wn), em—/тг-мерный вектор, все ко- координаты которого равны 1. Очевидно, что задачи D.9) и D.10) взаимодвонственны. Поскольку у матрицы А (и значит, у А') все элемен- элементы положительны, то задача D.9) допустима; при этом в качестве допустимого вектора можно взять вектор и с достаточно большими положительными координатами. 125
Задача D.10) также допустима: вектор tv = 0 удовлетво- удовлетворяет всем ограничениям. Из теоремы двойственности заключаем, что обе задачи имеют решения (и0 и w° соответственно) и одинаковые значения <и°, етУ = (w°, е„> = d. Очевидно также, что d = <.w°, en> >0, так как любой вектор w с достаточно малыми положительными координатами является допу- допустимым для задачи D.10) и <en, za>°> > <en, ц;>. Покажем, что пара смешанных стратегий Xй'= -jU°, у0 = -rriv0 является седловой точкой игры. В самом деле, из D.9) следует, что A'x°>vn, а из D.10) получаем Aif<vm, где, как и прежде, vn = v • е„, и vm = v • ет, v = i/d. При этом по теореме равновесия имеем <u°, Awa~> =,(и°, ет~> = d. Подставляя сюда u° = dx°, w" = dy°, получаем <х°, Ау°У = v. Как следует из леммы 4.2, полученные соотношения, связывающие векторы х°, у0, число v и матрицу А, сви- свидетельствуют о том, что пара (х°, у") является седловой точкой игры, а число v — ее значением. § 2. О проблеме существования ядра в кооперативной игре п лиц Основная теорема о матричных играх, изложенная в предыдущем параграфе, в определенном смысле полностью решает проблему выбора стратегии для тех социально- экономических ситуаций, которые описываются моделью антагонистической игры двух лиц. Вместе с тем ясно, что при изучении социальных явлений никоим образом нельзя ограничиваться исследованием двусторонних кон- конфликтных ситуаций. Гораздо более реальным является случай, когда сталкиваются интересы большого числа ин- индивидуумов, необязательно являющихся антагонистами. Изучением довольно широкого круга моделей подобного характера занимается теория игр п лиц (см. [19—21J). Не имея возможности остановиться сколь-нибудь-подроб- сколь-нибудь-подробно на всем множестве идей этого раздела математики,. обратим внимание на проблему, связанную с понятием решения кооперативной игры п лиц. Для пояснения основных понятий этой теории изло- изложим одну из возможных интерпретаций (весьма услов- условную) основной постановки задачи. 128
В некоторой капиталистической стране ряд промыш- промышленных компаний получили предложение заключить вы- выгодный контракт. Пусть га — число компаний, нумеруемых числами 1, 2, ..., п, N — все множество компаний, N => = {1, 2, ..., га}. Известно, что стоимость всего контракта составит сумму v(N). Между всеми заинтересованными промышленными компаниями начались переговоры с целью договориться о заключении контракта. Основным предметом переговоров является распределение суммы v(N) между участниками. Дело осложняется тем, что, вообще говоря, любая часть участников может объеди- объединиться в коалицию и, отказавшись от данного контракта, заключить вместо него другой контракт на стороне. Любое подмножество S участников, S ^ N, будем на- называть коалицией. Пусть коалиция S имеет возможность самостоятельно заключить на стороне контракт на сумму v(S) (это число может равняться и нулю). Допустим, что в результате предварительных переговоров предложен следующий дележ: компания с номером i получает вели- п " ЧИНУ Xi,X{^-0, ^j Xi = V (N). Ясно, что если сумма величин Xt с номерами i e 5 (т. е. общая сумма, предлагаемая коалиции S) меньше величины v(S), то компании, которые входят в коалицию S, откажутся от предложенного дележа на том основании, что у них есть более выгодное предложение. Таким обра- образом, проблема состоит в нахождении вектора (хи х2, ... ..., ?„), описывающего дележ суммы контракта v(N), удовлетворяющего все возможные коалиции. Оказывается, что такой дележ существует не всегда. Перейдем к формальному описанию кооперативной игры п лиц. Для игры п лиц обозначим множество всех участников через N = {\, 2, ..., га). Любое непустое подмножество 5 множества /V назовем коалицией. Отметим, что коалиция может быть как одноэлементным множеством, так и сов- совпадать со всем /V. Предполагается, что на подмножествах множества N задана функция, сопоставляющая каждому подмноже- подмножеству S^N неотрицательное вещественное число v(S). Функция v называется характеристической функцией иг- игры. На нее накладываются два следующих условия: 1) <Д0)=О. D.11) 127
Это условие естественно, поскольку (как читатель, пом- помнит) символ 0 означает пустое множество. 2) p(?U. Л >»(?) + »(Л, D.12) если 5 П Т = 0. Условие 2) означает, что две непересекающиеся коа- коалиции в результате объединения своих усилий смогут получить не меньше чем в сумме каждая по отдельности. Отсюда, в частности, вытекает, что v(N) > v(S) для лю- любой коалиции S, так что каждая коалиция (если v(N) > > v(S)) может рассчитывать при согласованном решении получить больше, чем самостоятельно. ¦ Определение 4.6. Дележом игры называется век- вектор х = (xt, хг, ..., хп), удовлетворяющий условиям 2 ) 2 i<?N 2)" *,> Второе требование ' этого определения означает, что i-му участнику имеет смысл предлагать лишь такую сум- сумму, которая не меньше той, что он может получить, опи- опираясь только на свои возможности. Пусть два вектора х = (хи х2, ..., хп), у = (у„ у2, ... ..., ул) — два дележа'в игре. Предположим, что участни- участники должны выбрать только один из этих векторов. Допу- Допустим, далее, что вектор х является более выгодный для коалиции S, чем вектор у. Когда коалиция S может на- настаивать на том, чтобы все участники согласились па дележ х, угрожая в противном ^случае выйти из игры? Ясно, что коалиция S может позволить себе это лишь в том случае, когда величина v(S) не меньше суммарпого дохода коалиции S, обеспечиваемого дележом х. Следуя этому рассуждению, введем одно из важнейших понятий теории кооперативных игр. Определение 4.7. Пусть х, у — два дележа и S — некоторая коалиция. Говорят, что х доминирует у по коа- коалиции S, если 1) 2ч>1/) для всех igS; 2) 2 Zi^v(S). iss Будем в этом случае писать х >- у. Определение 4.8. Говорят, что х доминирует у (обозначается х'Уу), если существует хоть одна коалиция S, для которой х У у. S 123
Представляют интерес различные частные случаи ко- кооперативных'игр. Нам в иллюстративных целях понадо- понадобится один из них. Определение 4.9. Игра называется симметричной, если значение viS) характеристической функции зависит только от числа элементов в коалиции S. Перейдем к обсуждению того, что следует понимать под решением кооперативной игры. Необходимо сразу от- отметить, что скорее всего невозможно даже для конкрет- конкретной игры указать один какой-нибудь дележ, который был бы максимально выгоден каждому из участников, т. е. такой, что в любой возможной коалиции всякий участник не мог бы получить больше. Поэтому возникает идея как можно более сузить множество дележей, допускаемых для дальнейшего рассмотрения, d тем чтобы никакая коалиция участников не могла обоснованно возражать против любого дележа из этого множества. Определение 4.10. Ядром игры называется мно- множество всех ее недоминируемых дележей. Ядро игры с характеристической функцией v обозначается Civ). Теорема 4.3. Ядро игры есть множество всех таких векторов х = ixt, х2, ..., хп), что 1) S xi>v(S) ySczN; 2) 2 Xi = v{N). ie/v Доказательство. Пусть вектор х удовлетворяет условиям 1), 2). Положив S—{i), видим, что условие 1) превращается в требование xl>vi{ii)> что вместе с 2) означает, что вектор х является дележом. Покажем, что вектор х не может доминироваться никаким другим деле- дележом у. В самом деле, допустим, что г/( > xt для всех i e S, где S — некоторая коалиция. Тогда 2 2Л > 2 ies s т. е. 2 !/t>y(?)i а это значит, что у не может доми- is нировать х ни по какой коалиции S. Следовательно, ?.е е Civ). Осталось показать, что если вектор у не удовлет- удовлетворяет хотя бы одному из условий 1), 2) теоремы, то он не принадлежит ядру. Ясно, однако, что если у не удов- удовлетворяет условию 2), то он не является дележом вооб- вообще. Допустим теперь, что для у не выполняется условие 1), т. е. существует такая коалиция S, что 2 yi<^.v{S). lea 9 С. А. Ашманов . 129
Тогда существует е > 0, для которого 2j yi ~ v(S) — ь. Положим () 2 ({}) ieiv\s Используя D.12), нетрудно убедиться в том, что а Пусть 151 — число элементов в коалиции 5. Построим вектор z = (zit z2, ..., zn), положив Zi = Проверим, что z япляется дележом. Действительно, оче- очевидно, что г,2=у({г'}) при i&S. Если is 5, то z; 2= г/, > 2гу(Ш), т. е. вновь г<>и({г)). С друпш стороны, + 2 !6iV\S Таким обраяом, z — дележ. При атом z, как видно ия определения этого вектора, доминирует вектор у по коа- коалиции S. Следовательно, rj^C(v). Из этой теоремы вытекает, что ядро Civ) представляет собой замкнутый многогранник. В связи с этим возникает мысль использовать теорию линейного программирования для выяснения основных вопросов, связанных с понятием ядра. Рассмотрим следующую задачу линейного програм- программирования: min 2 -xi 2>() ies для всех S<=N, S^N. Здесь ограничений столько, сколь- сколько всех коалиций S с N. Имея в виду ' построить двой- двойственную задачу, введем следующие обозначения. Двоп- 130
етвенную переменную, соответствующую тому ограниче- ограничению, которое касается коалиции S, обозначим р3. Введем также векторы iSeR": IsS, Другими словами, S — га-мерпый вектор, у которого еди- единицы стоят как раз на тех местах, номера которых сов- совпадают с номерами участников коалиции 5. Вектор 5 будем нааывать вектором инциденций коа- коалиции S. Обозначим через е" га-мерпый вектор еп = — A, 1, ..., 1). Тогда двойственная аадача имеет вид max 2 Psv{S), seN 2 PsS = en, Ps > 0 VSczN. «eiv - У двойственной задачи ограничений всего п, в то время как у прямой их и X B" — 2). При атом, конечно, у двой- двойственной задачи большее число переменных, чем у прямой. Очевидно, прямая аадача допустима. В то же время, ее линейная форма ограничена спи.чу на допустимом мно- множестве, поскольку среди ограничений имеются неравен- неравенства вида xi >y({i)), i e N. По теореме 3.1 получаем, что эта аадача имеет решение. В таком случае имеет решение и двойственная аадача. Обозначим общее значе- значение прямой и двойственной задач через d. Нетрудпо видеть, что если d^v{N), то ядро C(v) игры непусто. В самом деле, пусть х — решение прямой задачи. Рас- o(N) ~ t смотрим вектор х = ах, где а = —— ^ 1. Тогда ¦ ie.v гел/ Вместе с тем, поскольку х — допустимый вектор, то 2ii=a2«i>ayE)>y E). fes ies Отсюда заключаем, чт# 2еСЫ. Наоборот, если d>v(N), то для любого вектора х, удовлетворяющего неравенствам 2 х)^уE), пмеет место неравенство 2 ?i ies tew т. е. ядро Civ) пусто. у* 131
Таким образом, для того чтобы ядро Civ) было не- непусто, необходимо п достаточно, чтобы d^v(N). Из этих рассуждений вытекает следующее утвержде- утверждение: для непустоты ядра C(v) необходимо и достаточно, чтобы для любого набора чисел ps, S <= N, удовлетворяю- удовлетворяющего равенствам Sps5 = en, pa>0, S<=N, D.13) ScN выполнялось условие 2 Psv(S)^v(N). D.14) ScN Множество векторов {р8, S с N), удовлетворяющих уравнениям D.13), является выпуклым многогранником (поскольку каждая координата р8 удовлетворяет ограни- ограничению ра^1). Поэтому достаточно требовать ограничен- ограниченности линейной формы 2 Psv E) числом v(N) лишь S<zN на крайних точках этого многогранника. i Приведенными рассуждениями доказана Теорема 4.4. Для непустоты-ядра C(v) необходимо и достаточно, чтобы для любой крайней точки многогран- многогранника D.13) выполнялось условие D.14). Значение этой теоремы состоит в том, что многогран- многогранник D.13) не зависит от характеристической функции v(S) игры. Это позволяет, вычислив раз и навсегда, на- например, с помощью симплекс-метода, крайние точки мно- многогранника D.13) (а их конечное число), совсем просто проверять факт существования ядра у произвольной ко- кооперативной игры п лиц: для этого достаточно лишь про- проверить выполнение неравенства D.14). Отметим, что в принципе определить все крайние точ- точки многогранника D.13) сравнительно просто. Как сле- следует из теоремы 2.18, для этого нужно только перебрать все невырожденные п X n-подматрицы ограничений из D.13). С другой стороны, при больших и, как мы знаем, число крайних точек многогранника D.13) настолько ве- велико, что практическое их вычисление невозможно. Од- Однако простой вид ограничений D.13), а также их инва- инвариантность по отношению к перенумерованию перемен- переменных позволяют надеяться на то, что доказанная теорема окажется полезной при теоретическом исследовании ко- кооперативных игр. 132
Покажем, как теорема 4.4 позволяет получить необ- необходимое п дотаточное условие существования ядра у симметрической игры п лиц. Предварительно докажем общий факт. Теорема 4.5. Для существования ядра у коопера- кооперативной игры п лиц достаточно, чтобы характеристическая функция v удовлетворяла условию для всех S с JV. Доказательство очевидно, так как ясно, что при дан- / у (TV) v (TV) v (N) \ ном условии дележ а = —-—, ——,...,——J при- принадлежит ядру, что следует из неравенства 2 ^ ies Оказывается, что для симметричных игр условие тео- теоремы 4.5 является и необходимым. Теорема 4.6. Для существования ядра у симмет- симметричной игры необходимо и достаточно, чтобы v(S) < <-^-J- v (N) для всех S с N, Доказательство. Достаточность следует из пре- предыдущей теоремы. Докажем необходимость. Пусть ядро игры непусто и 5 — произвольная коалиция, состоящая из пг участников, т. е. |5| = пг < п. Лемма 4.4. Существует п коалиций Ss, 7 = 1, 2, ... ..., п, таких, что каждая из них содержит по пг участии-, ков и векторы Sj инциденций для этих коалиций обладают свойством 3=1 Действительно, в качестве векторов Sj, / = 1, 2, ..., и, можно взять векторы, s-я координата 5Дг) которых за- задается формулой i — i < - (n — m + 1); О в прошвном случае; i= 1,2, ¦¦¦,»• 133
Проверку того, что данные векторы удовлетворяют ус- условиям леммы, предоставляем читателю. Рассмотрим вектор {рв, S <= N}, для которого ра = 1/т, если при некотором /, 1 < /' =S га, выполняется равенство S = Su и ра = 0 в противном случае. Очевидно, SCN з=1 Таким образом, для нашего набора чисел выполняют- выполняются условия D.13). В силу предположения о непустоте ядра Civ), отсюда следует неравенство D.14), т. е. п ? — v (Sj) ^ v (N). Поскольку игра симметрична, то 3-1 v(S}) = viS), /=1,2,..., га, и имеем -^ nv (S) < v (N). В качестве иллюстрации к теореме 4.4 выведем необ- необходимое и достаточное условие существования ядра у про- произвольной игры трех лиц. В этом случае iV = {l, 2, 3), а множество всех коали- коалиций, не совпадающих с N, состоит из следующих шести элементов: С? 1Л Ql С In nl "Jo = \1, о), O2j ^ IZ, о/. Соответствующие векторы инцидепций таковы: 5, = A, 0, 0), 52 - @, 1, 0), S, = @, 0, 1), Sn=il, 1, 0), S,,-(l, 0, 1), Si3=i0, 1, 1). Многогранник D.13) в данном случае задается условиями. /1\ /0\ /0\ /1\ /Г .А[ц +Л j +" Ра» Рз Необходимо определить все крайние точки многогранни- многогранника. Теорема 2.16 утверждает, что для задания точки н га-мерном пространстве необходимо п липейно независи- независимых уравнений. В нашем случае п = 6, поэтому к имею- 134
щимся трем уравнениям следует добавить еще три урав- уравнения, возникающие из условия неотрицательности пере- переменных. Другими словами, нужно из шести уравнений Pi = 0, >2 = 0, р3 = 0, р12 = 0, pi3 = 0, р23 = О выбрать три. Поскольку подобный выбор можно сделать двадцатью различными способами (С'е = 20), то полный перебор довольно утомителен. Можно, однако, заметит!., что многогранник D.13) инвариантен относительно пере- перенумерации неизвестных. Используя этот факт, можно ограничиться лишь следующими наборами уравнений: = 0, = 0, 3) Рг, = 0; 1) = О, 2) Ра = 0". 0 = 0. s = О". 4) Pi = 0, Ри = 0, 5) Pis = °". Pia Раз = О- Соответствующие решения этих систем уравнений име- имеют вид: 1) @, 0, 0, 1/2, 1/2, 1/2); 2) @, 0, —1, 0, 1, 1) —не принадлежит многогран- многограннику; 3) @, 0, 1, 1, 0, 0); 4) в этом случае матрица вырождена; 5) A, 1, 1, 0, 0, 0). Таким образом, получаем три крайних точки много- многогранника D.13): (О, 0, 0, 1/2, 1/2, 1/2), @, 0, 1, 1, 0, 0), A, 1, 1, 0, 0, 0). Все остальные крайние точки получаются из данных пу- путем перенумерации переменных. Таких точек будет еще две: (О, 1, 0, 0, 1, 0), A, 0, 0, 0, 0, 1). Из теоремы 4.4 получаем, что необходимые и доста- достаточные условия существования ядра у игры .трех лиц имеют вид (v(S) + v (Si) + v (S]h) < v (N), i ф f, i ф k, ] =j= k, 135
Заметим, что существенным является лишь первое условие, поскольку остальные два всегда выполняются вследствие услония D.12), наложенного на характеристи- характеристическую функцию игры. Окончательный вывод таков: для того чтобы игра трех лиц имела непустое ядро, необходимо и достаточно вы- выполнения неравенства уE12) +' v{Sia) + v(S2l) < 2v(N). § 3. Свойства неотрицательных матриц При моделировании многих экономических, социаль- социальных и физических процессов составной частью линейной модели часто оказываются матрицы с неотрицательными элементами. Примерами могут служить некоторые из мо- моделей гл. I. При исследовании моделей подобного роди весьма полезными оказываются специфические свойства квадратных матриц с неотрицательными элементами. Так, при описании качественных особенностей оптимальных траекторий в динамической модели Леонтьева эти свойст- свойства неотрицательных матриц играют решающую роль (см. § 5 настоящей главы). В данном параграфе средствами линейного программирования мы докажем одно из важ- важнейших свойств неотрицательных матриц, заключающееся в наличии у них действительного неотрицательного соб- собственного числа и неотрицательного собственного вектора, соответствующего этому числу. "Всюду в э.том параграфе буквой А обозначается квад- квадратная га X га-матрица с неотрицательными элементами: А = (o,j), а„ > 0, i, 7 = 1,2,..., га. "' В дальнейшем важную роль будет играть понятие неразложимой матрицы. Обозначим N = {\, 2, ..., п) — множество натуральных чисел от 1 до га. Определение 4.11. Пусть S — подмножество мно- множества N. Говорят, что множество S изолировано (относи- (относительно данной матрицы А), если в матрице А а{) = 0 при ]esS,te N\S. На языке модели Леонтьева изолированность множе- множества S означает, что отрасли с номерами jeS при своем функционировании не используют товары, производимые отраслями с номерами из множества N\S. Если перенуме- перенумеровать индексы так, чтобы S = {1, 2, ..., к), N\S = = {к + 1, ..., п), что соответствует одновременной пере- 136
становке строк и столбцов матрицы А, то матрица А примет вид / Л А \ D.15) где ii и Л) — квадратные подматрицы размеров к X к и (га — к) X (га — /с) соответственно. Определение 4.12. Матрица А называется нераз- неразложимой, если в множестве N пет изолированных подмно- подмножеств, кроме самого Л' и пустого множества. Другими словами, матрица А неразложима, если одно- одновременной перестановкой строк и столбцов ее нельзя привести к виду D.15). Понятие неразложимости матрицы имеет интересную экономическую интерпретацию. Именно, неразложимость матрицы А в модели Леонтьева означает, что каждая отрасль использует, хотя бы косвенно, продукцию всех отраслей. Точная формулировка этого факта, составляет содержание задачи 8. Лемма 4.5. Пусть А — неразложимая матрица, х е R", х> 0, х Ф 0. Пусть, кроме того, у вектора х име- имеются нулевые координаты и S = {j\xj = O). Тогда у век- вектора у = Ах найдется положительная координата у{ > 0, причем is S, Доказательство. Обозначим Т = И\Уг > 0}. Нуж- Нужно показать, что 5ПГ?=0. Допустим противное: S П Т => = 0. Тогда S s N\T. Покажем, что N\S — изолированное подмножество. Пусть ] е N\S, i s S. Из того, что ieSs s N\T, следует у{ = 0. Твгда 0 = Ух = 2 a-ijXj = j Так как при / е N\S имеем Xj > 0, то из предыдущего равенства (и условия ау 5= 0) получаем, что atj = 0 при f e N\S, i s S. Однако по предположению матрица А не- неразложима, следовательно, в N нет изолированных под- подмножеств. Полученное противоречие доказывает лемму. Следствие. Если матрица А неразложима, х> 0, хФО, то из равенства Ах < ах следует, что а > 0, х > 0. Действительно, поскольку Ах > 0, Ах Ф 0, то а > 0. Допустим теперь, что множество S = {j\xi^=Q} непусто. 137
По лемме найдется такой индекс / е S, что (Ax)i > 0. Но тогда неравенство (Ах), < aXj невозможно, так как ж,- = 0. Теорема Фробе ни уса — Перрона. Неразло- Неразложимая матрица А имеет собственное число Ха > 0, при этом модуль любого собственного числа матрицы X (дей- (действительного или комплексного) не превосходит Ха. Числу ХА отвечает единственный (с точностью до ска- скалярного множителя) собственный вектор хА, все коорди- координаты которого ненулевые и одного знака (т. е. можно считать хА > 0). Доказательство. Обозначим е = A, 1, .."., 1) е е R*. Рассмотрим задачу линейного программирования min u D10) • (А - Х1)х - ие < 0, <х, е> = 1, х > 0. Здесь вектор переменных имеет вид (х, и) = (хи х2, ... ..., хп, и). Число X фиксировано и является параметром. Множество X векторов х е R", удовлетворяющих ус- условиям х > 0, <х, е> = 1, ограничено. Следовательно, огра- ограничено и множество всех векторов вида_ (А — XI)х при любом фиксированном X, когда х <s X. Пусть X — = {у\у = (А — XI)х, х е X). Тогда число и в задаче D.16) определяется условием и = min max y.j. vex Ki<t! Из ограниченности и замкнутости множества X вытекает конечность числа и. Этим показано, что задача D.16) имеет решение (х(Х), и{Х)) при любом значении пара- параметра X. Из общих фактов о свойствах параметрических задач линейного программирования, изложенных в гл. VIII, вы- вытекает непрерывность функции и(Х). В данном случае, впрочем, это легко увидеть и непосредственно. В самом п деле, функция 2 (ацХ] —. Яа;,) непрерывна по аргументам 5=1 ж„ х2, ;.., хп, X. Тогда ф (х, X) = max 2 (atj?j — ^i) так- l<i<n j=l же непрерывна. Покажем, что для любой непрерывной функции ф(х, X) функция и (X) = min ф (х, X) непрерывна х 138
при условии, что ^ — компакт. Действительно, пусть Поскольку 5" — компакт, последовательность {х") можно считать сходящейся. Пусть lim xh = x°. Тогда, переходя к пределу в неравенствах ф(а;*, Хк) < ф(я, Xk), из непрерывности функции ф получаем, что ф(я°, Хо) *3 ( \о) при всех iej, Но это означает, что и(Х0) в U, т. е. lim u (\ft) = НтФ (Д Xk) = и Таким образом, доказана непрерывность функции и(.\) значений задачи D.16). Очевидпо, что ц>{х, X) •* —°° при X -*¦ +<» и ф(а;, %) -* -v+оо при %-*— о», при каждом фиксированном х<=1(. Из ограниченности И вытекает, что это же верно и для функции и(Х). Итак, 1) и(\) непрерывна; 2) и{Х) -*¦ — °о при X — + °°; 3) и(Х) -+ + <х> при Я, -* - оо. Из свойств 1)—3) следует, что существует такое чис- число \л, что u(Xa) = 0. Обозначим вектор, являющийся ре- решением задачи D.16) при X = Хл, через хл. Тогда хл>0, <хл, е> = 1. D.17) Рассмотрим задачу, двойственную к задаче D.16): max v U - XIVр + ve>0, <р, е> = 1, р > 0. 14Л8) Из теоремы двойственности получаем, что при К = Хл. значение задачи D.18) также равно 0. Обозначим вектор, являющийся решением задачи D.18) при X ¦• Хл, через рА. Тогда А'рх > Х^р*.. Применян к неравенству D.17) следствие из леммы 4.5, получаем, что Ха > 0, хА > 0. По теореме равновесия из последнего строгого неравенства следует, что А'ра = ХаРл- Вновь привлекая следствие из леммы 4.5, имеем рл > 0. По тео- 139
реме равновесия Ахл = ХАхА. (Заметим, что мы считали очевидным, что матрица А' неразложима вместе с матри- матрицей А; см. упражнение 4.) Для доказательства теоремы нужно убедиться в том, что собственный вектор хА, соответствующий числу ХА,-г- единственный с точностью до скалярного множителя. Пуоть ха — такой вектор, что АхА = ХАз>А и пара векторов хА, ха линейно независима. Тогда можно подо- подобрать такие числа а, р, что вектор х »= <хха + Р^л имеет' хотя бы одну Нулевую координату и в то же время х ?> 0. Вектор Я также является собственным, так как Ах = = аАхА -+- $Ах'А = ХА (аха + Р^л) = ХАх. Из равенотва Ах =- ХА$ следует, что А\х\ Ж\2\, D.19) где |j|«=(lxil, \x2\, ,.., \хп\). Чтобы получить D.19), нужно лишь воспользоваться тем, что модуль суммы чи- чисел не больше суммы их модулей: так как то \(Ax)t\ =XA\xi\; значит, п 2 Допустим, что в D.19) хотя бы в одной координате имейт место строгое неравенство. В таком случае, умножая неравенство D.19) скалярно на положительный вектор рА, получим строгое неравенство <Л1.г|, рА~> > ХА<.\х\, рАУ. Заметим, что <А\х\, рА> = <\х\, А'рА> = ХА<\х\, рА>. Тогда Ха<|2A, рАУ > Xa<\3!\, рАУ, что невозможно. Следо- Следовательно, А\х\ '-=кл\х\. Из следствия к лемме 4.5 полу- получаем \х\>0, что противоречит определению вектора х. Таким образом, собственный вектор хА — единственный. Пусть теперь Я — произвольное число матрицы А (действительное или комплексное), z— соответствующий собственный вектор. Из равенства Az = Xz следует, что A\z\ > \X\ |г|, D.20) где \z\ =»(Uil, |z2l, .-.., |zn|). Скалярно умножая неравен- неравенство D.20) на вектор рА > 0, получаем <A\z\,pA>^\X\<\z\, pA>, откуда ^'а<Ы, рА> > \X\i\z\, рА>, т. е. ХА> \Х\ (с учетом rot'O, что <Ы, рАУ>0). Теорема полностью доказана. 140
Нетрудно получить аналог теоремы Фробениуса — Перрона для произвольных (необязательно неразложимых) неотрицательных матриц. Теорема 4.7. Неотрицательная матрица А имеет неотрицательное собственное число ХЛ > 0, причем ХА 3* > Ш для любого собственного числа X матрицы А. Кро- Кроме того, существует неотрицательный собственный вектор ?а > 0, соответствующий числу КЛ. Доказательство проведем индукцией по порядку мат- матрицы А. Для случая п = 1 утверждение теоремы триви- тривиально выполняется. Пусть /г>1. Если матрица А нераз- неразложима, то теорема 4.7 следует из теоремы Фробениуса — Перрона. Если А имеет вид D.15), то матрицы А{ и"А3 имеют порядок, меньший /г, и к ним применимо индуктив- индуктивное предположение. Пусть ХЛ1ДЛз— собственные чис- числа Фробениуса матриц Ai и Аъ соответственно, а векторы хАх eRS Ха9 ^ Rn~fe — собственные. Предположим, что ^¦A^^Ag. Положим "ka = ^a1,xa = (^i>°), где 0 обо- обозначает (га — /с)-мерный нулевой вектор. Конец доказа- доказательства предоставляем провести читателю. Собственные векторы хА и рА матриц А и А' соответ- соответственно, а также число Хл, существование которых утвер- утверждается теоремами этого параграфа, будем называть фробениусовыми. § 4. Эффект замещения в обобщенной модели Леонтьева Рассмотрим обобщенную модель Леонтьева, как она описана в п. 5 § 2 гл. I. Напомним, что технология этой модели задается парой матриц (А, /), размеров пХтп, где п — количество наименований товаров (продуктов), m — число отраслей, производящих эти товары. При этом все отрасли можно разбить по группам так, что в группе с номером к собраны все отрасли, выпускающие продукт с номером к, к = 1, 2, ,. ., п. Формально это записывается п следующим образом. Пусть М={1,2,.. .,m}, M= U Мь, h=\ Mh A Мк.=0 при кфк'. То, что j s Mh, означает, что отрасль (технологический процесс) с номером / выпускает k-ii продукт. Столбец а' = (au, a2l, ..., ап1) матрицы А описывает затраты каждого продукта i =*= 1, 2, ..., п на производство 141
единицы продукции отрасли /. Соответственно столбец е' = @, 0, ..., О, 1,0,..., 0) матрицы /, где число 1 стоит на месте /-й координаты, описывает структуру выпуска отрасли /• Для сокращения записи введем следующие обозначе- обозначения. Пусть а = {/,, /а, ..., /„), где /„ е Мк, к = 1, 2, ... ..., п,— некоторое подмножество множества индексов Л/, соответствующее выбору из каждой группы МК одной отрасли. Обозначил! через Аа матрицу, составленную из всех столбцов матрицы А с номерами из мпожества о. Анало- Аналогично, введем обозначение /«. Матрицы Аа и /„ являются квадратными п X /г-матрицами, при этом /„ — единичная, так что матрица Аа задает обычную модель Леонтьева. Матрицу А„ назовем подмоделью обобщенной модели Леонтьева. Обобщенная модель Леонтьева (А, I) называется про- продуктивной, если для всякого неотрицательного вектора с е R" существует неотрицательное решение х е R+ системы неравенств 1х — Ах^с, хХ). Другими словами, модель (А, I) продуктивна, если в пей может быть удов- удовлетворен любой конечный спрос. Введем также следующее обозначение: для любого век- вектора я s R+ через ха обозначим вектор ха = (х^, х,2,... .. . , ?jn) s R+. Обозначив Л = / — А, сформулируем за- задачу (см. A.12)) удовлетворения конечного спроса при минимальных трудовых затратах: min U, хУ -х ъ> -^л D.21) А х Ss с, х > О, где I = Hi, h, . ~.., lm), причем U обозначает трудовые за- затраты при единичной интенсивности работы отрасли с номером i. Теорема о замещении (П. Самуальсон). Существует подмодель А„ обобщенной модели Леонтьева (А, 1) такая, что среди решений задачи D.21) для про- произвольного конечного спроса с > 0 найдется вектор х, для которого х{ = 0, если \Ф а, и х, > 0 при jeo, 142
Доказательство этой теоремы будет вытекать из ря- ряда лемм, относящихся к теории линейного программиро- программирования. Рассмотрим задачу, двойственную к D.21): max <c, г/> З'у <1, у> 0. Если интерпретировать двойственные переменные у как цены па товары, считая при этом, что заработная плата одного рабочего принята за 1, то получим, что D.22) описывает задачу максимизации стоимости выпу- выпущенной продукции (чистого выпуска) при условии бес- бесприбыльности производства. Задачи D.21) и D.22) являются допустимыми. В са- самом деле, допустимость задачи D.21) является следстви- следствием предположения о продуктивности обобщенной модели, а в задаче D.22) нетрудно указать допустимый вектор я явном виде: у = 0. По теореме двойственности обе задачи D.21) и D.22) имеют решение. Пусть х, у — векторы, являющиеся ре- решениями этих задач соответственно. Обозначим с = = Ах > с > 0. Назовем решение х задачи D.21) опорным, если век- вектор х имеет не более чем п положительных координат. Лемма 4.6. Задача D.21) обладает опорным реше- решением. Эта лемма совпадает с леммой 2.1. Лемма 4.7. Структура опорного решения х задачи D.21) имеет следующий вид: существует набор индексов о = (?,, i2, ..., iJ, где ih e Mh, k = 1, 2, ..., п, такой, что xt > 0, i е о, и Xi = 0, если i Ф о. Доказательство. Утверждение леммы выте.каег из определения опорного решения и структуры матри- матрицы А. Действительно, поскольку Л = / — И, то 1х — Ах> ^ с > 0. Учитывая, что (?i)A= S *i>0, i получаем, что для всякого к, к = 1, 2, ..., п, существует индекс п, tbe Mh, такой, что Zih>0. Так как в базисном решении не может быть более чем п положительных ком- компонент, окончательно приходим к тому, что Х{ = 0, если 1Ф- о = {it, h, ..., iJ. 143
Лемма 4.8. Пусть с' > О — произвольный вектор конечного спроса. Рассмотрим задачу D.21), где в каче- качестве вектора с фигурирует с'. Тогда среди решений этой задачи существует вектор х', структура которого такая же, каЛ у опорного решения х, т. е. Х{~> О, i е а, и х\ = О, 1ф а, где а — набор индексов, существование которого утверждается в лемме 4.7. Доказательство. Рассмотрим модель Леонтьева, соответствующую строкам матрицы А с номерами из мно- множества а. Пусть Аа — соответствующая квадратная пХп- матрица. Тогда существует вектор х„ такой, что А„ха = = с > 0. Следовательно, модель Аа продуктивна." Поэтому существует вектор ха^0 такой, что Лаха — с'. Постро- Построим m-мерный вектор х', положив х[ — (xa)i, если ieo, я xi = 0, если i Ф- б. .Ясно, что х ^ 0, Ах = с . Следова- Следовательно, вектор х допустим для нашей задачи. Покажем его оптимальность. Рассмотрим вектор у, являющийся решением задачи D.22). Этот вектор является допустимым и в том случае, когда в D.32) вектор с замещен вектором с'. Поскольку векторы х и у являются оптимальными для соответству- соответствующих задач, то по теореме равновесия выполняются сле- следующие утверждения: yi>0^ (Ax)j = cj, Xi > 0 => (A'y),[ = lt. Рассмотрим пару векторов (х', у). Каждый из них до- допустим для задач D.21), D.22) соответственно при с = с'. Вместе с тем, так как Ах = с = Ах и нули "у векторов х' ш х располагаются на одних и тех же координатах, то выполняются аналогичные импликации: Вновь пользуясь теоремой равновесия, получаем, что век- вектор х' является решением задачи. Из лемм 4.6—4.8 непосредственно вытекает доказа- доказательство теоремы о замещении. Таким образом, при необходимости экономить трудо- трудовые ресурсы каждая отрасль может использовать посто- постоянно один и тот же из возможных технологических про- процессов при производстве любого вектора конечного спроса. Возникает вопрос: чем набор способов, отвечающий множеству индексов а в теореме Самуэльсона, отличается от остальных? 144
Для ответа на этот вопрос введем понятие вектора полных трудовых затрат. Пусть Аа — модель Леонтьева. В том случае, когда модель продуктивна, можно показать, что матрица I — Аа невырождена. При этом решение уравнения (/ — Аа)ха = с можно записать в виде ха — = (/ — Аа)~1с. Тогда трудовые затраты выразятся числом <1а, *с> = <1а, (I ~ А,)-1 С) = <(/ - А',)-1 1а, С>, где (напоминаем) Аа^- матрица, транспонированная к Аа. В связи с этим вектор С = (/ — А'а)~л 1а называют вектором полных трудовых затрат модели [Аа, 1а)т- Пусть а1 — произвольный набор индексов cr1= {ij, i2i... . . .", in], так что iieMft, A=l,-2,..., и^Тогда этот на- набор задает модель Леонтьева Аа1= I — Agl и соответ- соответствующий вектор прямых трудовых затрат lgi. Если под- подмодель Agi продуктивна, обозначим через lgi вектор ее полных трудовых затрат 1*д1 = (I — ^i) lgi. Теорема 4.8. Доказательство. Рассмотрим следующие задачи: ха — Ааха > с, »„¦> 0; i<iol, х i> Задача, двойственная к D.23); имеет вид шах (с, г/> D.24) D 25) Так как с > 0, то, как мы уже видели, ха > 0. По тео- теореме равновесия отсюда вытекает, что если уа — решение задачи D.25), то (/ — Аа) уа = 1а, т. е. 1*а= (I — А'а)~11а = = уа. Точно так же для решения задачи, двойственной к D.24),, имеем 10 С. А. Ашманои
С другой стороны, по теореме двойственности {с, у^У = = (lai, zai>, {с, уау = </а, ха}, где ха, ха1 — решения задач D.23), D.24) соответственно. Учитывая, что при любом векторе конечного спроса с>0 имеет место неравенство (х0, О^^оЬ 1а\У' получаем <с, г/а>< (с, z/al> или <с, ?>< <с, Z*!>. Из произвольности вектора с > 0 заключаем, что la ^ ^ai- Таким образом, мы получили следующую характеристи- характеристику подмодели Аа\ вектор полных трудовых затрат 1а этой подмодели по всем координатам не больше вектора пол- полных трудовых затрат любой другой продуктивной под модели. § 5. Теорема о магистрали для динамической модели планирования Рассмотрим динамическую модель леонтьевского типа, описанную в § 2 гл. I. Напомним ее математическую фор- формулировку (см. A.10)): max (с, хт) ~~ Ах1 ^ х\ Axt+i ^ x\ t =: 1, 2, ..., Т - 1, v D.26) *' 2* 0, t = 1, 2, ..., Г. Основная трудность при решении задачи D.26) связа- связана с большой размерностью этой задачи. В зависимости от степени подробности описания общественного произ- производства межотраслевой баланс может включать в себя до пескольких сотен отраслей. Если при этом период пла- планирования составляет несколько лет, а за единицу вре- времени принимается, скажем, месяц или квартал, то раз- размерность задачи линейного программирования D.26) настолько велика, что ее точное решение не под силу даже самым современным ЭВМ. В связи с этим особый интерес представляют качественные результаты относи- относительно поведения оптимальных динамических траекторий. Для изложения одного из самых интересных фактов в этой области нам потребуются свойства неотрицательных матриц, полученные в § 3. Кроме того, нам придется воспользоваться еще одним важным свойством квадрат- квадратных неотрицательных матриц, однако его полное доказа- доказательство здесь мы не приводим, поскольку оно увело бы нас в сторону от линейною программирования. 146
Рассмотрим сначала технологическую матрицу А мо- модели Леонтьева. Допустим, что эта матрица устроена сле- следующим образом: все п отраслей разбиты на т групп Го, 1\, ..., Гщ-t. При атом сырьем для отраслей из группы Г„ слуЯ!ат только товары, производимые отраслями из груп- группы Гц сырьем для отраслей из 1\ служат товары отраслей из Г2 и т. д. Сырьем для отраслей из группы Гт_4 служат товары, производимые в группе IV Если считать, что группа Го содержит отрасли с номерами 1,2,..., ки группа Tt — отрасли с номерами /с4 + 1, А;4 + 2, ..., к2 и т. д., то матрица А, обладающая описаипым свойством, выглядит следующим образом: D.27) 0 Ao 0 0 о 0 0 Ax 0 0 0 ... 0 ... 0 ... A2... 0 ... 0 0 0 0 A Am_ 0 0 0 о Определение 4.13. Неразложимая матрица А > О пазывается импримитивной, если множество N = {[, 2, ... ..., п) можно так разбить на m непересекающихся под- подмножеств Го, Г|, ..., Гт_4, что если ац > 0, is Гг, то при г «S m — 2 обязательно / е Гг+1) а ПрИ т = m — i обяза- обязательно /е Го. После очевидпой перенумерации отраслей, что соответ- соответствует одновременной перестановке строк и столбцов, импримитивную матрицу можно привести к виду D.27). Остальные неразложимые матрицы называются прими- примитивными. Кажется очевидным, что любая матрица А, опи- описывающая реальные межотраслевые связи, будет прими- примитивной. Далее в этом параграфе приняты следующие обозна- обозначения: хА — вектор Фробениуса матрицы А; рА — вектор Фробениуса матрицы А'; КА — число Фробениуса матриц А и А', так что АхА = ХАхА, А'рА = 1кАрА. Для примитивных матриц имеет место следующий аа- мечательпый факт. Эргодическая теорема. Пусть А — примитив* пая матрица, х — произвольный неотрицательный п-мер- 10* Ш
ный вектор. Тогда lim = \LXA, где <XA' РаУ Доказательство этой теоремы см. в [26J. Ее пазвание при- пришло из теории вероятностей. Основное ее содержание со- состоит в том, что последовательность [-.— А) х, t—1,2,..., \КА I сходится при произвольном векторе х е R+. Определение 4.14. Пусть JsR", е > 0 — произ- произвольное число. Назовем конической г-окрестностъю векто- вектора х множество €в(х) = U|*eRn, ЭХ > 0 : |Х* - х Иллюстрацией этого определения служит рис. 4.1. Переформулируем эргоди- ческую теорему с использо- использованием понятия конической е-окрестности. Теорема 4.9. Пдсть мат- матрица А примитивна, х — произвольный неотрицатель- неотрицательный вектор. Тогда для любо- любого г > 0 найдется такое на- натуральное число Т(е, х), что Рыс-4Л- при t>T(e, x) вектор х,= — А'х принадлежит конической е-окрестности Ct{xA) век- вектора Фробениуса Ха. Теперь сформулируем основной факт о свойствах оп- оптимальных решений задачи D.26). Теорема о магистрали. Пусть матрица А при- примитивна, начальный запас х° положителен, с 5* 0, с ?• 0. Для любого е > 0 существуют такие числа Т,(г), Г2(е), что если промежуток планирования Т достаточно велик, именно, Т>Т,(г) + Т2(е), то при всех t, T,(s)^t^T- — Г2(е), имеет место xt e C.dJ для любой оптимальной траектории {#,} задачи D.26). Прежде чем приступить к доказательству этого ут- утверждения, поясним его содержательный смысл. Теорема о магистрали утверждает, что если промежуток планиро- 148
вания достаточно велик, то в течение всех периодов с но- номерами t, где 7\(е) «S t «? Т — Тг(г), все оптимальные тра- траектории задачи D.26) обладают таким свойством: направ- направление вектора интенсивностей xt мало отличается от направления вектора хл. Отметим, что число таких «хо- «хороших» периодов растет с ростом промежутка планирова- планирования Т, так как числа 7\(е), Г2(е) от Т не зависят. Отсюда следует, что даже если не удалось вычислить оптималь- оптимальную траекторию ixt), по векторы выбирать х, таким образом, чтобы величина II — — — II IIЫ \\хл\\\\ была по возможности меныце, то мы не слишком много потеряем по сравнению с оптимальным планом. Эта ре- рекомендация не зависит от вектора начальных запасов ха и от целевого функционала <с, хУ. В связи с этим приве- приведем образное сравнение для выводов теоремы, принадле- принадлежащее американским авторам Дорфману, Самуэльсону и Солоу [22], открывшим этот эффект. Допустим, что некто хочет проехать по большому го- городу с интенсивным движением из пункта А в пункт В. Если пункты А и В расположены недалеко друг от друга, то, скорее всего, самый быстрый путь — это ехать по наикратчайшему пути. Однако, если расстояние между А ж В значительно, то самый быстрый путь чаще всего оказывается таким: надо из пункта А выехать на одну пз больших городских магистралей, где средняя скорость движения велика, не смущаясь тем, что при этом, возмож- возможно, придется несколько отклониться от цели, и по этой магистрали приблизиться насколько возможно к пункту В и затем только с нее свернуть. Приступим к доказательству теоремы о магистрали. Построим задачу, двойственную к D.26). Вектор переменных задачи D.26) имеет размерность п X Т и его можно записать в виде х =- {х\ хг, ..., хт), где каждый вектор х1 в свою очередь есть re-мерный век- вектор. Вектор правой части ограничений имеет вид Ь — — (х°, 0, . .., 0), а вектор коэффициентов целевого функ- функционала равен с* = @, 0, ..., с); здесь 0 обозначает п- мерный нулевой вектор. В матричном виде задача D.26) имеет вид max <c*, хУ Rx s= b, x > О, 149
где А — I 0 0 0 0 А — 1 0 0 0... 0 ... А ... 0 ... 0 ... 0 0 0 А — 1 0 0 0 0 А 7? = Здесь 0 — нулевая п X «-матрица, / — единичная п У л- матрица. Обозначим вектор двойственных переменных через р = (р\ рг, ,.., рт). Тогда двойственная задача примет вид min <b, р) П'р>с*, р>0, или min ix°, р'У ^0, Г-1 Т-\, А'рт р*>0, 4 = 1,2,..., /'. D.28) Для исследования решений аадач D.26) и D.28) по- понадобится несколько лемм. Лемма 4.9. Коническая г-окрестность вектора х является выпуклым конусом. Доказательство. Достаточно убедиться, что для любых х1, хг&С.(.х) имеют место включения U'eC.li) (для любого %>0) и I' + feCjf). Первое утверждение очевидно. Докажем второе. Поскольку х\ t'eC.lf), то существуют такие числа Х>0, ц > 0, что \\Хх* - ?|<е, 11(хха — хII < е. Покажем, что \\^(х' + х2) — х \< е, где ^— ). В самом деле, , и - х- - А + И' X+li Следующая лемма уточняет утверждение теоремгл 4.9. Лемма 4.10. Пусть А — примитивная матрица. Тогда длг, любого е > 0 найдется накое натуральное число 7'i(e), что для любого х S R" при 1>Т,(г) вектор xt =A'x принадлежит конической ^-окрестности С,{хл). 150
Доказательство. Отличие этой леммы от теоремы 4.9 состоит в том, что здесь номер ГДе) не зависит от вектора х. Пусть е', е2, ..., е" — базисные векторы про- пространства R". По теореме 4.9 для каждого ег существует такое число Т(е, е1), что при i>74e, e1) выполняется включение i'e1 e CsUa). Пусть Т1(е) = max Т(е,е*). Так как х = 2j xie , то A x = ^ a;^ e . Учитывая, что Xj ^ 0, i = 1, 2, ..,, га, а также то, что согласно лемме 4.9 Сг(хА) — выпуклый конус, получаем А1х^С.{хА) при Лемма 4.11. Если матрица А примитивна, то суще- существует такой номер То, что для любого х ^ 0, х ?= 0, при t>T0 имеет место неравенство А'х>0. Доказательство. Поскольку матрица А неразло- неразложима, то хА > 0. Возьмем е0 > 0 настолько малым, чтобы коническая е0-окрестность вектора хА состояла только ил положительных векторов (не считая 0). По лемме 4.10 найдется такой номер То = ГДео), что при t> Ta имеет место включение Ах^СЕ()(ха), т. е. выполняется нера- неравенство А'х > 0. Лемма 4.12. Существует такое число То, что для всякого решения {pt) задачи D.28) имеют место равенства А'р' = ?'+' . D.29) для всех t, I ^ t ^ Т — 7'0. Доказательство. Покажем вначале, что в реше- решении {х') задачи D.26) вектор хт — не нулевой. В самом деле, если хт = 0, ¦ то максимальное значение целевой функции <с, хтУ также равно 0. Вместе с тем нетрудно указать план задачи D.26), для которого значение целе- целевой функции больше нуля. Положим х' — аАт~'хА> t = 1, 2, . .., Т. Легко убедиться, что при таком плане вес ограничения задачи D.26), кроме первого, обращаются в равенства. Выбрав число а > 0 достаточно малым и вос= пользовавшись тем, что х° > 0, можно добиться и выпол- выполнения первого неравенства: оХа~1ха ^х°- При ' этом <с, хтУ = сс<е, хА~> > 0. Таким образом, хт ?= 0. Заметим, что из ограничений D.26) следует, что х1 Э* Ат~'хт. Вос- Воспользовавшись леммой 4.11, получаем, что если T — t>T0, 151
т. е. если t^T-T0, то х' > Ат-'хт> 0. Применяя теперь теорию двойственности, получаем, что все соответствую- соответствующие ограничения двойственной задачи при подстановке в них ее решения обращаются в равенства. Лемма 4ЛЗ. Существует такое число 7\, что для всякого решения (х1) задачи D.2G) имеют место равен- равенства Ах'*1 = х' D.30) при всех t, Г, < ? < Г - To. Доказательство. Как следует из D.29), р' = = {А')'-'р\ t = 1, 2, .... Т - То. Отметим, что р' Ф О, по- поскольку из D.29) вытекает также, что (А')тр1 > с Ф 0 Следовательно, по лемме 4.11, примененной к матрице А', существует такое число То, что при t—1 > То имеют место неравенства р' — (А)'~*р1 > 0. Остается положить Т\ = 1 + То и вновь воспользоваться теорией двойствен- двойственности. Доказательство теоремы о магистрали теперь легко по- получается применением леммы 4.10 к последовательности ix'}, Ti^t^T — To, так как из D.30) следует, что хт-т'-' = А1хт-т". Обращаясь к лемме 4.10, имеем, что найдется такое число Tie), что при ?>7Че) имеет место включение хт—г»-; е СЛха). Это означает, что любой вектор 5с', но- номер которого удовлетворяет неравенствам t &* Г, и t ^ *S Т — Та — 7Че), принадлежит СЛхЛ). Обозначив Тй 4- + ТЧе) = Т2(г), получаем утверждение теоремы о магист- магистрали. При этом, правда, мы получили также, что 71, не зависит от е, но это несущественно. § 6. Принцип максимума для дискретных линейных задач оптимального управления Дискретной линейной задачей оптимального управле- управления называется динамическая задача следующего вида (см. гл. I): max «=0 xt+i = Atxl + B,u\ D.31) d1, t = 0,l,2,...,T, D.32) 152
Здесь At — матрица размеров га X re; Bt — матрица размеров ге X /га; D, — матрица размеров I X /га; ж', с', х — векторы из пространства R"; Ь', и' — векторы из пространства Rm; d' — вектор из пространства R'. В этой задаче требуется таким образом определить последовательность управлений п.', t = 0, 1, 2, ..., Т,. удовлетворяющих ограничениям D.32), чтобы она вместе с соответствующей последовательностью х', определяемой формулой D:31) при начальном значении х" = х, макси- максимизировала значение целевой функции. Аналогичные задачи для процессов с непрерывным временем изучаются в теории оптимального управления. Основным результатом этой теории является принцип максимума Понтрягина, дающий эффективный метод ис- исследования оптимальных траекторий движения. Задача D.31), D.32) линейна, и поэтому для нее не- нетрудно получить полный аналог принципа максимума. С тем чтобы сделать эту аналогию более наглядной, для читателя, знакомого с основами теории дифференци- дифференциальных уравнений, приведем формулировку принципа максимума Понтрягина. В дальнейшем этот результат не используется. Пусть вектор х = (хи хг, ..., хп) описывает положение управляемого объекта в пространстве R". Движение объекта состоит в том, что его координаты зависят от времени и от величин ии и2, ..., um, называе- называемых управлениями, и = (ии и2, ..., ит). Управление и в свою очередь меняется во времени, однако его измене- изменение в некотором смысле зависит только от управляющего субъекта. Пусть задано замкнутое множество U s Rm. Управление u(t) называется допустимым, если в каждый момент времени t вектор иШ принадлежит множеству U и функция u(t) кусочно непрерывна. Пусть известно начальное состояние объекта х° = (х\, х°2,...,Хп) и, кроме того, известен закон движения, представленный в виде системы обыкновенных дифферен- дифференциальных уравнений первого порядка: х{ = ft(x, и, I), i = l, 2, ..., га, где функции /f предполагаются непрерыв- непрерывными по совокупности переменных и непрерывно диффе- дифференцируемы по Xi и по t. 153
Если теперь выбрано некоторое допустимое управле- управление u(t), то заданная система дифференциальных уравне- уравнений вместе с начальным условием х@) = х" однозначно определит траекторию x(t). Рассмотрим функционал т J /0 {х, и, t)dt, где/0 — некоторая интегрируемая функция. о Задача состоит в том, чтобы среди допустимых управ- управлений u(t) выбрать такое, которое бы вместе с соответ- соответствующей траекторией x(t) максимизировало заданный функционал при фиксированном Т > 0. Для решения этой задачи вводятся новые двойствен- двойственные переменные i|30(t), tyi(t), x|J(t), ..., tyAt) и. строитсч функция Гамильтона п #СФ, х, и, t) = 2 %/i(*, w, 0- Рассмотрим систему дифференциальных уравнений, которая называется сопряженной: ¦фо = 0, \|3i = ——, i = 1, 2,..., и. Пусть м*(() — оптимальное управление, x'Ht) — соответ- соответствующая траектория. Теорема (принцип максимума Понтрягина). Суще- Существует решение 1|з* (t) = (-фо @. 'Ф* @> • • ¦> 'Фп(О) сопря- сопряженной системы уравнений, при котором ж*, м*, ?) = max Я(*р*, ж*, w, t) . иеи каждого t, 0 < t < Г. /7/ж згож вектор ф*(() не обра- обращается в 0 нигде на отрезке [0, Г]. Приступим к изучению задачи D.31), D.32). Обозна-' чим множество векторов и', описываемое неравенством D.32), через Ut. Пусть р' — двойственные переменные, со- соответствующие условию D.31) при t = 0,-l, 2, .. ., Т. Здесь р' — вектор размерности п. Аналог функция Га- Гамильтона для задачи D.31), D.32) имеет вид Ht(p', x\ u') = <c', x'> + <b', u'> + <p<, Atx' В качестве уравнений сопряженной - — t = : дх системы Г, Г-1, возьмем систему 154
или р'~1 = с'+ А'{р1, t = T, Г —1 1, / = 0. D.33) Отметим, что п фупкции Гамильтона пе все слагаемые вависят от и'. Это позволяет ввести более простую функ- функцию Теорема 4.10 (принцип максимума). Для того что- чтобы в задаче D.31), D.32) управление п' было оптималь- оптимальным, необходимо и достаточно, чтобы выполнялось ус- условие {р) 1(и,р'), D.34) u<=Ut где р* определяется по формулам D.33). Доказательство. Задача D.31), D.32) представ- представляет собой вадачу линейного программирования. Постро- Построим к ней двойственную. С этой целью выпишем более подробно матрицу ограничений прямой задачи. Вектор переменных задачи D.31), D.32) имеет вид х — = (и\ х\ и\ х1 ит, zr+1). Следовательно, его размер- размерность равна {Т + l)(n + m). Матрица ограничений имеет вид А = - /?0 u0 0 0 0 0 0 1 0 — Ai 0 0 0 0 0 0 — bi ui 0 0 0 0 0 / 0 0 0 0 0 0 0 — '% 0 0 0 0 0 0 1 0 0 ... 0 ... 0 ... 0 ... 0 ... 0 ... 0 ... 0 0 0 0 0 0 -AT 0 0 0 0 0 0 -BT DT 0 0 0 0 0 / 0 вектор правой части ограничений 5 = {А^х°, 0, 0, ..., 0). Пусть вектор р' — {р\,- .., рп) двойственных перемен- переменных соответствует ограничению D.31), t — 0, 1, 2, ..., Т, а вектор q '= (с/,,..., q\) — ограничению D.32), г = = 0, 1, 2, ..., Т. 155
Тогда задача, двойственная к D.31), D.32), принимает следующий вид: min <p'\ Лих"У - B'tp* + D'tq1 = Ъ1, /=0,1,2 Т, D.35) р<-г-А'{р< = с\ « = 1,2 Т, • рт = 0, ff'>0, «==0, 1,2,..., Т. Обратим внимание на то, что двойственная задача построена в полном соответствии с правилами, сформули- сформулированными в гл. III: поскольку на переменные прямой задачи не накладывается условие неотрицательности, то все ограничения двойственной задачи носят характер ра- равенства; на переменные q' наложено условие неотрица- .тельности в связи с тем, что соответствующие им ограни- ограничения D.32) являются неравенствами. Пусть. р\ t = Т, Т — 1, .. ., 1, 0,— последовательность, определяемая из D.36) при рт = 0. Тогда Ht (и, р') --= <Ь* + В'#', и) = (D'tq\ и). D.37) Здесь мы воспользовались равенством D.35). Пусть теперь и <= Ut — произвольный вектор, т. е. Dtu =S d1. Поскольку q' > 0, то <g', Z?,w> ^ <d', q'~>. Учитывая, что (Dtq*, и) = = <g', Dtu), из D.37) получаем .¦Н,(и, р') < <d\ q'> D.38) для любого и е (Jt. По теореме двойственности для общей задачи линей- линейного программирования допустимый вектор х* = (п0, х\ п1, ..'., пт, xT+l) является оптимальным для задачи D.31), D.32) тогда и только тогда, когда <Dlul,ql> = <dt,qt>, t = 0,i Т, для всякого вектора q', участвующего в решении задачи D.31), D.32). Сравнивая с D.37), получаем Н({и\ р1) = max#t (и, р1), U что и доказывает теорему. Одно из возможных применений принципа максимума состоит в следующем. Допустим, что приходится часто решать задачу D.31), D,32) с различными начальными 156
состояниями х, векторами Ь', d' и матрицами Bt, Dt. Это означает, что все параметры, связанные с управлениями ut, могут меняться. Тогда достаточно один раз вычислить значения pt по формулам D.33), после чего на каждом шаге t решать задачу оптимизации D.34), в которой век- вектор и переменных имеет размерность т, что существенно проще, чем решать исходную задачу с вектором х размер- размерности {Т + 1)(п 4- тп). УПРАЖНЕНИЯ 1. Доказать, что п X л^матрпц-а А = (а,,) с элементами ац — = i — j имеет седловую точку в чистых стратегиях. 2. Показать, что множество оптимальных стратегий в мвтрич- ной игре образует выпуклый многогранник. 3. Пусть столбцы матрицы А — неотрицательные ненулевые векторы. Показать, что значение игры с матрицей А положительно. 4. Доказать, что матрица А разложима тогда и только тогда, когда разложима матрица А'. 5. Доказать, что если кл — 0, то матрица А разложима. 6. Пусть А — неразложимая матрица. Верно ли, что А1 также неразложима? 7. Установить следующие свойства числа Фробениуса %. а матрицы А: кА = кА,; 7^fc = К\; каЛ=аХА при a js О, ХА > кв, если А >В >0. 8. Матрица А неразложима тогда и только тогда, когда для любых двух индексов i, /, 1 ^ i, j sg; n, существует такая последо- последовательность 1=1,, i2, ..., iM=j, что fli(i(+1 > 0, t = 1, 2, ... ..., m — 1. Доказать. 9. Показать, что если [х1} — произвольная оптимальная тра- траектория в задаче D.26), то х' — Ат~1хт, t = 1, 2, ..., Г,—также оптимальная траектория. 10. Доказать теорему о магистрали для задачи max a Лх'<х°, Лх"'+|<х<, t = i, 2, ..., Г, хт 5г ах, где А — примитивная матрица, х° > 0, х > 0. 11. Пусть А — имиримитивная матрица. Доказать, что матри- матрица А™ — блочно-диагональная при некотором натуральном т. 12. Доказать, что существует такой вектор аеЯ", а > 0, что для любого вектора ieX, где AT=(x|xsR", ||х|] = 1, Ах<х\, выполняется неравенство i>a, Матрица А предполагается нераз- неразложимой.
Г Л А В А V. ТЕОРИЯ СИМПЛЕКС-МЕТОДА § 1. Метод исключения Жордапа — Гаусса для систем липейных уравнений 1. Большинство из существующих численных методов решения задач линейного программирования использует идею приведения системы линейных уравнений а„ж, + ai2x2 +-... + ainxn = bu alixl + аггхг + ... + агпхп — b2, ftml^i * &т1Хг ~т . . . "г &тпХп ¦:— Omt которая в матричной форме записывается в виде Ах = fc, к более удобному виду с помощью так называемого мето- метода Жордана — Гаусса, изучаемого в общем курсе алгебры Напомним вкратце его содержание; В первом уравнении системы отыскивается коэффици- коэффициент «и,, отличный от нуля. С помощью этого коэффици- коэффициента обращаются в нуль коэффициенты при переменной Xj^ в остальных уравнениях системы. Для этого nepnot? уравнение умножается па число — а^/ац^ и прибавля- прибавляется к уравнению с номером г, 2 < г ^ т. Затем первое уравнение делится на число ац^ Это преобразовании называется элементарным преобразованием; оно не ме нпет множества решений системы. Полученпая эквива- эквивалентная система обладает тем свойством, что переменная ^ij присутствует только в первом уравнепии, и притом с коэффициентом 1. Переменная х^ называется базисной переменной. Аналогичная операция совершается поочередно с каж- каждым уравнением системы; при этом всякий раз преобра- преобразуются все уравнения и выполняется список базисных переменных. 158
Результатом применения метода Жордана — Гаусса является следующее: либо устанавливается, что система уравнений несовместна (все коэффициенты очередного рассматриваемого уравнения нулевые, а свободный ч"лен отличен от нуля), либо выявляются и отбрасываются все «лишние» уравнения (у которых все коэффициенты и сво- свободный член равны нулю); при этом итоговая система уравнений имеет вид где о = {z'r, h, ..., ij — список номеров базисных пере- переменных, о == {1, 2, ..., п)\а — множество номеров неба- небазисных переменных. Здесь к{к s? т) — ранг матрицы А коэффициентов исходной системы уравнений. Полученную систему уравнений будем называть при- приведенной системой, соответствующей множеству а номеров базисных переменных. ^ Нетрудно видеть, что в качестве базисных переменных х{г, Xi2,. • ¦, X{k может служить лишь такой набор, для которого соответствующая система [а1, a\..., аг>1} столбцов матрицы А линейно независима. Приведенная система уравнений удобнее первоначаль- первоначальной, поскольку дает явное описание множества всех ре- решений. Давая небазиспым переменным xh |еш, произ- произвольные значения, вычисляем значения остальных (базис- (базисных) переменных по формулам таким образом получаем любое решение системы. В част- частности, одно из решений задается вектором ж0 = (.zj, x\,... ...,хп), где fai0, если i e a, (О, если i e й. Пусть ранг матрицы А равен m (т. е. к — ш). Если обозначить через Аа=(а\ a^,...,aim) матрицу, составленную из столбцов матрицы А, соответ- соответствующих базисным переменным, то Аа — квадратная не- невырожденная матрица размера m X m. В этом случае пре- 159
образование Жордана — Гаусса состоит в умножении ис- исходной системы на матрицу А^ , и приведенная систе- система имеет вид А"^Ах ¦= А^ХЬ. Данный факт проверяется непосредственно. Действи- Действительно, обозначим элементы т X re-матрицы А^ХА через Р«, l = If 2, ..., т, / = 1, 2, ..., п. По определению обрат- обратной матрицы змеем: при i ^ а Р« = 0, если / Ф о, р« = 1. Обозначим вектор А~1Ъ через Р° = (Рю, р20, •.., Рто). Тогда система уравнений А^Ах = /tj'b имеет вид При умножении на невырожденную матрицу множест- множество решений системы уравнений не меняется (см. упр. 1), отсюда нетрудно показать, что р« = а,-, для всех г, /' (см. упр. 2). 2. Для исследования поведения линейной формы (.с, хУ на множестве векторов, являющихся решениями системы уравнений Ах = Ъ, введем дополнительную переменную х0 и рассмотрим систему уравнений ж0 — <с, х> = 0, Ах = Ъ. Поскольку уравнение х0— <с, хУ = 0 стоит первым и коэффициент при дополнительной переменной х„ отличен от нуля, то применяя метод Жордаиа — Гаусса, можем всегда эту переменную включать в список базисных пере- переменных. Если о = {ii, h, ..., Jm} — список базисных пере- переменных для уравнения Ах = Ъ и уже найдена соответ- соответствующая приведенная система (считаем, что ранг матри- матрицы А равен т), то для нахождения приведенной системы, соответствующей списку {0, ii, к, ¦ ¦ ., im), нужно выра- выразить переменную х„ через небазисные: п Ха = {С, Х~> = 2 CJ#J = 2 ci#i j=l tea Подставляя в это выражение значения базисных пере- переменных х<, i e о, получаем Яо = 2 ci«l0 —2B Ci«ij — ci ] Xj- iSo jeo) Visa I Используя введенный выше вектор х", заметим, что 2 ciaio — <ci Х°У- Теперь, если введем обозначение tea 160
an; = 2 c*jj—Cj, / e co) то приведенная система уравно- ний примет вид § 2. Опорные планы Одним из основных численных методов решепия задач линейного программирования является симплекс-метод, с помощью которого решается каноническая задача линей- линейного программирования: max (c,xt. + сгхг + ...¦+ спхл) ЯцЯ, + апхг + ... + alnxn = bu .. . + а1пхя = b2, ami.Ti + am2x2 + . .. +amnxn = bm, x, > 0, хг ^ 0, ..., xn > 0, или в матричной форме max (с, х) E.2) Ах = 6, х > 0. Так как через а} обозначается /-и столбец матрицы А, то задачу E.2) можно записать следующим образом: max (ciXi + с^Хг + .. , + c,Lxn) a^x-i + агх2 + . . . + a"xn = b, E.3) x, > 0, ,r2 ^ 0, ..., iu > 0. Отсюда видно, что между столбцами а1 матрицы А и пере- переменными X) имеется взаимно однозначное соответствие. Из записи E,3) видно, что вектор х = (х,, хг, ..., жп), ж} > 0, / = 1, 2, . . ., п, является планом задачи E.2) в том и только том случае, когда вектор b выражается как не- неотрицательная линейная комбинация столбцов матрицы А, где в качестве коэффициентов берутся координаты вектора х. И С. Л. Агаманов 161
Как отмечалось в гл. I § 4, максимум линейной фор- формы (с, хУ достигается на границе множества Х = {х\х^ е R", Ах = b, x > 0) допустимых планов задачи E.2). Обратим внимание иа то, что множество X регулярно: ' ., г ( А\ матрица А его ограничении имеет ранг п: А = I .1, где / — единичная п X n-матрица. По теореме 2.23 § 4 гл. II заключаем, что множество X имеет крайние точки, при- причем их конечное число (см. теорему 2.19). Если задача E.2) имеет решение, то среди крайних точек множества X найдется оптимальный план,— это следует из теоремы 3.2 § 2 гл. III. Учитывая перечисленные факты, получаем следующую процедуру поиска решений задачи E.2): привлекая необхо- необходимое и достаточное условие того, что точка множества А' является крайней (теорема 2.18, § 4 гл. II), выбираем подматрицу Аа рапга_ п матрицы А, затем решаем уравне- уравнение Аах = Ъа (здесь Ъ = [bt, b2, ..., Ь„, 0, ..., 0)) и запо- запоминаем вектор х„.— решение этой системы уравнения. Те- Теперь остается только сравнить значения целевой функции <с, Ха) для всех векторов ха > 0, полученных подобным образом, и выбрать тот из векторов, для которого это зна- значение максимально. Хотя описанная процедура является конечной, т. е. требует выполнения конечного числа операций, однако это число для задач линейного программирования, возникаю- возникающих из практических нужд, как правило, очень велико. В самом деле, число всех подматриц размером п X « у матрицы А равно С+п> Все эти подматрицы придется перебрать, чтобы выбрать из них те, ранг которых равен п. При этом количество таких невырожденных подматриц может также оказаться очень большим, близким к числу Ст+„. Насколько велико данное число, видно из того, что уже при т = 50, п = 50 оно превосходит 2в0. А ведь потребуется еще решить примерно такое же число систем линейных уравнений Аах =?= 50! В то же время часто при- приходится решать практические задачи линейного програм- программирования, в которых количество ограничений и перемен- переменных исчисляется сотнями. Таким образом, подобный полный перебор крайних точек множества X как численный метод решения задач линейного программирования, непригоден. Симплекс-метод позволяет сократить этот перебор настолько, что совре- 462
менные ЭВМ справляются с решением задач большой размерности. Мы переходим к изложепию терминологии, теории и алгоритма симплекс-метода. С тем чтобы иллюстрировать основные понятия и идел этого метода, будем рассматривать два чисто условных учебных примера задач линейного программирования; max E.?! — хг — х3 + 2х4 + хъ) . 2х, + бхз + 4*4 - Зх8 = 2, -xt + 3x2 + 7xt -2х8 = 1, E.4) max (xl + охг + 2х3 + ^xk + хъ) — Xi + ixs + Зх4 = 2, 2хх + Зх2 + З.х3 + 5х4 - хь = 3, E.5) х,, аг2, аг3, ?/., х5 > 0. Определение 5.1. План х = {хи х2, ..., хп) зада- задачи E.2) называется опорным планом, если система век- вектор-столбцов а1 матрицы Л, соответствующих положитель- положительным координатам xjt линейно независима. Теорема -5.1. Если задача E.2) допустима, то у нее существует опорный план. Это утверждение совпадает с леммой 2.1 из § 8 гл. II, которая утверждает (в обозначениях этой главы)., что ес- если вектор b может быть выражен как неотрицательная линейная комбинация векторов а\ / = 1, 2, ..., п, то он может быть выражен как неотрицательная, комбинация линейно независимой подсистемы этих векторов. Теорема 5.2. Вектор х является опорным планом задачи E.1) тогда и только тогда, когда х — крайняя точ- точка многогранника X допустимых векторов. Доказательство. Пусть х = (xh хг, ..., хк, 0, ... ..., 0), где Ji>0, i = 1, 2, ..., к. Вектор х удовлетворяет следующим ограничениям задачи E.2): Ах = b, Xy+i = 0, = 0, .'.., хп = 0. При этом соответствующая матрица^ 11* ' 163
носитель такова: О о ... о о ... — 1 (см. определение 2.17 § 4 гл. II носителя о точки х). Так как столбцы а\ а2, . .., ак матрицы Л, в соответ- соответствии с определением опорного плана, линейно незави- независимы, то, очевидно, линейно независимы все п столбцов матрицы Аа. Следовательно, ранг этой матрицы равен п. Отсюда по теореме 2.18 следует, что х — крайняя точка. Обратное утверждение доказывается аналогично. Теорема 5.3. Среди опорных планов задачи (Г).2) найдется оптимальный план. Доказательство вытекает нз предыдущей теоремы и теоремы 3.2. Как известно, любую независимую подсистему векто- векторов можно дополнить до максимальной линейно независи- независимой подсистемы. Если ранг матрицы А равен тп, то число векторов в максимальной линейно независимой подспсте- ме системы ее столбцов также равно т. Поэтому можеч дать следующее определение. Определение 5.2. Пусть ранг матрицы А равен т. Базисом опорного плана называется произвольная линей- линейно независимая система пз т столбцов матрицы Л, вклю- включающая в себя все столбцы, соответствующие ненулевым координатам опорного плана. Определение 5.3. Опорный плап называется не- невырожденным опорным планом, если число его ненулевых координат равно т — числу строк в матрице А. Из этих определений следует, что невырожденный опорный план обладает единственным базисом, в то вре- время как у вырожденного их может быть несколько. Понятно, что задача E.2) может обладать невырож- невырожденными опорными планами лишь в том случае, когда ранг матрицы А равен т, т. е. когда в системе ограниче- ограничений, задаваемых матрицей А, пет «лишних». Однако, как будет видно ниже из примеров, даже если ранг матрицы А равен т, не все опорные планы задачи E.2) будут обязательно невырожденными. 1G4
Определение 5.4. Задачу E.1) назовем невырож- невырожденной задачей, если ранг матрицы Л равен т и любой опорный план невырбжден. Поясним введенные понятия на примерах задач E.4), E.5). Для задачи E.4) опорным является, например, план ( 2\ (° х = A/5, 2/5, 0, 2/5, 0), поскольку столбцы — 1 , 3 0 матрицы ограничений, соответствующие положи- 1 / -тельным координатам вектора х, линейно независимы. Чтобы в этом убедиться, достаточно вычислить определи- 2 0 4 тель: —1 3 0 = — 10=^0. Этот опорным план не- 1 1 1 вырожден, так как число положительных координат век- вектора х равно 3 — числу строк матрицы ограничении. Для задачи E.5) вектор х = C/4, 0, 11/16, 0, 9/16) является невырожденным опорным планом, а план ж=. = @, 1/2, 1/2, 0, 0) вырожден. Обсудим требование невырожденности задачи. Рассмот- Рассмотрим в пространстве R™ коническую оболочку К векторов а\ а2, . .., ап — столбцов матрицы А. Если задача E.2) допустима, то вектор b принадлежит конусу К, поскольку он представляется в виде неотрицательной линейной ком- комбинации E.3) векторов а1, } = 1, 2, .. ., п. Понятие невы- невырожденности задачи отражает расположение вектора в атом конусе. Для пояснения сказаииого обратимся к примерам E.4), E.5). Чтобы избежать вычерчивания рисунков в трехмерном пространстве, прибегнем к следующему прие- приему. Рассмотрим конус К для задачи E.4): Jt-041-j). (;). (! Этот конус лежит в трехмерном пространстве, точки ко- которого мы будем обозначать и = {ut, иг, и3). В этом про- пространстве рассмотрим гиперплоскость и3 = 1 и ее пересе- пересечение К с конусом К. 105
Нетрудно попять, что, например, координаты точки /6\ пересечения луча (-i I 7 I с гиперплоскостью и3 = 1 полу- получаются следующим образом: нужно в качестве ц взять 1/2 с тем, чтобы последняя координата_стала равной еди- единице. Из этих соображений ясно, что К является выпук- выпуклой оболочкой точек а1 = B, - 1), аг = @, 3), а3 = C, 7/2), ¦ а4 = D, 0) а" = (-3/2, -1). Здесь через а1 обозначены точки пересечения луча uaJ, И S* 0, с гиперплоскостью и3 = 1. Рис. 5.2. Пересечение луча ub с этой гиперплоскостью задается вектором b = B, 1). Ясно, что вектор Ъ является неотри- неотрицательной линейной комбинацией векторов а' (т. е. b e К) тогда ц только тогда, когда Ъ — выпуклая линейная ком- комбинация векторов a', j — 1, 2, ..., т (т. е. 5 j= К). На рис. 5.1 изображен многогранник К для зада- задачи E.4). Аналогичным образом построим многогранник К для задачи E.5). Он изображен на рис. 5.2. Основная разница между рис. 5.1 и 5.2 состоит в том, что ira рис. 5.2 вектор Ь лежит на отрезке, соединяющем две точки а2' и а3, т. е. вектор Ь может быть представлен как неотрицательная липейпая комбинация векторов '2\ . /0\ л /4'_ Этому представлению опорный план х = соответствует 166 вырожденный:
= @, 1/2, 0, 0). На рис. 5.1, отражающем ситуацию задачи E.4), вектор b не лежит ни па каком из отрезков, соединяющем две точки а1, т. е. вектор Ь может быть представлен как неотрицательная линейная комбинация самое меньшее трех вектор-столбцов матрицы А. Согласно определению 5.3 задача E.4) невырождепа, в то время как задача E.5) является вырожденной. Из этих иллюстратйвпых примеров яспо, что случай вырожденной задачи должеп встречаться относительно редко, и, как показывает практика, это действительно так. Тем не менее, вычислительная процедура симплекс- метода предусматривает возможность вырожденной зада- задачи. Однако, с целью сделать более явной основпую идею метода, вначале изложим его для невырожденной задачи. Ситуация, когда ранг матрицы А меньше т, также будет рассмотрена позднее. § 3. Симплекс-метод для невырожденной задачи линейного программирования 1. Основные понятия и обозначения. Пусть х° — неко- некоторый опорный план задачи E.2) и [а\а\...,аЧ E.6) — его базис. Обозначим a = {il,i2,...,im), Ха=(х^, х \,..., z) c<j = (cit> С{2,..., cim). Отметим, что задание базиса пол- полностью определяет опорный план. В самом деле, если Аа = (а*1, а*2,..., aim) — квадратная т X m-матрица, со- составленная из столбцов матрицы А, участвующих в бази- базисе E.6), то Аа — невырожденная матрица и существует обратная ей матрица А~г. Так как а] = 0 при / Ф о, то Ах° = Аох%, т. е. Аах°0 — = Ь, откуда х1 = А~Ч. E.7) Таким образом, задание базиса E.6) однозначно опре- определяет m-мерный вектор Ха, откуда и находим вектор х": |0, если- 7^о, • х«\' '^ ; = 1,2,..., п. E.8) • J U°, если jeo, ' у ' Отсюда видно, что поиск оптимального опорного плана можно осуществлять, подыскивая подходящий базис — систему из т линейно независимых столбцов матрицы А, 107
При атом, естественно, нужно заботиться о том, чтобы вектор, получаемый по формуле E.7), был неотрицатель- неотрицательным. Пусть имеется начальпый опорами план х*. Мы назы- называем его начальным, считая, что он вычислен каким-либо способом еще до применения основной процедуры симп- симплекс-метола. В § 5 будет указан способ нахождения на- начального опорного плана. Сопоставил задаче E.2) систему уравнений -*о + <с, х) = О, Ах -= Ь, E.9) где #о — вспомогательная переменная. Рассмотрим матрицу "/0 с, с2 ... с, [b а1 а2 ... а' в первой строке которой стопт числа, во второй — т-мер- иые векторы; порядок этой матрицы — (т + 1) X (п+1). Так как система векторов й линейно пеаависима в пространстве R'"+l, то матрица С:), й-.-- й EЛ0) Во = — квадратная невырожденная матрица размера (т+1)Х Х(аи+1), т. е. сушестпует обратная к пей матрица B'^i. Введем .важнейшее понятие симплекс-метода. Матри- Матрица Я: называется симплексной таблицей, соответствующей бази- базису E.6) опорного плана х". Будем обозначать элементы первой строки симплекс- симплексной таблицы символами До, Ai, ..., Д„. Для дальнейшего будет также удобно обозначить ао = (До, Дн • • ¦, Д.<), Д = = (Ai, Д2, ..., А»), так что аО)*= Aj, 7 = 0, 1, 2, ,.., п. Элементы остальных строи обозначим а„, i^a, } = О, 1, 2, ..., п. Кап обычно, строку с номером jeo обоапа- чим а, = (а@, аи, ..., а(п). Вектор, составленный из последних m координат /-го столбца матрицы 31, обозначим ^ — (ai.j, а*о3-,.,., Щт\-, \ щ
7 = 0, 1, 2, ..., n, так что весь 7-й столбец симплексной таблицы имеет вид I ¦ = ,- ). . \а3/ \а' / Элементы симплексной таблицы имеют наглядный смысл: если г, у е Rm+I, го вались у = Boz означает, что вектор z представляет собой координаты вектора у в ба- базисе E.10). "Поскольку fl,9l *» Л, то, записав матрицу Ва 1 \ в виде Ва = и ,нетрудно заметить, что Ааа'^Ь, . E.11) <с0, а">- Д„ = 0, E.1^) Ад'-а\ /~1, 2, .... п, E.13) <с, а1) - Л, - с„ /-=1,2 п. E.14) Из равенства E.11) следует, что а° = *«. E.15) Используя, что xf= О, 7^о,ле1ко получить Д0=<с, х°>. E.16) Иа E.13) видно, что вектор а1 представляет собой коорди- координаты вектора а> в базисе E.6); из E 14) следует, что Д, — <с„, а1) - с„ E.17) /-1, 2, ..., п. Учитывая все это, получим общий вид симплексной таблицы: д '1 «а s . ¦ 0 {с, х°) 0 и ш 0 • * О 1 д, а 1 aij] L . 2 д* f . t ... . » • • * к ДА 1 1 • ... * f • * 4 * • п дп а а!,п « • • t 1G9
Заметим, что если бы мы вместо матрицы Ж рассмот- рассмотрели матрицу системы уравнений E.0): (О -1 сх с2 ... сп\ 0 а1 а2 ... ап)' то при умножении на #7'ч получили бы матрицу, эле- элементы которой .в точности соответствуют коэффициентам приведенной системы E.1). При этом, однако, второй стол- столбец этой матрицы, имеющий вид П), где 0 е R'", не несет никакой информации — он не меняется при смене базиса. Таким образом, его можно без ущерба удалить, что и бы- было сделано. Отметим также, что столбец а1 симплексной таблицы й при /ео является ортом пространства R"'. В самом деле, как следует из E.13), вектор а' представляет собой координаты вектора а' в базисе E.6). При /ец вектор а' сам присутствует в системе E.6). В с:шу единственности разложения по базису имеем 0, ]е=6, 1ф], /6= О, «=/. 2. Преобразование симплексной таблицы при смене базиса. Основная идея симплекс-метода состоит в том, чтобы искать новый опорный план х1, базис которого от- отличался бы от базиса плана х° лишь одним вектором. Пусть s = !,eo, \ 14/ j (*¦ f i а ¦ ] и j Ы- j С( ц t . . ^ Ц, | I iJ. 1 U f {к Фа) — повып базис пространства R. Тогда система векторов является базисом пространства Rm+I. Обозначим через Во\ матрицу, составленную из этих, векторов, тогда В-а\ —квадратная {т + 1) X {т + 1)-матри- ца, имеющая, обратную. Напомним (см. Ш), что матрицей перехода к новому базису называется матрица, столбцами которой являются 170
координаты векторов нового базиса в их разложении по векторам старого. Если vT — единичный орт пространства Rm+1, r='O, 1, 2, ..., т, то матрица перехода от базиса E.10) к базису E.19) имеет вид При этом Bai = BaQ. При указанной смене базиса любой вектор у е Rm+I, координаты которого в базисе E.10) вы- выражались вектором z, т. е. у ~ Baz, в новом базисе будет иметь координаты, описываемые вектором z, который легко находится подстановкой Ba=Bai^~1: y = Bai (Q~*z), т. е. г — Q~lz. Следовательно, новые координаты столбцов матрицы 91 выражаются формулами "¦ Обозначим матрицу, составленную из столбцов _• I, че- \а J рез 91, т. е. 91 = @~'31, или ^91 = 31. Чтобы явно вычислить элементы матрицы 91, мы не станем указывать вид матри- матрицы Q~x (хотя это нетрудно), а поступим следующим об- образом. Для строк матриц 91 и 91 можно написать соотношения ao = SlV, a( = 9tV, iso, J = U, E.20) ai=iV, ~ah=\'v\ ao = 9l'i") ieo, i-si,,i^s. E.21) Тогда ai — a( = (Я' - 9t')y' или •0,-01-Я' (<?'-/) V, i = 0, ieo, i = iTt i?=s, E.22) Где / — единичная im + 1) X (m + 1)-матрица. Из явного вида (? следует, что ) E.23) для любого у = (z/o, pi, ..., !/ii ¦ • -i !/¦"'• 171
В частности, r?=t, E.24) v\ E.25) E.26) Используя E.22) и E.25), получаем а, — ак = ia.sk — 1)Я'у' = (ask — Dec*, откуда aft = ^-as. - E.27) eh Из E.22), E.24) п E.27) имеем- имеемся - «4 = ««.«'I;' - «^ = -^ а„ т. е. ai = a1--^i«,. E.28) В частности, из E.26) «о = «о - I21 «*• E-29) Очевидно, что ask ?= 0, так как в противном случае мат- матрица Q вырождена, т. е. E.18) — не базис. Смысл преобразований E.27) —E.29) ясен: к г'-й стро- строке дштрицы 91 прибавляется строка а, с. таким коэффици- коэффициентом —ац/аяА, чтобы элемент ал стал равен 0, после чего строку as делим на as4, добиваясь равенства а*й = 1. В.ре- зультате столбец \-,{\ в матрице Я оказывается ортом v' пространства Rm+i, как и должно быть в симплексной таблице, так как вектор ак теперь уже входит в базис и занимает в нем место с номером t. 3. Теория и правила симплекс-метода. Особую роль в симплексной таблице играет первая строка аа. Для выяс- выяснения этой роли рассмотрим задачу, двойственную к E.2): mm <b, p) E.30) Л'р>с, где р = (ри р->, ..., pj. ' 172
Сопоставим базису E.6) опорного плана х" задачи E.2) m-мернын вектор р" по формуле Р° = (Аа)~хса, где са =(Ci1,ci?, ...,cim). Тогда Лар° = са, откуда, используя E.17) для aOj = Aj, получаем'Aj = (Аар°, а3} — с,, / = 1,2,..., п. Используя известное свойство скалярного произведения (Аар°, а3> = = <р°, Аоа]У и E.13), получаем А, = </}", aj> - ch /=1, 2, ..., п. В матричной форме данная система равенств принимает вид А = А'ра — с. Отсюда вытекает важная ха- характеристика элементов А;, ;' = 1, 2, ...,-и, первой строки симплексной таблицы: вектор А = (А,, А2, ..., А„) неот- неотрицателен тогда и только тогда, когда вектор р" является планом задачи E.30). Отметим еще одно свойство век- вектора ра: <Ь, />»> = (Ъ, (Аа)-'соУ^.{Л-'Ь, соу ="<4, со>. Воспользовавшись равенством E.18), окончательно полу- чаем <Ь, /> = <с, х">. • E.31) Опираясь на сказанное выше, сформулируем следую- следующую теорему. Теорема 5.4. Если вектор Д = (ДИ Д2| ..., А„) не- неотрицателен, то начальный опорный план х" оптимален для задачи E.2); вектор р" — оптимальный план задачи E.30). Доказательство. Из неотрицательности вектора А следует, что вектор А'р" — с также неотрицателен. Т. е., как отмечено выше, р" — план задачи E.30). Поскольку ха и р° удовлетворяют равенству E.31), то к ним можно применить достаточное условие оптимальности (см. лем- лемму 3.2). Таким образом, по внешнему виду симплексной табли- таблицы можно легко установить оптимальность опорного пла- плана хй. Кроме этого оказывается, что условие теоремы 5.4 Д > 0 является не только достаточным, но и необходи- необходимым условием оптимальности — если среди чисел Aj, j = =т= 1, 2, ...,«, имеются отрицательные, то существует план х" задачи E.2), для которого <с, xl> > <с, х">. Обоснова- Обоснованием этого утверждения является процедура симплекс- метода построения плана ж1. Правило 1. Если Дй<0, то вектор ah вводится в базис {если неравенство Aj < 0 выполняется для несколь-- 173
ч ких /, то в качестве индекса к можно взять произвольный из них). Обратим внимание на то, что если Д* < 0, то столбец ak матрицы А не входит в базис E.6) опорного плана ха. Действительно, по определению вектора р", если ; е а, то <ccJ, />G> = Cj, т. е. Aj = O. Правило 1 не уточняет, какой вектор а' нужно выво- выводить из базиса E.6) (ведь базис не может содержать бо- болев m векторов). Если вывести из системы векторов E.6) произвольный столбец, то может оказаться, что вектор, соответствующий новому базису, удовлетворяет уравне- уравнению Ах = Ъ, но имеет отрицательные координаты и по- поэтому не является планом. Уточнением правила 1 в этом смысле является правило 2. Правило 2. Е$ли вектор а* решено ввести в базис [т. е. Л* < 0), то нужно рассмотреть столбец а* симплекс- симплексной таблицы и выбрать те индексы i e а строк, для ко- которых ccift > 0. Затем следует составить отношения хЧ/онь. для всех таких i. Пусть А 0 = min ——, i e а, a и индекс s^a таков, что т°/а,д = 0, тогда вектор а' вы- выводится из базиса. Может случиться, что правило 2 применить нельзя: в столбце ak все числа а,* неположительны, в этом случае решение задачи E.2) следует прекратить, так как имеет место следующая теорема. Теорема 5.5. Если Ak < 0 и сс*<0, то задача E.2) не имеет решения (в этом случае целевая функция (с, х> неоераничена на множестве планов). Доказательство. Пусть у — произвольное поло- положительное число. Рассмотрим вектор х(у) = (х,("(), x^f), ..., хп{"{)), где Г и — V«jfti если если если / 1 1 Ф е = а, /с. Из структуры вектора x(.f) видно, что Ах (у) = 2j (х" — y&ih) a7 ¦]- 174
¦f. e. Из E.13) следует, что Aaah — ah. Следовательно, Ax(f) = == Ь. Учитывая, что v > 0. z°i ^ °. а№ < 0, / е а, получаем гс(^) > 0. Таким образом, 2D) — план задачи E.2), кроме того <с, a;(v)> = <ca, Xa—yoLh}+ych =<ca, /a>—7 <ca, ah> + ych. Учитывая E.17) для Aj при j = k, получаем, что <c, z(y)>=*<c, .zG> — 7Дц. Отсюда видно, что, так как ДЛ < 0, то с ростом у значение <с, х{%)У неограниченно растет. Таким образом, если задача E.2) имеет решение и вектор х" Ее является оптимальным планом, то можно применять последовательно правила 1 и 2. При этом, однако, надо быть уверенным в том, что система векторов E.18), которая образована согласно этим правилам выбо- выбора индексов к и s, является базисом. С учетом того, что ««л "^ 0, этот факт вытекает из следующего утверждения. Лемма 5.1. Пусть {а\ аг, ..., а} — базис простран- m ства Rm, ah s Rm — произвольный вектор: а = 2 «rflr. Если коэффициент ее, 1 < $ < т, отличен от нуля, то си- система векторов {а1, а2, ..., а"\ а\ ая+|, ..., а} ткже яв- ляется базисом пространства R . Доказательство. Так как в предполагаемом ба- базисе тп векторов, то для доказательства леммы надо лишь убедиться, что любой вектор 'У пространства Rm выража- выражается как линейная комбинация этих векторов. Это оче- очевидно, так как вектор у выражается через базис {а1, а2,... ..., am}, a вектор а" этого базиса выражается через век- векторы нового базиса: 2 тф» Осуществим переход к новому базису E.18), применив формулы E.27)-E.29). Обозначим О1 = Ui, h, ..., ii-i, k, it+i, ..., im), 175
Положим х1 = (xi, x-2, .. ., хи), где JO. всли/^aS lajo, если ; e a1. По построению x1^ == a°. Если обозначить cai = (c,v .... О,.!, с*, f</+1, -..,«4 A = 0»\ ....я'', а*, а1/+1, ...,еН -то, очевидно, Ах1 = ^oi^i, <<?, я1) = <^coi, ^i^>. Теорема 5.6. Вектор х1 является опорным планом задачи E.2), причем <с,а:1> = <<:,^>--^-Л/, ' Матрица §1 служит симплексной таблицей опорного пла- плана х1. Доказательство. Так как хха\ = а0,то этот вектор представляет собой координаты вектора Ъ в базпсе E.18), поэтому Ь = ^aia° = Aalx^i = Лж1. Очевидно, что а;' ^ О тогда и только тогда, когда а0 > 0. По формулам E.27) п E.28) имеем а*о = ^— a*o, aio = «io — гг^ а»о ПРИ i e a, f^=s. Так как а,0 ^ 0, iej, а»л > 0 по правилу 2, то ak0 ^ 0. Для того чтобы убедиться в неотрицательности вектора а0, осталось проверить выполнение неравенств4 сс'о^ —as0 при г'еа, j^^- Если индекс г таков, что alft ^ 0, то данное неравенство очевидно. Если же а<* > 0, то требуемое неравенство эк- эквивалентно условию а,о/ац 5s ct.o/к,),, которое выполнено в силу выбора индекса 5. Из построения вектора я' вытекает, что #' — опорный план. Отсюда же следует и то, что 2С — симплексная таб- таблица этого вектора. Утверждение теоремы о значении <с, хг> получается из формулы E.29), так как a0 = <с, а:'). Следствие. Если опорный план х° невырожден, то <с, а;')><с, а;0). 176
Действительно, при указанном предположении спра- справедливо, что x°s > 0, и так как Ah < 0, «,„ > 0, то все это вместе и даёт нужное неравенство. 4. Вычислительная схема симплекс-метода. В этом разделе излагается схема, описывающая последователь- последовательность вычислительных процедур симплекс-метода. Однако данное изложение не служит руководством для програм- программиста, а лишь дает общее представление без указания многочисленных специфических приемов, помогающих наиболее эффективно использовать возможности ЭВМ. ' Пусть имеется начальная симплексная таблица 31. Этап 1. Проверяем выполнение неравенств Aj^O, 7 = 1,2, ..., п. Если эти неравенства справедливы, то план х", вычисляемый по формуле E.8),— оптимален. В про- противном случае ищем индекс А:, 1 < А: <; п, такой, что Д* < 0. Этап 2. Проверяем выполнение неравенства ак < 0. Если все координаты aih вектора ак неположительны, то вычисления прекращаются, так как в этом случае зада- задача E.2) -не имеет решения. В противном случае ищем такой индекс s, что азк > 0 и aajath ^ ai0/aih для всех i таких, что aik "> 0. Этап 3. По формулам E.27)—E.29) строим новую симплексную таблицу 21, которую принимаем за началь^ ную, и возвращаемся к этапу 1. Последовательное выполнение этапов 1—3 называется итерацией симплекс-метода.. Подчеркнем основные особенности симплекс-метода: а) Конечность (которую мы доказали пока лишь для невырожденной задачи). Как следует из следствия к тео- теореме 5.8, значение линейной формы возрастает в резуль- результате каждой итерации. Следовательно, последователь- последовательность х", х\ ... опорных планов, соответствующая после- последовательности итераций, состоит из различных векторов. Каждый опорный план х°, х\ ... отвечает крайней точке многогранника X планов задачи E.2). Поскольку всех крайних точек — конечное число, то возможен один из двух исходов: либо на очередной итерации будет установ- установлена неограниченность линейной формы <с, хУ на мно- множестве X, либо через конечное число итераций будет найден оптимальный план. б) Все вычисления симплекс-метода совершаются ли- либо сравнением элементов симплексной таблицы с нулем (этапы 1 и 2), либо вычислением по формулам этапа 3. 8 этом состоит главное достоинство симплекс-метода: при 12 с. А. Ашманов .' 177
решении1 практических задач число йеобходпмых utepa- ций оказывается довольно большим, поэтому то время, которое ЭВМ тратит на выполнение одной итерации, игра- играет весьма существенную роль. § 4. Вырожденные задачи линейного программирования 1. Рассмотрим ситуации, когда задача E.2) может об- обладать вырожденными опорными планами. В этом случал в ходе симплекс-процедуры возникают трудности, есото- рые, однако, можно преодолеть. Если ранг матрицы А меньше т, то все опорные пла- планы задачи E.2) — вырожденные. Эту ситуацию, однако, можпо исключить (это будет показано в § 5 при описа- описании способа нахождения начального опорного плана). Однако и в том случае, когда ранг матрицы А равен т, задача E.2), как видно из примера E.5), может обладать вырожденными опорными планами. В этом параграфе предполагаем, что ранг матрицы А ограничений задачи E.2) равен т. Пусть начальный опорный план имеет лишь I < т по- положительных координат: x°ir> О, г =1,2, ...,1, х\= О, если i=?ir, г—1, , ..., I, и [а\ а'2, ...,а*1, а'ч-г ... ..., а'т| — какой-то его базис. Имея начальную симплексную таблицу Я, соответству- соответствующую данному базису плана х", можно осуществить все три этапа симплекс-метода, как они описаны в п. 4 § 3. При этом для получившегося нового опорного цлана х{ будут выполнены все утверждения теоремы 5.6. Однако получить следствие из этой теоремы не удается, посколь- поскольку может случиться, что выбор индекса s согласно пра- правилу 2 окажется таким, что х% = 0. Тогда новый опорный план х1, определяемый по формулам E.27) и E.28), сов- совпадает с планом х", и вся итерация сводится к тому, что вместо базиса E.6) для плана х° выбирается базис E.18). При этом значение целевой функции, естественно, не уве- увеличивается: <с, я') = <с, х0У. Однако можно продолжать вычисления с вектором х' и новым базисом, надеясь, что в ходе очередной итерации удастся увеличить значение целевой функции. Но в дан- данном случае может возникнуть следующая трудность: вы- вычислив в процессе нескольких итераций планы х°, х\ ... ..., хЯ) которые совпадают с планом х" и отличаются друг 178
от друга лишь выбором .базиса, на очередной итерации можем получить в качестве нового опорного плана тот же вектор х" с исходным набором векторов E.6) в качестве базиса. Имеются примеры, в которых указанная возможность осуществляется. В атом случае, говорят, что произошло зацикливание: хотя задача E.2) имеет решение и план х" не является оптимальным, тем не менее симплекс-метод, как он описан в § 2, может «зациклиться» на векторе ха, бесконечно перебирая один и тот же набор разных ба- базисов. На основе всего практического опыта применения симплекс-метода для исследования моделей реальных яв- явлений сложилось убеждение, что вероятность зациклива- зацикливания ничтожно мала. Несмотря на это, были приняты . меры для полного предотвращения этой ситуации. Разработаны различные модификации основной про- процедуры симплекс-метода, позволяющие избежать зацик- зацикливания. Одна из подобных модификаций основана на том соображении, что вырожденность задачи обусловлена неудачным расположением вектора Ъ правой части огра- ограничений задачи E.2) в конусе, натянутом на векторы {а1, а2, ..., а") (см. рис. 5.2 к задаче E.5)). Чтобы ликви- ликвидировать это неудачное расположение, нужно несколько сместить лектор Ъ, заменив его па специально подобран- подобранный вектор Ь(е), в результате чего задача E.2) станет невырожденной. Не останавливаясь подробно на этом приеме, опишем другой подход к решению проблемы зацикливания. 2. Введем понятие лексикографической упорядочен- упорядоченности в пространстве R"+f. Пусть а = (аа, at, ..., а„) е Rn+i. Будем говорить, что вектор а лексикографически больше нулевого вектора OsR"+i (а>0), если а =5^0 и первая ненулевая коорди- координата вектора а положительна, т. е. а, > 0, где q — = inin {j\a,)?=O}. . Если а' = (а0, аи ¦ ••> ал), то будем говорить, что век- вектор а лексикографически больше а (а>а'), если а — — а > 0. Другими, словами, а > а', если а Ф а,' иа, >ад, где gi = min []\а,фа\\. Отметим два важных свойства отношения >: а) для любых двух векторов а, а' е R"+l имеет место одна из трех возможностей: а —а', а>а', а'>а; 12* 179
б) отношение •* транзптивно, т, е. если а У* а,', а' •* ^а", то а^а". Для того чтобы сделать невозможным зацикливание, надо после выбора (но правилу 1) вектора ак, который вводится в базис, более скрупулезно выбирать тот вектор, который будет выведен из базиса (если правило 2 неод- неоднозначно определяет его). С этой целью усилим требования на рассматриваемые в симплекс-методе, опорные планы. Определение 5.5. Будем говорить, что опорный план х" строго допустим, если все строки ш, ie а, (кроме строки а0) симплекс таблицы, соответствующий плану ха, лексикографически больше нуля: а, > 0, ie<j, Понятно, что если план х° невырожден, то он строго допустим — в каждом векторе a*, i e а, первая координа- координата aio = ¦?? > О положительна. Будем считать, что начальный опорный план х" стро- строго допустим. Правило 2'. Если вектор ah решено ввести в базис (т. е. ДЛ < 0), то следует рассмотреть k-й столбец ак симп- лекс-таблицы и все строки at, для которых а^ > 0. Индекс s выбирается таким, чтобы —-as< —-au s,i(=a, asft>0, aik > 0, E.33) a*h Hi и вектор а" выводится из базиса. Правило 2' не оставляет никакого произвола в выборе индекса s, указывающего, какой вектор а" следует выво- выводить из базиса. Другими словами, среди векторов a,/a,A имеется ровно один минимальный в смысле отношения >. 13 самом деле, все векторы a,, is а, линейно независимы, так как ранг матрицы 31 равен рангу матрицы А, т. о. числу m строк. Если предположить, что имеются два лексикографиче- лексикографически минимальных вектора a»/asA и cc/a.A, то это означает, что a,/a,,, = a,-/cc,4, что противоречит линейной независи- независимости вектороп а» и а,. Теорема 5.7. Если действовать по правилу 2', то новый опорный план х1 строго опустим (т. е. сц> 0, ie е a1) u a0 > a0. _ Доказательство. Так как asi>0, a, > 0, то aA ==¦ = cc/ccst >• 0 (используя E.27) — E,29)). Если индекс i та- таков, что ай^О, то очевидно a.alfc/asfc<0 а а(>а(^0. 180
Еслп же tfftX), то согласно правплу_ 2' -а,/с№^* ajask, откуда аУа№ > 0, т. е. а, > 0. При этом а, = аа - Ькаа1а<ъ > > а0, так как hjash < 0, а, > 0. Теорема 5.7 утверждает, что если падать вычисления со строго допустимого опорного плана х°, то на каждой итерации мы будем получать вновь строго допустимый опорный план, н при этом исключается возможность за- зацикливания. В самом деле, пусть в процессе итератив- итеративного применения симплокс-метода возникает последова- последовательность строго допустимых планов х°, х\ ...-, х", ... Тогда, по теореме 5.7 «<0) < сс^ < ... < ссоч) < ... Поскольку отношение > траизитивно, то а@0) <^а04), а это означает, что xq Ф х" ни при каком q — зациклива- зацикливание невозможно. § 5. Нахождение начального опорного плана Основная процедура симплекс-метода, описанная в двух предыдущих ' параграфах, применима лишь в том случае, когда имеется начальный опорный план х" и его базиса4, а1'2, .. -,ahn. Отыскание начального плана х° со- состоит в нахождении неотрицательного решения системы уравнений E.2): Ах = Ь, х^О. Важная особенность симп- симплекс-метода состоит в том, что решение этой проблемы также возможно осуществить с помощью основной про- процедуры симплекс-метода. Не ограничивая общности будем предполагать, что все координаты вектора b — правой части ограничений зада- задачи E.2) — неотрицательны: b ^ 0. В самом деле, если ка- какая-то координата Ь{ отрицательна, то достаточно умно- умножить соответствующее уравнение <а,-, хУ = ?>,¦ на — 1. Итак^1 считая, что b ^ 0, рассмотрим каноническую за- задачу линейного программирования с п + пг переменными: max ( — v, — v, — ... — vm) ' v, + a,, xt + а,2 x-i + ... + я,„ х„ = b{, (л + а2| хх + а-г, хг + ... + агп хи = Ь2, E.34) vln + amixi + а,„гхг + ... + атпха = Ь,л, Xj>Q, / = 1, 2, ..., щ Vi>Q, i = I, 2, ..., т. Исследуем связь между задачами E.2) и E.34). Зада- Задача E.34) является допустимой: легко видеть, что вектор 181
(Ь,, Ъг, ..., Ьл,. О, О, ..., О) удовлетворяет всем ограниче- ограничениям. Кроме того, целевая функция этой задачи ограни- ограничена сверху числом 0. Таким образом, согласно теоре- теореме 3.1 дадача E.34) имеет решение. Пусть d — значение задачи E.34). Возможны два случая: d = 0, d<0. Теорема 5.8. Если значение d задачи E.34) равно 0, то задача E.2) допустима. Если d<0, то задача E.2) недопустима. Доказательство. Пусть задача E.2) допустима и х° = (х\, х\, .. ., Хп) — ее план. В таком случае очевидно, что п + то-мерный вектор х = @, 0, ..., 0, ж?, зг", • • •»•*¦") удовлетворяет всем ограничениям задачи E.34), т. е. является ее планом; при этом значение целевой функции этой задачи на плане х равно 0. Отсюда выт<у<а- ет, что план х оптимален для E.34), и d = 0. С другой стороны, если d = Q, то для любого решепия (v{, v2, ... ...,Vm, x,, хг, ..., хл) задачи E.34) vt = v2 =.. .= vm = 0 и, следовательно, вектор {хи х2, ..., х„) — план зада- задачи E.2). Из доказанной теоремы следует, что в результате ре- решения вспомогательной задачи E.34) будет либо найден план задачи E.2), либо выяснится, что система ограппче- ний задачи E.2) противоречива, т. е. задача несовместна. Основная особенность задачи E.34) состоит в том, что для нее можно сразу указать начальный опорный план. Действительно, вектор (Ь, 0) — (Ь„ Ьг, ..., Ът, 0, 0, ..., 0) удовлетворяет всем ограничениям этой задачи, а система единичных векторов v\ v2, ..., vm пространства Rm явля- является его базисом. Нетрудно убедиться, что (Ь, 0) — строго допустимый план. Действительно, aia = (bu 1, 0, ..., аи» а12, ..., а1л), а20 = (Ь2, 0, 1, ..., 0, а2и агг, ..., а2п), «то = (&ш, 0, 0, ..., 1, amU ат2, . •., йял). Поскольку 6,5=0, i = l, 2, ..., т, то первая ненулевая координата в каждом векторе at положительна, т. е. а(>- >0, i = 1, 2, ..., т. Ранг матрицы ограничений задачи E.34) равен, оче- очевидно, т, поэтому, несмотря на то, что эта задача может быть вырожденной, к ней можно применить уточненную процедуру симплекс-метода с правилом 2'. 182
Следует также отметить, что на первой итераций ре- решения задачи' E.34) нет необходимости решать системы уравнений с целью одределить значения ау, / = 1, 2, ... ...., п, поскольку в данном случае эти числа просто сов- совпадают & координатами векторов аи. ач = ау, i=\, 2, ... ., ., m, / = 1,2,..., п. Если задача E.2) допустима, то процесс решения за- задачи E.34) заканчивается нахождением вектора вида (#i, хг, ..., хп, 0, .. -, 0) размерности п + т. Поскольку вы- вычисления были начаты с опорного строго допустимого плана (Ь, 0), то по свойству симплекс-метода* полученное решение также будет опорным строго допустимым планом. Сам процесс решения состоит в последовательном исклю- исключении из базисов получающихся опорных планов векто- векторов vi и их замещении векторами а1*,^2, ...-, а1'. При этом векторы а*1, а'2, .. .,аг' будут линейно независимы- независимыми как часть базиса опорного плана. В случае невырожденной задачи E.2) необходимо бу- будет I = т. В противном случае может случиться, что I < т, а это, в частности, означает, что в базисе опорного плана х°, возникшем в ходе решения задачи E.34), кроме векторов а*1, а 2, .. ., а4 могут присутствовать некоторые векторы v\ Поскольку процедура симплекс-метода требу- требует, чтобы при решении задачи E.2) в базисе начального опорного плана х" присутствовали только вектор-столбцы матрицы Л, то в момент перехода от задачи E.34) к зада- задаче E.2) требуется принять меры к исключению векторов и' из базиса опорного плана х\ если они там содержатся. Возможны два случая. 1) Если ранг матрицы А равен т, то всегда можно вывести все векторы у* из базиса опорного плана х°, по- поскольку любая линейно независимая система из т столб- столбцов матрицы А является базисом пространства R"'. Ука- Укажем, как это можно сделать. Пусть базис плана х" кроме в'екторов а 1,а 2,. .., а ' содержит векторы и1, v2, ..., vm~l. Рассмотрим разложение для /-го столбца матрицы А по этому базису: I т-1 a3 =.S arjas'+ 2 М*. E-35) r=\ t-1 Если бы для каждого ;', I + 1 < j < п, все числа %, 1 < i ^ <пг —/, оказались равными, нулю, то всякий столбец а' 133
Матрицы А выражался бы через столбцы а\ г = 1, 2, ... ..., I, что невозможно, поскольку ранг матрицы А равен т"> I. Следовательно, найдутся индекс к, 1+ 1 < к «? п, и индекс s, 1 < s< т. — I, такие, что (}8/, Ф 0. Как следует из леммы 5.1, это означает, что вектор а" можно ввести в базис вместо вектора v', используя процедуру симплекс- метода. При этом опорный план х° не изменится. В самом деле, определяя число 6 по правилу 2 (или по правилу 2'), получаем 0 = 0, так как х° = 0 (непулевые координа- координаты вектора х° соответствуют столбцам а'1", г = 1, 2, ...,/, но не v1). Указанная процедура позволяет составить базис опорного плана ха, состоящий из т вектор-столбцов мат- матрицы А. 2) Пусть ранг матрицы А равен h; I < h < т. Тогда процедуру, описаппую в предыдущем пункте, можно осу- осуществлять до тех пор, пока в базисе опорного плапа ока- окажется ровно h вектор-столбцов матрицы А. Пусть аю будут, например, столбцы а1, а2, ..., а\ В таком случае, любой столбец а' матрицы А допускает представление в виде линейной комбинации векторов a', i = 1, 2, ..., h. В силу единственности разложения по базису простран- пространства R"', в формуле E.35), где следует положить I = h, все числа [},j, i = l, 2, ..., т — I, j = 1, 2, ..., и, равны нулю. Покажем, что в этом случае все ограничения задачи E.2) с номерами i = l + \, 1 + 2, ..., т — «лишние», т. е. ито уравнение <а„ х> = Ь( при 1+ \ <i<m является след- следствием первых I уравнений — ограничений задачи E.2). Действительно, векторы а\ а2, ..., а', v'+l, ..., и'" состав- составляют базис пространства R™. Поэтому определитель, со- составленный из координат этих векторов, отличен от нуля: ?=0. Следовательно, векторы а, = (аи, а,2, ..., а„), аг — = (й21, Й22, .. v лгд, ..., St = (а,,, йц, ..., пц) линейно неза- независимы, т. е. они образуют базис пространства R!, а векто- векторы'fl(=(flil, ai2, ..., аи), 1+ l<i^m, через них выража- 184 а11 в« "A +11 «mi °11 а11 +1 2 °тч •¦¦"и ...а21 ...<7„ •••"(И ! • ¦ ¦ ат1 0 0 0 1 0 0 0 0 0 0 ...0 ...0 ...0 ...0 ... 0 0 0 0 0 1
ются. Пусть п{ = 2 унпг, I + 1 ^ i <I m, или ( «г; = 2 VriOrj, / = 1, 2, ..., I. E.36) Кроме этого, при ]>1 из E.35) получаем «ij = 2 а*,** E-37) для всех i. При 1+ i <Krn, воспольяопавгаись форму- формулой E.36) и подставив в полученную форитулу выражение для aih, получим i i ац = 2 «fcj 2 Vri3wo / = I + 1, i + 2, .. ., га, или ai) = 2 Y При выводе формулы E.38) лой E.37). Окончательно имеем (с% i «ij ~ ^J Yrja'b Это. озпачает, что а *=2 ( мы воспользовались E.30) п E.38)) ,2, ... ¦yrjf7r, Т. .1.1+1...... е. при Z+ 1 E.38) форму- „. г i-я строка матрицы А является линейной комбинацией ее первых I строк. Если аадача E.2) допустима, то это зна- значит, что все строки матрицы А с номерами, большими I, можно отбросить, и допустимое множество задачи E.2) пе изменится. Несмотря на то что в целях удобства обозначений мы считали, что базис начального опорного плана ха состоит на нескольких первых столбцов матрицы А и последних единичных векторов пространства Rm, ясно, что справед- справедлив общий вывод: если некоторые векторы и' пе удалось вывести из базиса опорного плана х°, полученного в ре- результате решения задачи E.34), то ограничения задачи E.2), номера которых соответствуют индексам оставшихся векторов и', можно отбросить, у получившейся при этом матрицы число строк будет равно ее рангу. 185
* Такпм образом, решение вспомогательной задачи E.34) не только позволяет найти начальный опорный план задачи E.2), но и дает возможность выявить линей- линейно независимые ограничения этой задачи. После этого можно применять симплекс-ыетод для случая, когда ранг матрицы А совпадает с числом ее строк, J ' .' Симплекс-таблица, возникающая на последней итера- итерации поиска начального опорного плана, позволяет сразу написать начальную симплекс-таблицу решения основной задачи E.2) — надо лишь отбросить столбцы v\ v2, ..., vm, соответствующие вспомогательным переменным vt, v2, ... ..., vm, и заменить нулевую строку строкой Д, эломепты которой нужно вычислить ио формулам E.17). § 6. Иллюстративный пример численного решения задачи лилейного программирования Как уже говорилось, решение любой задачи линейно- линейного программирования, возникающей при моделировании реальных ситуаций, под силу лишь ЭВМ. Во всех круп- крупных вычислительных центрах страны имеются стандарт- стандартные программы симплекс-метода, позволяющие с успехом решать задачи довольно большой размерности. Изложение симплекс-метода в этой главе не «лужнт целям научить составлять программы, его реализующие, а лишь описывает его основные идеи с тем, чтобы чита- читатель мог достаточно грамотно пользоваться существующи- существующими программами и понимать те трудности, которые могут перед пим возникнуть. Имеется множество модификаций симплекс-метода, позволяющих, например, учесть специальным образом двусторонние ограничения типа, а < Х\ ^ b на переменпые х„ i = 1, 2, ..., п, а не включать их в матрицу ограниче- ограничений; модификаций, по иному решающих проблему оты- отыскания начального опорного плана и т. д. Знакомство с основной процедурой симплекс-метода позволит быстрее разобраться в многообразии этих приемов и пользоваться ими наиболее эффективно. Чтобы проиллюстрировать весь материал предшеству- предшествующих параграфов этой главы, проведем решение одной простейшей задачи линейного программирования. 186
С этой целью усложним задачу E.5) — добавим еще одно ограничение, являющееся суммой остальных: max (ж, + Зх2 + 2х3 + Ахк + ж,) 4ж3 + Зж4 =2, -xt 2.г, E.39) = 2, =7, я, 5*0, / = 1, 2,3, 4, 5. Решение этой задачи начнем с отыскания начального опорного плана, для чего составим вспомогательную за- задачу: max (—Vt — v2 — Уз — Vi) v, — Xi v2 + 2хг у, + ж, + ix3 + =2, = 3, = 2, = 7, E.40) 1,5*0, / = 1,2,3,4,5; у, 5*0, ?=1,2,3,4. В качестве начального опорного плана этой задачи выберем вектор B, 3, 2, 7, "О, 0, 0, 0, 0) с базисом v\ v2, v3, у4. Числа аи, 1 <?<4; 1 </<9, суть координаты век- векторов а' столбцов матрицы А и векторов vl. Параметры первого этапа симплекс-метода в иримене-" или к задаче E.40) расположим в табл. .5.1, у которой по столбцам стоят коэффициенты векторов в разложении по базису опорного плйна. В столбцах, обозначенных а', стоят числа аи, 1 < i < 4, 1 «S / < 5. В столбце b стоят коэффициенты разложения вектора b по базису, т. е. не- ненулевые координаты опорного плана. В строке Д стоят числа Д> д V1 У2 и3 и* Ь -14 2 3 2 7 и* 0 1 0 0 0 и1 0 0 1 0 6 уЗ 0 0 0 1 0 </ 0 0 0 0 1 а1 —4 -1 2* 1 2 и2 -,12 0 3 3 6 Т А Б а3 —16 А 3 1 8 лиц а* -20 3 5 2 10 А 5.1 а5 0 0 -1 1 0 187
Первая итерация. Поскольку —4 < 0, то вектор а1 можно ввести в базис (правило 1). Из чисел а«, 1 ^ i ^ 4, больше нуля лишь a2i = 2, a3i = 1, «4i = 2. Составляем векторы ajan'. ¦ aja,, = C/2, 0, 1/2, 0, 0, 1, 3/2, 3/2, 5/2, -1/2), а,/а„ = B, 0, 0, 1, 0, 1, 3, 1, 2, 1), cc4/au = G/2, 0, 0, 0, 1/2, 1, 3, 4, 5, 0). Наименьшим в смысле отношения > будет вектор a2/cc2i, так как его первая координата меньше первых координат ТАБЛИЦА 5.2 д у! а1 (У1 У4 Ь —8 7/2 3/2 1/2 4 У1 0 1 0 0 0 и2 2 1/2 1/2 -1/2 -1 У3 0 0 0 1 0 V* 0 0 0 0 1 а1 0 0 1 0 0 а2 —6 3/2 3/2 3/2 * 3 -10 11/2 ,Г2 -1,2 5 я4 — 10 11/2 5/2 — 1/2 5 а? —2 -1/2 -1/2 3/2 1 остальных векторов. Положим s = 2 (соответствующий элемент в таблице отмечен звездочкой) и выведем из ба- базиса вектор v1. При этом 8 = 3/2. Произведя вычисления по формулам E.27) —E.29), получаем новый опорный план п новый базис. В табл. 5.2 отражен результат первой итерации симп- симплекс-метода. От допустимого плана B, 3, 2, 7, 0, 0, 0, 0, 0) задачи E.40) с базисом v\ v2, Vя, v'' мы перешли к * Т А Г. Л II Ц А 5..1 д yi а? У4 й* —6 3 1 1/3 3 0 -1 0 0 0 У2 0 1 1 —.1/3 0 4 j —1 2/.Ч _2 *>4 0 0 0 0 1 а1 0 0 1 0 0 0 0 0 1 0 - а:: — 12 0 2 — 1/3 G* а4 — 12 G 3 -1/3 б а* 4 — 2 -2 1 —2 плану G/2, 0, 1/2, 4, 3/2, 0, 0, 0, 0) с -базисом и\ а\ v\ v\ причем значение линейной формы увеличилось на 6. Вторая итерация. Поскольку —6 < 0, то вектор а2 можно ввести в базис. При этом 8 =?= min {7/3, 1, 1/3, 4/3} = 1/3. Данный минимум достигается при s = 3, по- поэтому вектор v3 выводим из базиса. Результаты второй итерации отражены в табл. 5.3. 188
Таким образом, мы перешли к первому опорному пла- плану C, 0, 0, 3, 1, 1/3, 0, 0, 0) с новым базисом vl, a1, a1, vk. Значение целевой функции увеличилось еще на 2. Третья итерация. Поскольку —12 < 0, то вектор а3 вводим в базпс^ при этом 8 = min{l/2, 1/2, 1/2} = 1/2, т. е. минимум достигается сразу на трех индексах 1, 2, 3. Поэтому рассмотрим векторы «,/«„ = A/2, 1/6, 1/6, -1/6, 0, 0, 0, 1, 1, -1/3), а2/сс23 = A/2, 0, 1/2, -1/2,-0, 1/2, 0, 1, 3/2, -1), at/cc43 = A/2, 0, 0, -1/3, 1/6, 0, 0, 1, 1, -1/3). Так как вектор aja^ минимален в смысле отношения >, то вектор vk выводим из базиса. Отметим, что если выбирать любой из индексов, на которых достигается минимум отношения > при условии а,-., > 0, то можно случайно выбрать вектор а2, что не со- соответствует пашей цели — замещать в базисе векторы vl. Результаты третьей итерации отражены в табл. 5.4, Получен новый опорный план @, 0, 0, 0, 0, 1/2, 1/2, 0, 0) с новым базисом v\ a\ а\ а3; значение линейной формы увеличилось па 14. Полученный план оптимален для вспомогательной за- задачи E.40), а значит, план х" = @, 1/2, 1/2, 0, 0) допу- допустим для задачи E.39). Вектор и' присутствует в базисе плана х", и его нель- нельзя заместить ни вектором а4, ни вектором а\ поскольку Т А Г, Л [f Ц А 5.4 д У1 . а1 а2 аа Ъ 0 0 0 1/2 1/2 V1 0 1 0 0 0 У2 0 1 1 — 1/3 0 (/' 0 1 — 1/3 5/9 -1/3 а' 2 —1 — 1/3 1/18 1/Г. я1 0 0 . 1 0 0 а2 0 0 0 1 0 а:1 0 0 0 0 1 а4 0 0 1* 0 1 а? 0 0 -4/3 8/9 —1/3 в разложении по базису плана х" любого вектора а' ко- коэффициент при v' равен 0. Как-мы видели в § 4, "это означает, что первое уравнение в системе ограничений задачи E.39) — лишнее и его можно отбросить, после этого ранг матрицы ограничений станет равным числу строк. 1 На табх 5.4 это отразится следующим образом: надо отбросить строку и столбец, соответствующие вектору vl. 189
Переходим к решению задачи E.39). Для этого следу- следует в табл. 5.4 заменить строку А, вычислив значения Aj по формулам E.19) (см. табл. 5.4*). Первая итерация. Поскольку —1<0, то вектор а4 вводим в базис. При этом 8 : min {О, 1/2), и выводить из ТАБЛИЦА 5.4* д а1 а? а;1 Ь 5/2 0 1/2 1/2 0 1 -1/3 0 и> 2/3 —1/3 ¦5/9 -1/3 и'1 1/6 — 1/3 1/18 1/6 а1 0 1 0 0 .а1 0 0 1 0 О'1 0 0 0 1 о4 —1 1* 0 1 о5 —1/3 —4/3 8/9 -1/3 базиса нужно вектор а1. Результаты первой итерации ре- решения задачи E.39) приведены в табл. 5,5. Получим новый опорный план х1 = @, 1/2, 1/2, 0, 0) (мы не указываем значений вспомогательных перемен- переменных] с новым базисом а", а2, а3. Т А В Л И Ц А 5.5 д а4 а2 а3 ¦ Ь 5/2 0 1/2 1/2 i/ 1 1 -1/3 \ У3 1/3 -1/3 5Л1 0 V* — 1/6 -1-3 t/lh Ш а1 1 1 0 ^ а 0 1 0 aJ 0 0 0 1 а4 0 1 ¦ 0 0 о5 —5/3 —4/3 8/9 1* Вторая итерация. Поскольку —5/3 < 0, вводим а" в базис; 8 = min {9/16, 1/2}, следовательно, выводим из ба- базиса вектор а3 (см. табл. 5.6). д а4 а* а? Ь 10/3 2/3 1/18 1/2 и2 -2/3 -1/3 5/9 — 1 и:> 1/3 —1/3 5/9 0 и4 2/3 1/3 —7/18 1/2 а1 —2/3 -1/3 8*'й — 1 а2 0 0 1 0 Т А а> ' 5/3 4/3 —8/9 1 В Л И Ц А 5.6 ta4 0 1 0 0 аа 0 0 0 1 Таким образом, новый опорный план хг = @, 1/18, 0, 2/3, 1/2), новый базис а", а2, а5. Третья итерация. Так как —2/3 < 0, то вектор а' нуж- нужно снова вводить в базис; при этом 8 = 1/16. Следователь- Следовательно, вектор а2 надо вывести из базиса (см. табл. 5.6). 190
Полученный план я3 = A/16, 0, 0, 11/16, 9/16) опти- оптимален, и максимальное значение целевой функции равно 27/8 (см. табл. 5.7). ТАБЛИЦА 5.7 д а* а1 Ь 27/8 11/16 1/16 9/16 и2 -1/4 -1/8 5/8 -3/8 U3 3/4 -1/8 5/8 5/8 и4 3/8 3/lf. -7/к: l/if. а1 0 0 1 0 а2 3/4 3/8 9/8 9/8 а-1 1 1 -1 1 а4 0 1 0 0 а5 0 0 0 1 § 7. Модифицированный симплекс-метод Как. отмечалось, основное свойство симплекс-метода, обусловливающее его эффективность, состоит в простоте вычислений на каждом этапе итерации. В результате до- достигается достаточное быстродействие, которое в сочета- сочетании с возможностями современных ЭВМ позволяет ус- успешно решать задачи линейного программирования боль- большой размерности. Вместе с тем при решении таких задач существенную роль играет не только быстродействие, но и объем оперативной памяти ЭВМ, используемый в про- цессе решения. Оперативная память, в отличие от долговременной, со- содержит те параметры задачи, с которыми в данный момент производятся вычисления. Основным узким местом в со- современных ЭВМ является именно объем оперативной памяти. При реализации симплекс-метода па каждой q-ш ите- итерации необходимо хранить в оперативной памяти симп- симплекс-таблицу §1(<?>. Эта таблица содержит (то+1)(п + 2) чисел. Обсудим, действительно ли следует хранить в опе- оперативной памяти всю симплекс-таблицу. Основным содержанием итерации симплекс-метода яв- является построение нового базиса. Для этого необходимо иметь в распоряжении следующие параметры: индекс к, для которого Ah < 0, дозволяющий определить, какой век- вектор а* нужно вводить в базис; векторы ак и а0, с помощью которых находится ипдекс s, указывающий, какой стол- столбец а' следует выводить из базиса. 191
Формулы E.27) и E.28) для вычисления вектора а" и а0, соответствующих новому базису, также содержат лишь компоненты векторов ah и а0: при / = 0, / = к. _ При определении же вектора Д по формуле E.29) тре- требуется знать s-io строку матрицы Qt. Поскольку номер s заранее неизвестен, то отсюда как будто вытекает, что нужно иметь в своем распоряжении всю матрицу Qt. Обратимся, однако, к представлению векторов Д п Д через векторы р° а р1: P° = (V)V, E.41) Л, = <«',p°>-«,,/ = 1,2, ...,», E.42) Представим себе, что матрица А хранится в долговремен- долговременной памяти, и организуем" следующий процесс вычис- вычислений. Имеем начальный опорный нлаи х", его базнс а4, а 2, ..., а%т и матрицу Л^1. Этап 1. По формулам E.41) вычисляем вектор р". Этап 2. Из долговремепной памяти вызывается век- вектор а\ j&o (о = {г„ г2, ..., ij) и по,формуле E.42) вы- вычисляется число Д/. Если ,Д,-< 0, то принимается j = к и переходим к следующему этану. Если Дл > 0, то выби- выбирается следующий вектор a', j Ф- о. На этом пути либо найдется такой к, к<?а, что Дл < 0, либо окажется, что все Д, > 0. Последнее означает, что план х" оптимален и вычисления следует прекратить. Этап 3. Вычисляется вектор afe = A^lah, u с исполь- использованием вектора а" по правилу 2 находится индекс s. Этап 4. Матрица А^1 и вектор а0 преобразуются по формулам /1-1 _ /)-1 -1-1 Z0 П~1/у0 192
т. е. по формуле E.28), где вычисляются не все коорди- координаты (ai0, ац, ..., ain) строки а;, а лишь ay, j e о1. Возвращение к этапу 1. Описанная процедура называется модифицированным симплекс-методом. Ее отличие состоит в следующем: в оперативной памяти хранится (т+1)т чисел — элемен- элементы Aq и вектор а0; вычисляются-, вообще говоря, не все числа Aj. УПРАЖНЕНИЯ 1. Пусть X = {х\Ах = b}, Q — невырожденная квадратная матрица, число столбцов которой совпадает с числом строк мат- матрицы Л, X = {x\QAx = Qb}, Доказать, что X = X. 2. Рассмотрим две приведенные системы уравнений от л пе- переменных: а) ?j+ 2Vj=aio' 'SO-,' .2 Пусть эти системы уравнений эквивалентны, т. е. множества их решений совпадают. Доказать, что ац = (Jjj, / е ш, ieo. 3. Пусть X — множество доиустимых "векторов задачи линей- линейного программирования, <с, хУ— целевая функция. Если <с, г'>> > <с, х2}, то в любой сколь угодно малой окрестности точки х2 найдется такая точка х е X, что <с, хУ > <с, х2>. Доказать. Ука- Указание. Рассмотреть точку х вида х = ах1 + A—сОж2| где О < a < 1. 4. Показать, что локальный экстремум в задаче линейного программирования является и глобальным. Указание. Вос- •иальзоваться упражнением 3. 5. Доказать, что два линейных многообразия Р\ = хх + ?| и р2 = х2 + ?-2 совпадают тогда и только -тогда, когда L| = L2 и а;1 — ж2 s ?ь 6. Доказать, что если задача шах <с, г> Ах = 0, а: ^ О имеет решение, то г = 0 является решением. 7. Показать, что условие теоремы 5.4 не является необходи- необходимым для оптимальности опорного плана в случае вырожденной задачи. Для этого рассмотреть следующую задачу линейного про- программирования: max X| ?i + Х2= 1, а:2 + г3 = 0, х, > 0, аг2 > 0, 13 Зг 0. 8. Пусть X —- допустимое множество задачи E.2), i°eJf, На- Направление s= (si, s2, ..., srt) назовем допустимым в точке х°, № С. л. лш.манов ¦. 193
если х" + Xs е X при достаточпо малых А, > 0. Показать, что па- «равление s допустимо в точке х° тогда и только тогда, когда As -» 0, si ?s 0, если я? = 0, / — 1, 2 п. 9. Доказать, что г°е X — оптимальный план задачи E.2) в том и только том случае, когда <с, ») «? 0 для любого направле- направления, допустимого в точке х°. 10. Доказать, что л'еХ — оптимальный план задачи E.2) тогда и только тогда, когда найдутся такпе секторы p°eRm и w € R", что с *= А'р° — w, w > 0, <г°, ш> = 0. У к а 8 а н и е. Вос- Воспользоваться импликацией As = 0, <«, е') 5= 0, для всех /, для которых x*j — 0 =*¦ <с, «> < 0, и теоремой 2.27. 11. Доказать теорему: если вектор А неотрицателен, то х° — решение задачи E.2). Указание. Использовать упражнения 8-10,
Г Л А В Л VI. ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОД Связи между прямой и двойственной задачами линей- линейного программирования, сыгравшие определенную роль при обосновании симплекс-метода, позволяют также пред- предложить и другие вычислительные схемы решения канони- канонической задачи линейного программирования. В этой главе излагаются двойственный симплекс-ме- симплекс-метод, который состоит по сути дела в применении симп- симплекс-метода к двойственной задаче, а также так называе- называемый двойственный симплекс-метод в координатной фор- форме. Несмотря на очевидное сходство описываемых вычислительных процедур, каждая из них имеет свою область применения, в которой использование данного метода наиболее целесообразно. Так, двойственный симп- симплекс-метод удобен тем, что его можно применять в том случае, когда решается не одна, но несколько задач ли- линейного программирования с возрастающим количеством дополнительных ограничений. Этой же особенностью об- обладает и двойственный симплекс-метод в координатной форме, однако последний, кроме того, оказывается не- несколько удобнее при исследовании целочисленных задач линейного программирования, которые рассматриваются в гл. VII. § 1. Псевдопланы и правила двойственного симплекс-метода 1. Напомним, что в ходе последовательных итераций симплекс-метода строится последовательность планов х", х\ ..., х4, .-.. исследуемой канонической задачи линей- линейного программирования. Этой последовательности по фор- формуле рч = \^а)~хса сопоставляется последовательность р", р\ ..., рч, ... векторов, каждый из которых «почти» является планом двойственной задачи в том смысле, что для вектора рч выполнены те из ограничении, которые 13» 195
соответствуют базисным векторам текущего опорного пла- плана xq прямой задачи. В двойственном симплекс-методе строится последова- последовательность векторов х", х\ ..., хч, ..., каждый из которых «почти» является планом задачи E.2) — вектор хя может не удовлетворять лишь условию неотрицательности. В со- соответствующей последовательности р", р\ ..., рч, ... каж- каждый в&гстор является планом двойственной задачи. Как только вектор хя, вычисленный на очередной итерации, оказывается неотрицательным, т. е. планом задачи E.2), то он автоматически оказывается оптимальным планом. 2. Перейдем к изложепню двойственного симплекс-ме- симплекс-метода решения канонической задачи линейного програм- программирования ' шах <с, хУ ' F.1) Ах.= Ь, х>0. Будем считать, что ранг матрицы А равен т — числу строк в этой матрице. Определение 6.1. Вектор х = (х„ хг, ..., хп), удовлетворяющий системе уравнений Ах = Ь, называется опорным вектором для задачи F.1), если система век- вектор-столбцов матрицы А, соответствующих ненулевым ко- координатам вектора х, линейно независима. Обратим внимание на то, что опорный вектор задачи не является, вообще говоря, ее планом. Определение 6,2. Базисом опорного вектора х на- назовем любую линейно независимую систему из m век- вектор-столбцов матрицы А, включающую в себя все столб- столбцы, соответствующие ненулевым координатам вектора х. Пусть имеется опорный вектор х" задачи F.1) и его базис имеет вид {а\а12, ...,лН (С2) Обозначим, как и ранее, о ={«!, г2, ...,im), ca = (cjj.c^, ...,c,m)r Сопоставим опорному вектору х" m-мерный вектор р° = (/Q-V F.3) 19G
Определение 6.3. Опорный вектор хп назовем псевдопланом, если А'р°>с. F.4) Базису (G.2) опорного вектора х" сопоставим матрицу -1 «V «V a M '2 'л U Ci CL , , , Q. и симплексную таблицу 2С =В'алЛ, где (напомним) О ,х ct...cn ,12 г о а а ... а Отличие от симплексной таблицы, сопоставляемой опорному плану в гл. V, состоит лишь в том, что вектор а0 = ха теперь не обязан быть неотрицательным. Как было показано в п. 3 § 2 гл. V, Coc0i, а<>2, ..., а,т) = = А'ра — с. Отсюда следует, что опорный вектор х" явля- является псевдопланом тогда и только тогда, когда a0J ^ 0, / = 1,2,..., п. Свойство E.31), связывающее векторы х" и р", дает необходимый и достаточный признак оптимальности псев- псевдоплана х". " Теорема 6.1. Для того чтобы опорный вектор х был оптимальным планом задачи F.1), необходимо и до- достаточно, чтобы х° являлся псевдопланом и удовлетворял условию неотрицательности х" ~> 0. 3. Пусть х" — псевдоплан. Если задать список а1 но- номеров базисных переменных, отличающихся от множества о одним элементом, то по формулам гл. V можно осуще- осуществить переход к новому опорному вектору Xх и получить новую таблицу 01. В симплекс-методе мы следили за тем, чтобы вновь по- получаемый опорный вектор а;1 был планом задачи F.1), т. е. чтобы выполнялось неравенство ai0 51 0, i^au, затем в соответствии с этим мы формулировали основные пра- правила выбора индексов к и s. В двойственном симплекс- методе мы будем стремиться к тому, чтобы вектор р1 = — {А\\)лса\ был планом двойственной задачи, т. е. чтобы выполнялись условия ctojX), / = 1, 2, ..., п, и вектор х1 был, следовательно, псевдопланом задачи F.1). ¦ 197
Правило 1*. Если s-я координата а.„ вектора а* отрицательна (г. е. zi < 0), то вектор а' следует вывести иэ баэиса F.2). С тем чтобы сформулировать правило, указывающее, какой вектор о* следует ввести в базис, вспомним, что по формуле E.29) aOj = «oj — ^ a,h i = !. 2. • • •. га- Следовательно, для того чтобы выполнялись неравенства aOj 2* О, ;' = 1, 2, ..., га, необходимо выполнение условия <*o;>^4i, 7 = 1,2 га. F.5) «ft Теперь можно сформулировать Правило 2*. ?сли решено вектор а' вывести из 6а- виса, то следует рассмотреть вектор а. — строку симплекс- симплексной таблицы 01 и найти все те индексы ), 1 < j' < m, для которых a.j < 0. Пусть J = {/la.j < 0) и индекс А: е ] таков, что 2й = та, Ъ1. Тогда вектор я* следует ввести в базис. Отметим, что согласно этому правилу, в базис могут быть введены лить векторы, в настоящий момент в нем не занятые, так как если / е а, то a.j = 0 при ) ^ s а а„ = = 1, т. е. а„ > 0, 7" е о. Обратим внимание на отличия правил 1* и 2* от пра- правил 1 и 2 симплекс-метода. Во-первых, меняется очеред- очередность определения векторов, которые нужно вводить и выводить из базиса. Во-вторых, в правиле 2* рассматри- рассматриваются отрицательные элементы s-й строки, в то время как в правиле 2 фигурируют положительные элементы k-ro столбца. Может случиться, что правило 2* применить нельзя — все величины a.j, / = 1, 2, ..., га, неотрицательны. Оказы- Оказывается, что в таком случае решение вадачи F.1) следует прекратить, так как имеет место Теорема 6.2. Если а.„ < 0 (т. в. х° < 0) и а„ S* 0, /= 1, 2, ..., га, то задача F.1) недопустима, т. е. множе- множество X ее планов пусто. 198
Доказательство. Предположим, что задача F.1) обладает планом х, т\_ е. Ах = Ъ. Согласно формуле E.11), Ааа° = Ъ, т. е. А~ 1Ах = а0. Из E.13) имеем А~ 1а} = а\ / = 1| 2, . .., ге, что означает, что s-я строка \А^ХА\ матрицы -4д 1А равна \Аа A)s = (otsl, otS2, ..., otsn). та Отсюда aOs = 2j asjXj. Получили противоречивое ра- равенство, так как а0. < 0, Xj 3» 0, a8j 3» 0, / = 1, 2, ..., ге. Теорема 6.3. ^слм задача F.1) допустима, вектор х" является псевдопланом и индекс к выбран согласно правилу 2*, то a0j5=0, j; = 1, 2, ..., ге, г. е. вектор х\ со- соответствующий новой симплексной таблице 01, является псевдопланом. Доказательство. Поскольку aOj 5= 0, 7 = 1> 2, ... ..., ге (так как х" — псевдоплан),'то неравенство F.5), очевидно, выполняется при a8j 5* 0, так как а,» < 0. Если С ¦ Ctni, же aej<0, то-F.5) эквивалентно неравенству тр^г"» которое справедливо в силу выбора индекса к по пра- правилу 2*. Сравним значения линейной формы <_с, я1) и <с, яо>. По определению симплексной таблицы', аОо = <с, х*>. Из формулы E.29) получаем а00 = а00 — —— as0. Поскольку as0 < 0, а** < 0, а0* 5* 0, _то а00 < аоо, т. е. <с, х1У ^ <с, ж°>. Если окажется, что ааЛ > 0, то <с, х1У < < <с, ж°>. В том же случае, когДа а0Л = 0, значение линей- линейной формы при переходе к новому базису (новому псевдо- псевдоплану) не меняется: возникает ситуация, сходная со слу- случаем применения симплекс-метода к вырожденной задаче. 4. О п р ед е л е н и е 6.4. Псевдоплан х" назовем невы- невырожденным, если имеют место неравенства aoj > 0 при В терминах двойственной задачи определение 6.4 рас- расшифровывается таким образом: для вектора р° равенства (А'р°)) = Cj при ;ео выполнено по определению F.3). Псевдоплан х" неврожден, если для всех остальных ин-
дексов j &.a имеют место строгие неравенства (А'р°)]> с,. Геометрически это означает следующее. Если х° — псев- псевдоплан, то р" является крайней точкой множества Р допустимых векторов двойственной задачи E.30). Этот факт следует из теоремы 2.18, поскольку матрица Ла яв- является подматрицей носителя плана р" и, значит, ранг матрицы-носителя плана р" равен т. Поэтому, если вы- выполнено равенство (A'p°)h = ch при к&а, то ограничение <а", рУ = ск является «лишним» для задания крайней точ- точки р°. Если же, например, всякая крайняя точка р° много- многогранника Р принадлежит ровно т гиперплоскостям (а1, р"У = с,, то подобная ситуация встретиться не может. Определение 6.5. Задача F.1) называется двой- двойственно невырожденной, если всякий ее псевдоплан не- невырожден. С использованием введенного понятия может быть сформулирована Теорема 6.4. Если задача F.1) двойственно невы- невырожденная, то, начиная с псевдоплана х", применением двойственного симплекс-метода за конечное число итера- итераций будет либо обнаружена недопустимость задачи, либо Найден оптимальный план. Доказательство этого утверждения непосредственно вытекает из предшествующих утверждений, конечности множества крайних точек множества Р планов двойствен- двойственной задачи, а также из того, что исключена возможность зацикливания — для двойственно невырожденной задачи значение целевой функции <с, хУ убывает на очередном псевдоплане, 5. По поводу проблем нахождения начального псевдо- псевдоплана скажем следующее, Мы будем применять теорию двойственного симплекс-метода лишь при описании алго- алгоритма решения целочисленных задач линейного програм- программирования. Основное содержание этого алгоритма состоит в решении последовательности задач линейного програм- программирования, когда каждая следующая задача получается добавлением нового ограничения к предыдущей. В этом случае, как будет показано в следующем параграфе, про- проблема отыскания опорного псевдоплана решается совсем просто, считая, что решение первой из р'ассматриваемых задач уже найдено, например, симплекс-методом. Тем не менее, к вопросу об отыскании начального псевдоплана и о двойственно вырожденных задачах мы еще вернемся в §§ 4 а 5. 20Q
§ 2. Применение двойственного симплекс-метода к задаче с дополнительным ограничением Пусть х*— оптимальный опорный план задачи F.1). Предположим, что к ограничениям этой задачи добавлено еще одно ограничение типа неравенства: max (с, хУ F.6) Ах = Ъ, <am+i, x> s?bm+1, x>0, ' F.7) где am+i = (ат+11, a,m+i2, •••, a-m+i n), bm+1 — число. Если х* удовлетворяет неравенству F.7), то х* явля- является оптимальным планом н всей задачи F.6), F.7), по- поскольку добавление нового ограничения может привести лишь к уменьшению величины максимума целевой функ- функции, так как тем самым сужается область планов. Если же <ат+1, х*У > bm+i, то х* вообще не является планом задачи F.6), F.7), и поиск ее решения требует дополни- дополнительных вычислений. Покажем, что применение двой- двойственного симплекс-метода позволяет сильно сэкономить количество дополнительных расчетов. Запишем новую задачу в канонической форме, введя дополнительную переменную xn+i: max <c, x) F.8) Ах = Ь, <ат+и х> + Xn+i = bm+i, х^О, хп+1>0. F.9) Покажем, что всякий оптимальный план х = (хи хг,-.. ..., хп, а:п+1) задачи F.8), F.9) соответствует оптимально- оптимальному плану x = (xit x2, ..., хп) задачи F.6), F.7). В самом деле, если х — план задачи F.8), F.9), то х — план зада- задачи F.6), F.7). С другой стороны, если х' =(хх,х2, ... . , .,хп) —произвольный допустимый вектор задачи F.6), F.7), то х' —- (.rlt . . .,х'п, bm+l — (ат+ух1))— план задачи F.8), F.9) и поэтому <с, х> > <с, х'>. Отметим, что так как х* — опорный вектор задачи F.1), то. х* = (^1*, . . .,х*п, Ьт+1 — <a,n+i, х*)) — опорный вектор для задачи F.8), F.9). В самом деле, для этрго вектора выполнены все ограничения типа равенств, а от- рицательнои является лишь одна координата хп+х = 201
= ftm+J — (am+i, x*). При этом, если {я >, а 2, ..., а т] — базис опорного плана х*, то система (т + 1)-мерпых век- векторов является, очевидно, базисом вектора х*, т. е. этот век- вектор — опорный. ___ Для того чтобы построить симплексную таблицу 2t, соответствующую данному базису, воспользуемся замеча- замечанием в конце п. 1 § 3 гл. V, которое говорит о том, что элементами симплексной таблицы служат коэффициенты приведенной системы уравнений. Отсюда следует, что первые т + 1 строк симплексной-таблицы % получаются из соответствующих строк а0, аи ..., ат матрицы SI — симплексной таблицы, соответствующей базису оптималь- оптимального плана х*, добавлением одной нулевой координаты, отвечающей новой переменной хп+1. Для нахождения по- последней строки am+i таблицы 91 надо лишь выразить ба- базисную переменную хп+1 через небазисные. Пусть to — список небазисных переменных, т. е. со = {1, 2, ..., .п}\а, где a = {г„ г2, ..., гт}. Тогда Хп+1 = Ьт+1 — 2j am+l:,Zj- (о. 11) Подставляя из E,1) выражения для базисных перемен- переменных, получаем isa iea = bm+i — jew / - з'еш &V]Xj | — j ¦ i am+\i — 2 am+\iO.ij ] Xj. i у iea Следовательно, последнее (получаемое из F.8)) урав- уравнение приведенной системы для F.7) имеет вид зев у 202 jj \Xj = у
Отсюда аи+1 0= "т+1 — 2j am+littjo, F.12) lea О, если am+lj — 1, если / = п + 1, j — 2 ат+цац, если / е и. lea F.13) Поскольку пектор x* оптимален для вадачи F.1), то «oj^ 0,/=1, 2, ..., п. Так как эти же элементы образу- образуют (вместе с а00) первую строку матрицы 91, то отсюда следует, что х* — псевдоплап для задачи F.6), F.7). Таким образом, в том случае, когда уже найдеп опор- опорный оптимальный план задачи F.1), имеется результиру- результирующая симплексная таблица 91 п требуется решить задачу F.6), F.7),,то это сделать несложно. Согласно вышеска- вышесказанному, с учетом формул F.12), F.13) непосредственно составляется симплексная таблица 91, отвечающая псевдо- псевдоплану х*, и задача F.6) решается двойственным симп- симплекс-методом. Как правило, при этих условиях для полу- получения решения задачи F.6) требуется небольшое количе- количество вычислений. § 3. Симплексная таблица в координатной форме При решепии задач липейпого программирования по симплекс-методу, как он был описан в гл. V, основным объектом вычислений является симплексная таблица, эле- элементы которой совпадают с коэффициентами приведенпой по методу Жордана — Гаусса системы, соответствующей выбранному опорному вектору. Так, если сопоставить за- задаче F.1) систему уравнений х0 — <с, х~> = 0, F.14) то приведенная система имеет вид 2 <с,ж°>,- F.15) 2 aij^j = а«ь ' 1еч, @.16) 203
где о = Ui, i2, ¦ ¦., im) — список номеров базисных пере- переменных, оа = {1, 2, .. ., и)\о — множество номеров небазис- небазисных переменных (см. § 1 гл. V). Матрица 21, составленная из коэффициентов системы F.15), F.16), и называется симплексной таблицей (см. гл. V). Возможен, однако, и другой способ организации необ- необходимой информации, основанный на следующих сообра- соображениях. Введем в рассмотрение векторы с(х) = (х0, хи хг, ..., хп), где х0 = <с, х>. (га + 1)-мерный вектор с(х) является решением системы F.14) (а значит, и эквива- лептной ей системы F.15), F.16)) тогда и только тогда, когда Ах = Ъ. Как известно из курса алгебры (см. [1]), общее реше- решение системы уравнений F.15), F.16) представляется в виде с(х") + L, где с{х") — частное решение данной систе- системы, a L — пространство всех решений однородной систе- системы уравнений хо+ 2ао;а:; = 0, F.17) jfc6) Xi + 2 aipj = 0, i <= о. F.18) j Частное решение системы F.15), F.16) находится без труда — это вектор с(х°), где х° = (х®, х\, .. ., ж"), причем (ai0, если i e 0, -У1 ¦ :—г: { 1 { 0, если i e ю. Множество L конструктивно можпо задать фундамен- фундаментальной системой- решений. Обозначим ха = (>;х, xj2, ... ¦ • ¦ ixin-m)i где «) = (/,, /2, ..., 7„-т). Фундаментальную систему решений для F.17), F.18) можно получить, по- полагая вектор Ха поочередно равным векторам ортонор- мального базиса пространства R"~m. Введем следующие обозначения: у' = A, 0, 0, ..., 0)eR"-m, v2 = @, 1, 0, ..., 0), ' . vn'm = @, 0, 0, ..., 1). 204
Положим яш = —и1 и вычислим значения базисных пе- переменных из формул ?еа. F.20) Получившийся (п+ 1)-мерпьш вектор обозначим через Р '. Таким же образом получим векторы Р 2, Р 8,..., Р n~m. Здесь р' = (Poi, P.i, . •., М, / s <°. гДе ( ay, если г = 0 или i e a, ру = | 0, если г есо, гф), [—1, если ieffl, i = /. Введем обозначение: Z) = (р3\ р'2, ..., рЭп"т). Тогда D — матрица размеров (п + 1) X {п — т). Отметим некото- некоторые свойства матрицы D. Пусть z = (z0, z,, z2, ..., zn) — произвольный вектор, удовлетворяющий однородной си- системе уравнении F.15), т. е. z<^L. Тогда z может быть разложен по векторам pJl, pJ2, ...,p3n~m, составляющим базис пространства L: Используя специальную структуру векторов Рч, нетрудно определить коэффициенты Чч'- Для координаты %^ векто- вектора z получаем Zjq = —7^1 5 = 1> 2, • • •, п — т, t. е. или z = -Dza, ^ F.21) где (напомним) гш = (z^, zj2, ..., zin_m). В частности, Pj = -DpL = ОУ, ¦ f е'ш, / - ;„ F.22) так как р!? = -Л F.23) Проследим за изменением матрицы D при переходе к новому базису (новому опорному вектору).
•Пусть х1 — опорный вектор задачи XG. 1) и / Ч *2 '/-1 А */+1 ' 'ml in n/\ \а\а , ..., а \а ,а , ..., а | F.24) — его базис, где к е ю, и пусть D — матрица, соответст- соответствующая базису F.24) согласно описанной процедуре. Если обозначить й = Ui, г2, ..., it-i, к, it+i, ..., in-m)i то для матрицы D получим 2 = -Dz^ Vz e= L, F.25) ^s = DuT, fq = Dvq, g = 1,2, ...,n —i», g-^r. F.26) Из F.21) a F.25) получаем Dz^ = Sz^j Vz e= L. Между проекциями zffl и гш1 вектора z существует простая связь: zMi = zoj — (zfc — zs) уг> А = jr, s — iu так как vTq = 0 при /•?=g, у? = 1. Тогда - Dzu = Дго, — (zfc — zs) 5уг. F.27) Возьмем в качестве z вектор ?}* — ;г-й столбец матрицы D: D& = Dfa-(l-&h)DvT. С учетом F.22), F.23) имеем или, привлекая еще раз F.22) и F.26), р* = —p^ff», т. е. f = - ± pft. F.28) Тем самым получена формула преобразования А-го столб- столбца матрицы D. Чтобы вывести формулу для остальных столбцов, положим в F.27) z = [Jj, /' Ф к, j = jq: Вновь_с учетом F.22), F.2.3) и F.26) получаем fr ="pJ - — р,вр*. Подставляя выражение F.28) для [}я, приходим к соотношениям jji'P*, /eco, ]фк. F.29) Psft 200
Формулы F 28) и F.29) полностью описывают преобра- преобразование матрицы D к матрице D при переходе от базиса F.16)'к базису F.24). Выведем формулу, связывающую векторы с(х°) = = {xl,х\, ..., Хп) и с(х1) = (х10, х\, ..., xl). Положим z = cix1) - с(х") е L. Поскольку с (х\1= 0, с {х^^ — хУ, то z^ =z?<;'. Тогда из F.27) имеем с(х1) — с (х°) = = — xnaDvr = xffi. Используя F.28), цолучаем Рай F.30) Отсюда видно, что формула F.30) идентична F.29), т. о. вектор с(х°) преобразуется так же, как и столбцы $\ j^k, матрицы D. Введем обозначение с(ж°) = ^°, т. е. х\ = pi0, i = 0, 1, 2 п. Тогда в формуле F.29) следует считать / = 0, или j e «>, j ?• к. Матрицу назовем симплексной таблицей в координатной форме, соответствующей базису \а 1, а 2, ..., a mj опорного век- вектора х". § 4. Двойственный симплекс-метод в координатной форме По построению симплексная таблица в координатной форме S3 такова, что ее столбец ^° совпадает с вектором с(ха) = ((c,x°),xl,xl, .. .,xl), а ее строка ?0 имеет вид Ро = (<с, я°>, Ajj, Aia, ..., Ajn_m). Таким образом, Й содержит всю необходимую информацию для применения как симплекс-метода, так и его двойственного варианта. Опишем использование таблицы S3 в двойственном симплекс-методе, считая, что задача F.1) может быть и вырожденной. С этой целью уточним правило 2*. Правило 2*'. Если решено вектор а' вывести из ба- базиса, то следует рассмотреть вектор $, — строку с номе- номером s таблицы S3 и найти все те индексы j, /g«i, для которых ^Зз < 0. Затем нужно рассмотреть векторы rr-fi1 P« 207
для этих индексов ] и выбрать к таким образом, чтобы Вай < 0 и S—Р'')>а-33 для всех таких /есо, что В„,<0. Psh Рад Г J Согласно этому правилу индекс к Определяется одно- однозначно. Действительно, если найдется еще один индекс /, для которого вектор g—p лексикографически максимален, то что противоречит линейной независимости вектора BJ, / s со. Определение 6.6. Назовем псевдоплан х" строго допустимым, если 8; >- 0, / щ ш. Заметим, что невырожденный псевдоплан строго до- допустим, поскольку А, = 80j > 0, / s oj. Теорема 6.5. Если х" — строго допустимый' псевдо- псевдоплан, индекс к выбирается согласно правилу 2*', то х1 — строго допустимый псевдоплан. Доказательство. Поскольку правило 2*' является усилением правила 2*, то согласно теореме 6.3 х1 — псев- псевдоплан. Следовательно, остается лишь доказать, что ?JJ>-0, /sco1. По формуле F.29) сразу получаем, что j3">-0 (так как j3sft < 0). Из (&.30) для тех j, при которых j3SJ S* 0, имеем ?И >~ 0, так как — тр ^ 0. Если же j3Sj < 0, то неравенство эквивалентно неравенству ± R-; ^ A. R" Рез1 Р.чА которое выполнено вследствие выбора к. Теорема 6.6. Если х° — строго- допустимый псевдо- псевдоплан и выбор индекса к осуществляется в соответствии с правилом 2*', то Доказательство. Поскольку согласно правилу 1* выбора индекса s 'х°, < 0 П' {5,* < 0, то xi/fht, > 0. Торда
из F.30) с учетом, неравенства В* >- 0 получаем dt1) -< Им доказанных теорем вытекает, что если применять двойственный симплекс-метод" с использованием симп- симплексной таблицы в координатной форме и руководство- руководствоваться правилами 1* и 2*', причем в качестве началь- начального взять строго допустимый псевдоплан х°, то возмож- возможность зацикливания исключена. О способах отыскания начального строго допустимого псевдоплана будет сказано в § 5. § 5. Нахождение начального псевдоплана Проблема нахождения начального псевдоплана в об- общем случае сложнее, чем задача отыскания опорного пла- плана. Это видно хотя бы из тех требований, которым дол- должен удовлетворять псевдоплан х°: Аха = Ъ, А'р">с, где р° = (Аа)~ са - (напомним, что Аа — матрица, столбца- столбцами которой служат векторы базиса псевдоплана х°, с = ~ (CV Civ ' • •' Cim))# Поэтому часто оказывается умест- уместным заменить задачу F.1) другой, для которой псевдоплаи указывается непосредственно. Прежде чем описать соот- соответствующую процедуру, сделаем дополнительное пред- предположение о свойствах задачи F.1). Именно, будем счи- считать, что множество Х° решений этой задачи ограничено (данное предположение несколько облегчит нижеследую- нижеследующие рассуждения, в то же время основное интересующее нас применение результатов этой главы состоит в изуче- изучении целочисленных задач линейного программирования, где подобное предположение все равно необходимо). Применив метод исключения Жордана — Гаусса, по- построим для задачи F.1) симплексную таблицу Э в коор- координатной форме, получив тем самым и некоторый опор- опорный вектор х°. Пусть o = {iu i2, ..., UJ, со = {/i, ]\, ..., in-J — мно- множества номеров соответственно базисных и небазисных переменных в таблице S3. Если вектор х° — строго допустимый псевдоплан, то больше ничего делать не надо. В противном случае в таблице S3 имеется хотя бы один вектор {У, /sco, для ко- которого выполняется условие $ -< 0. Сопоставим задаче F.1) новую задачу линейного про- программирования, введя дополнительную переменную xn+i 14 С. А. Ашманиа 2^9
п йойое ограничение: max <c, хУ Ах = Ь, Ц xj Ч- *п+1 = М, F.31) з'е<в х^ О, агп+1 ^0. Здесь Л/ — такое достаточно большое число, что для любого решения х* = (а:*, х\, ..., х*п) е Х° задачи F.1) выполняется неравенство 2 ** < Л/. F.32) Несколько ниже будут высказаны определенные сообра- соображения о способах выбора числа М. . Нетрудно видеть, что при выполнении условия F.32) множества решений задач F.31) и F.1) теспо1 связаны. Действительно, если г*.еГ, то положив х*п+\ — = М — 2 x*i s=== 0,очевидно, получим решение (х*, x^+i) задачи F.31). Наоборот, всякому решению {х\,х\,.,. . . ., хп, хп+1) задачи F.31) соответствует решение х* — *=(х*иХ*2, ...,Хп) ДЛЯ F.1). Симплексная таблица ЗЭ в координатной форме для задачи F.1) отвечает некоторой приведенной системе уравнений вида xi — ajo — 2 o.ijXj, i e a, jew где x° = ( x°it x\, ...-,xl)t 0 _ (ai0, reCT, является опорным вектором системы уравнений Ах = fc с базисом {а\ is a). Ясно, что вектор (х°, х„+\), где ^n+i = М — 2 $> в этом случае является опорным для задачи F.31). Если обозначить вектор-столбцы симплексной табли- таблицы 93, соответствующей списку номеров а базисных пере- переменных задачи F.1), через $\ /^«, / = 0, то столбцами симплексной таблицы ЗЭМ, соответствующей списку но- 210
меров {о, п+ 1} базисных переменных задачи F.31), слу- служат векторы где 0 обозначает нулевой вектор в Rn+l. Для построения нового опорного вектора задачи F.31) поступим следующим образом: объявим переменную xn+i яебазисной. В таком случае, конечно, нужно какую-ни- какую-нибудь переменную xk из числа xh j <= м, объявить базисной. Выберем индекс А: <= со таким образом, чтобы для всех / <= м выполнялись неравенства т. е. чтобы вектор (Р ) был лексикографически мини- минимальным среди всех вектор-столбцов таблицы 9V. Так как опорный вектор х" не был строго допустим, то -(?)<(!)• Преобразовав таблицу 5ЭМ по формулам F.28) и F.29) (при /sco, / = 0), получим симплексную таблицу. 99М в координатной форме, соответствующую некоторому опор- опорному вектору хх — (х\,х\, ..., Zn+i) задачи F.31), в ко- котором х) = 0 для всех / ^ со, j Ф к, х\+1 = 0. Поскольку р„+ц=1 для всех /<^ш, то согласно фор- формулам F.28) и F.29) для столбцов $\ /^со, j^k, j = = 7i + l, симплексной таблицы SV будут выполнены ус- условия Is >- 0, "pJ>-0, Уем, уч*й. Отсюда следует, что вектор (а;1, 0) является строго допу- допустимым псевдопланом для задачи F.31). Применяя теперь двойственный симплекс-метод в ко- координатной форме, можно найти решение {х*, х*п+1) для F.31); при этом, как отмечалось, вектор- х* служит ре- решением задачи F.1). Обсудим вопрос о способах выбора числа М в F.31). Во многих задачах число М можно указать без труда. Так, допустим, что среди строк матрицы А имеется стро- 14* , 211
ка а,, все элементы которой положительны, а(] > 0, / = = 1,2 п. Это означает, что множество X планов задачи F.1) ограничено, и в качестве числа М можно взять число Аналогично, пусть вектор с=(си с2, ..., с„), опреде- определяющий целевую функцию задачи F.1), положителен, с" > 0. ): = 1. 2, ..., п. Предположим, что найдено ограни- ограничение 3, сверху для значения d этой задачи (например, найден план р двойственной задачи и S = (р, Ь». Тогда для любого решения х* задачи F.1) выполнено условие п . 2 CjXj ^ d. Следовательно, в качестве числа М можно 5=1 ^ взять М = щах —. Х Наконец, если число М непосредственно указать не удается, однако необходимо найти строго допустимый нсевдоплан задачи вида F.31) (например, Для решения лексикографической задачи, см. следующий параграф), то можно рассмотреть задачу max х' Ax = h, х^О п решить ее симплекс-методом. Значение этой задачи можно принять за М. § 6. Лексикографическая задача линейного программирова нпя В данном параграфе будем использовать обозначение с(х) = (х0, х„ х2, ..., хп), где х„ = <с, х>, х = (хи х2, ... • . ., Хп), С ^ \<^i, С2, . . ., Сп), Пусть X — множество планов задачи F.1), т. е. Сформулируем задачу следующим образом: найти такой вектор х* s X, что с(х*)Ус(х) F.34) для всех х е X, хФ х*. 212
Задача F.34) называется лексикографической. Ясно, что если х* — решение задачи F.34), то этот вектор является и решением задачи F.1), поскольку от- отношение с{х*) > с(х) означает, в частности, что <с, х*У ^ > <«, х>. Следовательно, задачу F.34) можно сформулировать и так: среди всех решений задачи F.1) найти лексикографически максимальное. Приведем простой пример, показывающий, какое именно решение задачи типа F.1) вы- выбирается в качестве решения задачи F.34). А именно, рассмотрим задачу max (Xi + х2) Х\ + х3 = 2, х2 + xt = 2, х, + х2 + Хг, — 3, х, > 0, j = \~o. Эта каноническая задача сводится к стандартной: max (xt + х2) X, 2 1 0 К\Л2) 1 an \ \i ? J X, PlIC. 6.1. х, 2, х2 ^ 2, 3, О, допустимое множество которой изображено на рис. 6.1. Множеством X" решений рассматриваемой задачи яв- является отрезок с концами в точках A, 2), B, 1), т. е. решение этой задачи — произвольная точка вида (ос+1, 2-а), где 0<а^1. Тогда множество решений исходной канонической за- задачи срстопт из векторов (а + 1, 2 — а, 1 — а, а, 0). Среди них лексикографически максимальным является вектор при а = 1, т. е. B, 1, 0, 1, 0). Следующий пример показывает, что задача F.34) не всегда имеет решение даже в тех случаях, когда задача F.1) разрешима: , max Cri — х2) х, — хг = 0, х,, Хо ^ 0. Здесь множество решений состоит пз всех векторов {х, х), хХ). В то же время, очевидно, соответствующая .213
лексикографическая задача не имеет решения — в множе- множестве X" = {(х, х), х>0) нет лексикографически макси- максимального вектора. Отметим некоторые свойства лексикографической за- задачи линейного программирования. Теорема 6.7. Если задача F.34) имеет решение, то оно единственно. Доказательство. Допустим, что х*, х — два раз- различных решения. Тогда должны выполняться оба нера- вепства х*'>-х, х^~х*, что невозможно по определению лексикографического порядка. Теорема 6.8. Если х* — решение аадачи F.34), то х* — крайняя точка многогранного множества X. Доказательство. Пусть х* = — х1 -f ~тг, где х\ ггеХ, причем ххФхгФх*. Предположим, что с{хх) >-_ >с{хг). Тогда с(х*) = ±с{х1) + ±с{х*)<±с(х1) + -\--^-с(х1) =с(х1), что противоречит определению х* как решения задачи F.34). Теорема 6.9. Задача F.34) имеет решение тогда и только тогда, когда множество X" решений задачи F.1) не пусто и ограничено. Доказательство. Пусть X" ограничено, тогда Х°—выпуклый многогранник. Из теорем 2.11 и 2.12 сле- следует, что каждая точка iel° представляется в виде выпуклой линейной комбинации множества х*, х1, ..., xh л л всех крайних в X" точек: х = ^]а{Х1, где 2 ai = 1» i i a»^0,i = l,2, ..., к. Из конечности числа к крайних точек в X" (теорема 2.17) следует, что среди них найдет- найдется точка х*, для которой с(х*) У- с(х'), х*Фх*, \^i^k. Покажем, что х* — решение задачи F.34). В самом дело, пусть х ^ X" — произвольная точка. Тогда с (х) = 2 аю (х') < 2 «ic (х*) = с (х*). i=l i=l Докажем утверждение в обратную сторону. Предпо- Предположим, что задача F.34) имеет решение х*, однако мно- множество X" неограничено. Тогда х° = мхй + кх\ где Кх° = [y\ye-Rn,Ay = Ъ, у^ 0, (с, у) = 0} 214
(см. § 4 гл. III). Из неограниченности Xй следует, что К ^=0. Пусть у = (Ух,ул, ..., уп)^ Кх° — произволь- произвольный ненулевой вектор, и / — минимальный номер, для которого У)>0 (т. е. г/<=10 при 0<i<7— 1). Тогда оче- очевидно, что вектор х = х* + у удовлетворяет условию х >- >-х*, так как х-г = х-% при 0 < i «? ; — 1 iij>i,'. Ясно также, что a! s X". Получили противоречие с определением вектора х*. Следующая теорема указывает способ решения лек- лексикографической задачи линейного программирования. Теорема 6.10. План х* задачи F.1) тогда и только тогда является решением лексикографической задачи F.34), когда х* — строго допустимый псевдоплан. Для доказательства этого важного факта потребуется Лемма 6.1. Пусть х — произвольный план задачи F.1), х" — ее строго допустимый псевдоплан. Тогда с(х)-<с(х0). Доказательство'. Нетрудно показать, что для произвольного псевдоплана х выполняется неравенство <с, ж°> > <с, х~>. Если <с, х0} > <с, х~>, то согласно опре- определению лексикографического порядка с(х°) У- с(х). Пусть <с, а;0> = <с, х>. Тогда вектор z = с(х") — 'с(х) принадле- принадлежит подпространству L, определенному системой уравне- уравнений F.17), F.18) (т. е. 42 = 0). Рассмотрим матрицу D — симплексную таблицу в ко- координатной форме (без первого столбца), соответствую- соответствующую псевдоилану х". Согласно формуле F.21), z = —Dzu, или с(х") — с(х) = — Dicix0) — с(х)\а. Заметим, что [с(х°) — с(х)]а = с{хо)ы — с(х)а = — хы (так как с(ж°)« = 0). Таким образом, с(х°) — с(х) = Dxa. Вектор Dxa представляет собой неотрицательную (так как х > 0) линейную комбинацию столбцов матрицы D; Поскольку псевдоплан х" строго допустим, то pJ >- 0, ] е а», откуда следует, что Dxa >- 0 (может случиться, что Оха = 0, если ха — 0). Отсюда получаем, что с(х") У с{х) при , х Ф х\ Доказательство теоремы 6.10. Если х* — строго^ допустимый псевдоплан, являющийся также пла- планом задачи F.1) (т. е. х*^0), то, по только что доказан- 215
иой лемме, х* — решение лекспкографипескои зада- задачи F.34). Наоборот, пусть х* — решение лексикографической за- задачи F.34). В таком случае по теореме 6.9 множество X" решений задачи F.1) ограничено. Сопоставим задаче F.1) задачу F.31), считая, что выполнено условие F.32) для всех х е X". Согласно теореме 6.8, х* — крайняя точка множества Xй, т. е. х* 'является опорным вектором. По- Поскольку х* является и решением задачи F.1), то по тео- теореме 6.1 х*—псевдоплан. Предположим, что псевдоплан х* не является строго допустимым. Вектор {х*, x*n+i), где x*n+i ~М— 2 ^.м обладает следующими свойствами: так как он неотрицателен, то служит планом задачи F.31); поскольку х* — псевдоплан для F.1), то (х*, Xn+i)—псевдоплан для задачи F.31); кроме того", (х*, хп+\) вместе с х* не является строго допустим'ым псевдопланом. Применим к (х*, xn+i) процедуру, описанную в пре- предыдущем параграфе, и получим некоторый строго допу- допустимый псевдоплан (я, fn+f) задачи F.31). Приняв этот псевдоплан за начальный, решим задачу F.31) двойст- двойственным симплекс-методом в координатной форме, исполь- используя правило 2*'. В результате, как следует пз теоремы 6.5, мы получим план (х, xn+i) задачи F.31), являющийся к тому же и строго допустимым псевдопланом. Тогда из леммы 6.1 получаем U, хп+,)>(а:*, хп+1), откуда х^=х*. По предположению, выполняется также неравенство х* ^= х, откуда х* = х. Но тогда xn+i = М — 2 xj = M — 2 х* = х*п+\. jea jea Таким образом, векторы (х*, хп+\) и (х, хп+\) совпа- совпадают. Это противоречит тому, что один из них — строго допустимый, а другой — нет. Следствие. Если у задачи F.1) существует строго допустимый псевдоплан, то множество Х° ее решений ограничено. В самом деле, если х° — строго допустимый псевдо- псевдоплан, то применив двойственный симплекс-метод в координатной форме и взяв х° п качестве начального псевдоплана, мы получим, согласно теоремам 6.5 и 6.10, решение лексикографической задачи F.34). Теперь из теоремы 6.9 вытекает ограниченность множества X". 216
Г Л А В А VII. СПЕЦИАЛЬНЫЕ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ В гл. V был описан метод решения задач линейного программирования общего вида. Несмотря на то что симплекс-метод решения задач линейного программиро- программирования является конечным, тем не менее число его ите- итераций может быть весьма большим. Вместе с тем многие классы широко распространенных на практике задач ли- линейного программирования обладают особенностями,' вы- выражающимися в специфическом строении матрицы А ко- коэффициентов системы ограничений, которые позволяют существенно упростить общий метод решения примени- применительно к данной задаче. При этом ускоряется процесс получения оптимального плана. В других случаях удает- удается построить принципиально новый метод решения, при- приспособленный к определенному классу задач. Одним из примеров задачи со специальной структурой матрицы ограничений является, например, транспортная задача, ужа знакомая читателю (см. гл. I). С другой стороны, часто встречаются задачи приклад- прикладного характера, математическая фомулировка которых приводит к задаче линейного программирования с неко- некоторыми дополнительными ограничениями. Например, ча- часто требуется, чтобы значения всех переменных были це- целочисленными. Несмотря на то что это требование никак не укладывается в рамки основных понятий линейного программирования, оказывается, что иногда методы ли- линейного программирования существенно облегчают ре- шепие и таких задач. § 1. Транспортная задача и транспортные сети Математическая модель транспортной задачи имеет следующий вид (см. A.5), A.6)): т п У, сих1), 217
G.1) ц >0, i = 1, 2, ..., m; /=1,2,..., n. Как отмечалось в гл. I, для допустимости задачи G.1) необходимо и достаточно, чтобы выполнялось условие п m 2 Ь; = # = 2 <*Ь т. е. спрос на перевозимый продукт" должен совпадать с его предложением. Ясно также, что если задача G.1) допустима, то она имеет решение. Это вытекает из огра- ограниченности множества X допустимых планов. В самом деле, очевидно, что для любых индексов i, j выполняется неравенство О *S xt} *Z min (a,-, bj). Если расположить пере- переменные Xij следующим образом: то матрица ограничений транспортной задачи примет вид п п п 1 1 ... i 6 0 ...0". . . О 0 ... О' О 0 ...0 1 1 ... 1 ...О О ...О А = 0 1 0 0 0 1 ...0 ...0 ...0 0 1 0 0 0 1 ...0 ... ... 0... ... 0 ... 1 1 0 1 0 1 ... 1 ...0 ...с О 0 ... 1 0 0 ... 1 ...0 0 ... 1 Нетрудно видеть, что ранг матрицы А равен т + п — 1. Действительно, всего в матрице т + п строк, и все эти строки линейно зависимы. Чтобы в этом убедиться, до- достаточно сложить первые т строк и вычесть сумму по- последних п; при этом получится нулевой вектор. С другой стороны, нетрудно заметить, что любые т + п — 1 .строк матрицы А линейно независимы. Многие свойства планов транспортной задачи носят чисто комбинаторный характер. Данный параграф посвя-* щен формулировке и изучению этих абстрактных свойств. Определение 7.1. Пусть заданы конечное множе- множество Р — {Ри Рг, ..., Р,} точек (пунктов) Р{ и множество 0~ неупорядоченных пар (Р<, РД каждый элемент (пара) которого навидается дугой. Совокупность (Р, &~) назовем транспортной сетью и будем говорить, что дуга (Р(, Р,) 218
соединяет пупкты Р, а Р,. Сами эти пупкты назовем кон- концами дуги (Р(, Р,). Нжвание «транспортная сеть» является данью интер- интерпретации в связи с транспортной задачей. Обычно подоб- подобные объекты называют неориентированными графами. На рис* 7.1 представлены: мпожество Р, состоящее нз семи точек, и множество 3~', содержащее шесть дуг (Р., Р.), (Рк Р.), (Р„ Р.), (Р„ Ре), (Р., Р,), (Р., Р.). Определение 7.2. Произвольную конечную после- последовательность вида Pi,/\Pij • • • P<fti где Pire Р, г = О, 1, ...,к, назовем маршрутом, если всякая пара (Рц». P»r+1)i г = 0, 1, .. . ,fc — 1, является дугой (т. е. (J\, Pir+1) s ^~) и встречается в последовательности не более одного раза. Другими словами, маршрут — это пепре- Р, Р2 рз ^ рывная ломаная, составленная из дуг множества Ф~, причем все ду- дуги маршрута различны. Так, для транспортной сети из р,ч рв р? рис. 7.1 маршрутами являются, рпс 7.1. например, последовательности PiPbPzPtPi, P7P.P.Pa. Определение -7.3. Маршрут вида Р*0^Ч ^ч ¦ *' ... PihP^называется циклом. Иначе говоря, цикл — это маршрут, по которому можпо вернуться в исходный пункт. Для пояснения скажем, что на рис. 7.1 циклов нет, но добавление дуги (Р4, Р-,) привело бы к возникнове- возникновению цикла PiP1PiP&P,. Определение 7.4. Транспортная сеть (Р, ST) на- называется связной, если любые два ее пункта можно сое- соединить маршрутом. Понятия цикла а связной транспортной сети явля- являются основными при построении специальных методов решения транспортной задачи. Лемма 7.1. Если из каждого пункта Р, выходит us менее двух дуг, то транспортная сеть содержит цикл. Доказательство. Рассмотрим маршрут макси- максимальной длины, не содержащий цикла: P*0^>i.i^'ia • • • . • • Pife-i^V По предположению, из пункта Pis помимо дуги (Р^_х, Pifc) выходит по крайней мере еще одна 219
дуга (Pih, •Pi,)- Вместе с тем, данный маршрут максима- максимален, т. е. добавление дуги (Ргк, Pir) к нему невозможно. Это означает, что вершина Pir уже встречалась в мар- маршруте: pioph ...Pi,:.. /\_л- Тогда маршрут PiT .. . Pih_lPik Pir является циклом. Лемма 7.2. Если транспортная сеть (Р, 3~) связна и из каждого пункта Р, выходят ровно две дуги, то эта транспортная сеть является циклом. Доказательство. По предыдущей лемме тран- транспортная сеть (Р, 9~) содержит цикл Pr^i^Px^ ¦ ¦ • PihPi0- Поскольку из каждого пункта Ptr, г = 0, 1, ..., к, вы- выходят только две дуги, то любой маршрут, выходящий из пункта Pir, участвующего в цикле, оканчивается так- также в одном из пунктов цикла. Если допустить, что в данном цикле участвуют не вс"е пункты, т. е. найдется пункт Р{^Р такой, что Р%фРхг, г = 0, 1, ..., к, то ока- окажется, что, например, пункт Pi0 нельзя соединить мар- маршрутом с Ри что противоречит связности транспортной сети (Р, Т). Лемма 7.3. Если пункт Р\о связан маршрутом с пунктом Pir, a Pir—c пунктом Pjo, io^=]Q, то Р^о и Pj0 также можно связать маршрутом. Доказательство. Допустим, что последователь- последовательности являются маршрутами. Существует минимальный номер t такой, что пункт P\t участвует в маршруте B). Найдем такой минимальный номер s, что ;„ = г',. Рассмотрим от- отрезки маршрутов A) и B): ^VW . . Piv Р^Р^Р^- ¦ ¦ ... Pjs-yPi,- Согласно выбору t и s, Pi(=Pjs, а все остальные промежуточные пункты в этих маршрутах различны. Тогда последовательность РцР^ • ¦ •Рг1 Pjs^l ••• ... P^Pjq является искомым маршрутом. Иллюстрацией к доказательству данной леммы служит рис. 7.2. Лемма 7.4. Если транспортная сеть не содерзкит циклов, то любой маршрут однозначно определяется за- заданием конечных пунктов. 220
Доказательство. Допустим, что утверждение леммы неверно п имеются два разных маршрута PiaPh . . . Ргг^Ргг, Pi0Ph ¦ • • PiqPir. ПуСТЬ * - ТЗКОЙ индекс, что P{s = Pjs при К( и Р4+1^P'n+i^ — такой индекс, что Р%^Ф Pjs при t<s<h и Pih = Pjh. Поскольку концы обоих маршрутов совпадают, то требуемые ин- индексы найдутся. Тогда последо- последовательность PltPil+1 ¦ ¦ ¦ PifPjb-! ... Рц является маршру- h том, так как пара (Pjft, P;-h_,)= p, о..^ = (Pjh, Pjh_,) является дугой. /" Поскольку при этом Pi, ='Pjt< Рис.'(.2. то данный маршрут является циклом, что противоречит лемме. Иллюстрацией к доказательству леммы 7.4 служит рис. 7.3. Лемма 7.5. Пусть I — число элементов (пунктов) в множестве Р. Если множество W содержит менее 1—1 дуг, то транспортная сеть (Р, @~) несвязна. Рпс. 7.3. Доказательство. Воспользуемся полной матема- математической индукцией. Если I = 2, а число дуг в Т меньше I — 1 (т. е. в ST нет дуг), то утверждение леммы выпол- выполняется. Пусть утверждение уже доказано для транспортных сетей с числом пунктов I. Рассмотрим сеть, задаваемую множествами Р = {Ро, Р„ Р2, . .., Р/) и 0~, в котором число дуг меньше I. В транспортной сети (Р, W) найдет: ся пункт, из которого выходит единственная дуга. Дей- Действительно, если это не так, то число дуг должно быть не меньше числа I + 1 пунктов. Пусть Р„ соединен дугой только с Pi. Рассмотрим сеть (Р, ?Г), Р = {Р1у ¦.'.., Р,} и ^" = ?Г.\(Р0, Pi). Пара (Р, ?Г) удовлетворяет предполо- предположению индукции; найдутся дне точки Р; и Ри i Ф О, / Ф 0, которые нельзя соединить маршрутом. Ясно, что 111
эти точки нельзя соединить маршрутом и в транспортной сети (Р, Т). Заметим, что транспортная сеть, содержащая ровно 1—1 дуг, может быть связной, как показывает рис. 7.1. Лемма 7.6. Если транспортная сеть (Р, &~) связна и не содержит циклов, то множество ?Г состоит ровно из 1—1 дуг, где I — число пунктов в множестве Р. Доказательство. Вновь обратимся к математи- математической индукции. При I = 2 утверждение леммы триви- тривиально. Допустим, что для транспортных сетей с числом пунктов I оно также доказано, и рассмотрим сеть, для которой Р = {Ро, Pi, ..., Р,}. Поскольку транспортная сеть (Р, &~) не содержит циклов, то согласно лемме 7.1, най- найдется пункт (пусть это будет Ро), из которого выходит ров- ровно одна дуга (Ро, Pi) (одна дуга обязательно есть, так как сеть связна). Подобно тому, как мы это делали в предыду- предыдущей лемме, рассмотрим транспортную сеть {Р, ?7"), где Р = = {Р„ ..., Р,} и ^ = :Г\(Р„, Р,). Ясно, что пара (Р, Т) удовлетворяет условиям леммы, поскольку им удовлетво- удовлетворяет транспортная сеть (Р, 3~). По предположению ин- индукции, в 5Г содержится ровно I — 1 дуг. Следовательно, в &~ содержится I дуг — на единицу меньше, чем число пунктов в множестве Р. Из лемм 7.5 и 7.6 вытекает следующее Следствие. Если транспортная сеть (Р, Т) свялна и множество W состоит из I дуг, где I т- число пунктов в Р, то сеть (Р, ?Г) содержит ровно один цикл. В самом деле, из леммы 7.6 следует, что транспорт- транспортная сеть (Р, SH должна содержать циклы. Предположим, что в ней имеется два цикла. Очевидно, что выбрасывание из цикла одной произвольной дуги не может нарушить "связности транспортной сети. Следовательно, удалив в каждом нз двух циклов по одной дуге так, чтобы эти дуги были различны, получим связную транспортную сеть, в которой число дуг равно 1 — 2, что противоречит лемме 7.5. § 2. Нахождение начального опорного плана транспортной задачи методом «северо-западного угла» Как отмечалось в § 1, ранг матрицы ограничений транспортной задачи равен тп + п— 1. Из определения опорного плана и теоремы 5.3 вытекает, что существует 222
ТАБЛИЦА 7.1 оптимальный план, содержащий не более чем т + п— 1 положительных перевозок xtl. Разумеется, что поиск этого оптимального плана можно осуществлять с помощью симплекс-метода.. Однако весьма специфический харак- характер матрицы А позволяет предложить для транспортной задачи иной метод решения, значительно снижающий ко- количество вычислений. Поиск начального опорного плана (метод «северо-западного угла»). Можно сразу указать один из допустимых планов пе- перевозки, положив хц = aibj/D,- i — 1, 2, ..., т; / = 1, 2, ..., п. Однако этот план не является опорным. Началь- Начальный опорный план Uij} можно построить с помощью сле- следующей простой процедуры. Рассмотрим таблицу 7.1. Здесь каждая пустая клетка соответству- соответствует одной из переменных хц, i = 1, 2, ..., т; 7 = 1,2,..., п. В ходе при- применения метода «северо-западного угла» пустые клетки будут запол- заполняться значениями х\-}. В послед- последнем столбце табл. 7.1 стоят числа а{, i = 1, 2, ..., т, обозначающие ко- количество товара в каждом из пунк- пунктов хранения. В последней строке — числа, обозначающие потребность в данном товаре в каж- каждом из пунктов назначения. Отметим очевидные свойства данной таблицы: 1) сумма элементов в заполненных клетках ?-й строки равна а<; 2) сумма элементов в заполненных клетках /-го столб- столбца равна bj-, 3) сумма элементов последнего столбца равна сумме элементов последней строки. Клетка в «северо-западном» углу таблицы соответст- соответствует переменной хи. Положим x\i = min {ах, Ь^). Если ^11= &\ (т. е. ui < 6,), то это означает, что весь запас товара из первого пункта хранения направляется в пер- первый пункт потребления. Следовательно, нужно положить х\] — 0 при У = 2, ..., п. Таким образом, определены зна- значения некоторых из переменных хц. Отразим это в таб- таблице 7.2. д2 ... in аг \ От ш Zii
ТАБЛИЦА 7.2 ТАБЛИЦА 7.3 а, bf-ot 0 bi ... 0 0 \ От И 0 • 0 0 • •. л* щ-Ь, о г Ш Здесь изменены также элементы последного столбца н последней строки таблицы в соответствии с «произведен- «произведенной» перевозкой xi/, теперь запас продукта в первом пунк- пункте хранения равен 0, а дополнительная потребность в перевозимом продукте в первом пункте потребления рав- равна bi — fli. В случае, когда a?i=^i (т. е. 6, ^ а,), первый пункт потребления получил требуемое количество товара, и по- поэтому з?! = 0 при i = 2, ..., т (см. табл. 7.3). Отметим, что свойства 1)—3) табл. 7.1 выполняются и для табл. 7.2 и 7.3. ТАБЛИЦА 7.4 Т А Б Л II Ц А 7.5 "г 0 0 bz 0 0 — ь3 ... ... 0 0 0 0 «I * ш "г Ь,-а, 0 ш 0 0 0 h 0 63 0 0 аг-дгщ Ъ • После выполнения первого этапа в любом из двух возможных случаев получаем прямоугольную подматрицу незаполненных клеток, к которой применяем тот же при- прием. На втором этапе появляется одна из табл. ТА—1.1. Очевидно, что подобный процесс сохраняет свойства 1)—3) на каждом шаге. При этом величины хц получают- получаются неотрицательными; в конце концов окажется запол- заполненной вся таблица. По окопчашш последняя строка и Ж
последний столбец окажутся нулевыми. Этим доказыва- доказывается, что полученный набор чисел Uij), ? = 1, 2, ..., т, / = 1, 2, ..., п, является планом перевозок. ТАБЛИЦА 7.0 ТАБЛИЦА 7.7 0 0 ; 0 0 0 ... ¦ - ¦ 0 0 % ; Ш 0 0 ; 0 0 bl 0 0 J 0 0 ... bn a,-u,-b2 a2 * Проиллюстрируем этот метод на числовом примере. С целью экономии места мы не будем переписывать всю таблицу, а будем лишь приписывать новый последний столбец и новую последнюю строку. Пусть а( = 6, а2 = 8, а3 = 3, а4 = 9, а5 = 14; Ь, = 10, Ь2 === 18, Ь3 = 7, bt = 5. Как 5 4 и должно быть, 2 ai = 40 = 2 bj. Результаты вычисле- i=l j=l пий представлены таблицей 7.8. 'Г А Б Л И Ц А 7.8 6 4 0 0 0 10 4 0 0 0 .0 0 0 0 0 4 3 9 2 18 18 18 14 И 2 0 0 0 0 0 0 0 7 7 7 7 7 7 7 7 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 0 6 8 3 9 14 0 8 3 9 14 0 4 3 9 14 0 0 3 9 14 0 0 0 9 14 0 0 0 0 14 0 0 0 0 12 0 0 0 0 5 0 0 0 0 0 Выяснение вопроса, является ли план U?j}, построен- построенный по методу «северо-западного угла», опорным, оста- оставим до следующего параграфа. 15 с. А. Ашманов 225
§ 3. Опорные планы транспортной задачи и вырожденность Установим взаимосвязь между планами задачи линей- линейного программирования G.1) и транспортными сетями, введенными в § 1. Пусть {хц\, i = 1, 2, ..., т, j = 1,' 2, ..., га,— план задачи G.1). Сопоставим этому плану транспортную сеть, определяемую парой (Р, ST), где P = SUQ, S — множе- множество всех пупктов <S( хранения (производства) перевози- перевозимого продукта, i = 1, 2, ..., т; Q — множество всех пунк- пунктов Qj потребления этого продукта, у = 1, 2, ..., га;'а 9~ задается следующим образом. Дуга (Si, Qj) принадлежит &~ в том и только том случае, когда хц > 0. Поскольку естественно считать, что все'числа at, i = 1, 2, ..., m, и ij, / = 1, 2, ;.., п, описывающие запасы и потребность в пунктах St и Qj соответственно, положительны, то из ог- ограничении транспортной задачи вытекает, что в тран- транспортной сети, сопоставленной любому плану lxtj\, ил всякого пункта выходит по крайней мере одна дуга: из всякого пункта хранения осуществляется хотя бы од- одна перевозка и наоборот, во всякий пункт потребления обязательно поступает товар. Специфика транспортной сети, построенной таким об- образом, заключается в том, что множество 3~ не содержит дуг вида (St, Sj), (Qi, Qj). Отсюда нетрудно получить сле- следующее важное для дальнейшего утверждение: всякий цикл в транспортной сети E U Q, &~) содержит четное число дуг. Условимся обозначать через а'1 столбец матрицы А, соответствующей переменной х(}. Тогда СП R m+n (m+j) ?26 0)
Эдесь в скобках указан помер координаты, значение ко- которой равно 1. Обозначим' через А(х) систему вектор-столбцов мат- матрицы А, соответствующих положительным координатам илана х = {хц), г = 1, 2, ..., т; / — 1, 2 "*«. Легко усмотреть соответствие между А(х) и транспорт- транспортной сетью, сопоставленной плапу х, а именно aij&A(x) тогда и только тогда, корда дуга (Su Qt) принадлежит транспортной сети. Настало время примепить сведения, полученные в § 1 о транспортных сетях, к планам задачи G.1). Теорема 7.1. План {хи\ транспортной аадачи G.1) является опорным в том и только том случае, когда со- соответствующая транспортная сеть не содержит циклов. Доказательство. Как следует из определения 5.1, план x = {xtj) является опорным, если только система векторов А(х) линейно независима. Следовательно, для доказательства теоремы нужно, в частности, показать, что если транспортная сеть, соответствующая плану х, содержит цикл то система-векторов А(х) линейно зависима. В самом деле, из определения 7.3 цикла вытекает, что векторы а'1'1, а'2'1, а'2'2,. ... а1*'*, а'1 ""принадлежат мног жеству А(х). Вместе с тем, используя структуру столбцов матрицы А, нетрудно заметить, что дЬ'1 _-aVi + a'2'2 - ... + alhJk — ahih ~ 0. Таким образом, векторы а'1, определяющие данный цикл, линейно зависимы. Следовательно, и вся система векто- векторов А(х), содержащая линейно зависимую подсистему, сама линейно зависима. Докажем утверждение теоремы в обратную сторону. Пусть система векторов А(х) линейно зависима, т. е. существуют такие числа р„-, что SPi/=J>. G.2) где суммирование производится по всем таким парам И, у), что а"^А(х). При этом по определению линейной зависимости не все f}« = 0. Рассмотрим транспортную сеть 15* 227
(S U Q, &~), соответствующую плану x, п транспортную сеть E U Q, 3~), определяемую следующим образом: дуга (S,, Qj) принадлежит 0~ тогда и только тогда, когда (S,, Qj) е у п p(j ?• 0. Следовательно, Ъ~ ^ Т. Из вида столбцов матрицы А вытекает, что если р!;- Ф 0, то обя- обязательно найдется столбец а'р^А{х), рФ], для которого Р(Р =И= 0; в противном случае i-я координата вектора 2 Po"ij равнялась бы {$(]- ^ 0. Это означает, что в &~ най- найдется дуга вида E,-, Qp), где рФ}. Тем самым доказано, что из каждого пункта 5, вы- выходит не менее двух дуг. Рассмотрение последних п ко- координат столбцов матрицы А позволяет доказать анало- аналогичное утверждение для пунктов Qj. Из леммы 7.1 теперь вытекает, что транспортная сеть E U Q, Э~) содержит цикл. Этот же цикл принадлежит и сети E U Q, 3~). Теорема 7.2. План х° = \х°ц}, построенный по ме- методу «северд-западного угла», является опорным. Доказательство. Согласно теореме 7.1 достаточ- достаточно показать, что транспортная сеть, соответствующая пла- плану х°, не содержит циклов. Допустим, что эта транспорт- транспортная сеть содержит цикл вида Можно считать, что число i, минимально среди всех в данном цикле, т. е. ii < I,, r = 2,'3, ..., к, иначе мы рассмотрели бы цикл v Наличие в транспортной сети, соответствующей плану х°, пар (Sij, Cjj), (S^, Qjh) говорит о том, что потреб- потребность в товаре одного из пунктов Qjv Qjh полностью удовлетворена — это вытекает из способа построения пла- плана х°. Но в таком случае присутствие в сети одной из пар (<Sj2, <?jj), (?ift, Qjh) невозможно, поскольку распреде- распределение перевозок из пунктов Si±2 и Sift производится в методе «северо-западного угла» после того, как исчерпа- исчерпаны запасы в Siv Теорема доказана. Заметим, что план х° не обязан быть невырожденным, так как может4 случиться, что он имеет меньше чем т + га — 1 положительных компонент. Например, если at = bt, т. е. запасы в пупкте St равны потребности в 228
продукте в пункте Q,, то согласно методу «северо-запад- «северо-западного угла» Хи •¦= а1 и х°г1=0, хотя пункт Qi формально ос- остается в качестве потребителя и вектор а21 включается поэтому в базис плана х°. Напомним, что задача линейного программирования называется вырожденной, если у нее существует хотя бы один вырожденный опорный план. Оказывается, что для транспортной задачи выяспить, является ли она вырож- вырожденной, достаточно просто. Теорема 7.3. Транспортная задача G.1) является вырожденной тогда и только тогда, когда суммарный за- запас товара в нескольких Ые всех) пунктах храпения ра- равен суммарной потребности нескольких Ые всех) пунктов потребления, т. е. существуют собственные подмноже- подмножества G<=M = {1, 2, ..., m), H<=N = {1, 2 п\, для которых 2 <Ч = 2 b}. G.3) iec jeH Доказательство. Поскольку имеет место равеп- m n ство Sat = 2 ^j, то вместе с G.3) выполняется равен- i=i j=i ство 2 *<= 2 Ь.}. G.4) ieM\c jeN\H Рассмотрим транспортную задачу, в которой в каче- качестве поставщиков выступают только пункты Su i s G, а в качестве потребителей — пункты Qh ) е Н. Пусть число элементов в G равно s, а в Н равно t. Тогда, поль- пользуясь методом «северо-западного угла», можно построить опорный план такой задачи, содержащий не более s + + t — l положительных компонент. Аналогично, рассмат- рассматривая транспортную задачу для второй группы постав- поставщиков и потребителей, построим опорный план, вклю- включающей не более (m — s) + {n — t) — 1 перевозок. Сово- Совокупность всех введенных перевозок образует опорный план исходной транспортной задачи F.1), содержащий не более (m — s) + (n — t) — i + s + t — 1 перевозок. Сле- Следовательно, если равенство G.3) имеет место, то задача- G.1) вырождена — существует план, имеющий не более т + п — 2 положительных компонент, в то время как ранг матрицы ограничений равен т + п— 1. Докажем теорему в обратную сторону. Если у задачи G.1) существует вырожденный опорный план х, то число 229
его положительных компонент меньше т 4- п — 1. В таком случае соответствующая ему транспортная сеть несвязна (согласно лемме 7.5). Найдутся два пункта, например Si0 и (?,0, которые нельзя связать маршрутом. Обозначим через Н множество номеров всех пунктов Qh которые межно связать маршрутом с Si0- Отметим, что множество // непусто, так как пункт SiQ связап дугой хотя бы с одним из пунктов Qj. С другой стороны, И ?=N, так как _ Рис. 7.4. /о & II. Обозначим через G множество номеров всех пунк- пунктов St, каждый из которых можпо связать маршрутом хотя бы с одним из пунктов с помором из множества //. Множество G непусто, поскольку ?0 е G. Вместе с том G Ф М. В самом деле, если G = У1/, то G содержит пе- который элемент i такой, что St связан с QjQ. Но тогда согласно лемме 7.3 существует маршрут, связывающий Q;o и S\Q, что противоречит выбору QjQ. Очевидно, что ни один пункт Si, i e G, не может быть соединен маршру- маршрутом пи с одппм пунктом Qn i e N\I1, и ни одип пункт Qj, /e [[t не может быть соединен маршрутом ни с одним пунктом St, i e M\G. Другими словами, дуг типа тех, что изображены на рис. 7.4 штриховыми линиями, существовать не может — это противоречило бы определению множеств G и //. Ска- Сказанное означает, что если ieG и xtJ > 0, то /ей. Ана- Аналогично, если / е // и т,ц > 0, то i e G. С учетом этого из системы ограничений задачи G.1) вытекает, что 2 xfj = a.i V' s c- leu откуда V . _ V V j Z< 230
§ 4. Метод потенциалов решения транспортной задачи Метод решения транспортной задачи, который изла- излагается в данном параграфе, является упрощенным Baptv антом модифицированного симплекс-метода (см. § 6 гл. V). Будем рассматривать невырожденную транспортную задачу. Обозначим двойственные переменные (оценки), соответствующие первой группе ограничений задачи G.1), через —и,, — и2, ..., —^.соответствующие второй группе ограничений — ч"ерез vu v2, ..., vn. Поскольку транспорт- транспортная задача является канонической задачей линейного про- программирования, то на двойственные переменные не на- накладывается условие неотрицательности. Поэтому знак минус перед щ никакой информации не несет и служит лишь для удобства изложения. Построим задачу, двойственную к G.1): / П т \ max 2 Vjbj ~ 2 «гЯ{ ,_ _. \j=i i-i I ('-5) Vj — Ui^.Cij, i = 1, 2,. .., m, j = 1, 2,. .., n. Из теории двойственности следует, что плап {х^}, i ==• = 1, 2, ..., т, / = 1, 2, ..., п, задачи G.1) является опти- оптимальным, еслп существует план (ии Vj), i = l, 2, ..., т, j = 1, 2, ..., п, задачи G.5), удовлетворяющий следующе- следующему условию: равенство Vj— ut = ctl выполняется всякий раз, как только xti > 0. Применим для решения задачи G.1) модифицирован- модифицированный симплекс-метод. Пусть х° = (я?.;] — начальный опорный план. Уравне- Уравнение А'р" = с°, вытекающее из E.41), с учетом строения матрицы А транспортной задачи G.1) примет вид 17?-1*4 = Су, ^ G.6) где пара (г, /) пробегает все множество индексов базис- базисных столбцов а'1 начального опорного плана х°. В отличие от общего случая, выражаемого формулой E.41), система уравнений G.6) очень проста, и ее реше- решение находится немедленно, Поскольку, как отмечалось, одно и-з уравнений в системе ограничений транспортной задачи — лишнее, то можно положить к? = 0. Если в си- системе (.7.6) уравнений имеется уравнение u°ju—u\~c1](t, 231
то отсюда определяется величина v)Q= c^0. Для вычисле- вычисления другой переменной, например uj0, достаточно постро- построить маршрут Такой маршрут существует в силу того, что транспорт- транспортная сеть, соответствующая опорному плану х°, связна (так как задача предполагается невырожденной). Нали- Наличие данного маршрута означает, что среди уравнений G.6) присутствуют уравнения Поскольку значение v]0 известно, то из этой системы уравнений можно последовательно определить значения <> v\ «?„. Тем самым существенно упрощается выполнение эта- этапов 1 и 3 в процедуре модифицированного симплекс-ме- симплекс-метода — нет нужды проводить вычисления по формулам E.27) —E.29). Формула E.42) также принимает более простой вид: G.8) Поскольку в транспортной задаче требуется миними- минимизировать целевую функцию, то признак оптимальности здесь таков: еслиД?;^0, у?, /, то план (.г?,) оптимален; если же Д?0,0>0,то план [xl]} не является оптимальным. Особенностью транспортной задачи является то, что в данном случае при поиске нового опорного плана этапы 2 и 3 модифицированного симплекс-метода можно опу- опустить, заменив их более экономными вычислениями. Рассмотрим вектор а'0 °. Согласно правилам симплекс- метода его следует вводить в базис. Иначе говоря, мы решили осуществить перевозку из пункта SiQ в пункт Qj0, т. е. ввести дугу (?i0, QjQ), которой раньше не было. Поскольку система векторов А(х°) U аг°'° линейно за- зависима, то транспортная сеть, полученная присоединени- 232
ем к транспортной сети, соответствующей плану х°, дуги Ej0, (?j0), согласно теореме 7.1 содержит циклы. Так как ранее она не обладала таким свойством, то, как ут- утверждает следствие из лемм 7.5 и 7.6, такой цикл един- единствен. Очевидно, что этот цикл содержит дугу вида Ei0, Qj0), т. е. имеет вид Данному циклу соответствует -последовательность пере- переменных ^Vo' ^Vo' ^«lJi''' " Xihh' ^'o'V . G-Ю) Положим <712) a;lj = .rtj для остальных пар (i, /) индексов. Смысл преобразования G.11), G.12) ясен: поскольку мы.хотим в новый план включить перевозку из S.iQ в QjQ объемом Э, то для того, чтобы общий объем продукта, доставленного в ().;,,> остался неизменным (равным Ь;о), следует уменьшить на ату же величину объем перевозки из пункта -Sjj в QJq. Но при этом придется увеличить на Э объем перевозки из S^ в пункт Qjl с тем, чтобы не изменить общее количество продукта, вывозимого из Siy Уменьшение перевозки из пункта <Si0 по последнему звену Ei0, Qjft) маршрута G.9) оказывается компенси- компенсированным перевозкой по дуге (<Si(), ()j0) (вспомним, что каждый цикл нашей транспортной сети содержит четное число дуг). Остается позаботиться лишь о том, чтобы вектор {я};], определяемый по формулам G.11), G.12), оказался опор- опорным планом. Для этого, во-первых, необходимо, чтобы величина х\; была неотрицательна для всех i, }. Добиться 233
этого можно, положив е = mill xtr+lh, G.13) где считается ik+i = i^. Покажем, что план \x\-\, построенный с учетом выбо- выбора б по формуле G.13), является опорным. Если допу- допустить, что система векторов А(х*) лпнейно зависима, то это означает согласпо теореме ЧЛ, что транспортная есть, соответствующая плану х\ содержит цпкл вида G.9). Однако такой цикл — единственный, так как в G.9) все дуги, кроме первой, принадлежат транспортной сети, соответствующей опорному плану х* п поэтому содержа- содержащей единственный маршрут, соединяющий пункты Qj Поскольку цикл такого вида единствен, то удаление любой из дуг (Sir+l, Qjry дает транспортную сеть без циклов. Согласно G.12) и G.13) хотя бы одна из пере- переменных х\г+1;т равна нулю, и поэтому соответствующая дуга отсутствует в транспортной сетн, соответствующей плану [x\j\, что и доказывает нужное утверждение. Осталось проверить, что при переходе к новому опор- опорному плану хл = [x\j] значение линейной формы (с, х) уменьшилось. Для этого заметим, что векторы a'1'0, a lJl,-.., л k'h, а о'л являются базисными для плана х" и, следовательно, для соответствующих двойственных переменных выполняются равенства G.7). Отметим одно свойство равенств G.7): если взять альтернативную сум- сумму всех уравнений, в которой первым ставится знак ми- минус, to левая часть суммы будет равна и?0 — у?0, правую часть условно обозначим 2(±съ)- Рассмотрим теперь уравнения G.12). Каждому из них соответствует та же пнра индексов (г, /), что и уравнению с тем же номером в G.7). Умножая равенства G.11) на соответствующий коэффициент Сц линейной формы и складывая, можно по- получить равенство вида где справа оказывается точно такая же альтернатив- альтернативная сумма, как и полученная из G.7). Заметив, что гЦ — XiQ;0 = 0 и x\j - хпц = 0 для всех индексов, не 234
участвующих в G.12), получаем ,- (*Ь - 4) = Q<i0Jo + е« - Уу = е (- дь) < о. Здесь мы пользуемся предположением о невырожденно- невырожденности плана х°, считая, что G > 0. Всеми предыдущими рассуждениями атого параграфа обоснована следующая последовательность этапов метода потенциалов решения транспортной задачи. Имея начальный опорный план х°, осуществляем: Этап 1. По формуле G.6) находим значения и\, и°, i = l, 2, ..., т, 7 = 1, 2, ..., п, двойственных переменных. Этап 2. По формуле G.8) вычисляем значения А?,;, г = 1, 2, ..., т, / = 1, 2, ..., п. Если все A?j неположи- неположительны, то план х° оптимален. Если Д°070 > 0, то перехо- переходим к следующему этапу. Этап 3. Находим цикл вида G.9) п по формулам G.11)—G.13) вычисляем новый опорный план х\ Этап 4. Припяв xi за начальный опорный план, воз- возвращаемся к .этапу 1 и начинаем новую итерацию. Важной составной частью метода потенциалов реше- решения транспортной задачи, как ясно из его описания, яв- является отыскание па транспортной сети маршрута, соеди- соединяющего два заданных пункта. Эта операция присут- присутствует в этапах 1 и 3 метода и заменяет все вычисле- -пия обычной симплекс-процедуры. Опишем один- из воз- возможных способов нахождения требуемого, маршрута. Рассматривается связная транспортная* сеть без цик- циклов, определяемая парой (S U Q, 0~). Заданы пункты 5jn, Q,o и требуется найти маршрут, их соединяющий. В первую очередь следует присмотреть все дуги множе- множества Т. Если дуга (Sf(), <2j0) принадлежит &~, то требуе- требуемый маршрут найден. В противном случае, когда (""о' *?¦(>) ^ ' присоедиппм дапную дугу к транспорт- транспортной сети (S U Q, ЧГ)Л т. е. будем рассматривать сеть (SUQ, Г),где^ = ?Г у (Siflt &0). В транспортной сети E U Q, ЧГ) существует маршрут, соединяющий Si0 и ?>,0. Присоединение- дуги E)(), <?j0) делает такой маршрут неединственпым в (S [i Q, 3~), из чего на основании леммы 7.4 заключаем, что тран- транспортная сеть E U Q, Т) содержит цикл. Как уже от- 235
мечалось в этом параграфе, любой цикл в E U Q, &~) должен иметь вид G.9). Если этот цикл удастся найти, то маршрут н будет искомым. Таким образом, задача отыскания маршрута сведена к задаче отыскания цикла вида G.9). Эта же проблема является основной и на этапе 3 метода потенциалов. ^ Поиск цикла вида G.9) в трапспортной сети E U Q, 0~) осуществим следующим образом. Для каждого i, I ^ i ^ т, рассматриваются пары вида (?,-, Qi)<=-T. Если таких пар нет или есть только одна, то пункт St удаляется из транспортной сети {S U Q, ST). Вновь получившуюся транспортную сеть обозначал {SA) U Q, 5го'). Для каждого /, 1 «?; «S п, рассматриваются пары вида {S{, ^)s^"(i|, Если таких пар. нет или есть только одна, то пункт Q} удаляется из транспортной сети EA) U Q, i7~0)). Вновь полученную транспортную сеть обозначим (S(iiUQUi, 3r~U)). Заметим, что для каждого пункта St или Qh участвующего в цикле, найдутся по крайней мере две пары, его содержащие. Поэтому пи один из этих пунктов не выбрасывается. Может представиться две возможности. 1) В результате описанной процедуры транспортная сеть (S U Q, ST) не изменилась — ни один из пунктов ?,, 1 < i «S т, Qj, I <} <, тг, не^ удалось удалить, и поэтому (S(i>u<?(i), erw) = (SuQ, т). 2) Общее число пунктов S{ и Q, уменьшилось хотя бы на 1. Лемма 7.7. Если (S(^U <?<'>, Тщ) = (S U <?, Т), то транспортная сеть (S U Q, &~) является циклом, Доказательство. Пусть s и q — число точек в S и Q соответственно. Поскольку сеть {S U Q, °Г) связна и не содержит циклов, то согласно лемме 7.6 множество Т содержит s + q — 1 дуг. В таком случае *2Г содержит ровно s Л- q дуг. Из условия леммы вытекает, что из каждого пункта S{ и Qj выходит*не менее двух дуг. Нетрудно ви- видеть, что в таком случае из каждого пункта выходят ровно две дуги-и, следовательно, s=q. Ссылка на лемму 7.2 заканчивает доказательство, 236
Таким образом, в случае 1) нужно строить произвола иый маршрут максимальной длины, начинающийся в пункте Si0, — он и окажется требуемым циклом. В случае 2) следует повторить описанную процедуру последовательного удаления пунктов из транспортной сети. Поскольку исходная сеть (S U Q, <7~) содержит цикл; то после некоторого количества повторений процедуры мы обязательно придем к случаю 1). Отметим, что логические операции, составляющие со- содержание, описанной процедуры поиска нужного марш- маршрута гораздо более экономны в смысле затрат времени ЭВМ по сравнению с арифметическими операциями сим- симплекс-метода. В заключение обратим внимание на любопытную осо- особенность транспортной задачи. Теорема 7.4. Если все числа а{, bj, г = 1, 2, .. ., т, j — 1, 2, ..., п — целые, то задача G.1) имеет целочислен- целочисленное решение. Доказательство. В случае, когда все числа а,-, bj — целые, начальный опорный план, получаемый по ме- методу «северо-западного угла», является, очевидно, цело- целочисленным. Кроме того, на каждой итерации метода по- потенциалов число б, определяемое по формуле G.13), явля- является целым, если опорный план х— целочисленный. Следовательно, всякий новый опорный план х\ опреде- определяемый по формулам G.11), G.12), является целочислен- целочисленным вместе с исходным планом х°. Поскольку, действуя методом потенциалов, мы за ко- конечное число шагов получаем решение задачи, то спра- справедливость утверждения теоремы не вызывает сомнений. Отметим, что метод потенциалов обоснован нами лишь для невырожденной транспортной задачи, поэтому и ут- утверждение теоремы 7.4 доказано лишь для этого случая. Однако оно справедливо для любой транспортной задачи, как показывает следующее более сильное' утверждение. ' Теорема 7.5. Если все числа а„ bu i= 1, 2, ..., m, / = 1, 2, ..., п,—целые, то любой опорный план тран- транспортной задачи G.1) целочислен. Доказательство. Отметим следующие свойства матрицы А транспортной задачи. 1. Каждый элемент матрицы А равен либо О, либо 1. 2. Каждый столбец содержит не более двух ненулевых элементов. 237
3. Строки матрицы А можно разбить «а два множества В ц С, где В состоит из т первых строк, а С — из и последних, причем если два ненулевых элемента лежат в одном столбце матрицы А, то строки, содержащие эти элементы, принадлежат разным множествам В и С, т. е. если" ahj = 1, аи, — 1 и а;х <= #, то а)а е С Покажем, что значение каждого минора матрицы А равно 0, 1, — 1. Любая подматрица матрицы А, очевидно, обладает свойствами 1—3. Поэтому достаточно показать, что любая квадратная матрица А, обладающая этими свойствами, имеет определитель, равный 0, 1, — 1. Проведем доказа- доказательство индукцией по порядку квадратной (АХА)-мат- рицы А. Для к = 1 утверждение совпадает со свойством 1. Пусть утверждение верно для квадратных матриц порядка к — 1 и пусть А — квадратная матрица порядка к. Если каждый столбец матрицы Л имеет ровно два не- ненулевых элемента, то из свойства 3 вытекает, что»сумма всех строк множества В равна сумме всех строк множе- множества С. Следовательно, в этом случае строки матрицы А линейно зависимы, и \А 1=0. Если в некотором столбце все элементы равны нулю, то вновь \А 1=0. Остается рассмотреть случай, когда в каком-либо столбце матрицы А имеется ровно один ненулевой элемент. Разложим оп- определитель матрицы А по этому столбцу. Тогда 1Л| = = ±\А\, где А — подматрица, получаемая вычеркиванием в матрице А выделенного столбца и строки, содержащей ненулевой элемент этого столбца. Порядок квадратной матрицы А равен /с —1, и по индуктивному предположе- предположению \ЛI = 0, ±1, откуда и имеем \А 1=0, ±1. Теперь нетрудно доказать утверждение теоремы. Пусть х=* {хц) — опорный план задачи G.1), т. е. Ах = Ь, х>0, где 5 = (аи а2, .... ат, bu b2, ..., Ъп). Обозначим через Аа матрицу, составленную из вектор-столбцов мат- матрицы А — базиса опорного плана х, а через ха — вектор, составленный из положительных координат опорного плана х. Тогда Ааха = Ь. Решая эту квадратную систему уравнений по правилу Крамера, получаем, что х„=\Ац\/\Аа\, где Ац — матрица, полученная из А„ заменой столбца а" на вектор Б. Поскольку все элементы матрицы А{1 — це- целые числа, то и число |/4ц|—целое. С учетом того, что \Аа\ =±1, получаем утверждение теоремы. 238
Для случая вырожденной транспортной задачи разрй- ботаны специальные приемы ее решения, как это имеет место и в симплекс-методе, однако мы на этом останав- останавливаться не будем. § 5. Целочисленные задача линейного программирования 1. Задача о ранце. Здесь речь идет о собравшемся в поход путешественнике, который должен упаковать в ранец различные полезные предметы п наименований, причем могут потребоваться несколько одинаковых пред- предметов. Имеется т ограничений такого типа, как вес, объем, линейные размеры и т. д. Пусть ац — i-я характе- характеристика предмета /-го наименования, i = 1, 2, ..., /га, / = 1, 2, ..., п, Ь{ — ограничение по весу, объему и т. д. Обозначим через х, количество предметов /-го наименова- наименования, запланированное к загрузке в ранец, / = 1, 2, ..., п. Считается, что известна полезность с4 одного предмета /. Тогда математическая формулировка задачи о ранце име- имеет вид п max 2 cjxi п 2aijar;<bi, i = 1, 2 m, G.14) i=\ x} 3* 0, Xj — целое, / = 1,2,...; п. Видим, что данная задача не является задачей линей- пого программирования — требование целочисленности нельзя выразить линейными неравенствами. Вместе с тем к задачам подобного вида приводится большое число проблем практического характера. Так было и с первона- первоначальной постановкой задачи о ранце, только, к сожале- сожалению, речь шла о загрузке бомбардировщиков бомбовым запасом. 2. Задача о назначениях. Имеется п различных само- самолетов, которые требуется распределить между п авиали- авиалиниями. Известно, что на /-й авиалинии i-й самолет будет приносить доход с«. Требуется так распределить самоле- самолеты, чтобы максимизировать суммарный доход. Положим ¦ fl, если i-й самолет направлен на у'-ю авиалинию, '¦* ~~ \0 в противном случае. . 239
Математическая модель записывается следующим образом: п п max 2 X си ^ij ?*i/=l, / = 1,2,..., и, G.15) n >ij Xi, — i, г — i, z,. . ., n, Xi, равно либо О, либо 1. Ограничения этой задачи отражают требования, что каждый самолет назначается только на одну авиалинию п на каждую авиалинию назначается один самолет. 3. Задача о коммивояжере. Имеются города, зануме- занумерованные числами 0, 1,2,..., п. Выехав из города О, коммивояжер должен объехать все остальные города, по- побывав в каждом из них по одному разу, и вернуться в исходный город. Известны расстояния cti между города- городами i, } (i, / = 0, 1, 2, ..., п). Требуется найти самый ко- короткий маршрут. Введем переменные . 1, если коммивояжер из города i переезжает в город /, i Ф /, О в противном случае, i, 7-0, 1, 2, ..., п. Кроме того, потребуются дополнительные переменные ии i = 1, 2, ..., п. Рассмотрим задачу п п min ^j ^j CjXij i=0 3=0 n 2iii = l, ] = 1, 2,..., n, G.16) i=0 n 2Ja;y = ll l = l,2,...fn, G.17) Щ — ui + nxii^n — 1, i, / = 1, 2,.. ., n, G.18) Xi, равно либо 0, либо 1. 240
Здесь переменные и.,-, 1=1, 2, ..., п, участвуют только в ограничениях задачи, но не в целевой функции. Их роль вспомогательна, по, как будет показано ниже, не- необходима. Убедимся, что формальная модель G.16)—G.18) экви- эквивалентна задаче о коммивояжере. Условия G.16) означа- означают, что коммивояжер при- приезжает в город j Ф 0 толь- только один раз. Из G.17) сле- следует, что коммивояжер вы- выезжает из города i*t* О ровно один раз. Однако условия G.16) в G.17) вместе не обеспе- обеспечивают связности маршру- маршрута. Например, маршрут, изображенный на рис. 7.5, удов- удовлетворяет G.16) и G.17), но не подходит под условия задачи о коммивояжере. Оказывается, что условия G.18), выглядящие не- несколько искусственно, предназначены обеспечить связ- связность маршрута коммивояжера. Более точно, эти усло- условия запрещают любой цикл, не проходящий через го- город 0. В самом деле, рассмотрим некоторое решение ({?у}, {щ)) задачи G.16) — G.18). Сопоставим плану {xtl} тран- транспортную сеть так, как это делалось в § 2 для планов транспортной задачи: дуга (i, /) принадлежит сети тогда и только тогда, когда Хц = 1. Как уже отмечалось, условия G.16), G.17) обусловливают тот факт, что в данной транспортной сети с каждым городом связано ровно две Дуги. Из леммы 7.1 тогда следует, что эта сеть содержит циклы. Допустим, что имеется цикл, не проходящий через город 0 и состоящий из к дуг. Суммируем неравенства G.18), соответствующие дугам (г, /) этого цикла. Отметим, что это можно сделать, поскольку для всех дуг (i, j) цик- цикла найдется в G.18) соответствующее неравенство, так как jt^O, /т^О (цикл не проходит через точку 0). При суммировании все величины ut уничтожаются (с учетом цикличности маршрута), и получаем противоречивое не- неравенство пк^(п—{)к. Следовательно, любое решение задачи G.16)—G.18) соответствует циклу, проходящему через город 0. Отсюда легко вывести, что в таком случае этот цикл единствен для даппого плана (xj, 16 С. А. Ашманов 241
Осталось показать, что любому маршруту коммивоя- коммивояжера соответствует план задачи G.16) — G.18). Возьмем произвольный цикл, начинающийся в точке 0: Ч Н '2 • • ¦ Ы 'd где U — 0, все I, различны, 1 ^ I, ^ п, г=1, 2, ..., п. Рассмотрим следующий план задачи: числа Хц берем в соответствии с общей интерпретацией этих переменных. Значения и, определим по формуле: если i = lr, то 'ui = r1 i— I, 2, ..., п. Другими слонами, число щ равно порядко- порядковому номеру города I по маршруту следования. Покажем, что таким образом определенный набор чисел ixf), i, /=0, 1, 2, ..., п; {м,}, i=l, 2, ..., га, является планом задачи G.16) —G.18). Заметим, что поскольку 1 < и, =^ га, то Щ — ut ^ п — 1 для всех i, /=1, 2, ..., п. Отсюда вытекает справедли- справедливость .G.18) для любых (г, /), когда x;i = 0. Если же а:ч = 1, i, /^=0, то, как следует из построения данпого плана, i = Zr, j = Zr+I для некоторого г, 1 < г < п — 1. Тогда мг = г, Uj = г + 1 и м; — щ = 1. Отсюда ы.; — Uj + ra^jj = n — 1. 4. Задача о четырех красках. В 1976 г. была доказана замечательная теорема: любую географическую карту можно раскрасить, лепользуя не более четырех различных красок (см. [23]). Тем самым была решена одна из наи- наиболее знаменитых и старых математических проблем. По- Показательно, что обоснование этого результата проделано с помощью ЭВМ: после теоретических рассуждений ос- осталось большое, но конечное, число карт, относительно которых только и не было известно, можно ли их раскра- раскрасить четырьмя красками. С помощью ЭВМ был получен положительный ответ, который и дал окончательное ре- решение проблемы. Уточним формулировку задачи. Дана плоская геогра- географическая карта, на которой граница каждой страны представляет собой замкнутую непрерывную кривую. Две страны называются соседними, если у них есть общая граница — участок кривой положительной длины. Требу- Требуется так раскрасить данную карту в четыре цвета, чтобы соседние страны были раскрашены в разные цвета. Покажем, как указанную проблему можно свести к целочисленной задаче линейного программирования. 242
Пусть страны занумерованы индексами / = 1, 2, .;., п, Xj — целочисленная переменная, могущая принимать че- четыре значения 0, 1, 2, 3, соответственно количеству кра- красок. Обозначим через Г множество всех пар (J, /) индек- индексов, соответствующих соседним странам: Г = Ш, /)| страны г, / — соседние, г, / == 1, 2, ..., п). Тогда для любой пары (?, /) е Г значения х{ и xt должны быть различны, т. е. х{Ф х,. С учетом целочпелепностн переменных это означает, что либо х,— х,^ I, липа Xi-Xj^i. С тем чтобы отразить эту альтернативу лнпейиымп неравенствами, введем дополнительные перемеппые "у для всех пар li, /) е Г. Переменные и{] могут принимать два значения, 0 и 1, причем пз условий, которые сле- следуют ниже, вытекает, что иц = 1, если xi<x]) и ии = О, если Xi > Xj. ¦ Рассмотрим неравопст-na xt — xt > 1 — Аит х, — xt > —3 + + Ыц. Если иц = 1, ю xt — х] S2 — 3, x, - тч ?= 1. Порвоп неравенство в данном случае липшее — оно выполняется при всех допустимых значениях х,, хи а второе обеспе- обеспечивает, что Xj > хи Диалогично, при ии = 0 получаем Xi — Xj>\. Теперь можно сформулировать пелочпеленпую задачу,. эквивалентную проблеме четырех красок. Требуется найти решение системы липеппых нера- неравенств х,-хЛ + Ыь> I, x, — xt-4ut, > -3, (i, /) е Г, при дополнительных условиях па переменные ^ = 0,1,2,3; / = 1,2, .... к, ил = 0, 1, (j, /) е Г. . 5. Обсудим изложенные задачи линейного целочислен- целочисленного программирования. Формальная запись каждой из ппх отличается от обычных задач линейного программиро- программирования лишь дополнительными ограничениями на значения переменных, откуда и происходит название этих задач. Содержательных моделей, важных в смысле практических приложений п приводящих к формальным задачам, подоб- подобным изложенным в данном параграфе, очень много. Па первых порах требование целочпелепностн переменных явилось существенным препятствием для исследования и решения таких задач. Самым естественным путем было 16* 243
попытаться использовать обычные методы линейпого программирования, несколько видоизменив их. Так, можно думать, что решение целочислепной задачи линей- линейного программирования может быть получено следующим образом: достаточно решить эту задачу любым из числен- численных методов лппейпого программирования, не обращая внимания на требование целочисленности переменных, а затем округлить все координаты полученного решения до целых чисел. Однако даже простые примеры показы- показывают несостоятельность такого «ипженерного» подхода. Рассмотрим, например (см. [24]), задачу max U, — З.г2 + Зхг) -Зя, + 2х2 + ха < 3, 4а;, - Зх2 < 2, хи хг, ха>0 — целые. Решая эту задачу без условия целочисленности, на- находим оптимальный план xi = 72, хг = О, xt = 472. Можно записать четыре варианта «округления» этого плана: @, 0, 4), @, 0, 5J, A, 0, 4), A, 0, 5). Легко убедиться, что ни один из этих четырех векторов не является планом для нашей задачи и далек от оптимального целочислен- целочисленного решения #, = 2, хг = 2, ха = 5. Тем не менее, некоторые из целочисленных задач мо- могут быть непосредственно сведены к задачам линейного программирования. Так, обратимся к задаче о назначе- назначениях G.15) и заменим условие на переменные xti нера- неравенством Хц > 0, i, ]' =* 1, 2, ..., п. После такого преобра- преобразования задача о назначениях «принимает вид транспорт- транспортной задачи G.1). Поскольку числа в правых частях огра- ограничений G-15) — целые, то по теореме 7.5 всё опорные планы такой задачи целочисленпы. Следовательно, любой из численных методов линейного программирования дает целочисленное решение задачи G.15). Условие же неот- неотрицательности и остальные ограничения типа равенства задачи G.15) обеспечат, чтобы каждая компонента этого решения была равна либо 0, либо 1. Однако целочисленную задачу линейного программи- программирования более общего вида, такого, как задача о ранце G.14), уже нельзя свести к обычной задаче линейного программирования. Поэтому теория решения этих задач развивалась в двух направлениях. Одно из них, предназ- 244
наченное для решения общей целочисленной задачи ли- линейного программирования, росит название «метод отсе- отсечения» и реализует идею сопоставления целочисленной задаче линейного программирования некоторой обычной задачи линейного программирования, решение которой позволяет найти и решение целочисленной. Второе направление состоит в разработке для специ- специфических целочисленных задач линейного программиро- программирования (типа задачи о коммивояжере) принципиально но- новых комбинаторных приемов. Группа наиболее популяр- популярных таких методов носит название «метод ветвей и границ». Отметим, что и здесь используются свойства соответствующих задач линейного программирования. В следующих параграфах будет изложен лишь первый из упомянутых подходов к решению целочисленных за- задач линейного программирования. Избегая вдаваться в технические подробпости, мы рассмотрим самую простую ситуацию с тем, чтобы дать ясное представление о сути и возможностях данного метода. Более подробно об алго- алгоритмах решения целочисленных задач рассказано в [24]. § 6. Метод отсечения для целочисленных задач линейного программирования 1. Будем рассматривать каноническую задачу с допол- дополнительным требованием целочислеппости переменных: max <c, х> G.19) Ах*=Ь, G.20) х>0, G.21) х — целочислеппыц вектор. Условие целочисленности переменных существенно ос- осложняет задачу линейного программирования G.19), G.20). Так, может случиться, что задача G.19)—G.21) обладает допустимыми (целочисленными) планами, целе- целевая функция ограничепа на допустимом множестве, од- однако ее максимум не достигается. Например, в задаче max (V2zi — х2) У2^!-x2 + xs = i, xu хг, х„>0, не существует целочисленных решений, в то время как без этого условия решением служит любой вектор вида (A + а)/У2, а, 0), а > 0. 245
В связи со сказанным, при обосновании численных алгоритмов решения задач типа G,19) —G.21) приходит- приходится накладывать различные дополнительные условия. С целью упростить изложение мы наложим на задачу G.19) —G.21) самые сильные из возможных ограничений. L Будем считать, что множество X планов задачи G.19), G.20) (без условия целочисленности) ограничено, т. е. является многогранником. Из этого предположения вытекает, что множество X всех целочисленных планов задачп G.19) —G.21) конечно. II. Будем предполагать, что все коэффициенты с}, 7 = 1, 2, ..., п, целевой функции — целые числа. Из условия II вытекает, что для всякого целбчпслен- ного плана х^Х значение <с, хУ максимизируемой ли- линейной формы — целое число. В этом случае говорят, что гарантирована целочисленность целевой функции. Хотя условия I и II на задачу G.19) — G.21) довольно жесткие, однако ослабить пх так, чтобы последующие результаты были верны, можно лишь ненамного. 2. Существует принципиальная возможность свести решение задачи G.19) —G.21) к нахождению оптималь- оптимального плана некоторой задачи линейного программирова- программирования (без условия целочисленности переменных). Пусть, как обычно, X — многогранное множество, определяемое условиями G.19), G.20). Через X обозначим множество всех целочисленных векторов х, лежащих "в X. Другими словами, X задается условиями G.19) —G.21), т. е. X = {х = {хи х2, ..., %п)\хеХ, Xi — целое число, i=l, 2, .... га). По определению Х^Х. Будем обозначать через Хц вы- выпуклую оболочку множества X: Х"- = С{Х) (см. определе- определение 2.9). Тогда ХЦ = Х. Таким образом, мы сопоставили многогранному мно- множеству X некоторое выпуклое множество I'sX согласно следующему правилу: Хц есть минимальное выпуклое множество, содержащее все целочисленные векторы из X. По предположению I, X является многогранником, сле- следовательно, множество X конечно. Из теоремы 2.14 вы- вытекает, что выпуклое множество Хц также является мно- многогранником. Привлекая теорему 2.26 об эквивалентности двух определений многогранного множества, получаем, что Хц можно задать конечным числом линейных нера- неравенств, 246
Чтобы подчеркнуть остювное отличие множества Хц от множества X, дадим следующее опроделеЕШО. Определение 7.5. Многогранник, все крайние точки которого целочисленны (т. е. все их координаты суть целые числа), называется целочисленным много- многогранником. Очевидно, что многогранник X — целочисленный, по- поскольку его крайними точками могут служить лишь точки множества X целочисленных планов. Оправданием для изучения соответствия X -* Хц явля- является следующий простой факт. Теорема 7.6. Любой оптимальный опорный план задачи линейного программирования шах <с, хУ G.22) является решением задачи G.19) —G.21). Доказательство. Пусть х* — оптимальный опор- опорный план задачи G.22),'я*—какое-то решение исходной задачи G.19) —G.21). Поскольку 2?* е Хц s X, то <с, х*У «з < <с, х*У. С другой стороны, так как х* — целочисленный план, то i*eXsX", и поэтому <с, ?*> > <с, #*>, откуда <с, S*y=dt где d — значепие задачи G.19) —G.21). Дока- Доказательство закопчено. Подчеркнем, что теорема 7.6 утверждает лтппь прин- принципиальную возможность сведения решения задачи цело- целочисленного линейного программирования к поиску опор- опорных планов задачи линейного программирования вида 47.22). Основная трудность в использовании этой возмож- возможности состоит в явном задании многогранника Хц систе- системой линейных неравенств с тем, чтобы затем применить для решения задачи G.22) численные методы линейного программирования. Вероятнее всего, что в вычислитель- вычислительном отношении эта проблема. столь же сложна, как и исходная задача поиска оптимального целочисленного плана. Несмотря на это, идея «сужения» множества X ока- оказалась полезной и привела к созданию нескольких алго- алгоритмов решения целочисленных задач линейного програм- программирования, носящих название «методы отсечения». 3. Изложим идею методов отсечения. Допустим, что удалось эффективно построить последовательность \2?г}, г = 0, 1, 2, ..., задач, линейного программирования, каж- 247
дая из которых определяется своим многогранником Хт и одной для всех целевой функцией <с, хУ; 2?г • max <c, х) > причем эта последовательность задач обладает следую- следующими свойствами: 1) Хо = Х, т. е. в качестве Хо берется множество пла- планов задачи G.19), G.20); 2)-Х? = Хп, г= 1, 2 ; 3) если при решении задачи &, полученный оптималь- оптимальный вектор х* не удовлетворяет условию целочисленно- сти, то он не является планом задачи З'т+и т. е. хг щ Xr+i. Отметим, что если на каком-то шаге г вектор хт — ре- решение задачи 3?т — оказался целочисленным, то он и яв- является решением исходной задачи G.19) — G.21) в силу свойства 2) последовательности ST. Интуитивно ясно, что последовательное построение задач 5%, г=\, 2, ..., дает в некотором смысле аппрок- аппроксимацию множества Xй- с помощью множеств Хг. Способы построения последовательности {3?т}, обеспе- обеспечивающие конечность процесса решения задачи G.19) — G.21), были впервые предложены Гомори. В следующем параграфе излагается так называемый первый алгоритм Гомори, содержащий в себе все основные идеи методов отсечения. § 7. Первый алгоритм Гомори для целочисленных задач линейного программирования 1. Введем понятие правильного отсечения, которое ле- лежит в основе многих численных методов решения цело- целочисленных задач линейного программирования. Определение 7.6. Пусть х* — оптимальный план задачи G.19), G,20), не являющийся целочисленным, Не- Неравенство V 2 "№ < То. ИЛИ <Ъ хУ < -fo, ' G.24) 248
где ч = ("ft, Tf2, ..., чД называется правильным отсечени- отсечением, если оно удовлетворяет требованиям: а) для вектора х* неравенство G.24) не выполняется, т, е, <f, х*У > ^0 (условие отсечения); б) если х — целочисленный план задачи G.19), G,20) (т. е, план задачи G,19) —G,21)), то х удовлетворяет G.24) (условие правильности). Понятно, что добавление неравенства G,24) к услови- условиям G.19), G.20) -сужает допустимое множество X, сохра- сохраняя при этом все его целочисленные точки. Тем самым последовательное применение этого приема дает как бы многоэтапную аппроксимацию многогранника Хц с по- помощью линейных ограничений, В связи с понятием правильного отсечения возникают две проблемы. Первая из них состоит в том, чтобы сфор- сформулировать общий алгоритм отсечения для произвольной целочислен«ой задачи линейного программирования. Вто- Вторая проблема заключается в построении правильного от- отсечения таким образом, чтобы обеспечить решение задачи G.19) — G.21) за конечное число шагов, т. е. чтобы от множества X всякий раз отсекались достаточно большие «лишние» участки. Отметим, что второе требование является довольно тонким. В качестве подтверждения рассмотрим способ по- построения правильного отсечения, предложенный Дан- Данцигом. Пусть х* — опорный оптимальный шшн задачи G.19), G.20), о-и со — списки номеров соответственно базисных и не базисных переменных, отвечающие некоторому ба- базису плана ж*. Тогда Xj =0 при /sco. С учетом этого свойства нетрудно построить правильное отсечение для плана х*, если он не является целочисленным: в качестве такого может служить неравенство Jj Xj^l. jsto В самом деле, условие отсечения тривиально выпол- выполняется, поскольку 2 xj = 0. Условие правильности также соблюдено, так как если х = (хи хг, ..., хп) — целочислен- целочисленный план задачи G.19), G.20), то величина 2 хз с уче- _ jeto том условий XjX), /sco, может быть меньше единицы лишь в том случае, когда ^ = 0 при всех /ей. Но в таком случае план х — опорный, и в качестве его базиса можно принять базис плана х*. Как отмеча- 249
лось (см. E.7)), опорный план однозначно определяется своим базисом, олкуда получаем, что из неравенства 2 X) <1 вытекает х = х*. Последнее, однако, невозможно, JSC0 так как х — целочисленный вектор, а х* таковым не является. Указанный прием построения правильного отсечения, песмотря на его простоту, оказался малоэффективным, поскольку конечность процесса решения обеспечивается лишь для узкого класса целочисленных -задач линейного программирования. 2. Опишем способ построения правильного отсечения, предложенный Гоморп. Для произвольного вещественного числа а через [а\ будем обозначать его целую часть, т. е. [а] есть наибольшее целое число к, не превосходящее а. Дробной частью {а) числа а называется число {а) = = а — [а.]. Отметим очевидное свойство дробной части произвольного вещественного числа: 1 > (а/ > 0, причем {а) = 0 в том и только том случае, когда а—целое. Пусть х* — опорное решение задачи G.19), G.20), не являющееся целочисленным, (а'1, а'2,. ,., а1) — его ба- знс и 33— соответствующая симплексная таблица в коор- координатной форме. Рассмотрим приведенную систему уравнений, отвеча- отвечающую данному базису (и таблице 53) плана х*; ¦*о + 2 aojZj == а00, G.25) zf + 2 «yzj = «io» * ^ a- G.2C) jea Поскольку xj = 0 при / s и, то нецелочнслепнымн мо- могут быть.лишь величины 20 = <с, х*у, г4, iea. Пусть s — такой индекс @^s<w), что число х% — не целое. Рассмотрим s-io строку в симплексной таблице 3 (s.-e уравнение в G.25)-, G.26)) и составим выражение zs{x)^-{as0}+ Ц {al}}Xi. G.27) jsco Теорема 7.7. Если хе X — целочисленный план задачи G.19), G.20), то . z,(x) — целоеЛ zs{x) > 0. 250 ' .
Доказательство. Используя соотношение asi = = lasjl + {asj}, j = 0, 1, 2, ..., n, из G.26) нри i = s по- получаем х$ ~т 2j uasjl 'г \asj/) X) = [asOl -f- {as0|, jeco откуда r i i V r i r i V I \ В левой части данного равенства стоит целое число, сле- следовательно, число - zs (x) = {а,0} - 2 {««} X] jeco также целое. Из того, что xi ^ 0, /ео, используя свой- свойство дробной части, получаем 1а \ _ ^ {as-}a:-<l, ' т. е. —zAx)<\, или за(.г) > — 1. Учитывая, что зД.г)— целое, окончательно имеем гДж)> 0. Следствие. Если х.4 (= aSB) —нецелое число и множество X планов целочисленной задачи G.19) — G.21) непусто, то среди чисел {as), / = 1, 2, .,., га, есть поло- окителъные. В самом деле, все числа {a,j), очевидно неотрицатель- неотрицательны. Допустим, что {asj> = 0, ] = 1, 2, ..., п. Если X непусто и х е Xt то зДж) = —{asOh что про- противоречит утверждепшо теоремы о том, что z,{x) — целое число, так как 0 < {aaj < 1. Замечание.' С доказательстве теоремы 7.7 мы вос- воспользовались предположением И (п. 1, § 6) о том, что гарантирована целочисленность целевой функции. Дей- Действительно, в случае s = 0 величина х0 — [aOol + 2 [«oil X} jeco является целой (при условии, что х^Х) лишь тогда, когда число х„ = <с, х> — целое. Отсюда вытекает Теорема 7.8. Если число xs — нецелое) го нера- неравенство Д{««}*; >{«.„} G.28) является правильным отсечением. 251
Доказательство. Проверим условие отсечения в определении 7.6. Так как x*s — аа0, то из того, что xs — нецелое, получаем неравенство (а.о? > 0. Поскольку Xj = 0 при ;'<=<о, то 2i{as-y}x*= 0,и поэтому вектор х* не удов- i летворяет неравенству G.28). Условие правильности сле- Дует из утверждения z,{x) >0 в теореме 7.7. 3. Перейдем к изложению первого алгоритма Гомори. Обозпачим задачу G.19), G.20) через &й. Гомори предложил на первом этапе своего алгоритма находить лексикографический максимум задачи 2\ (см. § 6, гл. VI). Будем обозначать через ж@) = (*„(()), хЛО), ..., ж,@)) (п + 1)-мерный вектор такой, что (х,@), ..., хл{0)) — ре- решение лексикографической задачи 5%, а х0 @) = п — 2 cixi @) — значение линейной формы. В тех'случаях, 3=1 когда это не вызовет недоразумения, будем называть х@) оптимальпым планом лексикографической задачи 2?а (хотя по принятой нами ранее терминологии планом на- называется вектор, составленный из последних п координат вектора х@)). Согласно теореме 6.8 х@) — опорный план; по теоре- теореме 6.10 он же является строго допустимым псевдопланом задачи &\. Если х{0) — целочисленный вектор, то он, очевидно, и является решением задачи G.19) — G.21). В противпом случае отыскивается минимальный ин- индекс s, 0<s<n, для которого величина х„{0) не явля- является целой. Пусть S3@) — симплексная таблица в коорди- координатной форме, соответствующая вектору х@). С помощью коэффициентов s-й строки этой таблицы (т. е. коэффи- коэффициентов приведенной системы G.25), G.26)) приемом, описанным в п. 2, строится правильное отсечение. Вводится вспомогательная переменная xn+i и рассмат- рассматривается новая задача 9?с max <c, Xs) Ах = Ъ, G.29) . 2 (а«) X] - *„.,.! = {as0} G.30) х^0, хп+1^0. G.31) 252
Следующий этап состоит в нахождении лексикографи- лексикографического максимума задачи 2\. Важным достоинством ал- алгоритма Гомори является тот факт, что начальный строго допустимый псевдоплан для применения двойственного симплекс-метода к задаче &', находится без труда. Дей- Действительно, легко видеть, что в качестве такого псевдо- псевдоплана можно взять вектор где @) = 2 {«*;} *} @) - i В самом деле, очевидно, что уA) удовлетворяет (вме- (вместе с вектором х@)) ограничениям G.29), G.30) задачи 2"i, а из ограничений G.31) нарушается лишь одно: хп+1@) = — ia,0) < 0. Кроме того, вектор !/A) является опорным для системы уравпеиий G.29), G.30), поскольку если U*1, я*2,..., а1'"} —базис плана х@), то система липейно независима и служит базисом для J/(l). Пока- Покажем, что j/(l) — строго допустимый псевдоплан. С этой целью построим симплексную таблицу, соответствующую указанному базису вектора J/(l). Как следует из § 2 гл. VI, для этого нужно лишь приписать снизу к таблице 33@) строку где и = {/i, U, •••, h-m)—список номеров небазисных пе- переменных, соответствующий таблице 33@) опорпого плана х@). Поскольку х@) — строго допустимый псевдоплан, то всякий столбец $', ] & 6), таблицы 33@) лексикографически положителен: р' > 0, /е «о. Отсюда вытекает, что и в симп- симплексной таблице в координатной форме, отвечающей опор- опорному вектору г/A), всякий столбец (кроме первого, сов- совпадающего с J/(D) лексикографически положителен: >0, /ее Таким образом, имея в «воем распоряжении решение D) лексикографической задачи i?o и соответствующую 253
симплекс-таблицу в координатной форме SCO), без каких- либо .дополнительных вычислений находим начальный строго допустимый псевдоплан yd) для задачи Si a строим соответствующую ему симплексную таблицу в ко- координатной форме. Может случиться, что лексикографическая задача St не имеет решения. В этом случае решение целочислен- целочисленной задачи G.19) —G.21) следует прекратить, поскольку имеет место Теорема 7.9. Если в задаче Si не существует лек- лексикографического максимума, то множество X целочислен- целочисленных точек задачи G.19) —G.21) пусто. Доказательство. Поскольку множество X векто- векторов, удовлетворяющих условиям Ах = Ь, хХ), согласно предположению I (п. 1 § 6) ограничено, то ограниченным является и множество планов задачи S\. Поэтому един- единственной причиной, по которой эта задача может не иметь лексикографического максимума, может быть только то, что множество ее планов пусто. Покажем, что в таком случае множество X также пусто. Предположим противное, т. е. что X Ф 0, и пусть .т = (?,, х2, ,.., iJeX, По теореме 7.7 получаем, что величина ¦¦ неотрицательна. По это означает, что вектор (хи хг, -,-., ..., хп, хп+1) является планом задачи 3?и в противоречие с вышесказанным. Теорема доказана. Пусть x(l) = Uod), *,(l), ..., я„A), ж„+1A)) — реше- решение лексикографической задачи S\. Отправляясь от за- задачи Si и вектора хA), аналогичным образом строятся задачи Sr, г = 2, 3, ..., а решения i(f)eRn+1+' соответ- соответствующих пм лексикографических задач. Заметим, что.алгоритм Гомори однозначно определяет последовательность а;(г), г = 0, 1, 2, ..., что следует из теоремы 6.7 и одпоапачпости выбора индекса s. Обратим также внимание па то, что индекс s всегда не превосходит п\ O^s^n. В самом деле, если все х,(г) при 7 = 0, 1, 2, ..., п — целые, то из теоремы 7.7 вытекает, что хп+1(г), xa+i(r), ... — также целые. Если пя каком-то шаге г вектор x(r) = {.rb(r), xt{i), ..., х,А>), ..., xnt-.(r)) 25i
оказывается целочпслопным, то вектор Uu(r), ж,(г), ... ..., хп(г)) является решением задачи G.19) —G.21). Дока- Доказательство этого очевидного утверждения оставляем читателю. Переход от вектора z{r) к вектору х(г + ]) с помощью описанного алгоритма Гомори называется большой ите- итерацией, в отличие от промежуточных итераций двойствен- двойственного симплекс-метода, которые называются малыми. Основной иопрос, относящийся к первому алгоритму Гомори, таков: всегда ли за конечное число больших ите- итераций можно получить целочисленный вектор z(r)? Ответ на него дается в следующем пункте. 4. Докажем конечность первого алгоритма Гомори. В данном пункте будем пользоваться следующими обо- обозначениями: ж@) = U@), 1,@), ..., .г„@)), где (ж.Ш), ... х,Д0))- решение лексикографической задачи S а, л'0@) = п ¦ = 2 ci%j @) — соответствующее значение лилейной фор- мы: ¦t/(l) = (=со(О), хЛО), ..., хЛО), ж„+1), где jera вектор у(\) служит пачапьпым строго допустимым псов- доплапом при решении задачи 3.\ двойственным симп- симплекс-методом в-координатной форме: у(\) = (г/(!A), уМ), ..., упA), упиA)) — вектор, нолу- чакицшЧсп из уA) в результате первой (малой) итерации двойственного снмплекс-методи в координатной форме. Аналогично вводятся обозначения x(r), y(r+i), y{r + + 1), г=1, 2, ... Из свойств двойственного спмплокс-метода в коордп- na-uioii форме (теорема G.6) следует *х{г). G.32) Лемма 7.8. Пусть s—минимальный индекс, для ко- которого число Zi(Q) — не целое. Тогда >ЦМ\пМ), .., ч.-М), у.Ш). Д о к а з а т е л ь с т п о. Поскольку ;уA) > /уA) (см. G.32)), то bouMO/iUJbi дна случая: 255
2. U@), ж,@), ..., *. у, y, . у В случае 1 утверждение леммы выполняется тривиально по определению лексикографического порядка. Рассмотрим случай 2. Согласно правилу 1* двойствен- двойственного симплекс-метода на первой (малой) итерации реше- решения задачи 2?i выводу из числа базисных подлежит пере- переменная жп+1, поскольку в векторе уA) я/0) ^ О, / е м, ?*+i < 0. Пусть к е а — такой индекс, что 0, G.33) для любого /е ы, если — {asj) < 0. По правилу 2*' в число базисных вводится переменная xh. Согласно формуле F.29), случай 2 возможен лишь при условии рл = 0, i = 0, 1, 2, ..., s—1. Поскольку х@)— строго допустимый псевдоплан задачи 2?<>, то все столбцы $', / s а, спыплекс-таблпцы 33@) лексикографически поло- положительны; в частности, ^ > 0. Следовательно, координата psI данного столбца должна быть неотрицательной. Заме- Заметим, что psft = a,k (т. е. 0 < s < n и sew, в силу формул § 3 гл. VI). По условию G.33) число ask — не нуль. По- Поэтому а,к > 0 и а.к>{а,к). G.34) По формуле F.29) преобразования симплекс-таблицы имеем Вспоминая, что хЛО) = а.о, получаем с учетом G.34) Уч A) = «so — т^1 a*h ^ a'o — 77ГТ ^а^1 ~ t «ft/ » «ft/ = a*o - {ai0} = [aj = [xs @)]. Лемма доказапа. Замечание. Если исходная задача G.19)—G.21) допустима, то согласно следствию из теоремы 7.7 индекс к, удовлетворяющий условию G.33), существует. Следствие. Справедливо соотношение U.10), 1,@), ..., z.-ДО), [*.@)])> > U0(r), iiW, ..., ж.-Дг), 256
Действительно, при г = 1 это неравенство вытекает из леммы и второго неравенства в G.32). Чтобы получить это утверждение при произвольном г, нужно воспользо- воспользоваться тем, что г/Дг) = Xj{r) при OsS/^tt, и неравенством у(г)^х(г) в G.32). Теорема 7.10. Если выполнены предположения I и II п. 1. § 6, то первыц алгоритм Гомори требует лишь конечного числа больших итераций. Чтобы убедиться в истинности теоремы, необходимо показать, что при некотором г вектор х{г) = (хо(г), z,(r), .,. ..., хп+г(г)) — целочисленный. Для этого, в свою очередь, достаточно доказать целочисленность вектора (ха(г), Xi(r), ..., xn(r))t поскольку из,теоремы 7.7 тогда вытекает, что все числа xn+i(r), хп+2(г), ..., хге+г(г) также целые. Напомним, что минимальный индекс s, при котором число ¦ xs{r) — нецелое, всегда не превосходит п; 0 *? s ^ п. Для доказательства теоремы используется Лемма 7.9. Для любого j, O^j^n, существует та- такой номер Rit что при г ^ Rj все числа х~{г) — целые и равны одному и тому оке целому числу x^Rj). Доказательство, Пусть s, 0 ^ s *? и,— мини- минимальный индекс, для которого утверждение леммы не вы- выполняется. Обозначим R = max Rj. В том случае, когда s = 0, положим R = 0. Пусть г, I — такие индексы, что R *? г < I, и ч-исла xa(r), ха{1) — нецелые. Покажем, что тогда [хДг)] > [xa(Z)l. Действительно, по определению s имеем Xj (г) — целое, ] , . / , \ л о ПРИ 0</<s— 1. Xj (г) = Xj (г + q), 9=1,2,...] ^у^ G.35) В таком случае s — минимальный индекс, для которого число х,(г) — нецелое. По следствию из леммы 7.8 имеем [х,(г)]>хаШ. Учитывая, что х,{1) — не целое число, имеем хаA) > >[ха{1I, откуда и получаем нужное утверждение. По- Поскольку множество X планов задачи G.19) —G.21) огра- ограничено, то ограничена любая величина x,{r)t 0 ^ s ^ и, г = 1, 2, .... Поэтому бесконечной цепочки неравенств ви- вида [х,(г)] > [ж,(Ш >... существовать не может, а, следо- следовательно, в последовательности xs(r), r==0, 1, ..., не мо- может быть бесконечно много нецелых чисел. Аналогично 17 С. А. Агаманов 257
доказывается, что в этой последовательности не может быть и бесконечно много различных целых чисел. Верпемся к теореме 7.10. Пусть R — max Rj, где чис- ла R} фигурируют в формулировке предыдущей леммы. Тогда согласно этой лемме все числа Xj(R), 0<У<и,— целые. Из теоремы 7.7 получаем, что вектор x(R) — цело- целочисленный. Следовательно, алгоритм Гомори требует не более R больших итераций. 5. При практической реализации первого алгоритма Го- морп важной проблемой является нарастание количества ограничений, что ведет к увеличению размеров симплекс- симплексных таблиц. Гомори предложил способ устранения этого недостатка алгоритма, заключающийся в следующем. 1) В ходе решения задачи 3?, двойственным симплекс- методом на каждой малой итерации следует пользоваться уточнением правила 1*: если в первом столбце симплекс- таблицы имеется несколько отрицательных элементов fl«i(=?j), i=l, 2, ..., п, ..., п + /, то выводить из числа базисных нужно переменную с минимальным номером. 2) Если в ходе очередной малой итерации при реали- реализации задачи 2?, все основные переменные х,, хг хл оказались неотрицательными, то дальнейшее применение двойственного симплекс-метода к задаче 3?, следует пре- прекратить, несмотря на то, что ее лексикографический мак- максимум, быть может, еще не достигнут. Если при атом исе переменные xit / = 1, 2, ..., п, окапались целочисленны- целочисленными, то по теореме 7.7 все вспомогательные переменные хп+к, к=1, 2, ..., г, целочисленны и неотрицательны. Это означает, как уже известно, что вектор (х„, х„ х2, ..., хп) является решением исходной целочисленной задачи. В противном случае переходим к новой большой ите- итерации. 3) Строка симплексной таблицы, соответствующая вспомогательной переменной хп+г, удаляется, как только переменная хп+т объявляется небазисной. Напомним, что это происходит на первой же малой итерации решения задачи St. 4) Если в ходе решения задачи &, переменная хп+т вновь попадает в число базисных, то соответствующая ей строка не восстанавливается. Понятно, что при выполнении правил 3), 4) размеры симплексных таблиц в нервом алгоритме Гомори не уве- увеличиваются -- в каждой таблице содержится п + 2 строк 258
(отвечающие основным переменным ««, х{, ..., хп и теку- текущей вспомогательной переменной хп+г в момент ее введе- введения)'п n—m + i столбцов (поскольку число п — т неба- небазисных переменных не меняется). 5) На первой малой итерации решения задачи S?T+i в качестве переменной, выводимой из базиса, выбирается именно хп+г+и несмотря на то, что значения остальных вспомогательных переменных в этот момент также могут быть отрицательными. Заметим, что правило 5) па самом деле лишнее, по- поскольку при выполнении правил 3) и 4) мы ничего не знаем о значении остальных переменных xn+i% ..., хп+г в момент перехода к задаче S'r+i. Данное правило выде- выделено лишь для того, чтобы подчеркнуть отличие рассмат- рассматриваемых алгоритмов. Отметим, что при использовании правила 2) возника- возникающая последовательность х'{г), г = 0, 1, 2, ..., вообще говоря, отличается от той, которая возникает в ходе алго- алгоритма Гоыорп, как он описап в п. 3. Именно, каждый из векторов х'{г) может не быть лексикографическим максимумом задачи 9?г, поскольку значения некоторых из вспомогательных переменных могут быть отрицатель- отрицательными. Тем не менее, для последовательности x'ir), r = 0, 1, 2, ..., получаемой с использованием правил 1) и 2), сох- сохраняется важное свойство: эта последовательность единственна. Осталось лишь доказать, что при выполнении правил 1)—4) алгоритм Гоыорп остается конечным, поскольку его конечность и будет означать, что он приводит к цели — нахождению целочисленного решения задачи G.19) — G.21). В самом деле, конечность числа R больших итера- итераций означает, что вектор x'(R) —целочисленный. Отметим, во-первых, что при использовании правила 2) число малых итераций решения задачи &, конечно — не больше, чем требуется для нахождения ее лексикогра- лексикографического максимума. Теорема 7.11. Последовательность х'(г), возникаю- возникающая в процессе применения алгоритма Гомори, уточнен- уточненного правилами 1)—4), конечна. Доказательство, Заметим, что в доказательстве теоремы 7.10 Ъ конечности последовательности ж(г) ис- использовались лить два обстоятельства, регулирующие возникновение эюй последовательности: способ построе- 17* 259
ния правильного отсечения и тот факт, что во всякой текущей симплекс-таблице все столбцы (iJ, j e а, лексико- лексикографически положительны. Таким образом, удаление строки, соответствующей вспомогательной переменной, может повлиять лишь на последнее обстоятельство. Этого, однако, также быть не может, как показывает Лемма 7.10. В любой симплекс-таблице, возникаю- возникающей в ходе алгоритма Гомори, как он описан в п. 3, для любого столбца $' = (Рм, Р«, • •., P»j, P.+u, • •., Р.+гЛ / е to, имеет место неравенство Доказательство. Допустим, что утверждение леммы не выполняется для некоторого k e а. Поскольку Р*>, то данное предположение означает, что рл~0, г = 0, 1, 2 п. G.36) По определению симплексной таблицы в координатной форме и согласно формуле F.21), имеем х - хй = - 2 ftxi G.37) для любого х е Rre+l+ri если утверждение леммы наруша- нарушается в ходе решения задачи &т. Формула G.37) с учетом G.36) означает, что изменение значения переменной хК не влияет на значения xh i = 0, 1, 2, ..., га. Другими сло- словами, при одном и том же паборе величин ?,, 0 < i < га, переменная а* может принимать произвольное аначение. Отсюда следует, во-первых, что к>п+1, а во-вторых, что принятое допущение G.36) неверно, поскольку значе- значение любой вспомогательной переменной хк, к ^ га + 1, как вытекает из G.30), однозначпо определяется значениями основпых переменных. Поскольку удаление строк, соответствующих вспомо- вспомогательным переменным, не влияет на свойство столбцов $', j e со, быть лексикографически положительными, то эти строки вообще пе нужны. Действительно, с учетом пра- правил 1) и 2) переменная хп+т, попав в число базисных, так и остается базисной до конца вычислений, и ее строка пе потребуется для определения переменной, вводимой в ба- базис согласно правилу 2*'. Таким образом, элементы строки, соответствующие пе- переменной хп+т, не участвуют в формулах F.29) двойствен- 260
пого симплекс-метода для вычисления значений всех ос- остальных переменных. Поскольку, как отмечалось, индекс s, регулирующий формирование правильного отсечения, не превосходит и, О < s < п, то и для этих целей вспомогательные перемен- переменные не потребуются. 6. Рассмотрим числовой пример решения целочислен- целочисленной задачи линейного программирования. В качестве объекта моделирования возьмем так назы- называемое решето Эратосфена — процесс поиска натуральных простых чисел. Пусть уже найдены простые числа ри р2, ..., рт и нужно отыскать следующее простое число pm+i. Запишем эту проблему в виде задачи линейного программирования. Обозначим искомое число через х и рассмотрим задачу max i—x) х = ktp, + г,, К г, </><_,, х > рт, х, ki, r{ — натуральпые числа, i — i, 2, ..., т. Ограничения этой задачи означают, что натуральное число х взаимно просто со всеми простыми числами р,, Рг, ...1 Рт п отлично от 1. Попятно, что минимальное на- натуральное число, обладающее такими свойствами, совпа- совпадает с pm+i. Вычисления будем производить для случая, когда за- заданы простые числа р{ = 2, р2 = 3, рг = 5 и нужно найти число р^ = 7. Таким образом, имеем следующую целочисленную за- задачу линейного программирования: max i—x) х = 2&1 + 1, z = 3&2 + r2, , х = 5к3 + г3, К г3 < 4, х > 5, х, ki, k2, г2, к3, г3 — натуральные числа. С тем чтобы привести задачу к канонической форме, введем дополнительные переменные: max {—x) х = 2/с, + 1, х = 3kz + гг, х = Ьк3 + г„ г2-и2 = 1, г2 + ш2 = 2, r,-va = l, л3 + w, = 4, х - у4 = 5. 261
« а g а" =S й- g а* ам а" о «о 1 ю о ем о о о о ю о о 7 7 о «о 1 1 О. Я|-* 7 о о ,.о 7 о о ю 7 о о —1 —1 О ^н ю ю '" ^ О *н М 1С о о О тч М ^н о о О тч ¦СМ тн го о о <э ^, см ^ го го -г -г см с 3 о с 3 о с •з 7-1 о о 0 <?\ о о т н о о о о о ..о ю о .о о Л 7 о ^ о о sc sr L? о о 7 о о 7 о о" 3 ю а 3 м * о ¦ — Г 1 о о' 7 о й- с со С-1 1 J 1 ю со \1 ГО с 1 о ГО 7 о о о о СО "\ о -т о ч—1 1 о о о 7 о о а™ 7 о СО о о о ХГ 7 - ГО о - о эт а 7 н о ю о о о н о о о а- # 1 о со .¦* .о 1 о # 1 "Г СО 262
а« -^ ,.« а- г о э L~ см 3 = 7 см 3 о 7 N 3 о 7 чН тН О т н см О О *~ СМ 1 о о !¦- СМ 1 О о 1- сч 1 о о г- 7 7 о CD н 7 о со 7 о о со 7' о СО 7 о о со см см о LC м ЧН см со о м C-J ГО о -о О) ГО о .-о см го .-о см го со ГО -г о о 7 о о о ¦*" о о 7 о о 7 о о 7 ч—1 о -О о о о см .о .о о О] 1 с\1 7 о о СО lO 1 о о 7 о о 7 о о со * '? о со 1 •* 7 о о о чН 1 о =¦ о 7 о 'о о ч о о 7 о о о ч: . н о о о о о — о о о о а го L? о о 7 о о о * 7 о 7 00 ю 1 о •* 7 о о а- СО ю о с, о - 'i о со о о 00 1 ю о 7 о со а" см о о см сч со О ^н ,о \.П о о см « ю см 1 о о C-J C-J о о с\1 # см см о о см й- 5 263
Вектор переменных (x, ku k2, r2, k3, r3, v2, w2, v3, w3l vj предполагается целочисленным и неотрицательным. Нетрудно найти лексикографический максимум данной задачи без условия целочисленности: E, 2, 4/3, 1, 4/5, 1, О, 1, 0, 3, 0). Небазисными являются переменные i>2, v3, yt. Для получения соответствующей симплексной табли- ць1. в координатной форме нужно выразить все перемен- переменные через небазисные: х •= 5 + i>4, = 3— v3. Введем переменную х„, соответствующую целевой функции {хо<= —х), х0 = —5 — 1>4. Вспомогательные пере- переменные Гомори будем обозначать уи у2, — Результаты расчетов приведены в таблицах (с. 262, 263). Решение: а; = 7, к{ = 3, /е2 = 2, г2 = 1, /с3=1, г3 = 2, v2 = 0, ш2 ¦= 1, у3 =1, "'а = 2, у4 = 0. 7. В первом алгоритме Гомори предиолагается целочнс- ленность всех переменных. В то же время имеется до- достаточно много практических задач, в которых целочис- целочисленными являются лишь некоторые из переменных. Кро-. не того, недостатком первого алгоритма Гомори является чувствительность к ошибкам вычислений при подсчете дробных частей, при округлении чисел и т. д. Разработа- Разработаны различные варианты целочисленных алгоритмов, устраняющих указанные недостатки. Познакомиться с не- некоторыми из таких алгоритмов читатель может в [24]. § 8. Блочное программиропаине 1. Рассмотрим класс задач линейного программирова- программирования, в которых множество всех ограничении имеет следу- следующую специальную структуру. Все переменные х = ixlt х2, .,., хп) можно так разбить на несколько групп: 264
где rh = n, что помимо ограничений общего вида Лх^Ь имеются ограничения, в которых участвуют лишь пере- переменные одной из групп: Ah?' ^ Ь*1, h = 1, 2, ..., к. Именно такую структуру ограничений имеет, напри- например, задача max B-г, - х2 - х3 + 4xt + х, 4- 2хв) 18, — х2 — хъ + 2х6 < 15, г - х% sS 5, ;5 + 3z6 < 8, 7, / = 1,6. Группу ограничений, в которых участвуют все нере- неременные, называют блоком-связкой. В схематической фор- форме ограничения задачи с блочной структурой-имеют вид, Блок-евша Блок / Блок 2 Блок-к Рис. 7.6. как на рис. 7.6. Не будь блока-связки, задача линейного программирования с блочной структурой очевидным об- образом распадалась бы на к самостоятельных задач мень- меньшей размерности. Олнако и при наличии связующего бло- блока имеется возможность использовать особенности такой задачи и свести ее решение к решению нескольких задач линейного программирования, размерность которых сов- совпадает с размерностью блоков. 265
2. Опишем метод декомпозиции Данцига — Вулфа. Обозначим через А блочно-диагональную матрицу 'Ах О 0...0 О ,0 0 0...0 через Ъ — соответствующий вектор правой части ограни- ограничений 5=(Ь', Ь2, ...,'Ь*). Рассмотрим стандартную задачу линейного програм- программирования: max <c, х> G.33) Считаем, что матрица А имеет размеры т X п и бе Rm. Как обычно, обозначим через X допустимое множе- множество задачи G.38): Будем рассматривать также множества ХА = {х | Ах < b}, Xj = {ж |~1а: <"Ь, .г > 0}. Понятно, что X = Xд П A'j. Для простоты будем рассматривать лишь тот случаи, когда множество Х^ ограничено, т. е. является выпук- выпуклым многогранником. Ясно, что это предположение вы- .полняется тогда и только тогда, когда каждая система неравенств Aflxh^b", a/">0, А=1, 2, ..., /с, определяет ограниченное множество. Пусть s\ s2, ..., sw — все крайние точки многогранни- многогранника Х%. Согласно теореме 2.13 многогранник Хз совпа- совпадает с выпуклой оболочкой множества своих крайних точек: \x=^yjS\ Sft = l, W>0, / = 1,2 TV}. JV Поскольку X — XA П X%, то точка ж= S .Vjs' принад- ¦ j=i лежит множеству Х в том и только том случае, когда / =1, 2, . . .', Л7, II ДЛЯ X ВЫПОЛНЯЮТСЯ 266
ограничения, определяющие ХА: N 3=1 Значение целевой функции на векторе х также можно выразпть через &\ / = 1, 2, ..., N: <cs jr> = 2 J/j <c-. A"J>- Обозначнм Ъ=<с, «О, / = 1, 2, ..., /V, Tf = (Tf,, Tf2, ..., Tfw), @' = 4«J, / = 1, 2, ..., Л', у = (у,, у2, ..., ylY). Зд_есь у, ~ число, Q1 — /га-мерпый вектор. Исходная задача G.38) эквивалентна следующей за- задаче линейного программирования: Каждому решению у* = (у{, yl, . ..,i/w) задачи Л' G.39) соответствует решение х* — 2 J/j's' задачи G.38). Задача G.39) называется главной для задачи G.38). На первый взгляд может казаться, что описанное све- сведение исходной задачи к главной нецелесообразно, по- поскольку для построения задачи G.39) необходимо опреде- определить все крайние точки s], j = 1, 2, ..., N, многогранника %а- Число N этих точек может быть очень велико, и их нахождение в таком случае — трудоемкая процедура. Однако весь смысл построения главной задачи заключает- заключается в том, что ее можно решить, имея в своем распоряже- распоряжении для начала лишь одну крайнюю точку многогран- многогранника Xj(- Приведем задачу G.39) к капопическому виду, введя дополнительные переменные 1)n + >, Ух+г, ••., Ук+т — по числу ограничении типа неравенств: max <y, у} ] = b, 2 J/;" = 1» 'y}>0, / = 1,2 N + m, где e' — i-ii орт пространства Rm. v 267
Для сокращения записи введем обозначения , ; = ЛЧ-1, N + 2 N + m, i - lb\ - b = U, у = (vi, Va. • • •• Vjv, 0, ...,0)eH Тогда главная задача в канонической форме принимает вид max<V,y> G40) 2>Q'yi = b, г/,->0, /=1, 2, ...,N + m. 5=1 Допустим, что известен начальный опорный план г/° = = (j/ij_.2/2i •• -,Л%+т) для задачи G.40) и его базис К?*1! Q4i ...,^lm+1}. Применим для численного решения задачи модифицированный симплекс-метод (см. § С гл. V). Обозначим а = {*17 i2 im+1}, Aa = (^il, ^i2 ^!-+'), Первый вопрос, который следует выяснить относительно плана у" согласно процедуре модифицированного симп- симплекс-метода,— является ли этот план оптимальным? Для этого (см. E.41), E.42)) вычисляется вектор и величины Обозначим Р° = (Pi. Р2» ¦ •"•» Pm. Pm+l). Р° = (Ри Pi, Учитывая, что последняя координата каждого вектора Q1, j = 1, 2, ..., iV, равна 1, получаем Ai = <Q\ P°> + P°m+i - Y5, 7^о, 1</<ЛГ. G.41) 268
При / S* N имеем Дл+*= (QN+\ p°> —YN+i= pi, поскольку 1л+. - О, <?Л+1 = е\ 1-1, 2, ..., т. Таким образом, значения Aj при / ^ Л' известны. Вмес- Вместе с тем, формула G.41) не позволяет непосредственно вычислить величины AJt l^j^N, поскольку при ) Ф о векторы @J не известны. Подставим в G.41) выражения для Q1 и ^ через sJ: Aj = (As\ р»> - <С, в'> + А%! = <Л'/>« - С, ?3> + Для того чтобы узнать, есть ли среди величин Дя /=1, 2, ..., iV, отрицательные, достаточно взять тот индекс t, l^t^N, для которого знамение (А'р0 — с, s'> мини- минимально среди всех чисел {А'р0 — с, sO, l^/^A', и рас- рассмотреть число А,. Если Д,^0 и А№+*^0 для всех ?=1, 2, ..., т, то план г/° оптимален. Для нахождения подхо- подходящего индекса t нужно решить задачу min (А'р0-с, sj>. G.42) jV Поскольку ' минимальное значение линейной функцин <А'р" — с, хУ на многограннике Х% совпадает с мини- минимальным значением этой функции на множестве крайних точек, то задачу G.42) можно заменить следующей зада- задачей линейного программирования: min <А'р" — с, х>. G.43) Лх^д, х>0. Поскольку А — блочно-дпагональная матрица, то за- задача G.43) распадается на к задач меньшей размерности. Если обозначить через qh вектор, составленный из коор- координат вектора А'р" — с с номерами Гь-, + 1, rft_, + 2, ... ,.., rft, то решение G.43) сводится к решению к задач min <q\ xh> G.44) Аьх* ^ b\ z" S* 0, для h = 1, 2, ;.., к. Если x*h — решение задачи G.44), то вектор х* = = (а;*1, я*2, ..., х*к) является, очевидно, решением для G.43). Пусть х* — опорный оптимальный план задачи G.43), совпадающий с одной из крайних точек многогран- 269
. ). Вектор Q является одним из векторов Q1, 1 «с / «s Л'. Еслп A = (А'р° — с, 0, то выполняются условия Aj 3* 0, / = 1, 2, ... , Указанный прием позволяет проверить оптимальность плана т/^ и, если он таковым не^ является определить вектор Q (или один из векторов QN+i, I ^i^m), подле- подлежащий введению в базис согласно правилу 1 симплекс- метода. Для того чтобы найти вектор, выводимый ил базиса, теперь можно применить обычную процедуру модифици- модифицированного симплекс-метода, в которой требуется лишь знать векторы A^Q п A^if^. После этого осуществля- осуществляется переход к новому базису по формуле E.28). 3. Осталось указать способ' нахождения начального опорного плана if для задачи G.39) или, что то же, для задачи G.40). Поскольку в G.40) имеется т+1 ограни- ограничений, не считая условия неотрицательности переменных, то базис опорного плана (в предположении, что ранг мат- матрицы ограничений равен числу уравпенпй) должен со- состоять из т+1 векторов. Нетрудно видеть, что для отыс- капия начального опорного плана достаточно знать одну крайнюю точку многогранника Х~А. В самом деле, пусть •имеется крайняя точка s1 многограннику А'д. Тогда в ка- качестве базиса для G.40) можно взять {Q1, QK+>, <?'Y+2, ... ..., QN+m), где (?'—L )• Этот базис соответствует плану у0 = (yl, у°2, ...,у%+т), где jtf = l, y°i=0 при °N+i = Ь\ — (Asl)i при 1 <J I «^ т. Определение одной крайней точки sl многогранника Хд не составляет труда, поскольку если гл — крайняя: точка многогранника {x\Ahxh ^ bh, xh>0), то х=(х\ х2, ..., хк)—крайняя точка в Х'Х. Поэтому для отыска- отыскания x{=sl) достаточно применить к задачам G.44) метод нахождения начального опорного плана, как он описан в гл. V.
ГЛАВА VIII. МЕТОД РЕГУЛЯРИЗАЦИИ НЕУСТОЙЧИВЫХ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ § 1. Понятие устойчивости задач линейного программирования Одна из проблем, возникающих при численном реше- решении задачи линейного программирования вида max <c, хУ (8.1) связана с тем, что ЭВМ оперирует лишь приближенными значениями параметров задачи, округляемыми в процес- процессе "счета. По сути дела происходит замена задачи (8.1) некоторой задачей . max <с(б), я> ¦ ¦ * (8.2) где относительно матрицы АE) и векторов 6F), с(б) из- известно только, что они в определенной степени близки к истинным значениям соответственно матрицы А и век- векторов Ь, с. Для уточнения понятия близости матриц и векторов будем пользоваться обычной евклидовой метрикой: рас- расстоянием между двумя матрицами A = (dtj) и А ={аи) размером т X п назовем число И-л 1 = 1/2 2(а«-^)г- V i=l 3=1 Аналогично, если Ъ = (Ъи Ь2, ..., Ьт), 5 = E1( 52, ;.., 5т), то •II ь^ь 1=1/2 (bi-~biJ. 271
Если фиксированы матрица А и векторы Ь, с, то для любого 6>0 символ А(8) будет означать, что А(8) — некоторая матрица, принадлежащая б-окрестности матри- матрицы А, т. е. ЫШ-А\\<8.1 .(8.3) Аналогично 6F), с(б) — некоторые векторы, для которых выполнены соотношения 116F) - Ъ\\ < б, (8.4) 0с(б)-с11<6. (8.5) Задачу вида (8.2) будем называть возмущенной зада- задачей, принадлежащей б-окрестности задачи (8.1), если выполнены условия (8.3) —(8.5). Пусть Х° — множество решений задачи (8.1), d — ее зпачение; Х°(б) п d{8) — соответственно множество реше- решений и значение возмущенной задачи. Первый вопрос, возникающий из сопоставления задач (8.1) п (8.2), каса- касается проблемы существования решения у возмущенной задачи. Определений 8.1. Задачу (8.1) назовем устойчи- устойчивой, если существует такое число бо>О, что для всех б, О г? б г? б0, задача (8.2) имеет решение. Другими словами, задача (8.1) устойчива, если она имеет решение, а также имеет решение любая задача, получающаяся из нее не- небольшими изменениями параметров. Пусть задача (8.1) устойчива и б>0 таково, что возмущенная задача имеет решение х*{8) е Х°F). Сфор- Сформулируем возникающие здесь два вопроса. 1) Будет ли величина d{8) значения задачи (8.2) близка к числу d? 2) Будет ли вектор х*{Ь) близок к множеству Х° ре- решений задачи (8.1)? Определение 8.2. Задача (8.1) называется устой- устойчивой по функционалу, если а) она устойчива; б) для любого е >0 существует такое б>0, что как только выполнены условия (8.3) — (8.5), то ldF) — d\ < e. Иначе можно сказать, что значение задачи (8.1) как функция d(A, b, с) ее параметров в этом случае непре- непрерывно. ¦ ' Определение 8.3. Задача (8.1) называется устой- устойчивой по решению, если 272
а) она устойчива; б) для любого е >0 существует такое число б > О, что при выполнении неравенств (8.3)—(8.5) для любого я*F) еХ°Сб) найдется ж* е X", удовлетворяющий условию IIjs*F) -2*11 < е. Ясно, что если задача (8.1) неустойчива в Емысяе хотя бы одного из определений (8.1)—(8.3), то ее решение на ЭВМ может привести к результатам, сильно отличающим- отличающимся от истинных. Обсудим еще один аспект, связанный с понятием ус- устойчивости задачи линейного программирования. При исследовании математических моделей реальных явлений существенную роль играет тот факт, что параметры мо- модели, получаемые на основе статистических данных либо в результате экспериментов, известны зачастую прибли- приблизительно, с определенйой степенью точности. Поэтому, если исследуемая модель имеет вид (8.1), то можно ска- сказать лишь то, что истинная модель явления описывается одной из задач виДа (8.2). В связи с этим вопросы о взаимосвязи этих задач актуальны с точки зрения практики. Цель дальнейшего изложения — получить критерии устойчивости задачи и описать способы ее решения а том случае, когда задача неустойчива. § 2. Параметрические системы линейных неравенств Рассмотрим произвольную систему линейпых не- неравенств Ах^Ъ. (8.6) Обозначим через К многогранный конус K=Cp(ait а2, .?* '..., ат) в пространстве R", натянутый на вектор-строки матрицы А (т. е. являющийся их конической оболочкой). Теорема 8.1. Если множество X решений системы (8.6) непусто, то X ограничено тогда и только тогда, когда К = Rn. Доказательство. Пусть К = R". Тогда для вся- всякого орта е\ / = 1,2,..., п, найдется такой неотрицатель- неотрицательный вектор р\ что ei = A'pi. Если х= (х,, хг, ..., хп)^Х, то Х]= (е\ х> = <А'р\ хУ = (р\ АхУ. Используя неотрицательность р' и неравенство (8.6), по- получаем (р1, Ах) ^ (р1, Ъ), откуда Zj^S (p1, 6>, 18 с. А. Ашмггаов 273
Обозначив М = max <p\ &>, имеем = 1,2,..., п. Аналогично можно получить оценку Xj Э= М, воспользовавшись тем, что — е1 е К. Таким образом, для любого х^Х выполняются неравенства М *? х}*? М, j = = 1, 2, .. ., п, и значит, множество X ограничено. Обратно, предположим, что множество X непусто и ограничено, т. е. существуют такие константы М и М, что неравенства <eJ, хУ^М, <,—е>, хУ^М, / = 1, 2, ... ;.., и, выполняются для любого х ^ X. Это означает, что каждое из. этих неравенств является следствием системы (8.6). Из теоремы 2.27 вытекает, что в таком случае су- существуют векторы р3 > 0, q1 > 0, /=1, 2, ..., и, для ко- которых выполняются равенства А'р' = е>, A'q^—e', / = = 1, 2, ..., и. Последнее означает, что конус К совпа- совпадает со всем пространством R". Теорема доказана. По определению конуса, в том случае, когда K = Rn, всякий вектор ceR» можно представить в виде неотри- неотрицательной линейной комбинации строк матрицы А. Сле- Следующая лемма уточняет этот факт, утверждая, что все коэффициенты линейной комбинации можно взять поло- положительными. Лемма 8.1. Если конус К совпадает со всем прост- пространством R", то для любого ceR" существует такой вектор р>0, что А'р = с. Доказательство. Покажем вначале, что сущест- существует такой вектор р>0, что Ар = О. Предположим про- противное. Тогда согласно теореме 2.30, найдется вектор х е е R", для которого Ах > 0, Ах Ф 0. Для этого вектора х существует такой неотрицательный -вектор q > 0, что —x=A'q (так как # = R"). Умножив это равенство ска- лярно на вектор х, получаем — (.х, xy = (A'q, хУ = = <<?, АхУ^О, откуда вытекает, что х = 0. Но это про- противоречит условию Ах Ф 0. Если теперь с ^ R" — произ- произвольный вектор и А'р = с, то А'(р + р) = с и р + р>0. Лемма доказана. Аналогично тому, как мы сделали в § 1 для задачи линейного программирования, .сопоставим системе линей- линейных неравенств (8.6) возмущенную систему АШх^Ыб), (8.7) где АШ и 6F) удовлетворяют условиям (8.3) и (8.4). 274
Для дальнейшего понадобятся некоторые сведения из линейной алгебры, которыми мы на протяжении преды- предыдущего материала не пользовались. Лемма 8.2. Если элементы b{j, i, j = 1, 2, ..., п, квадратной пХп-матрицы В = (Ь{1) достаточно малы по абсолютной величине, то матрица . (/ — В) невырождена. {Здесь I — единичная матрица порядка п X п.) Доказательство. Покажем, что если 1Ь«1<1/га, i, J = l, 2, ..., п, то I — B—невырожденная матрица. Допустим противное, тогда существует ненулевой вектор х = (л;,, х2, ..., хп), удовлетворяющий равенству (/ — В)х— п = 0, причем можно считать, что ^] | х}; | = 1. В таком 3=1 п случае х = Вх, или х\ = ~^Ьцх-,,1 = 1, 2, ..., п. Восполь- 3=1 зовавшись свойствами абсолютной величины числа, полу- п чаем 1 ж, | <! 2 l^j| \xj\-> i — 1, 2, ..., п. Суммируя правую 3=1 и левую часть этого неравенства по I, имеем п п )=1 \i=l / j—1 Полученное противоречие доказывает лемму. Лемма 8.3. Пусть матрица А размеров mXn (m Эг п) имеет ранг п, т. е. ее столбцы а\ ) = 1, 2, ..., п, линейно независимы. Тогда матрица А'А невырождена. Доказательство. Отметим, что матрица А 'А име- имеет размеры пХп. Пусть ieR" таков, что А'Ах = 0. Умножив это равенство скалярно на х, получаем 0 = = (А'Ах, хУ = <Ах, АхУ. Отсюда Ах — 0. Поскольку 0 = Ах = х,а* + хгаг + ... 4- хпап, ¦ то в силу линейной независимости столбцов матрицы А получаем х) = 0, 7 = 1, 2, ..., п. Следовательно, из ра- равенства А Ах = 0 вытекает х = 0, что и означает невы- невырожденность матрицы А'А. Лемма 8.4. Если элементы йц, 1=1, 2, ..., m, j = = 1, 2, ..., п, матрицы D = (dij) достаточно малы по абсолютной величине, матрица А размеров mXn имеет ранг п, то матрица А'(А — D) невырождена. Доказательство. Так как А'(А — D) = А'А — A'D, то воспользовавшись тем, что у матрицы А'А существует обратная (лемма 8.3), можно написать A'(A— D) = 18* 275
-A'AU-WAWD). Матрица 1А'АУХА' фиксирована, поэтому с помошью матрицы D можно добиться, чтобы все элементы матрицы В = (А'А)~*А'О были сколь угодно малы по абсолютной величине. Согласно лемме 8.2, мат- матрица 1 - В будет в таком случае невырожденной. Тогда A'(A-D) также невырождена как произведение двух невырожденных матриц А'А а 1—В. Следующая лемма является основным инструментом для изучения свойств семейства линейных неравенств вида (8.7). Лемма 8.5. Пусть ранг матрицы А размера тпХп равен п, вектор peRm таков, что р>0 и A'p = g, где geR" — некоторый фиксированный вектор. Тогда для любого е > 0 найдется такое число й0 > 0, что для всяко- всякого б, 0 ^8 ^ б0, существует вектор р(б), удовлетворяющий условиям А'ШрШ-g, (8.8) р(б)>0, (8.9) ПрF) - р\\ < г. (8.10) Доказательство. Будем искать вектор р(б) в виде р р , где Тогда g = А '(в)р(в) = А 'Шр + А 'ШАхШ. (8.11) Обозначим A— /4(fi) = D, т. е. IIDII < 6. Иа леммы 8.4 вытекает, что если й достаточно мало, то матрица А'А(б) = = А'(А — D) невырождена. Из (8.11) получаем, что при всех таких б (А 'ША )~lg - (А 'ША )-1А 'Шр = *F) (8.12) (поскольку А'ША = (АА'Ш)' — также невырожденная матрица). Так как элементы обратной матрицы являются не- непрерывной функцией элементов прямой матрицы, то ( Следовательно, существует предел lira х (б) = (A'Ayig - (ЛМ)-М'р=0, в->о так как А'р = g. Отсюда получаем, что существует предел lim {р (б) — р) = lim Ах (б) = 0. 6-»о 6-» о 276
Таким образом, вектор р(б) = р +Ах(б), где я(б) задается формулой (8.12), удовлетворяет условию (8.8). Поскольку lim р (б) = р, то при достаточно малом б0 > 0 неравенство в-»о (8Л0) выполняется для всех б, 0 ^ б ^ б0. Условие (8.9) также выполняется при достаточно малом б0, поскольку р>0. Теорема 8.2. Если множество X решений системы неравенств (8.6) непусто и ограничено^ то существует такое число б0 > 0, что для любого 6, 0 ^ б ^ б0, все мно- множества Х(б) ограничены в совокупности {хотя некоторые из Х(Ь), возможно, совпадают с пустым множеством). Доказательство. Из теоремы 8.1 и леммы 8.1 сле- следует, что существуют такие векторы pJ>0, q'f>0, что А'р1 = е\ A'q' = —e1, / = 1, 2, ..., п. Кроме того, из тео- теоремы 8.1 следует также, что ранг матрицы А равен п. Из леммы 8.5 заключаем, что для любого е "> 0 сущест- существует такое число б0 > 0, что для любого б, 0 ^ б ^ б0, найдутся векторы pJF)>0, дЧб)>0, / = 1, 2, ..., п, удовлетворяющие условиям* 5) = e3, . (8.13) ) = -e>, / (8.14) WpK8) — p'W < e, (8.15) \\qK8) - q4 < e, ' (8.16) 7 = 1, 2,..., n. Пусть a; = (.xt, x2, ..., xn) принадлежит одному из мно- множеств Х(8) при О ^ б ^ б0. Умпожив (8.13) скалярно на вектор х, получим = <А(8)х, Обозначим через Q б0-окрестность вектора b: Q {y\y eRm, Wy - Ы\ s? б0). Положим также. S} = {s|se Rm, Us—pjll^e). Очевидно, что Q и ^—компактны и 6F) е е<5, ^(б)^^. Пусть М' = max <j/, s>. tea1 Тогда x, ^ M\ / = 1,2...., n. m
Аналогично можно получить нижнюю оценку № для координат х, вектора х_^Х(б), используя (8.14), (8.16). Поскольку числа М\ М3 не зависят от б при 0 ^ б ^ б0, то тем самым теорема доказана. § 3. Необходимые и достаточные условия устойчивости задач линейного программирования Цель данного параграфа — показать, что все три по- понятия устойчивости задачи линейного программирования, введенные в § 1, эквивалентны, и вывести необходимые и достаточные условия, при которых задача (8.1) обладает этими свойствами. Как видно из результатов § 2, особую роль играет случай, когда ранг матрицы А ограничений равен п — числу ее столбцов. Определение 8.4. Конус К = Со(а,, а2, ..., ат) ^ R", натянутый на вектор-строки матрицы А, назовем телес- телесным, если ранг матрицы А равен п — числу ее столбцов. Определение 8.5. Вектор c^R" назовем внутрен- внутренним для конуса К, если существует такой вектор р ^ R, что р > 0, А'р = с. Важное значение при изучении устойчивости задачи (8.1) играет относительное расположение вектора с и ко- конуса К. О пределение 8.6. Будем говорить, что пара (.К,с) находится в общем положении, если многогранный конус К — телесный, а вектор с является его внутренней точкой. Сопоставим конусу К и вектору с многогранный ко- конус К° = Со(-с, K)^Rn. Лемма 8.6. Пара {К, с) находится в общем положе- положении тогда и только тогда, когда Кс = R". Доказательство. Пусть К° = R". Из леммы 8.1 получаем, что существуют положительное число а > О и вектор р>0, такие, что с = —ас + А'р, откуда с = А'р, где р = р/A + а) > 0. Тем самым показало, что с — внут- внутренняя точка конуса К. Пусть jeR" — произвольный вектор. Используя равенство Кс = R", получаем, что най- найдутся неотрицательные число а(х) >0 и вектор р{х) 5> 0, для которых х = — а(х)с + А'р(х). Подставляя выражение для с через образующие конуса К, получаем х = —а(х)А'р + А'р(х) = А'{—а(х)р + р{х)). Это означает, что произвольный вектор jeR* выража- 278 .
ется в виде линейной комбинации вектор-строк матрицы А. Отсюда выводим, что ранг матрицы А равен п, т. е. конус К — телесный. Докажем утверждение в обратную сторону. Пусть К — телесный конус, -с — его внутренняя точка, т. е. сущест- существует такой вектор р > О, что А'р = с. Предположим, что Кс Ф R". Тогда существует опорная гиперплоскость к многогранному конусу К", т. е. существует вектор х, удов- удовлетворяющий условиям х Ф О, <х, хУ *? 0 для всех х^Кс. В частности, <.г, —с> *? 0, (х, <Z;> *? О, I = 1, 2, ..., т, т. е. (х, с> > 0 и Ах < 0. Вектор Ах = х (а' + х2а2 ¦+¦... + хпап — не нулевой, так как столбцы матрицы А линейно незави- независимы. Следовательно, хотя бы одна из координат вектора Ах строго меньше нуля. Учитывая, что р > 0, получаем ОХр, АхУ = <А'р, хУ = <с, хУ>0. Полученное противоречие завершает доказательство. Лемма 8.7. Если многогранный конус С = = Со (git g2, ..., g,) совпадает с пространством R", то су- существует такое б0 > 0, что для всякого б, О^б=^бо, воз- возмущенный конус С(б) = Со (giF), ЯгF), ..., gAb)) также совпадает с R\ Доказательство. Предположим, что утверждение неверно, и пусть {6,,} — такая последовательность, что ¦6h>0, Km 6ft = 0 и каждый конус C{bk), k = l, 2, ..., не ft-* 00 совпадает с R\ Тогда для каждого С(бй) существует опорная гиперплоскость, т, е. такой вектор гД \\ук\\ = 1, что <ук, хУ <0 для всех x<sC(bh). В частности, <У\ ^Fft)>^0, г = 1, 2 г. (8.17) Поскольку векторы гД к = 1, 2, ,.., ограничены по норме, то последовательность iyk} можно считать сходя- сходящейся к некоторому у0: й*оо т. е. у°ФО. Согласно нашим обозначениям, символ giF) означает, что limgiF) = gi. Перейдя в (8.17) к пределу при &-*¦<», получим <г/°, gi>^0, г = 1, 2, ..., г. Отсюда следует; что <г/°, хУ-^О для всякого х^С, причем у°ФО. Последнее, однако, невозможно, так как С = R". 279
Рассмотрим задачу, двойственную к (8.1): min <&, рУ 18.18) А'<р = с, р>0. Рассмотрим копус KD = Со (а1, а1, ..., а", -а\ -а\ ..., -ап, v\ v\ ..., vm), где а\ /=1, 2, ..., и,—/-й столбец матрицы Л, у' — i-й орт пространства Rm. Очевидно, что задача (8.1) допустима тогда и только тогда, когда Ъ е К". Двойственная ей задача (8.18) до- допустима тогда и только тогда, когда с^К. Теорема 8,3. Задача (8.1) устойчива в смысле опре- определения 8.1 тогда и только тогда, когда каждая пара (К, с) и (KD, Ъ) находится в общем положении. Доказательство. Пусть задача (8.1) устойчива. Покажем, что в таком случае оба множества Х° и Р° ре- решений соответственно прямой и двойственной задачи ограничены. Пусть, например,, множество Х° неограничепо. Тогда, как следует из гл. II, Х° содержит луч вида x°-\-Xs, K>0, где s — некоторое направление, s Ф 0, <с, s> = 0. Пусть ceR" — любой такой вектор, что Hell = 1, <с, s> > 0. Рас- Рассмотрим возмущенную задачу вида (8.2), где Ж6) = А, ЫЬ) = Ъ, с(б) = с + бс. Тогда вектор х(Х) = x° + ks при- принадлежит Х° s X при любом К > 0, однако целевая функ- функция <с(б), х(Х)У = <с(б), а;°> + ^б<с, s> при любом фикси- фиксированном б > 0 растет неограниченно при К -*¦ °°, т. е. задача -(8.2) не имеет решения. Таким образом, ограниченность множества Х° — необ- необходимое условие устойчивости задачи (8.1). Аналогично доказывается утверждение относительно множества Р" с использованием того факта, что значепие прямой и двой- двойственной задач совпадают. Поскольку множество Х° может быть задано системой линейных неравенств <—с, хУ < — d, Ax^b, где d — зна- значение задачи, то из ограниченности множества Х° и тео- теоремы 8.1 вытекает, что К" = R". Лемма 8.6 утверждает, что в таком случае пара {К, с) находится в общем по- положении. Аналогично, множество Р° задается системой неравенств <b, p> <d, А'р^,с, — А'р«3 — с, - 380
йэ ограниченности множества Р° и теоремы 8.1 полу- получаем, что конус Со (—К°, Ь) совпадает с Rm. Тогда Со (К", -Ь) - Rm. Из леммы 8.6 теперь следует, что пара {К°, Ь) на- находится в общем положении. "Наоборот, пусть каждая из nap {KD, b) и {К, с) на- находится в общем положении. По.лемме 8.6 конусы Со (—с, К) и Со (—Ь, К") совпа- совпадают соответственно с R" и Rm. В таком случае, согласно лемме 8.7, конусы Со (-с(б), Ш)) и Со(-Ь(б), К°Ш), отвечающие возмущенной задаче (8.2) при всяком б, О < б < б0, также совпадают соответственно с R" и R", откуда с помощью леммы 8.6 получаем, что каждая из пар (Жб), с(б)) и IKDF), 6F)) находится в общем поло- положении. Это, в частности, означает, что с(8)еШ) и bF)s/fDF). В соответствии со сделанным выше заме- замечанием получаем, что задача (8.1) и двойственная ей допустимы при любом б, О =S б =S б0, а следовательно, обе имеют решение. Теорема 8.4. Если каждая из пар {К, с) и (К°, Ъ) находится в общем положении, то задача (8.1) устойчива по функционалу и по решению. Доказательство. Рассмотрим систему уравнений и неравенств п.пространстве Rn+m: <с, х> = <Ь, р>, (8.19) Ах^Ь, А'р-с, р>0. Из теории двойственности известно, что эта система имеет решение тогда и только тогда, когда имеют реше- решение взаимодвойственные задачи (8.1) и (8.18), и мно- множество ее решений совпадает с множеством Х° X Р° => *={(я, р)\х^Х°, реР"}, Из условий таоремы вытекает, что множества X" и Р" непусты и ограничены, откуда следует, что непусто и ограничено множество Х° X Р°, Сопоставим возмущенной задаче (8.2) систему , р (8.20) A'Wp-сШ, р>0. Из теоремы 8.3 следует, что существует число б0 > 0 такое, что при "всех б, О^б^бо, множество Х°(б)ХР°(б) решений системы (8.20) непусто. Из теоремы 8.2 следует, 281
Что множества Х°(Ь)ХР°Ш ограничены в совокупности при О *S б «? б0. Предположим, что утверждение теоремы не выполня- выполняется. Тогда существует такая последовательность {6ft} положительных чисел, lim 6ft = 0, что либо последова- ft-»oo тельность d(8k) не сходится к числу d — значению задачи (8.1), либо найдется такое число е > 0, что Wx — х(&к)\\ 2s e при всех хFк) е= ХЧ8к), к = 1, 2, ..., и всех х е Х\ ¦ Пусть яFА) sZ°Fft), рFк) ^ Р°(Ьк)— произвольные векторы, к — 1, 2, ... Поскольку множества Х°F)ХР0Ш ограничены в совокупности, то последовательности {хFк)) и (р(бА)} можно считать сходящимися. Пусть lim х(Ьк)=х°, lim р(бк) = р°. ft-» 00 Й-*ОО Поскольку векторы х(Ьк), р(Ьк) удовлетворяют системе. (8.20) при б = 6ft, а функции Ж6), Ь(б), с(б) непрерывны, то переходя в (8.20) к пределу при к -> °°, получаем Как уже отмечалось, это означает, что х° е Х°, р и <с, х") = d. В таком случае равенство lim a:Fft ft->oo противоречит условию Wx° — a:Fjlf > е. Поскольку lim d(8»)- lim <ar.(fi*), c> = <Л c> = d, ft-*oo ft-+oo то тем самым показано, что не может осуществиться и вторая возможность. ' Теоремы 8.3 и 8.4 завершают доказательство того факта, что все три понятия устойчивости задачи ли- линейного программирования эквивалентны. Поэтому, на- начиная с данного момента, термин «устойчивость задачи линейного программирования» будет употребляться без каких-либо уточнений. Теорема 8.3 позволяет сформулировать более удобные критерии устойчивости применительно к каждому типу задач Линейного программирования. Приведем соответствующие критерии для трех типов задач — вида (8.1), стандартной и канонической. Теорема 8.5. Задача (8.1) устойчива jozda и только тогда, когда 1) ранг матрицы А равен п — числу столбцов; 282
2) существуют такие векторы /eR" и p'eR^ что Ax"<b, А'р° = с, p">0. Доказательство. Согласно теореме 8.3 и опреде- определениям 8.4—8.6 задача (8.1) устойчива в том и только в том случае, когда ранг матрицы А равен п, и существу- существуют такие векторы р" е= Rm, у" <= R", 2° e R", w" е= R™, что р" > О, у" > О, z° > 0, w"> 0 и ЛУ = с, Лг/° - 4z° + u>° — Ь. Положив х" = у" — z°, получим, что последнее условие эквивалентно неравенству Ах" < Ъ. Теорема 8.6. Стандартная задача линейного прог- программирования max <c, х) Ах^Ь, х>0 устойчива тогда и только тогда, когда существуют такие векторы i'sR" и р° s Rm, что х" > 0, р° > 0, Ах" < Ь, А'рп>с. Доказательство. Приведем данную задачу к ви- виду (8.1): max <c, ж> Тогда К = Со(аь а2, .-.'., а™, -е1, -ег, ..., —е"). Конус К — телесный незаниспмо от свойств матрицы А, так как содержит п линейно независимых векторов — е\ j = = 1, 2, ..., п. В таком случае из условий георемы 8.3 остается лишь требование, чтобы вектор с был внутрен- внутренним для К, т. е. чтобы существовали положительные векторы p'eR™ и j'eR", для которых А'р° — у" = с, т. е. А'р">с. Аналогично доказывается утверждение от- носительно'вектора х". Теорема 8.7. Каноническая задача линейного прог- программирования max <c, х> Ах = Ь, х>0 устойчива тогда и только тогда, когда 1) ранг матрицы А равен m — числу ее строк', 2) существуют такие векторы х" <=Rn и р" е= Rm, что Ах° = Ь, х°>0, А'р°>с. Данное утверждение не нуждается в доказательстве, поскольку совпадает с теоремой 8.5, только здесь прямая и двойственная задача поменялись местами, 283
§ 4. Регуляризация неустойчивых задач Рассмотрим стандартную задачу линейного програм- программирования max <c, х> Ах<Ь, х>0. ¦ (8.21) Предположим, что данная задача неустойчива. Как следует из теоремы 8.6, это может происходить по двум причинам: не существует положительного вектора ж°>0, для которого Ах" < Ь; не существует положительного вектора р" > 0, для которого А 'р° > с. В любом из этих случаев решение задачи (8.21) на ЭВМ может привести к результатам, сильно отличающимся от истинных. От- Отметим, что даже в тех случая, когда задача (8.21) устойчива, этот факт часто нельзя установить по ее внешнему виду. В рамках общей методологии регуляризации некор- некорректных задач, принадлежащей А. Н. Тихонову (см., па- пример, [25]), построены методы, позволяющие решать произвольную задачу линейного программирования с лю- (я>й степенью точности безотносительно к тому, устойчива она или нет. Изложим метод регуляризации, не выводящий за рам- рамки линейного программирования. Будем предполагать, что задача (8.21) имеет решение. В частности, это означает, что допустима как задача (8.21), так и двойственная к ней, т. е. существуют векто- векторы х S* 0: Ах < Ь, и р > 0: Ар. S* с. Сопоставим (8.21) возмущенную задачу вида max <c — бе, хУ ¦ (8.22) 'Ax.^b + bv, x>0, где 8>0-число, е = A, 1, ..., 1) gR», v = A, 1, ... .... l)sR- Лемма 8.8. Если задача (8.21) имеет решение, то задача (8.22) устойчива при любом б > 0. Доказательство. Покажем, что для задачи (8.22) выполняются условия теоремы 8.6. Положим х" = х + ае, р" = р + av. Поскольку Ах < Ь + 6у, А'р> с — Ье, то 284
найдется такое число а > 0, что Ах" = Ах + аАе < b + 6w, При этом х" > 0, р" > 0. Обозначим через d значение задачи (8.21), через dF) — значение задачи (8.22). Теорема 8.8. lim dF) = d. e-o Доказательство. Пусть я* и р* — решения со- соответственно задачи (8.21) и двойственной к ней. Вектор х* допустим для (8.22) при любом б > 0. Следовательно, <с-бе, **>*?dF), или <с, я*>-6Че, х*>^йШ. Учиты- Учитывая, что <с, х*У =¦ d, получим dlfi) >d- fi<e, x*>: (8.23) Проведя аналогичные рассуждения для задач, двойствен- двойственных к (8.21) в (8.22), получим dF)«Sd + 6<u, p*>. Объе- Объединяя все это вместе, имеем d - 6<е, х*> < dF) ^ d + 6<y, p*>, откуда и вытекает утверждение теоремы. Осталось показать, что решение яF) задачи (8.22) при малых б близко к множеству X" решений зада- задачи (8.21), Лемма 8.9. Пусть б0 > 0. Множество У (б) решений задачи (8.22) ограничено в совокупности при всех 0 < < fi «S б0. Доказательство. Пусть i*eX" — решение за- задачи (8.21), р* — решение двойственной задачи-. Тогда А'р* — с^О и А'р* — (с — бе) > бе. Умножим данное не- неравенство скалярпо на произвольный вектор а;(б)еХ0(б): Ыб), А'р*> - Ыб), с - бе> > б<е, Так как <я(б), с — бе> = dF), <Ъ + бу, р*> = <Ь, р*> + 6<v, р*> = d + Uv, p*>, ><d + 6<u, p*> —dF). Воспо ем б<е, я(й)> ^ 6<i>, р*> + б<е, х*>, то б<е, xF)><d + 6<u, p*> —dF). Воспользовавшись (8.23), получаем откуда <е, х(б)> « <у, р*> + <е, х*>. 285
Поскольку е > 0, х(8) S* 0, а правая часть полученного неравенства от б не зависит, то лемма доказана. Теорема 8.9. Для любого е > 0 существует такое число 6>0, что для каждого решения хF)^Х''(б) зада- задачи (8.22) найдется решение х*^Х" задачи (8.21), удов- удовлетворяющее неравенству IM6) — ж*И < е. Доказательство. Предположим противное. Тогда найдется последовательность {6*} положительных чисел: lim 6ft = 0, и последовательность векторов. x($k) s X°FJ, /с = 1, 2, ..., для которых выполняется неравенство Мод - а;11 2* в (8.24) при любом х s Х°. Поскольку множества Х°Ш, согласно лемме 8.9, огра- ограничены в совокупности при 0 < б < бо, то последователь- последовательность lx(t)h)) можно считать сходящейся. Пусть х* = lim x(8k). (8.25) fe-°o Каждый из векторов х(Ьк) удовлетворяет условиям AxFk) «S b + 5hv, h , Переходя к пределу при к -*¦ °° в данной системе не- неравенств и уравнений и учитывая, что lim d(8k) = d (no теореме 8.8), получим d, Ax*<b, x*>0. Это означает, что х* е Х°. В таком случае формулы (8,24) и (8.25) противоречат друг другу. Таким образом, теоремы 8.8 и 8.9 обосновывают сле- следующий способ решения неустойчивой задачи вида (8.21): выбрать последовательность положительных чисел {6J такую, что lim 6ft = 0, и решать поочередно задачи (8.22) к-хх> для к = 1, 2 где следует положить б = 6„.
ДОБАВЛЕНИЕ. О НОВОМ МЕТОДЕ РЕШЕНИЯ ЗАДАЧ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Практика трех десятилетий решения задач линейного програм- программирования показала высокую эффективность симплекс-метода и различных его модификаций. Так, при решении задачи с т огра- ограничениями и п переменными, как правило, оказывалось достаточ- достаточно т итераций, причем количество элементарных арифметических операций было близко к числу п2т. Одновременно делались по- попытки теоретически оценить «трудоемкость» решения задач линей- линейного программирования в зависимости от исходных параметров. В 1972 г. американские ученые В. Кли и Дж. Минти построили пример задачи линейного программирования с п переменными и In ограничениями, для решения которой требуется не менее 2П—1 итераций симплекс-метода. Тем самым было показапо, что симн- лекс-метод на классе всех линейных задач является алгоритмом «экспоненциальной трудоемкости» — количество необходимых вы- вычислений оценивается экспоненциальной функцией параметров за- задачи. Аналогичные примеры известны для метода потенциалов транспортной задачи. Эти факты малоутешительны — они говорят о том, что существуют задачи не слишком большой размерности, решение которых симплекс-методом невозможно за обозримое вре- время. Хотя все примеры подобного рода весьма искусственны и при решении задач, пришедших из практики, ничего подобного не про- происходит, тем не менее возник вонрос: существует ли алгоритм, для которого необходимый объем вычислений при решении произволь- произвольной задачи линейного программирования выражается полиномом от параметров задачи? Другими словами, обладает ли класс задач линейного программирования экспоненциальной сложностью либо эта сложность полиномиальна? Мы не будем уточнять понятие «сложности», «трудоемкости» алгоритма, довольствуясь интуитивным пониманием этих терми- терминов. Сделаем лишь следующие замечания. Поскольку любая ЭВМ оперирует лишь рациональными числами с определенным числом разрядов, то, говоря о сложности алгоритмов, можно ограничиться задачами, в которых все входные параметры (элементы матрицы А, координаты векторов Ь и с) — рациональные числа. Более того, можно считать, что все параметры задачи — целые числа (для че- чего нужно лишь все рациональности привести к общему знамена- знаменателю). Естественно, что необходимая точность вычислений (т. е. число разрядов) должна учитываться при оценке сложности ал- алгоритма. Пусть в задаче max <с, ж>, Ах ^ 6, все элементы aij матри- матрицы А и координаты bj, Cj векторов b, с — целые; h = тах{|а^|, г. i 287
|6(|, [cj\], i = 1, 2, ..., m; / = 1, 2, ..., п. Понятно, чт&" трудоем- трудоемкость решения зависит от чисел in, п, h. Верно ли, что трудоемкость решения произвольной задачи ли- линейного программирования оценивается сверху полиномом от пе- переменных т, п, h? ¦ Упомянутые выше факты заставляли предположить отрица- отрицательный ответ на этот вопрос. Поэтому опубликованная в 1979 г. работа советского математика Л, Г. Хачияна «Полиномиальный алгоритм в линейном программировании» [27] произвела настоя- настоящую сенсацию. В этой статье к задачам линейного программиро- программирования применен принципиально новый алгоритм (так называемый метод эллипсоидов), построенный усилиями советских ученых А. С. Нвмировского, Н. 3., Шоша и Д. Б. Юдина, и доказана теоре- теорема, которую можно сформулировать следующим образом (для про- произвольных функций /(?), g{%) будем писать / = O(g), если суще- существует такая константа К, что /(|) ^ Kg{t) для всех |). Теорема 1. Для решения задачи линейного программиро- программирования достаточно 0{п*{п -f- m)ln hn) элементарных операций {сло- {сложение, вычитание, умножение, деление, извлечение квадратного корня, нахождение наибольшего из двух чисел). При этом доста- достаточна точность {число разрядов) вычислений 0{nln hn). К сожалению, мы не можем привести здесь достаточно под- подробное изложение метода эллипсоидов, ограничимся лишь общим описанием Л. Г. Хачияном в [28] несложно показано, что для ре- решения задачи линейного программирования достаточно иметь ал- алгоритм, позволяющий выяснять совместность или несовместность произвольной системы неравенств вида Ах < Ь. A) Именно для решения такого вопроса и применяется метод эллип- эллипсоидов. Основой являются следующие соображения. Пусть S — максимум модуля миноров расширенной матрицы системы A). Из известного неравенства Адамара вытекает следующее соотношение между б и А: ¦ In бга < n In hn. Лемма 1. 'Если система {1) совместна, то в шаре Еа = — {х | ||z|| ^ б Уге} найдется ее решение. Доказательство. Понятно, что достаточно рассмотреть случай, когда ранг матрицы А равен п — числу переменных. Возь- Возьмем тогда какую-нибудь-крайнюю точку х множества решений A), По теореме 2.18 и согласно правилу Крамера координаты x_s точ- точки х имеют вид Xj = Aj/Д, где Д.,-, Д Ф 0,— некоторые миноры рас- расширенной матрицы системы. Тогда |Д|| ^ б, |Д| ^1 в силу цело- численности коэффициентов и |JEj| ^ fi. Таким образом, если система A) совместна, то лемма 1 позво- позволяет локализовать по крайней мере одно из ее решений. Введем в рассмотрение функцию Q{x) = ma,x{(Ах){ — bi} —невязку в точ- Ki< K ке гей". Обозначим х° = 0 центр шара (эллипсоида Ео). Если 0(г°) ^ 0, то ж0 —решение системы A). В противном случае (если 288 '
6(x°) > 0) пусть s таково, что Q(x°) = (as, х°У — Ьа. Это значит, что х" не удовлетворяет s-му неравенству в системе A). Понятно, что всякий вектор х, удовлетворяющий этому неравенству, обязан лежать в полупространстве (а,, х}> ^< <а8, х°). Пересечение <?о этого полупространства с Еа представляет собой полузллипсоид (так как гиперплоскость <а„, ж>=<а„, ж°> проходит через цептр Ео). Из предыдущих рассуждений вытекает, что <?о должно содержать решение системы A). С тем чтобы алгоритм был устроен единооб- единообразно на всех итерациях, опишем около Qa эллипсоид Et возможнр меньшего объема и затем повторим предыдущие построения с эл- эллипсоидом Е\ и его центром х1. Отметим очевидное сходство этого алгоритма с процессом деления отрезка пополам. Формальные вы- выкладки выглядят следующим образом. Произвольный эллипсоид Е в Rn можно задать формулой Е= {у\у = x+Bz, ||г||^1}, где х — центр эллипсоида, В — некоторая геХге-матрица. К началу к-& ите- итерации Яетода эллипсоидов имеются центр xh очередного эллипсои- эллипсоида и соответствующая матрица В/,. Итерация с номером к = 1, 2, ... состоит в следующем: 1. Вычисляется невязка Q(xk) для вектора xh. Если Q(xh)-^. О, то хь — решение задачи и вычисления прекращаются. В противном случае отыскивается индекс s, для которого Q(xk) = <яа, хк} — bs. 2. Находится вектор t]k — Sfta3 . Если г]ц = 0, то вычисления прекращаются. В противном случае формируется матрица Га, эле- элемент с номером (г, /) которой равен числу (r\k)i- (т|А)t. 3. Определяется новый эллипсоид по формулам Отметим, что вычисления по этим формулам можно произво- производить приближенно с указанной выше точностью, что позволяет не выходить из области рациональных чисел. Алгоритм останавливается либо но предусмотренным причи- причинам, либо через О(пЧп6п) итераций. Обоснование алгоритма заключается в следующих утверж- утверждениях. Лемма 2. Если система A) несовместна, то для любой точки R в 1/Bб) () () Доказательство опустим, так как оно основано на той же идее, что и в лемме 1. Пусть 0 = min Q(x). Е п Теорема 2. Пусть для задачи A) метод эллипсоидов оста- остановился после N итераций и 0(ж1) = min Q(xh). Тогда Q(xi) ^ KfeOV+i () Доказательство, довольно кропотливое, см. в [28]. Лемма 3. Система A) совместна тогда и только тогда, когда 19 С, А. Ашманов 289
Доказательство. Если Q(xi) ^ 1/Dге6), то ий леммы 2 следует, что система совместна. Пусть 0(ж«) > 1/D/гб). Поскольку 6 > Q(xi) — 1/Dгеб) >0, то в(х)>0 для всех г <= ЕО. Из лем- леммы 1 тогда следует, что система A) несовместна. Можно проследить появление оценки числа элементарных опе- операций, данной в теореме. Всего итераций алгоритма требуется не более О(ге21пбге). На каждой итерации требуется О(пт) операций для вычисления невязки и О (га2) операций для нахождения новой- матрицы; общее число операций одной итерации, таким образом, равно О(ге(ге + т)). Следовательно, весь алгоритм требует О(п?(п+ + лгIпбге) операций. Привлекая соотношение между б и h, по- получаем требуемое. В заключение подчеркнем, что полученные оценки указывают на более высокую эффективность метода эллипсоидов по сравне- сравнению с симплекс-методом лишь в теоретическом плане — для самых «плохих» линейных задач, далеких от реальных. На практике же спмплекс-метод — по-прежнему основной инструмент в линейном программировании.
РАЗБОР УПРАЖНЕНИЙ К. • г л а в е II 1. Примером служит множество всех рациональных точек от- отрезка [0, 1]. 2. Пусть х\ г2е=Х, ie {г1, г2]. Деля отрезок, содержащий точку г, пополам, и учитывая, что концы отрезка принадлежат X, получаем последовательность точек (например, левых концов по- получающихся отрезков), принадлежащих X и сходящихся к х. Из замкнутости X имеем, что isl • 3. Пусть (хи г/,) <= X, (г2, у2) е X, а, Р > О, а + Р = 1. Надо доказать, что аг/i + {5г/2 Э* 1/(аг, + Рг2), учитывая, что г/, Е> 1/г,, Уя Э* 1/г2, ii > 0, г2 > 0. Отсюда лг/, Ss a/xh $уя ^ р/г2, или ayt + + $ц2 5г а/г, + Р/г2. Достаточно убедиться в выполнении неравенства а/г, + р/г2Э= l/ + 62), или a2 + ap(ii/i2 +г2/г,) + Р2> 1. Так как 2, то а2 + а0(г,/г 2+ г2/г,) + Р2 > а2 + 2оф + р2 = 1 (а + р) 1. 4. Возьмем точку E, 1/5), принадлежащую гиперболе, т. е. границе множества X, и построим касательную к гиперболе в этой точке. Для этого воспользуемся формулой (у — УаI(х — го) = = /'(?o) уравнения касательной к кривой у = /(г) в точке (г0, у0). Получаем уравнение прямой г/5 + 5у = 2. Подставляя в это урав- уравнение координаты точки E, 0), имеем A/5M + 5 • 0 < 2. Осталось показать, что г/5 + 5у Ss 2 для всякой точки (i, у) е X. Так как у Э* 1/г, то г/5 + Ъу ^ г/5 + 5/г 5s 2yx/5 E/г) = 2. Здесь мы вос- воспользовались неравенством между средним 'арифметическим и средним геометрическим двух положительных чисел; 5. Предположим противное,-.и пусть г1, г2 е X, г° е [г1, г2], х° ф X. Построим гиперплоскость <р, г> = с, отделяющую г° от X: <р, г°> > с, <р, х> ^ с, ieX Пусть г° = аг1 + ?г2, где а, р^ ^0, а + р = 1. Складывая неравенства <р, г1) гд; с, <р, г2) < с с коэффициентами аир, получаем <р, i°> ^ с, что противоречит уравнению гиперплоскости <р, г> = с. 6. Пусть г1, х2 s Z, 6 = г 72 + г2/2. Тогда ||6-all = || (*'- а)/2 + (г2 - а)/2|| «5 < ||ii - о||/2 + ||i2 - а||/2 < ||Ь - а||. Здесь мы воспользовались неравенством треугольника и тем, что ||г' — a|| sg; ||6 — а\\. Полученная цепочка неравевств показывает, что IU1 — a|| = ||6-a|| = ||x2-a||, || (х1 - а) + (х2 - а) || = Цг1 - а|| + ||х2 - а||. 19* 291
Из последнего равенства и свойств нормы следует, что *' — о •=' = к(х1 — а), где А. > 0. С учетом того, что длины векторов х1 — а и х2— а равны, получаем к = 1, т. е. хх = х2, откуда получаем, что Ь — крайпяя точка. 7. Пересечение гиперплоскости и выпуклого компакта являет» ся выпуклым компактом. Согласно упражневию 6 это пересечение обладает крайними точками. Очевидно, что крайние точки пересе- пересечения являются крайними и в исходном выпуклом компакте. 8. Пример па плоскости: надграфнк положительной части гиперболы (см. упр. 3) и прямая у = 0. 9. Пусть <р', х> = с,, <р2 х> = с, таковы, что <р', х°> ¦= et, <р2, r°> = cs, <p', i> «д; с,, (р*, х> г^ са для любого ieX. Нетруд- но убедиться, что произвольная гиперплоскость <р, х> «= с, где р = ар1 + рр2, с •= ас, + рс2, я + ^ = 1, а, Р > 0, является опорной к X в точке х°. й 1 10. Пусть х = 2 а,*1, где 2 °Ч — 1. а,>0, / = 1, : t=i t=i /1\ * /1\ Очевидно, что! 1= 2аМ i ^Применяя лемму 2.1 к = 1, 2, ,,., к, в пространстве R"+), получаем, что точку ) можпо выразить в виде лпнейпой комбинации п + 1 точки X I 1+1 П+1 где 2 Р. = '• Р«> 0. * - 1. 2, ..., п + 1. Тогда i = 2 Pi1'*- » —1 ' s=l 11. Проверяется непосредственно определение 2.6 выпуклого конуса. 12. Пусть р1, р2 е К*, a, ji ^ 0. Если х s К — произвольный вектор, то <х, ар1 + рр2> = a<i, р'> + P<i, p2> ^ 0, так как <*, р'ХО, <*, р!><0. 13. Если рей*, то <е', р> ^ 0, <—в', р> ^ 0, где в1 — t-й орт пространства К", ( = 1, 2, ..., п. Следовательно, Я* = 0. 14. Ясно, что К+ э К*. Пусть р е К+, а; е К. Тогда ft k х = 2 Pi**» <Р> *> = 2 Pi <Р«*1> < 0, т. е. й+ С й*. i=1 1=1 „ 15. Согласно упр. 14 К* можно задать системой линейных неравенств <*>, р> ^ 0, I = 1, 2 fc, где х\ ( = 1, 2, ..., fe,— образующие многогранного конуса К. По теореме 2.19 имеем, что К* — выпуклый многогранный^ конус. 16. По следствию из теоремы 2.13 К =Я**, поэтому достаточно применить утверждение упр. 14. 17 Пусть К — наименьший выпуклый конус, содержащий множество М. Поскольку Со (М) является выпуклым конусом и пересечение выпуклых конусов сало является таковым, то Со М =j 292
Э К. Вместе с тем, по определению выпуклого конуса, /Г содер- содержит все неотрицательные линейные комбипацпи элемевтов мно- множества М, т. е. К э Со (М), К гл а в е III 1. Яспо, что рассматриваемая вадача допустима — вектор х = 0 является ее плапом. Покажем, что двойственная задача min <Ь, р> А'р > с, р > О также допустима. Пусть е= A, 1, ..., 1)еП*. Тогда и, как следует из услоппй пп матрпну А, все координаты этого вектора положительны. В таком случае для достаточно большого X > 0 будет выполнено условие ХА'е ^ с, т. е. вектор р = Ке до- допустим для двойственной аадачи. Поскольку и прямая и двой- " ственная задача допустидгы, то согласно теореме двойственности они обе имеют решения. 2. Вариант 1. Пусть Я = {г|/4г г^ 0}. Если для всех is еХ выполняется неравенство <с, xj ^ 0, то ясно, что х = 0 — репГенпе данной задачп. Если же существует такой вектор i°eX, что <с, г°> > 0, то рассматриваемая задача не имеет решения — любой вектор вида \х°, где А, > 0, принадлежит X, и значение АХ с, г°> может быть как угодно большим. Вариант 2. Задача D@, с) разрешима вместе с задачей П@, с). Поскольку целевая функппя в D@, с) задается пулевым вектором, то ее значевпе, а значит, и значение задачи П@, с), равно нулю. Следовательно, если П@, с) имеет решение, то г = 0 — оптимальный план. 3. Пусть х° — допустимый вектор исходной задачп лпиейпого программирования, р° — допустимый вектор двойственной задачи. Непосредетвенпо провернется, что эти же векторы допустимы для прямой и двойственной задачи с измененным 6', 4. Построим двойственную аадачу: max (pi + 2p2 + Зр3 + ... + прп) Pi + Рз + Р2 + ... + рп г? 1, Рг + Рз + ... + Pn < 2, р, >0, * 1= 1, 2, ..., п. Очевидно, что прямая и двойственная задачп допустимы, следовательно, имеют решения. Из условий неотрицательности вытекает, что для любого допустимого вектора p=(pi, p2, ..., р„) (а значит, и для решений двойственной задачи) Dee ограничения, 293
кроме первого, будут выполнены в. виде строгого неравенства п п 2Pi < 2pi ^l < *• По теореме равновесия, в любом решении i=k i=l х* = («*, i*, ..., г*) прямой задачи будет z|=0, / = 2, ..., п. От- Отсюда уже легко получить единственное*решение прямой задачи х* = (л, 0, 0 0). 5. Из условий 6, а, > 0 следует, что допустимое множество { х\х~^0, 2аЛ^*| непУсто И ограничено, следовательно, 5=1 J является выпуклым многогранником. Нетрудно убедиться, что все крайние точки этого многогранника имеют вид @, 0, ..., 0, Ь/а3, 0, ..., 0). Среди крайних точек оптимальными являются лишь те, для которых ckb/ak — max (с-Ы'а Л. Если такой индекс к — едип- 1<C jOi ственный, то и решение задачи единственно. Это, в частности, имеет место, когда все числа cfija.) различны. Пусть а = {к\, к$ ... '..., fc<,} — множество индексов кт, 1 <: кт ^ п, г = 1, 2, .,., q, для которых ckb/ak = max (Cjb/aj). Тогда векторы хг = @,0, ...,0, b/ak ,0, ,,.,0\, г = 1,2, ...,q, исчерпы- исчерпывают все крайние точки многогранника решений. Поэтому пропз- 9 вольное решение задачи имеет вид х = 2 агхт> где аг ^ 0, г = 1, 2, ..., ?, 2«г = 1. т-е. х = /0, ..., 0, а^Ыа^, 0, ..., \Ыакг> ..., 0, ag6/afc , 0, ..., 0). 6. Рассмотрим двойственную задачу mm (—4pt ip3 = 1, —pi — p2 — Рз = ЗА,, ри Р2, Рз>0. Поскольку для плана х° = @, 4) второе п третье ограничение прямой задачи выполняется в виде строгого неравенства, то для . оптимальности этого плана необходимо и достаточно, чтобы у двойственной задачи нашелся план вида р = (ри 0, 0). Тогда —[ipi = 1, —р, = ЗА,. Отсюда имеем ц < 0, X < 0 и ЗХи, = 1. 7. Ив условия вытекает, что неравенства <с, г> ^ d и <с, г> ;> J> d являются следствием системы неравенств Ах ^ 6, —Ах ^ <-Ь. Согласно теореме 2.25 существует такой неотрицательный 2т- мерный вектор (и, и), что А'и—А'и = с и <Ь, a> —<6, u> ^ i. Обозначив р = и— »б Rm, получим с = /1'р и <Ь, р> ^ i. Пока- Покажем, что <Ь, р> = d. Пусть i — произвольный вектор, для кото- которого Ах = Ь. Тогда <с, х) = <4'р, г> = <р, /1г> = <р, 6>. С дру- другой стороны, <с, я> = d (так как данное уравнение, по условию,— следствие системы Ах = 6), Таким образом, <р, 6> = d. 8. Пусть Ах° < 0, /1'р° > 0. р° > 0. Тогда прямая задача допустима, поскольку вектор Кх° при достаточно большом А,> 0 удовлетворяет ограничению. 294
Точно так же вектор \ьрй допустим для двойственной задачи при любом с и достаточно большом р. > 0. По теореме двойствен- двойственности заключаем, что обе задачи имеют решения при любых бис, Наоборот, пусть рассматриваемая задача имеет решение при любых бис. Тогда это же верно и для двойственной задачи. Возьмем 6 < 0, с > 0 и произвольные допустимые векторы х° и р°. Тогда Ах° < 0, А'р° > 0. 9. В качестве вектора с можно взять вектор аи Действитель- Действительно, для любого х^Х выполняется неравенство (.at, хУ <: bi, в то время как (ai, z°> = 6,-, т. е. <ai, z> <: <<Jj, z°> для всех иеХ, 10. Согласно упр. 9, Схо содержит ненулевые векторы. Пусть с1, с2 <= Сх0, а > 0, Р > 0. Нужно показать, что ас1 + Р<?2 е= Сжо> т. е.,что<ас1+Рс2,г0>><ас'+ Рс2> г> Для всякого iel Однако из включений с , с е Схо вытекает, что {с1, х0} > <cJ, x), <с2, г°> > {с2, х} Vx e X. Теперь нужно лишь умложить эти неравенства соответственно на а и Р и сложить. И. Пусть Ь1, 62eSc, а, р>0, а + р = 1, Ь = аЬ1 + рб2. Надо доказать, что 6 е Sc. Для этого достаточно убедиться в том, что задачи C.2) и C.4) допустимы. Задача C.4), очевидно, до- допустима, поскольку в ней множество Р не зависит от 6, а при целевой функции <Ь', р> она, по предположению, допустима. Обо- Обозначим через Х(Ь) допустимое множество задачи C.2). Пусть х1 е еХ(Ь'), z2.<=XF2). Тогда ах1 + pz2(= X(b), так как А (ах1 + + §г2) = a/li1 + М^2 < аЬ1 + рб2 = 6. 12. В обозначениях упр. И, 6eBt, b + Xs е Вс. Покажем, что 6 + X's является выпуклой линейной комбина- комбинацией этих векторов. Положим E = \'/\, а = 1 — р. Тогда яб. + +pF + A) b + k'B 13. Пусть задача П(Ь + ks°, с) имеет решение, s — произволь- произвольное направление. Очевидно, что существует (i > 0 такое, что ця ^ :> A,s°. Тогда 6 + (is ^ 6 + A,s°. Согласно упр.-З задача ПF + + (is, с) имеет решение. Упражнение 12 утверждает, что задача П(Ь + fs, с) имеет решение при всех 0 ==: f ^ (J.. 14. Пусть направление s таково, что <s, p) ^ 0 для всякого р еКр .Рассмотрим представление Р = Мр -\- Кр для допустимо- допустимого множества задачи 0F, с). Поскольку эта задача по предполо- предположению имеет решение, то <Ь, р> = 0 для всякого р^Кр и (.Ь, р> > 0 для всякогорел \К . Пусть р\ р2, ..., рт — все край- ние лучи многогранцого конуса Кр-, не принадлежащие /? . Вы- Выберем число X > 0 таким, чтобы выполнялись неравенства <Ь, р'>^ —Я<«, р'>, ? =¦ 1, 2, г. Поскольку любой вектор р е КР допускает представление 295
где i<=Kp° = 1,2, .... г, pi<=Kp°, /=1,2, ...,1, то <Ь+ Ь 2 <ЬЛ*> + \ Учитывая, что по условию <s, р>> > о, <Ь, р->> ^ 0, / = 1, 2, ..., Z, получаем <b + Xs, рУ^О для всех р = #р. Пусть d —значение задачи 0F, с). Тогда ясно, что <р, 6 + Xs> ^ d для всех р е Р. По теореме 3.1 заключаем, что задача D(b + \s, с) (а значит, я П(Ь + Xs, с)) имеет решение. Наоборот, допустим, что <s, р> < 0 для некоторого ре /?р . Пусть р* е Л/Р. Рассмотрим векторы вида р* + цр при и. > 0. Тогда <Ь + Х«, p* + (j.p) = <b, p*> + x<s, р*>+Хр.<«, р> (так как <Ь, р> = 0). Отсюда видно, что в данном случае целевая функ- функция задачи D(b + \sc) неограничена снизу при любом X и при и., стремящемся к оо. 15. Взяв в качестве направления s векторы ± и', из упр. 14 получаем, что <и\ рУ = Pi*^- 0, <—и', р> = — р; 5* 0, т. е. /и = О, i = 1, 2, ..., m, для любого p=(Pi> Р^> • • •> Pm)sKp . Это означает, что Кр =0и что множество Р° совпадает с многогранником Мр . 16. Согласно утверждению упр. 14 <s, р> ^ 0 для всехреАГ г Из следствия 1 теоремы 3.10 получаем, что достаточно доказать равенство min <«, р> = min <s, p1}, где р1, р2, ..., р*—все крайние точки многогранника Мр . h Всякий вектор ре Р° допускает представление р = 2 ai/>1 + Р» где р~еКр0. Тогда ft h > 2 а* i откуда и следует требуемое утверждение i=i 2, .».. , ft I. 17. Утверждение непосредственно вытекает из упр, 16. 296
18. Согласно теории двойственности, если прямая задача имеет решение, то и двойственная к ней: min<6, p> А'р = с, также имеет решение р*. Пусть х° — произвольный допустимый вектор прямой задачи. Тогда <&, р*>=<.Ах°, р*> = <х°, А'р*> = = <.х6, с>. Следовательно, значение целевой фнукции постоянно на всем множестве допустимых векторов. 19. Выпуклость функции, х\ +1* доказывается так же, как выпуклость круга (см. гл. II). Докажем выпуклость функции V*i -К х2. Для этого достаточно убедиться в выполнении нера- неравенства + а.хг + Pj/[ + Pj/2 Э* офч + ^ + PV</i + Уг для любых а, Р Э= 0, а +Р = 1. С учетом неотрицательности всех слагаемых этого неравенство эквивалентно следующему: ах, + ах2 + Pj/i -f- Рг/2 > > а2(х, + х2) + 2арУ(х, + а:2)(?/| + у2) + P2(j/, + j/2). Воспользовавшись неравенством о среднем арифметическом и среднем геометрическом, получаем, что правая часть неравенства, которое нужно доказать, не превосходит величины а2(хх-\-х2) + + aP(Z| + х2 + у, + у2) +P2(i/i + у2). Вспомнив, что a + р = 1, убеждаемся, что полученная величина совпадает с выражением в левой части неравенства. К главе IV 1. Непосредртвепно проверяется, что седловой точкой является пара стратегий (п, п). 2. Согласно лемме 4.2 стратегия х° является гарантирующей -для первого игрока, если она обеспечивает ему выигрыш не менее цепы игры и при использовании вторым игроком любой своей чистой стратегии. С учетом этого получаем, что множество Х° оп- оптимальных стратегий первого игрока задается системой условий А'х 3* vn, <х, е> = 1, х ~з* О, где vn — re-мерный вектор, все координаты которого равны v, е — m-мерный вектор, все координаты которого равны 1. 3. Утверждение следует из неравенства D.7) ¦. 4. Очевидно, что если S — изолированное подмножество, соот- соответствующее матрице А, то Л^\5 — изолированное подмножество для А'. 5. Утверждение непосредственно вытекает из теоремы Фробе- ниуса — Перрона. / 0 1\ , 6. Неверно, так как, например, матрица А = I ^ q I нсразло- .2 /10\ яшма, а матрица А = t о 1 J Разло}кима- 297
7. Свойство Xа = Ха' вытекает из характеристики Числа Ха. как наибольшего неотрицательного собственного числа матрицы А и из того, что собственные числа матриц А и А', совпадают. Свойство XAh = %\ следует из того, что каждое собственное число матрицы Ak имеет вид Xk, где X — некоторое собственное число матрицы А, и иэ того, что \Х\ ^ \ХА\- Свойство ХаА = аХА получается аналогично. Чтобы доказать последнее свойство, воспользуемся характе- характеристикой числа Ха как нуля монотонно убывающей функции и(Х) (см. формулу D.16)). Понятно, что если В 5s А, то для со- соответствующей функции ив(Х) имеем неравенство ив(Х) ;> и(Х), откуда и получаем, что нуль Хв функции ив(Х) лежит правее нуля Ха функции и(Х). 8. Пусть матрица А -разложима, причем S^N — изолирован- изолированное подмножество. Тогда для любых i e S, } ф. S последователь- последовательность, указанная в упражнении, существовать не может. В са- самом деле, в такой последовательности обязательно должен встре- встретиться элемента,-^ , где it e S, i<+i<^S, а но определению мно- множества 5 он должен равняться нулю. Наоборот, пусть матрица А неразложима, однако имеются индексы i0, /о, которые нельзя соединить последовательностью, указанной в упражнении. Обозначим через S множество всех та- таких индексов, которые можно соединить с i0 аналогичной после- последовательностью. Поскольку /о ф. S, то S ф N. Если предположить, что 5=0, то это означает, что строка аг в матрице А нулевая, чего, очевидно, не может быть в неразложимо^ матрице. Нетрудно видеть, что S— изолированное подмножество, так как если ieS, j 0. S, то элемент ац = 0. Действительно, если atj > 0, то взяв последовательность, соединяющую 1а и i и присоединив к ней элемент /, получим последовательность, соединяющую ц, и /, что невозможно согласно выбору / ф. S. Наличие изолированного под- подмножества S в матрице А, предполагаемой неразложимой, дает про- противоречие, доказывающее нужное утверждение, 9. Поскольку хт = хт, и поэтому число <с, хт> рапно значе- значению задачи, то для доказательства утверждения достаточно пока- показать, что траектория {х'} удовлетворяет ограничениям задачи D.26). Действительно, Ахг = , t = 2, 3, ..'., Т, Ах1 = Атхт sg x°. Последнее неравенство легко получается из условий задачи D,27). 10. Отметим, что в этой задаче не наложено условие неотри- неотрицательности на переменные. Поэтому в двойственной задаче огра- ограничения носят характер равенств: min <x°, р°> pt+i =A'p', t = 0, 1, .... Г-1, <рт, х> = 1, р, 2* 0, « = 0,1, 2,.., Т. Дальнейшие рассуждения аналогичны ходу доказательства в тексте. 298
lit Непосредственно проверяется, что если матрица А имеет вид D.27), то "А 0 0...0 0N О А 0 ... О О . О 0 0 ... О А, где I = AaAi ... Ат-\. 12. Допустим противное. Тогда найдется последовательность г", для которой || я* || = 1, Axh < хк, и индекс /, для которого •¦ 0. Последовательность хк можно считать сходящейся. Пусть limzft = x°. Тогда Ах" ^ х° и равенство ж* = 0 нротиворе- чит следствию из леммы 4.5. К г л ав е V 1. Утверждение вадачи очевидно, так как если Ах = 6, то QAx = Qb, и наоборот, если QAx = Qb, то ф-'^Мг = Q~[Qb, т. е. Ai = 6. 2. Вычтем каждое уравнение второй системы из соответствую- соответствующего уравнения первой: Поскольку переменные ц, ) е со,— свободные, то полученные ра- равенства должны удовлетворяться при произвольных значениях xj, j s to, откуда и следует нужное утверждение. 3. Рассмотрим точку вида х = ах1 + A — а)х2< гДе 0 < а ^ 1. Тогда <с, х> = а<с, х'> + A - а)<с, i^> > > а<с, z2> + A - а)<с, х2> = <с, х2> при любом полцжительпом а. С другой стороны, расстояние между точками х и х3 может быть cKoVib угодно мало при выборе достаточно маленького а; Цх — 12Ц = Цах1 + A - а) х2 — х2\\ = а\\х1 — г2|| -> 0 при а -*¦ 0. 4. Пусть i*eX-локальный максимум в задаче линейного программирования и предположим, что он не является глобаль- глобальным, т. е. существует точка iei, для которой <с, Т> > <с, х*\ Согласно упр. 3 в любой окрестности точки х* найдется точка х е X, для которой <с, х> > <с, х*>. Это противоречит определепию локального максимума. 5. Если Lx = ij и i'-i! = !e ?ь то Р2 = х2 + Lj = х\ - I + L, = х< + ?, = Р,. Наоборот, пусть Pi = P* Тогда х2 = х1 +', где ? е Lr, т. е. я""— х2 = — I e L,. Отсюда г1 + Lf = Р, = Р2 = г2 f L2= xl + I + 4- Lj. Следовательно, Lj = I -f- La, т. e, Li = Lf — I = L2. 299
6. Йектор z = О допустим для данной аадачи. Поскольку двой- двойственная аадача имеет вид min<0, рУ А'р > с, то ввачение d прямой вадачи равно иулю, но тогда <2 = 0 = = <с, 0>. 7. В данной задаче существует единственный допустимый век- вектор A, 0, 0), который и является оитямальпым. Взяв в качестве базиса этого плапа систему )(,') ({) | столбцов матрицы ограни- ограничений, получаем следующую симплексную таблицу: (с, х) xi х.г 1 1 0 д, 0 1 0 А, 0 , 0 1 Аа —1 —1 1 в которой Аз < 0. 8. Пусть направление s допустимо в точке х°. Тогда 1) х° +¦' + Ь>0, 2) А (х° + Xs) = 6. Из 1) получаем Ах° + XAs = Ь + + XAs = 6, т. е. XAs = 0, откуда As = 0. Если х" = 0, то И8 усло- условий Я > 0 а 2) получаем, что Sj = 0. Обратное утверждение оче- очевидно. 9. Пусть <с, s> < 0 для любого направления », допустимого в точке г°. Пусть ieJf- произвольная точка. Точка х° + + Х(х — х") ири любом к, 0 ^ X ^ 1, принадлежит X в силу его выпуклости. Следовательно, направление t = х — х" допустимо в точке х°. Тогда 0^<с, х — г°> =» <е, х> — <е, г°>, т. е. <с, г°> S» ^ <сл г>. Обратное утверждение состоит в том, что глобальный максимум является локальным, в поэтому тривиально. 10. Пусть s •— произвольное ' направление, допустимое в точке г°, о = (/ \x°j =0] Как следует из упр. 8, 9, имеет место импли- импликация: As 0, -As < 0, <s, 0, / <с, s> Теорема 2.27 утверждает, что в таком случае существует неотри- неотрицательное решение системы урапнепий Аи — Аи — w = с, где Wj = 0, если ;^о Обозначив р° = и — о, получаем требуемое утверждение. Наоборот, пусть р° и w Js 0 — векторы, для которых с = А'р°— ш, <г°, и>> = 0. Нетрудно убедиться, что в таком случае имеет место имнлика- --ция: As — 0, <«, е>> = 0, /so* <с, »> ^ 0, т. е. по любому на- направлению, допустимому в точке х°, значепие целевой функции убывает. Согласно упр. 9 х° — оптимальный план вадачи E.2). 11. Если Д > 0, то этот вектор можно принять 8а ш в упр. 10, так как Д = Л'р0 —с, где, р° = (Аа)~1 с° а <A.j;0>=0. 300
ЛИТЕРАТУРА ОСНОВНАЯ ЛИТЕРАТУРА 1. К у р о m А. Г, Курс высшей алгебры.— М.: Наука, 1971. 2. Мальцев А. И. Основы линейной алгебры.— М.: Наука, 1970. 3. Гольштейв Е. Гп Юдив Д. Б. Лниейвое программи- программирование, теория, методы в приложения.— М,: Наука, 1969. 4. Гольштейв Е. Г., Юдин Д, Б. Новые направления в линейном программировании,— М: Советское радио, 1966. 5. Г о л ь ш т е й в Е. Г., Юдив Д. В. Задача линейного про- программирования транспортного тина.— М.: Наука, 1969, 6. Линейные неравенства и смежные вопросы. Сб. статей под редакцией Г. У. К у и а и А. У. Т а я к в р а.— М.: ИЛ, 1959. 7. Д а н ц и г Д. Лииейвое программирование, его обобщения в применение,— М.: Прогресс, 1966. 8. Гасс С. Линейное программироиапие— М.: Физматгиз, 1961. 9. Г е й л Д. Теория линейных экономических моделей.— М.: ИЛ, 1963. 10. 3 а с л а в ск и й Ю. Л. Сбориик вадач по линейному про- программированию.— М.: Наука, 1969. ДОПОЛНИТЕЛЬНАЯ ЛИТЕРАТУРА 11. Stigler G. J. The cost of subsistence, Journal of Farm Economics, 1945, Л» 27. 12. W a n g h F. V. The minimal-cost dairy feed, Journal of Farm Economics, August, 1951. 13. А л е к с а в д р о в А., Лурье А., О л е й в и к Ю. При- Применение электронных вычислительных машин в оперативном пла- планировании. Автомобильный транспорт, 1959, № 6. 14. Л е о н т ь е в В. В. Исследования структуры американской экономики.— М.: Госстатиздат, 1958. 15. Коссов В. В. Межотраслевой баланс— М.:' Экономика, 1966. 16. Гребцов Г. И., Смехов В. М., Смол яр Л. И. Ос- Основы разработки межотраслевого баланса.— М.; Экономиздат, 1961. 17."Моделирование народнохозяйственных процессов/Под ред. В. С. Дадаяна.— М.: Экономика, 1973. 18. Канторович Л. В. Экономический расчет наилучшего использования ресурсов.— М.: Изд. АН СССР, 1960. 19. Д ж. фон Нейман, 0- Моргенштерн. Теория игр и экономическое поведении,— М.; Наука, 1970, 301
20. Оуэн Р. Теория игр.—М.: Наука, 1971. 21. Бондарева О. Н. Некоторые применения методов ли- нейного программирования и теории кооперативных игр.— Про- Проблемы кибернетики, 1963, № 10, стр. 121—139. 22. D о г f m a n R., S a m ц е 1 s о n P. A., S о 1 о w R. M. Linear programming and economic analysis —N.Y., McGrow Hill, 1958. 23. A p p e 1 К., Н a k e n W. Every planar map is four colo- colorable.— Bull Amer. Math. Soc, 1976, 82, № 5. 24. К о р б у т А. А., Ф и н к е л ь ш т е й н Ю. Ю. Дискретное Программирование.— М.: Наука, 1969. 25. Т и х о н о в А. Н., А р с е н и н В. Я. Методы решения некорректных задач.— М.: Наука, 1979. 26. А ш м а н о в С. А. Математические модели и методы в экономике.— М.: Изд-во МГУ, 1980. 27. X а ч и я н Л. Г. Полиномиальный алгоритм в линейном программировании.— ДАН СССР, 1979, 244, № 5, с. 1093—1096. 28. X а ч и я н Л. Г. Полиномиальные алгоритмы в линейном программировании.— ЖВМ и МФ, 1980, 20, № 1, с. 51—68.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ Алгоритм Гомори 248 Вааис опорного вектора 196 плана 164 , Бааиснан переменная 158 Вектор внутренний для конуса 278 — допустимый 33 — инциденций каолиций 131 — конечного спроса 23, 25 — крайний 60 — направляющий для прямой 41 — опорный 196 — полных трудовых затрат 145 — ресурсов 18 — Фробениуса 141 Возможное направление 114 Выпуклая линейная комбинация 52 — оболочка 53 Гиперплоскость 41 — опорная 46 — рааделяющая 41, 44, 47 Градиент 34, 109 ¦ по функционалу 272, 281 — целочисленная 239 Значения задачи 33, 87 — игры 120 — — верхнее 120 нижнее 120 Игра 116 — кооперативная 126 — матричная 117 — симметричная 129 Итерация симплекс-метода 177 большая 255 малая 255 Каолиция 127 Коническая оболочка 58 Конус выпуклый 49 — двойственный 50 ¦— заостренный 61 — многогранный 58 — телесный 278 Двойственные оценки 100 Дележ игры 128 Дуга 218 Задача блочная 264 — возмущенная 272 — двойственная 83 к канонической 85 в общей 86 к стандартной 84 — двойственно невырожденная 200 — допустимая 33 — каноническая 29, 161 — лексикографическая 212 — линейного программирования 28 — невырожденная 165 — общая 29, 32 — о диете 11—15 — о коммивояжере 240 — о назначениях 239 — о ранце 239 — о четырех красках 242 — стандартная 28 — транспортная 15, 217 — устойчивая 271, 272, 281—283 по решению 272, 281 Лексикографический порядок 179 Линейное многообразие 55 Маршрут 219 Матрица блочно-диагональная 266 — игры 117 — импримитивная 147 — неотрицательная 136 — неразложимая 137 — ограничений коэффициентов 28 32 транспортной задачи 218 — перехода к новому базису — примитивная 147 — технологическая 17 Метод Жордана — Гаусса 158 — отсечения 245 — потенциалов 231 — регуляризации 271 — «северо-западного угла» 222 — эллипсоидов 288 Многогранник выпуклый 57 — целочисленный 247 Множество выпуклое 41—44 170 303
— — многогранное 74, 75 — допустимых векторов 63, 87 — планов 87 — регулярное 69 1— решений аадачи 97 Модель Леонтьева 23 обобщенная 25, 141 равенств 88 Следствие системы нецавенств 78 Собственное число Фробениуса 141 Стратегия игрока 116 гарантирующая 120 максиминная 120 минимаксная 121 смешанная 122 Схема межотраслевого баланса 19 Нормаль 44 Носитель граничной точки 65 План 33 — опорный 163 начальный 168, 180, 181 транспортной задачи 222 невырожденный 164 — оптимальный 33 — перевозок 15 — производства 136 Положительный ортант 48 Приведенная система уравнений 159, 203 Принцип максимума 152 Производная по направлению 34, 112 Псевдоплан 197 — начальный 209 — невырожденный 199 — строго допустимый 208 Размерность выпуклого множества 66 — линейного многообразия 55 Ранг матрицы 66 Решето Эратосфена 261 Теорема двойственности 90, 95 •— Минкобского 82 — Неймана 7, 123 — о аамещении (Самузльсон) 142 — о магистрали 146, 148 — равновесия 90, 92 — эргодическая 147 Точна внутренняя 64 — граничная 55 — крайняя 55 — седловая игры 120 — функции 123 Транспортная сеть 218 свяаная 219 Условие отсечения 249 — правильности 249 Функция вогнутая 104 — выпуклая 103 — аначений задачи 100 — положительно однородная 102 — характеристическая игры 127 — целевая 33, 87 Цикл 219 Симплекс-метод 158, 177 — модифицированный 191, 231 — двойственный 195. 201 Симплексная таблица 168, 204 — — в координатной форме 203, 207 Скалярное умножение системы не- Элементарное преобразование сис- системы уравнений 158 Ядро кооперативной игры 126, 129. 136