Text
                    Линейное
и выпуклое
программирование

ЭКОНОМИКО-МАТЕМАТИЧЕСКАЯ БИБЛИОТЕКА С. И. ЗУХОВИЦКИЙ Л. И. АВДЕЕВА Линейное и выпуклое программирование Издание второе, переработанное и дополненное ИЗДАТЕЛЬСТВО <НАУКА> N ГЛАВНАЯ РЕДАКЦИЯ ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ Москва 1967
517.1 3 95 УДК 512.25 АННОТАЦИЯ В книге в доступной форме излагаются основные методы и задачи линейного и выпук- лого программирования. Это, в частности, достигается есте- ственной геометрической трак- товкой, пронизывающей всю книгу. Первое издание вышло в 1964 г. В настоящем втором издании книга подверглась пе- реработке. В частности, кроме симплекс-метода, приведено еще несколько методов реше- ния задачи линейного програм- мирования; значительно до- полнено изложение двойствен- ности, что позволило рассмот- реть этот вопрос и в выпуклом программировании; приведены новые численные методы ре- шения задач выпуклого про- граммирования. Книга рассчитана на мате- матиков, инженеров и эконо- мистов, встречающихся с зада- чами построения оптимальных планов, а также на студентов, специализирующихся в обла- сти применения математиче- ских методов в экономике. Семен Израилевич Зуховицкий и Лигия Игоревна Авдеева ЛИНЕЙНОЕ И ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ (Серия: «Экономико-математическая библиотека») М., 1967 г., 460 стр. с илл. Редакторы: И* А. Радчик и А. 3. Рывкин. Техн, редактор Л. Ю. Плакше. Корректор О. А. Бутусова. Сдано в набор 28/V 1966 г. Подписано к печати 20/1 1967 г. Бумага 84Х108’/32. Физ. печ. л. 14,38. Условн. печ. л. 24,15. Уч.-изд. л. 20,37. Тираж 15 000 экз. Т-01608. Цена книги 1 р. 42 к. Заказ № 396. Издательство «Наука» Главная редакция физико-математической литературы. Москва, В-71, Ленинский проспект, 15. Ордена Трудового Красного Знамени Ленинградская типография № 1 «Пе- чатный Двор» имени А. М. Горького Главполиграфпрома Комитета по печати при Совете Министров СССР, г. Ленинград, Гатчинская ул., 26. 2-2-4 123-66
ОГЛАВЛЕНИЕ Предисловие ко второму изданию............................. 7 Предисловие к первому изданию ............................. 8 Введение .................................................. 9 глава I ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ § 1. Обыкновенные жордановы исключения................... 1’0 1. Определение (11). 2. Геометрический смысл (14). § 2. Применение жордановых исключений в линейной алгебре 15 1. Теорема Стейница (15). 2. Обращение матриц (15). 3. Вычисление ранга матрицы (18). 4. Система п линейных уравнений с п неизвестными (19). 5. Общая система линейных уравнений (23). § 3. Модифицированные жордановы исключения................ 27 1. Определение (27). 2, Пример (28). ГЛАВА II ОСНОВНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ И ЕЕ РЕШЕНИЕ СИМПЛЕКС-МЕТОДОМ § 1. Основная задача линейного программирования........... 29 1. Формулировка основной задачи (29). 2. Геометрическая интерпрета- ция (29). 3. О методе решения задачи линейного программирова- ния (34). § 2. Симплекс-метод для отыскания опорного решения системы линейных неравенств....................................... 35 1. Переход к таблице (35). 2. Исключение свободных переменных (35). 3. Все свободные члены неотрицательны (37). 4. Правило выбора разре- шающего элемента при отыскании опорного решения (некоторые сво- бодные члены отрицательны) (37). 5. Примеры (40). 6. Обоснова- ние правила выбора разрешающего элемента (43). 7. Другое правило выбора разрешающего элемента (48). § 3. Симплекс-метод для отыскания оптимального решения основной задачи линейного программирования................ 50 1. Все коэффициенты г-строки неотрицательны (50). 2. Правило выбора разрешающего элемента при отыскании оптимального решения (неко- торые коэффициенты ^-строки отрицательны) (51). 3. Примеры (53). 4. Обоснование правила выбора разрешающего элемента (58). о. Моно- тонность и конечность алгорифма симплекс-метода (59). !•
4 ОГЛАВЛЕНИЕ § 4. Разные способы задания ограничений........................ 60 1. Смешанная система ограничений (60). 2. Примеры (64). 3. Обосно- вание (69). § 5. Задача минимизации линейной формы......................... 72 1. Сведение к задаче максимизации (72). 2. Примеры (72). § 6. Вырождение................................................ 76 1. Зацикливание (76). 2. е-метод для устранения зацикливания (77). § 7. Двойственность в линейном программировании................ 80 1. Двойственные таблицы (80). 2. Двойственные задачи линейного про- граммирования (82). 3. Основная (первая) теорема двойственности (89). 4. Эквивалентность пары двойственных задач некоторой системе линей- ных неравенств и уравнений (93). 5. Вторая теорема двойствен- ности (94). 6. Экономическая интерпретация основной и двойственной задач (96). 7. Примеры (100). 8. Двойственный симплекс-метод (107). § 8. Целочисленное программирование................................118 1. Постановка задачи. Геометрическая интерпретация (118). 2. Алго- рифм (119). § 9. Параметрическое программирование..............................124 1. Постановка задачи (124). 2. Алгорифм (124). 3. Пример (129). 4. Гео- метрическая интерпретация (134). 5. Двойственная задача параметриче- ского программирования (135). ГЛАВА III НЕКОТОРЫЕ ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ § 1. Задачи оптимального производственного планирования . . 137 1. Задача о максимальной рентабельности предприятия (137). 2. Общая задача производственного планирования (138). 3. Задача о наилучшем распределении программы между несколькими предприятиями (об опти- мальном использовании оборудования) (141). 4. Пример (143). 5. Задача о составлении графика ремонта инструмента (задача о поставщике) (146). § 2. Задача об оптимальном раскрое материалов (о минимиза- ции отходов)..................................................150 1. Постановка задачи (150). 2. Пример (152). § 3. Сельскохозяйственные задачи..............................154 1. Задача о диете (о смесях) (154). 2. Задача о наилучшем использова- нии посевной площади (156). § 4. Задача о закреплении самолетов за воздушными линиями 158 1. Постановка задачи и сведение к задаче линейного программирова- ния (158). 2. Пример (160). § 5. Задача о назначениях (проблема выбора)...................163 1. Постановка задачи (163). 2. Пример (164). § 6. Военные задачи...........................................167 1. Проблема узких мест (167). 2. Задача о рациональном соотношении между различными типами бронебойных снарядов (169). § 7. Линейное программирование и матричные игры ............. 170 1. Некоторые сведения из теории матричных игр (171). 2. Сведение матричной игры к задаче линейного программирования (175). 3. Сведё- ние задачи линейного программирования к матричной игре (182).
ОГЛАВЛЕНИЕ 5 ГЛАВА IV ТРАНСПОРТНАЯ ЗАДАЧА § 1. Общая постановка транспортной задачи.................187 1. Транспортная задача как задача линейного программирования (187). 2. Открытая модель транспортной задачи (задача с нарушенным балансом запасов и потребностей) (189). 3. Об одной задаче размещения (190). § 2. Метод потенциалов....................................192 1. Предварительные понятия (192). 2. Потенциальность — признак опти- мальности плана перевозок (194). 3. Алгорифм решения транспортной задачи методом потенциалов (198). 4. Построение первоначального плана методом минимального элемента (212). 5. Обоснование метода потенциа- лов (214). § 3. Максимальный поток в сети............................219 1. Постановка задачи (219). 2. Алгорифм (221). 3. Обоснование алго- рифма (226). 4. Пример (227). § 4. Решение транспортной задачи методом приближения ус- ловно-оптимальными планами................................232 1. Задача о потоке (232). 2. Алгорифм для решения транспортной за- дачи (240). § 5. Транспортная задача по критерию времени..............250 1. Постановка задачи (250). 2. Метод решения общей экстремальной задачи (типа транспортной по критерию времени) (251). 3. Решение транспортной задачи по критерию времени (255). 4. Другой алгорифм для решения транспортной задачи по критерию времени (258). § 6. Определение кратчайших расстояний по заданной сети. . . 262 1. Постановка задачи. Связь с линейным программированием (262). 2. Описание алгорифма (265). 3. Составление кратчайших маршрутов (270). Г ЛАВ А V ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ § 1. Задача чебышевского приближения несовместной системы линейных уравнений .............................................. 273 1. Постановка задачи. Геометрическая интерпретация. Условие единствен- ности (273). 2. Присоединенная задача линейного программирования (275). 3. Схема решения задачи симплекс-методом (276). 4. Применение двой- ственного симплекс-метода (280). § 2. Задача чебышевского приближения системы линейных функций (уравнений) при наличии ограничений ..................... 281 1. Задание ограничений системой линейных неравенств (281). 2. Задание ограничений системой линейных уравнений (284). § 3. Чебышевская точка системы линейных неравенств..............287 1. Постановка задачи. Геометрическая интерпретация (287). 2. Сведение к задаче линейного программирования. Примеры (289). § 4. Чебышевское1 приближение отношениями линейных форм 293 1. Происхождение и формулировка задачи (293). 2. Сведёние к задаче нелинейного программирования (294). 3. Схема алгорифма. Сходи- мость (295). 4. Пример (296). § 5. Минимизация суммы модулей линейных функций.................301 1. Постановка задачи (301). 2. Примеры (303).
6 ОГЛАВЛЕНИЕ ГЛАВА VI ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ § 1. Общая задача выпуклого программирования................310 1. Формулировка задачи и характер минимума (310). 2. Примеры реали- зации общей задачи (311). 3. Каноническая форма общей задачи (314). § 2. Решение задачи выпуклого программирования методом наискорейшего спуска.......................................315 1. Основной вариант алгорифма (315). 2. Второй вариант алгорифма (330). § 3. Комплексное чебышевское приближение....................332 1. Отсутствие ограничений (333). 2. Наличие ограничений (336). § 4. Точка, наименее удаленная от системы плоскостей.......340 1. Точка, наименее удаленная от заданной системы точек на плоскости (341). 2. Точка, наименее удаленная от заданной системы прямых (в про- странстве) (344). § 5. Квадратичное программирование..........................347 1. Постановка задачи (347). 2. Применение алгорифма выпуклого про- граммирования (347). 3. Конечный алгорифм для квадратичного програм- мирования (351). § 6. Двойственность в выпуклом программировании.............361 1. Теорема Фаркаша (361). 2. Двойственные задачи выпуклого програм- мирования (364). 3. Обобщенная задача Лагранжа (критерий оптималь- ности) (368). 4. Теорема Куна — Таккера (370). 5. Преобразование Ле- жандра (372). 6. Двойственность в квадратичном и линейном программи- ровании (374). § 7. Некоторые другие методы решения задачи выпуклого про- граммирования..............................................376 1. Метод секущих плоскостей (376). 2. Метод Франк и Вулфа (379). 3. Метод Розена проектирования градиента (381). ДОП ОЛНЕНИЯ НЕКОТОРЫЕ ВАРИАНТЫ СИМПЛЕКС-МЕТОДА § 1. Модифицированный симплекс-метод........................389 1. Предварительные замечания (389). 2. Опорное решение (389). 3. Сме- шанная система ограничений (396). 4. Оптимальное решение (399). 5. Обоснование (405). § 2. Приспособление симплекс-метода к задаче с двусторон- ними ограничениями.........................................409 1. Усложненный шаг модифицированного жорданова исключения (409). 2. Опорное решение (412). 3. Оптимальное решение (414). 4. Двойствен- ный симплекс-метод (419). § 3. Второй способ отыскания опорного решения...............422 1. Задание ограничений системой равенств (422). 2. Задание ограниче- ний смешанной системой (425). § 4. Алгорифм разложения Данцига — Вулфа ...................428 1. Постановка задачи (428). 2. Алгорифм (433). 3. Пример (437). 4. Обосно- вание (443). 5. Другие способы задания ограничений (450). Цитированная литература ................................... 452 Предметный указатель........................................456
ПРЕДИСЛОВИЕ КО ВТОРОМУ ИЗДАНИЮ Для второго издания тщательно пересмотрен весь текст книги. Существенно переработано изложение теории двойст- венности; в главе о транспортной задаче приведен метод при- ближения условно оптимальными планами; выпуклое програм- мирование дополнено параграфом о двойственности и пара- графом-обзором основных алгорифмов. Добавления к тран- спортной задаче и вся глава о выпуклом программировании написаны С. И. Зуховицким совместно с Р. А. Поляком и М. Е. Примаком. В этом издании книга снабжена дополнением, написанным С. И. Зуховицким совместно с И. А. Радчик. Авторы
ПРЕДИСЛОВИЕ К ПЕРВОМУ ИЗДАНИЮ В основу первых глав этой книги положены лекции по линейному программированию, прочитанные С. И. Зуховицким группе инженеров и математиков в Киевском Доме научно- технической пропаганды. Эти лекции, записанные Л. И. Авдее- вой, проводившей практические занятия, были подвергнуты нами совместно значительной переработке и дополнены рядом фактов, а также большим количеством числовых примеров иллюстративного характера. Мы старались предельно осветить геометрическую картину рассматриваемых задач и методов, и такая единая геометри- ческая трактовка вопросов пронизывает всю книгу. Вычислительным аппаратом в этой книге служит аппарат жордановых исключений, большие удобства которого убеди- тельно продемонстрированы в статье Э. Штифеля [51]. Основным классическим методам и задачам линейного программирования посвящены первые четыре главы книги. Глава пятая (написанная С. И. Зуховицким) посвящена зада- чам чебышевского приближения и сведёнию их к задаче линейного программирования. Глава шестая (написанная С. И. Зуховицким совместно с Р. А. Поляком и М. Е. При- маком) посвящена вопросам выпуклого программирования, в частности, квадратичному программированию и чебышев- скому приближению в комплексной области. Ряд полезных замечаний, способствовавших улучшению книги, сделаны Л. А. Люстерником и И. А. Радчик. Указанным лицам выражаем свою благодарность. Авторы
ВВЕДЕНИЕ Линейное программирование изучает важную для практики задачу отыскания максимума (минимума) линейной функции при наличии ограничений в виде линейных неравенств или уравнений, задачу, для решения которой оказались малопри- годными классические методы решения экстремальных задач. Общая постановка задачи линейного программирования и чрезвычайно плодотворный метод ее решения («метод разре- шающих множителей») впервые даны в 1939 году Л. В. Кан- торовичем в работе [14а] (см. также его работы [146], [15] и [ 14в]). Широко распространенный симплекс-метод, преимущест- венно применяемый в нашей книге для решения задачи линей- ного программирования, разработан в 1949 году Дж. Б. Дан- цигом в статье [30а] (см. также [306] и совместные с другими авторами работы [32], [33]). Краткие исторические сведения о линейном программиро- вании приведены в [28в], а достаточно полная библиогра- фия— в [24] и [4]. Линейное программирование тесно связано с теорией мат- ричных игр. Как установлено Нейманом [49] и Данцигом [30г], любая матричная игра двух партнеров с нулевой суммой и конечным числом стратегий сводится к паре двойственных задач линейного программирования и обратно. К настоящему времени большое распространение получила одна из простейших задач линейного программирования — транспортная задача, т. е. задача такого прикрепления пунктов отправления (производства) грузов к пунктам их назначения (потребления), при котором минимизируется суммарная стои- мость перевозок. Для ее решения, ввиду особой простоты ограничений, пользуются специальными методами линейного программирования, менее громоздкими чем общий для всех задач линейного программирования симплекс-метод. Одним из
10 ВВЕДЕНИЕ наиболее известных методов решения транспортной задачи является метод потенциалов. Симплекс-метод, кроме линейного программирования и мат- ричных игр, применяется с успехом и для решения тесно связанной с линейным программированием классической задачи чебышевского приближения несовместной системы линейных уравнений, т. е. для отыскания такой системы значений неиз- вестных, при которой максимальная по модулю невязка (укло- нение) имеет наименьшее значение. Выпуклое программирование изучает также важную для практики задачу минимизации нелинейной выпуклой функции при наличии ограничений, заданных в виде нелинейных нера- венств, определяющих некоторое выпуклое множество. Общие методы для решения задачи выпуклого программирования раз- работаны лишь недавно ([43], [50], [126], [9] и др.) и суще- ственно используют вычислительный аппарат линейного про- граммирования. В самое последнее время получило некоторое развитие решение «больших» задач линейного программирования. Выде- лен класс задач, решение которых сводится на каждом шаге к применению некоторого варианта симплекс-метода к задаче, существенно меньшей исходной.
ГЛАВА I ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ § 1. ОБЫКНОВЕННЫЕ ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ 1. Определение. Пусть рассматривается система У/ — ^Цх1 4“ а&хЪ + ••• 4“ ainXn (Z=l,..., т) (1.1) из т линейных форм с п независимыми переменными xlf л*2, ..., хп. Эта система может быть записана в виде сле- дующей таблицы: У1 = У г = Ут ==: «Л . ais ain ап •I 1 .. arn ami • • ams • •• amn (1.2) Следуя Э. Штифелю [51], будем называть шагом обык- новенного жорданова исключения, произведенным над таб- лицей (1.2), с разрешающим элементом ars^0, с г-й разрешающей строкой и s-м разрешающим столбцом схематизированную операцию перемены ролями между зави- симой переменной уг и независимой xs, т. е. операцию реше- ния уравнения У г — аг1хх -ф- агъХ% -ф- ... -ф- arsxs —f— ... —ф- агпхп относительно xs, подстановки его во все остальные уравне- ния системы (1.1) и записи полученной системы в виде но- вой таблицы, аналогичной (1.2). Легко проверить, что новая
12 ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ [ГЛ. I таблица имеет вид *1 •Vg . уг ... У1 = Ьц Z>i2 • «15 •« • ^171 У2 = h. Ь-22 «25 ^2/1 • «Г5» xs = ~ «Г1 аГ2 . |1| ... «Г71 — Ут = ^mi Ь mz • •• «/715 “ • ^тп (1-3) где Ьи — ацаГ8 — aisarj (l^r, J s)f причем все элементы таблицы следует разделить на ars. Действительно, если 0, то 5—1 п arixi~\~ У г 2 arjxj _____________/=*4-1 ars Таким образом, один шаг жорданова исключения *) с раз- решающим элементом ars переводит таблицу (1.2) в новую таблицу (1.3) по схеме, состоящей из следующих пяти правил: 1) разрешающий элемент заменяется единицей; 2) остальные элементы разрешающего столбца (s-ro) ос- таются без изменения; 3) остальные элементы разрешающей строки (r-й) меняют лишь свои знаки; *) Здесь и в дальнейшем слово «обыкновенное» опускается.
ОБЫКНОВЕННЫЕ ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ 13 4) «обыкновенные» элементы Ьц (I г, J ф s) (т. е. эле- менты, не принадлежащие разрешающей строке или столбцу) вычисляются по формуле ^ij == ^ij^rs aisarp 5) все элементы новой таблицы делятся на разрешающий элемент ars (что в (1.3) изображено символически делением всей таблицы на ars). Пример. Для таблицы -V1 ^2 *3 У1 = У 2 = Уя = один шаг жорданова исключения с разрешающими 2-й стро- кой и 3-м столбцом (т. е. меняющий ролями переменные и х3) приводит к таблице Замечание. Требование неравенства нулю разрешаю- щего элемента arS обеспечивает сохранность линейной неза- висимости системы переменных, оказавшейся на верху таблицы (1.3). Действительно, в противном случае
14 ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ [ГЛ. I существовали бы два различных представления уг\ У Г = + • • • s-lХ s-l “F 0 ’ XS “F ^S+1XS+1 “h • • • 4“ ^nXn и У г == аг\Х\ ~|~ • • • 4~ arsxs ’ 4~ arnxn (ars т2^ 0)> что невозможно. 2. Геометрический смысл. Каждый набор значений xlf .хп будем рассматривать как координаты точки x(xv ..., хп) евклидова n-мерного пространства Rn, а урав- нения У/ = Л/Л + a^Xi + ... -J-a,„x„ = 0 (7 = 1....т) — как уравнения плоскостей ((п—1)-мерных), проходящих через начало координат. Для каждой точки х' (х[, ..., X) величина (х') = ... ainx'n означает взятое с оп- ределенным знаком взвешенное расстояние от точки х' до плоскости yi = 0, где взвешенное расстояние — это расстоя- /~ п ние, помноженное на величину (вес)1/ . г /=1 4 Величину yt (х') будем называть уклонением точки х' от плоскости (или от уравнения) yt — 0. В прямоугольной системе, заданной п ортогональными координатными плоскостями хг = §, ..., хп = 0, каждая точка х(хр ..., хп) задается своими п уклонениями от всех ко- ординатных плоскостей, т. е. числами xlf ..., хп, равными взятым с определенными знаками расстояниям до соответ- ствующих координатных плоскостей (веса равны единице). Один шаг жорданова исключения с разрешающим элемен- том ars означает замену координатной плоскости xs = 0 новой плоскостью уг = Ъ, вообще говоря, уже не ортого- нальной остальным координатным плоскостям, так что в на- боре координат (уклонений) каждой точки пространства уклонение от старой координатной плоскости х5 = 0 заме- няется уклонением от новой координатной плоскости уг = 0. Таким образом, жордановы исключения позволяют от случайно взятой декартовой системы координатных плоско- стей перейти к новой системе, в которой координатами то- чек являются их уклонения от более интересной для той или другой задачи системы плоскостей, причем в новой таб-
§ 2] ПРИМЕНЕНИЕ В ЛИНЕЙНОЙ АЛГЕБРЕ 15 лице уклонения точки от всех остальных плоскостей си- стемы (1.1) выражены через ее уклонения от основных пло- скостей, расположенных наверху таблицы. Этим объясняется та важная роль, которую играют жор- даповы исключения во всех задачах, связанных с уклонениями точек от плоскостей, к которым относятся задачи чебы- шевского приближения систем линейных уравнений или нера- венств и задачи линейного программирования. § 2. ПРИМЕНЕНИЕ ЖОРДАНОВЫХ ИСКЛЮЧЕНИЙ В ЛИНЕЙНОЙ АЛГЕБРЕ 1. Теорема Стейница. Если все линейные формы си- стемы (1.1) линейно независимы (так что т^п), то, производя точно т соответствующих шагов жордано- вых исключений, можно превратить все т зависимых переменных ylt ..., ут в независимые (т. е. можно их все перебросить на верх таблицы). Действительно, невозможность переброски на верх таблицы части зависимых переменных означала бы, что в строках, соответствующих этим переменным, под оставшимися на верху таблицы независимыми переменными хг- стоят нули, т. е. что таблица, например, имеет вид Х1 = У1 •• Ук • • • xn си • • cik ci,k+i • •• cin Xk = cki •• ckk ck,k+i • •• ckn Ук+1 — ck+i,i • •• ck+i,k 0 .. 0 Ут — cmi •• cmk 0 .. 0 Но тогда все оставшиеся зависимые переменныеyk[b ..., ут являются, очевидно, линейными комбинациями переброшен- ных на верх таблицы переменных ylf ..., yk, что противо- речит условию линейной независимости всех уь ...,ут. 2. Обращение матриц. Пусть в системе (1.1) т — п и матрица А —1| а^ || этой системы в таблице (1.2) не
16 ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ [ГЛ. I вырождена *), так что все линейные формы системы (1.1) линей- но независимы; Произведем над таблицей (1.2) последовательное шагов жордановых исключений для превращения всех зави- симых переменных ylf ..., уп в независимые. Окончательная таблица после перестановки (если потребуется) некоторых строк и некоторых столбцов примет вид У1 Ь ---Ук С11 с12 .. • С1П С21 Cg9 • • СП1 еП2 • • спп и матрица этой таблицы, обозначаемая А \ является обрат- ной для матрицы А. Пример. Пусть дана невырожденная матрица Рассмотрим таблицу / 1 —2 3\ Д= —1 1 21. \ 2 -1 —1/ *1 х2 x3 Л = |1| -2 з Л= -1 12 Л = 2-1 -1 Сделав один шаг жорданова исключения с разрешающими первой строкой и первым столбцом, получим таблицу У1 х2 x8 Хх — 1 2 —3 У 2 = —1 ы 5 : 1. Уь = 2 3 —7 а11 а1П *) То есть определитель отличен от нуля. ат ••• апп
§ 2] ПРИМЕНЕНИЕ В ЛИНЕЙНОЙ АЛГЕБРЕ 17 Теперь сделаем еще один шаг жорданова исключения с разрешающим элементом — 1, взятым в рамку. Получим У1 у2 *8 х1== 1 2 —7 Xg :== 1 1 -5 : (*—1) Уз = 1 3 —8 и после деления на —1 У1 у2 х3 *1 = —1 —2 7 х2 — —1 —1 5 у8 = —1 —3 И Наконец, поменяв ролями х3 и получим таблицу У1 у2 Уз *1 = —1 5 7 Л* 2 —3 7 5 :8 *3 = 1 3 1 и окончательно У1 у2 Уз 1 5_ 7 *1 = 8 8 8 3 7 5 8 8 8 1 3 1 х3 = 8 8 8 На этом вычисления заканчиваются, и обратной будет матрица ' 1 5 7 8 8 8 3 7 5 “"8 Т 8 • 1 3 1 8 8 8J
18 ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ [ГЛ. I Обычно в окончательно полученной матрице приходится еще переставлять некоторые строки (столбцы), если некоторые разрешающие элементы не были диагональными. 3. Вычисление ранга матрицы. Жордановыми исключе- ниями удобно пользоваться для вычисления ранга прямо- угольной матрицы /аи я12 ... а1п\ Д __ а21 а22 • • • а2П | ^ami ат2 • • • атп/ Для этого достаточно составить таблицу У1 = «и . •• а1п Ут = атл • •• атп и путем последовательных шагов жордановых исключений перебросить наверх максимально возможное число зависимых переменных, пока не придем к таблице, к которой этот процесс больше неприменим, т. е. к таблице, например, вида У1 • • • Ук • • • хп Xi = •• bik b[, fe+i • • • bln *k = bki • • bkk bkf k+i •1 • • bfcn Ук±1 = bk+i, i • • ♦ bk^i, k 0 .. 0 Ут = Ьщл •• bmk 0 .. 0 Ясно, что ранг матрицы А, как максимальное число ее линейно независимых строк, равен числу переброшенных на верх таблицы Кроме того, таблица содержит коэф- фициенты линейной зависимости остальных^- от оказавшихся наверху. Пример. Определим ранг матрицы /2 —1 3 4\ А = 1 0 2 —3 |. \5 —2 8 5/
§21 ПРИМЕНЕНИЕ В ЛИНЕЙНОЙ АЛГЕБРЕ 19 Имеем 2—13 4 [Г| 0 2 -3 5—2 8 5 У1 = У 2 = ys = После двух шагов жордановых исключений, сначала с раз- решающими второй строкой и первым столбцом, а затем — первой строкой и вторым столбцом, получим аг2 — *1 = Уъ = Л у. 2—1 1 10 1 0—2 3 1 2 0 0 Оставшееся очевидно, невозможно перебросить наверх. Максимальное число линейно независимых строк у нас две, так что ранг матрицы А равен двум. Из полученной таблицы видно, что у3 является линейной комбинацией у2 и yt с коэффициентами 1 и 2: Js=^4-2ji. 4. Система п линейных уравнений с п неизвестными. Для решения системы п линейных уравнений с п неизвест- ными ai\xl “F аЯхЪ ••• ~\~ainXn = ai G = l, •••> я)> 0-4) где ранг матрицы || || равен и, можно указать разные варианты применения жордановых исключений. 1) Первый способ. Запишем систему (1.4) в виде Х1 Х2 • • • *1 = ап = Оц ... аП1 ап2 • • • апп
20 ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ [ГЛ. I Проделав последовательно п шагов жордановых исключений, после возможных перестановок строк и столбцов получим 2) Второй способ. Перепишем систему (1.4) в виде 0 = 0 = х2 ... хп 1 а11 а12 ••• а1п а1 аП1 аП2 •" апп ап Произведя последовательно п шагов жордановых исклю- чений с разрешающими столбцами, отличными от столбца свободных членов, и вычеркивая после каждого шага столбец коэффициентов под переброшенным на верх таблицы нулем, т. е. разрешающий столбец, получим окончательное решение в виде 1 = b. ХП = Пример. Рассмотрим систему —|— 2х2 — хъ х^ — 4 = 0, 4x14~3x2— — 6 = 0, —|— — 3Xg —J— 4х4 — 12 — 0, 3Xi —Зх2 — 2лГз —2х4 — 6 = 0. Запишем ее в виде 0 = 0 = 0 = 0 =
§ 2] ПРИМЕНЕНИЕ В ЛИНЕЙНОЙ АЛГЕБРЕ 21 Сделав один шаг жорданова исключения с разрешающим элементом а14=1 и вычеркнув разрешающий (4-й) столбец, получим таблицу *^2 о о о II II II 11 —2 —2 1 ° -1 □ 0 —3 1 -1 -1 Q 4 2 4 2 Следующий шаг сделаем с разрешающими второй строкой и третьим столбцом. После вычеркивания разрешающего столбца получим xt х2 1 Третий шаг произведем с разрешающими 4-й строкой и 2-м столбцом, что даст х4 = О = «Г 2 = После четвертого шага найдем окончательно 1
22 ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ [ГЛ. I 3) Метод Гаусса. Метод Гаусса отличается от пре- дыдущего лишь тем, что после каждого шага жорданова исключения вычеркивают не только разрешающий столбец, но и разрешающую строку, выписывая отдельно выражение для соответствующего xt. На последнем шаге найдем значе- ние одной из неизвестных, а значения остальных вычисляются последовательной подстановкой уже полученных неизвестных в выписанные выражения для xt (с конца к началу). Пример. Решим методом Гаусса пример *1 х3 х4 1 0 = 2 2 —1 1 — 4 0 = 4 3 —1 2 — 6 0 = 8 5 —3 4 —12 0 = 3 3 —2 2 — 6 решенный выше, в п. 2). Сделав один шаг жорданова исключения с разрешающими первой строкой и четвертым столбцом и вычеркнув затем эту строку и столбец, получим таблицу 0 = 0 = 0 = ATj X 2 1 0 - 1 рГ) 2 0—3 1 4 —1—10 2 и отдельно выражение для х4: х4 = — 2х^ — 2х2 —[- х% 4. Следующий шаг сделаем с разрешающими первой строкой и третьим столбцом. После их вычеркивания получим Xi х2 1 0 = 0 = 0—2 2 -1 | —1 | 2
в ПРИМЕНЕНИЕ В ЛИНЕЙНОЙ АЛГЕБРЕ 23 и выражение для х3: х3 = х2 — 2. К последней таблице применим шаг жорданова исклю- чения с разрешающими второй строкой и вторым столбцом. Получим окончательную таблицу хг 1 0= 2 —2 и выражение для = — х^ 2. Из последней таблицы находим Xi= 1. Подставляя значение хг в выражение для х2, получим х2 —1 и далее х3 — — 1 и х4 = — 1. 5. Общая система линейных уравнений. Рассмотрим те- перь общую линейную систему == ацХ14- о,-2х2 4- ainxn — aL = 0 (z — 1, ..., т) (1-5) и пусть ранг матрицы коэффициентов || 1| равен г. Запи- шем систему (1.5) в виде *1 Х2 • хп 1 = а11 а12 . < • а\п —«1 (1-6) Ут “ amt ат2 • •• атп ат Как уже отмечалось в п. 3, над таблицей (1.6) можно произвести лишь г последовательных шагов жордановых
24 ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ [ГЛ. I исключений. Получится, например, таблица вида ••• У Г ХГ+1 ••• Хп 1 Си ... с1г с1} г+1 ... с1п сп ... сгг СГ) г+1 ... сгп сг+1, 1 • • • СГ+1, Г 0 ... 0 cmi ••• стг 0 ... 0 Сг СГ+1 ст Система (1.5), очевидно, совместна тогда и только тогда, когда для некоторой системы значений хг, ..., хп все Уь равны нулю, что произойдет тогда и только тогда, когда cr+l = cr+%= ... =ст = 0. В этом случае, вычеркивая первые г столбцов (так как ух = ... =уг = 0) и считая хг+1, ..., хп параметрами, принимающими произ- вольные значения, мы, для любой системы значений пара- метров хг+1 = ^г+1, ..., хп = Ьп получим из (1.7) соответ- ствующую систему значений остальных неизвестных х15..хг\ Х1 = £1, г+А+1 • • • 4“ с1пРп ~Г Хг сг, г+Фг+1 -]-•••+ СГпРп ~Г Сг- Элементы с/2, cir (Z==r-|—1, г2, ..., т) таблицы (1.7) являются коэффициентами той линейной ком- бинации первых г уравнений, которая равна z-му уравнению. Замечание. В том случае, когда нас не интересуют коэффициенты линейной зависимости между уравнениями си- стемы, следует, как в 2) п. 4, вычеркивать после каждого шага жорданова исключения разрешающий столбец, что зна- чительно сократит вычисления. Проиллюстрируем все сказанное примерами. Пр и мер 1. Рассмотрим систему У1 = 2х^ —}— х2 —}— 4л?з — 4 = 0, у%—— Xi — Зх2 — х$ 5 -== 0, у%== — 2х.> ~Н 4~ 1 ““ у^ == 5xj — х$ —— 3 === 0.
§ 2] ПРИМЕНЕНИЕ В ЛИНЕЙНОЙ АЛГЕБРЕ 25 Запишем эту систему в виде таблицы и подвергнем шагам жордановых исключений, заключая каждый решающий элемент в рамку. Получим ее трем раз раз- Х1 *3 1 У* х3 1 У1 = 2 1 4 —4 У1 = 2 гл 6 —14 гл —3 —1 5 -> *1 = 1 3 1 — 5 Уз = 3 —2 2 1 Уз = 3 7 5 — 14 У 4 = 5 —1 6 —3 У 4 = 5 14 11 —28 У2 У1 Уз = У^ 2 1 6 о — — - - ————- 7 7 7 1 3 11 1 1 7 7 7 1 1 I-11 0 1 2 —1 0 *3 = Уь = 0 0 0 У2 У1 Уз 1 8 5 6 о 7 7 7 Z 10 8 11 — — — 1 7 7 7 1 1 —1 0 0 1 1 0 Система имеет единственное решение xt = 1, х2 = 2, х3 = 0. Из последней строки следует У 4 =У14“Уз> так что четвертое уравнение является линейной комбинацией первого и третьего с коэффициентами 1 и 1. Пример 2. Рассмотрим систему = 2хг — -v2 -р 4х3 — 2 = 0, — 4Х} —J— Зх2 — 2х3 —6 — 0,
26 ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ [Гл. I Имеем Уь = *1 х2 х3 1 У1 = У2 х2 х3 1 2 -1 4 —2 2 1 10 — 10 -5 | У2 = 1 2 —3 4 > = 1 —2 3 — 4 Уз = 4 3 -2 6 Уз — 4 —5 10 —10 У2 У1 х3 1 *.= I -4 2-2 о 5 Уз = 2 1 О О Считая х3 параметром, принимающим произвольные значения, получим бесчисленное множество решений системы: хх — — х3, х2 = 2х3 — 2, причем ~ух 4~ 2у,2. Пример 3. Рассмотрим систему У1 = Xi 2х2 Зх3 -f- х^—1=0, = Х\— х.> —j—2х3 •—х^ 3 = 0, У’з = 3X1 Ч~ ~4~ 8х3 -^4 3 == О с таблицей *1 х2 х3 х4 1 У! = III 2 3 1 — 1 У 2 = 1 — 1 2 — 1 3 Уо = 3 3 8 1 3 Сделав два последовательных шага жордановых исклю- чений и вычеркнув разрешающие столбцы, получим х2 х3 х4 1 ха х4 1 х1== — 2 — 3 — 1 1 хА = 1 5 — 11 у2 = — 3 — 1 — 2 4 х3 = — 3 — 2 4 Уз = — 3 — 1 — 2 6 Уз = 0 0 2 Система несовместна, так как j/3 — 2 ф 0.
§ 3] МОДИФИЦИРОВАННЫЕ ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ 27 § 3. МОДИФИЦИРОВАННЫЕ ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ 1. Определение. В некоторых приложениях вычислитель- ного аппарата жордановых исключений, например в симплекс- методе (см. гл. II), важно, чтобы элементы разрешающей строки сохраняли знаки, а элементы разрешающего столбца изменяли их на противоположные. В этих случаях вместо обыкновенных пользуются так называемыми модифициро- ванными жордановыми исключениями, по которым систе- му (1.1) записывают в виде Vt = — «,1 (— *i) — а,-2 (— Х2) —... — ain (— х„) (1.1') (/= 1, ..., т) и составляют таблицу — *1 — Х2 ... xs • xn 5’1 = аи а12 .. а15 . •• ат Уг = ам аГ2 ••• ars • • • arn (1-2') Ут ~ ami аГЛ2 ams amn где для удобства обозначений положено а,-у- = —aiy(z= 1,.т-, j=l, п). Один шаг модифицированного жорданова исключения с раз- решающим элементом аг5 означает переход к новой таблице — *1 Х2 . — уг . .. хп bl2 ► а15 •• ^1П аГ2 1 •• агп • arSi Ут ~ ^mi Ьт2 • ams •• Ьщп которая получается из предыдущей по правилам 1)—5) обык- новенного жорданова исключения, с тем лишь изменением, что правила 2) и 3) меняются ролями, а именно:
28 ЖОРДАНОВЫ ИСКЛЮЧЕНИЯ [ГЛ. I 2) остальные (кроме разрешающего) элементы разрешаю- щей строки остаются без изменения; 3) остальные элементы разрешающего столбца меняют лишь свои знаки. Действительно, из равенства У Г = аГ1 (-Х1) 4" аГ2 (- Хй) + ’ • • + ars (- Xs) + • • • + arn (- Xn) находим __ ari ( Xl) 4“ ar2 (~ Xz) + • • • Уг 4“ ’ * • 4“ аГП ( Xn) ars откуда видна справедливость правила 2). Аналогично убеждаемся в справедливости остальных правил. 2. Пример. Систему _У1= 4~ Зх3, Уъ = — Xi + — 2хз, Уз = 4- 2х2 — 4х3 запишем в виде таблицы = у2 = Уз = — хг — х2 ~ ха — 2 1 —3 1 и — 5 — 2 4 и произведем один шаг модифицированного жорданова ис- ключения с разрешающими второй строкой и третьим столб- цом. Получим — Xi — х2 — У2 = 1 2 — 5 3 2 X3 = 1 2 — 2 1 2 Уз = — 7 6 2
ГЛАВА II ОСНОВНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ И ЕЕ РЕШЕНИЕ СИМПЛЕКС-МЕТОДОМ § 1. ОСНОВНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 1. Формулировка основной задачи. Основная задача линейного программирования формулируется так: Дана линейная форма (целевая функция) z=plx1-\-pixi-\-...-\-pnxn (2.1) и задана система т^>п линейных неравенств (ограни- чений) anXi-\-aiixi-\-...-{-ainxn^ai (г=1, т), которую перепишем в виде У i= ^11-^1 а&Х% • • • ^in^n Q (2*2) (z= 1, ..m). Найти максимум (минимум) формы (2.1) при выполнении условий (2.2). Другими словами, среди решений системы (2.2) (образую- щих многогранник 2) надо отыскать такое, для которого форма (2.1) принимает наибольшее (наименьшее) значение. Как будет показано в следующей главе, эта задача служит математической моделью многих важных практических задач. 2. Геометрическая интерпретация. Основную задачу линейного программирования можно легко интерпретировать геометрически. Каждое неравенство У1 = — ааХ1 —... — ainxn + аг S== О системы (2.2) определяет в евклидовом п-мерном простран- стве полупространство, состоящее из точек х(хь хд),
30 СИМПЛЕКС-МЕТОД [ГЛ. II расположенных «по одну сторону» от плоскости у z = — aiixl — — ainxn + at = 0 и на самой этой плоскости. Точки же, принадлежащие всем полупространствам (2.2) (т. е. множество всех решений си- стемы (2.2)) как пересечение выпуклых множеств, образуют некоторый выпуклый многогранник 2 *). Значение функции г(х)=Лх1 + ...-}-рл в точке xr(хр ..., х^) можно рассматривать как уклонение точки х' (Хр ..., х'п) от плоскости /21Х1 + ...+^пХ„ = 0> (*) понимая (как в п. 2 § 1 гл. I) под уклонением данной точки от этой плоскости число, которое получим, подставив в левую часть уравнения (*) вместо хь ..., хп координаты Хр ..., х„ этой точки. Так, например, уклонение точки х(1, —2, 5) от плоскости 2xj — х2 ~|— Зхз = 0 равно числу 2-1 — 1 • (— 2) —3 • 5 == 19. Уклонение точки х от плоскости (*) пропорционально расстоянию от точки х до этой плоскости. Таким образом, геометрический смысл задачи линейного программирования заключается в отыскании в многогран- нике 2 точки, которая наиболее (наименее) уклонена от пло- скости (*). В случае двумерного пространства имеем картину, изо- браженную на рис. 1—4. Здесь многогранником 2 является многоугольник, пло- скостями y-v = — CLiXxY — — 0 — прямые, полупро- странствами 0 — полуплоскости (на рисунках они отме- чены штриховкой). Ясно, что решением задачи линейного программирования будет какая-то вершина многогранника 2. На рис. 1 ре- шение задачи максимизации формы (2.1) дает вер- шина а задачи минимизации этой формы — вер- шина Р2, причем эти решения единственны. *) Точнее — многогранное множество.
§ 1] ОСНОВНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 31 Рис. 2.
32 СИМПЛЕКС-МЕТОД [ГЛ. II
§ 11 ОСНОВНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ 33 На рисунках 2 — 4 приведены: случай существования бесчисленного множества решений (рис. 2), случай неограни- ченности функции г на 2 (рис. 3) и, наконец, случай отсут- ствия решения (рис. 4). Другу10 геометрическую интерпретацию задачи линейного программирования получим, если будем рассматривать эту задачу в (п 1)-мерном пространстве переменных ..., хп, z, в котором линейная форма + -•• + />«*» С2-1) является уравнением плоскости (проходящей через начало координат). Система же неравенств — алху — ... — ainxn 4- а,0 (2 = 1, т) (2.2) определяет в этом пространстве некоторую выпуклую призму гранями (n-мерными) которой служат плоскости — — ... — ain,xn+at — О (/=1, ..., параллельные оси Oz. В «горизонтальной» плоскости г = 0, т. е. в zz-мерном пространстве переменных xh ..., хп, эти плоскости ограничивают многогранник 2, на который 2 С. И. Зуховицкий, Л. И. Авдеева
34 СИМПЛЕКС-МЕТОД [ГЛ. П проектируется часть плоскости (2.1)—«срез», вырезаемый призмой (2.2), так что 2 можно рассматривать как область определения линейной функции (2.1). Надо найти ту из вер- шин 2, в которую проектируется вершина «среза» с наи- большей (наименьшей) координатой (в трехмерном простран- стве — аппликатой) г. На рис. 5 изображение дано для случая п = е2. «Срез» заштрихован. Наибольшее на 2 значение линейная функция (2.1) достигает в вершине А', в которую проектируется вер- шина А «среза» с наибольшей аппликатой. 3. О методе решения задачи линейного программиро- вания. Нетрудно понять, что обычные методы классического математического анализа для отыскания наибольшего (наи- меньшего) значения функции неприменимы к рассматриваемой задаче. Эти методы, сводя задачу к отысканию множества точек, «подозрительных на экстремум», и к сравнению значений функции в этих точках, становятся малопригодными, если число таких точек велико. Линейная же форма (2.1), определенная на многогран- нике 2, заданном неравенствами (2.2), достигает своего наи- большего (наименьшего) значения в некоторой вершине этого многогранника, так что множеством точек, «подозрительных на экстремум», является множество всех вершин многогран- ника 2, число которых обычно бывает огромным. Основным методом решения общей задачи линейного про- граммирования, позволяющим преодолеть эти затруднения, является так называемый симплекс-метод Данцига [ЗОа, 306], подробное описание которого дано в §§ 2, 3. Симплекс-метод состоит из алгорифма отыскания какого- нибудь опорного среди решений системы линейных нера- венств (2.2), т. е. решения-в е р ш и н ы многогранника 2 (или из установления факта несовместности системы), и из алгорифма последовательного перехода от полученного уже опорного решения системы (2.2) к новому опорному реше- нию, для которого форма (2.1) имеет большее (меньшее) зна- чение (до получения максимизирующего (минимизирующего), т. е. оптимального решения). Основу вычислительной схемы симплекс-метода составляют модифицированные жордановы исключения.
§ 2] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 35 § 2. СИМПЛЕКС-МЕТОД ДЛЯ ОТЫСКАНИЯ ОПОРНОГО •РЕШЕНИЯ СИСТЕМЫ ЛИНЕЙНЫХ НЕРАВЕНСТВ Для большей четкости будем этот метод излагать по пунктам. 1. Переход к таблице. Форму (2.1) и условия (2.2) за- писываем в виде следующей таблицы: — Хх — х2 ... — *п 1 = «и ai2 • • а1П «1 Ут ~ ат\ ат2 • • • атп а т (2.3) Z — —Р1 — р2 •• • —Рп 0 Если среди ограничений (2.2) встречаются ограничения лишь на з и а к переменной, т. е. вида Xj 0 или Xj О, то их не включают в таблицу (2.3). При этом заменой Xj = — Xj переводят каждое ограничение вида Ху^сО в огра- ничение вида Xj 0 *). Переменные, на знаки которых не наложены никакие ограничения, называются свободными; переменные же, на знаки которых наложены ограничения, называются несво- бодными. 2. Исключение свободных переменных. Для удобства изложения будем считать, что все переменные xlf ..., хп свободны и что ранг матрицы || || коэффициентов си- стемы (2.2) равен п. Тогда (см. п. 1 § 2 гл. I) с помощью п последовательных шагов модифицированных жордановых исключений можно будет перенести все Xj из верхней строки таблицы (2.3) в ее левый столбец и на их место поставить соответствующие yh При этом никаких ограничений на вы- бор разрешающих элементов не налагается, лишь бы они были отличны от нуля. *) Ниже (стр. 410) будет показано, что и ограничения вида ау^ху^^у также не следует включать в таблицу. 2*
36 СИМПЛЕКС-МЕТОД [ГЛ. И Для удобства записи можно считать, что на верх таблицы переброшены уь ..., уп, так что получена, например, таблица —л ~~ У 2 •• — Уп 1 Х1 = Ьц ^12 bin bl хп = Ь П1 bn> . • • bnn bn Уп + 1~ Ьпг1. , 1 bn hl. 2 • •• bn.^n bn+1 (2-4) Уг = Ь„ Ь r2 • brn br Ут = bmi bm2 • • bmn bm Z = Qi Qn Q Выражения для замененных хх, ..., хп понадобятся лишь после получения решения, чтобы выразить его в старых координатах. Поэтому выписываем их отдельно: Х1----— ^lljl — ^12^2------- • • • - ^1пУп ~г Хп 1>п1У1 ^п^Уъ * • • ппУп и продолжаем в дальнейшем работать лишь с оставшейся частью таблицы — У1 — ys • ~ Уп 1 Уп+1 — bn + \, 1 • • • bn 11. s .. bn^l,n Ьпм Уг = bri ... brs • brn br . (2-4') Ут = bmi ... bms • bmrl bm z = Qi qs Qn Q Так как по условию (2.2) ух 0, ..., уп 0, то мы пришли к следующей обычной формулировке задачи линей- ного программирования:
§ 2] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 37 Дана линейная функция z = — Ч1У1 — — — ЯпУп+Q (2.1') и система неравенств (ограничений) yi = — bi\y\ — biiyi — ---—binynJrbi^O | (1 — п^- 1, п-4- 2, ..., т), J причем yi^O, у.2^0, у^О. Из всех неотрицательных решений системы (2.2') найти такое, которое максимизирует линейную функцию (2. Г). Замечание. Подчеркнем, что исключению подлежат лишь свободные переменные. Несвободные же перемен- ные (которые, как указано выше, можно считать неотрица- тельными) не исключают. Таким образом, если, как обычно, все переменные Xj неотрицательны, то после п. 1 приступают сразу к пп. 3, 4. 3. Все свободные члены неотрицательны. Пусть •••> Ьт^. В этом случае таблица (2.4') дает возможность получить сразу одно из опорных решений системы (2.2'), а следовательно и системы (2.2). Это будет решение (вершина многогранника 2), определяемое равен- ствами У1 = 0, у2 = 0, .... у„ = 0, так как тогда Уп + 1— + > Ут — и, следовательно, все yf неотрицательны и удовлетворяется система (2.2). 4. Правило выбора разрешающего элемента при отыскании опорного решения (некоторые свободные члены отрицательны). Пусть в таблице (2.4') есть хотя бы один отрицательный свободный член, например, пусть £г<^0, где Теперь значения Ух=у4 = . ..=уд = 0
38 СИМПЛЕКС-МЕТОД [ГЛ. II не дают никакого решения системы (2.2') (следовательно, и (2.2)), так как при этих значениях имеем yr = Ьг 0 *). Симплекс-метод для отыскания опорного решения озна- чает специальное правило для перехода от данной вершины Ро (У1 = 0, j„ = 0) к такой соседней, которую отделяет от многогранника 2 меньшее число плоскостей, т. е. для которой в соответ- ствующей таблице содержится меньшее число отрицатель- ных свободных членов. Для осуществления перехода от вершины р« (У1 = 0, •••> Уп = ®) к указанной соседней производим шаг модифицированного жорданова исключения, выбирая разрешающий элемент сог- ласно следующему правилу. Правило выбора разрешающего элемента **). 1) Выбираем строку с отрицательным свободным членом***) (пусть, например, Ьг<^0). Если среди коэффи- циентов этой строки нет отрицательных, то система (2.2) несовместна. 2) Если же среди коэффициентов рассматриваемой строки есть отрицательные, то берем какой-нибудь из них (пусть brs <С 0) и столбец, содержащий этот коэффициент, берем в качестве разрешающего. 3) Выбор разрешающей строки производится так: вычи- Ь; п сляем все неотрицательные отношения свободных членов к соответствующим отличным от нуля коэффициентам разрешающего столбца, находим среди них наименьшее, которое пусть достигается при Z = Z0. Тогда /0-ю строку бе- рем в качестве разрешающей, так что biQS — разрешающий элемент. *) Они определяют лишь точку пересечения п плоскостей 3^ = 0, ..., ул = 0, т. е. вершину, лежащую, однако, вне много- гранника Q. **) Обоснование см. ниже, в п. 6. ***) Обычно берут строку с наибольшим по абсолютной вели- чине отрицательным свободным членом.
§ 2] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 39 ' Ь^ если bis = 0, / b. bi \ biS(b-----ь— , если bis^Q. I \ IS IqS/ разрешающего элемента, заключаем, I и. I и- • В случае вырождения, когда min 0| = ^-2-=0, мы берем biQS в качестве разрешающего лишь при biQS>0*). Нетрудно убедиться, что при таком выборе разрешающего элемента мы гарантированы от увеличения числа отрицательных свободных членов, т. е. каждый неотрицательный свободный член bt преобразуется в неотрицательный свободный член bi Действительно, имеем b.bi' — bi b. 1/ _ l l0s *0 IS ___ Ui~ b- ~ IqS Учитывая правило выбора что при bi 0 будет всегда b'i 0. Если в результате применения предыдущего правила раз- решающим оказался коэффициент brs, то после шага моди- фицированного жорданова исключения новый свободный член Ь^ рассматриваемой r-й строки станет уже положи- тельным: Ь'г = brf brs 0. Если же разрешающим оказался коэффициент bls, где 1фг, то новый свободный член Ь'г нашей r-й строки останется еще отрицательным, так что наша цель освобожде- ния от отрицательного свободного члена пока не достигнута. В этом случае продолжаем работать с этой (r-й) строкой, применяя к ней предыдущее правило и производя шаги модифицированных жордановых исключений до тех пор, пока либо не установим несовместность системы (2.2) (все коэффициенты этой строки станут неотрицательными), либо не избавимся от отрицательности ее свободного члена (раз- решающий элемент окажется из этой строки)**). Так поступаем последовательно со всеми строками, в которых свободные члены отрицательны. После конечного числа шагов либо установим несовместность системы (2.2), *) Если в рассматриваемом случае (Ьг < 0, Z>/o=O), кроме Z>rs<0, имеем brj•< 0, причем & —=<5 0, то лучше в качестве раз- решающего брать не s-й столбец, а j-й. Тогда /0-я строка не будет разрешающей, а ею окажется строка с отличным от нуля свобод- ным членом (если biQ — единственный нуль). **) О возможности при этом так называемого зациклива- ния см. ниже, в § 6.
40 СИМПЛЕКС-МЕТОД [ГЛ. II либо придем к таблице, не содержащей отрицательных сво- бодных членов, т. е. получим опорное решение нашей системы, приравняв нулю все у, оказавшиеся на верху таблицы. Замечание. Если в некоторой строке, содержащей, например, yki свободный член bk равен нулю, а все коэф- фициенты этой строки неотрицательны, то при отыскании опорного решения можно вычеркнуть все столбцы, содер- жащие положительные из этих коэффициентов, а также саму строку. Действительно, в рассматриваемом случае Л-е уравне- ние удовлетворяется лишь при равенстве нулю неизвестных над положительными коэффициентами, следовательно, и yk равно нулю. 5. Примеры. Пример 1. Найти какое-нибудь опорное решение системы У1 = — Xj —J— 2х2 — 5х3 —J— 3 0, Уз =± Xj х% -j— 0» у3 ——• — 2Х[ — х% “-j— х$ —J— 1 0, У4 = Зх2 Зх3 2 0, Ув — 2xi “Н — 2х3 —6 0, х2 0, х3 0. Составляем таблицу >1 = Уъ = 5 — 1 — 1 — 3 2 3 — 1 1 2 6 и исключаем лишь свободную переменную Xj (см. замечание в конце п. 2). Для этого делаем шаг модифицированного жорданова исключения с разрешающим элементом 1, взятым
§ 2] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 41 в рамку. Получим таблицу ~У1 — х2 Х3 1 *1 = 1 —2 5 3 У 2 = и —3 4 2 У з— —2 5 -11 —5 У 4 == 0 —3 — 3 2 Уо = -2 3 — 8 0 из которой выписывавхМ выражение для хх: = —yi —2х<% — 5х3 —1~ и переходим к отысканию опорного решения. Третья строка содержит отрицательный свободный член. В этой же строке есть два отрицательных коэффициента — 2 и — 11. Выбираем в качестве разрешающего, например, первый столбец, содер- жащий коэффициент — 2, и сравниваем все неотрицательные отношения свободных членов к соответствующим коэф- фициентам первого столбца: 3 2—50 1 ’ 1 ’ — 2’ — 2* .. О п Меньшее из них ^2= и, однако в случае вырождения мы берем знаменатель разрешающим элементом, лишь если он положителен. Поэтому берем следующее по величине отноше- ние -р и его знаменатель 1 будет разрешающим элементом. После шага модифицированного жорданова исключения полу- чим таблицу У1 = У4 = У;> = в которой остался отрицательный свободный член — 1. Прев- ратим его в положительный, сделав шаг модифицированного
42 СИМПЛЕКС-МЕТОД [ГЛ. И жорданова исключения с разрешающим элементом — 1, взятым — 1 в рамку, так как есть всего одно положительное отношение —j- свободных членов к коэффициентам второго столбца, взятого разрешающим. Из полученной таблицы ~~ У 2 — Уз~ ^3 1 У1 = -5 —3 13 5 х2 = —2 — 1 3 1 Уь = —6 —3 6 5 Уь = —4 —3 9 7 в которой нет отрицательных свободных членов, находим опорное решение нашей системы. Для этого полагаем Уъ—Уз = х3 = 0. Тогда Ji = 5, х2=1, уь = Ъ, уъ = 7. Подставив значения для yv х2 и х3 в выражение для х1} находим xt = 0. Мы получили, таким образом, следующее опорное решение: = х2=1, х3 = 0. Пример 2. Найти опорное решение системы У1 = — X} — 2х2 — Зх3 —}— 6 0, = 2Х| —}— х2 — —j— 12 0, Уз = Xi 1 У4= Xi -|- х2 хз— 7^0, Xi 0, х2 0, 0,
§ 2] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 43 Составляем таблицу — *1 — х2 1 У1 = М 2 3 6 У 2 = —2 —1 3 12 л== —1 —3 —4 12 У 4 = —1 — 1 —1 —7 и приступаем к отысканию опорного решения системы, не производя исключения координат. Четвертая строка содержит отрицательный свободный член —7. Просматриваем, например, первый столбец коэф- фициентов, содержащий отрицательный коэффициент —1 этой строки, составляем неотрицательные отношения свободных членов к коэффициентам этого столбца и находим наименьшее из них: так что разрешающим элементом будет 1 из первой строки. В результате шага модифицированного жорданова исклю- чения с этим разрешающим элементом получаем таблицу —У1 — х2 — х3 1 Xi = 1 2 3 6 У2 = 2 3 9 24 У* = 1 — 1 — 1 18 Уь = 1 1 2 -1 в которой еще остается отрицательный свободный член —1, но строка, в которой он находится, не содержит отрица- тельных коэффициентов, следовательно, система несовместна. 6. Обоснование правила выбора разрешающего эле- мента. Если в таблице (2.4') все свобоцные члены отличны от нуля, то через вершину Ро(у1 = О, ..., ^п = 0) — новое начало координат — проходит точно п плоскостей = 0, ... ..., уп = 0 и, следовательно, проходит точно п ребер (осей
44 СИМПЛЕКС-МЕТОД [ГЛ. II координат) ух, ..., уг, каждое из которых образуется в пере- сечении п — 1 из этих плоскостей. Если же некоторые из свободных членов равны нулю, то через рассматриваемую вершину, кроме плоскостей yt = 0, ..., уп = 0, проходят еще и те плоскости yi — ^ (/^>^), у которых свободные члены равны нулю. В этом случае, называемом вырождением (под- робно об этом см. ниже, в § 6), через нашу вершину про- ходит больше чем п ребер. Будем сначала считать, что все свободные члены таблицы (2.4') отличны от нуля, т. е. что нет вырождения. Пусть #г<^0. Тогда вершина Ро (yt = 0, ..., уд = 0) лежит вне многогранника 2 (рис. 6) и отделена от него пло- скостью уг = 0 (если 2 — не пустое множество). Действительно, в то время как для точек многогранника 2 обязательно уг 0. Поэтому естественно стремление двигаться к плоскости уг — 0 и этим самым уменьшить число плоскостей, отделяющих точку Ро от Q. Каждый шаг алгорифма симплекс-метода означает движе- ние из полученной вершины Ро (yt = 0, ..., уп = 0) по одной из выходящих из нее осей до соседней вершины. Для нашей цели следует для движения выбрать такую ось, выходящую из точки Ро (пусть ys), при движении вдоль которой мы при-
§ 2] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 45 близились бы к отделяющей плоскости, т. е. уменьшили бы абсолютную величину уклонения точки от этой плоскости. Обозначим через PSt t точку на оси ys, т. е. точку с коор- динатами у о = °> • • > ys-i = 0, ys = t > 0, _yi+1 = о, ..., уп = 0. Тогда наше требование к выбору оси ys запишется (при до- статочно малом /^>0) в виде неравенства т. е. I - brst+br\<\br |. Так как #г<^0, то предыдущее неравенство означает, что — (—brst-\- Ьг)<^— Ьп т. е. что brst<^0 и, в силу положи- тельности t, что brs<^0. Таким образом, установлено, что по оси ys следует двигаться тогда и только тогда, когда s-tt столбец (под отличной от пуля координатой ys = t) содержит отрицательный коэффициент r-й строки. Если в r-й строке нет отрицательных коэффициентов, то движение к отделяющей плоскости уг — 0 невозможно ни по одной из осей и это является признаком несовместности (неразрешимости) системы линейных неравенств (2.2), т. е. многогранник 2 пустой. В этом случае имеем У Г — — Wi — Ьлу^ —... — Ьгпуп + br «S ьг < о, и неотрицательность уь ..., уп несовместима с требованием неотрицательности уг. Пусть теперь brs<^$, так что можно двигаться по ochj/s. Движение по оси ys допустимо до возможной встречи впер- вые с плоскостью У/ = 0 (i > и), не отделяющей нашу вершину от Q (т. е. bi > 0) (рис. 7). Если же встреча с такой плоскостью невозможна (рис. 8), то можно продвигаться по оси до последней встречи с плоско- стью у/=0, отделяющей нашу вершину Ро от Q (хотя бы одна такая плоскость существует, так как, например, уг = 0 является такой плоскостью). Наиболее простой вариант алгорифма симплекс-метода мы получим, если всегда будем двигаться из данной вершины по оси ys лишь до первой встречи с новой плоскостью (отде- ляющей или не отделяющей; на рис. 6 до встречи с плоско- стью yit — 0).
46 СИМПЛЕКС-МЕТОД [ГЛ. II Перейдем к описанию вычислительной процедуры этого движения. Так как при встрече с плоскостью у^ = 0 будет vi{Ps.^=-bist+bi, то bis^Q И ,s bis так что bi и bis должны иметь одинаковые знаки, и мы, очевидно, впервые встретим ту из плоскостей = 0, для « bi j которой отношение = г имеет наименьшее положительное и is
§ 2] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 47 значение, достигаемое пусть при z = z0: Такое отношение обязательно найдется, так как т^-^0. По- brs этому для получения новой вершины делаем шаг модифици- рованного жорданова исключения с разрешающим элемен- том bioS. Тогда новая плоскость yio = O, которую впервые пересекла ось ys, окажется на верху таблицы вместо плоско- сти ys = 0. Все координаты новой вершины равны нулю в новой коор- динатной системе ylf •••> Уп (в старой же системе у^ ..., ys_b ys, jy5+1, ..., уп все ее координаты были \ равны нулю, за исключением ys = t0 = . lQS b- Если наименьшее положительное отношение ~ полу- чится при biQS 0, biQ 0 (что желательно), то в результате шага модифицированного жорданова исключения мы перейдем к вершине, которую отделяет от 2 меньшее, чем предыдущую, число плоскостей. Другими словами, число отрицательных свободных членов в таблице уменьшится, а также умень- шится | Ьг |. В случае же, когда наименьшее положительное отноше- ние ~ достигается при ^^>0 и то, хотя число отрицательных свободных членов в таблице останется без изменения, мы все же уменьшим | Ьг |, т. е. приблизимся к от- деляющей плоскости уг = 0. Пусть теперь имеет место вырождение, т. е. пусть среди свободных членов есть хотя бы один, равный нулю, например bl = 0 (7^>л), так что плоскость yt = 0 проходит через вершину Ро(уг = 0, ..., уп = (У). В этом случае при движении по оси ys следует остерегаться выхода в полупро- странство jyz<^0, т. е. случая, когда при t^>0 будет У1 (Ps. /)=- blstblst < 0. Это возможно лишь при /^^>0, и тогда движение по оси ys недопустимо.
48 СИМПЛЕКС-МЕТОД [ГЛ. II Пусть bls^>0. Тогда, если среди остальных (кроме brs) коэффициентов r-й строки совсем нет отрицательных или есть отрицательные, но соответствующие коэффициенты Z-й строки (принадлежащие тем же столбцам) положительны, то ни по одной из верхних осей движение невозможно. В этом случае следует испытать остальные (не верхние) оси, которые полу- чим, заменив при помощи одного шага модифицированного жорданова исключения с разрешающим элементом bls пло- скость у5 = 0 плоскостью yz = 0, хотя при этом шаге не совершается никакого движения (Z = 0!), т. е. мы остаемся в той же вершине. Если же bls<^Q при Ь1~0, то для Z^>0 получим Vi (ps, /) = — btst + bt = — blst > о, и движение по оси ys допустимо, но брать коэффициент bls разрешающим нет смысла, так как при разрешающем blsi вследствие равенства нулю Ь1у будет f = 0, и движения по оси ys не произойдет (т. е. мы останемся в той же вершине). Взяв же другой разрешающий элемент bis) такой, что t = Ь; \ м u = ~- О, мы сможем продвинуться по оси до соседней вер- pis ШИНЫ. Таким образом, после конечного числа испытаний мы либо обнаружим ось, по которой движение возможно, и выйдем из нашей вершины, либо обнаружим противоречивость системы ограничений. 7. Другое правило выбора разрешающего элемента. Про- цесс продвижения к многограннику й от вершины, отделенной от него несколькими плоскостями, можно часто ускорить, если поль- зоваться следующим, несколько видоизмененным правилом выбора разрешающего элемента: 1) Выбираем строку с отрицательным свободным членом (пусть, например, Z>r<0). Если среди коэффициентов этой строки нет отрицательных, то система (2.2) несовместна. 2) Если же среди коэффициентов рассматриваемой строки есть отрицательные, то берем какой-нибудь из них (пусть brs<zty и столбец, содержащий этот коэффициент, берем в качестве разре- шающего. {Z? • ч b * —и элемент Ь; для кого- .. bis f bioS' рого он достигается, берем в качестве разрешающего.
§ 2] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 49 4) Если таких отношений не оказалось, то находим ( Ь- ) шах ) —->0>= и элемент Ь} с, для которого он достигается, ) biaS берем в качестве разрешающего. Приведенное правило легко обосновать по аналогии с тем, как это было сделано для первого. Ограничимся лишь геометрической иллюстрацией (рис. 9). При движении из вершины Ро вдоль оси yQ Рис. 9. по направлению к многограннику Й можно не останавливаться в вершине встречи оси с первой отделяющей плоско- стью у\ = 0 (#i<0) (как это рекомендуется первым правилом), а продвигаться дальше до точки Р4 встречи с первой неотде- ляющей плоскостью _у5 = 0 (65 > 0) (как рекомендуется в п. 3) нового правила). Невозможность же встречи с неотделяющей плоскостью озна- чает, что среди положительных отношений нет таких, у кото- рых Ь[ > 0 и biS > Тогда по п. 4) можно двигаться до послед- ней отделяющей плоскости (^ = 0 на рис. 8). Это будет плоскость, для которой отношение (bi < 0, biS < 0) имеет наи- ®is большее значение. Замечание. Из рис. 9 видно, что при движении из вер- шины Ро к многограннику Q можно было остановиться не в точке Р4, а в точке Р3, если несколько усложнить пункты 3) и 4) второго правила выбора разрешающего элемента.
50 СИМПЛЕКС-МЕТОД [ГЛ. II § 3. СИМПЛЕКС-МЕТОД ДЛЯ ОТЫСКАНИЯ ОПТИМАЛЬНОГО РЕШЕНИЯ ОСНОВНОЙ ЗАДАЧИ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ Пусть рассматривается задача максимизации формы (2.1) z =prXi . -\-рпхп при ограничениях (2.2) У, — — ацХ1 — aitXi —... — ainx„ а, Ss- 0 (i= 1, 2, ..., т), и пусть после исключения свободных переменных и отыскания опорного решения —У1 получена — Уг ••• таблица —ys ... >—Уп 1 Уп+1 Ьп+1, 1 ^zz+i, 2 • .. bn+l, s • • • bn VI. n Уг = bri Ьг2 •.. brS • • • brn br , (2-4') Ут = bmi • • • bms ••• bmn Ьщ z = <11 ••• Qs ••• Qn Q так что bnJri >0, ^л+2 2^ • • • > bm .0. В зависимости от знаков коэффициентов г-строки необ- ходимо различать следующие два возможных случая. 1. Все коэффициенты ^-строки неотрицательны. Если <71 0, ^2^0, ..., то задача линейного программи- рования решена, причем шахг = Q и достигается в точке уг=уг = .. .=у/д = 0. Действительно, в этой точке имеем ^/Н-1 2^ ••• >Ут==Ьт^®’ т. е. удовлетворяются ограничения (2.2), и так как в любой другой точке многогранника 2 все уь у%, ... , уп неотри- цательны, то z= — q}yY— ... —ЯпУп~{~ Q^Q’ т. е. Q — максимальное значение д
§ 3] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПТИМАЛЬНОГО РЕШЕНИЯ 51 2. Правило выбора разрешающего элемента при оты- скании оптимального решения (некоторые коэффициенты ^-строки отрицательны). Пусть среди коэффициентов z-строки есть отрицательные, например, пусть В этом случае, очевидно, уже нельзя утверждать, что в точке рй (п = 0, ... , уп = 0) значение Q функции z является максимальным. Действительно, если, например, точка Л(У1 = °> ••• = Л>°> Js+1 = °, •••> J» = °) удовлетворяет ограничениям (2.2) (т. е. yi(Ps) = — ^ + ^^=0, 1 = ... , т), то в этой точке z(Ps) = — qsvs + <2> Q- Симплекс-метод для отыскания оптимального решения означает специальное правило перехода от полученной точки Ро(у1 = О, ... , _уп = 0) (вершины многогранника 2) к той соседней вершине этого многогранника, в которой значе- ние z больше (не меньше) Q; этот процесс продолжается, пока не будет найдена вершина, в которой значение z мак- симально, т. е. для которой все коэффициенты г-строки бу- дут неотрицательны (или пока не будет установлено, что функция z не ограничена сверху). Чтобы осуществить переход от Po(j1 = O, ... , _уп = 0) к упомянутой соседней вершине, делаем один шаг модифици- рованного жорданова исключения со следующим правилом выбора разрешающего элемента. Правило выбора разрешающего элемента*). 1) В качестве разрешающего берем столбец, содержа- щий отрицательный элемент ^-строки**) (в рассматривае- мом случае 5-й столбец); 2) отбираем все положительные коэффициенты этого столбца (если такие имеются), делим на них соответствую- щие свободные члены, сравниваем полученные отношения *) Обоснование приводится ниже, в п. 4. **) Обычно разрешающим берут столбец, содержащий наи- больший по абсолютной величине отрицательный коэффициент ^-строки.
52 СИМПЛЕКС-МЕТОД [ГЛ. П и берем среди них наименьшее, достигаемое пусть при i = ln. Тогда /0-ю строку берем разрешающей, так что элемент bioS — разрешающий (если таких элементов окажется больше од- ного, то берем любой из них) *). После шага модифицированного жорданова исключения с разрешающим элементом, выбранным по только что сфор- мулированному правилу, знак у qs изменится на противопо- ложный, так что новый коэффициент q’s окажется уже поло- жительным. Если все остальные новые коэффициенты г-строки неотрицательны, то мы пришли к случаю п. 1 (неотрица- тельность новых свободных членов обеспечена правилом вы- бора разрешающего элемента), и задача решена. Если же среди остальных коэффициентов новой z-строки есть отрицательные, то поступаем с каждым из них так, как с qsi и после конечного числа шагов придем либо к случаю, когда в z-строке не окажется отрицательных коэффициентов, т. е. к случаю п. 1 (задача решена), либо к случаю отсутствия положительных коэффициентов в неко- тором столбце, содержащем отрицательный коэффициент z-строки, что означает, как нетрудно убедиться, неограни- ченность сверху функции z **). Действительно, пусть, например, #s<^0, и среди коэф- фициентов 5-го столбца нет положительного. В этом случае можно, например, положить у^ = ••• —У&-\= О, J's = = ... =jyn = O. Тогда при получим т. е. при любом удовлетворяется система (2.2) Соот- ветствующее же значение функции z(Ps,i) = — qst-\-Q можно сделать сколь угодно большим при достаточно боль- шом t. *) Детальный разбор см. ниже, в § 6. В случае вырождения, когда min =0, если кроме qs<Q еще <?7 <0, но Wis J bios bio^O, то в качестве разрешающего столбца лучше брать не s-й, а j-й б’0-я строка не будет разрешающей). **) О возможности зацикливания см. ниже, § 6.
§ 3] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПТИМАЛЬНОГО РЕШЕНИЯ 53 Замечание. Для отыскания симплекс-методом опор- ного или оптимального решения можно, очевидно, вместо модифицированных жордановых исключений пользоваться обыкновенными. При этом правила выбора разрешающих элементов несколько изменятся. Для случая минимизации эти правила приведены ниже на стр. 109. 3. Примеры. Предварительное замечание. При решении примеров рекомендуется после получения опорного решения начинать заполнение таблицы со столбца свободных членов и с коэффициентов ^-строки. Если среди коэффи- циентов г-строки не окажется отрицательных, то уже нет смысла вычислять остальную часть таблицы. Пример 1 [48]. Максимизировать линейную форму z —3a*i —]— 6х2 при выполнении ограничений У г — xi Ч~ -j- 1^0, у2 — 2Xi 4- х2 — 4^0, Уз = Х1~ х2 + 1 М у4 = Xi — 4х2 —р 10, ys —— 4х1-ф- х2 423^0. Переходим к таблице — *1 1 У1 = — 1 — 2 1 У2 = — 2 — 1 — 4 Уз = — 1 1 1 У4^= — 1 4 13 У.--= 4 — 1 23 2 -- 3 — 6 0
54 СИМПЛЕКС-МЕТОД [ГЛ. И Исключив координату получаем таблицу — У1 —^2 1 *1 = — 1 2 — 1 — 2 3 — 6 Уъ = — 1 3 0 У4== — 1 6 12 У» = 4 — 9 27 z — 3 — 12 3 Выписываем отдельно выражение для исключенного xi~yi — 2х2— 1, и отдельно — оставшуюся часть таблицы: I со I со с© о 1 1 -Г см — хг 1 1 1 1 II II II II со SJ1 ю **4 1 — 6 0 12 27 2= 3—12 3 Исключаем теперь координату х2: — 5!i —У2 1 —. 1со —' см со 1 1 см |со —« со см 1 1 II II II II СО -ч< >о н — 2 6 24 9 z = —5 4 — 21
§ 3] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПТИМАЛЬНОГО РЕШЕНИЯ 55 Выписываем отдельно выражение для х2: 2 1 *2 = 3 Ji —3^2 —2, и отдельно — оставшуюся часть таблицы: — У1 — Уз 1 Уз = и — 1 6 у4 = 3 — 2 24 у5 = — 2 3 9 z = — 5 4 — 21 В последней таблице все свободные члены неотрица- тельны, следовательно (см. § 2, п. 3), ух =у* = 0 дает опор- ное решение нашей системы ограничений. Переходим к отысканию оптимального решения. В г-строке содержится отрицательный коэффициент —5, так что имеем случай п. 2. В столбце коэффициентов над ним имеются два положительных: 1 и 3. Делим на них соответствующие . 6 24 г свободные члены: г и —. Среди этих отношений меньшим 1 о является у. Поэтому элемент 1 берем в качестве разре- шающего. После шага модифицированного жорданова исклю- чения получим таблицу —Уз — Уз 1 У1 = У4 = у5== z = 6 6 21 9 5 —1 г-строка которой содержит отрицательный коэффициент — 1. Среди двух положительных элементов, расположенных над — 1, в качестве разрешающего берем 1, взятую в рамку,
56 СИМПЛЕКС-МЕТОД [ГЛ. П гт к так как Получим таблицу —.Уз —Л 1 12 6 15 2 1 15 в z-строке которой больше нет отрицательных коэффициен- тов. Задача решена. Из последней таблицы находим: шах г =15, он достигается в точке _у3 —у^ = 0, при этом у1 = 12, j.2 = 6, y/s = 15. Подставляя в выражения для х2, получим х2 = 4, х1 = 3. Пример 2. Максимизировать форму Z = Х1 Х% Х3 при выполнении ограничений У1 = 2xj —2х2 —х3 — 2 О, у% = — Зх2 — 2х3 —{— 6 О, у3 = — %Xi Зх2 -j- 2х3 6 О, у 4 = — 2л*2 —2х3 2 О, и при х{ 0, х% О, х3 >2 0. Переходим к таблице Х^ Х% л*з 1 Л== — 2 — 2 — 1 — 2 у2 = 3 — 3 2 6 Уь = 3 — 3 — 2 6 0 2 — 2 2 z = — 1 — 1 — 1 0 Переменные xv х2, х3 неотрицательны, поэтому мы их не
§ 3] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПТИМАЛЬНОГО РЕШЕНИЯ 57 исключаем (см. замечание в конце п. 2 § 2) и сразу пере- ходим к п. 4 § 2. Первая строка содержит отрицательный свободный член. Из отрицательных коэффициентов этой строки выбираем — 1 и сравниваем неотрицательные отношения свободных членов к коэффициентам третьего столбца меньшее из этих отношений первое, поэтому в качестве разрешающего берем коэффициент — 1, взятый в рамку. Сделав шаг модифицированного жорданова исключения, по- лучим таблицу — *1 — х2 —У1 1 Хд 2 2 — 1 2 Ь = — 1 — 7 |Т| 2 у* = 7 1 — 2 10 Уь = 4 6 — 2 6 z — 1 1 — 1 2 не содержащую уже отрицательных свободных членов, и можем перейти к отысканию оптимального решения. Над отрицательным коэффициентом г-строки — 1 находится лишь один положительный коэффициент 2. Его и делаем разре- шающим. После шага модифицированного жорданова исклю- чения получим — Xi — *2 —у* 1 3 3 1 — 3 д 2 2 2 — 1 — 7 1 У1 = 2 2 2 1 Уз = 6 — 6 1 12 У4 = 3 — 1 1 8 1 5 1 Z = 3 2 2 2
58 СИМПЛЕКС-МЕТОД [ГЛ. II 5 Над отрицательным коэффициентом ^-строки — у нет поло- жительных, поэтому (см. конец п. 2) линейная форма может принимать сколь угодно большие значения. 4. Обоснование правила выбора разрешающего эле- мента. Пусть среди коэффициентов ^-строки есть отри- цательные и, следовательно, нельзя утверждать, что в вер- шине Ро(у1 = О, ... , j/n=0) достигается максимум функ- ции z. Переход к соседней вершине означает движение из вершины Ро(дд = 0, , _уп=0) по некоторой оси, напри- мер ysy выбранной так, чтобы при этом увеличивалось зна- чение Zy т. е. чтобы в точке Ps t оси ys с координатами У1 = 0, ... , ys_i = 0, ys = t, ys+i = 0..... yn — 0 значе- ние z было больше, чем в точке Ро: 2’(^,/)>2’(P0)=Q> или Отсюда — я st Q Q- — и ^5<о. Таким образом, для увеличения z следует двигаться по оси, расположенной в таблице над отрицательным коэффи- циентом г-строки. Пусть дд<^0. Ясно, что двигаться по указанной оси можно лишь до встречи с соседней вершиной многогран- ника 2 (чтобы не сойти с 2!), т. е. до встречи с некоторой плоскостью yt = 0, где i я, bt 0. В точке встречи с этой плоскостью, если /д^>0, получим 0 =—следова- тельно, bis 0, и так как ~ = £">(), то Пер- Uis вой, очевидно, мы встретим плоскость дд0 = 0 (Zo n, biQ 0), для которой biJbiQS имеет наименьшее (положительное) зна- чение. В случае вырождения, т. е. когда среди свободных чле- нов встречаются равные нулю, искомая «соседняя» вершина может совпасть с исходной Р^(ух = ... =yn=ty и в дей- ствительности движения не будет (Z = 0). Это произойдет, если /д0 = 0, a /д0$^>0, так как тогда У io (Ps. t) = — bif>st + bio = — biaSt
§ 3] СИМПЛЕКС-МЕТОД ОТЫСКАНИЯ ОПТИМАЛЬНОГО РЕШЕНИЯ 59 неотрицательно лишь при f = 0, а при уже будет ji0<^0 и мы сошли бы с многогранника 2. Если же &>о = 0, a J%s<0, то yi<t (Ps,t) = — W + Jf-biQ = — b^st останется положительным при /^>0, так что нет нужды брать ^ = 0 (оставаться в исходной вершине), если (z^>n, bis^>0) положителен*). i “is Таким образом, в случае вырождения мы испытываем сначала все верхние оси, соответствующие столбцам, распо- ложенным над отрицательными коэффициентами г-строки, т. е. в каждом таком столбце просматриваем коэффициенты против нулевых свободных членов. Если в некотором таком столбце против нулевых свободных членов нет положитель- ных коэффициентов, то этот столбец следует выбрать в ка- честве разрешающего, так как по соответствующей оси можно двигаться. В противном случае ни по одной из верх- них осей нельзя двигаться и следует испытать боковые оси, превратив их в верхние путем шага модифицированного жорданова исключения с разрешающим элементом, выбран- ным по правилу п. 2 (при этом движения не происходит). После конечного числа шагов мы либо сойдем с рас- сматриваемой вершины, либо убедимся, что в этой вершине достигается искомый максимум, либо обнаружим неограни- ченность функции z. 5. Монотонность и конечность алгорифма симплекс- метода. Алгорифм симплекс-метода, как видно было из его геометрической интерпретации, относится к так называемым монотонным алгорифмам, т. е. к алгорифмам, каждый шаг которых монотонно приближает нас к искомому зна- чению. Чтобы убедиться в этом и аналитически, достаточно показать, что при переходе алгорифмом симплекс-метода от одного опорного решения к другому, т. е. при выборе раз- решающего элемента по правилу п. 2, значение функции г, определяемое последним элементом г-строки, не убывает. Действительно, после исключения свободных переменных (см. § 2, п. 2) и построения таблицы (2.4'), в которой все свободные члены неотрицательны, опорным является решение *) То есть можно, не обращая внимания на плоскость yZo = O, двигаться по оси у5 до встречи с другой плоскостью, т. е. до со- седней вершины.
60 СИМПЛЕКС-МЕТОД [ГЛ. II Ух = ... =уп = 0. Если в ^-строке есть отрицательный ко- эффициент, например то для перехода к следующему опорному решению надо сделать один шаг модифицирован- ного жорданова исключения с разрешающим элементом из 5-го столбца, например с brs^>Q, выбранным по правилу п. 2. Такой коэффициент найдется, если задача имеет огра- ниченное решение (см. конец п. 2). Для нового значения Q, которое обозначим Q' (учитывая, что qs<^ 0, brsО, Ьг 0), получим Q’ Qbrs pqsbr = Q^br^.Q brs brS Таким образом, если Z?r^>0, то Q'^>Q, т. е. имеет место строгая монотонность рассмотренного шага алгорифма. В случае же Ьг — § имеем Q'=Q, т. е. стро- гой монотонности не будет и имеет место вырождение. Подробному рассмотрению явления вырождения посвя- щен § 6. Конечность алгорифма симплекс-метода легко уста- навливается в случае отсутствия вырождения, так как мно- гогранник 2 имеет лишь конечное число вершин, а воз- вращение к раз использованной вершине невозможно из-за строгой монотонности алгорифма. В случае же вырождения алгорифм может оказаться не- конечным, так как в силу нестрогой в этом случае моно- тонности процесса (если не обеспечено запоминание уже проверенных осей, выходящих из данной вершины) возможно возвращение к ранее встречавшейся таблице, что называют зацикливанием. В § 6 будет показано, какое дополнение следует внести в правило п. 2 выбора разрешающего эле- мента, чтобы избежать зацикливания и, следовательно, обе- спечить конечность алгорифма. Там же будет рассмотрен аналогичный вопрос о возможности зацикливания (в слу- чае вырождения) при пользовании симплекс-методом для оты- скания опорного решения. § 4. РАЗНЫЕ СПОСОБЫ ЗАДАНИЯ ОГРАНИЧЕНИЙ 1. Смешанная система ограничений. Часто, вместо системы неравенств (2.2), ограничения в задаче линей- ного программирования задаются в виде системы уравне- ний или в виде смешанной системы, состоящей из уравне-
РАЗНЫЕ СПОСОБЫ ЗАДАНИЯ ОГРАНИЧЕНИЙ 61 ний и неравенств. Мы рассмотрим самый общий случай, когда ограничения имеют смешанный характер, а перемен- ные частично свободны, частично несвободны (неотрица- тельны). В этом случае задача линейного программирования формулируется так. Среди решений системы ••• г), ] II г- । 1 \ ^1+ ••• + = G = + h ••• > w); ) xt 0, ... , xs 0 (5 п) найти то, которое максимизирует линейную форму 2'=/?1х1Ц- ... -\-рпхп. (2.1) Геометрический смысл этой задачи вообще такой же, как и основной задачи § 1, с тем лишь отличием, что теперь пространство, в котором рассматривается задача, имеет раз- мерность, меньшую чем п. Действительно, пусть матрица || || коэффициентов си- стемы ограничений-равенств из (2.5) и расширенная матрица имеют ранг Z. Тогда эту систему можно решить относительно I переменных, т. е. эти переменные можно выразить линейно через остальные п — I. Подставив полученные выражения в не- равенства системы (2.5) и в форму (2.1), придем к задаче §§ 2, 3, но рассматриваемой в (п— /)-мерном пространстве. В действительности же для применения симплекс-метода нет необходимости в предварительном решении системы ог- раничений-равенств относительно I переменных, так как симплекс-метод может быть применен непосредственно к за- даче со смешанной системой ограничений. Изложим это по пунктам. 1) Переход к таблице и исключение свобод- ных переменных. Ограничения-неравенства из (2.5) за- писываем в виде Л= —(а,1Х1+ ... (Z=l, ... , г), а ограничения-уравнения в виде 0-у равнений 0 = -(зд+ ... + (i = r-L- 1, ... , ту,
62 СИМПЛЕКС-МЕТОД 1ГЛ. II / составляем таблицу — xt ...~хп 1 «и а1п а1 Уг = •• • агп аг 0 = aW,l ••• аГЛ-1,П аг\1 0 = атл ••• атп ат z — -Pi ••• —Рп 0 и исключаем из нее свободные переменные х5+1, ... , xni так, как это показано в п. 2 § 2. Для удобства записи бу- дем считать, что на верх таблицы вместо исключенных xs+1, ... , хп переброшены ylf ... , yn_s (п — s г), так что получена, например, таблица — *1 • . xs — yi Уп-s 1 Уtl-S+i bfi-s+i, s+i •• bfi-S+l Уг = Ь ri brs br,S+i brn br 0 = br+1,1 br+i,s br+i,S+i br+ifn br+i 0 = bmi • bms bm,s+i bfnn Ьщ Z = Qi Qs Q.s+i Qn Q ’ (2.6) и отдельно выражения для свободных переменных xs+1, ... • • • } % п* Если на верх таблицы вместо какого-нибудь свободного Xj перейдет нуль из левого столбца (так всегда будет, если п — s^>r), то расположенный под ним столбец коэффици- ентов вычеркиваем. Без ограничения общности можно считать, что bi О (Z = r—1, ... , т), так как любое 0-уравнение (исходное или преобразованное) можно в случае надобности помножить
§ 4] РАЗНЫЕ СПОСОБЫ ЗАДАНИЯ ОГРАНИЧЕНИЙ 63 на —1. После получения таблицы (2.6) переходим к исклю- чению 0-строк. 2) Исключение 0-строк. Правило избавления от Л-й 0-строки формулируется так: разрешающим столбцом берется столбец таб- лицы (2.6), содержащий положительный коэффициент, пусть bkl (если такой имеется), из А-й 0-строки (т. е. Z-й столбец); для выбора разрешающей строки вычисляем все неотрицательные отношения 0 свободных членов к ко- эффициентам разрешающего (/-го) столбца, находим среди них наименьшее, достигаемое пусть при i = iQ. Тогда /0-ю строку берем в качестве разрешающей, так что разрешаю- щим элементом будет bio[. Такое правило выбора разрешающей строки совпадает с соответствующим правилом при отыскании опорного реше- ния (см. § 2 п. 4). Поэтому в получаемой после каждого шага модифицированного жорданова исключения таблице число отрицательных свободных членов не увеличится (см. § 2 п. 4), а в 0-строках все свободные члены останутся неот- рицательными. Как и в п. 4, § 2, в случае вырождения, когда min (Л = ^-=0, i }ьн I bi(!i мы берем biQi разрешающим элементом лишь при bi()i^>0. Если разрешающим оказался коэффициент bkl) т. е. l§ = k (благоприятный случай!), то после шага модифициро- ванного жорданова исключения мы избавимся от Л-й 0-строки, т. е. нуль, стоящий слева этой строки, попадет на верх таб- лицы и будет вычеркнут вместе с расположенным под ним столбцом, что уменьшит размерность пространства на единицу. Если же разрешающим оказался элемент biQi и z’o ф k, то продолжаем шаги модифицированных жордановых исклю- чений, работая все время с Л-й 0-строкой (т. е. выбирая каждый раз разрешающий элемент из столбца, содержащего положительный коэффициент Л-й 0-строки) до тех пор, пока либо не избавимся от Л-й 0-строки, либо в Л-й (или другой) 0-строке не останется ни одного положительного коэффи- циента при положительном свободном члене, что означает несовместность системы.
64 СИМПЛЕКС-МЕТОД [ГЛ. II Действительно, если bk^>0 и bkJ^0 (J= 1, ... , п), то учитывая, что Х1 0, ... , xs О, _У! 0, ... , yn__s О, получим bk\( — xi) + • • • + bks( — xs) + bkt S+1 ( —.У1) +. • • • • • + bkn ( —Уn- s) “i~ bk bk О, так что k-e О-уравнение несовместимо с требованием х{ 0,... ... , х5^0, _ух^0, ... , и система (2.5) несов- местна. После исключения 0-уравнений ищем опорное решение системы, как указано в § 2, а затем оптимальное, как в § 3. 2. Примеры. Пример 1. Определить максимальное значение формы z = — 5хх —10х2 — 7 х% —За* на множестве неотрицательных решений системы урав- нений хх -р х2 7х% -|- 2а;4 = -у, - 2хх — А*2 —Зх3 3a^4 = , 2хх —2а*2 —|— 8а* 3 —J— х^ — 4. Переходим к таблице 0= 1 1 7 2 0= —2—1 33 0= р] 2 8 1 7 "2 3 2 4 5 —10 7 —3 1 0
§ 41 РАЗНЫЕ СПОСОБЫ ЗАДАНИЯ ОГРАНИЧЕНИЙ 65 Для получения опорного решения надо освободиться от 0-строк. Берем первый положительный коэффициент 1 пер- вой 0-строки, сравниваем отношения свободных членов к положительным коэффициентам первого столбца и устанав- ливаем, что разрешающим элементом будет число 2 (взятое в рамку). После шага модифицированного жорданова исключения и вычеркивания столбца под перенесенным наверх нулем получим — х2 АГ3 — 1 0 = 0 и ’ 3 2 3 2 0 = 1 11 4 11 2 <4 = 1 4 1 2 2 z = — 15 — 13 11 2 — 10 Мы освободились от одной 0-строки. Аналогично переходим к следующим таблицам: — х2 —х4 1 —х4 1 —х4 1 — |oj Оф |сч оо |см 1 1 ° в ~ Д 2 0 0 — 15 1 —7 2 Д 2 2 2 О д 2 О О Д 2 Д 2 Д 2 О Последняя таблица уже не содержит 0-строк, так что имеем опорное решение х4 = 0, х3 —— , х2 = 0, x1 = 0. 3 С. И. Зуховицкий, Л. И. Авдеева
66 СИМПЛЕКС-МЕТОД [ГЛ. П Приступаем к отысканию оптимального решения. В столб- це над отрицательным коэффициентом г-строки — у есть лишь один положительный у. Он и будет разрешающим элементом. После шага модифицированного жорданова исключения получим таблицу — •^3 1 = 1 3 х2— у z= 43 18 ’ из которой, положив _г3 = 0, найдем max z — 18, достигаемый при х1 = 0, = х3 = 0, х4=1. Пример 2. Найти максимальное значение линейной формы z — 1 Oxj — — 42х3 — 52х4 на множестве неотрицательных решений смешанной системы ограничений 2xt — х2 — х3 — Зх4 -[-2 = 0, 3xj — 2х% —{— Зх3 —|— 7 = 0, Зл?1 — х% — 4х3 — х4 —[— 1 0, — 3xt -[- 2х2 — 2х3 -j- 2х4 — 9^0.
§ 4] РАЗНЫЕ СПОСОБЫ ЗАДАНИЯ ОГРАНИЧЕНИЙ 67 Переходим к таблице 1? о о II II II II 1 1 1 1 OJ OJ со м '° Ldi । । ю 4^ Со — ю — о со 1 2 7 1 — 9 2 = — 10 1 42 52 0 и приступаем к исключению 0-уравнений. Просматриваем первую 0-строку. Первый положительный коэффициент 1 стоит во втором столбце. Его берем разрешающим. Однако разрешающей строкой является не первая, а третья, так что разрешающим элементом будет 1 в рамке ^так как • ( 2 7 1 ______9 ) 1 \ min |Т’У’Т’^2 J = Тг ПоэтомУ> сделав шаг модифи- цированного жорданова исключения, мы придем к таблице — ^1 — — 1 0 = ш — 1 — 3 2 1 0 = 3 — 2 — 11 — 2 5 х2 = — 3 1 4 1 1 у2 = — 3 2 10 0 — 7 2 = — 7 — 1 38 51 — 1 содержащей опять две 0-строки (т. е. не удалось еще изба- виться от рассматриваемой первой 0-строки). Сделав шаг модифицированного жорданова исключения с разрешающим элементом 1 из первой строки и вычеркнув столбец коэффициентов под перенесенным наверх нулем, 3*
68 СИМПЛЕКС-МЕТОД [ГЛ. И получим таблицу II II II II ч ° ч" £ — 1 —3 2 ГП -2 -8 — 2 —5 7 — 1 1 6 1 2 4 — 4 Z — — 8 17 65 6 После аналогичного освобождения от второй 0-строки, при- дем к таблице освобожденной от 0-строк, но содержащей отрицательный свободный член. Освободимся от него, сделав шаг модифи- цированного жорданова исключения с разрешающим элементом — 1, взятым в рамку. Получим таблицу —Ь — х4 1 *1 = — 5 4 13 — 2 — 4 6 *2 = — 9 9 26 = — 1 И 2 Z = 1 — 1 20 содержащую уже опорное, но не оптимальное решение. Пе- реходим к отысканию оптимального решения. Над отрица- тельным коэффициентом г-строки разрешающим элемен- том будет 2. После шага модифицированного жорданова
§ 4] РАЗНЫЕ СПОСОБЫ ЗАДАНИЯ ОГРАНИЧЕНИЙ 69 исключения получим таблицу — У 2 *1 = = х2 = 9 10 17 1 _1_ 2 £ 2 Z — 21 не содержащую отрицательных коэффициентов в г-строке. Следовательно, максимальное значение найдено: max z = 21 и достигается при _у2 = 0, х3 = 0. Окончательно Xi = 9, х2 =17, х3 = 0, х4 = 1. 3. Обоснование. Каждое 0-уравнение определяет в //-мер- ном пространстве (//— 1)-мерную плоскость — гиперплоскость, и многогранник ограничений 2 превращается в пересечение //-мерного многогранника, образованного пересечением по- лупространств, соответствующих ограничениям-неравенствам, с гиперплоскостями, соответствующими 0-уравнениям, так что 2 содержится в каждой из этих гиперплоскостей. Пусть после некоторого шага получена таблица - хг ... — xt — У1 •• — Уи 1 *z+l = 1 ^z+i, Z+1 bl+i,l+h ^Z+1 =s ^S1 • • bst bs, Z+1 • bs, l+h bs Ул+1 = bh+1,1 ••• ^h+i,l ^A+l, Z+1 bh+i, l+h bh+i Уг = brl ... brl Z+1 • brf br 0 == &ki ... bkl bk, Z+1 bk> l+h bk 0 == bmi bml Z+i • bmi i+h Ьщ Z = Qi Ql <?Z+i Q l+h Q
70 СИМПЛЕКС-МЕТОД [ГЛ. IT Рассмотрим какое-нибудь 0-уравнение, например 0 = — + • • • + ^kixi + • • • 4~ bk ыУь) + (2-7) где ^^>0. Точка Р0(х1 = О,xz=0, j/1 = 0,..., yh = 0) расположена вне плоскости (2.7) (так как bk ф 0), значит, и вне многогранника 2, содержащегося в этой плоскости. Так как решение, будучи вершиной 2, должно удовлетворять 0-уравнению, то естественно двигаться из вершины Ро к пло- скости (2.7). Проверим целесообразность движения из точки Ро по оси xt. Для этого требуется, чтобы точка Pt, / = P(x1 = 0, ...,xz_i = 0, xl = t^>0i j?! = 0,..., у/л = 0) этой оси была при достаточно малом £^>0 ближе к пло- скости (2.7), чем точка Ро- Но тогда, очевидно, должно вы- полняться неравенство — bkli-\-bk<bk (уклонение точки Pt t от рассматриваемой плоскости должно быть меньше, чем уклонение точки Ро), откуда — М<° и ^г>°- Этим доказано, что двигаться следует по оси, которая в таб- лице расположена над положительным коэффициентом 0-строки. Из тех же соображений, что и при отыскании опорного решения системы линейных неравенств (см. § 2 п. 6), движе- ние по оси xt должно происходить до первой встречи с новой плоскостью. На рис. 10 изображен случай и = 2 и наличия среди ог- раничений одного 0-уравнения и четырех неравенств. Мно- гогранник 2 превратился в отрезок АВ. Пусть после исключения свободных координат xt и х.2 получена, например, таблица —У1 —У2 1 Уз ^31 ^32 У 4 ~ ^41 ^42 0= z>51 z>52 <3* <5* сл ф. w V V л ООО 2 = q. q2 Q
§ 4] РАЗНЫЕ СПОСОБЫ ЗАДАНИЯ ОГРАНИЧЕНИЙ 71 Из таблицы видно, что точка Ро (ух = 0, у.2 — 0) распо- ложена вне многогранника 2 (Ь% 0). Из рисунка 10 видно, что, двигаясь по оси у2, мы встретим прямую 0 = — (Ь^у{ -ф- 4“ “Ь в точке Р и избавимся от 0-строки. Замечание. При вырождении, когда в некоторой 0-строке, например в Л-й 0-строке (2.7), свободный член ра- вен нулю (и, следовательно, точка Ро уже очутилась в пло- скости (2.7)), следует различать случай наличия в &-й 0-строке коэффициентов разных знаков и случай, когда все ко э ф ф и ц и е н т ы Л-й 0-строки од- ного знака. В первом случае, очевидно, любой из поло- жительных коэффициентов Л-й 0-строки может быть взят в качестве разрешающего*) и после шага модифицированного жорданова исключения мы избавимся от этой 0-строки. Во втором случае можно вычеркнуть все столбцы, содержащие отличные от нуля коэффициенты Л-й 0-строки и саму эту строку. Это объясняется тем, что в случае отличия от нуля хотя бы одной из переменных, расположенных над рассмат- риваемыми коэффициентами &-й 0-строки, уравнение (2.7) не удовлетворяется, а вместе с ним будет противоречивой си- стема (2.6). *) Разрешающим можно брать, конечно, любой отличный от нуля коэффициент /г-й 0-строки, но мы придерживаемся правила п. 4 §2 выбора разрешающего элемента.
72 СИМПЛЕКС-МЕТОД [ГЛ. II § 5. ЗАДАЧА МИНИМИЗАЦИИ ЛИНЕЙНОЙ ФОРМЫ 1. Сведение к задаче максимизации. До сих пор мы рассматривали решение симплекс-методом задачи отыскания максимума линейной формы z=plxi-\-...-\-pnxn (2.1) при ограничениях — . — ainxn О (Z = 1, ..., т). (2.2) Во многих задачах требуется найти минимум формы (2.1) при ограничениях (2.2). Для этого достаточно положить Z = — z = — рххх — ... — рпхп и решить задачу максимизации полученной формы при ограничениях (2.2). Ясно, что min z = — max Z. Замечание. Задачу минимизации линейной формы (2.1) при ограничениях (2.2) можно решать и непосредственно симплекс-методом, не сводя ее путем изменения знаков коэффициентов формы (2.1) к задаче максимизации. Для этого достаточно в алгорифме симплекс-метода несколько видоизменить лишь признак оптимальности и правило выбора разрешающего элемента. Признаком оптимальности опорного решения (т. е. дости- жения на нем minz) теперь будет отсутствие положительных коэффициентов в г-строке, и тогда min Q. Разрешающий элемент теперь следует брать в столбце над положительным коэффициентом г-строки (а не над отрицательным, как в случае максимизации). 2. Примеры. Пример 1. Минимизировать линейную форму z = —— —|—
§ 5] ЗАДАЧА МИНИМИЗАЦИИ ЛИНЕЙНОЙ ФОРМЫ 73 при выполнении ограничений У1 —— —j- 2х3 ~1 О» у2 = 2Xi4- х% — 4^0, Уз = Х{ Х% 1^:0, У 4 ==— Х^ — 4х3 “4~" 1 0, J/g = — 4Xj ~*^*2 ~Н ^3 Эту задачу сводим к задаче максимизации формы Z — — z — Зхх — 6х3 при выполнении тех же условий. 1) Переходим к таблице — *1 — х2 1 У1 = HI 1 у2 = —2 -1 —4 -Уз = -1 1 1 ь = —1 4 13 Уъ = 4 -1 23 z= —3 6 0 2) Исключение свободной переменной xt приводит к таблице — У! — х2 1 У 2 = -2 I3 1 —6 Ь = —1 3 0 -1 6 12 Уь = 4 -9 27 Z^= —3 12 —3 с отдельно выписанным выражением для xt: хх=Уг — 2х3— 1,
74 СИМПЛЕКС-МЕТОД [ГЛ. П Исключив X* получим ~У1 — У2 1 Уъ~ 1 — 1 6 Уь = 3 —2 24 У5 = —2 и 9 z= 5 —4 21 и значение для л*2: 2 1 о х«=зЛ—зЛ-2- Свободные члены неотрицательны, так что — у4 = О — опорное решение нашей системы ограничений. 3) Переходим к отысканию оптимального решения. В Z-строке есть отрицательный коэффициент —4, а столбец коэффициентов над ним содержит лишь один положитель- ный 3, так что он и будет разрешающим. После шага моди- фицированного жорданова исключения получим таблицу не содержащую отрицательных коэффициентов в Z-строке. Задача решена: maxZ = 33, и, следовательно, min z = — 33 и достигается при ух = ys — 0; тогда Уз = 9, У 4 = 30, = 3 и х% = — 3, хх = 5,
§ 6] ЗАДАЧА МИНИМИЗАЦИИ ЛИНЕЙНОЙ ФОРМЫ 75 Пример 2. Решим пример 1, не сводя его к задаче максимизации. Исходная таблица ~ *1 — х2 1 У1 = н —2 1 У2 = —2 —1 —4 Уз = —1 1 1 Уь = -1 4 13 Уь = 4 -1 23 Z = 3 -6 0 после исключения и перейдет в следующую: —~У\ —У2 1 Уь = z = 1 — 1 6 3 —2 24 -2 ш 9 —5 4 —21 причем х1=у1 ~ 2х2 — 1, 2 1 о — З-Уз — 2. Получено опорное решение: Я =Л = О, и можно перейти к отысканию оптимального решения. В отличие от случая максимизации линейной формы, в за- даче минимизации разрешающий элемент выбираем в столбце коэффициентов, расположенных над положительным коэф- фициентом z-строки, в нашем примере над коэффициентом 4. В этом столбце всего один положительный коэффициент 3.
76 СИМПЛЕКС-МЕТОД |ГЛ. И Он и берется в качестве разрешающего. После шага моди- фицированного жорданова исключения получим таблицу —У1 ~У5 1 Уз = У< = Z — 9 30 3 7_ У —33 4 3 в которой все коэффициенты z-строки неположительны. Про- цесс окончен, причем min^ = —33 и достигается при У1=Ув = °> Уз = 9, у4 = 30, у2 = 3, т. е. при х.2 = — 3, Xi — 5. § 6. ВЫРОЖДЕНИЕ 1. Зацикливание. Пусть в процессе решения задачи линейного программирования, например максимизации линей- ной формы (2.1) при ограничениях (2.2), получено некоторое опорное решение, так что пришли к таблице вида —У1 ••• — Уп 1 У П+1 ^П+1, 1 ••• п ^п+1 Ут ~ • • * Ьтп Ът (2.4') ••• Qn Q в которой все свободные члены неотрицательны. Если при этом в некотором шаге алгорифма симплекс-метода выбор разрешающего элемента был неоднозначен, т. е. наименьших
ВЫРОЖДЕНИЕ 77 отношений свободных членов к соответствующим положи- тельным коэффициентам разрешающего столбца было больше, чем одно, то после этого шага все упомянутые свободные члены, за исключением свободного члена разрешающей строки, обратятся, очевидно, в нуль. Тогда через вершину = ... ...=_уд = 0 многогранника 2 (опорное решение) проходит больше чем п плоскостей. Этот случай, как уже отмечалось, называется вырождением. Явление вырождения можно рассматривать как слияние двух или большего числа вершин многогранника 2, когда ребро (или ребра), соединяющее эти вершины, стягивается в точку. Как уже указывалось в п. 5 § 3, лишь в случае вырож- дения алгорифм симплекс-метода может потерять строгую монотонность. Геометрически это становится особенно прозрачным, если учесть, что шаг алгорифма симплекс-метода означает пере- ход по ребру от одного опорного решения к другому, т. е. переход от данной вершины многогранника 2 к соседней (расположенной на том же ребре). В случае же вырожде- ния — совпадения двух соседних вершин — может случиться, что после указанного шага мы остались в той же вершине, только выраженной с помощью другого набора из п пло- скостей (уравнений), проходящих через эту вершину. Если продолжать применение алгорифма симплекс-метода и если запоминание уже испытанных ребер не обеспечено, то не исключена возможность так называемого зацикли- вания, когда после некоторого числа шагов, каждый из которых приводит к некоторому набору п плоскостей из проходящих через данную вершину, мы вернемся к уже взятому ранее набору и процесс начнет повторяться. 2. е-метод для устранения зацикливания. А. Чарнс [29] предложил простой метод (так называемый е-метод) для защиты от зацикливания. Идея этого метода заключается в том, что путем соответствующего параллельного сдвига каждой из плоскостей, не попавших на верх таблицы, «рас- клеивают» слившиеся вершины, решают новую, уже не вы- рожденную задачу (так что алгорифм становится строго моно- тонным), после чего сдвинутые плоскости возвращают в перво- начальное положение и получают решение исходной задачи.
78 СИМПЛЕКС-МЕТОД [ГЛ. П Применение е-метода начинают с введения новой нумерации переменных в таблице (2.4'): -Ур+1 -~yP+s --Ур^п 1 следующей yi = yi = Ур = ^1, Р+1 ••• ^1, P+S ••• ^1,Р+П bi, p+i • • • Ьц p+s ... р+п bp,p+i ••• bp,p+s ... bp, р+п bi bp (2-8) Z = qp+i ••• яр+s ••• яр+п Q где р 4- п = т, у[ =уп±ь у% =yn+i, ..., ур =ут, Ур+1==У1> • • • > Ур+п==Уп> а коэффициенты обозначены той же буквой Ь, но с новыми индексами. Затем производят параллельный сдвиг плоскости уi — О (Z=l, .р\ прибавив к свободному члену ее урав- нения полином Pi (е): Р, (е) = ё 4- bh р+1 + bit р+^ + р+„ер+л (1=1, р), где е — положительное число, меньшее любого из чисел, которое встретится в дальнейших вычислениях. В резуль- тате получают таблицу eP+i ... ~У'р+1- eP+5... ^P+s ’ ’ ’ ep+n ^P+n 1 3’1 = b i,p+i •• bi,p+s ’ .. b ЬР+П bi+^^pp+l+-+bi,p^n y’i = b. 1,p+1 •• bi,p+s ’ •• bi.p+n b!^+b^1y-+^p^n Ур = b p,p+l bp,P+s ' ... b p,p+n b _l_eP_l_fc eP+1_L eP+" P^ P,P+1 —Л" p,p+n5 z = 9P+1 • * ’ qp+s ‘ " ^p+n Q у которой все свободные члены b^ (z) = bi (s)(z = 1,... ,р) будут уже строго положительны.
§ 61 ВЫРОЖДЕНИЕ 79 Действительно, если bt 0, то bt (е) = bt -[- Pt (е) О в силу малости е. Если же bz = 0, то bt (е) = Pt (е) j> О, так как вследствие малости е^>0 знак полинома опреде- ляется слагаемым г1 0. Убедимся теперь, что в новой таблице разрешающий эле- мент определяется однозначно. В самом деле, пусть разре- шающим оказался 5-й столбец. Тогда, если у^-<-Л- (/=1...........k- 1, k+ 1, .... р) °k, p+s Uhp+S и, значит, разрешающий элемент bk p±s определяется одно- значно в старой таблице, то и в новой будет + (/=1, k—\, Л-|-1, р) bk,p±s Ь[, P+s в силу малости s. Если же в старой таблице есть больше чем одно мини- мальное отношение — (i= 1, например, — = p+s *k, p+S = 7-^— и, следовательно, разрешающий элемент в старой таблице определяется неоднозначно, то в новой таблице отношения bk + Pk (0 и bt + Pt (е) bk, p+S Ьц k+s уже не могут оказаться равными в силу того, что Pk (е) ^Pz(e) и, следовательно, разрешающий элемент определяется однозначно. Нетрудно проверить, что при каждом шаге модифициро- ванного жорданова исключения нет нужды производить вы- числения с полиномами от е, а можно лишь вычислить сво- бодные члены (без полиномов), а затем добавить к ним по- линомы от е, составленные согласно предыдущему, так что новые полиномы опять не будут попарно тождественными и единственность определения разрешающего элемента со- хранится. Можно показать (см., например, [28а]), что ввиду доста- точной малости е оптимальному решению новой задачи С возмущенными при помощи Pi (е) свободными членами
80 СИМПЛЕКС-МЕТОД [ГЛ. II соответствует оптимальное решение исходной задачи, полу- чаемое из оптимального решения измененной задачи при s = 0. Аналогично устраняется зацикливание при отыскании опорного решения. § 7. ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 1. Двойственные таблицы. Рассмотрим систему п У,= У, aij(— ху) (/=1, .... от) (2.9) и составим для нее таблицу — *1 . • • *s .. Xn У1 = «и • .. als • • am Уг = ап .. ars • • arn (2.Ю) Ут — ami • • ams • • amn с матрицей А= || || . Шаг модифицированного жорданова исключения, меняю- щий ролями зависимую переменную уг с независимой пере- менной xs, приведет к таблице -Xl .. • — Уг • .. xn Z>n .. • ais • • bln XS — an •• 1 • • arn ^rs (2.И) Ут — bmi • • • ams • • bmn (^7 = а<7а« — arjais)- Пусть теперь рассматриваются линейные формы vj = У atiui С/= Ъ • • • > п) (2.12) i = 1
§ 71 ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ. ПРОГРАММИРОВАНИИ 81 с матрицей А*, транспонированной к матрице А. Составим таблицу этой системы так, чтобы независимые переменные щ стояли слева, а зависимые Vj — наверху. Получим таблицу Щ = ... vs = ... vn = «1 иг 11 т • ais ain (2.13) arl • ars arn ami • ams amn матрица которой совпадает с матрицей А таблицы (2.10). Таблицы (2.10) и (2.13) называют двойственными. Поменяв ролями переменные иг и vs при помощи шага обыкновенного жорданова исключения с разрешающим эле- ментом ars> придем к таблице Vl== ... , Ur~ ... Vn = «1 ais bin Vs «Г1 1 arn • arst Щи bmi • ams bmn совпадающей с таблицей (2.11). Таким образом, шаг модифицированного жорданова исклю- чения, примененный к основной таблице (2.10), эквивалентен шагу обыкновенного жорданова исключения, примененному к двойственной таблице (2.13). Этим оправдана целесообразность следующего совмеще- ния в одну таблицу взаимно двойственных таблиц (2.10) и (2.13): У1 = II .. — xs 1 II 0Ц .. als •• ain Уг = arl .. ars • • arn um Ут = ami ams • • amn
82 СИМПЛЕКС-МЕТОД [ГЛ. И так как каждый шаг соответствующего жорданова исклю- чения преобразует нужным образом одновременно обе таб- лицы. 2. Двойственные задачи линейного программирова- ния *). Наряду с основной задачей линейного программиро- вания п. 1 § 1, т. е. с задачей максимизации линейной формы + (2.0 при ограничениях-неравенствах ~г ai G=l> •••- т\ (2-2) которую будем называть прямой задачей, рассмотрим еще одну, так называемую двойственную ей задачу, заключаю- щуюся в минимизации линейной формы w = (2.14) при ограничениях-равенствах амИ14-...-]-атУит=/?у (7=1, л) (2.15) и при неотрицательных (несвободных) переменных (/=1, т), (2.16) т. е. задачу, получаемую из основной по следующим четырем правилам: 1) свободные члены av ..., ат ограничений (2.2) прямой задачи служат коэффициентами целевой функции (2.14) двой- ственной задачи, а коэффициенты ръ ..., рп целевой функ- ции (2.1) прямой задачи служат свободными членами ограни- чений (2.15) двойственной задачи. Таким образом, число пе- ременных в двойственной задаче равно т — числу ограничений прямой задачи, а число ограничений двойственной задачи равно п — числу переменных прямой задачи; 2) матрицей коэффициентов ограничений двойственной задачи служит матрица А*, получаемая транспонированием матрицы А коэффициентов ограничений прямой задачи; *) Общее рассмотрение двойственности приводится ниже, в гл. VI § 6.
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 83 3) каждому ограничению-неравенству aiXxY -{-••• + ainxn^ ^at(i = 1, ..., ni) прямой задачи соответствует неотрица- тельная переменная щ 0 двойственной задачи; каждой переменной ..., п) прямой задачи соответствует ограничение-равенство -|-... ат]-ит = pj (у=1, п) двойственной задачи; 4) максимизация целевой функции (2.1) прямой задачи заменяется минимизацией целевой функции (2.14) двойствен- ной задачи. Параллельная запись условий обеих задач выглядит так: Прямая задача Двойственная задача Максимизировать линейную форму z ~Р1Х1 Ч~ • • • ~\гРпхп при ограничениях-неравен- ствах ailxl ainxn'^ ai (Z — 1, ..., т) Минимизировать линейную форму и’=в1«1 + --- + втМт при неотрицательных (несво- бодных) переменных Ui 0 (Z = 1, ..., т) и при ограничениях-равен- ствах aijai + ••• + amjum =Pj (/ = 1, ..., и) Если среди ограничений-неравенств (2.2) встречаются ограничения на знаки переменных, например, если Z0-e огра- ничение имеет вид — хУо 0 (т. е. XjQ 0), то соответ- ствующая двойственная переменная zz/0, согласно правилу 1), войдет в целевую функцию (2.14) с нулевым коэффициентом а/0 = 0, а согласно правилам 2) и 3), она войдет во все ограничения-равенства (2.15) двойственной задачи также с нулевым коэффициентом, за исключением лишь /0-го огра- ничения-равенства, в которое она войдет с коэффициентом а«-оУо = — 1. т. е. а1/он1 + • • • + а» 0-1, /о «<о-1 — и‘о + + а‘ 0+1, Jo и‘о +1 + • • • + am/0 = Pjo
84 СИМПЛЕКС-МЕТОД [ГЛ. П Отсюда, в силу неотрицательности uio, получим ограниче- ние-неравенство aljo и1 4” • • • 4“ ai0 -1. Jo Ui0-1 4" ai 0+1, Jo Uio +1 4" • • • 4" amjo Um = =Pjo + “io ^Pjo- Аналогично убеждаемся, что если Zre из ограничений (2.2) имеет вид 0, то /ге ограничение-равенство двойствен- ной задачи может быть записано в виде следующего огра- ничения-неравенства alj\lll 4- • • • 4- it uii -1 4" ah +1, jiuh+l 4" • • • 4“ amj‘i11 m ^Pj\- Таким образом, если (как обычно и поступают) ограни- чения на знаки переменных не включать в систему ограни- чений (2.2), а выделить их как несвободные перемен- ные (что уменьшит число ограничений-неравенств прямой задачи и соответственно уменьшит число переменных двой- ственной задачи), то каждой несвободной перемен- ной прямой задачи будет соответствовать ограничение- неравенство двойственной задачи, знак которого совпа- дает со знаком этой несвободной переменной. Если в условиях прямой задачи содержится ограничение- равенство, например, если а^х^ 4~ • • • 4“ aw-xn = то в систему ограничений (2.2) оно должно быть включено в виде следующей пары ограничений-неравенств ^i2lxl 4“ • • • 4“ aiznxn — ai2ixi • • • ai2nxn 6Z/2. По приведенным правилам этим ограничениям-неравенствам соответствуют в двойственной задаче несвободные переменные и п/2^0, которые входят в целевую функцию (2.14) и в каждое из ограничений-равенств (2.15) двойственной задачи с равными, но противоположными по знаку коэффициентами, т. е. W = сцщ +... + ai2 (u’is — и,’2) + • • • + amtim И 4" • • • 43 ahj (!lh ~ 4" • • • 4- amjum ~Pj С/ = h • • • > #)•
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 85 Разность u'i2 — iii2 можно заменить, очевидно, свободной переменной ui2, которая, таким образом, соответствует ограничению-равенству прямой задачи. Рассмотрим теперь самую общую задачу линейного програм- мирования, когда ограничения образуют смешанную си- стему, состоящую из неравенств и равенств, а переменные распадаются на несвободные и свободны е, т. е. задачу максимизации линейной формы г=/>1Х14-... + рпхп (2.17) при ограничениях-неравенствах ainxn^ai (£ = 1, k), при ограничениях-равенствах aHx1-L-...4-a)-nxn = a/ 1, ..., да), при несвободных переменных ху^0 (/ = 1, Z), при свободных переменных XyJgO t/ = z4- !> • (2.18) (2.19) Приведенные выше рассуждения подсказывают, что под двойственной к самой общей прямой задаче линейного про- граммирования естественно понимать задачу, заключающуюся в минимизации линейной формы w = aiHj 4-... (2.20) при несвободных переменных (f= 1, k), при свободных переменных щ 0 (I — k 1,../п), (2.21)
86 СИМПЛЕКС-МЕТОД [ГЛ. II при ограничениях-неравенствах ] + + (j-l’ •••> l) 1(2 22) при ограничениях-равенствах | аун1 + - • • + amjum = Pj (/ = ^+Е •••> /и)> ' т. е. задачу, получаемую из прямой по следующим пра- вилам: 1) свободные члены аь ..., ат ограничений (2.18) прямой задачи служат коэффициентами целевой функции (2.20) двой- ственной задачи, а коэффициенты рь ..., рп целевой функ- ции (2.17) прямой задачи служат свободными членами огра- ничений (2.22) двойственной задачи (так что число переменных двойственной задачи равно т — числу ограничений прямой задачи, а число ограничений двойственной задачи равно п—- числу переменных прямой задачи); 2) матрицей коэффициентов ограничений двойственной задачи служит матрица Д*, получаемая транспонирова- нием матрицы Д коэффициентов ограничений прямой задачи; 3) каждому ограничению-неравенству aiXxx -ф-... -ф- ctinxn G=b •••> k) прямой задачи соответствует несвободная переменная двойственной задачи с про- тивоположным знаком неравенства, т. е. (=С0) (Z= 1,.. .,^); каждому ограничению-равенству аах{ -ф-... -ф- ainxn — (I = k -ф-1, ..., т) прямой задачи соответствует свобод- ная переменная щ двойственной задачи, т. е. щ Jg 0 (Z = = 7г-ф- 1, ..., /п); каждой несвободной переменной Xj 0 (<: 0) (J = 1,..., Z) прямой задачи соответствует ограничение-неравенство . • • *4“amium^Pi (^Pj) двойственной задачи с тем же знаком неравенства; каждой свободной переменной (у = /-ф-1, ..., п) прямой задачи соответствует ограничение-равенство -ф-... • • двойственной задачи; 4) максимизация целевой функции (2.17) прямой задачи заменяется минимизацией целевой функции (2.20) двойственной задачи.
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 87 Параллельная запись обеих задач выглядит так: Прямая задача Двойственная задача максимизировать линейную форму г =Pixi +...+/> пхп при ограничениях-неравенствах ailxl+... + ainxn^ai (< = 1 k), при ограничениях-равенствах ailxl Ч- • • • “F ainxn — ai (/ = /г-|- 1, ..., т), при несвободных переменных Xj^ 0 (/=1, и при свободных переменных X/0 (у = /+1, ..., П). минимизировать линейную форму + + при несвободных переменных til Э 0 (/=!, ...,£), при свободных переменных (i = k-\- 1, ..., т), при ограничениях-неравенствах 4~ • • • 4“ amjUm ^Pj (J=l,..., Z) и при ограничениях-равенствах aija! + • • • + ат]ит —Pj = п). Как нетрудно проверить, прямую задачу можно рас- сматривать как двойственную по отношению к своей двойственной, т. е. обе задачи являются взаимно двой- ственными. Для доказательства рассмотрим задачу, двойственную к задаче (2.20) — (2.22), заменив предварительно последнюю эквивалентной ей задачей максимизации целевой функции W== — a^ui — — amiim при ограничениях-неравенствах — alJul — ... — am]iim^—pj (/ = 1, Z), - при ограничениях-равенствах — — — amJum = — pj при несвободных переменных И(.^0 (/=1, k)
88 СИМПЛЕКС-МЕТОД {ГЛ. II и при свободных переменных П/^0 = 1, m). На основании приведенных правил, двойственная задача заключается в минимизации целевой функции Z= — plxl — ... — pnxn при несвободных переменных (/=1, .... 1\ при свободных переменных (У = ^+ 1, •••, я), при ограничениях-неравенствах — aiiXi — ... — ainxn^ — ai (Z== 1, k) ' и при ограничениях-равенствах — ацхх —— ainxn = — cii — 1, т), которая, очевидно, эквивалентна прямой задаче (2.17) — (2.19). Условия пары взаимно двойственных задач можно сов- местить в одной таблице. Для этого запишем ограничения прямой задачи в виде У/= ап (— xi) а‘т (— хп) 0 (/ = 1, ..., k\ 0 = a,i(— х1) + ... + аг„(— хп)4-а,- (/ = £-{-1,т), а ограничения двойственной задачи — в виде = (J= 1, Z), 0==alJul+...^-amJtim — pj (j = Z4-l, .... n),
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 89 и, согласно п. 1, совместим их в следующей таблице: vt= ... vi= 0= ... 0= w — ... Xi • • • xn 1 У1 = «и <hl ai, l+i • • ain «1 yk = <*ki akl ak, l+i • • akn ak 0 = ak+i, i ak+i,l ak+i, l+i ak+i,n ak+i т 0 = ami aml am, l+i amn am 1 z = — Pl ••• — Pl —Pl+i •• — Pn 0 (2.23) Как будет доказано ниже в п. 3, решая симплекс-методом основную задачу (2.17) — (2.19) линейного программирования, мы одновременно решаем и двойственную ей задачу (2.20) — (2.22), и обратно, причем полученное в результате решения основной задачи значение максимума целевой функции z сов- падает со значением минимума целевой функции w. 3. Основная (первая) теорема двойственности. Пусть рассматривается пара двойственных задач (2.23). Если одна из них обладает оптимальным решением, то и дру- гая имеет оптимальное решение, причем экстремальные значения соответствующих целевых функций z и w равны: max z — min w. Если же у одной из этих задач целевая функция не огра- ничена, то двойственная ей задача противоречива. Наконец, если одна из этих задач противоречива, то двойственная ей задача либо имеет неограниченную целевую функцию, либо также противоречива. Доказательство. Пусть основная задача имеет конеч- ное решение. Тогда после исключения всех п — I свободных переменных xz+1, ..., хп таблица (2.23) укоротится на п — I строк, а после избавления от всех 0-строк она сузится на т — k столбцов. Пусть после освобождения полученной сокращенной таблицы от отрицательности как свободных
90 СИМПЛЕКС-МЕТОД [ГЛ. П членов, так и коэффициентов г-строки пришли, например, к окончательной таблице = ... vr = us= w = — Х1 ••• — xr —л ... — ys 1 Vr+1 Xru — br+i,i 6z-+l, r ^+1.1 ”• ^r+i, s br^ vl xl = bix blr ^Z1 bis b< "s+. ^5+1 СЛ’+1, Г €s+l, 1 ”* CS+1, S CS+l Уь = % ckr cki cks ck 1 z == 91 <lr q'r Q (2.24) в которой г 5 = п — (т — k) *); ^+iSsO, .&zS&0; cs+1=sO, .cft2s0; qt^O, ..., qr5s0; q^O, ..., qi^sO; max,? — Q и достигается при х1 =... = xr =у\ —... =j/5=0. Проанализируем полученную при этом таблицу двойствен- ной задачи. Полагая значения переменных, находящихся слева, равными нулю: vr+i = ... = vl = us+l =...== О, получим опорное решение двойственной задачи. Действительно, в этой вершине имеем = 4i°> •••> = н5+1 = ... = н* = 0 (остальные щ (/ = Л-]-1.....т) свободны); далее, Vi = 4iSsO, > vr = qr^0, T/r+1z=... = T/z = 0, т. е. выполнены все ограничения-неравенства; выполнение же п — I ограничений-равенств автоматически обеспечено осво- бождением от соответствующих 0-строк. *) Число строк равно (Z — г) (k — s) — l-}-k—(r-}-s) = I~\- k — п-\-(т — k)~m — (п — I).
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 91 Из последнего столбца таблицы, в силу неотрицатель- ности bt, cs+v ck, видно, что w — br+]vr+l 4" • • • 4“ b[vl 4- -j“... + ckuk 4- Q Q, т. e. в точке vr+1 = .. , = vl = us+l =. .. = uk = 0 значение функции w будет минимальным. Таким образом, min w — Q= max z. Пусть теперь целевая функция z основной задачи не огра- ничена. Это означает, что в окончательной таблице (2.24) для некоторой верхней переменной, например для хг, соответ- ствующий коэффициент qr отрицателен и все коэффициенты столбца, содержащего этот коэффициент, неположительны. Тогда из двойственной таблицы следует, что vr — brJrit rvrJsi 4-... 4- blrvl 4- 4" cs+i, A+i 4- • • • 4* ckruk 4~ 4r 4r <C так что система ограничений двойственной задачи проти- воречива, т. е. неотрицательность vr несовместима с неотри- цательностью ..., vt, lls+v ..., uk. Пусть теперь одна из пары двойственных задач противо- речива. Тогда, в силу доказанной первой части теоремы, вторая задача не может иметь конечного решения. Надо убедиться, что при противоречивости одной задачи не обязательна неогра- ниченность целевой функции второй задачи, так как может оказаться, что и вторая задача противоречива. Но это видно хотя бы из следующего примера: = v2 = w — «1 У1 = щ у2 = 1 2 = — Xt — Х2 1 2 —2 1 — 2 2 —3 — 3 1 О Здесь задача максимизации линейной формы z = ЗхА —
92 СИМПЛЕКС-МЕТОД [ГЛ. П при выполнении ограничений У1 — 2Xj —2х2 —1 О, у 2 = 2хг — 2х2 — 3^0, 0, х2 О противоречива, так как у1-[-у2 =— 2<^0. Двойственная же ей задача минимизации линейной формы w — щ — Зп2 при ограничениях -Uj = 2щ — 2и2 — 3^0, v%= — 2их 2**2 -р 1 О, Щ 0, w2 О также противоречива, так как vl-\-v% = — 2<^0. Следствие (критерий оптимальности пары допустимых решений). Для того чтобы допустимые решения х' = (х'1, ..., х'п) и и'= (и[, ..., ит) пары двой- ственных задач (2.23) были оптимальными, необходимо и достаточно, чтобы соответствующие целевые функции z и w принимали равные значения в этих решениях: г^х'У—руХ^ 4- ... -\-рпх'п = 0,11^ + • • • + атЧт = Доказательство. Необходимость утверждается основ- ной теоремой двойственности. Для доказательства достаточ- ности предположим, что для допустимых решений хг и и' выполнено условие: z(х) = w(z/). Тогда если бы, например, х' не было оптимальным решением прямой задачи, то, обозна- чив через х*=(х*, ..., х£) и и* = (и*, ..., и^) оптималь- ные решения нашей пары двойственных задач *), получили бы z (х*) z (X)=w (Ю w («*), т. е. г(х*)^> w (w*), что противоречит основной теореме двойственности. Замечание. В процессе доказательства основной теоремы установлено, что при решении прямой задачи (максимизации) *) Так как (по условию) обе задачи имеют допустимые реше- ния х' и и', то обе задачи не противоречивы, и, по основной теореме двойственности, они обладают оптимальными решениями х* и и*.
§ 71 ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 93 симплекс-методохм при помощи аппарата модифицирован- н ы х жордановых исключений автоматически получается также решение двойственной задачи (минимизации). При решении же двойственной задачи (минимизации) симплекс-методом, но при помощи аппарата обыкновенных жордановых исключений, автоматически получается и решение прямой задачи (максимизации). Если же при решении задачи максимизации (минимизации) пользоваться обыкновенными (модифицированными) жордано- выми исключениями, то в совмещенной таблице не получится автоматически решение соответствующей двойственной задачи. 4. Эквивалентность пары двойственных задач некото- рой системе линейных неравенств и уравнений. Каждая пара двойственных задач линейного программирования эквивалентна системе линейных неравенств и уравнений, состоящей из всех ограничений обеих задач, из всех огра- ничений на знаки несвободных переменных этих задач и из дополнительного уравнения, которое получается сравне- нием обеих целевых функций, уравнения, заменяющего, таким образом, требование оптимизации. Доказательство. Рассмотрим самый общий вид пары двойственных задач, условия которых совмещены в таб- лице (2.23), и докажем эквивалентность этой пары задач системе ЛцХ, + • • • + ainxn < az (Z = 1,..., k), — tn), Xj^(j=\,...,l), atjiii + • + amj4m atjul • • • 4~ amjum =Pj (/ = ^ ~i~ 1 > • • • > я)> Щ 0 (l — 1, . .., k), (2.25) Ptxi +... = apt, + • • • + amum. (2.26) Пусть x* = (x*,..., x*) и п* = (n*,..., Um) — какие-нибудь соответствующие оптимальные решения нашей пары двойст- венных задач. Тогда, будучи допустимыми решениями обеих задач, они обязательно удовлетворяют системе (2.25), а вслед- ствие их оптимальности значения целевых функций в этих
94 СИМПЛЕКС-МЕТОД [ГЛ. II решениях равны, по основной теореме двойственности, т. е. эти решения удовлетворяют и уравнению (2.26). Пусть теперь х = (xj,..., х'п) и и = (щ, ..., и'т) — какое- нибудь решение системы (2.25) — (2.26). Тогда х' и и, удо- влетворяя системе (2.25), образуют пару допустимых решений двойственных задач, в которых вследствие удовлетворения уравнения (2.26) целевые функции принимают одинаковые значения. По следствию из основной теоремы двойственности допустимые решения х' и и являются оптимальными, т. е. являются решениями рассматриваемой пары двойственных задач. Замечание. В теореме п. 4 уравнение (2.26) может быть заменено неравенством 7?!^! +.. .-}-рпхп а^щ +... + amiim. (2.26') В доказательстве, очевидно, нуждается лишь тот факт, что если х', ii — какое-нибудь решение системы (2.25) — (2.26'), то х', и удовлетворяют также и уравнению (2.26). Действительно, удовлетворяя (2.25), х', и' удовлетворяют неравенству /?1Х1 —]“••• ~Т~Рпхп а1и1 amllrrv а так как они удовлетворяют еще неравенству (2.26'), то х', и' удовлетворяют уравнению (2.26). 5. Вторая теорема двойственности. Для того чтобы два допустимых решения х' — (xj, ..., х’п) и и =(щ, ..., и^) пары двойственных задач (2.23) были оптимальными, не- обходимо и достаточно, чтобы эти решения удовлетво- ряли так называемым «условиям дополняющей нежест- кости»\ i) = (7=1,• ••,«). i==l 2) — аг) = 0 (i = 1,..., т), 7=1 т, е. чтобы равнялось нулю произведение значения любой переменной одной задачи на разность между значениями левой и правой части соответствующего ограничения двойственной задачи.
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 95 Другими словами, допустимые решения х и и оптимальны тогда и только тогда, когда они удовлетворяют следующему условию: если значение какой-либо переменной допустимого решения одной задачи отлично от нуля, то допустимое реше- ние двойственной задачи обращает в строгое равенство соот- ветствующее этой переменной ограничение двойственной задачи, а если допустимое решение одной задачи обращает в строгое неравенство некоторое ограничение этой задачи, то в допустимом решении двойственной задачи равна нулю пере- менная, соответствующая этому ограничению. Доказательство. Необходимость. Пусть х' = = (xj,..., Хп) и и — (пр ..., и'т) — оптимальные решения рас- сматриваемой пары двойственных задач. Следовательно, как допустимые решения они соответственно удовлетворяют си- стемам (2.18) — (2.19) и (2.21) — (2.22). Но тогда, очевидно, п пт т п т ^Pix'j < S аии'1)х'}= 2 (5 ацх}) и- < аРР- 7=1 /= 1 i = 1 i — 1 j = 1 i = 1 В силу оптимальности решений х и п' заключаем, по основной теореме двойственности, что п т У, Pjx'j = S «,«/• /=1 i=i Поэтому п пт TlP/X'j= У (S aiJUi)X'j /=1 / = 1 i=l и т т п У «/«/ = 2 а^х'Лщ. i=l 1 = 1 7=1 Из первого равенства следует п т S х'](Уа aiju’i —Pj) = O, j=1 i = 1 m а так как все произведения xj f —^неотрицательны,
96 СИМПЛЕКС-МЕТОД [ГЛ. II то т x'i CS aU6 * * * * ll'i — /’/)==0 (/=1, i = I Аналогично убеждаемся (из второго равенства) в справедли- вости условий 2). Достаточность. Допустим теперь, что опорные реше- ния х и и удовлетворяют условиям 1) — 2) дополняющей нежесткости. Просуммировав условия 1) по /, а условия 2) по /, получим: пт п S S 2 PjXb j=\i=\ ;=1 т п т 2 aijXjUi = Я/П/, i = 1 у = 1 ! = 1 откуда п т У Pix'j = У, j=\ т. е. в допустимых решениях х' и и значения целевых функ- ций совпадают, и, по следствию из основной теоремы двой- ственности, решения х' и и являются оптимальными. Замечание. Ясно, что условия 1) — 2) дополняющей не- жесткости тривиально выполняются для ограничений-равенств и соответствующих свободных переменных (т. е. при у = / Ц- 1,..., n; i = k 1,..., т). Поэтому выполнение этих условий достаточно проверить лишь для ограничений-нера- венств и соответствующих несвободных переменных (т. е. при у = 1,..., Z; I = 1, ..., k). 6. Экономическая интерпретация основной и двойст- венной задач. Основную задачу линейного программирования можно экономически интерпретировать следующим образом. Пусть для производства некоторого продукта имеется п различных технологий. При этом пусть используются т ингре- диентов (различные виды сырья и прочие производственные факторы), причем по у-й технологии расходуется в единицу времени единиц z-ro ингредиента, общий запас которого равен и производится pj единиц продукта. Пусть, нако-
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 97 пец, Xj — время, в течение которого производство ведется по /-й технологии. Тогда при «плане» х = (хь ..., хп) будет произведено z=plxl -|- • • • ~\~Рпхп единиц продукта и израс- ходовано ailx14-... 4- ^inxn единиц z-го ингредиента (/ == = 1,..., т). Естественно возникает задача: отыскать тахой план (оптимальный), при котором из имеющихся запасов ингредиентов выпускалось бы максимальное количество про- дукта. Математической моделью этой задачи и будет основ- ная задача линейного программирования: максимизировать линейную форму ... +рпхп при ограничениях ацХ! + • • • + ainxn ==S а-, и при Xi 0, ..., хп 0. Для экономической интерпретации двойственной задачи линейного программирования удобно за единицу стоимости принять стоимость единицы выпускаемого продукта. Обозна- чим соответствующую этому масштабу цен стоимость единицы /-го ингредиента через (/= 1 ,.//г). Тогда весь запас ингредиентов будет стоить W = «!«!-{- ... -}-атит, а стоимость затрат в единицу времени производства по /-й технологии выразится суммой #1/^1 -]-•••+ amjum' Очевидно, стоимость pj продукта, произведенного по этой технологии в единицу времени, не может превышать стоимо- сти затраченных ингредиентов + • • • + amjUm ^Pj С/ = 1......«)- и чем меньше непроизводительных затрат производства по у-й технологии, тем ближе это неравенство к строгому равен- ству, т. е. тем полнее (точнее) стоимость затрат воплощается в стоимости произведенного продукта. Таким образом, рентабельность плана х = (xlf ..., хп) должна означать точное воплощение в стоимости произведен- 4 С. И. Зуховицкий, Л. И. Авдеева
98 СИМПЛЕКС-МЕТОД |ГЛ. п ного по этому плану продукта всей стоимости запаса ингре- диентов (полное отсутствие непроизводительных затрат). Другими словами, в рентабельном плане стоимость всех затрат производства должна равняться стоимости произ- веденного продукта: а1м1 • • • 4“ ат11т = Р1Х1 • • • ~[~Рпхп- Но тогда, по основной теореме двойственности и ее след- ствию, заключаем, что рентабельному и только рентабельному плану х* = (х*,..., х*) соответствует такой набор п* = = (и*, • • • > llm) стоимостей затрачиваемых ингредиентов, что х* и п* являются оптимальными решениями сле- дующей пары двойственных задач: основной задачи, заключающейся в выборе плана х = = (х1у ..., хп) (х}^0; j =1,..., п), максимизирующего вы- пуск продукции ... при затратах ингредиентов, не превышающих наличных их запасов ... ~}-ainxn^ai (Z=l,..., m), и двойственной задачи, заключающейся в отыскании набора и = (iii, • • •, ит) (мг- 0; 1=1, т) стоимостей ингредиентов, минимизирующего стоимость w = а,и, + • •. + атит подлежащих использованию (затрате) запасов ингредиентов при не превышении стоимости продукта, произведенного по каждой технологии, стоимости затраченных по этой техноло- гии ингредиентов -р ... +amjum^pj (J=l,...,n). Далее, по второй теореме двойственности, для каждой пары оптимальных планов выполняются условия дополняющей нежесткости: т О XJ (2j aUu* = (/=!,> п), z=i 2 * 2) «* (S a‘JXJ ~ai) = Q G = 1. • • •, «), /=1
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ. ПРОГРАММИРОВАНИИ 99 имеющие в рассматриваемых задачах важное экономическое значение. Так, из условий 1) следует: если в у-й технологии оказалось, что т У a,7«*>/V> i = 1 т. е. затраты по у-й технологии превышают стоимость произ- веденного по этой технологии продукта, и, значит, у-я техно- логия не рентабельна, то х* — 0, т. е. время работы по этой технологии равно нулю и эта технология не применяется в оптимальном плане. Если х*^>0, т. е. у-я технология применяется в опти- мальном плане, то обязательно т У а<7«*=/’у. 1 = 1 т. е. стоимость затраченных по этой технологии ингредиентов равна стоимости произведенного продукта, так что у-я техно- логия рентабельна. Из условий 2) заключаем: если zz* 0, т. е. стоимость /-го ингредиента положительна, то п 2 aUX^ = ai1 7 = 1 так что весь запас Z-го ингредиента используется в оптималь- ном плане производства; если же 7=1 ’ т. е. /-й ингредиент используется не весь, то п* = 0, так что стоимость ингредиента, запасы которого не полностью исполь- зуются в оптимальном плане, равна нулю. Таким образом, оптимальные планы рассмотренной пары двойственных задач составляют гармонию в том смысле, что оптимальному плану производства соответствует оптимальный план относительных стоимостей цен ингредиентов, по кото- рому все применяемые технологии рентабельны, а неприме- няемые убыточны, и обратно; при этом запасы ингредиентов 4*
100 СИМПЛЕКС-МЕТОД [ГЛ. II с положительной стоимостью полностью используются в опти- мальном плане, а не используемые полностью имеют нулевую стоимость. 7. Примеры. Приведем численные примеры решения пар двойственных задач. Пример 1. Рассмотрим задачу, двойственную задаче максимизации линейной формы z = 1 Oxi — — 42х3 — 52х4 при ограничениях-неравенствах — х% —4лг3 х^ 1, “I- 2j^3 — 2а?4 —9, при ограничениях-равенствах — 2xi 4~ -^2 4~ -^з ~т~ Зх4 = 2, — + 2х2 — Зх3 = 7 и при несвободных переменных Xi 0, 0, х3 0, х4 0. По определению, двойственная задача заключается в мини- мизации линейной формы w = Ui — 9па 2w3 -|~ 7п4 при несвободных переменных Ui ^>0, 0, при свободных переменных W3, Иц и при ограничениях-неравенствах --^#1 “^^'2 — ^^3--- 3ZZ4 1 ill — 2^2 —zz3 -ф- 2и4 1, -ф- 2щ 4- п3 — 3zz4 —42, — 2zz.2 “Ь 52.
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 101 Перепишем ограничения обеих задач в виде j/1= За?!— х.2— 4х3— х4 -[- 1 Э* 0, у2 = —3jq + 2х2 — 2х3 4~ 2х4 — 9^0, 0 = 2xj — х<% — х$ — Зх4 —2, 0 = 3Xi — 2х.2 Зх3 4“ 7, vt = —3zz4 4~ 3zz2 — 2zz3 — 3zz4 — 10^0, === — 2zz2 4~ 4~ 2и4 4~ 1 9, *u3 = 4zZj 4~ 2zz$ + — 3zz4 4~ ^2 9, x/4 = zzi — 2zz.2 4~ 3zz3 4" 52 составим совмещенную таблицу ^1 = — - II ^3 = ^4 = w = 1 ^"3 — а4 «1 У1 = —3 ш 4 1 1 и2 ь = 3 —2 2 —2 —9 0 = —2 1 1 3 2 0 = —3 2 —3 0 7 1 2 = —10 1 42 52 0 и будем решать прямую задачу, одновременно получая и ре- шение двойственной. Сначала исключаем 0-уравнений; вместе с ними автомати- чески исключатся свободные переменные двойственной задачи. В первой 0-строке есть положительные коэффициенты, напри- мер 1, во втором столбце. Выбираем этот столбец разрешаю- щим, находим . ( 1 —9 2 7 ] 1 nun{-r, -J, т, -Т] = — и делаем шаг модифицированного жорданова исключения с разрешающим элементом 1 из первой строки. Получаем
102 СИМПЛЕКС-МЕТОД [ГЛ. II таблицу V4 = U4 — vs = v4 = w = -^1 У1 -^8 ^4 1 v2 х2 = —3 1 4 1 1 «2 У 2 = —3 2 10 0 —7 0 = ГП — 1 —3 2 1 и4 0 = 3 —2 -11 —2 5 1 Z = —7 —1 38 51 —1 в которой остались оба 0-уравнения. После следующего шага приходим к таблице W3 = ll1 = Vs= V4 = W== о —У1 — х3 — х4 1 ^2 *^2 3 —2 —5 7 4 «2 у2 = 3 -1 1 6 —4 *1 = 1 — 1 —3 2 1 и4 0 = —3 1 1 1 —2 —8 2 1 Z — 7 —8 17 65 6 из которой выписываем выражение для исключенной свобод- ной переменной п3 двойственной задачи П3 = 3^2 “J- 3^2 “р — 3w^ —7, и вычеркиваем первый столбец под нулем. Еще один шаг приводит к таблице и4 = ^3 = v4 — w = 0 — л*3 — х4 1 ^2 Х2 = 2 —9 —9 8 У2 = 1 ГЕЛ —2 —2 л-1 = 1 —5 —6 3 W1 1 —2 —8 2 1 Z = 8 1 1 22
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 103 из которой выписываем выражение для w4: п4 — 2^2 —8, и вычеркиваем столбец под нулем. Продолжение процесса приводит к таблицам и2= v4 = W 1 и2 — У2 = Щ = — лг3 w = 1 ~Уъ — v2 х2 = -9 9 26 v2 х2 — 17 V3 *3 = —1 И 2 *4 = 1 х1 = —5 4 13 "^1 *1 = 9 —2 —4 6 У1 = 10 1 Z — 1 —! | 20 1 z — 1 2 1 2 21 В последней все свободные члены и коэффициенты г-строки неотрицательны. Следовательно, получены оптимальные реше- ния обеих задач: прямой задачи Xj = 9, х2=17, х3 = 0, х4=1, двойственной задачи п 1 лп I7 п1 = 0, щ = — , 1Ц = — 17, щ = -^- (из таблицы получаем = Vi = щ = 0, и2 = —, v3= у; затем пользуемся выписанными выражениями для старых пере- менных). Значения целевых функций в этих решениях равны 21, так что max z = min w = 21. Пример 2. Рассмотрим задачу, двойственную задаче максимизации линейной формы Z —— х± —|- х% —|— х$
104 СИМПЛЕКС-МЕТОД [ГЛ. (I при ограничениях-неравенствах — 2xj — Зх^ — 3, х2 — 2х3 — 4, XJ ЗХ3 6, — х2 — х3 — 1, при ограничении-равенстве Xi —}— х2 = 2, при несвободной переменной х2^0 и при свободных переменных Хр х3. Двойственная задача заключается в минимизации линейной формы w = — 3zzt — 4zz2 — 6zz3 — zz4 4" 2zz3 при несвободных переменных zzt^O, zz2^O, zz3^0, zz4^0, при свободной переменной при ограничении-неравенстве «•2 —«4 + «В 5= 1 и при ограничениях-равенствах — 2zz4 lh 4" Щ = 1, — 3zzt — 2zz2 — 3zz3 — zz4 = 1. Перепишем ограничения обеих задач в виде Ух — 2xt 4‘ Зх3— 3^0, У 2 == -Х2 4” 2Х3 4 0, _Уз — — х^ 4- Зх3 — 6 о, Уа= х*4- х3 — 1 О, 0 = ---- Xj --- Х2 4~ 0 = 2zZj 4“ lh 4~ I’g -— zz2 — zz4 4- zz3 — 1 0, 0 = — 3zzt — 2zz2 — 3zz3 — zz4 — 1,
105 ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ § 7] составим совмещенную таблицу «1 = ^2 У 2 = «3 Л = и. у4 = zz5 О = 1 Z ~ 0= ^2= 0= w = Х2 Xg 1 —2 0 —3 —3 0 1 —2 —4 1 0 —3 —6 0 —1 —1 ш 1 0 2 —1 —1 —1 0 и будем решать .прямую задачу, одновременно получая ре- шение двойственной. Исключаем свободную переменную х{, а следовательно, и 0-уравнение двойственной задачи. Разрешающим берем первый столбец. При исключении координат на выбор раз- решающего элемента никаких . ограничений не налагается. Поэтому мы можем взять разрешающим элемент 1 из 0-строки и за один шаг освободиться еще и от 0-уравнения прямой задачи. При этом мы одновременно исключим свободную переменную двойственной задачи. Получим таблицу «о 0 = ^2 = А2 II о ц 1 «1 У1 = 2 2 —3 1 U2 У 2 — 0 1 —2 -4 Уз = —1 —1 -3 —8 У4== 0 -1 ьп — 1 0 *i== 1 1 0 2 1 Z = 1 0 —1 2 из которой выписываем выражения для исключенной пере- менной Xi прямой задачи Xi = —х% —2, а также для исключенной переменной и* двойственной задачи = 2nt — после чего вычеркиваем первый столбец под нулем.
106 СИМПЛЕКС-МЕТОД [ГЛ. II Исключаем свободную переменную х3, а следовательно, и 0-уравнение двойственной задачи, что приводит к таблице о я я Й 41 41 Ч: W W to >— II II II II 1 — to СС ел to м II 1 1 1 II — сс to w с - " Il W = 1 4 —2 —5 1 12=1 —1 3 Выписываем выражение для х3: х3 = у 4 -j- 1 и переходим к отысканию опорного решения. Продолжение процесса приводит к таблицам II <N SI £ zz2 — —b W — 1 1 3 Щ У1 = 2 2 7 3 1 «4 Л== T 2 1 5 3 zz3 Уа = 2 2 —2 1 z = 1 1_ 4 2 2 II » * 1 «3 = —y* w = 1 3 —1 9 __ 2 5 «4 y4 = J 3 3 5 2 4 У2 ~ 3 3 3 1 1_ 14 1 z = 3 3 3 Последняя не содержит отрицательных свободных членов, так что можно переходить к отысканию оптимального решения. Во втором столбце, содержащем отрицательный коэффи- циент г-строки, нет положительных коэффициентов. Поэтому форма z не ограничена сверху. Двойственная же задача про- тиворечива: при zzt 0, zz4 0, zz2 0 для переменной zz3 получим: zz3 = — £ 3 <0.
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 107 8. Двойственный симплекс-метод*). Рассмотрим таблицу $ $ . II li .. vn = w = • • xn 1 U1 У1 = «11 •• • ais • • ain «1 Уг = «и ‘ • ars • • arn ar , (2.27) ит Ут ~ атл • •• ams •• • amn am 1 Z — —Pi •• •— Ps •• •~Pn 0 в которой совмещены условия следующей пары взаимно двой- ственных задач: прямой задачи максимизации линейной формы Z=P1X^ ... + рпхп при ограничениях yi = аП ( х1) ain (— хп) (Z = 1, ... , т) и при Xi 0, , хп 0 и двойственной задачи минимизации линейной формы w = a}u1-Y ... + amitm при ограничениях 1/; = ^+ ... + (7=1, ... , п) и при Wi 0, ... , ит 0. Как уже было отмечено в п. 3, решая прямую задачу (максимизации), мы одновременно решаем и двойственную ей задачу (минимизации). Симплекс-метод для решения прямой задачи состоит из двух частей: 1) устранение отрицательности в свободных членах (отыскание опорного решения), 2) устранение отри- цательности в коэффициентах г-строки (получение оптималь- ного решения). *) Этот пункт излагается по книге [13].
108 СИМПЛЕКС-МЕТОД [ГЛ. И Двойственная задача при этом решается в обратном по- рядке, а именно: 1) устранение отрицательности в коэффи- циентах w-строки, 2) устранение отрицательности в свобод- ных членах (отыскание опорного решения, которое уже и оптимально). Если же теперь решать двойственную задачу симплекс- методом (но обыкновенными жордановыми исключениями, так как в таблице (2.27) пд- записаны со знаком 4-), то пря- мая задача будет решаться в обратном порядке. Таким обра- зом, для прямой задачи получится новый метод решения, который называется двойственным симплекс-методом [43]. Проследив за установленными правилами симплекс-метода при решении двойственной задачи, мы получим правила двойст- венного симплекс-метода для прямой задачи. Для большей ясности заменим совмещенную таблицу (2.27) двумя отдель- ными таблицами (2.27а) и (2.276), причем и в таблице для двойственной задачи расположим переменные (/ = 1, ..., т), как обычно, сверху, так что в этой таблице матрица будет транспонированной к матрице табл. (2 27): “1 Ur .. um 1 ^1 = ап ... ari . ami —Pl ^5 = «is ... ars ams —Ps > (2.27a) а\п arn • arnn -Pn W — а, ar .. . am 0 ~х{ .. •• xn 1 «и •• . ais ••• Cl\n «1 Уг^ ап • - ars ... arn ar (2.276) Ут = ami • ams • • • amn am Z = — Pi • ••—Ps ...— Pn 0
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 109 Будем параллельно излагать правила *) симплекс-метода для решения задачи минимизации w обыкновенными жорда- новыми исключениями и вытекающие из них правила двой- ственного симплекс-метода для решения задачи максимизации z. Симплекс-метод для реше- ния задачи минимизации I. Правило выбора разре- шающего элемента при оты- скании опорного решения (для устранения отрицатель- ности в столбце свободных членов). 1) Рассматриваем строку с отрицательным свободным членом, пусть, например, — Ps 0» Если же все свобод- ные члены неотрицательны, то опорное решение найдено, и переходим к отысканию оптимального решения. 2) Находим в 5-й строке ка- кой-нибудь из положитель- ных коэффициентов, напри- мер аг5^>0; столбец, содер- жащий этот коэффициент, бе- рем в качестве разрешающего. Если все коэффициенты 5-й строки неположительны, то наша система несовместна. 3) Вычисляем неположи- тельные отношения свобод- ных членов к соответствую- Двойственный симплекс-ме- тод для решения задачи максимизации /. Правило выбора раз- решающего элемента для устранения отрицательно- сти в z-строке. 1) Рассматриваем столбец с отрицательным коэффициен- том в г-строке, пусть, напри- мер, — Ps^®- Если же все коэффициенты в г-строке не- отрицательны, то 0 является оценкой z сверху, и перехо- дим к отысканию опорного решения, являющегося одно- временно и оптимальным. 2) Находим в 5-м столбце какой-нибудь из положитель- ных коэффициентов, например ars^>0; строку, содержащую этот коэффициент, берем в качестве разрешающей. Если все коэффициенты 5-го столб- ца неположительны, то либо форма z не ограничена сверху, либо задача противоречива. 3) Вычисляем неположи- тельные отношения коэффи- циентов z-строки к соответ- *) Обоснование этих правил легко следует из рассуждений п. 6 § 2 и п. 4 § 3.
но СИМПЛЕКС-МЕТОД [ГЛ. П щим коэффициентам разре- шающего (r-го) столбца, на- ходим среди них наибольшее (наименьшее по абсолютной величине), которое пусть до- стигается при /=/о- Тогда /0-ю строку берем в качестве разрешающей, так что arjQ— разрешающий элемент. Если наибольшее отноше- ние равно нулю, то его зна- менатель берем разрешающим элементом лишь тогда, когда он отрицателен. Выбрав разрешающий эле- мент, делаем шаг обыкновен- ного жорданова исключения. ствующим коэффициентам раз- решающей r-й строки, нахо- дим среди них наибольшее (наименьшее по абсолютной величине), которое пусть до- стигается при /=/0. Тогда /0-й столбец берем в качестве разрешающего, так что аг]^ — разрешающий элемент. Если наибольшее отноше- ние равно нулю, то его зна- менатель берем разрешающим элементом лишь тогда, когда он отрицателен. Выбрав разрешающий эле- мент, делаем шаг модифици- рованного жорданова исклю- чения. Если после некоторого числа шагов получена таблица вида (2.28а), в которой все свободные члены qb ... , qn неотрицательны, а в w-строке есть еще отрицательные коэф- фициенты, например Ьг О, то оптимальное решение еще не найдено, и переходим к его отысканию. Величина Q дает оценку w сверху. Если после некоторого числа шагов получена таблица вида (2.286), в которой все коэффициенты qb ... , qn z-строки неотрицательны, а среди свободных членов еще есть отрицательные, например £г<^0, то оптимальное реше- ние еще не найдено, и пере- ходим к его отысканию. Ве- личина Q дает оценку z сверху. : .. vr иг+1 11 m 1 «1 = brl ^r+1,1 bmi Qi «г = Ь1г brr ^r+1, r • bmr Qr ^г+1= ^1, Г+1 • • br, r+i Ьг+b r+i bm, r+i Qr+i (2.28a) Vn = • brn br+b n Ьщп Qn. W = bl . br br+1 • bm Q
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ. ПРОГРАММИРОВАНИИ 111 ..— у г *г+1 ... xn 1 = ^11 Ъ1г bl, Г+1 ••• bln bi = Уг+1 = Ъ„ • ^Г+1, 1 .. brr ••• ^г+1, br, r+1 r br+ll r+1 • •• brn ... br+1, n br br+l (2.286) Ут — Ьтл bffir Ьщ, r+1 ••• bmn Ьщ Z — Q1 Qr Qr+i ••• Qn Q II. Правило выбора раз- решающего элемента при отыскании оптимального решения симплекс-методом. II. Правило выбора раз- решающего элемента при отыскании опорного (одно- временно и оптимального) решения двойственным сим- плекс-методом. 1) В качестве разрешаю- щего берем столбец, содер- жащий отрицательный коэф- фициент в w-строке, пусть г-й (*г<0). 2) Отбираем все отрица- тельные коэффициенты этого столбца, делим на них соот- ветствующие свободные чле- ны и находим наибольшее среди полученных отношений, достигаемое пусть при /=/0. Тогда /0-ю строку берем раз- решающей, так что brjQ—раз- решающий элемент. Если в г-м столбце нет отрицательных коэффициен- тов, то функция w не огра- ничена снизу. 1) В качестве разрешающей берем строку, содержащую отрицательный свободный член, пусть г-ю (Ьг<^0). 2) Отбираем все отрица- тельные коэффициенты этой строки, делим на них соот- ветствующие коэффициенты ^-строки и находим наиболь- шее среди полученных отно- шений, достигаемое пусть при j'=Jq. Тогда /0-й столбец бе- рем разрешающим, так что brJ-Q—разрешающий элемент. Если в r-й строке нет отрицательных коэффициен- тов, то ограничения задачи противоречивы.
112 СИМПЛЕКС-МЕТОД [ГЛ. Н После конечного числа шагов обыкновенных жорда- новых исключений мы либо найдем минимальное значение функции w, либо убедимся в ее неограниченности. После конечного числа шагов модифицированных жор- дановых исключений мы либо найдем максимальное значе- ние г, либо убедимся в про- тиворечивости ограничений задачи. Замечание 1._ По степени трудоемкости симплекс- метод и двойственный симплекс-метод, вообще говоря, равно- значны; однако если в исходной таблице или в процессе отыскания опорного решения симплекс-методом все коэффи- циенты г-строки оказались положительными (в задаче макси- мизации), то продолжать решение, очевидно, целесообразно двойственным симплекс-методом. Замечание 2. Для решения двойственным симплекс- методом задачи минимизации z можно, либо пользуясь опи- санными правилами, найти максимум — z, а затем результат взять с противоположным знаком, либо сразу искать мини- мум z. В последнем случае надо несколько видоизменить эти правила так, чтобы все коэффициенты z-строки стали непо- ложительными. х Замечание 3. Отметим, что, в то время как в обыч- ном симплекс-методе мы приближаемся к максимальному (ми- нимальному) решению снизу (сверху) по опорным реше- ниям, в двойственном симплекс-методе мы приближаемся к максимальному (минимальному) решению сверху (снизу), при- чем промежуточные решения уже не являются допу- стимыми. Действительно, если в промежуточной таблице (2.286) приравнять нулю переменные, расположенные сверху, то, ввиду наличия среди свободных членов отрицательных, некоторые боковые переменные также будут отрицательными. Иногда, при большом количестве переменных и ограни- чений, бывает удобно использовать для решения одной и той же задачи оба метода, так как при этом к оптимальному значению линейной формы мы подходим одновременно с двух сторон — сверху и снизу, и, если разность между соответ- ствующими значениями линейных форм достаточно мала, можно вычисления прекратить и полученное опорное реше- ние задачи, решаемой обыкновенным симплекс-методом, счи- тать ее приближенным решением.
§ 7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ ИЗ Пример 1. Найти максимум линейной формы z = bxi — — 4х3 при выполнении ограничений У1=== х% -ф- 2а*з — 9 О, у 2;=г — X} —х% — 1 О, Уз== X} -j- х% — Зх3 — 8 О, У4 = — Xi -j- х34 О и при Будем решать эту задачу двойственным симплекс-методом. Составляем таблицу — х% — х3 1 У1 = 0 —1 —2 —9 у2 = 1 ГЕЛ 0 —1 Уз = —1 —1 3 —8 У< — 1 0 — 1 4 Z — —5 1 4 0 В z-строке отрицательный коэффициент —5^ находится в первом столбце. Он содержит положительные коэффи- циенты 1 и 1 во второй и четвертой строках. Выбираем разрешающей, например, вторую строку. Составляем неполо- жительные отношения коэффициентов z-строки к соответ- ствующим коэффициентам второй строки: Большим из них оказывается второе, поэтому элемент — 1 будет разрешающим. После шага модифицированного
114 СИМПЛЕКС-МЕТОД [ГЛ. II жорданова исключения приходим к таблице — Xi х3 1 —1 —1 —2 —8 Х2 = —1 —1 0 1 Уз = —2 —1 3 —7 3>4 = ш 0 —1 4 z — —4 1 4 —1 В z-строке еще остался отрицательный коэффициент. По- вторяем шаг модифицированного жорданова исключения с разрешающим элементом 1, взятым в рамку, так как оба не- — 4 4 положительные отношения —р и —у равны. Получаем таб- лицу —Л ~~Уз —*з 1 1 — 1 l-3i — 4 1 — 1 — 1 5 2 — 1 1 1 1 0 — 1 4 4 1 0 15 не содержащую отрицательных коэффициентов в г-строке, и Q= 15 является оценкой значения z сверху. Переходим к отысканию оптимального решения. Среди свободных членов есть отрицательный в первой строке. Бе- рем ее разрешающей. Вычисляем ( 1 0 1 О тах I — Р —3 ) — —3 и после шага модифицированного жорданова исключения с
§7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 115 разрешающим элементом — 3 приходим к таблице —У2 —У1 1 5 4 13 х 2 1 4 21 4 23 £ 59 4 4 4 4 в которой появился отрицательный свободный член в третьей строке. Сделав шаг модифицированного жорданова исключе- 4 . ния с разрешающим элементом —(единственным отрица- О тельным коэффициентом разрешающей третьей строки), при- ходим к таблице —Л —Уз — У1 1 5 Х3 = -7“ 3 4 13 .2 1 *= -Т , 21 4 _ 23 £ _1 5®. г— 44 44 в которой все свободные члены уже неотрицательны. Поло- жив j/4 = =j^i = 0, получим оптимальное решение 21 13 5 59 *1=“4> х«=-2> max* = y. Пример 2. Найти максимум линейной формы z — 4Xi — 5х2 — 4л*3
116 СИМПЛЕКС-МЕТОД [ГЛ. II при выполнении ограничений У1 == Хд ~Н ^Х3 1 Q О, У<2 ===- Х}~Х% -------- 1^:0, Уз= Xf-^-x.2 — 4х3 -|- 1^0, yi = — 4“ ^зт 1^0 и при х1 0, х.2 О, х3 0. Составим таблицу ~~~ X Xg —Х3 1 4: 4: 4: 4: Ф» W Ю И* II II II II II 0 — 1 —2 1 |~ !| 0 — 1 —1 4 1 0—1 — 4 5 4 — 10 — 1 1 1 0 и будем решать задачу симплекс-методом. Начинаем с отыскания опорного решения. В первой строке есть отрицательный свободный член —10. В этой же строке отрицательные коэффициенты находятся во втором и третьем столбцах. Разрешающим возьмем, например, второй столбец. Для отыскания разрешающего элемента вычислим . г —10 — h —1 min { — i > _ J — — i и разрешающим возьмем элемент — 1, на котором мини- мум достигается. После шага модифицированного жорда- нова исключения придем к таблице — Xi ~у2 —х3 1 СЧ О 1 1 -н _ О 1 1 1 II II II II — 9 1 2 1 z = 1 5 4 — 5
§7] ДВОЙСТВЕННОСТЬ В ЛИНЕЙНОМ ПРОГРАММИРОВАНИИ 117 в которой все коэффициенты г-строки положительны. Для того чтобы в дальнейшем в г-строке не появилось отрица- тельных коэффициентов, будем продолжать решение задачи двойственным симплекс-методом. В первой строке свободный член — 9 отрицателен. Бе- рем эту строку разрешающей, вычисляем (1 5 4i 1 тах{— - —’ — Г=— и делаем шаг модифицированного жорданова исключения с разрешающим элементом — 1 из первого столбца. Придем к таблице —У1 —Уэ — *8 1 ? II II II и 1 1 1 — ю — L _ о — | со | оо to to 9 10 20 — 8 2= 1 4 2 — 14 в которой отрицательный свободный член появился в четвер- той строке. Продолжение процесса приводит к таблицам —У1 —У2 ~~ У i 1 —У1 —Уз—Уа 1 *1 = __ 1 3 3 см |оо п 3 *1 = П 5 x2 = _ 1 3' 3 со| to 14 3 х2 = 26 5 см (сто 1 СО | сл Со| 00 3 у2 = 4 5 1 __ 1 8_ 12 л*8 = 3 3 3 3 х8 = 5 2 = 5 3 Ю 3 2 3 _58 3 Z = 3 2 6 — 22
118 СИМПЛЕКС-МЕТОД [ГЛ. П В последней все свободные члены неотрицательны. Полагая У1 =.Уз =.У4 = находим оптимальное решение задачи 17 26 12 • х1=гГ д;2—— х3—-F-, maxz = —22. 5 . 5 * ° 5 * § 8. ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ 1. Постановка задачи. Геометрическая интерпретация. Часто в задаче линейного программирования, т. е. в задаче максимизации линейной формы г=/?1х1Ц-...4-р„х„ (2.29) при ограничениях а,-л + --- + а,Л^а/ (/=1, /и), 1 (/ = 1, •••.«)> I ( } определяющих многогранник 2, по самому смыслу задачи требуется, чтобы решение было целочисленным, причем atj и az(Z=l, ..., z/z; 7=1, ..., п) предполагаются целыми. Однако симплекс-метод приводит непосредственно к цело- численному решению лишь для немногих задач. В общем же случае для отыскания оптимального целочисленного решения задачи (2.29) — (2.30) требуются специальные методы. Они заключаются в подборе дополнительных к (2.30) линейных ограничений, обеспечивающих целочисленность решения. Один из таких методов, приводящий к целочисленному решению за конечное число шагов, предложен Р. Е. Гомори [40] — [42]. Идею метода легко уяснить геометрически. Рассмотрим множество целочисленных точек многогран- ника ограничений 2. Если бы удалось заменить многогран- ник 2 выпуклой оболочкой его целочисленных точек, то получаемое симплекс-методом оптимальное решение этой ви- доизмененной задачи было бы, очевидно, целочисленным и служило бы оптимальным целочисленным решением исходной задачи. Ввиду трудности построения этой выпуклой оболочки строят промежуточный многогранник, охватывающий ее и содержащийся в 2. В рассматриваемом методе это осущест- вляется путем введения на каждом шаге дополнительного ограничения, которое, уменьшая многогранник 2 (отсекая не-
§ 8] ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ 119 которую его часть), не исключает из него целочисленных то- чек, причем плоскость дополнительного линейного ограничения проходит хотя бы через одну целочисленную точку. Через конечное число шагов метод приводит к новой задаче, оп- тимальное решение которой является одновременно оптималь- ным целочисленным решением исходной задачи. 2. Алгорифм. Предварительный шаг. Решая задачу (2.29)— (2.30) симплекс-методом, придем через конечное число шагов к таблице —У1 •••—ys XS+i • •. xn 1 Х1 = Ьц ... bls bl, S+i ••• b, xs == &S1 bss ^S, S+l • • • bSn bs &S+1, 1 “ bs+l,s &S+1, s+i ••• bs+i, n bs+i Ут = bmi ... bms bm, s+i • • • bmn bm Z = Qi Qs Qs+i ••• Qn Q в которой все свободные члены Ьь ..., Ьт и коэффициенты z-строки ..., qn неотрицательны, так что y1 = ...=j/i = xs+1 = ... = x„ = 0, хг = Ьь xs = bs дает оптимальное решение задачи. Если не все свободные члены целые, то решение нецелочисленное, и переходим к общему шагу. Перепишем для удобства последнюю таблицу в виде -л 1 ^1== ^11 .. btj ... bt (2.31) bii .. bij ... bin bi ‘Чт “ bmi •• bmj... bmn bm z = Qi .. q, ... Qn Q
120 СИМПЛЕКС-МЕТОД (ГЛ И Общий шаг. 1) Составление дополнительного ограничения. Пусть не целое. Полагаем Р«7 = bU — = bH — niJ *)> Pi = &, —= —Я, (так что я,7 Z>,7 < л,71, + 1 и 0 <j3)7< 1, 0<^pt-<4) и составляем дополнительное ограничение (2.32) Полученное sz будет целым неотрицательным при целых неотрицательных и Действительно, «i = — У ViJ (— £/) — Pi = У, Я,7 (— + Я,- — ГЦ, j^\ /=1 откуда (из последнего выражения) следует целочисленность sif а из предшествующего и из неотрицательности и Zj сле- дует, что sz^— —1, что в сочетании с целочислен- ностью Si доказывает его неотрицательность. Если, как в рассматриваемохм случае, оптимальное реше- ние исходной задачи (2.29) — (2.30) не целочисленно (так как r^i = bi не целое), то оно не удовлетворяет дополнительному ограничению (2.32), потому что при q = ... = ^ = 0 будет «i = — Р<<0> так что дополнительное ограничение (2.32) отсекает от 2 часть, содержащую нецелочисленное оптимальное решение, сохраняя целочисленные решения. Нетрудно убедиться, что плоскость sz = 0 проходит через некоторую целочисленную точку (возможно, и не принадле- жащую 2). *) Символом [а] обозначена целая часть числа а, т. е. наиболь- шее целое число, не превосходящее а.
§ 81 ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ 121 2) Решение измененной задачи. Вносим ограниче- ние Sj 0 в таблицу (2.31) -5! .. • -X ... — Zn 1 ^11 = ^11 bi bit ... &iJ bin bi \т = bmi • bmj bmn Ьщ Si = -₽н •• — ?ij •• • ?in — 2 = •• 4j --- Qn Q (2.33) и решаем новую задачу максимизации z при ограничениях (2.30) и дополнительном ограничении (2.32). Для сохранения знаков уже неотрицательных коэффи- циентов z-строки пользуемся для отыскания оптимального решения двойственным симплекс-методом (§ 7, п. 8). Если полученное при этом оптимальное решение новой задачи ока- жется нецелочисленпым, то повторяем общий шаг, и после конечного числа повторений [40 б] будет найдено оптималь- ное целочисленное решение новой, а следовательно и исход- ной, задачи, если оно существует *). Пример [41]. Найти целочисленное неотрицательное ре- шение системы 3%! -L 2х2 10, Xi 4х>2 Зл?! Зх.2 4- х3 13, максимизирующее линейную форму z=== 4Xi —J— ох? 4~ хз- Перепишем ограничения в виде Ух — — Зхг — 2х2 4~ 10 0, у2 — ~ Хх — 4х2 4-11^0, у3 = — 3х^ — Зх2 — х3 4~ 1 0 *) Признаком отсутствия целочисленного решения служит по- явление в таблице хотя бы одной строки с дробным свободным членом и целыми остальными коэффициентами, так как в этом случае соответствующее уравнение не имеет решения в целых числах.
122 СИМПЛЕКС-МЕТОД [ГЛ. П и составим таблицу — *1 1 ь = 3 2 0 10 У 2 = 1 13 0 11 Уз = 3 3 1 13 z = — 4 — 5 — 1 0 Проделав три шага модифицированных жордановых исклю- чений —Ь -*3 1 —Ь — У 2 — *3 1 У1 = ю 4 _2 4 0 18 4 *1 = 4 10 -3 ° 18 10 х2 = 1 4 1 4 0 Н 4 х2 = 1 10 й » 23 10 Уз = СО 00 1 1 ]9 4 —> Уз = 9 10 -18 Ш 7 Тб z = __ П 5 — 1 55 z = И 187 4 4 4 10 16 придем к таблице —У1 —У2— Ь 1 4 2 А 18 *1 = 10 10 ° 10 1 3 А 23 х2 = 10 Тб 0 '10 9 3 7 Хз = - ..... 1 10 10 10 2 ± 1 194 Z = 10 10 10 из которой находим оптимальное, но нецелочисленное реше- ние задачи: Xl —10’ х'2 10’ Хз 10’ тахг ю-
§ 81 ЦЕЛОЧИСЛЕННОЕ ПРОГРАММИРОВАНИЕ 123 Для отыскания целочисленного решения вводим, согласно предыдущему, дополнительное ограничение Таблица примет вид *1 = «3 = Z = — У1 — Ь—Уз 1 _4 -1 О 18 10 10 0 10 1 1 0 23 10 10 0 10 9 1 7 10 10 10 1 7 7 0 10 10 ” 10 2 1 , 194 10 1 ю 1 10 Для сохранения знаков г-строки неотрицательными при- меним двойственный симплекс-метод. На основании соответствующего правила берем отрица- тельный разрешающий элемент —~ из последней строки, так как |_4 . __±1 |ю‘ lol^lio1 10 г Сделав шаг модифицированного жорданова исключения, полу- чим из таблицы
124 СИМПЛЕКС-МЕТОД [ГЛ. И целочисленное оптимальное решение шахг = 19, достигаемое при Xt = 2, х2=2, х3=1. § 9. ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ [4] 1. Постановка задачи. Рассмотрим теперь некоторое обобщение задачи линейного программирования, когда коэф- фициенты целевой функции являются уже не постоянными, а линейно зависят от некоторого параметра t. Точная формулировка задачи параметрического програм- мирования выглядит так: Дана линейная при каждом t £ [а, р] функция (целевая) + (2.34) и система ограничений 2 atjxj (Z = 1, ..., /и), (2.35) определяющая некоторый непустой многогранник 2. Тре- буется разбить сегмент [а, р] на конечное число сегментов так, чтобы для всех значений параметра t из каждого сегмента максимальное значение zt достигалось в одной и той же вер- шине многогранника 2. При этом max zt. будет линейной функ- цией от t на каждом из этих сегментов и выпуклой кусочно- линейной на [а, р]. 2. Алгорифм. Предварительный шаг. Полагаем f = a и решаем обычную задачу линейного программирования, т. е. задачу отыскания максимума линейной формы ?«=.£ + xj) при ограничениях (2.35), которые, по предположению, сов- местны. *) Знаки минус перед переменными мы ставим для удобства I вычислений. Д
§ 9] ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 125 Для этого выписываем обычную таблицу, к которой добав- ляем снизу еще две строки. В первой из них располагаем числа pj, а во второй числа qj. Для получения коэффициен- тов линейной формы zt надо коэффициенты последней строки умножить на t и сложить с коэффициентами предпоследней: — Xi .. -Xj > • xn 1 = «11 aij •• >. ain «1 У1 = «11 .. aij .. ain ai Ут = ami • amj • amn am 2а = (Л + “91) •• <Pj + rjP/) - <Рп + <Щп) 0 zt ==• Pl Pj Pn 0 Qi q} .. Qn 0 Решая задачу при £ = а, мы встретимся со следующими двумя возможностями: а) либо найдем конечный максимум функции га, т. е. получим таблицу, например, вида —У1 •• —Уп 1 Jn+1 — bn •• ^in *1 Ут = ^mi •• Ьщп bm 4 = Ci+arfj . •• cn~\~a(^n Q aQi , (2.36) Zt =. / Cl • • cn Q di dn Qi в которой б) либо убедимся в неограниченности функции га. В случае а) переходим к общему шагу. В случае же б), когда оказалось, что некоторый коэффициент га-строки, на- пример, отрицателен и все коэффициенты s-го столбца,
126 СИМПЛЕКС-МЕТОД [ГЛ. II содержащего этот коэффициент, неположительны, рассматри- ваем знак числа ds. Если ds^0, то cs~[-tds<^0 при всех zt не ограничена для всех t [а, р] и функция max .27 не определена в [а, [3]; если же d5^>0, то cs-\-tds<^Q для всех — у и не ограничена, а функция maxz^ не опре- as делена для t ^а, — . Теперь при р задача ре- шена, а при полагаем t= — ^~ и повторяем пред- as варительный шаг. Общий шаг состоит из двух действий: 1) определения сегмента [аь а^] изменения параметра f, во всех точках кото- рого zt достигает соответствующего максимума в вершине, полученной на предыдущем шаге, и в котором функция max zt линейна; 2) отыскания новой соседней вершины многогран- ника ограничений (2.35), в которой достигает максимума функ- ция zt при и определения при очередного вида линейности кусочно-линейной функции max 27. Первый шаг. 1) Пусть после предварительного шага полу- чена таблица (2.36). Находим все те значения параметра t, для которых коэффициенты Cj-\-tdj (у = 1, ..., п) функ- ции zt продолжают оставаться неотрицательными, т. е. находим множество решений системы неравенств 67 + Ц/^О (/ = 1, ..., п), (2.37) которая, очевидно, совместна, так как f = a — одно из ее решений. После несложного анализа системы (2.37) убедимся, что искомое множество значений параметра t удовлетворяет не- равенствам at t sC a^, где max (— , если существуют dZy^>0, dz>o V aJJ — оо, если все dj 0; min (—если существуют d7<^0, -j-oo, если все dj^O.
§ 9] ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 127 Действительно, если среди коэффициентов dj (j = 1, ..., п) есть как положительные, так и отрицательные, то, решив сначала систему тех неравенств^из (2.37), для которых d74>0, найдем, что (^•>0) и, значит, = шах d.>Q Решив затем систему тех неравенств из (2.37), для которых dj<^0, найдем (^<0) и, значит, 04 = min dj<0 dj)‘ Если все dj одного знака, то в случае dj 0 (/ — 1, ..., п) все значения t, для которых совместна система (2.37), не огра- ничены снизу и 04 = — оо. Если же все dj^O (/ = 1, ..., п), то значения t не огра- ничены сверху и 02 = 4-00- Нас, конечно, интересуют лишь те из полученных значе- ний t, которые принадлежат сегменту [о, р]. Если 04 р, то задача решена: для всех t £ [а, р] функ- ция zt достигает максимума в той же вершине многогран- ника 2, в которой достигается maxza, и -функция maxzz = = Q-|-Qi^ не кусочно-линейна, а просто линейна в [а, [3]. Если же а2<^р, то переходим к 2). 2) Пусть, например, Тогда при коэффициент + будет уже отрица- тельным (так как б/;0<^0). Рассматриваем у0-й столбец. Если все коэффициенты этого столбца в таблице (2.36) неположи- тельны, то функция zt не ограничена при всех ^^>а2, т. е. функция max2j при ^^>04 не определена и задача решена:
128 СИМПЛЕКС-МЕТОД [ГЛ. II для всех t [а, о^] функция zt достигает максимума в той же вершине, что и za, а для t £ (а2, Р] она не ограничена; при этом для t £ [а, а2] функция max zt линейна, max zt = Q -|- Qit а для t £ (а2, p] она не определена. Если же среди коэффициентов /0-го столбца есть поло- жительные, то считаем этот столбец разрешающим, отыски- ваем в нем по правилам симплекс-метода разрешающий элемент и производим шаг модифицированного жорданова исключения (конечно, отбрасывая строку га). Получим соседнюю вершину многогранника 2, в которой достигает максимума функция zt при £^а2. Действительно, при f = a2 имеем Су0-)-а2б/уо = О; поэтому после указанного шага модифицированного жорданова исклю- чения все коэффициенты функции га2 в новых координатах не изменятся, т. е. cj-\~c^dj = Cj-\-^dj^O (/=1, •••, л) и га2 достигает максимума в новой вершине многогранника 2. Далее, при t <^a.2 будет отрицательным записанный в новых координатах коэффициент функции zti который окажется в разрешающем /0-м столбце СJo + с у 4- td; Jo 1____Jo bkjo 0 (где bkj0 ^>0 — разрешающий элемент). Следовательно, функ- ция zt при не достигает максимума в новой вершине, а достигает его лишь при После 2) повторяем общий шаг до тех пор, пока либо в 1) не получим а2^р, либо в 2) не убедимся в неограни- ченности zt при t а.2. При отыскании числа а2 может оказаться, что оно дости- гается для нескольких значений j =/0, • • •, /v, т. е. cj + <^dj = 0 (j =jf>, J4), и dj<^0 (j=jo, Ju •••, А), так чт0 функция га2 достигает максимума на некоторой грани 2. Выбрав разрешающим, на- пример, /0-й столбец, мы после шага модифицированного жор- d- данова исключения получим d'jQ = —0, и на следующем шаге решением /0-го неравенства c’jQ-\-td'jQ^§ будет уже ^^а2. Очевидно будет решением и любого /-го нера-
§ 9] ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 129 венства (J=JQ) yv), для которого rfy^O. Решением же у-го неравенства у которого не изменился знак коэффициента при t (т. е. у которого tZ7<^0), по-преж- нему будет ^-<о.2и в 1) получим 04 = 0.2 (т. е. в полученной новой вершине достигает максимума лишь га2, а не Z/>a2). В рассматриваемом случае поэтому не имеет смысла пе- реходить к следующему шагу, а надо повторять 2) до тех пор, пока не получим, что (j =/0, .у\). За конечное число шагов мы либо этого достигнем, т. е. придем к вершине, в которой достигает максимума не только гЯ2, но и zt при либо убедимся в неограниченности zt при Конечность следует из конечности числа вершин грани 2, на которой достигает максимума za2. Надо только обеспечить запоминание уже встречавшихся вершин. Этого можно достичь, например, положив t = (е^>О)и отыски- вая максимум функции га2_|_£. Отметим, наконец, что алгорифм конечен, так как на каж- дом шаге мы либо переходим от вершины к вершине, которых конечное число, и они не могут повторяться, либо на неко- тором шаге убеждаемся в неограниченности целевой функции при 3. Пример. Решить задачу параметрического программиро- вания для целевой функции z t — (2 — t) Xj -j- x%, сегмента [1, 10] изменения параметра t и при ограничениях У1 — — 2xt — *^2 ~Н $ О, У%- Xi —Х2 — 1 О, Уз = 3xj — 2х% —3 О, Уь =— -^2 ~h 4 0. Предварительный шаг. 1) При ^=1 имеем целевую функцию Z\ = X} —|— х2. 5 С. И. Зуховицкий, Л. И. Авдеева
130 СИМПЛЕКС-МЕТОД [ГЛ. II Составляем далее таблицу и решаем задачу максимизации Исключив координаты хх и х2, получим таблицу — У2 —У1 1 ll II 'Т . г ГО СП 36 —9 z. = —1 0 —1 0 1 21 = 8 — 1 —1 7 и выражения для хг и х2: х^ = у2 — х2 —1, x2 = 2j/2-|-yi —6. Для отыскания опорного решения делаем шаг моди- фицированного жорданова исключения с разрешающим
§ 9] ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 131 элементом — 3. Получим Сделав шаг модифицированного жорданова исключения 7 с разрешающим элементом —, получим таблицу о из которой находим б max = у,
132 СИМПЛЕКС-МЕТОД [ГЛ. II достигающийся при п 45 36 _Уз=Д'1 = <Л Л = у, Уъ = ~1> т. е. при 13 30 -Vi — у , — 7 . Первый шаг. 1) Определяем множество всех значений параметра t, при которых шах 27 достигается в полученной 13 30 ~ вершине Xt = y, х2 = у. Так как в последней строке предыдущей таблицы есть положительные и отрицательные числа, то находим а1 = шах( — у) = 0, a2 = min (— -^1=-^-, d;.>0\ ajJ dy<0\ ajJ Z т. e. эта вершина оптимальна для t £ £о, . Для функции max zt имеем о 13 , шах 2, = 8 — -=-t. 1 7 2) Так как а2 = у<Ч0 = р и достигается при j = 2, то в следующей таблице У4 = У2 = zt = —Уз —У1 1 3 1 45 _—__ - 7 7 7 1 5 36 7 7 7 0 1 8 1 2 _ 13 7 7 7 полученной из предыдущей вычеркиванием 2гстроки, берем разрешающим второй столбец и делаем шаг модифйцирован- 5 ного жорданова исключения с разрешающим элементом у.
§ 9] ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 133 Получим таблицу Второй шаг. 1) Находим все значения t, при которых 4 . 1 , maxz^y + yf достигается при п 27 36 Уз=у2 = 0, >'1 = 1Г’ т. е. в вершине 1 6 Так как все ^-^>0, то а2 = -]-сю, а *1 = тах d.^> О 1_ Т’ 1 J. \ откуда вершина оптимальна для -у г -f-оо. 2) Так как а2 = оо, то задача решена: промежуток [1, 10] разбивается на два: [1> у] и [у> ioj. В вершине 13 „ 30 JCj - у , — у
134 СИМПЛЕКС-МЕТОД (ГЛ. П Г 71 max zt достигается для всех t 1, у , и max zt = 8-----ty 1 7 а в вершине max zt достигается для всех и 4. Геометрическая интерпретация. Система ограниче- ний (2.35) определяет некоторый непустой многогранник 2, а уравнение г^ = 0— связку плоскостей, проходящих через начало координат. Положив / = а, мы выделяем из этой связки плоскость ^а = 0 и в предварительном шаге находим вер- шину Рх многогранника 2, максимально уклоненную от пло- скости га = 0, а также уклонение zt(P^=Q-\-QJ этой вершины от любой плоскости связки zt — 0, являющееся линей- ной функцией параметра t. Меняя значение параметра t, мы тем самым непрерывно переходим от одной плоскости связки zt = 0 к другой, другими словами, поворачиваем плоскость 2*а = 0 около начала координат. При этом вершина будет максимально уклонена от поворачиваемой плоскости до тех пор, пока она не совпадет с некоторой плоскостью, парал- лельной какому-нибудь ребру или грани многогранника 2, проходящей через вершину Pt. На рис. 11 вершина Pi максимально уклонена от всех прямых zt = 0, проходящих через начало координат, и обра- зованных вращением прямой га = 0 до ее положения га2 = 0. Прямая za2 = 0 параллельна ребру Р^Р* многогранника 2 и все точки этого ребра максимально уклонены от этой прямой. Сделав шаг модифицированного жорданова исключения, мы перейдем по ребру, параллельному плоскости га2 = 0, к сосед- ней с Pi вершине Р%. Уклонение zt(P^ этой вершины от плоскостей zt = 0 будет новой линейной функцией от f, и мы определяем все те плоскости связки 2у = 0 (т. е. все те зна-
§ Ч ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ 135 чения параметра f), от которых вершина максимально уклонена, и т. д. Если многогранник 2 неограниченный, то при некоторых значениях параметра t плоскости zz = 0 могут, очевидно, занять такое положение, для которого значение формы zt не ограничено. Наконец, заметим, что функция maxzz, выражающая мак- симальное уклонение точек многогранника 2 от связки пло- скостей zz = 0, оказывается равной шах { zt (Pl), zt (Р3), ... }, т. е. является выпуклой кусочно-линейной функцией от t. 5. Двойственная задача параметрического программи- рования. Рассмотрим еще задачу, двойственную к задаче параметрического программирования. Эта двойственная задача формулируется так: Дана линейная функция w = 2 арц (2.38) i = 1 и система линейных ограничений т У + (J=1, .... я), (2.39) i= 1 где а Требуется разбить сегмент [а, р] на конечное число сегментов так, чтобы для всех значений параметра t из
136 СИМПЛЕКС-МЕТОД [ГЛ. П каждого сегмента минимальное значение целевой функции w достигалось в вершинах, определяемых одной и той же под- системой системы т У = Pj + tqj (J =1......»)> i=l т. e. достигалось в вершинах, отличающихся лишь параллель- ным сдвигом определяющих их плоскостей. Аналогично пря- мой задаче, функция min wt будет линейной функцией от t на каждом из этих сегментов и выпуклой кусочно-линейной на [«. ?]• По общей теории двойственности § 7, решая одну из двойственных задач, например задачу (2.34) — (2.35), мы тем самым решаем и вторую задачу (2.38) — (2.39).
ГЛАВА III НЕКОТОРЫЕ ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ В настоящей главе иллюстрируется применение теории, изложенной в гл. II, к ряду практических задач, математи- ческой моделью которых служит задача линейного програм- мирования. Из обширного круга таких задач приводятся лишь наиболее типичные, и численные примеры к ним решаются симплекс-методом. Что же касается весьма важной транс- портной задачи, то эффективные методы для ее решения изло- жены в гл. IV. § 1. ЗАДАЧИ ОПТИМАЛЬНОГО ПРОИЗВОДСТВЕННОГО ПЛАНИРОВАНИЯ *) 1. Задача о максимальной рентабельности предприя- тия. В § 7 гл. II, при описании экономической интерпрета- ции основной задачи линейного программирования, была уже приведена одна из задач оптимального производственного планирования. В ней преследовалась цель максимального выпуска одного вида продукции из имеющихся запасов сырья при наличии разных технологий для ее производства. При- мером другой распространенной задачи оптимального произ- водственного планирования, также сводящейся к задаче линей- ного программирования, может служить задача достижения максимальной рентабельности предприятия при производстве из имеющихся запасов сырья различных видов продук- ции. Приведем схему такой задачи. Пусть для изготовления каждого из п видов продукции употребляется т видов сырья, причем расход z-ro вида сырья, на единицу /-го вида продукции составляет единиц. Пусть, *) Во всех задачах этого параграфа ищутся целочисленные ре- шения; см. также подстр. прим, на стр. 154.
138 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. HI далее, на каждой единице продукции /-го вида предприятие получает прибыль pj рублей. Требуется определить, сколько единиц xlf ..., хп каждого вида продукции должно изготовить предприятие, чтобы обес- печить наивысшую рентабельность производства, если учесть, что сырья z-го вида имеется в распоряжении предприятия a-t единиц (/=1, ..., т\ В следующей таблице компактно записаны все условия задачи. X. № продукта № сырья х. 1 .. .. j .. .. n Запас сырья 1 «и .. • aij •• • aifl «1 i aii •• • aij •• • ain ai т ami • • • amj •• • amn am Прибыль Pi •• • Pj .. Pn План Х1 .. . Xj : • • xn Так как при плане производства х(хг, ..., хп) из запаса сырья щ расходуется аахх -ф- атхп единиц сырья /-го вида, а прибыль при этом плане составляет рххх рпхп рублей, то математической моделью задачи служит следующая задача линейного программирования: Найти хь ..., хп, максимизирующие линейную форму Z=p1X1-[- ... +рпхп при ограничениях a,i^i+ ••• -\~ajnxn^ai (1=1, ..., т), и при Xi 0, ..., хп 0. 2. Общая задача производственного планирования [14в]. Рассмотрим теперь так называемую общую задачу производственного планирования, которую сформулируем так.
§ 11 ОПТИМАЛЬНОЕ ПРОИЗВОДСТВЕННОЕ ПЛАНИРОВАНИЕ 139 Имеется п различных технологий (или предприятий) для выпуска по каждой технологии комплектной продукции (например, машины). Каждый комплект состоит из 1\ дета- лей (предметов) № 1, из Л деталей № 2 и т. д., из ls дета- лей № <$. Для их производства используются т различных ингредиентов (например, различные виды сырья, электро- энергия, зарплата и т. д.), имеющихся в ограниченных коли- чествах аь ..., ат, причем по у-й технологии i-й ингредиент используется за один цикл производства в количестве ai}- единиц (z = 1, ..., т\ j = 1, ..., п), а Л-й детали по у-й технологии будет при этом произведено bkj единиц (у = 1, ... .п\ k = 1, ..., $). План х(хъ ..., хп) производства озна- чает интенсивности применения каждой технологии, так что Xj — число циклов производства поу-й технологии (у = 1, ..п). Все это удобно представить в виде таблицы: № технологии № ингре- диента 1 .. • j • .. n Запасы ингредиента 1 «и «1/2 «1 1 aii •• • aii • •• ain ai т М/я t .. • amj • • • amn am № технологии № детали 1 ... j ... п Количество деталей в комплекте 1 z>n ... biJ • • • bln ll k bk1 • •• bkj • •• bfin Ik S ... bsj • •• bsn План х 1 X, . .. Xn
140 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. 1П По данному плану х(хь ..., хп) расход i-го ингредиента равен ... ainxn(l = l, ..., т\ а выход ^-й детали равен bkix^ • • • + bknxn(k = 1,..s). Так как в каждом комплекте готовой продукции должно содержаться lk единиц &-й детали, то выход количества bklxr • • • + bknxn этой детали позволит его использовать для составления ••• + bknxn lk комплектов, и, таким образом, количество полных ком- плектов, которое можно будет выпустить по данному плану, равно наименьшему из частных ъ^+...+b 1ПХП bsixi~\~ • •• ~\~bsnxn 11 ’ ’ Is Задача заключается в выборе такого плана (оптимального), по которому из имеющихся запасов а1у..., ат ингредиен- тов будет выработано наибольшее количество полных ком- плектов.- Математическая модель этой задачи выглядит так: Среди неотрицательных решений системы линейных не- равенств ••• ~\~а1пХп ат1х1 Н~ ’ * * атпхп ат (3.1) найти такое, для которого величина min ~\~Ькпхп I k s Ik имеет наибольшее значение, т. е. надо найти такое решение, для которого достигается следующий «максмин»: max min Н~ bknxn . X 1 k S Ik В случае $=1 задача превращается в типичную задачу линейного программирования — задачу максимизации линей- ной формы ~___ ЬцХ1+ ... +^1^72 li при ограничениях (3.1) и при (J—1, ..., п).
§ 11 ОПТИМАЛЬНОЕ ПРОИЗВОДСТВЕННОЕ ПЛАНИРОВАНИЕ 141 Введением дополнительной переменной 5 сведем рассма- триваемую общую задачу к следующей задаче линейного программирования: найти максимальное значение линейной формы z = l (3.2) при ограничениях (3.1) и и при п), (3.3) Замечание. Эквивалентность рассматриваемой задачи полученной задаче линейного программирования легко дока- зывается. Аналогичный вопрос подробно рассматривается в § 1 гл. V. 3. Задача о наилучшем распределении программы между несколькими предприятиями (об оптимальном ис- пользовании оборудования) [ 14в]. Часто приходится решать следующий, несколько упрощенный вариант общей задачи производственного планирования. Пусть каждый из s видов изделий, из которых комплек- туется окончательная продукция, может быть поставлен на производство на каждом из п типов предприятий (станков), причем имеется Cj предприятий /-го типа (/=1, ./г), каж- дое из которых может изготовить в месяц akj изделий k-ro вида, и в каждый комплект готовой продукции должно входить 1к изделий &-го вида (£=1, ...» $). Каждое пред- приятие должно по плану выпускать продукцию лишь одно- го вида. Ставится задача об оптимальном распределении произ- водственной программы между предприятиями, т. е. об опре- делении числа xkj(k= 1, ..., 5; /=1, ..., п) предприя- тий /-го типа, которые надо специализировать на изгото- влении изделий &-го вида, чтобы обеспечить максимальный
142 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. Ш выпуск комплектной продукции. Все это представлено в сле- дующей таблице: № типа \ предприя- тия № изде-\. ЛИЯ \ 1 ... j ... tl Число изде- лий в ком- плекте 1 «и Хи ... ач ••• ain 11 • • • • • • k aki akj xkj ... akn xkn Ik • • • • S «51 XS1 ... asj xsj ... asn xsn Число предприятий ... ci ... cn Очевидно, что сформулированная задача сводится к общей задаче производственного планирования (п. 2), если вместо разных технологий рассматривать разные предприятия и не учитывать расхода ингредиентов. Действительно, при плане хп, ..., xkj, ..., xsn изделий k-vo вида будет выпущено aklxkl + • • • 4" aknxkn № = Ь • • • > s) единиц, а число полных комплектов из них будет равно наименьшему из чисел «11*11 + ••• + 4~ ••• + asnxsn 11 ’ Is
§ 1] ОПТИМАЛЬНОЕ ПРОИЗВОДСТВЕННОЕ ПЛАНИРОВАНИЕ 143 т. е. равно mjn akixki 4~ 4~ aknxkn X^k^s lk Введением дополнительной переменной такой, что ^kixki 4~ • 4~ ^knxkn е Ik рассматриваемая задача сводится граммирования *) — максимизации z — l при ограничениях akixki 4~ • ♦ • 4~ aknxkn t Ik " *v+ ••• +xsJ = cJ и при xkj^0 (£=1, 5; /=1, n). (6=1, s), к задаче линейного про- линейной формы (6=1, <$), 4. Пример [14в]. Для производства комплектной продук- ции требуется изготовить два вида изделий. Их изготовле- ние может быть поставлено на каждом из пяти типов пред- приятий; производственная мощность предприятия и коли- чество предприятий каждого типа даны в таблице: № типа пред- х. приятия № X. изделия 1 2 3 4 5 Число изделий в комплекте 1 100 Х11 400 •*12 20 •*13 200 •*14 600 •*15 2 2 15 •*21 200 Х22 2,5 •*23 50 •*24 250 •*25 1 Число предприятий 5 3 40 9 2 *) См. замечание на стр. 141.
144 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III в которой мощности предприятий даны в тысячах экземпля- ров (например, а24 = 50 тыс.). Определить, сколько предпри- ятий каждого типа надо поставить на производство первого и сколько на производство второго изделия, чтобы обеспе- чить максимальный выпуск комплектов, если в каждый комплект должно входить два изделия первого вида и одно второго. Обозначим через xkj число предприятий /-го типа (/=1, 2, 3, 4, 5), которые планируется поставить на производство Л-го (&=1, 2) изделия. Тогда задача сводится к максими- зации линейной формы z — 'k при ограничениях ЮОл*!! -|- 400a?i2 -р 20a?18 -|- 200a?i4 600xj5_& * •* 1 5х21 —200х22 Ц— 2,5х23 ~Н 60х24 —25 0х23 хп-[-х21 = 5, Ц- -^22 == 3, Х13 ~т~ -^23 40, Х|4 —р Х24 = 9, •*15 -^25 — 2, и при х,у^0 (/=1, ..., 5; 6=1, 2). Перепишем ограничения задачи в виде 0 = — Хц — x2i —5, 0 = — л?12 — х22 —|— 3, 0 = — а*13 — х23 —J-40, 0 — Х|4 — Х24 —}— 9, 0 = — х15 — х25 2, yY = 100хп 400х12 20х13 200х14 -ф- 600х15 — 2£ 0, j'2 1 ox2i —200х22 —}— 2,5х23 —}— 50х.24 —250x^5 — £ 0*
§ 1] ОПТИМАЛЬНОЕ ПРОИЗВОДСТВЕННОЕ ПЛАНИРОВАНИЕ 145 Записав условия, как обычно, в виде таблицы и освобо- дившись от 0-уравнений, получим *21 — *22 *23 *24 * 25 —Ь 1 *11 — 1 0 0 0 0 0 1 1 5 *12 — 0 Ш 0 0 0 0 3 *13 = 0 0 1 0 0 0 40 *14 = 0 0 0 1 0 0 9 *15 — 0 0 0 0 1 0 2 У1 = 130 800 25 300 1100 —2 5500 е = —15 —200 —2,5 —50 -250 1 0 Z = — 15 —200 —2,5 —50 —250 1 0 Так как все свободные члены неотрицательны, то сразу переходим к отысканию оптимального решения. Получим последовательность трех таблиц, третья из которых имеет вид Z *23 У1 *22 -- *18 = *24 = 5 = 5 3 40 6 2 3 1250 20 200 5 1 200 2 1250 3 3 3 6 з~ 3 Все коэффициенты z-строки положительны, так что полу- чено оптимальное решение: *21 === *12 == *23 *15 == 0, *11 = 5, *22 = 3, *13 = 40, *14 = 6, *23 = 2, *24--3j при ЭТОМ шах г = 1250 комплектов.
146 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III 5. Задача о составлении графика ремонта инстру- мента (задача о поставщике [5]). Пусть для выполнения некоторой производственной программы, рассчитанной на п последовательных дней, требуется к началу /-го дня гу- (/=1, п) единиц специального инструмента, который к концу дня весь изнашивается. Поэтому часть этого инстру- мента в конце /-го дня сдается в обычный ремонт, часть в срочный ремонт, а часть изношенного инструмента может не сдаваться в ремонт, оставаясь, например, на складе исполь- зованного инструмента. Пусть обычный ремонт одного инструмента длится р дней и стоит b рублей, а срочный ремонт одного инструмента длится q <^Р Дней и стоит с^>Ь рублей. Кроме того, один новый инструмент стоит а^> с рублей. Ставится задача: так составить график ремонта и покупки инструмента, чтобы при минимальных издерж- ках обеспечить предприятие инструментом в течение п последовательных дней. Введем следующие обозначения: Xj — число инструментов, покупаемых для использования в (/+ О'й День; yj — число инструментов, сдаваемых в обычный ремонт в конце /-го дня; Zj — число инструментов, сдаваемых в срочный ремонт в конце /-го дня; Uj — число изношенных инструментов, оставшихся не сданными в ремонт к концу /-го дня. Тогда число rj инструментов, поступающих в употребле- ние в начале /-го дня, состоит из инструментов, сдан- ных в обычный ремонт р дней назад (и полученных из ремонта в конце (/—1)-го дня); из Zj_q_x инструментов, сданных в срочный ремонт q дней назад (и полученных из ремонта в конце (/—1)-го дня), и из х7_! приобретенных к началу /-го дня инструментов, т. е. ry==xA1+jy_p_i + */-9_i (/=1, /г), где х0— количество инструмента, купленного для использования в 1 -й день; у_р = ... =yQ = 0, z_q =... = z0 = 0, так как до начала выполнения производственной программы в ремонт не мог поступать использованный инструмент и в первые q -1- 1 дней еще не поступит из ремонта в употребление ни одного
§ 1] ОПТИМАЛЬНОЕ ПРОИЗВОДСТВЕННОЕ ПЛАНИРОВАНИЕ 147 инструмента, сданного даже в срочный ремонт, а в первые р 1 дней не поступит в употребление ни одного инстру- мента, сданного в обычный ремонт. В конце /-го дня окажутся использованными Tj инстру- ментов, бывших в употреблении в этот день, и Uj_t инстру- ментов, оставшихся не сданными в ремонт к концу (/— 1)-го дня, т. е. из них У] единиц поступает в обычный ремонт, Zj единиц — в срочный ремонт и остаются не сдан- ными в ремонт iij единиц инструмента: «/-1 (;=1> •••>«; «0=°)- При этом надо учесть, что инструмент, который возвра- тится из ремонта в конце д-го дня и позже, уже не понадо- бится. Поэтому еще за р дней до конца программы не сле- дует сдавать его в обычный ремонт, т. е. Уп-р = Уп -р+1 • • • =Уп == 0’ и за q дней до конца программы не следует сдавать его в срочный ремонт, т. е. Zn-q ~п -#+1 • • ~п О* За весь срок выполнения программы будет куплено п— 1 п—I 2 Xj инструментов и израсходовано на это а xj рублей; /=о у=о п—р— 1 будет сдано в обычный ремонт инструментов и из- п—р—1 расходовано b 2 У] рублей; будет сдано в срочный ремонт /=1 п— q— 1 п— q— 1 2 zj инструментов и израсходовано на это с Zj руб- ;=1 /=1 лей. Поэтому задача заключается в минимизации общей стои- мости издержек
148 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III при ограничениях Х]1 + У) рЛ + zj-q-\ = rJ С/ = 1 > • • • > w)> _У_р = ...=_УО = О, Z_g = ... = Z0=0, Vj-\-zj-\-uj — uj-i = rj (7= h •••,«; «о = О) и естественных условиях Ху^О, уу^О, Zy^O, WyZ^O (/=1, п), ys=0 (j = n—p, п — рН-1, .... я), Zj = 0 (у = п — q, п — q 1, ... , ri). Эта задача, именующаяся обычно в литературе «задачей о поставщике», является, таким образом, задачей линейного программирования и может быть решена симплекс-методом. Однако она может быть сведена к следующей эквивалентной ей транспортной задаче с нарушенным балансом производства и потребления и решаться значительно проще специальным алгорифмом для решения транспортной задачи (см. гл. IV). Имеется п пунктов производства с производительностью соответственно в rt (Z=l, ..., ri) единиц товара и склад п с запасом товара в количестве rn+1 = 2ri единиц. i—\ Имеется п пунктов потребления этого товара с потреб- ностями соответственно Гу (7=1, .п) единиц. Заданы следующие стоимости перевозок единицы товара из /-го пункта производства в /-й пункт потребления: с .у = оо при j I <7> Сц = с при i-j- q<ZJ Сц = Ь при Z-j-T’O и стоимость перевозки со склада в любой пункт потреб- ления cn+l j = a (/=1, ...» п). Требуется составить план перевозок {xzy} (i = 1,... , п-\- 1, 7=1, ..., я), минимизирующий суммарную стоимость всех перевозок. Пункты производства этой задачи соответствуют п после- довательным дням исходной задачи с «производительностью» в Z-й день rz изношенных инструментов. Пункты потребления соответствуют п последовательным дням, в которые инструмент в количестве г у поступает
§ 1] ОПТИМАЛЬНОЕ ПРОИЗВОДСТВЕННОЕ ПЛАНИРОВАНИЕ 149 в употребление, будучи купленным в магазине, а также воз- вратившись из ремонта в конце (/—1)-го дня. Склад соответствует магазину, в котором покупают инстру- мент; стоимости перевозок соответствуют стоимостям ремонта и покупки инструмента. Пример. Пусть для выполнения производственной про- граммы, рассчитанной на 5 дней, требуется ежедневно по 10 единиц некоторого инструмента, который к концу дня весь изнашивается. Известно, что срочный ремонт одного инструмента длится 1 день и стоит 5 рублей; обычный ремонт одного инструмента длится 2 дня и стоит 1 рубль, а один новый инструмент стоит 6 рублей. Задача заключается в обеспечении предприятия инстру- ментом в течение 5 дней при минимальных издержках на его ремонт и покупку. Условия эквивалентной транспортной задачи удобно запи- сать в виде следующей таблицы: ri ri 10 10 10 10 10 50 10 оо оо 5 1 1 0 10 оо оо оо 5 1 0 10 со оо оо оо 5 0 10 оо оо оо оо оо 0 10 оо оо оо оо оо 0 50 6 6 6 6 6 0 в которую для уравновешивания баланса производства и потребления введен фиктивный пункт потребления с потреб- ностью 50, равной разности между суммарным количеством инструмента, имеющегося в магазине, плюс изношенный за пять дней, и количеством инструмента, используемого за 5 дней; стоимости перевозок в фиктивный пункт потребления равны нулю. Числа в клетках (стоимости перевозок) равны стоимостям обычного или срочного ремонта одного инстру- мента или покупки одного нового инструмента. Стоимость
150 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III = означает, что инструмент, сданный в ремонт в конце /0-го Дня, не успеет вернуться к началу у0-го Дня даже из срочного ремонта (не сможет быть отремонтирован к концу (/о—1)‘го Дня <<ни за какие деньги»). Например, с12 = оо означает, что инструмент, сданный даже в срочный ремонт в конце первого дня, еще не поступит в употребление во второй день, так как он лишь в конце второго дня вернется из срочного ремонта. Обычно при решении транспортной задачи вместо знака оо ставят большое число, которое гораздо больше самой большой стоимости, встречающейся в задаче. Решив последнюю транспортную задачу, получим таблицу Г; 10 10 10 10 10 50 10 со оо 5 10 1 1 0 10 оо оо оо 5 10 1 0 10 оо оо оо оо 5 10 0 10 оо оо оо оо со 10 0 10 оо оо оо оо оо 10 0 50 6 10 6 10 6 10 6 6 20 0 из которой видно, что в первые три дня необходимо весь инструмент покупать. В последующие два дня в употребле- ние поступит отремонтированный инструмент, сданный в обычный ремонт в конце первого и второго дня. В третий, четвертый и пятый дни инструмент в ремонт не сдается. Минимальные издержки при этом составят z= 10.6+ 10-6-4-10.64- 10.1 + 10.1 =200 руб. § 2. ЗАДАЧА ОБ ОПТИМАЛЬНОМ РАСКРОЕ МАТЕРИАЛОВ (О МИНИМИЗАЦИИ ОТХОДОВ) 1. Постановка задачи. Пусть некоторый полуфабрикат (например, листы фанеры) поступил на предприятие в виде т различных партий, содержащих соответственно аь ... , ат единиц полуфабриката одинакового для каждой партии раз-
§ 2] ЗАДАЧА ОБ ОПТИМАЛЬНОМ РАСКРОЕ МАТЕРИАЛОВ 151 мера. Из поступивших полуфабрикатов требуется изготовить возможно большее число комплектов деталей, в каждый из которых входит kY деталей первого вида, деталей второго вида и т. д., kt деталей /-го вида. Пусть каждую единицу полуфабриката можно раскроить на детали п различными способами, причем при раскрое единицы /-й партии /-м спо- собом получается aiJS деталей 5-го вида. Обозначим через xi}- число единиц из f-й партии полу- фабрикатов, которые намечено раскроить /-м способом, так что из Z-й партии при /-м способе раскроя будет получено ац5Хц деталей 5-го вида. Всего же по плану хи, ... ... , ..., хтп из всей Z-й партии деталей 5-го вида будет получено п aijsX ip а из всех т партий их будет получено т п i=\ ;=1 Так как в каждый комплект готовой продукции должно входить ks деталей 5-го вида, то т п S S aUsXij i=\ 7=1 деталей позволит их использовать для составления т п У У aijsxij t=l 7=1 комплектов, и, таким образом, количество полных ком- плектов, которое можно будет выпустить по данному плану Равн0 наименьшему из частных т п т п 2 2 2 2 t=l 7=1 z=l z=l К ’ * ” ’ kt Мы пришли, таким образом, к задаче п. 2 § 1. Введением дополнительной переменной £ мы аналогично тому, как это сделано в п. 2 § 1, сведем рассматриваемую задачу к задаче максимизации линейной формы г = ? при
152 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III ограничениях (5=1, /), *и + ••• ~\-xin = ^i G=h •••> ^), и при В^О, xi}^0 (7=1, ..., zn; j =1, ..., n). 2. Пример. В обработку поступили две партии досок для изготовления комплектов из трех деталей, причем пер- вая партия содержит 50 досок длиной по 6,5 м каждая, вторая содержит 200 досок длиной по 4 м каждая. Каждый комплект состоит из двух деталей по 2 м каждая и одной детали длиной в 1,25 м. Как распилить все доски, чтобы получить возможно боль- шее число комплектов? Доска длиной в 6,5 м может быть распилена на детали требуемых размеров следующими способами: 1) 3 детали по 2 ж, 2) 2 детали по 2 ж и 2 детали по 1,25 ж, 3) 1 деталь в 2 м и 3 детали по 1,25 ж, 4) 5 деталей по 1,25 м. Доска длиной в 4 ж может быть распилена на детали следующими способами: 1) 2 детали по 2 ж, 2) 1 деталь в 2 м и 1 деталь в 1,25 ж, 3) 3 детали по 1,25 м. Обозначим через хп, х12, х13, х14 количество досок дли- ной в 6,5 ж, которые планируется распилить соответственно 1-м, 2-м, 3-м и 4-м способами; через х21, х22, х23— коли- чество досок длиной в 4 ж, которые планируется распилить соответственно 1-м, 2-м и 3-м способами. Тогда задача сво- дится к максимизации линейной формы Z — Ъ
§ 2] ЗАДАЧА ОБ ОПТИМАЛЬНОМ РАСКРОЕ МАТЕРИАЛОВ 153 при ограничениях Хц Х12 *13 4“ *14 = 50, Х21 “4“ *22 “F *23 === 200, Зхи Ч~ 2х124~х18 -|-2х21 -\-х22 $ 2 2xj2 Зх13 5х14 —}— Х22 -J— Зх2з £ и при S^O, xl7^0 (/=1, 2; /=1, 2, 3, 4). Перепишем ограничения в виде У1 = Зхц -j— 2X12 —|— Х13 —|— 2x21 ~4~ х<22 2; 0, У>2 = 2X12 3X13 5X14 -[- Х22 "4“ Зх2з В 0, 0 = — Хц — Х12 — х13 — Х14 —}— 50, 0 = — Х21 — Х22 — Х23 200, и составим таблицу *11 х12 х13 *и *21 *22 х23 £ 1 У1 = —3 —2 —1 0 —2 — 1 0 2 0 У2 = 0 —2 —3 -5 0 —1 —3 1 0 0 = Ш 1 1 1 0 0 0 0 50 0 = 0 0 0 0 1 1 1 0 200 z = 0 0 0 0 0 0 0 —1 0 Освободимся от 0-строк, сделав два шага модифицированных жордановых исключений, и вычеркнем столбцы коэффициен- тов под перенесенными наверх нулями; придем к таблице ^"12 Xj3 Xi4 Х22 Х23 £ 1 У1 = 1 2 3 1 2 2 550 —2 —3 —5 -1 —3 1 0 1 1 1 0 0 0 50 X2i = 0 0 _ 0 1 1 0 200 Z = 0 0 0 0 0 -1 0 все свободные члены которой неотрицательны.
154 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III Перейдя к отысканию оптимального решения, получим последовательность таблиц, последняя из которых имеет вид *14 = *12 — *21 — Z — *13 Х11 *22 *23 --У2 1 75 2 425 2 25 2 200 -L J_ 1 1 1 425 8 8 8 8 U 4 2 Коэффициенты z-строки последней таблицы неотрица- тельны, следовательно, процесс окончен и нет надобности вычислять остальные коэффициенты таблицы. Так как реше- ние должно быть целочисленным, то в качестве приближен- ного решения можно принять ближайшие к полученным целые числа, удовлетворяющие условиям задачи. Очевидно, ими будут — 38, *12 ——-12, *21=== 200, х13 = *ц -==: *22 *23== 0; max z = 212 *). § 3. СЕЛЬСКОХОЗЯЙСТВЕННЫЕ ЗАДАЧИ 1. Задача о диете (о смесях). Пусть дневная потреб- ность в каких-то веществах, например белках, жирах, угле- водах, витаминах и т. д., задана и известно содержание этих веществ в имеющихся продуктах, а также цена единицы каждого продукта. Ставится задача определения такого ра- циона, который, удовлетворяя дневной потребности в не- *) Для отыскания целочисленного решения можно было бы воспользоваться приемом, описанным в § 8 гл. II. Если же, как у нас, значения переменных в полученном оптимальном решении достаточно велики (х?1), то в качестве приближенного решения обычно берут ближайшее к оптимальному целочисленное допусти- мое решение.
§ 3] СЕЛЬСКОХОЗЯЙСТВЕННЫЕ ЗАДАЧИ 155 обходимых веществах, вместе с тем был бы наиболее де- шевым. Конкретнее, пусть в состав дневной нормы питания должно входить не менее чем аг единиц первого вещества, не менее чем единиц второго вещества и т. д. и, нако- нец, не менее чем ат единиц /n-го вещества. Пусть, далее, для изготовления этого рациона имеется п видов продуктов по цене pj за единицу /-го продукта, причем известно, что в единице /‘-го продукта содержится единиц Z-го веще- ства. Тогда, если обозначить через Xj количество единиц /’-го продукта, которое планируется ввести в дневной рацион, то при плане .., хп дневное содержание z-го вещества составит anXi . -|- ainxn единиц, а так как оно должно удовлетворять минимальной дневной потребности, то а,л + ... + а,„х„^а; (z=l, .... щ). При таком плане цена всего дневного рациона составит ве- личину г=Р1Х14-...4-рЛ. Задача заключается в отыскании такого неотрицательного решения системы линейных неравенств а1\ХХ + • • • + а\пХп ат1х1 Ч- • • • Ч~ атпхп для которого выражение (цена рациона) г=АХ14-.,.-|-^„хл имеет наименьшее значение. Если предположить, что запасы продуктов, из которых составляется рацион, ограничены, то на переменные ..., хп нужно наложить еще ограни- чения вида хг Ьь ..., хп Ьп, где bj — запас /‘-го про- дукта. Рассмотренная задача о диете с успехом используется, например, при составлении наиболее дешевого рациона для откорма скота. К описанной задаче сводятся и так называемые задачи о смесях, т. е. задачи о составлении оптимальных в опре- деленном смысле смесей из имеющихся веществ. Примером такой задачи может служить задача составления таких сме- сей нефтепродуктов, которые, удовлетворяя определенным
156 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III техническим требованиям, были бы наиболее дешевыми, а также задача о минимизации стоимости окончательного продукта при составлении рецептов сплавов. 2. Задача о наилучшем использовании посевной пло- щади. Пусть под посев т культур отведено п земельных массивов площадью соответственно в аь ..., ап га, причем пусть средняя урожайность Z-й культуры на /-м массиве составляет центнеров с гектара, а выручка за один цент- нер Z-й культуры составляет рублей. Определить, какую площадь па каждом массиве следует отвести под каждую из культур, чтобы получить максималь- ную выручку, если по плану должно быть собрано не ме- нее bi центнеров Z-й культуры (Z=l, ..., tn), В следующей таблице (без переменных приведена компактная запись всех условий задачи: \ № 'к массива № куль- X. туры 1 j п Цена 1 Ц куль- туры Мини- маль- ный , сбор 1 «11 *11 хч ... ain х1п Pi &1 ... i ail xil ач хц ain xin Pi bi 1 ... ... т ат\ хт\ amj xmj amn xmn Pm bm Число га в массиве «1 aJ 1 dn
§ 3] СЕЛЬСКОХОЗЯЙСТВЕННЫЕ ЗАДАЧИ 157 Обозначим через xi}- площадь, которую предполагается отвести под Z-ю культуру па у-м массиве, так что Xiy -|-... 4~ хт]- = aj (у = 1, ..., ri). Ожидаемый средний урожай Z-й культуры со всех массивов равен ai\Xi\~\~ ' * ainXin* По плану он должен быть не менее bt центнеров: + - + G=l, •••> т). Ожидаемая выручка за урожай Z-й культуры равна Pt (аахц + •.. + ainxin), а за урожай всех культур — равна Р1 (а11хИ 4“ • • • 4“ а1пх1п) 4~ • • • Л~Рт (amlxml 4~ • • • 4~ ^тпХтп)‘ Таким образом, задача заключается в максимизации линей- ной формы z=Pi 4- • • -4~ ainxu)4~ • • • • • • 4~Pm (amlxml + • • • 4“ ^тпхтп) от т\п переменных хп, ..., Ху, ..., хтп при выполнении z следующих ограничений: Х11 4~ • • • 4- Хт1 = аЪ х1п 4- • • • 4- Хтп — ап> 4" • ♦ • 4" аых\п by и при amlxml 4~ ’ ’ • I атпхтп Хц^Ъ (Z=l, ..., т\ j=\, ..., ri) и, как обычно, решается симплекс-методом. Иногда задача об оптимальном распределении посевной площади выглядит так: имеющуюся посевную площадь рас- пределить под посев т культур так, чтобы обеспечить мак- симальный урожай при соблюдении определенного соотно- шения \ ... \km) в котором должны производиться эти культуры.
158 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. Ш Считая, что в каждый набор сельскохозяйственных про- дуктов должно входить kr единиц первой культуры, еди- ниц второй и т. д., km единиц z/z-й культуры, убеждаемся, что эта задача аналогична общей задаче производственного планирования (см. § 1, п. 2). Введением дополнительной переменной £, такой, что + $ (2=1, .... т), рассматриваемая задача сводится к задаче линейного про- граммирования — максимизации формы г=Л при ограничениях (.=]..... xlj Ч- ’ * • Ч~ Xmj — aj (7=Ъ •••> л) и при Хи 0 (z = 1, ..., т\ j=^, ..., п). § 4. ЗАДАЧА О ЗАКРЕПЛЕНИИ САМОЛЕТОВ ЗА ВОЗДУШНЫМИ ЛИНИЯМИ 1. Постановка задачи и сведение к задаче линейного программирования. Эта задача возникает при выборе опти- мального варианта плана закрепления самолетов (или судов) за данными воздушными линиями, обеспечивающего необхо- димые объемы перевозок при минимальных суммарных эксплуатационных расходах. Она формулируется так: Пусть имеется п различных типов самолетов, которые нужно распределить между т авиалиниями. Пусть месячный объем перевозок самолетом /-го типа на z-й авиалинии ра- вен atj единицам, а связанные с этим месячные эксплуата- ционные расходы составляют btj рублей. Определить число Хи самолетов /-го типа, которое следует закрепить за z-й авиалинией для обеспечения перевозки по этой линии еди- ниц (z=l, ..., т\ j=\, ..., ri) при минимальных суммар- ных эксплуатационных расходах, если известно, что имеется Nj самолетов /-го типа (/=1, .д).
§ 4] ЗАКРЕПЛЕНИЕ САМОЛЕТОВ ЗА ВОЗДУШНЫМИ ЛИНИЯМИ 159 Все условия задачи и план закрепления самолетов за авиалиниями удобно представить в виде следующей таблицы: х. № типа х^ Само- ху лета № х. авиа- х. линии х^ 1 J n Минималь- ный объем перевозок 1 аи •**11 O1J A?iy- ain ^in x in 1 i aii &11 xil aij bij ain bin X in ai т ami Ьтл xmi amJ bmi xmj amn bmn xmn am Число самолетов м Nj Nn Так как объем перевозок по z-й авиалинии равен адХд + • •. + ainxin (/ = 1, т), а суммарные расходы составляют при этом п т 7=1 Z=1 то задача состоит в минимизации линейной формы п т % === 2 -S ijXij при ограничениях + + О’=1, •••> х1/~г- • '~¥xmj — Nj •••> п)
160 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. Ш и при (/=1, •••, 7=1» .п) и решается симплекс-методом с учетом целочисленности . Приведенную задачу иногда называют распределительной (Х-задачей), так как к такой задаче приходим при отыскании распределения п видов изделий между т предприятиями, минимизирующего суммарные затраты на изготовление всех видов изделий (см., например, [286]). Хотя, как задача линейного программирования, она может быть решена симплекс-методом, однако специфические усло- вия этой задачи позволили построить ([3], [21], [26]) менее громоздкие, чем симплексный, методы для ее решения. 2. Пример. Пусть три типа самолетов следует распре- делить между четырьмя авиалиниями. В приводимой ниже таблице заданы количества самолетов каждого типа, месяч- ный объем перевозок каждым самолетом на каждой авиа- линии и соответствующие эксплуатационные расходы. х. № типа 'ч само- X. лета № авиа- 'Ч линии х. 1 2 3 Мини-в мальный объем перевозок 1 15 15 хп 30 70 A"i2 25 40 •'’is 300 2 10 20 ^21 25 28 А*22 50 70 -'>23 200 3 20 25 •^31 10 15 -^32 30 40 л’зз 1000 4 50 40 ЛГ41 17 45 -^42 45 65 -*43 500 Число самолетов 50 20 30
§ 4] ЗАКРЕПЛЕНИЕ САМОЛЕТОВ ЗА ВОЗДУШНЫМИ ЛИНИЯМИ 161 Надо распределить самолеты по авиалиниям так, чтобы при минимальных суммарных эксплуатационных расходах перевезти по каждой из четырех авиалиний соответственно не менее 300, 200, 1000 и 500 единиц груза. Обозначим через число самолетов у-го типа (/= 1, 2, 3), которое планируется закрепить за Z-й (Z=l, 2, 3, 4) авиа- линией. Тогда задача сводится к минимизации линейной формы z = 15хц —J— 20х21 —}— 25x3i ~F 40x41 —F 70х^ ~F 28x2-2 —F 1 5х32 45x42 И- 40xi3 70x23 ~F 40х33 —F 66x43 при ограничениях 15хц + 30х124- 25х13^ 300, 10х21 + 25х22 + 60х23 200, 20х31 —}— 10х32 “I- ЗОх3з 1000, 5ОХ41 ~F 1 7X42 “F 45x43 600, Хи -j- Х21 *31 “F *41 == 60, *12 —F Х22 + *32 “F *42 = 20, *13 + *23 “F *33 + *43 — 30 и при xfy^0 (z=l, 2, 3, 4; 7=1, 2, 3). Перепишем ограничения в виде yr — 15хц ~F 30xi2 ~F 25xi3 — 300 0, y%=== 1OX21 “F 26x22 ~F 6OX23 — 200 0, y$ = 20x3i —F 10x32 ~F ЗОх3з — 1000 0, y& ;= 50X41 ~F17X42 ~F 45X43 — 500 0, 0 — -^*11 --^21 --^31 --^41 ~F 60, 0 = — X12 — X22 — ^32-------Xi2 “F 20, 0 — — X13 — X23 — X33 — X43 ~F 30. 6 С. И. Зуховицкий, Л. И. Авдеева
162 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III Составив таблицу -Хн -•*21 -*41 -*12 ! — Х-2 2 -Х3 2 -xi 2 ~-*13 Х'2 3 *3 3 “-*4 3 1 У1 = -15 0 0 0 -30 0 0 0 -25 0 0 0 -300 У2 = 0 -10 0 0 0 —25 0 0 0 - 50 0 0 -200 Уз = 0 0 -20 0 0 0 -10 0 0 0 -30 0 -1000 У4 = 0 0 0 -50 0 0 0 -17 0 0 0 -45 -500 0 = гп 1 1 1 0 0 0 0 0 0 0 0 50 0 = 0 0 0 0 1 1 1 1 0 0 0 0 20 0 = 0 0 0 0 0 0 0 0 1 1 1 1 30 z = -15 -20 -25 -40 —70 -28 -15 -45 -40 - -70 -40 -65 0 и освободившись от 0-уравнений, получим преобразованную таблицу — ^21 *31 *41 *12 Х22 *42 *13 *23 ***43 1 = 15 15 15 -30 0 0 —25 0 0 450 у2 = Г‘о| 0 0 0 -25 0 0 -50 0 —200 Уз = 0 —20 0 10 10 10 30 30 30 100 У 4 = 0 0 —50 0 0 -17 0 0 - —45 —500 А'и = 1 1 1 0 0 0 0 0 0 50 А*32 = 0 0 0 1 1 1 0 0 0 20 = 0 0 0 0 0 0 1 1 1 30 Z — —5 -10 -25 —55 — 13 -30 0 -30 -25 2250 в которой еще есть отрицательные свободные члены. Переходим к отысканию опорного решения. Сделав два шага модифицированных жордановых исключений, придем
ЗАДАЧА О НАЗНАЧЕНИЯХ (ПРОБЛЕМА ВЫБОРА) 163 к таблице У2 Л-31 Уь л*12 х22 а"42 х13 • х23 х43 1 0 20 100 10 20 20 30 иг 1 1О 1 о 1 -1^ ю Ю 1 -|сч 1 о 7 -Iм । 2600 откуда видно, что решение ‘ *Л*з1 Д*р2 ~=~ —*“ Д*4'2 -^13 —— ~^*23 -V43 О, j Хц === 20, Х-21 = 20, Х41 = 10, Х3.7 —• 20, Х33 = 30, для которого = 2600, является не только опорным, но и оптимальным (все коэф- фициенты г-строки неположительны!). 1 § 5. ЗАДАЧА О НАЗНАЧЕНИЯХ (ПРОБЛЕМА ВЫБОРА) 1. Постановка задачи. Будем рассматривать задачу о распределении п механизмов (работников) на п работ так, чтобы каждый механизм (работник) выполнял одну и только одну работу и чтобы при заданной производительности каж- дого механизма на каждой из работ суммарный эффект был максимальным. Обозначим через (/, j = 1, ..., п) производительность Z-ro механизма на /-й работе. Тогда рассматриваемая задача, известная под названием задачи о назначениях или про- блемы выбора, будет заключаться в таком выборе п эле- ментов из матрицы || Сц || по одному из каждой строки и 1 каждого столбца, чтобы их сумма -ф- -ф-... -ф- сп]-„ (Jk ф jL при k I) была максимальной, р 6» э
164 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. ш Обозначив через переменную, равную единице, если Z-й механизм назначен на /-ю работу,, и равную нулю, если он на эту работу не назначен, мы сведем задачу к следую- щей задаче линейного программирования: Среди неотрицательных целочисленных решений системы 2д уравнений Ха -|~ Х/2 • • • 4“ Xin—1 G—1, •••> п)> xv+x9/4-...4-x„7 = i ........«)> означающих, что каждый механизм выполняет одну работу и что каждая работа обеспечивается одним механизмом, найти то, которое максимизирует линейную форму п п i=\j=1 означающую суммарную производительность всех механиз- мов *). 2. Пример. Имеются три механизма Д2, Д3, каждый из которых может быть использован на каждом из трех ви- дов работ Вь Въ В3 с производительностью (в условных единицах), заданной в виде таблицы Z?i В 2 ' в. 1 2 3 А2 2 4 1 Л3 3 1 5 Требуется так распределить механизмы по одному на каждую из работ, чтобы суммарная производительность всех механизмов была максимальной. Обозначим, как рекомендовалось выше, через пере- менную, равную единице, если механизм At назначен на работу Вр и равную нулю, если механизм At не назначен на работу Bj. Тогда суммарная производительность меха- низмов запишется в виде линейной формы z = хи 4~ 2х12 4- Зх13 4“ 2х21 4_4х224~-г2з4_ Зх31 4“ хз-2 4~ ^хзз’ *) Обычно эту задачу решают специальным алгорифмом [44] менее громоздким, чем симплекс-метод.
§ 51 ЗАДАЧА О НАЗНАЧЕНИЯХ (ПРОБЛЕМА ВЫБОРА) 165 а ограничения запишутся в виде Х11 “F Х12 ~г Х13 — 1, Ч~ -^22 “F -^23 = Ъ •^31 ~Г х32 4“ -^33 = 1, Х11 -|- -^21 ~Г -^31 — 1, Х12 Ч~ -^22 Ч~ -^32 = 1» Х13 4“ -^23 4~ х33 = 1, и надо максимизировать форму z при этих ограничениях. Переписав ограничения задачи в виде 0-уравнений, со- ставим таблицу А^ц «^12 *18 *21 *22 *23 *81 *32 *83 1 0 = ш 1 1 0 0 0 0 0 0 1 0 = 0 0 0 1 1 1 0 0 0 1 0 = 0 0 0 0 0 0 1 1 1 1 0 = 1 0 0 1 0 0 1 0 0 1 0 = 0 1 0 0 1 0 0 1 0 1 0 = 0 0 1 0 0 1 0 0 1 1 Z = —1 —2 —3 —2 —4 —1 —3 —1 —5 0 После избавления от 0-строк и вычеркивания столбцов, рас- положенных под перенесенными наверх нулями, получим таблицу А*22 А?2з А"з2 А^зз 1 Xil= -1 —1 -1 -1 А?21 = 1 1 0 0 а:81 = 0 0 1 1 аг12 = 1 0 1 0 х13 = 0 1 0 1 — 1 1 1 1 1 z= —1 3 3 0 9
166 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ (ГЛ. III среди свободных членов которой есть отрицательный, так что опорное решение еще не получено. Сделав шаг модифицированного жорданова исключения с разрешающим элементом —1, получим таблицу Х11 -*^23 -*^32 -^33 1 -**22 = —1 1 1 1 1 Х21 = ш 0 -1 —1 0 Х31 = 0 0 1 1 1 -*'"12 “ 1 -1 0 —1 0 -*-13 ~ 0 1 0 1 1 Z — — 1 4 4 1 10 в которой все свободные члены неотрицательны, так что можно перейти к отысканию оптимального решения. Выбрав разрешающий элемент, как указано в таблице, и сделав один шаг модифицированного жорданова исключения, получим окончательно Из последней таблицы следует, что максимальная сум- марная производительность всех механизмов равна 10 (услов- ным единицам) и достигается при Хц = 0, Xjg = 0, Xj3 = 1, Xai == 0, Х^ ~— 1, хаз = 0, х31 = 1, хза = 0, х33 = 0?
§ 6] ВОЕННЫЕ ЗАДАЧИ 167 т. е. при следующих назначениях: механизм Д на работу В3, » А » » » В\. Так как в г-строке последней таблицы есть нулевой эле- мент, то полученное оптимальное решение задачи не един- ственное. Сделав шаг модифицированного жорданова исклю- чения с разрешающим элементом из столбца, содержащего нуль в z-строке, можно найти другое оптимальное решение этой же задачи. § 6. ВОЕННЫЕ ЗАДАЧИ [28а] Методы линейного программирования нашли широкое применение и при решении некоторых военных задач. Так как эти задачи часто приходится решать при неполной инфор- мации, то обычно условия в военных задачах менее опре- деленны, чем в задачах, рассмотренных в предыдущих пара- графах. 1. Проблема узких мест. Так обычно называют задачу о наилучшем распределении ограниченных ресурсов между взаимосвязанными звеньями некоторой системы. Рассмотрим задачу о наилучшем распределении выпускае- мых промышленностью самолетов между войсками и учеб- ными полигонами, на которых обучаются экипажи, для обес- печения возможно лучшей боеготовности противовоздушной обороны. Пусть некоторая воинская часть, участвующая в боевых вылетах и подготавливающая, кроме того, на своем учебном полигоне экипажи (летчиков), снабжается на протяжении п месяцев самолетами по ctj единиц (/=1, ..., п) в начале каждого месяца. Из них часть Ху, для которой имеются в наличии подготовленные экипажи, направляется сразу на фронт, а оставшаяся часть а}- — Xj направляется на полигон для обучения новых экипажей. Боеготовность части опреде- ляется количеством самолетов с подготовленными экипажами и временем их пребывания в войсках, так называемым числом активных самолето-месяцев.
168 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III Возникает задача такого распределения получаемых еже- месячно самолетов между фронтом и учебным полигоном, при котором будет достигнута максимальная боеготовность части. Пусть до начала рассматриваемой программы на поли- гоне имеется z0 самолетов. Число самолетов Zj, используе- мых на полигоне для обучения в /-м месяце, будет состоять из Zj-i самолетов, имевшихся в предыдущем месяце, плюс aj — Xj самолетов, полученных в начале /-го месяца: zy = £A1 + (a, —ху) (/=1, .... п). Пусть к началу программы имеется ух уже обученных экипажей, но не обеспеченных самолетами, и в течение ме- сяца на одном самолете обучается k экипажей. Число эки- пажей j/y, обученных к началу /-го месяца, будет состоять из числа yj_x обученных экипажей, имевшихся к началу предыдущего месяца, и числа k-Zj^ экипажей, обученных за этот (/ — 1 )-й месяц: Л=Л-1 + ^-г/-1 (/ = 2> •••> «)• Общее число самолетов, направленных в войска к на- чалу /-го месяца, не должно превышать обученных к этому моменту экипажей, так что xi • • • ~\~xj ^yj (7=1, •••, п)- К концу периода, на который рассчитана программа, самолеты, поступившие в войска в первый месяц, обеспе- чат пхх активных самолето-месяцев. Самолеты, поступившие во второй месяц, обеспечат (п—1)х2 активных самолето-ме- сяцев и т. д. Самолеты, поступившие в течение всех п меся- цев, обеспечат боеготовность в количестве пхх~\-(п — l)x2-j-.. .-j- [п — (/ — 1)] Xj -ф-. . хп активных самолето-месяцев. Задача заключается в максимизации линейной формы U — ПХ1 — О “F • • • ^Хп-1 “Ь хп при ограничениях Xj+Zj~ Zj-Л — йу = 0 У]~ yj-i — kzj^ = 0 yj — хг — — ... — Xj 0 (7 = 1, n), (/ = 2, ..., д), (/=1, •••>
§ 61 ВОЕННЫЕ ЗАДАЧИ 169 и при Xj^O, J/y^O, Zy^O (/=1, •••> П). Замечание. К подобной математической модели сво- дится задача о распределении поступающего в ограниченном количестве сырья (например, на изготовление некоторого оборудования, используемого лия, если конечной целью рассматриваемого изделия. металла), часть которого идет изделия, а часть для выпуска для производства этого изде- является максимальный выпуск 2. Задача о рациональном соотношении между раз- личными типами бронебойных снарядов. Пусть известно, что противник располагает т видами танковой брони, но неизвестно, в каком соотношении он ее использует для про- изводства своих танков. Пусть, далее, имеется п видов бронебойных снарядов и известен закон поражения каждого вида брони каждым из видов снарядов, т. е. известна вероят- ность pij поражения танка с Z-й броней снарядом /-го вида (/=1, ..., /п; /=1, ..., и). Требуется определить, в каком соотношении надо брать разные виды снарядов, чтобы, смешав их и используя слу- чайным образом, обеспечить максимальное значение матема- тического ожидания числа выведенных из строя танков про- тивника, какими бы видами брони он ни пользовался. Если обозначим через yj число снарядов /-го вида (/=1, ..., п) в данной смеси, то математическое ожидание числа поражений танков с Z-й броней выразится, очевидно, числом т1=РаУ1-\-..-~\-р1Пуп- Если же отнести это математическое ожидание к одному снаряду, т. е. все поделить на -р... ~гУт т0 получим где х. =______У1____ 1 л -Н”+.Ул’ т. е. Xj — доля снарядов /-вида в общем числе всех снаря- дов (их количества относятся, как х{:х2: ... :хп), так что xi 4~ “I- • • • 4“ хп = Ь
170 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III а — математическое ожидание числа пораженных танков с Z-й броней, отнесенное к одному снаряду. Если предположить, что противнику известны типы сна- рядов, используемые против его танковой брони, и что он будет стараться свести к минимуму возможный ущерб своим бронетанковым силам, то гарантированное среднее число пораженных танков, отнесенное к одному снаряду, составит, очевидно, наименьшее из чисел М;(/=1, ..., пг). Поэтому задача состоит в таком подборе чисел Xj (/=1, ..., п), чтобы достигался max min Mt. х I i Введением переменной $, такой, чтобы выполнялись усло- вия рассматриваемая задача сводится к задаче линейного про- граммирования, т. е. к максимизации формы при ограничениях xi + • • • ~г хп = Ъ Рих\ + • • • -}~Р1пХп Рт1х1 + • • • + Ртпхп и при (/= 1, •••> и). § 7. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И МАТРИЧНЫЕ ИГРЫ Линейное программирование тесно связано с теорией так называемых матричных или прямоугольных игр, а именно, как будет установлено ниже, любая прямоугольная (матричная) игра двух партнеров с нулевой суммой и конечным числом стратегий может быть сведена к некоторой задаче линейного программирования и, обратно, любая задача линейного про- граммирования может быть сведена к некоторой прямоуголь- ной игре двух партнеров с нулевой суммой.
§ 7] ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И МАТРИЧНЫЕ ИГРЫ 171 В обеих теориях рассматриваются некоторые экстремаль- ные задачи: в линейном программировании решается задача наилучшего распределения ресурсов для достижения желае- мых результатов; в теории игр решается задача о выборе стратегии, с помощью которой достигается максимальный выигрыш. Связь между теорией игр и линейным программи- рованием впервые была установлена Нейманом [49] и Дан- цигом [30г]. 1. Некоторые сведения из теории матричных игр. Под матричной или прямоугольной игрой двух партнеров с нулевой суммой понимают совокупность правил, в резуль- тате реализации которых сумма выигрышей и первого и второго игроков равна нулю: + ^2 = 0, так что выигрыш одного игрока равен проигрышу другого. Игра — одноходовая, т. е. партия состоит из одного хода первого игрока и одного хода второго, причем каждый игрок делает свой ход, не зная хода своего противника. Пусть первый игрок из т возможных ходов (т чистых стратегий) выбирает Z-й ход (Z-ю чистую стратегию), а вто- рой игрок из п возможных ходов (п чистых стратегий) выбирает /-й ход (/-ю чистую стратегию), и пусть при та- ком сочетании ходов первый игрок получает выигрыш а^ единиц, а второй соответственно — а^ единиц. Эти условия удобно записать в виде прямоугольной матрицы выиг- рышей первого игрока / а12 ... аХп \ А = \................... =ИМ- \ ат1 атп% • • • атп J где а^ (/=1, т*, j=l, ..., п) — действительные числа; здесь номера строк соответствуют возможным т чистым стра- тегиям (ходам) первого игрока, а номера столбцов соответ- ствуют п чистым стратегиям второго игрока. Примером игры двух партнеров с нулевой суммой может служить игра в «орла и решку»: каждый из двух партнеров, не зная хода другого, кладет свою монету орлом или реш- кой вверх, причем при совпадении одинаковых наименований
172 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III второй игрок платит первому единицу, а при несовпаде- нии, — наоборот, первый платит второму единицу. В этом примере матрица выигрышей первого игрока имеет вид где в первой (второй) строке выписаны все возможные вы- игрыши первого игрока при выборе им орла (решки), а в столбцах — выигрыши первого игрока при выборе орла (решки) вторым игроком. Если обозначить через хь ... , хт вероятности (частоты), с которыми первый игрок выбирает соответственно первую, вторую и т. д., m-ю чистые стратегии, а через ... , уп — вероятности, с которыми выбирает свои чистые стратегии второй игрок, то наборы чисел х = (хь хт) и У = (У1, .... Уп) называются смешанными стратегиями соответственно пер- вого и второго игроков. При этом, очевидно, •^1 + ^2+ ••• xt О (I = 1, ..., т), ^1+^2+ ••• +«Уп=1> С/=Ь •••> ")• Множества всех смешанных стратегий обозначим соответ- ственно через X и Y. Если хх— ... =xzl = 0, xf=l, хм = ... = хт = 0, то такая смешанная стратегия первого игрока является его Z-й чистой стратегией; аналогично смешанная стратегия второго игрока, все компоненты которой, кроме /-й, равны нулю, является его /-й чистой стратегией. При выборе игроками смешанных стратегий соответственно х = (хъ ..., хт) и у = (уъ ...,уп) математическое ожида- ние выигрыша первого игрока равно Е(х, у) = У У QijXiy,:
§ 7] ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И МАТРИЧНЫЕ ИГРЫ 173 Если второй игрок выбрал некоторую смешанную стра- тегию у', то первому игроку естественно считать лучшей ту смешанную стратегию х, при которой достигается шах Е (х, у')\ х С х Е (х, у') = max Е (х, у'). х € X Аналогично при выборе первым игроком некоторой сме- шанной стратегии х' второму игроку следует считать луч- шей ту смешанную стратегию у, при которой достигается min Е (х', у): У € У Е (х', у) — min Е (х, у). У € У Ясно, что х (J) зависит от выбора у (х'). Перед каждым игроком возникает, таким образом, задача выбора оптималь- ной смешанной стратегии, под которой будем понимать такую его смешанную стратегию х* (у*), которая макси- мизирует {минимизирует) математическое ожидание его выигрыша (проигрыша) при наилучшей игре противника, т. е. при которой гарантированное математическое ожидание выигрыша (проигрыша) было бы наибольшим (наименьшим). Обозначив min Е (х, у) = g (х) (max Е (х, у) — 1г (у)), у £ У х е X получим g(x*) = max g(x) = max min Е{х, у) хех хехуп (h (у *) = min /г (у) = min maxE(x, у)). у е у у е ух е х Доказываемая ниже на стр. 176 основная теорема теории матричных игр*) (см., например, [19]) утверждает, что каждая матричная игра двух партнеров с нулевой сум- мой имеет решение, т, е. существуют оптимальные сме- шанные стратегии х* и у* для обоих игроков, причем max minE(x, y) = min max E (x, y) = E(x*, y*), xe x у еу у ey x ex *) Доказана в 1928 г. Дж. Нейманом (von Neumann J.).
174 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III так что для произвольных смешанных стратегий х £ X и у У и оптимальных стратегий х*, у* имеют место соотношения Е{х, у*) Е(х*, у*) Е(х*, у). Число v = E(x*, у*) называется ценой игры. В приведенном выше примере игры в орла и решку, мат- рица которой имеет вид / 1 — 1\ X-1 V’ если каждый партнер выбирает с одинаковой вероятностью как орла, так и решку, т. е. если их стратегии заданы в виде математическое ожидание выигрыша первого партнера равно 2 2 Е{х, у) = 2 aUxiyj = J =1i=1 = 144+<-1>44+<-1>44+| 44=л Следовательно, и математическое ожидание проигрыша вто- рого партнера также равно нулю. Можно проверить, что так выбранные стратегии обоих партнеров оптимальны, т. е. и цена игры равна нулю. Цену игры, равную нулю, имеют также все симметрич- ные игры, т. е. игры с кососимметричными матрицами (а^ — — — aZ=l, ..., т\ /=1, ..., т). В симметричной игре оптимальные стратегии противников совпадают и цена игры равна нулю. Действительно, пусть х* и у* — оптимальные смешанные стратегии и Е(х*, y*) = v. При любой смешанной стратегии *) Например, как обычно, каждый игрок бросает свою монету.
§ 7| ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И МАТРИЧНЫЕ ИГРЫ 175 у Y второго игрока имеем v^E(x*, у). Положив у=х* и учитывая, что в симметричной игре а1}- = — ац, получим, очевидно, v^E(x*, х*) = 0. Аналогично v У^Е(у*, у*) —О, так что v = 0 и достигается при совпадении стратегий про- тивников. Замечание. Путем прибавления к каждому элементу матрицы выигрышей || aZy-1| фиксированного числа w можно, сохранив оптимальные стратегии, изменить цену v игры на v w. Действительно, для любой пары смешанных стратегий х и у двух игроков математическое ожидание Е(х, у)= 2 2 a^Xiyj J = 1 1 = 1 выигрыша первого игрока в игре с матрицей ||az/|| отли- чается от математического, ожидания Е' (х, у) выигрыша первого игрока в игре с матрицей ||azy-J-w|| на одно и то же постоянное число w. £'(х, у)= 2 S <.atj + '®)xiyj= £ S a«7x^/ + w = / = 1/ = 1 = Е(х, у) -}-w, так что Е' (х*, y*) = max min Е' (х, у) —max min F(x, y)-j-w = xe X у х ex у eY = E(X*, у*) 4“ w = Ж 2. Сведёние матричной игры к задаче линейного про- граммирования. Пусть матричная игра двух партнеров с нулевой суммой задана следующей матрицей выигрышей первого игрока / а11 • • • а\п \ А=[............• (3.4) \ • • • ^тп!
176 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. ш Обозначим опять min Е(х, y) = g(x). У € Y Тогда для любой смешанной стратегии у Y второго игрока и для любой смешанной стратегии х £ X первого игрока будет в частности, для любой чистой стратегии у<7) второго игрока У(у)=01 = 0, • • •, yj-1 = 0, >/=1, J/+1 = O, уп = 0) (/=1, и) и каждого х £ X получим т Е(х, y<J}') = 2 ai}Xi^g(x) </= 1, .. i = \ Xi^O (i = 1, ..., m), xi = 1 • i=l (3.5) Можно считать (рассуждая, как в замечании п. 1), что g(x)^>0. Тогда, разделив почленно каждое из соотноше- ний (3.5) на g(x) и положив —zz- (Z=l, ..., т\ получим 4~ 4~ ... -{~amjum^^ (/==1, ».•> я), ui о (z=i,..., w), щ -f- м2 4~ ... -j- Щп=—j—г Задача первого игрока заключается в отыскании опти- мальной смешанной стратегии х*=(х*, ..., х£), т. е. такой, которая максимизирует g(x), следовательно, минимизирует выражение _L^=M14- ... 4-zZm = w(zz) при выполнении неравенств (3.6). Итак, отыскание оптимальной смешанной стратегии х* первого игрока привело к необходимости решения следую- щей задачи линейного программирования:
§ 7] ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И МАТРИЧНЫЕ ИГРЫ 177 минимизировать линейную форму = ••• +»т (3-7) при условиях + ... +amjum^ 1 (/=1, ..., и), 1 н.>0 (/=1, .... т). / ( Из (3.5) и из сделанного предположения, что g(x)^>0, следует совместность линейной системы (3.8); а так как -ау(м)^>0 и, следовательно, ограничено снизу для всех Ui, ..., ит, удовлетворяющих (3.8), то задача (3.7)—(3.8) имеет конечное решение. Переходя к отысканию оптимальной стратегии второго игрока и обозначив maxE(x, y) = h(y\ X найдем, что для любых смешанных стратегий х £ X, у £ Y обоих игроков будет Е(х, y)^h(y), и, в частности, для любой чистой стратегии х(<) первого игрока х(1’)=(х1 = 0, ..., х._1 = 0, xi=l, х/+1 = 0, хт = 0) (/=1, ..., т) и каждого у £ Y выполняются соотношения п E(x<-l\ y)= (1=1,..., т), / = 1 п У^° (J=l, ..., п), 2у/=1. /=1 Разделив эти выражения на h (у) (можно считать/г(у)^> 0 *)) и положив атА = V’ (7=1,..., п), h(y) 1 получим п (1 = 1, ..., ту, ^0 (j=l, ...,П) (3.9) *) Так как h (у) g (х) > 0 (см. ниже стр. 180).
178 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ (ГЛ. III И п 7Г^) = 2 = 7 = 1 Так как задача второго игрока заключается в отыскании стратегии у*=(у*, . ..,у*), минимизирующей h(y), следо- п вательно, максимизирующей z(%) = $у (при выполнении 7 = 1 (3.9)), то отыскание оптимальной смешанной стратегии = , -у*) второго игрока привело к необходимости решения следующей задачи линейного программирования: максимизировать линейную форму z(0=^4-(3.10) при условиях ai& + • • • + ain^n G = 1, ..., т\ 1 (/=1, ...,4 / (ЗЛ1) Задачи (3.7)—(3.8) и (3.10)—(3.11), очевидно, являются взаимно двойственными задачами линейного программирова- ния. Поэтому по основной теореме двойственности задача (3.10)—(3.11) также имеет конечное решение и min w (и) = max z ($). Пусть п* = (п*, ..., и*™) и £*=(^, ..., £*)— оптималь- ные решения пары двойственных задач (3.7)—(3.8) и (3.10)— (3.11). Покажем, что оптимальные стратегии х* = (х*, ..., х^\ у* =(у*, ..., у*) обоих игроков определяются по формулам п* £* X* = 7* (/ = 1, ... , /п), уу = —7^. П). 1 W (и*) v ’ 7 Z (£*) v 7 Действительно, для таких стратегий, очевидно, выпол- няются неравенства: a\jx* + • • • 4“ amjxm = ••• 1 W (и*) W (и*) (j=\, п), аЛ.У1 + • • • + а1пУп sS (i — 1, ..., т).
§ 71 ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И МАТРИЧНЫЕ ИГРЫ 179 Кроме того, из второй теоремы двойственности (примененной к задачам (3.7)—(3.8) и (3.10)—(3.11)) имеем: т <'=’.... i = \ п (2 “Ж?'=0 (Z=l, .... /и). /=1 Поэтому Е(х*, у*) = У* ( S а‘/х‘ ) = /=1 £=1 т п = 2 ( 2 аЧу7} = w (u*) = z($*) • i = i /=| Далее из соотношений т п Е(х*, у)= 2 аИх*У1 = i = 1 j= 1 п т п 2 ( 2 at]Xt ) W (U*) W (W*) ’ ;=1 i = \ /=1 m n E(xt j/*)= aijXiy* = / = i/ = i m n m = Z1 Xi (2 aijy7) 2 Xi =r(F) I = 1 j = 1 i — 1 следует E (x, у*) E (x*, у*) E (x*, у). (3.12) Из неравенств (3.12) получаем E(x*, y*)^max E(x, y*) = X € X = h(y*)^ min h (y)= min maxE(x, y), у € У у x ex Е(х*у у*)^min E(x*, y) = yey = g(x*) maxg(x)= max minE(x, y), x ex xex уeу • (3.12') J
180 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. Ill так что min max Е(х, у) y*)^max min E(x, y). (3.13) у eYx e X x tx у e Y С другой стороны, для любых фиксированных стратегий х и у игроков получаем неравенства min Е(х, у)^Е(х, у)=Стах Е(х, у\ У ^Y х С X из которых следует max min Е(х, y)=Cmin maxE(x, у). (3.14) х е X у QY у 6 Y х с X Из (3.13) и (3.14) получаем, наконец, max minE(x, y) = min maxE(x, y) = £'(x*, у*), xCXу£Y ytYxtX а из (3.12') получаем, что . min h(y) = h(y*), max g(x) = g(x*), у € Y x e x t. e. x* и y* — оптимальные стратегии игроков. Этим доказана сформулированная выше на стр. 173 основ- ная теорема Неймана теории матричных игр. Покажем теперь справедливость обратного утвержде- ния: если х* и у* — оптимальные стратегии обоих игро- ков, то zz* — —т—и В* = — оптимальные реше- £(**) Л (у*) г ния пары двойственных задач (3.7)—(3.8) и (3.10)—(3.11). Действительно, zz* и £* являются, очевидно, допустимыми решениями задач (3.7)—(3.8) и (3.10)—(3.11); кроме того, ®(“*)=7И=Т(7)=гЛ’ т. е. значения целевых функций пары двойственных задач равны для допустимых zz* и $*. Но тогда, по критерию оптимальности решения пары двойственных задач, заключаем, что zz* и £* оптимальны. Таким образом, задача отыскания решения матричной игры с нулевой суммой, заданной матрицей (3.4), эквивалент-
§ 7] ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И МАТРИЧНЫЕ ИГРЫ 181 на паре двойственных задач линейного программирования, заданных следующей таблицей: = ... Vj = . ... -tj . -in w = 1 «i’ll = «И ... ач . altl 1 «Л| = aij a-m 1 = атл ... amj • • amn 1 1 Z — — 1 ... —1 .. —1 0 Пример. Пусть игра двух партнеров задана следующей матрицей выигрышей первого партнера: 1 /-2 — 1 5\ 1 1 — 2 3 к 3 1 — 4/ Эквивалентная пара задач линейного программирования за- ключается в отыскании неотрицательного решения системы — 2z/j —|— и % —j— 3zz3 1, — zzt — 2w2w3^l, 5zzj —}— 3zz2 — 4zz3 1, минимизирующего линейную форму “W = U\ —|— zz2 -j— zz3, и в отыскании неотрицательного решения системы — 2^1— ^4-5^1, 4 — 2^ 1, 3^1 —|— — 4£3 1, максимизирующего линейную систему z — ч Ч~ *2 ^з-
182 ПРИЛОЖЕНИЯ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. Ш Составив совмещенную таблицу ^1 = ^2 = 1 W = 1 £1 ^2 «1 Ъ = — 2 —1 5 1 ^2 Т12 — 1 —2 3 1 «з ’’Gs == 3 1 — 4 1 1 2 = — 1 — 1 -1 1 10 и решив эту пару двойственных задач, получим max z = min w = 11; они достигаются при В1 = 0, £2 = 9, ^з = 2; Щ — п2 = 0, гг3 = 6, так что у ( V* - -м** _ О д/.* _ \ л ---I Л1 - лз — 11/’ j*=(x=o, ^*=£, Л*=л)- 3. Сведение задачи линейного программирования к мат- ричной игре. Пусть рассматривается пара двойственных задач линейного программирования: 1) максимизировать линейную форму Z=pltl + • • •+ Prfin при ограничениях + + 0 = 1> ••• , т) и при несвободных переменных (7=1, 2) минимизировать линейную форму w = aiu1^-...-\-amiim при несвободных переменных щ 0 (Z= 1, ... , щ) и при ограничениях + (7=1,
§ 71 ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И МАТРИЧНЫЕ ИГРЫ 183 условия которых, как обычно, совместим в следующей таб- лице: t»l= • -61 II <м>~' II Ъ? 1 W = 1 «1 ’ll = «11 •• «1/ «1П «1 щ ч = • «<7 •• ain at (3-15) ит ~ «mi «т/ атп «т 1 Z = — Pi • -Pi • •• ~Рп 0 Как было доказано в п. 4 § 7 гл. II, пара двойственных задач (3.15) эквивалентна линейной системе + G=l, , от), ^0 (/=1, ... , п), avw1 + ...4-amjum^pf (У=1> •••>»)> (i— 1, ... , zn), Р1&1 + • • • + Р,£п а1"1 + • • • + которая, в свою очередь, эквивалентна системе, полученной из нее умножением всех неравенств на с введением обозначений Cz = l,. Uit=lli (1= 1, ... , m), т. е. системе, которая подробно запишется так: 0 • zzi -|- ... 4~ 0 • ит ... — 4“ 0 • Щ 4~ • • • 4“ 0 • ит • • • amrfin 4“ arn^ 4“ • • • 4" amlum + ° • £1 + • • • 4“ 0 ’ — Pit , (3 15) 01пм1 + • • • 4“ атпит 4-0 • 4- • • • 4-0 • о, — axux — ... — атит 4~ Р&1 4- • • • 4- Рп^>п 4- 0 * t 0, /я); 4^'0 (/=1, ... , п).
184 ПРИЛОЖЕНИЕ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ [ГЛ. III Поэтому для сведения задачи линейного программирова- ния к матричной игре достаточно свести к ней систему (3.16), г. е. построить некоторую матричную игру, оптимальные стратегии игроков которой удовлетворяют этой системе. Такой игрой оказывается симметричная матричная игра с мат- рицей выигрышей первого игрока, являющейся кососиммет- ричной матрицей коэффициентов первых нера- венств системы (3.16), помноженных на — 1, т. е. с матрицей 1 0 ;; 0 ZZ11 .. а1п — Я1\ 0 .. 0 &т1 • • &тп — а11 • • ат1 0 .. . 0 Pl (3-17) — а1я .. • ^тп 0 •• . 0 Рп Й1 .. • т —Р1 •• — Рп 0 Действительно, пусть (г?, £*, f*) = (z7*, ... , z?*; £*, ... , $*; f*) — оптимальная стратегия обоих игроков. Ввиду симметрич- ности игры она у них общая, и цена игры равна нулю. Поэ- тому какую бы стратегию (zz, ?, t) ни выбрал второй игрок, 'будет выполняться неравенство O = E(zz*, £*, t*; и*, $*, t*) Е (zz*, I*, £*; zz, I, f). В частности, взяв подряд вместо (zz, £, t) все чистые страте- гии (1, 0, ... , 0), (0, 1, ... , 0), ... , (0, 0, ... , 1) второго игрока, получим 0 • ZZ* -ф- . . . -ф- 0 • ZZ^J — — • • • — alrfin -ф- 2^ 0,
§ 7] ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И МАТРИЧНЫЕ ИГРЫ 185 Этим доказано, что каждое решение (zz*, I*, f*) рассматри- ваемой симметричной матричной игры является нетривиальным (в силу последнего равенства) решением системы (3.16), т. е. дает решение нашей пары двойственных задач линейного про- граммирования, которое (при 0) вычисляется по формулам: (1 = 1, , /П); у = Замечание 1. Если во всех оптимальных стратегиях игровой задачи ^ = 0, то соответствующая пара двойствен- ных задач линейного программирования неразрешима. Для разрешимой же пары двойственных задач хоть одна опти- мальная стратегия эквивалентной игры содержит компо- ненту t ф 0. Замечание 2. К результату п. 2 добавим следующее: из конечного решения zz*, ... , zz^; £*, пары двой- ственных задач линейного программирования решение соот- ветствующей симметричной игровой задачи с матрицей (3.17) может быть получено по формулам п т ’ 7=1 Z=1 1 п т /=1 >=1
ГЛАВА IV ТРАНСПОРТНАЯ ЗАДАЧА В настоящей главе рассматривается одна из важнейших задач линейного программирования — транспортная задача, т. е. задача такого наиболее рационального прикрепления пунктов отправления грузов к пунктам их назначения, чтобы общая стоимость перевозок была минимальной. Являясь одной из задач линейного программирования, транспортная задача, конечно, может быть принципиально ре- шена алгорифмом симплекс-метода. Но непосредственное при- менение симплекс-метода к транспортной задаче обычно неце- лесообразно, так как, являясь универсальным методом решения любой задачи линейного программирования, он не учитывает специфики условий транспортной задачи, и применение симплекс-метода к ее решению оказывается слишком гро- моздким. В § 2 приводится один из наиболее распространенных методов решения транспортной задачи — метод потенциа- лов, полностью использующий особенности условий этой за- дачи и приводящий к цели значительно быстрее и проще, чем симплекс-метод. § 3 посвящен важной для приложений задаче об опреде- лении максимального потока в сети. В § 4 приводится метод приближения условно-оптималь- ными планами для решения транспортной задачи. На каждом шаге приводимого алгорифма решается задача о потоке. § 5 посвящен решению транспортной задачи по критерию времени. Наконец, в § 6 рассматривается задача об определении кратчайших расстояний по заданной сети.
§ 1] ОБЩАЯ ПОСТАНОВКА ТРАНСПОРТНОЙ ЗАДАЧИ 187 § 1. ОБЩАЯ ПОСТАНОВКА ТРАНСПОРТНОЙ ЗАДАЧИ 1. Транспортная задача как задача линейного про- граммирования. Транспортная задача формулируется так: В данных т пунктах производится некоторый однородный продукт в количествах соответственно аь а2, ... , ат единиц. Этот продукт следует доставить в п заданных пунктов назначения, потребляющих его соответственно в количест- вах Ьъ Ь%, ... , Ьп. Пусть стоимость перевозки единицы продукта из Z-ro пункта производства в у-й пункт назначения (потребления) равна с^, а соответствующее количество единиц перевозимого продукта равно Хц(1 = 1, . .< , т\ J = \ , ... f п). Условия задачи запишем компактно в виде следующей таб- лицы (двойной матрицы): X»/ ai ^Х Ь, ^2 bn С11 Х11 С12 X12 cin xin С21 Х21 6*22 X22 С2П Х2П ... ат Ст1 хтл cmz xm2 cmn XTTltl Совокупность т\п чисел т. е. матрицу || || , будем называть планом перевозок, а матрицу || || — матрицей транспортных издержек. План называется допустимым, если числа хи удовле- творяют следующим естественным условиям: (Z= 1, ... , т\ j = 1, ... , п), xi\ + хг2 • • • + xin —ai О— xiy + xv4" • • '~Vxmj — ^j (/=1> •••> (4.2)
188 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV в которых первые т равенств означают, что из каждого пункта производства вывозится весь произведенный продукт, а последние п равенств означают, что каждый пункт по- требления полностью удовлетворяется. Транспортная задача заключается в отыскании среди допустимых планов оптимального, т. е. такого, по которому общая стоимость перевозок т п z = 2 2 CUXij (4-3) i=17 = l минимальна. Если система (4.2) совместна, то т т п пт п У а< = S S хи = Zj Zj xU = S bJ> i=l j=\i=\ j=\ таким образом, условие m n Z> = S bj (4-4) необходимо для совместности (4.2). Условие (4.4) является и достаточным для совместности (4.2). В самом деле, при выполнении условия (4.4) значения XU^-Cm-L- О'=1> ••• ’ 7=1> ••• ’ i= 1 как легко проверить, удовлетворяют системе (4.2) *). Таким образом, транспортная задача относится к задачам линейного программирования и решается алгорифмом сим- плекс-метода. Однако ввиду исключительной практической важности этой задачи и специфики ограничений (4.2): а) ограничения заданы в виде уравнений, б) каждая неизвестная входит лишь в два уравнения, в) коэффициенты при неизвестных — единицы, для ее решения созданы специальные алгорифмы, значительно *) Нетрудно проверить, что любое из т-\-п уравнений (4.2) является следствием остальных т-^-п—1 уравнений, образующих линейно независимую систему.
§ 1] ОБЩАЯ ПОСТАНОВКА ТРАНСПОРТНОЙ ЗАДАЧИ 189 менее громоздкие, чем алгорифм симплекс-метода. Один из них — рассмотренный ниже метод потенциалов — пред- ставляет собой приспособление общего метода Л. В. Канторо- вича [14а] для решения транспортной задачи и предложен Л. В. Канторовичем и М. К. Гавурипым [15] и несколько позже, независимо от них, Данцигом [ЗОв] *). Другой, так называемый венгерский метод (см., например, [28а]) указан Эгервари [35] и усовершенствован Куном [44] для решения частного случая транспортной задачи — задачи о назначениях (или о выборе), приведенной нами в § 5 гл. III; затем он был приспособлен Манкресом [48] для решения общей транспортной задачи. 2. Открытая модель транспортной задачи (задача с на- рушенным балансом запасов и потребностей). Как было показано в п. 1, необходимым и достаточным условием раз- решимости транспортной задачи является равенство всех запасов груза в пунктах отправления потребностям в этих грузах в пунктах назначения: Иногда это равенство не выполняется, т. е. либо запасы груза превышают потребность в пунктах назначения т п (2 i = \ /=1 либо потребность в пунктах назначения превышает запас груза Для этих случаев также может быть поставлена задача о по- строении плана перевозок с минимальными транспортными расходами. *) Мы приведем изложение этого алгорифма в основном по [28а], а п. 5 §2 — по [1а].
190 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Для отыскания оптимального плана перевозок в случае превышения запаса над потребностью вводят фиктивный (п-[- 1)-й пункт назначения с потребностью т п Ь п\Л — bj и полагают стоимости перевозок грузов в этот пункт равными нулю: cit п+1 = 0 (i = 1, ..., т). Полу- ченная новая задача является уже обычной транспортной т «+1 задачей, так как для нее выполняется равенство ai — У! i = \ j=l Нетрудно показать, что план || || т> п, полученный из оптимального плана || II m, n+i новой задачи, является опти- мальным планом исходной задачи, так как наличие лучшего плана старой задачи привело бы к наличию лучшего (чем оптимальный) плана новой задачи, что невозможно. Аналогично при т п i = 1 7=1 вводим фиктивный (т-1- 1)-й пункт отправления с запасом п т груза am+i = У fe;— У at и со стоимостями перевозок i=l cm+1>y = O(/‘= 1, ..., ri). Этим задача сводится к обычной транспортной задаче, из оптимального решения которой можно, как выше, получить оптимальное решение исходной задачи. 3. Об одной задаче размещения. Открытая модель транс- портной задачи имеет важное применение в так называемой задаче размещения производства. Пусть в п заданных пунктах потребляется соответственно bit ..., bn единиц груза и пусть выбраны т пунктов производства с заданной матрицей стои- мостей перевозок Пусть далее затраты производства в каждом пункте пропорциональны количеству произ- веденного продукта, и Ci — затраты на производство единицы продукции в i-м пункте (Z = 1,..., т).
§ П ОБЩАЯ ПОСТАНОВКА ТРАНСПОРТНОЙ ЗАДАЧИ 191 Задача размещения производства заключается в оты- скании таких мощностей 0^1=1,т) пунктов произ- водства, где т п S «/= 2 bj, i=\ ;=1 и такого плана перевозок, чтобы суммарные затраты на производство и доставку груза были минимальными. Обычно мощности at пунктов производства ограничены сверху п / = 1 причем т п i=l /=1 Для решения задачи полагаем Сц = ct -{- c'ij, определяем мощность /-го пункта производства равной Z- (/ — 1, ..., т\ и вводим (zz—1)-й фиктивный пункт, потребляющий Ъп^ = т п = 2 А* ~ единиц груза, с Сц „+1 = 0 (/ = 1, .т). /=1 /=1 Решаем полученную замкнутую модель транспортной задачи с матрицей || || стоимостей перевозок. Оптимальная мощность z-го (г=1,...,/п) пункта произ- водства равна, очевидно, сумме груза, посылаемого из этого пункта во все пункты потребления за исключением фиктив- ного (п -1- 1)-го. Замечание. Если все не ограничены сверху, то задача сводится к задаче минимизации целевой функции т п при ограничениях т У xij = bj (/=!,...,//) i= 1 и при хи О,
192 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV т. е. к задаче типа транспортной, в которой отсутствует поло- вина ограничений. Такие задачи решаются непосредственно. Рассматриваем первое ограничение (у‘=1) ХМ Д x2l -Г • • • + xml = Ьх и совокупность {сц,Сц, cmi} коэффициентов целевой функ- ции при переменных этого ограничения. Пусть f,01 = min ст1}. Полагаем ( bi при t = L, хи — { (0 при I ф z0. Аналогично поступаем со всеми остальными п — 1 ограниче- ниями. Полученные значения Хц (I — 1, ..., минимизируют, очевидно, целевую функцию. § 2. МЕТОД ПОТЕНЦИАЛОВ 1. Предварительные понятия. В отличие от предыду- щего, будем в этом параграфе пользоваться для транспортной задачи таблицей вида С11 С1П «1 . . . cil сч cin ai cmi cmj стп am bi b! Ьп "X ai bj X (4.5)
§ 2] МЕТОД ПОТЕНЦИАЛОВ 193 Величины перевозок будут заноситься в левые нижние углы клеток (Z, /) по мере построения плана. Набором будем называть произвольную совокупность клеток, а цепью — наборы вида Gb/i), Gi, 70, (Аа, 70, (^2,7з), ••• или (ч, 71), О’а, 71), (^2,7з), (z3,70, • • •, так что каждая пара соседних клеток цепи расположена либо в одной строке, либо в одном столбце таблицы (4.5), причем никакие три клетки цепи не лежат в одной строке (столбце). Если последняя клетка лежит в одном столбце (строке) с первой, т. е. если цепь имеет вид Gi, 71), Gi, 70, (z2,70, Оз, 70, • • •, G*, 71) или (Zl, 71), (z2, 71), (Z2, 7з), Оз, 7з), • • • , (zl, jk\ изображен цикл (1,2), (1,3), (3, 3), (3, 5), (4, 5), (4, 2). Ациклическим будем называть любой допустимый план перевозок Х= || х^ || т если набор клеток с отличными от нуля элементами х^ этого плана не содержит ни одного цикла. Как будет впоследствии показано, оптимальный план перевозок достаточно искать среди ациклических и число N 7 С. И. Зуховицкий, Л. И. Авдеева
194 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV элементов любого ациклического плана удовлетво- ряет неравенствам max {т, п} N т 4~ п—1. Если в ациклическом плане X — || || п имеет место равенство N=m-\-n — 1, то элементы с^ из набора т^п—1 клеток (/,/) с х/У4>0 называются Х-выбран- ными. Пусть теперь N <^т-{-п—1. Тогда дополним получен- ный набор клеток (/,/) с xZ7^>0 еще т-\-п—1—N клет- ками с х/7 = 0 такими, чтобы весь новый набор из т-\-п— 1 клеток не содержал циклов, и элементы из этого нового набора будем считать Х-выбранными. 2. Потенциальность — признак оптимальности плана перевозок. Для того чтобы некоторый допустимый план X' = || х'ц || mt п транспортной задачи был оптимальным, необходимо и достаточно, чтббы ему соответствовала система из т~\-п чисел и}, щ,,..., и'т; v'v v’2, v'n, удо- влетворяющая условиям Vj — Ui^Cij (i=l,...,m; j=l,...,n) (4.6) и Vj — щ = сц для всех x'ij0 (x'ij £ Хг). (4.7) Числа u'i, v'j называются потенциалами соответственно пунктов отправления и назначения, вся их система — потен- циальной, а условия (4.6) — (4.7) —условиями потенциаль- ности системы {и\, Vj}\ каждое в отдельности неравенство (равенство) называется условием потенциальности для соот- ветствующей клетки (Z, у). Если план X, для которого существует потенциальная система {щ, v'j}, также называть потенциальным, то теорема коротко формулируется так: для оптимальности плана транспортной задачи необходимо и достаточно, чтобы он был потенциальным. Для доказательства заметим сначала, что транспортную задачу минимизации целевой функции т п %== S CijXij i=1/=1 при ограничениях-равенствах xi\ + • • -4“ xij 4" • • -4“ хin, =^i (Z = 1, ..., tri), X1J 4" • • • 4“ XiJ 4~ • • • 4~ Xmj — bj (J = i,.. •, n)
§ 2] МЕТОД ПОТЕНЦИАЛОВ 195 и при несвободных переменных Xtf О (Z = 1, ..., щ\ / = 1,..., л) можно рассматривать как двойственную к некоторой прямой задаче линейного программирования, условия которой легко получить по общей схеме § 7 гл. II: каждому ограничению-равенству вида х^ -ф- -|-... -ф- xin — соответствует в прямой задаче свободная переменная щ (Z = 1,..m), каждому ограничению-равенству вида -ф-xmJ- — bj соответствует в прямой задаче свободная переменная Т/у (7=1,..., И) (так что в прямой задаче число переменных равно т-\-п\ максимизируемой целевой функцией прямой задачи служит функция т п •w= S «<«.•+ S ьм> i=i 7=1 наконец, каждой несвободной переменной (число которых равно т • я) соответствует в прямой задаче ограни- чение-неравенство (i — 1,.т\ j =\, ..п). Структура левой части этого ограничения видна из того, что переменная х^ встречается лишь в двух ограничениях-равен- ствах двойственной задачи с единичными коэффициентами, а именно, в Z-м ограничении хн + • ••+ xij + • • • Х in = ai> которому соответствует переменная uh и в /-м ограничении xij + • • • + xij + • • • + xmj = bp которому соответствует переменная Vj. Таким образом, 7*
196 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV в матрице коэффициентов ограничений двойственной задачи, приводимой в следующей таблице: ... хч ... x.n...xml... xmj... хтп 1 1 ... 1 ... 1 ... 0 ... 0 ... 0 ... 0 ... 0 ... 0 0 ... 0 ... 0 ... 1 ... 1 ... 1 ... 0 ... 0 ... 0 0 ... 0 ... 0 ... 0 ... 0 ... 0 ... 1 ... 1 ... 1 1 ... 0 ... 0 ... 1 ... 0 ... 0 ... 1 ... 0 ... 0 0 ... 1 ... 0 ... 0 ... I ... 0 ... 0 ... 1 ... 0 0 ... 0 ... 1 ... 0 ... 0 ... 1 ... 0 ... 0 ... 1 - ai ~ai ~~ am - b. J ~bn С11 • • • clj ... С1Н • • • cil • • • cij • • • cin • • • cml • • • cmj • • • cmn 0 столбец под переменной состоит из нулей и двух единиц в Z-й и (т -f-/)‘й строках. В транспонированной же матрице к данной матрице коэффициентов ограничений прямой задачи рассмотренный столбец перейдет в строку коэффициентов ограничения-неравенства, соответствующего переменной состоящей, следовательно, из нулей и лишь двух единиц в Z-м столбце (под tii) и в (т -|-/)-м столбце (под vj). Для аналогии с физическим понятием потенциала (чтобы рассматривать разность потенциалов) мы будем часть свободных переменных, например щ, ..., ит, писать со зна- ками минус*). Тогда прямая задача будет заключаться в мак- симизации целевой функции п т = S bivi — S aiUi 7=1 i=l при свободных переменных ut т), Vj (; = 1,...,л) и при ограничениях-неравенствах — (Z = 1, ..., т\ у=1, ..., ri). *) Некоторые авторы (см. [386]) не прибегают к этому способу записи и вместо Vj—пишут
§ 2] МЕТОД ПОТЕНЦИАЛОВ 197 Записав ограничения-неравенства прямой задачи в виде — у/ -|- Cij^O j = 1, ..., n), а ограничения-равенства двойственной задачи в виде 0=2 (~ (7= /=1 т ° = S ХЧ — bi i = 1 мы для наглядности совместим условия обеих задач в сле- дующей таблице: о=... о=... о=... 0.= ... 0=з г = -т ... -и. ... -Ilm -Vi ... -Vj ... -vn 1 Хп W11 = х W = mi mi : w mn mn 1 w = Теперь уже легко получить доказательство сформулиро- ванной теоремы. Необходимость. Пусть |j x*j || — оптимальный план транспортной задачи. Тогда, по основной теореме двойствен- ности, прямая задача также имеет оптимальное решение III, • • • > • • •, vn, удовлетворяющее, следовательно, ограничениям (4.6). По вто- рой же теореме двойственности, оптимальные решения обеих задач удовлетворяют условиям дополняющей нежесткости и* — с7)==0 (Z = l, т\ / = 1. ..., я),
198 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV так что при будет обязательно v*—и* = с^, т. е. выполняются условия (4.7). Достаточность. Пусть некоторый допустимый план || x'ij || является потенциальным, т. е. для него существует система чисел ..., и’т\ , vn, удовлетворяющая усло- виям (4.6) — (4.7). Выполнение условий (4.6) означает, что эта система чисел является допустимым решением прямой задачи, а выполнение условий (4.7) означает, что это допустимое ре- шение прямой задачи и допустимый план || x\j || двойствен- ной задачи удовлетворяют условиям дополняющей нежесткости (вторая серия условий: Щ (2Х'7' — М = 0 И ’’/(S X‘i~ ai} = 0 J i (Z = 1,..., J = 1,..n) выполняется автоматически). По второй теореме двойст- венности, допустимый план ||х/;|| является оптимальным. Замечание. Достаточность легко устанавливается непо- средственно (без ссылок на теорию двойственности). Действи- тельно, пусть план X' потенциален, так что существует для него система {«/, т/)}, удовлетворяющая условиям (4.6) — (4.7). Тогда для любого допустимого плана Х = || xi}-1| т, п т п т п пт У У 2 2 (^—и«:)А7= 2^ 2 хч~ i = 1 j = 1 i = 1 j = 1 j = 1 i = ] m n n m n m — 2 4i 2 Л/= 2 v'jbj — 2 uiai = 2 vj 2 x'ij — 7 = 1 /=1 i=l 7 = 1 i=l m n m n m n - 2 «*' 2 4=2 2 v'jx'ij-2 2 «-:4= z=i /=i i=i/=i m n m n wi)-#i7 = 2 S CijXip i = 1 7= 1 i = 1 7= 1 т. e. стоимость перевозок по любому плану X не меньше стои- мости перевозок по потенциальному плану X', так что он оптимален. 3. Алгорифм решения транспортной задачи методом потенциалов. Алгорифм состоит из предварительного шага и повторяющегося общего шага.
§ 2] МЕТОД ПОТЕНЦИАЛОВ 199 В предварительном шаге проделывается следующее: 1) составляется первоначальный ациклический план Х\ 2) для полученного плана строится система т-\-п чисел zzb ..zzm; vlf ..vn таких, чтобы выполнялись условия —«.= «// (4.8) для всех Х-выбранных 3) построенная система zzb ..., zzm; -ub ..., vn исследуется на потенциальность (т. е. план X исследуется на оптималь- ность). Общий шаг (применяется, если план X, построенный в предыдущем шаге, не оптимален, т. е. система иь ..., zzm; *иь ..., vn не потенциальна) состоит из следующих трех опе- раций: 1) улучшения плана, т. е. замены плана X новым планом X' со стоимостью перевозок, не превышающей стоимости перевозок по плану Х\ 2) построения для плана X' (путем исправления системы zzb ..., ит\ ?7Ь ..., vn) новой системы zzb ..., ит\ v'i, ..., Vn, удовлетворяющей условию v’j — ill = С,7 (4.8') для всех Х-выбранных с^\ 3) исследования построенной системы zzb и’т\ v[, ...,v'n на потенциальность. Перейдем к подробному изложению алгорифма *). Предварительный шаг. 1) Составление первона- чального плана Х=|| ||. Начинаем с определения элемента хп (отсюда название этого способа построения первоначального плана «правило северо-западного угла»), полагая хи = min { аь Ьг }. Если at Ьь то хи = ах и х1у- = О для / = 2, 3, Если ai^bi, то Хц = Ьг и Хц = 0 для 1 = 2, т. Если же ах = Ьь то Хц = ах = Ьх и все остальные элементы как первой строки, так и первого столбца равны нулю. Пусть для определенности aY Zzb Тогда запас груза в первом пункте отправления свелся к ну- лю, а потребность первого пункта назначения составляет теперь Ьх — аь *) Обоснование алгорифма приводится в п. 5.
200 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Эти данные отмечаем правее таблицы и под ней: С11 С12 0 С1П 0 0 С21 ^22 С2П а2 «2 ... СГП1 ст2 стп ат ат ьг Ьп — Ь2 ... Ьп Полагаем затем х21 = min { а% — ах}. Если — аь то х21 = и все = 0 для j = 2, ..., л; если — аь то x2i — Ь{ — at и все хп = 0 для I — 3, ..., /л; если же = — ah то x%l = a% = bl— аъ а все остальные элементы 1-го столбца и 2-й строки равны нулю. Пусть имеет место второй случай. Тогда потребность перво- го пункта назначения полностью удовлетворена, а остаток за- паса во втором пункте отправления составляет а2 — (#i — ^i)« Эти значения записываются также правее таблицы и под ней: Сц «1 С12 0 ... с1п 0 «1 0 0 ^21 *1—01 с22 С2П «2 а2 + а1 . . . . . . СШ1 0 СШ2 стп ат ат *1 ъг ьп bj \ bi Ь2 ... Ьп О Ь% ... Ьп
§ 2] МЕТОД ПОТЕНЦИАЛОВ 201 Полагаем затем х22 = min { а2 — Ьх -ф- Ь.2 } и т. д., пока не определим все элементы х^ (I = 1, ..., /п; у=1,...,я). Заметим, что каждый элемент х>ч- был получен из линей- ных комбинаций и bj с коэффициентами 0, 1, — 1 и является либо остатком груза в пункте отправления, либо потребностью соответствующего пункта назначения. Поэтому, если at и bj были первоначально неотрицательными целыми числами, то и первоначальный план перевозок Х=|| xZy || п, полученный по описанному правилу, будет состоять из целых неотрицательных чисел Число N положительных пере- возок (т. е. элементов xz-y^>0) в этом плане не превышает т-\-п — 1. Действительно, таблица содержит (снизу и справа) всего т -ф- п чисел аь ..., ат; Ьь ..., Ьп. На каждом шаге запол- няется положительным х^ одна клетка таблицы, на месте одного или двух из чисел ab bj ставятся нули, а на послед- нем шаге одновременно на месте ат и Ьп ставятся нули. Следовательно, всего шагов для построения плана (когда на местах всех т-\-п данных чисел будут нули) потребуется не более чем т п — 1 и план будет содержать не более чем т п — 1 положительных xtj. Как нетрудно убедиться, полученный набор клеток не содержит циклов. Если N=m-\-n—1, то переходим к по- строению системы щ, ..., ит; ..., vn. Если же -\~п—1 (тогда задача называется вырожденной), то вводим в набор дополнительно т п — 1 — N новых клеток с нуле- выми перевозками х^ = 0, но так, чтобы весь набор не со- держал циклов. После этого переходим к построению системы «1, ..., ит; , vn. Пример. Пусть условия задачи заданы таблицей 3 5 7 11 100 1 4 6 3 130 5 8 12 7 170 150 120 80 50 at bi\
202 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV По правилу северо-западного угла находим хп = min {ab br} = min {100; 150} = 100; = х13 = хи = 0. Вносим изменения в столбец запасов и строку потребления 3 100 5 0 7 ° 11 0 0 1 4 6 3 130 5 8 12 7 170 50 120 80 50 bj X Теперь х21 = min { 130; 50 } = 50, х31 = 0. При этом потребность первого пункта назначения полностью удовлетворена и обращается в нуль, а запас второго пункта отправления составляет 130 — 50 = 80, что отмечено в пра- вом столбце и нижней строке следующей таблицы: 3 100 5 0 7 0 11 0 0 1 50 4 6 3 80 5 0 8 12 7 170 1 0 120 80 50 \ ai bj\ Далее имеем: = min { 80; 120} =80; х23 = х24 = 0,
МЕТОД ПОТЕНЦИАЛОВ 203 § 2] так что получим: 100 3 0 5 0 7 И 0 0 1 50 80 4 0 G 3 0 0 0 5 8 Г2 7 170 0 40 80 50 Аналогично x32 = min{ 170; 40} = 40, и мы приходим к таблице 100 3 0 5 0 7 0 11 0 50 1 80 4 0 6 0 3 0 0 5 40 8 12 7 130 0 0 80 50 ai Наконец, х33 = min {130; 80 } = 80. Потребность третьего пункта назначения сводится к нулю, а запас третьего пункта отправления равен 50. Этот запас в точности равен потребности /?4=г50 четвертого пункта назначения, так что х34 = 50.
204 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Получен следующий ациклический план, содержащий тХп — 1 = 3 -1~4 — 1=6 положительных элементов: 100 3 0 5 7 0 11 50 1 80 4 0 6 0 3 0 5 40 8 80 12 50 7 2) Построение системы щ, Vj для первона- чального плана X. Числа щ, ..., ttm; тд, ..., vn определим из системы т-\-п—1 линейных уравнений — и,- = , (4.9) где ctj суть Х-выбранные элементы. Поскольку число неиз- вестных превышает на единицу число уравнений, то одну из неизвестных полагаем равной произвольному числу, напри- мер ^ = 0, и легко находим последовательно из уравнений (4.9) значения остальных неизвестных. Вычисленные так зна- чения иь ... , ит поместим в нулевом (левом) столбце таб- лицы, а значения тд, ... , vn— в нулевой (верхней) строке. Получим vj и i Vn «1 си хп С12 ЛДз С1П Х1П и2 Л*21 С22 А*22 С2П Х2П . . . • ‘ * . . . . . . cmi xmi Ст1 хт2 • ... стп хтп
§ 2] МЕТОД ПОТЕНЦИАЛОВ 205 Продолжаем решение примера, рассмотренного в п. 1). Для построенного в нем первоначального плана определим систему zzb zz.2, zz3, vif т/3, vif удовлетворяющую уравне- ниям: 7Д — ZZj = 3, 7Д — zz2 = 1, u2 — zz.2 — 4, v.2 — zz3 = 8, ^3 — ih = 12, —w3 = 7. Полагая щ — 0, найдем: vx = 3, zz2 = 2, v.2 = 6, zz3 = — 2, t/3 — 10, *и4 — 5. Введем их в таблицу: 3) Исследование построенной системы zzz, Vj на потенциальность. Каждый элемент с^, не являю- щийся Х-выбранным, сравниваем с соответствующей раз- ностью Vj — iii, Если Для всех таких элементов выполняются неравенства Vj — Hi Cip то система zzz, Vj потенциальна и построенный план опти- мален. Если же для некоторого имеет место неравенство Vj—iii^Cij, то система zzz, Vj не является потенциальной, план X не оптимален и надо перейти к следующему шагу.
206 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Для рассматриваемого в п. 1) примера имеем: тл2 — = 6 — 0 > 5 = с12, ^з — =10 — 0> 7 = с13, -и4 — 5 — 0 11 = г14, 773 — ц,2 = 10 — 2 6 = с23, *и4 — zz2 = 5 — 2 = 3 = с24, тд— и$== 3 2 = 5 = с31. Таким образом, система zz1 = O, zz2 = 2, -и4 = 5 не потен- циальна и наш план не оптимален. Общий шаг. 1) Улучшение плана. Пусть аг-оуо — наи- большее среди чисел = Vj — щ — ci}- 0. Клетка (Zo, /0) образует с вошедшими в набор Х-выбранными клетками единственный цикл. Обходим этот цикл против часовой стрелки, начиная с клетки (Zo, /0)> и отмечаем его клетки попеременно знаками -|~и — • Первая клетка (Zo, /0) отмечается знаком-^- Клетки цикла, отмеченные знаком-|-, образуют «положительную» полуцепь, а знаком — «отрица- тельную» полуцепь. Рассматриваем элементы Хц нашего плана X, располо- женные в клетках отрицательной полуцепи, и находим среди них наименьший 0, содержащийся, например, в клетке (f, /). Далее, улучшаем план перевозок следующим образом: эле- менты (перевозки) отрицательной полуцепи уменьшаем на 0, а элементы х^- положительной полуцепи увеличиваем на 0; элементы же xzy, не вошедшие в цепь, оставляем без изменения. Таким образом, новый план X' состоит из чисел Xij — 9, X’ij -*7/+ 0> если клетка (Z, у) входит в отрицательную полуцепь, если клетка (Z, /) входит в положительную полуцепь, xzy, если клетка (Z, /) не входит в цепь. План X' снова допустимый и содержит ациклический набор из т -j- п — 1 клеток, получающийся заменой клетки (Z', для которой теперь х^ = 0, клеткой (Zo, /0), с х/оуо = 0. Проиллюстрируем описанный способ улучшения плана на примере, рассмотренном в п. 1). Наибольшей разностью = Vj — tii — сij^>Q оказывается а13 = *и3 — — с13 — 3,
§ 2] МЕТОД ПОТЕНЦИАЛОВ 207 так что клетка (1, 3) должна быть введена в набор. Строим цикл из клеток (1, 3), (1, 1), (2, 1), (2, 2), (3, 2), (3, 3) Находим наименьшую из перевозок расположенных в клетках отрицательной полуцепи: 0 = х33 = 8О (или 0 = х22 = 80). Вычитаем 0 = 80 из перевозок отрицательной полуцепи и прибавляем к перевозкам положительной. Исклю- чив из цепи клетку (3, 3), в которой теперь х33 = 0, полу- чим новый набор, а с ним и новый план Х'\ 'х vi Щ 3 6 10 5 0 3 20 5 7 80 11 2 1 130 4 0 6 3 —2 5 8 120 12 7 50 —3 2) Исправление системы щ, Для клетки (/0, /0), вошедшей в новый набор, имеем
208 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV т. е. условие потенциальности (4.9) не выполняется, и надо исправить систему щ, Vj. Это можно было бы сделать, как описано выше, в предварительном шаге, построив вообще новую систему щ, Vj, но обычно новую систему ub vj проще построить путем следующего исправления старой. Для того чтобы для клетки (Zo, /0) выполнялось условие потенциаль- ности, уменьшим vj0 на величину а/о7о. Тогда для всех кле- ток (Zx^ jo), ... , (ZX/, /о)7о‘го столбца, вошедших в новый набор, кроме клетки (Zo, /0), условие потенциальности пере- станет выполняться и превратится в (f/o —«Мо) — «,•<fi/o G = Zxt, ... , Для того чтобы для этих клеток восстановить потенциаль- ность, уменьшим также числа uiK , ... , на aZ(b у0. Однако при этом мы нарушим потенциальность для клеток набора, расположенных в строках ZXj , ... , (кроме клеток /0-го столбца), так что соответствующие Vj надо будет уменьшить на а*о. /о и т- пока не бУДУТ выполняться условия потен- циальности (4.9) для всех клеток нового набора. Проиллюстрируем это на разбираемом нами примере. Для введенной в набор клетки (1, 3) не выполняется условие потенциальности (см. предыдущую таблицу). Для его восста- новления вычтем а13=3 из v3. Получим -и'= 10— 3 = 7. Так как в третьем столбце, кроме (1, 3), нет других клеток набора, то для остальных клеток набора потенциальность не нарушилась. Получили таблицу \уу ui 3 6 7 5 0 3 20 5 7 80 11 2 1 130 4 0 6 3 —2 5 8 120 12 7 50
§ 2] МЕТОД ПОТЕНЦИАЛОВ 209 3) Исследование на потенциальность новой системы и}, v'j производится так, как описано в п. 3) предварительного шага, путем сравнения разностей v] — щ с соответствующими с^. В нашем примере это исследование проводится так: ть — = 6 5 = с12, т?4 — zzj = 5 < 11 = f14, -и3 — zz2 — 5 < 6 = с23, 774 — ZZ2 == 3 === Сц, ?’1 — ZZ3 = = £31, ^3 — Из = 9 < 12 = с33. Новая система и» v'j не является потенциальной, и план X' нуждается в улучшении. Описанный общий шаг повторяем до тех пор, пока после конечного числа таких повторений не придем к оптималь- ному плану транспортной задачи. В нашем примере для получения оптимального плана, кроме первого шага, проделанного для иллюстрации, по мере описания алгорифма придется проделать еще два шага. Второй шаг. 1) Улучшение плана. Вводим в набор клетку (1, 2), для которой а12 = -и2— щ — с12=1^>0, строим замкнутую цепь из клеток (1, 2), (1, 1), (2, 1), (2, 2), отмечаем их попеременно знаками -{-и —: ui 3 6 7 5 0 — 3 + 5 7 80 И 20 2 + 1 — 4 6 3 130 0 — 2 5 8 120 12 7 50
210 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV и перемещаем из отрицательной полуцепи в положительную минимальную перевозку 0 = 0 отрицательной полуцепи. Полу- чаем план Vj щ \\ 3 6 7 5 0 3 20 5 0 7 80 11 2 1 130 4 6 3 —2 5 8 120 12 7 50 —1 —1 в котором перевозки не изменились, но в новый набор вместо клетки (2, 2) вошла клетка (1, 2). 2) И с п р а в л е н и е системы uif Vj. Для вошедшей в набор клетки (1, 2) не выполняется потенциальность. По- этому исправляем v%, вычитая из него а12=1: v'2 = Щ = 6 — 1 = 5. При этом нарушается потенциальность клетки (3, 2). Для ее восстановления вычитаем а12=1 из п3: и* = — 2 — 1 = — 3. После этого нарушается потенциальность клетки (3, 4), так что вычитаем а12 = 1 из -и4: < = 5—1=4. В четвертом столбце больше не содержится клеток набора, и исправление uif Vj на этом заканчивается, так что таблица
§ 2] МЕТОД ПОТЕНЦИАЛОВ 211 принимает вид 3) Исследование на потенциальность новой системы u'i, v’j. Новый план снова не оптимален, так как a3i = V} п3 c3i = 1 0. Третий шаг. 1) Улучшение план а. Вводим в набор клетку (3, 1), строим замкнутую цепь из клеток (3, 1), (3, 2), (1, 2), (1, 1), отмечаем их попеременно знаками -|- и — и перемещаем из отрицательной полуцепи в положительную наименьший эле- мент 0 = 20 отрицательной полуцепи. Исключив из цепи клетку (1, 1), получаем новый набор, а с ним и новый план:
212 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV 2) И с п р а в л е н и е системы щ, Vj. Для этого вычи- таем а31 =1 из vx и и2. Получим U; 2 5 7 4 0 3 5 20 7 80 11 1 1 130 4 6 3 —3 5 20 8 100 12 7 50 3) Исследование на потенциальность новой системы wz, Vj. Легко проверить, что система щ, Vj по- тенциальна, так что последний план оптимален. Стоимость перевозок по этому плану составляет w = 5-20 4-7.80-4- 1 • 130 Ц-5.20-]-8- 100-4-7.50 = 2040. 4. Построение первоначального плана методом мини- мального элемента. Условия задачи записываем в виде таблицы (4.5): си С12 ... С1П а1 С21 ^22 ... С2П «2 . . . . . . . . . СГП1 СТП2 стп ат Ь, Ьп ai
§ 2] МЕТОД ПОТЕНЦИАЛОВ 213 В методе северо-западного угла первоначальный план зави- сит лишь от величин и bj и совершенно игнорирует стоимо- сти перевозок, так что обычно он значительно отличается от оптимального. Приведем теперь для построения первоначаль- ного плана так называемый метод минимального эле- мента, в котором существенно учитывается матрица || Сц || транспортных издержек. В этом методе заполняются после- довательно клетки с минимальной во всей таблице стоимо- стью перевозки, а величины соответствующей пере- возки определяются точно так же, как в методе северо- западного угла, т. е. равняется минимуму из остатка груза в /-м пункте отправления и недостающего груза в /-м пункте назначения. Получим ациклический план, состоящий из не более чем т-\-п—1 положительных перевозок. Проиллюстрируем изложенное на примере построения первоначального плана задачи (см. стр. 201). Условия задачи даны в таблице таблице стоимостью. В нашем примере заполнение клеток производим в следующем порядке: = min { а^\ bY} = min { 130; 150 } — 130, -^22 == -^23 ~~~ -^24 == 0; далее хп = min { 100; 20} = 20, х31 = 0; затем x12 = min { 80; 120} =80, jv13 = x14 = 0
214 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV и, наконец, хп = min { 170; 50} = 50; х3.2 = min { 120; 40} = 40; х33 = 80. Получен первоначальный план 5. Обоснование метода потенциалов. При изложении в пре- дыдущих пунктах метода потенциалов мы опирались на ряд еще не доказанных фактов. Приведем теперь нужные обоснования. 1) Существование допустимого и оптималь- ного решений. Существование некоторого допустимого реше- ния транспортной задачи было доказано в п. 1 § 1. Существова- ние же оптимального решения будет следовать из доказываемой дальше в этом пункте монотонности и конечности алгорифма метода потенциалов. 2) Ацикличность оптимального плана. Приведем теперь доказательство утверждения п. 1 о том, что оптимальный план достаточно искать лишь среди ациклических. Для этого пока- жем, что любой план X— || хц\\ ту п, содержащий цикл, может быть заменен ациклическим без увеличения суммарной стоимости пере- возок. Действительно, пусть среди положительных элементов матрицы II xij II m, п некоторые образуют замкнутую цепь. Обойдем последо- вательно все клетки цепи, например, против часовой стрелки и от- метим их попеременно знаками + и —. Получим «положительную» и «отрицательную» полуцепи, причем Г (Г) будет означать, что сумма распространена на положительную (отрицательную) полуцепь. Пусть, например, и 0 — минимальный среди элементов х^ отрицательной полуцепи. Исправим наш план Х = || Xij ||m) вычтя 0 из всех х^ отрицательной полуцепи и при- бавив его ко всем х^ положительной полуцепи. Так как цепь со-
§ 2] МЕТОД ПОТЕНЦИАЛОВ 215 стоит лишь из звеньев, соединяющих по две клетки столбца или строки, из которых одна принадлежит положительной, а другая — отрицательной полуцепи, то по исправленному плану количество груза, направляемого в каждый пункт и вывозимого из каждого пункта, очевидно, не изменится, т. е. план X’ также является допу- стимым. Сравнение же стоимостей перевозок по обоим планам дает т п т п S C4Xij ~ S cijxij~\~ (Jj cij 2 cij) ° i=l 7=1 i = l 7=1 m n S Zj CijXij’ / = 1 7=1 откуда видно, что стоимость перевозок по плану X' не выше, чем по плану X, хотя в исправленном плане X' рассматриваемая замк- нутая цепь разомкнулась, так как выпала ведь клетка, содержав- шая элемент 6. Таким образом, количество циклов плана X уменьшилось в но- вом плане; продолжая аналогично, придем наконец к ациклическому плану со стоимостью перевозок, не превышающей стоимости по начальному плану X. 3) Ацикличность первоначального плана. Убе- димся в ацикличности первоначального плана, построенного по ме- тоду северо-западного угла, и в том, что он содержит не более чем т-\~п—1 положительных элементов. Будем пользоваться ин- дукцией по р = т~\-п. Для р = 2, когда m = zr= 1, имеем лишь один допустимый план X— || хп ||, который, очевидно, ацикличен и состоит из l = —1 элементов. Предположим утверждение верным дляр = т-|-п—1. Пусть, например, хп = min {яп Ьг} = я15 так что х12=-х^ = ... = x]zz = 0, и надо по методу северо-запад- ного угла построить первоначальный план для транспортной задачи с матрицей || Ц^-i, п> который по предположению ацикличен и со- стоит из не более чем (/п—1)4~и—1 положительных элементов. Но этот план вместе с х11 = а1 будет, очевидно, первоначальным планом исходной задачи, состоящим из не более чем т~\-п—1 положительных элементов, притом ацикличным, так как первая строка содержит лишь один положительный элемент х{1 и его при- соединение к нашему ациклическому плану не может породить ни одного цикла. 4) Двусторонняя оценка числа положитель- ных элементов ациклического плана. Для любого до- пустимого плана количество N положительных элементов, очевидно, не меньше чем maxjm, п}. Убедимся теперь, что для любого аци- клического плана количество N ограничено сверху числом т п — 1, так что если, например, т п, то п т~\~п — 1. Действительно, рассматривая каждую клетку (f, j) как вектор Р,7(а1( а,-..аот, аот+1, .... .... ат+п) ИЗ («1 + «(-мерного пространства с координатами а^ = ат+у ==1 и равными нулю осталь-
216 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV ними координатами, легко понять, что цикличность некоторого на- бора {(Z, j)} клеток означает линейную зависимость соответствую- щей системы {Pij} векторов и обратно. Это следует из того, что для обращения линейной комбинации векторов {Р^} в нулевой вектор необходимо и достаточно, чтобы в ее состав, кроме вектора вида Piijiy входили еще вектор Pt и вектор Pi j , а это озна- чает, что клетки {(/, /)} образуют замкнутую цепь. Любой же набор из т-\-п клеток является циклическим, так как вектор т п Q(-f, 7.., -1, СТ-Г), очевидно, ортогонален любому из наших векторов P/у, так что эти т~\~п векторов принадлежат (т-\-п—1)-мерному подпространству и, следовательно, линейно зависимы, т. е. набор цикличен. Таким образом, число N клеток ациклического набора меньше, чем т-\-п, т. е. — 1. 5) Нарушение ацикличности присоединением дополнительной клетки. Покажем теперь, что присоедине- ние к ациклическому набору из т-\-п— 1 клеток дополнительной клетки (70, у0) порождает в новом наборе из т~\~п клеток един- ственный цикл. Действительно, ацикличность некоторого набора {(Z, у)} из т-^п— 1 клеток означает линейную независимость соответствую- щего множества {Р^} из т-\-п—1 векторов, являющегося, таким образом, базисом (т-\-п—1)-мерного пространства всех векторов P/у. В силу того, что каждый не принадлежащий базису вектор Pi j однозначно представляется линейной комбинацией т~\~п — 1 базис- ных векторов, присоединение к соответствующему ациклическому набору из т-\-п — 1 клеток новой клетки (Zo, /0) образует набор, содержащий единственный цикл. 6) Ацикличность нового набора. Тот факт, что ис- ключение из цикла некоторой клетки (/', j') дЬ (/0, у0) снова приво- дит к ациклическому набору, обосновывается так: вектор Р/оуо, как было уже отмечено, однозначно представим в виде линейной ком- бинации т-\-п—1 векторов базиса. Цикл образуется, очевидно, вектором Р;оуо и теми из векторов базиса, которые в эту линейную комбинацию входят с отличными от нуля коэффициентами. Поэтому исключение из нее вектора Р.,у, приведет к линейно независимой системе из т~\~п—1 векторов, так как в противном случае век- тор Piojo имел бы два различных представления через базисные векторы. 7) Монотонность алгорифма, т. е. неувеличение стои- мости перевозок по плану X', полученному по алгорифму из пред- шествующего плана X, доказывается непосредственным подсчетом. Действительно, пусть, например, цикл образован из клеток (Ч> Ji), (G> Ji)> (*2> Л)> 0*з> /г)> •••> (Ц> Js-i)> Js)
§ 21 МЕТОД ПОТЕНЦИАЛОВ 217 ациклического набора присоединением клетки (z0> Л) = (4, 4)> Для которой а. • ==V; - U: -- С; ; >0. *070 Jo lojo Тогда, обозначив через У сумму, распространенную на все клетки, не вошедшие в цикл, получим для стоимости w' перевозок по но- вому плану X' выражение т п s z' “ 2 2 ci)J\ (Xi)j\ + i=lj=l X = 1 s — 1 + ZT c>x+iJx (xQ+i/x + + chh? = x=i m n s s—1 ~ S Ij C4XiJ S С4Д0 + Jj cix+l/X0 + CaZse== /=1.7=1 X=1 X = 1 = Z 4- 0 (C; j — C; j 4- C; ; — Ci ; 4- C; : — ... 1 V 14 14 1 271 44 1 44 ... — C; / 4- Ci j — Ci , ) = Z 4-0 k; / — (V; — Ui ) 4- 1 44-i 44' ~ 14 v 4 i 1 + ~ ~ ~ + • • • + (vjs л - - (vJs - Щ)] = ==г + °1%4“ (%-%)1 ^4 так как О 0, Ci i — (V; — Щ ) = Ci f — V; 4- Щ = — a, . < 0. ’ 44 4 г Vo 4 1 4 Vo 8) Вырождение в транспортной задаче. Транс- портная задача, как задача линейного программирования, также может оказаться вырожденной. При пользовании алгорифмом ме- тода потенциалов вырождение может привести к равенству нулю минимального элемента 0 отрицательной полуцепи, так как выро- жденность в случае транспортной задачи, как нетрудно убедиться, означает, что среди ациклических планов есть хотя бы один, со- держащий менее чем т~\~п — 1 положительных элементов. Можно показать, что необходимым и достаточным условием вырожденности транспортной задачи является наличие такой группы из р < т пунктов отправления, суммарный запас груза которой точно равен суммарным потребностям некоторой группы из q < и пунктов назначения: Р<т q<zn 2 %= 2 4- /? = ] R /г=1 R Для предупреждения в случае вырожденной задачи возможно- сти зацикливания, т. е. возвращения к ранее встретившемуся плану, рассмотрим, наряду с исходной вырожденной задачей, так называе- мую е-задачу с той же матрицей С = || с^ ||т> что и исходная, но с новыми запасами грузов в пунктах отправления «<(£) = °< + е (1=1, 111)
218 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. (V и новыми потребностями пунктов назначения ( bj приучи, М£)=1 А | I bj-\- те при j — п, где е — достаточно малое положительное число. Для е-задачи, очевидно, выполняется равенство т п 5 а'' = Л bi <е)> /=1 у=1 но е можно подобрать так, чтобы не равнялись между собой ни- какие частные суммы вида р q У ai. (Е) и У bj (е) (р < т, q< п). s=i “ *=1 * Действительно, равенство частных сумм р q у а, (е) = У bj (е) k=\ * k=\ R может произойти либо в случае, когда р q У at +^= У bj k = \ R k=\ R либо когда p q у <4 + pi = У bj -\-me. k = \ R k—\ R Выбрав £ отличным от корней этих уравнений, мы исключим воз- можность вырождения. На практике надо выбрать е>0 лишь достаточно малым, b обычно меньшим, чем ^,где б — единица последнего значащего разряда и bj. 9) Конечность алгорифма. Для невырожденной задачи конечность алгорифма следует из его монотонности, не допускающей возвращения к уже встретившемуся допустимому плану, и из ко- нечности числа ациклических планов. Для вырожденной же задачи, когда 6 = 0, строгая монотонность нарушается и, как уже отмечалось, появляется возможность воз- вращения к ранее встречавшемуся плану, т. е. возможность заци- кливания. При этом процесс может стать бесконечным. Во избежание зацикливания можно наряду с исходной задачей рассмотреть соответствующую ей невырожденную s-задачу (как по- казано выше). В силу совпадения матриц издержек С = || C}j||m> п исходной и £-задачи, а также малости е, совпадают также наборы клеток с первоначальными планами обеих задач, вводимые в набор
§ 3] МАКСИМАЛЬНЫЙ ПОТОК В СЕТИ 219 клетки (Zo, Jo) обеих задач, замкнутые цепи (циклы), а также поло- жения в отрицательных полуцепях минимального элемента, пере- носимого по цепи. Переходу от плана X (е) к плану X' (е) в e-задаче соответст- вует переход от плана X к плану X’ в исходной задаче, и получен- ному через конечное число шагов оптимальному плану е-задачи соответствует полученный через такое же число шагов оптималь- ный план исходной задачи. Как отмечает С. Гасс [4], до настоящего времени не обнару- жено ни одного примера транспортной задачи, приводящего к за- цикливанию. 10) Целочисленность решения. В п. 3 § 2 было пока- зано, что в случае целых неотрицательных ai и bj (i = l, ..., ш; /=1, ..., и) первоначальный план состоит из целых неотрицатель- ных перевозок х^. Как следует из правил построения плана X’ из плана X (0 целое и минимальное в отрицательной полуцепи), все так построенные планы состоят из целых неотрицательных пере- возок. Таким образом, и полученный этим алгорифмом оптималь- ный план также состоит из целых неотрицательных перевозок. § 3. МАКСИМАЛЬНЫЙ ПОТОК В СЕТИ 1. Постановка задачи. Пусть задана сеть, состоящая из точек-вершин Ро, Р1у ..., РПУ Pn+i и из некоторого количества звеньев-дуг (Piy Pj)y соединяющих некоторые упо- рядоченные пары Piy Pj этих точек (рис. 12). Звенья (Pf, Pj) и (Ру, Р£) называются симметричными. Рис. 12. По путям |±(Р0, АР А2> •••> P«+i), составленным из звеньев (Ро, РХ1), (РХ1, РХ2), ..., (P/fe, Рл+1) сети и не образующим петель, направляется жидкость, газ или транс- порт из точки Ро — входа сети в точку Рл+1 — выхода сети. Каждой упорядоченной паре точек Рх«, Ру-(/= 0,1, п-у
220 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV 7 = 1, ..., п 1) отнесено неотрицательное число atj, называе- мое пропускной способностью звена (Pz, Pj) и определяю- щее максимальное количество вещества, которое может пропу- стить за единицу времени звено (Pz, Pj), причем если какая- то пара точек Pz и Рт не соединена звеном, то а1т = 0. Потоком Хи по звену (Pz, Pj) (1 = 0,1,..., n*J =1,..., n-f-l) называется количество вещества, проходящего через это звено в единицу времени. Будем считать, что потоки удо- влетворяют ограничениям: Ъ ^dij (Z = 0, 1, л; 7=1, ..., л-]-1)’ (4.Ю) n n-\-1 = 0 (i=l, (4.И) fe=o 7=1 Ограничения (4.10) означают, что поток по каждому зве- ну (Pz, Pj) неотрицателен и не превышает его пропускной способности. Ограничения (4.11) означают, что количество вещества, притекающего в каждую точку (кроме Ро и Рд+1), равно количеству вещества, вытекающего из Pt. Из ограничений (4.11) следует, что общее количество ве- п-\-1 щества вытекающего из Ро, совпадает с общим ко- 7=1 п личеством вещества xit п+1, притекающего в Рл+1, т. е. i=0 п-\-1 п 2 -^07 = 2 хi’ «+1 == (4* 12) 7=1 i = o Линейная форма z называется величиной потока в сети. Поставим задачу об отыскании максимального потока в септи, ч. е. об отыскании такого решения x*j (Z = 0, 1,... п\ j=\, ..., n-j-1) системы (4.10)—(4.11), которое максимизи- рует линейную форму (4.12). Поставленная задача является, как видим, задачей линей- ного программирования и может быть решена, хотя и гро- моздко, симплекс-методом. Частным случаем рассматриваемой задачи является задача отыскания максимального потока транспорта по заданной транспортной сети, В последней задаче пропускные способности ац звеньев задаются целыми числами и решение ищется целочисленное.
§ 3] МАКСИМАЛЬНЫЙ ПОТОК В СЕТИ 221 Ввиду специфики ограничений задачи о максимальном потоке, для ее решения созданы специальные алгорифмы, более эффективные, чем алгорифм симплекс-метода. Один из них [38а] (см. также [5]) приводится ниже. 2. Алгорифм. Введем некоторые предварительные поня- тия. Разобьем множество всех точек сети на два непересе- кающихся подмножества U и V с обязательным условием, чтобы Ро (Е и С Выделим множество всех звеньев, выходящих из U и входящих в У, назовем его разрезом сети и обозначим через (U, V). Пропускной способностью разреза (U, V) назовем число A(U, V)= аИ- (4-13) Pi € U, Pj € V Разрез с наименьшей пропускной способностью назовем ми- нимальным. При любой величине потока z и любом раз- резе (7/, V) каждая частица вещества, движущаяся из Ро в Pw+i, обязательно пройдет хотя бы по одному звену раз- реза (£7, У), так что в Рп+1 может за единицу времени по- пасть из Ро количество вещества, не превышающее пропуск- ную способность разреза, т. е. z^A(U, У). (4.14) Приступим теперь к изложению алгорифма. Предварительный шаг. Записываем условия задачи в виде следующей таблицы: Ро . . . Pi ... Pj • . . P/i+i Ро aoi . . . aoj . . . flo, n+i . . . Pi a io aij ai, n+1 , (4.15) . . . Pj djo afl aj, n+1 . . . ап rl, 0 an 1, i anA-i, j
222 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV в верхней строке и левом столбце которой перечислены все точки сети, а в остальных клетках проставлены соответ- ствующие пропускные способности а^ звеньев сети. При этом, если Pz и Pj соединены звеном, то даже в случае, когда в одну сторону пропускная способность равна нулю, например, azy^>0, ayz = 0, следует в клетке (/, I) простав- лять нуль. В случае же, когда azy = ayz = 0, мы клетки (/, j) и (у, i) не заполняем. Для получения максимального потока в сети надо, оче- видно, найти все различные пути, по которым вещество может поступать из Ро в Рл+1, и полностью использовать их пропускные способности. При этом следует учесть, что если звено участвовало в некотором пути, то оно может участво- вать и в последующих путях, но уже с измененной про- пускной способностью. Каждый обнаруженный путь и его пропускная способ- ность запоминаются с помощью соответствующего, указан- ного ниже, преобразования таблицы (4.15). Общий (k-й) шаг. Общий шаг алгорифма состоит из сле- дующих двух действий: 1) отыскания по таблице вида (4.15) при помощи отметок строк и столбцов нового пути из Ро в Рл+1 с одновременным определением пропускной способности этого пути; 2) вычисления новых пропускных способностей всех звеньев найденного пути и симметричных с ними и сти- рания всех отметок. 1) Отыскание нового пути и его пропускной способности производится по следующей схеме. Отме- чаем Р0-й столбец и Р0-ю строку знаком *. Просматриваем затем Агю строку, находим в ней все заполненные клетки с aoz О и отмечаем соответствующие Pz-e столбцы, содер- жащие эти клетки, пометками (0, ht = aQi) (т. е. находим все звенья (Ро, Pz), которые могут служить первыми звеньями различных путей из Ро в Рп+ь причем ht — соответствующие пропускные способности этих звеньев). Той же пометкой, которой отмечен каждый Ргй столбец, отмечаем и соответ- ствующую Рг-ю строку. Просматриваем любую отмеченную строку, например PZo (следовательно, ее пометка (0, /zZo)), и каждый ранее неотмеченный Ру-й столбец, содержащий клетку с aiQj ф 0, отмечаем пометкой (i0, /zy = min {/zZo, aioj}) (т. e. находим все звенья (PZo, Ру), которые могут быть вторыми в искомых путях; //у — пропускные способности частей этих
§ 31 МАКСИМАЛЬНЫЙ ПОТОК В СЕТИ 223 путей, составленных из звеньев (Ро, Р/о), (Pt’o, Р;)). Отмечаем затем каждую Р7-ю строку той же пометкой, что и соответ- ствующий Р7-й столбец. Переходим к следующей отмеченной строке и т. д. до тех пор, пока а) либо отметим Рл+рй столбец (т. е. найдем некоторое зве- но, например (Р$0,Рл+1), являющееся последним в искомом пути), так что построен некоторый путь из Ро в Рл+1 (отыскиваемый по отметкам), пропускная способность которого равна 9* = ft„+i = min{ftSo, aiOi„+i}> б) либо процесс отметок нельзя продолжить до отметки Рл+Гго столбца, так как в клетках, принадлежащих отмечен- ным строкам и неотмеченным столбцам, нет отличных от нуля чисел. В случае а) переходим к действию 2). В случае б) не существует нового пути из Ро в Рл+1 и алгорифм закончен. 2) Вычисление новых пропускных способ- ностей звеньев найденного пути и симметрич- ных с ними производится так: пропускные способности всех звеньев найденного пути уменьшаем на f)k, а пропускные способности симметричных звеньев увеличиваем на 0Л. Начи- наем этот процесс с Рл+гго столбца. По его отметке, напри- мер (s0, hn+l = dk), находим в этом столбце клетку (PSo, Рл+1) и вычитаем bk из записанного там числа aSQ> п+1 0 (т. е. уменьшаем на Gk пропускную способность последнего звена (Р$о, Рп+1) найденного пути). Переходим затем к симметрич- ной клетке (Рл+1, Р$о), расположенной в Р$0-м столбце, и при- бавляем к записанному там числу an+l Sq (т. е. увеличи- ваем на Qk пропускную способность звена (Pn+1, PSo), сим- метричного звену (PSo, Pn+i)). По отметке PSQ-ro столбца (он отмечен, так как иначе не была бы отмечена Р5о-я строка И Рл+гй столбец не получил бы отметки (s0, /гп+1)), напри- мер (Zo, hSo), находим в нем клетку (PZo, Р5о) и вычитаем 0^ из aioSo (уменьшаем на Qk пропускную способность предпослед- него звена (Р/о, Р$о))- Переходим к Р/0-му столбцу и при- бавляем Qk к aSolQ. Затем по отметке PiQ-ro столбца нахо- дим следующее звено найденного пути, уменьшаем на Qk его пропускную способность, увеличиваем на пропускную спо- собность симметричного звена и т. д., пока не придем к Р0-му столбцу и не увеличим на Qk пропускную способность звена, симметричного первому звену в найденном пути.
224 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Таким образом, каждому звену (Р£, Pj) найденного пути и симметричному ему звену (Ру, Р£.) будут в таблице соот- ветствовать новые числа, которые надо считать новыми про- пускными способностями этих звеньев. Действительно, кроме найденного пути, звено (Р;, Ру) может быть использовано еще раз в последующем новом пути, но, очевидно, с пропускной способностью, уменьшенной на (т. е. равной — 0fe). Звено же (Ру, Рг) может быть использовано в некотором последующем пути, если отказаться от найденного пути, в котором используется звено (Р/, Ру). Если рассматривать пропускную способность дуги, как то количество вещества, которому эта дуга позволяет очутиться в ее конце за единицу времени, то звено (Ру, Р;) не будет препятствовать доставке в Pi количества ац вещества по новому пути (с использованием этого звена) плюс количества Qk вещества по части старого пути (найденного в 1)) от Ро до (так как пропускная способность всех звеньев старого пути не меньше 0Д т. е. Pz можно соединить с Ро двумя путями. Получается, что звено (Ру, Pf) якобы заменяется новым с пропускной способностью а л G*. На рис. 13 старый путь [1 (Ро, Л, Pz, Ру, Р, Рл+1) использует звено (Рг-, Ру), а новый [1(Р0> a, Pj, Pit b, Pn^) использует симметричное звено (Ру, РД и Р; соединена с Рс двумя путями: 1) р.(Р0, а, Ру, Р/) и 2) [т(Р0, Л, РД
§ 3] МАКСИМАЛЬНЫЙ ПОТОК В СЕТИ 225 Остановимся еще на способе запоминания путей и их про- пускных способностей в описанном общем шаге алгорифма. Очевидно, все звенья старого пути ji (Ро, A, Pif Pj, В, Рп+1) и его пропускная способность запоминаются тем, что из всех пропускных способностей звеньев этого пути вычитается и в рассматриваемой в следующем шаге новой задаче уже фигурируют новые пропускные способности. Обеспечено также неповторение старого пути, так как одно по крайней мере из его звеньев имеет теперь нулевую пропускную способность. Если в новом пути ji(P0, а> Рр Рц Ь, Рп^ (см. рис. 13) с пропускной способностью Qk+l, где, например, 0^+1 ис- пользовано симметричное звено (Pj, Р^, то это означает, что старый путь р- (Ро, A, Pz, Pj, В, Pn+i) не исполь- зуется, а вещество направляется по следующим трем путям: 1) по |±(Р0, я, Рр Pi> b> Рп+1) с пропускной способностью ®k+i 2) по р- (Ро> а> Рр В, Рп+1) с пропускной способностью 3) ПО (Ро, A Рр Ь, Рп+д с пропускной способностью По этим трем путям будет в РплА доставлено в единицу времени количества вещества. Это равносильно тому, что по старому пути |±(Р0, А Рр Pj, В, Рп+д достав- лено 0^, а по новому |±(Р0, а> Pj> Pi,b, Pn+i) доставлено количества вещества. После вычисления пропускных способностей звеньев сти- раем все отметки в таблице и применяем общий шаг к пре- образованной таблице, повторяя его до тех пор, пока не при- дем к таблице, в которой пет ни одного пути из Ро в Рл+1. Для определения полученного потока хц (I, / = 0, 1, п-]-1) вычтем из всех элементов первоначальной таблицы пропу- скных способностей звеньев соответствующие элементы таб- лицы, полученной на последнем шаге. Положительные значения найденных разностей и определяют, очевидно, вели- чины потоков по звеньям, а величина потока в сети вы- числяется по формуле (4.12). Убедимся, что для окончательного потока, полученного применением изложенного алгорифма, имеет место следующее утверждение: 8 С. И. Зуховицкий, Л. И. Авдеева
226 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Если х^О, то по симметричному звену {Pj, PJ (z, /=0, 1, n-f-l) яе/n потока. Действительно, пусть по всем путям, проходящим через звено (Pz, Pj), пропускается суммарно количество вещества 0'. Это означает, что пропускная способность этого звена стала равной а^-— О', а звена (Ру, PJ стала равной Пусть, кроме того, по всем путям, проходящим через звено (Ру, PJ, пропускается суммарно количество в" (0"<^0'), сле- довательно, пропускная способность этого звена в итоге стала равной Uji 6' — 6", а звена (Pz, Ру) стала равной atj — 9' -|- Отсюда уже видно, что при = аи — (аи — 9' + 0") = 9' — 9'' > 0 будет обязательно ха = ац — (ал +0' —0'') =0" —0' < °, т. е. по звену (Ру, PJ нет потока. 3. Обоснование алгорифма. По построению алгорифм обрывается, как только получена таблица, в которой нельзя построить ни одного пути из Ро в Рп+1, Покажем, что полу- ченный таким образом поток является максимальным. Для этого построим разрез (6/*, V*) следующим образом: Ро £ 6/*, а при k ф 0 пусть Pk £ Z7* тогда и только тогда, когда Pk достижимо из Ро, т. е. когда существует некоторый путь [±(Р0, Piv Pi2, ..., Pk) из точки Ро в Pk; остальные точки сети (недостижимые) отнесем к V*. Так как не существует никакого пути из Ро в Рп+1, то Рп+1 £ V*. Пусть точка Pf £ £7* связана звеном с Ру £ У*. Так как из Ро в Рг- существует путь, а из Ро в Ру его нет, то это означает, что в окончательной таблице пропускная способность звена (Pz, Ру) равна нулю. Следовательно, либо х^ — а^ и Ху; = 0, либо xZy = 0, так как aZy = 0 и ф 0, но (Ру, PJ не используется. Поэтому величина z потока из £/* в У* (или, что то же, из Ро в Pn+J определяется равенством С другой стороны для пропускной способности Д((7*, У*)
§ 3] МАКСИМАЛЬНЫЙ ПОТОК В СЕТИ 227 разреза (6/*, V*) имеем Л(£7*, v*) = 2 аи- р. е и*, р. е и* Таким образом, величина полученного потока z равна пропускной способности разреза (67*, V*), а так как по (4.14) для произвольного потока z и произвольного разреза (67, V) z^A(U, V), то равенство величины потока пропускной способности раз- реза означает, что величина полученного потока z максимальна, т. е. z — z^, хц = Хц (I, j = 0, 1, ..., п Ц- 1), а разрез (6/*, V*) минимальный, т. е. Л(67*, l/*) = min 4(67, V). (4.16) (U, V) Задачу отыскания минимального разреза будем считать двойственной к задаче об отыскании максимального потока; таким образом, доказана . Теорема двойственности. Величина максималь- ного потока в сети равна пропускной способное ти ми- нимального разреза. 4. Пример. Дана сеть с входом Ро и выходом Р7, по ко- торой направляется вещество. Пропускные способности всех Рис. 14. звеньев указаны на рис. 14. Определить максимальную вели- чину потока из в Р7. 8*
228 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Предварительный шаг. Составляем таблицу (0,2) (0,5) (0,2) (0,3) (1,2) (1,2) (3,2) Ро Pl р2 р3 Pt р5 Ро Р; 1 Ро 2 5 2 3 0 3 2 2 р3 0 1 1 4 3 рг 0 1 2 5 4 Рь 0 2 2 Р; 4 2 0 1 4 Р. 2 4 3 0 3 Р, 0 0 0 Первый шаг. 1) Находим путь из Ро в Р7. Отмечаем Р0-й столбец и строку знаком *. Просматриваем Р0-ю строку, в которой отличны от нуля числа а01, а02, а03, а04. Поэтому отмечаем Ргй столбец пометкой (0, а01 = 2) (см. таблицу), Р2-й столбец — пометкой (0, а^ = 5) и т. д. После отметок столбцов теми же знаками отмечаем и соответствующие строки. Просматриваем затем отмеченную Ргю строку^ в которой в неотмеченных столбцах записаны числа ап = 2 0 и а16 = = 2 0, и отмечаем Р3-й и Р6-й столбцы, а затем и строки, соответственно пометками (1, min {2, = 2}) = (1, 2) и (1, min {2, а16 = 2}) = (1, 2). Продолжая процесс отметок,при- ходим к Р3-й строке и, просматривая ее, отмчаем Р7-й столбец пометкой (3, min {2, £г37 = 4}) = (3, 2). Таким
МАКСИМАЛЬНЫЙ ПОТОК В СЕТИ 229 § 31 образом, путь (PQ,..., Р7) построен и его пропускная способность равна 0t = 2. 2) Вычисляем новые пропускные способности звеньев най- денного пути и симметричных с ними. По пометке Р7-го столбца находим в таблице клетку (Р3, Р7) и вычитаем = = 2 из а37 = 4; затем переходим к Р3-му столбцу и прибав- ляем 0! к а13 = 0. По пометке (0, 2) Р3-го столбца находим клетку (Ро, Р3), вычитаем 9, из а03 = 2 и прибавляем к я30 = 0. Получаем таблицу (без пометок) На втором шаге делаем отметки так, как показано в предыдущей таблице (после первого шага). После выполне- ния второго шага получаем путь |±(Р0, с про- пускной способностью 9.2~2 и таблицу
230 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Ро Pi Ро Pi Ро Ро Pi Ро 0 5 0 3 Pi 2 3 0 2 р2 0 1 4 3 Ро 2 2 5 2 Pi 0 2 2 Ро 6 2 0 1 2 Ро 2 4 3 р, 2 2 0 В следующих трех шагах строим пути: [±3 (Ро, Р8, Р7) с 03 = 2, 14 (Л), А, Р7) с 04 = 3 и [х8(Р0, Р4, Р3, Р7) с 03 = 2. В полученной на пятом шаге таблице (см. верхнюю таб- лицу на стр. 231) уже нельзя найти ни одного пути из Ро в Р7, так что остается лишь найти потоки х^ по звеньям сети и величину z максимального потока. Вычитаем из элементов первой таблицы соответствующие элементы последней таблицы и вносим в таблицу лишь по- ложительные из найденных разностей. Получим нижнюю таблицу на стр. 231, указывающую максимальный поток с величиной z* = Xli 4- х& 4- xh = 4 4 4- 3 = 1 h
§ 3] МАКСИМАЛЬНЫЙ ПОТОК В СЕТИ 231 Ро Р1 р2 Р3 Ро р5 Ро р? Ро 0 0 0 1 р> 2 3 О 2 р2 5 1 2 0 р8 2 4 5 0 Ро 2 0 2 р5 6 4 0 1 О Ро 2 7 3 0 0 Р? 4 4 3 Ро I ! 1 р2 рз | Ро | Ро I р7 Ро 2 5 2 2 Рз 2 р2 । 1 । 2 3 Рз 4 Ро 2 р5 4 Ро 3 р?
232 ТРАНСПОРТНАЯ ЗАДАЧА [ГД. IV § 4. РЕШЕНИЕ ТРАНСПОРТНОЙ ЗАДАЧИ МЕТОДОМ ПРИБЛИЖЕНИЯ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ В этом параграфе для решения транспортной задачи при- водится алгорифм приближения условно-оптимальными пла- нами [38 6], [18], [22 а] (венгерский метод), на каждом шаге которого решается так называемая задача о потоке [38 6]. Эта же задача применяется для построения решения транспорт- ной задачи по критерию времени [22 6]. 1. Задача о потоке, а) Постановка задачи. Пусть в данных т пунктах Alf ..., Ат производится некоторый про- дукт в количествах соответственно аь а%, ..., ат единиц. Этот продукт следует доставить в п заданных пунктов на- значения Вь ..., Вп, потребляющих его соответственно в количествах ..., bn единиц. Некоторые пункты производ- ства не соединены путями с некоторыми пунктами назна- чения и множество {(Z, /)} пар индексов (Z, J) таких, что Аг-й пункт производства не соединен с Bj-m пунктом назначения, обозначим через 2. Обозначив через количество единиц продукта, выво- зимого из пункта Ai в пункт Bj, сформулируем задачу о по- токе как задачу отыскания системы чисел {xz*} (Z=l, т; 7=1, .п), удовлетворяющих ограничениям т У Xij^bj (j= 1, п) /--=1 и условиям хи О (/ = 1,..., т\ и); — 0 для всех (z, /) £ 2 и максимизирующих линейную форму (i.j) (4.81)
§ 41 ПРИБЛИЖЕНИЕ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ 233 Заметим, что если для некоторого допустимого плана {х{Д выполнены условия ;=i или условия У, x'ij = bj (J= 1 = 1 т. е. весь произведенный продукт вывозится или все потреб- ности удовлетворяются, то этот план оптимален, так как для него очевидно т У, х'у= У а; (i,j> *==1 ИЛИ S XiJ~ S j=\ а правые части этих равенств ограничивают максимизируе- мую целевую функцию (4.18) сверху. Задача о потоке может быть сведена к задаче о макси- мальном потоке § 3 следующим образом. К сети, которая образована пунктами производства Д. (Z=l,..., т)у пунктами назначения Ву(/= 1,..., п) и дугами (звеньями) (Az, Bj), присоединим фиктивный вход До и фиктивный выход Bn+i (рис. 15). Вход Ао соединим с каж- дым пунктом производства А; дугой (До, Az) с пропускной способностью, равной а каждый пункт потребления Bj соединим с выходом Вп^ дугой (5;, ВплА) с пропускной способностью, равной bj. Пропускные же способности дуг (4Z, Bj) при (Z, у) £ 2(Z^£ 0; /^£п-]-1) положим равными оо, а пропускные способности дуг (Д£, Bj) при (Z, /) £ 2 (Z 0, ] ф п-\- 1) положим равными 0. Убедимся, что решение полученной задачи о максималь- ном потоке на сети рис. 15 порождает искомое решение за- дачи о потоке. Действительно, пусть {x*j\ (Z = 0, / = 1,..., п -{- 1) — решение задачи о максимальном потоке. Тогда {х*Д
234 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. fV (/=1, т\ /=1, п) удовлетворяет, очевидно, (4.17). Предположим, что {x*z} (Z=l, ..., nr, /=1, ...,п) не максимизирует форму (4.18), т. е. что существует план {х-7} (Z=l,.,., nr, J=l, ..., п), удовлетворяющий (4.17), такой, что У, *»*< S x‘j- [i.jY U, j} i 0; j ф n 4- 1 i 0; j -ф n 1 Тогда поток {x^-} (/ = 0, 1,..., nr, /=1,..., п-|-1)посети (см. рис. 15), где n m Xoi= ^x'ij (i= xj, „+1 = \ x'i;, (j — 1,..., л), /=1 ;=i имеет величину большую, чем поток {хг*} (Z = 0, 1,...,/п; j—\, ..., п, так как т т S xfa= У, xg< У Xtj= У х'т, i=l (i, р {i, j) /=1 0; j ф n -f- 1 i’40; 4 I т. e. {x*j] (z = 0, 1, ...,/n; /=1,...,и, n-j-1) не является решением задачи о максимальном потоке. Полученное проти- воречие доказывает утверждение. Сведение задачи о потоке к задаче о максимальном по- токе увеличивает ее размеры. Ниже для решения задачи о
§ 4] ПРИБЛИЖЕНИЕ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ 235 потоке приводится алгорифм [38 6], в котором размеры этой задачи не увеличиваются. б) Алгорифм. Алгорифм состоит из предваритель- ного и общего шага. Предварительный шаг. Записываем условие задачи в виде таблицы в которой исключены (перечеркнуты) все клетки (Z, j) £ 2 и которая дополнена двумя столбцами и двумя стро- ками Wy, Ху. В предварительном шаге отыскивается какой-нибудь план удовлетворяющий (4.17); таков, например, план {xz/ = 0} (/=1, т; /=!,..., п). Общий шаг. Общий шаг алгорифма состоит из следую- щих действий: 1) отметка некоторых строк и столбцов; 2) выделение из полученного на предыдущем шаге плана некоторой последовательности чисел Х/о.-о, х/о7- xikjk, подлежащих изменению; х. lk
236 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV 3) улучшение плана {х/у-} (Z = 1, ..., т\ /=1, ...л и). 1) Отметка строк и столбцов. Пусть уже найден допустимый план xij(t=\) m; /=1, ..., и). Процесс отметок начинается с отметки каждой Z-й строки, для кото- п рой xij<:Zai^Y Эти строки отмечаем числами j =1 = У xijt [1,. = 0. 7=1 Строки Z, для которых определены vt и р.., будем назы- вать отмеченными. Каждая Z-я отмеченная строка используется для отметки тех еще не отмеченных у-х столбцов, в которых находится хотя бы одна клетка (Z, у) "^2. Эти столбцы отмечаются чис- лами = kj = l. Каждый отмеченный столбец j используется в свою оче- редь для осуществления отметок еще не отмеченных строк. Для этого среди указанных строк выбирается каждая, в ко- торой находится клетка (Z, у) с Хц 0 (у-й столбец отмечен), и этой строке присваивается отметка Vi — min {Wj, Хи}, pz = j. Вновь отмеченные строки используются для отметок еще неотмеченных столбцов. Процесс отметок продолжаем до тех пор, пока либо будет отмечен некоторый столбец у0, Для ко- торого т 1 = 1 7 о либо процесс отметок продолжить нельзя. В первом случае переходим к действию 2); во втором случае заключаем, что полученный план xtj оптимален. *) Если таких строк нет, то допустимый план оптимален.
§ 4] ПРИБЛИЖЕНИЕ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ 237 2) Выделение последовательности Х/о7-0, xiQjv •••’ xik_iik> xikJk (п°Длежащей изменению). Пусть в процессе пометок оказался отмеченным столбец /0, для которого Хи <^bj и Wj =vi > =z’o- Тогда nep- i = 1 вым членом искомой последовательности берется число у . Пусть = min {w^, xij^ P-/0=7i- Тогда вторым членом последовательности берется число xij • Пусть tWj^ = vi^ — = iY. Тогда третьим членом последовательности берется чис- ло xij^ Построение последовательности заканчивается, как только получено число j, такое, что 14=0- 7=1 3) Улучшение плана {х/7} (/ = 1,..., j— 1, ..., п). Для отыскания нового плана {х/;} изменяем числа вы- деленной последовательности следующим образом. Находим f=min{w/o, bf — xijo\. i = 1 Далее, числа xiQjQ, xilji> • • •, Увеличиваем на величину а числа xiQj, xik ijk уменьшаем на величину v. При таком изменении плана целевая функция увеличится на v единиц. Нетрудно убедиться, что после конечного числа шагов придем к случаю, когда процесс отметок продолжить нельзя и ни один столбец / с xtj bj не отмечен. Это — приз- нак оптимальности плана. Действительно, шаг описанного алгорифма полностью совпадает с шагом алгорифма для за- дачи о максимальном потоке с сетью рис. 15, так что не- возможность отыскания новых пометок означает невозможность построения нового пути из Ло в Вп+1 по дугам с ненулевой пропускной способностью, а это является критерием опти- мальности в задаче о максимальном потоке.
238 ТРАНСПОРТНАЯ ЗАДАЧА [ГД. IV в) Пример. Пусть условие записано в таблице 1 2 3 4 di Vi [ii х х 10 х х 12 х X 11 х х 17 17 10 12 8 Построим первоначальный план методом северо-западного угла (п. 3 § 2). Получим таблицу 1 2 3 4 ai Vi P-i 1 10 х X 0 10 2 X 10 2 X 12 3 7 х 4 X 11 4 X 0 х 8 17 bi 17 10 12 8 Wj Первый шаг. 1) Отметка строк и столбцов. От- мечаем 4-ю строку, для которой х42 4-^44 = 8<^ 17, числами р4 — 17 — 8 = 9, [i4 = 0. Обращаемся к отмеченной строке и отыскиваем в ней клетки (4, Отмечаем второй и чет- вертый столбцы числами = 9, Х2 = 4, w4 = 9, Х4 = 4.
§ 4] ПРИБЛИЖЕНИЕ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ 239 Рассматриваем второй и четвертый столбцы и в них на- ходим те клетки, для которых 0 и х/4 0. С помощью отмеченных второго и четвертого столбцов отмечаем вторую строку числами T/2 = min{w2, x22} = min{9, 10} = 9, ji2 = 2. Вновь отмеченная строка (вторая) позволяет отметить третий столбец числами w3 = 9; Х3 = 2. Получаем таблицу 1 2 3 4 ai vi щ 10 х X 0 10 X 10 2 X 12 9 2 7 X 4 х 11 X 0 X 8 17 9 0 17 10 12 8 9 9 9 4 2 4 4 Мы отметили третий столбец, в котором х/з ^з- / = 1 2) Определение последовательности чисел х/у, х^, ..., xik xikjk> Третий столбец отмечен при помощи второй строки. Поэтому = х23 = 2. Вторая строка отмечена при помощи второго столбца. Поэтому у = х22 = = 10. В свою очередь второй столбец мы отметили при по- мощи четвертой строки, так что х^ц = х42 = 0. Поскольку чет- вертая строка помечена числом |±4 = 0, то построение иско- мой последовательности завершено. 3) Изменение плана {х/у} (Z = 1,2,3, 4; j = 1,2, 3, 4). Числа х23 = 2 и х42 = 0 увеличиваем на величину
240 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV 'P = min{w3 = 9; b2 — xi3} = min {9, 6} = 6, i уменьшаем па величину *и = 6. Получаем таблицу а’ ах2 = Ю 10 x X 0 10 x 4 8 X 12 7 X 4 X 11 V 6 x 8 17 17 10 12 8 в которой приведен оптимальный план, так как полностью удовлетворены объемы потребления bj. 2. Алгорифм для решения транспортной задачи, а) Об- щее описание алгорифма. Напомним, что транспортная задача заключается в отыскании неотрицательной системы чисел (f=l, т\ J=l, ..., п), удовлетворяющих условиям S xij = ai G= 1, , »г), j X <4Л 9) У, xij=bj U=i> •••> «) i= 1 - и минимизирующих линейную форму т п 2 S снхи- (4-2°) / = 1 у = 1 Как показано в § 2, оптимальному решению {x*j} (z=l, ..., /п; /= 1, ..., п) задачи (4.19) — (4.20), рассмат- риваемой как двойственная, соответствуют системы чисел uf (i = 1, ..., т\ v* (J = 1, ..., п) — решение прямой задачи, заключающейся в максимизации линейной формы п т У bjVj— 2 aiUi i = 1 i = 1
§ 4] ПРИБЛИЖЕНИЕ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ 241 при ограничениях vj~ (/=1> •••> rn\ ri) и при свободных переменных tvv Vj, или (как там уже отме- чалось) в более удобной для дальнейшего форме записи, когда под прямой к двойственной задаче (4.19) — (4.20) понимают задачу максимизации линейной формы п т S М/ + S ailli j — 1 i = 1 при ограничениях vj ~\~ui ^си (Z=l, т\ j— I, ..., ri) и при свободных переменных ub Vj. По второй теореме двойственности (гл. II, § 7) известно, что системы {х*у} и {и*; v*} связаны соотношениями (см. гл. II, § 7) x*j(u* -]-v* — с^) = () (/=1, ..., /=1, ..., п), (4.21) из которых следует, что всем х*у^>0 прямой задачи соот- ветствуют равенства п?— ^7 = 0, которые вместе с неравенствами zz* -\-v* Сц для всех xfj = 0 образуют условия потенциальности плана X* = || xfj ||m> п пря- мой задачи, т. е. условия оптимальности допустимого плана. Кроме того, из (4.21) следует, что каждому ограничению двойственной задачи, которое выполняется как строгое нера- венство u*i + v*j — С,7 < О, соответствует в оптимальном плане прямой задачи равенство •4 = 0. Метод приближения условно-оптимальными планами состоит в том, что, начиная с некоторого допустимого плана прямой задачи, строится некоторый план zY={x;y^0},
242 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV удовлетворяющий условиям (4.21) и условиям (I = 1, ... , т\ (/ = 1, ..., п\ (4.22) Если условия (4.22) для построенного плана выполняются как равенства, т. е. план Х={х^} является допустимым пла- ном транспортной задачи, то, будучи потенциальным, он яв- ляется также и оптимальным планом. Если же этот план не является допустимым, то от шага к шагу уменьшаем его «недопустимость» так, что за конечное число шагов он ста- новится допустимым, а следовательно, и оптимальным планом задачи (4.19) — (4.20). При выполнении условий (4.22) меру недопустимости плана можно охарактеризовать величиной т т п ^ai~~ S S ХИ> i=l i=\j=\ так как в случае, когда эта величина достигает своего наи- меньшего значения, равного нулю, план Х={х^\ становится допустимым планом задачи (4.19) — (4.20). Поэтому имея до- пустимый план двойственной задачи, мы будем строить неко- торый план исходной задачи из условия (4.22) и из условия минимизации меры его недопустимости. Очевидно, отыскание «наименее недопустимого» плана задачи (4.19) — (4.20), удовлетворяющего условию (4.21), озна- чает отыскание неотрицательных удовлетворяющих усло- виям п / = 1 т (j=1, п), i = 1 х/7- = 0 для тех (Z, /), для которых (4-23)
§ 4] ПРИБЛИЖЕНИЕ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ 243 и максимизирующих форму т п 2 S Х-7- <4-24) /=1 а это означает, что надо решить задачу о потоке с мно- жеством 2, состоящим из тех пар (Z, /), для которых щ -ф- + vj — с<7<°- б) Алгорифм. Алгорифм состоит из предваритель- ного и общего шага. Предварительный шаг. Записываем условия задачи в виде таблицы (Z = 1, ..., т\ j = 1, ..., п). Находим множество 2 = 20 = {(Z, /): и^' Общий шаг. Общий шаг состоит из следующих двух действий: 1) решение задачи о потоке,
244 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV 2) определение новых значений переменных zzz (z = 1,..., m), Vj(7=1, ri) прямой задачи и нового множества 2, если полученный на предыдущем шаге план задачи (4.19) — (4.20) оказался недопустимым. 1) Решение задачи о потоке. Пусть уже найден допустимый план zzz0)(Z=l, ..., т\ <иу)(/=1, ..., ri) пря- мой задачи и множество 20 = {(z, 7) •’— cij<Z^} уже определено. Тогда решаем задачу о потоке (см. п. 1), т. е. задачу максимизации линейной формы (4.24) при огра- ничениях (4.23). 2) Определение новых значений перемен- ных zzz(z = 1, ..., m), Vj (7 = 1, ri). К этому действию переходим, решив задачу о потоке. Пусть Д — множество номеров отмеченных строк, a — множество номеров отмеченных столбцов в окончательной таблице при решении задачи о потоке. Находим величину 04 = min {Су— (4.25) к ц, Заметим, что 04 0, так как предположив 04 = 0, получили бы, что wi°0’— сшо = ® Для некоторой пары индексов Оо, Jo) Go С /о, /о "С Л), т. е. Оо, /о) £ 20, и значит, /0-й стол- бец можно было бы отметить, что противоречит предполо- жению об окончательности таблицы, т. е. о невозможности продолжения отметок. Новые значения и(", v'j} определяем по формулам С Л, С А; — а, /СЛ, > 7£Л- (4.26) Из равенств u(il 14- v(/' — = 0 (z, 7) 20 и равенств + —^7 = 0 для тех пар индексов (z, 7), для которых в (4.25) достигается минимум, следует, что 2oD2i = {G, 7):^,+^~rl7<0} и 20 2Р
§ 4] ПРИБЛИЖЕНИЕ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ 245 Приняв zzi*l,(Z=l, т\ п) за исходное приближение, продолжаехМ процесс. Отметим, наконец, что т п т п 2 а^' + 2 brf' - ( 2 W?’ + 2 W ) = i=1 j=1 i =1 J — 1 =( У, ai — S i С Л j € J i Действительно, так как на первом шаге решалась задача о потоке, то т У, =bj, j е jb i — 1 и так как п 2 xi j ai / = 1 для некоторых i £ /ь то S S »/><> z С Л / € -h Таким образом, значение целевой функции двойственной задачи увеличивается на величину ( У ai — У ь/) “1 > °- i € л j е Ji Учитывая целочисленность ab aif bj, заключаем, что ( У ai — У 1. i 6/1 i 6 /1 Полученное неравенство и ограниченность целевой функ- ции прямой задачи (см. гл. II, § 7) обусловливают конечность алгорифма, т. е. через конечное число шагов получим в ре- зультате решения задачи о потоке допустимый план транс- портной задачи (4.19) — (4.20), который в силу его потен- циальности является оптимальным.
246 ТРАНСПОРТНАЯ ЗАДАЧА [ГД. IV в) Пример. Пусть условия транспортной задачи записаны в следующей таблице: Предварительный шаг. Находим и(!0‘ = т1п{1, 1, 8, 4} — 1, и^' = min {4, 5, 4, 9} = 4, w30, = min{8, 3, 2, 1} = 1, И401 = min {3, 6, 3, 2} =2, -и'01 = min {0, 0, 7, 1} = 0, < = min {0, 1, 2, 4}=0, и30' — min {7, 0, 1, 1} = 0, ^4°' = min {3, 5, 0, 0} =0. Вычислим ci}- - - S0)—vj0'. Получим таблицу 0 0 7 3 0 1 0 5 7 2 1 0 14 10 В качестве 2 = 20 берем множество пар индексов (Z, /), для которых в последней таблице — v'f}^>0.
§ 4] ПРИБЛИЖЕНИЕ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ 247 Первый шаг. 1) Решение задачи о потоке. Решив задачу о потоке с найденным в предварительном шаге мно- жеством 2 = 20, получим таблицу 1 2 3 4 ai Vi м 7 3 10 0 8 8 6 12 6 0 0 14 14 0 7 21 10 6 6 3 4 4 4 4 Так как — У ai = 2 ^/ = 44, то при- t = l/ = l i = 1 j=\ ступаем ко второму действию. 2) Определение значений zzj1’, v(j' (Z=l, ..., 4; У=1, ..., 4). Находим ^ = {3, 4} и ^ = {4} и отыскиваем ai— min_ {сц — и?'—<и^’} = 1. * € Л» J € Л Имеем ^’ = 1; zz^ = 4; zz^ = zz30) + 1 = 2; ii" = zz'01 + 1 = 3; ^=0; < = 0; =0; = ъ'^ — 1 = — I,
248 ТРАНСПОРТНАЯ ЗАДАЧА (ГЛ. IV Определив значения получим таблицу 0 0 7 4 0 1 0 6 6 1 0 0 0 3 0 0 Пары индексов, для которых в последней таблице с и — — iiil)—образуют множество 2Р Второй шаг. 1) Решение задачи о потоке. Решив задачу о потоке с множеством 2 = 2Ь получим таблицу 1 2 3 4 at Vi м 0 10 10 0 8 8 4 3 2 6 12 4 0 7 0 0 14 7 0 7 21 10 1 4 * 6 7 4 4 4 3 3 4 4 Так как = 33 44, то переходим к действию 2). i = 1 /= 1
§ 41 ПРИБЛИЖЕНИЕ УСЛОВНО-ОПТИМАЛЬНЫМИ ПЛАНАМИ 249 2) Определение значений zzj2), v{2} (I — 1, ..., 4; /=1, 4). Находим в последней таблице /2={2, 3, 4} и J3={1, 3, 4} и а.2 = min_ {cZy- — — x7>}=1- i € h. /€ Имеем wl2,= l; zz^ = 5; zz^ = 3; = v? = — 1; C = 0; = vf = — 2. Определив значения — u(i2)—v(f>, получим таблицу: 1 0 8 5 0 0 0 6 6 0 0 0 0 2 0 0 Пары индексов, для которых в последней таблице с и — и12' — v(2) 0, образуют множество 22. Третий шаг, 1) Решение задачи о потоке. Решив задачу о потоке с множеством 2 = 22, получим 1 2 3 4 1 10 10 2 0 4 4 8 3 7 5 0 12 4 7 1 6 14 Ъ> 21 10 6
250 ТРАНСПОРТНАЯ ЗАДАЧА [ГД. IV 4 4 Имеем = 44. Полученный допустимый план i = 1 /= 1 транспортной задачи оптимален. § 5. ТРАНСПОРТНАЯ ЗАДАЧА ПО КРИТЕРИЮ ВРЕМЕНИ [1а] 1. Постановка задачи. В отличие от рассмотренной выше, в §§ 1 и 2, транспортной задачи (по критерию стоимости), в так называемой транспортной задаче по критерию времени учитывается не стоимость перевозок, а время, расходуемое на доставку по назначению всего груза, так что оптимальным планом перевозок считается тот, по которому все грузы могут быть доставлены в пункты назначения в кратчайший срок. Эта задача возникает, например, при составлении плана пере- возок скоропортящихся продуктов, когда излишние транспорт- ные расходы окупятся за счет доставки в сохранности про- дукта, а также при перевозке боеприпасов в военной обста- новке, когда требуется быстрая доставка, а стоимость перевозки имеет второстепенное значение. Точная формулировка задачи выглядит так. Имеется т пунктов отправления с запасами соответственно ат единиц однородного груза и п пунктов на- значения, потребность которых составляет соответственно Ьь Ьъ ..., Ьп единиц этого груза, причем т п i = 1 j= 1 Пусть, кроме того, задана матрица Т = || ||m> rt, где ti}- — время, необходимое для перевозки груза из пункта I в пункт /. Требуется среди допустимых планов перевозок Х=||||т> п, где, как обычно, х^ — количество груза, отправляемого из пункта I в пункт /, причем ^ixij = ai (г=1, ^хч = Ь! (j=l, п), /= 1 i = i выбрать оптимальный по времени план X* = || x*j \\т по которому грузы будут доставлены в минимальное время.
§ 5] ТРАНСПОРТНАЯ ЗАДАЧА ПО КРИТЕРИЮ ВРЕМЕНИ 251 С каждым допустимым планом Х = || х^ \\т, п связан на- бор {f/y-}x, состоящий из элементов матрицы || ||w, п) соот- ветствующих положительным х/у- плана X, т. е. если из пункта I в пункт j производится перевозка по плану X. Время tx, необходимое для реализации плана X, выра- жается формулой ^=max{f,7}x> так что оптимальное время для перевозки грузов, т. е. время необходимое для реализации оптимального плана X*, выра- зится так: tx* = min tx — min max {fz.}x. x x Сформулированная задача является частным случаем более общей экстремальной задачи, приводимой в следующем пункте и решаемой аппаратом жордановых исключений. 2. Метод решения общей экстремальной задачи (типа транспортной по критерию времени). Пусть задана си- стема т линейных уравнений с п неизвестными -ф- а12х2 4-... 4- аХпхп = аь 4- + • • • “F ат (4.27) и множество T={tl, t* ..., tn} вещественных чисел. Каждому неотрицательному решению X = системы (4.27) отнесем набор состоящий из тех элементов tj множества Г, для которых соответствующие Xj положительны. Обозначим fx = max{^-}x и рассмотрим задачу отыскания оптимального решения системы (4.27), т. е. такого неотри- цательного решения X*, для которого соответствующее fx* является минимальным среди всех tx: tx* = min tx = min max {L}x. x x Для решения этой задачи приведем конечный алгорифм, существенно использующий аппарат жордановых исключений.
252 ТРАНСПОРТНАЯ ЗАДАЧА [ГД. IV Предварительный шаг. Запишем систему (4.27), в кото- рой, очевидно, можно считать (f=l, ..., m), в виде таблицы — Х1 — х2 • хп 1 0 = аи aJ2 ' • а1П 0 — ail «/2 • ain ai 0 = ami ат2 • атп «т и при помощи симплекс-метода (гл. II, § 4, п. 1) найдем какое-нибудь из ее неотрицательных решений (если оно суще- ствует). Пусть оно получено из таблицы xm+i хт+2 • — хп 1 Xi = ^1, т+1 ^1, т+2 •• • bin bt 0 X/ = m+i bi, т+2 bin bi^O хт ~ Ьщ, т+1 ^т, т+2 • •• Ьщп Ьт>:0 так что Хй = {х1 = Ьь .... xm = bm, = ...== = 0). Общий шаг. Пусть = max Z2, ..., tm}. Просматриваем tm+l) , tn с индексами х-ов, оказав- шихся на верху таблицы. Столбцы под теми Ху, для которых соответствующие tj не меньше полученного tb следует, оче- видно, вычеркнуть, т. е. в дальнейшем рассматривать только те неотрицательные решения, в которых указанные Ху равны нулю. Просматриваем Z-ю строку. Если среди ее элементов есть положительные, то производим один или несколько шагов модифицированных жордановых исключений с разрешающими элементами из столбцов, содержащих эти положительные элементы, выбранными по обычному правилу, пока либо х£ не будет переброшено наверх, например на место х71, либо все элементы Z-й строки не станут неположительными.
§ 5] ТРАНСПОРТНАЯ ЗАДАЧА ПО КРИТЕРИЮ ВРЕМЕНИ 253 В первом случае полагаем xz- = 0 и столбец под ним вычеркиваем. Теперь ^ = шах{/ъ tjv ti+l, и новый план Хь вообще говоря, ближе к оптимальному, чем план Хо. Повторяем общий шаг, беря вместо th Во втором случае, когда все Ь-ч- неположительны, рассмотрим две возможности: 1) ^>0, 2) ^. = 0. Если bi 2> 0, то не существует неотрицательного решения системы (4.27) с xz = 0, так как при и х^^О, ... ..., хп 0, btj 0 получим xi = — (Pi, k+ixk+i + • • • binxn) + h bt 0. Следовательно, уменьшить tt нельзя, и полученный план оптимален. Если же bi — 0, то полагаем = 0 для всех у, для кото- рых bij<^Q, вычеркиваем соответствующие столбцы и Z-ю строку (так как теперь xz = 0) и повторяем общий шаг. Пример. Дана система уравнений xt— x2~j~x3-j~2xi —4х6=— 1, 2х2 — х3+ х4 —2xs = 4, 2xi ~Н хч — Зх4 — Xg —4х6 = 4 и множество T={f1 = 3, /2 = 8, f3 = 5, f4= 15, f5=12, ts = 6}. Найти такое неотрицательное решение X* системы, для которого соответствующее tx* удовлетворяет условию tx* — min max х Предварительный шаг. Запишем уравнения в виде таб- лицы — Xi — х2 — х3 — х4 — х5 — хв 1 0 — — 1 5 -1 —2 0 4 1 0 = 0 2 — 1 1 -2 0 4 0 = 2 1 0 —3 — 1 4 4
254 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV и при помощи трех шагов модифицированных жордановых исключений и вычеркивания соответствующих столбцов най- дем некоторое неотрицательное решение этой системы: — — *з — — *5 — 1 — — 1 — 1 —2 0 4 1 0 = 2 N 5 -2 -8 2 0 = 3 1 -1 —1 0 3 — Л*! — — Xq 1 — ^1—^4 — ~ *G 1 IL II, ч 4° 1 2 3 5 —2 —2 00 1 1 3 2 0 = 1 —6 И 8 II II II 05 1<5 — 4^ СО 1 1 1 СТ) СО 00 00 |>3 Таким образом, = (xi = °, хъ = 5, х3 = 4, х4 — 0, = 1, Хь = 0). Первый шаг. Допишем для удобства слева и сверху от последней таблицы значения соответствующих tf. *' 1 3 15 6 — Х1 — х4 — 1 8 х2 = 3 —9 12 5 5 4 —7 8 4 12 *5 = со !г_ 8 1 Имеем max {t.2 = 8, = f3 = 12}=12. Так как f4=15^>12, то полагаем х4 = 0 и вычерки- ваем расположенный под ним столбец. Затем при помощи
§ 5] ТРАНСПОРТНАЯ ЗАДАЧА ПО КРИТЕРИЮ ВРЕМЕНИ 255 одного шага модифицированного жорданова исключения пере- носим х8 на верх таблицы: 12 6 и, положив х5 = 0, вычеркиваем затем расположенный под ним столбец. Второй шаг. Теперь шах {^ = 8, ^з = $> ^ = 3} = 8. Соответствующая строка для не содержит положительного элемента, а свободный член 2 положителен, так что задача решена. Решение Аг* = (х1 = 1, х2 = 2, х3 = 0, х4 = 0, хв = 0, х6 = 0) оптимально, и соответствующее ему значение = 3. Решение транспортной задачи по критерию вре- мени. Приведенная в п. 1 транспортная задача является, очевидно, частным случаем задачи п. 2 (когда в уравне- ниях (4.27) коэффициенты состоят из нулей и единиц) и, сле- довательно, полностью решается алгорифмом п. 2. Пример. Пусть условия задачи заданы таблицей *11 1 *12 3 *13 7 *14 12 18 *21 2 *22 8 *23 10 * 24 8 10 *31 6 1 *32 *33 4 *3 4 5 12 11 9 13 7 ai bi \ где в правых верхних углах проставлены ty.
256 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ IV Предварительный шаг. Выпишем соответствующую си- стему ограничений: Х11 х12 -*43 -*44 = 1 8, •*41 Х.22 -4- л^з + ХЫ — 1 Х31 Х3'2 “Ь Х‘М 4” X3i ~ 1 2, Xll “h 4~ Х31 =11, х1'2 ~h Х'2'2 ~Н Х3<2 == Х13 “Г Х23 + Х33 = 1 3, Х1£ 4~ -*44 ^ГХ34 = 7, причем х/у^0 (Z=l, 2, 3; у=1, 2, 3, 4). Записав условия задачи в виде таблицы и исключив 0-уравнения, получим таблицу А*22 — *23 -^24 -*41 -^32 — *34 1 %12 = 1 0 0 0 1 0 9 Л-п = 0 1 0 —1 —1 -1 1 0 0 0 1 1 1 12 Л*ц = -1 —1 —1 1 0 0 1 х21 = 1 1 1 0 0 0 10 — 0 0 1 0 0 1 7 из которой найдем допустимое решение: хп = 9, х13=1, х33=12, хп=1, х21=10, х14 = 7, Х22 = Х*Ы = x2i -^31 =:з Х32 Х31 = 0.
§ 5] ТРАНСПОРТНАЯ ЗАДАЧА ПО КРИТЕРИЮ ВРЕМЕНИ 257 Первый шаг. Допишем чения соответствующих слева и - сверху от таблицы зна- tij 8 10 8 6 1 5 *22 *23 “ *24 — *3 1 *32 — Х34 1 3 2 — 1 0 0 0 1 0 9 7 *13 = 0 1 0 -1 — 1 -1 1 4 *33 = 0 0 0 1 1 1 12 1 *11 — -1 —1 -1 1 0 0 1 • 2 *21 — 1 1 1 0 0 0 10 12 *14 = 0 0 1 0 0 Ш 7 Имеем шах {^12 = 3, = 7, ^зз = 4, /ц = 1, ^21 == 2, ^14 —-- 12 | — 12. В верхней строке нет fZy-^12, поэтому сразу переходим к изменению плана. Делаем шаг модифицированного жорданова исключения с разрешающим элементом, взятым в рамку. Получим таблицу ^7 8 10 8 6 1 12 *22 *23 *24 *31 *32 *14 1 3 *12 = 1 0 0 0 1 0 9 7 *13 = 0 1 1 —1 —1 1 8 4 *33 = 0 0 —1 1 1 —1 5 1 *11 = —1 —1 —1 1 0 0 1 2 *21 — 1 1 1 0 0 0 10 5 *34 “ 0 0 1 0 0 1 7 Вычеркиваем столбец под х14, полагая х14 = 0, и пере- ходим ко второму шагу. Второй шаг. Имеем шах {= 3, f13 = 7, /33 = 4, ^n = l, = 2, ^34 = 5} = 7. Вычеркиваем все столбцы, расположенные под ty 7, т. е. 9 С. И. Зуховицкий, Л. И. Авдеева
258 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. TV под f22 = 8, f23=10, tn = 8, так В оставшейся таблице что 1 х22 = •^23 -^24 0* 6 А*31 ' — А*3 2 I 3 Л?12 = 0 1 9 7 х13 = —1 —1 8 4 А*33 = 1 1 5 1 Л*ц = 1 0 1 2 А* 21 = 0 0 10 5 А*34 — 0 0 7 все коэффициенты строки для х13, соответствующей наиболь- шему — 7, отрицательны, а свободный член положителен, следовательно, процесс окончен. Оптимальный план состоит из перевозок х12 = 9, х13 = 8, х33 = 5, хп = 1, х21=Ю, х34 = 7 и может быть выполнен за время t = l. Этот оптимальный план не является, очевидно, единствен- ным, так как, сделав шаг модифицированного жорданова исключения с разрешающим элементом, например, из третьей или четвертой строки, мы найдем другой план, реализация которого также потребует времени t — 1. 4. Другой алгорифм для решения транспортной задачи по критерию времени. Приведем теперь более простой, чем в п. 3, алгорифм [226] для решения транспортной задачи по критерию времени, близкий по идее методу приближения условно-оптимальными планами, описанному выше в п. 3 § 4. Пусть условия задачи записаны в виде следующей таблицы: tn tin «1 t-mi tjnn am 1 bn bj \
ТРАНСПОРТНАЯ ЗАДАЧА ПО КРИТЕРИЮ ВРЕМЕНИ 259 Алгорифм для решения этой задачи состоит из предва- рительного и общего шага. Предварительный шаг заключается в определении клеток таблицы с наименьшими значениями fZy. Общий (&-й) шаг состоит из двух действий: 1) определения множества клеток Qk, запрещенных для перевозки; 2) решения задачи о потоке (см. п. 1, § 4) с множест- вом 2='2Л, найденным в первом действии. Первый шаг. 1) Отыскав в предварительном шаге min tij — tujv берем в качестве множества 2Х множество всех (G /) клеток таблицы с 2) решаем затем задачу о потоке с найденным множеством 2 = 2Ь т. е. отыскиваем максимальный поток по тем звеньям (Z, /) сети, по которым время доставки груза от производи- теля к потребителю наименьшее. Если в результате решения задачи о потоке окажется, что т п т У, У xtj= Е Z = 1 то нами получено решение задачи, так как использованы для перевозки лишь звенья с наименьшим временем доставки. Если же окажется, что т п т п / = 1 7=1 то переходим ко второму шагу. Второй шаг. 1) Отыскиваем во множестве клеток 2t наи- меньшее число и выбираем в качестве 22 множество клеток с 2) решаем с множеством 2 = 22 задачу о потоке. Так продолжаем до тех пор, пока на некотором шаге не получим в результате решения соответствующей задачи о по- токе величину т п т п У У ХЪ= У а.= У bj- i=i y = i Полученное при этом — rnax^-y является решением транспортной задачи по критерию времени, так как при исполь- зовании для перевозок лишь клеток (г, /), для которых 9*
260 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV максимальное количество груза, которое удается перевезти от пунктов производства к пунктам потребления, т п меньше, чем £=1 7=1 Пример. Рассмотрим пример транспортной задачи по критерию времени, условия которой заданы таблицей 1 3 7 12 18 2 8 10 8 10 6 1 4 5 12 11 9 13 7 \ «<• bj \ Предварительный шаг. Как видно из таблицы, min {t,j }—tn = t3i = 1 и достигается в клетках (1, 1) и (3,2). Первый шаг. 1) Множество состоит из всех клеток таблицы, за исключением клеток (1, 1) и (3, 2). 2) Для решения задачи о потоке с 2 = строим таблицу X X х 18 X X х X 10 X / X X 12 11 9 13 7 •
§5] ТРАНСПОРТНАЯ ЗАДАЧА ПО КРИТЕРИЮ ВРЕМЕНИ 261 Решив задачу о потоке, получим х^)=11, х(312> = 9; 3 остальные х$ равны нулю. Так как х$ = 20<^ ai — i, j i = i = 40, то /и = /32 = 1 не является решением задачи. Второй шаг. 1) Находим min ^- = 2. Множество 22 (i. J) € 21 состоит поэтому из заштрихованных клеток следующей таб- лицы: X X X X X х X X X 2) Решив задачу о потоке с множеством 2 = 2.2, получим #(2) =11, х^ = 9, а остальные х®} равны нулю, т. е. не произошло никаких изменений по сравнению с первым шагом. Третий шаг. 1) Находим min £., = 3. Все клетки мно- (ъ /) € жества 23 заштрихованы в следующей таблице: 2) Решив задачу о потоке с множеством 2 = 23, получим х(з)=ц, х(з2) — 9, остальные х$ равны нулю. Четвертый шаг. х</) = 9, х(Д) = 9, = х$ — 12, (4) остальные Ху — нули.
262 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Пятый шаг. х(^ = 9, х^ = 9, х$ = 2, х$ = 12, осталь- II 14 ' 121 z об (к) ные Xij — нули. Шестой шаг. х^) = g — 9, х$ — 2, х[$ = 12, осталь- II 14 ' 41 7 об ные х$ — нули. Седьмой шаг. х^=1, х(Д) = 9, х$ = 8, xj,7?—Ю, 11 7 14j 7 16 ' 41 х$ = 5, х$ = 7, остальные Х/у — нули. Так как = и то полученный план оптимален (Л^ = X *) и tx* = 7. § 6. ОПРЕДЕЛЕНИЕ КРАТЧАЙШИХ РАССТОЯНИЙ ПО ЗАДАННОЙ СЕТИ 1 Постановка задачи. Связь с линейным программи- рованием. Пусть задана сеть, каждому звену (Р;, Pj) кото- рой приписано неотрицательное число Zz-y — его длина. Будем предполагать, что сеть сильно связана, т. е. существует путь между любыми двумя ее вершинами — точками Рь Р2,..., Рп. Ставится задача об определении кратчайших расстоя- ний по данной сети между любыми двумя ее вершинами и соответствующих путей, соединяющих эти вершины. Убедимся, что каждая задача отыскания кратчайшего пути по сети между любыми двумя фиксированными вершинами является задачей линейного программирования. Действительно, пусть, например, требуется определить крат- чайшее расстояние от вершины Р{ до вершины Рп. Положим Z-y = p(P., РД если вершины Pz и Ру соединены звеном, и Z£y- = —сю, если они не соединены. Каждому пути р (Рь Р/р ... ..., Pik, Рп), состоящему из звеньев, соединяющих Pt с Рп, и не содержащему контуров и петель, поставим в соответствие совокупность п2 чисел £.у(/,у=1, ..., п), равных единице, ] если звено (Pz, Ру) принадлежит р, и нулю, если не принад- ; лежит. Тогда задача отыскания кратчайшего пути из Рх в Рп эквивалентна задаче отыскания целочисленного решения < ||$*у||лл, минимизирующего линейную форму (длину пути из i ъ’Рп) *= i
S 6] КРАТЧАЙШИЕ РАССТОЯНИЯ НА СЕТИ 263 при ограничениях: l)0^,7sSl (i, J=l, .... п), п 2) S С,7-^,) = 0 (i# 1, i^n), п 3) S(^-^i)=1, 7=1 4) S(^y-^) = -l. 7=1 Сначала покажем, что для любого (следовательно, и для кратчайшего) пути р из вершины Рг в Рп совокупность соот- ветствующих ему значений 5Zy удовлетворяет выписанным ограничениям 1) —4). Для ограничений 1) это очевидно. Ограничения 2) состоят из п — 2 уравнений, каждое из которых составлено для каж- дой фиксированной вершины Pt из Рь Ръ ..., Рп_ь Рп, кроме начальной и конечной вершин пути р, и содержит лишь те и которые соответствуют звеньям, имеющим одним из своих концов вершину Pt. Если вершина Р£ не принадлежит р, то и ни одно из звеньев (Pz, Ру) и (Ру, Pz) (/=1, .ri) не принадлежит р, так что все 5Zy = ^ = 0 (/ = 1, ..., л) и (^7 — = О- 7 =1 Если же вершина Р; принадлежит р, то пути р принадлежит два звена, имеющих одним из концов вершину Pz, причем в одном из них, пусть (РЛ, PJ, вершина Pz является конеч- ной, а в другом, пусть (Pz, Pz), — начальной (рис. 16). По- этому из всех lij (I, у = 1, ..., л), участвующих в сумме п 2 (^7 — W’ будут лишь ^/=1 и ^7=1, а все остальные 7=1 будут равны нулю. Так как все слагаемые с фиксированным индексом I на первом месте входят в сумму со знаком а с индексом I на втором месте — со знаком —, то и в слу- чае, когда Pz принадлежит р, получим 2№-У=о. /=1
264 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Выполнение ограничений 3) и 4) следует из аналогичных соображений и того факта, что из всех звеньев, имеющих одним из своих концов вершину Рь пути и принадлежит лишь одно — первое звено этого пути, а из всех звеньев, имеющих одним из своих концов вершину Рп, пути [1 принадлежит тоже лишь одно — последнее звено пути (см. рис. 16). Рис. 16. Теперь осталось показать, что и, обратно, каждое цело- численное решение нашей задачи линейного программирова- ния определяет систему чисел = £/1/2 = . • • = соответствующих некоторому пути р. Действительно, из равенства п п S Ч,== 1 + S 7=1 7=1 следует, что найдется по крайней мере одно значение $1^ = 1. В свою очередь из равенства п п S ^/i/= S ^//i 1 следует, что найдется по крайней мере одно значение 5;1У-2=1. Рассуждая аналогично, продолжим построение этой цепочки, которая может закончиться лишь в вершине Рп, так как в любой другой вершине Рг должно выполняться равен- ство S ^7-^) = °- 7=1 Как задача линейного программирования наша задача принципиально может быть решена, хотя и громоздко,
§ 61 КРАТЧАЙШИЕ РАССТОЯНИЯ НА СЕТИ 265 симплекс-методом. Однако, в силу специфичности условий задачи, можно указать более эффективные методы для ее решения. К таким методам относится рассматриваемый ниже алгорифм Форда [37] для отыскания кратчайшего расстоя- ния и кратчайшего пути от любой фиксированной точки сразу до всех остальных. 2. Описание алгорифма. Предварительный шаг. Пусть, например, требуется определить кратчайшие расстояния по сети от вершины Рх до всех остальных. В таблицу \₽' Pi \ Pi . . . Pj , . . Pn X, . . . к л х. . . . . . . . . . . . . Pi X,- lij . . . . . . . . . . . . Рп Хп . . . . . . заносим расстояния Zzy от каждой вершины Z>/(Z== 1, ..., ri) лишь до всех соседних с нею вершин Pj, т. е. до вершин, образующих с Pi звенья. Каждой вершине Pj ставим в соот- ветствие число Ху по следующему правилу. Начальной вер- шине ставим в соответствие число Х1 = 0. Затем, начиная с /=1, рассматриваем клетки Z-й строки с заполненными Z;y, и если для некоторой клетки (Z, /) уже определено а Ху еще не определено, то полагаем \ + Av и вносим его в клетки с номером j верхней строки и левого
266 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. TV столбца таблицы. При этом, если при отыскании некоторого Ху в /-м столбце имеется более одной клетки с заполненными /-у и известными то полагаем X7 = min {Х,- + 1ц}. i Проиллюстрируем предварительный шаг на примере опре- деления кратчайших расстояний от вершины Р1 до вершин Ръ Р& •••> ^8, связанных сетью, изображенной на рис. 17, где стрелки указывают, что проезд по звеньям (Р3, PJ, (Р4, Р3) и (Р7, Р4) односторонний, так что, например, /74 — 3, а /47 не определено. Составляем таблицу: \₽/ рг\ Pi Рь Рь Pi Рь Рь Pi Рь хг\ Pi 7 5 9 Рь 1 1 1 Рь 3 1 4 15 Pi 5 1 2 6 Рь 9 2 11 Рь 7 6 10 Pi 4 3 5 Рь 15 11 10 5
§61 КРАТЧАЙШИЕ РАССТОЯНИЯ НА СЕТИ 267 Полагаем Xt = 0 и записываем его в соответствующие клет- ки таблицы. Затем просматриваем клетки с заполненными Zly-, Рис. 17. т. е. клетки (1, 2), (1, 4), (1, 5), и, имея = 0, вычисля- ем Xj, Х4, Х^ Х$ — Xj —|— Z12 — 7, х4=xt 4- = 5, ^5 = М “Ь Заносим эти значения в таблицу. Далее вычисляем и заносим в таблицу остальные X/. Х3 = min {Х2 -|- /23 = 8; Х4 -|~ 4з== 6} = 6, Х6 = min {Х2 /<26== 14; Х4 4~ 4б= 11} == 11> х7=х3 4- z37 = 1 о, Х8 — min {Х3 -j- /зв= 21; Х8Ц-/88 = 2О; Хе 4s — 21; Х7Z78—16} — 15.
268 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Получим \Р/ л\ Рг Рг Рг Рг Рг Рг Рг Рг Х/\ 0 1 6 5 9 И 10 15 Рг 0 1 5 9 р* 7 7 1 7 Рг 6 3 1 4 15 Рг 5 5 1 2 6 Рг 9 9 2 11 Рг 11 7 6 10 Р, 10 4 3 5 Рг 15 15 11 10 5 Общий шаг. Просматриваем заполненные клетки (Z, /) таблицы, начиная для определенности с первой строки. Сравниваем для них разности Ху— с соответствующими Zt-y. Возможны два случая: 1) для всех заполненных клеток таблицы Ху_Х.^/.у; (4.28) 2) для некоторых клеток (Z, j) kj- В первом случае будем говорить, что числа ..., ХПУ а также все заполненные клетки удовлетворяют условию
§6] КРАТЧАЙШИЕ РАССТОЯНИЯ НА СЕТИ 269 оптимальности и, как будет доказано ниже, каждое число Ху дает кратчайшее расстояние от вершины Рг до соответству- ющей вершины ..., п). Во втором случае пусть для клетки (Zo, /о) нарушена оптимальность, т. е. Ч ^’о > ^о/о * Тогда исправляем Ху0, заменив его значением Ч ^’о “F ^’о/о ^7о* Это проделываем со всеми клетками с нарушенной оптималь- ностью, просматривая последовательно все строки таблицы. Общий шаг повторяем до тех пор, пока не будет выпол- нено условие оптимальности (4.28) для всех заполненных клеток. Проиллюстрируем общий шаг на предыдущем примере. Первый шаг. Для клеток первой строки имеем: Х2 — Xj 7 = Z12, ^4 — === & == ^в — == 9 = 4з- Для второй строки: Xi — Х2 = — 7<^7 = Z21, Х3 — Х2 = — 1 1 = /2з, Х6 — Х,2 = 4 7 = Z26. Для третьей строки: Xi — Х3 = — 6 3 = Z31, Х2 — Х3 = 1 = Z32, Х7 — = 4 = /37, Х8 — Х3 = 9 < 15 = Z38. Для четвертой строки: Xj — Х4 = — 5 5 = /41, Х3 — Х4 = 1 = Z43, Хв — Х4 = 4 2 = Х6 — Х4 = 6 = /46. Вычисляем Ху = Х4 —Z45 = 7 и вносим в таблицу исправле- ния: Х0 = 9 заменяем на Хв = 7. Далее проверяем заполненные клетки остальных строк (от пятой до восьмой) и устанавливаем, что для них Ху X*- Z:y.
270 ТРАНСПОРТНАЯ ЗАДАЧА [ГЛ. IV Исправленная таблица выглядит так: Pi \ Pl р* Рз Pl Р5 ре р? р8 \ч X; \ 0 1 6 5 7 11 10 15 Pi 0 1 5 9 Р* 7 7 1 7 Рг 6 3 1 4 5 Pt 5 5 1 2 6 Ръ 7 9 2 11 Р, 11 7 6 10 Pi 10 4 3 5 Р* 15 15 11 10 5 Второй шаг. Проверкой устанавливаем, что получен- ные числа Хь ..., удовлетворяют условию оптимальности, так что кратчайшее расстояние Z(Pb Pj) от вершины Рх до любой вершины Pj дается числом Ху(/= 1, ..., 8): Z(Pb P2) = k2 = 7, Z(Pb P3) = k3 = 6, Z(Pb = = Z(Pb P5) = ks = 7, Z(Pb Р6) = Х6=11, Z(Pb Р7) = Х7=10, Z(A, Р8) = Х8=15. 3. Составление кратчайших маршрутов. Заключитель- ная таблица, в которой получены длины кратчайших путей, соединяющих по сети вершину Рг со всеми остальными, по- зволяет уже легко обнаружить для каждой вершины Pj
§ 6] КРАТЧАЙШИЕ РАССТОЯНИЯ НА СЕТИ 271 кратчайший маршрут [±0, т. е. последовательно проходимые точки между Рх и Pj. Для его составления отмечаем в столбце под конечной вершиной Pj величину Z/Xy = ky—которая обязательно существует благодаря правилу вычисления Ху. Если в столбце под Pj найдется более одного из таких значений Z^y, то отмечаем любое из них. Выписываем звено (Р/р Ру), которое будет последним зве- ном маршрута. Повторяя предыдущее со столбцом под P/v найдем предпоследнее звено (Р/2, Р/J маршрута, длина кото- рого равна = Продолжая процесс, мы обяза- тельно придем (после k 1 шагов) к первому звену (Pb Ptk) (с длиной lu = = ), так как k k k ••• = Этим построен маршрут р.о(Pr, Pt, Pt Pj) с длиной /(р.о), равной /(р.о) = lu +1, t +... + It= = \k — + ^tk_x ~ \ + • • • + Ъ — — — Ъ- В нашем примере кратчайшим маршрутом из вершины Рь например, в вершину Р7 будет р.о (Рь Р4, Р3, Р7). Нам осталось лишь доказать, что путь р.о — кратчайший. Действительно, пусть p,(Pb Ps, Ps^ .PSr, Pj)— про- извольный путь от вершины Рг до вершины Ру с длиной Z(|±). Для звеньев (Pb Ps^> {Ps^ Ps^ ..., (P5r, Ру), в силу вы- полнения условия оптимальности, имеем: ^== 4$^ ^s2 * * * ’ ^sr Складывая почленно эти неравенства и учитывая при этом, что Х1==0, получим Z({x) = liSi + lSih 4- ... 4-Z^y>Xy = Z(p.o), т. e. путь [i0 (Pt, Pz^, P, , Pt^ P^ — кратчайший из Рг в Ру и ky — длина этого пути. Замечание. Если для каждой из вершин Рь ..., Рп решить задачу этого параграфа, то получим матрицу HCvIkn кратчайших расстояний по сети между любыми двумя вер- шинами Pz и Ру, используемую обычно в транспортной задаче.
ГЛАВА V ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ И ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ В настоящей главе рассматривается применение методов линейного программирования к задачам чебышевского при- ближения. I В §§ 1—3 изучаются такие задачи чебышевского при- ближения, которые, являясь задачами выпуклого кусочно- линейного программирования *), все же сводятся к задаче линейного программирования. § 4 посвящен одной задаче чебышевского приближения, которую удается свести к одной из задач нелинейного • программирования **). Для решения последней приводится J сходящийся алгорифм, каждый шаг которого представляет собой решение задачи линейного программирования. Наконец, в § 5 решается задача минимизации суммы модулей линейных функций путем сведения этой задачи выпуклого кусочно-линейного программирования к задаче линейного программирования. j Во всей главе в духе общего плана книги рассматри- j ваются лишь такие алгорифмы, которые сводят приводимые j здесь задачи к задаче линейного программирования, решае- i мой симплекс-методом. Это приводит к значительному уве- 1 личению количества ограничений и, следовательно, к увели- ’ чению размеров таблиц. । Существуют, однако, и другие алгорифмы, которые i за счет более сложного, чем в симплекс-методе, правила 1 выбора разрешающего элемента не требуют введения допол- 1 нительных ограничений и позволяют вести вычисления *) То есть задачами, в которых минимизируемые (целевые) | функции выпуклы (вниз) и «склеены» из «кусков» линейных | функций. 1 **) То есть к задаче, в которой минимизируемая (целевая) | функция или некоторые из ограничений не являются линейными. |
§ Ч НЕСОВМЕСТНАЯ СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ 273 со значительно меньшими таблицами. Для чебышевских при- ближений можно отметить, например, алгорифмы, указанные в [10а] и [51], а для задачи § 5 — алгорифмы, указанные в [6а] и [106]. § 1. ЗАДАЧА ЧЕБЫШЕВСКОГО ПРИБЛИЖЕНИЯ НЕСОВМЕСТНОЙ СИСТЕМЫ ЛИНЕЙНЫХ УРАВНЕНИЙ 1. Постановка задачи. Геометрическая интерпретация. Условие единственности. Пусть задана несовместная си- стема т линейных уравнений с п неизвестными т],(х) = 4- ... 4-аглх„4-аг = 0 (Z = l.....т). (5.1) Задача чебышевского приближения системы (5.1) заключается в отыскании чебышевской точки этой системы, т. е. точки х* (xf, ..., х*), для которой шах | (х*) | = inf шах | (х) | == £ *). (5.2) \^i^m х \^i^m Геометрически чебышевская точка х* является точкой, наименее уклоняющейся (см. п. 2 § 1 гл. I) по модулю от всей системы плоскостей (5.1) в том смысле, что всякая другая точка будет уклоняться по модулю от некоторой из плоскостей системы (5.1) больше, чем точка х*, т. е. больше, чем на £. Если каждые п из плоскостей (5.1) пересекаются в одной точке, т. е. если все миноры я-го порядка матрицы || \\т, п отличны от нуля (у с л о в и е А. X а а р а), то, как нетрудно убедиться, чебышевская точка х* лежит внутри некоторого zz-мерного симплекса, ограниченного п 1 плоскостями из (5.1), от которых она максимально и равно уклонена по модулю на £, от остальных же плоскостей системы (5.1) ее уклонения по модулю не превышают £. На рис. 18 для случая zz = 2t т = 6 чебышевская точка х* лежит внутри двумерного симплекса — треуголь- ника, ограниченного прямыми, наведенными жирно, от ко- торых х* максимально и равно уклонена. *) Вместо задачи чебышевского приближения несовместной системы уравнений (5.1), можно говорить о чебышевском прибли- жении системы линейных функций тц (х), ..., (х).
274 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V В этом и только в этом случае для любой системы сво- бодных членов cii соответствующая чебышевская точка си- стемы (5.1) единственна. Для выяснения геометрической картины задачи в случае невыполнения условия А. Хаара удобно пользоваться поня- тием r-мерной призмы. Будем под r-мерной призмой по- нимать множество точек //-мерного пространства, ограни- ченное г —|— 1 плоскостями из (5.1), каждые г из которых пересекаются, образуя линейное многообразие — (п— г)-мер- ное ребро призмы, а оставшаяся (г —1)-я плоскость (грань призмы) параллельна этому ребру. В частности, //-мер- ная призма является симплексом (//-мерным). В трехмер- ном пространстве двумерная призма — это обычная трех- гранная призма, только бесконечная — не срезанная основа- ниями. В случае г = 1 призма (одномерная) представляет собой слой //-мерного пространства, ограниченный двумя параллельными плоскостями, являющимися одновременно ребрами и гранями этой призмы. Можно убедиться, что при невыполнении условия А. Хаара чебышевская точка х* системы (5.1) лежит внутри некото- рой r-мерной призмы (l^r^/z), ограниченной г1 пло- скостями, от которых она максимально и равно уклонена по модулю на А, а от остальных плоскостей системы (5.1) ее уклонение по модулю не превышает L. Единственность чебышевской точки теперь не обязательна и существенно зависит от свободных членов а,- системы (5.1).
§ 1] НЕСОВМЕСТНАЯ СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ 275 Другую, принадлежащую Фурье, геометрическую интер- претацию задачи получим, если рассмотрим в (п 1)-мерном пространстве выпуклую поверхность z = max 1(x) |, (5.3) направленную выпуклостью «вниз», т. е. к «горизонтальной» плоскости г = 0, и состоящую из плоских кусков, т. е. являющуюся выпуклой кусочно-линейной поверхностью. Чебы- шевской точке х* соответствует «наинизшая» точка (вер- шина) (х*, г*) этой поверхности. Поверхность (5.3) может иметь площадку, параллельную плоскости z = 0, и тогда задача (5.1)—(5.2) имеет не един- ственное решение (каждая из точек (х, z) площадки является чебышевской). 2. Присоединенная задача линейного программирова- ния. Введем дополнительную переменную хд+1 и составим систему линейных неравенств т. е. систему У, - — Ч + x»+i = = — aaXi —... — а1Пхп хп+1 — а -, О, У( = Хп+1 == аНХ1 -|- • • • “F ainxn Хп+1 ~Ь О (Z= 1, ..., т). Рассмотрим задачу минимизации линейной формы ^ = хп+1 (5.5) при ограничениях (5.4). Эта задача линейного программиро- вания называется присоединенной к задаче чебышевского приближения системы (5.1). Нетрудно убедиться, что задача (5.1)—(5.2) чебы- шевского приближения эквивалентна задаче линейного программирования (5.4)—(5.5). Действительно, пусть z' = minxn+1 при ограничениях 1(х) | xn+1 (I = 1, ..., tri) и достигается в точке (xr, х'п+1), которая является, таким образом, некоторым решением
276 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V задачи (5.4) — (5.5). Тогда / = = max | 7]-(х')| min max \ — L. i х i С другой стороны, в чебышевской точке х*, т. е. в реше- нии задачи (5.1)—(5.2), имеем | (х*) | L (I = 1, ..., т\ т. е. (х*, хп+1 = L) удовлетворяет ограничениям (5.4), поэтому /, как наименьшее значение хп+1 при выпол- нении ограничений (5.4), не превышает L: z С L. Из двух неравенств заключаем, что L = z', так что L = max | (х') | = min max | tj-(х) т. е. х' — чебышевская точка системы (5.1) и £=x«4-i. Пусть теперь х* — некоторая чебышевская точка системы (5.1), т. е. max | т]; (х*) | = min max | t]z (х) | = L. i х i Тогда т. е. (х*, хд+1 = Л) удовлетворяет ограничениям (5.4); по- этому z L. С другой стороны, как уже отмечалось, для решения (х', x^+i) задачи (5.4)—(5.5) имеем / = х’п+1 = max | 7]f (хг) | min max | (x) | = Ц i x i так что следовательно, z’= L, t. e. (x*, L)— ре- шение задачи (5.4)—(5.5). Таким образом, задача (5.1)—(5.2) чебышевского при- ближения сводится к присоединенной задаче (5.4)—(5.5), которую, как типичную задачу линейного программирования, можно уже решать симплекс-методом. 3. Схема решения задачи симплекс-методом. Для че- бышевского приближения системы n]i(x) = aiIx14-...-}-a,„x„4-aj = 0 (Z = l, т) (5.1)
§ I] НЕСОВМЕСТНАЯ СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ 277 переходим к присоединенной задаче (5.4) — (5.5), которую задаем таблицей У1 = «и «171 — 1 — «1 Ут=~- «mi amti — 1 «т У1 = — «и «in — 1 «1 • (5.6) Ут = «mi атп„ — 1 ат Z == 0 0 — 1 0 При помощи последовательных шагов модифицированных жордановых исключений исключаем лишь координаты хь... ..., хп (так как хл+1 0) и выписываем отдельно их зна- чения*). Применяем алгорифм симплекс-метода для отыскания опорного решения (гл. II, § 2), т. е. для избавления от отри- цательных свободных членов, а затем для минимизации z (гл. II, §§ 3 и 5). Получив решение, вычисляем координаты х*, ..., х* че- бышевской точки. Уклонение L равно полученному значе- нию z. Пример. Найти чебышевскую точку системы 7]! = 2xt — х2 — 3—0, == X} —|— х$—j—2 = 0, 7|3 = Xj -- ЗХд —1 = 0, = Xj ---- 2х^ ~|— 2 == 0. Переходим к присоединенной задаче минимизаций формы z = x3 при ограничениях У1 = — 2xj —Н -^2 ~Н 3 0, у2 — — Xi — х.2 -ф- х3 — 2 0, *) Впрочем, удобно также исключить хп+1, так как таблица содержит 2 = хл+1.
278 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V Уз — — Ч- *з — 1 О» Уь = — х± 2х2 —J— — 2 О, У1— 2xj— -^2 ~И -^з — 3 О, У* = xi + х2 хз ~h 2 2^ О, Уз = хг — Зх2 —[ хз “4~ 1 О» У 4 Xf — 2х2 —р хЗ “И О* Составляем таблицу: — *i — х2 — *з 1 У1 = 2 -1 —1 3 У 2 = 1 1 -1 —2 Уз = 1 —3 —1 —1 У< = 1 —2 — 1 —2 У1 = —2 1 ЕП —3 у2 = —1 —1 —1 2 Уз = —1 3 —1 1 у4 = —1 2 —1 2 z = О О —1 О Исключив переменные хь х2, х3, придем к таблице — У2 — Уз — У1 1 5 1 __ JL 25 У1 = 3 1 3 3 _ £ 25 Уз = 3 2 3 3 3 И 1 И У4 = 2 Ы — 1 2 __2_ 1 4 25 > У 2 = 3 1 3 3 1 1 1 17 У 4 = 6 2 3 6 5 1 2 25 z = 6 2 3 6
§ 11 НЕСОВМЕСТНАЯ СИСТЕМА ЛИНЕЙНЫХ УРАВНЕНИЙ 279 причем Xg = — 2Х} —|— х2 ~^~У1 ~3, 1 । 1 ~ I 1 -V1 —— g-Js+g-^l+y, •^2 — g-^2 — уЗ'з + у У1 + g-• Так как в последней таблице все свободные члены поло- жительны, то решение у2=Уз = У1 = 0 опорное, но не оптимальное, потому что среди коэффициен- тов г-строки еще есть положительный. Для отыскания min z следует произвести шаг модифицированного жорданова исключения с разрешающим элементом, взятым в рамку. Получим —л —л —л 1 14 3 1 и 3 14 3 14 Т — 1 1 1 3 3 3 7 3 у Таким образом, minz = — и достигается при о Уг=^4=У1 = 0, Я = у» Уз= 1, 14 - 14 = у4 = у, 11 Уз=3-,
280 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V т. е. при n 1 7 Х2 = 0, Хз==у. Подставив полученные значения хь х2, х3 в первоначаль- ную систему, найдем уклонения: 7 7 4 7 г 7 = ^=3-, ъ=з-. i=-3-. 4. Применение двойственного симплекс-метода. По- скольку после исключения координат ... , хп из таблицы (5.6) коэффициенты г-строки не изменятся, удобно продол- жать решать задачу двойственным симплекс-методом. При этом коэффициенты г-строки остаются все время непо- ложительными, и первое опорное решение уже будет оп- тимальным. Проиллюстрируем это на рассмотренном выше (стр. 277) примере: — *1 — х2 — 1 Уз *2 ^3 1 У1 = 2 —1 —1 3 Ух = —2 —3 1 7 У 2 = Ш 1 -1 —2 . . . Уь = 1 -3 —1 — 1 *1== 1 1 -1 —2 У* = 1 —2 -1 —2 . . . У1 = —2 1 —1 —3 Уз = — 1 —4 0 1 У2 = -1 -1 -1 2 У 4 = — 1 —3 0 0 — — —1 3 -1 1 У1 = 2 |3| -3 —7 А. . Уь = —1 2 —1 2 у* = 1 0 —2 0 Уз = 1 4 —2 — 1 z = 0 0—1 0 Ki Ч* II 11 1 3 —2 0 0-1 0 0 Xj — У2 ’ А2“|“’^8 2
§ 2] ЛИНЕЙНЫЕ ФУНКЦИИ ПРИ НАЛИЧИИ ОГРАНИЧЕНИЙ 281 — У2 — У1~*з 1 У1 = Уз = У4 = ^*2 = У 2 = Уз = У 4 = 2 — — У2 —У1 — У 4 1 14 3 1 7 3“ 14 3 11 3 14 3 1 1 1 3 3 3 7 3 Х2 = — -^У2 — y-Vi + ^з —у Из последней таблицы находим, 1 А при х1=-^, х% = 0. о 7 что min z — -~ О и достигается § 2. ЗАДАЧА ЧЕБЫШЕВСКОГО ПРИБЛИЖЕНИЯ СИСТЕМЫ ЛИНЕЙНЫХ ФУНКЦИЙ (УРАВНЕНИЙ) ПРИ НАЛИЧИИ ОГРАНИЧЕНИЙ 1. Задание ограничений системой линейных нера- венств. Пусть задана система линейных функций т]; (х)= ааХ! 4- ... 4-а;„х„ + а; (г=1, ..., т) (5.7) и система линейных неравенств (ограничений) (х) = bkixi “F • • • 4" bknxn + 0 (Л — 1, ..., (5.8) определяющая некоторый ограниченный многогранник Q. Рассмотрим кусочно-линейную выпуклую функцию и(х) = тах|^(х)|.
282 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V Задача минимизации функции п(х) при ограничениях (5.8), т. е. задача отыскания точки х* Q такой, что и (х*) = шах | (х*) | = min max | (х) |, (5.9) I х £ 2 i является задачей выпуклого кусочно-линейного программиро- вания и служит обобщением рассмотренной в § 1 задачи чебышевского приближения системы (5.7) на случай, когда дополнительно заданы ограничения (5.8). Для решения задачи введем, аналогично п. 2 § 1, допол- нительную переменную хп+1, положив N;(x)Kx„+i (г = 1, т). (5.10) Мы придем тогда к следующей задаче линейного про- граммирования: минимизировать функцию при ограничениях (5.10) и (5.8), т. е. при ограничениях У1 (*) = — ЛцХг — ... — ainxn 4- хп+1 — а; 0, 1 yi(x)= ailxl + • • • + ainxn + хл+1 ai 0 J (Z = 1, ..., т\ (х) = ^kixi + • • • + bknxn + bk о (£=1,р). Пример. Минимизировать функцию п(х)= max (х) |, где 7]! (х) — Xi — 2х2, Т]2 (х) = 2X1 — *2 — 4, 7]з (х) = 3X1 -^2- 3, при ограничениях (х) —- — Xi — х2 1 0, Xi 0, х2 0. Эквивалентная задача линейного программирования фор- мулируется так: минимизировать функцию z = x3
§ 21 ЛИНЕЙНЫЕ ФУНКЦИИ ПРИ НАЛИЧИИ ОГРАНИЧЕНИЙ 283 при ограничениях Ух === — Хх —2х2 4” *^з 2^ О, у<а==== •'— 2xi 4” 4~ -^з 4~ 4 2^ О, Уз = — 3xi — *^2 4“ хз 4~ 3 2^ О, Ух ==: Xi — 2х2-|-Хз 2^0, у, = 2xj — х2 + х3 — 4 2^ О, Уз = 3xi4“ *^2 4~ *^з — з 2^ о, §1 = — Х\ — х2 4~ 1 2^ 0> Xi О, х2 0. Составив таблицу и освободившись от отрицательных свободных членов, получим С» Ч г Ч г Ч 41 Ч со со Ю Ь- II II II II II II 1-11 1 1 1- >- сл w 4 1 1 1 i •— to о to сс 1 1 1 1 1 1 О W- — W- Ч td 1 4 8 7 4 1 1 z = 2 —1—1 4 причем х3 — — 2xi 4“ х2 4-^2 4~ 4. Сделав шаг модифицированного жорданова исключения, по- лучим таблицу — —х2 —у 2 1 У1 = У* = Уз = У1 = Уз = Х1 = 1 4 2 3 2 1 2 z —2 -3 —1
284 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V из которой находим: min z = 2, = х2 =у^ = О, У1=1> Уз = 4, Уз = 2, У1 = 3, Уз = 2, х1 = 1, откуда Xi = 1, х2 = О, х3 = 2, = Ъ ть = —2, ^з = 0. 2. Задание ограничений системой линейных уравне- ний. Рассмотрим снова систему линейных функций 7)г(х) = ааХ1+ ... + а/Л + а< (i = 1, ..., т), (5.7) и пусть ограничения заданы не в виде линейных неравенств, как в п. 1, а в виде линейных уравнений (связей): = ••• Ч~bknxn + bk = 0 (А=1, /?). (5.11) Задача чебышевского приближения системы (5.7) при наличии связей (5.11) заключается в отыскании среди мно- жества решений Х={х} системы (5.11) такого решения х*, для которого max | (х$) | = min max | (х) | i х^Х i (задача В. А. Маркова [20]). Очевидно, метод, изложенный в п. 1, полностью решает эту задачу, только надо учесть, что теперь в задаче фигу- рирует смешанная система ограничений: неравенства У/ (х) = ... ainXn “1“ -^n+l ai | У/ (Х) = ai\x\ • • • + ainXn ~Г хп+1 4~ ai 0 J (Z = 1, ... , т) и уравнения (х) — bk\xi + • • • 4" bkn.xn Ч~ bk = 0 (^ = 1, ..., р), так что симплекс-метод следует применять в том виде, как это указано в п. 1 § 4 гл. II. Пример. Найти чебышевское приближение системы 7]! (х) = xt — х2 — 2х3 — 1, tj2 (х) = 2xt х2 + 2, 7]з(х)= —х2 + Зх3
§ 21 ЛИНЕЙНЫЕ ФУНКЦИИ ПРИ НАЛИЧИИ ОГРАНИЧЕНИЙ 285 при связях Вх (х) =— Xi ~|- х3-|-4 = 0, В2 (х) = 2xt — х2 — Зх3 = 0. Согласно предыдущему задача сводится к минимизации функ- ции г —х4 при следующей смешанной системе ограничений: У1 = — Xj —х2 —j— 2х3 —х4 —1 0, у%—— —2xj — х2 —}— х4 — 2 0, Уз = х2 — Зх3 —{— х4 0, У1 — х^ х2 2х3 —х4 — 1 0, Уз — 2xj —х2 Ц— х4 —J— 2 О, Уз== “Ь Зх3х4 О, Bj = — Xj х3 -р 4 = О, В2 = 2xt — х2 — Зх3 — 0. Составляем таблицу — Х1 х2 х3 — х4 1 У1 = 1 — 1 —2 —1 1 Уъ = 2 1 0 —1 —2 Уь = 0 -1 3 —1 0 У1=^ -Л 1 2 —1 —1 У 2 = —2 -1 0 —1 2 Уз = 0 1 -3 -1 0 0= &J = Ш 0 —1 0 4 0=5. = —2 1 3 0 0 z = 0 0 0 —1 0
286 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V и, согласно п. 1 § 4 гл. II, получаем: — х2 — х3 — Х4 1 У1 = -1 —1 —1 — 3 Уч = 1 2 —1 — 10 Уз = — 1 3 —1 0 У1 = 1 1 —1 3 у2 = —1 —2 —1 10 Уз = 1 —3 —1 0 Х1 = 0 — 1 0 4 0 = 1 ш 0 8 z — 0 0 -1 0 —Уч — х4 — х2 — х4 1 фрСе ь© *-*• Co to ь* II II II II II II II II 0 —1 ЕЛ -1 —4 —1 0 —1 1 —1 4 —1 1 0 5 —26 —24 — 5 26 24 8 0 —1 0 —. — со —* сч 1ю I 1 1 1 111 о -у О —' II II II II II II t 5 26 80 —5 0 —80 z = 0—1 0 причем — Уч —Уз 1 I II II II II II . 21 32 11 32 16 Z = 4 1 5 5 16 jv1=x34-4, х3— — х%-]-8, х2=у2— х4-|-26. Таким образом, min z= 16 и достигается в точке = 2, х% = 10, х3 = — 2, х4 = 16.
§ 3] ЧЕБЫШЕВСКАЯ ТОЧКА ЛИНЕЙНЫХ НЕРАВЕНСТВ 287 § 3. ЧЕБЫШЕВСКАЯ ТОЧКА СИСТЕМЫ ЛИНЕЙНЫХ НЕРАВЕНСТВ 1. Постановка задачи. Геометрическая интерпретация. Пусть дана система линейных неравенств 71, = 71,(х) = апх1-|- ... +аг„х„-|-а,-^0 (/=1, ...» т) (5.12) и пусть A = min шах t]z(x). (5.13) х Система (5.12), очевидно, совместна (разрешима) тогда и только тогда, когда L 0. В этом случае | L | есть устой- чивость разрешимости этой системы в том смысле, что существует решение х*, устойчивое по отношению к неко- торому изменению коэффициентов системы (5.12), т. е. остающееся при этом решением новой системы до тех пор, пока изменения коэффициентов не приведут к изменению уклонений т(1(х*) (/=1, ..., т) на величину, большую чем | L |. Если же А^>0, то система (5.12) несовместна и L— ее минимальное уклонение. Точка х*(х*, ..., х*), в которой при L —оо дости- гается (5.13), так что max 7]z(x*)=min max t]z(x) = A, 0.14) 1 i tn x \^i<m называется чебышевским решением системы (5.12), если L<^0 (х*— устойчивое решение), и чебышевским прибли- жением этой системы, если L 0. В любом из этих случаев точку х* будем называть чебышевской точкой системы (5.12). Геометрический смысл чебышевской точки х* системы (5.12) наиболее прост, когда каждые п из плоскостей т]; = 0 (/=1, ..., т>п) пересекаются, т. е. когда выполняются условия А. Хаара. В этом случае, если х* — чебышевское решение совместной системы (5.12), то точка х*, равно- уклоненная на величину А<^0 от л-)-1 из этих плоскостей, ограничивающих zz-мерный симплекс, лежит внутри этого симплекса, являясь одним из множества решений системы (5.12), и уклоняется не более чем на L от остальных т — п—1 плоскостей. На рис. 19 рассмотрен случай я = 2,
288 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V т — 5. Штриховкой отмечены полуплоскости, для точек х которых (х) 0. Точка х* — чебышевское решение си- стемы линейных неравенств. Если же х*—чебышевское приближение несовместной системы (5.12), то геометрическая интерпретация та же, только х* уже не является решением (решений нет!) (рис. 20). Задача отыскания чебышевской точки системы линейных неравенств, представляющая и самостоятельный интерес, имеет важное значение для задач, рассматриваемых ниже, в § 4, а также в гл. VI.
§ 3] ЧЕБЫШЕВСКАЯ ТОЧКА ЛИНЕЙНЫХ НЕРАВЕНСТВ 289 2. Сведение к задаче линейного программирования. Примеры. Введем вспомогательную переменную хп+1 во все ограничения, требуя выполнения неравенств = •••+а<л + а/<*л+1 G=l, •••> rn). Тогда, как и в § 1, задача (5.12) — (5.14) сводится к экви- валентной ей следующей задаче линейного программиро- вания: найти минимум линейной формы г = хп+1 (5.15) при ограничениях •Ъ (х) == а;1х! + ... + ainxn + at < x„+t (г = 1, .... т). Переписав ограничения в виде Л 0*0= — — • • • — ainxn + хя+1 — а; > О (5.16) (I = 1 , . с . ,/П), решим задачу (5.15) — (5.16) симплекс-методом. Пример 1. Найти чебышевскую точку системы линей- ных неравенств == .Vj — х% 3 О, т]2 = — 2xt — х2 — 2 sC О, 7)3 = X} х% —- 2 О, Т]4 =-- X} —|— 2х<2 — 8 О, =----- X} —[- Х<2-6^0. Введением дополнительной переменной х3 сводим задачу к отысканию минимума формы при ограничениях _У1 = — xt —j— х2 х3 — 3 0, = 2 Xi х2 х3 —2 0, Уз — — -%!— х2 -|- х3 2 0, у^== х± — 2х<2 —х3 —j— 8 0, j/B= х^— х3 6 0. 10 С. И. Зуховицкий, Л. И. Авдеева
290 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V Составив таблицу и исключив переменные, получим таблицу и выражения для xlf х2, х3: Xi = —yi -j- х2 -j- — 3, х2 = —yi —уц -|~ 2х3 5, 3,1 1 5 x8=T^+y,v4- v»-T- В таблице есть еще отрицательный свободный член —у. После одного шага модифицированного жорданова исключе- ния с разрешающим элементом-придем к таблице в которой все элементы z-строки неположительны. Следова- тельно, 7 Ш1П Z = — -7Г <С 0, о
§ 3] ЧЕБЫШЕВСКАЯ ТОЧКА ЛИНЕЙНЫХ НЕРАВЕНСТВ 291 так что система совместна. При этом л 1 2 У1=У^=Уз = 0, yt = -Q, ^=3-. следовательно, 5 5 7 xi ~ з ’ ~2 ’ Хз Т’ / 5 5 \ т. е. (— у, yi — чебышевская точка (решение), а ее укло- нения от плоскостей tqz = O(€= 1, ..., 5) равны соответ- ственно 7 7 7 8 11 б , ^2 б ’ 713 6 ’ 714 6 ’ 715 6 * Пример 2. Найти чебышевскую точку системы т]1 = —}— х2 — 1 О, 7)2 = --- —Ь 1 О, т]з = — хг 1 О, Tj4 — — xr — 2х2 2 -с о, 7]g == 2х^ —|— Х<2 — 3 0. Заменим эту задачу эквивалентной ей задачей отыскания минимума функции z = x3 при ограничениях У1 = — х\— х3-j-1 0, У? = —1 2^ 0, Уь= -4-х3—1^О, у4 = Xi + 2х2 хз — 2^0, === — 2х^ — х^ ~д~ х3 —J— 3 2^ 0» Составив таблицу и исключив хъ хъ х3, найдем х\ —Уъ — -^з~Ь Ъ х2 =_уз — хз 1 > 1 I 1 I 1 Хз—— т-^4 “Ь т 10
292 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V и получим таблицу — Уз — У2 1 Л== 1 2 —2 3 2 1 2 Л== 0 —3 2 2 1 —1 1 1 2 2 2 все свободные члены которой уже неотрицательны, так что решение УЗ=У2=Д'4 = О опорное. Переходим к отысканию оптимального решения. Сделав ' шаг модифицированного жорданова исключения с разрешаю- 3 . щим элементом у, получим таблицу приводит к оптимальному решению 2 2 1 х8=у, 1 \ А при этом min z = ^^> 0, следовательно, система несовместна о /2 2 \ и чебышевская точка есть чебышевское приближе- ние системы.
ПРИБЛИЖЕНИЕ ОТНОШЕНИЯМИ ЛИНЕЙНЫХ ФОРМ 293 § 4. ЧЕБЫШЕВСКОЕ ПРИБЛИЖЕНИЕ ОТНОШЕНИЯМИ ЛИНЕЙНЫХ ФОРМ 1. Происхождение и формулировка задачи. Пусть не- прерывную на отрезке [а, Ь} функцию f(t) надо приблизить в смысле Чебышева при помощи рациональной дроби вида + + + или при помощи более общей функции (0 + ^2 (*) + ••• + (О (0 (О + -«- + 7h'bz (О ’ где cpi (f), ..., <pm (f), (f), ..., (f) — данные непрерывные на [а, й] функции, т. е. надо отыскать значения коэффи- циентов ($!, £т; ..., 7]n)=[x, у], при которых дости- гается Е1?1 (О Ч~ • • Ч~ (*) 77 47% ъИ)+...+шо Учитывая непрерывность всех рассматриваемых функций, мы получим приближенное решение задачи, если вместо чебышевского приближения на всем промежутке [а, Ь] будем рассматривать чебышевское приближение на его е-сетке {^, ..., tp}. Введем обозначения: T/(U;) = a,7 (1=1, ...,р-, j=\, ..., т)-, Ф/№) = ₽,7 (1=1, j=l,...,n); f(ti) = 1i (1=1, р); ^ = (0.1!, aim), *, = (?,i> •••- М (i=l, ..., р); x=(ki, Q, y=C>ii, •••> iq„). Задача чебышевского приближения на сетке {^, ..., tp] заключается в отыскании точки ($*, ..., ?]*, ..., т$) = = [х*, у*] такой, чтобы I (x*> ai) I • | (х, I /к 1 max т * —Т/ = пинтах -----------------г,- . (5.17) 1==/==р1 *<•) I (У> */) ‘ I k 7 Пусть (независимо от аппроксимационного происхождения задачи (5.17)) на искомую точку [х*, у*] налагается еще
294 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V требование принадлежать многограннику 2, определяемому следующими неравенствами: (у, &,-)>0 (1=1, ...,р) И | 7]; | ==£ 1 (Z=l, .... п). (5.18) Первые р неравенств обеспечивают существование реше- ния (5.17), а остальные — введены для нормировки, так как (х, а Л умножение х и у на одно и то же число не влияет на у. Тогда под задачей чебышевского приближения отношениями линейных форм будем понимать за- дачу отыскания такой точки [х*, j/*] С для которой шах 1 i (х*, «/) (y*,bt) = min max (X, at) (У, bi) (5.19) 2. Сведение к задаче нелинейного программирования. Введем дополнительную переменную Л4 и рассмотрим не- равенства (/=1....р). Тогда нетрудно показать, что наша задача эквивалентна следующей задаче нелинейного программирования: минимизировать функцию z = M (5.20) при ограничениях A1S&0, I (У, bi) Ъ (у, ^)>0 (1=1, .... р), 1 G=b •••> «) или, что то же, при ограничениях 80(х, у, М) = М^Ъ, 8,- (х, у, М) = (х, at) — (М + Y,) (у, 0 (5.21) (/=1, .... 2р), U> М) = — (у, bj) < 0 (j = 1, • ••> р\ 1 (5.22) где положено G'i+p:==:‘ ai’ t>i> li+p== Ъ 0 == •••> p)'
§ 4] ПРИБЛИЖЕНИЕ ОТНОШЕНИЯМИ ЛИНЕЙНЫХ ФОРМ 295 3. Схема алгорифма. Сходимость. Выбираем какое- нибудь значение 7141 О переменной 714, для которого линей- ная система (5.21!), полученная из (5.21) заменой М на 714ь совместна, например 7l4t = max { | ft |, ..., Методом, изложенным в § 3, находим чебышевскую точку |х(1), У1)] системы (5.21!) при ограничениях (5.22), т. е. точку, для которой min max bi(x,y,Ml)= max (x(1), = Ll. U. УК2 Определив точку [x(1), У1*], будем непрерывно умень- шать параметр 7И, начиная со значения Mv При этом каж- дая плоскость В, (х, у, М) = (х, ^) - (Л4 + Т/) (у, bt) = 0 (5.23) (/=1, %>) будет непрерывно поворачиваться около начала координат и может при некотором значении М пройти через точку [х(1), у(1)]. Впервые некоторая из плоскостей (5.23) (пусть при l = ii) встретит точку [х(1), при M = M%, где 7142 — наибольшее положительное значение 714, меньшее 714!, среди 2р значений M==sw^)~li <7=1’•••’2/0- (5.24) Нахождением 7142<^7И1 заканчивается первый шаг алгорифма. Второй шаг является повторением первого, только вместо системы неравенств (5.211) в нем берется система неравенств (5.212), получающаяся из (5.21) при 714 — ТИ2. Продолжая процесс, построим последовательности систем {(5.21л)}, их чебышевских точек {[х(п), Уп)]} и максимальных уклонений {Ад}, а также монотонно убывающую последова- тельность {7ИП}, где Ln= min max Bfe(x, у, Mn) = I*. .УК2 1 ^£^2р = max (x(n\ y{n\ Mn) (n=l, 2, ...), 1 < < 2p * a 714n+i — наибольшее положительное значение 714, меньшее чем 714д, среди 2р значений М = ('=1> •••> 2л «=1. 2, ...).
296 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V Докажем, что Ln-+LQ — O. (5.25) Для этого из равенства (*(Ч ^)-(жл+1 + Т/)(>(Ч /^ = М*(ЧУЧ Л1п+1) = в(^) вычтем равенство (х(Ч а;)_(Жпд_7.)0/(^ £.) = &.(xW у у Мп) = № и заменим на Ln= шах В(.Ч Получим верное при всех значениях /=1, ..., 2р неравенство (М„ - Мп+1) (УЧ bt) = №+>) - № 8(«+‘) + I Ln |. Но при некотором i = ln будет 8Х- (х<4 у^п\ МпЛ = №™> = Ъ п 1п (плоскость ^tn(x> У> 714п+1) = 0 пройдет через точку [х<4 УЧ)> поэтому I L„ | =С (М„ - Мп+1) bQ. (5.26) Остается лишь заметить, что |(у(Ч а из суще- ствования предела 7140 монотонной последовательности {Мп} следует, что Мп — Мп+1 0. Так как задача (5.18) — (5.19) имеет решение 714* [х*, _у*], то при 714О^>714* устойчивость разрешимости системы (5.210), получаемой из (5.21) при 714 = 7И0, т. е. величина | Ао |, была бы больше нуля, вопреки доказанному. Поэтому 7140 = 7И* и [х(ЧУ0)] — одна из точек [х*, j/*], для которых достигается (5.19). 4. Пример. Найти min max-[I-...2Sg, -f-iol, I——2I, I — 2 11 U — ^1 + ^2 1 Г I — 2*414-^2 г I ъ г) при ограничениях ~7ll+7i2>0, — 2т]! + Т]2 > 0, Т]!>0, |7h|^l, Ы^1. Введением дополнительной переменной 714 0 сведем задачу к следующей задаче нелинейного программирования:
§ 4) ПРИБЛИЖЕНИЕ ОТНОШЕНИЯМИ ЛИНЕЙНЫХ ФОРМ 297 минимизировать функцию при ограничениях 9‘ ,3?2 — 1^——2|^л1, — 2т;1-|-1)2 I I 4, I — ’ll + 4i > °> — И+ ’!’> °- ’ll > °, ’IXh — ’ll ' 1, 41^ 1> — 4X1. Нетрудно заметить, что неравенства —’11 + ’12>°, ’ii'< 1, — X 1 и — 1j3<l следуют из ’ll 0» ---- 2т]1 —42 4> 0, 7|2 1 • Поэтому мы их отбросим и будем минимизировать функцию z — M при ограничениях 81= 2-2 - (М - 10) (- &2 = - 5, - 3=2 - (М + 2) (-24, 4-7)2)^ 0, 4 = 5,- 5,-(А14- 2)4, ^0, (1) — 2?3 — (2И-4-Ю)(— 4Х42ХО, ?1 + 3?2-(Л1- 514" 53 — (М — 2)(— 2т1,-442Х0, 2)41 ^0, 4 = 4 = 4 = 241 — 42 (2) Первый шаг. Полагаем Af = Af,= шах | h | = 10, подставляем в ограничения (1) и находим чебышевскую точку полученной при этом системы (1,) при ограничениях (2). Для
298 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V этого решаем задачу минимизации функции п = С при огра- ничениях (z=l, 6) (С<0) и (2), т. е. при ограничениях 81 = +:=э :0, В.2 — q 3^2 — 24т]! 1 2т]2 4~ £ в3 — — ^4- 4~ 12тц 4- В4 = 2^ — 207]! 4- 20т]2 4- с §5 = — ?! 3$2 16тЦ 4~ Зт]2 4~ ^6= ^т]1 44^ В7= 2 т?! 4“ Т]2 ^8= ^2 4" 1 Составляем таблицу — £1 — ?2 “ Ъ —^2 — :0, :0, = 0, :0, 0, •о, = 0, •0. 1 0 2 0 0 —1 0 82 = -1 —3 24 —12 —1 0 »з = 1 — 1 -12 0 —1 0 \ = 0 —2 20 -20 —1 0 »;= 1 3 16 —8 -1 0 »«= —1 1—8 0—1 0 *3 = 0 0 0 10 1 и = 0 0 0 0 -1 0 Переменная 37, как строго положительная, должна во время всех преобразований находиться слева таблицы. По- этому мы ее выражение даже не вносим в таблицу, а выпи- сываем отдельно — 2т]! 4“ Т]2, и лишь после получения решения задачи проверяем,
§ 4] ПРИБЛИЖЕНИЕ ОТНОШЕНИЯМИ ЛИНЕЙНЫХ ФОРМ 299 удовлетворяет ли В7 ограничению В7^> 0. Из таких же соображе- ний мы исключим и переменные ^^>0 и 7).2^>0. Исключив свободные переменные ;2, С, а также тд и т]2, выпишем их выражения: £1 = —83 12т)! С, С = —— К 4" h ^=183-188-7^ + 2^ + 2, 7)1 = 68 ~ 34 — 68 ~ 17 1" 34 + 17 и оставшуюся таблицу 53 ^5 ^2 ^8 1 в = 5 7 12 140 7 140 17 Т7 17 17 17 17" 8в = 2 13 2 80 30 80 17 17 17 17 17 17 5 3 __ 7 30 10 30 It 17 34 ~34 17 17 "17 которая уже содержит опорное решение. Для отыскания оптимального решения делаем шаг модифицированного жор- 13 гт данова исключения с разрешающим элементом у?. Получим таблицу ^3 ^0 ^2 ^8 1 8\ = 85 = 140 13 80 13 4 3 5 30 5 __ 30 13 26 26 13 " 13 13
300 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V из которой находим 30 min И — — 73, 1 о который достигается при 83 = 8e = 82 = 8g = 8t = 0, §4=^, 8»=^, т. е. при Точка = = 3» = ^, ^'=1) — чебышевская точка системы (lt) при ограничениях (2). Вычисляем М2 — наибольшее положительное значение Af, меньшее среди значений Л,=ърлг~1'1 (,=1...........6)' Таким значением окажется Л42 = 7, достигаемое при 1—1. Второй шаг. Значение М = М2==7 подставляем в огра- ничения (1) и находим чебышевскую точку полученной при этом системы (12) при ограничениях (2). Для этого решаем задачу минимизации функции при ограничениях = —2$2Зт]1— Зт]2 £ ^0, S2 = 2£2—18т]1“Ь 9tq2 —С 0, в3 == — с 34 = 2^-17^ + 17^ + С ^0, §5 = — — зе2 — 1 От]^ 5т]2 с о, ^6= — ^2 Т 5т]1 -|” £ 0, 37 = — 2г}1 В8 = — т]2 —1 0.
§ 5] МИНИМИЗАЦИЯ СУММЫ МОДУЛЕЙ ЛИНЕЙНЫХ ФУНКЦИЙ 301 В результате решения задачи минимизации находим чебы- шевскую точку [Лу(,)]=^ = _ ф = = ^=1) и значение М3 = б1 Отметим, что в действительности lim/Ип = /И0 = 6. п —>оо § 5. МИНИМИЗАЦИЯ СУММЫ МОДУЛЕЙ ЛИНЕЙНЫХ ФУНКЦИЙ 1. Постановка задачи. Пусть снова заданы система ли- нейных функций 7]/(х) = йпх1+ ... + ainxn-\-ai (/=1, ..., т) (5.7) и система линейных неравенств (ограничений) ^(x) = ^/?ixi+ ••• + + (£=1, .р), (5.8) но, вместо рассмотренной в п. 1 § 2 задачи минимизации функции и (х) = max | (х) | при ограничениях (5.8), рас- i смотрим теперь задачу минимизации (выпуклой кусочно-ли- нейной) функции т v(x)= S h/WI (5.27) 1 = 1 при ограничениях (5.8). Эта задача является, очевидно, также задачей выпуклого кусочно-линейного программирования, обобщающей задачу отыскания приближения х* (х*,..., х*) несовместной системы n),(x) = aaxi-|- ... + = 0 (/ = 1, т) по принципу минимизации суммы модулей всех уклонений: т т У I Vi (**) I = min У I V, (•*) I • i=l x 1=l
302 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V Введем дополнительные переменные положив = 1.......т)> т- е. Уг — и Уг + ТИ (х)^ (7 = 1, ..., /п). (5.28) Тогда задача минимизации функции (5.27) при ограничениях (5.28) окажется эквивалентной следующей задаче линейного программирования: минимизировать функцию (5.29) т Z= ^У> i = 1 при ограничениях Т/ =yi — ааХ! — ... — ainxn — I i =У1 “h ai\Xl +•••“+ ainXn ai - 0,1 soH' • •> fn), (5.30) = bkiXY -j- • • • + bknxn + bk 0 (k= 1,. >p) и при 0 (I — 1, ..., /п). Действительно, пусть z" = min z при ограничениях (5.30) и достигается в точке (х", у”), a -и'= minx/ при ограниче- ниях (5.8) и достигается в точке х'. Очевидно, у'[ = | т]. (х'Э | (/ = 1, ..., т), так как по (5.30) y’i(х”) | (г:= 1, ..., т) и в случае отсутствия знака равенства при некотором I можно было бы при отыскании min z уменьшить соответствующее yl. Имеем т т i=\ г=1 (точка х", удовлетворяя ограничениям (5.30), удовлетворяет одновременно ограничениям (5.8)). Положим теперь y'i — | (хг) |. Тогда точка (х'> у') удо- влетворяет ограничениям (5.30), поэтому т т ?" У, y'i = У, 1^ (О I=^. i = l Таким образом, z" = v' и х" из решения (х", у") задачи (5.29) — (5.30) является решением задачи (5.27) — (5.8), а точка (х',у' = т](х')), где У — решение задачи (5.27) — (5.8), является также решением задачи (5.29) — (5.30).
§ 5] МИНИМИЗАЦИЯ СУММЫ МОДУЛЕЙ ЛИНЕЙНЫХ ФУНКЦИЙ 303 2. Примеры. Пример 1. Пусть 7]! (х) = xt 4~ х2 — 2, Tj2 (х) =— Xj -|~Х3-{-2, Т]3 (х) = Xi — 2х2 + х3, Т]4 (х) = — х2 + х3 — 2 &1 = Х1 % = Xi — 4х2 х2 (5.31) Требуется найти минимум функции 4 v(x)= 2 h/(x)| i=l при ограничениях (5.31). Полагая | (х) | (Z=l, 2, 3, 4), придем к задаче минимизации функции 2=У1 Ч-Уа+^з+л при ограничениях Т1 =У1 — — -^2 4" 2 о, T2=jy2-|-Xi — х3 — 2^0, 7з = Уз--^1 “4“ ^-^2 — -^3 74=^4 4" Х2 — Х34~2^0, 71 4- xi Н- -^2 —2^0, 72 =Уъ — xi 4- х3 4- 2 о, 7з=^з4“-^1 — 2х2 4~ х3 ^0, 74=j/4 — х24-х3 —2>0, &i= Xi —х3 ^0, В2 = Xi — 4х2 0, х2 О, которую решим симплекс-методом,
304 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V Составляем таблицу 71 = 72 = 7з = 74 = 71 = Ъ = 7з = 74 = *1 = *2 = z = ~-х1 — х2 —Ха — yt —у2 —Уз —у4 1 1 10—1000 |—1 I 0 1 0—1 0 0 1—2 1 0 0—10 0 —1 1 0 0 0 —1 — 1—1 0—1 0 0 0 1 0—1 0—1 00 —1 2—1 0 0—10 0 1 —1 0 0 0 —1 —1010000 —1 400000 2 —2 0 2 —2 2 0 —2 0 0 0 0 0 —1 —1 —1 —1 0 После исключения хь х3 придем к таблице —72 — х2— ii —У1 —У2 — -У4 1 71 = 1 2 1 —1 —1 0 —1 —2 7з = 1 0 2 0 —1 -1 —2 —6 74 = 0 0 1 0 0 0 —2 0 71 = —1 —2 —1 —1 1 0 ш 2 72 = 1 0 0 0 —2 0 0 0 7з = —1 0 —2 0 1 —1 2 6 *1 = —1 0 0 0 1 0 0 2 = — 1 3 —1 0 1 0 1 4 Z = 0 0 0 —1 —1 —1 —1 0
§ 5] МИНИМИЗАЦИЯ СУММЫ МОДУЛЕЙ ЛИНЕЙНЫХ ФУНКЦИЙ 305 причем xi = Тз + хз —У% 4~ 2, хз = хч 4" 74 —Уь + 2- Находим опорное, а затем оптимальное решение: — 72 -У 2 — 74 —Ь —у* —Ь — 71 1 71 = 0 0 0 —2 0 0 1 0 7з = — 1 —4 0 —2 1 1~1| 2 —2 74 = —2 —4 — 1 —2 2 0 2 4 ^4 = — 1 —2 — 1 —1 1 0 1 2 72 = 1 0 0 0 —2 0 0 0 7з = 1 4 0 2 — 1 —1 —2 2 *1 = — 1 0 0 0 1 0 0 2 &2 = 0 5 0 1 0 0 — 1 2 г = — 1 —2 —1 —2 0 -1 1 2 — 72 — х2 — 74 —Ь — У2 — 7з —71 1 71 = 0 0 0 —2 0 0 1 0 Ь = 1 4 0 2 —1 — 1 —2 2 74 = —2 —4 —1 —2 2 0 2 4 3>4 = — 1 —2 —1 —1 1 0 1 2 72 = 1 0 0 0 —2 0 0 0 7з = 2 8 0 4 -2 — 1 —4 4 \ = —1 0 0 0 1 0 0 2 &2 = 0 ПО 0 1 0 0 — 1 2 z = 0 2 —1 0 — 1 -1 -1 4
306 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ. V — 72 — — 74—Ь — Ь — 7з —71 1 71 = Ь = 74 = 3^4 = ^2 = 7з = bi = х2 = 0 2 5 28 5 14 5 0 4 5 2 2_ 5 о —1 —4 —1 -1 -4- 5 5 о 16 5 Z = Из последней таблицы находим 16 min ^== —; 5 он достигается при 2 * 2 14 . о 2 * 2 . о 8 х« = _(Х| = __- + 2=-т> х?=--+2=^ Пример 2. Найти приближение несовместной системы 7Д (х) = — х2 — 1 = 0, (х) = 2xt х2 — 2 = 0, 7]3 (х) = хх — 2х2 + 1 = °, минимизирующее сумму v (х) = I 7)1 (х) I + | Т)2 (х) | + | 7)3 (х) | . Рассматриваемая задача сводится к задаче минимизации функции
§ 5] МИНИМИЗАЦИЯ СУММЫ МОДУЛЕЙ ЛИНЕЙНЫХ ФУНКЦИЙ 307 при ограничениях IЧ (*) | (/=1,2,3), т. е. при ограничениях 71=У1— -*4 4" 4" 1 о, •ft =^2 — 2xj — х2 4-2 0, ’[з=)'з— Х1~\-2х2—1^0, Т1=У1+ *1— хг— 1^=0, 72= у.г 2xj 4- Xi — 2 >= 0, •ft— Уз 4" xi — 2xi 4-1^0. Составив таблицу и исключив хг и х%, получим таблицу — 71 — 7з —У1 —У2 —Уз 1 71 = 1 0 —2 0 0 0 72 = 5 3 4=5] —1 —3 —6 72 = —5 —3 5 -1 3 6 7з = 0 1 0 0 —2 0 Z = 0 0 —1 —1 -1 0 причем х1 = 71~Гх2—JVi“b b ^2 = Т1 + Тз— У1 —Уз + 2- Ищем опорное решение — 71 — 7з —7з —Уг —Уз 1 12 5 6 5 0 0 1 3 1 4 _2 £ — 1 5 5 5 5 5
308 ЧЕБЫШЕВСКИЕ ПРИБЛИЖЕНИЯ [ГЛ V Из таблицы видно, что полученное опорное решение является оптимальным, т. е. 6 min z = -=-, о ’ и достигается при 11 — Тз = =Уз =.Уз = Тз = 73 = 0, т. е. при 4 3 = =
ГЛАВА VI ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ Настоящая глава посвящена общей задаче выпуклого программирования, т. е. задаче минимизации нелинейной, но гладкой выпуклой функции при ограничениях, заданных нели- нейными неравенствами, определяющими выпуклое множество пространства переменных. Важным примером задачи выпуклого программирования служит задача комплексного чебышевского приближения, в частности задача чебышевского приближения несовместной системы линейных комплексных уравнений как при отсутствии ограничений на переменные, так и при наличии таких огра- ничений, которые определяют некоторое выпуклое множество в пространстве переменных. Оказывается, что такого рода нелинейная задача, когда как минимизируемая функция, так и функции ограничений гладки и выпуклы, поддается еще решению методами наи- скорейшего спуска. В § 2 мы приводим сходящийся монотонный алгорифм для решения общей задачи выпуклого программирования, оказавшийся также удобным для вычислений. В § 3 этот алгорифм применяется к решению задачи чебышевского приближения несовместной системы линейных комплексных уравнений. В § 4 мы применяем алгорифм для отыскания точки, наименее уклоняющейся от системы точек (на плоскости) или от системы прямых (в пространстве). § 5 посвящен задаче квадратичного программирования, для решения которой применяется алгорифм § 2 и приво- дится один конечный алгорифм [11]. В § 6 рассматриваются двойственные задачи выпуклого программирования и устанавливается связь этих задач
310 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI с обобщенной задачей Лагранжа, с задачей отыскания седловой_ точки функции Лагранжа и с преобразованием Лежандра. Наконец, в § 7 приводятся некоторые методы решения задач нелинейного программирования, отличные от метода § 2. § 1. ОБЩАЯ ЗАДАЧА ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ 1. Формулировка задачи и характер минимума. Пусть задана выпуклая *) гладкая **) функция f(x)=f(Xi, .... х„) (6.1) и выпуклая область 2, определяемая неравенствами ?Дх) = <р7(Х1, ..., х„>^0 (6.2) где срДх)— также выпуклые гладкие функции, причем 2 содержит внутренние точки х, т. е. существуют точки, в которых <Р;(х)<0 (/=1, .... т). Задача выпуклого программирования заключается в мини- мизации функции (6.1) при ограничениях (6.2), т. е. в оты- скании среди точек области 2 такой точки х*, для которой достигается /(х*) = min /(х). (6.3) Покажем, что в задаче выпуклого программирования локальный минимум совпадает с абсолютным, т. е. с наи- меньшим значением минимизируемой функции в области 2. Действительно, пусть функция /(х) достигает в точке х(1) локального минимума /(х(1)), т. е. /(^(1)Х/(х) в некоторой окрестности £/(x(1))cz2, и пусть в некоторой точке х(2) £ 2 имеет место /(х(2)Х/(х(1)) *) Функция f (х) называется выпуклой, если для любых х', х' **) Гладкость функции означает непрерывность ее первых производных.
§ 11 ОБЩАЯ ЗАДАЧА ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ 311 Рассмотрим отрезок х = (1 — (0^^ 1). В силу выпуклости области 2 этот отрезок полностью содержится в 2. На нем существует точка Х(0)=(1— fo)x(i) г не совпадающая с х(1). В силу выпуклости функции /(х) /(х(0)) (1 __ = +1. [f(x^) —/(x*1*)] </(x^)) вопреки условию, что /(x(1))^c/(x) в окрестности £/(x(1)). Следовательно, /(x(1))^/(x) во всех точках х £ 2. Замечание. При отсутствии выпуклости задача про- граммирования наталкивается на наличие локальных миниму- мов, что значительно ее усложняет, так как методы спуска приводят, вообще говоря, к локальному минимуму, а не к искомому наименьшему значению функции. 2. Примеры реализации общей задачи. Приведем четыре важных примера реализации общей задачи выпуклого про- граммирования. а) Комплексное чебышевское приближение. Пусть комплекснозначная непрерывная на некотором ком- пакте Q функция f(t) приближается на Q в смысле Чебы- шева при помощи полинома Vi(0 + ---+V»(0 (**=** + *№ k = где /1(0, •••> fn(f) — фиксированный набор непрерывных комплекснозначных и линейно независимых на Q функций. Пусть при этом коэффициенты приближающего полинома удовлетворяют некоторым ограничениям ФИ*!, zn)^ZCj (/=1, q), (6.4) где — действительные, гладкие, выпуклые функ- ции, так что (6.4) определяет некоторое выпуклое множество 2 в 2п-мерном пространстве переменных х1? ..., xn; j/i, • • •, уп- Ограничения на коэффициенты могут быть заданы, например, в виде п 2 ^jk^k /?=i
312 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Чебышевское приближение функции /(f) при помощи полинома ^1/1(0 + -означает, что среди точек z(zlf zn), удовлетворяющих (6.4), отыскивается точка z*(z*, ..., Zn), называемая чебышевской, для которой max У 4А(0-/(0 <€<?*=! — inf max z s t с Q S (0-/(0 k=\ Так как функция n F(z) = F(x,, xn; yb _y„) = max У zkfk(f) — f(t) t£Q k=\ выпуклая (это легко проверить), то рассматриваемая задача комплексного чебышевского приближения является задачей выпуклого программирования. Ввиду непрерывности функций f(t) и j\ (f), ..., fn(t) мы получим приближенное решение рассматриваемой задачи, если решим ее на е-сетке {fb f2, ..., tm} компакта Q, причем тем лучшее, чем меньше е 0. Если обозначить fk (0) == /(/) ==z av (у = 1, . . . , tn\ k = 1, . . . , ri), то придем к следующей задаче комплексного чебышевского приближения. Задана несовместная система т линейных комплексных уравнений A,(z)=aviZ14-...-|-av„z„ + av = 0 (v=l, .... т) (6.5) и система неравенств (6.4). Требуется найти чебышевское приближение системы (6.5) при ограничениях (6.4), т. е. требуется найти точку z* £ 2, для которой max | (г*) | = min max | \ (z) |. (6.6) V Z £ 2 V Заметив снова, что max | (z) | — выпуклая функция, при- v ходим к заключению, что задача (6.4) — (6.6) также является задачей выпуклого программирования. б) Точка, наименее удаленная от системы плоскостей. Пусть в zz-мерном евклидовом пространстве задана система из т Л-мерных плоскостей az, определяемых
§ 11 ОБЩАЯ ЗАДАЧА ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ 313 системами az: л “h • • • 4~ а\пхп лР =0, a\i — k, 1-^1 —Н • • • 4~ an — k, пХп “4“ dn — k == 0 (6.7) (Z= 1, .m), причем гиперплоскости в каждой системе взаимно ортого- нальны и приведены к нормальному виду. Величина р(У, а,) = 2 а^хj 4~ ^i1^ • • • 4~ [ 2 a^~k> ixi4~ a^ri—k i J=l / v=l / означает расстояние от точки х' = (Хр ..а4) до плоскости а? Рассмотрим задачу отыскания точки, наименее удаленной от системы (6.7) ^-мерных плоскостей az, т. е. точки х*, для которой max р(х*, at) = inf max р(х, аД (6.8) 1 iт х \^i^m Легко проверить, что функция /(x) = maxp(x, az) I выпуклая, так что приведенная задача (6.7) — (6.8) также является задачей выпуклого программирования. При k = n—1 плоскости а- превращаются в гиперпло- скости рассматриваемого zz-мерного пространства и (6.7) состоит лишь из одного уравнения. Задача (6.7) — (6.8) в этом слу- чае превращается в задачу отыскания точки, наименее удален- ной от заданной системы из т гиперплоскостей п-мерного пространства, т. е. в классическую задачу чебышевского при- ближения несовместной системы линейных уравнений, рас- смотренной в § 1 гл. V. При Л = 0 плоскость а; означает точку zz-мерного про- странства. Поэтому задача (6.7) — (6.8) превращается в этом случае в задачу отыскания точки, наименее удаленной от заданной системы точек [10в]. в) Выпуклое чебышевское приближение. При- веденные в а) и б) задачи являются частными случаями сле- дующей задачи выпуклого чебышевского приближения.
314 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Пусть задана система р выпуклых гладких функций /,(х)=/,(Х1, хп) (/=1, (6.9) и область 2, определенная q неравенствами <P/GO^<P/Oi......хп)^о (/=1, q\ (6.10) причем ср! (х), ..., ср^ (х) — также выпуклые гладкие функции. Задача выпуклого чебышевского приближения системы (6.9) при ограничениях (6.10) заключается в отыскании точки х* £ 2, в которой max/-(х*)= min max/f(x). (6.11) i х £ 2 i Так как функция max/z (х) выпуклая, то задача выпук- i лого чебышевского приближения также является задачей вы- пуклого программирования. г) Задача Штейнера. Пусть в zz-мерном евклидовом пространстве задана система из т точек (х^, ..., х^) (z=l, 2, ..., rri) и некоторое выпуклое множество 2. Под задачей Штейнера будем понимать задачу отыскания во мно- жестве 2 такой точки Р*, чтобы сумма ее расстояний до всех точек нашей системы была минимальной: т т £ р(Р*, Р,.)= min £ р(Р, Р;). Так как функция является выпуклой, а сумма выпуклых функций также вы- пукла, то задача Штейнера является задачей выпуклого программирования. 3. Каноническая форма общей задачи. Введем в общую задачу (6.1) — (6.3) выпуклого программирования дополни- тельную переменную хп+1 и дополнительное ограничение /(^1> • • • , Хп) Тогда, как нетрудно убедиться (см., например, гл. V, § 1, п. 2), эта задача окажется эквивалентной следующей." мини-
§ 2] МЕТОД НАИСКОРЕЙШЕГО СПУСКА 315 мизировать линейную форму % == -^П+1 при ограничениях f(xit хп) — хп.л^0, срДл-j, х„)<0 (7=1, .... т), или, в более удобной записи, — задаче минимизации линей- ной формы z=pixl-[-...-]-pnxn = (p, х) ' (6.12) при ограничениях фДХь Х„)^0 (/=1, /77)*), (6.13) которую будем называть канонической формой общей задачи выпуклого программирования. § 2. РЕШЕНИЕ ЗАДАЧИ ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ МЕТОДОМ НАИСКОРЕЙШЕГО СПУСКА 1. Основной вариант алгорифма. а) Общее описание. Алгорифм состоит из предваритель- ного и общего шагов. Предварительный шаг алгорифма заключается в отыскании какой-нибудь точки х(0) $ 2. Общий шаг алгорифма состоит из следующих действий: 1) определения в полученной точке (приближении) (&=1, 2, ...) направления = ..., Ц?)) допустимого наискорейшего убывания функции z(x), 2) вычисления нового значения параметра В, 3) вычисления шага tk 0, характеризующего длину отрезка допустимого продвижения из вдоль 4) определения новой точки (приближения) и новых уклонений. б) Предварительный шаг. Исходное приближение х(0) может быть найдено, например, при помощи излагаемого ниже, в п. 3, сходящегося алгорифма, применяемого к сле- дующей задаче: минимизировать линейную форму и=Л (6.14) *) Функции фу(хп хп) гладкие и выпуклые.
316 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI при ограничениях фДхь (/=1, т), (6.15) определяющих некоторую область 2'. Так как по условию область 2 содержит внутренние точки, то min и 0. Поэтому для того, чтобы получить исходное при- ближение, нет необходимости находить minzz при ограниче- ниях (6.15), а достаточно, начиная с произвольной точки У, проделать лишь несколько общих шагов, изложенных ниже, пока не придем к точке х(0) такой, что соответствующее и = £0 <: 0. в) Общий шаг. Пусть уже найдено исходное приближе- ние х(0) £2. Без ограничения общности можно считать, что Уо) лежит на границе 2, так как в противном случае до- статочно продвинуться из точки х(0) в направлении С = — (—Ръ •••> —т- е- увеличить t в формуле X = Х(0) 4“ пока не достигнем границы области 2. Последнее сводится к отысканию, например методом касательных Ньютона, наи- меньшего положительного корня уравнений ф.(х(о) + С) = о (/=1, ..., zn). Во избежание так называемого «заедания» (см. [12а], [126] и [9]) и для установления предела допускаемой погрешности вычислений на каждом шаге, мы в нашем алгорифме устанав- ливаем для каждого шага соответствующее ему значение некоторого положительного параметра (k — номер шага), начиная с произвольного достаточно малого ^^>0 для первого (после предварительного) шага. Точку х(0) будем считать принадлежащей поверхности фуо(х) = О, если -81<Ф/о(^(о))^О, т. е. если уклонение точки от поверхности непо- ложительно и больше чем —
§ 2] МЕТОД НАИСКОРЕЙШЕГО СПУСКА 317 Пусть, например, (v=l, .... Vi), (/ 7^ Jl> • • • > Jvj)- 1) Определение направления спуска. Напра- вление спуска С(1) = (ЦП, из точки х(0) определим, во-первых, из условия, чтобы в этом направлении убывала функция т. е. чтобы ~=Р^ + ... + р£п = (р, С)<0 (6.16) и, во-вторых, из условия, чтобы это направление вело строго внутрь области 2, т. е. чтобы вдоль этого направления убывали все функции фу (х), т. е. удовлетворялись бы не- равенства It ~ Z 5V" /?= 1 Ъ = (?Фь(^<0))> О<0 (6.17) (v=l, 2, v,). Величины g=(М) " = (7фЛ (х<П О (V = 1, • • •, V,) определяют соответственно скорость убывания функций z(x) и ф; (х) (»=1, vt) в направлении С = (Сь .Сд). Для осуществления наискорейшего спуска с проникно- вением внутрь области 2 необходимо, чтобы наименьшая по абсолютной величине из величин (р, о, МЛ(*(0))> 0, •••> Мл/Я, (6-18) т. е. наименьшая абсолютная скорость убывания указанных функций, была как можно большей. Ввиду отрицательности этих величин это означает, что наибольшая из величин (6.18) должна быть как можно меньшей. Другими словами, направление должно быть чебышевским, т. е. являться
318 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI «чебышевской точкой» системы линейных неравенств (р, С)<0, Ш;(*(в))> Q<0 (. = 1, 2, .... Ъ). Введением еще одной дополнительной переменной т], со- гласно п. 2 § 3 гл. V, сведем таким образом задачу опреде- ления направления £(1) к решению следующей задачи линей- ного программирования: минимизировать форму и = т\ при ограничениях (р, (v<p/v (х(0)), 0 = 1, 2, vO. Область Z), определенная этими линейными однородными неравенствами, не ограничена, так что вектор С следует еще пронормировать, например положить IC1KC, .... |СЯ|^с. Таким образом, определение наискорейшего спуска из точки сводится к решению следующей задачи линей- ного программирования: минимизировать форму П = 71 (6.19) при ограничениях (р, Qi), (v<b;(х(0)), СХи 0 = 1, ...» уД | |Cfc|<C (A=l, 2, ./ 1 ' } Обозначим min и при ограничениях (6.20) через тр 2) Вычисление нового значения параметра В. Различаем два возможных случая: а)^^—(3) В случае а) не меняем значение параметра В, т. е. полагаем 83 = 8V В случае Р) меняем значение параметра В. Если — ^т]1<^0, то полагаем S3 = “ и продолжаем процесс, дви- гаясь в направлении из точки Если же тр = О и Ф4(Х(0))==0 (^=1,...,^), фу(^<°>)<0 (/#Л, то решаем следующую задачу линейного программирования:
(6.21) § 2] МЕТОД НАИСКОРЕЙШЕГО СПУСКА 319 минимизировать форму 11 = 1] при ограничениях (р> (v<p7)x (х(0)), Q<1) (t*=l С,-1 С (Z=l, .... п). При этом, если min и = т][ = О, то х(0) — решение; если же min n = О, то полагаем о2 = у и продолжаем процесс, двигаясь в на- правлении С, являющемся решением рассмотренной задачи (6.21) — (6.22) линейного программирования. 3) Вычисление шага tv Пусть уже определены направление и параметр 82. Тогда следует двигаться из точки в направлении т. е. увеличивать t в формуле x = x^-^t^ до тех пор, пока не достигнем значения tp равного наимень- шему из положительных корней уравнений фДх(о)-|~^С(1)) = О (7=1, .... да). (6.23) Число tl назовем шагом приближения. 4) Определение новой точки (приближения) и новых уклонений. В качестве нового приближе- ния берем точку x(t) =х(о) ^(1), Вычисляем новые уклонения ф7(х(1)) (/=1, ..., т). Для дальнейшего приближения считаем х(1) исходной точ- кой, 32 — значением параметра; определяем, как выше, направ- ление спуска вычисляем значения параметра В3 и шага f2, новое приближение = х(1) Ц-и новые уклонения фу(х(2)) (/=1, ..., tri) и т. д. 5) Критерий решения задачи и оценка при- ближения. Пусть получено приближение и при ’ ’ ’ ’ | (6.22)
320 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI определении направления спуска из точки пусть оказалось, что min n = 7]fe = 0. Пусть, далее, в задаче линейного программирования типа (6.21) — (6.22) оказалось, что снова min u = 7\'k — 0. Тогда приближение является решением задачи (6.12) — (6.13), и процесс закончен. Действительно, из того факта, что 7]fe = 0, т. е. из несу- ществования направления спуска из точки х^~1\ еще нельзя делать вывода о том, что точка является решением. Дело в том, что отсутствие направления спуска может быть следствием того, что недостаточно малб В^ и равенство нулю rik объясняется наличием одной или нескольких поверхностей, в которых в действительности не лежит, а лишь укло- нение от них меньше чем В* и поэтому они фигурируют в (6.19) —(6.20). Если же кроме 7^ = 0 имеет еще место = 0, то отсут- ствие направления спуска может быть лишь следствием того, что является решением, так как в задаче типа (6.21) — (6.22) участвуют лишь те поверхности, в которых точно лежит. Остановимся на вопросе об оценке близости получаемых на каждом шаге приближений z(x^) к значению г* = min z [9]. Уравнение касательной плоскости к поверхности у = фу (х) (У=1, ..., т) в точке х — х^ имеет вид п У — фу (*<*>) = 2 d^Jdx{k ) (Xi ~ Х‘?)) = 4 — 1 = (v<py (x(fc)), X — xw). В силу выпуклости функции фу(х) имеем (X) У. Подставляя в предыдущее уравнение, получим неравенство (х(/г))> х — W) Ъ (*) — Ф/
§ 21 МЕТОД НАИСКОРЕЙШЕГО СПУСКА 321 которое для любой точки x£Q т\ превращается в следующее: (v<py(x(fe)), х — x(A))-|-<py(x(ft)X0 (j = l, .... от). Этим установлено, что область 2 целиком содержится в многограннике 2Ь определяемом последними неравенствами. Так как 2 cz 2Ь то справедливы следующие неравенства: min z — z min z — z 0. Это означает, что I min г—z I I min г — z(x^) I. I |лг£21 I Таким образом, для оценки сверху близости значения z (x(Zf)) к г* = min z достаточно решить следующую задачу линей- ного программирования: минимизировать функцию г’,=/’л+ ••• ~\-Рпхп~ z(xw) = (p, х) —z(x(*>) при ограничениях X — (J=l, . .., ОТ). г) Пример. Минимизировать форму z = xz при ограничениях <Р1(Х) = Ф1(Х1, хъ х3) = — х\ 2xtx3 2х| — 2х( — х.г — х3 — 2 0, (-*0 — 4 (-^1> хз)----Xi — Xi Х% — Х3 — 3 ' 0, Фз (х) = <рз (Х1, х.2) х3) = xf + Xj — 4х2 — х3 4- 3 vC 0. В качестве исходного приближения можно взять точку ^(°) = (1, —iy 9), так как ф1(х(о)) = —п, <р4(х«”) = —12, ф3(х(о)) = О. Положим 81==0,5, тогда <|>1(х‘°>) = — 11 < — 81, <р2(х<°’) = — 12< — 81; -81<фз(х(0)) = 0. 11 С. И. Зуховицкий, Л. И. Авдеева
322 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Первый шаг. 1) Определение С(1). -4^-с,. Для отыскания направления убывания Сз’, Сз1’) решаем следующую задачу линейного программирования: минимизировать форму и =7] при ограничениях Ct —КО, —Ci—1<0, С2—КО, —с2 —КО. Заметим, что ограничение | Сз | 1 излишне, так как переменная С3, очевидно, ограничена вследствие первых двух неравенств. Решив эту задачу, получим ^’ = -1; ^’ = 1; ^’ = -3,5. 2) Вычисление В2. Имеем = — 3,5 — 8Ь так что 8i = 5i = 0,5. 3) Определение шага tv Двигаться следует вдоль луча Xj = 1—t; х.2 = —1-|~£ х3 = 9 — 3,5/; /^>0. Наименьшим из положительных корней уравнений ф1(х<0> + ^1’)=0; <р3(х<°> + й;(,)) = 0; <р3(х<°’ + ^(1)) = 0 является ^ = 2,1. 4) Определение новой точки и новых уклонений. Новое приближение х(1) определяется по формуле х^1)=х(0) + ад(1)=(— 1,1; 1,1; 1,65), а для новых уклонений получим ф1(х<1»)=— 1,34 < — 8,; — 83<<Мх(1))=0; <р3(_г(1)) = — 2,94 < — В3. Второй шаг. 1) Определение £(3). дС==^3’ 7^~— 3,2,13,2С, — Сз-
§ 2] МЕТОД НАИСКОРЕЙШЕГО СПУСКА 323 Для отыскания направления убывания решаем задачу линейного программирования: минимизируем форму 11 — 7\ при ограничениях Сз — + — Сз — 7^0; |CZ|^1 (/=1,2). Решив эту задачу, получим С;з,= 1; %2’ = —1; ^2) = —3,2. 2) Определение В3. Имеем т]2 = — 3,2 — 83. Поэтому 83 = 82 = 0,5. 3) Определение шага /2. Двигаться следует вдоль луча х{ = ~ 1,1-р; ,v2 = l,l —t; х3= 1,65 — 3,2^; *>0. Наименьшим из положительных корней уравнений фу(х<1) + ^(2)) = 0 (у = 1, 2, 3) является f2 = 0,45. 4) Определение новой точки и новых укло- нений. Новое приближение х(2) определяется по формуле х(2)=х(1) + /2С(2)=(—0,65; 0,65; 0,21). Новые уклонения равны ф1 (^) = - 1,14 < - 83; (х(2>) = - 1,07 < - 83; - 5з<фз(^9>)=0. Третий шаг. С(3)=(1; 1; —2,15); 84 = 83 = 0,6; <8 = 0,36; х(3»=(—0,29; 1,01; —0,57). Четвертый шаг. С<4>=(1; — 1; — 1,51); 8g = 84 = 0,5; ^ = 0,12: х<4)=(—0,17; 0,89; —0,75). Пятый шаг. 1) Определение 4S)- I = 4; (*‘41) - о,56^ 4- 2,224 - 4; = — 1,344 + 2,784 - 4; £'-'> = 0,664 - 44 — 4- 11-
324 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Для отыскания направления убывания решаем задачу линей- ного программирования: минимизируем форму И = 7] при ограничениях Сз — т] 0; 0,56с! + 2,22С2 — С3 — т] С 0; -1,34С1 + 2,78С2-С3-т1^0; 0Ж1-4С2-Сз-7]^0; \Ц | <: 1 (Z = l, 2). Решив эту задачу, получим т]3 = 0. 2) О п р е д е л е н и е Вб. Имеем т]3 = 0. Поэтому приме- няем критерий решения задачи. Имеем 4>! (Х(4>) = — 0,49; фа (х<4>) = — 0,37; ф3 (х<4>) = 0. Решаем следующую задачу линейного программирования: минимизируем форму U = 7] при ограничениях Сз — о, _ 7] = 0Ж! - 4C2 — q, - 7] -С о, |С,-1^1 (*=1, 2). Получим С<3>=(— 1; 1; —2,33). Полагаем 86 = к=0,25. 3) Определение шага /3. Двигаемся вдоль луча Х1 = — 0,17 — t; х2 = 0,89-Н; х3 = — 0,75 — 2,33/; />0. Наименьшим из положительных корней уравнений ф/(х<4>4-^«) = 0 0 = 1, 2,3) является <8 = 0,06.
§ 2] МЕТОД НАИСКОРЕЙШЕГО СПУСКА 325 4) Определение новой точки и новых укло- нений. х(5)==Л-(4)_|_^(5) = (_ о,23; 0,95; —0,88); ф1(х(8)) = — 0,19 >— 86; <p3(xW) = 0; Фз(х(в’)=-0,1>-86. Шестой шаг. 1) Определение С(6). g = C3; dMfl = - 0,56^ + 2,34^-Сз; = - 1,46С1 + 2,90С2 - Сз; = о,54С, - 4С3 - Сз. Для отыскания направления убывания решим следующую задачу линейного программирования: минимизируем форму W = 7] при ограничениях Сз — 0; —0,56^4-2,34^-^ — 7)^0; — 1,46^ 4- 2,9(Кз — с3 — 7] 0; 0,54^ — 4£2 — Сз — т) 0; |Сг|<1 (7=1,2). Решив эту задачу, получим ^6) = 1; £'«’ = 0,18; %в) = — 0,08. 2) Определение S7. Имеем т] =— 0,08— 0,25, так что 8, = ^- = 0,12. 3) Определение шага tQ. Двигаться следует вдоль луча Xi = — 0,23 4- t\ х2 = 0,95 4- 0,18^; х3= — 0,88 — 0,08f; £>0. Наименьшим из положительных корней уравнений ф7(^(5)4_^(б))==о (j = i, 2, 3) является t6 = 0,34.
328 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI считать lim = С Переходя к пределу в неравенствах £—>ОО (6.26) при I —* оо, получим (Р, С)^-8, Ш(х), С)^-8 0=1, Таким образом, направление С является направлением не- которого спуска из точки х. Величина шага по этому на- правлению С равна ?^>0. Следовательно, фД* + у£)<0 и= !> •••> т\ а это означает, что для достаточно больших будет <Р/(*(М + у^+1))<0 J7=b rn\ т. е. для достаточно больших будет tk. Имеем, наконец, г(хЛ-)) = г(хЛ-‘> + ^(.^) = г(х^-1))4- z(tk.^) = = z (х^-2)) + z (tki_^ki~ *)) 4- z (tkxSk^ = kt ki = z (x<°>) + 2 (^(?)) = ? (*(0)) < /=1 j=\ z (x<°>)+2 <z <x(0)) - 4 z8> 7=1 t. e. lim = — oo. i-*oo Последнее же противоречит предположению, что lim z (x^k^) — oo. £-►00 Следовательно, 8 = 0. Докажем теперь, что z(x^) сходится к минимуму а. Обозначим через k\ номер шага, на котором должен меняться параметр 8Л. Тогда, в силу правила построения {8Л},
§ 21 МЕТОД НАИСКОРЕЙШЕГО СПУСКА 329 заключаем, что lim 7]Л' = 0. ^£-*00 1 Пусть х* — предельная точка некоторой подпоследова- тельности последовательности {х^}. Можно считать, что lim х^^=х*. &£-*00 Допустим, что х* не является решением задачи (6.12) — (6.13), и пусть Ъ. ('•) = ° (F'.2.........Н).) fc (»*)< о ..............Л.,)- I Тогда существует направление С* наискорейшего спуска из точки х*, и оно удовлетворяет системе неравенств (р, С*)^*, (V'bp.C**)- C*)<7j* (|Л = 1, 2, н)> где т]*<^0. Из неравенств (6.28) следует Y)* (Л (6.28) (6.29) Покажем теперь, что в определении направления спуска из точки х^ при достаточно большом k\ могут участво- вать лишь функции из состава фд(х), ..., (х) (но не обязательно все). Действительно, в точке х* выполняется (6.27). Пусть min | (х*) | = о. Тогда ф;(х*)<-у (7^/»...,/^). Поэтому для всех точек х некоторой окрестности U(х*) f| 2 точки х* ф/(^)< — у (/V/1> •••> Ач).
326 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI 4) Определение новой точки и новых укло- нений. х(6)=х(в) + ^С(6) = (0,И; 1,01; —0,91); ф, (х(6>) = — 0,05; фа (х(6)) = — 0,16; ф3(х(6)) = 0. Седьмой шаг. £(”=(—1; —0,15; —0,26); 88 = 8, = 0,12; 0,2; х(7)=(—0,09; 0,98; —0,96). Восьмой шаг. (;(«)= (0,3; —0,03; —0,18); 89 = 88 = 0,12; f8 = 0,09; х(8>=(—0,06; 0,98; —0,98). 5) Применение критерия решения. Рассмотрим теперь точку х* = (0, 1, —1) и убедимся, что она дает решение задачи. Имеем ф1(х*) = 0, ф2(х*) = 0, ф3(х*) = 0, т. е. х* принадлежит всем поверхностям. Определим направление наискорейшего спуска из точки х*. Для этого находим _с,+зс,-Сз, и минимизируем форму 11 = 1\ при ограничениях Сз-7]^0, 3^-Сз -Ч 0, — Ч “р ЗСз — Сз — о, С1-4^-Сз —iq<0, Получим min w = t]* = 0. В силу критерия решения точка (0, 1, — 1) является реше- нием задачи.
§ 2] МЕТОД НАИСКОРЕЙШЕГО СПУСКА 327 д) Сходимость алгорифма. Сходимость алгорифма до- кажем в предположении, что область 2 ограничена и замк- нута. Тогда монотонно убывающая последовательность при- ближений {z(x(Ar))| имеет конечный предел а. Прежде всего покажем, что из lim z (х(*>) — а —оо k—>оо следует, что неотрицательная монотонно убывающая после- довательность {8Л} значений параметра стремится к нулю: lim = 8 — 0. k —► оо Допустим противное. Тогда найдется Ко такое, что для всех будет ВА = 3 и т)й< — 8. Рассмотрим предельную точку х последовательности {х^}, (Л) 1 J и пусть х 1 —*х. Ясно, что х — точка границы. Пусть в этой точке — 0» = 1.....»i)> ] (6.24) — 8 (/V/b > J4)- I В силу непрерывности функций фДх) найдется окрестность 6/(х) точки х такая, что для всех х^ U(x) fl 2 будут выполняться неравенства -8<ФЛ(х)^0 (у=1, ..., уД (6-25) Так как х^—>х, то найдется номер такой, что, начиная с все точки x(ki} попадут в Z7(x) fl 2, так что в определении направления спуска из х^ будут участ- вовать все функции (х), .(х). Далее, для всех х(^} $ </(х) fl 2 справедливы неравенства {Р, ^+1))^т1Л.<-8, (V-M-v'*0). <- 8 (v=l, ..., Vj). J (6.26) Так как последовательность + ограничена, то из нее можно выделить сходящуюся подпоследовательность. Можно
330 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ ГЛ. VI А так как при достаточно большом k будет (Л') то в точках х £ U(x*) Q 2, а следовательно и в точках х 1 с достаточно большими k\, в определении направления спуска не могут участвовать функции, отличные от фд (х), ... (X). Из непрерывности частных производных функций ф/(х) и из неравенств (6.29) следует, что для достаточно боль- ших k’j будет (А (х(^)Л*)<^. Следовательно, также является направлением некоторого спуска (может быть, не наискорейшего) из точки х(/г/). Для наискорейшего же спуска имеет место неравенство которое противоречит тому, что Таким образом, предположение о том, что х* не является решением задачи (6.12) — (6.13), привело к противоречию. Следовательно, {г(х(А?))} сходится к г(х*), т. е. к наимень- шему значению функции г(х) в области 2. 2. Второй вариант алгорифма. Второй вариант алго- рифма отличается от основного, изложенного в п. 1, лишь способом отыскания направления спуска С. В описанном процессе отыскания направления спуска для первого алгорифма оказываются «равноправными» не- равенства (6.16) — (6.17), что не всегда целесообразно, так как ведь основным в задаче является стремление к быстрей- шему уменьшению функции z{x}—pvxx ^-\~рпхп при ограничениях (6.13). Поэтому направление спуска естествен- нее искать следующим образом. После отыскания х(о) мы наряду с ^0 выбираем про- извольное, достаточно малое Затем направление определяем из следующей задачи линейного программирования:
§2] МЕТОД НАИСКОРЕЙШЕГО СПУСКА 331 минимизировать форму «+ ••• +р£п=(рЛ) (6.30) при ограничениях Ш«с. J (6'3,) Если min и = 7)! то двигаемся в направлении С(1) до тех пор, пока впервые не встретим границу области 2. Получаем точку x(l)=x(0)_j_^(l)j которую считаем исходной, полагаем = 8*, = kj и т. д., пока на k-м шаге не придем к min u — y\k В случае — 8Л определяем tk, и новые уклонения и продолжаем процесс из точки х^к\ считая ^/?+1 —~2 И ^k+l = ~2 • При полагаем 8fe+1 = ^, а выбор параметра Xk осуществляем следующим образом. Пусть Ф4х(^’1)) = 0 (И=Ь ... . РЧ); (zV/i, ••• ./к). Тогда минимизируем функцию М=РА + • • •JrP£n = (P> С) при ограничениях (?<рУ(1(Х(*-‘))ДХ0 (|Л=1....(J4); |С;ХС (Z=l, Если окажется, что min п = т^ = 0, то x{k~^ — решение задачи (6.12) — (6.13), и процесс закончен.
332 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Если же то решаем еще одну задачу линейного программирования: максимизируем форму v = \ при ограничениях (М)-^<о, (v^(-v(Arl))>Q< —х (Р'=1> ••• > !*i); К|=ёС (/=1,...,«). Получаем направление спуска Ck\ и пусть maxv = vk. Полагаем x*+i = min{y, т»ф Процесс продолжаем, беря вместо и Хл+1 вместо Хл. § 3. КОМПЛЕКСНОЕ ЧЕБЫШЕВСКОЕ ПРИБЛИЖЕНИЕ Как уже отмечалось в п. 2, а) § 1, одной из важных задач выпуклого программирования является задача чебы- шевского приближения несовместной системы комплексных линейных уравнений Д,(г) = аяг1+ ... + a,nzn + ач = 0 (v=l, ... , от), %•— (^i> ••• > %п)> %k । iyk> I a, = a, + ib,, (k = 1, ... , tt, v = 1, ... , от) (6.32) при наличии ограничений в виде неравенств Ф/(^) = 'Р/(-^1> ••• - У1> > Уп)^° (/=1, ..., я), (6.33) определяющих некоторое выпуклое множество 2 в 2п-мер- ном пространстве переменных хь ... , ylf ... , уп (фу (г) предполагаются действительными, выпуклыми и гладкими), т. е. задача отыскания точки г* $ 2, для которой шах | (г*) | = min max | (г) |. (6.34) v z £ 2 v Описанный в § 2 алгорифм, конечно, решает задачу (6.32) — (6.34), но, во избежание чрезмерного количества
§ 31 КОМПЛЕКСНОЕ ЧЕБЫШЕВСКОЕ ПРИБЛИЖЕНИЕ 333 ограничений, мы не будем переходить к канонической форме, а применим алгорифм непосредственно к задаче (6.32) — (6.34) (см. [12а]). Возникающие при этом некоторые видо- изменения алгорифма поясним на следующих примерах. 1. Отсутствие ограничений. Рассмотрим сначала чебы- шевское приближение линейной несовместной комплексной системы уравнений при отсутствии ограничений, т. е. когда 2 совпадает со всем пространством. Пример. Дана несовместная система линейных комп- лексных уравнений Д1 (z) = zr — =0, Д$ (^) = Zi — 1 -j— I = 0, ^3 (^) == <^2 “F 1 == д4 (?) = Zi + 2.2 — 0, Д5 (2) 2, _— 22g — 1 I = 0, г1 = Х1 + г>ь z = (zb г2). Найти точку г*, для которой шах | Д; (г*) |2 = min max | Д£ (г) [2. l<i<5 г Имеем IД1 А) I2 =А (х; >)=(xi — х2)2 + (ji — I А СО Г3 = А У) = (Х1 — 1 )2 + (у 1 +1 )2, IД3 А) I2 = А (х; у) = (х, + 1 )2 + (у4 - 1Л I Д4 A) I2 =fl (х; у) = (Xj + х2)2 + (У! + у.2)2, I дз (ОI2 = А (х; У) = (X! - 2х3 - 1 )2 + (У! - 2у2 + 1)2, где х = (х1,хъ), у = (уь у2), а /,• (х(о); уш) — уклонение точки (х<0), _у(о)) от поверхности А(х; _у) = 0- Таким образом, задача заключается в отыскании точки (х*; j/*) такой, что max /г(х*; y*) = min max fi(x\ у). (х; у} За исходное приближение возьмем точку (х(о); j/o)) = = (1, 0; 0, 1), а за исходное значение параметра 8 возьмем = 0,2.
334 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Подставляя в (х; j/), найдем max /z(x(o); j/(o))=/i(x(o); у(о))=/4(х(о); у(о)) = 2, 1<i<5 /. (Х(о); у(о)) _ 2 < — (1 = 2. 3, 5). Первый шаг. 1) Определение направления наискорейшего спуска. Имеем 1 dj\ (х(0); у(0))_« „ ~ । г . 2 -----(К,-— — '•з “г 1 d/4(^(0,;y0)) —г । г । г । г 2-------+ + Вдоль направления наискорейшего спуска £(1) эти произ- водные должны быть отрицательными и наименьшая из них по абсолютной величине должна иметь наибольшее по воз- можности значение, т. е. £(1) — решение следующей задачи линейного программирования: минимизировать форму при ограничениях Ci — ^2 — Сз Ci ^з -|- С4 В и дополнительных ограничениях (Z=l, 2, з, 4), которые, как уже отмечалось в п. 1 § 2, необходимо ввести для нормировки вектора £. Получим С(1) = (— 1, 1; — 1, — 1). 2) Вычисление В2. Имеем min и = — —2 <4 — 8Ь так что 82 = Bj = 0,2. 3) Определение шага tY. Двигаться следует вдоль луча хг — 1—t; x% = t; yi = — t; у2=1—t; t>0. Для максимальных уклонений вдоль этого луча получим А(х; у)= 1 +(1 -202, А(х; у)= 1 +(1 -2t)\ Величину шага определим по формуле r1 = min{f;
§ 3] КОМПЛЕКСНОЕ ЧЕБЫШЕВСКОЕ ПРИБЛИЖЕНИЕ 335 где f минимизирует Л (х; _у)=/4 (х; у), а Г— наименьший положительный корень уравнений Ш у=Д(х;у) (Z = 2, 3, 5). Получим /' = 0,5, Г = 0,18 и, следовательно, = 0,18. 4) Определение новой точки и новых ма- ксимальных уклонений. Для нового приближения 5л(1))=(лт(®); j/(o)) + ^(1) = (O,82; 0,18; —0,18; 0,82) новыми максимальными уклонениями будут у(1>)=1,4, /.(У1); уО)_ 1,4< —(Z = 2, 5). Результаты вычислений на втором, третьем и четвертом шагах приведены в следующей таблице: № шага Направление спуска (.(<> Значение 5U1 Величина шага Новое приближение Ха' 2 (-1; -1; 1; — 0,15) 0,2 0,16 (0,66; 0,02; —0,02; 0,80) 3 (— 1; —0,6; — 0,8; — 1) 0,2 0,30 (0,36; —0,16; —0,26; 0,50) 4 (1; —0,85; 0,55; — 1) 0,2 0,13 (0,49; —0,27; —0,19; 0,37) 5) Применение критерия решения. Рассмотрим точку (х*; У*) = ^> —1; —и пусть В* = 0. Имеем max Д(х*; у*)=/1(х*; у*)=/2(х*; у*)=/3(х*; у*) = = 0,889. Далее, 1 ЗЛ (**; У*) _ 2 . 2 „ 2 . । 2 г 2 ’ дС 3Л1 3 3 3 1_ df2 (х*; у*) _ 2 , ,2 2 ’ дС 3 4 ‘ 3 ^3’ 1 df. (л-*; у*) _ 2 / 2 , 2 ’ дС 3 *2 3
336 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Минимизируем форму и = Ъ при ограничениях -h, +|л -Ес». О о К 1=^1 (/=1, 2, 3, 4). Оказывается, min w = 0. В силу критерия решения п. 1 § 2 точка -Ь -L, 1) является решением задачи. 2. Наличие ограничений. Рассмотрим теперь чебы- шевское приближение линейной несовместной комплексной системы уравнений при наличии ограничений на неизвестные, если совокупность ограничений определяет некоторую вы- пуклую область 2. Пример. Дана несовместная система линейных ком- плексных уравнений (z) = zY — 2z2 -j- 1 — I = 0, Ш = zx +1— / = 0, Д3 (z) = zr-\~ Зг2 — 0,oz = 0, Д4 (z) = 0,5^! — z% — 0, Д»(<)= 2^! 4~ ^2 + i— Z = 0 и область 2, определяемая неравенствами | 22'1 4~ 2z2 I 1/"2 , | 2zt — 4221 /2 . Найти точку г* £ 2, для которой шах | Az(/*)|2 = min max | (z) z e 2
§ 31 КОМПЛЕКСНОЕ ЧЕБЫШЕВСКОЕ ПРИБЛИЖЕНИЕ 337 Имеем I (г) Р =А (х‘, у)= — 2х2 1 )2 (у, — 2у 2 — 1 )2, IМ*) I2=А (*; jO=(*i +1 )9 + (у 1 - 1 )2, I (?) Р =А (х> у) = (xi 4~ ^хъ^ ~г (У1 Ч- Зу2 — 0,5)2, I (*) Р = А (*; J/)=(0,5xt - х2)2 + (0,бу, -у2)2, ! ^5 (^) Р =Л (х5 у) = (2х, -|- х2 4~ О2 ~F (2yi Ч~У2 — О2 и ограничения Ф1 (х> у)= (2х, 2х2)2 (2у, -|~ 2у2)'2 — 2^0, ф2 (х; у) = (2х, — 4х2)2 + (2у, — 4у2)2 — 2 < 0. Задача заключается в отыскании точки (х*; у*) £ 2 такой, что max A(x*j у*) = min max fi(x', у). 1^Z^5 (jc; у) £ 2 За исходное приближение возьмем точку (х(0); у(0)) = = (0, 0; 0, 0), а за исходные значения параметров В и ) возьмем соответственно В, = 0,42 и X, = 1. Подставляя (х(0); у(0)) в fi(x\ у) и tyj(x; у), получим max А(х(0); y(0>)=/i (х(0); у^))=/2(х(°); у(0)) — =А(-^(0); У0)) = 2 А (х(°\ у (°)) — 2 < — 8, (I = 3, 4), ф!(х(0’; Ув>)<-81; <Ы*(0); y(0))<-8v Первый шаг. 1) Определение направления наи- скорейшего спуска. Имеем dft (х^, у<°>) = 2С1 _ _ 2(,з dh (х'»’; у“”) _ % 9„ — 2^ — Д3, -(4с У1(11) = ~ 4^з - 2Ci. Направление наискорейшего спуска £(1) является решением следующей задачи линейного программирования: минимизировать форму
338 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI при ограничениях 2Ci — 4г2 — 2Сз + 4^ — О, 2Ci -2С3 -Д^О, 4^ + 2^ —4С3 —2С4-$^0, |СХ.|^1 (/=1,2, 3,4). Получим С(1) = (— 1, 1; 1, 1). 2) Вычисление В2 и к2. Имеем minn = £1 = — 4<^ — 8t; поэтому В2 = Bj = 0,42 и к2 = kj = 1. 3) Определение шага Двигаться следует вдоль луча xt = — t; х2 = /; у i = t\ y% = t; 0. Величина шага определяется по формуле f', f"}, где f и /" вычисляются так же, как в примере п. 1, a f"— это наименьший положительный корень уравнений Ф1 (х; у) = 0; (х; у) — 0. Получим ^ = ш1п{Г, Г, Г} = Г = 0,20. 4) Определение нового приближения ино- вых максимальных уклонений. (Х111, Х^-, у?’, уН=(*(0); /°*)+«(1) = = ( — 0,20; 0,20; 0,20; 0,20). Для новых максимальных уклонений получим max (х(1); у(1)) = 1,60. 1^5 Далее, -Л <А (*(1); /°) — 1,60 < о, /г(х(1); /0)_1,60< —84 (г = 3, 4, 5), <pi(x(1); /»)< — -8s<^(x<O; /»)<0.
§ 31 КОМПЛЕКСНОЕ ЧЕБЫШЕВСКОЕ ПРИБЛИЖЕНИЕ 339 Второй шаг. £(«)=(-!, -1; 1, —1); 83 = 82 = 0,42; Х3 = Ха = 1; /3 = 0,20; (х<3>; /2>) = (—0,40; 0; 0,40; 0). Третий шаг. ^3) =(—1, 1; 1, — 1); 84 = 83 = 0,42; Х4 = Х3; /3 = О,ОЗ; (Х(8); у(з))_(_ 0)43; о,ОЗ; 0,43; —0,03). Четвертый шаг. 1) Определение C(i). Минимизируем и = К при ограничениях 1,02^ — 2,04С3 — 1,02^ + 2,04tU — £ < 0, 1,14с! — 1,14Сз —$=^0, — 3,92Ci + 7,84 Са + 3,92С3 — 7,84С4 < — 1, |Q|^1 (/=1,2, 3,4); получим min и = 0,3 0. 2) Вычисление Вв и кв. Так как minzz^>0, полагаем в5=4=0>21’ Для вычисления Хв решаем две задачи линейного програм- мирования. а) Минимизируем u — t при ограничениях 1,14 г, ‘ — 1,14С3 -^0, — 3,92Ci + 7Ж2 4- 3,92Сз — 7Ж4 0, |Q|^1 (/=1,2, 3,4). Получим minw = —2,28. Р) Максимизируем форму v = X при ограничениях 1,14с, — 1,14С3 J_ 1,14^0, — 3,92С, 7,84С2 + З,92:3 — 7,84^ + X 0, (Z=l, 2, 3, 4).
340 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Получим max v = 11,76. Поэтому —min {0,5; 11,76} = 0,5. Для С(4) получим ^4)=(0, —1; 1, 1). 3) Определение шага Z4. Двигаться следует вдоль луча Xi — — 0,43; х2 = 0,03 — /; У1 = 0,43 4- t; у.2 = — 0,03-j-f; f>0. Для шага получим f4 = 0,03. 4) Определение новой точки и новых укло- нений. (х(4); У4)) = (—0,43; 0; 0,46; 0). Для новых максимальных уклонений получим max (х(4); у(4)) = Л (х(4); У4)) = /2 (х(4); У4)) = 0,62, fi (х(4); y(i}) — 0,62 < — В5 (Z = 3, 4, 5), <Р1 О(4); ^(4)) < — а8; ф2 (xw; yw) < — 8В. Пятый шаг. б8) = (—1, 1; Ъ — О; S6 = 8B = 0,21; Х6 = Х3 = 0,5; £в = 0,018, (45); У5)) = (-0,448; 0,018; 0,478; —0,018). Легко проверить, что точка (х*; у*) = (—0,5; 0; 0,5; 0) является искомым решением. § 4. ТОЧКА, НАИМЕНЕЕ УДАЛЕННАЯ ОТ СИСТЕМЫ ПЛОСКОСТЕЙ Как уже отмечалось в п. 2, б) § 1, общая геометриче- ская задача отыскания в л-мерном евклидовом пространстве точки, наименее удаленной от заданной конечной системы ^-мерных плоскостей, является задачей выпуклого програм- мирования. Представляют интерес рассмотренные ниже два частных случая этой задачи.
§ 4] ТОЧКА, НАИМЕНЕЕ УДАЛЕННАЯ ОТ СИСТЕМЫ ПЛОСКОСТЕЙ 341 1. Точка, наименее удаленная от заданной системы точек на плоскости. При k = Q общая геометрическая за- дача п. 2, б) § 1 превращается в задачу об отыскании точки, наименее удаленной от заданной системы точек п-мерного пространства [10в]. Рассмотрим частный случай этой задачи при п = 2, т. е. задачи отыскания точки, наименее удаленной от заданной системы точек на плоскости, причем расстояния будем брать взвешенные. Пусть на плоскости дано 5 точек: Mi (- 3, - 1); Л18 (- 1, - 3); Л43 (- %, - »/,2); Aft (0, 0); 2ИВ(— 2, — 2) 112 12 с весами соответственно —-; —— • — /2 /2 /2 2/2 /2 т. е. расстояниями от точки М (х, у) до Mt будут величины Pi(х, У) = р(М MJ = (х + 3)2 + О+1)/ р-2 (х, у) = Р (м, МО=-L./(x + 1)2 + O + 3)’, Рз(х, у) = р (М, М3) = = + Я + + Я = ^(2х + 3)3+(2у + 5Л Р4(х, у) = р(М мо = ^У^Т^=у=уГхт+УТ’ Рб(х, у) = р (М, М0 = = -ру/(х + 2)2 + (у + 2)^ =_^/(2x + 4/ + (2j + 4)4. Задача определения точки, взвешенно наименее удаленной от данной системы точек, состоит в отыскании точки Л4*(х*,у*) такой, что max р?(х*, jy*) = min max р?(х, у). (х, у) 1 =<vс$5 Она, очевидно, эквивалентна задаче отыскания чебышевской точки следующей несовместной системы линейных комплексных
342 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI уравнений: (?) — (z + 3 + О = °, Д2 (z) =(z + 1 + 3z) = О, V z + (+ == -у= (2? + 3 + 5z) = О, д4(г)=—Е= z =о, v ’ 2/2 Д5(г) = А.(2г+4 + 40 = 0, т. е. отысканию точки z* такой, что max | Д, (z*) 12 = min max |Дч(г)|а. z l^v<5 За исходное приближение возьмем точку (х(0), у(0)) = = (—1, —1) и положим = 0,5. Получим max р?(х(0), Уо)) = р| (х(0\ у<°)) = 5. Первый шаг. 1) Определение С(1). Так как макси- мальных уклонений лишь одно, то следует двигаться по антиградиенту (т. е. в направлении, противоположном гра- диенту) — ?рз+(0)> Уо))= _( др| (х<»>, у»>) dp|(x"»,y>)\ z л ~ v~ дх ’ ду ’ °-' и можно брать £(1) = (—уз, —1). 2) Вычисление В2. Имеем dpf(x(0’, У(0‘)_ 20— . ^(1) —“^з — следовательно, В2 = — 0,5. 3) Определение шага Двигаться следует вдоль луча х = —1—1/з^; у = —1—t; f^>0. Наименьший из положительных корней уравнений рИ(х(0), +0)) + /(1>] = р|[(х(0), +0)) + /(1)] (v=l, 2, 4, 5) равен 0,6 = ^.
§ 4] ТОЧКА, НАИМЕНЕЕ УДАЛЕННАЯ ОТ СИСТЕМЫ ПЛОСКОСТЕЙ 343 4) Определение новой точки и новых макси- мальных уклонений. (х(1), У”) = (х(°>, 1,2; — 1,6), max j(1)) = p[ (х(|),_у(1*) = рз(х(|), у(1)) = 1,8, 1 — 81<р|(^(1), У1’) — 1,8 <о, р| (х*1’, У1') — 1,8 < — 8j, pl (х'1’, У1’) - 1,8 < — 81. Результаты вычислений на втором и третьем шаге приведены в следующей таблице: № шага Направление спуска СО) Значение 8>+1 Величина шага // Новое приближение (М у&) 2 3 (—1; —0,14) (-1; -О 0,5 0,25 0,42 0,36 (—1,62; —1,66) (-2; - 2) Четвертый шаг. 1) Определение С(4). --------------------------М dp!(x‘s’, У8’)— г I г ----------------------------’1 Т <-2> у”) _-----------------------, --- ~f~ А-2, <?р?(х'”, у'”) г-г Минимизируем форму и = 5 при ограничениях Cl — \ — f,sS0, — М У 42 — 0> — 2^ + 2^ —5^0, — С1— С, —5^0, |С;|^1 (/= 1, 2). Получим minzz = 0.
344 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI ф Применение критерия решения. Так как в задаче линейного программирования, решенной в четвертом шаге, в определении направления наискорейшего спуска фи- гурировали лишь точно равные уклонения, то, согласно кри- терию решения (п. 1, в) § 2), точка (х(3), уА3)) = (—2, —2) является искомым решением задачи. Замечание. Мы рассмотрели вариант задачи, когда искомая точка 714* ищется на всей плоскости. Несколько ус- ложненный вариант, когда точка ищется в некотором выпуклом множестве точек на плоскости, также решается аналогичным алгорифмом так, как это проиллюстрировано на примере п. 2 § 3. 2. Точка, наименее удаленная от заданной системы прямых (в пространстве). Рассмотрим еще один частный случай общей геометрической задачи (6.7) — (6.8) при &= 1 и п = 3, т. е. задачи об отыскании точки, наименее удален- ной от системы прямых в трехмерном пространстве. Пример. Пусть в трехмерном пространстве заданы пять прямых: = О, х3 — 1 = 0; а4: которым соответственно приписаны веса ]/"2, 1, ]/2, 1, /б, так что расстояния р£ (х) от точки х = (хь х%, х3) до пря- мых az (Z=l, 2, 3, 4, 5) определяются формулами Р1(х) = К2 ]/^ — х2— 1 У . /х,4-х2у J/T / ~1~ \ /2 / ' — К(х, — х3 - 1 У2 (х, + х3)’2,
§ 4] ТОЧКА, НАИМЕНЕЕ УДАЛЕННАЯ ОТ СИСТЕМЫ ПЛОСКОСТЕЙ 345 р.2(х) = Г(х1-1)-2+(х.2 + 2)^ — 1/"9 1 / Iх' — I /А4-.ГЗ — — И Г \ /2 / /2 / — У(-Х1 — -^з)2 Ч- (-^i -^з — 2)®, хх — 2л% — х3 — 2 \2 г /3 — (-^i 2х2 Хз — 2)2 -j— 2 (Xj х2 — Х3 -|— I)2. Задача определения точки, наименее удаленной от задан- ной системы прямых, заключается в отыскании точки х* = (х*, х*, Х3) такой, что max p-(x*) = min max pf (х). За исходное приближение возьмем точку х(о)=(О, 0, 0) и положим = 0,50. Имеем шах р/ (х(0)) = pg (х(0)) = 6, р!(х(0>) — 6<— (Z=l, 2, 3, 4). Первый таг. 1) Определение £(1) 2 3. Так как максималь- ных расстояний лишь одно, следует двигаться по антиградиенту - VPl (х(0)) = (0, -12, 0) и можно брать £(1) = (0, —1, 0). 2) Вычисление 82. Имеем — 12 \ следовательно, 32 = = 0,50. 3) Определение шага tr. Двигаться следует вдоль луча — 0; х% = — t; х3 — 0; 12> 0. Для величины шага получим /1 = min{f, f'}=f' = 0,14,
346 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI где f минимизирует pf (х(0) а t”— наименьший поло- жительный корень уравнений р52(х(°) + ^1)) = р? (х(0) 4- fC(1)) (/=1, 2, 3, 4). 4) Определение новой точки и новых макси- i мальных расстояний. х(1) = х(0)+^1)=(О; —0,14; 0), max р- (х(1)) = р| (х(1)) — р|(х(1)) = 4,46, l=Si^5 — В2<р|(х(10 —4,46<0, р? (х(О) — 4,46 < — В.2 (/=1, 4). Результаты вычислений на втором, третьем и четвертом шаге приведены в следующей таблице: 5 № шага Направление спуска чО) Значение S<+1 Величина шага ti Новое приближение (х0); jXO) 2 (1; -1; О 0,50 0,86 (0,86; -1; 0,86) 3 (—0,08; -0,08; 1) 0,25 0,06 (0,86; —1; 0,92) 4 (1; 0,03; 1) 0,125 0,11 (0,97; —1; 1,03) 5) Применение критерия решения. Рассмотрим точку х* (1, —1, 1) и В* = 0. Имеем max pf (х*) = pf (х*) = р| (х*) = р| (х*) = 1. l^i^5 Для определения направления наискорейшего спуска надо решить следующую задачу линейного программирования: мини- мизировать форму п = £ при ограничениях 2^-2С2-$^0, 20з —£<0, — 2С2 —е^о, |Q|^1 (/=1,2,3). Получим minn — 0. В силу критерия решения п. 1 § 2 точка х*(1, —1, 1) является решением задачи.
§ 5] КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ 347 § 5. КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ 1. Постановка задачи. Пусть задана квадратичная функция f{x)=f(xb = ^btjXiXj + ^CiXi (6.35') i=l /=1 i=l или в векторно-матричной форме /(х) = у (х, Вх) (£, х), (6.35) и линейные неравенства Ф/ (х) = фу (Хр . . Хд) = tfyjXi CljnXn 4“’ Я/ 0 (6.36') (/= 1,..., rn), которые в векторно-матричной форме запишем так: Лх-4-rz^O, (6.36) и пусть неравенства (6.36) определяют некоторую область 2, содержащую внутренние точки. Будем предполагать, что матрица В=||£.у|| симметрич- ная и положительно определенная, так что /(х) — выпуклая функция. Задача квадратичного программирования формулируется так: отыскать точку х* £ 2, для которой достигается мини- мум функции (6.35) при ограничениях (6.36): /(x*) = min/(x). (6.37) х е s 2. Применение алгорифма выпуклого программиро- вания. Предварительный шаг. Исходное приближение х(0) £ 2 можно вычислить, например, симплекс-методом. Общий шаг. Пусть уже найдено исходное приближение х(0) £ 2. Без ограничения общности можно считать, что х(0) лежит на границе 2. Как и в общем алгорифме п. 1 § 2, устанавливаем на каждом шаге значение положительного параметра (k — но- мер шага), начиная с произвольного достаточно малого
348 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI для первого (после предварительного) шага, и точку будем считать принадлежащей плоскости фу(х) = 0, если Пусть, например, — 81<Фд(х(0)Х° (^ = 1> •••> *1), Bj (j 1) Определение направления спуска. Напра- вление спуска . -ДР) из точки определяем из следующей задачи линейного программирования: минимизировать линейную форму п и = (Вх<°) + с, 0 = 2 = (v/(x<0))> Q i=\ при ограничениях aj^i + • * • + aj\n^n 0 (у = 1, ..., ух), (Z= 1, ..я). Обозначим min и через 2) Вычисление нового значения параметра В. Различаем два случая: а) щ — 8Ь б) щ — Вр В случае а) не меняем значения 8, т. е. полагаем 82 = 8Ь и продолжаем процесс. В случае б), если —то полагаем 32 = у и продолжаем процесс; если же и1 = 0) то проверяем, не явля- ется ли точка х(0> решением задачи. Пусть, например, 'Ъ|л(х<о)) = ° (н= !> •••> Hi)- фу(х(0))<0 Тогда решаем следующую задачу линейного программирования: минимизировать форму
§ 5] КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ 349 при ограничениях aJ^n ° (р- = 1, ..., pi), (Z= 1, /z). Если min zz = zzj = О, то х(0)—решение задачи (6.36)—(6.37). Если же Wj<<0, то полагаем снова 8.2=-^- и продолжа- ем процесс, считая направлением наискорейшего спуска реше- ние рассмотренной задачи линейного программирования. 3) В ы ч и с л е н и е шага tt. Пусть уже определено на- правление С(1) наискорейшего спуска из точки х(0). Двигаемся в этом направлении, т. е. увеличиваем t в формуле до тех пор, пока не достигнем значения f1 = min{f, f'}, где (Вх^ + с, С(1>) 1 ~ (С11’, £С(1)) минимизирует функцию /(х(0) 4“ ^(1)), a t" определяется как наименьшее положительное среди чисел ~Ф1 (*(0>) -Фт^01) п ’ * * * ’ п i=l i=A 4) Определение новой точки и новых укло- нений. В качестве нового приближения берем точку х(1) = = и вычисляем новые уклонения. Алгорифм про- должаем, считая а*(1) исходной точкой, 32 — значением пара- метра. 5) Признак получения решения и оценка приближения. Пусть получено приближение и при определении направления спуска С(/г) из точки x^k~1^ оказа- лось, что minw = z/£ = 0. Тогда, аналогично описанному вы- ше, в 2), если zz/j = O, то —решение. Остановимся на вопросе об оценке близости полученного на Л-м шаге приближения к значению /(x*) = min f(x). х е 2 Для этого, как и в общем случае п. 1 § 2, рассмотрим урав- нение касательной плоскости в точке х^ £ 2 к поверхнос- ти у=/(х): Y — / (х^) = (Bx^k} -j- G х — х(/г)).
350 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI В силу выпуклости функции f(x) имеем /(х)^ У. Подставляя в предыдущее уравнение, получим неравенство (Bx{k} -j- с, х — x(fe)) ^/(х) — /(x(fe)), так что | min f (х) — f (x(fe)) | | min (Bx{k} -}-c,x — x(fe)) |. Таким образом, для оценки сверху близости значения /(х(Л)) к значению /(x*) = min/(x) достаточно отыскать х 2 min (Bx{k} х— x(Z?)). Пример. Минимизировать функцию f (•*) = xi ~Ь ~2 при ограничениях фх(х)== Xj-j- х2Ц- хз— 2<^0, ф2 (х) = — 2xt — х2 — Зх3 5 0, фзОО = х\~ х* — 2^0, Фа (х) = -хп + ухз— х3—1^0, 4*s 0*0 == — xi 2х$ — 2х3 —3 0, 4*6 С^) == Х% ЗХз —1 0. За исходное приближение возьмем точку х(0) = (0, 0, 2), а за исходное значение параметра В возьмем В1 = 0,50. Имеем ф1(х<°)) = 0; ф.(х(0>)<— Bi (Z = 2, 3, 4, 5, 6). Первый шаг. 1) Определение Для отыскания направления ^з1’) решаем следующую задачу линейного программирования: минимизировать форму п = 8^ при ограничениях Ct+^4-^^o. (/=1,2,3).
§ 51 КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ 351 Получим С(1)=(0, 0,-1). 2) Определение 8а. Имеем щ = — 8— 8Ь так что = 8t = 0,50. 3) Определение tr. Двигаемся вдоль луча Xi = 0; Х'2 — 0; х3 — 2 — t; t^> 0. Для величины шага получим = Г = 0,33. 4) Определение новой точки и новых укло- нений. х(1)=х(0)_|_ ^(1)_(0; 0; 1,67), ф2(х(>») = 0; -82<ф1(х<1))<0; - 8, <%(*(1))<0; Ф/(х(1))<-8а (/ = 3,4, 6). Результаты вычислений на втором, третьем, четвертом и пя- том шаге приведены в таблице: № шага Направление спуска С(:) Значение S*+i Величина шага t. Новое приближение 2 (1; —0,5; —0,5) 0,5 1,03 (1,03; —0,52; 1,15) 3 (—1; 0,5; 0,5) 0,25 0,006 (1,03; —0,52; 1,15) 4 (1; 1; -I) 0,25 0,34 (1,37; —0,18; 0,81) 5 (—4; 0,5; 0,5) 0,25 0,35 (1,020; —0,005; 0,985) 5) Легко проверить, что точка х*=(1, 0, 1) является решением. 3. Конечный" алгорифм для квадратичного програм- мирования. Приведем теперь изложение одного конечного алгорифма для решения задачи (6.35) — (6.37) квадратичного программирования [11].
352 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI 1) Составим таблицу из ограничений (6.36') и частных производных минимизируемой функции /(х) (6.35'): *1 ... Xj ... ЛГд 1 = all fliy ... ain «1 4ч == aix ... aij ••• din 4m = ami ••• amj ••• amn am = Z>n ... btj ••• bin fxk = bki ••• bkn Ck f*n = ^ni • • • bnj •.. bnn cn Найдем единственную точку в которой /(х) дости- гает минимума. Если а(1) £ 2, то а(1)=х*, и задача решена. Если же 2, то выберем произвольную точку х(о) £ 2 (исходная точка) и вектор = — х(о), вдоль которого будем двигаться к точке до встречи с границей много- гранника в некоторой точке х(1), которую будем считать первым приближением, т. е. будем увеличивать t в формуле х = х(0) + до значения tb равного наименьшему положительному среди значений - Ф1 (Х(О)) , — Флп (^(0)) , ь t=l i = 1 Пусть для удобства значение tx достигается при j = 1, ..., [1, т. е. Ф1 (*(1)) = • •• = Ф|Л (х(1)) = 0. При помощи соответствующего числа последовательных ша- гов жордановых исключений с произвольно выбранными раз- решающими элементами перебрасываем на верх таблицы столько из аннулировавшихся фу (/=1, ..., рь), сколько окажется возможным. При этом каждый шаг жорданова исключения дополняется следующей операцией (реализующей
§ 5] КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ 353 правило дифференцирования сложной функции): если в ре- зультате жорданова исключения меняются местами и Xj (т. е. atj — разрешающий элемент), то в полученной таблице к элементам каждой новой строки fXk при k^bj при- бавляются соответствующие элементы новой строки рх., умно- женные на новое значение элемента aik (т. е. на значе- ние — . Полученная строка , ач / рез fxk- Элементы новой новое значение т. е. вается в Д,. Действительно, если мы меняем местами шающий элемент а/;-), то снова обозначается ме- ст роки f'x умножаются лишь на на —, и строка переименовы- tyi и Xj (разре- J aij aij aij j+]Xj+l ainxn ai aij aij aiJ ’ следовательно, a) •••’ xJ-b xj(xl’ •••’ XJ-1’ Ф»-’ XJ+1’ ’ x^’ Xj+l, •••, Xn] = __ df . df dxj „ , . + 'b Л7+1’ •••’ + + Л.(Х1; Xj_i, <{>,•, xy+1, .... J \ ul] / где fXk (xb ..., Xj_lf <pz, Xj+l, ..., xn) — новая строка и f'x. (Ль • • • > Xj_.b t|)z, Xy+1, ..., xn) — также новая строка; Xj~b X'(X1’ •••’ •••’ X^’ Xj+l> • • •, Xn] = — dxj'd^~^xj^Xb xi~b xi+b •••’ X^a^' В дальнейшем под шагом жорданова исключения будем понимать обычный шаг жорданова исключения с указанными дополнениями. 12 С? И. Зуховицкий, Л. И. Авдеева
354 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Пусть после последовательных шагов жордановых исключений пришли к таблице ’Рг хг+1 • • • хп 1 Фг+1 = г+ь 1 а1'"1 Г+1, г 0 ... 0 0 в(и Р-1 а(г> Р-г 0 ... 0 0 ^+1= а{г} Р+ь 1 Рч-ь г г РЧ-Ь Г+1 ••• п д(Г) р-4-1 С - аг} т, r+i - . (*) - Ь{Сг+1 °\п ь'(} ... № ЬГг\ Г, Г+1 ... Ь'г' гп V' fxr-± j ““ - Ьг} г+1, г Г+1, Г+1 .. ь'г] г+1, п f’x = п « ... Ь‘г> пг Ь{Г} 1, '+1 ... • "пп 2) Определим единственную точку а(2), в которой функ- ция /(х) достигает относительного минимума при условии ф1(х) = ... = ф(1(х) = 0. Для этого, как обычно, решаем си- стему линейных уравнений V . . = ^=0 J, г+1 г+1 1 1 ]П П 1 ] (/ = г+1, п). В качестве направления спуска из точки выбираем вектор £(2) = а(2)— и двигаемся вдоль этого направле- ния, т. е. увеличиваем t в формуле до тех пор, пока не достигнем /2, равного наименьшему положительному среди значений -^+1 (^(1)) } 1—1 i = 1
§ 5] КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ 355 Если то а(2) £ 2 и х(2)=а(2). Такую точку х(2) будем называть стационарной. Если |х=1, то стационарная точка а(2) является решением. Действительно, в этом случае градиент функции /(х), очевидно, ортогонален лишь одной грани, например ф!(х) = 0, в которой лежит точка а(2), и направлен вне 2, так как гиперплоскость отделяет 2 от а(1). Поэтому нет направления из а(2\ не выводящего из 2, вдоль которого функция /(х) убывает. Если же то стационарная точка а(2) может не являться решением. Действительно, в этом случае градиент функции /(х) ортогонален линейному многообразию, полученному в пере- сечении нескольких гиперплоскостей фг (х) ~ 0, т. е. орто- гонален плоскости, размерности меньшей чем п — 1, не от- деляющей 2 от а(1). Поэтому из точки а(2) возможно суще- ствование направления убывания /(х), не выводящего из 2. Если же 0<^2<^1, то не более чем через п — г ша- гов либо получим стационарную точку, либо получим точку х(рТ — вершину, т. е. принадлежащую л граничным плоскостям, среди которых есть п линейно независимых, т. е. на верху таблицы не останется ни одного ху-. Точку х,(Л1) будем также называть стационарной. 3) Определим направление движения из стационарной точки. Пусть стационарная точка х(0, ..., О, хг+1, ..., хЛ) принадлежит плоскостям ф1(х) = 0, фг(х) = 0, <рг+1(х) = 0, <|>Дх) = 0 (см. таблицу (ж)). Тогда, если |л = 1, то, как было указано, точка х — решение задачи. Если же 1, то найдем направление спуска из точки х, т. е. направление С(ф1? ..., фг, хг+1, ..., хЛ), не выводящее из 2, вдоль которого убывает функция /(х), так что если £ и выводит из плоскостей ф!(х) = 0, ..., фДх) = 0, то лишь в 2. Для получения направления наискорейшего спуска решаем следующую задачу линейного программирования: минимизировать функцию ,df(X) _ yi df (х) . yi df (x) l~ di ~ L. 4 ' L dxt * i = \ i = r-pl 12
356 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI при ограничениях У (/=1, .... (i), дС L* d^i 1 1 dxi r v z= 1 * i = r-j-l — C^i^C (z=l, zz). Но фр фг, xr+i, ..., xn — независимые переменные, так что (см. таблицу (*)) __г п дфг —« q Л+.-.+^’р ^=^0, = sgO. dt, р-i 1 1 1 р-г г Далее, точка х стационарная, т. е. dfjx) I =0 dxt 1^=... =Фи=о поэтому dfW _ V Of (Я) r дС Li <ty,- i = 1 Окончательно мы пришли к следующей задаче линейного программирования: минимизировать функцию ЛЬ ' 1 = 1 при ограничениях — (/=1, г), ^Ф; ^=^4+--+a^^0 (/='+1>.... ю (так как Сг+Р •••> не участвуют в нашей задаче линейного программирования, то их можно считать нулями). Если minzz = 0, то х* = х, и задача решена. Если же minzz<^0, то двигаемся из точки х в направлении С реше- ния нашей задачи линейного программирования, т. е. уве- личиваем t в формуле x = x-[~t^ до значения равного
§51 КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ 357 наименьшему положительному среди чисел W ~Ф/п (*) f 2 С. 2 <№i i = 1 i = 1 где f — значение f, минимизирующее функцию f(x 4- ^0 • После получения точки х = х -ф-1 £ перебрасываем на верх таблицы столько аннулировавшихся фу. из числа фг+1, ...» фт, сколько окажется возможным, и с получен- ной таблицей производим действия п. 2). Вычисления про- должаем до получения новой стационарной точки, с кото- рой производим действия п. 3), и т. д. Так как алгорифм монотонный, а стационарных точек — конечное количество, то после конечного числа шагов полу- чим решение х*. Пример. Минимизировать функцию /(х) — 2xj + 4” Зх| — xix2 — 2xtx3 — х2х3 -|- —lOxi 4~ ^х2 — 26х3 при ограничениях ф1 (х) = — Xi — 1 0, ф3(х) = — х2 <0, фз(*) = —^3 . <0, ф4(х)= Х14- х2 —х3 — 4<СО, фз (х) ==~— Х\ — 2х2 — х3 —J— 3 0. Предварительный шаг. Составляем таблицу: *1 х2 х3 1 Ф1 = —1 0 0 —1 Фа = 0 — 1 0 0 Фз = 0 0 —1 0 Ф1 = 1 1 1 —4 Фб = —1 —2 ЕЛ 3 (1°) fxt = 4 -1 —2 10 fXi = — 1 2 —1 9 fx3 = —2 — 1 6 —26
358 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Первый шаг. 1) Определение точки минимума.- Решив систему линейных уравнений fxt= 4х}— х*— 2х3-{—10 = 0, fx2 = — — х3 + 9 = 0, Л3 = — 2X1 — *2 + 6хз — 26 = 0, получим точку а(1)=(—2, —4, 3) £ 2, в которой дости- гается min/(x). Находим какую-нибудь точку х(0) £ 2, например х(0)(1, 1, 1). Действительно, <p;(x(0))<0 (/=1, .... 5). 2) Определение £(1). £(i) = a(i)_ х(о) = (__3, _5, 2). 3) Определение tr. Двигаемся вдоль луча х = х(0)Ц- + т. е. Xi = 1 — 3£; х2 = 1 — 5/; х3 — 1 -|- 2t. Для шага получим 4) Определение новой точки и новых укло- нений. ф8(х(‘>) = 0; фДх^ХО (/#5). Второй шаг. 1) Определение точки условного минимума функции. Производим шаг жорданова исклю- чения в таблице (1°) с разрешающим элементом а$3 =—1.
§ 51 КВАДРАТИЧНОЕ ПРОГРАММИРОВАНИЕ 359 Получим таблицу х2 4з 1 Ф1 = —1 0 0 — 1 ф2 = 0 ЕЛ 0 0 4'з = 1 2 1 —3 4« = 0 —1 —1 —1 (2°) f XI ~ 14 16 8 12 fх%~ 16 30 13 22 8 13 6 8 л?з — — — 2х2 — фв 4“ 3. Решив систему линейных уравнений (Z*i)<p5=o — 14Xi -j- Юх2 12 = 0, (A2)<p5=°= 4- 30х2 4- 22 = 0, найдем условную экстремальную точку функции /(х) (при условии ф6 = 0) в новых координатах (хь х2, фб): 2) Определение С(2). оУ \ 451 ’ 4о1 ’ ) 3) Определение f2. Двигаемся вдоль луча х = х(1)4~ 4~ ^2)> т. е. 8 350 у 6 565 , , п Х1~ 11 451 Х*~ 11 451ty 'Ь —°- Для шага получим , _246 2~ 565 ‘ 4) Определение новой точки иновых укло- нений. Х^ = (___— о оУ х \ из’ ’ ф2(х«) = 0; (х1'2’) < 0 (/=1, 3, 4).
360 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Третий шаг. 1) Определение точки условного минимума функции. Производим шаг жорданова исключения в таблице (2°) с разрешающим элементом «22 ——!• Получим таблицу Фз Фз 1 Ф1 = —1 0 0 — 1 4'з = 1 —2 1 —3 Ф* = 0 1 —1 —1 14 -16 8 12 — 16 30 — 13 —22 4з = 8 — 13 6 8 — — ф2- Решив уравнение (Д1)ф2=ф5=о = 12 = 0, найдем условную экстремальную точку функции f(x) (при условии ф2 = ф5 = О) в новых координатах (хр ф2, фв): а(3’ = (хь ф3, фв) — у, 0, 0^2, так что х(3) == а(3) — стационарная точка. Получив стационарную точку, опускаем операции 2) и 3). 4) Определение новых уклонений. фу(х(3>)<0 (/=1,3,4). Четвертый шаг. Опускаем операцию 1). 2) Определение Для выхода из стационарной точки решаем следующую задачу линейного программирова- ния: минимизировать форму при ограничениях С1 = 0, — КС,<0, — 1 <Сз=^0.
§ 6] ДВОЙСТВЕННОСТЬ В ВЫПУКЛОМ. ПРОГРАММИРОВАНИИ 361 Для получим ^4) = (0, О, —1). 3) Определение f4. Двигаемся вдоль луча х — х(3) 4- -ф- т. е. X! =--у-; = 0; фй — — Для шага f4 получим где tr минимизирует функцию /(х(3) -ф- ^б4')- 4) Определение новой точки и новых укло- нений. л(4)=х(3) + ад(4)=(_ 0> -^S, причем <b(x(i))<0 (/=1, 3, 4, 5). Пятый шаг. 1) Определение точки условного минимума функции f(х). Решив систему линейных уравнений (/=о = 14х4 -ф 8фв -ф 12 = 0, (Аа)ф2=о= &xt-ф-—ф- 8 = 0, найдем условную экстремальную точку а(4) функции /(х) (при условии ф2 = 0) в новых координатах (хр ф5): а(4)=(—- 0,4; 0; —0,8) £ 2, так что а(4) = х(6)— стационарная точка. Так как |л=1, то x(s) = (—0,4; 0; —0,8) или в старых координатах (—0,4; 0; 4,2) — решение. § 6. ДВОЙСТВЕННОСТЬ В ВЫПУКЛОМ ПРОГРАММИРОВАНИИ 1. Теорема Фаркаша. В этом параграфе нам понадобится следующая теорема Фаркаша [36], играющая важную роль Р теории математического программирования.
362 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Для того чтобы для каждого вектора x = (xv ..., xj, удовлетворяющего условиям х) = afxj О (Z = 1 ; = 1 (a(/n+v\ х) — а^1 + ^х^ — 0 (v=l / = 1 • • •, ^), k) > (6.38) и для некоторого вектора р = (рь ...,рп) выполнялось неравенство {р, х) = 2 PjXj ==£ 0, (6.39) 7=1 необходимо и достаточно, чтобы вектор р можно было представить в виде следующей линейной комбинации век- торов а(1), а(,п+л): m-\-k р= 2 ща^ (6.40) (i/i^O, ..., ит^0; um + ii ..., um±k —произвольны). Необходимость. Пусть для любого х, удовлетворяю- щего условиям (6.38), и некоторого вектора р выполняется неравенство (6.39), но вектор р нельзя представить в виде (6.40). Обозначим через F выпуклое замкнутое (см., напри- m-\-k мер, [16]) множество всех векторов вида ща^ при все- i= 1 возможных nz^0 (/=1, ... , т) и произвольных ит^ (у=1, ... , k). Так как по предположению p~^F, то по известной теореме отделимости (см., например, [28в]), су- п ществует гиперплоскость (с, х) = с^ = с^ строго i = 1 отделяющая множество F и вектор р, т. е. существует век- тор c = (clf ... , сп) и число Cq такие, что т -\-k (с, 2 (*) ( === I
§ 6] ДВОЙСТВЕННОСТЬ В ВЫПУКЛОМ ПРОГРАММИРОВАНИИ 363 т + k для любого вектора У, 4ta{i) С F и i = 1 (<?,/>) >С0. (**) Полагая в неравенстве (*) и£ = 0 (/=1, , m-\-k\ полу- чим с0^>0. Убедимся теперь, что вектор с удовлетворяет усло- виям (6.38), т. е. (а(п, с)<;0 (/= 1, ... , zn), с) = 0 (v=l, ... , k). Действительно, если бы, например, (а0’о\ £)^>0, то взяв ui — "> 0, u'i = 0 (I /0), так что (aUo), с) mA- k 2^(z) С Л получили бы неравенство i = l m-\-k (с, У Uia{i)y = it'io(c, i=i противоречащее неравенству (*). Аналогично доказывается выполнение условий (a<m+,), с) = 0 (v=l........А). Далее для любого вектора х, удовлетворяющего (6.38), по предположению, (р, х)<;0, следовательно, и для вектора с должно выполняться неравенство (р, с) 0. Но как видно из (**), (р, с)?>с0^>0. Полученное противоречие доказывает необходимость условия теоремы. Достаточность. Пусть вектор р представим в виде (6.40). Тогда для каждого х, удовлетворяющего (6.38), получим lm-\-k \ т . (р, х) = ( xj = 2 Ui х)^0, 4=1 / i=i что и требовалось.
364 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Замечание. Теорема Фаркаша тесно связана с теорией двойственности линейного программирования. В изложенном выше доказательстве мы опираемся не на эту теорию, а на теорему от- делимости, чем оправдано приведенное ниже в п. 6 изложение двойственности в линейном программировании с использованием в конечном счете теоремы Фаркаша. Можно, конечно, поступить обратно и получить теорему Фар- каша как следствие основной теоремы двойственности линейного программирования. Остановимся на этом подробнее. Доказательство необходимости*). Пусть для лю- бого вектора х, удовлетворяющего ограничениям (6.38), и для данного вектора р выполняется неравенство (6.39). Это означает, что имеет решение следующая прямая задача линейного програм- мирования: максимизировать целевую функцию (р, х) при ограни- чениях (6.38) и при свободных переменных (так как х = 0—-допу- стимое решение, а целевая функция (р, х) ограничена сверху нулем). По основной теореме двойственности имеет решение и двойственная задача, заключающаяся в минимизации целевой функ- ции 0 • -ф-... J- 0 • ит 0 • цт+1 +... 4~0 • ит+п = 0 с несвободными переменными ц/^0 (Z=l, ... , т) и со свободными переменными щ (I — т + 1, ... , m^-k) при ограничениях-равенствах m-\-k У а^Щ— Pj (/=1, ... , п), £= 1 т. е. существуют (/ = 1, ... , т) и г/;Ц0 (l — m-A-1, ... ... , m-\-k) такие, что т-\- k р= S «»«“’’• 1=1 Необходимость доказана. Достаточность проверяется непосредст- венно (как выше в этом пункте). 2. Двойственные задачи выпуклого программирования. [47] **). Напомним, что задачей выпуклого программирования является задача отыскания min/(x) (6.41) при ограничениях 9у(х)^0 (у=1, ..., (6.42) где /(х) и все ср; (х)— выпуклые дифференцируемые функции, а область 2, определяемая неравенствами (6.42), содержит внутренние точки. *) Доказательство сообщил нам Е. Г. Гольштейн. **) См. также [66], [16], [52].
§ 6] ДВОЙСТВЕННОСТЬ В ВЫПУКЛОМ ПРОГРАММИРОВАНИИ 365 Пусть х*— решение задачи (6.41) — (6.42). Обозначим J={jг:<ру(х*) = 0}. Тот факт, что х*—решение задачи (6.41) — (6.42), означает, что из х* нет направления спуска, т. е. нет направления С, ведущего внутрь области 2, вдоль которого убывает /(х); другими словами, система неравенств (V/(x*), С)<0, (6.43) (W). О<0 (/е J) (6.44) несовместна. Покажем, что из несовместности системы (6.43) — (6.44) следует несовместность системы (W*), Q<0, (6.43) (V?y(x*), 0^0 (6.44') Действительно, в противном случае существовало бы решение С системы неравенств (6.43) — (6.44'). Но так как область 2 содержит внутренние точки, то существует вектор С" та- кой, что (Vcp7 (x*), С')<С^ (/С -0 и вектор С = С при достаточно малом удовлетворял бы несовместной си- стеме (6.43) — (6.44), что невозможно. Из несовместности системы (6.43) — (6.44') следует, что для каждого С, удовлетворяющего (6.44'), имеет место (W*), 0^0. Другими словами, (—W*), С)<0 для каждого вектора С, для которого (Vcpy(x*), С)<0 (/CJ). Тогда по теореме Фаркаша найдутся числа zz* 0 (J £ J) такие, что - W*) = S uy*VTy(x*). _ JU Положив zz* = O для всех / £ {1, ...,///} \ J, т. е. для всех у, для которых ?у(л:*)<^0, получим V/(X*)+ 2 и*7<ру(х*) = 0 (и*2ь0, /=1, ... , т). / = 1 Таким образом, вектор (х*, zz*) удовлетворяет условиям v/W + S tt№Ax) = °> (J=l, ... , т). 7=1
366 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Очевидно, вектор (х*, zz*) удовлетворяет также следующим условиям (дополняющей нежесткости) <Ру(х*)-гг* = О (у = 1, ... , т). (6.45) Покажем, что вектор (х*, zz*) является решением за- дачи отыскания max {/(х) 4- У (х)} (6.46) 7=1 при ограничении W) + S «Л<р/(х) = 0 (6.47) 7=1 и при (у=1, ... , т). (6.48) Действительно, из условия (6.45), неотрицательности всех iij и неположительности всех (х*) заключаем, что для любого вектора zz' = (zzj, ... , zz^) с неотрицательными ком- понентами выполняется неравенство т т /(х*) + у (X*) ^/(х*) + У (X*). (6.49) 7=1 7=1 Возьмем теперь вектор (х, zz'), удовлетворяющий условиям (6.47) — (6.48); так как функция F (х) = f (х) -|- u'flj (х) — 7=1 выпуклая, то вектор х', удовлетворяющий условию (6.47) — необходимому условию экстремума, минимизирует эту функ- цию. Поэтому т т /(*')+ Е 'W(x') =££/(**) + S «/?/(**)> 7=1 7=1 и учитывая (6.49), получим, что для любого вектора (х', и'), удовлетворяющего условиям (6.47) — (6.48), выполняется не- равенство т ГП Л-О+ У и;<ру(х')^/(л:*)+ У «7*?7(Х*)> /=1 7=1 т. е. (х*, zz*) — решение задачи (6.46) — (6.48).
§ 6] ДВОЙСТВЕННОСТЬ В ВЫПУКЛОМ ПРОГРАММИРОВАНИИ 367 Полученный результат устанавливает связь между зада- чей (6.41) — (6.42) и задачей (6.46) — (6.48), которую будем называть двойственной к прямой задаче (6.41)—(6.42) выпуклого программирования и которая составляется по сле- дующим правилам: 1) Целевой функцией двойственной задачи является функ- ция Лагранжа т /(*) + £ “/?/(*) !=\ (см. ниже п. 3) прямой задачи (так что число переменных двойственной задачи равно т -ф- п — суммарному количеству переменных и ограничений прямой задачи). 2) Минимизация целевой функции прямой задачи заменяется максимизацией целевой функции двойственной задачи. 3) Каждому ограничению-неравенству сру(х)^0 прямой задачи соответствует новая неотрицательная переменная Uj двойственной задачи. Каждому несвободному переменному xt 0 прямой задачи соответствует ограничение-неравенство т С/ у & двойственной задачи. Каждому свободному переменному xz прямой задачи соот- ветствует ограничение-равенство df(x) I V „ <%(•*) — о dxi "г Zi ' dxi двойственной задачи. Нами, таким образом, доказано следующее утверждение, обобщающее первую теорему двойственности линейного про- граммирования. Если /(х) и все <ру(х)— выпуклые дифференцируемые функции и х*—решение прямой задачи (6.41)— (6.42) выпуклого программирования, то найдется т-мерный век- тор и* такой, что вектор (х*, w*) является решением двойственной задачи (6.46) — (6.48) (и экстремальные зна- чения целевых функций обеих задач совпадают).
368 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI (6.50) (6.51) Справедливо также следующее утверждение [44]: Пусть и все сру(х) (/=1, ... , т) дважды диф- ференцируемы и либо функция f(x), либо одна из функ- ций <рДх), для которых <рДх*) = 0, строго выпукла*} и вектор (х*, zz*) является решением задачи (6.46) — (6.48); тогда х*—решение прямой задачи (6.41) — (6.42) и для оптимальных решений х* и (х*, zz*) обеих задач имеет место соотношение <ру(х*)и; = 0 (/=1, ... , ni), обобщающее вторую теорему двойственности линейного программирования (так что экстремальные значения целевых функций обеих задач, совпадают). 3. Обобщенная задача Лагранжа (критерий оптималь- ности). Как известно, для отыскания относительного экстре- мума функции У(х) при ограничениях <?/(х) = 0 (/=1, ... , tri) строят так называемую функцию Лагранжа т F(x, и)=/(х)-|-£ Uj<?j(x) 7=1 и отыскивают стационарные точки этой функции, т. шают следующую систему уравнений т ^+2»/^=° (<=>..................»>•. <ру(х) = 0 (j=l, ... , т). Задачу отыскания решения системы (6.52) будем называть задачей Лагранжа для отыскания относительного экст- ремума функции /(х) при ограничениях (6.51). Естественно поставить вопрос о построении аналога зада- чи Лагранжа в случае, когда уравнения (6.51) заменены не- *) Функция /(х) называется строго выпуклой, если для любых двух точек х(1) и х(2) имеет место неравенство f + (1 — X) х<2>)< X/ (х(1)) + (1 — X)/ (х(2>) (0 < X < 1). е. ре- (6.52)
§ 6] ДВОЙСТВЕННОСТЬ В ВЫПУКЛОМ ПРОГРАММИРОВАНИИ 369 равенствами (6.42), т. е. задачи (6.41) — (6.42) отыскания минимума выпуклой дифференцируемой функции /(х) при ограничениях сру(х)^0 (7—1, ... , /п), где все сру(х) также выпуклы и дифференцируемы. Имеет место следующее утверждение (критерий оптималь- ности решения): Пусть функции /(х) и сру (х)(/=1, ... , т) выпуклы и дифференцируемы в области 2, определяемой неравен- ствами (6.42) и содержащей внутренние точки. Тогда для того, чтобы вектор х* являлся решением задачи (6.41) — (6.42), необходимо и достаточно существование вектора и* такого, чтобы вектор (х*, м*) удовлетворял системе а) т df{x) , dvj(x) _ dxi "Г" UJ дх. — 0 (Z=l, ... , n); b) iij 0; c) (x) 0; (6.53) d) — ® (условия дополняющей нежесткости). Задачу отыскания решения системы (6.53) будем называть обобщенной задачей Лагранжа [8]. Доказательство необходимости. Необходимость условия теоремы была доказана в предыдущем пункте. Доказательстводостаточност и. Пусть (х*, п*)— решение системы (6.53). Если п* = 0, то, как следует из а) системы (6.53), V/(x*) = 0, и так как /(х) — выпуклая функ- ция и х* ^2, то, очевидно, х* — решение задачи (6.41)—(6.42). Пусть теперь п* 0 и J= {J: и* 0}. Тогда из d) си- стемы (6.53) следует, что <ру(х*) = 0 при j £ J. Возможно, что кроме поверхностей (jv) = 0 (7 С А в которых лежит точка х*, найдутся еще поверхности еру (х) = 0 (J J), содер- жащие эту точку. Поэтому множество индексов поверхно- стей, содержащих точку х*, обозначим через J'. Тогда а) системы (6.53) перепишется в виде V/(x*) + 2 н*7сру(х*) = О. (6.54) jW Далее из (6.54) и неотрицательности н* следует, что для каждого С, для которого (V?y(x*), 0<о (7ел
370 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI будет выполняться неравенство (W*), О>0, т. е. из точки х* нет направления С убывания функции /(х), не выводящего из области 2. Учитывая выпуклость функции /(х) и области 2, заключаем, что х*— решение зада- чи (6.41) —(6.42). Кроме того, как нетрудно убедиться, решение систе- мы (6.53) является также решением задачи (6.46) — (6.48). Таким образом, вместо решения пары двойственных задач (6.41) — (6.42) и (6.46) — (6.48) достаточно решить обобщен- ную задачу Лагранжа (6.53). 4. Теорема Куна — Таккера [27]. В этом пункте устанав- ливается зависимость между решениями задач (6.41)— (6.42) и (6.46) — (6.48) и седловой точкой функции Лагранжа т /(х)4~ 2 uj4j(x\ построенной для задачи (6.41) — (6.42). Как известно, седловой точкой функции Ф(х, и) назы- вается точка (х*, zz*), для которой при любых х и zz выполняются неравенства Ф (х*, zz) Ф (х*, zz*) Ф (х, zz*). В дальнейшем будем называть (х*, zz*) седловой точкой, если выполнены предыдущие неравенства при zz^O. Соотношение между решениями задач (6.41) — (6.42), (6.46) — (6.48) и седловой точкой функции Лагранжа /(х)-|-' т + У; п/?;(х) устанавливается следующим утверждением 7 = 1 (теорема Куна — Таккера). Пусть функции /(х) и <ру(х) (/=1, .т) выпуклы и дифференцируемы *) в области 2, определяемой неравен- ствами (6.42) и содержащей внутренние точки. Тогда для того чтобы вектор х* был решением задачи (6.41) — (6.42), необходимо и достаточно существование неотрицатель- ного вектора zz* такого, чтобы вектор (х*, zz*) являлся *) В [27] эта теорема доказана без предположения о диффе- ренцируемости f (х) и сру(х). В нашем изложении дифференцируе- мость используется лишь при доказательстве необходимости.
§ 6] ДВОЙСТВЕННОСТЬ В ВЫПУКЛОМ ПРОГРАММИРОВАНИИ 371 т седловой точкой функции Лагранжа /(Л)Ч~ 2 1 т. е.'чтобы для всех и для произвольных х вы полнялись неравенства /(**)+ S и/?Дх*)^ 7=' ^/(х*)+ У «^Дх*)^7(х)+£«)?/(•*)• (6-55) У=1 ;=' Этот же вектор (х*, и*) является решением двойст венной задачи (6.46) — (6.48). * Доказательство необходимости. Пусть х — решение задачи (6.41) — (6.42). По доказанному в п. 3 най- дется такой вектор и*, что (х*, и*) удовлетворяет системе (6.53), из утверждений Ь), с) и d) которой легко следует вы полнение первого из неравенств (6.55) при любом и^ . Далее, из выпуклости функции /(х) -ф- 11J И j = 1 выполнения условия а) системы (6.53) следует, что в точке х* эта функция достигает минимума, так что для произволь ного х выполняется второе из неравенств (6.55): m т /(х*) + У п7<р? (х*)^/(х)4- У «* Vjl*)- 7=1 >=' Необходимость доказана. Доказательство достаточности. Пусть суще вует вектор zz* 0 такой, что для вектора (х*, и ) выпол няется (6.55) при любом и 0 и произвольном х. Тогда если для некоторого /0 было бы (х*) 0, то, ввиду произволь ности вектора и 0, взяв достаточно большое w/0 по лучили бы т m /(х*) + 2 «Л/(х*) >/(**) + S 7=1 У"»1 что противоречит первому из неравенств (6.55). Следовательно, для всех <ру(х) (/=1, ..., т) выполняется неравенство сру (х*) 0, т. е. х* удовлетворяет ограничениям (6.42).
372 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Осталось убедиться, что в х* функция /(х) достигает минимума. Действительно, полагая п = 0 в первом из неравенств (6.55), т получим, что У и* еру (х*)^ 0. Но в силу неотрицательно- /=1 т сти и* и неположительности ср?(х*) имеем ф7(х*)<0. /=1 Следовательно, У п*(ру(х*) = 0. Из доказанного равенства J = 1 и второго неравенства (6.55) получаем т т у=1 7=1 т и так как У п*сру (х) 0 для всех х £ 2, то /(х*)^/(х), что и требовалось. Установлено, таким образом, следующее утверждение: если х*—решение задачи (6.41) — (6.42), то найдется такой вектор и*, что (х*, zz*) является решением двойствен- ной к (6.41)— (6.42) задачи (6.46) — (6.48), решением задачи Лагранжа и седловой точкой функции Лагранжа. 5. Преобразование Лежандра [8]. Пусть градиент v = Vf(x)=№^, функции z=/(x)=/(x1( х„) отображает взаимно однозначно n-мерное пространство век- торов х = (хь ..., хп) на себя. Тогда вместо обычного за- дания поверхности в (я-[- 1)-мерном пространстве уравнением z—f(x) можно эту поверхность задать, поставив в соответствие каждому вектору х число w=/(x)— (V/(x), х), равное
§ 6] ДВОЙСТВЕННОСТЬ В ВЫПУКЛОМ ПРОГРАММИРОВАНИИ 373 координате точки пересечения оси z с касательной плоскостью z—/(x) = (?/(£), х — х) к нашей поверхности в точке (х, /(х)). Но, по предполо- жению, преобразование ^=V/(x) взаимно однозначно, так что (у) и соответствие между х и w можно заменить следующим соответствием: * w=/(V/_1(-u)) — (у, f A (уУ) между v и w, которое называется преобразованием Лежандра функции z = f(x). Преобразование Лежандра играет важную роль при по- строении двойственных задач математического программиро- вания. Проиллюстрируем это на следующей задаче выпуклого программирования. Пусть /(х)—строго выпуклая функция и пусть отыскивается min/(x) (6.56) при линейных ограничениях (а(/), x)-j-Яу-сО (/ = 1, •••> ni) или в матричной записи Ах-^а^О. (6.57) По общей схеме п. 2, двойственной к задаче (6.56) — (6.57) будет задача отыскания т max {/(х)+ У, иД(а(7), х)-|-ау]} = = тах {/(х)4-(и, Лх^-а)} = max {/(х)Ц-(Хи, х)Ц-(а, и)} (6.58) при ограничениях V/(x) + АТи = 0, и 0, (6.59) где А1 означает матрицу, транспонированную к матрице А. Из строгой выпуклости функции /(х) следует, что урав- нение V/(x) = *p имеет единственное решение x = V/_1(-u). Подставив х = 7/-1(г>) и Аги =—Vf(x) = — v в целевую
374 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI функцию двойственной задачи, получим следующую ее фор- мулировку: максимизировать функцию -(*, v/-1(^))+/(V/-1(^)) + (^ и) при ограничениях Ат и -f- v = 0; и 0. Этим установлено следующее утверждение: Нелинейная часть целевой функции двойственной за- дачи является преобразованием Лежандра целевой функ- ции прямой задачи. 6. Двойственность в квадратичном и линейном про- граммировании. Как уже отмечалось в § 5, задача квадра- тичного программирования заключается в отыскании минимума квадратичной функции /(х) = 1(х, Вх)-\-(с, х) (6.60) при ограничениях Ах-}-а^ (6.61) где (х, Вх) — положительно определенная квадратичная форма. Согласно результату предыдущего пункта, целевая функ- ция задачи, двойственной к задаче (6.60) — (6.61), является сум- мой (а, и) и преобразования Лежандра функции у(х, 5х)-|- -|-(с *). Но v — V/(x) = Вх Ц- с, х = V/"1 (у) = В~1 (*и — с), так что для целевой функции двойственной задачи получим - (г-, V/-1 (г»))+/(V/-1 (г»)) + (а, и) == = — (у, B~l(y — c)) + y(5-,(® — с), ВВ~1(у — с))4- + (с, В~'(у — с)) + (а, и) — — — ^(у — с, B~Uy — c))-\-(a, и). Ограничения же двойственной задачи, как и в общем случае с выпуклой целевой функцией, линейны и имеют вид АТи = 0, и 0.
§ 61 ДВОЙСТВЕННОСТЬ В ВЫПУКЛОМ ПРОГРАММИРОВАНИИ 375 Таким образом, задачей, двойственной к задаче квадратич- ного программирования (6.60) — (6.61), является задача макси- мизации квадратичной функции — у(т> —£, В-1 (т> — с)) -|- (а, и) при ограничениях Ати v = 0, и 0, где квадратичная функция — ±-(v — с, В~* (v — с)) — отри- цательно определенная. Наконец, для задачи линейного программирования, кото- рую сформулируем как задачу максимизации линейной формы (р> X) или, что то же, — минимизации линейной формы — (р> х) при ограничениях Ах — а 0 и х 0 (или — х 0), получим по общей схеме п. 2 следующую двойственную за- дачу: максимизировать функцию — (А *) + (м» Ах — a) — (v, х) при ограничениях —/? + Ати — v = 0 и п^О, т/^0. Подставив значение v =— р-\- Ати в целевую функцию двой- ственной задачи, получим функцию — (а, и), так что пришли к задаче максимизации линейной формы — (а, и) при ограничениях — р-\- ATu = v^Q и 0,
376 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI эквивалентной задаче минимизации линейной формы (а, и) при ограничениях А п^р и и^ 0. § 7. НЕКОТОРЫЕ ДРУГИЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ В этом параграфе приводятся три метода для решения за- дачи выпуклого программирования, отличные от метода, изло- женного в § 2. В п. 1 излагается метод секущих плоскостей Келли для решения общей задачи выпуклого программирования, пред- ставленной в канонической форме. В пп. 2 и 3 приведены метод Франк и Вулфа и метод Розена (проектирования градиента) для решения задачи ми- нимизации выпуклой функции при линейных ограничениях. 1. Метод секущих плоскостей [43]. Метод секущих пло- скостей рассмотрим для задачи выпуклого программирования в канонической форме, т. е. для задачи отыскания min (р, х) (6.62) в области 2, определяемой неравенствами фу (х) 0 (у = 1, ..., т), (6.63) где все фу(х) выпуклы и дифференцируемы. В этом методе выпуклая область 2 заменяется на каж- дом шаге многогранным множеством, содержащим 2. Предварительный шаг. Для построения первого много- гранного множества выбираем произвольные точки х(1), ... ..., и проводим касательные плоскости ко всем поверх- ностям у — фу (х) в каждой из этих точек: У= фу (x(i)) + (V<py (x(z)), X — x(i)) (Z= 1, ..., Z; j — 1, ..., m). В силу выпуклости всех функций фу(х) имеем Г^фу(х),
§ 7] НЕКОТОРЫЕ ДРУГИЕ МЕТОДЫ 377 т. е. (V<py (х(;)), х — х(") + (х'1') < (х) (Z = 1, l\ J=l, т). Но фу (х) 0 для любой точки х £ 2; поэтому для всех точек х £ 2 выполняются неравенства (?фу(х(г)), х — x(l))-j- фу (x(l)) О (7=1, ..., /; 7=1, ...» т), так что область 2 целиком содержится в многогранном мно- жестве 2Ь определяемом приведенными выше неравенствами. Общий шаг, В первом шаге отыскиваем точку x(z+1) С такую, что (/?, x(z+1)) = min (/?, х) *), * € 21 т. е. решаем задачу линейного программирования. Если x(z+1) £ 2, то в точке x(z+1) достигается также min (р, х), т. е. x(z+1) — решение исходной задачи, так как хС 2 из 2j 25 2 следует, что (р, x(z+1)) = min(/?, x)^min(p, х) <:(/?, x(z+1)). х£21 хС2 Если же х(/+1)-^2, т. е. хи+1) не удовлетворяет некото- рым фу(х)-сО, то определяем множество тех индексов j, для которых фу (x(z+1))2> 0, и к неравенствам, определяющим многогранное множество 2Ь добавляем следующие новые не- равенства: (7фу (x(z+1)), х — x(z+1)) + фу (x(z+1)) < О (7 С Л), отсекающие часть 2Р содержащую точку x(z+1), так как (?фу (x(z+1)), x(z+1) — x(z+1)) + фу (x(z+1)) = фу (x(z+1)) > О (7С Л). Во втором шаге отыскиваем в полученном многогран- ном множестве 22 точку x(z+2\ для которой (/?, x(z+2)) = = min (р, х), и если x(z+2) £ 2, то x(z+2) — решение задачи (6.62) — (6.63), а если хи+2) £ 2, то аналогично первому *) Точки х(1), ... , х{1) должны быть выбраны так, чтобы min (р, х) был конечен.
378 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI шагу определяем множество индексов J.2, многогранное мно- жество &з и продолжаем процесс. Можно доказать [43], что lim (р, x(Z+Aj)) = min(/7, х). k —> оо х £ 2 Пример. Минимизировать функцию /(х) = —Х14-Х3 при ограничениях ф1(х)= x|4-2Xi —3,25 -С О, ф2(х) = Xi4"2x| —х2—1,25^0, фз (х) = 2xf — 5xi + 0,2х2 + 0,5 0. Предварительный шаг. Для построения первого много- гранного множества выбираем точку х(1)=(1, 0), и по изложенным выше формулам находим, что Qi определяется неравенствами 4xi — 4,25 < 0, 2xi — -^2 — 2,25 0, — Xi + 0,2х2 — 1,5 0. Первый шаг. Для отыскания х^} решаем следующую за- дачу линейного программирования: минимизировать форму — «^1 “4“ «^2 при ограничениях 4xt — 4,25 0, 2Xi — х2 — 2,25 гС 0, — Xi4~0,2x2— 1,5^0. Получим х(2) = (—3,25; —8,75), Jr— {1, 2, 3}, так что для второго шага имеем многоугольник определяемый нера- венствами 4xt — 4,25 < 0; 2хх — х2 — 2,25 < 0; — xt 4- 0,2х2 — 1,5^0; 4,5xi — 17,5х2 — 90,4 0; _ 6,5xi — 36х2 — 165 0; —18X1 + 0,2ха — 20,6 0.
§ 7] НЕКОТОРЫЕ ДРУГИЕ МЕТОДЫ 379 Результаты вычислений на последующих шагах приведены в таблице № шага Новое приближение Множество А+/г Величина /(x<1+fel) 1 (—3,25; —8,75) {1, 2, 3} —5,5 2 (-1; -4) {1, 2, 3} -3 3 (—0,1; —2,0) {1, 2, 3} — 1,9 4 (0,60; —1,0) {2} —1,6 5 (0,90; —0,5) {2} — 1,4 6 (1,0; —0,25) {2} — 1,25 7 (Ь2; 0,1) {1, 2} — 1,1 Решением примера является точка (1; 0,5). 2. Метод Франк и Вулфа [39] *). а) Постановка за- дачи и общее описание. Пусть требуется отыскать минимум выпуклой функции /(x)=f (х15 хп) при линейных огра- ничениях п х) = 2 aHxj ^=at (Z = 1, ..., т), 7=1 определяющих многогранник 2. Алгорифм Франк и Вулфа состоит из предварительного и общего шага. В предварительном шаге отыскивается какая- нибудь допустимая точка х(о) £ 2. Общий шаг (й-й) состоит из следующих действий: 1) определение направления спуска из точки x^k~l\ 2) вычисление величины шага Zfe^>0, 3) определение новой точки (приближения) x^k\ б) Предварительный шаг. Исходное приближение х(о) £ 2 может быть найдено, например, при помощи симплекс-метода для отыскания опорного решения; в действительности же для х(о) годится любое допустимое решение. в) Общий шаг (&-й). Пусть уже найдено приближение х^ С 2. *) См. также [7].
380 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI 1) Определение направления спуска. Направ- ление спуска С должно не выводить из области 2 и вдоль него должна убывать целевая функция /(х). Поэтому будем его искать в виде (, = х— х(/г-1), где х £ 2, и определять из условия, что п У (ъ - ”)=(W*-1’), * - х^)<0. i = 1 Для отыскания же направления наискорейшего спуска следует точку х $ 2 выбрать так, чтобы I ~ I = — была максимальной, т. е. чтобы была минимальной, а для этого достаточно найти такую точку в 2, в которой дости- гается min (V/(x(*-1)), х — х(*-1)), (6.64) хе 2 т. е. решить задачу линейного программирования. 2) Вычисление величины шага tk. Пусть £ 2 — точка, в которой достигается решение задачи (6.64). Для отыскания величины шага tk допустимого продвижения вдоль направления —х^-1) находим число f, минимизи- рующее функцию /(х(/г~!) — х**"1*) t). В качестве величины шага приближения берем ^ = min{l, f}. 3) Определение новой точки (приближения). В качестве нового приближения берем точку х(/г) = х(*~1) -(- + С^(А) — ^(й~1))- Процесс бесконечен. Можно показать, что он сходится [39]. г) Пример. Минимизировать функцию f (*^) == -^1 Ч~ ^Х2 “F 2Х} —[7- 2 при ограничениях — 3Xj — 2х2 —8 0, — 2X1 И- Зх2 — 3 0, г 4- г I ^'2 4- X! — 8^0. В качестве исходного приближения можно взять точку х(0) = (5; 3).
§ 7] НЕКОТОРЫЕ ДРУГИЕ МЕТОДЫ 381 Первый шаг, 1) Определение Для отыскания направления спуска С(1) = (С(11), решаем следующую за- дачу линейного программирования: минимизировать функцию 12 (xj —5)Ц-12 (х2 — 3) при ограничениях (*)• Решив эту задачу, получим х<1> = (8, —8), так что Cd) = (3, — И). 2) Определение величины шага Двигаться следует вдоль луча Xj = 5 —j— 3f; х% = 3 — Ilf. Для определения величины f находим минимум функции [(5 4-3^4-2 (3—11 f)24-2 (5 4-3f)4-2]. Получим f = 0,2, так что 0 = ппп{1; 0,2} = 0,2. 3) Определение новой^ точки. Новое приближе- ние х(1) определяется по формуле x(i) = x(o) 4^(0 = (5,6; 0,8). Второй шаг, Ч(2) = (—4; 0,8); 0=1; х^ = (1,6; 1,6). Третий шаг, C<3) = (6,4; —9,6); t3 = ~- х<3’=(2, 1). Точка х(3) = (2, 1) является решением примера, так как min [6 (хг — 2) -j- 4 (х2 — 1)] = 0, т. е. нет направления из х(3), х е s вдоль которого целевая функция убывает. 3. Метод Розена проектирования градиента [50]. а) Общее описание алгорифма. Рассмотрим задачу отыскания минимума f(x)=f(xl> .... хп) в области 2, определяемой неравенствами (Z=l, •••> /тг), где целевая функция f (х) и все cpf. (х) выпуклы и дважды непрерывно дифференцируемы.
382 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI Приведем алгорифм Розена лишь для случая, когда <?/(•*) = У, a(pXj — ai = (a(i\ x) — ai (/ = 1, ...» т), 7=1 т. е. когда ограничения линейны. Алгорифм начинается с определения точки £ 2, в которой отыскивается градиент V/(x(o)) целевой функции. Затем вектор — V/(x(o)) проектируется на многообразие Q, об- разованное пересечением гиперплоскостей HL = [x : <р-(х) = 0}, в которых лежит точка х(о). Двигаясь в направлении проекции вектора —V/(x(o)) на многообразие Q, отыскивают новую точку х(1), в которой f (х(1)) <^/(х(о)), принимают за исходное приближение и продолжают процесс. Пусть для удобства х(о) принадлежит плоскостям Hi (1= 1,..., q), соответствующие векторы которых будем предполагать линейно независимыми. Тогда каждый вектор у £ Rn единственным образом представляется в виде у = v-\-w (т/ £ Q, w £ Q), где Q — линейное подпространство, натянутое на векторы (1=1, ..., q). Векторы v и w являются соответствующими проекциями вектора у на многообразия Q и Q. Проекцию v вектора у на многообразие Q можно вычис- лить по формуле = Pqy = (Е - Ад Ад)у, где а Е — единичная матрица. Заметим, что вектор у тогда и только тогда линейно не зависит от векторов ..., с№\ когда pqy # о- Учитывая наше предположение о линейной независимости векторов ..., a\q\ сформулируем критерий оптимально- сти полученного приближения:
§ 7] НЕКОТОРЫЕ ДРУГИЕ МЕТОДЫ 383 точка является решением задачи минимизации f (х) в области 2 тогда и только тогда, когда я Pq(— vy(x(*))) = o, т. е. — V/(x^))= 2 (6.65) i = \ U и = (иь = (6.66) Выполнение условий (6.65)—(6.66) означает, что анти- градиент — V/(x^) целевой функции является линейной комбинацией с неотрицательными коэффициентами градиентов ограничений ср. (х) = 0, в которых лежит точка x^k\ а это является необходимым и достаточным условием оптимальности вектора (см. п. 3 § 6). б) Алгорифм, Алгорифм состоит из предварительного и общего шага. Предварительный шаг заключается в отыскании точки х(о) £ 2 и так как cpz (х) = (я(1), х) — aiy то предва- рительный шаг сводится к задаче отыскания какого-нибудь решения системы линейных неравенств х) — ai^O (Z= 1, ..., т), т. е. к задаче, легко решаемой симплекс-методом. Общий шаг состоит из следующих действий: . 1) определения в полученной точке ((£—1)-м при- ближении) направления убывания функции /(х), 2) определения величины шага, 3) определения нового приближения. Общий шаг, 1)Определение направления спуска. Пусть £ 2 уже найдено и, например, <pz (х(/г-1)) = 0 (/=1, ..., q). Вычислив —V/(x^-1)), определяем Pg(- = (Е - Ач (А^А^1 ATg) (- Рассмотрим два возможных случая: а)^9(—т. е. — V/(x(fc-1)) С” Q, и Q не выродилось в одну точку В этом случае на- правление движения из точки определяем по формуле: г(й)_ (V/U1*-11)) U ~ II Pg(V ’)) И ’
384 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI где \\Pq(^f (x^k 1)))||—норма вектора Pq(yf(x^k q ₽) ЛД—V/(*(fe_1))) = 0, т. е. — V/(x^"1)) = 2 щаР\ i =1 Если ut^0 (f = 1, то согласно критерию опти- мальности, х(/^1} является решением задачи. Если же некоторая компонента отрицательна, например, ^<^0, то устраняем гиперплоскость Hq, в которой лежит точка х^~*\ и считаем матрицей проектирования матрицу Ввиду линейной независимости векторов а(1), ..., аР1* (нормалей к поверхностям cpz (х) = 0 (Z = 1, ..., q)) имеем Pq_iaPfi Ф 0- Поэтому q Pg-i (- №<*-*>)) = 7^ ( 2 ttia^) = uqpq^ ф О i = 1 и направление спуска из точки х(А-1) определяем по формуле r(fe) _ -Pg-i (V/(*(fe~n)) — ||P«_i(V/(x(*-1))|| ’ Заметим, что при движении в этом направлении ограниче- ние ср7(х)^с0 не нарушится. В случае, когда х(Л-1) принадлежит, помимо гиперплоско- стей (i=l, ..., q), еще г гиперплоскостям Hq±b ..., Hq±r таким, что соответствующие а^+1\ ..., аР2*^ линейно зависимы от а(1), ..., a^q\ то направление спуска из точки оты- скивается как решение следующей задачи линейного про- граммирования: минимизировать форму (- Q при ограничениях (a<;>,Q<0 (2=1, .... q^r), (/= 1, ..и). 2) Определение величины шага. Пусть направле- ние спуска уже определено. Величину шага, т. е. длину отрезка возможного продвижения вдоль этого направления, определяем по формуле: Z/e = min{4,
§ ?1 НЕКОТОРЫЕ Другие методы 38э где t'k = min {— > °- i = q+\, т\, a tk минимизирует функцию /(x(fe-1) -ф- на [0, t'k\. Величину t'k можно определить приближенно следующим образом. Вычисляется (—С(/г))- Если + С^)^0, то tk = t'fk = tk й —x^k 4~ t'k^k\ так как для выпуклой функции /(х^’^ + ^(Л)) условие (— С(Л))^0 означает, что эта функция убывает при увеличении t от нуля до t'k. Если же (— V/(х(А-1)-)~ tk^\ 0, то минимум функций 4~ достигается внутри интервала [0, t'k\. В точке t'k С [0, t'k\y в которой достигается этот минимум, получим Поэтому приближенное значение t'k получим, сделав линейную интерполяцию функции (— V/(x(A-1) на интервале [0, t'k\, что приводит к формуле 3) Вычисление нового приближения. Новое приближение x(fe) вычисляется по формуле х(*) = х(*-1)+ «(*). Процесс бесконечен. Можно показать его сходимость [50]. В случае, когда (х) — произвольные выпуклые функции, Розеном в [50] построен сходящийся алгорифм, также осно- ванный на идее проектирования градиента. в) Пример. Минимизировать f (х) = xi + — 2,4xt — 5,6х2 при ограничениях 0^0 ~== —2Xj —]— Зх2 — 3 0, ср2 (х) = —j— х% — 3 0, ср3 (х) = 2Xi — х,2 —4^0, ?4(х) = — х1 <с0, ?5 (х) = 0. 1/4Л2 С. И. Зуховицкий. Л. И. Авдеева
386 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI За исходное приближение возьмем точку х(0)=(0, 1). /—2 —1 Имеем Aq =1 Первый шаг. 1) Определение направления спуска. Имеем - W(0’) = (2,4; 2,6), = ( о и РД-Wm)) = 0> так что имеет место случай р) (см. 1)), и вектор — V/(x(0)) можно представить в виде линейной комбинации векторов / — \ /— 1 \ 13 2 а(1) = 1 j; а(4) = 1 I с коэффициентами^ и —4—. Поскольку вектор и имеет отрицательную компоненту, то х(0) не является решением задачи, и для отыскания направления спуска необходимо изменить матрицу Aq, опустив век- Т°р^ 0). Имеем /— 2\ п \з з/’Р<м —И М3 ъ 13' 4 . 13/ ^д-1( V Iх )) ^130* 130/ Взяв в качестве || Pq_} (— V/(x'01)) || величину 1 372 248 1 „(1> /. 2' тах { Тзб> Тзб (’ П0ЛУчаем ^=(1, У 2) Определение величины шага. Имеем t[ = О й так как (—V/(xf0)С(1,)<С^> т0 ti = ti ==ti = -^-
§ 71 НЕКОТОРЫЕ ДРУГИЕ МЕТОДЫ 387 3) Определение нового приближения. x(V = Второй шаг. Определение направления спуска. Поскольку </ = 2, то Pq(—V/(x(1J)) = 0, так что вектор — V/(x(1,) = (0, 2) можно представить в виде линейной ком- {— 2\ /1\ бинации векторов а(1>= и я(2' = 1 . Оказывается, \ V/ что коэффициенты линейной комбинации положительны, так что согласно критерию оптимальности приближения, в точке = достигается min/(x). \ ° ° / х £ 2 В заключении этого параграфа отметим вкратце еще следующие методы решения задач выпуклого программиро- вания. В [2] приводится алгорифм для решения задачи миними- зации выпуклой функции при линейных ограничениях, являю- щийся некоторым приспособлением известного метода Л. В. Кан- торовича [14в] для решения задачи линейного программиро- вания. В книге [27] описаны так называемые методы «малого шага», основанные на теореме Куна—Таккера (см. п. 4 § 6) об эквивалентности решения задачи выпуклого программиро- вания задаче отыскания седловой точки функции Лагранжа. Для отыскания последней решается система дифференциаль- ных уравнений. В [23] указан основанный на той же теореме алгорифм для решения задачи выпуклого программирования. В [17] построен алгорифм для минимизации выпуклой функции на многограннике 2. В этом алгорифме используется геометрический факт о сходимости к нулю объемов многогран- ников 2^, каждый из которых получается отсечением гипер- плоскостью, проходящей через центр тяжести 2^, той его части, в которой не содержится решение задачи. Наконец, в [25] построен алгорифм для минимизации вогнутой функции на выпуклом многограннике 2. В этой х/412*
388 ВЫПУКЛОЕ ПРОГРАММИРОВАНИЕ [ГЛ. VI работе впервые делается попытка решения экстремальной задачи со многими локальными экстремумами. Используя тот факт, что экстремум вогнутой функции может достигаться лишь в вершинах многогранника 2, строится вычислительный процесс, позволяющий на каждом шаге исключить из дальней1- шего рассмотрения некоторую порцию вершин 2. Это дости- гается путем отсечения на каждом шаге той части 2, в кото- рой значение минимизируемой функции f (х) не меньше min/(х).
ДОПОЛНЕНИЯ НЕКОТОРЫЕ ВАРИАНТЫ СИМПЛЕКС-МЕТОДА § 1. МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 1. Предварительные замечания. При решении задачи линей- ного программирования: максимизировать целевую функцию ...+рпхп (1) при ограничениях У1 = а1Л-Х1)-\- ... +ain(— хп)-\-а^0 (1=1, ...,т) (2) и при Xj^sO О’=1, ...,п) (3) (см. гл. II), когда числа тип велики, приходится обычно прибе- гать к электронным вычислительным машинам. Если при этом поль- зоваться изложенным выше в гл. II алгорифмом симплекс-метода, то даже при сравнительно небольших т и п произведение т х и велико, и мы сразу сталкиваемся с ограниченностью оперативной памяти машины. Естественно поэтому так видоизменить алгорифм, чтобы основное количество данных задачи сосредоточить во внеш- ней, обычно большой, памяти, освободив сравнительно небольшую оперативную память для эффективной работы. Оказывается, алго- рифм симплекс-метода может быть видоизменен так, чтобы вместо матрицы размерности (m-(- 1) X (и + 1) приходилось преобразовы- вать на каждом шаге матрицу размерности (#4-1) X (# + 2), где q — min { т, п }. Такой видоизмененный симплекс-метод, предложенный Чарнсом (см. [ЗОд], [4], [28в]), называется модифицированным симплекс-мето- дом или методом обратной матрицы. Будем в дальнейшем предполагать, что т п, так что q = min { т, п } = т. Как и в гл. II, сначала изложим модифицированный симплекс-метод для отыскания опорного решения, а затем для отыскания оптимального решения. 2. Опорное решение. Как видно из правила гл. II § 2, для отыскания опорного решения обыкновенным симплекс-методом достаточно знать на каждом шаге лишь столбец свободных членов, строку, содержащую отрицательный свободный член (даже не всю, а какой-нибудь ее отрицательный коэффициент), и столбец, содер- х/213 С. И. Зуховицкий, Л. И. Авдеева
390 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА жащий этот отрицательный коэффициент (т. е. разрешающий стол- бец). Но для получения этой информации, оказывается, вовсе нет необходимости преобразовывать на каждом шаге модифицирован- ным жордановым исключением всю исходную матрицу; достаточно лишь преобразовать некоторую матрицу размерности (т+1) X (т-|-2), умножить некоторую строку на исходную мат- рицу и умножить квадратную матрицу порядка т-|-1 на столбец исходной матрицы. Отыскание опорного решения модифициро- ванным симплекс-методом. Предварительный шаг. Составляем исходную таблицу . . . —*s • • • xn 1 У1 = «и • • • ais • • • ain «1 Уг = аг\ . . . ars • • • arn «г Ут — ami . . . ams • • • amn am (4) 2 = — Pi . . ps • • • Pn 0 и следующую малую таблицу с m-pl и столбцом свободных членов единичной матрицей порядка —У1 • • . —y* . . V* 2* Ут z 1 = 1 ... 0 ... 0 0 = 0 ... 1 ... 0 0 Ут = о ... 0 ... 1 0 «1 Ur . . . . (5) am z = 0 ... 0 ... 0 1 0 Если все а} неотрицательны, то значения = ... =Хд = 0, при которых У1 — а1) • • • > Ут = ат> образуют, очевидно, опорное решение, и мы переходим к отыска- нию оптимального решения. Если же среди свободных членов есть отрицательные, напри- мер, аг < 0, то приступаем к первому шагу.
§ 1] МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 391 Первый шаг. 1) Отыскиваем в r-й строке исходной таблицы какой-нибудь отрицательный коэффициент. Если же все коэффици- енты r-й строки неотрицательны, то, как уже разъяснялось в гл. II, система ограничений несовместна и задача неразрешима. Пусть аг5<0. Тогда s-й столбец берется в качестве разрешающего. 2) Приписываем к малой таблице (5) разрешающий s-й столбец. Получим таблицу —у* , . . — у* . . . — v* —z* • • Ут 1 — *s ^1 = 1 ... 0 . . . 0 0 ais Уг = 0 ... 1 . . . 0 0 аг ars Ут — 0 ... 0 . . . 1 0 ат ams z = 0 ... 0 . . . 0 1 0 ~Ps (6) 3) Вычисляем неотрицательные отношения — 0 свободных ais членов к отличным от нуля коэффициентам разрешающего столбца, ( ai 1 ai находим среди них наименьшее, пусть mini —^>0 у = —5-. Тогда * ^is /0-я строка берется в качестве разрешающей и a^s— разрешающий элемент. 4) Над таблицей (6) производим шаг модифицированного жор- данова исключения и отбрасываем присоединенный столбец. Получим новую малую таблицу —У* • • -ч ~Ут — 1 У1 = 1 ais a; e 0 0 а\1) У-s === 0 . . 1 0 0 ai" Ут = 0 . . ams a- c lQS . . 1 0 am 2 = 0 . . Ps aiQs 0 1 Q'1' (7)
392 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА где л:.1! __ io is ,. . ч (1) ___ @io •'__^s^io ai =----------aio ---• ioS uioS aios Если в таблице (7) среди свободных членов еще есть отрица- тельные, то переходим ко второму шагу. Если же все свободные члены неотрицательны, то значения Xj = . .. = л,5_1=0, Xs = diQ , = ... = xn = 0 дают опорное решение. Пусть уже проделано k шагов алгорифма и на /г-м шаге полу- чена, например, малая таблица -У* -У* . —V* — > m - z* 1 Х1 -- . . . blr • • ^im 0 bl xk> = • • bktr 0 4+' = **1+1,1 • • bkt + l,r • • • ^14-1. m 0 **1+1 > (8) Ут = bmi • • ^mr • • bmm 0 Ьщ Z = Я1 • • Qr ’ • Qm 1 Q где k. Тогда, если все свободные члены неотрицательны, решение xi = bi...xkl=bkl’ *ftl+i= ••• ==*„ = 0 является опорным; оно получается, если в малой таблице все очу- тившиеся слева Xj приравнять соответствующим свободным членам, а остальные Xj приравнять нулю. При этом переменные ylt..., yk отсутствующие слева в малой таблице (8), рдвны нулю, а для остальных yi имеем: • • • > Ут — Ьт- Если же среди свободных членов есть отрицательные, напри- мер bi < 0, то переходим к следующему шагу. Общий ((/г-)-1)-й) шаг. 1) Отыскиваем какой-нибудь отрица- тельный среди коэффициентов н о в о й Z-й строки, т. е. строки, в кото- рую превратилась бы l-я строка исходной таблицы (4), если бы ее подвергли всем предшествующим k шагам модифицированных
§ 11 МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 393 жордановых исключений. Так как из этих коэффициентов содер- жатся в Z-й строке малой таблицы *), то в первую очередь просмат- риваем эту Z-ю строку, и если, например Z>Zr<0, то разрешающим будет столбец, равный столбцу под—jv. Если же в Z-й строке малой таблицы нет отрицательных коэффициентов, то вычисляем последовательно остальные коэффициенты новой Z-й строки, умно- жая Z-ю строку (без свободного члена Ь[) малой таблицы (8) на столбцы исходной таблицы (4), расположенные под — ... , т. е. под теми из — xjy которых нет слева в малой таблице (8). Умножение продолжаем до тех пор, пока не получим отрицательного произведения, например bis < 0. Тогда новый s-й столбец будет разрешающим. При неотрицательности же всех ука- занных произведений система ограничений несовместна. 2) В первом случае (когда Z-я строка малой таблицы (8) со- держит отрицательный коэффициент bir < 0), присоединяем справа к малой таблице столбец, равный r-му, ставим над ним—уп счи- таем его разрешающим и переходим к 3). Во втором же случае (когда произведение Z-й строки малой таблицы на s-й столбец исходной таблицы отрицательно) вычисляем новый s-й столбец. Для этого умножаем матрицу малой таблицы (без столбца свободных членов) на s-й столбец исходной таблицы: т У, blfats t=\ т bitats t= 1 т bmtats /=1 т 2 1 (—Ps) V = i *) Под теми у*у для которых соответствующие yt отсутствуют слева в малой таблице (см. ниже п. 5). 13 С. И. Зуховицкий, Л. И. Авдеева
394 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА и полученный новый столбец присоединяем справа к малой таблице, ставим над ним — xs, считаем его разрешающим и переходим к 3). Действия 3) и 4) общего шага аналогичны действиям 3) и 4) первого шага. Пример. Найти опорное решение системы линейных неравенств — 2х2 х3 2х4 — х5 3, — ATj — х2 —j- — 3x4 —2х~ — 1, — Зх± х2 — а?з —х^ — Зл*5 3, (7=1, 5). Переписываем неравенства в виде: Vi = — 5х1-|-2х2— л*з — 2х4 х5-|-3^в0, ' у2 — xt + *2 — 2х3 Зх4 — 2х5 — 1^0, .Уз — 3xt— х2—р х3— x4-j—Зх5 —3 0, х^О (7=1, ..., 5). Предварительный шаг. Составляем исходную таблицу у,= 5-2 1 2—1 3 у2= —1 —1 2-3 2 —1 у3 = —3 1—1 1-3 3 и малую таблицу — —у* — у* 1 У\~ У2 = Уз = 10 0 3 0 10—1 0 0 13 Свободный член во второй строке отрицателен. Первый шаг. 1) Во второй строке исходной таблицы первый отрицательный коэффициент расположен в первом столбце. Выби- раем этот столбец разрешающим.
§ 1] МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 395 2) Присоединяем разрешающий столбец справа к малой таблице — У* ~У* —У? 1 — У1 = У2 = Уз — 1 0 0 0 1 0 0 0 1 3 ы —1 —1 3 —3 3) Находим min -I —г > = так что 5 — разрешающий ( о —1 J о элемент. 4) Производим над предыдущей таблицей шаг модифицирован- ного жорданова исключения с разрешающим элементом 5 и отбрасы- ваем присоединенный столбец. Приходим к таблице (без последнего столбца): — У* ~У1 —у? 1 —^2 *1 = У 2 = Уз = i о о 4-4 5 5 5 110 -1-1 5 5 5 1 0 1 24-1 5 5 5 в которой еще есть отрицательный свободный член-------- э Второй шаг. 1) Во второй строке предыдущей таблицы с отри- цательным свободным членом нет отрицательных коэффициентов. Поэтому будем умножать эту строку последовательно на столбцы исходной матрицы под — х2, —х3,... до получения отрицательного произведения. Получим /—2\ 522=(1, 1, оЦ-1^ = 1-(-2) + 1-(-1)+0.1=-|. Остальные произведения не вычисляем. Новый второй столбец исходной таблицы — разрешающий. 13*
396 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА 2) Вычисляем новые вычисляем произведение второго столбца, т. е. коэффициенты и присоединяем этот столбец к малой таблице, полученной после первого шага (см. последнюю таблицу). 3) Разрешающим элементом оказывается----— 5 4) После шага модифицированного жорданова исключения и отбрасывания присоединенного столбца придем к таблице —у* —у* —у* 1 *1 = х2 = Уз = 1 2 7 7 0 1 5 — 7 ~ 7 0 - 1 1 7 7 5 7 2 7 34 7 в которой все свободные члены неотрицательны. Получено опорное решение 5 2 = *2 = у, х3 = х4 = х5 = 0, причем л 34 Л=Л = 0, = 3. Смешанная система ограничений. Пусть ограничения за- дачи заданы смешанной системой: У,=^ 5 аЧ(~xf> + 0 (z=1> •••. г). 7=1 °= У ац{— Xj) + ab at^s0 (/ = r+l........ т) i=\ и пусть все переменные неотрицательны Xj^O
§ 1] МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 397 Модифицированный симплекс-метод применим, конечно, и здесь. Первоначальная малая таблица имеет вид — jy* . . . — у* 0* . . . О* 1 У1 = Уг = 0 = 0 = 1 . . . 0 0 ... 0 а{ 0 . . . 1 0 ... 0 аг 0 ... 0 1 ... 0 ам 0 ... 0 0 ... 1 ат Как и в обычном симплекс-методе, сначала исключаем 0-уравнения. Поэтому в действии 1) общего шага алгорифма п. 2 на каждом шаге определяем коэффициенты некоторой 0-строки, которые либо будут содержаться в малой таблице в этой же 0-строке *) (но не под столбцами, наверху которых стоят нули!), либо их можно по- лучить как произведение соответствующей 0-строки малой таблицы на столбцы исходной таблицы. Отыскав таким путем нужный коэф- фициент (bij > 0), определяем разрешающий столбец и выполняем затем действия 2) —4) общего шага алгорифма п. 2. После исклю- чения всех 0-уравнений (так что слева в малой таблице не будет нулей), продолжаем применять алгорифм до тех пор, пока не полу- чим опорного решения. Заметим, что для определения разрешающего столбца не сле- дует обращать внимания на коэффициенты в (г-|-1)-м, ..., т-м столбцах (под нулями) малой таблицы. Пример. Найти опорное решение системы: -j- 2л>2 —}— Зх3 — х4 —}— 2л*- — 6 0, 0 = 2х{ — х2 — 6х3 -j- 5х4 + хъ 8, 0 = —х2 -|- 2х3 -|- х±— х5 -|- 12, Xj^O С/=1, ...,5). Предварительный шаг. Составляем исходную таблицу — — х2 — х3 — 1 У1 = — 5 — 2 — 3 1 — 2 — 6 0 = — 2 1 6 — 5 — 1 8 0 = 3 — 1 — 2 — 1 1 12 *) Напомним, что для исключения 0-уравнения отыскиваем в соответствующей 0-строке какой-нибудь положительный элемент (см. гл. II).
398 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА и малую таблицу (без последнего столбца) —yf 0* 0* 1 —х2 1 0 0 — 6 1 ~2| 0 = 0 1 0 8 1 0 = 0 0 1 12 — 1 и сначала исключаем 0-уравнения. Первый шаг. 1) Отыскиваем во второй строке исходной таб- лицы положительный коэффициент, например й22 — 1 > 0, так что второй столбец — разрешающий. 2) К малой таблице приписываем справа второй столбец исход- ной таблицы (см. предыдущую таблицу). __ 0 0 4 —о"» TI =3. z 1 J 4) После шага модифицированного жорданова исключения при- дем к следующей таблице (без последнего столбца): —yf 0* 0* 1 — 1 л „ 1 х2 = -у 0 0 3 “"2 — 0 = 1 1 " 5 1 1 1 2 0 = -1 0 > 15 1 ” 2 Так как от 0-строки не удалось избавиться, то продолжаем с ней работать. Второй шаг. 1) В малой таблице во второй строке в столбце под —стоит положительный коэффициент -у *, поэтому разре- шающим будет столбец, равный первому столбцу малой таблицы. 2) Присоединяем этот столбец к малой таблице, поставив над ним —yi (см. последнюю таблицу). После шага модифицированного жорданова исключения полу- чим малую таблицу (без последнего столбца) —уТ 0* 0* 1 — *1 х2 = 0 1 0 8 —2 У1== 1 2 0 10 —9 0 = 0 1 1 20 и
§ 11 МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 399 в которой еще осталась 0-строка (третья). Разрешающим столбцом оказывается столбец под xlt и после шага модифицированного жорданова исключения получим малую таблицу —у* 0* 0* 1 0 3 2 48 1 11 9 190 *1 = 0 1 1 20 в которой уже нет О-строк. Так как свободные члены последней таблицы положительны, то получено опорное решение системы xt — 20, х2 — 48, xs — = х- = 0, причем = 190. 4. Оптимальное решение. При отыскании оптимального реше- ния задачи (1)—(3) роль строки, определяющей разрешающий столбец, играет z-строка. Поэтому правило для отыскания опти- мального решения задачи (1)—(3) модифицированным симплекс- методом обладает теми же отличиями от правила гл. II, что и пра- вило для отыскания модифицированным симплекс-методом опор- ного решения. Пусть уже получено опорное решение системы (2)—(3), так что в последней малой таблице, например, в таблице —Л • • — У* -Ут — Z* 1 = bir • • him 0 *1 = bkYr 0 ч №1+1= Ч+Ь 1 ^iH-1, г 0 4+1 (9) Ут = ^тл • ’ Ьтг • bmm 0 Ь/П Z — Я1 Яг ' • Ят 1 Q все свободные члены неотрицательны, и можно перейти к отыска- нию оптимального решения. Правило для отыскания оптимального реше- ния. Общий шаг. 1) Рассматриваем 2-строку малой таблицы (9) и отыскиваем в ней какой-нибудь отрицательный коэффициент, на- пример #г<0, который определяет разрешающий столбец. Если же
400 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА все qi малой таблицы неотрицательны, то находим новые коэффи- циенты г-строки преобразованной исходной таблицы (4), не содер- жащиеся в малой таблице. Для этого умножаем 2-строку малой таблицы (9) последовательно на (&i —1)-й, —|—2)-й, ••• столбцы исходной таблицы до тех пор, . пока не получим отрицательного произведения, например, qs < 0. Тогда новый s-й столбец будет разрешающим. Если же все произведения окажутся неотрицатель- ными, то полученное опорное решение x1 = bl,..., xki = bkt, xki+i= ... =хп = 0 уже оптимально, max z=Q, и задача решена. 2) В первом случае, когда разрешающий столбец определяется элементом ^г<0 малой таблицы, присоединяем справа к малой таблице столбец под —уг, равный ее столбцу под —у*. Во втором случае, когда разрешающий s-й столбец опреде- ляется отрицательным произведением 2-строки малой таблицы на s-й столбец исходной (qs<Zty, находим все новые коэффициенты этого столбца, умножив матрицу малой таблицы на s-й столбец исходной: т У bifits t= i т 2 bmtats t=\ т У Qt^ts—Ps t=\ Вычисленный столбец под —xs присоединяем справа к малой таблице. 3) Определяем разрешающий элемент. Для этого рассмат- риваем отношения свободных членов к положительным коэффици- ентам разрешающего столбца и в качестве разрешающего берем
§ U МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 401 коэффициент, для которого достигается min А- или min ^L ^ir > 0 ^ir b is>0 bis Если же в разрешающем столбце нет положительных коэффициен- тов, то линейная форма (1) не ограничена сверху. 4) Производим над малой таблицей с присоединенным разре- шающим столбцом шаг модифицированного жорданова исключения с разрешающим элементом, выбранным в 3), и отбрасываем при- соединенный столбец. Повторяем общий шаг до тех пор, пока при выполнении дей- ствия 1) не убедимся, что все коэффициенты 2-строки малой таб- лицы и все новые коэффициенты 2-строки исходной таблицы не- отрицательны. Тогда задача решена, max z равен элементу 2-строки малой таблицы, содержащемуся в (т-)-2)-м столбце, и достигается в точке, которую получим, приравняв все Xj, стоящие слева малой таблицы, соответствующим свободным членам, а все осталь- ные Xj приравняв нулю. Пример. Найти максимум функции z = Xi -f- 2х2 — + 4х4 — Зх5 при ограничениях У1=—— Зх8-j- х4 — 2х510 О, У 2 2^2 --Зх4 —Х§ —6 2^ 0, Уз=~ 2^+ х2 — х3 + 2х4 — хъ — 4^0, и при (; = !, 5). Предварительный шаг. Составляем исходную таблицу — хг х2 х% — *4 1 1 — 1 3 — 1 2 10 0 2 0 3 — 1 6 Уъ = — 2 — 1 1 — 2 1 — 4 2 = — 1 — 2 1 — 4 3 0
402 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА и малую таблицу —у* —у* — — Z* 1 У1 = 1 0 0 0 10 У 2 = 0 1 0 0 6 Уз = 0 0 1 0 — 4 z = 0 0 0 1 0 В столбце свободных членов имеется отрицательный коэффициент (—4), поэтому сначала освобождаемся от него, т. е. отыски- ваем сначала опорное решение: —у* —у* — у* —Z* 1 — *1 Ь = 1 0 0 0 10 1 Уз = 0 1 0 0 6 0 Уз = 0 0 1 0 — 4 |^2~| z = 0 0 0 1 0 — 1 •— У* —у* —.V* —Z* 1 1 0 1 0 8 У 2 = 0 1 0 0 6 = 0 0 “Т 0 2 Z — 0 о —4- 1 2 2 Во второй таблице все свободные члены неотрицательны и можно перейти к отысканию оптимального решения. Первый шаг. 1) В последней строке малой таблицы есть отри- цательный коэффициент —-у. Поэтому столбец, равный столбцу под —будет разрешающим. 2) Присоединяем разрешающий столбец справа к малой таб- лице, поставив над ним —
§ 1] МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 403 — У1 —у* —Д’* — 2* 1 -Уз У1 = 1 0 1 2 0 8 1 2 У 2 ~~~ 0 1 0 0 6 0 *1 = 0 0 1 2 0 2 1 ' 2 • 2 = 0 0 1 2 1 2 1 ' 2 3) Единственный положительный коэффициент у присоединен- ного столбца будет разрешающим. 4) После шага модифицированного жорданова исключения и отбрасывания присоединенного столбца, придем к таблице (без последнего столбца): —у* —У* —у* — 2* 1 -^2 Уз = 2 0 1 0 16 — 3 У2 = 0 1 0 0 6 Й *1 = 1 0 0 0 10 —т 2 = 1 0 0 1 10 — 3 Второй шаг. 1) В последней строке малой таблицы нет отри- цательных коэффициентов. Переходим к отысканию новых коэффи- циентов ^-строки исходной таблицы. Для этого придется умножать 2-строку малой таблицы (без последнего числа 10) последовательно на столбцы исходной таблицы (кроме первого). Первое из этих про- изведений ^=1-(-1) + 0‘(2) + 0.(~1) + 1.(-2)=-3 уже отрицательно и дальнейшее умножение производить не сле- дует. Разрешающим будет новый столбец под —х2. 2) Определяем новый второй столбец, помножив матрицу малой таблицы (без свободных членов) на второй столбец исходной: '2 0 1 0\ /— 1' /—3\ ° 1 ,0 ° \ 2\ 2 \ 1 о о о Д — 1 —' — 1 - Л 0 0 1/ 2/ \—3/
404 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Присоединяем новый столбец к малой таблице (см. последнюю таблицу). После действий 3) и 4) приходим к таблице (без последнего столбца) -у? -У? -УГ -г* 1 -х4 л = 2 1 1 ° 25 1 2 *2 = ° 1 0 ° 3 3 2 *1 = 1 4 ° ° 13 1 2 Z — 1 1 ° 1 19 1 " 2 Выполнив еще один шаг при разрешающем столбце, присо- единенном к предыдущей таблице, получим —.У* —у? —У* —z* Уз = 2 _4 3 1 0 24 II II 0 1 2 3 1 3 0 0 0 0 2 12 Z — 1 <5 3 0 1 20 В последней строке малой таблицы все коэффициенты неотрица- тельны. Вычислив новые коэффициенты 2-строки исходной таблицы ^ = 1-(-1) + |-2 + (-2). 1=1 ^’ = 1.3+1-1 =4, in ^ = 1-2+ |-(-1)+1-3 = у,
§ 1] МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 405 убеждаемся, что все они также неотрицательны. Задача решена: max z = 20 и достигается в точке ^ = 12, ^4 = 2, ха = xs = х5 = 0. Замечание. При отыскании как опорного, так и оптималь- ного решений мы определяем коэффициенты нужных строк только до первого отрицательного. Конечно, это правило не является обязательным. Мы его указали лишь для сокращения числа умно- жений на данном шаге. 5. Обоснование. По системе линейных форм п /=1 составим таблицу — *1 .. . — xs .. Л = «И ... • ais ••• ain Уг = аг\ • • • , | drs 1 ••• arn Ут = ami •• • ams • • • amn (Ю) с матрицей А = || ||. Кроме того, составим таблицу с единичной матрицей m-го порядка, соответствующую малой таблице, исполь- зуемой в приведенном выше алгорифме: — ••• — У*г ••• — Ут У1 = 1 ... 0 ... 0 Уг = 0 ... 1 ... 0 (И) Ут “ 0 ... 0 ... 1 • Если над таблицей (10) произвести шаг модифицированного жорданова исключения с разрешающим элементом arSi то xs
406 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА перейдет налево таблицы, а уп стоящий слева r-й строки, и мы придем к таблице — наверх, — ... XJ ... — yr .. xn Л = *11 ••• 1 I*? Ьщ yi= 1 R 1 Ci bin (12) brj 1 ars bf-n Ут = bmj 1 Ri I ® j a bfnfl > где = aiJars — aisarj brj = ^J urs ars С другой стороны, если к таблице (11) присоединить столбец под — xs таблицы (10) и произвести шаг модифицированного жорда- нова исключения с разрешающим элементом arSi то изменится лишь столбец под —у*, содержащий 1 в разрешающей r-й строке, причем он окажется равным преобразованному разрешающему столбцу матрицы А (табл. 12), над которым теперь поставлен —уг: -УЬ- • — Уг •• • — Ут~хз -Я- • —у* — v* Xm 1 .. 0 ... 0 ais У1 = i 1 . ^1S ars . 0 Уг = 0 .. 1 ... 0 | ars I -+xs = 0 . 1 ars 0 (13) Ут — 0 .. . 0 ... 1 ams Ут = 0 . 1 R 1 » £ .. 1 Очевидно, при дальнейшем преобразовании таблицы (12) и ана- логичном преобразовании таблицы (13) с присоединенным разреша- ющим столбцом (если только разрешающий столбец отличен от столбца под —уг) эти равные столбцы снова преобразуются в равные. Если же разрешающим оказался столбец под —уп то уг в преобразованной из (10) таблице перейдет налево, а столбец под
§ П МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД 407 — У г, равный разрешающему, преобразуется в столбец, состоящий из нулей и одной единицы в разрешающей строке. Следовательно, если в малой таблице под некоторым —^ока- зался столбец, не состоящий лишь из одной единицы и нулей, то в преобразованной таблице (12) равный ему столбец стоит под тем же — уг Таким образом, полную информацию о столбцах, записанных под —уг в таблицах, преобразованных из (10), мы всегда имеем по матрице малой таблицы, с которой работаем в модифицирован- ном симплекс-методе. Покажем теперь, что и для получения любого другого столбца, т. е. столбца, стоящего под некоторым хр в таблице, преобразо- ванной из (10) несколькими шагами модифицированных жордано- вых исключений, достаточно знать лишь соответственно преобра- зованную матрицу малой таблицы, так как искомый столбец ра- вен произведению преобразованной матрицы малой таблицы ла этот столбец в исходной таблице. Действительно, после шага модифицированного жорданова ис- ключения над таблицей (11) с разрешающим присоединенным s-m столбцом и разрешающим элементом arS малая таблица (без столбца свободных членов) преобразуется в новую малую таблицу (13). Обозначим матрицу таблицы (13) через Ef. Умножив теперь матрицу Ef на у-й (y^s) столбец матрицы Д, получим /' «О °\ / la - \ 1 °rS 0 . 1 ars . 0 arj 1 ars \° • ams ars . 1/ \ °ml l \a arjamJ \mj ars 1 т. е. получим у-й столбец преобразованной матрицы А (см. (12)). Таким образом, если обозначить через Ast матрицу, в которую преобразовалась матрица А после шага модифицированного жор- данова исключения с разрешающим s-м столбцом, а через (A)^s и (Xf)y. ^.s соответствующие матрицы без s-x столбцов, то (14) Обозначим через Ef матрицу, в которую преобразуется еди- ничная матрица Е после шага модифицированного жорданова ис- ключения с присоединенным к Е справа разрешающим s-м столб- цом, взятым из преобразованной один раз матрицы А. Вообще Ед— матрица, в которую преобразуется единичная матрица Е после
408 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА шага модифицированного жорданова исключения с присоединен- ным к Е справа разрешающим s-м столбцом, взятым из преобразо- ванной k—1 раз матрицы А. Через будем обозначать матрицу, в которую преобразу- ется матрица А после двух последовательных шагов модифициро- ванного жорданова исключения с разрешающими сначала s-м, а за- тем s^m столбцами. Вообще Ak — матрица, в которую преобразуется мат- рица А после k последовательных шагов модифицированных жор- дановых исключений с разрешающими s-м, st-M, Sk-гМ столб- цами, причем эти столбцы не обязательно различные. Наконец, Ek “* k~l—матрица, в которую преобразуется ма- трица Е после k последовательных шагов модифицированных жор- дановых исключений с присоединенными в качестве разрешающих сначала s-м столбцом из А и отбрасывания его после шага, затем Si-м столбцом из и отбрасывания его после шага и т. д., наконец, . . SSi ... s. а Sk-i-м столбцом из Ak _ 1 и отбрасывания его после шага. Таким образом,^51 будет матрицей малой таблицы, пг.точенной на k-м шаге модифицированного симплекс-метода. Применив теперь равенство (14), считая исходной матрицу Ар а "разрешающим столбец, получим (К') Но тогда очевидно также, что и воспользовавшись (14), получим = (15) Если же теперь в равенстве (15) вместо А взять матрицу (E,S, получаемую присоединением к Е справа s-ro и srro столб- цов матрицы А, то получим [(Е, 8,8^]^5>ч = Е^ = Е^(Е, S, =ЕрЕ‘Е, и равенство (15) можно переписать так (16) Рассмотрим теперь случай, когда в обоих шагах разрешающий элемент выбирался из одной и той же r-й строки, например, arS и а^. Если эти два шага производились над таблицей (10) с матри- цей Д, то на первом шаге поменялись местами xs с уг, а на вто- ром xs с xs и после второго шага наверху таблицы с матрицей
§ 2] ЗАДАЧА С ДВУСТОРОННИМИ ОГРАНИЧЕНИЯМИ 409 AfS1 будет только один уп а слева—xs^. Очевидно, что этот же результат был бы получен, если бы над таблицей (10) был произ- веден один шаг модифицированного жорданова исключения с раз- решающим элементом arst, т. е. столбцы в матрицах Af1 и А^1 в этом случае те же самые (но могут различаться порядком) и в смысле равенства столбцов, стоящих под одинаковыми перемен- ными, можно записать: Af1 ==AfS1. В аналогично получаемых мат- рицах Ef1, Е^1 только один столбец под —у* изменит свой на- чальный вид, и так как, по доказанному, он равен одинаковым столбцам под —уг матриц Af1, Af51, то матрицы Ef1, Ef51 совпа- дают, т. е. Ef1 = Ef51. Отсюда и из (14) имеем = (17) Таким образом, из (16) и (17) следует, что любой столбец мат- рицы Af51, стоящий под —Xj (где Xj не стоит слева малой таб- лицы), можно получить умножением матрицы Ef51 малой таблицы на столбец под —Xj исходной таблицы с матрицей А. Аналогично устанавливается, что вообще столбец под —Xj (где Xj не стоит слева малой таблицы) матрицы А^1 ”* —1) можно получить умножением матрицы Е^1 Skl малой таблицы на столбец под —Xj матрицы А. Остальные же столбцы . ... Sh. матрицы Ak \ которые стоят под некоторыми у^ располо- жены в малой таблице с матрицей Е^1 ”* Skl под теми же у*. Таким образом, установлено, что выполняя действия 1) и 2) (/г-|-1)-го шага модифицированного симплекс-метода, мы опре- деляем нужную строку и разрешающий столбец матрицы, в кото- рые преобразовалась бы на /г-м шаге исходная матрица, если бы решали задачу обычным симплекс-методом. Этим обоснование ал- горифма модифицированного симплекс-метода закончено, так как в остальном он совпадает с алгорифмом обычного симплекс-метода. Замечание. Нетрудно убедиться, что схему вычислений, используемую в модифицированном симплекс-методе, можно без труда перенести на двойственный симплекс-метод и получить, та- ким образом, правила для модифицированного двойственного симп- лекс-метода. § 2. ПРИСПОСОБЛЕНИЕ СИМПЛЕКС-МЕТОДА К ЗАДАЧЕ С ДВУСТОРОННИМИ ОГРАНИЧЕНИЯМИ 1. Усложненный шаг модифицированного жорданова ис- ключения. Задачу максимизации линейной формы (18)
410 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА при ограничениях вида a?sgyf== У, «у( —(/=1, •••,«), (19) /=1 aj^Xj^fy (7=1..........п), (20) определяющих некоторый многогранник Q, где а?, и ау, ру— за- данные числа, причем некоторые из них могут быть и бесконеч- ными, будем называть задачей линейного программирования с дву- сторонними ограничениями. Задачу (18) — (20) можно, очевидно, рассматривать как обыч- ную задачу линейного программирования, если ограничения (19)—(20) расчленить на 2т -1-2п неравенств. Но это увеличение числа ог- раничений настолько усложняет вычислительную работу, что обыч- но отказываются от такого приема и путем некоторого усложне- ния симплекс-метода решают непосредственно задачу (18) — (20). Составляем таблицу . Xs . xn 1 = «и ... > ais •• . a\n «1 Уг = ... ars . arti ar (21) Ут = ami • • . ams .. • amn am z = ~Р1 • — Ps •• • — Pn 0 и прежде всего исключаем, как обычно, свободные координаты (если они были). Будем в дальнейшем считать, что в рассматри- ваемой задаче нет свободных координат, т. е. для каждого xj (J — = 1, ..., п) по крайней мере одно из чисел ау или ру конечно. За- тем «выводим» координаты (переменные, записанные наверху таб- лицы) на их нижние (верхние) границы, т. е. заменяем Xj на лу = = Xj~ ay(Xy=py — Ау), так ЧТО O^XJ ^Ру — aj(0^xj «у). При этом таблица (21) преобразуется по следующему правилу: если верхняя переменная (т. е. координата) выводится на ниж- нюю границу, то из столбца свободных членов вычитается стол- бец под данной координатой, предварительно помноженный на ее нижнюю границу; если же верхняя переменная (координата) выводится на верхнюю границу, то из столбца свободных чле- нов вычитается столбец под данной координатой, предварительно помноженный на ее верхнюю границу, и знак столбца под дан- ной координатой меняется на противоположный. Выведение координат на границы геометрически означает за- мену случайно взятых координатных плоскостей ху = 0 (/= 1,.... п) НОВЫМИ координатными ПЛОСКОСТЯМИ Ау=Ау—ау = О(Л‘+ = ру— — Xy = 0) — гранями многогранника 2.
§ 2] ЗАДАЧА С ДВУСТОРОННИМИ ОГРАНИЧЕНИЯМИ 411 Для новой координаты (х£) ограничения (20) имеют вид а переменная у; преобразуется так: № У aij (-Xj) + «,•= У <4j(— xj) + aik(— x*) + (az—e(feaft), /=1 /=1 y,-= У aij(—xj)-{-ai = \ 7=1 = У (— Xj) — aik (— хр + (а; — aikM j=\ Пусть уже проделан вывод верхних переменных на их грани- цы и получена таблица — А .. . — Xn 1 У1 ~~ “11 ... ais altl “1 Уг = ars “п ... , (22) Ут — ami • • ams • • amn am Z = —Pi . — Ps •• • — Pn P где Xj=xj, если Xj было выведено на нижнюю границу, и х;- = — если Xj было выведено на верхнюю границу; для удобства записи коэффициенты таблицы (22) обозначены теми же буквами, что и в таблице (21). В дальнейшем под усложненным шагом модифицированного жорданова исключения с разрешающим элементом arS будем по- нимать обычный шаг модифицированного жорданова исключения (с этим же разрешающим элементом), дополненный следующими действиями: 1) новая координата уг (переброшенная наверх) выводится на одну из своих границ; 2) переменная xs (переброшенная налево) заменяется перемен- ной xs, при этом если xs = x~, то к новому свободному члену r-й разрешающей строки прибавляется as, если же xs = то r-я строка умножается на — 1 и к новому свободному члену при- бавляется
412 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОД А 2. Опорное решение. 1. Просматриваем в таблице (22) стол- бец свободных членов и сравниваем каждое А/ с соответствующими а* и pf. Возможны три случая: 1) af (i = 1, , т); 2) ar < а*; 3) аг > р* В первом случае начало координат xt = ... = хп = 0 является опорным решением. Во втором (третьем) случае отыскиваем в r-й строке какой- нибудь отрицательный (положительный) коэффициент, пусть, на- пример, ars < 0 (arS > 0), s-й столбец берем в качестве разрешаю- щего и переходим к действию 2. Если же (ary^0) (7 = 1, и), то система (19) — (20) противоречива. 2. а) Находим неотрицательные отношения разностей — af к коэффициентам разрешающего столбца и наименьшее среди них обозначаем через т. е. ( а,- — af ) tr = min )-------0 (• i 1 «is 1 б) Находим неотрицательные отношения разностей pf— я/ к коэффициентам разрешающего столбца, взятым с противополож- ными знаками, и наименьшее среди них обозначаем через t2, т. е. ( — ai I t2 = min i-------Of. i ais в) Вычисляем ^3 Ps aS' 3. Определяем неотрицательное число Z = min Если / = ^>0 (t =t2 > 0), то в качестве разрешающего берем тот из элементов s-го столбца, на котором достигается tx (t2)f пусть, например, a^s. В случае вырождения, когда £ = ^ = 0 (t = t2 = 0), соответствующий коэффициент s-ro столбца берем в каче- стве разрешающего лишь тогда, когда он положителен (отрицателен). Производим усложненный шаг модифицированного жорданова исключения, причем новую координату у. выводим на нижнюю (верхнюю) границу. Если же t = t^ то выводим координату xs на ее верхнюю гра- ницу (т. е. заменяем х~ на и наоборот). Продолжаем работать по правилу 1—3, пока либо убедимся в противоречивости (19) — (20), либо придем к таблице, для всех свободных членов которой справедливы неравенства af Тогда, приравняв все координаты (верхние переменные) нулю, получим опорное решение. Приведем геометрическую интерпретацию и обоснование этого правила. Все плоскости yt— af = 0 и pf——0 являются гра-
§ 3] ЗАДАЧА С ДВУСТОРОННИМИ ОГРАНИЧЕНИЯМИ 413 нями 2, причем 2 содержится в полупространствах — а^^О и ₽* — У^^. Уравнения этих граней в новых координатах ^у(/ = 1, 2, ... , п) запишутся так: п — aij (— xj) + «,• —а* = °. п _Л. = _ 2 в.. (_ £.) _|__ в. = о, и для точки хх = 0, ... , хп = 0 (для начала координат) получим у(— a'i=ai—«*; ₽*— У1=$*~ аг Таким образом, начало координат будет принадлежать 2 тогда и только тогда, когда все а.—а? и — а. неотрицательны. Если это условие нарушено, например а —а* < 0, то плоскость уг— а* = 0 отделяет начало координат от 2. Поэтому естественно двигаться из начала к отделяющей плоскости, т. е. двигаться по такой оси xs, чтобы абсолютная величина уклонения ее точки Ps, t C^i ==: • • • ) ^s~i == = t 0, == • • • , == 0) от плоскости у —а* = 0 была меньше абсолютной величины укло- нения начала координат от этой плоскости: I— arst-\-ar — а* | <|аг — а* |, или — (— аг^ + аг — а*) < — (ar — т. е. arSt <0 и ars < 0. Если же ₽*—аг<0, то от уклонения точки Ps t от отделяю- щей плоскости р*—уг = 0 естественно требовать, чтобы I ar I < I аг 1> или — arst <0, т. е. ars > 0. Этим обоснован выбор разрешающего столбца. п Если при аг— а*<0 все ^0, то уг—а* = — + /=1 + аг — а*^аг — а*<0 при любых л^.^О, и система ограничений (19) — (20) противоречива. Аналогично в случае ₽* — аг < 0 убеж- даемся, что если все аг; ^0, то система (19) — (20) противоречива. Двигаемся по выбранной оси xs до встречи (впервые) с неко- торой гранью, например с 0 У>0 — “*0 = °> 2) —Уч, = 0 ИЛИ 3) Xs = — а*> многогранника 2. В точке встречи с гранью первого типа получим а; —(а;—аТ ) 0 0/0 а; е ; I ’
414 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА с гранью второго типа — — ai —а- 1 %/ + ₽?—ai “0 или t2= —----------5-= min 5----- ioS '° '° 2 — aioS i \—ais ) а в точке встречи с гранью третьего типа получим ^3 — aS' Выбрав f = min{^, t2, £3}, мы определим плоскость, которую впервые встретим при движении по оси xs из начала х1 = 0, ... ... , хд = 0—вершины многогранника Q. При этом, если t — tly то этой плоскостью является плоскость УТ ^У: — af =0 О 10 о и ею следует заменить старую координатную плоскость ^ = 0, если же t = t2y то этой плоскостью является плоскость V-1" =8* — v • =0, ‘ zo •'«о ’ и теперь уже ею следует заменить плоскость х5 = 0, и, наконец, если t = t^ и (-£$== х$), то первой встреченной будет пло- скость а:+ = 0 (х^ = 0), которую превращаем в новую координатную плоскость. После переброски Xs на место уг возвращаемся к старой пере- менной xs по формуле (-s=^-4). чем обосновывается 2) в усложненном шаге. 3. Оптимальное решение. Пусть опорное решение найдено, т. е. получена таблица —л —ys X5+l ••• — xn 1 х1== ^1S ^1, s+i • • • Ьщ xs = ^51 bss ^5, S+l • *• bsn bs •Уб'+1“ ^S+l, 1 ^S+1, 5 S+l ••• bs+iyn bs+i (23) Ут = Ьщл bms Ьщ, s+i • •• bmn bm Z = Q1 Qs Qs+i qn Q в которой свободные члены bi (i=l, ... , m) удовлетворяют огра- ничениям
§ 2] ЗАДАЧА С ДВУСТОРОННИМИ ОГРАНИЧЕНИЯМИ 415 (для удобства будем ограничения зависимых переменных всегда отмечать звездочками). Аналогично п. 2 легко обосновать следую- щее правило для отыскания оптимального решения. 1. Просматриваем 2-строку, находим в ней отрицательный коэф- фициент, например qs<0, и столбец (s-й), содержащий этот коэф- фициент, берем разрешающим. Если же все коэффициенты 2-строки неотрицательны, то полученное опорное решение оптимально. 2. а) Отбираем все положительные коэффициенты s-ro разре- шающего столбца, делим на них соответствующие разности Ь.—af и обозначаем наименьшее из этих неотрицательных отношений через . bi “ а* Л = min —-------. bis>o bis б) Отбираем все отрицательные коэффициенты s-ro разрешаю- щего столбца, берем их с противоположными знаками, делим на них соответствующие разности 3? — bi и наименьшее из этих неотри- цательных отношений обозначаем через t2 в) Полагаем Z3 = — as. При этом если одно из чисел as или бесконечно и, кроме того, = — оо при всех bis > 0 и р* = оо при всех b.s < 0, то 2 неограничена сверху. 3. Определяем число £ = min{£1, t2, £3}. Тогда а) если = и достигается, например, на ^о5>О №05<0), то производим усложненный шаг модифицированного жорданова исключения с разрешающим элементом biQS, причем новую координату выводим на ее нижнюю (верхнюю) границу; б) если же t~tz, то выводим координату ys на ее верхнюю границу (т. е. заменяем у~ на у$ или наоборот). После конечного числа шагов мы либо найдем максимальное значение функции 2, либо убедимся в ее неограниченности. Пример. Найти максимум функции z = 4хг Х2 при ограничениях Л = — х2 + 1 >= О, у2 = 5xt — х2 — 5^0, 4 Уз = + 6 0, 4 Xi 0, — 1.
416 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Составляем таблицу СС* tO* II II II 1 1 1 — СП х 1 1 1 — 5 6 z = —4 — 1 0 и выводим переменные на границу. Для xt нижняя граница равна нулю, так что его просто заменяем на Выводим х2 также на нижнюю границу для более полной иллюстрации метода, хотя, оче- видно, выгоднее перевод его на верхнюю границу. Для этого умно- жаем столбец под х2 на а2 =— 1 и вычитаем из столбца свободных членов. Получаем таблицу (без двух последних столбцов) и присту- паем к отысканию опорного решения. 1) Сравниваем свободные члены а. с соответствующими af и Для этого в предыдущей таблице и во всех последующих вво- дим два дополнительных столбца для а. — af и для — а.. Во второй строке имеем а2 — а* = — 4<0и«21= — 5<0, так что первый столбец берем разрешающим. 2) Находим, далее, ± . ( ОО оо —3) б) <s — ппп| , _(_5) > —J — 3; в) <3 = 4. 3) Находим 4 < = min {<п <2, <3}=<1= у и производим с разрешающим элементом —5 усложненный шаг модифицированного жорданова исключения, причем у2 выводим на
§2] ЗАДАЧА С ДВУСТОРОННИМИ ОГРАНИЧЕНИЯМИ 417 нижнюю границу. Получим таблицу, которая после дополнения двумя столбцами, примет вид — У2 — А* 2 1 1 4 14 14 У1 = 5 5 5 5 со 1 _ 1 4 4 16 *1 = 5 5 5 5 5 ш 6 31 31 _ Н ы 5 5 5 5 4 9 11 z = 5 5 5 1) В третьей строке имеем ₽* — а3 =--^-<0. Выбираем в О этой строке положительный коэффициент, например и пер- О вый столбец берем в качестве разрешающего. 2) Находим . / -31 • 1 -Q1. a) — 5*5 — кч > • I 00 16 1 11/1 б) = 5} в) /3 = оо. 3) Определяем min {^, /2, М = Л, = 11. Производим усложненный шаг модифицированного жорданова исклю- чения с разрешающим элементом -i-, причем у3 выводим на верх- нюю границу. Для этого после обычного шага вычитаем из столбца свободных членов разрешающий столбец, помноженный на £* = 4, и умножаем затем разрешающий столбец на — 1. Получим (без последнего столбца) А?2 1 У1 = —1 2 5 со *1 = ЕЛ 1 3 1 У2 = -5 6 11 оо z = —4 3 И
418 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Сравнивая свободные члены с соответствующими af и pt, нахо- дим 0<5<со, 0<3<4 и 0<11<оо, т. е. опорное решение получено и можно приступить к отысканию оптимального ре- шения. 1) В г-строке содержится отрицательный коэффициент. Поэтому выбираем содержащий его первый столбец разрешающим, и так как для всех свободных членов имеем то дополняем последнюю таблицу лишь одним столбцом, в котором против поло- жительных элементов разрешающего столбца записываем разности а.—а?, а против отрицательных—разности р* — а.. Так как в раз- решающем столбце все коэффициенты отрицательны, то в дополни- тельном столбце будут только разности f а.. 2) Находим х . I ОО 1 СО ) , а) — тш|_( , _(—1) , _(_5) ) —1; б) if, = 4. 3) Находим t = min {t2, <3} = t2 == 1, так что а21 = —1—разрешающий элемент. После усложненного шага модифицированного жорданова исключения (причем выво- дится на верхнюю границу) получим (Напомним, что по усложненному шагу заменен в таблице на з?з, т. е. разрешающая (вторая) строка помножена на — 1 и к свободному члену —1 прибавлена верхняя граница ₽*==4.) 1) Выбираем второй столбец разрешающим (в 2-строке у нас — 1). Составляем дополнительный столбец, причем так как в раз- решающем столбце все элементы положительны, то и в дополни- тельном столбце все разности лишь вида а. — af. 2) Находим ч . (6 3 16) х а) = шш , -р -Л = 3; б) £3 = 4 (так как 0^X7 ^4). 3) Вычисляем t — min {^j, Z3} — tY = 3
§ 21 ЗАДАЧА С ДВУСТОРОННИМИ ОГРАНИЧЕНИЯМИ 419 и после усложненного шага модифицированного жорданова исклю- чения (с выведением у % на нижнюю границу) приходим к таблице Х1 ~Уз 1 5^1 = 2 —1 3 х2== — 1 1 2 У 2 = 6 —1 13 z = 3 1 18 Процесс окончен, так как все коэффициенты в z-строке не- отрицательны, а свободные члены удовлетворяют ограничениям aj5 р*. Положив л:+==0, у7 = 0, получим maxz=18, достигаемый при л:+ = 0, х2 = 2, или xt = 4, х2 = 2. 4. Двойственный симплекс-метод. Приведем теперь необхо- димые изменения в двойственном симплекс-методе для решения задачи (18) — (20). Начинаем с выведения координат на границу. Можно при этом также автоматически избавиться от отрицательных коэффициентов в z-строке. Для этого нужно вывести координату х.^ (v=l, ... , /г), расположенную над —pyv<0, на верхнюю границу, а остальные ... , jk) на нижнюю. Если же для x^(xj, ... , jk) не все pyv (а;) конечны, то либо исключаем свободную перемен- ную х^ (Xj), либо переводим ее на нижнюю (верхнюю) границу, если ayv (^у) конечны *). Затем избавляемся от отрицательных коэф- фициентов z-строки так, как в двойственном симплекс-методе для обычной задачи. Положим, что все ay, ру конечны, и после вывода координат на границу получена таблица — xt .. xs .. • xn 1 5^i = •• bls • bln Уг = •• brs .. • brn br , (24) Ут = bmi • • • bms . •• bmn bm Z = •• <ls • •• Qn Q *) Очевидно, и в обычном симплекс-методе при предваритель- ном выводе координат на границу стоит учитывать знаки коэффи- циентов z-строки.
420 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА в которой tySsO (у=1.......и). Правило для отыскания оптимального реше- ния. 1) Сравниваем свободные члены Ь. таблицы (24) с соответ- ствующими af и При этом могут быть три случая: а) а? bt (i = 1, ... , ту, б) Ъг < а*; В) Ъг > Р* В первом случае получено оптимальное решение Ху —0 (/=1, 2,... , п). Во втором (третьем) случае выбираем r-ю строку разре- шающей. 2) Рассматриваем неположительные (неотрицательные) отноше- ния коэффициентов z-строки к коэффициентам r-й строки и нахо- дим среди этих отношений наибольшее (наименьшее). Пусть это наибольшее (наименьшее) отношение достигается, например, для элемента brS < 0 (brs > 0). £ — а* / ?* — ь \ 3) Сравниваем отношение -------I----г—-1 с верхней грани- brs \ "rs / цей координаты xs. а) Если 3s а$ < fer-ar brs то переводим xs на верхнюю границу (при этом получим ^<0), а над r-й строкой повторяем действие 2, но не учитывая — brs, до тех пор, пока либо не придем к случаю б), либо не убедимся в не- совместности системы ограничений. б) Если же то производим усложненный шаг модифицированного жорданова исключения с разрешающим элементом brs, при этом координата уг переводится на нижнюю (верхнюю) границу. Легко проверить, что те #у, которые после действия За) стали отрицательными, после действия 36) станут снова положитель- ными. После конечного числа шагов либо получим оптимальное реше- ние» либо убедимся в несовместности системы ограничений.
§2] ЗАДАЧА С ДВУСТОРОННИМИ ОГРАНИЧЕНИЯМИ 421 Пример. Решим пример п. 3 двойственным симплекс-мето- дом. Начинаем с таблицы (стр. 416). — xt — х2 1 Уз = z = -1 1 -5 1 1 1 Так как оба коэффициента 2-строки неположительны, то вы- водим обе координаты на их верхние границы. Получим (без последних двух столбцов) — х$ — х£ 1 а. — af^f — а. 5^1 = 1 — 1 2 2 оо У2 = 5 —1 12 12 оо Уй = —1 н — 1 — 1 5 z = 4 1 19 Третью строку с отрицательной разностью я3— а| =— 1 выби- раем разрешающей, сравниваем неположительные отношения 4 —1 и -1 Второе больше, и поэтому коэффициент —1 из второго столбца — возможный разрешающий элемент. Верхней границей для координаты будет число 4. Так как 4>>—р то произво- дим усложненный шаг модифицированного жорданова исключения с разрешающим элементом —1. Получим таблицу (без последних двух столбцов) — xt — 1 а,— [5* — at ч ч ч to к> II II II о ю „ 1 L 3 13 2 3 оо 13 оо 3 1 2 = 3 1 18 Заполняем присоединенные к последней таблице два столбца,
422 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Поскольку все числа в них неотрицательны, то таблица оконча- тельная. Положив •4 = °> найдем max z = 18 и достигается при a:+ = 0, х2 — 2, т. е. при л\ = 4 л*2 = 2. § 3. ВТОРОЙ СПОСОБ ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ В отличие от изложенного в § 2 гл. II способа отыскания опорного решения задачи линейного программирования путем по- следовательного избавления от отрицательности в свободных чле- нах, приведем другой метод, в котором отыскание опорного реше- ния сводится к отысканию лишь оптимального решения некоторой вспомогательной задачи линейного программирования с уже извест- ным опорным ее решением. 1. Задание ограничений системой равенств. Пусть рассмат- ривается задача линейного программирования с целевой функцией z — 4“... -\-рпхг» (25) ограничениями-равенствами anXi + • • • + ainXn — at (I = 1, т) и неотрицательными переменными Xj^ О п), (26) (27) причем все свободные члены неотрицательны. Составим по усло- виям (26)—(27) следующую вспомогательную задачу линейного программирования: максимизировать линейную функцию т п т п h = S Qj anxi — а<) = ~ S ( 2 ач (- + ai) = i=lj=l i = l /=1 n = ^P'j(—Xj)+P' (28) при ограничениях-неравенствах п У] aijXj ^ai (Z = 1, ..., m) (29) и при (J=U •••> «)• . Справедливы следующие утверждения; 1) задача (28)—(29) всег- да имеет оптимальное опорное решение’, 2) если max h —0 при
§ 3] ВТОРОЙ СПОСОБ ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 423 условиях (29), то любое оптимальное опорное решение задачи (28)—(29) является опорным решением системы (26)—(27), и об- ратно; 3) если же max h < 0 при условиях (29), то система (26) — (27) противоречива. Доказательство. Утверждение 1) следует из существова- ния допустимого решения хг = ...= хп = 0 системы (29) (ведь я/^0!) и ограниченности сверху целевой функции (28) (Л=С0 для любого решения системы (29)). Утверждение 2) следует из того, что если х*— оптимальное опорное решение задачи (28)—(29) и п й(х*) = 0, то очевидно, aijx*j— ai~® (г = 1, ...» и (/=1, ..., п), т. е. х*— опорное решение системы (26)—(27); обратно, если х*— опорное решение (26)—(27), то х*— допустимое опорное решение системы (29) и h (х*) = 0 h (х) (так как Л(х)^О), следовательно, х*— оптимальное опорное решение задачи (28)—(29) (и шах Л = 0). Утверждение 3) следует из того, что h(x') = () для каждого решения х' системы (26)—(27), так что max h < 0 означает отсутствие решения, т. е. противоре- чивость системы (26)—(27). Таким образом, задача отыскания опорных решений системы (26)—(27) свелась к задаче отыскания оптимальных опорных реше- ний задачи (28)—(29), т. е. к последовательному преобразованию второй частью алгорифма симплекс-метода таблицы — Xi ... — хп 1 Л = ап а1П «1 Ут — ami атп ат h = Р'п Р' в которой все свободные члены неотрицательны. При перебрасы- вании любого у[ наверх таблицы столбец под ним вычеркивается (т. е. используется соответствующее равенство системы (26)). Заметим, наконец, что для отыскания оптимального реше- ния задачи (25)—(27) (а не только опорного) следует к таблице вспомогательной задачи приписать еще 2-строку (по целевой функ- ции (25)), которая преобразовывается вместе со всей таблицей. После получения решения вспомогательной задачи, в котором Л рав- но нулю, вычеркивают Л-строку и приступают к оптимизации, пусть, например, максимизации z (т. е. к избавлению от отрицательностей в коэффициентах 2-строки). Но предварительно надо проверить, не остались ли слева таблицы некоторые уь так как в случае вырож- дения может оказаться, что максимальное значение целевой функ- ции h равно нулю, хотя не все yi исключены из таблицы (соответ- ствующие свободные члены равны нулю). В этом случае выбираем
424 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА разрешающим любой отличный от нуля элемент в такой у г ft стро- ке, перебрасываем yi наверх и вычеркиваем столбец под ним (все свободные члены и значение целевой функции Л, очевидно, не из- менятся при этом). Если в рассматриваемой ^-й строке нет отлич- ных от нуля элементов, то эту строку вычеркиваем. Пример. Найти какое-нибудь опорное решение следующей линейной системы: xi —хзЧ~ а:4-|“А;5== 5, 2х.>-j-хз + 2х4 = 21, 2л*! — 2a%-J-x3 =12 (у=1, Составим вспомогательную задачу: максимизировать линейную функцию h = 3xt —р х% Зх^ —J— х§ — 38 при ограничениях-неравенствах л?1 ^зЧ~ х4~\- 2х2 —J- х§ -j- 2л*4 21, : : 12 2л* j — 2л‘2 -|-, хз и при */5=0 (/=!,•• В следующих таблицах приведено этой задачи: 5). последовательно решение — Х2 — Х3 — *4 Уг = III 0 —1 1 1 5 II II 0 2 2 1 — 2 1 2 0 0 0 21 12 —> Л = — 3 0 —1 — 3 — 1 — 38 х% — хз — *4 * II II 0 2 — 1 1 1 2 1 0 5 21 ~^8 = — 2 и — 2 — 2 2 —> Л = 0 — 4 0 2 — 23
§ 3] ВТОРОЙ СПОСОБ ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 425 *2 — — Х5 ь * * II II II 1 1 Со| Ю со| QO сс| Ю 1 си| to си| оо со| >— со| to сс| to Gob— 17 3 61 3 2 з’ см |со оо (со 1 оо |со 1 II _ 61 3 1 * * * II II II 1 <=> - - ч 1 1 to | — 4^1 — to| — 1 43 4 61 8 23 4 Л= 0 0 0 Из последней таблицы получаем Л=0, так что л:4 = .г5 = 0, 43 61 23 x1 = -^f x2 = -^-f х3 = ——опорное решение исходной системы. 2. Задание ограничений смешанной системой. Рассмотрим теперь задачу линейного программирования с целевой функцией z=PiXl + ...+pnxn, (30) ограничениями-неравенствами а/Л+ ••• + <»»№«£«/ («=1, (31) ограничениями-равенствами a,-iXi + ...4-a;„xn = a,- (i = г + 1, ..., т) (32) и неотрицательными переменными (/=!,..., и). (33) Свободные члены ограничений (32) можно считать неотрица- тельными. Если неотрицательны также все свободные члены огра- ничений (31), то опорные решения системы (31)—(33) и только они являются оптимальными опорными решениями следующей всегда разрешимой задачи линейного программирования', максими- зировать линейную функцию т п п >1= У CSiai/xj— ai)= У p’j (— xj)~\~P’ (34) Z=r-|-1 7=1 7=1 при ограничениях-неравенствах + + («=1....г), ) auXt+.-. + a^Xn^at (1 = г-{-1........tri) J и при *7^0 (7=1,..., и), (36) если max/z(x) = 0 при условиях (35)—(36). Если же max Л (х) < 0 при условиях (35)—(36), то система (31)—(33) противоречива.
426 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА ’1 Доказываются эти утверждения точно так же, как и соответ- ствующие утверждения п. 1. Следует отметить, что вычеркиваются столбцы под переброшенными наверх таблицы лишь при значе- ниях j = r + 1, ..., т. Рассмотрим, наконец, случай, когда среди свободных членов ограничений (31) есть отрицательные, например, ^<0, ..., а^<0 и | аг | = max { | 0/ | }. В этом случае введением дополнительной 1 i :< k неотрицательной переменной у п y = at— и почленного вычитания равенства п 2 a1/xj+y=al из каждого (начиная со второго) из ограничений (31) с отрицатель- ными свободными членами превратим все эти ограничения в огра- ничения-неравенства п 2 (ау— at j) Xj—y^ at — (i = 2...k) /=1 с неотрицательными свободными членами (/ = 2, ..., k) и в одно ограничение-равенство п — ^aijxj—y = —ai также с неотрицательным свободным членом, т. е. придем к слу- чаю, разобранному в начале этого пункта. Следовательно, спра- ведливо утверждение: опорные решения системы (31)—(33) и толь- ко они являются опорными оптимальными решениями следующей задачи: максимизировать линейную функцию т п п h=- 2 С jS aijXj У i = r+\ /=1 j = l при ограничениях-неравенствах n. — ^a4xi—ai, 1 n У! (aij—a^Xj—y^ai — ai (i = 2.......k), tl 2 atjXj (i = k + 1, ..., r), /=1 n У! aijxj (i = r +1......."0 /-1
§ 3] ВТОРОЙ СПОСОБ ОТЫСКАНИЯ ОПОРНОГО РЕШЕНИЯ 427 и при Xj^O 1, , п), если тъск h (х) = 0. Если же тахЛ(х)<0, то система (31)—(33) противоречива. Столбцы под переброшенными наверх таблицы уг и yi при i = r-|“ Ь •••> т вычеркиваются. Пример. Найти какое-нибудь опорное решение следующей системы: — х i — Зх2 — 4, — xt — х2 — 2, -— Зл*1 — л*2 — 3, *1 + *2<5, хг О, х2 0. Вспомогательной окажется задача максимизации линейной функции h = Xi Зх2 — у — 4 при ограничениях-неравенствах Xi + Зл:2 —у 4, 2х2—У ^2, — 2Xi-j-2x2—у 1, Xi 4- х2 5, и при Xi 0, х2 0, у 0. Следующие таблицы последовательно иллюстрируют решение задачи *2 — 1 — *2 —У 1 = И! 3 — 1 4 *1 = 3 — 1 4 5^2 = 0 2 — 1 2 У 2 = 2 — 1 2 У* = — 2 2 — 1 1 Уз = 8 — 3 9 Уь = 1 1 0 5 У 4 = — 2 1 1 h = — 1 — 3 1 — 4 h = 0 0 0 Из последней таблицы получаем оптимальное решение вспомо- гательной задачи: х2 = 0, у = 0, Xi — 4 и max h = 0, так что получено опорное решение ^ = 4, х2 = 0 исходной системы.
428 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА § 4. АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА В этом параграфе излагается алгорифм [34], сводящий решение некоторой «большой» задачи линейного программирования со спе- циальной структурой матрицы ограничений к решению ряда более простых задач небольшого объема. 1. Постановка задачи. Будем рассматривать следующую задачу линейного программирования: найти максимум линейной формы Hi nk 2 •••+5 ckjxkj~\- ••• + Scsjxsj (37) 7=1 7=1 7=1 при ограничениях-неравенствах "i nk ns У 1/Ч~~ ••• + aikjXkj-\~ ••• + У aisixsj^ai (38) 7=1 7=1 7=1 (*= L /fl), У biijX.j^ (Z=l, mJ, (390 /=1 nk ^bikjxkJ^bik (7 = 1, m*), 7=1 и при bisjXsj bis (‘ = 1> ms) (395) / *1/3=0 0=1,.... "i). (40,) 1 xkj 0 (7=1, .... «*), (40ft) 0 (7=1, -, »,)• (40,) , (40) Матрицу коэффициентов ограничений (38) обозначим через А, а матрицу коэффициентов aik; (i=l, т\ j = l, «/?) — через •••> «)• Ограничения (38) содержат все переменные задачи, а k-я (Л=1, s) группа ограничений (39) содержит лишь переменные Xki, *knk- Из-за такой структуры матрицы ограничений (38)— (39) задачу (37)—(40) называют блочной.
§ 4] АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 429 Некоторой заменой переменных, приведенной ниже, можно пре- образовать задачу (37)—(40) в другую задачу линейного програм- мирования, число ограничений которой меньше, чем в исходной, и равно лишь число же переменных Х^ преобразованной за- s дачи больше, чем в исходной, и равно где rk (k = 1, ...,s) — k=\ число опорных решений системы (39&)—(40^).Но это увеличение числа переменных не играет существенной роли, если решать задачу мо- дифицированным симплекс-методом. Матрица ограничений новой задачи не задана, но любой ее столбец соответствует некоторому опорному решению одной из систем (39^)—(40^) и может быть легко построен по этому опорному решению. Допустим сначала, что все свободные члены в ограничениях (38) неотрицательны: ai 0 (Z= 1, ..., т) и что каждый из многогран- ников Qk> определяемый системой (39^)—(40^), ограничен. Пусть rk — число вершин = ..., л?^) многогранника Qfc. Тогда, как известно, любая точка х^ = (^ь ^knk) мо- жет быть представлена в виде: rk xkz=z У] 7=1 т. е. rk xkj= S (7=1, .... nk\ 7=1 где rk ^kq==^ И (g=l, ..., rk). 7=1 Любая же точка x=(xt, ..., ..., х5) = (хи, ..., xm^ ... ..., xkl, ..., xknk, .... xsli ..., xsns), удовлетворяющая системе (39)—(40), очевидно, может быть представлена в виде: ri rk rs х=(S ............. IX’ ••• > 5 > 7 = 1 7=1 7 = 1 так что rk xkj = У х$ hq (ft=1...........s;/=l....»fe), (41) ?=1 где rk 2^=1 (Ze=l, ..., s); X^^O (/e=l, ..., s; g=l, ..., rA). 7=1 14 С. И. Зуховицкий, Л. И. Авдеева
430 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Подставив (41) в (38), получим: S S 4~ • • • 4- S aikJ 2 kQ 4“ * ’ * q=\ /=1 q=\ ns rs rl Л1 •••+ 2^/2 4'4= S(2 «ф4')4+-" /=1 9=1 9 = 1 /=1 rfe nk , Пз +2(2 «»,+#) +, + - + 2(2 »<««'}')l.,« 7=1 / = 1 7=l /=1 (Z= 1, ..., m). В векторной форме предыдущие неравенства запишутся так: n rk rs lai \ + - + 2^44 + - + 2^44^=; 7=1 7 = 1 7=1 ат' Аналогично, подставив (41) в линейную форму (37), получим «1 ”k rk 2 = S eV S xi;^174“ ••• + S x{kj^kq~V ••• / = 1 7 = 1 ;==1 9 = l ns rs 4" S °si 2 fl \q ~ /=1 7 = 1 4 rk rs = 2 ^17^174~••• 4~ Jjj dkq\kq-\-..<+ S ^sq^sqt 7==1 7 = 1 7 = ! где ni nk ns •••> ^kq = 2 CkjX^kp •••> ^S7 = 2 csjxsj* (43) /=1 /=1 /=1 Таким образом, выполнив по формулам (41) замену перемен- ных в задаче (37) — (40), мы преобразуехМ ее в задачу максимизации
§ 4] АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 431 линейной формы 5 rk 5 S d^4 (44) k=\ при ограничениях 5 rk S, S P^kq ai (' = 1............in), (45) = 1 7 = 1 2^=1 (*=1.....s) (46) 7=1 и при (/г=1, ^ = 1, r^). (47) Задача (44) — (47) имеет m-\-s ограничений (каждой системе ограничений (39^) соответствует лишь одно ограничение из (46)). Основная особенность этой задачи заключается в том, что коэф- фициенты ее целевой функции и элементы матрицы ограничений фактически неизвестны. Однако столбец коэффициентов при пе- ременной \kq соответствует некоторому опорному решению = = (*j$, ..., x^kn^ системы (39fe) — (40*) и легко определяется по формулам (42) — (43): первые т элементов (/ = 1, т) этого столбца, соответствующие ограничениям-неравенствам (45), образуют, согласно (42), столбец, равный произведению матрицы на х^\ следующие s элементов, соответствующие ограничениям- равенствам (46), равны нулю, за исключением (т-^^'Г0 элемента, равного единице; наконец, коэффициент d^q целевой функции (44), согласно (43), равен произведению строки (с^, с^) на х^\ Пусть теперь в ограничениях (38) есть отрицательные сво- бодные члены, например < 0, at < 0, и пусть] | = = max Следуя п. 2 § 3, введем дополнительную неотрица- 1 z < Z тельную переменную у и преобразуем (38) в следующую систему с неотрицательными свободными членами: nk S S — alkjxkj — у = — ait fe=l 7=1 s nk S 2 te*/— <hkj)xkj —y^ai — a, (Z = 2,...,/), k=\ /=1 s nk У aikjxkj ai k = l ; —I (i = Z-f" b ••• > zn)‘ 14
432 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Во избежании новых обозначений будем в дальнейшем вместо — alkj писать a^j (&=1, s; у == 1, nk), вместо —пи- сать вр вместо aikj—alkj- писать ащ (1 = 2, Z; Л=1, s; 7=1, ...» rik) и, наконец, вместо а/— писать аД/ = 2, Z), так что система (38) перейдет в систему s nk У ^ikjXkj—y = at, *=1 у = 1 $ nk У У aikjXkj — y^ai (i=z2,.. k= 1 j=\ (38') S nk 2 2 aikjxkj ai (/ = Z -|- 1, • Z? = l /=1 .., m), в которой все свободные члены неотрицательны. Приведенной выше заменой переменных преобразуем задачу (37) — (40), в которой (38) заменено на (38'), в задачу максимизации линейной формы rk z ~ 2 2 fe = l 7 = 1 при ограничениях rk S ^P^kq— У = <4, k = \7=1 S (« = 2, k=\ 7 = 1 5 rk k—\ 7=1 (i = Z4-l,..., m), rk 2 ^kQ = i 7=1 (* = l,...,s) и при ^7^0 (/г = 1, ?=1, ...,r*)> 3’^0. Преобразованную задачу будем решать модифицированным симплекс-методом.
§ 41 АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА — ВУЛФА 433 2. Алгорифм. Предварительный шаг. Составляем следующую «малую» таблицу размерности (ш —s —2) х -f-3): $ 0* —У* • •• —У™ т 0* .. . 0* — л* — Z* 1 0 = 1 0 0 0 .. . 0 0 0 У* = 0 1 0 0 .. . 0 0 0 «2 Ут = 0 0 1 0 .. . 0 0 0 ат (° = 0 0 0 1 .. . 0 0 0 1 s < • • • 1о = 0 0 0 0 .. . 1 0 0 1 h = 0 0 0 0 •• . 0 1 0 — S Z — 0 0 0 0 .. . 0 0 1 0 Если же в ограничениях (38) все свободные члены неотрица- тельны, то в новой задаче все первые т ограничений являются неравенствами, и малая таблица будет иметь вид: — У* ••• —У*т 0* ••• 0* ——г* 1 У1 = 1 0 0 0 0 0 01 Ут = 0 1 0 0 0 0 ат ( 0== 0 0 1 0 0 0 1 5 < ’ 0 = 0 0 0 1 0 0 1 h = 0 0 0 0 1 0 — S z = 0 0 0 0 0 1 0 Отыскание опорного решения. Общий шаг. Пусть на предыдущем шаге получена малая таблица, слева которой еще остались нули, и пусть Л-строка имеет вид: л= 51 5m ’ll ••• If 1 0 а причем а^О (это означает, что опорное решение еще не получено).
434 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА 1) Составляем и решаем s задач линейного программирования, /г-я из которых имеет вид: найти максимум линейной формы: k <51, Xkj = ;=i т aikj^i alkj i=l xkj при ограничениях (39fe) — (40^): nk fyki *ki ^ik G == L •••> ^Zfe)> J=l (j = 1, nk). (Если же в (38) было (i’ = l, т), то nk т ^ = —2 (S ^ikfii) Xk^' j=\ f = l Пусть = (x$, ..., ^kn.^ — решение /г-й задачи и max 2) Определяем число & по формуле: I b = max{ max {C|4-l —— 1, max {—^}| (или & = max| max {C|+l — ^}, max {— SJL если в (38) at 0 U k S liSZ^/П J (i=l, m)). Если при a^O, то система (38) — (40) несов- местна. Если же & > 0, то это означает, что опорное решение еще не получено и переходим к 3). 3) Восстанавливаем начальный вид столбца, который должен быть разрешающим. а) Если 8 = ^4-! — ^ и х^ = •••, 4’»^) ~ Решение /г0-й задачи, полученное в 1), то строим столбец (соответствующий переменной ^0^), первые т элементов которого вычисляем как произведение матрицы Ak^ на решение /г0-й задачи: laikoi ••• alfe0nfe0\ , (?) ................. \ xka\ ••• ................/\ y(<7) / \ ' kon/?t
§ 41 АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 435 Следующие s элементов—нули, за исключением k0)-roy рав- ного 1, a и (шs —|—2)-й элементы вычисляем со- ответственно по формулам: (или —d'k^q =—1, если в (38) было О (: = 1, ..., т)), п*0 =~ Zj CkQjX^kQj- /=1 I б) Если & = 2 т0 СТРОИМ столбец (соответствующий i= 1 переменной у>), в котором первые Z элементов равны — 1, осталь- ные равны нулю, за исключением (m + s-f- 1)-го, равного 1. в) Наконец, если В =— 6/, то искомый столбец (соответ- ствующий переменной у$ расположен в малой таблице. 4) Применяем модифицированный симплекс-метод, т. е. в слу- чаях За) и 36) умножаем матрицу малой таблицы предыдущего шага на столбец, построенный в 3), и полученный столбец-произ- ведение присоединяем к малой таблице в качестве разрешающего под —\koq (при За)) или под —у (при 36)). В случае же Зв) раз- решающим берем столбец, совпадающий со столбцом малой таб- лицы предыдущего шага, расположенным под —yfy и присоеди- няем его к этой малой таблице под —yi. Находим разрешающий элемент, производим шаг модифицированного жорданова исключе- ния, после чего разрешающий столбец отбрасываем. Повторяем общий шаг до тех пор, пока либо не получим а = шах Л = О, после чего переходим к отысканию оптимального решения, либо в 2) не получим В^О при а 7^ О, что свидетельст- вует о несовместности системы ограничений задачи (37) — (40). Отыскание оптимального решения. Пусть полу- чена малая таблица, в которой свободный член а в Л-строке равен нулю. Вычеркиваем из этой таблицы Л-строку и Л*-столбец. Пусть после этого 2-строка малой таблицы приняла вид: z= «1 ... ит ... vs 1 Q Общий шаг. 1) Решаем $ задач линейного программирования, из которых /г-я имеет вид: найти максимум линейной формы nk nk rn = U [ — S aikj“i + C*/] xkj
436 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА при ограничениях (39л) — (40*): nk У bikjXkj ^bik (i = 1, ..., mk) j=l и при ^^0 (7=1, ..., nk). Пусть х^ — (х$, ..., x^kn^—решение /г-й задачи и maxw/? = w^. 2) Определяем число & по формуле: I & = max| max — v.}, V uit max {— (или & = max { max — v,}, max {—nJ}, если в (38) было l^k^s R (Z = l, tn)). Если оказалось, что & > 0, то повторяем действия 3) — 4) об- щего шага отыскания опорного решения (конечно, не определяя элементов Л-строки (— Если же &=^0, то задача решена: maxz = Q и достигается в точке rk xkj = ^\9Х^ <* =1..........s; у = 1, ... ,nk), <? = L где ^kq либо записаны слева малой таблицы и равны соответст- вующим свободным членам, либо равны нулю, а х^ (j= 1, , п^) — решение /г-й задачи, по которому строился в 3) столбец под — \kq. Замечание 1. При отыскании опорного решения может оказаться, что тахЛ = 0 (<з = 0), но не все 0-уравнения исключены, т. е. слева малой таблицы останутся нули; конечно, свободные члены в этих 0-строках равны нулю. Тогда при отыскании опти- мального решения, определив разрешающий столбец, следует вы- бирать в нем разрешающий элемент из оставшейся 0-строки, если только он отличен от нуля. При этом ни свободные члены, ни зна- чение целевой функции z не изменятся, но число оставшихся 0-строк уменьшится. Если же все элементы на пересечении 0-строк и разрешающего столбца равны нулю, то разрешающий элемент выбирается по общему правилу. При этом свободные члены этих 0-строк по-прежнему будут нулями. После конечного числа шагов мы либо исключим все 0-уравнения и будем продол- жать решать задачу так, как указано в алгорифме, либо получим оптимальное решение при некоторых не исключенных 0-уравнениях, но со свободными членами, равными нулю, что удовлетворяет ус- ловию задачи. Замечание 2. Если при решении /г-й задачи в 1) получим, что целевая функция (или Сд) неограничена, то на луче, вдоль
§ 4] АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 437 которого wk —> оо, выбираем любую точку х$ = лишь бы только и поступаем с точкой х^ так, как выше с решением &-й задачи. Только в строящемся в действии 3) столбце все элементы от (т-|-1)-го до (/n-|-s)-ro будут равны нулю, т. е. столбец будет иметь вид: А о о \-^ I 3. Пример. Найти максимум линейной формы 2 — 2Хц — Зх 12 2х%1 ~|— Х22 при ограничениях-неравенствах — лги + 2хц — Х21 + Х22 == £ — 5, 2a^jj Х12 2^21 — Х22 ' £12, Х11 Х12 £—1, —2хи+ £4, 2Хц -|- £6, ^21 — Х22* £5, —^21Ч- 4a*22 7 и при АГц 0, ATjg ^5- 0, X2i О, А722 0. Система ограничений содержит два блока ($ = 2), число огра- ничений, охватывающих все переменные, также равно 2 (т = 2). Предварительный шаг. Первое среди ограничений, охватывающих все переменные, содержит отрицательный свободный член (ах = = — 5<0). Введем переменную у, так что первое ограничение примет вид: Хц 2x^2 “4“ Х21 Х22 —У== 5. Матрица А имеет вид /1—2 1 —1\ А~ \2 —1 —2 —1/’
438 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Составим малую таблицу размерности 6x7 (без последнего столбца): 0* —у1 0* 0* —й* —Z* 1 -Х21 0 = 1 0 0 0 0 0 5 5 У 2 = 0 1 0 0 0 0 12 — 10 0 = 0 0 1 0 0 0 1 0 0=3 0 0 0 1 0 0 1 Ш й = 0 0 0 0 1 0 —7 —6 z = 0 0 0 0 0 1 0 10 Первый шаг. Из й-строки малой таблицы имеем 51 = ^ = Ъ Ъ = 0, а = —7 ф 0. 1) Составляем и решаем две задачи. Первая задача: найти максимум линейной формы Ci = хи 2х12 при ограничениях Х11 xi2 Ь --^Х11Ч~Х12 4, 2х U Х12 в и при ХЦ 2^ 6, Х12 2^ 6. Решив эту задачу, получим шах = С* = 3; он достигается в точке (х^/, хр2>) = (3, 0). Вторая задача: найти максимум линейной формы С g X g । X 2 2 при ограничениях x2i х22 <== 5, —Х21 Ч~ 4х22 7 и при X2i 0, Х22 2^ 0. Решение второй задачи: х£’ = 5, х^2' = 0 и шах С2 — С* = 5. 2) Определяем b = max{Q+l—тн; С2*+1— ^ — 1; -Ч2} = = max {4, 6, —1, 0} =6.
§ 4] АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 439 3) Восстанавливаем начальный вид столбца, который должен быть разрешающим. Так как & = — ig2, то искомый столбец расположен под переменной Х21 и 1-1W5W 5'i W7 2 \*Й7 2—1До/ Ю/ Третий элемент этого столбца — нуль, четвертый — единица. Для пятого и шестого элементов получим: -rf;1 = -(p<V + i) = -6> /5\ -rfsl=-(-2, l)(J = +10. Таким образом, построен столбец: I 5\ —10 о 1 — 6 \ ю/ 4) Построенный столбец ввиду того, что шаг — первый (и матрица, на которую его следует помножить, — единичная), будет разрешающим. Присоединяем его к малой таблице (см. предыдущую малую таблицу) и, произведя шаг модифицированного жорданова исключения, получаем (без последнего столбца): 0* —у* 0* 0* —Л* —2* 1 —^11 0 = 1 0 0 —5 0 0 0 0 1 0 10 0 0 22 6 0 = 0 0 1 0 0 0 1 1 Х21= 0 0 0 1 0 0 1 0 h = 0 0 0 6 1 0 —1 —4 z = 0 0 0 — 10 0 1 —10 -6 Второй шаг: = $2 = = 0, т]2 = 6. 1) Обе задачи те же, что и в первом шаге. 2) 5 = таХ{С* + 1—тц, С* + 1 — ъ, ^-1, -Ч2} = = тах{4, 0, —1, 0} = 4 = Cfj-[- 1 — тц. 3) Разрешающим должен быть столбец под Хп:
440 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Искомым будет столбец: / 3\ 6 1 0 • —4. \—6/ 4) Умножив матрицу предыдущей малой таблицы на построен- ный столбец, получаем столбец, присоединенный справа к этой малой таблице. Выполнив 4), получаем (без последнего столбца): 0* —У* 0* 0* —л* —Z* 1 ^22 Хи — 1 3 0 0 _ 5_ 3 0 0 0 £ ' 4 —2 1 0 20 0 0 22 87 4 0 = 1 3 0 1 5 3 0 0 1 9 4 Х21 = 0 0 р 1 0 0 1 1 4 3 0 0 3 1 0 —1 9 ’ 4 Z — 2 0 0 —20 0 1 —10 — . 101 4 4 2 Третий шаг: = —, $2 = 0, ^ = 0, ^2 = — т* о о 1) Первая задача с целевой функцией: 1 . 2 Ci -- Хц “Т“ **42 ’ / 1 \ 19 имеет решение (xff, xi22)) = (y, 51, при котором = Во второй задаче целевая функция такова: 1 ,1 ц — —з” *^21 ' "з" *^22 и решение задачи: (хй>, хД’) = ^0, при котором = 2) 8 = max 1-0, у-1, о} =
§ 4] АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 441 3) Построенный столбец имеет вид: \ 4 4) Умножив матрицу предыдущей малой таблицы на столбец, построенный в 3), получим столбец, присоединенный к ней под—Х22. После шага модифицированного жорданова исключения получаем 0* —у* 0* 0* —л* —Z* 1 ^23 Хн — 0 0 1 0 0 0 1 0 и 87 35 37 35 У2 = 9 1 — 9 9 0 0 3 9 1 __4 Л 4 20 п Л 4 20 ^22 27 и 9 27 и и 9 27 4 л 4 7 Л 5 7 ^21 == 27 и — 9 27 и и 9 27 1 0 1 1 1 0 0 47 л 101 35 Л 1 И 35 z = 27 и 9 27 и 1 9 ‘27 из которой следует max Л = 0, так что получено опорное решение. Вычеркиваем Л-строку и Л*-столбец и переходим к отысканию оптимального решения. Первый шаг. Из z-строки имеем 47 А 101 35 «i— 27» °’ ^1— g , ^2— 27* 1) Целевая функция первой задачи: _ 101 __175 — 27 Xli 27" Х™ и решение ее: (xi3), = (3, 0); при этом wf = 101/9.
442 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Целевая функция второй задачи: _ 1_ - _20 27 *^21 27 и решение ее: (х^, ^’) = (0, 0); при этом w^ = 0. ох * I101 101 а . 35 47 j 35 2) 8 = max 1^-—,0 + ^, -27)0} = 2Y = w*-i,, 3) Разрешающим должен быть столбец под —Х23. Строим его начальный вид: так что получаем: 0\ 0 1 0 1 / 0/ 4) Умножив на этот столбец матрицу предыдущей малой та- блицы (без Л-строки и Л*-столбца), получим столбец, присоединен- ный к этой малой таблице, и после шага модифицированного жорданова исключения придем к таблице: 0* —у1 0* 0* —2* 1 — 0 0 1 0 0 1 у2 = 2 1 -12 0 0 10 1 3 3 ^23 = “У 0 У 1 0 У 1 з 2 X2i = У 0 “У 0 0 У z = —2 0 12 0 1 2 Второй шаг: — 2, u2 = 0, = 12, t/2 = 0. 1) Целевая функция первой задачи: w1 = 4x11 — 7х12, max —12 и достигается в точке (3, 0). Целевая функция второй задачи: = х22, maxa>2 = 0 и достигается в точке (0, 0). 2) Ь = тах{12—12, 0 — 0, —2, 0} = 0, и задача решена.
§ 4] АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 443 Из последней малой таблицы получаем: 2 3 Хп = 1, хзз = у и тах2==2 Решением исходной задачи будет; хи — а*12 = ; так что хп = 1 -3 = 3, х12 = 1 • 0 = 0, Х21 ~Ь ^зз-^зп *^22 [ ^28'^2sA х21=-|.5 + ~0 = 2, л-.22=4-о+1~-о=о- О о 4. Обоснование. Правило построения любого столбца р^\ соответствующего уже было разъяснено в п. 1 (формула (42)). Перейдем к обоснованию отыскания оптимального решения. Для этого достаточно обосновать правило отыскания разрешающего столбца, т. е. правило отыскания нужного опорного решения какой- либо из систем (39л)—(40й). Запишем по общим правилам задачу, двойственную к задаче (44)—(47). Прямая задача Двойственная задача Максимизировать rk z — 2 5 k = \ 7=1 при ограничениях-неравенствах s rk k=\ 7=1 (/ = 1, , m), при ограничениях-равенствах rk 2 4=1 (k = \,...,S), 7=1 при несвободных переменных (/e=i, •••’ rk). Минимизировать т s ф = 2 а,-а,-+ У vk 1 = 1 fe=l при несвободных переменных Ui > 0 (i = 1, ..., т), при свободных переменных (k — 1, ..., S), при ограничениях-неравенствах т 5 Ри? ui + vk^dkq i= 1 (fe= 1, .... s; 9 = 1 rk).
444 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Допустим, что обе задачи решались обычным симплекс- методом й найдено некоторое опорное (но не оптимальное!) ре- шение задачи (44)—(47). Тогда из сдвоенной таблицы можно опре- делить некоторые значения двойственных переменных щ (Z=l, ... tn) и (/г==1, ..., s), положив, как обычно, переменные, рас- положенные слева таблицы, равными нулю, а сверху — равными элементам 2-строки. Эти значения переменных не будут удовлет- ворять условиям двойственной задачи, но вместе со значениями переменных прямой задачи, определенными из той же таблицы, будут удовлетворять условиям дополняющей нежесткости (см. гл. II, § 7, п. 5): « rk (<Н — «i = ° (<=!>•••> и), <48> Х*? (S + — dkq) = 0 (?==1, •••, rk; k= 1, s). j = 1 Допустим теперь, что излагаемым алгорифмом (а не обычным симплекс-методом) получено опорное решение задачи (44)—(47). Тогда элементами 2-строки малой таблицы и будут приведен- ные выше значения переменных (i=l, ..., m), Vk ..., s). Действительно, при реализации модифицированного симплекс- метода мы всю информацию о столбце, который был бы располо- rk жен в таблице под некоторыми yi =— У ^p'&hq + ai (или 0) k = \ 7=1 (следовательно, этот (или 0) отсутствует слева малой таблицы), имеем в малой таблице под соответствующим у* (или 0*), так что значение двойственной переменной щ (или ^), соответствующей этому yi (или 0), равно Z-му ((/п4~^)‘мУ) элементу 2-строки. Если же yi (или 0) стоит слева малой таблицы, то и и/ (или расположен слева и его надо считать равным нулю. Коэффициент же 2-строки, расположенный в столбце под —yf (или 0*), тоже будет равен нулю. Имея значения двойственных переменных, мы можем опреде- лить, какое из двойственных ограничений не выполняется, т. е. либо Щ<0, (49) либо т У P<lVui + vk<dkq- (50) «==1 Это равносильно тому, что при обычном симплекс-методе в сдвоен- m < ной таблице переменная щ или Pikui~{~vk— d^q ока- i = 1 залась наверху, и на пересечении 2-строки и столбца под этой
§ 4] АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА — ВУЛФА 445 переменной стоит . отрицательный коэффициент, так что такой столбец должен быть разрешающим. Возвращаясь к нашей задаче, замечаем, что разрешающим следует искать столбец, для которого имеет место (49) или (50). Отыскать столбец, который соответст- вует условию Н/<0, можно по малой таблице (см. Зв)). Для полу- чения правила отыскания столбца, соответствующего (50), пре- образуем это неравенство с помощью (42) и (43); получим: т nk nk Ё (Ё ui+vk — Ё сых<$ <0 /=1 ; = 1 /=1 ИЛИ nk т У (— У OikjUi + Ckj) X^J> — vk > 0, (50') так что для отыскания разрешающего столбца надо определить такую вершину х$ £ Q&, в которой имеет место (50). А для этого достаточно решить задачу максимизации линейной формы nk гп У (— У aikjUi + ckj\xkj /=1 i=l при ограничениях (39^)— (40^). Следовательно, решая в 1) за- дачу линейного программирования, мы отыскиваем нужную вер- шину для построения разрешающего столбца, а вычисляя в 2) max {w% — vk}> мы определяем, существует (шах — ^}>0) или не существует (max {w| — vk}^ty столбец, для которого 1 имеет место (50). Теперь уже ясно, что условие 5^0, где & = max{ max {w? — vb}, max {— означает, что значения щ (/=1, m), Vk (k = 1,,.. , s) удовлетворяют ограничениям двойственной задачи. А так как значения переменных щ, Vk и \kq удовлетворяют условиям (48), то при заключаем, что найдено оптимальное решение. Заметим, что решение в 1) всех s задач необходимо лишь для того, чтобы убедиться в оптимальности решения предыдущего ша- га. Если же для некоторой из этих задач получено — vk > 0, то можно остальные уже не решать, & не определять, а по реше- нию х$ этой задачи строить столбец под Более того, не обя- зательно решать в 1) задачу до получения оптимального решения. Если уже в некотором опорном решении х$ будет wk (х^) — — ^>0, то на этом 1) можно закончить, 2) не производить и по х$ строить разрешающий столбец.
446 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Перейдем теперь к обоснованию алгорифма для отыскания опорного решения. Как указывалось в § 3, отыскание опорного решения смешанной системы с неотрицательными свободными членами сводится к отысканию оптимального решения вспомога- тельной задачи, целевая функция которой есть сумма левых частей всех 0-уравнений. Если 0 (f = 1,..., т), то вспомогательная задача для системы (45) — (47) и ее двойственная запишутся так: Прямая (вспомогательная) задача Двойственная задача Максимизировать rk *=2 2 k=\7=1 при ограничениях-неравенствах •s rk 2 2 P(iklkq^ а,- («= 1,• •, т), k=\7=1 rk 2 (й=1, ..., S) 7=1 и при несвободных переменных *kq 5= 0 (k =1,. г*) Минимизировать т s ф= 2 а&+ 2 ’i*—s i = \ /?=1 при несвободных переменных (Z=l, ... , 772), (k = 1.......s) и при ограничениях-неравенствах т 7=1 (й=1, ... , s; q= 1, ... , rft) В алгорифме мы отыскиваем опорное решение задачи (44) — (47), отыскивая оптимальное решение вспомогательной задачи, так что эти действия фактически уже обоснованы. Некоторые из- менения в алгорифме вызваны лишь видом целевой функции Л, коэффициенты dkq которой равны 1 и не зависят от х^\ Поэтому максимизируемые в 1) целевые функции имеют вид: nk т £/? — 2 ( У] aikfci) xkp j=\ i=\ а для отыскания разрешающего столбца надо рассматривать выра- жение + 1—(см- ограничения двойственной задачи), так что S определяется по формуле: Ь = max { max {СЦ-1—max {—£/}}. I k s 1 i т
§ 41 АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 447 Вообще говоря, при вычислении & следовало бы учитывать еще max {—так как, согласно условиям двойственной задачи, 1 =< k^S должно быть: (k=\, ... , s). Но как указывалось, ^ = 0, rk если 0 (или j;w+fe), соответствующий неравенству ^kq^\> q=\ находится слева малой таблицы, и если соответствую- щий 0 Qym+/?) исключен, а тогда можно считать, что неравенство перешло в равенство (и им останется) и — свободная перемен- ная. Таким образом, либо удовлетворяет условию неотрицатель- ности, либо Tik свободна и поэтому при определении & знак т]Л(/г=1, ... , s) не надо учитывать. Алгорифм полностью обоснован в рассмотренном случае не- отрицательных свободных членов. Пусть теперь в (38) имело место: ах с 0, ... , at < 0 и | | = шах {| |}. Произведя тогда преобразования, указанные в предварительном шаге, и соответствующую замену коэффициентов, мы получаем вместо (38) ограничения (38') уже с неотрицательными свободными членами. Воспользовавшись затем формулами (41), (42), (43), аналогично предыдущему, мы придем к следующей паре задач: Прямая задача Двойственная задача Максимизировать s rk z ~ 2 ^kq^-kq k=l7=1 при ограничении-равенстве 5 rk S S Pl^kq— У = а1> k=1q=1 при ограничениях-неравенствах 5 rk S 5 P^kq— k — 1 q = 1 •s rk S S P^kq <4 /2=1 7=1 (/ = Z+ 1, ... , m), Минимизировать m s Ф = У № + 2 vk i = 1 k = 1 при свободной переменной «1 i! 0, при несвободных переменных щ 0 (/ = 2, ... , /л),
448 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА Прямая задача Двойственная задача при ограничениях-равенствах rk 2 <fe=i s), ?=• при несвободных переменных = 1,.... s;g = l,...,rft), при свободных переменных Vk 0 (k— 1, ... , s), при ограничениях-неравенствах У p\kui+vt dkq i= 1 (Л=1, ... , s; q=\ г*), - i h/^o. i=\ По сравнению с задачей, двойственной в этой двойственной задаче появилось новое к задаче (44) — (47), ограничение I - 5 > О i=\ и условие, что их—свободная переменная, поэтому и В в этом случае при отыскании оптимального решения имеет вид: 5 — max I шах wk—vk}’ 2“» Ограничение I У, Ui-<0 i = \ соответствует столбцу под у (см. 36)), составленному из — 1 в 1-й, ... , Z-й строках и из нулей в остальных строках. Что же касается отыскания опорного решения, то вспомогательная задача в этом случае и ее двойственная имеют вид:
§ 41 АЛГОРИФМ. РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 449 Прямая задача Двойственная задача Максимизировать У 2 P{\k^kq—y+ 2 Jj ^kq — fe=l?=l k=\ q=\ Минимизировать tn s — at — s='£t 2 (/f + 1) 4q— У— /? = 1 7=1 5 rk -<h — s=2 5 d'kq4q— y-at-s k = \ 7=1 при ограничениях-неравенствах =У «&+ У is—ai—s i=l *=1 при несвободных перемен- ных •s rk У У P^kq — y^ai O’ = l> • 0, k=17=1 5 rk S У! p\^kq ^ai (i == / + 1, ... , «), A=1 ?=1 rk Ё 4^' (*=i s)> 7= 1 при несвободных переменных 0 (i=l, ... , m)t 7)й^0 (k— 1 s), при ограничениях-неравен- ствах т (k= 1, ... , s; q=\, , rk), ^p№i+-4k^d'k<r i= 1 (*=1 s; ?=l,...,rft), - i] ег^-1. Z = 1 Коэффициенты d'kq целевой функции h равны nk ^kq —P^k 4“ 1 ~ alkj^kj + 1;
450 ДОПОЛНЕНИЕ. ВАРИАНТЫ СИМПЛЕКС-МЕТОДА поэтому для Ck получаем: nk т aikfii "F alkj} xkj j=\ i=l и для отыскания разрешающего столбца следует рассматривать ве- личины Cfc-pl—^k. Далее в двойственной задаче появилось новое I ограничение — —1, так что для & получаем 1=1 I 8 = max{ max {q+ 1 — 1, max {— Ч < & $ "j ' 2 < i < т J Алгорифм полностью обоснован. 5. Другие способы задания ограничений. Алгорифм легко приспособить к случаю, когда ограничения задачи, охватывающие все переменные, являются ограничениями-равенствами: s nk aikjXkj= ai (Z == 1, ••• , w), (38”) *=1 /=1 причем можно считать, что at 0 (i=l, ... , in). В преобразованной задаче соответствующие ограничения тоже будут ограничениями-равенствами: s rfe Ё 1] P<iT)-kq = ai (*—1......т). (45') *=1 д = 1 Поэтому, во-первых, двойственные переменные П/ (Z = 1, ... , т) будут свободны, во-вторых, во вспомогательной задаче целевая функция h будет суммой левых частей всех 0-уравнений, т.е. т s r k S rk т л=Ё (Ё Ё Ё Ё — Ё а~s = i=l fe = 17=l k=\q=\ г=1 s rk m “ Jj S d'kq^kq 2 3 = fe=l 7 = 1 i = l s rk nk m m = Ё Ё [Ё (Ё 4V+4 Ё ai —s- * = 17 = 1 /=1 /=1 f=l На основании этого в алгорифм надо внести следующие из- менения.
§ 4] АЛГОРИФМ РАЗЛОЖЕНИЯ ДАНЦИГА - ВУЛФА 451 Максимизируемые в 1) при отыскании опорного решения функ- ции С/г имеют вид: nk т т ( 2 “Ь У aikj) xkj ;=1 i=\ i=l л/г m (так как d'kq = atkjX^- + 1). /= 1 ‘ =1 Далее о при отыскании опорного решения будет определяться теперь по формуле: 6= max {^4-1—1)*}, 1 <k<s а при отыскании оптимального решения — по формуле: b= max {w^j — vk}. k^s В остальном алгорифм остается без изменений. Заметим, наконец, что описанный в этом параграфе алгорифм может быть приспособлен и для решения задачи линейного про- граммирования, когда ограничения вида (38) состоят из равенств и неравенств.
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 1. Барсов А. С., а) Что такое линейное программирование, Физматгиз, 1959. б) Линейное программирование в технико-экономических задачах, «Наука», 1964. 2. Булавский В. А., Рубинштейн Г. Ш., О решении за- дачи выпуклого программирования с линейными ограничениями методом последовательного улучшения допустимого вектора, ДАН СССР 150, № 2 (1963), 231 —234. 3. Г а в у р и н М. К., Рубинштейн Г. Ш., Сурин С. С., Об оптимальном использовании производственных средств при выполнении нескольких видов работ (обобщенная транспортная задача), АН СССР, Сибирское отделение, экономико-математи- ческая серия, вып. 1 (1962), 7—34. 4. Гасс С., Линейное программирование, Физматгиз, 1961. 5. Гейл Д., Теория! линейных экономических моделей, ИЛ, 1963. 6. Гольштейн Е. Г., а) Об одном классе нелинейных экстре- мальных задач, ДАН СССР 133, № 3 (1960), 507 — 510. б) Двойственные задачи выпуклого программирования, Эко- номика и математические методы, № 3 (1965), 410—425. 7. Демьянов В. Ф., Рубинов А. М., К задаче о миними- зации гладкого функционала при выпуклых ограничениях, ДАН СССР 160, № 1 (1965), 15 — 17. 8. Деннис Дж. Б., Математическое программирование и электри- ческие цепи, ИЛ, 1961. .9. Зойтендейк Г., Методы возможных направлений, ИЛ, 1963. 10. 3 у х о в и ц к и й С. И., а) О новой численной схеме алгорифма для чебышевского приближения несовместной системы линей- ных уравнений, ДАН СССР 139, № 3 (1961), 534 — 537 (см. также ДАН СССР 79, № 4 (1951), 561 —564). б) О приближении несовместной системы линейных урав- нений по принципу минимизации суммы модулей всех уклоне- ний, ДАН СССР 143, № 5 (1962), 1030— 1033 (см. также Жур- нал вычисл. матем. и матем. физики 3, № 3, 599 — 605). в) Алгорифм для вщшукання точки, що найменш вщхиляэться (в розумшш П. Л. Чебишова) вщ даннот системи т точок, ДоповШ АН УРСР, № 6 (1951), 404 — 407 (см. также Haynoei записки Луцького пед. шституту 1 (1953), 3—23). 11. 3 у х о в и ц к и й С. И., Л е й ф м а н Л. Я., О вычислительной схеме одного алгорифма для выпуклого квадратичного про-
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 453 граммирования, Сиб. отд. АН СССР, Новосибирск, 1962 (рота- принт). 12. 3 у х о в и ц к и й С. И., Поляк Р. А., П р и м а к М. Е., а) Алгорифм для решения задачи выпуклого чебышевского при- ближения, ДАН СССР 151, № 1 (1963), 27 — 30. б) Алгорифм для решения задачи выпуклого программиро- вания, ДАН СССР 153, № 5 (1963), 991 — 994. 13. 3 у хов и цк ий С. И., Радчик И. А., Математические ме- тоды сетевого планирования, «Наука», 1965. 14. Канторович Л. В., а) Математические методы в организа- ции и планировании производства, Изд. ЛГУ, 1939. б) Об одном эффективном методе решения некоторых классов экстремальных проблем, ДАН СССР 28, № 3 (1940), 212 — 215. в) Экономический расчет наилучшего использования ре- сурсов, Изд. АН СССР, 1959. 15. К а н т о р о в и ч Л. В., Г а в у р и н М. К., Применение матема- тических методов в вопросах анализа грузопотоков, Сб. «Про- блемы повышения эффективности работы транспорта», Изд. АН СССР, 1949, 110— 138. 16. К а р л и н С., Математические методы в теории игр, програм- мировании и экономике, «Мир», 1964. 17. Левин А. Ю., Об одном алгоритме минимизации выпуклых функций, ДАН СССР 160, № 6 (1965), 1244— 1247. 18. Л у р ь е А. Л., Алгорифм решения транспортной задачи путем приближения условно-оптимальными планами, Труды научного совещания о применении математических методов в экономи- ческих исследованиях и планировании, т. IV, Изд. АН СССР, 1961. 19. Мак-Кинси Дж., Введение в теорию игр, Физматгиз, 1960. 20. Марков В. А., О функциях, наименее уклоняющихся от нуля в данном промежутке, СПб., 1892. 21. Миха лев и ч В. С., Шор Н. 3., Математические методы решения некоторых задач размещения, Сб. статей «Применение математики при размещении производительных сил», «Наука», 1964. 22. Олейник Ю. А., а) Решение задачи о транспортировке на ЭВМ методом приближения условно-оптимальными планами, Изд. АН СССР, Вычислительный центр, 1960. б) Автореферат, 1965. 23. Пшеничный Б. Н., Принцип двойственности в задачах вы- пуклого программирования, Журнал вычисл. матем. и матем. физики 5, № 1, 1965, 98— 106. 24. Сборник статей под редакцией Куна и Таккера, Линейные не- равенства и смежные вопросы, ИЛ, 1959. 25. Хоанг Туй, Вогнутое программирование при линейных огра- ничениях, ДАН СССР 159, № 1 (1964), 32 — 35. 26. Ш к у р б а В. В., Одна общая задача линейного программиро- вания, Научно-методические материалы экономико-математи- ческого семинара, вып. 1, ЛЭМИ АН СССР и ВЦ АН УССР, 1962 (ротапринт).
454 ЦИТИРОВАННАЯ ЛИТЕРАТУРА 27. Э р р о у К. Дж., Г у р в и ц Л., У д з а в а X., Исследования по линейному и нелинейному программированию, ИЛ, 1962. 28. Юдин Д. Б., Гольштейн Е. Г., а) Задачи и методы линей- ного программирования, «Советское радио», 1961. б) Задачи и методы линейного программирования, «Совет- ское радио», 1964. в) Линейное программирование, Физматгиз, 1963. 29. Charnes A., Optimality and degeneration in linear program- ming, Econometrica 20 (1952), 160—170. 30. D antzig G. B., a) Programming of interdependent activities, Mathematical model, Econometrica 17 (1949), 200—211. 6) Maximization of a linear function of variables subject to linear inequalities, Activity analysis of production and allocation, ed. T. C. Koopmans, Cowles Commission Monograph 13 Wiley, New York, 1951, p. 339—347. в) Application of the simplex method to a transportation problem, Activity analysis of production and allocation, ed. T. C. Koopmans, Cowles Commission Monograph 13 Wiley, New York, 1951, p. 359—373. r) A proof of the equivalence of the programming problem and the Game problem, Activity analysis of production and alloca- tion, ed. T. C. Koopmans, Cowles Commission Monograph 13 Wiley, New York, 1951, p. 330—335. д) Computational Algorithm of the Revised Simplex Method, The Rand Corporation, Santa Monica, Calif., RM-1266, 26 October, 1953. 31. D a n t z i g G. В., О r d e n A. A., Duality theorems, RAND Report RM-1265, The RAND Corporation, Santa Monica, Calif., October, 1953. 32. D a n t z i g G. В., О r d e n A. A., W о 1 f e P., Generalized simp- lex method for minimizing a linear form under linear inequality restraints, Pacific. J. Math. 5 (1955), № 2, 183—195. 33. D a n t z i g G. В., О r c h a r d-H ays W., The product form for the inverse in the simplex method, Math., Tables Aids Comp. 8 (1954), 64—67. 34. D a n t z i g G. B., W о 1 f e Ph., The decomposition algorithm for linear programs, Econometrica 29, № 4 (1961), 767—778 (русский перевод: Алгорифм разложения для задач линейного програм- мирования, «Математика» № 1, 1964, 151 — 160). 35. Е g е г v а г у Е., ' Matrixok combinatorius tulajdon-sagairol, Mat. Fiz. Lapok 38 (1931), 16—28. 36. F a r k a s J., Theorie der einfachen Ungleichungen, J. reine und angew. Math. 124 (1902), 1—27. 37. F о r d L. R., Network flow theory, RAND Corp, paper, 1956. 38. Ford L R., Fulkerson D. R., a) Maximal flow through a network, Canad. J. Math. 8, 1956, 399—404. 6) A simple algorithm for finding maximal network flows and an application to the Hitchcock problem. 39. F r a n k M., W о 1 f e Ph., An Algorithm for Quadratic Program- ming, Nav. Res. Log. Quart. 3 (1956), 95—110.
ЦИТИРОВАННАЯ ЛИТЕРАТУРА 455 40. GomoryR. Е., a) Outline of an algorithm for integer solutions to linear programms, Bull. Amer. Math. Soc. 64 (1958), № 5, 275 — 278. 6) An algorithm for integer solutions to linear programms (mimeographed). Prinston-IBM Math. Res. Project, Technical Report 1 (1958). 41. Go mor у R. E., Ba u mol W. J., Integer programming and pri- cing, Econometrica 28, № 23 (1960), 521—550. 42. Gomory R. E., Hoffman A. J., On the convergence of an integer-programming process, Naval. Res. Logist. Quart. 10, № 2 (1963), 121 — 123. 43. Kelley J. E., The Cutting-Plane method for Solving Convex Programs. J. Soc. Industr. Appl. Math., vol. 8, № 4, December 1960, 703 — 712. 44. Kuhn H. W., The Hungarian method for solving the assignment problem, Naval. Res. Logist. Quart. 2 (1955), 83 — 97. 45. К u h n H. W., Tucker A. W., Nonlinear Programming, in: «Proceedings of the Second Berkeley Symposium on Mathemati- cal Statistics and Probability», Berkeley, Calif., 1950, 481 —492. 46. Lemke С. E., The dual method of solving the linear program- ming problem, Naval. Res. Logist. Quart. 1 (1954), 36—47. 47. M a n g a s a r i a n O. L., Duality in nonlinear programming, «Quart. Appl. Math.» 20, № 3, 1962, 300 — 302. 48. M u n к r e s J., Algorithms for the assignment and transportation problems, J. Soc. Industr. Appl. Math. 5 (1957), 32—38. 49. Neumann J. von, A certain zero-sum two person game equiva- lent to the optimal assignment problem, Annals of Math. Studies 28 (1953), 5— 12. 50. R о s e n J. B., The gradient projection method for nonlinear programming, part I, Linear Constraints, J. Soc. Indust. Appl. Math. 8, No. 1, 1960; part II, Nonlinear Constraints, J. Soc. Indust. Appl. Math. 9, № 4, 1961. 51. S t i e f e 1 E., Note on Jordan elimination, linear programming and Tchebycheff approximation, Numerische Mathematik 2 (1960), 52. Wolfe Ph., A duality theorem for nonlinear programming, «Quart. Appl. Math.», 1961, № 19, 239— 244.
АЛФАВИТНЫЙ УКАЗАТЕЛЬ Алгорифм двойственного сим- плекс-метода 109 — задачи выпуклого програм- мирования 315, 330 ---- о максимальном потоке 221 ---- о потоке 235 — — параметрического про- граммирования 124 ----чебышевского приближе- ния отношением линейных форм 295 — Келли 376 — конечный для задачи квадра- тичного программирования 351 — приближения условно-опти- мальными планами 232, 240, 243 — разложения Данцига—Вулфа 428 — решения транспортной задачи методом потенциалов 198 — по критерию време- ни 255, 258 — Розена 382 — симплекс-метода 35, 50, 59 ----модифицированного 390, 399 — Форда 265 — Франк и Вулфа 379 — целочисленного программиро- вания 119 Гавурин М. К. 189 Гасс С. 219 Гладкость функции 310 Гольштейн Е. Г. 364 Гомори Р. Е. 118 Данциг Г. 9, 34, 171, 189, 428 Данцига—Вулфа алгорифм разло- жения 428, 433, 443 Двойственная задача параметри- ческого программирования 135 Двойственность в выпуклом про- граммировании 361 — в квадратичном программи- ровании 374 — в линейном программирова- нии 80, 82, 97, 375 Двойственные задачи выпуклого ’ программирования 364 --- линейного программиро- вания 82, 195 — таблицы 81 Двойственный симплекс-метод 107, 109 е-задача 217 e-метод для устранения зацик- ливания 77 Величина потока в сети 220 Венгерский метод решения транс- портной задачи 189 Выпуклое программирование 309 -----, двойственные задачи 364 Вырождение 44, 47, 71, 77, 217 Вход, выход сети 219 Жордановы исключения 11 -----, геометрический смысл 14 -----модифицированные 27 ----- обыкновенные 11 -----, применение к решению системы линейных уравнений 19, 22, 23
АЛФАВИТНЫЙ УКАЗАТЕЛЬ 457 Задача выпуклого программиро- вания 310, 376, 379, 381 -------, каноническая форма 315 -------, методы решения 387 -------» решение методом най- скорейшего спуска 315, 330 ----чебышевского приближе- ния 314 — двойственная к задаче квад- ратичного программирования 375 ---------- линейного програм- мирования 375 ----к прямой задаче выпук- лого программирования 367 — квадратичного программиро- вания 347 -------, конечный алгорифм 351 -------, применение алгорифма выпуклого программирования 347 — комплексного чебышевского приближения 312 — Лагранжа 368 — — обобщенная 369 — линейного программирования блочная 428 -------двойственная 82, 85, 109 ----------со смешанной си- стемой ограничений 85 ----------, экономическая ин- терпретация 97 -------основная 29, 85 ----------, геометрическая ин- терпретация 29, 33 ----------, метод решения 34 ----------, сведение к матрич- ной игре 182 ----------, смешанная система ограничений 62, 63, 64, 66, 69 ----------, экономическая ин- терпретация 96 -------, присоединенная к за- даче чебышевского приближе- ния 275 -------прямая 82, 83 -------с двусторонними огра- ничениями 410 — Маркова 284 Задача минимизации линейной формы 72 ---- суммы модулей линейных функций 301, 303 — о диете (о смесях) 154 — о закреплении самолетов за воздушными линиями 158, 160 — о максимальной рентабель- ности предприятия 137 — о максимальном потоке в се- ти 219, 220, 221 — о минимизации отходов 150 — о назначениях 163 — о наилучшем использовании посевной площади 156 -------распределении програм- мы между несколькими пред- приятиями 141 — о поставщике 146, 149 — о потоке 232, 235 — о рациональном соотношении между различными типами бронебойных снарядов 169 — о смесях 154 — о составлении графика ремон- та инструмента 146, 149 — об оптимальном использова- нии оборудования 141 ------- раскрое материалов 150 — отыскания точки, наименее удаленной от системы плоско- стей 313 ----чебышевской точки системы линейных неравенств 287, 289 — производственного планиро- вания 138 — размещения производства 191 — транспортная, см. Транспорт- ная задача — чебышевского приближения на е-сетке 293 -------несовместной системы линейных уравнений 273, 274, 275, 277, 280, 284, 332, 336 -------отношениями линейных форм 294, 295, 296 -------системы линейных не- равенств 287 — Штейнера 314 — экстремальная общая, метод решения 251
458 алфавитный указатель Зацикливание 60, 76, 217 Звено 219 Звенья симметричные 219 Канторович Л. В. 9, 189 Квадратичное программирова- ние 347, 351 Критерий оптимальности допу- стимых решений пары двой- ственных задач 92 ----решения двойственных за- дач 369 Кун 189 Куна—Таккера теорема 370 Метод приближения условно-оп- тимальными планами 242 — решения общей экстремаль- ной задачи на минимакс 251 • — Розена проектирования гра- диента 381 — секущих плоскостей 376 — Франк и Вулфа 379 Минимизация суммы модулей линейных функций 301, 303 Набор 193 Нейман 171, 173 Неймана основная теорема тео- рии матричных игр 173, 180 Лагранжа задача 368 ----обобщенная 369 — функция 368 Лежандра преобразование 373 Линейное программирование и матричные игры 170 ----, основная задача 29 ----с двусторонними ограни- чениями 410 Максимальный поток в сети, см. Поток в сети максимальный Манкрес 189 Маркова задача 284 Матрица обратная 16 — транспортных издержек 187 Матричная игра двух партнеров с нулевой суммой 171 ---- одноходовая 171 ----, сведение к задаче линей- ного программирования 176, 177, 178 ---- симметричная 174 Мера недопустимости плана 242 Метод минимального элемента 213 — наискорейшего спуска 315, 318, 330 — обратной матрицы 389 — потенциалов решения транс- портной задачи 186, 189, 192, 214 Обращение матриц 16 Опорное решение системы ли- нейных неравенств 34, 35, 37, 61, 422, 425 Оптимальное решение основной задачи линейного программи- рования 34, 50 Оптимальность плана перевозок, необходимое и достаточное условие 194 Пара взаимно-двойственных за- дач 87, 88, 89, 92, 93, 100, 107 Параметрическое программиро- вание 124 -----, алгорифм 124 -----, геометрическая интерпре- тация 134 -----, двойственная задача 135 Переменная несвободная, свобод- ная 35 План первоначальный, построе- ние методом минимального элемента 213 — —, — — северо-западного угла 199 — перевозок ациклический 193 -----допустимый 187 Потенциал назначения, отправле- ния 194 Потенциалов метод 192 Потенциальная система 194
АЛФАВИТНЫЙ УКАЗАТЕЛЬ 459 Поток в сети максимальный 219, 220, 221, 227 — по звену 220 Преобразование Лежандра 373 Призма г-мерная 274 Проблема выбора 163 — узких мест 167 Пропускная способность звена 220 ----минимального разреза, тео- рема двойственности 227 ---- разреза 221 Прямоугольная игра двух парт- неров с нулевой суммой 171 Путь 219 Разрез минимальный 221 — сети 221 Разрешающая строка 10 Разрешающий столбец 10 — элемент 10, 37, 43, 48, 51 ----, правило выбора 38, 43, 48, 51, 58, 63, 95, 109 Ранг матрицы, вычисление 18 Распределительная Х-задача 160 Расстояние кратчайшее по за- данной сети 262, 265 Рентабельность плана 97 Розена метод проектирования градиента 381 Седловая точка функции 370 Сеть 219 —, определение кратчайших рас- стояний по ней 262, 265 — сильно связанная 262 Симплекс-метод 34, 35, 37, 50, 51 — двойственный 108, 112 ----модифицированный 419 — — решения задачи максими- зации, минимизации 109 — модифицированный 389 — —, обоснование 405 — —, отыскание опорного ре- шения 390, 397 — —, — оптимального решения 399 Симплекс-метод модифициро- ванный, смешанная система ограничений 396 —, отыскание опорного решения системы линейных неравенств 35, 37, 61, 107, 422, 425 —, — оптимального решения ос- новной задачи линейного про- граммирования 51, 53, 56, 109 —, приспособление к задаче с двусторонними ограничениями 409 Стейница теорема 15 Стратегия смешанная 172 ----- оптимальная 173 — чистая 171 Строка отмеченная 236 Теорема двойственности вторая 94 -------, обобщение 368 ----первая 89, 92, 227 — — —, обобщение 367 — Куна—Таккера 370 — Стейница 15 — Фаркаша 361, 363 Теория матричных игр, основная теорема 173, 180 Точка, наименее удаленная от системы плоскостей 313, 340 -------------прямых (в про- странстве) 344 ------------- точек на плоско- сти 341 — стационарная 354, 355 Транспортная задача 186 ----, алгорифм 198, 240 ----, — приближения условно- оптимальными планами 232 ----, решение методом потен- циалов 199 — — вырожденная 201 — — как задача линейного про- граммирования 187 — —, критерий оптимальности плана перевозок 194 ----, — разрешимости 188, 189 — —, открытая модель 189, 190 ----по критерию времени 250, 255, 258
460 АЛФАВИТНЫЙ УКАЗАТЕЛЬ Транспортная задача с нарушен-» ным балансом запасов и по- требностей 189 ---, условия вырожденности 217 Уклонение 14 — минимальное системы линей- ных неравенств 287 Условия дополняющей нежест- кости 94, 198, 369 — потенциальности клетки, си- стемы 194 Устойчивость разрешимости си- стемы линейных неравенств 287 Фаркаша теорема 361, 363 Форда алгорифм 265 Франк и Вулфа метод 379 Функция выпуклая 310 — Лагранжа 368 — строго выпуклая 368 — целевая 29 Фурье 275 Хаара условие 273 Целочисленное программирова- ние 118, 121 Цена игры 174 Цепь 193 Цикл 193 Чарнс Л. 77, 389 Чебышевская точка 312 ----несовместной системы ли- нейных уравнений 273 ----системы линейных нера- венств 287, 289 Чебышевское приближение вы- пуклое 314 ----комплексное 311, 332, 333, 336 ----несовместной системы ли- нейных уравнений 273, 281,284 ------ отношениями линейных форм 293 ----системы линейных нера- венств 287 — решение системы линейных неравенств 287 Шаг жорданова исключения мо- дифицированного 27 -------усложненный 411 -------обыкновенного 11 — приближения 319 Штейнера задача 314 Штиффель Э. 8, 11 Эгервари 189 Элемент Х-выбранный 194