Вы находитесь на странице: 1из 247

В. А. Горелик, Т. П.

Фомина
«Основы исследования операций: Учебное пособие»
Москва, МПГУ, 2004

Рекомендовано УМО по специальностям педагогического образования для


студентов вузов по специальности 030100 Информатика.

1
Электронная PDF-версия издания подготовлена в 2011 году для сайта кафед-
ры ТИДМ математического факультета МПГУ — http://tidm.ru

2
ВВЕДЕНИЕ
Принятие решений всегда было и остается наиважнейшим аспектом
человеческой деятельности. Существуют различные подходы к принятию
решений: на основе предшествующего опыта; на основе здравого смысла; на
основе метода аналогий; интуитивный и др. Однако практика управления во
всех областях и на всех уровнях нуждается в широком и эффективном ис-
пользовании математических методов. Создание систем управления невоз-
можно без разработки соответствующей теории принятия решений, отвеча-
ющей практическим запросам. С точки зрения математического описания под
принятием решений понимается выбор из некоторого множества U элемен-
та u. При этом определяется правило выбора uU и целесообразность выбо-
ра.
Математическая теория принятия оптимальных (рациональных, целе-
направленных) решений называется теорией исследования операций. Та-
ким образом, задачей теории исследования операций является построение
количественных методов анализа процессов принятия решений во всех обла-
стях человеческой деятельности. Эта деятельность должна быть, во-первых,
целенаправленна, т.е. направлена на достижение определенной цели или це-
лей, и, во-вторых, при предварительном анализе должны быть использованы
количественные методы, т.е. формализованные (математические) модели.
Исследование операций — это раздел прикладной математики, кото-
рый занимается построением математических моделей анализа реальных за-
дач и процессов управления и принятия решений (экономических, социаль-
ных, технических, военных и др.). Он структурно оформился в период второй
мировой войны и включает в себя ряд разделов, отличающихся друг от друга
различными математическими моделями различных задач поиска оптималь-
ных решений. Математическая модель нужна для детального предваритель-
ного анализа реального явления. Математика проводит количественный и ка-
чественный анализ модели, помогает предсказать, как поведёт себя система в

3
различных условиях и даёт рекомендации для принятия «наилучшего» реше-
ния.
Перед исследованием операций стоят следующие проблемы:
• составление математических моделей задач принятия решений;
• вопросы существования оптимальных решений в различных классах
задач;
• разработка необходимых и достаточных признаков оптимальности в
различных классах задач;
• разработка методов численного определения оптимальных решений.
Предлагаемое учебное пособие посвящено изложению основ исследо-
вания операций. Пособие состоит из девяти глав. Наряду со сведениями тео-
ретического характера в каждой главе разбираются примеры и задачи, цель
которых — уяснение основных понятий и математических методов. Задачи
для самостоятельной работы даются в конце каждой главы в рубрике «Задачи
и упражнения». Они подобраны так, чтобы проиллюстрировать применение
изложенного материала. Ответы к этим задачам приведены в конце пособия.
Данный курс должен дать студентам достаточное представление о ма-
тематическом аппарате исследования операций, а также показать сферы при-
ложений методов исследования операций на примерах.
Дополнительные теоретические сведения для более глубокого изуче-
ния того или иного раздела можно получить из книг, приведенных в списке
литературы.
Настоящее пособие адресовано студентам, обучающимся по различ-
ным специальностям, учебные планы которых включают дисциплину «Ис-
следование операций». В более полном объеме оно может найти применение
в обучении студентов по специальности 030100 Информатика и по спе-
циальности 010200 Прикладная математика. А также может оказаться полез-
ным преподавателям, различным специалистам, желающим ознакомиться с
основами исследования операций.

4
Глава 1. ОСНОВНЫЕ ПОНЯТИЯ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ

§ 1.1. Математическая модель операции

Изложение любого предмета начинается с определения или описания


используемых в нем основных понятий. В исследовании операций есте-
ственно надо начинать с самого понятия «операция».
Операцией называется совокупность действий, направленных на до-
стижение некоторой цели, или, как говорилось во введении, совокупность
целенаправленных действий.
Наличие цели в операции подразумевает существование активных
участников, которые преследуют эту цель. Для выделения таких участников
в особую группу существует понятие оперирующей стороны.
Оперирующей стороной (ОС) называется совокупность лиц, которые
стремятся в данной операции к поставленной цели.
Кроме того, в операции могут присутствовать и другие действующие
лица, которые оказывают влияние на ход операции, но не преследуют цель
оперирующей стороны, в частности, они могут стремиться к собственным
целям. При изучении операции рассмотрение ведется с позиции оперирую-
щей стороны, а основная задача исследования состоит в поиске и сравнении
различных путей достижения поставленной цели.
В оперирующей стороне удобно выделить участника, который называ-
ется исследователем операции. Исследователь операции принадлежит к опе-
рирующей стороне и преследует ту же цель, однако он, как правило, сам не
принимает решения по выбору способов действий, а только помогает в этом
оперирующей стороне, дает научную основу для принятия решений. Главное
же, принципиальное отличие исследователя операции от оперирующей сто-
роны в целом состоит в том, что в момент проведения исследования, которое
зачастую отделено от самой операции весьма большим промежутком време-
ни (как правило, тем большим, чем сложнее операция и, следовательно, ее
изучение), он может не иметь всей информации, которая будет у оперирую-
щей стороны в момент проведения операции. Однако он должен предвидеть
возможность поступления такой информации и давать рекомендации с уче-
том этой информации, т.е. предлагать не фиксированные действия, а правила
поведения как функции от ожидающейся информации. Это обстоятельство
еще более осложняет задачу исследователя операции. Ответственность за
принятие решений и окончательный выбор лежит на оперирующей стороне.
Основным инструментом исследователя операции являются математи-
ческие модели. Несмотря на их большое разнообразие, существуют важней-
шие элементы, которые присутствуют практически во всех моделях. Так в
любой операции для достижения поставленной цели оперирующая сторона
должна иметь некоторый запас ресурсов (например, минеральное сырье, тех-
ническое оборудование, деньги, рабочую силу, вычислительную технику и т.
д.). В математической модели операции соответствующий элемент принято

называть активными средствами и обозначать вектором a . Действия,

5
направленные на достижение поставленной цели, представляют собой спосо-
бы использования активных средств. Соответствующий элемент математиче-
ской модели называют стратегией и обычно обозначают переменной х. Пе-
ременная х может быть скалярной величиной, вектором или функцией. Стра-
тегии являются факторами, влияющими на ход операции, контролируемыми
оперирующей стороной, т.е. выбираемыми ею по своему усмотрению. Кроме
них существуют неконтролируемые факторы, влияющие на ход операции,
которыми оперирующая сторона не распоряжается, например природные
условия. Неконтролируемые факторы будем обозначать переменной у. Об-
щее описание модели должно включать также сведения об информированно-
сти оперирующей стороны и исследователя операции об обстановке протека-
ния операции, т.е. о значениях неконтролируемых факторов.
Неконтролируемые факторы, исходя из информированности о них ис-
следователя операции, можно разбить на три группы:
а) фиксированные;
б) случайные;
в) неопределенные.
Фиксированные неконтролируемые факторы — это такие факторы,
значения которых точно известны исследователю операции. Случайные не-
контролируемые факторы представляют собой случайные величины, законы
(функции) распределения которых точно известны исследователю операции.
Неопределенные неконтролируемые факторы являются детерминированными
или случайными величинами, относительно которых исследователю опера-
ции известна лишь область возможных значений или класс возможных зако-
нов распределения.
Необходимо подчеркнуть, что неконтролируемые факторы описывают-
ся с позиции исследователя операции, что же касается оперирующей стороны
в целом, то у нее в момент проведения операции может появиться дополни-
тельная информация, существенно сужающая или даже исключающая не-
определенность. Но так как мы занимаемся вопросами исследования опера-
ций, для нас важна именно информированность исследователя, т.е. информа-
ция, доступная в момент проведения исследования, хотя возможное содер-
жание информации, поступающей в момент проведения операции, при этом
также должно учитываться.
Ход операции можно описать некоторым набором фазовых перемен-
ных  1 t ,  ,  k t . Степень соответствия хода операции поставленной цели в
математической модели характеризуется критерием эффективности W, ко-
торый представляет собой некоторую функцию, зависящую от фазовых пе-
ременных, стратегий и неконтролируемых факторов. В математической мо-
дели эквивалентом цели операции является требование максимизации крите-
рия эффективности.
Существует много различных классификаций математических моделей.
По одной из основных классификаций модели делят на динамические, в ко-
торых явно присутствует переменная времени, и статические, в которых этой
переменной нет. В реальности все процессы протекают во времени, поэтому
6
динамические модели, вообще говоря, более точно описывают действитель-
ность. Для проведения исследования часто ограничиваются простыми стати-
ческими моделями. При этом стратегию и воздействие неконтролируемых
факторов представляют в виде единичного акта, фазовые переменные исклю-
чают, и критерий эффективности представляют как функцию только страте-
гий и неконтролируемых факторов, т.е.
W=F(x,y). (1.1)
Переход от динамической формы модели к статической называется
нормализацией. Фактически в ходе исследования можно сразу строить ста-
тическую модель, минуя динамическую. Несмотря на внешнюю простоту
выражения (1.1), связь между значениями критерия, стратегии и неконтро-
лируемого фактора может быть весьма сложной. Иногда ее не удается пред-
ставить в явном виде, тогда она задается с помощью промежуточных соот-
ношений или в виде вычислительного алгоритма.
С учетом сказанного, получаем математический объект
{W, x, y},
где xX – множество (пространство) допустимых стратегий, yY - множе-
ство значений неконтролируемых факторов. Он называется статической
(нормальной) формой математической модели операции.
Содержательно всякая задача исследования операций является оптими-
зационной, т.е. состоит в выборе среди некоторого множества допустимых
решений тех решений, которые можно в том или ином смысле квалифициро-
вать как оптимальные. При этом допустимость каждого решения понимается
в смысле возможности его фактического осуществления, а оптимальность – в
смысле его целесообразности. Допустимость того или иного решения опре-
деляется возможностью реализации соответствующих действий при имею-
щихся ресурсах. Ограниченность ресурсов выражается в виде математиче-
ских ограничений, чаще всего имеющих вид равенств и неравенств. Опти-
мальность, целесообразность решения предполагает наличие в каждой задаче
исследования операций некоторой системы целей, описываемых критериями
эффективности, и принципа оптимальности (иногда называемого критери-
ем оптимальности).
Теоретически мыслимы задачи исследования операций с весьма произ-
вольными критериями оптимальности. Однако чаще всего они представляют
собой требования максимизации (или минимизации) одной или нескольких
числовых функций, значения которых выражают степень осуществления це-
лей при соответствующем допустимом решении. Каждая такая функция
называется критерием эффективности или целевой функцией. При этом кри-
терий оптимальности задается не только целевой функцией, но и отношени-
ем предпочтения, когда применительно к парам допустимых решений указы-
вается, какое из решений этой пары предпочтительней. Такое отношение
предпочтения не всегда является однозначным и очевидным.
С целью иллюстрации основных понятий исследования операций и со-
ставляющих элементов математических моделей операций рассмотрим при-
мер построения модели для содержательной задачи.
7
Пример (планирование суточного выпуска продукции).
Процесс изготовления изделий двух видов состоит в последовательной
обработке каждого из них на трёх станках. Известны время эксплуатации
станка в сутки, время обработки единицы каждого изделия на каждом станке,
стоимость реализации единицы каждого изделия.
Требуется составить для фирмы план суточного выпуска изделий так,
чтобы доход от их продажи был максимальным.
При анализе упомянутых важнейших факторов будем исходить только
из условия задач. Здесь:
ОС – руководство фирмы;
цель – максимизация дохода от продажи выпущенных за сутки изделий
двух видов;
принятие решения для ОС состоит в определении суточных объёмов
выпуска каждого из двух видов изделий;
возможности ОС ограничены временными ресурсами эксплуатации
станков трёх видов.
После выявления важнейших факторов нужно проанализировать все
параметры задачи: значение каких параметров известно (задано), какие пара-
метры являются неизвестными величинами; какими из параметров мы можем
управлять (управляемые или контролируемые), а какими нет (неуправляемые
или неконтролируемые параметры).
В нашем примере известными являются следующие параметры:
суточная норма bj эксплуатации станка j, j  1,2,3;
время aij обработки единицы изделия вида i (i=1,2) на станке типа j
(j=1,2,3);
стоимость ci (продажи) единицы изделия вида i (i=1,2).
Все эти параметры являются неуправляемыми (неконтролируемыми)
факторами, т.к. они заданы, то это фиксированные неконтролируемые факто-
ры.
Неизвестными или искомыми являются следующие величины:
объём суточного выпуска изделия вида i (i=1,2).
Эти два параметра можно считать управляемыми, т.к. фирма сама
определяет их величину (исходя из реальных условий), т.е. стратегией.
Введем систему обозначений неизвестных параметров задачи:
xi – объём суточного выпуска изделия вида i (i=1,2).
Тогда доход от продажи x1 и x 2
c1 x1  c 2 x 2 ,
а время, необходимое для обработки x1, x2 единиц изделий на станке j, есть
a1 j x1  a2 j x2 ( j  1,2,3).
Теперь первоначальную задачу можно сформулировать математически:
c1 x1  c 2 x 2  max

8
 a11 x1  a 21 x 2  b1 ,
a x  a x  b ,
 12 1 22 2 2
X :
 a13 x1  a 23 x 2  b3 ,
 x1  0, x 2  0.
Это есть задача математического (линейного) программирования с це-
левой функцией c1 x1  c 2 x 2 и множеством допустимых решений X , которое
описывается неравенствами. Критерий оптимальности здесь полностью зада-
ется требованием максимизации целевой функции, что определяет отноше-
ние предпочтения.
Следовательно, для построения математической модели конкретной
операции рекомендуется выполнить следующую последовательность работ:
изучение условия задачи;
определение важнейших факторов;
выделение известных и неизвестных параметров;
выявление управляемых и неуправляемых факторов;
дополнение условия задачи недостающими сведениями;
введение системы обозначений;
составление математической модели (математическое выражение целе-
вой (целевых) функции и соотношений и связей между параметрами);
определение критерия (принципа) оптимальности (в общем случае
весьма нетривиальный и ответственный этап) и формулировка задачи.

§ 1.2. Эффективность и оптимальность

Основная задача исследования операций состоит в сравнении между


собой различных стратегий и выборе наилучшей из них. Возникает вопрос:
на основании чего сравнивать стратегии. На первый взгляд ответ прост — с
помощью критерия эффективности, который собственно для этого и задается.
На самом деле для сравнения стратегий критерия эффективности достаточно
только в том случае, когда у нас нет неконтролируемых факторов или име-
ются лишь фиксированные неконтролируемые факторы. При наличии же
случайных или неопределенных неконтролируемых факторов сравнивать
между собой стратегии непосредственно с помощью критерия эффективно-
сти невозможно, хотя и в этом случае критерий лежит в основе сравнения.
Для того чтобы иметь возможность сравнивать стратегии, удобнее все-
го иметь численную оценку каждой стратегии. Оценка, ставящая в соответ-
ствие каждой стратегии х действительное число, т.е. являющаяся функцией
переменной х, называется оценкой эффективности стратегии. Если имеется
только фиксированный неконтролируемый фактор, т.е. у принимает извест-
ное исследователю операции значение у0, то критерий эффективности
W=F(x,y0) является функцией только х. Введем обозначение f0(х)=F(x,y0). Ве-
личина f0(х) может служить оценкой эффективности стратегии. При этом
стратегия х1 лучше стратегии х2, если f0(х1)> f0(х2). Естественным образом

9
определяется в этом случае и наилучшая или оптимальная стратегия. Это та-
кая стратегия х0, для которой выполняется соотношение
f0(х0)  f0(х)  х  Х (1.2)
(при наличии только фиксированных неконтролируемых факторов стратегии-
функции не имеют смысла, поэтому пространство стратегий может включать
лишь стратегии-константы, такое пространство стратегий принято обозна-
чать через Х).
Пусть теперь имеются случайные или неопределенные факторы. В
этом случае для фиксированной стратегии х* критерий эффективности
W=F(x*, y) является функцией от у, а не фиксированным числом, и значит не
может служить оценкой эффективности. Каждой стратегии уже соответству-
ет не одно, а несколько значений критерия эффективности и результат срав-
нения стратегий с помощью критерия оказывается неопределенным.
Рассмотрим вопросы построения оценок эффективности, которые, во-
обще говоря, могут вводиться различным образом. Определение вида оценки
эффективности и связанного с ней понятия (принципа, критерия) оптималь-
ности представляет собой элемент постановки задачи и является, в конечном
счете, правом оперирующей стороны. Однако существуют наиболее распро-
страненные и обоснованные оценки эффективности, зависящие от вида не-
контролируемых факторов. Если имеется случайный неконтролируемый фак-
тор, представляющий собой случайную величину с известным исследовате-
лю операции законом распределения, то в качестве оценки эффективности
чаще всего используется математическое ожидание критерия эффективно-
сти. Пусть неконтролируемый фактор у принимает n значений у1, …, уn c ве-
роятностями р1, …, рn, тогда математическое ожидание определяется по фор-
муле
n
M y F ( x, y ) =  pi F ( x, yi ) . (1.3)
i 1

Значит, в качестве оценки эффективности стратегии берется функция


n
fc(x)=  p F ( x, y ) .
i 1
i i (1.4)
Такая оценка эффективности называется оценкой в среднем, так как
значение случайной величины в каждом конкретном случае может суще-
ственно отличаться от математического ожидания и только среднее значение
реализаций случайной величины при большом числе испытаний приближа-
ется к нему. При использовании этой оценки имеется определенный риск по-
лучения в каждом конкретном случае меньшего результата, чем тот, на кото-
рый рассчитывали, и в этом надо отдавать себе отчет. Только в среднем при
многократном проведении данной операции мы можем с достаточной уве-
ренностью рассчитывать на получение при использовании некоторой страте-
гии результата, равного оценке в среднем этой стратегии. Таким образом, в
рядовой операции, повторяющейся много раз, указанный риск оправдан, но в
единичной операции вряд ли на него можно пойти. Это значит, что использо-
вание статистических данных в единичных (уникальных) ситуациях фактиче-

10
ски ничего не дает и неконтролируемые факторы при этом надо считать не-
определенными, но это уже другой случай.
При наличии случайных неконтролируемых факторов могут использо-
ваться и стратегии-функции, если у оперирующей стороны ожидается допол-
нительная информация. Тогда в качестве оценки эффективности также обыч-
но используется математическое ожидание
fc (~
x )  M y F (~
x , y ), (1.5)
только надо иметь в виду, что при определении математического ожидания,
когда производится осреднение по у, необходимо учитывать зависимость
~
x  x( y ).
Оценке эффективности в среднем соответствует понятие оптимально-
~
сти в среднем: ~x 0 оптимальна в среднем на пространстве стратегий X , если
~
fc (~ x 0 )  f c (x~ ) ~
x  X, (1.6)
где f c (x~) определяется из (1.5).
В частности, для стратегий-констант x 0 оптимальна в среднем на про-
странстве стратегий X, если
f c ( x 0 )  f c (x) x  X . (1.7)
Перейдем теперь к случаю неопределенных неконтролируемых факто-
ров. Относительно неопределенного неконтролируемого фактора у исследо-
вателю операции известна только область его возможных значений Y, поэто-
му при применении стратегии х он может ожидать, что критерий примет
произвольное значение в замкнутом интервале от А = min yY
F ( x, y ) до В =
max F ( x, y ) (для простоты будем считать, что максимумы и минимумы
y Y

функций существуют, в противном случае надо использовать верхние и ниж-


ние точные грани, т.е. супремумы и инфимумы, и там, где необходимо, вво-
дить понятия приближенных  —оптимальных стратегий). Значит оценка
эффективности стратегии х по смыслу должна принадлежать отрезку [А, В].
Но как разумно выбрать на нем единственное число? Можем ли мы быть
уверенными, что при применении стратегии х в данной ситуации получится
значение критерия эффективности больше А? Очевидно, нет. Только значе-
ние А мы можем твердо гарантировать. Значит разумным будет взять это
значение в роли оценки эффективности стратегии х, т.е. положить
f г ( x)  min
y Y
F ( x, y ) . (1.8)
Такая оценка называется гарантированной оценкой эффективности.
Этой оценке соответствует понятие оптимальной гарантирующей страте-
гии, т.е. такой x 0 , для которой
f г ( x 0 )  f г ( x) x  X (1.9)
или
min
y Y
F ( x 0 , y )  minyY
F ( x, y ) x  X . (1.10)
Аналогично вводятся понятия гарантированной оценки эффективности
и оптимальности в гарантированном смысле для стратегий-функций:

11
fг (~x )  minyY
F ( x( y), y ) ,
~
fг (~ x ) ~
x 0 )  fг (~ x  X.
Величина
Fг ( X )  max min
y Y
F ( x, y )
x X

называется максимальным гарантированным результатом на множестве X


~
(аналогично на Х ). В математике такое выражение принято называть макси-
минами или при перестановке процедур максимизации и минимизации —
минимаксами.
Мы привели только два наиболее распространенных принципа опти-
мальности. Следует иметь в виду, что в задачах принятия решений в услови-
ях случайности (риска) и неопределенности существует множество принци-
пов оптимальности. В исследовании операций нет (и, по-видимому, не может
быть) единого принципа оптимальности.

§ 1.3. Классификация задач исследования операций

Выше мы познакомились с общей математической моделью операции и


основной задачей исследования операций, состоящей в сравнении между со-
бой стратегий и выборе из них наилучшей в том или ином смысле. Эта задача
для общей модели является слишком сложной, чтобы для нее можно было
получить конкретные результаты. Поэтому в общем случае можно только го-
ворить о принципах сравнения стратегий, связанных с выбором вида оценки
эффективности, и соответствующих им понятиях оптимальности. Методы же
нахождения оптимальных стратегий, без которых нельзя говорить о практи-
ческом использовании теории исследования операций, для общей модели не
существуют. Поэтому в исследовании операций выделяют классы задач,
представляющие собой частные случаи основной задачи, для которых такие
методы могут быть созданы. При этом классификацию проводят по двум
признакам: видам неконтролируемым факторов и видам критерия эффектив-
ности и пространства стратегий.
Наиболее простую группу задач исследования операций составляют
такие задачи, в которых неконтролируемых факторов нет или имеются толь-
ко фиксированные неконтролируемые факторы.
Раздел исследования операций, посвященный изучению подобных за-
дач, называется математическим программированием, а сами задачи — зада-
чами математического программирования.
Внутренняя классификация в разделе математического программиро-
вания связана уже с видом критерия эффективности и пространства страте-
гий.
Если критерий эффективности представляет собой линейную функцию
от переменных, описывающих стратегии, а пространство стратегий задается
системой линейных ограничений, т.е. представляет собой многогранное

12
множество, то получающаяся задача называется задачей линейного програм-
мирования.
Если, исходя из содержательного смысла задачи, ее решения должны
быть целыми числами, то получаем задачу целочисленного программирова-
ния.
Обычно в целочисленных задачах критерий и остальные ограничения
(кроме условия целочисленности) предполагают линейными, поэтому цело-
численные задачи можно отнести условно к линейному программированию.
Если критерий эффективности или ограничения, задающие простран-
ство стратегий, являются нелинейными функциями, то имеем задачу нели-
нейного программирования. В частности, если критерий эффективности и
пространство стратегий обладают свойствами выпуклости, то получающаяся
задача называется задачей выпуклого программирования.
Если в задаче математического программирования имеется переменная
времени и критерий эффективности выражается не в явном виде как функция
от стратегий, а косвенно через уравнения, описывающие развитие процесса
протекания операции во времени, то такая задача относится к динамическому
программированию.
Линейное программирование (включая целочисленное программирова-
ние), нелинейное программирование (включая выпуклое программирование)
и динамическое программирование составляют основные подразделы мате-
матического программирования. В настоящем пособии им посвящены, соот-
ветственно, главы 3, 4 и 5.
При наличии неконтролируемых факторов более сложных видов (слу-
чайных и неопределенных) возникают другие классы задач. Если имеются
неопределенные неконтролируемые факторы, то при использовании гаранти-
рованной оценки эффективности получаются максиминные (или минимакс-
ные) задачи. В целом такие задачи представляют собой обобщение задач ма-
тематического (нелинейного) программирования, поэтому максиминные за-
дачи в общем виде рассматриваются в главе 4. Однако среди задач с неопре-
деленными неконтролируемыми факторами наиболее интересными являются
такие задачи, в которых неопределенность связана с действиями других ра-
зумных участников операции, преследующих свои цели. Раздел исследова-
ния операций, занимающийся изучением подобных задач, называется теори-
ей игр.
Игровые задачи также имеют свою классификацию, в соответствии с
которой выделяется несколько подразделов теории игр. Изучению теории игр
посвящены главы 7 и 8 настоящего пособия (в соответствии с внутренней
классификацией теории игр).
Среди задач исследования операций со случайными неконтролируе-
мыми факторами наиболее важными являются задачи массового обслужива-
ния, задачи теории надежности и задачи управления запасами. Эти задачи
характеризуются определенным видом критериев эффективности, про-
странств стратегий и фигурирующих в них случайных величин, которые от-
ражают их содержательный смысл. Массовому обслуживанию (включенному

13
в программу) посвящена глава 9 настоящего пособия. Два других раздела
можно изучать факультативно [7,9,16,33].
Следует отметить, что на практике практически всегда при принятии
управленческих решений о функционировании и развитии объекта необходимо
учитывать такую важную характеристику внешней среды как неопределенность.
Под неопределенностью следует понимать отсутствие, неполноту, недостаточ-
ность информации об объекте, процессе, явлении или неуверенность в досто-
верности информации. Неопределенность обусловливает появление ситуаций, не
имеющих однозначного исхода.
Под ситуацией риска следует понимать сочетание, совокупность различных
обстоятельств и условий, создающих обстановку того или иного вида деятельно-
сти, для которой имеется возможность оценит вероятность осуществления того
или иного исхода.
Таким образом, если существует возможность количественно определить
вероятность того или иного варианта, то это и будет ситуация риска. С точки зре-
ния полноты исходных данных определенность и неопределенность представля-
ют два крайних случая, а риск определяет промежуточную ситуацию, в которой
приходится принимать решение.
Степень неинформированности о данных определяет, каким образом зада-
ча формализуется и решается.
Основными видами оценки принимаемых решений в условиях риска явля-
ются:
• ожидаемое значение результата (математическое ожидание);
• ожидаемое значение результата в сочетании с минимизацией его диспер-
сии;
• доверительный интервал для получаемого результата;
• наиболее вероятное событие (исход) в будущем.
Математические модели исследуемых явлений или процессов могут
включать совокупность (комплекс) частных критериев эффективности функ-
ционирования системы. Случай отсутствия единого критерия можно тракто-
вать как принятие решений в условиях неопределенности цели. Выбор опти-
мального решения по комплексу нескольких критериев является задачей
многокритериальной оптимизации. Подходы к решению подобных задач рас-
сматриваются в главе 6.

Задачи и упражнения

1. Фирмой "Супертранзистор'' выпускаются радиоприемники трех раз-


личных моделей: А, В и С. Каждое изделие указанных моделей приносит до-
ход в размере 8, 15 и 25 единиц соответственно. Необходимо, чтобы фирма
выпускала за неделю не менее 100 приемников модели А, 150 приемников
модели В и 75 приемников модели С.
Каждая модель характеризуется определенным временем, необходимым
для изготовления соответствующих деталей, сборки изделия и его упаковки.
Так, в частности, в расчете на 10 приемников модели А требуется 3 ч для из-

14
готовления соответствующих деталей, 4ч на сборку и 1ч на упаковку. Соот-
ветствующие показатели в расчете на 10 приемников модели В равняются 3,
5 и 1.5 ч, а на 10 приемников модели С - 5, 7 и 3. В течение ближайшей неде-
ли фирма может израсходовать на производство радиодеталей 150 ч, на сбор-
ку 200 ч и на упаковку 60 ч.
Постройте оптимизационную модель, максимизирующую прибыль.

2. Авиакомпания "Небесный грузовик", обслуживающая периферийные


районы страны, располагает 8 самолетами типа 1, 15 самолетами типа - 2, 12
самолетами типа 3, которые она может использовать для выполнения рейсов
в течение ближайших суток. Грузоподъемность (в тысячах тонн) известна: 45
для самолетов типа 1, 7 для самолетов типа 2, 4 для самолетов типа 3.
Авиакомпания обслуживает города А и В. Городу А требуется тоннаж в
20000 т, а городу В - в 30000 т. Избыточный тоннаж не оплачивается. Каж-
дый самолет в течение дня может выполнить только один рейс.
Расходы, связанные с перелетом самолетов по маршруту "Центральный
аэродром - пункт назначения", указаны в приведенной ниже таблице:

тип 1 тип 2 тип З

Город А 23 5 1,4

Город В 58 10 3,8

Постройте оптимизационную модель, минимизирующую расходы.

3. Фирма «Микродеталь» является владельцем мелкосерийного метал-


лообрабатывающего завода. Дневной портфель заказов включает n деталей,
каждая из которых может обрабатываться на n различных станках. Пусть tij -
общая продолжительность обработки детали i на станке j (включая время
наладки станка).
Постройте оптимизационную модель, минимизирующую общую про-
должительность выполнения всех заказов.

4. Задача о доставке грузов (задача о покрытии). Фирма "Автопегас"


должна доставить грузы пяти своим клиентам в течение рассматриваемого
дня. Клиенту А нужно доставить груз весом в 1 единицу, клиенту В - в 2 еди-
ницы, клиенту С - в 3 единицы, клиенту D - в 5 единиц и клиенту Е - в 8 еди-
ниц. Фирма располагает четырьмя автомашинами следующей грузоподъем-
ности: машина 1 - 2 единицы, машина 2 - 6 единиц, машина 3 - 8 единиц, ма-
шина 4 - 8 единиц. Стоимость эксплуатации автомашины j составляет сj.
Предположим, что одна машина не может доставлять груз обоим клиентам А

15
и С, аналогично одна машина не может использоваться для доставки груза
обоим клиентам В и D.
Постройте модель для определения такого назначения автомашин для
доставки всех грузов, при котором минимизируются суммарные затраты.

5. Предприятие производит изделия трех видов, поставляет их заказчи-


кам и реализует на рынке. Заказчикам требуется 100 изделий первого вида,
200 изделий второго вида и 250 изделий третьего вида. Условия спроса на
рынке ограничивают число изделий первого вида 200 единицами, второго —
300 и третьего — 500 единицами. Для изготовления изделий используется 4
типа ресурсов. Количество ресурсов, потребляемых для производства одного
изделия, общее количество ресурсов и прибыль от реализации одного изде-
лия заданы в таблице.

Изделия 1 2 3 Всего
Тип ре- ресур-
сурсов сов
1 50 30 100 250000
2 100 20 10 300000
3 15 30 20 200000
4 10 20 40 400000
Прибыль 2 4 5

Как организовать производство, чтобы обеспечить заказчиков, не допу-


стить затоваривания и получить максимальную прибыль? Постройте оптими-
зационную модель, объясните ее элементы и соотношения.

6. Предприятие рекламирует свою продукцию с использованием теле-


видения, радио, газет. Анализ рекламной деятельности в прошлом показал,
что эти средства приводят к увеличению прибыли соответственно на 10, 5 и 7
усл.ед. в расчете на 1 усл.ед., затраченную на рекламу. Администрация пред-
приятия на рекламу выделила 50 тыс.усл.ед. и не намерена тратить на теле-
видение более 40%, на радио и газеты — более 60% от общей суммы выде-
ленных средств.
Постройте оптимизационную модель, максимизирующую прибыль,
объясните ее элементы и соотношения.

16
Глава 2. КЛАССИЧЕСКИЕ ОПТИМИЗАЦИОННЫЕ ЗАДАЧИ

§ 2.1. Основные понятия теории экстремальных задач

При наличии только фиксированных неконтролируемых факторов


задача поиска оптимальных решений сводится к экстремальной задаче. Ес-
ли при этом на выбор стратегии не накладывается ограничений (что на
практике встречается редко) или ограничения имеют вид только равенств,
то применимы классические методы оптимизации. Эти методы и рассмат-
риваются вкратце в данной главе.
Исходными данными при постановке задачи поиска экстремума яв-
ляется множество X и определенная на нем функция f(x). Мы будем рас-
сматривать конечномерные задачи, поэтому x является вектором произ-
вольной размерности n, т.е. x = (x1,…, xn), а множество X  подмноже-
ством евклидова пространства Rn (возможно совпадающим со всем про-
странством). Помимо задания X (его называют допустимым множеством) и
f (x) (ее называют целевой функцией) необходимо определить, что понима-
ется под решением задачи. Во-первых, речь может идти о нахождении то-
чек максимума (одной или всех), минимума (одной или всех) или тех и
других. Во-вторых, необходимо уточнить само понятие максимума (мини-
мума), так как оно может пониматься в глобальном и локальном смысле.
Определение. Точка x*  X называется точкой глобального (абсо-
лютного) максимума функции f (x) на множестве X, если
f(x*)  f(x)  x  X. (2.1)
Определение. Точка x*  X называется точкой локального максимума
функции f(x) на множестве X, если   > 0 такое, что
f(x*)  f(x)  x  X  U  (x*), (2.2)
где U  (x*) -  -окрестность точки x* (шар радиусом  с центром в x*).
Определения глобального и локального минимумов получаются за-
меной в (2.1) и (2.2) знаков неравенств на противоположные.
Глобальные максимумы и минимумы называют глобальными экс-
тремумами функции, локальные максимумы и минимумы  локальными
экстремумами. Ясно, что глобальные экстремумы являются и локальными,
но обратное, вообще говоря, не верно. Для того чтобы найти глобальный
максимум, надо найти все локальные максимумы и выбрать из них тот, в
котором функция принимает наибольшее значение (аналогично для мини-
мумов).
Если x* есть точка глобального максимума f(x) на X, то будем ис-
пользовать запись
f(x*) = max f(x), (2.3)
xX
т.е. под max f(x) понимается максимальное (абсолютное) значение f(x) на
xX
X. Для точки глобального максимума принято обозначение
x* = arg max f(x). (2.4)
xX

17
Частным решением задачи поиска максимума называется нахожде-
ние одной точки x* и значения f(x*), определяемых (2.3), (2.4). Полным
решением называется нахождение величины max f(x) и всех реализующих
xX
ее значений аргумента, множество которых принято обозначать
Arg max f(x) = {x*  X | f(x*) = max f(x)}. (2.5)
xX xX
Обычно, если это не оговаривается особо, под решением задачи мак-
симизации будем понимать нахождение ее частного решения (глобально-
го).
Аналогичные понятия и обозначения используются для задачи поис-
ка глобального минимума (соответственно min f(x), arg min f(x),
xX xX
Arg min f(x)).
xX
Множество всех точек локальных максимумов включает в себя мно-
жество (2.5), но, вообще говоря, с ним не совпадает. Задачу нахождения
всех локальных максимумов мы будем записывать в виде
f(x)  max, x  X. (2.6)
Аналогично для локальных минимумов
f(x)  min, x  X, (2.7)
а для задачи нахождения всех локальных экстремумов (максимумов и ми-
нимумов)
f(x)  extr, x  X. (2.8)
Так как, очевидно, точки максимума функции f(x) совпадают с точ-
ками минимума функции –f(x), то все свойства и методы решения задачи
(2.6) легко переносятся на (2.7), (2.8) (мы будем их рассматривать на при-
мере задачи максимизации).
Экстремальные задачи принято делить на задачи поиска безусловно-
го и условного экстремума. Если X = Rn, т.е. рассматриваются точки экс-
тремума f(x) на всем n-мерном пространстве, то имеем задачу на безуслов-
ный экстремум (или без ограничений). Если X  Rn (собственное подмно-
жество n-мерного пространства), то имеем задачу на условный экстремум
(или с ограничениями). Терминология эта возникла в связи с тем, что мно-
жество X в последнем случае обычно задается какими-то условиями
(обычно ограничениями вида равенств и неравенств). В классическом ана-
лизе рассматриваются задачи без ограничений и с ограничениями типа ра-
венств.
Задача поиска экстремума может, вообще говоря, не иметь решения
(когда верхняя или нижняя грань функции на множестве не достигается). В
курсе математического анализа доказывается следующий важный резуль-
тат.
Теорема Вейерштрасса. Если X  компакт в Rn (замкнутое ограни-
ченное множество), f(x)  непрерывная на X функция, то точки глобаль-
ного максимума и минимума f(x) на X существуют.
Из условий теоремы Вейерштрасса наиболее обременительным явля-
ется ограниченность множества X, часто из постановки задачи она не вы-
18
текает, а для задачи на безусловный экстремум заведомо не выполняется.
Поэтому полезной является следующая ее модификация.
Следствие. Если X  замкнутое непустое множество в Rn, f(x) 
непрерывная на X функция и ограничено множество
P = {x  X | f(x)  c}, (2.9)
где c  некоторая константа, меньшая верхней грани f(x) на X, то точка
глобального максимума f(x) на Х существует.
Доказательство. Множество P является по определению непустым
подмножеством множества X, оно ограничено, а в силу непрерывности f(x),
и замкнуто. Поэтому по теореме Вейерштрасса существует точка глобаль-
ного максимума f(x) на P со значением не меньше c. Но на множестве X\P
выполняется f(x) < c, следовательно, данная точка является и глобальным
максимумом f(x) на X, что и требовалось доказать.
Для существования глобального минимума в определении (2.9) мно-
жества P знак неравенства следует заменить на противоположный, а кон-
станта c должна быть больше нижней грани f(x) на X.
Для рассматриваемых в дальнейшем экстремальных задач будет
предполагаться, как правило, выполнение условий теоремы Вейерштрасса
или ее следствия. Условие ограниченности множества P может заменяться
на условие f(xk)  –  при | xk |   (для минимума f(xk)   ).

§ 2.2. Условия экстремума в задачах без ограничений

Задача поиска безусловного экстремума (без ограничений) имеет вид


f(x)  extr, x  Rn. (2.10)
Классические необходимые условия экстремума (локального или
глобального, максимума или минимума) для этой задачи дает
Теорема Ферма. Пусть функция f(x) дифференцируема в точке ре-
шения задачи (2.10) x*, тогда
f ( x* )
 0, j  1, n. (2.11)
x j
Доказательство. По определению дифференцируемой функции
многих переменных для любого вектора h  Rn имеем
f(x* + dh) = f(x*) + d <f΄(x*), h> + 0(d), (2.12)
 f ( x * ) f ( x * ) 
где f΄(x*) =  ,...,   градиент функции f(x) в точке x*, d  до-
 x1 x n 
статочно малое положительное число, 0(d)  величина более высокого
порядка малости, нежели d, <f΄(x*), h>  скалярное произведение векто-
ров f΄(x*) и h.
Предположим противное утверждению (2.11), т.е. что |f΄(x*)| ≠ 0. То-
гда из (2.12) при достаточно малых d имеем f(x*+ dh) > f(x*) при h = f '(x*)
и f(x*+ dh)< f(x*) при h = - f΄(x*), что противоречит определению экстре-
мумов.
Условие (2.11) или эквивалентное ему
19
f '(x*) = 0 (2.13)
называется условием первого порядка, т.к. использует первые частные
производные. Оно является необходимым, но не достаточным, т.е. ему мо-
гут удовлетворять и точки, не являющиеся экстремумами (все эти точки
называются стационарными).
Для того чтобы сформулировать необходимые и достаточные усло-
вия второго порядка (использующие вторые производные), напомним не-
которые алгебраические понятия.
Пусть задана квадратная симметрическая матрица A = (aij) размера
n×n. Рассмотрим скалярное произведение <Ah, h>, где первым вектором
является произведение матрицы A на n-мерный вектор h (мы не будем де-
лать различия в обозначениях между вектор-строкой и вектор-столбцом,
считая всегда, что вектор задан в такой форме, которая позволяет произво-
дить соответствующую операцию умножения на него матрицы).
n n
Это скалярное произведение равно  a h h
i 1 j 1
ij i j , где aij  элементы

матрицы A, hi  компоненты вектора h, т.е. матрица A задает квадратич-


ную форму. Квадратичная форма <Ah, h> называется положительно опре-
деленной, если
<Ah, h> > 0 при всех ненулевых h  Rn. (2.14)
Аналогично вводятся понятия неотрицательной, неположительной и
отрицательной определенности (в (2.14) знак > меняется соответственно на
≥, ≤, <). При этом и матрица A называется иногда положительно (неотри-
цательно, неположительно, отрицательно) определенной.
Непосредственная проверка положительной определенности, т.е. не-
равенства (2.14), непроста. Поэтому желательно иметь для нее более кон-
структивные условия. Наиболее общим является критерий Сильвестра.
Для положительной определенности матрицы A необходимо и достаточно,
чтобы были положительными ее главные миноры
a11 ... a1n
a11 a12
a11 , ,..., ... ... ... .
a21 a22
an1 ... ann
Необходимым и достаточным условием отрицательной определенно-
сти матрицы A является положительность главных миноров четного по-
рядка и отрицательность главных миноров нечетного порядка, т.е.
a11 a12 a13
a a12
a11  0 , 11  0 , a 21 a 22 a 23  0 и т.д.
a 21 a 22
a 31 a 32 a 33
Вернемся к задаче поиска безусловного экстремума. Так как условия
второго порядка для максимумов и минимумов несколько отличаются, то
рассмотрим сначала задачу
f(x)  max, x  Rn. (2.15)
Будем считать f(x) дважды дифференцируемой и введем матрицу
вторых частных производных
20
  2 f ( x)  2 f ( x)  2 f ( x) 
 ... 
 x1 x1x2 x1xn 
2

f ( x)   .... .... ..... .


  2 f ( x)  2 f ( x)  2 f ( x) 
 ... 
 xn x1 xn x2 xn2 
 
Это квадратная симметрическая матрица порядка n.
Теорема (необходимые условия максимума второго порядка). Пусть
функция f(x) дважды дифференцируема в точке решения задачи (2.15) x*,
тогда матрица f "(x*) неположительно определена, т.е. <f "(x*)h, h>  0
для любого h  Rn.
Доказательство. Используя разложение функции многих перемен-
ных в ряд Тейлора до квадратичных членов, имеем
1
f(x*+dh)=f(x*)+d<f '(x*),h>+ d2<f "(x*)h, h> + 0(d 2). (2.16)
2
Так как x* локальный максимум, то по определению
f(x*+dh)  f(x*) при достаточно малом d и любом h  Rn, а по теореме Ферма
f '(x*) = 0, поэтому из (2.16) предельным переходом при d  0 получаем
утверждение теоремы.
Условием минимума является неотрицательная определенность мат-
рицы f "(x*) (доказывается аналогично).
Теорема (достаточные условия максимума второго порядка). Пусть
функция f(x) дважды дифференцируема в точке x*, f'(x*) = 0 и матрица
f"(x*) отрицательно определена, тогда x*  решение задачи (2.15).
Доказательство. Используя разложение (2.16) и учитывая, что ли-
нейный член в этом разложении равен нулю, а квадратичный член отрица-
телен для любого ненулевого h , получаем утверждение теоремы.
Задаче на минимум соответствует условие положительной опреде-
ленности матрицы f "(x*). Для функции одной переменной эти условия
означают просто отрицательность (положительность) второй производной.
Для функции двух переменных с учетом критерия Сильвестра имеем усло-
вия максимума
f ( x1* , x 2* ) f ( x1* , x 2* )  2 f ( x1* , x2* )
  0,  0,
x1 x 2 x12
2
 2 f ( x1* , x2* )  2 f ( x1* , x2* )   2 f ( x1* , x2* ) 
   0
x12 x22  x1x2 
 2 f ( x1* , x2* )
(для минимума  0 , а остальное без изменения).
x12
Пример 2.1. f(x1, x2) = x1x2 - x12- x22  max, x  R2.
Условие первого порядка дает уравнения
x2 –2x1 = 0, x1 –2x2 = 0,
 2 1 
откуда x*1= x*2= 0. Матрица вторых производных   отрицательно
 1  2 
определена, значит (0, 0)  локальный максимум.

21
§ 2.3. Условия экстремума в задачах с ограничениями типа ра-
венств

Задача поиска условного экстремума (с ограничениями), вообще го-


воря, сложнее задачи на безусловный экстремум. Полученные выше усло-
вия экстремума сохраняют силу для внутренних точек множества Х, так
как для такой точки х* при достаточно малом d вектор х*+dh для любого h
принадлежит Х и все доказательства теорем о необходимых и достаточных
условиях проходят без изменений. Однако часто экстремум оказывается на
границе множества Х, а здесь вектора х*+ dh могут не принадлежать мно-
жеству Х и полученные результаты уже становятся неприменимыми. Здесь
мы рассмотрим классическую задачу на условный экстремум, в которой
множество Х задается конечным числом ограничений типа равенств
X={ x  Rn | gi(x) = 0, i= 1, m }, (2.17)
а более общие задачи будут рассмотрены в последующих главах.
Суть используемого подхода продемонстрируем сначала на частном
случае задачи с двумя переменными и одним ограничением
f(х1, х2)  extr на X = {(х1, х2)  R2 | g(х1, х2) = 0}. (2.18)
Пусть из уравнения g(х1, х2) = 0 мы можем однозначно выразить од-
ну переменную через другую, например х2=φ(х1). Тогда, подставляя эту
функциональную зависимость в функцию f(х1, х2), получим задачу поиска
безусловного экстремума функции одной переменной Ψ(x1) = f(x1, φ(x1)).
Если функции f и φ дифференцируемы, то по теореме Ферма, используя
правило дифференцирования сложной функции, имеем для точки экстре-
мума х*
d ( x1* ) f ( x1* ,  ( x1* )) f ( x1* ,  ( x1* )) d ( x1* )
    0. (2.19)
dx1 x1 x 2 dx1
Однако условие (2.19) неудобно, так как найти φ(x1) и ее производную в
явном виде не всегда просто. Поэтому желательно выразить все через ис-
ходные функции. Так как x2=φ(x1) эквивалентно g(x1, x2) = 0, имеем
g(x1,φ(x1)) ≡ 0, откуда при условии дифференцируемости функции g
g ( x1 ,  ( x1 )) g ( x1 ,  ( x1 )) d ( x1 )
   0. (2.20)
x1 x 2 dx1
g ( x1* ,  ( x1* ))
Если  0 , то из (2.20) получаем
x2
1
d ( x1* )  g ( x1* , ( x1* ))   g ( x1* , ( x1* )) 
    .
dx1  x1  x2 
Подставляя это выражение в (2.19), имеем в точке экстремума ( x1* , x2* ), где
x 2*   ( x1* ) , условие
1
f ( x1* , x2* ) g ( x1* , x2* ) f ( x1* , x2* )  g ( x1* , x2* ) 
     0.
x1 x1 x2  x2 

22
1
f ( x1* , x2* )  g ( x1* , x2* ) 
Если ввести величину    *
  , то последнее условие
x2  x2 
можно записать в виде двух равенств
f ( x1* , x2* ) g ( x1* , x2* )
 *  0, (2.21)
x1 x1
f ( x1* , x2* ) g ( x1* , x2* )
 *  0.
x2 x2
Введем функцию L(х1, х2, λ) = f(х1, х2) + λg(х1, х2), тогда из (2.21) получаем
L( x1* , x 2* , * ) L( x1* , x2* , * )
  0. (2.22)
x1 x 2
Условие (2.22) означает, что ( x1* , x 2* ) является стационарной точкой функ-
ции L. Правда оно дает два уравнения, а неизвестных три: х1, х2, λ. Но у нас
имеется еще одно условие g( x1* , x 2* ) = 0, т.е. получаем три уравнения с тре-
мя неизвестными, которые в принципе позволяют найти решение задачи
(2.18).
Рассмотрим теперь задачу с ограничениями типа равенств в общем
виде (2.8), (2.17). Введем для нее аналогичную функцию
m
L(x, λ)= f(x)+ 
i 1
i gi(x), (2.23)
которая называется функцией Лагранжа (здесь λ  m-мерный вектор, его
компоненты называются множителями Лагранжа). Естественно считать,
что неизвестных больше, чем связывающих их уравнений, т.е. n > m.
Теорема (принцип Лагранжа). Пусть функции f(x), g1(x), …, gm(x)
непрерывно дифференцируемы в некоторой окрестности точки х*, явля-
ющейся решением задачи (2.8), (2.17), и градиенты g'1(x*),…, g'm(x*) ли-
нейно независимы. Тогда существует вектор λ* такой, что
L( x* , * )
 0, j  1, n . (2.24)
x j
Доказательство. Так как градиенты g'1(x*),…, g'm(x*) линейно неза-
висимы, то ранг матрицы
 g1 ( x* ) g1 ( x* ) 
 ... 
 x1 xn 
 ... ... ... 
 g m ( x* ) g m ( x* ) 
 ... 
 x1 xn 
 
равен m. Значит, хотя бы один определитель m-го порядка, составленный
из ее столбцов, отличен от нуля. Без ограничения общности можно счи-
тать, что

23
g1 ( x* ) g1 ( x* )
...
x1 xm
... ... ...  0. (2.25)
g m ( x* ) g m ( x* )
...
x1 xm
Тогда по известной из анализа теореме о неявной функции в некоторой
окрестности точки x* система равенств g i ( x )  0 , i  1, m эквивалентна си-
стеме вида
x1  1 ( xm 1 ,..., xn ),..., xm   m ( xm 1 ,..., xn ),
т.е. одна часть переменных (в количестве m) однозначно выражается через
другую часть переменных (в количестве n-m), причем функции φk имеют
непрерывные частные производные. Подставляя эти функции в f, имеем
задачу на безусловный экстремум функции
 ( xm1 ,..., xn )  f (1 ( xm1 ,..., xn ),...,  m ( xm1 ,..., xn ), xm1 ,..., xn ).
Очевидно, точка ( x*m 1 ,..., x*n ) является экстремальной для , поэтому
 ( x*m 1 ,..., x*n )
 0, j  m  1, n.
x j
Вычисляя производные  и приравнивая их к нулю (в точке х*), имеем
 f m
f  k
   0, j  m  1, n. (2.26)
x j x j k 1 xk x j
Так как gi( 1 ( xm1 ,..., xn ),...,  m ( xm1 ,..., xn ), xm1 ,..., xn )  0 ,
g i m
g  k
 i  0 , i  1, m , j  m  1, n . (2.27)
x j k 1 x k x j
Умножим равенства (2.27) на λi и сложим с (2.26):
 f m
g  m  f m
g   k
   i i      i i   0, j  m  1, n . (2.28)
 x  k 1  x
 j i 1 x j   k i 1 x k  x j
Рассмотрим систему уравнений
f ( x* ) m g ( x* )
  i i  0 , k  1, m , (2.29)
x k i 1 x k
относительно неизвестных λi. Система (2.29) имеет отличный от нуля
определитель (2.25), значит существует ее единственное решение λ*1,…,
λ*m. При данных λ*i из (2.28) и (2.29) следует
f ( x * ) m * g i ( x * )
  i  0, j  m  1, n. (2.30)
x j i 1 x j
Но (2.29) при λi = λ*i и (2.30) с учетом определения функции Лагранжа эк-
вивалентны (2.24), т.е. теорема доказана.
Принцип Лагранжа дает нам n+m уравнений (n уравнений (2.24) и m
уравнений в определении (2.17) множества Х) для нахождения n+m неиз-
вестных x1,…, xn, λ1,…, λm, что позволяет в простых случаях найти решение
задачи.

24
Пример 2.2. f(x) = x1x2x3  extr,
X = {x  R3 | x1+ x2 +x3 – 1 = 0, x12 + x22+ x32 – 1 = 0}.
Градиенты ограничений (1,1,1) и (2x1, 2x2 , 2x3) линейно независимы
на Х (они зависимы при x1 = x2 = x3 , но точки такого вида не принадлежат
Х). Поэтому принцип Лагранжа справедлив. Функция Лагранжа имеет вид
L = x1x2x3 +  1(x1+ x2+ x3 –1) +  2(x12 + x22+ x32 – 1).
Имеем пять уравнений
x2x3 +  1 + 2  2x1 = 0, x1x3 +  1 + 2  2x2 = 0,
x1 x2 +  1 + 2  2x3 = 0, x1 + x2 + x3 = 1, x12 + x22 + x32 = 1.
Эта система имеет две группы симметричных решений (по три точки):
2 1  2  1
xi*  x *j  , x k*   , 1 =- ,  2 = ;
3 3 9 3
xi  x j  0 ,
* *
xk  1 ,
*
1 = 2  0.
 

4
Для первой значение функции равно – , для второй  0. Так как для
27
данной задачи выполнены условия теоремы Вейерштрасса, то существуют
глобальные максимум и минимум. Поскольку они находятся среди локаль-
ных, можно сделать вывод, что
4
mах f(x) = 0, min f(x) = - ,
xX xX 27
а все три локальных максимума и три локальных минимума являются и
глобальными.
Условие линейной независимости градиентов g'i(x*) называется
условием регулярности. Без него принцип Лагранжа в сформулированном
виде может не выполняться.

Пример 2.3. f(x) = x1  extr, X = {x  R2 | x13 – x22 = 0}.


2
Здесь из ограничения x1  x 2 3 , поэтому, очевидно, f(x) имеет един-
ственный локальный (и глобальный) минимум в (0, 0), а локальных (и гло-
бальных) максимумов нет. Функция Лагранжа L = x1 + λ(x13–x22), поэтому
дL 2
 1  3 x1 ≠ 0 при х1 = 0, т.е. принцип Лагранжа не выполняется (гради-
дx1
ент ограничения в решении равен нулю).

Если градиенты g'i (x*) линейно зависимы, то по определению суще-


ствуют такие  i, не все равные нулю, что
m

  ig'i(x*)=0.
i 1
(2.31)
Условие (2.31) также выделяет точки, подозрительные на экстремум.
Его можно объединить с (2.24), получив обобщенную форму принципа Ла-
гранжа. Для этого введем обобщенную функцию Лагранжа
m
~
L (x,  ) =  0 f(x) +   g ( x) .
i 1
i i

25
Здесь  уже (m+1)–мерный вектор. Условия стационарности для
~
~ L
функции L ( x,  ) , т.е.  0 , j = 1, n , при  0 = 1 превращаются в (2.24), а
 xj
при  0 = 0  в (2.31). Таким образом, можно утверждать, что если х* 
решение задачи (2.8), (2.17), то существует ненулевой вектор  такой, что
х* является стационарной точкой обобщенной функции Лагранжа, причем
достаточно ограничиться для  значениями 0 и 1. В рассматриваемом вы-
ше примере (без условия регулярности) обобщенная функция Лагранжа
~
L =  x1 +  1(x 1 – x 2)
3 2

и точка (0, 0) является уже для нее стационарной при  = 0,  1 = 1.


Принцип Лагранжа (обычный и обобщенный) представляет собой
необходимое условие экстремума первого порядка в задаче с ограничени-
ями типа равенств. Однако стационарные точки функции Лагранжа не обя-
заны быть решениями исходной задачи. Привлекая вторые производные,
можно получить необходимые и достаточные условия второго порядка,
аналогичные условиям для безусловного экстремума. Сформулируем (без
доказательства) достаточные условия максимума в задаче с ограничения-
ми: если функции f(x), g1(x),…, gm(x) дважды дифференцируемы в точке х*
и непрерывно дифференцируемы в некоторой ее окрестности, градиенты
g'1(x*),…, g'm(x*) линейно независимы, в точке х* выполнены условия
(2.24) при некоторых  i* и, кроме того, для матрицы вторых производных
по х функции L(x,  ) справедливо <L"xx(x*,  *)h, h> < 0 для любого нену-
левого h  Rn, удовлетворяющего условиям <g'i(x*), h> = 0, i = 1, m , т.е. ор-
тогонального всем градиентам ограничений в точке х*, то х*  решение
задачи (2.6), (2.17). Для задачи на минимум указанная квадратичная форма
должна быть положительной.

1 2
Пример 2.4. f(x) = x12 + x2  extr,
2
X = {x  R2 | x13 + x23 – 1 = 0}.
Здесь условие регулярности выполняется, т.к. g'(x) = (3x12, 3x22) ≠ 0 на Х.
1
Функция Лагранжа L = x12 + x22 +  (x13 + x23 – 1). Имеем систему из трех
2
уравнений
2x1 + 3  x12 = 0, x2 + 3  x22 = 0, x13 + x23 = 1.
Она имеет три решения:
2 1
1) x1* = 1, x2* =0, * = - , 2) x1* =0, x2* =1, * = - ,
3 3
3
2 1 9
3) x1* = , x2* = , * = - .
3
9 3
9 3
Матрица вторых производных функции Лагранжа есть

26
 2  6  x1 0 
L"xx =  .

 0 1  6 2 x2 
Проверим достаточные условия для каждого решения.
 2 0 
1) L"xx =   , g' = (3,0), если <g', h> = 0, то h2  любое,
 0 1 
2
h1=0, < L"xxh, h >= h2 >0, значит, (1, 0)  точка локального минимума со
значением f = 1.
2 0 
2) L"xx =   , g' = (0,3), если <g', h> = 0, то h1  любое, h2 = 0,
 0 1
<L"xxh, h> = 2h12 > 0, значит, (0,1)  точка локального минимума со зна-
1
чением f = .
2
  2 0
3) L"xx =   , < L"xxh, h > = -2h12 – h22 < 0 для любого h ≠ 0, зна-
0 1 
 2 1  3
9
чит,  3 , 3   точка локального максимума со значением f = .
 9 9 2
Далее мы рассмотрим ряд задач исследования операций, которые
могут быть решены с помощью классических условий экстремума.

§ 2.4. Использование классических методов поиска экстремума в


прикладных проблемах

В различных разделах исследования операций возникают проблемы,


связанные с решением экстремальных задач. Естественно, что для этих це-
лей могут быть использованы изложенные выше методы. Однако область
их применения не ограничивается только такими задачами. Часто пробле-
ма в первоначальном виде не связана явно с какой-либо экстремальной за-
дачей, но может быть переформулирована так, что для ее решения оказы-
ваются пригодными методы поиска экстремума. Рассмотрим некоторые
примеры.

Задача о строительстве моста

Выбрать место для постройки моста через реку, чтобы длина дороги
между двумя пунктами А и В, расположенными по разные стороны от ре-
ки, была наименьшей. Пусть a и b — расстояния от пунктов А и В до реки
соответственно, с — расстояние между пунктами, а h — ширина реки.
Изобразим графически данную ситуацию.

27
A

P x C

h
c-x
D
b

c
B

Если мост построен в указанном на плане месте, то длина дороги


между пунктами А и В
L=AC+h+DB.
Выбрав за независимую переменную х расстояние РС, получим
АС= a 2  x 2 , DB= b 2  (c  x) 2
и
L= a 2  x 2 + h + b 2  ( c  x ) 2 ,
где x  [0; c] .
Исследуем функцию L(х) на экстремум. Условие первого порядка
принимает вид:
dL( x) x b  ( x  c)  ( x  c) a  x
2 2 2 2

  0.
x (a 2  x 2 )[b 2  ( x  c 2 )]
Решая это уравнение, получим
ac ac
x1  и x2  .
a b ab
Точка x1 лежит вне отрезка [0; c] , точка x2 лежит внутри этого отрезка.
Исследуя точку x2 по знаку производной L'(х) слева и справа от нее, убеж-
даемся, что x2 — точка минимума. В этой точке функция L(х) принимает и
наименьшее значение из всех своих значений на этом отрезке.
Следовательно, чтобы длина дороги между двумя пунктами, распо-
ложенными по разные стороны от реки, была наименьшая, следует по-
ac
строить мост в том месте, где расстояние РС  .
ab

Задача о встрече

Два корабля плывут с постоянными скоростями u и v по прямым ли-


ниям, составляющим угол β между собой. Определить наименьшее рассто-
яние между кораблями, если в некоторый момент времени расстояния их
от точки пересечения путей были соответственно равны a и b.

28
a
β

Пусть r — расстояние между кораблями в произвольный момент


времени t. По теореме косинусов имеем
r 2  (a  ut ) 2  (b  vt ) 2  2(a  ut )(b  vt ).
Исследуя функцию r 2 (t ) на экстремум, находим, что
(bu  av) cos   au  bv
r (t 0 )  0; t 0  .
u 2  2uv cos   v 2
Подставляя t 0 в r 2 (t ) , получим
bu  a v sin 
rmin  .
u 2  2uv cos   v 2

Задача о размерах

Найти размеры цилиндрической закрытой цистерны с заданным объ-


емом V и с наименьшей полной поверхностью.
Обозначив радиус и высоту цилиндра через r и h, а его полную по-
верхность через S, получим
S = 2πrh+ 2πr 2 .
Здесь переменные r и h не являются независимыми, а связаны между собой
равенством V = πr 2 h, так как согласно условию цилиндр должен иметь за-
данный объем V. Определяя из этого равенства h и подставляя в выраже-
ние полной поверхности, получим
S = 2(πr 2 + V/r),
где r изменяется в интервале (0,+∞).
Выразив таким образом исследуемую полную поверхность цилиндра
S через одну переменную r, найдем теперь ее наименьшее значение при
изменении r в интервале (0; +∞).
Находим
S' = 2(2πr - V/r 2 ) = 2(2πr 3 - V)/r,
причем S'=0 в единственной точке r= 3 V / 2 , которая лежит в рассматри-
ваемом интервале. Эта точка является критической, так как в ней выпол-
няются все необходимые для этого условия.
Исследуем найденную критическую точку по знаку второй произ-
водной в этой точке:
S''=4(π+V/r 3 );
S''( 3 V / 2 )=12π>0,
Откуда следует, что критическая точка r= 3 V / 2 есть точка минимума.

29
Функция S(r) непрерывна в интервале (0; +∞). Поэтому согласно
свойству непрерывных функций единственный минимум функции S в ин-
тервале (0; +∞) совпадает с ее наименьшим значением в этом интервале.
При r= 3 V / 2 получим h= V/πr 2 = 2 3 V / 2 =2r.
Следовательно, цилиндрическая закрытая цистерна, имеющая любой
заданный объем, будет иметь наименьшую полную поверхность, когда ее
осевое сечение представляет квадрат.

Неравенство между средним арифметическим и средним квадрати-


ческим

Средним арифметическим чисел x1,…, xn называется, как известно,


n n
1 1 1
величина  xi , а средним квадратическим    xi2  2 . Для доказа-
n i 1 n i 1

тельства неравенства
n n
1 1 1
x i    xi2  2
n i 1 n i 1
n
рассмотрим задачу поиска максимума функции f(x) = 
i 1
xi при ограниче-
n
нии 
i 1
xi2 – B = 0. Эта задача регулярна и в соответствии с принципом Ла-
гранжа ее решение удовлетворяет системе уравнений
n
1 + 2  xi = 0, i = 1, n , 
i 1
xi2 = B.

B B
Отсюда все xi* равны между собой и xi* =± . Точка максимума xi* = ,
n n
(другая точка  минимум). Значит
n n 1
1 1 B 1
n
f(x) =
n
 i 1
xi 
n
=(
n

i 1
xi2) 2 ,
что и требовалось доказать (заметим, что неравенство превращается в ра-
венство только в случае, когда все xi равны между собой).
На этой задаче мы продемонстрировали общий прием для доказа-
тельства неравенств: одна часть неравенства приравнивается к произволь-
ной величине В и это берется в качестве ограничения, а другая часть нера-
венства выступает в роли целевой функции, для которой в зависимости от
знака неравенства ищется максимум или минимум, найденное экстремаль-
ное значение соответственно не больше или не меньше В. Таким стандарт-
ным приемом можно доказать все известные неравенства (например, Ко-
ши-Буняковского, Гельдера, со всевозможными средними), а также выво-
дить новые неравенства.

30
Метод наименьших квадратов

Имеются результаты измерений значений параметров на входе х и на


выходе y некоторого устройства:
(x1, y1), (x2, y2), …, (xn, yn).
По этим данным нужно восстановить функциональную зависимость y=f(x),
описывающую работу устройства. Уточним постановку задачи. Пусть
априори известен класс возможных функциональных зависимостей
f(x,d1,…,dk) с точностью до параметров d1,…,dk . По методу наименьших
квадратов конкретное значение вектора параметров d =(d1,…,dk) выбирает-
ся так, чтобы минимизировать сумму квадратов невязок в измерениях, т.е.
величину
n
 (d) = i 1
[yi – f(xi , d1,…, dk)] 2.
Рассмотрим для простоты линейную зависимость
f(x, a, b) = ax + b.
Тогда
n
 (a, b)= 
i 1
(yi – axi – b)2
и надо найти абсолютный минимум этой величины как функции аргумен-
тов а и b. Условие экстремума
 
 0
a b
дает систему из двух линейных уравнений
  n 2  n  n
a  xi   b  xi    xi yi ,
  i 1   i 1  i 1
 n
a x   bn 
n


  i 1 i   yi .
 i 1

Определитель этой системы


2
n
 n 
D  n x    xi  .
2
i
i 1  i 1 
Естественно считать, что не все xi равны между собой, поэтому из дока-
занного неравенства между средним арифметическим и средним квадрати-
ческим имеем D > 0. Значит, система имеет единственное решение
1   n  n 
n
a  D n xi yi    xi   yi  ,
*

 i 1  i 1  i 1 
 n  n   n  n 
b*  D 1   x i2   y i     x i   x i y i  .
 i 1  i 1   i 1  i 1 
Матрица вторых производных  есть

31
 n 2 n

 2 xi 2 xi 
    i n1 i 1 .
 
 2 xi 2n 
 i 1 
n
Ее главный минор первого порядка равен 2 xi2 , а главный минор второго
i 1

порядка равен 4D, т.е. они положительны (если не все xi равны между со-
бой). Значит, по критерию Сильвестра матрица   положительно опреде-
лена и в силу теоремы о достаточных условиях экстремума точка (а*, b*)
доставляет минимум величине  (по крайней мере, локальный).
Но так как выполнены условия следствия из теоремы Вейерштрасса,
существует глобальный минимум  , а в силу единственности экстремума
пара (а*, b*) является точкой глобального минимума  .

Мера информации

В теории информации количество информации в сообщении о зна-


чении величины, которая может принимать априори n значений с вероят-
ностями p1,…, pn, принято определять величиной
n
   pi log 2 pi .
i 1

Для этого имеется ряд оснований, связанных со свойствами функции


Н (обычно эти свойства постулируются как аксиомы и однозначно опреде-
ляют вид Н). В частности, количество информации в сообщении о значе-
нии величины, принимающей априори два значения с равными вероятно-
стями, равно единице (оно и принимается за единицу измерения информа-
ции, называемую битом). Для представления единицы информации доста-
точно одного разряда ячейки памяти машины, работающей с двоичными
числами. Поставим вопрос: сколько двоичных разрядов достаточно для
представления информации о величине, принимающей n возможных зна-
чений с неизвестными вероятностями. Другими словами, какое макси-
мальное количество информации может содержать сообщение о величине
с n возможными значениями. Для ответа на этот вопрос надо найти макси-
n
мум функции Н при ограничении p
i 1
i  1  0 (вообще говоря, еще надо

учитывать, что pi  0, i  1, n ). Функция Н не определена при pi = 0, по-


этому доопределим ее по непрерывности при pi  0 . Используя правило
Лопиталя, нетрудно получить lim  pi log 2 pi   0 , поэтому при
pi 0

32
pi0  1 , pi  0 , i  i0 полагаем H = 0 (так как Н  0, то это минимальное значе-
ние). Для нахождения максимума составим функцию Лагранжа
n
 n 
L   pi log 2 pi     pi  1 .
i 1  i 1 
Получим систему уравнений
L n

pi
  log 2 pi  log 2 e    0 , i  1, n , p
i 1
i  1,

откуда видно, что все pi равны между собой, т.е.


1
pi*  , i  1, n.
n
Для нахождения глобального максимума, который существует в силу тео-
ремы Вейерштрасса, надо это решение сравнить с граничными точками
pi=0, но на границах Н = 0.
Значит, очевидно, точка  ,...,  доставляет глобальный максимум Н
1 1
n n
со значением log2n. Это и есть искомое максимальное количество инфор-
мации. Например, при n=8 требуется три разряда.

Задачи и упражнения

1. Найти оптимальное распределение ограниченного ресурса в а


единиц между n потребителями, если прибыль, получаемая при выделении
j-му потребителю x j единиц ресурса, вычисляется по формуле c j x j .

2. Завод А расположен на расстоянии а км от железной дороги, иду-


щей в город В, и на расстоянии b км от города В. Под каким углом к же-
лезной дороге следует провести шоссе с завода А, чтобы доставка грузов
была наиболее дешевой, если стоимость перевозок по шоссе в k раз доро-
же, чем по железной дороге?

3. Найти прямоугольник наименьшего периметра, ограничивающий


заданную площадь, используя теорему о среднем.

4. Составляется электрическая цепь из двух параллельно соединен-


ных сопротивлений. При каком соотношении между этими сопротивлени-
ями сопротивление всей цепи r максимально, если при последовательном
соединении этих сопротивлений оно равно R?

33
5. Поперечное сечение открытого канала имеет форму равнобедрен-
ной трапеции. При каком наклоне φ боков «мокрый периметр» сечения бу-
дет наименьшим, если площадь «живого сечения» воды в канале равна S, а
уровень воды равен h?

6. По плану производства продукции предприятию необходимо изго-


товить 180 изделий, которые могут быть изготовлены двумя технологиче-
скими способами. При производстве х1 изделий первым способом затраты
составляют 4х1  x12 руб., а при изготовлении х2 изделий вторым способом
они равны 8х2+ x 22 руб. Определить, сколько изделий каждым из способов
следует изготовить, так чтобы общие затраты на производство продукции
были минимальны.

7. Фирма реализует автомобили двумя способами: через торговых


агентов и магазин. При реализации х1 автомобилей через торговых агентов
расходы на реализацию составляют 4 х1  х12 ден.ед., а при продаже х 2 ав-
томобилей через магазин расходы составляют х 22 ден.ед. Найти оптималь-
ный способ реализации автомобилей, минимизирующий суммарные рас-
ходы, если общее число предназначенных для продажи автомобилей со-
ставляет 200 штук.

8. Производственная функция фирмы имеет вид y  x10.25 x 20.5 , лимит


на ресурсы равен 18 ед., цены на ресурсы соответственно равны 3 и 4
ден.ед. Решите задачу максимизации выпуска фирмы, используя условия
первого и второго порядков для функции Лагранжа.

34
Глава 3. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
§ 3.1. Постановка задачи линейного программирования

В последние десятилетия появился ряд классов экстремальных задач,


к которым классические методы непосредственно оказались непримени-
мыми. Многие из них связаны с практическими проблемами техники, эко-
номики, экологии и т.д. Характерным для таких задач является наличие
ограничений в форме неравенств, большое количество переменных и огра-
ничений, недифференцируемость целевых функций или функций ограни-
чений, невыполнение тех или иных условий регулярности, что в классиче-
ской математике не рассматривалось. В теоретическом плане классические
результаты могут быть распространены на некоторые из этих случаев, но
часто они становятся малоэффективными или вообще практически непри-
менимы. Поэтому появилась потребность в разработке новых идей и мето-
дов решения экстремальных задач, что привело к формированию новой
области математики  математического программирования. Наиболее
простым и широко используемым является аппарат линейного программи-
рования, относящийся к случаю линейных целевых функций и функций
ограничений. Рассмотрим сначала несколько примеров.

Транспортная задача. Пусть имеется m складов S1,…, Sm, предна-


значенных для хранения некоторого товара, и n пунктов потребления этого
товара P1,…, Pn. Надо составить наиболее экономичный план перевозок то-
вара со складов в пункты потребления. Исходными данными являются за-
пасы товаров на складах a1,…, am, потребности пунктов потребления
b1,…,bn и стоимости перевозок единицы товара cij с каждого склада Si в
каждый пункт потребления Pj, i= 1, m , j= 1, n . Будем предполагать выпол-
ненным условие удовлетворения всех потребностей:
n m

j 1
b j   ai .
i 1
(3.1)

Произвольный план перевозок представляется матрицей X = (xi j) размера


m x n , где xij  количество товара, направляемого со склада Si в пункт
потребления Pj.
Множество допустимых планов задается следующими ограничения-
ми:
условиями неотрицательности перевозок
xij  0, i= 1, m , j= 1, n ; (3.2)
условиями ограниченности товара на складах
n

x
j 1
ij  ai , i  1, m ; (3.3)

условиями удовлетворения потребностей пунктов потребления


m

i 1
xij  b j , j= 1, n . (3.4)

35
В силу условия (3.1) множество Х, очевидно, не пусто. Точками это-
го множества являются матрицы, элементы которых удовлетворяют усло-
виям (3.2) - (3.4). Требуется выбрать из множества Х такую точку (матри-
цу), которая минимизирует общую стоимость перевозок, т.е. целевую
функцию вида
m n
W=   cij xij . (35)
i 1 j 1

Заметим, что если стоимости перевозок единицы товара с любого


склада на любой пункт потребления отличны от нуля, т.е. cij > 0, то для оп-
тимального плана перевозок, минимизирующего функцию (3.5), неравен-
ства (3.4), очевидно, будут выполняться как равенства, поэтому ограниче-
ния (3.4) можно заменить на ограничения
m


i 1
xij=bj,j= 1, n , (3.6)
что по существу не изменит задачу. Если условие (3.1) представляет собой
равенство
n m

 j 1
bj = 
i 1
a i, (3.7)
т.е. имеет место баланс наличия товара и потребности в нем, то тогда, оче-
видно, и ограничения (3.3) выполняются в виде равенств
n


j 1
xij = ai, i= 1, m . (3.8)
Это следует из того, что если в (3.3) или (3.4) хотя бы одно из огра-
ничений представляет собой строгое неравенство, то, просуммировав m+n
неравенств, придем к противоречию с равенством (3.7).
Задача минимизации (3.5) при ограничениях (3.2) - (3.4) (или (3.2),
(3.6), (3.8)) представляет собой важный случай задачи линейного програм-
мирования, называемый транспортной задачей. Для этой задачи суще-
ствуют специфические методы решения, поэтому, а также в силу ее широ-
кой распространенности, мы в дальнейшем остановимся на ней более по-
дробно.

Задача о рационе кормления. Пусть имеется возможность произво-


дить n видов кормов К1,…, Кn для животноводческой фермы. Каждый из
этих видов кормов характеризуется определенным набором полезных
свойств (калорийность, содержание перевариваемого протеина, витамин-
ных добавок и т.д.). Обозначим эти свойства буквами Н1, …, Нm. Будем
предполагать, что для каждого вида кормов Кj известно содержание в
единице веса всех указанных компонент Нi, т.е. калорий, протеина, вита-
минов и т.д. Обозначим эти характеристики кормов буквами aij, i= 1, m ,
j= 1, n . Матрица A=||aij|| размера m x n полностью характеризует все виды
кормов. Предположим, что известна годовая потребность фермы по всем
компонентам Н1, …, Нm, задаваемая вектором b= (b1,…, bm), а также вектор
стоимости кормов с=(с1,…, сn), где cj  стоимость единицы корма вида Кj.

36
Требуется составить оптимальный рацион кормления, который обес-
печивает годовые потребности фермы по всем полезным компонентам и
минимизирует общую стоимость.
Рацион кормления можно описывать вектором x = (x1 ,…, xn), где xj
 количество корма вида Кj, поставляемое на ферму в течение года. Он
должен, во-первых, удовлетворять условию неотрицательности
xj  0, j= 1, n . (3.9)
Во-вторых, должна быть обеспечена потребность во всех полезных компо-
нентах. Для фиксированного х содержание компоненты Нi в рационе равно
n


j 1
a ijxj , поэтому должны выполняться ограничения
n


j 1
aij xj  bi, i= 1, m . (3.10)

Целевая функция (стоимость всех кормов) имеет вид


n
W= 
j 1
cjxj. (3.11)
Задача заключается в минимизации (3.11) при ограничениях (3.9),
(3.10).
Более кратко ее можно записать в матричной форме:
min <c, x> при Ax  b, x  0.

Задача планирования производства. Пусть имеется m видов ресур-


сов R1,…, Rm, которые могут быть использованы для производства n видов
товаров T1,…, Tn. Для производства единицы товара Tj необходимо затра-
тить aij количества ресурса Ri, i= 1, m , j= 1, n. Матрица A = || aij || называет-
ся технологической матрицей. Известна цена cj на товар Tj и общее количе-
ство ресурсов b1,…, bm. Векторы b = (b1,…, bm), c = (c1,…, cn) называются,
соответственно, векторами ресурсов и цен.
Требуется выбрать такой план производства x = (x1,…, xn) , который в
условиях заданных ограничений на ресурсы максимизирует валовое про-
изводство (стоимость выпущенной продукции). Здесь xj  производимое
количество товара вида Tj.
Ограничения в этой задаче записываются следующим образом:
xj  0, j= 1, n ,
n


j 1
aijxj  bi, i= 1, m

или в матричной записи


x  0, Ax  b. (3.12)
n
Целевая функция имеет вид W = j 1
cjxj или

W = <c, x>. (3.13)


Задача состоит в максимизации (3.13) при условиях (3.12).

37
Мы рассмотрели ряд практических задач, сводящихся к линейным
моделям оптимизации. Возникающие математические задачи имели раз-
личную форму: они формулировались как задачи на максимум и минимум,
имели ограничения в виде равенств, неравенств типа больше или равно и
меньше или равно, смешанных типов. На первый взгляд это обстоятель-
ство осложняет изучение линейного программирования, так как требует
рассмотрения множества моделей. Однако оказывается, что все эти модели
являются лишь различными формами одной и той же задачи линейного
программирования и легко могут переводиться одна в другую стандарт-
ными преобразованиями. Это позволяет сводить задачи линейного про-
граммирования к одной определенной или нескольким наиболее удобным
формам, которые только и достаточно анализировать.
В линейном программировании, как и вообще в экстремальных зада-
чах, задача минимизации может быть сведена к задаче максимизации, и
наоборот, если в качестве целевой функции новой задачи взять целевую
функцию исходной задачи со знаком минус. Таким образом, задача мини-
n n n
мизации  с j x j эквивалентна задаче максимизации –  c j x j или
j 1 j 1

j 1
cj/xj, где
/
cj =-cj, j= 1, n .
Каждое ограничение типа меньше или равно в задаче линейного про-
граммирования можно заменить на ограничение типа больше или равно
путем умножения на –1. Таким образом, ограничение
n


j 1
aijxj  bi
эквивалентно
n


j 1
a/ijxj  b/i,
/ /
где a ij= - a ij, j= 1, n , b i = - bi.
Каждое ограничение типа неравенства можно заменить на ограниче-
ние типа равенства путем введения новой неотрицательной переменной,
называемой свободной. Так, ограничение
n


j 1
aijxj  bi
можно записать в виде
n


j 1
aijxj + y = bi, y  0,
а ограничение
n


j 1
aijxj  bi

записывается в виде
n

j 1
aijxj – y = bi, y  0.

38
Если для единообразия свободная переменная вводится и в другие
ограничения или в целевую функцию, то в качестве коэффициента при ней
берется нуль.
Ограничение типа равенства можно заменить на два противополож-
ных ограничения типа неравенства. Так, ограничение
n


j 1
aijxj = bi
эквивалентно двум ограничениям
n n

j 1
aijxj  bi, 
j 1
a/ijxj  b/i,
/ /
где a ij = - aij, b i = - bi, j= 1, n .
Если в задаче линейного программирования имеется переменная, на
которую не наложено условие неотрицательности, то ее можно заменить
на две неотрицательные переменные путем преобразования вида
xj = x/j – x//j.
Если переменная xj ограничена снизу не нулем, а некоторой кон-
стантой d, то путем замены переменных
xj = d + x/j
можно перейти к неотрицательной переменной x/j.
С помощью перечисленных преобразований любую исходную по-
становку задачи линейного программирования можно свести к наиболее
удобной форме. Различают три основных формы задачи линейного про-
граммирования.
Стандартная форма задачи линейного программирования:
n
max 
j 1
cjxj (3.14)
при ограничениях
n


j 1
aijxj  bi, i= 1, m , (3.15)

xj  0, j= 1, n (3.16)
или в матричной записи
max < c, x >, (3.17)
Ax  b, (3.18)
x  0. (3.19)
Каноническая форма задачи линейного программирования:
n
max 
j 1
cjxj
при ограничениях
n

j 1
aijxj  bi, i= 1, m , (3.20)

xj  0, j= 1, n .
В матричной записи условие (3.20) имеет вид
Ax = b. (3.21)

39
Общая форма задачи линейного программирования:
n
max j 1
cj x j

при ограничениях
n


j 1
aijxj  bi, i= 1, k , (3.22)
n


j 1
aijxj = bi, i= k  1, m, (3.23)

xj  0, j= 1, r (k  m, r  n). (3.24)
Все сказанное выше, естественно, относится и к этим трем формам,
т.е. они легко переводятся одна в другую. Стандартная форма является
частным случаем общей при k = m, r = n, каноническая  при k = 0, r = n.
Общая переводится в стандартную путем замены m – k равенств на 2(m – k)
неравенств, а в каноническую  путем замены k неравенств на k равенств
с помощью k свободных переменных. Аналогично стандартная форма пе-
реводится в каноническую, и наоборот.
Для любой конкретной задачи линейного программирования логиче-
ски возможны три случая:
а) допустимых планов нет, т.е. множество допустимых планов пусто,
тогда задача не имеет решения;
б) множество допустимых планов непусто, но на этом множестве це-
левая функция не ограничена сверху (для задачи на максимум) или снизу
(для задачи на минимум), тогда задача не имеет решения;
в) множество допустимых планов непусто, и целевая функция огра-
ничена (соответственно сверху или снизу), тогда задача имеет решение
(существует оптимальный план).
Нетрудно показать, что все случаи действительно могут иметь место.
Для этого достаточно привести соответствующие примеры:
а) max (x1 + x2), x1  0, x2  0, x1 + x2  - 1;
б) max (x1 + x2 ), x1  0, x2  0, x1 – x2  1;
в) max (x1 + x2 ), x1  0, x2  0, x1 + 2x2  1, 2x1 + x2  1.
Чтобы наглядно представить себе задачу линейного программирова-
ния, полезно рассмотреть ее геометрическую интерпретацию. Проведем
соответствующие построения для вышеприведенных примеров а) – в).
В примере а) неотрицательность переменных означает, что множе-
ство допустимых планов должно лежать в неотрицательном ортанте. Ли-
нейное неравенство x1 + x2  -1 определяет полуплоскость, лежащую ниже
прямой, задаваемой аналитически уравнением x1 + x2 = -1. Эта полуплос-
кость не имеет общих точек с неотрицательным ортантом, значит, множе-
ство допустимых планов пусто и задача не имеет решения.

40
В примере б) множество допустимых планов Х представляет собой
пересечение неотрицательного ортанта и полуплоскости, лежащей выше
прямой, определяемой уравнением x1 – x2 = 1. В отличие от предыдущего
примера это множество непусто, но не ограничено.

Линии уровня целевой функции x1 + x2, на которых она принимает


постоянные значения, изображены на рисунке пунктирными прямыми,
стрелка указывает направление роста. Очевидно, на множестве Х эта
функция сверху не ограничена, значит задача не имеет решения. Впрочем,
не следует думать, что неограниченность множества допустимых планов
обязательно влечет за собой отсутствие решения. Если в примере б) изме-
нить только целевую функцию на –(x1 + x2), то задача будет иметь решение
x10  x20  0 (направление роста функции изменится на противоположное, и
линия наивысшего уровня на множестве Х будет проходить через начало
координат).
В примере в) множество допустимых планов Х представляет собой
пересечение неотрицательного ортанта и двух полуплоскостей, ограничен-
ных сверху прямыми, задаваемыми уравнениями

x 1  2 x 2  1,

2x 1  x 2  1.

41
Так как множество Х замкнуто и ограничено, а целевая функция не-
прерывна, то по теореме Вейерштрасса задача имеет решение. Линия
наивысшего уровня функции x1 + x2 на многоугольнике Х проходит через
вершину с координатами x10  x20  13 . Это и есть решение задачи.
Таким образом, мы видим, что геометрически множество допусти-
мых планов представляет собой многогранное множество, ограниченное в
двумерном случае прямыми, а в многомерном случае  гиперплоскостя-
ми, соответствующими каждому линейному ограничению задачи. Линии
уровня целевой функции также являются прямыми или, соответственно,
гиперплоскостями, и в качестве решения задачи (если оно существует)
может быть принята вершина многогранного множества, через которую
проходит линия наивысшего (для задачи на максимум) или наинизшего
(для задачи на минимум) уровня. С помощью геометрического представ-
ления можно легко решать двумерные задачи или задачи, в которых все
переменные с помощью ограничений типа равенств выражаются через две
независимые переменные. Сложнее, но возможно, решать геометрически
трехмерные задачи; на этом возможности геометрического метода исчер-
пываются. Однако геометрическое представление подсказывает идеи более
общих методов решения задачи линейного программирования, которые ба-
зируются на важном общем свойстве задачи линейного программирования:
если задача имеет решения, то хотя бы одно из них (в случае неединствен-
ности) соответствует вершине многогранного множества допустимых пла-
нов. Основной метод решения задачи линейного программирования 
симплекс-метод  как раз и заключается в направленном переборе вершин
многогранного множества допустимых планов.

§ 3.2. Симплекс-метод

Прежде чем переходить к непосредственному изложению симплекс-


метода, рассмотрим некоторые свойства задачи линейного программиро-

42
вания, которые нам понадобятся для обоснования метода. Сначала напом-
ним некоторые определения.
Определение. Множество Х n-мерного евклидова пространства
называется выпуклым, если вместе с любыми двумя точками x1, x2  X ему
принадлежит весь отрезок, соединяющий эти точки, т.е. любая точка
x = dx1 + (1 – d)x2, где 0  d  1, принадлежит Х.
Круг, треугольник, куб, полупространство являются примерами вы-
пуклых множеств, а кольцо, например, не является выпуклым множеством.
Лемма. Множество допустимых планов задачи линейного програм-
мирования выпукло.
Доказательство. Рассмотрим задачу линейного программирования в
стандартной форме (3.17)  (3.19). Если x1, x2  X , то x1  0, x2  0, Ax1  b,
Ax2  b. Рассмотрим точку x = dx1 + (1 - d)x2 , 0  d  1. Очевидно, x  0 и
Ax= dAx1 + (1–d)Ax2  db + (1–d)b = b, т.е. x  X. Для любой другой формы
задачи линейного программирования доказательство легко получить либо
непосредственно, как для стандартной формы, либо путем перехода к
стандартной форме. Лемма доказана.
Доказательство леммы можно получить и другим путем, если ис-
пользовать такой легко проверяемый факт, что пересечение любого числа
выпуклых множеств выпукло, и учесть, что множество допустимых планов
задачи линейного программирования представляет собой пересечение ко-
нечного числа полупространств. Значит, это множество является выпук-
лым и многогранным (но не обязательно многогранником, так как может
быть и неограниченным).
Определение. Множество Х n-мерного евклидова пространства
называется замкнутым, если оно содержит все свои предельные точки, т.е.
такие точки, в каждой окрестности которых имеются точки из Х.
Предел и окрестность понимаются в обычном смысле (в евклидовой
метрике).
Лемма. Множество допустимых планов задачи линейного програм-
мирования замкнуто.
Доказательство леммы несложно и может быть оставлено в качестве
упражнения.
Определение. Точка х выпуклого множества Х называется угловой
(или крайней), если не существует таких точек x1, x2  X, x1 ≠ x2, что x=dx1+
+(1-d)x2 при некотором d  (0,1).
Например, для круга угловой является любая точка его границы, т.е.
ограничивающей его окружности, для выпуклого многогранного множе-
ства угловыми точками являются его вершины. Эти точки характеризуют-
ся по определению тем, что они не представимы в виде линейной комби-
нации двух различных точек данного множества.
Рассмотрим некоторые важные свойства выпуклых множеств.
Теорема отделимости. Для любого выпуклого замкнутого множе-
ства Х и любой точки y, не принадлежащей Х, существует разделяющая
их гиперплоскость, т.е. существует такой вектор a ≠ 0, что

43
< a, y > < inf < a, x >.
x  X.
Доказательство. Рассмотрим функцию расстояния от фиксирован-
ной точки y до произвольной точки x X:  (x, y)= |x - y|. Эта функция не-
прерывна по х, ограничена снизу (нулем), значит на замкнутом множестве
Х существует х 0 , реализующая нижнюю грань этой функции
| х 0 - y | =inf | x - y | > 0 (3.25)
x X
(точка х называется проекцией точки y на Х).
0

Возьмем в качестве вектора a= х 0 - y≠0. Так как <a, a> = <a, х 0 - y> > 0,
то
<a, х 0 > > <a, y>. (3.26)
С другой стороны, в силу (3.25) для любой точки z  X
| z – y |2  | х 0 - y |2. (3.27)
Если x  X, то в силу выпуклости Х точка
z = dx + (1-d) х 0 = х 0 + d(x - х 0 )  X, 0  d  1.
Подставив выражение для z в (3.27), имеем
| х 0 + d(x - х 0 ) - y |2  | х 0 - y |2
или
< х 0 + d(x - х 0 ) - y, х 0 + d(x - х 0 ) - y >  < х 0 - y, х 0 - y >.
Из последнего неравенства, сокращая равные члены, имеем
2d< x - х 0 , х 0 - y > + d2< x - х 0 , x - х 0 >  0  d  [0,1].
Последнее возможно лишь при
< x - х0 , х0 - y >  0
(в противном случае при d  0 приходим к противоречию). Значит
< a, x >  < a, х 0 >  x  X. (3.28)
Из (3.26) и (3.28) получаем утверждение теоремы.
Геометрически теорема означает, что можно выбрать такую гипер-
плоскость, что множество Х и точка y лежат в разных полупространствах,
определяемых этой гиперплоскостью (см. рисунок). Для этого надо взять
построенный при доказательстве теоремы вектор а и число b, удовлетво-
ряющее условию
< a, y > < b < < a, х 0 > = inf <a,x>.
x X
Гиперплоскость, определяемая уравнением <a,x>=b, отделяет y от Х.

44
Теорема об опорной гиперплоскости. В любой граничной точке х 0
выпуклого замкнутого множества Х существует опорная гиперплос-
кость, т.е. существует вектор a ≠ 0 и число b такие, что < a, х 0 > = b, <
a, x > ≥ b  х  X.
Доказательство. Рассмотрим последовательность точек yk, не при-
надлежащих Х, такую, что yk → х 0 (так как х 0 — граничная точка Х, то та-
кая последовательность существует). По теореме отделимости для каждого
yk существует ak ≠ 0 такое, что
< ak, yk > < < ak, x >  х  X. (3.29)
k k
Вектора a могут быть пронормированы | a |=1, поэтому существует (в си-
лу ограниченности)
lim ak= a≠0.
k→∞
Переходя к пределу в (3.29), имеем
< a, х 0 > ≤ < a, x >  х  X.
Осталось положить b=< a, х 0 >, и теорема доказана.
Теорема о представлении. Любая точка х 0 выпуклого замкнутого
ограниченного множества X может быть представлена в виде выпуклой
(линейной) комбинации конечного числа угловых точек этого множества.
Доказательство. Проведем его по индукции по наименьшей размер-
ности n евклидова пространства Rn, содержащего множество X.
Если n=1, то X является отрезком и утверждение теоремы очевидно.
Предположим, что теорема справедлива для n-1 и докажем ее для n.
Пусть сначала х 0 — граничная точка X. Построим в этой точке опорную
гиперплоскость π. Множество Xo=X∩π как пересечение выпуклого за-
мкнутого ограниченного множества X с выпуклым замкнутым множеством
π из (n-1)-мерного пространства является выпуклым, замкнутым, ограни-
ченным и принадлежит (n-1)-мерному пространству. По индуктивному
предположению для х 0  X найдутся угловые точки x1,…, xk множества Xo
такие, что
k k
х 0   di x i , di  0, i  1, k , d i  1.
i 1 i 1

Покажем, что x1,…, xk являются угловыми точками и для Х. Предпо-


ложим противное, т.е. что для некоторой точки xi найдутся x/, x//  X, x/≠ x//,
d  (0,1) такие, что xi=dx/+(1-d)x//. Так как xi  Xo  π , то для определяющего
π вектора a
< a, xi >= < a, х 0 >,
а поскольку π  опорная к Х гиперплоскость,
< a, x/ >  < a, х 0 >, < a, x// >  < a, х 0 >.
Так как 0 < d < 1, то
1 1
< a, x/ >= [< a, xi > - (1-d)< a, x// >]  [< a, х 0 > - (1-d)< a, х 0 >]=< a, х 0 >.
d d

45
Значит, x/  π, но x/  X, следовательно, x/  Xo=X  π. Аналогично дока-
зывается, что x//  Xo. Мы пришли к противоречию, так как xi  угловая
точка Xo.
Пусть теперь х 0  внутренняя точка X. Проведем через х 0 прямую
l. Пересечение l  X является отрезком, концы этого отрезка x/ и x// при-
надлежат границе множества X. Для них, как доказано, теорема верна, т.е.
существуют угловые точки y1,…, yk , z1,…, zr множества X такие, что
k k
x/ =   i yi ,
i 1

i 1
i = 1,  i  0, i=1, k ;
r r
x// =   i zi ,
i 1

i 1
i = 1,  i  0, i=1, r .
Но х 0 = dx/ + (1-d)x//, где 0 <d <1, следовательно,
k r
х0 = 
i 1
d  iуi +  (1-d)  i zi ,
i 1
k r
d  i  0, i = 1, k , (1-d)  i  0, i = 1, r , 
i 1
d i + 
i 1
(1-d)  i = 1,
т.е. выполняется утверждение теоремы.
Теперь можно доказать, что если задача линейного программирова-
ния имеет решение, то оно достигается в угловой точке  вершине много-
гранного множества допустимых планов (хотя, возможно, и не только в
ней).
Теорема. Если задача линейного программирования имеет решение,
то существует угловая точка множества допустимых планов, являющая-
ся оптимальным планом.
Доказательство. Пусть сначала множество допустимых планов
ограничено, тогда по теореме о представлении, условия которой в этом
случае выполнены, для любого оптимального плана х 0 найдутся такие уг-
ловые точки x1,…, xk множества X, что
k k
х0 =  di xi ,
i 1

i 1
di = 1, di  0, i = 1, k .
В любой из основных форм задача состоит в максимизации функции
< c, x>. Так как х 0  оптимальный план, то
< c, х 0 >  < c, xi >, i = 1, k .
С другой стороны,
k k
<c, х 0 > = <c,  di xi > =
i 1
i 1
di <c, xi >. (3.30)
k
В силу условия i 1
di=1 существует хотя бы одно di, отличное от нуля;
пусть d i > 0. Покажем тогда, что
0

< c, x i0 > = < c, х 0 >, (3.31)


i0
т.е. x  оптимальный план. Предположим противное, т.е.
<c, x i0 > < <c, х 0 >.
Имеем
46
di <c, х 0 >  di <c, xi > , i = 1, k , i ≠ io ,
i
d i <c, х > > d i <c, x 0 >,
0
0 0

суммируя эти неравенства для i= 1, k , получим


k
<c, х 0 > > i 1
di <c, xi >,
что противоречит равенству (3.30).
Пусть теперь Х неограничено, х 0  оптимальный план. Возьмем до-
n
статочно большое число М такое, что x
i 1
0
i < М ( xi0  компоненты n-
мерного вектора х ). Обозначим через π  гиперплоскость, определяемую
0

n
уравнением 
i 1
xi=М, а через L  полупространство, определяемое нера-
n
венством 
i 1
xi  М.
Имеем х 0  X  L и х 0  π . Множество X  L выпукло, замкнуто, огра-
ничено, поэтому существуют такие угловые точки этого множества x1,…,
xr, что
r r
х0 = 
i 1
dixi, 
i 1
di =1, di  0, i= 1, r .
Без ограничения общности можно считать, что все di>0 (иначе соответ-
ствующие нулевым коэффициентам угловые точки можно исключить из
линейной комбинации), тогда аналогично доказанному равенству (3.31)
имеем
<c, х 0 > = <c, xi >, i= 1, r .
Если хотя бы одна из точек xi является угловой для множества Х, то тео-
рема доказана. Если же все xi не являются угловыми точками для X, то обя-
зательно xi  π , i= 1, r . Действительно, если xi не является угловой для Х, то
xi = dx/ + (1-d)x//, x/ , x//  X, x/  x//, 0 < d <1.
Если при этом xi  π , то xi является внутренней точкой для L. Не-
трудно видеть, что для xi справедливо представление в виде следующей
линейной комбинации:
i x /  xi
i i x //  x i
x = d( x + ) + (1-d)(x + ),
К К
где К  сколь угодно большое положительное число. Выбором К можно
x/  xi ~ x //  x i
сделать так, что вектора ~x = xi + ~
x=x +
i
и
в разложении
К К
~
xi будут внутренними точками для L. Кроме того, ~x и ~x принадлежат от-
~
резку, соединяющему точки x/ и x//, поэтому ~x  X  L, ~x  X  L и пришли к
противоречию с тем, что xi является угловой точкой для X  L.
r
Значит, все xi  π, но тогда из представления х 0 =  dixi cледует, что
i 1

х  π, а это противоречит выбору числа М. Теорема полностью доказана.


0

47
В силу доказанной теоремы для нахождения решения задачи линей-
ного программирования достаточно ограничиться перебором угловых то-
чек или вершин множества допустимых планов. Однако при этом возни-
кают две проблемы. Во-первых, число вершин может быть очень велико,
при этом простой перебор теряет всякий смысл. Суть рассматриваемого
далее симплекс-метода как раз и состоит в организации целенаправленного
перебора, который позволяет решать практические задачи весьма большой
размерности (с большим числом вершин). Во-вторых, надо уметь находить
угловые точки в конструктивной форме, удобной для построения вычисли-
тельного алгоритма. Для этого может быть использована алгебраическая
характеристика (представление) угловых точек множества допустимых
планов задачи линейного программирования, которая обоснована в следу-
ющей теореме (для задачи в стандартной форме).
Теорема. Для того чтобы ненулевой допустимый план являлся угло-
вой точкой множества допустимых планов
X = {x | x  0 , Ax  b},
необходимо и достаточно, чтобы вектор из его ненулевых компонент x
удовлетворял квадратной невырожденной системе уравнений вида
A x= b, (3.32)
где A  квадратная подматрица матрицы A (полученная вычеркиванием
нескольких строк и столбцов матрицы A), det A ≠ 0, b  вектор из части
компонент вектора b.
Доказательство. Достаточность. Без ограничения общности мож-
но считать, что первые k компонент вектора x отличны от нуля (положи-
тельны), а последние n – k компонент равны нулю (1  k  n). Введем век-
тор-столбец
 x1 
 
x =  ... .
x 
 k
По условию теоремы существует невырожденная квадратная под-
матрица A матрицы A размера k  k такая, что A x = b , где b  вектор из
части компонент вектора b. Без ограничения общности можно считать, что
A состоит из первых k строк и первых k столбцов матрицы A, а вектор b
 вектор из первых k компонент вектора b (это всегда можно достичь со-
ответствующей переменой нумерации или перестановкой строк и столб-
цов).
Таким образом,
 а11 ... а1k   b1 
   
   ... ... ... , b   ... .
а  b 
 k 1 ... а kk   k
Предположим противное, т.е. x не является угловой точкой X, тогда
существуют x/, x//  X, x/  x//, 0 < d <1 такие, что x =dx/ +(1-d)x//. Так как x/  0,
x//  0, 0 < d < 1 и dxj/ + (1-d)xj// = xj = 0, j= k  1, n, то xj/ = xj// = 0, j= k  1, n .

48
Далее, Ax/  b, Ax//  b, т.е.
n n


j 1
aijxj/  bi, j 1
aijxj//  bi, i= 1, m,
/ //
но xj = xj = 0, j = k  1, n, значит,
k k

j 1
aij xj/  bi, 
j 1
aij xj//  bi, i= 1, k , k  m,
/ //
т.е. A x  b , A x  b , где
  x1   x1
   
.x   ... , x   ...
    x
  xk   k
/ //
С другой стороны, d A x + (1 - d) A x = A x = b , т.е.
k k
d  aij xj/ + (1 - d)  aijxj// = bi, i= 1, k , (3.33)
j 1 j 1
k
поэтому A x /= A x //= b (если хотя бы для одного i выполняется  j 1
aijxj/<bi
k k k
или  j 1
aijxj//<bi, то при 0 < d < 1 выполняется d  aij xj/+(1 - d)  aijxj//<bi,
j 1 j 1

что противоречит равенству (3.33)). Но по условию det A ≠0, значит, x /= x //


= A -1 b , откуда x/= x //, пришли к противоречию с предположением.
Необходимость. Пусть x  угловая точка множества X. Покажем
сначала, что существует такой номер i, что
n

j 1
aij xj = bi. (3.34)
Предположим противное, т.е. Ax < b. Так как x  0, существует номер
j такой, что xj >0. Рассмотрим вектора
 x1  x1 
   
 ... 
 ... 
 x  x  
 
j 1
j 1

x /   x j   ,
x//   x j    .
   
 x j 1 
 x j 1 
 ... 
 ... 
   
 xn  xn 
При достаточно малом ε > 0, очевидно, x/  0, x//  0, Ax/  b, Ax//  b,
1
т.е. x/  X, x//  X, но x = (x/ + x//), x/ ≠ x//, пришли к противоречию с тем,
2
что x  угловая точка X.
Итак, существует хотя бы один номер i, для которого справедливо
(3.34). Без ограничения общности можно считать, что равенство (3.34) вы-
полняется для i = 1, r (1  r  m). Кроме того, считаем, как и ранее, что
xj > 0, j= 1, k , xj = 0, j = k  1, n (1  k  n).

49
Рассмотрим вектора

 a11   a12   a1k 


1   2   k  
a   ... , a   ... ,  , a   ... .
a  a  а 
 r1   r2   rk 
Докажем, что они линейно независимы.
Предположим противное, что существует ненулевой вектор
 z1 
   а11 ... а1k 
 ...   
z    такой, что A z = 0, где    ... ... ... . Возьмем n-мерные вектора
z  а ... a 
 k  r1 rk 
 
 
 х  z   х  z 
     x1 
 0   0   
х 
/
, x  
//
, где x   ... .
 ...   ...  x 
 0   0   k
   
Очевидно, при достаточно малом ε выполняются неравенства
x/  0, x //  0, Ax/  b, Ax//  b
(для i = 1, r ограничения выполняются в силу того, что A z = 0, а для
n
i= r  1, n - в силу малости ε и неравенств j 1
aij xj < bi). Но тогда x/, x//  X
1 /
иx= (x + x//), что противоречит предположению о том, что x  угловая
2
точка X. Значит, r-мерные вектора а 1, а 2,…, а k независимы, а поэтому их
число не может превышать r (факт известный из линейной алгебры), т.е.
r  k. В матрице A можно выбрать независимые k строк (это также извест-
ный в линейной алгебре факт), тогда получим, очевидно, такую матрицу
A , которая удовлетворяет всем условиям теоремы. Теорема доказана пол-
ностью.
Замечание. Приведенное доказательство теоремы с незначительны-
ми изменениями годится и для задачи линейного программирования в ка-
нонической форме (провести его в качестве упражнения).
Следствие. Число угловых точек множества допустимых планов
задачи линейного программирования конечно.
Это утверждение легко вытекает из предыдущей теоремы, так как
число квадратных подматриц матрицы коэффициентов А конечно.
Вектор х, являющийся угловой точкой множества допустимых пла-
нов Х, принято называть опорным планом. Опорный план называют невы-
рожденным, если ему соответствует система уравнений вида (3.32) поряд-
ка m, где m  число строк матрицы коэффициентов A. Задача линейного
программирования называется невырожденной, если все ее опорные планы
невырождены. Условие невырожденности облегчает решение задачи ли-
нейного программирования (в частности, гарантирует сходимость сим-

50
плекс-метода), хотя и вырожденные задачи вполне доступны для практи-
ческого решения (при соответствующей модификации вычислительных
методов).
Система независимых вектор-столбцов матрицы A в разложении
(3.32) называется базисом опорного плана x. Если задача невырождена, то
базис состоит из m векторов и ранг матрицы A равен m.
Симплекс-метод состоит в последовательном переходе от одного
опорного плана к другому, доставляющему большее (для задачи на макси-
мум) значение целевой функции. Так как опорный план целиком определя-
ется своим базисом из соотношения (3.32), по существу производится пе-
ребор базисов или квадратных подматриц матрицы коэффициентов. Этот
процесс конечен, т.е. за конечное число шагов либо находится решение за-
дачи линейного программирования, либо выясняется, что она не имеет ре-
шения. Каждый шаг алгоритма симплекс-метода состоит в замене одного
из векторов базиса другим, приводящим к большему значению целевой
функции. Для реализации этой идеи необходимо, во-первых, уметь нахо-
дить начальную точку (опорный план), и, во-вторых, уметь производить
замену одного вектора базиса опорного плана другим так, чтобы происхо-
дил рост (и желательно наибольший) целевой функции. Сначала рассмот-
рим второй момент, считая известной начальную точку (произвольный
опорный план).
Задачу линейного программирования будем считать заданной в ка-
нонической форме:
max  c , x 
при ограничениях
Ах  b,
х  0.
Задача предполагается невырожденной, поэтому ранг матрицы А ра-
вен m (число строк) и число столбцов не меньше числа строк n  m (как
известно из линейной алгебры, ранг матрицы не превышает минимума из
числа строк и столбцов).
Пусть известна некоторая угловая точка x множества допустимых
планов
X  x / x  0, Ax  b.
Не ограничивая общности, можно считать, что базис этой точки образует
первые m столбцов матрицы А, т. е.
Ах  b , (3.35)
где
 a11 ...a1m   x1 
   
A   .............. , x   ... .
 a ...a  x 
 m1 mm   m
Обозначим вектор-столбцы матрицы А через а i , i  1, m , тогда базис состо-
ит из векторов а 1 ,..., а m .

51
Так как задача невырожденная, первые m компонент вектора x от-
личны от нуля (иначе получили бы систему вида (3.32) порядка меньше m),
т.е. х  0 ; остальные компоненты x равны нулю.
Соотношение (3.35) представляет собой разложение вектора ограни-
чений b по векторам а 1 ,..., а m :
m
b   а i xi . (3.36)
i 1

Разложим по векторам а 1 ,..., а m , образующим базис m-мерного про-


странства, все вектор-столбцы матрицы А:
m
а k   хik a i , k  1, n. (3.37)
i 1

Коэффициенты x ik в разложении (3.37) могут быть получены по формуле


xik  A 1 a k i ,
где через A 1 a k i обозначена i-я компонента вектора А 1а k , полученного
умножением матрицы, обратной к матрице из векторов базиса А , на век-
тор a k .
Из (3.36) и (3.37) следует для любого  и k  m  1, n
m
 k m 

i 1
x i a i
   a   xik a i   b
 i 1 
или
m

 x
i 1
i  xik a i  a k  b . (3.38)
Равенство (3.38) означает, что вектор
 x  A 1 a k 
 
 0 
 ... 
 
~  0 
x  
  
 0 
 
 ... 
 0 
 
с k-й компонентой, равной  , удовлетворяет ограничению
A~
x  b.
Если при этом x  0 , т.е. x  A a  0,   0 , то ~x  X , т.е. является допусти-
~ 1 k

мым вектором. Это накладывает следующие ограничения на  :


xi
0    min . (3.39)
1i  m x
i: x  0
ik ik

Выбором номера k (m  1  k  n) и числа  (в пределах, определяемых


(3.39)), можем попытаться добиться того, чтобы вектор ~x был опорным
планом и при этом обеспечивал большее значение целевой функции, чем
исходный опорный план, т.е.  c, x  <  c, ~x  .

52
Для того чтобы ~x был опорным планом, необходимо и достаточно,
чтобы он разлагался по базису из m векторов, и так как при   0 в разло-
жении (3.38) вводится новый вектор a k (m  1  k  n) , один из векторов
a 1 ,..., a m должен быть выведен из разложения, то есть одна из компонент
вектора x  A 1 a k должна равняться нулю. Изменение же целевой функции
равно
  c, ~x  c, x  c , x  A 1a k  ck   c , x   (ck  c , A 1a k )   (ck  z k ) ,
m m
где c  (c1 ,..., c m ) , z k   xik ci . Таким образом,   0 при x ik ci  c k .
i 1 i 1

Тут возможны три случая:


I. Существует номер k 0 (m  1  k 0  n) , для которого ck  zk  0 и 0 0

xik > 0 при некотором i (1  i  m) . Тогда положим


0

xi
  min . (3.40)
1i  m x
i:xik 0
0 ik 0

При этом компонента вектора ~ x с номером i, на котором достигается


минимум в (3.40), обратится в нуль, причем в силу предположения о невы-
рожденности этот номер единственен (иначе получили бы базис с числом
векторов меньше m). Пусть этот номер i 0 . Покажем, что система векторов
а 1 ,..., а i0 1 , а i0 1 ,..., а m , а k0 линейно независима. Предположим противное, то
есть существуют такие не все равные нулю числа 1 ,...,  i0 1 ,  i0 1 ,...,  m ,  k 0 ,
что
m

 a
i 1
i
i
  k0 a k0  0 .
i  i0

Используя разложение вида (3.37) для а k0 , имеем


m

 (
i 1
i   k0 xik0 )a i   k0 xi0 k0 a i0  0 ,
i  i0

но вектора a1,…, am линейно независимы, поэтому


 i +  k0 x ik0 = 0, i = 1, m , i  io,  k0 x i0 k0 = 0,
а так как xi k > 0, получаем  k = 0,  i = 0, i= 1, m , i  io; пришли к противо-
0 0 0

речию с предположением.
Значит, мы получили новый опорный план ~ x с базисом a1,…, a i0 1 ,
a i0 1 ,…, am, a k0 , который доставляет большее значение целевой функции,
чем исходный опорный план (  > 0), т.е. достигли поставленной цели.

II. Существует номер ko (m+1  k  n), для которого с k0  z k0  0 и


x ik0  0, i= 1, m. В этом случае ~
x  X при k=k0 и любом   0 и в то же вре-
мя    при    . Значит, целевая функция неограниченна на X, т.е. за-
дача не имеет решения.

53
III. Для всех k (m + 1  k  n) выполнено ck – zk  0. Покажем, что в
этом случае исходный план x является оптимальным.
Действительно, возьмем любой другой план x/  X. Он удовлетворяет
системе m ограничений типа равенств, т.е.
n


k 1
x/kak = b. (3.41)

Подставив в (3.41) представление всех векторов ak через базис a1,…,am


(см.(3.37)), получаем
n m m n
b=  x/k  xik a i =  a i  x/k xik.
k 1 i 1 i 1 k 1

С другой стороны, справедливо представление вектора b в виде (3.36), а


так как вектора a1,…, am независимы, то эти представления должны совпа-
дать, т.е.
n
xi =  x/kxik, i= 1, m.
k 1

Сравним теперь значения целевых функций. Так как коэффициент


разложения векторов базиса по базису есть
1, i  k ,
xik= 
0, i  k (i, k  1, m)
(каждый вектор базиса равен самому себе), для k= 1, m величины zk совпа-
дают с сk, поэтому в данном случае справедливо сk – zk  0, k= 1, n . Далее,
выполняются соотношения:
n n n m m n m


k 1
x/kck   x/kzk=  x/k  xikci=  ci  x/kxik=  cixi,
k 1 k 1 i 1 i 1 k 1 i 1

т.е.
< c, x/ >  < c, x >.
Но x/  произвольный допустимый план, следовательно, x  опти-
мальный план, что и требовалось доказать.
Таким образом, на каждом шаге мы либо переходим к лучшему
опорному плану, либо выясняем, что задача не имеет решения, либо убеж-
даемся, что имеющийся опорный план является оптимальным. Для форма-
лизации алгоритма описанного итеративного процесса удобно использо-
вать следующую таблицу, называемую симплексной.
— a1 a2 … an b с
a i1 x i11 x i1 2 … x i1n x i1 0 с i1
a i2
x i2 1 x i2 2 … x i2 n x i2 0 с i2
… …
… … … … … …
im
a x im 1 x im 2 x im n x im 0 сi m
z z1 z2 … zn z0 —
c-z c1-z1 c2-z2 … cn-zn — —

54
Эта таблица на каждом шаге соответствует текущему базису опорно-
го плана. В общем случае базис состоит из m вектор-столбцов матрицы ко-
эффициентов A с произвольными номерами i1,…, im из номеров 1, …, n.
Элементами таблицы являются коэффициенты разложения вектор-
столбцов матрицы A по базису (обозначаемые x ik j ), коэффициенты разло-
жения вектора ограничений b по базису, являющиеся компонентами опор-
ного плана, соответствующего данному базису (обозначаемые для едино-
образия x ik 0 ), компоненты вектора коэффициентов линейной формы c с
номерами i1,…, im, величины zj, j = 0 , n , определяемые по формулам
m
zj =  x i k j c i k (3.42)
k 1

(z0  значение целевой функции для данного опорного плана), разности


cj– zj, j= 1, n . Переход от одной симплексной таблицы к другой таблице сле-
дующего шага алгоритма происходит следующим образом.
Рассматривается последняя строка таблицы. Если cj – zj  0 для всех
j= 1, n , то вектор x0 с компонентами x i1 0 , , xim 0 на местах i1,…, im и с нуля-
ми на остальных местах является оптимальным планом, т.е. решение зада-
чи найдено.
Если для некоторого j0 выполняется неравенство с j0  z j0  0 и для
j0–го столбца таблицы справедливо x ik j0  0 , k= 1, m , то целевая функция
неограничена, т.е. задача не имеет решения.
Наконец, если для некоторого j0 выполняется с j0  z j0  0 и в
столбце с номером j0 существует хотя бы один положительный элемент
x ik j0  0 (1  k  m), то можно получить лучший опорный план. Для этого
выбираем j0 так, что
с j0  z j0  max(c j  z j )
1 j  n

(это позволяет добиваться на каждом шаге наибольшего возможного роста


целевой функции и тем самым уменьшить число итераций), а 0 и i0 выби-
раем из условия
xi 0 xi 0
0 = = min o
> 0. k

xi j 1 k  m
xi j
o 0
k : xik j0  0
k 0

Базис на следующем шаге получается путем замены в базисе данного шага


вектор-столбца матрицы A с номером i0 на вектор-столбец с номером j0.
Получим формулы пересчета элементов симплексной таблицы для следу-
ющего шага. Имеем
  m
m m  1 j m x   xi j  xi j
a   xik j a   xik j a  xi0 j  a  a     xik j  k 0 xi0 j a ik  0 a j0 ,
j ik ik 0 ik j0 ik
 
k 1 k 1  xi0 j0 k 1 xi j
0 0  k 1  xi0 j0  xi0 j0
ik i0  ik i0  ik i0
т.е.

55
 xik j0
 xik j  xi0 j , ik  i0 ,
 xi0 j0
xi/k j  (3.43)
 xi0 j
, ik  i0 .
 xi0 j0

По формулам (3.43) вычисляются коэффициенты первых m строк новой
таблицы (для всех j от 0 до n и всех k от 1 до m, здесь для единообразия
положено b=a 0 ). Далее по формулам (3.42) рассчитывается (m+1)-я строка
новой таблицы, определяются разности c – z, т.е. (m+2)–я строка, и про-
цесс повторяется снова.
Мы рассмотрели формализацию произвольного шага алгоритма
симплекс-метода. Для того чтобы завершить изложение этого алгоритма,
необходимо описать способ нахождения исходного опорного плана.
Наиболее распространенный способ введения искусственного базиса сво-
дит эту проблему к решению вспомогательной задачи линейного програм-
мирования. Изложим суть этого способа.
Без потери общности можно считать, что вектор ограничений b для
задачи линейного программирования в канонической форме неотрицателен
(иначе соответствующие ограничения типа равенств достаточно умножить
на – 1). Рассмотрим вспомогательную задачу
m
min и
i 1
i (3.44)
при ограничениях
Ax + и = b, x  0 , и  0 . (3.45)
Планом этой задачи является (n+m)-мерный вектор
υ = (x, и) = (x1,…, xn, и1,…, иm ).
Матрица коэффициентов этой задачи есть
 a11 ... a1n 1 0 ... 0 
 
 a21 ... a2 n 0 1 .... 0 
A/ =  .
.................................. 
 
 a ... ... a 0 0 ... 1 
 m1 mn 
Так как b  0, план  = (0, b) является допустимым (x = 0, и = b). Этому
плану соответствует базис из m последних вектор-столбцов матрицы A/
(искусственный базис), образующих единичную подматрицу. Значит, 
является опорным планом, т.е. исходный опорный план для вспомогатель-
ной задачи (3.44), (3.45) строится легко и можно сразу применять для ее
решения описанный выше итеративный процесс симплекс-метода. Пусть
получено это решение
υ* = (x*, и*).
Покажем, что если и* = 0, то x*  опорный план исходной задачи линей-
ного программирования в канонической форме, а если и* > 0, то исходная
задача не имеет решения (вспомогательная задача всегда имеет решение,
так как множество допустимых планов у нее непусто  по крайней мере
содержит  , а целевая функция (3.44) ограничена снизу нулем). Действи-
56
тельно, если и*=0, то х*  допустимый план исходной задачи, так как Ax*
= b, а поскольку симплекс-метод состоит в переборе угловых точек мно-
жества допустимых планов, т.е. υ*  угловая точка множества
X / = {υ = (x, и) | Ax + и = b, x  0, и  0},
то, очевидно, х*  угловая точка множества X = {x | Ax = b, x  0}, и мы
получили опорный план исходной задачи х*. Если и* > 0, то значение
m
вспомогательной задачи больше нуля (как 
i 1
и*i), а для любого допусти-
мого плана исходной задачи x  X можно построить допустимый план
вспомогательной задачи υ = (x, 0), на котором целевая функция вспомога-
тельной задачи принимает нулевое значение, значит в этом случае множе-
ство допустимых планов исходной задачи пусто, и она не имеет решения.
Замечание. Для современных ЭВМ программа решения задачи ли-
нейного программирования симплекс-методом, включая процедуру по-
строения исходного опорного плана с помощью искусственного базиса,
входит в стандартное математическое обеспечение.
Рассмотрим для иллюстрации следующий пример:
max (x1 + 2x2 + 3x3 )
при ограничениях
x 1  3x 2  4,

2x 1  x 3  6,
x , x , x  0.
 1 2 3
Матрица коэффициентов данной задачи имеет вид
1 3 0 
A =  .
 2 0 1 .

Исходный опорный план можно найти из решения следующей


вспомогательной задачи:
min (и1 + и2 )
при ограничениях
x 1  3x 2  u  

 x 1 x 3  u 2  ,
x x x u  u  0.
 1 2 3 1 2

Ее матрица коэффициентов имеет вид

1 3 0 1 0 
  ,
 2 0 1 0 1

а исходный опорный план  (0, 0, 0, 4, 6).


Впрочем, в данном случае опорный план нетрудно найти для исход-
ной задачи непосредственно. Для этого возьмем, например, в качестве ба-

57
зиса два первых вектор-столбца матрицы A, т.е. положим x3 = 0 и получим
опорный план
 1 
 3 , , 0 .
 3 
Обозначим вектор-столбцы матрицы A по порядку a1, a2, a3. Текущий
базис состоит из векторов a1 и a2, а вектор a3, как нетрудно заметить,
представляется в виде
1 1 1 2
a3 = a  a .
2 6
Симплексная таблица на первом шаге имеет вид

— a1 a2 a3 b с
a1 1 0 1 3 1
2
a2 0 1 
1 1 2
6 3
z 1 2 1
3
2
6 3
c-z 0 0 2
5 — —
6

Мы видим, что разность с - z положительна для третьего столбца,


значит, полученный план не является оптимальным, а так как в третьем
1
столбце имеется положительный элемент , можно улучшить значение
2
целевой функции. Положительный элемент единственен и стоит в первой
строке, значит из базиса надо вывести вектор a1 и ввести вектор a3 (на роль
вводимого вектора мог претендовать только a3, но какой из векторов a1 или
a2 следует выводить, заранее не очевидно).
Произведем пересчет по формулам (3.43), (3.42), вычислим с – z и
получим новую симплексную таблицу
— a1 a2 a3 b с
3
a 2 0 1 6 3

a2 1 1 0 4 2
3 3
z 6
2 2 3 20
2
3 3
c-z 5
2 0 0 — —
3

В этой таблице все разности с – z неположительны, следовательно, найден


оптимальный план x0 =  0 , , 6  и максимум целевой функции z 0 = 20 .
4 2
 3  3

58
§ 3.3. Двойственность в линейном программировании

В предыдущем параграфе мы научились решать задачу линейного


программирования, что, конечно, является главным моментом при изуче-
нии линейного программирования. Однако имеется еще ряд вопросов, на
которые хотелось бы иметь ответы. Например, как проверить факт суще-
ствования решения задачи линейного программирования? С помощью
симплекс-метода можно определить, имеет ли решение данная задача, но
эта проверка сводится фактически к процессу решения задачи, т.е. мы мо-
жем долго решать задачу симплекс-методом и в конце концов убедиться в
отсутствии решения. Другой вопрос  получение условий оптимальности,
с помощью которых можно было бы определить, является ли данный план
оптимальным или нет, не прибегая к процедуре симплекс-метода. Для от-
ветов на поставленные вопросы полезной оказалась теория двойственно-
сти. Вообще говоря, теория двойственности охватывает значительно более
широкий спектр задач, нежели линейные (мы далее рассмотрим некоторые
более общие ее аспекты), и результаты, связанные с двойственностью в
линейном программировании, могут быть получены как частные случаи
более общих результатов, но для простоты и конкретности мы дадим здесь
их самостоятельное изложение.
Рассмотрим задачу линейного программирования в стандартной
форме (3.17) - (3.19).
Двойственной к ней называется задача
min < b, у > (3.46)
при ограничениях
Aту  с, (3.47)
у  0. (3.48)
т
Здесь A  матрица, получающаяся транспонированием матрицы A, если
матрица A имеет размер m x n , то x  n-мерный вектор, а у  m-мерный
вектор.
Задача (3.46) - (3.48) получена из задачи (3.17) - (3.19) путем замены
операции максимизации на минимизацию, вектора коэффициентов линей-
ной формы на вектор ограничений, и наоборот, вектора ограничений на
вектор коэффициентов линейной формы, транспонированием матрицы ко-
эффициентов и заменой неравенств типа меньше или равно на неравенство
типа больше или равно. Зафиксируем пока такое правило построения
двойственной задачи.
Если задачу (3.46) - (3.48) преобразовать к стандартной форме и
применить к ней правило построения двойственной задачи, то нетрудно
убедиться, что после соответствующих преобразований получится задача
(3.17) - (3.19).
Таким образом, можно сказать, что задачи (3.17) - (3.19) и (3.46) -
(3.48) взаимодвойственные или просто двойственные задачи линейного

59
программирования, но иногда, чтобы их различать, задачу (3.17) - (3.19)
называют прямой, а (3.46) - (3.48)  двойственной.
Двойственную задачу можно построить к задаче линейного про-
граммирования в любой форме. Для этого ее следует привести к стандарт-
ной форме и использовать изложенное выше правило построения двой-
ственной задачи. Нетрудно проверить, что при этом получаются следую-
щие дополнительные правила, вытекающие из основного. Если прямая за-
дача на максимум, то двойственная на минимум, и наоборот. Если прямая
задача имеет ограничения типа равенств, то в двойственной задаче отсут-
ствует условие неотрицательности вектора. Если в прямой задаче нет
условия неотрицательности, то в двойственной задаче  ограничения типа
равенств. Можно сформулировать и другие правила, но запомнить их все
трудно, поэтому достаточно уметь приводить задачу к стандартной форме
и помнить основное правило (в следующей главе мы рассмотрим общий
принцип построения двойственных задач, из которого будут получаться
все конкретные правила).
Рассмотрим в качестве примера построение двойственной задачи к
задаче в канонической форме (3.17), (3.21), (3.19).
Приведем ее к стандартной форме:
max < c, x >
при ограничениях
Ax  b, - Ax  - b, x  0.
Матрица коэффициентов и вектор ограничений этой задачи есть
~  A ~  b 
А =   , b =  .
 A  b 
По основному правилу двойственная задача такова:
~
min < b , и >
при ограничениях
~
А ти  с, и  0.
Представим 2m-мерный вектор и в виде двух m-мерных векторов
1 2
и = (у , у ), тогда имеем
min < b, у1 - у2 >
при ограничениях
AТ(у1 - у2)  с, у1  0, у2  0.
Введем вектор у = у1 - у2, тогда имеем окончательно двойственную задачу
min < b, у >
при ограничениях
Aту  с.
В этой задаче нет условия неотрицательности вектора у, так как раз-
ность двух неотрицательных векторов есть вектор с произвольными ком-
понентами.
Вернемся к двойственным задачам (3.17) - (3.19) и (3.46) - (3.48). Для
них справедливо следующее утверждение.

60
Теорема. Для любых допустимых планов x и у двойственных задач
(3.17) - (3.19) и (3.46) - (3.48) выполняется неравенство
< c, x >  < b, у >. (3.49)
0 0
Если для некоторых допустимых планов x и у этих задач выполня-
ется равенство
< c, x0 > = < b, у0 >, (3.50)
то x  решение задачи (3.17) - (3.19), у  решение задачи (3.46) - (3.48).
0 0

Доказательство. Пусть x и у  произвольные допустимые планы


двойственных задач, т.е. Ax  b, x  0, Aту  с, у  0. Тогда
< c, x >  < Aту, x > = < у, Ax >  < у, b >,
т.е. справедливо неравенство (3.49).
Пусть теперь x0 и у0 таковы, что выполняется (3.50). Возьмем произ-
вольные допустимые планы x и у двойственных задач. В силу доказанного
первого утверждения теоремы
< c, x >  < b, у0>= < c, x0>,
< b, у >  < c, x0> = < b, у0>,
следовательно, x0 и у0  оптимальные планы двойственных задач. Теорема
доказана полностью.
Неравенство (3.49) дает возможность оценивать сверху с помощью
допустимого плана двойственной задачи значение прямой задачи (и наобо-
рот). Равенство (3.50) представляет собой условие экстремума для прямой
и двойственной задач. В следующем утверждении сформулированы усло-
вия существования решений двойственных задач.
Теорема существования. Если задачи (3.17) - (3.19) и (3.46) - (3.48)
имеют хотя бы по одному допустимому плану, то они обе имеют реше-
ния.
Доказательство. В силу условий теоремы множества допустимых
планов задач непусты и по доказанному неравенству (3.49) целевые функ-
ции на них ограничены (прямой задачи сверху, а двойственной снизу), зна-
чит с учетом замкнутости множеств допустимых планов обе задачи имеют
решения, что и требовалось доказать.
Для дальнейшего исследования двойственных задач нам понадо-
бится еще один вспомогательный факт из теории выпуклых множеств.
Теорема (о разделяющей гиперплоскости). Если X и Y  выпуклые,
замкнутые множества, не имеющие общих внутренних точек, то суще-
ствует разделяющая их гиперплоскость, т.е. существуют такие ненуле-
вой вектор a и скаляр d, что
< a, x >  d  x  X, < a, у >  d  у  Y.
Доказательство. Рассмотрим множество, представляющее собой
разность множеств X и Y, т.е.
Z = X – Y = {x - y | x  X, y  Y}.
Множество Z является, очевидно, выпуклым и замкнутым, а точка 0
не является его внутренней точкой, т.е. либо вообще не принадлежит Z,
либо является его граничной точкой. Применяя теорему отделимости (в

61
первом случае) или теорему об опорной гиперплоскости (во втором слу-
чае), имеем, что существует такой вектор a  0 , для которого
< a, x –y >  < a, 0 > =0  x  X, у  Y.
Отсюда < a, x >  < a, y >  x, у и можно, очевидно, подобрать такое чис-
ло d, что выполняется утверждение теоремы.
Теперь можно доказать основное утверждение теории двойственно-
сти в линейном программировании  первую теорему двойственности.
Теорема двойственности 1. Двойственные задачи линейного про-
граммирования (3.17) - (3.19) и (3.46) - (3.48) либо обе имеют решения x0 и
у0, причем обязательно
< c, x0> = < b, у0>,
либо обе не имеют решения.
Доказательство. Пусть сначала существует решение x0 прямой зада-
чи (3.17) - (3.19). Покажем, что существует решение двойственной задачи
у0. Рассмотрим множество (m+1)-мерных векторов вида
  b  Ax  
P =  p    | x  0 .

   c, x  x   .
o

Множество это представляет собой область значений векторов


 b  Ax 
 
  c, x  x o   в (m+1)-мерном пространстве для всех x из неотрицательного
 
ортанта n-мерного пространства.
Так как x0  решение задачи (3.17) - (3.19), то не могут одновремен-
но выполняться неравенства b – Ax >0 и < c, x – x0> > 0, значит, множе-
ство P не имеет общих внутренних точек с неотрицательным ортантом
m 1
(m+1)-мерного пространства, который обозначим R . Кроме того, оче-

m 1
видно, P выпукло и замкнуто, поэтому к множествам P и R можно

применить доказанную выше теорему отделимости. Значит существуют
такой вектор a  0 и скаляр d, что
m 1
< a, p >  d  p  P, < a, q >  d  q  R .

Относительно a и d можно утверждать, что a  0 и d = 0. Действи-
тельно, если хотя бы одна компонента a отрицательна, то, выбирая после-
довательность векторов qk из неотрицательного ортанта с неограниченно
возрастающей данной компонентой и равными нулю всеми остальными
компонентами, получим <a, qk >   , что противоречит < a, q >  d  q.
m 1
Далее, 0  R , поэтому d  0; с другой стороны, вектор p/ =(b – Axo)  0,

а значит, < a, p/ >  0, т.е. d  0, следовательно, d = 0, т.е. разделяющая ги-
перплоскость проходит через начало координат.
m 1
Таким образом, <a, p>  0  p  P, <a , q>  0  q  R . Более

того, можно утверждать, что вектор a может быть выбран так, что am+1>0.

62
Это следует из того, что P есть многогранник и с гранью ортанта
q1=…=qm=0 он может иметь только одну общую точку  начало коорди-
m1
нат, поэтому разделяющая P и R гиперплоскость не обязана совпадать

с этой гранью, но если гиперплоскость отлична от грани q1 = … = qm = 0, то
у определяющего ее вектора (m+1)-я компонента отлична от нуля.
Итак, am+1 > 0, а так как уравнение определяемой вектором a разде-
ляющей гиперплоскости < a, z >=0 и расположение “положительного” и
“отрицательного” полупространств не изменяется от умножения вектора а
на любое положительное число, то можно считать, что am+1 = 1.
Обозначим теперь вектор из первых m компонент вектора a через y0
и покажем, что y0  решение задачи (3.46) - (3.48). Имеем
<y0, b – Ax> + <c, x- x0 >  0  x  0,
откуда
<c – Aтy0, x>  <c, x0> - <b, y0>  x  0. (3.51)
т 0
Так как последнее неравенство справедливо для любого x  0, то A y  c (в
противном случае хотя бы одна из компонент вектора c – Aтy0 положитель-
на и, выбирая вектор x с большой данной компонентой и нулевыми
остальными, получим в левой части неравенства сколь угодно большое
число, т.е. придем к противоречию).
Значит y0 ≥ 0 и Ат y0  с, т.е. y0  допустимый план задачи (3.46) -
(3.48). Положим теперь в неравенстве (3.51) x = 0, получим
<c, x0 > - <b, y0 > ≥ 0.
Но, с другой стороны, из (3.49) следует, что должно выполняться обратное
неравенство, значит справедливо равенство (3.50), но отсюда, как было до-
казано, следует, что y0  решение задачи (3.46) - (3.48).
Таким образом, если прямая задача имеет решение, то и двойствен-
ная задача имеет решение, и экстремальные значения этих задач совпада-
ют. Если двойственная задача не имеет решения, то и прямая задача не
имеет решения, так как, предположив существование решения прямой за-
дачи, мы получим по доказанному, что существует решение двойственной
задачи, т.е. придем к противоречию. Но задачи (3.17) - (3.19) и (3.46) -
(3.48) являются взаимодвойственными, т.е. разделение их на прямую и
двойственную является чисто условным, поэтому аналогично справедливы
утверждения, что если двойственная задача имеет решение, то и прямая
имеет решение, и экстремальные значения этих задач совпадают, если
двойственная задача не имеет решения, то и прямая не имеет решения.
Теорема доказана полностью.
Следующее утверждение называется второй теоремой двойственно-
сти (или теоремой о дополняющей нежесткости).
Теорема двойственности 2. Если x0 и y0  соответственно реше-
ния задач (3.17) - (3.19) и (3.46) - (3.48), то
n
1) а
j 1
i j x 0j < bi  yi0  0 ,

63
n
y i0  0   a i j x 0j  bi ;
j 1
m
2) а
i 1
i j y i0  c j  x 0j  0,
m
x 0j  0   ai j yi0  c j .
i 1

Доказательство. Рассмотрим скалярное произведение <y0, b - Ax0>.


Так как y0 ≥ 0, Ax0 ≤ b, то <y0, b - Ax0 >  0. С другой стороны, <y0, b - Ax0 >
= <b, y0 > - <Атy0, x0 > ≤ <b, y0 >- <c, x0 > = 0, значит, <y0, b - Ax0 >=0, т.е.
m n

 y i0 (bi   a i j x 0j )  0, откуда следует первое утверждение теоремы.


i 1 j 1

Аналогично, если рассмотреть < x0, Ат y0-c >, то, с одной стороны, в
силу x0 ≥ 0, Ат y0 ≥ c выполняется неравенство < x0, Атy0 – c > ≥ 0, а с другой
стороны,
<x0, Атy0 – c > = <Ax, y0 > - <c, x0 > ≤ <b, y0> - <c, x0> = 0,
значит <x0, Атy0 –c>=0 и справедливо второе утверждение теоремы.
Установленные свойства двойственных задач используются в ряде
вычислительных алгоритмов для ускорения или упрощения процесса ре-
шения.
Мы рассмотрим это на примере транспортной задачи.

§ 3.4. Транспортная задача

Наряду с общими методами (например, симплекс-методом) в ли-


нейном программировании имеются специальные методы и модификации,
которые позволяют ускорить процесс решения, учитывая специфику зада-
чи (главным образом, структуру ограничений). К числу специальных за-
дач, для которых созданы собственные методы решения, относится, в
первую очередь, транспортная задача. Внимание к этой задаче обусловле-
но тем, что она, во-первых, имеет важное прикладное значение, во-вторых,
к ней сводятся многие другие задачи линейного программирования (сете-
вые задачи, задача о назначениях, задачи календарного планирования), в-
третьих, структура ограничений этой задачи обладает ярко выраженной
спецификой, которую удается эффективно использовать при разработке
вычислительных методов. Рассмотрим некоторые из них. Будем предпола-
гать, что имеет место баланс наличия товара и потребности в нем (3.7) (за-
дачи с нарушенным балансом как в одну, так и в другую сторону легко
сводятся к этому случаю путем введения дополнительного “фиктивного”
склада или пункта потребления).
Тогда задача сводится к минимизации (3.5) при ограничениях (3.6),
(3.8), (3.2).
План этой задачи представляет собой вектор размерности mn; если
его компоненты записать в следующем порядке:
х = (x11,…, x1n, x21,…, x2n,…, xm1,…, xmn),

64
то матрица коэффициентов имеет вид
n n n

1  1  
 1  1  
  m
   
  (3.52)
A 1  1 
1 1 1  
  
     n
 1 1 1  
(на остальных местах стоят нули).
Среди m + n ограничений типа равенств (3.6), (3.8) независимыми в
силу условия баланса (3.7) являются не более m+n-1, значит можно поло-
жить равными нулю по крайней мере
k= mn - (m+n-1) = (m-1)(n-1)
компонент и найти все остальные из уравнений (3.6), (3.8), т.е. базис для
транспортной задачи состоит не более чем из m+n-1 векторов, а опорный
план имеет не более чем m+n-1 ненулевых компонент.
Множество допустимых планов транспортной задачи, очевидно, не-
пусто и ограничено, следовательно, она всегда имеет решение.
Рассмотрим сначала вопрос о нахождении начального опорного пла-
на транспортной задачи. Простейший способ ее построения, так называе-
мый метод “северо-западного угла”, состоит в следующем. Будем запол-
нять таблицу.
Таблица 1
1 2 … n
1 a1
2 a2

m am
b1 b2 … bn //////////

Клетка на пересечении i-й строки и j-го столбца соответствует переменной


xij, i= 1, m , j  1, n. Клетка в “северо-западном углу” соответствует перемен-
ной x11. Положим x11*  min (a1 , b1 ). Если при этом x11*  a1 , т.е. a1 ≤ b1, то весь
запас товаров со склада S1 направлен в пункт потребления P1 и значит
x1*j =0, j= 2, n.

Если же x11* = b1, т.е. a1 ≥ b1, то потребности пункта потребления P1 удовле-


творены и значит

65
xi*1 =0, i= 2 , m.
Таким образом, после первого шага с учетом изменений запаса това-
ра на S1 и потребности в товаре P1 получим одну из двух таблиц

Таблица 2 Таблица 3
a1 0 … 0 0 b1 а1- b1
a2 0 a2


am 0 am
b1-а1 b2 … bn //// 0 b2 … bn ////////

Эти таблицы отличаются от начальной тем, что у них заполнены ли-


бо первая строка, либо первый столбец. Снова рассматриваем клетку в “се-
веро-западном углу ”. Для таблицы 2 это клетка на пересечении второй
строки и первого столбца; соответствующая переменная полагается равной
*
x21  min (a2 , b1  a1 ). Для таблицы 3 это клетка на пересечении первой строки
и второго столбца; соответствующая переменная полагается равной
x12*  min (a1  b1 , b2 ). В любом случае, заполняя нулями соответствующую
строку или столбец, получаем таблицу, в которой заполнены либо две пер-
вые строки, либо два первых столбца, либо первая строка и первый стол-
бец. Продолжая этот процесс до полного заполнения таблицы 1, получим,
очевидно, допустимый план x*, причем нетрудно показать, что план x* яв-
ляется опорным.
Имея опорный план, мы можем применить для решения транспорт-
ной задачи симплекс-метод. Однако в данном случае удобно использовать
двойственную задачу, так как она имеет весьма простой вид
 m n 
max   a i u i   b j v j  (3.53)
 i 1 j 1 
при ограничениях
ui+ vj ≤ cij, i  1, m , j  1, n. (3.54)
Задача (3.53), (3.54) получена по общему правилу построения двой-
ственных задач с учетом вида матрицы A (см.(3.52)).
Вектор y=(u1,…, um, v1,…, vn), являющийся допустимым планом двой-
ственной задачи (3.53), (3.54), может иметь как положительные, так и от-
рицательные компоненты.
Из второй теоремы двойственности следует, что если x0 и y0  опти-
мальные планы задач (3.5), (3.6), (3.8), (3.2) и (3.53), (3.54), то
x ij0 (c ij  u i0  v 0j )  0,
т.е. либо x ij0  0 , либо u i0  v 0j  cij (возможно одновременно). В данном слу-
чае оказывается, что это свойство можно использовать как признак опти-
мальности. Точнее, если x0 и y0  допустимые планы этих задач и если для

66
индексов i, j, для которых x ij0  0 , выполняется u i0  v 0j  c ij , то x0  опти-
мальный план транспортной задачи.
Действительно, при этом выполняется
m n m n

  cij xij0 
i 1 j 1
 cij xij0   (ui0  v 0j ) xij0    (ui0  v 0j ) xij0 
i 1 j 1
i , j : x ij0  0: i , j : x ij0  0
m n n m m n
=  u i0  x ij0   v 0j  x ij0   a i u i0   b j v 0j ,
i 1 j 1 j 1 i 1 i 1 j 1
0 0
т.е. x и y доставляют одинаковые значения целевым функциям двой-
ственных задач, значит, они являются решениями этих задач.
Переменные ui и vj двойственной задачи называются потенциалами
складов Si и пунктов потребления Pj, а их суммы ~сij  u i  v j  псевдостои-
мостями перевозок. Таким образом, признаком оптимальности допустимо-
го плана транспортной задачи x0 являются условия:
с~ij  cij , i  1, m , j  1, n ,
~
cij  cij для базисных переменных ( x ij0  0 ).
Эти условия используются в модификации симплекс-метода, называемой
методом потенциалов, которая применительно к решению транспортной
задачи является весьма удобной и эффективной.
Алгоритм метода потенциалов состоит в следующем. Выбирается
начальный опорный план x* транспортной задачи (например, методом “се-
веро-западного угла”). Он имеет не более n+m-1 ненулевых компонент.
Обозначим множество пар индексов (i, j), для которых xij*  0 через П*. Для
определения m+n двойственных переменных u *i , v*j , i  1, m , j  1, n , имеем си-
стему уравнений
ui*  v*j  cij , ( i, j )  П *. (3.55)
В системе (3.55) число уравнений меньше числа неизвестных, поэтому
можно одно неизвестное положить равным нулю и легко найти последова-
тельно все остальные. Далее, для пар индексов (i, j)  П* проверяются нера-
венства
*ij  c ij  (u i*  v *j )  0.
Если *ij  0 (i, j )  П * , то данный опорный план x* является оптималь-
ным. Если существует пара (i0, j0), для которой *i0 j0  0 , то x* не является
оптимальным и осуществляется переход к новому опорному плану, в кото-
ром переменная xi0 j0 уже будет базисной, т.е. будет осуществляться пере-
возка из S i0 в Pj0 . Для простого определения такого опорного плана ис-
пользуется циклическая переброска. В таблице 1, заполненной компонен-
тами предыдущего опорного плана x*, выбирается замкнутая ломаная ли-
ния, которая начинается и заканчивается в клетке (i0, j0), кроме этой клетки
линия имеет вершины (точки излома) только в клетках, соответствующих

67
базисным переменным плана x*, и в каждой вершине делает поворот на
900.
Пусть получилась последовательность пар индексов, соответствую-
щих вершинам цикла, ( i0, j0), ( i1, j0),( i1, j1)…( i0, jk). Число членов этой по-
следовательности, очевидно, четно.
Положим
 = 0minrk
x *ir 1 jr > 0 (3.56)
(здесь для единообразия считается ik+1=i0).
Возьмем новый план, у которого компоненты, соответствующие не-
четным членам построенной последовательности, больше соответствую-
щих компонент плана x* на θ, компоненты, соответствующие четным чле-
нам последовательности, меньше на θ, а остальные  равны компонентам
плана x*. Новый план х является, очевидно, допустимым и опорным, он
имеет одну новую базисную переменную x*i j   , а одна бывшая базисная 0 0

переменная плана (на которой достигается минимум в (3.56)) в плане х


равна нулю. При переходе от плана x* к плану х изменение целевой
функции равно
m n
   cij ( xij  xij* )  ci j ( xi j  xi* j )   ci1 j0 ( xi1 j0  xi*1 j0 ) 
0 0 0 0 0 0
i 1 j 1

 ci1 j1 ( xi1 j1  xi*1 j1 )  ...  ci0 jк ( xi0 jк  xi*0 jk )   [ci0 j0  (u i*0   *j0 ) 
 (u i*1   *j1 )  ...  (u i*k   *jk )  (u i*0   *jk )]   [ci0 j0  u i*0   *j0 ]    * i0 j0  0 ,
т.е. новый план лучше старого.
Принимая х за начальный опорный план, делаем следующую ите-
рацию. За конечное число шагов придем к оптимальному плану.
Для иллюстрации описанного процесса решения транспортной задачи рас-
смотрим численный пример и для него построим начальный опорный план по ме-
тоду “северо-западного угла” и сделаем одну итерацию по методу потенциалов.
Пусть в транспортной задаче m=3, n=4, a1=20, a2=12, a3=8, b1=10,
b2=15, b3=8, b4=7, а коэффициенты линейной формы проставлены в пра-
вых верхних углах клеток таблице 4, в которой методом “северо-западного
угла” построен начальный опорный план.
Таблица 4

68
Найдем теперь потенциалы. Уравнения (3.55) здесь имеют вид
u1+v1=10, u2+v3=6,
u1+v2=8, u3+v3=3,
u2+v2=10, u3+v4=5.
Положим u*1 = 0, получаем v*1=10, v*2=8, u*2=2, v*3=4, u*3=-1, v*4=6. По-
считаем псевдостоимости для внебазисных переменных
~
с 21*  12 , ~
с31*  9 , ~
c32*  7 , ~
c13*  4 , ~
c14*  6 , ~
c 24*  8.
Начальный опорный план не является оптимальным, так как, напри-
мер, ~c21*  c 21 . Сделаем x21 новой базисной переменной. Для построения но-
вого опорного плана осуществим переброску по циклу из четырех клеток
(2,1), (1,1), (1,2), (2,2) в количестве   5 (см. таблицу 4). При этом получим
новый опорный план х  , у которого x11  5, x12  15, x22  0, x21  5 , и
уменьшим значение целевой функции на 35. Продолжая этот процесс, по-
лучим решение задачи (проделать в качестве упражнения).

§ 3.5. Целочисленное программирование

Если внимательно проанализировать процесс решения транспортной


задачи, то можно заметить любопытное свойство: если исходные данные
транспортной задачи являются целыми числами, то существует ее решение
с целыми компонентами. Это свойство, однако, присуще далеко не всем
задачам линейного программирования. Вместе с тем, часто из содержа-
тельного смысла задачи вытекает необходимость нахождения целочислен-
ного решения. В общем случае требование целочисленности решения яв-
ляется дополнительным (и очень существенным) ограничением, которое
может сильно осложнить решение задачи.
Примерами задач целочисленного линейного программирования яв-
ляются задача о назначениях и задача о коммивояжере.
1. Задача о назначениях. Имеются п сотрудников, которые могут
выполнять п работ, причем использование i-го сотрудника на j-й работе
приносит доход сij (i,j= 1, n ). Требуется поручить каждому сотруднику вы-
полнение определенной работы так, чтобы максимизировать суммарный
доход.
Введем переменные:
x ij  1, если i-й сотрудник выполняет j–ю работу и x ij  0 в против-
ном случае.
С учетом того, что каждый сотрудник выполняет одну работу и каж-
дую работу кто-то делает, получаем такую задачу. Найти
n n
max  cij xij
i 1 j 1

при ограничениях
n n

 xij  1, j  1, n,
i 1
x j 1
ij  1, i  1, n,

69
xij равно либо 0, либо 1.
2. Задача коммивояжера.
Имеется п городов, занумерованных числами от 1 до п. Коммивоя-
жер, выезжая из города 1, должен побывать в каждом городе ровно один
раз и вернуться в исходный пункт. Известны расстояния между городами
сij (i,j= 1, n , i  j ). Требуется найти самый короткий маршрут.
Введем переменные (i,j= 1, n , i  j ):
x ij  1, если в маршрут входит переезд из города i в город j, и x ij  0
в противном случае.
Сразу очевидны ограничения
n n

 xij  1, j  1, n,
i 1
x
j 1
ij  1, i  1, n (i  j ) , (3.57)

которые отражают требования однократного въезда и выезда из каждого


города.
Однако эти ограничения еще полностью не описывают допустимые
маршруты. Дело в том, что они не исключают возможности разрыва пути,
т.е. появления нескольких не связанных между собой подмаршрутов для
части городов. Чтобы исключить такую возможность, обычно вводят до-
полнительные переменные ui , i  1, n, которые можно считать неотрица-
тельными и целыми числами, и записывают еще (n - 1)2 - (п - 1) ограниче-
ний
ui - u j + n xij  n-1, i, j  2, n, i  j . (3.58)
Покажем, что ограничения (3.58) исключают возможность существо-
вания подмаршрутов. Действительно, если имеется подмаршрут, включа-
ющий k городов и начинающийся и заканчивающийся в одном из них, то
для соответствующих переменных, очевидно, выполняются соотношения
n

x
i М
ij  1, j  М x
j М
ij  1, i  М ,

где М — множество номеров городов, образующих подмаршрут. Тогда,


суммируя неравенства (3.58) для индексов i, j  М и учитывая, что все ве-
личины ui сокращаются вследствие связности и замкнутости подмаршрута,
придем к противоречию:
kn  k(n - 1).
Необходимо еще показать, что ограничения (3.58) не исключают до-
пустимый маршрут. Для этого положим число ui равным порядковому но-
меру города i по маршруту следования коммивояжера. Тогда для тех пар
(i, j), для которых xij = 0, неравенства (3.58) вытекают просто из условий

70
1  ui  n, откуда следует, что ui - u j  n - 1, а для тех пар (i, j), для которых
xij = 1, справедливы, очевидно, равенства ui - u j = -1 (город с номером j
следует за городом с номером i), и неравенства (3.58) выполняются как ра-
венства.
Итак, задача коммивояжера состоит в минимизации целевой функ-
ции
n n

 с x
i 1 j 1
ij ij (3.59)

при ограничениях (3.57), (3.58), где переменные xij , ui — неотрицательные


целые числа.
Строго говоря, описанные задачи не относятся к задачам линейного про-
граммирования в их изначальном понимании, поэтому такие задачи часто
называются просто задачами целочисленного (или дискретного) програм-
мирования. Однако их отличие от обычных задач линейного программиро-
вания состоит только в наличии дополнительных ограничений на значения
переменных, целевая функция и основные ограничения по-прежнему ли-
нейны, поэтому имеются достаточные основания для включения их в ли-
нейное программирование, тем более что некоторые целочисленные задачи
могут быть непосредственно сведены к задачам линейного программиро-
вания. Это целиком относится к задаче о назначениях. Действительно, если
в этой задаче требование целочисленности переменных заменить условия-
ми xij  0 , то она превращается, по существу, в транспортную задачу (толь-
ко на максимум целевой функции), найдя целочисленное решение которой
описанными в предыдущем параграфе методами, и решим задачу о назна-
чениях (компоненты решения в силу имеющихся ограничений могут быть
равны либо 0, либо 1).
Однако в общем случае целочисленная задача не сводится к обычной
задаче линейного программирования. Примером служит задача о коммиво-
яжере. О возникающих тут сложностях говорит тот факт, что одной этой
задаче посвящено множество книг.
Среди методов решения целочисленных задач можно выделить два
направления: методы отсечения и комбинаторные методы. Рассмотрим их
вкратце.
Методы отсечения. В основе методов лежит идея специального по-
строения вспомогательных обычных задач линейного программирования.
Рассмотрим задачу целочисленного линейного программирования в
канонической форме:
71
найти
max c, x (3.60)
при ограничениях
Ах=b, (3.61)
х 0; (3.62)
х — целочисленный вектор. (3.63)
Нетрудно видеть, что из факта существования решения задачи
(3.60)—(3.62) не следует наличие решения у задачи (3.60) - (3.63). Поэтому
непосредственное решение задачи (3.60) - (3.62) может не давать ничего
для решения задачи (3.60) - (3.63).
Рассмотрим множество допустимых планов задачи (3.60) - (3.62), т.е.
X  x Ax  b, x  0.
Для простоты будем считать, что Х непусто и ограничено, т.е. явля-
~
ется многогранником. Обозначим через X множество допустимых планов
задачи (3.60) - (3.63), т.е. множество всех целочисленных векторов, при-
~
надлежащих X. В силу ограниченности Х множество X (если оно непусто)
состоит из конечного числа точек х1, ..., xN. Обозначим через X выпуклую
~
оболочку множества X , т.е. множество всех точек вида
N N
x    i x i ( i  0, i  1, N ,  i  1 ).
i 1 i 1

Из свойств задачи линейного программирования следует, что макси-


~
мумы линейной формы c, x на множествах X и X совпадают, причем
среди решений задачи максимизации c, x на X есть целочисленные век-
торы. Значит мы, в принципе, построили обычную задачу линейного про-
граммирования, которая нам дает решение исходной целочисленной зада-
чи. Однако эта замена задач является формальной, так как явное описание
множества X представляет собой также сложную проблему, а без него
нельзя применять обычные методы решения задач линейного программи-
рования. Возникает мысль последовательно аппроксимировать множество
X , отсекая части множества Х. Рассмотрим в общих чертах один из конст-
руктивных способов проведения таких отсечений (так
называемый первый алгоритм Гомори).
Для последовательной аппроксимации множества X
используются отсечения частей множества Х гипер-
плоскостями, которые имеют следующие свойства:
~
а) для любого вектора множества X выполняет-

72
ся неравенство
a, x  d ; (3.64)
б) для некоторого нецелочисленного оптимального плана задачи
(3.60) - (3.62) выполняется неравенство
a, x* >d.

Такие отсечения называются правильными (см. рис.). Последова-


тельное применение правильных отсечений позволяет аппроксимировать
множество X , а добавление ограничений вида (3.64) к ограничениям ис-
ходной задачи не выводит ее из класса задач линейного программирова-
ния. При этом возникает проблема конструктивного построения правиль-
ных отсечений, причем таких, которые бы за конечное число шагов приво-
дили к множеству X , т.е. позволяли решить целочисленную задачу. Для
решения этой проблемы предложен следующий способ.
В качестве исходной задачи берем задачу (3.60) - (3.62) и находим ее
решение, но не любое, а обладающее следующим свойством: среди всех
решений задачи оно имеет наибольшую первую компоненту, если таких
решений несколько, то среди них выделенное решение имеет наибольшую
вторую компоненту и т.д. Такое решение называется лексикографическим;
оно может быть найдено несложной модификацией симплекс-метода.
Пусть для исходной задачи лексикографическое решение есть х (0). Если х
(0) — целочисленный вектор, то он является решением задачи (3.60) -
(3.63). Если нет, то находим его нецелочисленную компоненту с наимень-
шим номером; пусть это s. В симплексной таблице, соответствующей
опорному плану х(0), берем s-ю строку, соответствующую s-му вектору ба-
зиса. Ее элементы при описании симплекс-метода обозначались через
хsj , j  0, n. Пусть множество индексов j, соответствующих внебазисным пе-
ременным, обозначено J.
Введем величины
 s 0  xs 0  ;  sj  xsj , j  J ,
где z  z  z  — дробная часть числа z (разность между числом и его це-
лой частью).
В качестве новой задачи берем следующую задачу:
найти
max c, x
при ограничениях
Ах=b,

73

j J
sj x j  xn 1   s 0 , х  0 , xn+1  0. (3.65)

Она отличается от исходной наличием дополнительной переменной


xn+1 и дополнительного ограничения (3.65). Для нее находим лексикогра-
фическое решение и итеративный процесс повторяется. За конечное число
шагов либо находим решение целочисленной задачи (3.60) - (3.63), либо
выясняем, что оно не существует.
Мы описали схему алгоритма метода отсечения. На практике ис-
пользуются его более совершенные модификации, позволяющие упростить
и ускорить итеративный процесс.
Комбинаторные методы. Представление о комбинаторных методах
дает наиболее известный и широко используемый на практике метод вет-
вей и границ.
Основная идея метода состоит в разбиении априорного множества
планов (возможно содержащего и недопустимые планы) на подмножества,
которые в свою очередь разбиваются на подмножества и т.д. При этом
среди возникающих подмножеств могут быть такие, которые не содержат
допустимых планов или заведомо не содержат оптимальных планов. Если
это удается определить на некотором этапе с помощью тех или иных оце-
нок, то такие подмножества исключаются из дальнейшего рассмотрения. В
результате решение находится частичным (а не полным) перебором.
Графически указанный процесс можно представить структурной
схемой в виде дерева, у которого каждая вершина соответствует некоторо-
му подмножеству планов (и, обычно, связанной с ним вспомогательной за-
даче линейного программирования), а выходящие из нее ветви отвечают
разбиению этого подмножества на новые подмножества планов (и связан-
ным с ними задачам).
Если с помощью имеющихся оценок определяется, что некоторое
подмножество не содержит допустимых или оптимальных планов, то на
соответствующей ему вершине доходящая до нее ветвь обрывается. Таким
образом, процесс состоит в построении ветвей и определении их границ,
что и отражено в названии метода.
Как видно, метод ветвей и границ обладает большой универсально-
стью и может применяться для решения не только целочисленных задач.
Вместе с тем он оказывается достаточно эффективным лишь в том случае,
когда используемый конкретный алгоритм учитывает специфику решае-
мой задачи. Рассмотрим один такой алгоритм для задачи коммивояжера
(3.57) - (3.59).

74
Основную сложность в задачу коммивояжера вносит ограничение
(3.58). Если его отбросить, т.е. рассмотреть задачу минимизации (3.59) при
ограничениях (3.57), где переменные xij неотрицательны (не обязательно
целочисленные), то получается транспортная задача, решение которой бу-
дет представлять собой вектор с компонентами 0 и 1 (как для задачи о
назначениях). Однако это решение не всегда можно использовать непо-
средственно для задачи коммивояжера, так как оно не обязательно будет
замкнутым маршрутом, т. е. в нем могут содержаться не связанные между
собой замкнутые подмаршруты, которые как раз и исключаются ограниче-
нием (3.58). В связи с этим обстоятельством используется более сложная
итеративная вычислительная процедура.
На первом шаге решается вспомогательная задача (3.59), (3.57). В
качестве оценки Q1 используется априорная верхняя граница минимально-
го значения целевой функции, например, Q1= с12  с23  ...  сn1 , что соответ-
ствует маршруту через все города в порядке их нумерации.
Если решение вспомогательной задачи представляет собой маршрут
в задаче коммивояжера, то это наилучший маршрут. Если оно содержит
подмаршруты, то из них выбирается содержащий наименьшее число горо-
дов и каждому хij= 1 в данном подмаршруте ставится в соответствие новая
задача, которая отличается от исходной лишь тем, что в ней соответству-
ющее сij полагается равным  (на практике достаточно большому числу),
чтобы в дальнейшем исключить данный подмаршрут.
Таким образом, к началу второй итерации имеем несколько задач
типа транспортной. Решаем их по порядку. Если при решении очередной
задачи ее значение оказывается не меньше текущего значения оценки (для
первой задачи это Q1), то переходим к следующей задаче. Если же значе-
ние очередной задачи меньше текущего значения оценки, то в случае, ко-
гда ее решение представляет собой маршрут, полагаем оценку равной это-
му значению и переходим к следующей задаче, а в случае, когда ее реше-
ние образует подмаршруты, выбираем подмаршрут с наименьшим числом
городов и каждому хij= 1 в этом подмаршруте ставим в соответствие новую
транспортную задачу с соответствующим сij =  , после чего переходим к
следующей задаче. Перебрав все задачи, которые имелись к началу второй
итерации, получим новую совокупность задач и некоторое значение оцен-
ки. С ними проводим третью итерацию и т.д. Процесс заканчивается, когда
на очередной итерации не появляется ни одной новой задачи.

75
Данная глава дает общее представление о линейном программирова-
нии как разделе исследования операций. Более подробное изложение задач
и методов линейного программирования содержится, например, в работах
[3, 7].
Задачи и упражнения

Пример 3.1.
Решите задачу линейного программирования симплекс-методом.
f ( x)  x1  9 x 2  5 x 3  3 x 4  4 x 5  14 x 6  min
 x1  x 4  20,
 x  x  50,
 2 5

 x 3  x 6  30,
 x 4  x 5  x 6  60, x j  0, ( j  1,...,6).
Р е ш е н и е.
В данном случае матрица системы ограничений-равенств имеет вид:
100100 
 
 010010 
А , ее ранг r = 4 = m. С помощью эквивалентных преобразований
001001 
 
 000111 
 
 x2  x1  x3  40
 x  x  20
 4 1
приводим эту систему к виду  ,
 x5  x1  x3  10
 x6  x3  30
т.е. базисными являются переменные x 2 , x 4 , x 5 , x 6. . Полагая внебазисные
переменные x1 и x3 равными нулю, находим x2  40, x4  20, x5  10, x6  30 ,
т.е. базисное решение x ( 0)  ( 0,40,0,20,10,30). Так как все базисные перемен-
ные в x ( 0) положительны, данное базисное решение является допустимым
(т.е. угловой точкой) и невырожденным. Исключив базисные переменные в
выражении для целевой функции, получим
f ( x)  880  7 x1  14 x3 .
Составляем симплекс-таблицу, соответствующую угловой точке x ( 0)

— a1 a2 a3 a4 а5 а6 b с
a2 1 1 1 0 0 0 40 9
a4 1 0 0 1 0 0 20 3
a5 -1 0 -1 0 1 0 10 4
a6 0 0 1 0 0 1 30 14
z 8 9 19 3 4 14 880
c-z -7 0 -14 0 0 0

76
Среди коэффициентов последней строки симплекс-таблицы есть от-
рицательные  это элементы -7 и -14. Следовательно, угловая точка x ( 0)
не является решением задачи.
Найдем разрешающий элемент. В качестве опорного возьмем стол-
бец таблицы, соответствующий переменной x3.
Так как min (40/1,30/1)=30/1, то разрешающей является строка, соот-
ветствующая базисной переменной x 6 . Итак, опорный элемент выделен в
симплекс-таблице.
Заполнив новую симплекс-таблицу, получим:

а1 a2 a3 a4 а5 а6 b с
a2 1 1 0 0 0 -1 10 9
a4 1 0 0 1 0 0 20 3
а5 -1 0 0 0 1 1 40 4
a3 0 0 1 0 0 1 30 5
z 8 9 5 3 4 0 460
c-z -7 0 0 0 0 14

Отметим, что значение f ( x ) в новой угловой точке уменьшилось по


сравнению со значением в исходной  460 вместо 880. В нижней строке
последней таблицы есть отрицательный элемент -7, стоящий в столбце при
свободной переменной x1 . Кроме того, в этом столбце имеются положи-
тельные элементы, поэтому возможно дальнейшее уменьшение f ( x ) с по-
мощью очередного шага симплекс-метода.
На данном шаге выбор опорного столбца однозначен и определяется
отрицательным элементом -7 последней строки. Так как min
(10/1,20/1)=10/1, то строка при базисной переменной x2 является разреша-
ющей. Опорный элемент в последней таблице выделен.
Как и на предыдущем шаге находим очередную симплекс-таблицу:

a1 a2 a3 a4 а5 а6 b с
1
a 1 1 0 0 0 -1 10 1
a4 0 -1 0 1 0 0 10 3
а5 0 1 0 0 1 1 50 4
a3 0 0 1 0 0 1 30 5
z 1 2 5 3 4 7 390
c-z 0 7 0 0 0 7

77
В этой симплекс-таблице в последней строке оба коэффициента по-
ложительны. Поэтому угловая точка x ( 2 ) , соответствующая внебазисным
переменным x 2 , x 6 является точкой минимума целевой функции.
f (x) : x  x ( 2)  (10;0;30;10;50;0) . Минимальное значение f ( x ) записано в пра-
вом нижнем углу симплекс-таблицы, f   390 .

Задачи 1 - 4 решите симплекс-методом.

1. В условиях задачи 6 из главы 1 найдите оптимальный план рас-


пределения средств на рекламу, максимизирующий прибыль.

2. Имеется три вида сырья: А, В, С, которые используются для про-


изводства двух видов продукции  1 и 2. В распоряжении находятся 500
единиц сырья А, 750 единиц сырья В и 200 единиц сырья С. Продукт 1 со-
стоит из одной единицы сырья А и двух единиц сырья В. Продукт 2 состо-
ит из двух единиц сырья А, одной единицы сырья В и одной единицы сы-
рья С. Доход от производства одной единицы продукта 1 составляет 4
ден.ед., а от единицы продукта 2  5 ден.ед. Сколько единиц каждого
продукта нужно производить, чтобы максимизировать прибыль?

3. Необходимо составить наиболее дешевую смесь из трех веществ.


В состав смеси должно входить не менее 6 единиц химического вещества
А, не менее 8 единиц вещества В и не менее 12 единиц вещества С. Имеет-
ся три вида продукции (1, 2, 3), содержащих эти химические вещества в
следующих пропорциях:

А В С
1 2 1 3
2 1 2 4
3 3 1,5 2

Стоимость одной весовой единицы продукта 1  2 ден.ед., продукта


2  3 ден.ед., продукта 3  2,5 ден.ед.

4. Металлургический завод из металлов А, В, С может выпускать


сплавы трех видов. В течение планируемого периода завод должен освоить
не менее 640 т металла А и 800 т металла В, при этом металла С может
быть израсходовано не более 860 т.
Определить минимальные затраты, если нормы расхода и себестои-
мость следующие:

78
Вид Нормы расхода металла
металлов 1 2 3 bi
А 1 4,3 2,6 640
В 5 1,5 3 800
С 3 3,9 4,3 860
cj 18 15 15

5. Груз, находящийся в пунктах А и В, необходимо перебазировать в


пункты С и D. В этих пунктах имеется соответственно груза на 6 и 4 ма-
шины. В пункты С и D надо отправить соответственно 3 и 7 машин груза.
В таблице указаны расстояния между пунктами в километрах. Требуется
спланировать перевозки так, чтобы суммарный пробег был наименьшим.

С D
А 80 30
В 60 90

6. На трех складах А, В, С находится сортовое зерно соответственно


10, 15, 25 т, которое надо доставить в четыре пункта: пункту 1  5 т, 2 
10 т, 3  20 т, и 4  15 т. Стоимость доставки одной тонны со склада А
в указанные пункты соответственно равны 80, 30, 50, 20 ден.ед.; со склада
В  40, 10, 60, 70 ден.ед. и со склада С  10, 90, 40, 30 ден.ед. Составить
оптимальный план перевозки зерна в четыре пункта, минимизирующий
стоимость перевозок.

Пример 3.2.
Используя графический метод, найдите решение следующей задачи
линейного программирования
f ( x)  3 x1  2 x 2  min,
 x1  2 x 2  7,

2 x1  x 2  8,
 x  3, x , x  0.
 2 1 2

Р е ш е н и е.
Изобразим на плоскости ( x1 , x2 ) допустимое множество D (много-
угольник АВСDЕ) и одну из линий уровня  3x1  2 x2  с целевой функции.
Направление убывания f ( x ) указывает вектор е  ( 3,2 ). Совершая парал-
лельный перенос линии уровня вдоль направления е , находим ее крайнее
положение. В этом положении прямая  3x1  2 x2  с проходит через вер-
шину D(3,2) многоугольника АВСDЕ. Поэтому целевая функция f ( x ) при-

79
нимает минимальное значение f в точке x ( 3,2 ) , причем
f  f ( 3,2 )  13.
x2

C
B

A E x1

Решите следующие задачи линейного программирования, используя


геометрическую интерпретацию.
7. Найти максимальное значение функции f  3 x1  2 x 2 при ограниче-
ниях
7 x1  2 x 2  14,
 x  2 x  2,
 1 2

7 x1  10 x 2  28,
 x i  0, i  1,2.

8. Найти максимальное значение функции


f  16 x1  x 2  х 3  5 х 4  5 х 5
2 x1  x 2  x 3  10,
 2 x  3 x  x  6,
при ограничениях 
1 2 4

2 x1  4 x 2  x 5  8,
 x  0, i  1,5.
 i
9. При продаже двух видов товаров используется 3 типа ресурсов.
Норма затрат ресурсов на реализацию единицы товара, общий объем каж-
дого ресурса и прибыль от реализации единицы товара заданы в таблице.

Норма затрат 1 2
Ресурсы bi
1 2 2 12
2 1 2 8
3 4 0 16
cj 2 3

80
Требуется найти оптимальный план реализации товаров, обеспечи-
вающий торговому предприятию максимальную прибыль.

10. Составить математическую модель двойственной задачи и по ее


решению найти оптимальное решение исходной.
f  1,5 x1  2 x 2  min
 2 x1  x 2  7,
 x  2 x  8,
при ограничениях  1 2

3 x1  4 x 2  12,
 x1 , x 2  0.

11. Для производства двух видов продукции А и В используются три


вида сырья. Исходные данные приведены в таблицах:

Продук- А В
ция bi
Сырье
1 1 5 35
2 2 1 16
3 1 0 6
cj 2 3

Требуется 1) составить линейную оптимизационную модель, объяс-


нить ее элементы и соотношения; 2) графическим методом найти опти-
мальный план и оптимальное значение целевой функции; 3) записать двой-
ственную задачу; 4) найти решение двойственной задачи; дать интерпрета-
цию полученным значениям y1 , y 2 , y 3 ; 5) провести анализ чувствительно-
сти к изменению c1 , c2 ; 6) провести анализ чувствительности к изменению
b1 , b2 , b3 ; 7) предприятие может приобрести дополнительно сырье одного из
видов на сумму 1 ден.ед.; какое сырье следует приобрести, если стоимость
единицы сырья 1, 2 и 3 видов равна 0,4; 0,8; 0,2 соответственно?

12. Сформулировать математически и решить задачу коммивояжера


со следующими данными
n=4, c12=c21=25, c13=c31=40, c14=c41=30, c23=c32=50, c24=c42=20, c34=c43=60.

81
Глава 4. НЕЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

§ 4.1. Задача математического программирования

В предыдущей главе мы познакомились с линейным программиро-


ванием. Приведенные примеры показывают, что многие практические про-
блемы можно формулировать математически как задачу линейного про-
граммирования. Однако имеются проблемы, в которых связи заведомо не
являются линейными. Таковы, например, задачи увеличения масштабов
производства, перехода на новую технологию, оптовой торговли и т.д. По-
этому ясна необходимость изучения нелинейных моделей и методов их
анализа. Модели эти, конечно, сложнее линейных и разработанные для них
методы менее эффективны, чем методы решения линейных задач.
Нелинейные задачи мы уже рассматривали в главе 1. Однако это бы-
ли задачи без ограничений или с ограничениями типа равенств. Здесь мы
остановимся на случае ограничений типа неравенств, которые изучаются в
рамках математического программирования.
Общей задачей математического программирования называется за-
дача отыскания максимума функции f(x) при ограничениях
g i ( x)  0, i  1, m, (4.1)
x  R, (4.2)
где R  некоторое непустое подмножество n-мерного евклидова простран-
ства.
Если ввести множество
 
X  x x  R, gi ( x)  0, i  1, m , (4.3)
то кратко эту задачу можно записать как задачу определения величины (в
предположении существования максимума)
vˆ  max f ( x)  f ( x 0 ). (4.4)
x X

Вообще говоря, в задаче могут быть одновременно ограничения типа


равенств и неравенств. Однако такую задачу можно преобразовать к ука-
занному виду. Действительно, ограничение вида равенства g ( x)  0 можно
заменить двумя ограничениями вида неравенств g ( x)  0, g ( x)  0 , а огра-
ничение вида g ( x)  0 можно заменить на - g ( x)  0 , т.е. система ограни-
чений (4.1) имеет общий вид. Разделение ограничений на (4.1) и (4.2) не
носит принципиального характера, так как каждое из них может быть за-
писано в одном из этих двух видов, но иногда оказывается полезным. Так в
задаче линейного программирования записывается отдельно условие неот-
рицательности x  0 , хотя это просто частный вид линейного ограничения.
Кстати, нетрудно видеть, что задача линейного программирования есть
частный случай задачи (4.4). Действительно, если f(x) и g i (x) линейные
функции, R  неотрицательный ортант, а (4.1) переписать в виде обратных

82
неравенств, то получим задачу линейного программирования в стандарт-
ной форме.
Точку x 0 называют решением, или точкой глобального максимума,
или оптимальным планом, множество X  допустимым множеством или
множеством допустимых планов (вообще говоря, оно может быть и пу-
стым), его точки  допустимыми точками или допустимыми планами.
Для задачи (4.4) можно построить функцию Лагранжа (по аналогии
со случаем ограничений типа равенств):
m
F ( x, y )  f ( x)   y i g i ( x), (4.5)
i 1

где y  ( y i ,..., y m )  вектор множителей Лагранжа. Однако применительно


к задаче с ограничениями вида (4.1), (4.2) метод множителей Лагранжа
нуждается в некоторой модификации, для описания которой нам понадо-
бятся новые важные понятия. Кроме того, метод множителей Лагранжа
может быть усилен для некоторых частных случаев общей задачи матема-
тического программирования. Важнейшими такими случаями являются
линейное программирование, для которого, как будет показано, метод Ла-
гранжа уже фактически был обоснован и использован, и выпуклое про-
граммирование, которое будет далее рассматриваться. Кроме того, мы по-
знакомимся с основными численными методами решения задач математи-
ческого программирования.

§ 4.2. Седловые точки и двойственность

Важную роль в математическом программировании играет понятие


седловой точки, которая определяется следующим образом.
Определение. Пара ( x 0 , y 0 ) называется седловой точкой функции
F(x,y) на прямом произведении множеств XY, если
F ( x, y 0 )  F ( x 0 , y 0 )  F ( x 0 , y ) x  X , y  Y (4.6)
или эквивалентно
max F ( x, y 0 )  F ( x 0 , y 0 )  min yY
F ( x 0
, y ). (4.7)
x X

Основными свойствами седловых точек является взаимозаменяе-


мость и эквивалентность. Если (х1,у1) и (х2, у2)  седловые точки, то (х1, у2)
и (х2, у1)  также седловые точки (взаимозаменяемость), при этом
F(х1, у1)=F(х1, у2)=F(х2, у1)=F(х2, у2)
(эквивалентность). Доказательство этих фактов непосредственно вытекает
из определения, и мы его оставляем в качестве упражнения.
Аргументы х и у функции F(x, y) мы будем считать векторами соот-
ветственно n–мерного и m–мерного евклидовых пространств. Таким обра-
зом, из определения седловой точки следует, что в этой точке по одной
группе переменных функция достигает максимума, а по другой  мини-
мума. Хотя в этом состоит существенное отличие седловых точек от точек

83
максимума или минимума функций, условия для их определения анало-
гичны условиям экстремума. Так, если ( x 0 , y 0 ) является внутренней точкой
произведения XY, функция F(х, у) непрерывно дифференцируема по всем
переменным, то в седловой точке ( x 0 , y 0 ) необходимо выполнение условий
F ( x 0 , y 0 ) F ( x 0 , y 0 )
  0, j  1, n, i  1, m . (4.8)
x j yi
Среди решений системы уравнений (4.8) могут быть и точки максимума, и
точки минимума, и седловые точки, и другие критические точки (напри-
мер, точки перегиба).
Возникает вопрос: если в седловой точке функция F(x, y) достигает
максимума по х и минимума по у, то нельзя ли находить эти точки после-
довательным применением операций поиска максимума и минимума
функций. Если мы берем минимум функции F(x, y) по у, то получаем
функцию от х:
 ( x)  min F ( x, y ).
yY

У этой функции можно брать максимум по х, в результате получается ве-


личина (в предположении достижимости верхней и нижней граней)
 1  max  ( x)  max min F ( x, y ). (4.9)
x X x X yY

Величина v1 называется максимином функции F(x, y), а задача ее


определения называется максиминной задачей.
Аналогично определяется минимакс функции F(x, y):
 2  min  ( y )  min max F ( x, y ), (4.10)
yY yY x X

где
 ( y )  max F ( x, y ).
x X

В общем случае, когда соответствующие верхняя и нижняя грани не


обязательно достигаются, можно определить величины
  sup inf F ( x, y ), (4.11)
x X yY

v~  inf sup F ( x, y ), (4.12)


yY x X

которые превращаются в v1 и v2 при достижимости всех граней. Вообще


говоря, существенным является достижимость только верхней грани в
(4.11) и нижней грани в (4.12), эти грани называются наружными; если они
достигаются, то соответствующие точки реализации верхней грани в (4.11)
и нижней грани в (4.12) называются решениями максиминной и минимакс-
ной задач. Теперь наш вопрос можно переформулировать так: имеют ли
отношение решения максиминной и минимаксной задач к седловым точ-
кам? Оказывается имеют и самое непосредственное. Но прежде чем пока-
зать это, докажем одну простую, но важную лемму.
Лемма. Величины v и v~ , определенные выражениями (4.11), 43.12),
всегда связаны соотношением
v  v~ ,

84
т.е. имеет место неравенство
sup inf F ( x, y )  inf sup F ( x, y ). (4.13)
x X yY yY x X

Доказательство. Из определений верхней и нижней граней следуют


следующие неравенства
inf F ( x , y )  F ( x , y  ) y  Y ,
yY
v  sup inf F ( x , y )  sup F ( x , y  ) y  Y ,
xX yY xX

откуда v  inf sup F ( x, y)  v~, что и требовалось доказать.


yY x X

В (4.13) может быть как равенство, так и строгое неравенство. Это


видно из следующих простых примеров.
Пример 4.1. F ( x, y )  ( x  y ) 2 , 0 х 1, 0 у 1.
Здесь
v  max min( x  y ) 2  0 ,
0  x 1 0  y 1

1
v~  min max( x  y ) 2  min{ min (1  y ) 2 , min y 2 }  ,
0  y 1 0  x 1
0 y 
1 1
 y 1 4
2 2

т.е. имеет место неравенство v  v~ .


Пример 4.2. F ( x, y )  ( x  y ) , 0 х  1, 0 у 1.
Здесь
v  max min( x  y )  max( x  1 )  0 ,
0  x  1 0  y 1 0  x 1

v~  min max( x  y )  min ( 1  y )  0 ,


0  y  1 0  x 1 0  y 1

т.е. имеет место равенство v  v~.


Оказывается, что существование седловых точек связано с двумя
моментами: достижимостью наружных граней в (4.11) и (4.12), т.е. суще-
ствованием решений х0 и у0 максиминной и минимаксной задач, и выпол-
нением равенства v  v~. Если выполняется и то и другое, то пара ( x 0 , y 0 ) об-
разует седловую точку и любая седловая точка состоит из решений задач
(4.11) и (4.12); естественно, их может быть несколько. Если хотя бы один
из указанных моментов отсутствует, то у функции F(x, y) седловых точек
нет. Докажем эти важные факты.
Теорема (необходимые и достаточные условия существования сед-
ловой точки). Для того чтобы функция F(x, y) имела седловую точку на Х
Y, необходимо и достаточно выполнения равенства
max inf F ( x, y )  min sup F ( x, y ). (4.14)
x X yY yY x X

Доказательство. Необходимость. Пусть существует точка (х0, у0),


удовлетворяющая (4.7), тогда
sup inf F ( x, y )  sup F ( x, y 0 )  F ( x 0 , y 0 )  inf F ( x 0 , y ),
x X yY x X yY

откуда
sup inf F ( x, y )  max inf F ( x, y )  inf F ( x 0 , y )  F ( x 0 , y 0 ).
x X yY x X yY yY

Аналогично
85
inf sup F ( x, y )  inf F ( x 0 , y )  F ( x 0 , y 0 )  sup F ( x, y 0 ),
yY x X yY x X

откуда
inf sup F ( x, y )  min sup F ( x, y )  sup F ( x, y 0 )  F ( x 0 , y 0 ).
yY x X yY x X x X

Тем самым доказано (4.14), причем х0 и у0  решения задач (4.11),


(4.12).
Достаточность. Так как равенство (4.14) подразумевает достижи-
мость наружных верхней и нижней граней, то существуют х0 и у0 такие, что
inf F ( x 0 , y )  max inf F ( x, y ),
yY x X yY

sup F ( x, y )  min sup F ( x, y ),


0

x X yY x X

причем
inf F ( x 0 , y )  sup F ( x, y 0 ).
yY x X

По определению верхней и нижней граней


inf F ( x 0 , y )  F ( x 0 , y 0 )  sup F ( x, y 0 )  inf F ( x 0 , y ),
yY x X yY

т.е. справедливо (4.7) и ( x 0 , y 0 )  седловая точка.


Приведенные выше примеры показывают, что седловая точка может
существовать и не существовать. В примере 4.2 седловая точка существует,
это (1,1); в примере 4.1 седловой точки нет.
В математическом программировании понятие седловой точки ис-
пользуют для построения теории двойственности. Вернемся к общей зада-
че математического программирования (4.3), (4.4). Введем функцию Ла-
гранжа (4.5) и рассмотрим максиминную задачу
v  max inf F ( x, y ),
yY
(4.15)
xR

где Y  неотрицательный ортант, т.е. Y={y| y 0}.


Теорема. Задачи (4.3), (4.4) и (4.5), (4.15) эквивалентны, т.е. v̂  v и
решение х0 одной задачи (если оно существует) является решением другой.
Доказательство. Рассмотрим функцию
 ( x)  inf F ( x, y ),
yY
хR.
Если хХ, то gi(x)  0, i  1, m , и F(x, y)  f(x). Так как F(x,0)=f(x), (х)
f(x) на множестве Х. Если хR\X, то хотя бы для одного i выполняется
gi(x)<0. Выбирая последовательность векторов уkY с неограниченно воз-
растающей данной компонентой yik   и нулевыми остальными компо-
нентами, получаем, что (х)= -  на множестве R\X. Значит, если Х=, то
обе задачи не имеют решения. Если Х  , то
v  sup  ( x )  sup f ( x )  v̂
x X x X

и точки максимума функций (х) и f(x), если верхние грани достигаются,


совпадают. Теорема доказана.
Рассмотрим теперь минимаксную задачу для функции Лагранжа:

86
v~  min sup F ( x, y ). (4.16)
yY xR

Определение. Задача (4.5), (4.16) называется двойственной к задаче


(4.3), (4.4); соотношение ~v  v̂ , если оно выполняется, называется соотно-
шением двойственности, а теоремы, устанавливающие (при некоторых
предположениях) справедливость этого соотношения, называются теоре-
мами двойственности.
Так как выше было показано, что vˆ  v и v  ~v (последнее для любых
функций F(x, y)), всегда справедливо vˆ  v~ , но соотношение двойственно-
сти не обязательно должно выполняться, и действительно иногда оно спра-
ведливо, а иногда и нет. Выполнение соотношения двойственности связано
с существованием седловой точки у функции Лагранжа.
Теорема. Если функция Лагранжа (4.5) имеет седловую точку на R
Y, то выполняется соотношение двойственности, причем если (x0, y0) 
седловая точка функции Лагранжа, то x0  решение задачи (4.3), (4.4), а
y0  решение двойственной задачи (4.5), (4.16). Обратно, если задачи
(4.3), (4.4) и (4.5), (4.16) имеют решения х0 и у0 и выполнено соотношение
двойственности, то (x0, y0)  седловая точка функции Лагранжа (4.5).
Доказательство данной теоремы непосредственно вытекает из теоре-
мы об эквивалентности задач (4.3), (4.4) и (4.5), (4.15) и теоремы о необхо-
димых и достаточных условиях существования седловой точки.
Факт существования седловой точки у функции Лагранжа представ-
ляет не просто теоретический интерес. На нем основываются методы ре-
шения задач математического программирования, в первую очередь, метод
множителей Лагранжа. Действительно, если (x0, y0) - седловая точка
функции Лагранжа (4.5), то по определению
F ( x 0 , y 0 )  max F ( x , y 0 ),
xR

т.е.
m m
f ( x 0 )   yi0 gi ( x 0 )  max( f ( x)   yi0 gi ( x)).
xR
i 1 i 1
0
В простейшем случае, когда х  внутренняя точка R, это означает,
что существует такой вектор множителей Лагранжа у0, что
F ( x 0 , y o ) f ( x 0 ) m 0 g i ( x 0 )
   yi  0, j  1, n . (4.17)
x j x j i 1 x j
Уравнения (4.17) представляют собой обычный метод множителей Ла-
гранжа для нахождения экстремума функции с ограничениями на перемен-
ные. Однако тут заложены два предположения. Одно, менее существенное,
что х0  внутренняя точка множества R. Если это не так, то условия опти-
мальности претерпевают некоторые изменения, мы это продемонстрируем
в дальнейшем на примере задачи выпуклого программирования. Другое
предположение, принципиальное, о существовании седловой точки у
функции Лагранжа. Если она не существует (а такое действительно может
быть), то метод Лагранжа уже не обоснован. Достаточно представитель-

87
ными случаями существования седловой точки у функции Лагранжа, да и
то при дополнительных предположениях, являются задача линейного про-
граммирования и задача выпуклого программирования.
Рассмотрим задачу линейного программирования в стандартной
форме
n
max  c j x j
j 1

при ограничениях
n

a
j 1
ij x j  bi , i  1, m,

x j  0, j  1, n.
В данном случае
n n
f ( x)   c j x j , g i ( x)  bi   aij x j , i  1, m, R  x x  0.
j 1 j 1

Функция Лагранжа имеет вид


n m n n m m n
F ( x, y )   c j x j   yi (bi  aij x j )   c j x j   bi yi   aij x j yi .
j 1 i 1 j 1 j 1 i 1 i 1 j 1

Для построения двойственной задачи вводим функцию


n m m n 
 ( y )  sup F ( x, y )  sup  c j x j   bi y i   aij x j y i  
xR x  0  j 1 i 1 i 1 j 1 
m  n m 
  bi y i  sup  (c j   aij y i ) x j  .
i 1 x  0  j 1 i 1 
Нетрудно видеть, что
  0, c j   aij yi  0, j  1, n,
m
 n m
sup  (c j   aij yi ) x j    i 1
x  0  j 1 i 1  , в противном случае,
значит,
m m

 bi yi , если a ij yi  c j , j  1, n,
 ( y )   i 1 i 1
m
 , если j :  aij yi  c j .
 i 1

Так как двойственная задача состоит в минимизации функции  ( y)


на неотрицательном ортанте, то достаточно ограничиться множеством, где
 ( y ) <  , если оно не пусто. Поэтому окончательно двойственная задача
формулируется следующим образом:
m
min  bi yi
i 1

при ограничениях
m

a
i 1
ij yi  c j , j  1, n,

yi  0, i  1, m.

88
Получили пару двойственных задач, которые рассматривались во второй
главе. Аналогично можно построить двойственную задачу к задаче линей-
ного программирования в любой форме. При таком подходе достаточно
освоить общий принцип построения двойственных задач и не нужно запо-
минать конкретный их вид в каждом отдельном случае.
Для задачи линейного программирования справедливо следующее
утверждение.
Теорема. Для того чтобы x0 было решением задачи линейного про-
граммирования, необходимо и достаточно существования y0 такого, что
пара (x0, y0) является седловой точкой функции Лагранжа на прямом про-
изведении неотрицательных ортантов.
Достаточность доказана для общей задачи математического про-
граммирования, значит, в частности, и для линейного программирования.
Необходимость следует из первой теоремы двойственности в линейном
программировании, так как если прямая задача имеет решение x0, то и
двойственная имеет решение y0 и пара (x0, y0) является седловой точкой.

§ 4.3. Выпуклое программирование

Для того чтобы сформулировать задачу выпуклого программирова-


ния, необходимо напомнить определения выпуклой и вогнутой функций.
Определение. Функция f(x) называется выпуклой на выпуклом мно-
жестве Х, если для любых точек x , x   X и произвольного числа   0,1
выполняется неравенство
f(x'+(1-)x")  f(x')+(1-)f(x").
Функция f(x) называется вогнутой на выпуклом множестве Х, если
для любых точек x , x   X и произвольного числа   0,1 выполняется об-
ратное неравенство
f(x'+(1-)x")  f(x)+(1-)f(x").
Определение. Задачей выпуклого программирования называется
частный случай общей задачи математического программирования (4.3),
(4.4), когда целевая функция f(x) и функции ограничений gi(x) являются во-
гнутыми на выпуклом множестве R.
Так как задача максимизации функции эквивалентна задаче миними-
зации этой функции со знаком минус, ограничение gi  0 эквивалентно -gi
 0, и из вогнутости функции f(x) следует выпуклость –f(x) и наоборот (до-
кажите это в качестве упражнения), то задачей выпуклого программирова-
ния называется также задача минимизации выпуклой функции f(x) при
ограничениях gi(x)  0, i  1, m , xR, где gi(x)  выпуклые функции, R 
выпуклое множество. Это просто другая форма той же задачи. Однако сле-
дует обратить внимание, что если задача выпуклого программирования
формулируется как задача на максимум, то целевая функция обязательно
вогнута, а если на минимум, то  выпукла; если ограничения записывают-

89
ся в виде gi(x)  0, то функции ограничений вогнуты, если gi(x)  0, то 
выпуклы. Эта жесткая связь обусловлена наличием определенных свойств
у задачи выпуклого программирования, которые в противном случае (при
нарушении такой связи) могут и не выполняться. Два основных таких
свойства сформулированы в следующей лемме.
Лемма. Множество допустимых планов задачи выпуклого програм-
мирования (4.3) является выпуклым. Любой локальный максимум вогнутой
функции f(x) на Х является глобальным.
Доказательство. Пусть х, хХ, т.е. х, хR и gi(x)0, gi(x)0,
i  1, m , и [0, 1].Тогда по определению выпуклого множества
х=х++(1-)хR
и по определению вогнутой функции
gi(x)=gi(x+(1-)x) gi(x)+(1-)gi(x) 0, i  1, m,
т.е. хХ. Выпуклость множества Х доказана.
Далее, пусть х* — локальный максимум функции f(x) на Х, т.е. f(x*)
f(x) для любого х из пересечения Х с некоторой (возможно малой) окрест-
ностью  точки х*. Нам надо показать, что х* является и глобальным мак-
симумом, т.е. что f(x*)  f(x)  xX. Предположим противное, т.е. что су-
ществует х̂  Х такое, что f ( x̂ )  f ( x  ) . Возьмем ~ x  x   (1   ) xˆ , где
01, тогда в силу вогнутости функции f(x) имеем
f (~
x  )   f ( x  )  (1   ) f ( xˆ )   f ( x  )  (1   ) f ( x  )  f ( x  ).
При достаточно малом  > 0, очевидно, ~х  Х   , f ( ~x )  f ( x ),
пришли к противоречию. Лемма доказана.
Если бы функции ограничений gi(х) были выпуклы, то для определя-
емого (4.3) множества Х выпуклость уже бы не следовала; в этом случае

можно доказать выпуклость множества Х   х х  R, gi ( x)  0, i  1, m . Если бы 
целевая функция f(x) была выпукла, то утверждение леммы относительно
ее максимумов стало бы неверным, однако аналогичное утверждение мож-
но было бы доказать для минимумов.
Бывают функции, которые выпуклы по одной группе переменных и
вогнуты по другой. Такие функции представляют собой один из основных
классов функций, у которых заведомо существует седловая точка. Приве-
дем без доказательства следующую теорему.
Теорема (о существовании седловой точки у вогнуто-выпуклой
функции). Пусть X и Y  выпуклые замкнутые ограниченные подмноже-
ства конечномерных евклидовых пространств, а функция F(x, y) непре-
рывна по x и y, вогнута по x y и выпукла по y x , тогда F(x, y) имеет
на XY седловую точку.
Рассмотрим для задачи выпуклого программирования функцию Ла-
гранжа (4.5), определенную на прямом произведении RY, где Y={yy0}.
Эта функция в силу вогнутости f(x), gi(x) является вогнутой по x y и ли-
нейной, а следовательно, выпуклой по y x . Однако нельзя утверждать на
90
основании предыдущей теоремы, что она имеет седловую точку, так как
множество R не обязательно является замкнутым и ограниченным, а Y за-
ведомо неограничено. Тем не менее можно ожидать, что при некоторых
условиях, заменяющих невыполняющиеся в данном случае условия этой
теоремы, седловая точка все же будет существовать. Наиболее известной
теоремой, относящейся к этому вопросу, является теорема Куна-Таккера,
которая представляет собой центральный результат теории двойственности
в выпуклом программировании. Эта теорема устанавливает связь между
существованием решения задачи выпуклого программирования и седловой
точки у функции Лагранжа при выполнении некоторого условия регуляр-
ности. Наиболее простым вариантом такого условия является условие
Слейтера: задача выпуклого программирования удовлетворяет условию
Слейтера, если существует такая точка xR, что gi(x)>0, i  1, m .
Теорема Куна-Таккера. Если задача выпуклого программирования
удовлетворяет условию Слейтера, то необходимое и достаточное условие
оптимальности плана х0Х – это существование такого y0  0, что пара
(х0, у0) является седловой точкой функции Лагранжа (4.5) на RY.
Доказательство. Достаточность нами доказана для общей задачи
математического программирования, следовательно, она справедлива и для
задачи выпуклого программирования без всяких дополнительных условий
(типа условия Слейтера).
Докажем необходимость. Для этого рассмотрим в (m+1)-мерном
пространстве два множества
  z1  
   
  z2  
A  z    zi  g i ( x), i  1, m, zm 1  f ( x),
 ... 
 
  z  
  m 1  

  z1  
   
  z2  0 
B  z   zi  0, i  1, m, zm 1  f ( x ),
 ...  
 
 z  
  m 1  
где х0  решение задачи выпуклого программирования, х  произвольная
точка множества R.
Покажем, что множество А является выпуклым. Действительно, если
z, zA, то zi gi(x), zi" gi(x), i  1, m , zm+1 f(x), zm+1 f(x), x, xR.
Рассмотрим z  z  (1   ) z, 0    1.
Для него выполняются неравенства
zi  gi(x')+(1-)gi(x")  gi( x'+(1-)x")=gi( x  ),
где
x  = x'+(1-)x"R, i  1, m ;
z m 1   f(x')+(1-)f(x")  f(x'+(1-)x")=f( x  ),
91
т.е. по определению множества А вектор z   A , значит А  выпуклое
множество.
Множество В также является выпуклым и представляет собой внут-
ренность ортанта с вершиной в точке (0,…,0, f(x0)).
В силу оптимальности х0 множества А и В не имеют общих векторов,
т.е. А  В  . Действительно, если существует z А  В , то для некоторого
x  R выполняются условия
gi(x)  zi, i  1, m , т.е. хХ,
и
f(x)  zm+1 > f(x0),
пришли к противоречию.
Значит, по теореме о разделяющей гиперплоскости существует такой
 а1 
 
 а2 
ненулевой вектор а   , что
... 
 
а 
 т 1 
a, z1  a, z 2 z1  A, z 2  B. (4.18)

По определению множества В, очевидно, а  0, так как если ai<0, то,


выбирая последовательность векторов zkB с zki и остальными ком-
понентами равными нулю, получим a , z k  - , что противоречит нера-
венству (4.18). Далее, так как точка (0,…,0, f(x0)) является предельной для
множества В, то имеем из (4.18) с учетом определения множества А
m

 a g ( x)  a
i 1
i i m 1 f ( x)  a m 1 f ( x 0 ) (4.19)

для любой точки xR. Отсюда следует, что ат+1 >0, поскольку, если
ат+1=0, то из (4.19) вытекает
m

 a g ( x)  0
i 1
i i x  R,

что противоречит условию Слейтера, так как хотя бы одно ai > 0 и при
выполнении условия Слейтера существует xR такое, что g i ( x )  0,i  1, m ,
m
ai
т.е.  a g ( x )  0 . Итак, а  0
i 1
i i и ат+1 > 0. Положим yi0 
a m 1
, i  1, m , тогда
0
у =(у10,…, ут0)  0 и из (4.19) получаем
m

 y g ( x)  f ( x) 
i 1
0
i i f ( x 0 ) x  R. (4.20)
m
Полагая в (4.20) х=х0, получим  y g ( x )  0,
i 1
0
i i
0
но, с другой стороны,
m

 y g ( x )  0 , так как yi  0, gi(x ) 0, i  1,m , следовательно,


0 0 0 0
i i
i 1
m

 y g ( x )  0.
i 1
0
i i
0
(4.21)

92
Из (4.20) и (4.21) имеем
F(x, y0)  F(x0, y0) x  R.
m

y
0 0 0
Учитывая, что i gi ( x0 )  0 y  0 , имеем F(x , y )  F(x , y) у  0. Зна-
i 1

чит (х , у )  седловая точка функции F(x, y) на RY. Теорема доказана.


0 0

То, что условие Слейтера является существенным, показывает сле-


дующий пример.
Пример 4.3. f(x)= x, m=1, g(x)= - x2, R=R1.
Очевидно, х=0 есть решение задачи, но у функции F(x, y)= x – yx2
седловой точки нет.
Теорема Куна-Таккера обосновывает сведение задачи выпуклого
программирования к задаче поиска седловой точки функции Лагранжа. За-
дача поиска седловой точки аналогична по сложности задаче поиска экс-
тремума функции, поэтому для того, чтобы такое сведение имело практи-
ческий смысл, необходимо, чтобы получающаяся экстремальная задача
была в чем-то проще исходной. Такое упрощение связано со следующим
обстоятельством. Исходная задача представляет собой поиск максимума на
множестве Х, которое имеет вид (4.3). Разбиение ограничений, описываю-
щих допустимое множество Х, на xR и gi(x)  0 , как уже говорилось, яв-
ляется условным, так как любое ограничение можно записать и в том, и в
другом виде. Поэтому обычно под R понимается множество простого вида,
это либо все пространство Rп, либо неотрицательный ортант, либо парал-
лелепипед, т.е. границы множества R задаются простыми ограничениями
типа а х  b.
Сложность же задачи выпуклого программирования определяется
системой ограничений gi(х)  0, i  1, m . Так как седловая точка функции
Лагранжа ищется на произведении множеств RY, где Y также является
множеством простого вида (неотрицательным ортантом), то смысл теоре-
мы Куна-Таккера состоит в сведении задачи поиска экстремума функции
со сложными ограничениями на переменные к задаче поиска экстремума
новой функции с простыми ограничениями на переменные. Если множе-
ство R совпадает со всем пространством Rn, то условия экстремума имеют
вид (4.17), причем очень существенным моментом является то, что эти
условия являются не только необходимыми для того, чтобы функция F(x,
y0) достигала в точке х0 максимума по х, но и достаточными. Это является
важным свойством вогнутых функций (а F(x,y) для задачи выпуклого про-
граммирования вогнута по х).
Теорема. Для того чтобы непрерывно дифференцируемая вогнутая
функция  (х) имела в точке х0 максимум на Rn, необходимо и достаточно,
чтобы  ( х 0 ) =0 (докажите в качестве упражнения).
Таким образом, для нахождения седловой точки функции Лагранжа
F(x, y) на произведении RnY, а следовательно, и для нахождения решения

93
х0 задачи выпуклого программирования при R=Rn надо решить систему
уравнений (4.17). Но в этой системе п уравнений, а неизвестных, вообще
говоря, п+т, так как помимо п-мерного вектора х0 нам неизвестен и т–
мерный вектор соответствующих ему множителей Лагранжа у0. Однако,
если внимательно просмотреть доказательство теоремы Куна-Таккера, то
мы увидим очень важное свойство, которое выполняется для седловой
точки функции Лагранжа, а именно, условие (4.21). Так как yi0 0 и gi(x0)0,
0 0
i  1, m , то из него вытекает, что либо yi =0, либо gi(x )=0, либо то и другое
одновременно. Это свойство аналогично второй теореме двойственности
линейного программирования. Ограничения, которые выполняются в не-
которой точке как равенства, называются активными. Таким образом,
только те множители Лагранжа yi0 могут быть отличны от нуля, которые
соответствуют активным в точке х0 ограничениям. С учетом этого свойства
для нахождения решения задачи выпуклого программирования получаем
следующий способ.
Введем множество
I ( x)  i 1  i  m, g i ( x)  0.
Множество I(x) представляет собой совокупность индексов активных
в точке х ограничений. Тогда можно утверждать в силу сказанного выше,
что
yi0=0 i  I ( x 0 ) .
Поэтому для определения х0 и ненулевых уi0 имеем систему уравне-
ний
 f ( x 0 ) 0 g i ( x )
0

 x  0 y i x  0, j  1, n ,
 i I ( x )

j j
(4.22)
 g i ( x 0 )  0, i  I ( x 0 ).

Число неизвестных и число уравнений здесь совпадают, поэтому, ес-
ли мы найдем решение системы уравнений (4.22), мы тем самым решим
исходную задачу выпуклого программирования. Система (4.22) представ-
ляет собой необходимые и достаточные условия оптимальности для задачи
выпуклого программирования в случае, когда R=Rn.
Рассмотрим, как трансформируются эти условия в случаях, когда R
не совпадает со всем пространством Rn.
Сначала остановимся на случае, когда R является неотрицательным
ортантом, т.е. R={x| x 0}. Тут для каждой компоненты x0j решения задачи
выпуклого программирования x0 возможны две альтернативы: либо x0j > 0,
либо x0j = 0. Для первой альтернативы условия оптимальности совпадают
со случаем R=Rn, т.е. имеют вид (4.17) при данном j. Однако для второй
альтернативы это не так. Если x0j = 0 является компонентой точки макси-
мума функции F(x, y0) по х в области х  0 , то можно утверждать, что

94
необходимо (а для вогнутой функции и достаточно) только выполнение
неравенства
F ( x 0 , y 0 )
 0,
x j
т.е. функция F(x, y0) должна не возрастать по xj при движении внутрь обла-
сти х  0. Но так как x 0j  0, то можно записать
F ( x 0 , y 0 ) 0
x j  0.
x j

Объединяя обе альтернативы, необходимые и достаточные условия


оптимальности для задачи выпуклого программирования в случае R={x| x
0} можно представить в виде
 F ( x 0 , y 0 )
  0, j  1, n,
 x j
n (4.23)
 F ( x , y ) x 0j  0.
0 0

 j 1 x j
Так как х0j  0, то из (4.23) следует, что либо x 0j  0, либо
F ( x 0 , y 0 )
 0 j.
x j
Условия оптимальности (4.23) называются условиями Куна-Таккера.
Таким образом, как и в случае R=Rn, мы имеем n уравнений, которые
вместе с уравнениями для активных ограничений определяют, в принципе,
x0 и у0.
Задача. Производитель имеет возможность закупить некоторое
химическое вещество в количестве 17 единиц по цене 10 ден.ед. за одну
единицу. Из единицы данного вещества можно произвести единицу про-
дукта 1 или единицу продукта 2, затратив, соответственно, 3 или 5
ден.ед. на переработку, Если произведено х1 единиц продукта 1, то он бу-
дет продан по цене 20 - х1 ден.ед. за одну единицу. Если будет произведено
х 2 единиц продукта 2, то он будет продан по цене 40-2 х 2 ден.ед. за одну
единицу. Определить, сколько единиц каждой продукции следует произве-
сти и сколько единиц химического вещества следует приобрести, чтобы
прибыль была максимальной.
Р е ш е н и е. Математическая модель задачи о максимизации прибы-
ли формулируется в следующем виде
f ( x1 , x 2 , x 3 )  (20  x1 ) x1  (40  2 x 2 ) x 2  3x1  5 x 2  10 x 3
 x1  x 2  x 3  0,

 x 3  17,
 x  0, i  1,3.
 i
Целевая функция является вогнутой, функции ограничений — вы-
пуклыми и удовлетворяют условиям регулярности. Задача является зада-

95
чей выпуклого программирования, для ее решения можно использовать
теорему Куна-Таккера.
Составим функцию Лагранжа
F ( X , Y )  17 x1  35 x 2  10 x 3  x12  2 x 22  y1 ( x1  x 2  x 3 )  y 2 ( x 3  17) .
Запишем необходимые и достаточные условия существования седло-
вой точки функции Лагранжа, учитывая (4.22) и (4.23),
a) Пусть x i  0 i . Тогда
 F / x1  17  2 x1  y1  0,  y1  17  2 x1 ,
 F / x  35  4 x  y  0,  y  35  4 x ,
 2 2 1  1 2

F / x 3  10  y1  y 2  0, или  y1  y 2  10, y 1 , y 2  0.


 y1 ( x1  x 2  x 3 )  0,  y ( x  x 2  x 3 )  0,
  1 1
 y 2 ( x 3  17)  0,  y 2 ( x3  17)  0,
Рассмотрим случаи:
a) х j >0 j  1,2,3.
1) y1  y 2  0. Это невозможно, поскольку нарушается третье урав-
нение системы.
2) y1  0, y 2  0. Из третьего уравнения системы следует, что y 2  10 ,
что противоречит условию неотрицательности.
3) y1  0, y 2  0. Решая систему уравнений, получаем y1  10,
x1  3,5; x 2  6,25; x 3  9,75. Поэтому точка (3,5;6,25;9,75;10;0) удовлетво-
ряет условиям Куна-Таккера, а следовательно, оптимальная точка найдена.
1 2
4) y1  0, y 2  0. В данной ситуации получаем х1  8 ; x 2  8 ;
3 3
1 2
x 3  17; y1  , y 2  9 , что противоречит условию неотрицательности.
3 3

b) Хотя бы одно x i  0 .
1) Пусть x1  0, x 2 , x 3  0. Тогда получаем следующую систему
 F / x1  17  2 x1  y1  0,
 F / x  35  4 x  y  0,
 2 2 1

 F / x 3   10  y 1  y 2  0,
 y1 ( x1  x 2  x 3 )  0,

 y 2 ( x 3  17)  0,
y 1 , y 2  0.
Эта система не имеет решения.
2) x 2  0, x1 , x 3  0. В этой ситуации условия Куна-Таккера принима-
ют вид

96
 F / x1  27  2 x1  y1  0,
 F / x  35  4 x  y  0,
 2 2 1

F / x 3  10  y1  y 2  0,
 y1 ( x1  x 2  x 3 )  0,

 y 2 ( x 3  17)  0,
y 1 , y 2  0.
Эта система также не имеет решения.
3) x 3  0, x1 , x 2  0 — невозможно производство.
4) x1  x 2  0, x 3  0 — производство отсутствует.
Таким образом, максимальная прибыль будет достигнута при закуп-
ке вещества в количестве 9,75 единиц, производстве продукции 1 и 2 вида
соответственно в количестве 3,5 и 6,25 единиц.
Пример 4.4. Найти максимум ( х1 + 2х2 ) при ограничении х12  х22  4 .
Здесь f(x)= х1 + 2х2 , m=1, n=2, g1 ( x)  4  x12  x22 . Используя условия
(4.22), имеем систему трех уравнений с тремя неизвестными
 1  2 x1 y  0,

2  2 x2 y  0,
 x 2  x 2  4.
 1 2

Откуда x10  2 / 5 , x20  4 / 5 , y 0  5 / 4.

Теперь перейдем к более общим случаям.


Хотя в качестве множества R, как говорилось, обычно выбирается
достаточно простое множество, чтобы не рассматривать каждый случай
отдельно, рассмотрим общую ситуацию, когда R  произвольное выпук-
лое множество. Рассмотрение такой ситуации полезно еще и потому, что
оно позволяет несколько по-другому подойти к задаче выпуклого про-
граммирования. Действительно, если в R включить все ограничения gi(x)
0, то оно будет просто совпадать с множеством Х и задача выпуклого про-
граммирования состоит в максимизации вогнутой функции f(x) на выпук-
лом множестве R (или Х). Поэтому, не конкретизируя вида ограничений и
не вводя функцию Лагранжа, можно напрямую рассмотреть функцию f(x)
на Х. При этом очень полезным является следующее понятие.
Определение. Направление g является допустимым в точке х, при-
надлежащей выпуклому множеству Х, если  0 > 0 такое, что    0 вы-
полняется х+g Х.
Так как определение допустимого направления не зависит, очевидно,
от длины вектора g, то будем его в дальнейшем считать единичным, т.е.
|g|=1.
Допустимое направление  это такое направление, небольшое пере-
мещение вдоль которого не выводит из допустимого множества, т.е. не
нарушает ограничений задачи математического программирования. Но ес-
ли точка х0 является решением задачи математического программирования,
97
т.е. доставляет максимум функции f(x) на Х, то при перемещении вдоль до-
пустимого направления, по определению максимума, функция f(x) не мо-
жет возрастать. Изменение функции вдоль некоторого направления опре-
деляется ее производной по направлению.
Определение. Производной функции f(x) по направлению, задавае-
мому единичным вектором g, называется величина
f ( x) f ( x  g )  f ( x )
 lim , (4.24)
g  0 
если предел в (4.24) существует.
С помощью производных по направлению получаем другую форму
условий оптимальности: для того чтобы х0 было решением задачи матема-
тического программирования, необходимо, а для задачи выпуклого про-
граммирования и достаточно, чтобы для любого допустимого в х0 направ-
ления g выполнялось
f ( x 0 )
 0. (4.25)
g
В частности, условие (4.25) применительно к функции Лагранжа на R
дает условие
F ( x 0 , y 0 )
 0,
g
где g  любое допустимое направление в точке х0 R.

§ 4.4. Графический метод в нелинейном программировании и гео-


метрический смысл условий Куна-Таккера

Задачи нелинейного программирования обладают свойствами, кото-


рые усложняют процесс их решения по сравнению с задачами линейного
программирования:
1. Множество допустимых планов (мы будем обозначать его буквой
Х) может иметь очень сложную структуру. Например, быть невыпуклым
или несвязным.
2. Глобальный максимум (минимум) может достигаться как внутри
множества Х, так и на его границах.
3. Целевая функция f(x) может быть не дифференцируемой, что за-
трудняет применение классических методов математического анализа.
В силу названных факторов задачи нелинейного программирования
настолько разнообразны, что для них не существует общего метода реше-
ния.
В этом параграфе мы рассмотрим графический метод решения задач
нелинейного программирования с линейными ограничениями и нелиней-
ной целевой функцией. Его алгоритм такой же, как и для решения задач
линейного программирования. Для решения задач нелинейного програм-
мирования существенно важно знать:

98
1) выпукло или не выпукло множество допустимых решений задачи;
2) является ли целевая функция выпуклой или вогнутой, или она не
относится ни к тому ни к другому классу.
Если количество переменных в неравенствах, задающих область до-
пустимых планов задач, равно 2, то ее можно изобразить на координатной
плоскости. Каждое неравенство определяет некоторую часть плоскости.
Пересечение данных частей Х является областью допустимых планов за-
дач. Поведение целевой функции в рамках двумерной иллюстрации может
быть охарактеризовано с помощью линии уровня.
Линией уровня функции называется множество точек из области ее
определения, в которых функция принимает одно и то же фиксированное
значение. Градиент функции - это вектор, указывающий направление
наиболее быстрого возрастания функции (мы будем его обозначать c ).
Таким образом, с геометрической точки зрения задача максимизации
сводится к определению такой точки области Х, через которую проходит
линия уровня, соответствующая наибольшему из возможных значений.
При этом можно сначала построить линию уровня для некоторого произ-
вольного значения функции. Затем осуществить ее параллельное движение
(перпендикулярно c ) до тех пор, пока не достигнем такой точки области
допустимых планов Х, из которой смещение в направлении вектора c вы-
водит из множества Х.
Заметим, что решение задачи поиска минимума f(x) осуществляется
аналогично, лишь движение по линиям уровня должно производиться в
направлении обратному градиенту целевой функции, т.е. по вектору (- c ).
Возможна ситуация неограниченности целевой функции f(x) на мно-
жестве Х, т.е. сколько бы мы ни перемещались по линиям уровня в направ-
лении вектора c ее значение будет возрастать.
Заметим, что аналогичным образом могут быть построены интерпре-
тации задач нелинейного программирования для случая трехмерного про-
странства R3. При этом поведение целевой функции будет характеризо-
ваться поверхностями уровня.
Этот метод может быть применен не только к задачам с двумя или
тремя переменными и ограничениями в виде неравенств, но и к задачам, в
которых имеются ограничения — равенства и при этом можно выбрать две
произвольные переменные и, используя систему уравнений, выразить че-
рез них остальные переменные.
Задача. На предприятии имеется два вида ресурсов. Определите
оптимальное распределение величин затрачиваемых ресурсов на производ-
ство некоторого продукта, если цена ресурса первого вида 3 единицы,
второго – 4 единицы, а всего на производство выделено 24 единицы. Из-
вестно, что из количества х первого ресурса и у второго ресурса можно
получить f ( x1 , x2 )  x12  x 22 единиц продукта ( f называется производ-
ственной функцией).

99
Р е ш е н и е Математическая модель задачи: на множестве ограниче-
ний
3 x1  4 x2  24,
Х:  x1  0,
 x  0.
 2
найти максимальное значение функции z= x12  x 22 .

Zmax=8

Z=6
Z=4
О Z=2
х
А (8; 0)

В (0; 6)

Рис.4.1
Множество допустимых решений заштриховано на рис. 4.1. Если це-
левой функции придавать фиксированные значения 1, 2, 3,..., то будем по-
лучать окружности с центром в начале координат и радиусом 1, 2, 3, …
Начертим ряд окружностей (линии уровня целевой функции). Из рисунка
видно, что функция z = x12  x 22 достигает наибольшего значения, равного
8, в точке А(8; 0), т.е. zmax=z(8; 0)=8. Значит, количество первого ресурса
должно равняться 8, а использование второго ресурса нерационально.
Условия Куна-Таккера (геометрический смысл): антиградиент целе-
вой функции f в оптимальной точке представляет собой линейную комби-
нацию с неотрицательными коэффициентами градиентов активных огра-
ничений (включая простейшие х ≥ 0). В невыпуклом случае при условиях
регулярности (линейная независимость градиентов активных ограничений)
— это необходимое условие локального максимума.
В данной задаче функция Лагранжа имеет вид (при включении про-
стейших ограничений)
L  f  1 (24  3x1  4 x 2 )   2 x1   3 x 2 .
Для точки А ( g 1 =0 и g 3 = х 2  0 — активные ограничения;
g 2  x1  0 , g 1  (3;4), g 3 =(0,1); f   (1 g 1   3 g 3 ) , 1 ,  3  0 ) условия Куна-
Таккера выполнены.
Для точки С ( g 1 =0, g 2  x1  0 , g 3 = х2  0 , g 1  (3;4),
L   f   1 g 1  0 , отсюда следует, что f   1 g 1 , 1  0 ) условия Куна-Таккера
выполнены, но максимума в этой точке нет (так как условия не являются
достаточными, то противоречия нет).

100
В классической задаче с ограничения-равенствами все ограничения
активные, но коэффициенты λ любого знака.

§ 4.5. Численные методы нелинейного программирования

Хотя теорема Куна-Таккера и вытекающие из нее условия на произ-


водные дают характеристику решений задачи математического програм-
мирования (по крайней мере выпуклого), они еще не дают конструктивных
методов нахождения этих решений для сколь-либо сложных случаев. Рас-
смотрим некоторые из наиболее распространенных конструктивных (чис-
ленных) методов, которые так или иначе используют полученные выше
условия оптимальности.
1. Градиентные методы

Рассмотрим сначала задачу максимизации функции f(x) без ограни-


чений, т.е. в случае, когда Х совпадает со всем пространством Rn. Градиент
функции f(x) будем обозначать f(x). Условие оптимальности в этом случае
имеет вид
f(x)=0, (4.26)
однако непосредственное решение системы уравнений (4.26) может ока-
заться чересчур сложным, поэтому на практике поступают следующим об-
разом. Выбирая произвольную начальную точку х(0), строят итеративный
процесс
х(k+1) = х(k) + k f(x(k)), k=0,1,2,…. (4.27)
Число k называют длиной шага или просто шагом. Если все k рав-
ны между собой, то имеем процесс с постоянным шагом.
Процесс (4.27), лежащий в основе градиентных методов, представля-
ет собой движение в сторону возрастания функции f(x), так как если f(x(k))
0, то всегда можно выбрать k, так, что f(x(k+1))>f(x(k)). Существуют разные
способы выбора k. Вообще говоря, наилучшим является выбор такого k,
при котором обеспечивается максимальный рост функции f(x). Такое k
находится из условия
f ( x ( k )   k f ( x ( k ) ))  max f ( x ( k )   k f ( x ( k ) )) . (4.28)
 0

Градиентный метод поиска экстремума (4.27) с выбором шага по


способу (4.28) называется методом скорейшего подъема (или спуска для
задачи на минимум). Такой метод требует наименьшего числа итераций, но
зато на каждом шаге приходится решать дополнительную задачу поиска
экстремума (4.28) (правда, в одномерном случае). На практике часто до-
вольствуются нахождением любого k, обеспечивающего рост функции.
Для этого берут произвольное k и проверяют условие роста, если оно не
выполняется, то дробят k до тех пор, пока это условие не будет выполне-
но (такое достаточно малое k при f(x(k)) 0 существует всегда).

101
Процесс (4.27), очевидно, останавливается, когда выполнено условие
(4.26). При этом, если функция f(x) вогнута, то найденная стационарная
точка будет решением задачи максимизации. В противном случае необхо-
димо провести дополнительное исследование функции f(x) в окрестности
найденной точки. Однако, даже если она будет точкой максимума, в невы-
пуклом случае трудно определить локальный это максимум или глобаль-
ный. Поэтому градиентные методы обеспечивают нахождение глобального
экстремума только для вогнутых (выпуклых) функций, а в общем случае
дают лишь локальные экстремумы (при этом можно попытаться найти
глобальный экстремум, применяя итеративный процесс многократно с раз-
ными начальными точками).
Если рассматривается задача максимизации f(x) при ограничениях,
т.е. когда Х не совпадает с Rn, то непосредственное применение процесса
(4.27) может привести к нарушению ограничений, даже если начальная
точка х(0)Х. Однако эту трудность можно преодолеть, например, если по-
лучаемую по формуле (4.27) очередную точку проектировать на множе-
ство Х. Если обозначить операцию проектирования точки х на множестве Х
через РХ(х), то соответствующий итеративный процесс имеет вид
x ( k 1)  PХ ( x ( k )   k f ( x ( k ) )). (4.29)
Полученный метод носит название метода проекции градиента. Шаг
k в методе (4.29) может выбираться различными способами (например,
как в методе скорейшего подъема). Стационарная точка этого процесса яв-
ляется решением задачи max f ( x ) в случае вогнутой функции f(x), а в об-
x X

щем случае требуется дополнительное исследование.


Недостатком метода проекции градиента является необходимость
проведения операции проектирования, которая в общем случае эквива-
лентна некоторой задаче поиска экстремума. Однако, когда Х является ша-
ром, параллелепипедом, гиперплоскостью, полупространством или ортан-
том, задача проектирования решается просто и в явном виде.
Еще одной разновидностью градиентных методов является метод
условного градиента, который также предназначен для решения экстре-
мальных задач с ограничениями. Суть его состоит в решении вспомога-
тельной задачи максимизации на множестве Х линейной функции <f(x(k)),
x-x(k)>, представляющей собой главную часть приращения функции f(x) в
точке х(k). Эта вспомогательная задача может быть непростой, но если Х за-
дается линейными ограничениями, то она представляет собой задачу ли-
нейного программирования, которая решается за конечное число шагов
стандартными методами (например, симплекс-методом). Если решение
вспомогательной задачи хˆ ( k ) найдено, то следующее приближение для ис-
ходной задачи строится по формуле
x ( k 1)  x ( k )   k ( xˆ ( k )  x ( k ) ). (4.30)
Если множество Х выпуклое, то х(k+1)Х. Шаг k выбирается из усло-
вия максимального роста функции f(x) или любым другим способом, обес-

102
печивающим рост f(x). На практике обычно решают вспомогательную за-
дачу не точно, а приближенно. В процессе (4.30) направление движения не
совпадает с градиентом функции f(x) в точке х(k), но определяется им, так
как его компоненты берутся в качестве коэффициентов линейной целевой
функции вспомогательной задачи.
Задача. Найти минимальное значение функции f= -x1+ x22 при усло-
вии х12+ х22  1.
Р е ш е н и е. Решим данную задачу методом проекции градиента, за-
вершая вычисления при выполнении одного из условий
f ( x ( k ) )  0,01 , x ( k 1)  x ( k )  0,01.
В качестве начального приближения возьмем точку х(0)=(0;0,5)Х.
Градиент f(х)=(-1;2х2) удовлетворяет условию Липшица f ( x )  f ( x ) 
 L x   x  с константой L=2, т.к. f ( x )  f ( x )  (1  1) 2  (2 x 2  2 x 2 ) 2
 2 x 2  x 2  2 x   x 
Поэтому в (4.29) можно положить k  (0;1), k=0,1,2…, например,
k = 0,75.

Ш а г 1. Так как f(x(0))=(-1;1), по формуле (4.29) находим


x(1)=Px[x (0)-f(x(0))]=Px[(0;0,5)-0,75(-1;1)]=Px[(0,75;-0,25)].
Точка (0,75;-0,25) принадлежит допустимому множеству, так как
0,75 +0,252=0,625 < 1, поэтому х(1)=(0,75; -0,25).
2

Требуемая точность не достигнута, так как x ( 0 )  x (1)  1,6  0,01 .

Ш а г 2. Как и на предыдущем шаге находим f(x(1))=(-1; -0,5),


x(2)=Px[(0,75; -0,25)-0,75(-1; -0,5)]=Px[(1,5; 0,125)].
Точка (1,5; 0,15) допустимому множеству не принадлежит, потому
что 1,52+0,1252=2,266 > 1. Так как допустимое множество представляет со-
бой замкнутый шар радиуса 1 с центром в точке О в пространстве R2, то
(1,5; 0,125)
х(2)=Рх[(1,5; 0.125)]=  (0,9965; 0,08304).
1,52  0,1252
Требуемая точность снова не достигнута, так как
x (1)
x ( 2)
 0,298  0,01 .
Результаты остальных шагов метода проекции градиента приведены
в следующей таблице:

103
k x(k) x ( k 1 )  x ( k ) f(x(k)) x(k)-f(x(k))
2 (0,9965; 0,0830) 0,289 (-1; 0,1661) (1,7465; -0,0415)

3 (0,9997; -0,0238) 0,107 (-1; -0,0476) (1,7497; 0,0119)

4 (0,99998; 0,00769) 0,031 (-1; 0,0136) (1,74998; -0,00339)

5 (0,99998; -0,00194) 0,0087 точность достигнута

Из таблицы следует, что х0  x(5)=(0,099998; -0,00194), f 0 f(x(5))  -1.


Отметим, что точное решение рассматриваемой задачи fmin=f(1; 0)= -1.
Существуют и другие варианты градиентных методов.

2. Методы возможных направлений

Идея методов возможных направлений, близкая к идее градиентных


методов для задач с ограничениями, состоит в следующем: на каждой ите-
рации определяется допустимое направление на множестве Х, вдоль кото-
рого функция f(x) возрастает (такое направление называется возможным
направлением возрастания функции f(x)), и по нему совершается шаг. Фак-
тически в методе проекции градиента и в методе условного градиента мы
находим такие направления. Однако там исходным было определение гра-
диента, а допустимое направление определялось по нему однозначно. В
методах же возможных направлений исходным пунктом является описание
всех допустимых направлений и выбор из них такого, вдоль которого
функция f(x) возрастает и желательно скорейшим образом.
Рассмотрим вариант метода возможных направлений применительно
к задаче максимизации f(x) на множестве (4.3), где R=Rn. Пусть мы имеем
k-е приближение х(k) к решению этой задачи и для построения следующего
приближения поставим следующую вспомогательную задачу: максимизи-
ровать и при ограничениях
f ( x ( k ) ), a  u, g ( x ( k ) ), a  u, i  Ik , a j  1, j  1, n,
где
I k  i | 1  i  m, gi ( x ( k ) )  0, a  (a1 ,, a n ).
Эта задача представляет собой задачу линейного программирования
в (п+1)–мерном пространстве векторов (а, и). Множество допустимых пла-
нов замкнуто, ограничено и непусто, так как а=0, и=0 является допусти-
мым планом. Значит вспомогательная задача имеет решение (аk, иk), при-
чем иk  0. Если иk> 0, то нетрудно показать, что направление аk является
возможным направлением возрастания функции f(x), т.е. точка х(k+1)=х(k)+
kа при достаточно малом k принадлежит множеству Х и обеспечивает
k

104
большее значение функции f(x), чем х(k). Выбор пары (аk, иk) с возможно
большим значением иk при этом означает выбор допустимого направления,
наиболее близкого к градиенту функции f(x), т.е. возможного направления
с наибольшим ростом функции. Если иk = 0, то получается стационарная
точка процесса, которая для задачи выпуклого программирования дает ре-
шение, а в общем случае требует дополнительного исследования. Для ли-
нейных функций gi (x) можно заменять в правых частях ограничений вспо-
могательных задач и на нуль.

Задача. Найти минимальное значение функции f(x)=(x1-7)2+(x2-5)2


 g1 ( x)  x1  x2  3  0,

при условиях  g 2 ( x)  2 x1  x2  15  0,
 x1 , x2  0.

Р е ш е н и е.

x2
x(0) a0

g1(x)=0
x(1)
3 g2(x)= 0

x1
0 7,5

Рис. 4.2
Точку х(0) необходимо выбрать таким образом, чтобы она принадле-
жала допустимому множеству. Далее для определения возможного направ-
ления спуска ищем направление, удовлетворяющее активным ограничени-
ям и составляющее минимальный угол с направлением антиградиента (так
как задача на минимум).
Возьмем х(0)= (4;7), она будет принадлежать допустимому множе-
ству. Тогда первые два ограничения активные, а антиградиент равен
f'(x0) = (6;-4).
Для определения возможного направления спуска с учетом линейно-
сти ограничений вспомогательную задачу линейного программирования
можно записать как
6a1  4a 2  max
 a1  a2  0,

  2a1  a2  0,
a  1, a  1.
 1 2

105
Решением этой задачи является а0 = (0,5;-1), а максимальное значе-
ние вспомогательной целевой функции равно 7. Значит исходная целевая
функция по направлению аk убывает, причем если сделать шаг с α =2,8, то
сразу получаем х(1) точку минимума целевой функции с координатами
(5,4;4,2) (иначе ее надо взять в качестве начальной точки для конструиро-
вания следующей итерации).
Методы возможных направлений также имеют различные варианты.

3. Методы множителей Лагранжа

Эта группа методов основана на сведении решения задачи математическо-


го программирования к нахождению седловой точки функции Лагранжа.
Ограничением здесь является то, что эта седловая точка существует далеко
не всегда. По существу эквивалентность решения задачи математического
программирования и нахождения седловой точки функции Лагранжа уста-
навливается только для выпуклого программирования, да и то при допол-
нительных условиях (теорема Куна-Таккера). Если такая эквивалентность
есть, то можно использовать методы множителей Лагранжа, которые пред-
ставляют собой различные процедуры поиска седловой точки. В качестве
такой процедуры можно взять, например, итеративный процесс как в мето-
де проекции градиента, применив его для подъема по переменной х и спус-
ка по переменной у. Получим процесс
F ( x k , y k )
x  PR ( x   k
k 1 k
),
x
F ( x k , y k )
y k 1  PY ( y k   k ),
y
где
F ( x k , y k ) F ( x k , y k )
 f ( x k )  y k , g ( x k ) ,  g ( x k ),
x y
g ( x)  ( g1 ( x),, g m ( x)), Y  y | y  0.
Проекция на множество Y определяется весьма просто:
PY(y)=(z1,..,zm), где zi=max(yi,0), i  1, m .
Если R  неотрицательный ортант, то проекция на него определяет-
ся аналогичным образом.
Пример 4.5. Найти максимум функции f ( x)  2 x1  4 x 2  x12  2 x 22 при
ограничениях
 x1  2 x2  8,

2 x1  x2  12,
 x , x  0.
 1 2
Р е ш е н и е. Функция f(x) является вогнутой, система ограничений
содержит только линейные неравенства:
g 1 ( x)  8  x1  2 x 2  0, g 2 ( x)  12  2 x1  x 2  0 .

106
Поэтому задача является задачей выпуклого программирования, для ее
решения можно использовать теорему Куна-Таккера.
Составим функцию Лагранжа
F ( x, y )  2 x1  4 x 2  x12  2 x 22 + y1 (8  x1  2 x 2 ) + y 2 (12  2 x1  x 2 ) .
Запишем необходимые и достаточные условия для седловой точки функ-
ции Лагранжа
 F  F
 x  2  2 x1  y1  2 y2  0,  x1 x  x1 (2  2 x1  y1  2 y2 )  0,
 1  1

 F  4  4 x  2 y  y  0,  x F  x (4  4 x  2 y  y )  0,
 x2 2 1 2
 2 x2 2 2 1 2

 F  F
  8  x1  2 x2  0,  y1  y1 (8  x1  2 x2 )  0,
 y1  y1
 F  F
  12  2 x1  x2  0,  y2  y2 (12  2 x1  x2 )  0,
 y2  y2
x i  0, y j  0, i, j  1,2.
Рассмотрим первую систему (систему линейных неравенств)
 2 x1  y1  2 y 2  2,
4 x  2 y  y  4,
 2 1 2

 x1  2 x 2  8,
 2 x1  x 2  12.
Выберем точку ( x, y ) , удовлетворяющую этой системе неравенств.
Получим начальное допустимое решение задачи: x ( 0 )  (0;0) , y ( 0 )  (3;1) .
Точка ( x ( 0 ) , y ( 0 ) ) не является седловой точкой функции Лагранжа (т.к. не
удовлетворяет достаточным условиям).
Найдем седловую точку, используя итеративный процесс проекции
градиента, применив его для подъема по переменной х и спуска по пере-
менной y. Для этого нам потребуются следующие величины:
f ( x)  2 x1  4 x 2  x12  2 x 22 , f ( x)  (2  2 x1 ;4  4 x 2 ) ,
g ( x)  ( g 1 ( x), g 2 ( x))  (8  x1  2 x 2 ;12  2 x1  x 2 ), g ( x)  (1;1)

I итерация.
f ( x ( 0 ) )  (2;4) , g ( x ( 0 ) )  (8;12), g ( x ( 0 ) )  (1;1),
F ( x ( 0 ) , y ( 0 ) )
 f ( x ( 0 ) )   y ( 0 ) , g ( x ( 0 ) )  (2;4)  (3;0)  (1;4) ,
x
F ( x ( 0 ) , y ( 0 ) )
 g ( x ( 0 ) )  (8;12),
y
F ( x ( 0 ) , y ( 0 ) )
x  PR ( x   1
(1) (0)
)  PR ((0;0)   1 (1;4))  (0;4  1 )
x
(т.к.  1  [0,1] ).
Определим шаг вычислений  1 , исходя из условия f ( 1 )  0 :
f ( x (1) )  16 1  32 12 , f ( 1 )  16  64 1  0 ,

107
отсюда  1 =1/4.
Значит,
x (1)  (0;1),
F ( x ( 0 ) , y ( 0 ) ) 1
y (1)  PY ( y ( 0 )   1 )  PY ((3;0)  (8;12))  (1;0).
y 4
Точка ( x (1) , y (1) )=((0;1),(1;0)) не удовлетворяет исходной системе
уравнений (достаточным условиям), т.е. не является седловой точкой
функции Лагранжа.

II итерация
f ( x (1) )  (2;0) , g ( x (1) )  (6;13), g ( x (1) )  (1;1),
F ( x (1) , y (1) )
 (2;0)+(-1;0),
x
x ( 2 )  PR ((0;1)   2 (1;0))  ( 2 ;1) .
Найдем шаг  2 :
f ( x ( 2 ) )  2 2  4   22  2  2  2 2   22 , f ( 2 )  2  2 2  0 ,
отсюда  2 =1.
Значит,
x ( 2 )  (1;1),
y ( 2 )  PY ((1;0)  1(6;13))=(0;0).
Точка ( x ( 2 ) , y ( 2 ) )=((1;1),(0;0)) является седловой точкой функции Ла-
гранжа (т.к. удовлетворяет необходимым и достаточным условиям).
Следовательно, получено оптимальное решение исходной задачи
х 0  (1;1), f max  f (1;1)  3.

4. Методы второго порядка

До сих пор мы рассматривали методы первого порядка, т.е. методы


поиска экстремума, использующие первые производные. Фактически в
этих методах производится линеаризация, связанная с заменой максимизи-
руемой функции f(x) линейным членом разложения ее в ряд Тейлора. Но
если функция дважды непрерывно дифференцируема, то можно использо-
вать для ее аппроксимации два члена ряда Тейлора. Использование такой
аппроксимации в итеративном процессе может повысить скорость сходи-
мости.
Наиболее известным из методов второго порядка является метод
Ньютона, который состоит в следующем. На k-й итерации, имея прибли-
жение x(k), составим вспомогательную задачу максимизации функции
1
 k ( x)  f ( x ( k ) ), x  x ( k )  f ( x ( k ) )( x  x ( k ) ), x  x ( k )
2
на множестве Х. Пусть

108
 k ( ~x ( k ) )  max  k ( x),
x X

тогда следующее приближение строится по формуле


x ( k 1)  x ( k )   k ( ~
x ( k )  x ( k ) ), 0   k  1.
Шаг k можно выбирать разными способами, в частности, можно по-
ложить k=1, тогда в качестве следующего приближения принимается
просто решение вспомогательной задачи, т.е. x ( k 1)  ~x ( k ) .
Для задачи без ограничений, когда X=Rn, метод Ньютона существен-
но упрощается. Действительно, в этом случае  k ( ~x ( k ) )  0 , т.е.
f ( x ( k ) )  f ( x ( k ) )( ~
x ( k )  x ( k ) )  0. (4.31)
~
Значит для нахождения х надо решить систему линейных уравне-
(k )

ний (4.31). Если матрица f (x(k)) невырождена, то имеем просто (при k =1)
х(k+1)= ~х ( k ) =х(k)-(f (x(k)))-1 f (x(k)).
Достоинством метода Ньютона является высокая скорость сходимо-
сти, которая полностью компенсирует усложнение вычислений на каждой
итерации. Недостатком метода является то, что он сходится при весьма
жестких предположениях.
Задача. Найти минимальное значение функции f = (x1-2)4+(x1-2x2)2 с
точностью  = 0,05, если хR2.
Р е ш е н и е. Итерационная формула этого метода есть приведенная
выше формула, полученная из (4.31). В данной задаче будем использовать
критерий остановки f ( x ( k ) )   . В качестве начальной точки возьмем
х(0)=(0;3). Вычислим поочередно f ( x ( 0 ) )  52, f ( x ( 0 ) )  (44;24),
 50  4  1 8 4 
f ( x ( 0 ) )   ,  f ( x 0 ) 
1
 ,
 4 8  384  4 50 
f ( x ( 0 ) ) f ( x ( 0 ) )  (0,67;2,67).
1

Теперь находим
x (1)  x ( 0 )  f ( x ( 0 ) ) f ( x ( 0 ) )  (0,67;0,33).
1

 23,2  4 
Вычислим f ( x (1) )  3,13 , f ( x (1) )  (9,4;0,04), f ( x (1) )   ,
  4 8 
1 8 4  (2)
 f ( x ) , x  x (1)  f ( x (1) ) f ( x (1) )  (1,11;0,56).
1 1
0  
170  4 23,2 
И так далее. Требуемая точность получается на 6-ом шаге. Поэтому
~
x  x ( 6 )  (1,83;0,91), ( f ( x ( 6 ) )  0,04  0,05), f ( ~ x )  0,0009.
Таким образом, fmin= f(1,83; 0,91) = 0,0009.

5. Методы штрафных функций

Как видно из предыдущих рассмотрений, наличие ограничений су-


щественно усложняет задачу поиска экстремума функции. Почти все из-
ложенные методы решения экстремальных задач включали сложные спе-
109
циальные процедуры, учитывающие наличие ограничений (например, про-
ектирование). В этом смысле особую группу образуют методы множителей
Лагранжа, которые состоят в сведении задачи поиска экстремума с ограни-
чениями к задаче поиска экстремума (точнее седловой точки, что пример-
но то же самое) без ограничений или с ограничениями простого вида, учет
которых не составляет труда (это видно на примере операции проектиро-
вания на неотрицательный ортант). Однако, как говорилось, эти методы
применимы практически только в выпуклом случае. От этого недостатка
избавлены методы штрафных функций, которые позволяют в весьма об-
щем случае сводить экстремальные задачи со сложными ограничениями к
задачам без ограничений или с простыми ограничениями, а в сочетании с
методами поиска безусловного экстремума служат универсальным сред-
ством решения задач математического программирования (конечно, не
лишенным недостатков).
Рассмотрим общую задачу математического программирования (4.3),
(4.4):
max f ( x),
x X
 
X  x x  R, g i ( x)  0, i  1, m .
Методы штрафных функций основаны на описании множества Х с
помощью функций со специальными свойствами. Одна группа этих мето-
дов использует функции вида ( х ,С ) , которые обладают следующими
свойствами:
0, x  X ,
lim ( x, C k )  
Ck 
 , x  X .
В качестве такой функции можно взять, например, квадратичную
функцию вида
m 2

( x, C k )  C k  min0, g i ( x)  ,
i 1
m 2

где φ(х)=  min0, gi ( x)  — функция штрафа, Ck (k=1,2,…) — параметры


i 1

штрафа. Функция  ( x, C k ) является дифференцируемой, если дифферен-


цируемы функции ограничений gi(x). Можно показать, что если f(x) и
g i ( x), i  1, m , непрерывны на замкнутом, ограниченном множестве R и Х
, то
max f ( x)  lim max f ( x)   ( x, C k ) . (4.32)
x X C 
k xR
0
При этом, если х ( С k ) реализует максимум в правой части (4.32), то
любая предельная точка последовательности x 0 (C k ) есть решение задачи
(4.3), (4.4).
Таким образом, с помощью метода штрафных функций общую зада-
чу математического программирования можно свести приближенно (при
достаточно большом Сk ) к задаче без ограничений или с простыми огра-
ничениями (на простом множестве R). Недостатком методов штрафных
функций является ухудшение свойств вспомогательных задач (в правой
110
части (4.32)) при больших значениях С k , в частности, чувствительность к
ошибкам вычислений. Эти недостатки преодолены в некоторых вариантах
методов штрафных функций, в которых можно ограничиться конечными
значениями штрафных констант С k .
Задача. Найти минимум функции f(x)= 2x12+x22 при ограниченях
 g 1 ( x)   x1  x 2  2  0,

 g 2 ( x)  x1  2 x 2  1  0,
 g ( x)  2 x  x  0.
 3 1 2

Р е ш е н и е. Так как целевая функция f(x) является выпуклой квад-


ратичной функцией, а ограничения, определяющие допустимое множество
задачи, линейны, то решение x(k) вспомогательной задачи fk(x)=f(x)+k(x)
min k=1,2,… может быть найдено из условия fk'(x(k))=0. Так как функция
k(x)=k(x) ( k  C k ) в различных областях пространства Rп задана по-
разному, то при составлении вспомогательной функции fk(x) следует сде-
лать определенное предположение о расположении ее точки минимума x(k).
1. Предположим, что в точке x(k) безусловного минимума функции
fk(x) все ограничения задачи нарушаются, т.е. gi(x(k)) > 0, i=1,2,3. Тогда, по-
скольку
gi+(x)= 0, если gi(x)  0 или gi+(x)= gi(x), если gi(x)>0,
имеем
gi+(x(k))=gi(x(k)), i=1,2,3,
поэтому считаем, что
fk(x)=f(x)+k[g12(x)+g22(x)+g32(x)]=(2+6k)x12+(1+6k)x22+6kx1x2-2kx1 -8kx2+5k.
Решив систему уравнений
 f k ( x)
 x  (4  12k ) x1  6kx2  2k  0,
1
 f ( x)
 k
 6kx1  (2  12k ) x2  8k  0,
 x2
18k 2  k 27k 2  8k
находим x1( k )  , x2( k )  .
27k 2  18k  2 27k 2  18k  2
 9k 2  6k
Так как g3 ( x )  2 x  x
(k ) (k )
1
(k )
2   0 k=1,2,.., то предполо-
27 k 2  18k  2
жение g3(x(k))>0 не подтвердилось.
2. Предположим, что gi(x(k))>0, i=1,2, g3(x(k)) 0. Тогда
gi+(x(k))=gi(x(k)), i=1,2, g3+(x(k))=0,
поэтому считаем, что
fk(x)=f(k)+k[g12(x)+g22(x)]=(2+2k)x12+(1+5k)x22-2k x1 x2-2k x1-8k x2+5k,
откуда находим

111
9k 2  k 9k 2  8k
x1( k )  , x2( k )  .
9k 2  12k  2 9k 2  12k  2
Легко проверить, что сделанное предположение подтверждается, т.е.
последние два равенства определяют точку безусловного минимума x(k)
вспомогательной функции fk(x). Окончательно находим
x 0  lim x ( k )  (1; 1) , fmin=f(1;1)=3.
k 

Задачи и упражнения

1-3. Найдите глобальные экстремумы функции f на множестве Х, ис-


пользуя графический метод решения ЗНП.
 х12  х22  25,
1-3. 1. f=3 x1  4x2 , Х:  х1 х2  4,
 х , х  0.
 1 2

 6 x1  4 x2  12,
 2 x  3 x  24,
2. f= x1 x2 , Х:  1 2

  3 x1  4 x 2  12,
 x1 , x2  0.

 x 2  x1  4  3,

3. f= ( x1  4)  ( x2  2) , Х: 2  x1  6,
2 2

 x  0.
 2
Найдите точки условного экстремума функций в задачах 4 - 9.
Указание: 4-7 целесообразнее решать методом множителей Ла-
гранжа, 8-9  методом штрафных функций.

4. На двух предприятиях отрасли необходимо изготовить 200 изде-


лий некоторой продукции. Затраты, связанные с производством x1 изделий
на первом предприятии, равны 4 x12 ден.ед., а затраты, обусловленные из-
готовлением x2 изделий на втором предприятии, составляют 20 x2  6 x22
ден.ед. Определить, сколько изделий на каждом из предприятий следует
произвести, чтобы общие затраты, обусловленные изготовлением необхо-
димой продукции, были минимальными.

5. f=x12+x22 при условии x1+x2=5.

112
 x1  x 2  x 3  4,
6. f=x12+x22+x3 при условиях 
2 x1  3 x 2  12.
 x  x  4,
7. f=x1x2 +x2x3 при условиях  1 2
 x2  x3  4.
2 x1  5 x2  7,
 3 x  x  15,
8. f=x12+(x2-5)2 при условиях  1 2
 4 x1  7 x2  71,
 x1 , x2  0.

 x 1 2  x 2 2  36,
9. f=(x1-3)2+(x2-2)2 при условиях 
 x1 , x 2  0.

Найдите минимальное значение функции в задачах 10-14.


Указание. 10-12 целесообразнее решать методом штрафных функ-
ций, 13-14 — методом возможных направлений

2 x1  3 x2  13  0,
10. f= x12+x22-20x1-30x2 при условиях 
 2 x1  x2  10  0.
11. f= x12+x22-5x1-4x2 при условии 2x1+3x2+x3=6.
2 x1  3 x2  6  0,
12. f= x12-2x22-x2 при условиях 
 2 x1  x2  4  0.
2 x1  5 x 2  40,
13. f= x1 +2x2 -16x1-20x2 при условиях  2 x1  x 2  16,
2 2

 x1 , x 2  0.

 x1  x 2  4 ,
14. f= x12+x22-x1 x2-3x2 при условиях 
 x1 , x 2  0.

Найдите максимальное значение функции в задачах 15-17.


Указание. Решите несколькими способами и сделайте вывод о том,
какой метод наиболее рационален.

15. f=x12x23x34 при условии x1+x2+x3=18.


2 2 ( x1  5) 2  ( x2  5) 2  8,
16. f= -x1 -x2 при условиях 
 x1 , x2  0
 x1  x 2  4 ,
17. f=4x1+10 x2-x1 -x2 2 2
при условиях  x 2  2 ,
 x , x  0.
 1 2

113
Глава 5. ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

Если задачи математического программирования допускают разбие-


ние процесса решения на отдельные этапы (шаги), то их принято класси-
фицировать как задачи динамического программирования. Задачи динами-
ческого программирования, как и любые другие задачи оптимизации, яв-
ляются математическими моделями некоторых практических задач приня-
тия решения (или управления).
В динамическом программировании рассматриваются методы, кото-
рые позволяют путем поэтапной оптимизации получить общий оптимум.
Одним из таких методов является метод последовательной оптимизации
(также называемый методом динамического программирования). Этот ме-
тод применяется в том случае, когда для оптимизации общего критерия
качества системы надо многократно выбирать решение, причём система
такова, что в ней можно выделить отдельные шаги (этапы), а решения на
последующих шагах не оказывают влияния на величину показателя каче-
ства, достигнутую на предыдущих шагах. Метод динамического програм-
мирования даёт хорошие результаты при малом числе возможных решений
на каждом шаге, и, прежде всего, когда динамический процесс описывает-
ся небольшим числом переменных. При этих условиях сложность решения
задач при увеличении числа шагов возрастает умеренно.

§ 5.1. Задача динамического программирования

Обратимся к многошаговым задачам оптимизации, то есть задачам,


оптимизацию в которых можно представить в виде ряда последовательных
этапов.
Рассмотрим некоторый процесс. Предположим, что состояние этого
процесса описывается n-мерным вектором x  ( x1 , x 2 ,..., x n ) , или, что то же
самое, точкой x пространства R n , которое называют фазовым простран-
ством.
Будем считать, что процесс является N-шаговым, то есть он происхо-
дит в N этапов (шагов) в соответствии со следующей схемой:
1)
x (0)  ...    
x ( k (k )
x  ...  x(N) .
начальное состояние конечное состояние
k й шаг

Переход между состояниями на k-м шаге происходит в соответ-


ствии с уравнением состояний:
x ( k )  f ( k ) ( x ( k 1) , u ( k ) ), (5.1)
где u  R есть m-мерный вектор управления, выбираемый на k-м шаге,
(k ) m

f ( k ) ( x, u ) — заданная n-мерная вектор-функция аргументов x  R n , u  R m .


Таким образом, предполагается, что в результате k-го шага процесс
переходит в состояние x (k ) , которое определяется только начальным состо-
янием x ( k 1) этого шага и выбранным на нём вектором управления u (k ) и не

114
зависит от “предыстории” процесса до k-го шага, т.е. от x ( 0) ,..., x ( k  2) и
u (1) ,..., u ( k 1) .
Показателем эффективности k-го шага является заданная числовая
характеристика (целевая функция этого шага) J k  J k ( x ( k 1) , u ( k ) ), k  1,2,..., N .
Предположим, что эффективность всего процесса в целом характери-
зуется целевой функцией вида
  N
J ( x, u )   J k ( x ( k 1) , u ( k ) ), (5.2)
k 1

где x  x ( 0) , x (1) ,..., x ( N )   набор состояний, называемый фазовой траектори-



ей процесса, а u  набор векторов управления, который называется
управлением процессом, u  u (1) , u ( 2) ,..., u ( N ) .

Таким образом, рассматриваются только аддитивные целевые функ-


ции J, представимые в виде суммы целевых функций шагов J k .
Предположим далее, что на фазовую траекторию и выбор управле-
ний наложены ограничения
x ( k )  X k , k  0,..., N , (5.3)
u Uk (x
(k ) ( k 1)
), k  1,..., N , (5.4)
где X k и U k ( x ( k 1) )  заданные множества в пространствах R n и R m соот-
ветственно, причём множество U k зависит от начального состояния x ( k 1) k-
го шага.
Ограничения на начальное и конечное состояния процесса
x  X 0 , x ( N )  X N называются начальными и конечными условиями.
(0)

При этом множества X 0 и X N  R n во многих случаях содержат по


одной точке (начало и конец фазовой траектории).
Пусть u  u (1) , u ( 2) ,..., u ( N )   управление процессом, удовлетворяю-

щее ограничениям (5.4) и переводящее его из некоторого начального со-


стояния x (0)  X 0 в некоторое конечное состояние x ( N )  X N в соответствии с
уравнениями (5.1) с учётом ограничений (5.3). Обозначим множество всех
таких управлений буквой U.
Многошаговая задача оптимизации формулируется следующим об-
разом: среди всех управлений u  U выбрать такое u  u (1) , u ( 2) ,.., u ( N ) , для
 

которого целевая функция (5.2) принимает минимальное или максималь-


ное (в зависимости от смысла задачи) значение.
 
Управление u и соответствующая ему фазовая траектория x назы-
ваются оптимальными.
Многошаговая задача оптимизации формулируется следующим об-
разом:
  N
J ( x, u )   J k ( x ( k 1) , u ( k ) )  extr , (5.5)
k 1

115
при условиях
x ( k )  f ( k ) ( x ( k 1) , u ( k ) ), k  1,..., N , (5.6)
и ограничениях (5.3), (5.4).
Символом extr обозначим минимум или максимум соответствующей
функции, в зависимости от смысла задачи.
К многошаговым задачам оптимизации сводятся многие прикладные
задачи. Прежде чем решать такие задачи, необходимо научиться состав-
лять условия.
Пример 5.1. Сформулировать следующую задачу в виде многошаго-
вой задачи оптимизации (5.3) - (5.6).
С помощью N-ступенчатой ракеты с заданной стартовой массой M
в космос запускается спутник массой m. За время работы каждой ступе-
ни ракета получает добавочную скорость V  F ( y, z ) , где y  масса, раз-
гоняемая этой ступенью, z  масса самой ступени. Найти такое распре-
деление общей массы M ракеты между её ступенями, при котором конеч-
ная скорость спутника будет максимальной.
Р е ш е н и е. Обозначим u ( k ) , k  1,..., N , массу k-й ступени. Массу
спутника вместе с примыкающими к ней k ступенями ракеты обозначим
x ( k ) , k  0,1,..., N .
Тогда, очевидно, x ( k )  x ( k 1)  u ( k ) , k  1,..., N ;
x ( 0 )  М  m, x ( N )  m.
Из условия задачи вытекают следующие ограничения на массы x (k ) и
u (k ) : m  x  M  m, 0  u  M , т.е.
(k ) (k )

x ( k )  X k  m; M  m, k  1,..., N  1,


u ( k )  U k  0; M , k  1,..., N .
В результате работы k-й ступени ракеты приращение скорости спут-
ника составит F ( x ( k 1) , u ( k ) ), поэтому его конечная скорость будет равна
N

 F (x
k 1
( k 1)
, u ( k ) ).

Таким образом, рассматриваемую задачу можно сформулировать как


многошаговую задачу оптимизации следующего вида:
  N
J ( x, u )   F ( x ( k 1) , u ( k ) )  max,
k 1

x (k )
x ( k 1)
 u ( k ) , k  1,..., N ,
x ( k )  m; m  M , k  1,..., N  1, u ( k )  0; M , k  1,..., N ,
x ( 0 )  М  m, x ( N )  m.
Для решения многошаговой задачи оптимизации (5.3) - (5.6) исполь-
зуется метод динамического программирования, основанный на принципе
оптимальности Беллмана.

116
§ 5.2. Принцип оптимальности Беллмана и метод динамического про-
граммирования

Оптимальное уравнение в динамической задаче обладает тем свой-


ством, что каковы бы ни были решения (управления) на начальном этапе
(одном или нескольких шагах), последующие решения должны составлять
оптимальное управление для критерия, представляющего собой сумму эф-
фективностей на оставшихся шагах и полученного нового начального со-
стояния.
Это утверждение называется принципом оптимальности и может
быть доказано для динамических задач с аддитивной целевой функцией
вида (5.5) и уравнением процесса вида (5.6). Математическое выражение
принципа оптимальности представляет рекуррентное соотношение, назы-
ваемое уравнением Беллмана.
Рассмотрим это уравнение на типичной задаче распределения ресур-
сов.
Пусть имеется некоторое количество ресурсов х, которое необходи-
мо распределить между n различными предприятиями так, чтобы получить
максимальную суммарную эффективность.
Введем обозначения: ui – количество ресурсов, выделенных i-му
предприятию (управление), gi (ui ) - величина дохода от использования i-м
предприятием выделенного ресурса в количестве ui.
Математическая формулировка задачи:
n

 g (u )  max
i 1
i i

при ограничениях
n
ui  0, i  1, n , u
i 1
i  x.

Это задача нелинейного программирования, которая может быть ре-


шена методом Лагранжа, но мы будем решать ее здесь поэтапно, последо-
вательно выделяя ресурсы предприятиям.
Обозначим максимальный доход от распределения ресурсов в коли-
честве z между K предприятиями с номерами от n-k+1 до n через f k (z ) , то-
гда оптимальное значение задачи есть f n (x) . Если мы дошли до последнего
шага (n-го предприятия), то f1 ( z )  g n ( z ) . На предпоследнем шаге имеем
f 2 ( z )  max g n 1 (u n 1 )  g n ( z  u n 1 )  max g n 1 (u n 1 )  f 1 ( z  u n 1 ) .
0u n 1  z 0u n 1  z

Для произвольного шага имеем соотношение


f k 1 ( z )  max g n  k (u n  k )  f k ( z  u n  k ), k  1, n  1,
0 u n  k  z

которое и является уравнением Беллмана данной задачи.


На первом шаге (при k=n-1) имеем соотношение
f n ( z )  max g1 (u1 )  f n 1 ( z  u1 ) .
0u1  z

117
Последовательно определяя f1 ( z ), f 2 ( z ), …, f n (z ) для произвольного
z и подставляя z = х в f n (z ) , получаем оптимальный результат и оптималь-
ное управление на первом шаге u10 . Оптимальное управление получается
последовательной подстановкой в решения уравнения Беллмана, которые
представляют собой функции u n k (z ) , называемые условно оптимальными
управлениями.
Рассмотрим процесс решения уравнения Беллмана на следующем
численном примере.
Пример 5.2. Имеются два предприятия P и Q. При выделении каж-
дому из них на год x единиц средств предприятие P обеспечивает доход 5x
единиц и остаток от выделенных средств 0,3x единиц, а предприятие Q
 доход 4x единиц и остаток выделенных средств 0,5x единиц.
Обоим предприятиям выделено на 4 года (в начале периода) a=1000
единиц средств. Нужно распределить их вначале и затем остатки
средств ежегодно между предприятиями, чтобы общий доход за указан-
ный период был максимальным.
Р е ш е н и е. Разобьём весь период продолжительностью в 4 года на
4 этапа, приняв каждый год за один этап. Будем нумеровать этапы, начи-
ная с первого года, и обозначим через xk , yk средства, выделяемые соответ-
ственно предприятиям P и Q на k-м этапе; сумма xk  yk  ak представляет
собой общее количество средств, используемых на k-м этапе (оставшихся в
конце предыдущего (k-1)-го этапа). Очевидно, a1  a  1000 . Доход, получа-
емый на k-м этапе, равен 5 x k  4 y k . Если обозначить через f k (ak ) макси-
мальный доход, полученный на последних этапах, начиная с k-го, т.е. c
распределения ak средств, то функциональное уравнение Беллмана, выра-
жающее принцип оптимальности, будет иметь вид:
f k (a k )  max 5 x k  4 y k  f k 1 (a k 1 ). (5.7)
xk  н л  ak

Так как xk  yk  ak , то для каждого этапа надо выбрать значение ве-


личины xk , при этом yk  ak  xk .
Доход на k-м этапе составит:
5 xk  4 yk  5 xk  4(ak  xk )  4ak  xk .
Количество средств, используемых на k-м этапе, выразится рекур-
рентной формулой:
ak  0,3xk 1  0,5 yk 1  0,3xk 1  0,5(ak 1  xk 1 )
или
ak  0,1  (5ak 1  2 xk 1 ), (5.8)
а функциональное уравнение Беллмана (5.7) примет вид:
f k (a k )  max 4a k  x k  f k 1 (a k 1 ). (5.9)
0 xk  ak

Полагая последовательно k= 4, 3, 2, 1 (планирование начинается с


последнего этапа), получим (используя формулы (5.8) и (5.9) и учитывая,

118
что f5 (a5 )  0 ): k  4, f 4 (a4 )  max 4a4  x4   5a4 , максимум линейной функции
0 x4  a4

4a4  x4 достигается в точке x4  a4  конце отрезка 0; a 4 ,


y 4  a 4  x 4  0, a 4  0,1  (5a3  2 x3 );
k  3, f 3 a3   max 4a 3  x3  5  0,1  5a3  2 x3   max 6,5a 3  0 x3   6,5a 3
0  x3  a 3 0  x3  a 3

при любом значении x3 (функция на отрезке 0; a3  не зависит от x3 ),


y 3  a3  x3 ; a3  0,1  5a 2  2 x 2 ; k  2,
f 2 a2   max 4a2  x2  6,5  0,1  5a2  2 x2   max 7,25a2  0,3 x2   7,25a2 ,
0 x2  a2 0 x2  a 2

максимум линейной функции 7,25a2  0,3 x2 достигается в точке x2  0 - кон-


це отрезка 0; a2 , y2  a2  x2  a2 , a2  0,1  5a1  2 x1  ; k  1,
f1 (a1 )  max 4a1  x1  7,25  0,1  (5a1  2 x1 )  max 7,625a1  0,45 x1   7,625a1 ,
0  x1  a1 0  x1  a1

максимум линейной функции 7,625a1  0,45 x1 достигается в точке x1  0 -


конце отрезка 0; a1  , y1  a1  x1  a1  a  1000 .
Процесс закончен.
Максимальный доход за 4 года составит f1 (a1 )  7,625  1000  7625 еди-
ниц. Для получения такого дохода надо в первый и второй годы все сред-
ства отдать предприятию Q ( x1  0, y1  a1 , x2  0, y2  a2 ); на третий год
оставшиеся средства можно распределить между предприятиями P и Q
произвольным образом ( 0  x3  a3 , y3  a3  x3 ); и, наконец, на четвёртый год
все оставшиеся средства надо передать предприятию P ( x4  a4 , y4  0 ).
Остаток средств, однако, при этом будет зависеть от распределения
средств в третьем году. Действительно, a1  a  1000, a2  0,1  (5a1  2 x1 )  500,
a3  0,1  (5a2  2 x2 )  250, a4  0,1  (5a3  2 x3 )  125  0,2 x3 ; остаток же после четы-
рёх лет работы будет a5  0,3a4  37,5  0,06 x3 . Величины a4 и a5 зависят от
x3 . Например, если в третий год все оставшиеся средства передать пред-
приятию P ( x3  a3  250, y3  0 ), то a5  37,5  0,06  250  22,5 единиц, если же
предприятию Q ( x3  0, y3  250 ), то a5  37,5 единиц, а если поделить сред-
ства пополам ( x3  y3  125 ), то a5  37,5  0,06  125  30 единиц. Вообще в за-
висимости от x3 величина a5 будет меняться в пределах 22,5  a5  37,5 . Но в
условии задачи не обусловлено никаких требований к остатку. Речь идёт
только о максимальной прибыли, которая, независимо от остатка, останет-
ся равной 7625 единиц.
Теперь рассмотрим задачу в общем виде. Оптимальная траектория в
задаче (5.3) - (5.6) обладает тем свойством, что любая её завершающая
часть, начинающаяся с k -го шага, k  1,..., N  1, является оптимальной для
остающихся шагов процесса.
Опишем метод динамического программирования.
Заметим, что в формулировке многошаговой задачи оптимизации
(5.3) - (5.6) ограничения на фазовую траекторию (5.3) (включая конечное
состояние) можно включить в ограничения на выбор управлений, заменив
соотношения (5.3) и (5.4) следующим эквивалентным ограничением:

119
~

u ( k )  U k ( x ( k 1) )  u ( k )  U k ( x ( k 1) ) f (k )

( x ( k 1) , u ( k ) )  X k , k  1,..., N . (5.10)
С учётом этого перепишем формулировку задачи (5.3) - (5.6):
  N
J ( x; u )   J k ( x ( k 1) , u ( k ) )  extr , (5.11)
k 1

x ( k )  f ( k ) ( x ( k 1) , u ( k ) ), k  1,..., N , (5.12)


~
u ( k )  U k ( x ( k 1) ), k  1,..., N , (5.13)
x  X 0.
(0)
(5.14)
Предположим, что в результате начальных k  1 шагов процесс пере-
шёл в состояние x ( k 1) . Рассмотрим задачу оптимизации оставшихся
 

N  k  1 шагов. Пусть оптимальное управление u (k )  u ( k ) ,..., u ( N ) послед-
них N  k 1 шагов и оптимальная траектория этих шагов
x (k )  x ( k 1) , x ( k ) ,..., x ( N ) , начатая из состояния x ( k 1) , найдены.


  N
Целевая функция J ( k ) ( x(k ), u (k ))   J i ( x ( k 1) , u ( k ) ) последних N  k  1 ша-
ik
   
гов при x(k )  x (k ), u (k )  u (k ) принимает оптимальное (т.е. минимальное
или максимальное) значение, зависящее от начального состояния x ( k 1) фа-
зовой траектории этих шагов, т.е.
   
(5.15)
extrJ ( k ) ( x(k ), u (k ))  J ( k ) ( x (k ), u (k ))  Bk ( x ( k 1) ).
( k 1)
Функция Bk ( x ) из (5.15) называется функцией Беллмана послед-
них N  k  1 шагов. Очевидно,
BN ( x ( N 1) )  extr
~
J N ( x ( N 1) , u ( N ) ). (5.16)
u ( N ) U N ( x ( N 1) )

Кроме того, функции Беллмана связаны между собой следующими


соотношениями, вытекающими из принципа оптимальности:
Bk ( x ( k 1) )  extr
~
Bk 1[ f ( k ) ( x (k 1) , u ( k ) )]  J k ( x (k 1) , u (k ) ),
u ( k ) U k ( x ( k 1) )
(5.17)
k  1,..., N  1.
Соотношения (5.16) и (5.17), позволяющие последовательно найти
функции Беллмана BN ( x ( N 1) ),.BN 1 ( x ( N  2) ),...,.B1 ( x ( 0) ), называются уравнениями
Беллмана.
Находя функции Bk ( x ( k 1) ), k  N , N  1,...,1 из (5.16) и (5.17), мы одно-
временно определяем и управления u ( k ) ( x ( k 1) ), которым отвечают опти-
мальные значения соответствующих величин Z N  J N ( x ( N 1) , u ( N ) ) и
Z k  Bk 1[ f ( k ) ( x ( k 1) , u ( k ) )]  J k ( x ( k 1) , u ( k ) ) , k  N  1, N  2,...,1 из правых частей
(5.16), (5.17):

Z N [ x ( N 1) , u ( N ) ( x ( N 1) )]  extr
~
Z N ( x ( N 1) , u ( N ) )  BN ( x ( N 1) ), (5.18)
u ( N ) U N ( x ( N 1) )

Z k [x ( k 1)
,u ( k )*
(x ( k 1)
)]  (k )
extr
~ ( k  1)
Z k ( x ( k 1) , u ( k ) )  Bk ( x ( k 1) ), (5.19)
u U k ( x )

k  N  1,...,1.
Управления u ( k ) ( x ( k 1) ), k  1,..., N , называются условно оптимальными
управлениями, а процесс их нахождения  условной оптимизацией. Отме-
120
тим, что управления u ( k ) ( x ( k 1) ), найденные в соответствии с (5.19), удовле-
творяют принципу оптимальности, т.е. в зависимости от начального состо-
яния x ( k 1) управление u ( k ) ( x ( k 1) ), k  1,..., N  1, учитывает оптимизацию не
только k -го шага, но и следующих за ним N  k шагов.
Итак, в результате условной оптимизации находятся функции Белл-
мана Bk ( x ( k 1) ) и условно оптимальные управления u ( k ) ( x ( k 1) ), k  1,..., N .
После этого можно осуществить безусловную оптимизацию в задаче
(5.11) - (5.14), то есть определить искомое оптимальное управление про-
  и оптимальную

цессом u  u (1) ,..., u ( N ) фазовую траекторию
  следующим образом.

x  x ( 0) ,..., x ( N )
Так как функция Беллмана B1 ( x ( 0) ) для каждого начального состояния
x ( 0 )  X 0 равна оптимальному значению целевой функции N шагов, т.е.
всего процесса, начатого из состояния x ( 0) , то оптимальное начальное
условие x ( 0)  X 0 находим из соотношения
B1 ( x ( 0 ) )  extr B1 ( x ( 0) ) (5.20)
x (0) X 0

(если множество X 0 из (5.14) состоит из единственной точки x ( 0) , то пола-


гаем x (0)  x (0) ).
Далее, используя найденные условные оптимальные управления, а
также уравнения состояний (5.12), последовательно находим
(1)  (1)  ( 2) ( 2)
u , x , u , x ,..., u , x ( N ) ( N )
из следующих соотношений:
u (1)  u (1) ( x ( 0) ), x (1)  f (1) ( x ( 0) , u (1) ),
u ( 2)  u ( 2 ) ( x (1) ), x ( 2)  f ( 2 ) ( x (1) , u ( 2 ) ),
(5.21)
..............................................................
u ( N )  u ( N ) ( x ( N 1) ), x ( N )  f ( N ) ( x ( N 1) , u ( N ) ).
Теперь рассмотрим алгоритм метода динамического программирования.
Этап I (условная оптимизация).
Ш а г 1. Находим условно оптимальное управление u ( N ) ( x ( N 1) ) и
функцию Беллмана BN ( x ( N 1) ) в соответствии с (5.16), (5.18);
Ш а г 2. Используя результаты первого шага, находим u ( N 1) ( x ( N  2) ) и
BN 1 ( x ( N  2) ) с помощью равенств (5.17), (5.19) при k  N  1 ;
……………………………………………………………………………
Ш а г N. Используя результаты (N-1)-го шага, определяем u (1) ( x ( 0) ) и
B1 ( x ( 0 ) ) в соответствии с (5.17) и (5.19) при k  1 .
Этап II (безусловная оптимизация).
Ш а г 0. Находим оптимальное начальное состояние x (0) в соответ-
ствии с (5.20);
Ш а г 1. Определяем оптимальное управление u (1) и конечное состо-
яние x (1) первого шага процесса по формулам (5.21);
Ш а г 2. Используя результаты предыдущего шага, находим u ( 2) и
x ( 2) в соответствии с (5.21);

121
……………………………………………………………………………..
Ш а г N. С помощью результатов ( N  1 )-го шага определяем u ( N ) и
x ( N ) по формулам (5.21).
Окончательно имеем u  u (1) ,..., u ( N ) , x  x ( 0) ,..., x ( N ) .
 

Для многих экономических и производственных задач характерной


является дискретная модель, предполагающая, что величины, описываю-
щие процесс, могут принимать только дискретный ряд значений. Функци-
ональные зависимости в таких задачах задаются, как правило, в виде таб-
лиц, а не аналитически. Однако общая схема их решения методом динами-
ческого программирования остаётся без изменений.
Рассмотрим решение следующего примера.
Пример 5.3. Общая сумма в 4 млн. руб. распределяется между тре-
мя предприятиями в количествах, кратных 1 млн. руб. В результате выде-
ления средств k -му предприятию в размере u оно даёт доход J k (u ), k  1,2,3,
величина которого может быть найдена из таблицы 1.
Таблица 1

U 0 1 2 3 4
J1 (u ) 0 5 9 11 12
J 2 (u ) 0 4 8 12 14
J 3 (u ) 0 7 9 10 11

Распределить средства между предприятиями так, чтобы их сум-


марный доход был максимальным.
Р е ш е н и е. Обозначив средства, выделенные k -му предприятию
( k  1,2,3 ), символом u (k ) , а сумму средств, выделенных предприятиям с но-
мерами от 1 до k , символом x (k ) сформулируем рассматриваемую задачу
как многошаговую задачу (5.11) - (5.14):
  3
J ( x, u )   J k (u ( k ) )  max,
k 1
( k 1)
x (k )
x  u ( k ) , k  1,2,3,
u ( k )  [0; u  x ( k 1) ]  , k  1,2,3, Z  множество натуральных чисел,
x ( 0 )  0, x ( 3)  4.
Для решения этой задачи применим метод динамического програм-
мирования.
Этап I (условная оптимизация).

Ш а г 1.
Найдём B3 ( x ( 2) )  max J 3 (u ( 3) ).
 
u ( 3 )  0; 4  x ( 2 )  

Так как функция Z 3 ( x ( 2) , u (3) )  J 3 (u (3) ) является возрастающей функци-


ей аргумента u (3) (см. таблицу 1), то её максимум достигается при макси-
мальном допустимом значении u (3) , т.е.

122
u ( 3) ( x ( 2 ) )  [4  x ( 2 ) ] (   -целая часть) (*)
Отсюда B3 ( x )  Z 3 ( x , u ( x ))  J 3 (4  x ).
( 2) ( 2)
Значения
( 3)  ( 2) ( 2) ( 2)
B3 ( x ),
найденные с помощью таблицы 1, представлены в таблице 2.
Таблица 2
x ( 2)
0 1 2 3 4
B3 ( x ( 2) ) 11 10 9 7 0

Ш а г 2.
Вычислим B2 ( x (1) ) 

max

B ( x
u ( 2 )  0; 4  x (1 )  
3
(1)

 u ( 2) )  J 2 (u ( 2) ) .

Для нахождения максимума функции Z 2 ( x (1) , u ( 2) )  B3 ( x (1)  u ( 2) )  J 2 (u ( 2) )


составляем таблицу 3 значений этой функции, используя данные таблиц 1
и 2.
Таблица 3
(1) ( 2)
x u
0 1 2 3 4
0 11 14 17 19 14
1 10 13 15 12 -
2 9 11 8 - -
3 7 4 - - -
4 0 - - - -

В таблице 3 скобками выделены максимальные по u ( 2) значения


функции Z 2 ( x (1) , u ( 2) ), соответствующие различным значениям x (1) .
Используя таблицу 3, находим функции B2 ( x (1) ) и u ( 2) ( x (1) ), представив
их значения в таблицах 4 и 5.
Таблица 4

x (1) 0 1 2 3 4
B 2 ( x (1) ) 19 15 11 7 0

Таблица 5

x (1) 0 1 2 3 4
u ( 2) ( x (1) ) 3 2 1 0 0

Таблица 6

u (1) 0 1 2 3 4
Z 2 (0, u (1) ) 19 20 20 19 12

123
Ш а г 3.
Так как множество X 0 состоит из единственной точки x (0)  0 , то
найдём только B1 (0) и u (1) (0) :
B1 (0)  (1max
) 0 ; 4  
u
B2 (0  u (1) )  J 1 (u (1) ).
Для определения максимума в правой части последнего равенства
составим таблицу 6 значений функции Z 2 (0, u (1) )  B 2 (u (1) )  J 1 (u (1) ), кото-
рые найдём с помощью таблиц 1 и 4.
Из таблицы 6 видно, что B1 (0)  20 , причём u (1) (0)  1 или
u (1) (0)  2, т.е. в данной задаче существует два оптимальных управления и
две оптимальные траектории.

Этап II (безусловная оптимизация).

Ш а г 1.
а) Пусть u (1)  1 . Тогда x (1)  x ( 0)  u (1)  1.
b) Пусть u (1)  2. Тогда x (1)  x (0)  u (1)  2.
Ш а г 2.
а) Для x (1)  1 имеем u ( 2)  u ( 2) (1)  2 (смотри таблицу 5),
x ( 2)  x (1)  u ( 2)  3 .
b) Для x (1)  2 получаем u ( 2)  u ( 2) (2)  1 (смотри таблицу 5),
x ( 2)  x (1)  u ( 2)  3.
Ш а г 3.
Так как для обеих оптимальных фазовых траекторий x ( 2)  3 , то из
(*) находим u (3)  u (3) (3)  1, x (3)  x ( 2)  u (3)  4 .
 
Окончательно получаем u  1,2,1 или u  2,1,1 и, соответственно,
 
x  0,1,3,4 или x  0,2,3,4.
Таким образом, существует два оптимальных варианта распределе-
ния средств предприятиям:
1) первому предприятию выделяется 1 млн.руб., второму  2
млн.руб. и третьему  1 млн.руб.;
2) первому  2, второму  1 и третьему  1 млн.руб.
В обоих случаях суммарный доход предприятий составит B1 (0)  20
млн.руб.
Задача об увеличении объемов выпуска продукции. Для увеличения
объемов выпуска пользующейся повышенным спросом продукции, изго-
товляемой предприятиями, выделены капиталовложения в объеме S=700
тыс.руб. Использование i-м предприятием X i тыс.руб. из указанных
средств обеспечивает прирост выпуска продукции, определяемый значени-

124
ем нелинейной функции f i ( X i ).
Найти распределение капиталовложений между предприятиями,
обеспечивающее максимальное увеличение выпуска продукции, если зна-
чения X i и f i ( X i ) приведены в таблице 7.
Таблица 7
Объем капиталовложе- Прирост выпуска продукции f i ( X i ) в зависимости
ний X i (тыс.руб.) от объема капиталовложений (тыс.руб.)
Предприятие 1 Предприятие 2 Предприятие 3

0 0 0 0
100 30 50 40
200 50 80 50
300 90 90 110
400 110 150 120
500 170 190 180
600 180 210 220
700 210 220 240

Р е ш е н и е. Для решения данной задачи следует составить рекур-


рентное соотношение Беллмана. В рассматриваемом случае это соотноше-
ние приводит к следующим функциональным уравнениям:
 1 ( X )  max  f1 ( X 1 );
0 X 1  X

 2 ( X )  max  f 2 ( X 2 )   1 ( X  X 2 );
0 X 2  X
(5.22)
................................................................
 n 1 ( X )  max  f n 1 ( X n 1 )   n 1 ( X  X n 1 ).
0 X n 1  X

Здесь функции  i ( X ) (i  1, n  1) определяют максимальный прирост


выпуска продукции при соответствующих раcпределениях X тыс.руб. ка-
питаловложений между i предприятиями. Поэтому значение функции
 n ( X ) вычисляется лишь для одного значения X=S, так как объем капита-
ловложений, выделяемых для всех n предприятий, равен S тыс.руб.
Используя теперь рекуррентное соотношение (5.22) и исходные дан-
ные таблицы 7, приступим к нахождению решения задачи, то есть к опре-
делению сначала условно оптимальных, а затем и оптимальных распреде-
лений капиталовложений между предприятиями.
Начнем с определения условно оптимальных капиталовложений, вы-
деляемых для развития первого предприятия. Для этого находим значения
 1 ( X ) для каждого X, принимающего значения 0, 100, 200, 300, 400, 500,
600 и 700.
Пусть X  0 , тогда  1 (0)  0. Возьмем теперь X=100. Тогда, используя
таблицу 7, получаем
0
 1 (100)  max    30, X 10  100.
30

125
Здесь первая строка соответствует решению X 1  0 , а вторая строка
 решению X 1  100. Так как при первом решении прирост выпуска про-
дукции не обеспечивается, а при втором равен 30 тыс.руб., то условно оп-
тимальным решением является X 10  100.
Аналогично находим условно оптимальные решения для других зна-
чений X. Результаты вычислений и полученные соответствующие условно
оптимальные решения записываем в таблицу 8.
Таблица 8
Объем капиталовложе- Максимальный прирост Условно оптимальный объ-
ний X, выделяемых пер-  1 ( X ) выпуска продукции ем капиталовложений X 10 ,
вому предприятию (тыс.руб.) выделяемых первому пред-
(тыс.руб.) приятию (тыс.руб.)
0 0 0
100 30 100
200 50 200
300 90 300
400 110 400
500 170 500
600 180 600
700 210 700

Используя теперь данные таблиц 7 и 8, определим условно опти-


мальные объемы капиталовложений, выделяемых второму предприятию.
Найдем
 2 ( X )  max  f 2 ( X 2 )   1 ( X  X 2 )
0 X 2  X

для каждого из допустимых значений X, равных 0, 100, 200, 300, 400, 500,
600, 700:
 2 (0)  0, X 20  0;
 0  30 
 2 (100)  max    50, X 2  100;
0

 50  0 
 0  50 
 
 2 (200)  max  50  30   80, X 20  100;
 80  0 
 
 0  90 
 50  50 
 
 2 (300)  max    110, X 2  200;
0

  80  30  
 90  0 
 0  110 
 50  90 
 
 2 (400)  max  80  50   150, X 20  400;
 90  30 
 
 150  0  

126
 0  170 
 50  110 
 
 80  90 
 2 (500)  max    190, X 2  500;
0

 90  50 
 150  30 
 
 190  0 
 0  180 
 50  170 
 
 80  110 
 
 2 (600)  max  90  90   220, X 20  100;
 150  50 
 
 190  30 
 
 210  0 
 0  210 
 50  180 
 
 80  170  
 
 90  110 
 2 (700)  max    250, X 2  200 .
0

 150  90 
 190  50 
 
 210  30 
 220  0 
 
Полученные результаты и найденные условно оптимальные объемы
капиталовложений, выделяемых второму предприятию, записываем в таб-
лицу 9.
Таблица 9
Объем капиталовложе- Максимальный прирост Условно оптимальный
ний X, выделяемых  2 ( X ) выпуска продук- объем капиталовложе-
двум предприятиям ции (тыс.руб.) ний X 20 , выделяемых
(тыс.руб.) второму предприятию
(тыс.руб.)
0 0 0
100 50 100
200 80 100
300 110 200
400 150 400
500 190 500
600 220 100
700 250 200

Переходим теперь к нахождению значений


 3 ( X )  max  f 3 ( X 3 )   2 ( X  X 3 ),
0 X 3  X

127
используя для этого данные таблиц 9 и 7.
Так как в данном случае число предприятий равно трем, то проводим
вычисление лишь для одного значения X=700:
 0  250 
 40  220 
 
 50  190 
 
 110  150 
 3 (700)  max    270, X 3  600 .
0

 120  110 
 180  80 
 
 220  50  
 240  0 
 
Следовательно, максимальный прирост выпуска продукции состав-
ляет 270 тыс.руб. Это имеет место тогда, когда третьему предприятию вы-
деляется 600 тыс.руб., а первому и второму предприятиям  100 тыс.руб.
Тогда, как видно из таблицы 9, второму предприятию следует выделить
100 тыс.руб.
Итак, мы получили оптимальный план распределения капиталовло-
жений между предприятиями, согласно которому обеспечивается макси-
мальный прирост выпуска продукции.
Более подробно познакомиться с динамическим программированием
можно по работам [3,12,23].

§ 5.3. Некоторые модели управления запасами

Предприятия, фирмы имеют различные запасы: сырье, комплектую-


щие изделия, готовую продукцию, предназначенную для продажи, и т.д.
Совокупность подобных материалов, представляющих временно не ис-
пользуемые экономические ресурсы, называют запасами предприятия. За-
пасы создаются по различным причинам. Одна из них состоит в том, что
если в некоторый момент производства потребуется какой-то вид деталей,
который поставляется другим предприятием, и он отсутствует на складе,
то процесс производства может остановиться. Поэтому на складе всегда
должно быть нужное количество деталей данного вида. Однако если запа-
сы увеличить, то возрастет стоимость их хранения. Задача управления за-
пасами состоит в выборе для предприятия целесообразного решения. Рас-
смотрим простейшие математические модели управления запасами Q.
Под Q будем понимать изделия или материалы (товары) только од-
ного вида. Если на изделие поступает заявка, то оно отпускается, и значе-
ние Q падает. Предположим, что величина спроса непрерывна во времени.
Если Q=0, то имеет место дефицит.
Любая математическая модель, которая применяется для изучения
определенной ситуации в управлении запасами, должна учитывать факто-
ры, связанные с издержками.

128
Различают организационные издержки — расходы, связанные с
оформлением и доставкой товаров, издержки содержания запасов — за-
траты, связанные с хранением. Они возникают из-за амортизации в про-
цессе хранения (изделия могут портиться, устаревать, их количество может
уменьшаться и т.д.). Существуют издержки, связанные с дефицитом: если
поставка со склада не может быть выполнена, то возникают дополнитель-
ные издержки, связанные с отказом. Это может быть денежный штраф или
другой ущерб (например, ухудшение бизнеса в будущем и потеря потреби-
телей). Количество товара, поставляемое на склад, называют размером,
партии.
Рассматриваемые далее задачи управления запасов относятся к ди-
намическим, однако в силу периодичности и стационарности процессов
могут быть решены без использования метода динамического программи-
рования.

1. Основная модель управления запасами


Введем обозначения необходимых для составления модели величин.
Данные поместим в таблицу 10.
Таблица 10
Величина Обозна- Единица измере- Предположения
чение ния
Интенсив- g Единиц товара в Спрос постоянен и
ность спроса год непрерывен; весь
спрос удовлетворяется
Организаци- b Рублей за партию Издержки постоянны,
онные из- не зависят от размера
держки партии
Стоимость то- s Рублей за год Цена единицы товара
вара постоянна; рассматри-
вается один вид товара
Издержки со- h Рублей за единицу Стоимость хранения
держания запа- товара в год единицы товара в тече-
сов ние года постоянна
Размер партии q Единиц товара в Размер партии постоя-
одной партии нен; поступление това-
ра происходит мгно-
венно, как только уро-
вень запаса равен 0

Предполагается, что поставки производятся равными партиями,


мгновенно.
График изменения запасов представлен на рисунке.
129
Q

q
Средний уровень
q/2 запасов

Продолжитель-
t
ность цикла

Чтобы полностью удовлетворить годовой спрос g при размере по-


ставки q, необходимо обеспечить g/q поставок или партий за год. Средний
уровень запасов составляет q/2.
Уравнение издержек будет иметь вид
С = С1 + С2 + С3 = bg/q + sg + hq/2,
где C1 — общие организационные издержки; C2 — стоимость товаров; C3
— общие издержки содержания запасов.
За исключением q все величины в правой части уравнения постоян-
ны и известны, т.е. С = f(q) . Для нахождения минимума С найдем произ-
водную dC/dq и приравняем ее к нулю:
dC/dq = -bg/q2 + h/2 = 0,
откуда оптимальный размер партии равен
qopt= 2bg h .
Иногда приходится заказывать размер партии товаров, не соответ-
ствующий оптимальному. Это приводит к увеличению издержек на содер-
жание и организацию поставок.
Действительно, предположим, что вместо оптимального размера бы-
ла заказана партия товаров, равная 0,5 qopt. Из основного уравнения издер-
жек
С = C1+ С2 + Сз = bg /q + sg + hq/2
найдем при q = qopt.
С – С2 = С - sg = bg h 2bg +h 2bg 4h = 2bgh .
В случае заказа 0,5 qopt получим
С – С2 = 2bg h+ h 2bg 16h = 2bgh + 2bgh /4 = 5 2bgh /4 =
2bg
= 5(С – С2 )/4.
Таким образом, заказ партии товаров размером 0,5qopt (вместо qopt)
приводит к увеличению общих издержек на содержание запасов и органи-
зацию поставок на 25%. Аналогичная картина наблюдается в случае заказа
поставок больше чем qopt.
Изобразим графически изменение отдельных составляющих величи-
ны С.
130
Из рисунка следует, что увеличение q ведет к резкому снижению С1,
при этом Сз увеличивается пропорционально h/2. При малых значениях q
величина С падает до значения Cmin в точке qopt. При увеличении q величи-
на издержек С приближается к С2 + С3.
Пример 5.4. Интенсивность равномерного спроса составляет 2000
пылесосов в год. Организационные издержки для одной партии составля-
ют 20 тыс.р. Цена единицы товара равна 3 тыс.р., а издержки содержания
пылесосов составляют 0,1 тыс.р. за один пылесос в год. Найти оптималь-
ный размер партии и продолжительность цикла.
Р е ш е н и е. По условию задачи g = 2000, b = 20, s = 3, h = 0,1.
Общие издержки в течение года:
С = C1 + С2 + Сз = 40000/q + 6000 + q/20,
dC/dq = -40000/q + 1/q,
qopt= 800000  894 ед.,
topt = (365/2000)qopt  163 дн.
Ответ. Оптимальный размер партии составляет 894 пылесоса,
продолжительность цикла – 163 дня.

2. Модель производственных запасов


В основной модели предполагается, что поступление товаров на
склад происходит мгновенно, например, в течение одного дня. Рассмотрим
случай, когда готовые товары поступают на склад непосредственно с про-
изводственной линии. Будем считать, что поступление партии товаров
происходит непрерывно в течение некоторого времени с постоянной ско-
ростью. Модель задачи в этом случае называют моделью производствен-
ных поставок. Обозначим через р скорость поступающего на склад товара.
Остальные обозначения и предположения те же, что и для основной моде-
ли управления запасами.
Определим оптимальный размер партии, минимизирующий общие
затраты.
График изменения модели производственных запасов представлен на
рисунке.

131
Интенсивность постоянного
спроса g
Q

t t

Общие издержки в течение года, как и для основной модели, состав-


ляют
С = C1 + С2 + Сз,
где
C1 = bg /q,
С2 = sg .
Для получения среднего уровня запасов следует учесть, что R=(p-g)t
— максимальный уровень запасов, где время поставки t определяется из
q=pt — количество товаров в одной производственной поставке.
Тогда средний уровень запасов составляет половину максимального
и равен (p-g)q/2p. Поэтому Сз=(p-g)hq/2p.
В итоге
С = bg/q +sg+ hq(p - g)/2р.
Решая уравнение dC/dq = 0, найдем оптимальный размер партии в
модели производственных поставок:
qopt = 2 pbg ( p  g )h .

3. Модель запасов, включающая штрафы


Рассмотрим модель, допускающую возможность существования пе-
риодов дефицита, который покрывается при последующих поставках, и
штрафов за несвоевременную поставку.
Пусть предприятие должно поставить q ед. товара в течение каждого
промежутка времени L, за единицу времени поставляется g ед. товара
(q=Lg). Предположим, что в начале каждого периода L предприятие делает
запас, равный k. Это означает, что в течение периода будет наблюдаться
дефицит товара и некоторое время поставки не будут осуществляться. Не-
выполненные заявки будут накапливаться до максимальной величины (q-k)
и будут удовлетворены, как только поступит следующая партия товаров в
количестве q.
За то, что товары доставляются предприятием позже необходимого
срока, на предприятие налагается штраф, который зависит от задержки по-
ставки. Такая модель целесообразна, поскольку иногда выгоднее заплатить
штраф, чем расходовать дополнительные средства на хранение запасов,
превышающих величину k.

132
Задача управления запасами состоит в том, чтобы выбрать такое зна-
чение k, которое ведет к минимизации всех затрат, включая затраты на
хранение и штрафы.
График изменения запасов модели представлен на рисунке.

Пусть d — штраф в расчете на единицу товара за один день отсроч-


ки.
Издержки одного цикла определяются как
C=C1+C2,
где C1 — общие издержки содержания запасов; C2 — общие затраты на вы-
плату штрафов.
Так как товары находятся на складе в течение периода ОА (см. рис.),
средний уровень запасов за этот период равен k/2. Если продолжитель-
ность периода ОА равна k/g, то
C1= h(k/2)k/g = hk2/2g.
Так как штраф выплачивается в течение периода АВ = (q-k)/g, общее
число "товаро-дней", на которые налагается штраф, равно площади тре-
угольника АВС. Площадь составляет (q-k)/g·(q-k)/2, откуда C2 = d(q–k)2/2g.
Окончательно получаем C= hk2/2g+ d (q-k)2/2g.
Найдем dС/dk и, решив уравнение dС/dk = 0, получим
kopt= d q/(h+ d).
Взяв kopt в качестве уровня запасов в начале каждого цикла при усло-
вии, что невыполненные заявки будут удовлетворены, сведем суммарные
расходы к минимуму:
Cmin=q2h d /2g(h+ d).

Задачи и упражнения

Сформулируйте задачи 1−2 в виде многошаговых задач оптимиза-


ции.
1. Найдите N неотрицательных чисел u ( k ) , k  1,..., N , сумма которых
равна S, а произведение максимально.

2. Сумма средств S выделяется предприятию в течение N лет. При-


быль, получаемая предприятием в результате выделения ему средств u в
течение k -го года составляет J k (u ), k  1,..., N . Распределите выделяемые

133
средства по годам таким образом, чтобы суммарная прибыль предприятия
за N лет была максимальной.

Задачи 3−4 решите с помощью уравнения Беллмана.


3. Найдите решение задачи 1, если N=3, S=9.

4. Найдите решение задачи 2 об оптимальном распределении средств


предприятию со следующими исходными данными: S=5 млн.руб., N=4.
Средства распределяются в количествах, кратных 1 млн.руб. Функции
J k (u ), k  1,...,4, заданы следующей таблицей:

u (млн.руб.) 0 1 2 3 4 5
J 1 (u ) 0 1,5 2 3,5 5,5 9
J 2 (u ) 0 3 4,5 5,5 6,5 7,5
J 3 (u ) 0 4 5 5,5 6 9
J 4 (u ) 0 2 3 4 6,5 8

5. Фирме по строительству судов требуется 20000 заклепок в год,


расходуемых с постоянной интенсивностью. Организационные издержки
составляют 0,5 тыс.р. за партию, цена заклепки – 20 р. Издержки на хране-
ние одной заклепки оценены в 12,5% ее стоимости. Найдите оптимальный
размер партии поставки, продолжительность цикла и оптимальное число
поставок в год.

6. Система управления запасами некоторого товара подчиняется ос-


новной модели. Каждый год с постоянной интенсивностью спрос состав-
ляет 15000 ед. товара, издержки на организацию поставки составляют 10
ден.ед. на партию, цена единицы товара – 30 ден.ед., а издержки на ее хра-
нение – 7,5 ден.ед. в год. Найдите оптимальный размер партии, число по-
ставок, продолжительность цикла.

7. Интенсивность спроса в модели производственных поставок со-


ставляет четверть скорости производства, которая равна 20 тыс.ед. товара
в год. Организационные издержки для одной партии равны 150 ден.ед., а
издержки хранения единицы товара в течение года — 5 ден.ед. Определите
оптимальный размер партии.

134
Глава 6. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ

В практической деятельности часто встречаются задачи, заключаю-


щиеся в поиске лучшего (оптимального) решения при наличии различных
несводимых друг к другу критериев эффективности. Если такого рода за-
дачи решаются методами математического программирования, то говорят
о задачах многокритериальной оптимизации.
Многокритериальная оптимизация — это раздел математического
программирования, посвященный проблемам выбора принципов опти-
мальности и методов нахождения их реализаций в экстремальных задачах
с несколькими критериями.

§ 6.1. Многокритериальность и неопределенность

Введенные оценки эффективности стратегий и понятия оптимально-


сти при наличии неконтролируемых факторов (глава 1) не зависят от про-
исхождения этих факторов. Чаще всего под ними подразумеваются при-
родные факторы (в том числе такой фактор, как недостаточная изучен-
ность исследуемого процесса) и действия противника или других лиц, не
принадлежащих к оперирующей стороне. Однако имеется еще один источ-
ник неопределенности, на котором в силу его важности и распространен-
ности стоит остановиться отдельно. Речь идет о неопределенности в пони-
мании цели операции. Эта неопределенность в строгом смысле не является
неконтролируемым фактором, так как выбор цели и связанного с ней кри-
терия эффективности находится в распоряжении оперирующей стороны.
Однако если она не может или не решается сделать этот выбор, то возни-
кает ситуация, аналогичная случаю наличия неконтролируемых факторов.
Обычно эта ситуация связана с тем, что имеется целый ряд показателей
эффективности, желательность максимизации (или минимизации) которых
не вызывает сомнения, но нет четких представлений о виде общего крите-
рия, т.е. едином показателе. Такое положение дел является весьма харак-
терным. Например, если проектируется новая модель самолета, то жела-
тельно, чтобы он имел минимальную массу, максимальную скорость и гру-
зоподъемность, был высоконадежным и экономичным в эксплуатации, но
так как эти требования противоречивы, то единый критерий эффективно-
сти предложить трудно. Для выработки такого критерия приходится про-
водить предварительное исследование. При этом исследователь операции
оказывается в таком же положении, что и при исследовании операции с
неконтролируемыми факторами. Общность этих ситуаций легко понять,
если представить себе, что каждому значению неконтролируемого фактора
у* соответствует свой критерий эффективности F(х, у*), зависящий уже
только от стратегии х.
Поэтому в модели с неконтролируемыми факторами, по существу
имеется столько критериев эффективности, сколько различных значений
принимают эти неконтролируемые факторы. И проблема со многими кри-
135
териями возникает та же: каждой стратегии соответствует не одно, а много
значений критерия эффективности.
Таким образом, вопрос о введении единого (будем называть его об-
щим) критерия эффективности в операции по ряду первичных (будем
называть их частными) критериев аналогичен рассмотренному выше во-
просу о введении оценок эффективности стратегий. Но так как выбор кри-
терия эффективности, в принципе, находится в распоряжении оперирую-
щей стороны, то варианты введения общего критерия (они называются ме-
тодами свертки критериев эффективности) отличаются большим разнооб-
разием.
Общий вид свертки следующий:
W0 = f(W1,..., Wm), (6.1)
где W0 — общий критерий, W1,..., Wm — частные критерии, f — некоторая
(вообще говоря, произвольная) функция.
Перечислим наиболее распространенные способы свертки критериев
эффективности.
1. Суммирование с весовыми коэффициентами. Этот способ
наиболее распространен в экономических задачах, откуда проистекает его
второе название — экономический способ свертки:
m
W0=  iWi .
i 1

Коэффициенты λ i называются весовыми и обычно удовлетворяют


условию нормировки:
m
λ i  0 , i  1, m, 
i 1
i  1,
хотя это условие и не является обязательным. Эти коэффициенты могут
играть роль переводных (в единую систему измерения). Остающаяся не-
точность знания цели может выражаться в неопределенности λ i .
2. Переход от критериев количественных к качественным. Все
критерии можно условно разбить на два типа: критерии, принимающие
только два значения (чаще всего 0 и 1), и критерии, принимающие более
двух (как правило, много) значений. Первые будем называть критериями
качественного типа. Смысл их состоит в том, что все исходы операции они
разбивают на две группы: удовлетворительные и неудовлетворительные.
Вторые будем называть критериями количественного типа, при таких кри-
териях цель операции состоит в получении возможно большего значения
эффективности. От критериев качественного типа можно перейти к коли-
чественным, например, с помощью предыдущего способа свертки. Способ
перехода от количественных критериев к качественным имеет вид
1, Wi  Wi * , i  1, m,
W0= 
0, в противном случае,
где через W *i обозначены пороговые (удовлетворительные) значения част-
ных критериев. Исход операции удовлетворителен только в том случае, ес-

136
ли по всем частным критериям достигнуты пороговые значения.
3. Логические способы свертки (для критериев качественного ти-
па). Переменные, принимающие значения только 0 и 1, называются логи-
ческими (или булевыми). Операции с такими переменными носят название
логических. Так как критерии качественного типа представляют собой бу-
левы переменные, то для свертки качественных критериев можно исполь-
зовать логические операции. Таких основных операций три:
 отрицание (противоположная цель)
W0=1 – W1 (т = 1);
 конъюнкция (логическое произведение, исход операции оце-
нивается как удовлетворительный по общему критерию, если он удовле-
творителен по всем частным критериям)
m
W0= Wi ;
i 1

 дизъюнкция (логическая сумма, для «успеха» по общему кри-


терию достаточно «успеха» хотя бы по одному частному критерию), кото-
рую можно представить в виде
m
W0=1 –  (1  Wi ) .
i 1

4. Обобщенные логические способы свертки (для критериев ко-


личественного типа).
Содержательными аналогами логических операций для количе-
ственных критериев служат следующие операции:
 противоположная цель
W0= – W1 (т = 1);
 оценка по наихудшему значению частных критериев (с учетом
весовых коэффициентов)
W0= min
1 i m
λ i Wi (λ i >0);
 оценка по наилучшему значению частных критериев
W0= max λ i Wi (λ i >0).
1 i  m

Перечисленные способы свертки являются не только наиболее рас-


пространенными, но в совокупности обладают в определенном смысле
свойством полноты, т.е. свертки вида (6.1) в практически интересных слу-
чаях представимы в виде их комбинации (с ними можно ознакомиться по
монографии [16]). Отметим только, что оценка в среднем (1.4) представля-
ет собой фактически первый способ свертки критериев с весовыми коэф-
фициентами, равными вероятностям, а гарантированная оценка (1.8) явля-
ется обобщением на случай бесконечного множества критериев второго из
способов 4 свертки критериев (с равными весовыми коэффициентами).
Иногда можно выделить один («главный») критерий Wi ( x) и вместо
1

исходной задачи рассматривать задачу max Wi ( x) на множестве, определя-


1

емом ограничениями на значения остальных критериев вида Wi ( x)   i ,

137
i  i1 , где  i - некоторые минимальные уровни. Задача многокритериальной
оптимизации, в которой для критериев Wi (x) заданы их «желательные
уровни»  i , i  1, m , и требуется минимизировать взвешенную сумму от-
клонений Wi (x) от  i , называется задачей целевого программирования.

§ 6.2. Оптимальность по Парето

Зачастую оперирующая сторона затрудняется выбрать не только


значения весовых коэффициентов, но и сам способ свертки критериев. В
такой ситуации обычно вводят понятия оптимальности в терминах всего
набора частных критериев (вектора критериев). Оказывается, однако, что
эти понятия представляют собой неявное определение единого (общего)
критерия. Покажем это на примере наиболее известного понятия опти-
мальности по Парето.
Пусть имеется вектор критериев эффективности (W1 ( x),...,Wm ( x)) , зави-
сящих для простоты только от стратегии х  Х (неконтролируемых факто-
ров нет).
Точка x 0 называется эффективной точкой (или оптимальной по Па-
рето стратегией), а вектор (W1 ( x 0 ),...,Wm ( x 0 )) — эффективным значением век-
тора критериев, если не существует такой точки х  Х, что Wi ( x)  Wi ( x 0 ),
i  1, m, причем хотя бы для одного i0 неравенство строгое: Wi ( x)  Wi ( x 0 ) . 0 0

Теорема Гермейера. Пусть x 0 — эффективная точка, причем


Wi ( x 0 ) >0, i  1, m . Тогда существуют такие весовые коэффициенты λ i >0,
m
i  1, m , 
i 1
i  1 , что для единого критерия вида
W0 ( x) = min iWi (x) (6.2)
1 i m

x 0 является точкой максимума на X, т.е. W0 ( x 0 )  W0 ( x) x  X .


Доказательство. Положим
1 i m
i 
Wi ( x 0 )
,  i  m
>0 (  i  1 )
 i 1
j 1
j

и введем с данными весовыми коэффициентами λ i , i  1, m , по формуле


(6.2) единый критерий эффективности. Тогда
m
W0 ( x 0 ) =1/   j .
j 1

Так как x — эффективная точка, то x  X существует индекс i1 та-


0

кой, что Wi ( x)  Wi ( x 0 ) . Поэтому


1 1

 i Wi ( x 0 ) m
W0 ( x)  1
m
1
=1/   j = W0 ( x 0 ) ,
 j 1
j
j 1

138
что и требовалось доказать.
Таким образом, оптимальные по Парето стратегии могут получаться
как обычные точки максимума общего критерия, вводимого с помощью
одного из перечисленных выше методов свертки критериев эффективно-
сти. Как правило, эффективных точек для вектора критериев оказывается
много, фиксация весовых коэффициентов в формуле (6.2) соответствует
выделению единственной такой точки. Множество эффективных значений
вектора критериев называется множеством Парето. Если в пространстве
критериев изобразить всю область возможных значений вектора критери-
ев, являющуюся отображением области определения X, то множество Па-
рето является ее «северо-восточной» границей. На рисунке для случая двух
критериев множество Парето представляет собой участок границы АВ.

Рассмотрим задачу с двумя критериями, считая их равноправными.


На плоскости (x, у) задано множество  и в каждой точке этого
множества определены две непрерывные функции:
W1 = Ф(х,у) и W2 = ψ(х,у).
Требуется найти точку (x°,y°)  , в которой Ф(x°, у°) и ψ (х°, у°)
принимают максимальные значения, т.е. решить совместно две экстре-
мальные задачи
Ф(х,у)  max и ψ (х,у)  max,
(х,у).
Сразу же отметим, что в общем случае поставленная задача решения
не имеет.
В самом деле, изобразим на плоскости ( W1 , W2 ) все точки, координаты
которых вычисляются по формулам
W1 = Ф(х,у), W2 = ψ (х,у), (x,y) .
Обозначим полученное множество через .
w1
y
w1max

0 x 0 w2max w2

Рис.6.1 Рис.6.2

139
Из рис. 6.2 видно, что наибольшее значение W1 ( W1 max) и наибольшее
значение W2 ( W2 max) достигаются в разных точках, а точка с координатами
( W1 max, W2 max) лежит вне множества .
Тем самым в исходной постановке задача, вообще говоря, неразре-
шима — удовлетворить обоим требованиями одновременно невозможно.
И, следовательно, нужно искать какое-то компромиссное решение.
Процесс решения многокритериальных задач неизбежно связан с
экспертными оценками как самих критериев, так и взаимоотношений меж-
ду ними.
Среди известных методов решения задач многокритериальной опти-
мизации можно отметить:
1) метод последовательных уступок,
2) метод идеальной точки.
Оба метода используют множество Парето, составленное в данном
случае из допустимых точек задачи, которые не могут бать "сдвинуты" в
пределах допустимого множества с улучшением сразу по обоим критери-
ям. Иными словами, улучшая значения одного критериев, мы неизбежно
ухудшаем значения другого.
Метод (последовательных) уступок решения задач многокритери-
альной оптимизации применяется в случае, когда частные критерии могут
быть упорядочены в порядке убывания их важности. Предположим, что
все частные критерии максимизируются и пронумерованы в порядке убы-
вания их важности. Находим максимальное значение первого по важности
критерия в области допустимых решений путем решения однокритериаль-
ной задачи. Затем, исходя из практических соображений и принятой точ-
ности, назначается величина допустимого отклонения первого критерия и
находится максимальное значение второго критерия при условии, что зна-
чение первого критерия не должно отклоняться от своего максимального
значения более чем на величину допустимой уступки. Снова назначается
величина уступки по второму критерию, которая вместе с первой уступкой
используется для нахождения условного максимума третьего частного
критерия.
Аналогичные процедуры повторяются до тех пор, пока не будет вы-
явлено максимальное значение последнего по важности критерия при
условии, что значение каждого из первых m-1 частных критериев отлича-
ется от соответствующего условного максимума не более чем на величину
допустимой уступки по данному критерию. Полученное на последнем эта-
пе решение считается оптимальным. Следует заметить, что этот метод не
всегда приводит к эффективному решению. Поэтому практически метод
реализуется так, что лицо, принимающее решение (ЛПР), работая в режи-
ме диалога со специалистом, анализирует точки на границе Парето и, в
конце концов, соглашается остановиться на некоторой компромиссной.

140
Пример 6.1. Решить задачу по двум критериям
W ( x)  W1  x1  3 x 2 , W 2  40 x1  10 x 2   max
при ограничениях
2 x1  x 2  90,
 x  x  60,
 1 2

 x 2  50,
 x1 , x 2  0
методом последовательных уступок, если уступка по первому критерию
составляет 10% от его оптимального значения.
Р е ш е н и е. Решим задачу по критерию W1 графическим методом.

Получим W1*  W1 (10,50) =160. В соответствии с условием задачи величина


уступки 1 =16. Дополнительное ограничение будет иметь вид W1 (х)  W1 -
 1 , т.е. x1  3 x 2  160  16.
Решаем задачу по второму критерию
W 2  40 x1  10 x 2  max ,
 2 x1  x 2  90,
 x  x  60,
 1 2

 x 2  50,
 x  3 x  144,
 1 2

 x1 , x 2  0,
также графическим способом.

Получаем x*  х( А)  (18,42) , W2 ( x * )  1140, W1 ( x * )  144.

141
§ 6.3. Метод идеальной точки

Метод идеальной точки состоит в отыскании на границе Парето


точки, ближайшей к точке утопии, задаваемой ЛПР. Обычно ЛПР форму-
лирует цель в виде желаемых значений показателей, и часто в качестве ко-
ординат целевой точки выбирается сочетание наилучших значений всех
критериев (обычно эта точка не реализуется при заданных ограничениях,
поэтому ее и называют точкой утопии).
Пример 6.2. Пусть на множестве  плоскости (x, у), определяемом
системой неравенств
 0  x  4,

 0  y  2,
 x  2 y  6,

заданы линейные функции:
W1  x  y  2,
(6.3)
W2  x  y  6.
Найти решение задачи
W1  max, W2  max.

Множество  представляет собой пятиугольник с вершинами в точ-


ках А(0,0), B(0,2), C(2,2), D(4,1), E(4,0).

В силу линейности критериев W1 и W2 пятиугольник ABCDE перехо-


дит в пятиугольник A*B*C*D*E*, координаты вершин которого вычисля-
ются по формулам (6.3): A*(2,6), B* (4,4), С* (6,6), D*(7,9), E*(6,10).
W2 W2

0 W1 0 W1

Рис.6.3 Рис.6.4

142
Находим границу Парето. Это отрезок D*E*. Точка утопии М*(7,10)
(ее координаты суть наибольшие значения W1 и W2).
Необходимо найти на множестве Парето точку, ближайшую к точке
утопии М*. Из рисунка видно, что искомая точка должна лежать на отрез-
ке D*E*. Проведем через точки D* и Е* прямую. Пусть
αW1 + βW2 = γ
— ее уравнение (рис.6.4). Чтобы отыскать конкретные значения парамет-
ров α, β, γ , подставим в него координаты точек D* и Е*. Получим
6α +10β = γ,
7α +9 β = γ,
После простых преобразований придем к соотношению
-α+β = 0,
откуда    .
Положим α =β = 1. Тогда γ = 16 и W1 + W2 =16 — искомое уравнение
прямой. По условию задачи нам нужно определить на прямой W1 + W2 =16
точку М°(W 10 , W 02 ), расстояние которой от точки М*(7,10) минимально,
т.е. решить экстремальную задачу:
z = (W1 - 7)2 + (W2 - 10)2  min.
Так как W1 = 16 - W2, то последнее соотношение можно переписать в
виде
z = (9 - W2 )2 + (W2 - 10)2  min.
Возводя в квадрат и приводя подобные, получаем, что
z = 2W2 2 – 38W2 + 181.
Это уравнение описывает параболу с вершиной
W 02 = 9.5, z 0 =0.5.
Тогда W 10 =16 - 9.5 =6.5.
Идеальная точка М 0 (6.5;9.5) находится на расстоянии 1/ 2 от точки
утопии М*(7,10). Соответствующие значения х и у легко находятся из си-
стемы линейных уравнений
 x  y  2  6.5,

 x  y  6  9.5.
Имеем х=4, у=0.5
Замечание. Мы рассмотрели задачу, в которой
Ф(х, у)  max, ψ(x, у)  max.
На практике часто встречаются случаи, когда требования выглядят
по-иному:
Ф(х, у)  max, ψ(x, у)  min
или
Ф(х, у)  min, ψ(x, у)  min.
Можно, конечно, решать такие задачи и непосредственно. Но значи-
тельно удобнее поступить по-другому, если учесть, что функция  = - ψ
достигает наибольшего значения в точности в тех точках, где функция Ψ
принимает наименьшее значение, и наоборот. Иными словами, условия

143
Ψ  min и   max
равносильны. Поэтому, поменяв в случае необходимости знак у критерия
на противоположный, мы можем свести любую двухкритериальную задачу
к уже рассмотренной:
Ф(х, у)  max, ψ(x, у)  max.

§ 6.4. Элементы портфельного анализа

Начала портфельного анализа было положено в работах Г.Марко-


вица в 1952 г. Им впервые была предложена модель формирования опти-
мального портфеля и были даны методы построения таких портфелей.
Поскольку ценные бумаги различных видов отличаются по доходно-
сти и степени надежности, инвесторы вкладывают средства в приобрете-
ние ценных бумаг нескольких видов, стремясь достичь лучшего соотноше-
ния риск-доходность.
Принимая решение о приобретении набора ценных бумаг, инвестор
должен иметь в виду, что доходность портфеля в предстоящий период вла-
дения неизвестна. Однако можно оценить предполагаемую доходность
различных ценных бумаг, основываясь на некоторых предположениях.
Уровень доходности является случайной величиной, и основными ее ха-
рактеристиками являются ожидаемое или среднее значение и стандартное
отклонение. Именно последнюю характеристику предлагается использо-
вать как меру риска. Инвестор максимизирует ожидаемую доходность и
минимизирует риск, т.е. неопределенность. Подход Г.Марковица к приня-
тию решения дает возможность адекватно учесть обе цели, противореча-
щие друг другу.
Метод, применяемый для выбора наиболее желательного портфеля,
использует кривые безразличия. Для инвестора существует функция по-
лезности, зависящая от двух аргументов – ожидаемой доходности портфе-
ля rp и стандартного отклонения (меры риска)  p :
u  u ( rp ,  p ) .
Все портфели, лежащие на одной линии безразличия или линии
уровня функции
u ( rp ,  p )  I ,
являются равноценными для инвестора. Линии безразличия отражают от-
ношение инвестора к риску и доходности портфеля и представляют собой
кривые в координатах (  p , rp ). Инвестор считает любой портфель, лежа-
щий на линии безразличия выше и левее, более привлекательным, чем
портфели, лежащие на линии безразличия, которая ниже и правее. Ожида-
емая доходность портфеля, состоящего из n ценных бумаг, равна
n
rp =  x i r ,
i
(6.4)
i 1

144
где xi — доля начальной стоимости портфеля, инвестированная в i-й вид
ценных бумаг, ri — ожидаемая доходность i–го вида ценных бумаг, n —
количество видов ценных бумаг в портфеле.
Стандартное отклонение портфеля вычисляется следующим образом.
Дисперсия доходности портфеля — это дисперсия суммы случайных вели-
чин, она равна ковариации:
n n
D p =  xi x j qij .
i 1 j 1

Здесь qij — ковариация доходностей ценных бумаг i и j, равная


qij =  ij  i j , i, j  1, n ,
где  ij — коэффициент корреляции между доходностями i-й и j-й ценных
бумаг,  i — стандартные (средне квадратические) отклонения доходно-
стей ценных бумаг. Известно, что
 1   ij  1 .
Формула для стандартного отклонения портфеля
n n
 p  Dp   x x   
i 1 j 1
i j ij i j
. (6.5)

Рассмотрим следующий пример.

Пример 6.3. Найти ожидаемую доходность и стандартное отклоне-


ние доходности портфеля, состоящего из 30% акций компании А и 70%
акций компании В, если их доходности некоррелированы и равны соответ-
ственно 20% и 10%, а стандартные отклонения - 10% и 5%.
Р е ш е н и е. По формуле (6.4) получаем: rp =0.3·20%+0.7·10%=13%.
Поскольку доходности бумаг некоррелированы, то  ij =0 при i  j и тогда
из (6.5)  p  0.09 100  0.49  25 =4.6%.

Приведенный пример показывает, что портфель ценных бумаг обла-


дает меньшим риском, чем некоторые отдельные составляющие его бума-
ги. Это свойство портфеля называется диверсификацией: увеличение коли-
чества видов ценных бумаг при одновременном сокращении их долей
уменьшает риск портфеля. Особенно сокращается риск портфеля при ис-
пользовании ценных бумаг с отрицательной корреляцией.

Задачи и упражнения

1. Поражаемая мишень состоит из четырех отдельных частей. Для


поражения объекта необходимо поразить не менее двух частей, в том чис-
ле обязательно первую и третью. Пусть для i  1,2,3,4
 1, если i - я часть поражена,  1, если объект поражен,
Wi   W0  
0, если i - я часть не поражена; 0, если объект не поражен .

145
Записать критерий W0 как функцию критериев W1 , W2 , W3 , W4 , ис-
пользуя только операции взятия максимума и минимума.

3 8 2
 
2. Пусть x  M 0  1,2,3, y  N  1,2,3, W1 ( x, y ) 33   8 4 8 ,
3 2 4
 
1 2 7 2 8 8
   
W2 ( x, y )33   7 7 7 , W3 ( x, y ) 33   3 4 10 .
 4 2 3 10 10 0 
   
Записать обобщенный критерий W0 , если:
а) все частные критерии равноправны, а оперирующая сторона стре-
мится к увеличению значения хотя бы одного частного критерия;
б) все частные критерии равноправны, а оперирующая сторона стре-
мится к одновременному увеличению значений всех частных критериев.

3. Частный критерий Wi принимает значение 1, если выполнена i -я


частная цель, и значение 0 – в противном случае, i  1,..., m . Записать обоб-
щенный критерий W0 , используя только операции взятия максимума и ми-
нимума, если цель оперирующей стороны состоит в следующем:
а) достигнуть хотя бы одной пары целей с соседними номерами;
б) для любой пары целей с соседними номерами достигнуть хотя бы
одной цели из пары.

4. На множестве, определяемом системой неравенств


 0  x  2,

 0  y  4,
2 x  y  6,

заданы линейные функции:
W1= х + у +2, W2= х - у +6.
Требуется найти решение задачи
W1  mах, W2  шах,
методом идеальной точки при условии, что точка утопии М* имеет коор-
динаты, равные наибольшим значениям W1 и W2.

5. Найти ожидаемую доходность и стандартное отклонение для


портфеля, состоящего из 10 видов ценных бумаг с некоррелированными

146
доходностями. Доли ценных бумаг x i , их доходности ri и стандартные от-
клонения  i приведены в таблице.

Параметры 1 2 3 4 5 6 7 8 9 10
xi , % 10 10 10 10 10 10 20 10 5 5
ri , % 15 15 18 12 25 20 10 28 35 40
i , % 8 8 10 7 12 10 5 15 20 25

6. Имеется два инвестиционных инструмента с математическими


ожиданиями доходности, соответственно, 10 и 20 и корреляционной мат-
рицей К 11  5 , К 12  К 21  5 , К 22  10 . Функция полезности инвестора
есть разность математического ожидания доходности портфеля и диспер-
сии, умноженной на весовой коэффициент 1. Найти оптимальный состав
портфеля, максимизирующий функцию полезности.

7. Клиент поручил брокерской конторе купить для него на 1 млн.


руб. акции трех известных ему компаний. Сделка заключается на год. Кли-
ент заинтересован в максимизации средней прибыли на вложенный капи-
тал и в минимизации риска, поскольку прибыль, получаемая в конце года
от акций каждой компании, является величиной случайной. Клиент, бу-
дучи человеком осторожным, высказал пожелание, чтобы риск учитывался
с весом втрое большим, чем прибыль. Известно, что средние значения
процентов годовой прибыли от акций компаний составляют соответствен-
но 8, 10 и 13%. Дисперсии процентов прибыли:  11  0,1;  22  0,15;
 33  0,19; ковариации: q12  0,01; q13  0,02; q 23  0,03. Найти оптималь-
ный состав портфеля, максимизирующий функцию полезности.

147
Глава 7. ИГРЫ В НОРМАЛЬНОЙ ФОРМЕ

Многие ситуации, в которых рассматривается вопрос о выборе ре-


шения, обладают тем свойством, что в них сталкиваются не менее двух
сторон с различными (а иногда и противоположными) интересами. Каждая
сторона обладает возможными действиями, направленными на достижение
своей цели. Такие ситуации называются конфликтными.
Конфликтом (конфликтной ситуацией) называется процесс столк-
новения интересов нескольких участвующих сторон.
Он может быть задан следующими компонентами:
1) перечнем субъектов, участвующих в конфликте;
2) определением множеств их выборов;
3) интересами (мотивами), определяющими выбор.
Для анализа конфликтных ситуаций прибегают к математическому
моделированию. При моделировании конфликта очень важно описать ин-
формационную обстановку, т.е. всю информацию, которая уже имеется у
субъектов конфликта и может поступать со временем. Также необходимо
учитывать возможность обмена информацией, добывания ее и доброволь-
ной передачи информации одним субъектом другому. Математическая мо-
дель конфликтной ситуации называется игрой. Таким образом, теория игр
– это математическая теория принятия решений в условиях конфликта. Из
этого определения следует, что теория игр есть важная часть теории ис-
следования операций, изучающая вопросы принятия решений в конфликт-
ных ситуациях.
Основной задачей игр является не описание, а разрешение конфлик-
тов, т.е. построение компромиссных взаимовыгодных решений, которые
полностью или хотя бы частично согласовывают интересы всех взаимо-
действующих сторон.
Если удается формализовать (смоделировать) конфликт и опреде-
лить принцип оптимальности, т.е. принцип выбора оптимального реше-
ния в игре, то получается математическая задача, которую можно решать
математическими методами, без учета ее содержательной постановки.
В теории игр используется разнообразный и хорошо разработанный
математический аппарат (теория множеств, теория вероятностей, тополо-
гия, теория функций, теория дифференциальных уравнений, методы опти-
мизации, вариационное исчисление, динамическое программирование, оп-
тимальное управление и др.). Однако следует подчеркнуть, что математи-
ческие модели теории игр (теоретико-игровые модели) имеют свою спе-
цифику. Они описывают процессы принятия решений, которые трудно
формализовать. Поэтому в рамках теории игр развивается специфический
математический аппарат, направленный на моделирование процессов при-
нятия решений в сложных социально-экономических, политических и про-
чих конфликтах. При этом возникают новые, ранее не изученные матема-
тические задачи.

148
Как в любой математической дисциплине, в теории игр прослежива-
ется взаимосвязанное развитие двух направлений:
1) “чисто” математическое, определяемое внутренней логикой разви-
тия теории игр;
2) прикладное, ориентированное на широкий круг практически инте-
ресных задач.
Возникновение теории игр и термина “игра” связано с попыткой ис-
пользовать математику в задачах анализа ситуаций, возникающих в азарт-
ных играх, анализа конфликтных ситуаций в военном деле, при принятии
решений в условиях неопределенности, поиска компромисса в неантагони-
стических конфликтах и т.д.
При анализе возможностей приложений теории игр следует обратить
внимание на то, что при моделировании конфликтных ситуаций, например
процессов принятия решений в сложных социально-экономических систе-
мах, наибольшую трудность вызывает формализация мотивации поведения
“разумных” элементов этой системы.
Сложность практических задач анализа конфликтных ситуаций при-
водит к необходимости использования современных методов анализа и
вычислительной техники. Для решения задач принятия решений оказыва-
ется недостаточным ограничиться какой-то одной “универсальной” моде-
лью или даже системой моделей. Необходимо иметь “инструмент” — си-
стемный проблемно-ориентированный комплекс, представляющий собой
систему (сеть) ЭВМ и математическое обеспечение (система моделей, ме-
тодов, алгоритмов и программ), ориентированную на решение конкретных
классов проблем. Для создания и использования такого мощного инстру-
мента необходимо привлечение коллектива людей различных (далеко не
родственных) специальностей: системных аналитиков, специалистов в
прикладной области, математиков, программистов и т.д. Фактически по-
строение такого инструмента эквивалентно построению языка общения
всех участвующих в работе специалистов и ЛПР.

§ 7.1. Основные понятия и классификация игр

Теория игр занимается исследованием математических моделей при-


нятия оптимальных решений в конфликтных ситуациях. Формальное опи-
сание принятия решений удобно разбить на две части:
1) математическая модель конфликтной ситуации или игра – описа-
ние конфликтной ситуации, включающее в себя описание субъектов, при-
нимающих решения, их возможностей и интересов;
2) принцип оптимальности – описание правил рационального пове-
дения игроков.
Оптимальность и неоптимальность того или иного исхода конфликта
зависит от интересов и возможностей его участников. В этом смысле
принцип оптимальности является функцией игры. Можно рассматривать
различные принципы оптимальности, но если один из них выбран, то для

149
каждой игры можно однозначно указать множество ее рациональных ис-
ходов.
Математическая модель конфликта и принцип оптимальности дают
полное описание принятия решений в условиях конфликта. Именно в этом
смысле они весьма тесно взаимосвязаны. Однако на начальной стадии
обучения проще их рассматривать отдельно.
При изолированном поведении участников, действующих самостоя-
тельно, не обмениваясь информацией, центральное место занимают так
называемые игры в нормальной форме. Здесь рассматриваются принципы
оптимальности, естественные при изолированном поведении (различные
виды доминирования, принцип гарантированного результата), а также ан-
тагонистические игры с седловой точкой, для которых изолированное по-
ведение является единственно разумным.
В общем случае в описании игры можно выделить следующие эле-
менты:
1) коалиции действий — совокупность действующих совместно в
данной конфликтной ситуации субъектов;
2) коалиции интересов — множество одинаково заинтересованных в
исходе конфликта сторон;
3) множества возможных выборов каждой из коалиций действия;
4) описание предпочтений каждой из коалиций интересов;
5) множество возможных исходов конфликта.
Появление слова “коалиция” указывает на тот факт, что участниками
конфликта могут быть не только отдельные лица, но и большие, сложно
организованные группы лиц. Коалиции действия и интересов могут не
совпадать. Например, пассажиры самолета бывают заинтересованы в его
скорейшем прибытии к месту назначения и, таким образом, образуют коа-
лицию интересов, однако они не могут предпринять никаких действий,
направленных на достижение этой цели, т.е. не являются коалицией дей-
ствия. Если коалиция действия совпадает с коалицией интересов, то такую
монолитную коалицию можно считать одним лицом, поэтому ее называют
игроком. Если все коалиции действия совпадают с соответствующими коа-
лициями интересов, то игру называют бескоалиционной, а ее участников
— игроками.
Множество возможных исходов конфликта определяет совместные
ограничения на действия участников конфликта. Если такие ограничения
задаются лишь формально (в виде прямого произведения множеств), то со-
ответствующую игру называют игрой без запрещенных ситуаций, если
эти ограничения существенны, то — игрой с запрещенными ситуация-
ми.
Для принятия решений необходимо обладать определенной инфор-
мацией. При этом как сам выбор из множества стратегий, так и ожидаемый
результат зависят в значительной степени от информации, которой облада-
ет игрок к моменту принятия решения: о множествах выбора, мотивах по-
ведения или принципах оптимальности игроков, о природных неопреде-

150
ленных факторах, о той информации, которую сейчас игрок не имеет, но
которая будет поступать к нему, в том числе та, которой он будет обладать
в результате добровольного обмена или ее добывания. Поэтому целесооб-
разно дать общее определение стратегии. Если множество Вi описывает
информацию, которую коалиция (игрок) i использует при принятии реше-
ний, то под стратегией (чистой стратегией) будем понимать отображение
u i : Bi  U i , где Ui — множество выборов или управлений коалиции дей-
ствия i . В результате выбора каждой коалиции действия элемента из мно-
жества управлений определяется исход конфликта. Соответственно вы-
бор коалициями действия стратегий определяет ситуацию во множестве
n
стратегий U  П U i .
i 1

Заинтересованность j-го субъекта формализуется, как правило,


функцией выигрыша, которая определяется отображением g j : U  R , где
U — множество исходов. Выбор стратегии или управления определяется
принципом оптимальности.
Таким образом, для описания конфликтной ситуации необходимо за-
дать систему
 
Г  N , K g , K и , U i iK g , g j jK , S ,
и

где
N — множество игроков,
K g — множество коалиций действия,
К и — множество коалиций интересов,
U i — множество выборов коалиции i  K g ,
g j — функция выигрыша коалиции j  K и ,
S — множество возможных исходов игры.
Итак, протекание игры состоит в выборе каждым игроком своей
стратегии и получении в сложившейся ситуации выигрыша.
Основной целью теории игр является выработка рекомендаций для
рационального поведения игроков в конфликте.
Игры, как и все задачи исследования операций, бывают статически-
ми и динамическими.
Фиксация параметров, а также различная их суперпозиция позволя-
ют классифицировать игры. Рассмотрим основные классы теоретико-
игровых моделей.
В качестве первого классификационного признака возьмем множе-
ство игроков. Различают игры 2-х лиц и игры n лиц (n2). Игры 2-х лиц
называются антагонистическими, если игроки преследуют противопо-
ложные цели. Если в антагонистической игре игрок 1 стремится максими-
зировать свой выигрыш g1 , то целью игрока 2 является минимизация вы-
игрыша игрока 1, так что g1   g 2 . Поэтому антагонистическую игру мож-
но задать следующим образом:
Г  ( U 1 , U 2 , g ),

151
где g — выигрыш игрока 1.
Антагонистические игры получаются не только при описании кон-
фликтов типа военных, но и при описании игры с природой, когда иссле-
дователь операции или оперирующая сторона проявляет осторожность при
принятии решений в условиях неопределенности.
Можно говорить также о неантагонистических играх 2-х лиц
( g1   g 2 ).
Другой важный принцип классификации связан с вопросом о допу-
стимости образования тех или иных коалиций. Если в игре образование
коалиций недопустимо, то такая игра называется бескоалиционной. Она
определяется заданием множества игроков, пространств их стратегий и
набором их функций выигрыша.
К бескоалиционным играм могут быть сведены также игры, в кото-
рых K g  K и . В истинно же коалиционных играх разрешены такие коали-
ции, что K g  K и . Среди подобных игр наиболее распространены коопера-
тивные игры, в которых образуется одна коалиция. Целью этой коалиции
является максимизация суммарного выигрыша, с тем, чтобы впоследствии
разделить его между членами коалиции по соглашению.
Отдельный класс составляют игры с бесконечным числом игроков.
Следующим признаком классификации являются стратегии. Если
множество стратегий всех игроков конечно, то игра называется конечной.
Когда хотя бы одно из множеств U i , i  1, n, бесконечно, игра называется
бесконечной.
Игры можно квалифицировать и в соответствии с формой их зада-
ния. При этом различают позиционные игры и игры в нормальной форме.
Если процесс принятия решений описывается в виде динамического про-
цесса, где игроки выбирают свои стратегии последовательно по шагам, об-
ладая при этом определенной информацией при каждом шаге выбора стра-
тегии, то такие игры называются позиционными. Классическим примером
такой игры являются шахматы. Если в динамических играх конфликт мо-
делируется дифференциальными уравнениями, то такие игры называют
дифференциальными. Если же в игре стратегия представлена как одно-
актный выбор, то такая игра считается заданной в нормальной форме.
Интерес представляют игры с непрерывными функциями выиг-
рышей: классы выпуклых, вогнутых, выпукло-вогнутых игр.
Кроме упомянутых классов существует множество их модификаций.
С достаточно полной классификацией игр, равно как и с другими важными
вопросами теории, можно ознакомиться, например, в [31,33].
При проведении предварительного анализа конфликта использова-
ние исходных множеств управлений U i может привести к нежелательному
для оперирующей стороны результату: либо решения не существует, либо
(если это решение существует) количественная оценка этого решения не-
удовлетворительна. Тогда целесообразно расширить класс используемых
управлений. Расширения класса стратегий можно добиться путем расши-
152
рения либо области определения функции (информированности игроков),
либо за счет расширения множества значений, т.е. физических возможно-
стей. Достаточно традиционным способом расширения множества значе-
ний является использование выпуклой оболочки множества управлений
путем перехода в пространство вероятностных мер. Исходные элементы
множества U i называются чистыми стратегиями, а их произвольная вы-
пуклая комбинация (мера) — смешанной стратегией. Существует два
способа реализации смешанных стратегий:
1) введение искусственной рандомизации, т.е. использование функ-
ции распределения на исходном множестве управлений;
2) введение повторения, т.е. проведения конфликта многократно.
При этом с определенной частотой выбирают некоторые элементы
исходного множества. В обоих способах соответствующим образом опре-
деляются функции выигрыша.
При расширении класса стратегий, прежде всего, преследуется зада-
ча не построения более сложной модели конфликтной ситуации, адекватно
отражающей реальность, а осмысленного и целенаправленного изменения
реальности и построения соответственно этой усложненной реальности
более сложной модели конфликтной ситуации. При этом следует учиты-
вать и затраты на расширение множества стратегий: проведение повтор-
ных операций, увеличение информированности и т.д. Далее эти затраты
должны быть соотнесены с тем выигрышем, который можно получить до-
полнительно за счет расширения класса стратегий.
Наиболее интересная постановка проблемы расширения класса стра-
тегий связана с увеличением информированности игроков. Действительно,
чем больше неопределенность, тем больше разброс в ожидаемом результа-
те при реализации выбранной стратегии. Таким образом, оказывается,
очень выгодно делать ситуацию более определенной. Для этого необходи-
мо четко фиксировать ожидаемую информацию, уметь ее структурировать
с целью возможности ее математической записи, оценивать результаты ре-
ализации стратегий, построенных по заданной информации, и, наконец,
видеть пути увеличения объема информации и оценивать, с одной сторо-
ны, ее результат и, с другой стороны, затраты на получение дополнитель-
ной информации.

§ 7.2. Принципы оптимальности

Важнейшей характеристикой выбранного решения является целесо-


образность, или в более строгой формулировке, оптимальность этого ре-
шения. Под принципом оптимальности  понимается отображение :
  2U , которое ставит в соответствие игре Г (или некоторому классу игр)
подмножество множества ее исходов. При этом (Г) обозначает решение
задачи или реализацию принципа оптимальности. При анализе игры суще-
ствуют две взаимосвязанные проблемы:

153
1) сделать оптимальный выбор;
2) оценить результат при сделанном выборе.
Для конфликта, в котором участвуют не менее двух игроков, понятие
оптимального решения не может быть определено однозначно, т.е. в об-
щем случае игр n лиц отсутствует единое и объективное понятие опти-
мальности. Таким образом, целесообразно анализировать конкретные, бо-
лее частные виды конфликта, где такое понятие оптимальности формали-
зуется полностью, либо удается максимально расширить возможности
формализации этого понятия.
Рассмотрим примеры полной формализации принципа оптимально-
сти.
Для игры в случае полной независимости игроков функции выигры-
шей имеют вид g i (u )  g i (u i ), i  1, n . При этом множество исходов равня-
n
ется прямому произведению множеств выборов U  П U i . Тогда для любого
i 1

игрока оптимальным выбором естественно считать только выбор из мно-


жества элементов ui  Arg max gi (ui ), ui  U i , реализующих максимум функ-
ций g i (u i ) . Данная игра эквивалентна задаче оптимизации.
Так же единственным образом определяется оптимальность в играх
многих лиц, для которых g i (u )  g (u ) для всех i , т.е. в играх с совпадаю-
щими интересами игроков. При разумном поведении игроков (обмене ин-
формации, координации усилий по выбору соответствующих стратегий)
задача также сводится к задаче оптимизации.
Термин “оптимальный выбор” однозначно понимается при исследо-
вании антагонистической игры Г  U ,V , g (u, v) , в которой существует сед-
ловая точка, т.е. выполняется равенство
min max g (u1 , u 2 )  max min g (u1 , u 2 )  g (u10 , u 20 ) .
2u u1 u1 2 u

Обратим внимание на то, что в приведенных примерах задачи выбо-


ра оптимального решения и оценки ожидаемого результата фактически
совпадают, так как при выборе оптимального решения однозначно опреде-
ляется ожидаемый результат (выигрыш) игроков.
В общем случае игры многих лиц такая однозначность отсутствует,
что не только усложняет решение игры, но и привносит принципиальную
трудность в определение оптимального (или рационального) выбора.
Отсутствие однозначного соответствия между выбранными страте-
гиями и оцениваемым выигрышем иллюстрирует следующий пример.
Пусть функция выигрыша имеет вид
g i (u )  f i (u i )   i (u1 ,..., u i 1 , u i 1 ,..., u n ) .
Пусть игроки стремятся максимизировать свои функции выигрыша и
не имеют информации о действиях партнеров. Тогда выбор оптимальной
стратегии не представляет труда и в некотором смысле однозначен. Но
оценка получаемого выигрыша не однозначна. Действительно, выигрыш
игрока будет зависеть от выбора всех оставшихся.

154
Таким образом, принцип оптимальности является наиболее сложным
и важным при принятии решений. Выбор того или иного принципа опти-
мальности неоднозначен. Причины этой неоднозначности заключаются в
природе конфликтной ситуации. В связи с этим принцип оптимальности
должен отвечать следующим условиям:
1) должен быть таким, чтобы существовал оптимальный
выбор, т.е. отображение  не приводило к пустому множеству
рациональных выборов;
2) должен максимально сужать степень неопределенности
как во множестве выборов, так и в оценке ожидаемого результата;
3) должен быть прост и понятен, чтобы можно было прак-
тически вычислить множество рациональных решений и оценить
с большой степенью точности ожидаемый выигрыш; более того,
полученные результаты должны хорошо интерпретироваться на
содержательном уровне;
4) должен обладать устойчивостью, т.е. решение игры
должно мало меняться при небольшом изменении параметров мо-
дели конфликтной ситуации; большинство используемых прин-
ципов оптимальности являются неустойчивыми и нуждаются в
некоторой коррекции или регуляризации.
Между выбором принципа оптимальности и информированностью
игроков в конфликтной ситуации существует тесная связь. Например,
пусть игрок i при выборе своей стратегии u i из множества U i будет знать
выбор оставшихся игроков. Тогда он может, максимизируя функцию вы-
игрыша, выбрать свою стратегию в виде абсолютно оптимальной страте-
гии u ia (u1 ,..., u i 1 , u i 1 ,..., u n ) из условия
g i (u1 ,..., ui 1 , uia (), ui 1 ,..., un )  max g i (u1 ,..., un ).
u i U i

Более того, в этом случае однозначно оценивается и выигрыш игрока


i.
Рассмотрим игру, в которой функции выигрыша и множества выбо-
ров имеют вид
 g1 (u1 , u 2 )  u1  u 2 ,
 g (u , u )  u  u ,
 2 1 2 1 2

U i  [1,1], i  1,2.


Пусть игрок 1 знает множества выборов и функции выигрыша обоих
игроков. В этой игре игроку 1 в качестве стратегии, максимизирующей его
выигрыш, нужно выбрать такую стратегию, которая включала бы в себя в
качестве составного элемента сообщение информации о своем выборе иг-
року 2. Тогда, выбирая u1  1 и сообщая об этом игроку 2, игрок 1 в услови-
ях этой информации может оценить свой выигрыш как максимально воз-
можный.

155
Таким образом, в приведенных примерах информация о конфликт-
ной ситуации и возможность добровольного обмена информацией полно-
стью и однозначно определяют оптимальное поведение игроков.
При выборе принципа оптимальности проявляются тенденции изо-
ляционизма и коллективизма. Изоляционизм заключается в стремлении
каждого игрока к тому, чтобы выбор его оптимального решения в мини-
мальной степени зависел от других игроков. Как правило, это достигается
введением нового вспомогательного критерия эффективности игрока i , в
минимальной степени зависящей от u j , j  i . В идеале вспомогательный
критерий имеет вид i (u i ) .
Коллективизм основан на координации усилий с целью получения
большего выигрыша каждым игроком. Координация усилий может заклю-
чаться, например, в выборе общей цели – общего критерия эффективности
для группы (коалиции) игроков.
Заметим, что переход к индивидуальному принципу оптимальности
общепринято использовать в моделях, в которых функции выигрыша иг-
роков содержат случайные параметры. Тогда функцию выигрыша заменя-
ют ее математическим ожиданием.
В случае антагонистической игры или игры с природой игрок вместо
функции g1 (u1 , u 2 ) максимизирует  (u1 )  umin
U
g 1 (u1 , u 2 ) . Такой принцип оп-
2 2

тимальности принято называть принципом максимина. Принципу мак-


симина, или принципу максимального гарантированного результата, мож-
но придать более широкий содержательный смысл. Так называемый обоб-
щенный принцип максимального гарантированного результата в полной
мере учитывает имеющуюся информацию, а также информацию, которая
может поступить в процессе принятия решений. Так, в предыдущем при-
мере антагонистической игры при использовании принципа максимально-
го гарантированного результата первый игрок имел информацию о своей
функции выигрыша и множестве выборов, а самое главное, он имел ин-
формацию о множестве выборов своего партнера. В этих условиях незави-
симо от функции выигрыша партнера игрок 1 гарантированно может полу-
чить
max min g1 (u1 , u 2 ).
u1U1 u 2 U 2

Для более конкретного описания обобщенного принципа макси-


мального гарантированного результата рассмотрим ситуацию, когда на ба-
зе исходной игры   1,2;U 1 ,U 2 , g1 , g 2  мы рассмотрим ее информационное
~ ~
расширение 1,2;U 1 ,U 2 , g~1 , g~2 .
~ ~
Предположим, что существует проекция:  : U1  U 2  U1  U 2 . При
этом считаем, что игрок 1 знает функцию выигрыша g1 , множество выбо-
~
ров U 1 , множество стратегий U 1 , что говорит об информированности его о
действиях партнеров. Далее он знает об аналогичной информированности
~
о нем партнера, т.е. имеет информацию о множестве U 2 . Наконец, пусть

156
он знает правило поведения партнера, т.е. множество R(u~1 ) рациональных
~
выборов при фиксированной стратегии u~1  U 1 . Тогда максимальный гаран-
тированный результат игрока 1 определяется величиной
L1  max
~ ~ ~
min~ g~1 (u~1 , u~2 ).
u1U1 u 2 R ( u1 )

Приведенные примеры иллюстрируют важность фиксации информи-


рованности игроков друг о друге. От информированности зависит рацио-
нальный выбор игроков и ожидаемый результат.
Величина L1 может не устроить исследователя операции или опери-
рующую сторону (игрока 1). Тогда у игрока 1 есть, по крайней мере, два
способа поведения: либо снова индивидуально попытаться добыть еще ка-
кую-то информацию, чтобы расширить свои возможности, либо вступить в
коллективные действия. Подчеркнем, что игроки будут вступать в коали-
ции только тогда, когда им может быть предложен выигрыш не меньше то-
го, который они могут получить индивидуально, независимо от взаимо-
действия с другими партнерами.
Основными свойствами рациональности коллективных принципов
оптимальности являются:
 Выгодность (индивидуальная выгодность). По крайней мере,
необходимо, чтобы каждому игроку в коалиции был дан выигрыш не
меньший, чем L1 , который он может обеспечить (гарантировать) себе
сам.
 Устойчивость. Устойчивость понимается в том смысле, что
никому из игроков не выгодно уклоняться от принятых на себя обяза-
тельств.
 Справедливость. Справедливость, как правило, понимается
как некоторая симметричность в положении игроков, т. е. в некотором
смысле их равноправие.
Одним из общепринятых коллективных принципов оптимальности
является ситуация равновесия (по Нэшу).
Ситуация u 0 называется ситуацией равновесия, если выполнены
следующие условия для любого i :
g i (u 0 )  max g i (u10 ,..., u i01 , u i , u i01 ,..., u n0 ).
ui U i

Это определение отражает одно из основных свойств коллективного


решения – свойство устойчивости. Действительно, ни одному из игроков
не приносит дополнительной выгоды отклонение от равновесной ситуа-
ции, если партнеры ее придерживаются.
Основные недостатки ситуации равновесия:
1) она не всегда существует;
2) в случае неединственности ситуации равновесия нет разумного
основания выбора одной из них;
3) могут существовать неравновесные ситуации, в которых выигры-
ши всех игроков превышают их выигрыши в ситуации равновесия.

157
Стандартным способом устранения первого недостатка является
расширение класса стратегий путем введения смешанных стратегий, либо
использование дополнительной информированности.
Значительно большую трудность представляет наличие нескольких
ситуаций равновесия.
Рассмотрим игру, которую в литературе называют “семейный спор”.
В этой игре множество выборов игроков конечно и состоит из двух эле-
ментов. Функции выигрыша игроков задаются соответственно матрицами:
 2 0  1 0
M 1   ; M 2   .
 0 1  0 2
Игрок 1 выбирает строки, игрок 2 – столбцы с целью получения мак-
симально возможного выигрыша.
В этой игре имеется две ситуации равновесия с выигрышами (2,1) и
(1,2), которые реализуются при выборе игроками одинакового номера
строк и столбцов. Например, в одной из равновесных ситуаций
(u10  1, u20  1) , в которой игрок 1 выбирает первую строку, а второй игрок —
первый столбец, игрок 1 получает выигрыш, равный 2, а игрок 2 — едини-
це. Трудность принятия решения заключается в том, что в этом примере
ситуации равновесия неэквивалентны. Первому игроку более выгодна си-
туация равновесия (1,1), а второму — (2,2). Более того, если даже один из
игроков захочет “уступить” партнеру, то нет никакой гарантии, что парт-
нер не поступит точно также, в результате чего оба получат по нулю.
Именно поэтому ситуация равновесия, вообще говоря, не является инди-
видуальным способом выбора решения. Действительно, для их реализации
необходима договоренность придерживаться ситуации равновесия вообще,
а в случае их неединственности — о выборе конкретного решения из мно-
жества устойчивых.
Выбор ситуации равновесия более или менее удовлетворителен, если
ситуация равновесия u 0 единственная и строгая, т. е. для любого i и любой
vi  u i0
g i (u 0 ) > g i (u10 ,..., ui01 , vi , ui01 ,..., u n0 ).
Однако и в этом случае могут быть выборы более выгодные, чем в
равновесной ситуации, для всех игроков одновременно.
Примером может служить хорошо известная задача “дилемма за-
ключенного”, в которой игроки стремятся максимизировать выигрыш, за-
данный в виде следующих матриц:
 5 0  5 10 
M 1   ; M 2   .
10 1  0 1 
Единственной и строгой ситуацией равновесия в этой игре является
ситуация (2,2), приводящая к выигрышам (1,1), равным максиминному вы-
игрышу для каждого игрока.
Однако более выгодной (но не устойчивой) является ситуация (1,1),
которой соответствуют выигрыши (5,5).

158
Ситуации, при отклонении от которых один или несколько игроков
могут получить строго больший выигрыш только за счет своих партнеров,
называются ситуациями, оптимальными по Парето.
Дадим строгое определение этого понятия.
Определение. Ситуация u п называется оптимальной по Парето,
если не существует u  U , для которого выполняются неравенства
g i (u )  g i (u п ) , причем хотя бы одно из них строгое.
Выбор оптимальной по Парето точки относится к коллективным
принципам принятия рациональных решений.
Однако множество оптимальных по Парето точек содержит, как пра-
вило, более одного элемента. Поэтому возникает вопрос о выборе кон-
кретной точки из этого множества. Именно вследствие этого необходимы
дополнительные предположения и схемы, приводящие к однозначному и
“справедливому” исходу.
Обобщением понятия ситуации равновесия по Нэшу является поня-
тие  -равновесия. Ситуация называется ситуацией  -равновесия, если
любой коалиции игроков S   невыгодно отклоняться от этой ситуации,
когда остальные игроки придерживаются выбранных стратегий. Ситуация
называется ситуацией сильного равновесия, если   2 N , т. е. от ситуации
не выгодно отклоняться ни одной коалиции, в том числе коалиции из всех
игроков.
 Замечание 1. Анализ выгодности вступления в коалицию
должен проводиться с учетом возможного изменения взаимной инфор-
мированности игроков, а, следовательно, и изменения класса их страте-
гий. Таким образом, эта задача в значительной степени усложняется.
Однако именно здесь можно добиться наиболее интересных с приклад-
ной точки зрения результатов. Например, можно при более сложных
стратегиях получать ситуации, одновременно являющиеся ситуациями
равновесия по Нэшу и оптимальными по Парето. Эти эффекты хорошо
реализуются в динамических играх.
 Замечание 2. При коллективных принципах оптимальности
решения одним из важных моментов является выбор общего критерия.
Например, для некоторого класса игр введение общего критерия в виде
взвешенной суммы критериев игроков и его максимизация приводят к
тому, что, меняя коэффициенты, можно получить все точки из множе-
ства точек, оптимальных по Парето. Выбор свертки с определенными
параметрами удобен потому, что эти параметры подлежат неформаль-
ному обсуждению и выбору партнерами по коалиции. Например, если
выбрать свертку g s (u )  min i ( g i (u )  g i0 ), то выигрыш коалиции S интер-
iS

претируется следующим образом. Величина g i0 является нижней гра-


нью результата, на который может согласиться игрок. В частности, это
может быть максимальный гарантированный результат, который он по-

159
лучит индивидуально. Тогда параметры i можно интерпретировать как
выбор некоторого предпочтения между игроками.

§ 7.3. Игра в нормальной форме и проблема многокритериальности

При изолированном поведении игроков, действующих самостоя-


тельно, не обмениваясь информацией, центральное место занимают игры в
нормальной форме.
Игрой в нормальной форме называется совокупность
Г   N , U i iN , g i iN  ,
где N — множество всех игроков; U i — множество стратегий i –го иг-
рока; g i — функция выигрыша i –го игрока, которую он стремится мак-
симизировать.
Обычно игроков нумеруют в произвольном порядке от 1 до n (n —
число игроков), поэтому N = {1,2, …,n}. Стратегия i –го игрока для игры в
нормальной форме сводится к одноактному выбору любой точки из мно-
жества U i . Функция выигрыша ставит в соответствие каждому элементу
n
u  (u1 ,..., u n ) из множества U   U i , называемому исходом или ситуацией
i 1

игры, действительное число. Таким образом, g i есть однозначное отобра-


жение множества U  R.
Исходная постановка игры в нормальной форме не предполагает ни-
какой дополнительной информации у игроков о действиях друг друга. По-
этому можно считать, что все игроки одновременно и независимо осу-
ществляют выбор своих стратегий, т.е. элементов u i  U i . В результате
складывается ситуация u , однозначно определяющая выигрыши всех иг-
роков g 1 (u ),..., g n (u ) .
Для решения игры необходимо задать принцип оптимальности.
В соответствии с общим определением понятия принципа оптималь-
ности — это отображение (вообще говоря, неоднозначное) игры во множе-
ство ее исходов, в данном случае Г  U . Таких отображений можно задать
сколько угодно, но желательно их связывать с некоторыми представлени-
ями игроков о разумном поведении (выгодностью, устойчивостью, спра-
ведливостью и т.д.). Формулировка таких представлений является сложной
проблемой, но без них в выборе понятия решения остается полный произ-
вол. Аналогичные вопросы возникают в задаче принятия решений в усло-
виях многокритериальности, когда имеется ряд показателей эффективно-
сти выбираемого решения, желательность максимизации (или минимиза-
ции) которых не вызывает сомнения, но нет четких представлений о виде
общего критерия, т.е. единого показателя. Например, при проектировании
конструкции автомобиля желательно, чтобы он был высоконадежным и
долговечным, простым и удобным в эксплуатации, скоростным, экономич-

160
ным, дешевым, красивым и т.д. Однако эти требования в целом противоре-
чивы, поэтому предложить единый показатель качества конструкции очень
непросто. А без него трудно сравнивать различные модели и выбирать
наилучшую. Такая ситуация является весьма типичной на практике. По-
этому проблема выбора решения в условиях многокритериальности явля-
ется очень важной. Эта проблема тесно связана с играми.
Предположим, что игроки выбирают стратегию сообща или предо-
ставляют это право некоторому арбитру. Таким образом, имеется возмож-
ность непосредственного выбора любого исхода u из множества U . Оцен-
ка же исхода дается вектором критериев эффективности ( g1 (u ),..., g n (u )) . Как
теперь сравнивать между собой исходы? Один может быть лучше по од-
ним критериям, другой — по другим. Понятие же оптимальности снова
неоднозначно.
Полная ясность с понятием оптимальности имеется лишь в частном
случае игры Г или задачи принятия решений, когда n  1 . Если имеется
один игрок или один критерий у лица, принимающего решение, то есте-
ственный принцип оптимальности заключается в максимизации выигры-
ша, т.е. отображает множество стратегий и функцию выигрыша во множе-
ство точек максимума этой функции на данном множестве.
При наличии нескольких игроков их выигрыши зависят от действий
других и, стремясь к увеличению своего выигрыша, они могут уменьшать
выигрыши остальных, а, главное, такое примитивное индивидуальное по-
ведение может привести и к собственным плохим результатам. При нали-
чии нескольких критериев стремление к увеличению одного также может
приводить к уменьшению других и делать общий результат неприемле-
мым.
При анализе проблемы оптимальности в задаче принятия решений в
условиях многокритериальности, как уже говорилось, можно использовать
два подхода, на первый взгляд различных, но при более детальном рас-
смотрении тесно связанных между собой. Один основан на введении неко-
торого единого критерия эффективности, представляющего собой некото-
рую свертку исходного вектора критериев. Общий вид свертки
g 0 (u )  f ( g1 (u ),..., g n (u )),
где f — некоторая функция.
Функция f может быть произвольной, но на практике используется
сравнительно небольшое число разумных видов сверток. Среди них можно
выделить две, которые нами приводились ранее. Это — суммирование с
весовыми коэффициентами
n
g 0 (u )   i g i (u ) (7.1)
i 1

и оценка по худшему значению частных критериев (с учетом весовых ко-


эффициентов)
g 0 (u )  min i g i (u ) . (7.2)
1i  n

161
Весовые коэффициенты обычно удовлетворяют условию нормиров-
ки
n
i  0, i  1, n, 
i 1
i  1.

Они отражают важность критериев или осуществляют перевод в


единый измеритель или масштаб.
Свертка (7.1) используется в том случае, когда частные критерии яв-
ляются взаимозаменяющими, т.е. уменьшение одного может компенсиро-
ваться увеличением другого, свертка (7.2) — в случае, когда частные кри-
терии не являются взаимозаменяющими (уменьшение одного из них не
может быть компенсировано увеличением другого).
Другой подход основан на введении понятий доминирования для
векторов. Такие понятия можно вводить по-разному, однако практически
используются всего несколько.
Определение. Вектор z  ( z1 ,...z n ) строго доминирует вектор
y  ( y1 ,..., y n ) , если z i  y i , i  1, n .
Определение. Вектор z  ( z1 ,...z n ) доминирует вектор y  ( y1 ,..., y n ) ,
если z i  y i , i  1, n . Если при этом хотя бы для одного индекса i0 неравен-
ство строгое, т.е. z i  yi , то вектор z истинно доминирует вектор y .
0 0

На этих определениях основаны наиболее распространенные поня-


тия оптимальности в терминах векторов критериев.
Определение. Точка u 0 называется полуэффективной (или опти-
мальной по Слейтеру), если не существует такой точки u  U , что век-
тор ( g1 (u ),..., g n (u )) строго доминирует вектор ( g1 (u 0 ),..., g n (u 0 )) .
Определение. Точка u 0 называется эффективной (или оптимальной
по Парето), если не существует такой точки u  U , что вектор
( g1 (u ),..., g n (u )) истинно доминирует вектор ( g1 (u 0 ),..., g n (u 0 )) .
Эти определения предъявляют естественные требования к разумным
решениям, связанные с неулучшаемостью их сразу по всем критериям (или
по части критериев без ухудшения остальных). Имеются и другие принци-
пы оптимальности в многокритериальных задачах, однако они связаны с
теми или иными дополнительными предположениями и не имеют такого
универсального характера.
Определения оптимальности на основе доминирования при некото-
рых условиях эквивалентны введению единого критерия.
Теорема Карлина [24]. Если частные критерии g i (u ) вогнуты на
выпуклом множестве U , то для любой эффективной точки u 0 существу-
ют такие весовые коэффициенты i , что u 0 доставляет максимум функ-
ции (7.1) на множестве U при подстановке в нее данных i .
Доказательство. Рассмотрим множество n -мерных векторов
Z  z / z i  g i (u )  g i (u 0 ), i  1, n, u  U  (7.3)

162
и его выпуклую оболочку со Z (наименьшее выпуклое множество, содер-
жащее Z ). Из условия вогнутости g i (u ) на выпуклом U и эффективности
точки u 0 следует, что со Z не содержит внутренних точек неотрицательно-
го ортанта Rn n -мерного евклидова пространства. Используем теорему о
разделяющей гиперплоскости: если есть два выпуклых множества, не
имеющих общих внутренних точек, то можно построить гиперплоскость
такую, что эти множества лежат в разных полупространствах, определяе-
мых этой гиперплоскостью. Так как гиперплоскость задается уравнением
 a, z  d , где a - вектор нормали, d - скаляр, то существуют такие вектор
a  0 и число d , что
 a, z1   d   a, z 2  z1  Z , z 2  Rn .
Вектор a , очевидно, неотрицателен, так как если ai  0 , то, выбирая
такую последовательность z k  Rn , что z ki  , z kj  0, j  i , получим
 a, z k    , что противоречит предыдущему неравенству. Положим
ai n
i  n
, тогда i  0,  i  1.
a
j 1
j
i 1

Так как начало координат принадлежит Rn , то  a, z1   0 z1  Z , от-


n n
куда u  U выполняется неравенство  i g i (u)  i g i (u 0 ) , что и требова-
i 1 i 1

лось доказать.
Аналогичный результат для свертки (7.2) был доказан ранее.
Таким образом, оптимальные по Парето точки могут получаться как
обычные точки максимума общего критерия, вводимого с помощью одно-
го из двух перечисленных выше методов свертки критериев эффективно-
сти. Как правило, эффективных точек для векторов критериев оказывается
много, фиксация весовых коэффициентов в (7.1) и (7.2) соответствует вы-
делению единственной такой точки.
Свертка (7.1) несколько предпочтительней свертки (7.2) при вычис-
лениях, так как (7.2) приводит фактически к максиминной задаче. Однако в
отличие от (7.1) максимизация свертки (7.2) справедлива как необходимое
условие эффективности практически без ограничений. Как достаточное
условие эффективности максимизации свертки (7.1) справедлива без учета
требований выпуклости и вогнутости (при этом должно быть i  0 ). Точки
максимума свертки (7.2) в случае неединственности решения являются по-
луэффективными точками (дополнительной процедурой из них можно вы-
делить эффективные точки).

§ 7.4. Доминирование стратегий. Принцип гарантированного


результата

Рассмотрим возможные принципы оптимальности для игры в нор-


мальной форме при изолированном поведении игроков, когда каждый вы-

163
бирает свою стратегию независимо от других. Эти принципы оптимально-
сти основаны на тех или иных понятиях доминирования стратегий. Введем
обозначения
def
u (  i )  (u1 ,..., u i 1 , u i 1 ,..., u n ), U (  i )  U
jN \{i}
j , g i (u i , u ( i ) )  g i (u ).

Определение. Функция f1 (u ) мажорирует функцию f 2 (u ) на множе-


стве U , если f1 (u )  f 2 (u ) u  U . Если дополнительно u   U такое, что
f1 (u)  f 2 (u) , то функция f1 (u ) истинно мажорирует функцию f 2 (u ) . Если
f1 (u )  f 2 (u ) u  U , то функция f1 (u ) строго мажорирует f 2 (u ) .
Понятие мажорирования можно вводить для части переменных. При
этом достаточно указать, на каком множестве определяется мажорирова-
ние. Используя мажорирование функции, можно дать определения доми-
нирования стратегий для игры в нормальной форме  .
Определение. Стратегия u i игрока i в игре  доминирует (истин-
но, строго) стратегию vi , если функция g i (u i , u ( i ) ) мажорирует (истинно,
строго) функцию g i (vi , u ( i ) ) на множестве U ( i ) . При этом говорят, что
стратегия vi доминируется (истинно, строго) стратегией u i .
Определение. Стратегия vi игрока i в игре  называется недоми-
нируемой (истинно, строго), если не существует стратегии
u i  U i , u i  v i , которая ее доминирует (истинно, строго).
Из двух стратегий при изолированном поведении игроку выгодно
выбирать доминирующую, так как при любых действиях остальных игро-
ков она дает ему выигрыш не меньше, чем другая, а возможно и больше.
Конечно, при введенном понятии доминирования многие стратегии оказы-
ваются несравнимыми, т.е. не доминирующими друг друга.
Множество недоминируемых стратегий игрока i обозначим ND i , а
истинно и строго недоминируемых — NDui , NDci . Очевидны включения
ND i  NDui  NDci .
Определение. Стратегия u i игрока i в игре  называется домини-
рующей (истинно, строго), если она доминирует (истинно, строго) любую
стратегию vi  U i , vi  u i .
Множества доминирующих стратегий обозначим соответственно
D , Du , Dci . Очевидны включения Dci  Dui  D i  NDui . Включение Di  NDi ,
i i

вообще говоря, не справедливо, так как при наличии, например, двух экви-
валентных стратегий u i , vi , для которых g i (u i , u ( i ) )  g i (vi , u ( i ) ) u ( i )  U ( i ) ,
обе они принадлежат D i , но не ND i (которое пусто, если других стратегий
нет).
При изолированном поведении игроку имеет смысл выбирать из
множеств доминирующих стратегий, или, учитывая их возможную пусто-
ту, хотя бы из множеств недоминируемых стратегий, которые не пусты
при весьма общих условиях (заметим, что для определения этих множеств
не нужно даже знать функций выигрыша других игроков). Однако это не
164
значит, что доминирующие стратегии при всех обстоятельствах являются
наилучшими. В игре могут существовать исходы, которые выгоднее для
всех игроков, чем те, к которым приводит использование доминирующих
стратегий. Правда, для достижения таких исходов требуются какие-то спо-
собы коллективного выбора.
С введенными понятиями доминирования связаны принципы опти-
мальности, дающие в качестве решения исходы из доминирующих и недо-
минированных стратегий. Они обоснованы при изолированном поведении.
Поэтому не всегда удобен используемый вместо термина “доминирующая
стратегия” термин “абсолютно оптимальная стратегия”, так как он может
вызвать ошибочное представление о том, что такая стратегия оптимальна
при любых условиях протекания игры.
Общих условий непустоты множеств доминирующих стратегий не
существует. Так D i  Ø, если задача max g i (u i , u ( i ) ) имеет одно и то же ре-
ui U i

шение  u ( i )  U ( i ) , что является скорее исключительным случаем. Хотя не-


трудно привести и примеры непустоты этих множеств. Условия непустоты
множеств недоминируемых стратегий имеются, но зато эти множества мо-
гут включать много элементов.
Пример 7.1. Для множеств стратегий U i  [0,1] и функций выигрыша
g i (u1 , u 2 )  u1u 2 , i  1,2 множества доминирующих и недоминированных
стратегий
D i  Dui  ND i  NDui  {1}, Dci  Ø, NDci  [0,1], i  1,2.
Пример 7.2. В игре двух игроков с двумя стратегиями у каждого
U i  {0,1} , g i (0,0)  g i (1,1)  0, g i (1,0)  g i (0,1)  1, i  1,2 множества доминирую-
щих и недоминированных стратегий
D i  Dui  Dci  Ø, ND i  NDui  NDci  {0,1}, i  1,2.
Можно привести весьма слабое условие непустоты множества NDui ,
которое по существу представляет собой обобщение множества эффектив-
ных точек (оптимальных по Парето).
Лемма 7.1. Если множества U i являются компактами (в конечно-
мерных пространствах), i  1, n, g i (u ) непрерывна по всем переменным, то
NDui  Ø.
Лемма 7.2. Если D i непусто, то оно совпадает с NDui .
Пример 7.3. Пусть U i  {0,1}, g i (0,0)  g i (1,1)  1, i  1,2 , g1 (0,1) = g 2 (1,0) =0,
g1 (1,0)  g 2 (0,1)  3 .
В этой игре двух лиц множество Dci  {1}, i  1,2 . Использование игро-
ками строго доминирующих стратегий приводит к исходу (1,1) и выигры-
шам по 1, в то время как исход (0,0) дает обоим по 2.
Этот пример показывает, что могут быть исходы лучшие для всех
игроков, чем те, к которым приводят доминирующие (даже строго) страте-
гии.

165
В примере 7.3 исход (0,0) оптимален по Парето, а исход (1,1), к кото-
рому приводит использование строго доминирующих стратегий, не явля-
ется оптимальным по Парето. Для достижения паретооптимального исхода
в этом примере необходим совместный выбор. В примере 7.1 оптимальный
по Парето исход (1,1) достигается индивидуальным выбором недоминиру-
емых стратегий.
Как отмечалось, единственный естественный принцип оптимально-
сти, состоящий в максимизации функции выигрыша, имеет место в игре с
одним игроком. В игре нескольких лиц в нормальной форме такой прин-
цип указать нельзя. Введенные понятия доминирования породили ряд
принципов, связанных с выбором того или иного вида доминирования или
недоминированности. Но возможны и другие принципы оптимальности.
Выбор принципа оптимальности определяется индивидуальными особен-
ностями игрока. Задача же исследователя состоит в формулировке и опи-
сании свойств возможных (разумных) принципов.
Принцип гарантированного результата играет важную роль в теории
принятия решений. Он связан с оценкой стратегии по наихудшему воз-
можному случаю. Этот принцип весьма гибок и может принимать различ-
ную форму в зависимости от имеющейся информации, позволяющей оце-
нить возможные исходы.
Для игры в нормальной форме  , когда игрок действует изолиро-
ванно, зная лишь множества стратегий остальных игроков, но, не зная их
конкретных выборов и даже функций выигрыша, гарантированный резуль-
тат i -го игрока при выборе стратегий u i равен
g i (ui )  inf g i (ui , u(  i ) ). (7.4)
u (  i ) U (  i )

Определение. Стратегия u i0 называется оптимальной гарантиру-


ющей стратегией i -го игрока в игре  , если выполняется условие
inf g i (u i0 , u (  i ) )  sup inf g i (u i , u (  i ) )  g i0 , (7.5)
u (  i ) U (  i ) u U ui U i (i) (i)

где g - максимальный гарантированный результат i -го игрока.


0
i

Принцип гарантированного результата (иногда говорят максималь-


ного гарантированного результата или максимина) связан с осторожным
поведением, основанным только на достоверной информации (в игре  та-
кая информация заключается в знании множеств стратегий остальных иг-
роков). Максимальный гарантированный результат g i0 определен всегда
(возможно равен   ), но оптимальная гарантирующая стратегия, удовле-
творяющая (7.5), может не существовать.
Лемма 7.3. Если U i - компакты (i  1, n) , g i (u ) - непрерывная функция,
то существует оптимальная гарантирующая стратегия i -го игрока, а
g i0  max min g i (u i , u ( i ) ) .
ui U i u  i U (  i )

Доказательство. В силу непрерывности g i (u ) и компактности U ( i )

нижняя грань в (7.4) достигается и функция g i (u i ) также непрерывна.

166
Следовательно, существует точка максимума u i0 функции g i (u i ) на
компакте U i , которая и является оптимальной гарантирующей стратегией,
и верхняя грань в (7.5) достигается. Что и требовалось доказать.
Обозначим через Gi — множество оптимальных гарантирующих
стратегий i -го игрока.
Лемма 7.4. В условиях леммы 7.3 Gi  NDui  Ø.
В примере 7.1 множество Gi  U i ( i =1,2). Среди оптимальных гаран-
тирующих стратегий естественно выбирать недоминируемые u1  u 2  1 ,
приводящие к оптимальному по Парето исходу. В примере 7.3 множество
стратегий Gi  Dci  {1} (i  1,2) . Использование этих стратегий приводит к
исходу (1,1), не являющемуся оптимальным по Парето.
Определение. Игра в нормальной форме Г называется несуще-
ственной, если не существует исхода u  U такого, что вектор
( g1 (u ),..., g n (u )) истинно доминирует вектор ( g10 ,..., g n0 ).
В несущественной игре использование оптимальных гарантирующих
стратегий всеми игроками приводит к исходу, оптимальному по Парето.
Если игра не является несущественной, то в любом исходе, оптимальном
по Парето, выигрыш не гарантирован, по крайней мере, одному игроку.

§ 7.5. Свойства ситуаций равновесия

В настоящее время выбор ситуации равновесия по Нэшу наиболее


широко используется в теории игр. Это объясняется, по крайней мере,
тремя причинами
1) равновесный принцип оптимальности является, по-видимому,
наиболее естественным с содержательной точки зрения “симметричным”
принципом оптимальности и наиболее часто используется в прикладных
исследованиях
2) он сравнительно прост, но в тоже время обладает рядом суще-
ственных свойств, присущих другим, более сложным принципам опти-
мальности
3) для ряда задач исследования операций (например, для иерархиче-
ских игр) решение можно свести к изучению ситуации равновесия в неко-
торой вспомогательной игре.
Напомним определение понятия равновесия. Пусть
Г=<{1, 2, …, n}, U1, …, Un, g1, …, gn>
— игра в нормальной форме.
Определение. Ситуация u=(u1, …, un) называется ситуацией равно-
весия, если для любого i и любой стратегии viUi i-го игрока имеет место
неравенство
gi(u1, …, ui-1, vi, ui+1, …, un) gi(u1, …, un).
Дадим содержательную интерпретацию введенного понятия. Наибо-
лее естественно этот принцип оптимальности выглядит при следующих

167
обстоятельствах. Участники конфликта собираются вместе и каким-то об-
разом выбирают приемлемую для всех ситуацию. Заключив необязатель-
ное соглашение придерживаться этой ситуации, игроки расходятся и каж-
дый принимает окончательное решение о выборе своего управления, пред-
полагая, что остальные участники конфликта соблюдают условия согла-
шения. Выбранная в начале ситуация является равновесной по Нэшу, если
ни одному из игроков не выгодно в одиночку отклоняться от нее. Таким
образом, ситуации равновесия по Нэшу — это те ситуации, которые устой-
чивы к отклонениям отдельных игроков. Игрок, отклоняющийся от ситуа-
ции равновесия, оказывается в положении «унтер-офицерской вдовы».
Правда, следует заметить, что при этом могут пострадать и окружающие.
Отметим, что, с одной стороны, равновесность ситуации гарантирует
ее устойчивость только по отношению к отклонениям отдельных игроков.
Два или несколько игроков, объединившись в коалицию, могут увеличить
свои выигрыши, уменьшив при этом выигрыши остальных участников
конфликта, т.е. этот принцип оптимальности не учитывает возможности
создания коалиций.
С другой стороны, ситуация равновесия не может быть результатом
изолированных действий игроков. В нашей интерпретации мы предполага-
ли возможность у игроков собраться вместе и выбрать некоторую ситуа-
цию. Наличие такой возможности является принципиально важным мо-
ментом.
Переходя к обсуждению математических свойств ситуаций равнове-
сия, отметим следующее. Задача исследования ситуаций равновесия фор-
мально усложняется при увеличении числа игроков. Однако качественное
усложнение этой задачи при переходе от игр двух лиц к играм трех лиц
наблюдается только в достаточно сложных ситуациях, например, при рас-
смотрении динамических игр. Качественного усложнения задачи при
дальнейшем увеличении числа игроков вообще не происходит. Поэтому в
дальнейшем большинство теорем будет формулироваться для общего слу-
чая игр n лиц, а примеры будут играми двух лиц.
Пусть u=(u1, …, un) — некоторая ситуация в игре Г и vi стратегия i-го
игрока в той же игре. Тогда (u║vi) будет обозначать ситуацию в игре Г
(u║vi)=(u1, …, ui-1, vi, ui+1, …, un).
Рассмотрим свойства ситуаций равновесия для случая антагонисти-
ческой игры, когда критерий игрока 2 g2(u1, u2)=-g1(u1, u2). Определение
ситуации равновесия дает два условия
(u1, u2) — ситуация равновесия тогда и только тогда, когда
g1(v1, u2)g1(u1, u2)
и
g2(u1, v2)g2(u1, u2)
для любых v1 и v2.
Второе условие дает g1(u1, v2)  g1(u1, u2).
Отсюда следует, что (u1, u2) — седловая точка функции g1.

168
Можно проверить, что всякая седловая точка является ситуацией
равновесия.
Таким образом, в антагонистической игре седловые точки и только
они являются ситуациями равновесия. Выбор седловой точки (если они
существуют) является единственным разумным решением. Но ситуации
равновесия, так же как и седловые точки, существуют не всегда. Если же
ситуация равновесия существует, то она может оказаться не единственной
(пример такой игры — «семейный спор» — приводился выше).
Ситуация равновесия может не быть паретооптимальной, т.е. кол-
лективно рациональной (пример — «дилемма заключенного»).
Однако индивидуальная рациональность имеет место. Исход u назы-
вается индивидуально рациональным, если для любого i справедливо не-
равенство
g i (u )  Li  max min g i (v wi ),
wi U i vU
где минимум берется по всем ситуациям vU1…Un=U величина Li –
максимальный гарантированный результат, который может обеспечить
себе i-й игрок, независимо от действий партнеров.
Лемма 7.5. Всякий равновесный исход u индивидуально рационален.
Доказательство. Согласно определению ситуации равновесия, для
любого i и любой стратегии wi имеем неравенство
g i (u )  g i (u w i )  min g i (v w i ) .
vU

Так как wi выбирается произвольно, то g i (u )  wmax min g i (v w i ) , что и


U vU i i
требовалось доказать.
Докажем утверждения, дающие необходимые и достаточные условия
равновесия.
Лемма 7.6. В игре n лиц Г существует ситуация равновесия тогда и
только тогда, когда
J  min max max g i (u v i )  g i (u )  0 .
(u ,...,u )U 1i  n v U
1 n i i
 
Доказательство. Очевидно, что для любых i и u
v U i i

max g i (u v i )  g i (u )  0 . 
Значит J0.
Пусть в игре Г существует ситуация равновесия u. Тогда для любого
i и любой стратегии vi имеет место неравенство
g i (u v i )  g i (u )  0 ,
т.е.
1i  n v U
i i

max max g i (u v i )  g i (u )  0 . 
Тогда тем более J0. Итак, если существует ситуация равновесия u,
то J=0.

169
Обратное. Пусть J=0 и ситуация u реализует минимум в определении
J. Тогда
1i  n v U i i

max max g i (u v i )  g i (u )  0 . 
Отсюда следует, что для любого i и любой стратегии vi
g i ( u v i )  g i (u )  0 ,
т.е. u является ситуацией равновесия, что и требовалось доказать.
Согласно этой лемме задача поиска ситуаций равновесия сводится к
вычислению минимакса, т.е. игра n лиц сводится к игре двух лиц, правда за
счет усложнения (увеличения размерности) пространств стратегий.
Следующая лемма сохраняет хорошие аналитические свойства
функций и поэтому удобнее в тех случаях, когда они есть.
Лемма 7.7. В игре n лиц Г существует ситуация равновесия тогда и
только тогда, когда

 g i (u v i )  g i (u )  0 .
n
J min max
(u1 ,...,u n )U ( v1 ,...,vn )V i 1

Доказательство. Преобразуем выражение для J. Так как


[ g i (u vi )  g i (u )] не зависит от vj при ji, то

 maxg i (u v i )  g i (u ),
n
J min
(u1 ,...,u n )U i 1 vi U i

но так как
max[ g i (u vi )  g i (u )]  0,
vi U i

то всегда J0.
Пусть J=0 u – ситуация, реализующая минимум в определении J. То-
гда
g i (u v i )  g i (u)  0 .
n
 vmax
i U i
i 1
Так как все слагаемые здесь неотрицательны, то равенство суммы
нулю возможно только тогда, когда каждое из них равно нулю, т.е.
max[ g i (u vi )  g i (u )]  0
vi U i
для любого i. Это значит, что для любой стратегии vi справедливо неравен-
ство
g i (u v i )  g i (u )  0 ,
т.е. u – ситуация равновесия.
Обратно, если u – ситуация равновесия, то
g i (u v i )  g i (u)  0 ,
n
 vmax
i U i
i 1
так как каждое из слагаемых равно нулю. Но тогда J0, что в сочетании с
уже доказанным неравенством J0 дает J=0. Лемма доказана.

170
§ 7.6. Антагонистические игры. Седловые точки

Антагонистическая игра представляет собой частный случай игры в


нормальной форме  , когда имеется два игрока (n  2) и сумма функций
выигрыша этих игроков тождественно равна нулю. Так как в этом случае в
любом исходе по выигрышу одного игрока можно однозначно определить
выигрыш другого, то достаточно задать функцию выигрыша одного игро-
ка.
Таким образом, антагонистическая игра (или игра двух лиц с нуле-
вой суммой) в нормальной форме — это тройка
a  U 1 , U 2 , g (u1 , u 2 ) , (7.6)
где U 1 — множество стратегий игрока 1; U 2 — множество стратегий игро-
ка 2; g (u1 , u 2 ) — вещественная функция, определенная на U 1  U 2 и пред-
ставляющая собой выигрыш игрока 1 в ситуации (u1 , u 2 ) , когда он выбирает
стратегию u1 , а игрок 2 — стратегию u 2 ; при этом выигрыш игрока 2 равен
 g (u1 , u 2 ) .
Так как точки максимума функции совпадают с точками минимума
этой функции, взятой со знаком минус, то в антагонистической игре игрок
1 стремится по возможности максимизировать функцию g (u1 , u 2 ) , а игрок 2
— минимизировать.
В антагонистической игре поведение на основе принципа гарантиро-
ванного результата становится особенно уместным. Его применение с уче-
том того, что sup uinf U
( g (u1 , u 2 ))   inf sup g (u1 , u 2 ), приводит к следующим
u U
u1U1 2 2 2 2 u1U1

понятиям.
Нижней ценой игры (7.6) называется величина
v  sup inf g (u1 , u 2 ), (7.7)
u1U1 u 2 U 2

верхней ценой игры (7.6) – величина


v  inf sup g (u1 , u 2 ) . (7.8)
u 2 U 2 u U
1 1

Смысл величин v и v заключается в следующем: игрок 1 может га-


рантировать себе выигрыш не меньше v   , независимо от действий игро-
ка 2; а игрок 2 — выигрыш не больше v   , независимо от действий игрока
1 (  - сколь угодно малое положительное число, если наружные грани в
(7.4), (7.5) не достигаются;  =0, если они достигаются). Как было доказано
ранее, величины v и v , определенные выражениями (7.7), (7.8), всегда свя-
заны соотношением v  v , т.е. имеет место неравенство
sup inf g (u1 , u2 )  inf sup g (u1 , u2 ).
u U u U
(7.9)
u1 U 1 2 2 2 2 u1 U 1

Таким образом, если оба игрока разумны, то выигрыш игрока 1 дол-


жен лежать на отрезке [v, v] (возможно с точностью до  ).
Величины v и v могут быть как положительными, так и отрицатель-
ными, поэтому в слово “выигрыш” здесь не вкладывается смысл успешно-

171
го исхода. Так как выигрыш может быть и положительным и отрицатель-
ным, то фактически он может выступать как в виде дохода, так и в виде
расхода.
Ранее приводились примеры, показывающие, что в (7.9) может иметь
место как равенство, так и строгое неравенство.
Если v  v , то их общее значение называют ценой игры a ; если v  v ,
то говорят, что игра не имеет цены.
Напомним, что пара (u10 , u 20 ) называется седловой точкой функции
g (u1 , u 2 ) на прямом произведении множеств U 1  U 2 , если
g (u1 , u 20 )  g (u10 , u 20 )  g (u10 , u 2 ) u1  U 1 , u 2  U 2
или эквивалентно
max g (u1 , u 20 )  g (u10 , u 20 )  min g (u10 , u 2 ) . (7.10)
u1U1 u 2 U 2

Основными свойствами седловых точек являются взаимозаменяе-


мость и эквивалентность. Если (u1 , u 2 ) и (u1 , u 2 ) — седловые точки, то
(u1 , u 2 ) и (u1 , u 2 ) — также седловые точки (свойство взаимозаменяемо-
сти), при этом
g (u1 , u 2 )  g (u1 , u 2 )  g (u1 , u 2 )  g (u1 , u 2 )
(свойство эквивалентности).
По доказанной ранее теореме о необходимых и достаточных услови-
ях существования седловой точки для того чтобы функция g (u1 , u 2 ) имела
седловую точку на U 1  U 2 , необходимо и достаточно выполнения равен-
ства
max inf g ( u 1 , u 2 )  min sup g ( u 1 , u 2 ) . (7.11)
u U u U
1 1 2 2 u U 2 2 u 1 U 1

Отсюда вытекают следующие результаты.


Следствие 7.1. Если в игре a функция g (u1 , u 2 ) имеет на U 1  U 2 сед-
ловую точку (u10 , u 20 ) , то игра a имеет цену и является несущественной,
u10 и u 20 являются оптимальными гарантирующими стратегиями соот-
ветственно игроков 1 и 2, а исход (u10 , u 20 ) оптимален по Парето и дает
игроку 1 выигрыш, равный цене игры.
Следствие 7.2. Если игра a имеет цену, то она несущественна. Ес-
ли существуют оптимальные гарантирующие стратегии игроков и игра
несущественна, то она имеет цену.
Эти следствия показывают, что существование цены игры является
важнейшим свойством, при наличии которого принцип гарантированного
результата является по существу единственно возможным принципом оп-
тимального поведения. Если цена игры не существует, то существенным
становится вопрос об информированности игроков о выборе противника и
, вообще говоря, выигрыш игрока 1 может быть любым из диапазона [v, v] .
Поэтому интересным является вопрос об условиях существования цены
игры. Введем некоторые подклассы антагонистических игр.

172
Определение. Антагонистическая игра a называется непрерывной,
если U 1 и U 2 являются компактами, а g (u1 , u 2 ) — непрерывная функция на
U1 U 2 .
В непрерывной игре оптимальные гарантирующие стратегии обяза-
тельно существуют (все грани в (7.7) и (7.8) достигаются), но цена может
не существовать. Для существования цены на U 1 , U 2 , g (u1 , u 2 ) необходимо
наложить некоторые условия выпуклости.
Определение. Непрерывная антагонистическая игра a называется
вогнуто-выпуклой, если множества U 1 и U 2 являются выпуклыми, функ-
ция g (u1 , u 2 ) вогнута по u1 на U 1 при любом фиксированном u 2 и выпукла
по u 2 на U 2 при любом фиксированном u1 .
Из сформулированной ранее теоремы о существовании седловой
точки у вогнуто-выпуклой функции вытекает следствие.
Следствие 7.3. Вогнуто-выпуклая антагонистическая игра a име-
ет цену, т.е. вогнуто-выпуклая непрерывная функция g (u1 , u 2 ) имеет седло-
вую точку на произведении выпуклых компактов U 1  U 2 .
В общем случае наличие седловой точки у функции является не
очень распространенным свойством. Таким образом, многие антагонисти-
ческие игры не имеют цены на исходных множествах стратегий. Специ-
альное расширение множеств стратегий позволит сделать разрешимыми (в
новом смысле) все непрерывные, а также конечные антагонистические иг-
ры.
Конечной антагонистической (или матричной) игрой называется
тройка (7.6), где множества стратегий U 1 и U 2 состоят из конечного
числа точек, а g (u1 , u 2 ) – функция дискретного аргумента.
Если множество U 1 содержит n точек, то выбор каждой стратегии
игроком 1 можно представить в виде выбора натурального числа i (i  1, n) .
Аналогично, если множество U 2 содержит m точек, то выбор каждой стра-
тегии игроком 2 можно представить в виде выбора натурального числа j
( j  1, m) . Обозначим через aij значение функции g в ситуации, соответ-
ствующей выбору i -й чистой стратегии игрока 1 и j -й чистой стратегии
игрока 2. Тогда конечную игру можно задавать матрицей A  aij размера
n  m (отсюда и название — матричная игра). Теперь стратегией игрока 1
является выбор строки i матрицы A , стратегией игрока 2 – выбор столбца
j матрицы A , выигрыш игрока 1 в ситуации (i, j ) равен aij , а игрока 2 со-
ответственно  aij .
Нижняя и верхняя цены матричной игры
v  max min aij ,
1i  n 1 j  m

v  min max aij .


1 j  m 1i  n

173
Равенство v  v имеет место тогда и только тогда, когда матрица A
содержит седловую точку (i0 , j0 ) , т.е. aij  ai j  ai j i, j . В этом случае
0 0 0 0

общее значение нижней и верхней цены игры называется ценой игры, а i0 и


j 0 - оптимальными стратегиями игроков.
1 2
Пример 7.4. В игре с матрицей A  пара стратегий (1,1) состав-
0 1
ляет седловую точку, цена игры равна 1. Выбором первой строки игрок 1
гарантирует себе выигрыш не меньше 1, выбором первого столбца игрок 2
гарантирует себе проигрыш не больше 1. Значит, при разумных игроках
выигрыш игрока 1 равен 1 (игрок 2 получает –1).
Если v  v , то выигрыши игроков однозначно не определены ( можно
указать только разумный диапазон).
1 2
Пример 7.5. В игре с матрицей A  нижняя и верхняя цены, со-
2 1
ответственно, v  1, v  2 , т.е. игрок 1 может гарантировать себе выигрыш
не меньше 1, а игрок 2 — проигрыш не более 2. У каждого игрока обе
стратегии являются оптимальными гарантирующими, но без дополнитель-
ных предположений исход этой игры и выигрыш неоднозначны.

§ 7.7. Смешанное расширение. Основная теорема матричных игр

В общем случае антагонистическая игра (даже матричная) не имеет


цены. В такой ситуации решающим становится вопрос информированно-
сти игроков о выборе противника. Без его конкретизации нельзя опреде-
лить решение игры. Различные варианты уточнения информированности
приводят к расширению множеств стратегий. Одним из наиболее традици-
онных подходов является введение случайности в выбор игроков. При
этом считается, что конкретный выбор каждого игрока не может быть из-
вестным противнику.
Если множество чистых стратегий игрока U состоит из конечного
числа точек u1 ,..., un , то смешанной стратегией называется вектор
p  ( p1 ,..., p n ) , где p i — вероятность выбора чистой стратегии ui , pi  0,
n

p
i 1
i  1 . Формально чистую стратегию можно рассматривать как смешан-

ную стратегию, задаваемую вектором, i -я компонента которого равна 1, а


все остальные — 0, поэтому множество чистых стратегий является под-
множеством множества смешанных стратегий. Множество
 n

S n   p  ( p1 ,..., p n ) / p i  0, i  1, n,

p
i 1
i  1 называется n-мерным симплек-

сом. Если ассоциировать U с единичными векторами (вершинами сим-
плекса), то U  S n , т. е. множество смешанных стратегий представляет со-
бой расширение множества чистых стратегий.

174
Рассмотрим общую матричную игру
a11 a12 ... a1m
a 21 a 22 ... a 2 m
A . (7.12)
... ... ... ...
a n1 an2 ... a nm
Введем смешанные стратегии для обоих игроков. Смешанной стра-
тегией игрока 1 в матричной игре (7.12) является вектор
n
p  ( p1 ,..., pn ), pi  0, i  1, n, p
i 1
i  1,

где pi — вероятность выбора i -й чистой стратегии ( i  1, n );


смешанной стратегией игрока 2 – вектор
m
q  (q1 ,..., qm ), q j  0, j  1, m, q
j 1
j  1,

где q j — вероятность выбора j -й чистой стратегии ( j  1, m ).


Функция выигрыша игрока 1 как математическое ожидание в соот-
ветствии с формулами теории вероятностей имеет вид
n m
h( p, q )   aij pi q j   p, Aq. (7.13)
i 1 j 1

Множество смешанных стратегий игрока 1


 n

S n   p  ( p1 ,..., pn ) pi  0, i  1, n,

pi 1
i  1.

(7.14)
Множество смешанных стратегий игрока 2
 m 
S m  q  (q1 ,..., q m ) q j  0, j  1, m,  q j  1,. (7.15)
 j 1 
Совокупность S n , S m , h( p, q) называется смешанным расширением
матричной игры. Чистые стратегии игроков являются подмножествами
множеств смешанных стратегий (вершинами симплексов S n и S m ). Выбору
i -й чистой стратегии соответствует вектор p с компонентами
pi  1, p k  0, k  i (аналогично для игрока 2). Функция h на множествах чи-
стых стратегий принимает значения aij .
В смешанных стратегиях нижней ценой матричной игры называ-
ется величина
max min h( p, q ), (7.16)
pS n qS m

верхней ценой — величина


min max h( p, q ). (7.17)
qS m pS n

Докажем, что нижняя и верхняя цены матричной игры в смешанных стра-


тегиях всегда равны между собой (их общее значение v называется ценой
матричной игры). Достижимость нижних и верхних граней в (7.16), (7.17)
вытекает из непрерывности функции h( p, q) на компактах S n , S m и непре-
рывности функций min h( p, q ) и max h( p, q ) .
qS m p S n

175
Теорема 7.1 (основная теорема матричных игр фон Неймана).
Любая матричная игра имеет цену (в смешанных стратегиях), а игроки
имеют оптимальные смешанные стратегии, т.е.
v  max min h( p, q )  min max h( p, q ) 
pS n qS m qS m pS n

= min h( p , q )  max h( p, q 0 )  h( p 0 , q 0 ) .
0
(7.18)
qS m pS n

Доказательство. Согласно теореме о необходимых и достаточных


условиях существования седловой точки утверждение данной теоремы эк-
вивалентно утверждению о существовании седловой точки у функции
h( p, q) на S n  S m . Последнее вытекает из теоремы о существовании седло-
вой точки у вогнуто-выпуклой функции. Действительно, множества
S n и S m являются, очевидно, выпуклыми замкнутыми ограниченными
подмножествами пространств R n и R m , функция h( p, q) непрерывна по
p, q и линейна по p, q , следовательно, является вогнуто-выпуклой. Таким
образом, выполнены все условия теоремы о существовании седловой точки
у вогнуто-выпуклой функции и существует такая точка ( p 0 , q 0 ) , что
h( p, q 0 )  h( p 0 , q 0 )  h( p 0 , q ) p, q. Из теоремы о необходимых и доста-
точных условиях существования седловой точки вытекает, что p 0 реализу-
ет max min h( p, q ) , q 0 реализует min max h( p, q ) и нижняя и верхняя цены
pS n qS m qS m pS n

игры в смешанных стратегиях равны между собой, что и требовалось дока-


зать.

§ 7.8. Существование ситуаций равновесия в чистых и смешанных


стратегиях

Приведем две классические теоремы. Одна из них дает достаточные


условия существования равновесия для непрерывных игр, другая в какой-
то степени решает проблему существования для дискретных игр.
В основу обеих теорем положена теорема Л.Э. Брауэра о неподвиж-
ной точке: непрерывное отображение выпуклого компакта в себя имеет, по
крайней мере, одну неподвижную точку.
Теорема 7.2. Пусть X – компактное выпуклое множество из конеч-
номерного евклидова пространства и пусть непрерывная функция f пере-
водит X в X. Тогда существует точка xX такая, что f(x) = x.
Рассмотрим игру n лиц в нормальной форме
Г=<{1, …, n}, U1, …, Un, g1, …, gn>.
Игра Г называется выпуклой, если выполнены следующие три усло-
вия
1) для любого i множество Ui есть компактное выпуклое подмноже-
ство конечномерного евклидова пространства
2) функции gi ( i  1, n ) непрерывны по совокупности своих аргумен-
тов

176
3) при любом i и любых фиксированных значениях u1, …, ui-1, ui+1,
…, un функция gi(u1, …, ui-1, vi, ui+1, …, un) вогнута по аргументу vi.
Теорема 7.3. Всякая выпуклая игра имеет, по крайней мере, одну
ситуацию равновесия.
Доказательство теорем 7.2, 7.3 приводить не будем (см. [31,33]), а
проиллюстрируем теорему 7.2 на примере.
Рассмотрим игру двух лиц, в которой множество стратегий каждого
игрока есть отрезок. В этом случае множество ситуаций представляет со-
бой прямоугольник.
û2 u1  û1 u2 

U2

U1

Для каждого u1U1 существует, по крайней мере, одна точка uˆ 2 (u1 )


такая, что
g 2 (u1 , uˆ 2 (u1 ))  max g 2 (u1 , u 2 ) .
u 2 U 2

Аналогично, для каждого u2U2 найдется uˆ1 (u 2 ) такая, что


g 2 (, uˆ1 (u 2 ), u 2 )  max g1 (u1 , u 2 ) .
u1U1

Если функции û1 и û2 непрерывны, то, очевидно, что их графики пе-
ресекаются. Точка пересечения будет ситуацией равновесия.
Можно показать, что если функция g1 строго вогнута по первому ар-
гументу, то функция û1 определена однозначно и непрерывна. Аналогич-
но, если функция g2 строго вогнута по второму аргументу, то функция
û2 определена однозначно и непрерывна. Если функции g1 и g2 вогнуты, но
не строго, то ситуация оказывается несколько более сложной, но некото-
рый аналог непрерывности все же будет иметь место.
Теорема 7.3 накладывает на рассматриваемую игру довольно жест-
кие условия. В частности, предположение о выпуклости множества Ui вы-
водит из рассмотрения целый класс конечных игр. Во многих случаях си-
туации равновесия могут отсутствовать. Как и в случае антагонистических
игр, ситуацию удается подправить переходом к смешанному расширению
игры. В общем случае для этого требуется сложный математический аппа-
рат, поэтому мы рассмотрим конечные игры.
Имеется игра Г=<{1, 2, …, n}, U1, …, Un, g1, …, gn> с конечными
множествами Ui={1, 2, …, mi}.

177
Смешанной стратегией i-го игрока является вероятностное распреде-
ление на множестве Ui, т.е. набор чисел  i  ( i1 ,..., imi ) таких, что  i j  0 ,
mi


j 1
i
j
1.

Набор ( 1 ,..., n ) смешанных стратегий называется ситуацией рав-


новесия в смешанных стратегиях в игре Г, если для любого i и любой сме-
шанной стратегии i i-го игрока выполнено неравенство
g i ( 1 ,...,  n )  g i ( 1 ,...,  i 1 ,  i ,  i 1 ,...,  n ) ,
где g i — выигрыш игрока i в смешанных стратегиях (математическое ожи-
дание).
Главным аргументом в пользу введения смешанных расширений яв-
ляется следующая теорема.
Теорема 7.4 (теорема Нэша). Во всякой конечной игре Г существу-
ет, по крайней мере, одна ситуация равновесия в смешанных стратегиях.
Доказательство. В mi-мерном евклидовом пространстве симплекс
mi
U i  {( i1 ,..., im )  i j 0,  i j  1}
i

j 1

является выпуклым компактным множеством.


Определим на декартовом произведении U1…Un симплексов ве-
щественнозначную функцию
m1 mn
g i ( 1 ,..., n )   ... g i (i1 ,..., in )1i ... ni .
1 n
(7.19)
i1 1 in 1

Функция (7.19) является, очевидно, линейной по i при фиксированных


 1 ,...,  i 1 ,  i 1 ,...,  n , и, следовательно, вогнутой по i при фиксирован-
ных остальных аргументах.
Рассмотрим игру
Г  {1,2,..., n}, U 1 ,..., U n , g 1 ,..., g n  .
Так как игра Г является выпуклой, то в ней существует ситуация
равновесия в чистых стратегиях.
Но каждой чистой стратегии ( 1i ,...,im ) i-го игрока в игре Г можно
i

поставить в соответствие смешанную стратегию ( 1i ,...,im ) в игре Г. При i

этом выигрыш i-го игрока в игре Г в ситуации ( 1 ,..., n ) будет равен ма-
тематическому ожиданию выигрыша i-го игрока в игре Г в случае, когда
игроки зафиксируют свои смешанные стратегии  1 ,..., n . Поэтому каждой
ситуации равновесия в игре Г в чистых стратегиях будет соответствовать
ситуация равновесия в смешанных стратегиях в игре Г. Теорема доказана.

178
§ 7.9. Свойства оптимальных стратегий матричных игр

Рассмотрим некоторые свойства оптимальных стратегий матричных


игр, необходимые в дальнейшем для обоснования методов решения.
В следующих теоремах формулируются необходимые и достаточные
условия оптимальности стратегий.
Теорема 7.5. Пусть v - цена матричной игры, тогда для того, что-
бы p была оптимальной стратегией игрока 1, необходимо и достаточ-
0

но, чтобы
h( p 0 , q )  v q  S m . (7.20)
Аналогично, для того, чтобы q 0 была оптимальной стратегией иг-
рока 2, необходимо и достаточно, чтобы
h( p, q 0 )  v p  S n . (7.21)
Доказательство. Необходимость. Пусть p - оптимальная стратегия,
0

т.е.
min
qS
h ( p 0
, q )  max min qS
h( p, q )  v ,
m pS n m

отсюда следует (7.20).


Достаточность. Пусть выполнено неравенство (7.20), тогда
min h( p 0 , q )  v  max min
qS
h( p, q ),
qS m pS n m

откуда
min h( p 0 , q )  max min h( p, q ),
qS m pS n qS m
0
т.е. p — оптимальная стратегия.
Доказательство для игрока 2 аналогично.
Далее понадобятся обозначения
m
h(i, q)   a ij q j , (7.22)
j 1
n
h( p, j )   aij p i . (7.23)
i 1

Выражение (7.22) представляет собой выигрыш игрока 1 при исполь-


зовании им i -й чистой стратегии, тогда как игрок 2 использует смешанную
стратегию q ; выражение (7.23) – выигрыш игрока 1 при использовании им
смешанной стратегии p , тогда как игрок 2 использует чистую j -ю страте-
гию.
Следствие 7.4. Пусть v - цена матричной игры, тогда для того
чтобы p 0 была оптимальной стратегией игрока 1, необходимо и доста-
точно, чтобы
h ( p 0 , j )  v, j  1, m. (7.24)
Аналогично, для того, чтобы q была оптимальной стратегией иг-
0

рока 2, необходимо и достаточно, чтобы


h(i, q 0 )  v, j  1, n. (7.25)

179
Доказательство. Необходимость следует непосредственно из тео-
ремы 7.5, так как множество чистых стратегий является подмножеством
множества смешанных стратегий.
Для доказательства достаточности возьмем произвольную смешан-
ную стратегию q игрока 2, умножим неравенства (7.24) на соответствую-
щие компоненты вектора q и сложим полученные неравенства. Тогда
m m

 h( p
j 1
0
, j ) q j  v  q j  v,
j 1

но
m n m

 h( p
j 1
0
, j )q j   aij pi0 q j  h( p 0 , q ),
i 1 j 1

значит выполнено (7.20) и p — оптимальная стратегия.


0

Доказательство для игрока 2 аналогично.


Теорема 7.6. Для того чтобы v было ценой игры, а p 0 и q 0 — опти-
мальными стратегиями игроков, необходимо и достаточно, чтобы вы-
полнялись неравенства
h( p, q 0 )  v  h( p 0 , q ) p, q. (7.26)
Доказательство. Необходимость. Если v — цена игры, а p и q 0 — 0

оптимальные стратегии, то ( p 0 , q 0 ) — седловая точка функции h и по ос-


новной теореме матричных игр h( p 0 , q 0 )  v , откуда следует (7.26).
Достаточность. Положим в левой части неравенства (7.26) p  p 0 , а
в правой части q  q 0 . Тогда h( p 0 , q 0 )  v  h( p 0 , q 0 ) , откуда h( p 0 , q 0 )  v .
Подставив в (7.26) вместо v равное ему значение h( p 0 , q 0 ) , получим, что
( p 0 , q 0 ) является седловой точкой функции h . Значит по основной теореме
матричных игр p 0 , q 0 — оптимальные стратегии, v — цена игры.
Следствие 7.5. Для того чтобы v было ценой игры, а p 0 , q 0 — оп-
тимальными стратегиями игроков, необходимо и достаточно, чтобы
h(i, q 0 )  v  h( p 0 , j ) i, j.
Доказательство аналогично доказательству следствия 7.4.
Теорема 7.7 (о свойствах оптимальных стратегий). Пусть p 0 и
q 0 — произвольные оптимальные стратегии, а  — цена игры. Тогда, если
pi0  0 , то h(i, q 0 )  v ; если q 0j  0 , то h( p 0 , j )  v . Кроме того, имеют
место равенства
min h( p 0 , j )  max min h( p, j )  min max h(i, q )  max h(i, q 0 )  v. (7.27)
1 j  m pS n 1 j  m qS m 1 i  m 1 i  n

Доказательство. Так как q 0