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

Б А К А Л А В Р И А Т

ФГОБУ ВПО «Финансовый университет


при Правительстве Российской Федерации»

Методы
оптимальных решений
в экономике и финансах
Практикум
Рекомендовано ФГБОУ ВПО
«Государственный университет управления»
в качестве учебника для студентов вузов,
обучающихся по направлениям подготовки «Экономика»
и «Прикладная математика и информатика»
(квалификация (степень) «бакалавр»)

Министерство образования и науки Российской Федерации


ФГАУ «Федеральный институт развития образования»
Регистрационный номер рецензии № 133 от 09.04.2012

КНОРУС • МОСКВА • 2016


УДК 33/.336(075.8)
ББК 65.290я73 Оглавление
М54
Авторы:
И. А. Александрова, Л. Г. Архипова, В. М. Гончаренко, И. Е. Денежкина, .
Д. С. Набатова, В. Ю. Попов, И. Г. Шандра, А. Б. Шаповал
Рецензенты: Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
С. В.  Мхитарян, доктор экономических наук, профессор кафедры маркетинга
и коммерции МЭСИ;
В. В. Угрозов, доктор физико-математических наук, профессор кафедры «Приклад- Глава 1.  Введение в численные методы линейной алгебры . . . . . . .  8
ная математика» Финансового университета при Правительстве РФ 1.1.  Погрешности вычислений . . . . . . . . . . . . . . . . . . . . . .  8
Методы оптимальных решений в  экономике и  финансах. Практикум  : 1.2.  Решение систем алгебраических линейных уравнений . . . . . .  11
М54 учебное пособие / коллектив авторов. — М. : КНОРУС, 2016. — 298 с. — 1.2.1.  Метод Гаусса . . . . . . . . . . . . . . . . . . . . . . . . . . .  11
(Бакалавриат). 1.2.2.  Итерационные методы . . . . . . . . . . . . . . . . . . . . .  13
ISBN 978-5-406-04545-9 1.2.3.  Обусловленность задач линейной алгебры . . . . . . . . .  17
DOI 10.15216/978-5-406-04545-9
1.3.  Реализация итерационных методов решения систем
Излагаются основные методы решения оптимизационных задач, которые при- линейных уравнений средствами Excel . . . . . . . . . . . . . . .  20
меняются в  прикладных экономических задачах. Последовательно излагаются
линейные модели в экономике, основы линейного программирования и теории 1.3.1.  Постановка задачи . . . . . . . . . . . . . . . . . . . . . . .  21
двойственности, их применение при решении различных типов транспортных 1.3.2.  Табличное представление задачи . . . . . . . . . . . . . . .  21
задач; математические методы решения задач нелинейного программирования
и  их применение в  теории производства и  потребления, методы решения задач 1.3.3.  Реализация метода Зейделя в Excel . . . . . . . . . . . . . . 22
многокритериальной оптимизации и  динамического программирования, мето-
ды теории игр в  экономических задачах; особое внимание уделено численным
методам, необходимым для исследования полученных математических моделей, Глава 2. Неотрицательные матрицы и линейные экономические
и применению пакета. модели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  28
Соответствует ФГОС ВО 3+.
Для студентов, обучающихся по направлениям «Экономика», «Менеджмен», «При- 2.1.  Собственные векторы и собственные значения
кладная математика и информатика» и другим направлениям подготовки бакалавров, неотрицательных матриц . . . . . . . . . . . . . . . . . . . . . . .  28
а также магистров, аспирантов и слушателей послевузовского образования, а также
преподавателей.
2.2.  Балансовые модели и их продуктивность . . . . . . . . . . . . . .  31
УДК 33/.336(075.8)
ББК 65.290я73 Глава 3.  Линейное программирование . . . . . . . . . . . . . . . . . . . .  38
3.1.  Постановка задачи линейного программирования . . . . . . . .  38
Методы оптимальных решений
в экономике и финансах. Практикум 3.2.  Примеры задач линейного программирования . . . . . . . . . .  41
Сертификат соответствия № РОСС RU.АГ51.Н03820 от 08.09.2015. 3.3.  Графический метод решения задач линейного
Изд. № 8464. Подписано в печать 28.09.2015. Формат 60×90/16. . программирования . . . . . . . . . . . . . . . . . . . . . . . . . . .  45
Гарнитура «Newton». Печать офсетная.
3.4.  Симплекс-метод решения задач линейного .
Усл. печ. л. 19,0. Уч.-изд. л. XX,X. Тираж 500 экз.
программирования . . . . . . . . . . . . . . . . . . . . . . . . . . .  49
ООО «Издательство «КноРус». .
117218, г. Москва, ул. Кедрова, д. 14, корп. 2. . 3.5.  Метод искусственного базиса . . . . . . . . . . . . . . . . . . . .  55
Тел.: 8-495-741-46-28. .
E-mail: office@knorus.ru http://www.knorus.ru 3.6.  Решение задач линейного программирования средствами .
Отпечатано в ООО «Контакт». . Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  61
107150, г. Москва, проезд Подбельского 4-й, дом 3.

© Коллектив авторов, 2016 Глава 4.  Взаимно двойственные задачи . . . . . . . . . . . . . . . . . . .  70


ISBN 978-5-406-04545-9 ©  ООО «Издательство «КноРус», 2016 4.1.  Основные определения и теоремы . . . . . . . . . . . . . . . . . .  70
4•Оглавление Оглавление •5
4.2.  Решение двойственных задач с помощью теоремы . 10.1.1.  Отделение корней . . . . . . . . . . . . . . . . . . . . . .  162
равновесия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  73 10.1.2.  Уточнение корней . . . . . . . . . . . . . . . . . . . . . .  165
4.3.  Решение двойственных задач с помощью симплекс-метода . . . 75 10.2.  Системы нелинейных уравнений . . . . . . . . . . . . . . . . . .  173
10.2.1.  Метод Ньютона для решения систем нелинейных
Глава 5.  Задачи целочисленного программирования . . . . . . . . . . .  81 уравнений . . . . . . . . . . . . . . . . . . . . . . . . . . .  174
5.1.  Постановка задачи. Графический метод решения . . . . . . . . .  81 10.2.2.  Итерационные методы для решения систем
нелинейных уравнений . . . . . . . . . . . . . . . . . . .  176
5.2.  Двойственный симплекс-метод . . . . . . . . . . . . . . . . . . .  82
10.3. Решения нелинейных уравнений и систем .
5.3.  Метод Гомори . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  86 средствами Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
5.4.  Решение задач линейного программирования средствами . 10.3.1.  Решение нелинейных уравнений средствами Excel . . .  178
Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  91 10.3.2.  Решение систем нелинейных уравнений при
помощи команды «Поиск решения» . . . . . . . . . . .  183
Глава 6. Транспортная задача . . . . . . . . . . . . . . . . . . . . . . . . .  96
6.1.  Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . .  96 Глава 11.  Многокритериальная оптимизация . . . . . . . . . . . . . . .  188
6.2.  Построение начального опорного плана . . . . . . . . . . . . . .  98 11.1.  Общая постановка задачи многокритериальной
6.3.  Решение транспортной задачи методом потенциалов . . . . . .  102 оптимизации. Парето-эффективное множество . . . . . . . . .  188

6.4.  Открытая модель транспортной задачи . . . . . . . . . . . . . . .  105 11.2.  Методы решения задач многокритериальной оптимизации . .  192

6.5.  Определение оптимального плана транспортных задач


с дополнительными ограничениями . . . . . . . . . . . . . . . .  109 Глава 12.  Динамическое программирование . . . . . . . . . . . . . . . .  201
6.6.  Решение транспортной задачи средствами Excel . . . . . . . . .  114 12.1.  Метод динамического программирования. Принцип
оптимальности и уравнение Беллмана . . . . . . . . . . . . . . .  202
12.2.  Задача вложения средств в отрасли. Непрерывный
Глава 7.  Выпуклые функции и теорема Куна — Таккера . . . . . . . .  119
и дискретный случаи . . . . . . . . . . . . . . . . . . . . . . . . .  205
7.1.  Выпуклые функции . . . . . . . . . . . . . . . . . . . . . . . . . .  119
12.3.  Модели управления запасами . . . . . . . . . . . . . . . . . . . .  212
7.2.  Теорема Куна — Таккера . . . . . . . . . . . . . . . . . . . . . . . .  123 12.3.1.  Статические модели управления запасами . . . . . . . .  213
12.3.2.  Динамические модели управления запасами . . . . . .  219
Глава 8.  Математическая теория потребления . . . . . . . . . . . . . .  129 12.4.  Задача о замене оборудования . . . . . . . . . . . . . . . . . . .  222
8.1.  Отношение предпочтения и функция полезности . . . . . . . .  129 12.5.  Решение задач динамического программирования
8.2.  Предельный анализ и потребительский выбор . . . . . . . . . .  137 средствами Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . .  228

Глава 9.  Математическая теория производства . . . . . . . . . . . . . .  151 Глава 13. Элементы теории игр . . . . . . . . . . . . . . . . . . . . . . . .  233
9.1.  Производственная функция . . . . . . . . . . . . . . . . . . . . .  151 13.1.  Основные понятия антагонистических игр . . . . . . . . . . . .  233
9.2.  Функции предложения и спроса . . . . . . . . . . . . . . . . . . .  155 13.2.  Методы определения ситуации равновесия в играх .
2×2, m×2, 2×n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  238
9.3.  Сопряженная производственная функция и двойственная
задача . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  158 13.3.  Антагонистические игры и линейное программирование . . .  244
13.4.  Игра с природой . . . . . . . . . . . . . . . . . . . . . . . . . . . .  247
Глава 10. Численные методы решения систем нелинейных 13.5.  Решения антагонистических игр средствами Excel . . . . . . .  251
уравнений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  162 13.6.  Строго доминируемые стратегии и равновесие по Нэшу . . . .  253
10.1.  Решение нелинейных уравнений . . . . . . . . . . . . . . . . . .  162 13.7.  Приложения к экономике: модели Курно и Бертрана . . . . . .  258
6•Оглавление Предисловие
Глава 14.  Численные методы оптимизации . . . . . . . . . . . . . . . . .  263
14.1.  Методы оптимизации функций одной переменной . . . . . . .  264
14.1.1.  Прямые методы одномерной оптимизации . . . . . . .  264
14.1.2.  Метод поиска глобального минимума . . . . . . . . . .  267 После выхода первого издания учебника «Методы оптимальных ре-
14.1.3.  Методы одномерной оптимизации, использующие шений в экономике и финансах», подготовленного коллективом авто-
производные . . . . . . . . . . . . . . . . . . . . . . . . .  272 ров, работающих на кафедрах «Прикладная математика» и «Теория ве-
14.2.  Реализация методов поиска экстремумов функций одной
роятностей и математическая статистика» Финансового университета
переменной средствами Excel . . . . . . . . . . . . . . . . . . . .  272 при Правительстве Российской Федерации, возникла необходимость
в разработке практикума, в котором на примерах и задачах в полной
14.3.  Методы безусловной оптимизации функций многих
переменных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  275 мере были бы отражены основные математические методы, изложен-
14.3.1.  Методы прямого поиска . . . . . . . . . . . . . . . . . .  276 ные в учебнике.
14.3.2.  Градиентные методы . . . . . . . . . . . . . . . . . . . . .  276 Поэтому настоящее издание может рассматриваться как естествен-
ное дополнение к учебнику: каждая глава практикума отражает содер-
жание соответствующей главы учебника и посвящена основным типам
Ответы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  282
задач, которые решаются с помощью изложенных в учебнике методов.
Как правило, каждая глава начинается с  напоминания основных
Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  296 результатов по теме, затем разбираются типовые задачи. В конце каж-
дой главы приведен список задач и упражнений для самостоятельной
Литература . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  297 работы. Почти все задачи снабжены указаниями и ответами.
Важное место в практикуме занимают примеры и задачи, имеющие
экономическое содержание, так как одной из основных целей авторов
являлась иллюстрация используемых математических понятий эконо-
мическими примерами.
Содержание практикума апробировалось в течение многих лет при
преподавании прикладных дисциплин на  математических кафедрах
Финансового университета. Как показывает наш опыт, рассматрива-
мые в книге разделы, с одной стороны, позволяют получить практиче-
ские навыки по использованию методов оптимизации, применяемых
в  экономике и  финансах, а  с  другой — закрепляют базовые знания,
необходимые для решения практических задач, реально возникающих
в экономике.
•9
1
1.1.  Погрешности вычислений

Глава Определение 1.2. Относительной погрешностью приближения x*


называют величину

Введение в численные x∗ − x ∆x ∗
δx ∗ = =
x∗ x∗
методы линейной алгебры Величину относительной погрешности часто выражают в процен-
тах. При известной величине относительной погрешности считают,
что точное значение x ∈( x (1 − δx ), x (1 + δx ))
∗ ∗ ∗ ∗

В  главе рассматриваются вопросы, связанные с  погрешностя- Определение 1.3. Первые n значащих цифр числа называются вер-
ми вычислений и  методы решения систем алгебраических линейных ными, если абсолютная погрешность этого числа не превышает поло-
уравнений. вины единицы разряда, соответствующего n-й значащей цифре. Циф-
ры, стоящие за последней верной, называют сомнительными.
Вычислить значение с  точностью ε  = 10–n означает, что значащая
1.1.  Погрешности вычислений цифра, стоящая в n-м разряде после запятой, должна быть верной.
Если абсолютная погрешность числа не  указана, то  принято счи-
При выполнении расчетов с использованием вычислительной тех- тать, что она равна половине единицы последнего указанного разряда.
ники, от мощных компьютеров до простейших калькуляторов, хорошо Пример 1.1. Если e  = 2,72, то  ∆e  = 0,005, если e  = 2,71828,
известные арифметические законы не  всегда выполняются. Это свя- то ∆e = 0,000005.
зано с тем, что любое техническое устройство имеет дело лишь с ко- При выполнении арифметических операций количество значащих
нечным набором цифр и знаков. Каждое число может быть представ- цифр в числе, как правило, увеличивается. Например, 3,29 + 0,021 = .
лено последовательностью цифр, длина которой определяется длиной = 3,311, или 0,12 × 0,12 = 0,0144.
ячейки памяти устройства. При выполнении нескольких операций Приведем правило вычисления погрешностей арифметических
можно и  не  заметить никаких отличий. Но  применение численных операций по погрешностям операндов.
методов, которые мы будем рассматривать, требует огромного числа Пусть известны приближенные значения чисел x* и  y* и  их  абсо-
арифметических операций. Поэтому необходимо понимать, к  чему лютные погрешности. Тогда x = x* ± ∆x*, y = y* ± ∆y*.
приводит ограничение на количество участвующих в расчетах цифр. При сложении и  вычитании чисел их  абсолютные погрешности
Любые сложные вычисления неизбежно связаны с  появлением складываются. То  есть для чисел z  = x ± y абслоютная погрешность
ошибок, вызванных округлением, ограниченными возможностями не превосходит
вычислительной техники, неточностью исходных данных. Для того
чтобы понимать, насколько результат вычислений соответствует дей- ∆z* = ∆x* + ∆y*.
ствительности, необходимо контролировать точность вычислений. Для относительных погрешностей справедлива следующая формула:
Пусть x — точное значение числа, а x* — приближенное.
Определение 1.1. Абсолютной погрешностью приближения x* на- ∆( x ∗ + y ∗ ) ∆x ∗ + ∆y ∗ x∗ y∗
δ( x ∗ ± y ∗ ) = = = δx ∗ + δy ∗
зывают величину x ∗ ± y∗ x ∗ ± y∗ x ∗ ± y∗ x ∗ ± y∗
∆x ∗ = x ∗ − x Для произведения z = x ⋅ y

Так как точное значение обычно неизвестно, абсолютную погреш- ∆z ∗ = ∆x ∗ ⋅ y ∗ + ∆y ∗ ⋅ x ∗; .


ность можно только оценить. Если известно наибольшее возможное ∆z ∗ ∆x ∗ ⋅ y + ∆y ∗ ⋅ x
значение абсолютной погрешности, то можно утверждать, что точное δz ∗ = = = δx ∗ + δy ∗.
значение лежит в интервале x ∈ (x* – ∆x*, x* + ∆x*). z∗ x ∗ y∗
10•Глава 1. Введение в численные методы линейной алгебры •11
1.2.  Решение систем алгебраических линейных уравнений

Для частного z =
x
:
1.2. Решение систем алгебраических
y линейных уравнений
∆x ∗ ⋅ y ∗ − ∆y ∗ ⋅ x ∗ ∆x ∗ ⋅ y ∗ + ∆y ∗ ⋅ x ∗
∆z ∗ = ∗ 2
≤ , . Для решения систем линейных уравнений применяются прямые
(y ) ( y ∗ )2 и  итерационные методы, каждые из  которых имеют свои преимуще-
∆z ∗ ∆x ∗ ⋅ y ∗ + ∆y ∗ ⋅ x ∗ y ∗ ства и недостатки.
δz ∗ = = ⋅ ∗ = δx ∗ + δy ∗. Постановка задачи:
z∗ ( y ∗ )2 x для заданной n×n матрицы A и вектора b ∈ Rn найти вектор x ∈ Rn
Таким образом, относительная погрешность произведения такой, что
и  частного не  превосходит суммы относительных погрешностей Ax = b. (1.1)
операндов. Здесь количество уравнений совпадает с количеством неизвестных.
Замечание 1.1. При вычитании близких по  величине чисел про- В противном случае требуется дополнительное исследование, извест-
исходит потеря значащих цифр, так как разность этих чисел близка ное читателю из курса линейной алгебры.
к  нулю, поэтому относительная погрешность разности существен- Эта задача имеет единственное решение, если определитель матри-
но больше относительных погрешностей операндов. Например, цы A отличен от нуля. В этом случае систему можно решить либо с по-
1,2345  – 1,2344  = 0,0001. В  операндах пять значащих цифр, а  в  ре- мощью обратной матрицы по формуле
зультате — всего одна. x = A–1 ⋅ b,
либо методом Гаусса. Решение практических задач часто сопряжено
Задачи для самостоятельного решения
с  некоторыми проблемами, затрудняющими применение указанных
1.  Стороны треугольника равны 3,2 см, 5,3 см и 4,8 см. Измерения методов. Так, при большом количестве уравнений ошибки округления
проводились с точностью до 0,1 см. Какова абсолютная погрешность становятся преобладающими. Если определитель системы не  равен
вычисления периметра треугольника? нулю, но очень мал, точное решение получить сложно. Кроме того, за-
2.  Прямоугольный земельный участок имеет линейные размеры дача может быть плохо обусловленной.
20 м и 30 м. Измерения проводились с точностью до 0,1 м. Каковы аб- На  практике используют два класса методов решения систем ли-
солютная и относительная погрешности вычисления площади участ- нейных алгебраических уравнений.
ка? Достаточна ли точность вычисления линейных размеров, если аб- Прямые методы позволяют получить точное (без учета ошибок
солютная погрешность вычисления площади не должна превосходить округления) решение, выполнив конечное число операций. К прямым
10 м2. методам относится метод Гаусса и его модификации и т.п.
3.  Найти абсолютную и относительную погрешность чисел а2 и а3, Итерационные методы (методы последовательных приближений),
заданных с  одной и  тремя цифрами после десятичной точки, если основанные на  циклическом повторении некоторых операций (ите-
а = 1,245. раций), позволяют получить приближенное решение, вообще говоря,
4.  Дисперсия равномерно распределенной случайной величины с любой заданной точностью. К итерационным методам относится ме-
тод простой итерации, метод Зейделя и т.д.
(b − a)2
на отрезке [a; b] вычисляется по формуле D = Определить аб- Рассмотрим некоторые методы, наиболее часто применяемые при
12 решении практических задач.
солютную и относительную погрешность при вычислении дисперсии,
если а = 1,201; b = 2,115.
5.  Найти площадь параллелограмма, построенного на  векторах
1.2.1. Метод Гаусса
а = (4,1; 9,7) и b = (2,8; 6,6). Определить абсолютную и относительную Метод Гаусса состоит в равносильных преобразованиях системы,
погрешность вычисления. приводящих к  последовательному исключению неизвестных. При
12 •Глава 1. Введение в численные методы линейной алгебры 1.2.  Решение систем алгебраических линейных уравнений •13
этом расширенная матрица системы приводится к  треугольному Мерой точности полученного решения x* является норма вектора
виду. r , r = Ax* – b. Его называют вектором невязок. Если r  = 0, решение
 a11 a12 a1n b1  1 ∗
a12 a1∗n b1 
∗ точное (как в приведенном примере).
a  ∗ Теоретически при невырожденной матрице A метод Гаусса всегда
a22 a2 n b2  a2∗n b2 
A = ( A b) = 
21
 ⇒ A ∗ = ( A ∗ b∗ ) =  0 1 приводит к  единственному точному решению. Практически  же фор-
   .
  мальное применение этого алгоритма может не дать требуемого резуль-
 
 an1 an2 ann bn   0 0 1 bn∗  тата. Возникающие при этом проблемы подробно описаны в учебнике.
Для преодоления ряда таких проблем применяют метод Гаусса с вы-
Вместо системы (1.1) получается система вида бором ведущего элемента (метод Гаусса — Жордана). На каждом шаге
A*x = b*. (1.2) в качестве ведущего выбирается наибольший по модулю элемент. Если
выбор производится среди всех элементов матрицы, то говорят о пол-
Процесс приведения системы (1.1) к виду (1.2) носит название пря- ном выборе ведущего элемента. При частичном выборе ведущего элемен-
мой ход метода Гаусса. Для приведения матрицы A к верхнетреуголь- та определяется наибольший по модулю элемент в текущем столбце.
ному виду с единицами на главной диагонали, необходимо выполнить Пример 1.3. Решить систему уравнений методом Гаусса с  полным
следующие действия: 4 x1 + 1,599 x2 + 7 x3 = 9, 401;
1) разделить все элементы первой строки (ее называют опорной 
строкой) на первый элемент (называемый ведущим); выбором ведущего элемента: −3 x1 + 2 x2 + 6, 4 x3 = 1, 4 ;
15 x + 6 x = 9 .
2) каждую следующую i-ю строку (i = 2, …, n) складывают с опор-  1 2
ной, умноженной на (–ai1). В результате в первом столбце пер- Ведущим элементом является число 15, стоящее в третьей строке.
вый элемент равен 1, а остальные нулю. Для удобства поменяем 1-ю и  3-ю строки местами и  выполним дей-
3) исключить из  рассмотрения первую строку и  первый столбец ствия в соответствии с алгоритмом. В полученной матрице, исключив
и повторить п. 1 и п. 2. из рассмотрения первую строку, определим ведущий элемент. Это чис-
Прямой ход завершен, когда все строки исчерпаны. Обратный ход ло 3,2, стоящее во 2-й строке. Завершим прямой ход:
состоит в вычислении неизвестных, начиная с последнего.
 15 6 0 9   1 0, 4 0 0,6 
10 x1 + 2 x2 − 3 x3 = 8;
    
 −3 2 6, 4 1, 4  →  0 3, 2 6, 4 3, 2  →
Пример 1.2. Решить систему 5 x1 + 2 x3 = 9; методом Гаусса.  4 1,599 7 9, 401 
6 x + x + 2 x = 12
 1 2 3
 0 −0, 001 7 7, 001 
Будем производить указанные действия над расширенной матри-  1 0, 4 0 0,6
цей системы. → 0 1 2 1 
 
10 2 −3 8   1 0, 2 −0,3 0,8  1 0, 2 −0,3 0,8  0 0 1 1 
 5 0 2 9  ∼ 0 1 −3,5 −5  ∼  0 1 −3,5 −5 
      Выполнив обратный ход, получим ответ x = (1; –1; 1).
 6 1 2 12  0 −0, 2 3,8 7, 2  0 0 1 2
Прямой ход выполнен, матрица имеет верхний треугольный вид 1.2.2. Итерационные методы
с единичной главной диагональю. Обратный ход: При большом числе уравнений (более 50) и в ряде других случаев
 1 0, 2 −0,3 0,8  1 0 0, 4 1,8  1 0 0 1 прямые методы решения систем линейных алгебраических уравнений
 0 1 −3,5 −5  ∼  0 1 −3,5 −5 ∼  0 1 0 2 становится трудно использовать. Альтернативой прямым методам яв-
      ляются итерационные методы. Суть таких методов состоит в построе-
0 0 1 2  0 0 1 2   0 0 1 2
нии последовательности {xk} приближенных решений системы, сходя-
Ответ: x = (1; 1; 2). щейся к точному решению.
14 •Глава 1. Введение в численные методы линейной алгебры 1.2.  Решение систем алгебраических линейных уравнений •15
Метод простой итерации для системы уравнений вида (1.1) заклю- Переставим строки для обеспечения диагонального преобладания
чается в  следующем. Пусть все диагональные элементы матрицы  A и приведем систему к виду (1.3):
не  равны нулю (aii ≠ 0 ∀i  = 1, …, n). Поделим каждое из  уравнений
 15 x1 + 3 x2 + 3 x3 = 21;  x1 = −0, 2 x2 − 0, 2 x3 + 1, 4 ;
на его диагональный элемент и разрешим его относительно неизвест-  
ной, стоящей на главной диагонали. Получим систему  x1 + 10 x2 + 4 x3 = 15;  x2 = −0,1x1 − 0, 4 x3 + 1,5 ;
4 x + 2 x + 20 x = 26;  x = −0, 2 x − 0,1x + 1,3 ;
 a12 a13 a1n b1  1 2 3  3 1 2

 x1 = − a x2 − a x3 − ... − a xn + a ;  0 −0, 2 −0, 2 1, 4


 11 11 11 11

 a21 a23 a2 n b C =  −0,1 0 −0, 4 , b =  1,5 .


xn + 2 ;    
 x2 = − x1 − x3 − ... −
 −0, 2 −0,1 0   1,3
 a22 a22 a22 a22

 Условие сходимости метода выполнено, так как
 an1 a12 a1n −1 bn
 xn = − a x1 − a x2 − ... − a xn −1 + a .
3
 nn nn nn nn С ∞ = max
i = 1, , 3
∑ сij = max{0, 4; 0,5; 0,3} = 0,5 < 1
j =1
Или, введя новые обозначения,
Выберем в качестве начального вектор b Оценим необходимое ко-
x = Cx + b личество итераций, применив соотношение (1.4):
Матрица C имеет нулевую главную диагональ.
0,5k +1 1 + lg15
Выберем некоторое начальное значение x0 и для k = 1, 2, … постро- 1,5 < 0, 01 ⇒ k > ≈ 7, 23
им последовательность {x0, x1, …}: 0,5 1 − lg 5
Таким образом, заданная точность гарантированно достигается за 8
x k = Cx k −1 + b . (1.3)
итераций. Вычисления приведены в таблице.
В качестве начального значения x0 можно выбрать нулевой вектор
или вектор b k x1k x2k x3k x k − x k −1
Если для матрицы A системы выполнено условие преобладания 0 1,4 1,5 1,3
диагональных элементов, т.е. ∀i aii >> ∑ aij , или норма матрицы C 1 0,82 0,8 0,87 0,7
i≠ j 2 1,066 1,07 1,056 0,27
меньше единицы, т.е. С < 1 то метод простой итерации сходится. Ко- 3 0,9748 0,971 0,9798 0,099
личество итераций, необходимое для достижения заданной точности, 4 1,00984 1,0106 1,00794 0,0396
можно оценить по формуле: 5 0,996292 0,99584 0,996972 0,01476
k +1 6 1,001438 1,001582 1,001158 0,005742
С
x k − x∗ ≤ x0 < ε (1.4)
1− С k
Здесь на последнем шаге выполнено условие x − x
k −1
< ε , поэто-
Пример 1.4. Найти решение системы методом простой итерации му необходимая точность достигнута.
с точностью ε = 0,01. Сходящийся итерационный процесс может быть получен различ-
ными путями.
4 x1 + 2 x2 + 20 x3 = 26;
 Пример 1.5. Найти решение системы с точностью ε = 0,001:
 15 x1 + 3 x2 + 3 x3 = 21;
 x + 10 x + 4 x = 15. 2, 21x + 1, 02 y = 1, 734 ;
 1 2 3 
1, 2 x + 1,1 y = 1,16.
16•Глава 1. Введение в численные методы линейной алгебры •17
1.2.  Решение систем алгебраических линейных уравнений

Вычтем из первого уравнения второе, а затем из второго — первое, при невыполнении этих условий один из методов сходится, а другой
и преобразуем к удобному для итераций виду: нет. Так, метод Зейделя всегда сходится, если матрица A в системе (1.1)
симметричная, положительно определенная. Напомним, что систему
2, 21x + 1, 02 y = 1, 734 1, 01x − 0, 08 y = 0,574
 ⇔ ⇔ (1.1) с невырожденной матрицей A можно симметризовать, домножив
1, 2 x + 1,1 y = 1,16 1, 2 x + 1,1 y = 1,16 ее слева на матрицу АТ.
1, 01x − 0, 08 y = 0,574  x = −0,01x + 0, 08 y + 0,574 Достоинством сходящихся итерационных процессов является
⇔ ⇔ их  самоисправляемость. Наличие вычислительных ошибок на  каком-
0,19 x + 1,18 y = 0,586  y = −0,19 x − 0,18 y + 0,586.
то шаге не влияет на результат, так как это неточное значение можно
Матрица C имеет ненулевую главную диагональ. С ∞ = 0, 4 Про- считать новым начальным приближением.
цесс вычисления приведен в таблице.
1.2.3.  Обусловленность задач линейной алгебры
k xk yk x k − x k −1
0 0,574 0,586 Задача является плохо обусловленной, если малые изменения в ее ус-
1 0,61514 0,37146 0,21454
ловиях приводят к большим изменениям результата.
Часто явление плохой обусловленности связано с  «почти вырож-
2 0,597565 0,402261 0,030801
денной» матрицей системы. Обусловленность системы характеризу-
3 0,600205 0,400056 0,00264
ется величиной, которая называется числом обусловленности матрицы
4 0,600002 0,399951 0,000203
и обозначается cond A или греческой буквой κ (каппа):
Модификацией метода простой итерации, сходящейся более бы- cond A = κ = A ⋅ A
−1

стро, является метод Зейделя. При вычислении следующей компонен-


ты вектора xk используют все вычисленные к этому моменту значения. Чем это число больше, тем хуже обусловленность. В ряде норм эту
Вместо процесса (1.5) получим следующую процедуру: величину можно вычислить как отношение наибольшего и наимень-
шего по модулю собственных значений матрицы:
 x1k +1 = c11 x1k + c12 x2k + ... + c1n xnk + b1 ;
 k +1 λ max
 x2 = c21 x1 + c22 x2 + ... + c2 n xn + b2;
k +1 k k cond A =
 λ min
…
 x k +1 = c x k +1 + c x k +1 + ... + c x k +1 + c x k + b .  2, 2 3,1   3,1 
Пример 1.7. В системе (1.1) A =   , b=
 n n1 1 n2 2 nn −1 n −1 nn n n
 7,6 10, 7 10,7
Пример 1.6. Найти решение системы примера 4 с  точностью  0
ε = 0,01. Используем уже полученную выше систему. Процесс вычис- Решением является вектор x =   Если в качестве вектора b взять
 1
ления по методу Зейделя приведен в таблице.
 3,10   1,55 
k x1k x2k x3k x k − x k −1 10, 71 , решением будет x =  −0,1 Определитель этой системы ра-
0 1,4 1,5 1,3 вен –0,1, а cond A = 1142,9.
1 0,82 0,858 1,0502 0,642 При решении плохо обусловленной задачи можно столкнуться
2 1,01836 0,978084 0,99852 0,19836 с различными вычислительными проблемами.
3 1,004679 1,000124 0,999052 0,02204 Отметим, что если для решения плохо обусловленной задачи
4 1,000165 1,000363 0,999931 0,004514 не подходит какой-либо метод, то, скорее всего, и другие стандартные
методы не приведут к успеху. Часто для решения таких задач применя-
Достаточные условия сходимости метода Зейделя такие  же, как ют специальные методы или стараются преобразовать задачу в целях
и у метода простой итерации. Однако можно привести примеры, когда повышения числа обусловленности.
18•Глава 1. Введение в численные методы линейной алгебры 1.2.  Решение систем алгебраических линейных уравнений •19
Задачи для самостоятельного решения 13.  При введении дополнительного налога в k% (k = 12), послед-
ний коэффициент системы в  предыдущей задаче стал равен
6.  Будет ли система уравнений хорошо обусловленной? Ответ обо-
1, 01х + у = 1, 01;  k 
3830 1 +
сновать.   100  Найдите новую точку равновесия. Объясните результат.
1, 02 х + 1, 01 у = 2, 03  0, 09 0, 97 1  Вычислите определитель и число обусловленности матрицы системы.
7.  Найти число обусловленности матрицы  0, 08 0, 01 0,5 14.  Функционирование экономической системы описывается ма-
  тематической моделью: p = ATp + ν, где A — матрица прямых затрат;
 0, 09 0, 98 1 
p — вектор цен; x — вектор валового выпуска; V — вектор добавочной
8.  Для системы уравнений Ax = b постройте процесс, сходящийся
Vi
 2 1 12  17 стоимости; νi =  — норма добавочной стоимости;
xi
к  точному решению по  методу Зейделя. A = 1 14 1 , b =  17 .
 
     0, 20211 0, 0058 0, 062   53
10 2 1   23  
A = 0, 00811 0, 2548 0, 0323 ; ν =  57 .
Покажите, что он сходится. Решите систему. Вычислите невязку.    
9.  Для системы уравнений Ax = b постройте процесс, сходящийся  0, 206 0, 251 0, 0703  32
8 0 1 1  Найдите равновесную цену, решив уравнение: (E – AT )p = ν мето-
1 5 1 0  дом простых итераций. Вычислите невязку. Пусть в 1-й отрасли норма
к точному решению по методу простой итерации. A =  , добавочной стоимости увеличилась на 12%. На сколько процентов из-
2 1 6 2 
 7   2 1 0 10 менилась равновесная цена по каждой продукции?
 −5  15.  Решите следующие системы уравнений Ax = b методом Гаусса:
b=  Покажите, что он сходится. Решите систему. Вычислите не-  1 2 1 3 −1 3 1 −4 2 1  3
 23   2 2 −1 2 3 −2 1 3 1 0  16
 −16    
 1 2 −2 1 1 1 2 0 0 −1  −1
вязку.    
 0 1 −1 −1 1 2 0 0 1 2  13
10.  Решите систему уравнений Ax = b методом Гаусса с полным вы-  −1 2 2 2 −1 3 −3 1 1 0  11
а)  A= ,  b =  ;
 1 −2 6  4   3 −2 2 1 −1 2 3 1 2 1  12
 1 2 2 −1 2  26
бором ведущего элемента: A = 3 −10 0 , b =  16  .
  
−1 −3 2 1 0
  
     −2 1 3 4 2 −2 3 0 2 −2  3
 2 1,101 8  2,899 
1 0 1 2 −1 2 1 0
  
 1 0  16
0, 21x + 2,52 y − 0,11z = 5,6;  1 2 1 0 0 1 2 −2 1 1  13

11.  Приведите систему −0,16 x + 0,35 y + 8,65z = 2, 2; к виду, обеспе-
4,35 x − 0,19 y + 0, 033z = −1,8  0, 2 −0,1 0, 9 0, 3 1 0,1 0, 2 0, 4 0 −0, 2  −1,1
  0 1 0, 4 0,1 −0, 2 0, 9 −0,1 0, 5 −0, 7 1  7,1
   
чивающему сходимость метода итераций. Решите систему методом  0,1 0, 7 0, 5 −0, 5 0 0, 2 1 0, 3 0, 2 0  −3, 3
итераций и  методом Зейделя с  точностью 0,001. Вычислите невязку.    
 −0,1 0 −0,1 0, 6 1 0 0, 4 0, 9 −0, 5 0,1  4, 5
Решите эту же систему методом Зейделя с точностью 0,001, предвари-  0, 3 −0, 8 0, 5 0, 5 0, 2 1 0, 5 −0,1 0, 3 0, 9   2, 6
тельно проведя симметризацию системы. Сравните необходимое чис- б)  A= , b =  
 0, 4 0,1 0, 3 0,1 −0, 8 −0,1 0, 6 0 −0, 7 0, 5  −0, 9
ло итераций для всех случаев.  −0, 6 0, 2 −0, 4 0, 7 0, 5 0,1 −0, 7 1 0, 2 −0, 3  7,1
   
12.  Законы спроса и  предложения описываются системой  0, 2 0 0, 5 −0, 8 1 0 0,1 −0, 6 0, 7 0, 3  −4, 8
   
 ,12 p + 3, 01x = 1907;
32  0,1 0, 3 0, 2 −0, 3 −0, 9 0, 8 0, 2 0 0, 4 0, 5  0, 9
 Найдите точку рыночного равновесия.  −0, 5 0, 4 1 −0,1 
1  7, 5

64,5 p + 6, 05 x = 3830 0,1 0, 9 0 0, 5 0, 3
•Глава 1. Введение в численные методы линейной алгебры
20 •21
1.3.  Реализация итерационных методов решения систем линейных уравнений

16.  Решите систему уравнений Ax = b методом Гаусса, методом про- большинство из  них лишь более или менее подробно (чаще менее)
 0, 04 0, 2 0  0, 28 описывают возможности этой программы, не демонстрируя, как нуж-

стых итераций, методом Зейделя: A = 0, 2 1 1 , b =  3, 4 Вы-
 но пользоваться этими возможностями для решения конкретных задач
    и не приводя примеров. Поэтому в пособие включены такие примеры
 0, 03 0,1 2  4,16 для ряда задач.
числите невязку во  всех случаях. Сравните количество операций. Приведем этапы, необходимые для решения конкретной системы
Пусть первая координата вектора b увеличилась на 0,01, найдите реше- линейных уравнений итерационными методами.
ние системы в этом случае.
17.  Для системы уравнений Ax  = b постройте процесс, сходя- 1.3.1.  Постановка задачи
щийся к  точному решению по  методу простой итерации и  методу
Зейделя: Найти решение системы методом Зейделя с точностью ε = 0,001:

 1 2 1 3 −1 3 1 −40 2 1  58  x1 + 2 x2 + 8 x3 + x4 = 6;
 2 2 −1 20   18 10 x + x − 3 x + 2 x = 14;
3 −2 1 3 1 0  1 2 3 4
    
 1 20 −2 1 1 1 2 0 0 −1  42  1x + 7 x 2 + x3 + 2 x 4 = 17;
 0 1 −1 −1 1 20 0 0 1 2  35  x1 + x2 + x3 + 12 x4 = 15
  
 −1 2 200 2 −1 3 −3 1 1 0  68 Для обеспечения диагонального преобладания переставим строки
A= ,   b =  
 3 −2 2 1 −1 2 20 3 2 1  27 10 x1 + x2 − 3 x3 + 2 x4 = 14;
 1 2 −1 −3 20 1 0 2 −1 2  −6  x + 7 x + x + 2 x = 17;
     1 2 3 4
 −20 1 3 4 2 −2 3 0 2 −2  0 
 1 0  x1 + 2 x2 + 8 x3 + x4 = 6;
1 0 1 2 −1 2 10 0  15
 x1 + x2 + x3 + 12 x4 = 15
   
 1 2 1 0 0 1 2 −2 1 20  −25
Затем приведем систему к удобному для итераций виду:
Покажите, что методы сходятся. Решите систему с точностью до 10–5.
Сравните количество операций. Вычислите невязку.  x1 = −0,1x2 + 0,3 x3 − 0, 2 x4 + 1, 4;
 x = −0,1429 x − 0,1429 x − 0, 2857 x + 2, 4286;
 2 1 3 4

 3x = −0,125 x1 − 0, 25 x 2 − 0 ,125 x 4 + 0, 75;
1.3. Реализация итерационных методов  x4 = −0, 0833 x1 − 0, 0833 x2 − 0, 0833 x3 + 1, 25
решения систем линейных В принятых выше обозначениях выпишем матрицы:
уравнений средствами Excel −0,1 −0, 2 
 0 0,3  1, 4 
Наиболее эффективным способом применения численных методов  −0,1429 0 −0,1429 −0, 2857   2, 4286
С = ;   b =  
является их  программная реализация. Успешность этой реализации  −0,125 −0, 25 0 −0,125   0,75 
зависит как от степени понимания собственно численного метода, его  −0, 0833 −0, 0833 −0, 0833 0   1, 25 
возможностей и границ применения, так и от уровня владения сред-
ствами программирования.
Для решения стандартных задач инструментальным средством
1.3.2. Табличное представление задачи
реализации численных методов может являться пакет MsExcel. При Размещение исходных данных на  листе Excel представлено
наличии достаточного числа книг, посвященных Microsoft® Excel, в табл. 1.1.
22 •Глава 1. Введение в численные методы линейной алгебры •23
1.3.  Реализация итерационных методов решения систем линейных уравнений

 Таблица 1.1 можно заполнить, транспонировав столбец G2:G5. Для этого выделя-
ем ячейки В8:D8, ставим знак «=» и вызываем функцию ТРАНСП, ис-
пользуя вкладку «Формулы» и  кнопку «Вставить функцию» раздела
библиотека функций (рис. 1.1).
 Таблица 1.2

Коэффициенты матрицы С размещаются в диапазоне ячеек B2:E5,


свободные коэффициенты b в столбце G2:G5.
Решим задачу методом Зейделя. Условие сходимости метода вы-
полнено, так как
4
С ∞ = max
i = 1, ,4
∑ cij = max{0, 6; 0,5715; 0,5; 0, 2499} = 0,5715 < 1
j =1 Знак «=» обозначает начало формулы. Формулы в Excel всегда на-
В  качестве начального приближения выберем вектор b Оценим чинаются со  знака равенства «=», который означает, что дальше по-
k +1 следует выражение, позволяющее выполнять вычисления, возвращать
С данные, манипулировать содержимым других ячеек, проверять усло-
необходимое количество итераций по  формуле x 0 < ε В  на-
1− C вия и тд.
шем случае это условие перепишется в виде

0,6k +1 5 − lg16
2,5 < 0, 001 ⇒ k + 1 > ≈ 17,11
0, 4 1 − lg 6
Таким образом, заданная точность гарантированно достигается
за  17 итераций при использовании метода простых итераций, метод
Зейделя сходится быстрее.
Рассмотрим реализацию метода Зейделя в Excel.

1.3.3. Реализация метода Зейделя в Excel


Организуем таблицу для текущих вычислений (строки 7—8
в табл. 1.2), включающую номер итерации k (ячейка А7), текущее зна-
Рис. 1.1
чение переменных x (ячейки В7:D7 с заголовками x1k, x2k, x3k, x4k),
а также ячейку, содержащую параметр epsilon, характеризующий точ- Вызов этой функции приводит к появлению диалогового окна Ар-
ность вычислений (F7). В эту таблицу будут записываться результаты гументы функции (рис.  1.2). В  окно Массив вводится столбец b, для
вычислений на каждом шаге. этого достаточно выделить этот столбец, удерживая правую кнопку
Первую строку таблицы, соответствующую нулевой итерации, за- мыши, или ввести в окно G2:G5. После этого нажимаем комбинацию
полним исходя из  того, что в  качестве начального приближения вы- Ctr+Shift+Enter.
брали вектор b (табл. 1.2). Далее переходим к следующей строке. В ячейку А9 ставим 1. Ячей-
Ячейка А8 — номер итерации — 0. В ячейках В8:D8 начальное при- ки В9:Е9 заполняем согласно итерационной схеме метода Зейделя:
ближение х1 = 1,4; х2 = 2,4286; х3 = 0,75; х4 = 1,25. Точность начального В В9 вставляем формулу: =$B$2*B8+$C$2*C8+$D$2*D8+$E$2*E8+
приближения не определена, поэтому ячейка F7 пустая. Строку В8:D8 $G$2;
24 •Глава 1. Введение в численные методы линейной алгебры •25
1.3.  Реализация итерационных методов решения систем линейных уравнений

В С9 — формулу: =$B$3*B9+$C$3*C8+$D$3*D8+$E$3*E8+$G$3;


В D9 — формулу: =$B$4*B9+$C$4*C9+$D$4*D8+$E$4*E8+$G$4;
В Е9 — формулу: =$B$5*B9+$C$5*C9+$D$5*D9+$E$5*E8+$G$5.

Рис. 1.2 Рис. 1.3

Знак «$» указывает на  неизменяемую при копировании формулы Вызов этой функции приводит к появлению диалогового окна «Ар-
ячейку. Например, ячейка В2 не должна изменяться при копировании гументы функции» (рис. 1.4).
формулы, так как это коэффициент исходной системы, который оста-
ется неизменным, поэтому пишем $B$2, а ячейка В8 должна на следу-
ющем шаге итерационого процесса изменится на  В9, поэтому В8 за-
писываем без знака «$».
Получим следующую таблицу:
 Таблица 1.3

Рис. 1.4

В окно Число1 впишем через точку с запятой модули разностей зна-


чений каждой переменной, полученных во время этой и предыдущей
1 0 1 0
В ячейку G9 записываем значение величины x − x = max xi − xi итераций. Модуль числа находится с пощью функциии ABS.
i = 1, , 3 Итак, в окне Число1 вызываем функцию ABS — первую в полном
с помощью формулы: алфавитном указателе (рис. 1.5).
Вызов функции ABS приводит к появлению диалогового окна «Ар-
=МАКС(ABS(B9-B8);ABS(C9-C8);ABS(D9-D8);ABS(E9-E8)).
гументы функции» (рис. 1.6).
Для того чтобы написать последнюю формулу, вызываем функцию В  окно Число вводится выражение В9-В8, которое представляет
МАКС, используя вкладку «Формулы» и  кнопку «Вставить функцию» собой разность значений переменной х1, полученных на первом и ну-
раздела библиотека функций. Искомая функция находится в разделе левом шаге. После этого нажимаем «ОК» и возвращаемся к функции
«Статистические» (рис. 1.3). МАКС.
26 •Глава 1. Введение в численные методы линейной алгебры •27
1.3.  Реализация итерационных методов решения систем линейных уравнений

Для того чтобы выполнить следующие итерации, выделим строку


А9:G9 и, потянув за правый нижний угол, растянем ее на необходимое
число шагов (табл. 1.5).
 Таблица 1.5

Рис. 1.5

Отпускаем курсор, получаем окончательный результат (табл. 1.6).


 Таблица 1.6

Рис. 1.6

В ячейке G9 сейчас записано выражение =МАКС(ABS(B9-B8)). Ста-


вим курсор перед последней скобкой и через точку с запятой набираем
три оставшихся аргумента функции МАКС, а  именно ABS(C9-C8),
ABS(D9-D8) и  ABS(Е9-Е8), соответствующие переменным х2
и  х3. В  результате в  ячейке G9 получаем формулу: =МАКС(ABS(B9-
B8);ABS(C9-C8);ABS(D9-D8);ABS(E9-E8)).
Все поля 9 строки заполнены, таблица выглядит следующим об- Неоходимая точность достигнута уже на 4 шаге. Искомое решение
разом: х1 = 1, х2 = 2, х3 = 0, х4 = 1.
 Таблица 1.4
•29
2
2.1.  Собственные векторы и собственные значения неотрицательных матриц

Глава обозначается PA и называется правым вектором Фробениуса матрицы А,


поскольку удовлетворяет условию:

Неотрицательные ( pA )T A = λ A ( pA )T
матрицы и линейные Пример 2.1. Найти число и вектор Фробениуса матрицы
 3 5
экономические модели A=
 5 3
Решение. Составив характеристическое уравнение для матрицы A
3−λ 5
2.1. Собственные векторы и собственные = 0,
5 3−λ
значения неотрицательных матриц
найдем ее собственные значения: λ1 = 8, λ2 = –2 и соответствующие
Определение 2.1. Матрица A  = (aij) называется неотрицательной собственные вектора x1 = (t, t)T и x2 = (t, –t)T, где t ≠ 0. Таким образом,
(A ≥ 0), если ее элементы неотрицательны: aij ≥ 0. Если все элементы матрица A имеет число Фробениуса λА = 8 и вектор Фробениуса xA = .
матрицы A положительны, то  она называется положительной: A > 0. = (t, t)T, t > 0. При этом, очевидно, выполняется неравенство λ A > λ 2
Соответственно, вектор x = (x1, x2, …, xn) ∈ Rn называется положитель- Пример 2.2. Пусть x > 0  — собственный вектор матрицы А. Дока-
ным (неотрицательным), если все его компоненты xi > 0 (xi ≥ 0). зать, что он является вектором Фробениуса.
Определение 2.2. Неотрицательная квадратная n×n матрица А назы- Решение. Имеем
вается разложимой, если одновременной перестановкой строк и столб- Ax = λx
цов ее можно привести к виду:
Умножим это равенство справа на правый вектор Фробениуса (pA)T:
B C
A=
0 D 
, ( pA )T Ax = λ (( pA )T x )
где 0 — нуль-матрица, а B и D — квадратные матрицы размеров r×r и (n – r)× Получаем
× (n – r) соответственно; в противном случае матрица называется неразложимой.
λ A (( pA )T x ) = λ (( pA )T x )
Заметим, что любая положительная матрица неразложима.
У  неотрицательных матриц существует собственное значение T
Так как x > 0, то  pA x = p1 x1 + pn xn > 0 Разделим последнее равен-
и собственный вектор, обладающие специальными свойствами.
Теорема 2.1 (Фробениуса — Перрона). Неотрицательная матрица А ство на pTA x,
находим λ = λA. Следовательно, x является вектором Фро-
имеет такое собственное значение λA ≥ 0, что λ A ≥ λ для любого соб- бениуса.
ственного значения λ матрицы А.  Кроме того, существует неотрица- Пример 2.3. Найти число Фробениуса матрицы A ≥ 0, если сумма
тельный собственный вектор xA, соответствующий собственному чис- элементов любой строки A равна α > 0.
лу λA. Причем, если А неразложима, то λA > 0 и существует xA > 0. Решение. Заметим, что условие задачи можно записать в  виде ма-
Определение 2.3. Собственное значение λA ≥ 0 неотрицательной ма- тричного равенства
трицы A называется числом Фробениуса, а  собственный вектор xA ≥  a11  a1n   1   α 
0 — вектором Фробениуса матрицы A.       = 
Так как собственные значения матриц А  и  АТ совпадают, то  числа     
Фробениуса данных матриц равны. Вектор Фробениуса матрицы АТ  an1  ann   1   α 
30•Глава 2. Неотрицательные матрицы •31
2.2.  Балансовые модели и их продуктивность

А так как (α, …, α)T = α(1, …, 1)T, то α > 0 — собственное значение 6.  Докажите, что если сумма элементов любой строки (столбца)
матрицы A с  собственным вектором (1, …, 1), который является по- матрицы A ≥ 0 меньше (больше) α > 0, то число Фробениуса матрицы
ложительным, а следовательно, является вектором Фробениуса. Таким меньше (больше) α.
образом, λA = α и xA = (t, …, t)T, t > 0. 7.  Докажите, что если A ≥ B > 0, то  λ A ≥ λ B
Заметим, что задача из  примера 2.1 удовлетворяет условию при-
8.  Пусть A > 0, докажите, что (λA)k является число Фробениуса (A)k.
мера 2.3 и может быть решена, используя доказанное выше свойство.
9.  Пусть λA  — число Фробениуса матрицы A ≥ 0, докажите, что
Оказывается, верно и более общее утверждение.
αλA + β есть число Фробениуса матрицы αA + βE (α, β > 0).
Теорема 2.2. Если сумма элементов любой строки или любого
10.  Докажите, что число Фробениуса λA неотрицательной матри-
столбца неотрицательной матрицы A равна α, то ее число Фробениуса
цы А удовлетворяет условиям:
λA = α.
Пример 2.4. Пусть R1 ≤ λ A ≤ R2 ,
 1 1 3  1 0 2 где R1 и  R2  — соответственно минимум и  максимум сумм элементов строк
A =  2 0 3   и  B =  3 0 0 . (столбцов). Причем, если матрица А неразложима, то все неравенства строгие,
   
 3 5 0 за исключением случая, когда R1 = R2.
 1 1 1
Тогда λA  = 6, так как суммы элементов каждого столбца равны 6, 11.  Докажите, что квадратная матрица А  размера 2×2 разложима
и λB = 3, так как суммы элементов любой строки равны 3. тогда и только тогда, когда либо а12 = 0, либо а21 = 0.
12.  Докажите (приведите контрпример), что из  неразложимости
Задачи для самостоятельного решения матрицы A в общем случае не следует неразложимость матрицы (А)2.
1.  Найдите число и вектор Фробениуса матрицы A, если 13.  Докажите, что если матрица A ≥ 0 неразложима, то кроме век-
тора xA (определенного с  точностью до  положительного множителя)
 2 3 0  1 3 4
у нее нет других неотрицательных собственных векторов.
а)  A = 3 2 0 ;   б)  A =  8 0 0
 
   
 0 0 7  2 3 3
2.  Найдите число и вектор Фробениуса данной матрицы: 2.2. Балансовые модели и их продуктивность
 3 1 0  1 1 0  2 4 5  2 3 3
а)  0 3 1 ;   б)  1 1 0 ;   в)  4 1 1 ;   г)   0 1 0
      Пусть производственный сектор экономики состоит из n отраслей,
        каждая из которых производит однородный продукт. Обозначим xij —
 0 0 3  0 0 0  2 3 2  2 0 1
объем продукции i-й отрасли, используемой в отрасли j; xj — валовой
3.  Найти левый и правый векторы Фробениуса матриц:
выпуск отрасли j.
 2 1  3 1
а)  A =  ;   б)  A =  xij
 4 2  6 4 Рассмотрим матрицу Леонтьева A = (aij), где aij =  — стоимость
xj
4.  Найти число Фробениуса разложимой матрицы
продукции отрасли i, затрачиваемой на производство единицы (стои-
B C
A= , мости) продукции отрасли j. Элементы aij матрицы A называют коэф-
 0 D  фициентами прямых затрат.
если известны числа Фробениуса матриц B и D. Пусть x = (x1, x2, …, xn)T — вектор валового выпуска всех отраслей,
5.  Найдите число Фробениуса данной матрицы: а d = (d1, d2, …, dn)T — вектор конечного потребления. Тогда уравнение
 3 2 0  1 2 0  2 4 2  2 3 0 межотраслевого баланса (уравнение Леонтьева) в  матричной форме
а)   1 2 0  ;   б)   1 1 1  ;   в)   1 1 1 ;   г)   2 1 0 имеет вид:
       
 0 0 5  0 3 0  2 0 2  0 0 1 x = Ax + d (2.1)
32•Глава 2. Неотрицательные матрицы 2.2.  Балансовые модели и их продуктивность •33
Если известна матрица Леонтьева A и объемы конечного потребле- Двойственной к  модели Леонтьева является модель равновесных
ния d, то, используя уравнение (2.1), можно найти планируемые объ- цен, которая описывается равенством
емы валового выпуска x всех отраслей производства. Действительно,
p = A T p + v, (2.2)
при условии невырожденности матрицы (E – A) (2.1) можно перепи-
сать в виде T
где p = (p1, …, pn)  — вектор цен, где pi — цена единицы продукции i-й отрасли,
а v = (v1, …, vn)T — вектор норм добавленной стоимости.
x = ( E − A)−1 d
При этом, как легко показать, если известен вектор v, то цены на-
Определение 2.4. Матрица H = (E – A)–1 называется матрицей коэф- ходятся из уравнения
фициентов полных затрат. p = H T v. (2.3)
Основной результат балансового анализа можно представить в виде Пример 2.6. В трехотраслевой балансовой модели дана матрица Ле-
равенства онтьева
x = Hd  0,1 0,1 0, 2
A =  0,3 0, 2 0, 2
Пример 2.5. Пусть в двухотраслевой модели дана матрица Леонтье-  
 0, 2 0,5  0, 2 0, 2 0, 4
ва A =  и вектор конечного потребления d = (50; 30)T.
 0,3 0,1 и вектор норм добавленной стоимости по каждой отрасли v = (3, 6, 9).
Найти объемы валового выпуска каждой отрасли. На  сколько Найти равновесные цены и изменение равновесных цен при увеличе-
процентов должны измениться объемы валового выпуска каждой нии нормы добавленной стоимости второй отрасли на 15%.
отрасли, если нужно удвоить выпуск конечного продукта второй Решение. Найдем матрицу полных затрат H
отрасли? −1
 0,9 −0,1 −0, 2  4 /3 10 /33 6/11 
 0, 2 0, 4  0,8 −0, 4
Решение. Так как A =  , то  E − A =  и  H  = . H = ( E − A)−1 =  −0,3 0,8 −0, 2 =  2/3 50 /33 8/11 
 0,3 0,1  −0,3 0, 9     
 −0, 2 −0, 2 0, 6   2/3 20 /33 23/11
1  0, 9 0, 4  3/ 2 2/3
= ( E − A)−1 = =
0, 6  0,3 0,8  1/ 2 4 /3 Отсюда, согласно (1.3),
Тогда вектор валового выпуска равен  4 /3 2 /3 2/3   3  14 
 3/ 2 2/3  50  95 p = 10 /33 50 /33 20 /33  6 =  170 /11

x = Hd =  =     
 1/ 2 4 /3  30  65  6 /11 8/11 23/11  9  273/11
Таким образом, валовой выпуск первой отрасли равен 95, вто- После изменения нормы добавленной стоимости второй отрасли
рой 65. находим равновесные цены в этом случае
Если d = (50; 60)T, то новый валовой выпуск находится аналогично:
 4 /3 2 /3 2/3   3   73/5 
 3/ 2 2/3  50 115 p = 10 /33 50 /33 20 /33  6, 9 =  185/11 

x = Hd =  =     
 1/ 2 4 /3  60 105  6 /11 8/11 23/11  9  1401/55
Таким образом, при изменении вектора конечного потребле- Таким образом, продукция первой отрасли подорожала примерно
ния объем валового выпуска первой отрасли увеличивается на  на 14,29%, второй — на 8,82%, третьей — на 2,64%.
115 − 95 105 − 65 Матрица A ≥ 0 называется продуктивной, если для любого вектора
⋅100% ≈ 21, 05%, а второй отрасли — на  ⋅100% ≈ 61,54%
95 65 y ≥ 0 существует решение x ≥ 0 уравнения Леонтьева x = Ax + y.
34 •Глава 2. Неотрицательные матрицы •35
2.2.  Балансовые модели и их продуктивность

Теорема 2.3 (первый критерий продуктивности). Матрица A ≥ 0 про- Решение. Найдем характеристический многочлен матрицы A:
дуктивна тогда и только тогда, когда матрица (E – A) – 1 существует a − λ 2a 0
и неотрицательна. A − λE = 2a a − λ 0 =
Теорема 2.4 (второй критерий продуктивности). Неотрицательная
квадратная матрица A продуктивна тогда и только тогда, когда ее число 7a 6a 9a − λ
Фробениуса меньше единицы. = (9a − λ)((a − λ)2 − 4a 2 ) = (9a − λ)( λ 2 − 2aλ − 3a 2 ).
Следствие 2.1. Если сумма элементов любого столбца (или любой
строки) матрицы A ≥ 0 меньше либо равна 1, и хотя бы у одного столбца Корнями характеристического уравнения являются числа λ1 = 9a,
(строки) сумма элементов строго меньше 1, то матрица A продуктивна. λ2 = 3a и λ3 = –a. Таким образом, так как a > 0, числом Фробениуса
Используя следствие 2.1, легко доказать продуктивность некоторых матрицы A будет λA = 9a.
 0,1 0, 2 0,5 Для продуктивности матрицы A, согласно теореме 2.4, необходимо
1
матриц. Например, матрица A =  0,3 0,6 0,1  продуктивна, так как и  достаточно, чтобы выполнялось условие 9a < 1, т.е. a < Число
  9
 0,6 0, 2 0,3 1 1
a= удовлетворяет последнему условию, и при a = получим про-
сумма элементов первых двух столбцов равна 1, а последнего меньше 1. 10 10
Следствие 2.2. Если для неотрицательной матрицы A и некоторого  0,1 0, 2 0 
положительного вектора y* уравнение x = Ax + y* имеет неотрицатель- дуктивную матрицу A =  0, 2 0,1 0 
 
ное решение x*, то матрица A продуктивна.  0, 7 0, 6 0, 9
Пусть A ≥ 0 — продуктивная матрица. Запасом продуктивности ма-  0,1 0, 6
Пример 2.9. Найти запас продуктивности матрицы A = 
трицы A называется такое число α > 0, что все матрицы λA, где 1 < λ < .  0,8 0,3
< 1 + α, продуктивны, а матрица (1 + α) A непродуктивна. Запас про- Решение. Так как сумма каждого из столбцов матрицы A равна 0,9,
дуктивности α матрицы A можно найти по формуле то ее число Фробениуса равно λA = 0,9. Запас продуктивности можно
α = λ −A1 − 1 (2.4) найти по формуле (2.4):

 0,1 0, 6 α = λ −A1 − 1 = 10 / 9 − 1 = 1 / 9
Пример 2.7. Исследовать на продуктивность матрицу A = 
1, 0 0,3 Если в уравнении (2.1) положить d = 0, т.е.
Решение. Последовательно находим
 0,9 − 0,6 x = Ax, (2.5)
E − A=
 −1, 0 0,7 то  полученное уравнение называется уравнением линейного обмена.
Тогда Если при этом матрица A такова, что сумма элементов каждого столб-
ца равна 1, то  описываемая уравнением модель называется моделью
1  0, 7 0, 6  70 /3 20
( E − A)−1 = = международной торговли. Как следует из уравнения (2.5), нахождение
0, 03  1, 0 0, 9 100 /3 30 равновесного вектора национальных доходов x = (x1, x2, …, xn)T в моде-
Матрица (E  – A)–1 неотрицательна, и, следовательно, по  теоре- ли международной торговли сводится к нахождение вектора Фробени-
ме 2.3 матрица A продуктивна. уса матрицы A.
Пример 2.8. Выяснить, при каких значениях a > 0  матрица Пример 2.10. Пусть структурная матрица торговли имеет вид
 1 2 0  0,7 0,6 0 
А = a  2 1 0 будет продуктивной. Является ли матрица A продук- A =  0, 2 0, 2 0, 4 Определим равновесное распределение нацио-
   
 7 6 9  0,1 0, 2 0, 6
тивной при a = 0,1? нальных доходов. Уравнение (2.5) в данном случае равносильно системе:
36•Глава 2. Неотрицательные матрицы •37
2.2.  Балансовые модели и их продуктивность

0,7 x1 + 0,6 x2 = x1; б)  Пусть произошло увеличение нормы добавленной стоимости

0, 2 x1 + 0, 2 x2 + 0, 4 x3 = x2 ; первой отрасли на 1,1. На сколько процентов возрастут равновесные
0,1x + 0, 2 x + 0,6 x = x .
 1 2 3 3 цены каждой отрасли?
19.  Используя первый критерий продуктивности матрицы, иссле-
Решив ее, находим, что x1 : x2 : x3 = 2 : 1 : 1, т.е. xA = k(2; 1; 1), k > 0. дуйте на продуктивность матрицу A:
 0,5 0, 2 0,3  0,3 0,5 0,1
 0,5 0,6
Задачи для самостоятельного решения а) A =  ;   б) A = 0,3 0,5 0, 2 ;   в) A =  0,5 0, 2 0,3
 
 0, 4 0,5    
14.  Дана балансовая таблица в двухотраслевой модели  0, 2 0, 4 0,5  0, 2 0, 4 0,5

Потребители 20.  Используя второй критерий продуктивности, исследуйте


Производители Потребление Валовой выпуск на продуктивность матрицу A
I II
I 15 60 25 100  0,1 0 0,5  0,1 0,3 0,5  0,5 0,5 0,1
II 25  5 20   50 а) A = 0,3 0,8 0, 2 ;   б) A = 0,3 0, 4 0, 2 ;   в) A =  0,3
    0, 4 0,5
     
Постройте структурную матрицу и  рассчитайте валовой выпуск  0,5 0,1 0, 2  0,7 0,1 0,1   0, 2 0, 4 0,5
на новый вариант потребления: d = (20, 25). 21.  Выясните, при каких значениях a > 0 матрица A продуктивна:
15.  Для балансовой таблицы
 1 2 4
Производители
Потребители
Потребление Валовой выпуск A = a  3 2 5 ;
I II  
 0 0 6
I  5 60 35 100
II 25  5 20   50 22.  Докажите, что уравнение Леонтьева (2.1) равносильно уравне-
III 50 10  —   60 нию линейного обмена:
рассчитайте выпуск загрязняющих веществ, соответствующий вари-  A d   x  x
анту потребления d = (45, 15).  0 1   1  =  1 
16.  Приведите пример продуктивной матрицы A, для которой одна
из отраслей нерентабельна. 23.  Найдите равновесный вектор национальных доходов для моде-
17.  В двухотраслевой модели дана матрица Леонтьева A и вектор ко- ли международной торговли со структурной матрицей
 0, 4 0, 2   0,5 0,3 0,6
нечного потребления d: A =  , d  = (90, 45)T. Найдите соот-
 0,3 0,15 А =  0, 2 0, 4 0, 2
ветствующие объемы валового выпуска каждой отрасли. Если выпуск  
 0,3 0,3 0, 2
конечного продукта второй отрасли удваивается, то на сколько процен-
тов должны измениться объемы валового выпуска каждой отрасли?
18.  Для трехотраслевой балансовой модели дана матрица Леонтье-

ва A и вектор норм добавленной стоимости по каждой отрасли v:
 0, 2 0,1 0, 2

A =  0,1 0,3 0, 2 ,   v = (10; 2; 6)
 
 0, 2 0, 2 0,3
а)  Найдите равновесные цены.
•39
3
3.1.  Постановка задачи линейного программирования

Глава Таким образом, целевая функция задачи (3.1) имеет вид


f = c1 x1 + c2 x2 +  + cn xn + c0
Линейное программирование и является линейной функцией, а система ограничений задает в про-
странстве Rn выпуклое многогранное множество M.
Замечание 3.1. Заметим, что нетривиальные ограничения типа не-
равенств, т.е. вида ai1 x1 + ai 2 x2 +  + ain xn ≥ bi , сводятся к  условию
В главе рассматриваются постановка задачи, примеры и основные ai1 x1 + ai 2 x2 +  + ain xn ≤ bi умножением на (–1), а условие типа равенств
методы решения задач линейного программирования. Для задач ли- ai1 x1 + ai 2 x2 +  + ain xn = bi можно представить как систему ограничений
нейного программирования существует универсальный метод реше-
ния — симплекс-метод, который приводит к точному решению задачи. ai1 x1 + ai 2 x2 +  + ain xn ≤ bi , ai1 x1 + ai 2 x2 +  + ain xn ≤ bi ,
   или  
ai1 x1 + ai 2 x2 +  + ain xn ≥ bi , −ai1 x1 − ai 2 x2 −  − ain xn ≤ −bi ,
При этом задачи оптимизации f (x) → max и f (x) → min также сво-
3.1.  Постановка задачи линейного дятся друг к другу умножением на (–1), поэтому в дальнейшем при об-
программирования щей постановке задачи мы будем, не нарушая общности рассуждений,
рассматривать одно из них.
Пусть M  — некоторое множество, точка x ∈ M и  f (x)  — функция Задачу линейного программирования можно записать в матричном
на M. Тогда задача виде: введем строку C = (c1, c2, …, cn,), столбец (индекс обозначает транс-
f ( x ) → max(min), x ∈ M , понирование), матрицу A(aij) размера m×n и столбец B = (b1, b2, …, bm)T.
Тогда задача линейного программирования может быть записана
называется задачей оптимизации, множество M — допустимым мно- в виде:
жеством, а  функция f (x)  — целевой функцией. Точку xmax или xmin,
f = CX + c0 → max
в  которой достигается оптимальное значение, называют оптималь-
ным решением, а множество всех оптимальных точек X * — оптималь-  AX ≤ B, (3.2)
ным множеством. 
X ≥ 0
Задача линейного программирования является важным частным
Если система ограничений состоит только из уравнений и триви-
случаем общей задачи оптимизации и имеет вид:
альных неравенств, то говорят, что задача имеет каноническую форму.
f = c1 x1 + c2 x2 + …+ cn xn + c0 → max(min) Если же в системе ограничений имеются только неравенства, то гово-
a11 x1 + a12 x2 + …+ a1n xn ⋅ b1, рят о стандартной форме задачи линейного программирования. В за-
a x + a x + …+ a x ⋅ b , висимости от метода решения, задачу необходимо привести к канони-
 21 1 22 2 2n n 2
(3.1) ческой или стандартной форме.
... Пример 3.1. Привести к  канонической форме задачу линейного
a x + a x + …+ a x ⋅ b , программирования:
 m1 1 m2 2 mn n m

 x1 ≥ 0, x2 ≥ 0, …, xn ≥ 0; z = 4 x1 + 8 x2 − 10 x3 − 3 x4 − x5 → max
где «⋅» означает «≥», «≤» или «=». При этом условия типа  x1 − 3 x2 + x3 − 4 x4 ≤ 11,
3 x + 3 x − x + 8 x = 15,
ai1 x1 + ai 2 x2 + …+ ain xn ⋅ bi , i = 1, …, m,  1 2 3 5

10
 1 x + 8 x + 4 x − 3 x4 − 2 x5 ≥ 25,
называются нетривиальными ограничениями, а  условия xj ≥ 0, j  = 1, 2 3

…, n, — тривиальными ограничениями (они могут отсутствовать).  xi ≥ 0, i = 1, …, 5


•Глава 3. Линейное программирование
40 •41
3.2.  Примеры задач линейного программирования

Решение. Согласно входящим в ограничения неравенствам, можно получим задачу в стандартной форме, равносильную исходной:
ввести балансовые переменные x6 ≥ 0, x7 ≥ 0 такие, что эти неравенства
z = 3 x3 − x4 + 1 → max
приводятся к виду:
x1 − 3 x2 + x3 − 4 x4 + x6 = 11,  x3 + x4 ≤ 2,

10 x1 + 8 x2 + 4 x3 − 3 x4 − 2 x5 − x7 = 25 2 x3 − x4 ≤ 1,
 x ≥ 0, x ≥ 0
и исходная задача переписывается в канонической форме:  3 4

z = 4 x1 + 8 x2 − 10 x3 − 3 x4 − x5 → max
 x1 − 3 x2 + x3 − 4 x4 + x6 = 11,
3.2.  Примеры задач линейного
3 x + 3 x − x + 8 x = 15,
 1 2 3 5
программирования

 10 x1 + 8 x 2 + 4 x3 − 3 x4 − 2 x5 − x7 = 25, Рассмотрим примеры задач, математическая модель которых сво-
 xi ≥ 0, i = 1, …, 5 дится к задаче линейного программирования.
Пример 3.2. Привести к стандартной форме задачу линейного про- Пример 3.3 (задача о банке). Пусть собственные средства банка со-
граммирования ставляют 400 у.е. Часть этих средств, но не менее 200 у.е., должна быть
z = x1 − x2 + 4 x3 + x4 → max размещена в  кредитах, а  вложения составлять не  менее 30% средств,
размещенных в кредиты и ценные бумаги. Если c1 — доходность кре-
 x1 + 2 x2 + 5 x3 − x4 = 4, дитов, а c2 — доходность ценных бумаг (как правило, c1 > c2), то каким

 x1 − x2 − x3 + 2 x4 = 1, должно быть размещение средств, чтобы прибыль банка была макси-
 x ≥ 0, i = 1,… …, 4 мальной?
 i
Решение. Если x1 — средства, размещенные в кредиты, а x2 — сред-
Решение. В системе нетривиальных ограничений ства, вложенные в ценные бумаги, то прибыль банка можно записать
 x1 + 2 x2 + 5 x3 − x4 = 4, в виде f = c1x1 + c2x2. Учитывая ограничения на средства банка, объемы
 размещения в  кредиты и  ликвидное ограничение, получим следую-
 x1 − x2 − x3 + 2 x4 = 1 щую задачу линейного программирования:
выделим (методом Гаусса) базисные и свободные переменные:
f = c1 x1 + c2 x2 → max
1 2 5 −1 4  1 2 5 −1 4   1 0 1 1 2  x1 + x2 ≤ 400,
1 −1 −1 2 1   0 −3 −6 3 −3   0 1 2 −1 1  x ≥ 200,
 1
В полученной системе 
 x2 ≥ 0,3( x1 + x2 ),
 x1 + x3 + x4 = 2,  x1 ≥ 0, x2 ≥ 0

 x2 + 2 x3 − x4 = 1 Пример 3.4 (транспортная задача). На двух складах A1 и A2 име-
выразим базисные неизвестные ется 70 и 120 т некоторого товара. Потребности магазинов B1, B2,
B3 в этом товаре равны 50, 80 и 60 т соответственно. Тарифы пере-
2 − x3 − x4 = x1 ≥ 0,  2 13 8
 возок заданы матрицей C =  ; c ij  — стоимость перевозки
1 − 2 x3 + x4 = x2 ≥ 0  7 10 5
Исключив их из целевой функции одной­ тонны (единицы) товара со  склада A i в  магазин B j. Найти
план перевозок товара со складов в магазины минимальной стои-
z = x1 − x2 + 4 x3 + x4 = 2 − x3 − x4 − (1 − 2 x3 + x4 ) + 4 x3 + x4 = 3 x3 − x4 + 1, мости.
42 •Глава 3. Линейное программирование •43
3.2.  Примеры задач линейного программирования

Решение. Пусть xij — количество товара (т), предназначенное к пе- Решение. Данные задачи удобно представить в виде табл. 3.2 (x1, x2 —
ревозке со склада i в магазин j. Матрица перевозок необходимое количество яблок и абрикосов).
 x11 x12 x13   Таблица 3.2
X =
 x21 x22 x23  x1  1 30   60
определяет план перевозок. x2 24 45 120
Замечание 3.2. В данном случае суммарные запасы (70 + 120 = 190)  3 80
равны суммарным потребностям (50 + 80 + 60 = 190). Такая задача на-
зывается транспортной задачей с правильным балансом, т.е. все товары Тогда условие получения необходимого количества витаминов А
со складов должны быть вывезены, а потребности магазинов — полно- и С можно записать в виде:
стью удовлетворены. 1 ⋅ x1 + 24 x2 ≥ 3,
Условия приводят к уравнениям 30 x1 + 45 x2 ≥ 80,
x11 + x21 = 50,
x11 + x12 + x13 = 70, а стоимость купленных продуктов равна f = 60x1 + 120x2. Получаем за-
  и  x12 + x22 = 80,
x21 + x22 + x23 = 120 дачу линейного программирования в стандартной форме:
x13 + x23 = 60
f = 60 x1 + 120 x2 → min
Суммарная стоимость перевозок определяется функцией
 x1 + 24 x2 ≥ 3,
f = ∑ cij xij = 2 x11 + 13 x12 + 8 x13 + 7 x21 + 10 x22 + 5 x23 
30 x1 + 45 x2 ≥ 80,
В  итоге получаем каноническую задачу линейного программиро-  x ≥ 0, x ≥ 0
 1 2
вания:
Пример 3.6 (задача об использовании ресурсов). Для изготовления
f = 2 x11 + 13 x12 + 8 x13 + 7 x21 + 10 x22 + 5 x23 → min
двух видов продукции P1 и P2 используются три вида ресурсов R1, R2,
 x11 + x12 + x13 = 70,  2 3
 x + x + x = 120,
 21 22 23 R3. Пусть A =  5 2  — матрица норм расхода сырья, где aij — количе-
 
 x11 + x21 = 50,  4 8

 x12 + x22 = 80, ство ресурса Ri (кг), необходимого для производства единицы продук-
 x13 + x23 = 60, та Pj. Известно, что доход от реализации единицы продукта P1 состав-
 ляет 20 у.е., а  от  реализации единицы продукта P2  — 25 у.е. Запасы
 xij ≥ 0, i = 1, 2; j = 1, 2, 3
ресурсов R1, R2, R3 соответственно равны 300, 450 и 350 кг. Найти план
Пример 3.5 (задача о диете). Известно, что 1 кг яблок стоит 60 руб., производства, максимизирующий доход предприятия от  реализации
а  1  кг абрикосов  — 120  руб. Сколько яблок и  абрикосов должен по- выпускаемой продукции.
треблять человек в сутки, чтобы получить не менее 80 мг витамина С Решение. Если x1, x2 — план выпуска продукции P1, P2, то доход от ее
и не менее 3 мг витамина А при минимальных затратах средств? Со- реализации определяется функцией f = 20x1 + 25x2. В силу ограничен-
держание витаминов А и С в яблоках и абрикосах указано в табл. 3.1. ности ресурсов имеем следующую систему нетривиальных ограниче-
ний:
 Таблица 3.1
Продукт А (мг / кг) С (мг / кг) 2 x1 + 3 x2 ≤ 300,

Яблоки  1 30 5 x1 + 2 x2 ≤ 450,
Абрикосы 24 45 4 x + 8 x ≤ 350
 1 2
44 •Глава 3. Линейное программирование •45
3.3.  Графический метод решения задач линейного программирования

Таким образом, получаем следующую задачу линейного програм- вий задачи вытекают следующие ограничения на  неизвестные x1,
мирования: x2, …, x6:
f = 20 x1 + 25 x2 → max 2 x1 + x3 + x5 ≥ 15,
2 x + x + x ≥ 35,
2 x1 + 3 x2 ≤ 300,  2 5 6
5 x + 2 x ≤ 450, 
 1 2  3x + 3 x 4 + 2 x 5 ≥ 60,
  xi ≥ 0, i = 1, 2, , 6
 4 x 1 + 8 x 2 ≤ 350,
 x1 ≥ 0, x2 ≥ 0 Общее количество отходов определяется функцией
T
В общем случае, если X = (x1, x2, …, xn)  — план выпуска продукции f = 10 x2 + 20 x3 + 10 x4 + 25 x5 + 5 x6
P1, P2, …, Pn, A = (aij) — матрица норм расхода сырья, C = (c1, c2, …, cn) —
вектор доходов от реализации единицы этой продукции, а B = (b1, b2, Получаем следующую стандартную задачу линейного программи-
…, bm)T — запасы ресурсов R1, R2, …, Rn, то доход предприятия от его рования:
реализации равен f = CX. f = 10 x2 + 20 x3 + 10 x4 + 25 x5 + 5 x6 → min
Модель соответсвующей задачи об использовании ресурсов имеет
2 x1 + x3 + x5 ≥ 15,
вид: 2 x + x + x ≥ 35,
 2 5 6
f = CX → max 
 3x + 3 x 4 + 2 x 5 ≥ 60,
 AX ≤ B,  xi ≥ 0, i = 1, 2, , 6

X ≥ 0
Пример 3.7. Стальные прутья длиной 100  см требуется разрезать
на  заготовки длиной 50, 45 и  30  см. Заготовок длиной 50  см должно
быть не менее 15, длиной 45 см — не менее 35, длиной 30 см — не ме-
3.3. Графический метод решения задач
нее 50. Сколько прутьев и как следует разрезать, чтобы получить необ- линейного программирования
ходимое число заготовок при минимальном количестве отходов?
Решение. Найдем сначала все возможные варианты разреза. Как Если задача линейного программирования задана в  стандартной
видно из табл. 3.3, возможны шесть вариантов. форме в R2, то для ее решения используют графический метод, кото-
рый состоит в следующем.
 Таблица 3.3 Строится допустимое множество M, заданное системой ограниче-
ний, как пересечение полуплоскостей, определяемых каждым из вхо-
Количество заготовок
Вариант разреза Отходы дящих в эту систему неравенств.
50 45 30
Если M — пустое множество, то задача решений не имеет.
x1 2  —  —  0
Если M — непустое множество, то рассматриваются линии уровня
x2  — 2  — 10 целевой функции f = c1x1 + c2x2 + c0, которые определяются как прямые
x3 1  — 1 20 вида c1x1 + c2x2 = const с общим вектором нормали n = (c1, c2), опреде-
x4  —  — 3 10 ляющим направление роста функции f.
x5  — 1 1 25 Смещая линии уровня в  направлении вектора n, находим первую
x6 1 1  —  5 ∗ ∗ ∗
точку x = ( x1 , x2 ) пересечения такой линии с  множеством M. Тогда
Пусть xi — количество прутьев, разрезаемых по каждому из ва- fmin = f (x*) является минимальным значением функции f на M. Ана-
∗ ∗ ∗
риантов. Числа x1, x2, …, x6 составляют план разреза. Тогда из усло- логично, если x = ( x1 , x2 )   — последняя точка пересечения линии
46•Глава 3. Линейное программирование •47
3.3.  Графический метод решения задач линейного программирования

уровня с  множеством M, то  fmax  = f (x*)  — максимальное значение венством, необходимо взять произвольную («пробную») точку, не ле-
функции f  на M. жащую на прямой, и проверить, удовлетворяет ли она соответствую-
Если при перемещении линии уровня в  направлении n она име- щему неравенству.
ет пересечения с  M при сколь угодно большом значении константы, Если неравенство выполняется, то оно определяет полуплоскость,
то fmax = +∞. Если же наоборот, то линии уровня имеют пересечения содержащую «пробную» точку, а если не выполняется, то его решени-
с  M при сколь угодно большом по  модулю отрицательном значении ем является другая полуплоскость.
постоянной, то fmin = –∞. Решением системы неравенств будет пересечение соответствую-
Пример 3.8. Решить графически следующую задачу линейного про- щих плоскостей. В нашем случае это треугольник ABC. Построив век-
граммирования: тор нормали n = (3, 1), убеждаемся, что решением задачи на максимум
является точка B(5, 5) и z(B) = 3 ⋅ 5 + 5 – 10 = 10.
z = 3 x1 + x2 − 10 → max
Пример 3.9. Решить графически задачу линейного программиро-
7 x1 + x2 ≥ 29, вания:
3 x + 2 x ≤ 25, z = 2 x1 + x2 + 3 x3 + x4 → max
 1 2

 4 x1 − x 2 ≤ 15,  x1 + 2 x2 + 5 x3 − x4 = 4,
 x ≥ 0 
 x1 − x2 − x3 + 2 x4 = 1,
 x ≥ 0, i = 1, …, 4
Решение. Построим допустимую область M, т.е. множество на пло-  i
скости, определяемое системой Решение. Формально задача является, вообще говоря, задачей ли-
7 x1 + x2 ≥ 29, нейного программирования в  пространстве R5, но  ее можно свести
3 x + 2 x ≤ 25, к  задаче на  плоскости R2, приведя к  стандартной форме. Исключая
 1 2
переменные x1, x2, получаем задачу

 14 x − x 2 ≤ 15,
z = − x3 + 5 → max
 x ≥ 0
 x3 + x4 ≤ 2,
Для этого построим сначала прямые l1: 7x1 + x2 = 29, l2: 3x1 + 2x2 = . 
2 x3 − x4 ≤ 1,
= 25 и l3: 4x1 – x2 = 15 на плоскости (x1, x2), а затем найдем их точки  x ≥ 0, x ≥ 0
пересечения (рис. 3.1).  3 4

Точку пересечения прямых l1, l2 на- Строим на плоскости прямые l1: x3 + x4 = 2, l2: 2x3 – x4 = 1, нахо-
ходим как решение системы уравнений дим их  точку пересечения и  в  качестве
допустимого множества получаем че-
x2 l2 l3
7 x1 + x2 = 29, x4
 тырехугольник OABC с  угловыми точ-
3 x1 + 2 x2 = 25 ками O(0, 0), A(0, 2), B(1, 1) и C(1 / 2, 0)
Получаем, что l1 ∩ l2  = A(3, 8). Ана- (рис. 3.2). l1
l2
l1
логично находим, что l2 ∩ l3  = B(5,  5) . Вектор нормали имеет координаты
B и l1 ∩ l3 = C(4, 1). n = (–1, 0), и мы видим, что оптималь- A
A
Каждая из  прямых разбивает пло- ным множеством, на  котором достига- B
n скость на  две полуплоскости, а  каждое ется максимальное значение функции z,
n
C неравенство, входящее в  систему огра- является отрезок OA, т.е. множество
C x3
x1 ничений, задает одну из  полуплоско- ∗
стей. Для того чтобы установить, какая X = (1 − t ) A + tB = (1 − t )(0, 0) + t (0, 2) =
Рис. 3.1 из  полуплоскостей определяется нера- = (0, 2t ), t ∈[0, 1] Рис. 3.2
•Глава 3. Линейное программирование
48 3.4.  Симплекс-метод решения задач линейного программирования •49
Отсюда находим: Вектор нормали имеет координаты n = (–1, 1), и, как легко видеть,
луч BC с началом в точке B является линией уровня функции z и опре-
 x1 = 2 − x3 − x4 = 2 − 2t, деляет множество, на котором z достигает минимального значения. Так

 x2 = 1 − 2 x3 + x4 = 1 + 2t как направляющим вектором луча BC является вектор m = (1, 1) ≥ 0, то
Окончательно получаем, что zmax = z(X*) = 5 при X min = B + tm = (3, 0) + t (1, 1) = (3 + t, t ), t ≥ 0,

X = (2 − 2t, 1 + 2t, 0, 2t ), t ∈[0, 1] и zmin = z(B) = 1. Кроме того, так как при движении вдоль вектора n каж-
дая линия уровня пересекается с  допустимым множеством, zmax  =  ∞.
Пример 3.10. Решить задачу линейного программирования:
Для окончательного ответа находим x3 = 0, x4 = 8 + t.
z = − x1 + x2 + 4 → min(max) Таким образом, zmin = z(Xmin) = 1 при
 x1 − x2 + x3 = 3, X min = (3 + t, t, 0, 8 + t ), t ≥ 0, zmax = ∞

−2 x1 + x2 + x4 = 2,
x ≥ 0

графическим методом.
3.4. Симплекс-метод решения задач
Решение. Выразим базисные неизвестные x3, x4 из ограничений линейного программирования
 x3 = 3 − x1 − x2 ≥ 0, Алгоритм решения задачи симплекс-методом сначала изложим

 x4 = 2 + 2 x1 − x2 ≥ 0 на конкретном примере.
Пример 3.11. Симплекс-методом решить задачу линейного про-
и получаем задачу в стандартной форме:
граммирования:
z = − x1 + x2 + 4 → min(max) z = 3 x1 − x2 − 2 x3 + 6 x4 − 10 → min
 x1 − x2 ≤ 3,  x1 + 3 x2 + 7 x3 − x4 = 6,
 
2 x1 − x2 ≥ −2,  x1 − x2 − x3 + 3 x4 = 2,
x ≥ 0 x ≥ 0
 
Построив на плоскости прямые l1: x1 – x2 = 3, l2: 2x1 – x2 = –2, на- Решение. Начальным этапом решения задачи симплекс-методом
ходим допустимое множество с  угловыми точками O(0, 0), A(0, 2) является приведение ее к  допустимому виду и  формирование сим-
и B(3, 0) (рис. 3.3). плекс-таблицы. Это означает, что задача должна быть приведена к ка-
x2 ноническому виду, в системе нетривиальных ограничений должен быть
l1
выделен допустимый базис, т.е. базисное решение должно быть неот-
l2
рицательным, или, что равносильно, все правые части — неотрицатель-
C ные числа, а из целевой функции исключены базисные переменные.
В нашем примере система ограничений уже приведена к канониче-
скому виду. Для выделения базиса используем метод Гаусса:
A
n 1 3 7 −1 6  1 3 7 −1 6 
О x1 1 −1 −1 3 2   0 −4 −8 4 −4 :(−4) 
B
 1 3 7 −1 6  1 0 1 2 3  x1 + x3 + 2 x4 = 3,
  
Рис. 3.3  0 1 2 −1 1  0 1 2 −1 1  x2 + 2 x3 − x4 = 1
50•Глава 3. Линейное программирование •51
3.4.  Симплекс-метод решения задач линейного программирования

Выражая базисные неизвестные, получим с выделенной разрешающей единицей и делаем шаг симплекс-метода
(из первой строки вычитаем вторую, а из строки оценок — разрешаю-
 x1 = 3 − x3 − 2 x4 , щую, умноженную на 3):

 x2 = 1 − 2 x3 + x4
б.п. с.ч. х1 х2 х3 х4
Подставляя их в функцию z, имеем: х1 5 / 2 1 –1 / 2 0 5 / 2
z = 3(3 − x3 − 2 x4 ) − (1 − 2 x3 + x4 ) − 2 x3 + 6 x4 − 10 = −3 x3 − x4 − 2 х2 1 / 2 0 1 / 2 1 –1 / 2
z –7 / 2 0 –3 / 2 0 5 / 2
Таким образом, получаем, что исходная задача эквивалентна задаче:
z = −3 x3 − x4 − 2 → min Замечание 3.3. Легко видеть, что шаг симплекс-метода во  многом
сходен с итерацией метода Гаусса. Отличие состоит в том, что разре-
 x1 + x3 + 2 x4 = 3, шающий элемент выбирается не  произвольно, а  согласно изложен-

 x2 + 2 x3 − x4 = 1, ным выше правилам, которые гарантируют то, что вновь полученная
x ≥ 0 таблица имеет допустимый вид.

Из  симплекс-таблицы видно, что базисным решением является
Переписываем z в виде z + 3x3 + x4 = –2 и формируем симплекс-
x = (5 / 2, 0, 1 / 2, 0) и z(x) = –7 / 2. Так как в строке оценок снова есть
таблицу:
положительный элемент (коэффициент при x4), то  решение можно
б.п. с.ч. x1 х2 х3 х4 улучшить. Выбор разрешающего столбца теперь однозначен (отвечает
х1 3 1 0 1 2 переменной x4), так же как и выбор разрешающей строки — в столбце
х2 1 0 1 2 –1 единственный положительный элемент 5 / 2.
z –2 0 0 3 1 Итак, выводим из базиса переменную x1 и вводим в базис x4. Умно-
жаем первую строку на 2 / 5, получаем симплекс-таблицу:
Из  симплекс-таблицы можно сделать вывод, что базисным ре-
шением является x   = (3, 1, 0, 0) и  z(x)  = –2. Так как в  последней Б.п. с.ч. х1 х2 х3 х4
строке (строке оценок) есть положительные элементы (коэффици- х1 1 2 / 5 –1 / 5 0 1
енты при x3, x4), то решение можно улучшить с помощью шага сим- х2 1 / 2 0 1 / 2 1 –1 / 2
плекс-метода. z –7 / 2 0 –3 / 2 0 5 / 2
Выбираем разрешающий элемент для первого шага. В  качестве
разрешающего возьмем столбец, отвечающий переменной x3 (как со- и  делаем шаг симплекс-метода с  отмеченным разрешающим эле-
держащий положительный элемент в оценочной строке), а для выбора ментом (ко  второй строке прибавляем первую, умноженную на  1 / 2,
разрешающей строки рассмотрим отношение элементов столбца сво- а из строки оценок вычитаем первую, умноженную на 5 / 2). Получаем:
бодных членов (столбца bi) к  положительным элементам разрешаю- б.п. с.ч. х1 х2 х3 х4
щего. Разрешающий элемент выбирается в строке, дающей минимум х1 1 2 / 5 –1 / 5 0 1
этого отношения: min{1 / 2, 3 / 1} = 1 / 2, т.е. выбирается вторая строка. х2 1 1 / 5 2 / 5 1 0
Иначе говоря, мы выводим из  базиса переменную x2 и  вводим в  ба- z –6 –1 –1 0 0
зис x3. Делим вторую строку на 2 и получаем симплекс-таблицу:
В  последней строке нет положительных элементов, поэтому оп-
б.п. с.ч. х1 х2 х3 х4
тимальное решение найдено. Таковым является базисное решение
х1 3 1 0 1 2 x* = (0, 0, 1, 1) и zmin = z(x*) = –6.
х2 1 / 2 0 1 / 2 1 –1 / 2 Сформулируем теперь общий алгоритм решения задачи линейного
z –2 0 0 3 1 программирования симплекс-методом.
•Глава 3. Линейное программирование
52 •53
3.4.  Симплекс-метод решения задач линейного программирования

Предположим, что система ограничений приведена к  канониче- Решение. Задача приведена к каноническому виду, допустимый ба-
скому виду, в ней выделен допустимый базис (все правые части — неот- зис уже выделен (переменные x3, x4, x5) и из целевой функции исклю-
рицательные числа), из целевой функции исключены базисные пере- чены базисные переменные. Поэтому переписываем функцию z в виде
менные, а все слагаемые, кроме константы, перенесены в левую часть. z – 3x1 – 3x2 = 21 и формируем симплекс-таблицу
Записав все данные в  симплекс-таблицу, получим (далее предпо-
б.п. с.ч. х1 х2 х3 х4 х5
лагается, что рассматривается задача на  максимум, а  альтернатива
х3 1 –2 1 1 0 0
в скобках дана для задачи на минимум).
х4 3 1 –1 0 1 0
Если в последней строке нет отрицательных (положительных) оце-
нок, то оптимальное решение достигнуто. х5 7 1 1 0 0 1
Если в оценочной строке есть хотя бы одна отрицательная (поло- z 21 –3 –3 0 0 0
жительная) оценка, то решение может быть улучшено. Для этого вы- В последней строке есть отрицательные элементы, поэтому реше-
бирается разрешающий столбец (пусть он имеет номер j), содержащий ние может быть улучшено. Вводим в  базис переменную x2, а  так как
отрицательную (положительную) оценку, а в качестве разрешающего min {1 / 1, 7 / 1} = 1 выводим из базиса переменную x3:
выбирается положительный элемент aij > 0, дающий минимум отно-
шения элемента свободного столбца bi к aij: б.п. с.ч. х1 х2 х3 х4 х5
х2 1 –2 1 1 0 0
b 
aij = min  i  х4 4 –1 0 1 1 0
aij > 0 a
 ij  х5 2 1 0 –1 / 3 0 1 / 3
Если в симплекс-таблице имеется отрицательная (положительная) z 24 –9 0 3 0 0
оценка, а в соответствующем столбце нет положительных элементов, Так как в  строке оценок есть единственный отрицательный эле-
то исходная задача не имеет решения, т.е. zmax = +∞ (zmin = –∞). мент, а выбор разрешающего элемента однозначен, то выводим из ба-
Если оптимальное решение найдено, но  при этом у  одной (или зиса переменную x4 и вводим в базис переменную 6 / 13. Делим разре-
нескольких) свободной переменной оценка равна нулю, то  зада- шающую строку на X * = (6, 0, 3, 0, 0), и после шага симплекс-метода
ча имеет альтернативное решение, для получения которого следует получаем
сделать шаг симплекс-метода, выбрав разрешающий элемент (по об-
щему правилу) в  столбце с  нулевой оценкой. При этом множество б.п. с.ч. х1 х2 х3 х4 х5
оптимальных решений совпадает с выпуклой оболочкой всех альтер- х2 5 0 1 1 / 3 0 2 / 3
нативных решений. х4 6 0 0 2 / 3 1 1 / 3
Заметим, что последнее верно не всегда. Возможна ситуация, когда х1 2 1 0 –1 / 3 0 1 / 3
при поиске альтернативных решений в столбце, содержащем нулевую z 42 0 0 0 0 3
оценку, все элементы отрицательны (см. пример 3.8).
В  последней строке нет отрицательных элементов, поэтому оп-
Пример 3.12. Решить задачу линейного программирования сим-
тимальным решением является базисное решение X1  = (2, 5, 0, 6, 0)
плекс-методом:
и zmax – z(X1) = 42.
z = 3 x1 + 3 x2 + 21 → max С другой стороны, в столбце свободной переменной x3 есть нулевая
−2 x1 + x2 + x3 = 1, оценка, а значит, существует альтернативное решение. Для того чтобы
 x − x + x = 3, его найти, выбираем по общему правилу разрешающий элемент в этом
 1 2 4
 5 6  6
 столбце: так как min  , = , умножаем вторую строку на 3 / 2,
 x + x + x = 7,
1 2 5
1/ 3 2 / 3  2 /3
 x j ≥ 0, .j = 1, , 5
получаем
•Глава 3. Линейное программирование
54 3.5.  Метод искусственного базиса •55
б.п. с.ч. х1 х2 х3 х4 х5 б.п. с.ч. х1 х2 х3 х4
х2 5 0 1 1 / 3 0 2 / 3 х1 3 1 –1 1 0
х4 9 0 0 1 3 / 2 1 / 2 х4 8 0 –1 2 1
х1 2 1 0 –1 / 3 0 1 / 3 z 1 0 0 –1 0
z 42 0 0 0 0 3 В  последней строке нет положительных оценок, поэтому оп-
тимальным решением является базисное решение X1  = (3, 0, 0, 8)
и делаем шаг симплекс-метода (вводим в базис x3 и выводим из базиса
и  zmin  =  z(X1)  = 1. Замечаем, что в  столбце свободной переменной x2
переменную x4)
в строке оценок есть нулевая оценка, но все элементы этого столбца
б.п. с.ч. х1 х2 х3 х4 х5 отрицательные. С одной стороны, это указывает на то, что оптималь-
х2 2 0 1 0 1 / 2 1 / 2 ное множество состоит из бесконечного множества точек, а с другой
стороны, у этого множества больше нет угловых точек (например, если
х3 9 0 0 1 3 / 2 1 / 2
это луч; см. пример 3.3).
х1 5 1 0 0 1 / 2 1 / 2
Для записи общего решения находим другую (не базисную) опти-
z 42 0 0 0 0 3 мальную точку, т.е. выражаем, используя заключительную симплекс-
Альтернативным оптимальным решением является X2 = (5, 2, 9, 0, 0). таблицу, базисные переменные через свободные
Заметим, что других альтернатив нет, так как, вводя в базис пере-  x1 = 3 + x2 − x3 ,
менную x4, мы вновь получаем альтернативное решение X1. Итак, оп- 
 x4 = 8 + x2 − 2 x3 ,
тимальным множеством исходной задачи является отрезок, соединя-
ющий точки X1 и X2: и полагаем, например, x2 = 1, x3 = 0. Тогда X2 = (4, 1, 0, 9). Получаем,
что решением задачи является луч X1X2 с началом в точке X1 (для гео-
X ∗ = (1 − t ) X 1 + tX 2 = (2 + 3t, 5 − 3t, 9t, 6 − 6t, 0), t ∈[0, 1] метрической интерпретации задачи см. пример 3.3)

Получаем, что zmax = 42 при X * = (2 + 3t, 5 – 3t, 9t, 6 – 6t, 0), t ∈ [0, 1]. X min = tX 2 + (1 − t ) X 3 = t (4, 1, 0, 9) + (1 − t )(3, 0, 0, 8) = (3 + t, t, 0, 8 + t ), t ≥ 0
Пример 3.13. Симплекс-методом решить задачу ЛП Таким образом, zmin = z(Xmin) = 1 при Xmin = (3 + t, t, 0, 8 + t), t ≥ 0,
z = − x1 + x2 + 4 → min zmax = ∞.

 x1 − x2 + x3 = 3,

−2 x1 + x2 + x4 = 2, 3.5. Метод искусственного базиса
 x ≥ 0, j = 1, , 5
 j
Если в исходной системе ограничений не выделен допустимый базис,
Решение. Переписываем функцию z в виде z + x1 – x2 = 4 и составля- как того требует алгоритм симплекс-метода, для его нахождения можно
ем симплекс-таблицу решить вспомогательную задачу, которая ставится следующим образом.
Пусть исходная система нетривиальных ограничений задана в об-
б.п. с.ч. х1 х2 х3 х4
щем виде
х3 3 1 –1 1 0
a11 x1 + a12 x2 + … + a1n xn = b1,
х4 2 –2 1 0 1 a x + a x + … + a x = b ,
z 4 1 –1 0 0  21 1 22 2 2n n 2

 ...
В  последней строке есть положительный элемент, поэтому реше- am1 x1 + am2 x2 + … + amn xn = bm ,
ние может быть улучшено. Вводим в базис переменную x1 и выводим
из базиса переменную x3: где bi ≥ 0, i = 1, …, m.
56•Глава 3. Линейное программирование 3.5.  Метод искусственного базиса •57
Выполнения последнего условия всегда можно добиться, умножив В  системе выделен допустимый (искусственный) базис y1, y2, по-
уравнения на –1. этому выражаем из уравнений базисные переменные
Введем в систему новые (искусственные) переменные y1, y2, …, ym
 y1 = 6 − x1 − 3 x2 − 7 x3 + x4 ,
a11 x1 + a12 x2 + … + a1n xn + y1 = b1, 
a x + a x + … + a x + y = b ,  y2 = 2 − x1 + x2 + x3 − 3 x4
 21 1 22 2 2n n 2 2
 и подставляем в выражение для F:
 ...
F = y1 + y2 = 8 − 2 x1 − 2 x2 − 6 x3 − 2 x4 .
am1 x1 + am2 x2 + … + amn xn + ym = bm ,
Переписываем это равенство в  виде F  + 2x1  + 2x2  + 6x3  + 2x4  = 8
так что новая система имеет допустимое базисное решение (0, 0, …, 0;
и формируем симплекс-таблицу
b1, b2, …, bm) ∈ Rn+m. Рассмотрим вспомогательную целевую функцию
F (x1, x2, …, xn; y1, y2, …, ym) = y1 + y2 + … + ym и решим симплекс-мето- б.п. с.ч. х1 х2 х3 х4 y1 y2
дом задачу y1 6 1 3 7 –1 1 0
 F = y1 + y2 + … + ym → min, y2 2 1 –1 –1 3 0 1
a x + a x + … + a x + y = b ,
F 8 2 2 6 2 0 0
 11 1 12 2 1n n 1 1

a21 x1 + a22 x2 + … + a2 n xn + y2 = b2 , Выводим из базиса переменную y2 и вводим в базис x1. Получим


...
 б.п. с.ч. х1 х2 х3 х4 y1 y2
am1 x1 + am2 x2 + … + amn xn + ym = bm . y1 4 0 4 8 –4 1 –1
Если последняя задача имеет решение, то возможны два случая: x1 2 1 –1 –1 3 0 1
1.  Если min F > 0, то система ограничений не имеет допустимого F 4 0 4 8 –4 0 –2
базиса и задача не имеет решений. Далее выводим из  базиса переменную y1 и  вводим в  базис x2. Для
2.  Если min F = 0, то система ограничений имеет неотрицательное этого делим первую строку на 4, получаем таблицу
базисное решение.
Чтобы получить систему ограничений, эквивалентную исходной, б.п. с.ч. х1 х2 х3 х4 y1 y2
но с выделенным допустимым базисом, необходимо, чтобы в заклю- y1 1 0 1 2 –1 1 / 4 –1 / 4
чительной симплекс-таблице все искусственные переменные были x1 2 1 –1 –1 3 0 1
свободными. F 4 0 4 8 –4 0 –2
Пример 3.14. Рассмотрим задачу из примера 3.4 и делаем шаг симплекс-метода
z = 3 x1 − x2 − 2 x3 + 6 x4 − 10 → min б.п. с.ч. х1 х2 х3 х4 y1 y2
 x1 + 3 x2 + 7 x3 − x4 = 6, x2 1 0 1 2 –1 1 / 4 –1 / 4
 3 1 0 1 2 1 / 4 3 / 4
 x1 − x2 − x3 + 3 x4 = 2, x1
x ≥ 0 F 0 0 0 0 0 –1 –1

Данная симплекс-таблица — заключительная, искусственные пере-
и выделим допустимый базис с помощью вспомогательной задачи.
менные y1, y2 стали свободными, и Fmin = 0. Опуская последнюю строку
Итак, рассмотрим задачу
и столбцы, получаем таблицу
 F = y1 + y2 → min,
 б.п. с.ч. х1 х2 х3 х4
 x1 + 3 x2 + 7 x3 − x4 + y1 = 6, x2 1 0 1 2 —  1
 x − x − x + 3x + y = 2
 1 2 3 4 2 x1 3 1 0 1 2
58•Глава 3. Линейное программирование 3.5.  Метод искусственного базиса •59
т.е. получаем систему ограничений б.п. с.ч. х1 х2 х3 х4 х5 y
х2 1 –1 1 1 0 0 0
 x2 + 2 x3 − x4 = 1,
 y 16 4 0 –3 –1 0 1
 x1 + x3 + 2 x4 = 3 х5 32 4 0 –1 0 1 0
с выделенным допустимым базисным решением, которая равносильна z 11 –4 0 3 0 0 0
исходной системе ограничений и  совпадает с  системой, полученной F 16 4 0 –3 –1 0 0
(другим способом) в примере 3.4. Выводим из базиса переменную y и вводим в базис x1.
Пример 3.15. Симплекс-методом решить задачу
б.п. с.ч. х1 х2 х3 х4 х5 y
z = x1 + 3 x2 + 8 → min, х2 5 0 1 1 / 4 –1 / 4 0 1 / 4
− x1 + x2 + x3 = 1, х1 4 1 0 –3 / 4 –1 / 4 0 1 / 4
 x + 3 x − x = 19, х5 16 0 0 2 1 1 –1
 1 2 4
 z 27 0 0 0 –1 0 1
 3 x1 + x 2 + x5 = 33,
F 0 0 0 0 0 0 –1
 x ≥ 0
Вспомогательная задача F → min решена, и  искусственная пере-
Решение. В данной задаче допустимый базис выделен лишь частич- менная y — свободная. Поэтому опускаем последнюю строку и стол-
но (переменные x3, x5), поэтому ограничимся лишь введением одной бец и получаем симплекc-таблицу для исходной задачи с выделенным
искусственной переменной y и решим следующую задачу допустимым базисом:

 F = y → min, б.п. с.ч. х1 х2 х3 х4 х5


− x + x + x = 1, х2 5 0 1 1 / 4 –1 / 4 0
 1 2 3
 х1 4 1 0 –3 / 4 –1 / 4 0
 x1 + 3 x 2 − x 4 + y = 19,
х5 16 0 0 2 1 1
3 x1 + x2 + x5 = 33
z 27 0 0 0 –1 0
Так как F = y = 19 – x1 – 3x2 + x4, то F + x1 + 3x2 – x4 = 19. Аналогич- Более того, данная симплекc-таблица — заключительная, поэтому
но, z = x1 + 3x2 + 10, и z – x1 – 3x2 = 10. Решая задачу для функции F, решением задачи является X1 = (4, 5, 0, 0, 16), а так как имеется сво-
внесем в  таблицу строку для функции z, одновременно преобразуя бодный столбец x3 с нулевой оценкой, то у задачи есть альтернативное
и ее. Получим решение. Выводим из базиса переменную x5, вводим в базис x3
б.п. с.ч. х1 х2 х3 х4 х5
б.п. с.ч. х1 х2 х3 х4 х5 y
х2 3 0 1 0 –3 / 8 –1 / 8
х3 1 –1 1 1 0 0 0 х1 10 1 0 0 1 / 8 3 / 8
y 19 1 3 0 –1 0 1 х5 8 0 0 1 1 / 2 1 / 2
х5 33 3 1 0 0 1 0 z 27 0 0 0 –1 0

z 8 –1 –3 0 0 0 0 и получаем альтернативное решение X2 = (10, 3, 8, 0, 0). Поэтому общее


решение задачи
F 19 1 3 0 –1 0 0
X ∗ = (1 − t ) X 1 + tX 2 = (1 − t )(4, 5, 0, 0, 16) + t (10, 3, 8, 0, 0) =
Сделаем шаг симплекс-метода с  выделенным разрешающим .
элементом = (4 + 6t, 5 − 2t, 8t, 0, 16 − 16t ), t ∈[0, 1]
60 •Глава 3. Линейное программирование •61
3.6.  Решение задач линейного программирования средствами Excel

и Все элементы строки оценок для задачи F → min отрицательны, по-


этому симплекс-таблица — заключительная, но так как min F = 9 / 2 > 0,
zmin = z( X ∗ ) = 27 то исходная задача не имеет ни одного допустимого базиса и решений
Пример 3.16. Симплекс-методом решить задачу ЛП не имеет.
z = x1 + 2 x2 + 9 → max
 x1 + x2 − x3 = 2, 3.6. Решение задач линейного
 x + 4 x + x = 1,
 1 2 4 программирования средствами Excel


 1x + x 2 − x5 = 3,

 x ≥ 0
В  Excel задача линейного программирования может быть решена
с помощью программы Поиск решения. На примере задачи об исполь-
Решение. Вводим две искусственные переменные y1, y2 и  решаем зовании ресурсов (пример 3.6) разберем алгоритм применения этой
следующую задачу: программы.
 F = y1 + y2 → min, Итак, требуется решить задачу
 x + x − x + y = 2,
 1 2 3 1 f = CX → max
 1x + 4 x 2 + x 4 = 1,  AX ≤ B, (3.3)
− x + x − x + y = 3, 
 1 2 5 2  X ≥ 0,
 x ≥ 0, y ≥ 0. где X = (x1, x2) — искомый план выпуска продуктов P1, P2; С = (20, 25) —
Из системы ограничений преобразуем F = y1 + y2 = 5 – 2x2 + x3 + x5, вектор доходов от  реализации единицы каждого из  продуктов;
т.е. F + 2x2 – x3 – x5 = 5. Аналогично z – x1 – 2x2 = 9 и мы решаем задачу  2 3
для функции F, включив при этом в таблицу строку для функции z: T
B = (300, 450, 350)  — запасы ресурсов R1, R2, R3;  A =  5 2  — матрица
 
б.п. с.ч. х1 х2 х3 х4 х5 y1 y2 норм расхода сырья.  4 8
y1 2 1 1 –1 0 0 1 0 Заметим, что, как следует из параграфа 3.1, любая задача линейного
х5 1 1 4 0 1 0 0 0
программирования может быть приведена к виду (3.3). Поэтому пред-
ложенный ниже алгоритм решения задачи (3.3) годится для любой за-
y2 3 –1 1 0 0 –1 0 1
дачи вида (3.1).
z 9 –1 –2 0 0 0 0 0 Итак, разместим исходные данные на листе Excel, как это представ-
F 5 0 2 –1 0 –1 0 0 лено в табл. 3.4.
В  строке оценок есть единственный положительный элемент, по-
 Таблица 3.4
этому вводим в базис x2 и выводим из базиса x5

б.п. с.ч. х1 х2 х3 х4 х5 y1 y2
y1 7 / 4 3 / 4 0 –1 –1 / 4 0 1 0
х2 1 / 4 1 / 4 1 0 1 / 4 0 0 0
y2 11 / 4 –5 / 4 0 0 –1 / 4 –1 0 1
z 19 / 2 –1 / 2 0 0 1 / 2 0 0 0
F 9 / 2 –1 / 2 0 –1 –1 / 2 –1 0 0
62 •Глава 3. Линейное программирование •63
3.6.  Решение задач линейного программирования средствами Excel

Матрица A размещена в  клетках B3:C5, запасы ресурсов (стол-  Таблица 3.7


бец  B)  — в  столбце D3:D5, а  доход от  реализации единиц продуктов
P1, P2 (cтрока C) — в строке D7:E7. В результате решения задачи план
выпуска продукции X  = (x1, x2) разместится в  столбце F8:F9, расход
сырья AX — в столбце D3:D5, а итоговая выручка по найденному пла-
ну — в ячейке F10.
 Таблица 3.5

Для завершения решения задачи из раздела «Сервис» главного меню


вызываем команду «Поиск решения». В появившемся окне в целевую
ячейку записываем F10, отмечаем поиск максимального значения,
в строку «изменяя ячейки» вносим F8:F9. Далее в окно «Ограничения»
последовательно вносим условие того, что содержимое ячеек E3:E5
не превышает запасов ресурсов D3:D5, и условие неотрицательности
F8:F9. Получаем табл.  3.8 и, нажимая кнопку «выполнить», получа-
ем решение задачи. Исходный лист Excel теперь имеет вид (табл. 3.8),
откуда получаем, что при оптимальном выпуске X *  =  (68,  18 182; 52,
Для расчета выручки CX реализуем матричное умножение строки 54 545) выручка равна fmax = 2727,273.
D7:E7 на столбец F8:F9. Помещаем курсор в клетку F10, а затем, ис-
пользуя кнопку «Вставить функцию», вызываем мастер функций, в ка-  Таблица 3.8
тегории математических функций выбираем МУМНОЖ и нажимаем
ОК (табл. 3.5). В возникающей вкладке «Аргументы функции» в мас-
сив 1 помещаем строку D7:E7, выделяя их  правой кнопкой мыши,
а в массив 2 — столбец F8:F9 (табл. 3.6) и нажимаем Ctrl+Shift+Enter.
 Таблица 3.6

Задания для самостоятельного решения


1.  Найдите каноническую форму следующих задач линейного про-
граммирования:
z = −2 x1 + 7 x2 + 3 x3 − x5 → max,
 x1 + x3 − x4 − x5 ≥ 15,
Аналогично для реализации матричного умножения CX, т.е. вычис- 
а)  − x1 + 3 x2 − x3 + 4 x5 ≤ 10,
ления расхода сырья, выделяем столбец E3:E5, вызываем функцию 
МУМНОЖ, в массив 1 вносим B3:D5, а в массив 2 — F8:F9, и нажи- 2 x1 + 5 x2 − 42 x3 + 6 x4 ≥ 34,
маем Ctrl+Shift+Enter.  xi ≥ 0, i = 1, , 5;
64•Глава 3. Линейное программирование 3.6.  Решение задач линейного программирования средствами Excel •65
z = −9 x1 + 2 x2 − 5 x3 − x4 → max, Продукт А (мг / кг) С (мг / кг)
17 x1 + x3 + 4 x5 = 31, Яблоки  1 70
 Абрикосы 24 75
б)  12 x1 + 13 x2 + 14 x3 − 15 x4 ≥ 18,
 Определите, сколько яблок и абрикосов нужно потреблять в сутки,
 x1 + 4 x2 + 11x3 − 6 x5 ≤ 6, чтобы получать не менее 70 мг витамина С и не менее 2 мг витамина А
 x1 ≥ 0, x3 ≤ 0, x4 ≥ 0;
и затрачивать при этом минимальное количество средств.
z = 3 x1 − x4 + x5 → min, 5.  Стальные прутья длиной 110 см необходимо разрезать на заго-
товки длиной 45 и 35 см. Требуемое количество заготовок каждого вида
−3 x1 − x2 − 5 x3 + 4 x6 ≤ 22,
 составляет соответственно 40 и 30 штук.
в)  2 x1 + 3 x3 − 4 x4 + 7 x5 = 18, Определите, сколько прутьев по каждому из возможных способов

3 x2 − 5 x4 + 2 x5 − 6 x6 ≥ 27, следует разрезать, чтобы получить не менее необходимого количества
 x1 ≥ 0, x2 ≥ 0, x4 ≥ 0, x6 ≤ 0 заготовок каждого вида при минимальных отходах.
2.  Приведите задачи линейного программирования к стандартно- 6.  Чаеразвесочная фабрика выпускает чай сортов А и Б, смешивая
му виду: три ингредиента: индийский, цейлонский и китайский чай. В таблице
приведены нормы расхода ингредиентов, объем запасов каждого ин-
z = x1 − 2 x2 − 2 x3 − 3 x4 → max,
гредиента и прибыль от реализации 1 т чая сортов А и Б.
 x1 − 2 x2 − 3 x3 + 3 x4 = 0,
а)   Норма рас- Объем
 x1 − x2 + 2 x3 − 3 x4 = −3,
 x ≥ 0, i = 1, , 4; Ингредиент хода (т / т) запасов
 i А Б (т)
z = 3 x2 + x4 → max, Индийский чай 0,5 0,2 600
 x1 − x2 + 3 x3 − x4 = −3, Цейлонский чай 0,2 0,6 870
б)  
4 x1 − 3 x2 + 3 x3 + 2 x4 = −2, Китайский чай 0,3 0,2 430
 x ≥ 0, i = 1,,, 4; Прибыль от реализации одной тонны продукции
 i 320 290
(тыс. руб.)
z = 3 x1 − x2 + x3 + x4 → max,
Составьте план производства чая сортов А и Б с целью получения
 x1 + x2 − x3 − 2 x4 = 2,
в)   максимальной прибыли.
−5 x1 − 4 x2 − 3 x3 − 3 x4 = 2, 7.  Завод специализируется на капитальном ремонте автомашин ти-
 x ≥ 0, i = 1, , 4 пов А и В. Производственные мощности цехов приведены в таблице:
 i
3.  Для изготовления изделий двух видов имеется 100  кг сырья. Количество машин за год
На изготовление одного изделия первого вида расходуется 2 кг, на из- Название цеха
типа А типа В
готовление одного изделия второго вида — 4 кг сырья.
Кузовной   80 320
Составьте план производства, обеспечивающий получение наи-
Шасси 110 110
большей выручки от  продажи изделий, если необходимо изгото-
Двигательный 240 120
вить не более 40 изделий первого вида и не более 20 изделий второго
вида, отпускная стоимость одного изделия первого вида составляет Сборочный 160   80
3000 руб., а изделия второго вида — 2000 руб. Определите наиболее рентабельную производственную программу
4.  Известно, что 1 кг яблок стоит 30 руб., а 1 кг абрикосов — 60 руб. при условии, что прибыль от ремонта одной машины типов А и В рав-
Содержание витаминов А и С в яблоках и абрикосах указано в таблице: на 20 000 и 24 000 руб. соответственно.
•Глава 3. Линейное программирование
66 3.6.  Решение задач линейного программирования средствами Excel •67
8.  Для обеспечения перевозок нужно ежедневно формировать пас-  x1 + 4 x2 − x3 = 1,
сажирские и  скорые поезда. Наличный парк вагонов разных типов, 2 x − 2 x + x = 5,
из которых комплектуются составы, и количество пассажиров, вмеща-  1 2 5
15.  z = 3x1 – x2 + 2x3 – x4 – 7 → max(min) при 
ющихся в каждый тип вагона, указаны в таблице:  1x + 2 x 2 − x 4 = 2,
 x ≥ 0
Вагон
Поезд Почто- Плац- Купей- Спаль-  x1 + 3 x2 + 2 x3 + 2 x4 = 5,
Багажный 
вый картный ный ный 16.  z = x1 + x2 + 2x3 + x4 + 22 → max(min) при 2 x1 − 2 x3 + x4 = 4,
Скорый  1 1  5  6  3 x ≥ 0

Пассажирский  1 —  8  4  1
Число пассажиров — — 58 40 32  x1 + 2 x2 + x3 = 10,
 x + x − x = 2,
Парк вагонов 12 8 81 70 26  1 2 4
17.  z = − x1 − x4 + 5 → max(min) при 
Определите число скорых и  пассажирских поездов, при которых 2
 1 x − x 2 + x5 = 5,
количество перевозимых пассажиров достигает максимума.  x ≥ 0
Решить задачи ЛП графическим способом: 2 x1 − x2 + x3 + 2 x4 = 15,
5 x + 3 y ≥ 23, 
18.  z = x1 + x2 + x3 + 2 x4 + 7 → max(min) при  x1 − 5 x2 − x3 + 4 x4 = 3,
 x ≥ 0
9.  z = 4 x + 3 y → max(min) при x ≥ 0, y ≥ 0 и 9 x − y ≤ 35, 
4 x − 4 y ≥ −20.
  x1 + 2 x2 − x3 − x4 = 14,
5 x + 5 y ≥ 55, 
19.  z = 3 x1 − 4 x 2 − x 4 + 11 → max(min) при 3 x1 − 4 x2 + x3 − x4 = 2,
 x ≥ 0
10.  z = −3 x + 2 y → max(min) при x ≥ 0, y ≥ 0 и 9 x − 3 y ≤ 63, 
4 x − 8 y ≥ −52.
 −10 x1 + 7 x2 + x3 = 11,
5 x + 2 y ≥ 21 , 5 x + 3 x + x = 79,
  1 2 4
11.  z = −4 x − 3 y → max(min) при x ≥ 0, y ≥ 0 и 10 x − 2 y ≤ 24 , 20.  z = −104 − 25 x1 + 24 x2 → max(min) при 
5 x − 4 y ≥ −27. −5 x1 + 10 x2 − x5 = 25,
  x ≥ 0
5 x + 5 y ≥ 55; Решить задачи ЛП симплексным методом.

12.  z = x − 3 y → max(min) при x ≥ 0, y ≥ 0 и 9 x − 2 y ≤ 88 ; 3 x1 + x2 + x3 = 6,
4 x − 7 y ≥ −22. 
 21.  z = 3 x3 − 4 x4 + 2 x5 + 9 → max при x ≥ 0 и   x1 + x2 + x4 = 4,
− x + x + 2 x = 4
4 x + 2 y ≥ 28,  1 3 5

13.  z = −2 x + 4 y → max(min) при x ≥ 0, y ≥ 0 и 7 x − y ≤ 40,  x1 − 5 x2 + x3 = 5,
3 x − 3 y ≥ −6 . 
 22.  z = x1 − 4 x2 − 2 x4 + x5 − 11 → min при x ≥ 0 и   x1 − x2 − x4 = −4,
x + x + x = 8
4 x + 2 y ≥ 30,  1 2 5

14.  z = −3 x − 3 y → max(min) при x ≥ 0, y ≥ 0 и 7 x − 4 y ≥ 45, −3 x1 + 2 x2 + x3 = 4,
3 x − 6 y ≤ −15. 
 23.  z = 2 x1 − 2 x2 − x3 − x5 − 13 → min при x ≥ 0 и  −5 x1 − 3 x2 − x4 = −25,
2 x − 3 x + x = 6
 1 2 5
68•Глава 3. Линейное программирование 3.6.  Решение задач линейного программирования средствами Excel •69
2 x1 − 2 x2 + x3 = 1,  x1 − x2 + x3 = 1,
 3 x + x + x = 7,
24.  z = 3 x2 + x4 + 8 → max при x ≥ 0 и  3 x1 − 2 x2 ≤ 4,  1 2 5
− x + x + x = 1 33.  z = x1 + x3 + x4 + x5 + 29 → max при 
 1 2 4 5
 1 x + 2 x 2 + 2 x3 + x4 + 3 x5 = 17,
2 x1 − 2 x3 + 3 x4 ≤ 12,  x ≥ 0
25.  z = − x1 − x3 − 10 → min при x ≥ 0 и  
 x1 + x2 + 2 x3 − x4 = 1 34.  Суточная потребность человека в витаминах и минеральных ве-
ществах удовлетворяется за счет потребления двух продуктов — киви
4 x1 + 3 x2 ≤ 12,
 и гранатов. Содержание питательных веществ в продуктах (мг / 100 г),
26.  z = 2 x2 − x4 + 12 → max при x ≥ 0 и  4 x1 + x2 + x3 = 8, суточные нормы их потребления (мг) и цена продуктов (руб. за 100 г)
4 x − x + x = 8 задаются таблицей
 1 2 4
Решить задачи линейного программирования, используя метод ис-
Продукт Витамины Мин. вещества Цена
кусственного базиса.
Киви  2  1 10
2 x1 + 11x2 + 12 x3 + 3 x4 = 14,
 Гранаты  1  3 20
27.  z = − x1 + 3 x2 + 5 x3 + x4 − 7 → min при 9 x2 + 12 x3 + 3 x4 = 12, Норма 24 27
x ≥ 0
 При этом гранатов должно быть не более 800 г. Составить матема-
3 x1 − x2 + x3 + 6 x4 + x5 = 6, тическую модель задачи и найти суточный рацион минимальной сто-
 x + 5 x + x − 7 x = 6, имости.
 1 3 4 5
28.  z = 6 x 2 + x3 − x 4 + 13 → max при 
 1x + 2 x 2 + 3 x3 + x 4 + x5 = 6,
 x ≥ 0

4 x1 + x2 + x3 + 2 x4 + x5 = 8,
2 x − x + x = 2,
 1 2 4
29.  z = 6 x1 − x3 + x 4 + 2 x 5 − 8 → max при 
 1x + x 2 + x5 = 2,
 x ≥ 0
3 x1 + 4 x2 + x3 = 12,
3 x + 2 x + x + x + x = 16,
 1 2 3 4 5
30.  (x, y) при 
 1x − 3 x 2 + x5 = 3,
 x ≥ 0
− x1 + x2 + x3 = 2,
3 x − x + x = 3,
 1 2 4
31.  z = 7 x1 + 2 x3 − x4 + x5 + 24 → max при 
5 x1 + 2 x2 + x3 + x4 + x5 = 11,
 x ≥ 0

− x1 + 2 x2 + x3 = 2,
9 x + x + x + x + 2 x = 26,
 1 2 3 4 5
32.  z = 7 x2 + x3 − x4 − x5 + 17 → min при 
3 x1 − 2 x2 + x5 = 3,
 x ≥ 0
•71
4
4.1.  Основные определения и теоремы

Глава Матрица нетривиальных ограничений двойственной задачи полу-


чается из соответствующей матрицы исходной задачи транспонирова-
нием.
Взаимно двойственные задачи Правые части нетривиальных ограничений двойственной задачи
являются коэффициентами целевой функции исходной задачи, и на-
оборот, коэффициенты целевой функции двойственной задачи совпа-
4.1.  Основные определения и теоремы дают с правыми частями ограничений исходной задачи.
Если исходная задача является задачей на максимум (на мини-
Рассмотрим пару двойственных задач ЛП мум), то двойственная задача будет задачей на минимум (на мак-
симум), и  строка тривиальных ограничений переходит в  столбец
 AX ≤ B,  A tY ≥ C,
 нетривиальных ограничений без изменения знака неравенства
 
 X ≥ 0,   и  Y ≥ 0, с  «≤» на  «≥» и  наоборот (соответственно с  изменением знака).
  t Если на переменную в исходной задаче тривиальное ограничение
T = B Y + c0 → min,
t
 z = C X + c0 → max
отсутствует, то  соответствующее ограничение в  двойственной за-
где A = (aij) — n×m матрица, X = (x1, x2, …, xn)t, Y = (y1, y2, …, ym)t, B = . даче будет типа уравнения; иными словами, «~» переходит в «=».
= (b1, b2, …, bm)t, C = (c1, c2, …, cn)t — векторы-столбцы соответствующей Столбец нетривиальных ограничений переходит в  строку триви-
размерности, а векторы X = ( xi1 , xi2 , …, xik ) , Y = ( y j1 , y j2 , …, y jl ) с ин-
t t
альных ограничений с изменением знака неравенства с «≤» на «≥»
дексами 1 ≤ i1 ≤ i2 ≤ … ≤ ik ≤ n, 1 ≤ j1 ≤ j2 ≤ … ≤ jk ≤ m — части векторов X, Y и наоборот (соответственно, без изменения знака), а «=» перехо-
(т.е. тривиальные ограничения налагаются лишь на  часть координат дит в «~».
векторов X, Y). Пример 4.1. Для задачи
Нетривиальные ограничения в обеих задачах могут быть как типа
неравенств (со знаком «≤» или «≥»), так и типа уравнений. Чтобы по- z = 2 x1 + 7 x3 − 5 x4 + 3 x5 + 7 → min,
нять связь между этими задачами, построим расширенные матрицы 2 x1 + 2 x2 − 6 x3 − x5 ≤ 67,
обеих задач. Таким образом, 2 x − 8 x + 4 x + 7 x ≥ −5,
 1 3 4 5
 a11 a12 … a1n ≤ b1  
a   x1 + 5 x2 − 3 x3 + x4 = 24,
 21 a22 … a2 n = b2   x1 ≥ 3, x2 ≤ 0, x3 ≥ 0, x4 ≥ 0
 … … … … … …
A =   составить двойственную.
am1 am2 … amn ≥ bm 
 ≥  Решение. Заметим, что x1 ≥ 1 будем считать нетривиальным ограни-
~ … ≥
  чением, поэтому задачу можно переписать в виде
 c1 c2 … cn c0 
→max z = 2 x1 + 7 x3 − 5 x4 + 3 x5 + 7 → min,
и
 a11 a21 … am1 ≥ c1  2 x1 + 2 x2 − 6 x3 − x5 ≤ 67,
a  2 x − 8 x + 4 x + 7 x ≥ −5,
 12 a22 … am2 = c2   1 3 4 5

 … … … … … …  x1 + 5 x2 − 3 x3 + x4 = 24,
A ′ =    x ≥ 3,
a1n a2 n … amn ≥ cn   1
≥ ~ … ≥   x2 ≤ 0, x3 ≥ 0, x4 ≥ 0
 
 b1 b2 … bm c0 
→min Запишем расширенную матрицу полученной задачи
•Глава 4. Взаимно двойственные задачи
72 4.2.  Решение двойственных задач с помощью теоремы равновесия •73
2 2 −6 0 −1 ≤ 67  4.2. Решение двойственных задач
2 ≥ −5
 0 −8 4 7 с помощью теоремы равновесия
1 5 −3 1 0 = 24 
A =   Сформулируем теперь теорему равновесия (вторую теорему двой-
1 0 0 0 0 ≥ 3
ственности), которая позволяет установить связь не только между оп-
~ ≤ ≥ ≥ ~  тимальными значениями целевых функций, но и между точками, в ко-
 
 2 0 7 −5 3 7  торых эти значения достигаются.
→min
Теорема 4.3 (теорема равновесия). Оптимальные решения
Составляем расширенную матрицу двойственной задачи согласно
X = ( x1∗ , x2∗ , …, xn∗ ) и  Y ∗ = ( y1∗ , y2∗ , …, ym∗ ) пары двойственных задач свя-

общим правилам и получаем
заны между собой равенствами
2 2 1 1 = 2
2 0 5 0 ≥ 0   m  ∗
 ∑ aik yi − ck  ⋅ xk = 0, k = 1, …, n,


 −6 −8 −3 0 ≤ 7  i =1 
   n

A′ =  0 4 1 0 ≤ −5   ∗
 ∑ aik xk − bi  ⋅ yi = 0, i = 1, …, m

 −1 7 0 0 = 3
   k =1
≤ ≥ ~ ≥  Пример 4.2. Решить задачу
 67 −5 24 3 7 
 →max  z = −12 x1 + 153 x2 − 25 x3 + 27 → min
Двойственная задача имеет вид −3 x + 2 x + x ≥ −3,
 1 2 3
T = 67 y1 − 5 y2 + 24 y3 + 3 y4 + 7 → max, 
4
 1 x + 7 x 2 − 11 x3 ≥ 33,
2 y1 + 2 y2 + y3 + y4 = 2,  x1 ≥ 0, x2 ≥ 0, x3 ≥ 0
2 y + 5 y ≥ 0, .
 1 3 с помощью теоремы равновесия.
−6 y1 − 8 y2 − 3 y3 ≤ 7, Решение. Составим сначала задачу, двойственную данной. Выпи-
 шем расширенную матрицу
4 y2 + y3 ≤ −5,
− y1 + 7 y2 = 3,  −3 2 1 ≥ −3
  4
 y1 ≥ 0, y2 ≥ 0, y4 ≥ 0 7 −11 ≥ 33 
A = 
Основная связь между двойственными задачами изложена в следу-  ≥ ≥ ≥ 
 
ющих утверждениях.  −12 153 −25 27 → min
Теорема 4.1 (основное неравенство для двойственных задач). Для
всех допустимых решений X, Y пары двойственных задач имеет место и построим расширенную матрицу двойственной задачи
неравенство z(X ) ≤ T(Y ).
 −3 4 ≤ −12 
Теорема 4.2 (первая теорема двойственности). Если исходная задача 2
имеет оптимальное решение, то и двойственная ей имеет оптимальное  7 ≤ 153 
решение. При этом оптимальные значения обеих целевых функций A ′ =  1 −11 ≤ −25 
равны, т.е. zmax = Tmin.  
≥ ≥ 
Чтобы решить задачу ЛП, иногда проще решить двойственную за-  −3 33 
 27 → max
дачу, а затем найти решение исходной задачи.
74•Глава 4. Взаимно двойственные задачи 4.3.  Решение двойственных задач с помощью симплекс-метода •75
Двойственная задача имеет вид ∗ ∗ ∗
С учетом того, что Y = (24,15) (т.е. y1 ≠ 0, y2 ≠ 0 ) и A = l1 ∩ l2, A ∉ l3
T = −3 y1 + 33 y2 + 27 → max, ∗ ∗ ∗ ∗ ∗ ∗
(т.е. −3 y1 + 4 y2 + 12 = 0, 2 y1 + 7 y2 − 153 = 0, y1 − 11 y2 + 25 ≠ 0, в чем мож-
−3 y + 4 y ≤ −12,
 1 2 но убедиться непосредственной подстановкой), выполнение первых
2
 1 y + 7 y2 ≤ 153, двух уравнений очевидно, третье сводится к условию x3 = 0 и система

 y − 11 y ≤ −25, сводится к виду


 1 2

 y1 ≥ 0, y2 ≥ 0.  x3∗ = 0,  x3∗ = 0,
 ∗ ∗ ∗
 ∗ ∗
Решим ее графическим способом (рис. 4.1). Построим на плоско- −3 x1 + 2 x2 + x3 + 3 = 0,   или  −3 x1 + 2 x2 = −3,
сти (y1, y2) прямые l1: –3y1 + 4y2 = –12, l2: 2y1 + 7y2 = 153, l3: y1 – 11y2 = .  ∗ ∗ ∗  ∗ ∗
= –25 и убедимся, что нетривиальные ограничения определяют треу- 4 x1 + 7 x2 − 11x3 − 33 = 0 4 x1 + 7 x2 = 33,
гольник ABC, угловые точки A = l1 ∩ l2, B = l2 ∩ l3 и C = l1 ∩ l3 которого ∗
решениями которой является точка X = (3,3, 0) Заметим, что z(X *) = .
находим из систем уравнений = –12 ⋅ 3 + 153 ⋅ 3 + 27 = 450 = T(Y  ), как и должно быть по первой тео­
*

−3 y1 + 4 y2 = −12, 2 y1 + 7 y2 = 153, −3 y1 + 4 y2 = −12, реме двойственности.


      и  
2 y1 + 7 y2 = 153, .  y1 − 11 y2 = −25,  y1 − 11 y2 = −25
Отсюда получаем, что A(24, 15), B(52, 7) и C(8, 3). 4.3. Решение двойственных задач
y2
l2
с помощью симплекс-метода
A Решение пары двойственных задач может быть основано на следу-
ющем правиле.
n B Теорема 4.4. Если для одной из задач оптимальное решение найдено
симплекс-методом, то в исходной задаче можно выделить квадратную
l3 C
матрицу P, образованную столбцами, соответствующими базисным
y1
переменным оптимального решения. Тогда оптимальное решение
l1 двойственной задачи находится по формуле
Рис. 4.1
Y * = cбаз ⋅ P −1,
Вектор нормали n определяется вектором n = (−1,11) . Поэтому, оче-
где cбаз — вектор-строка, образованная коэффициентами при базисных пере-
видно, максимальное значение функции T(Y ) достигается в  точке менных заключительной симплекс-таблицы в целевой функции исходной за-

A(24, 15) и  Y = (24,15), Tmax = T (24,15) = −3 ⋅ 24 + 33 ⋅15 + 27 = 450 дачи.
Запишем теперь теорему равновесия для данной пары двойствен-
Пример 4.3. Для задачи
ных задач
z = 23 x1 + 40 x2 + 60 x3 + 2 x4 − x5 − 18 → max
(−3 y1∗ + 4 y2∗ + 12) ⋅ x1∗ = 0,
 ∗ ∗ ∗ 4 x1 + 10 x2 + 11x3 + x4 + x5 = 57,
(2 y1 + 7 y2 − 153) ⋅ x2 = 0, . 
 ∗ ∗ ∗ 2 x − 6 x2 − x3 + x4 − x5 = 9,
( y1 − 11 y2 + 25) ⋅ x3 = 0,  x ≥ 0, .j = 1, , 5
 ∗ ∗ ∗ ∗  j
(−3 x1 + 2 x2 + x3 + 3) ⋅ y1 = 0, .
(4 x ∗ + 7 x ∗ − 11x ∗ − 33) ⋅ y ∗ = 0 построить двойственную, решить исходную задачу симплекс-методом
 1 2 3 2 и найти оптимальное решение двойственной задачи.
76•Глава 4. Взаимно двойственные задачи 4.3.  Решение двойственных задач с помощью симплекс-метода •77
Решение. Составим задачу, двойственную к данной. Образуем рас- z = 18 x1 + 44 x2 + 56 x3 + 24 → max
ширенную матрицу
3 x1 + 2 x2 + 5 x3 + x4 = 33,
 4 10 11 1 1 = 57   (4.1)
 2 −6 −1 1 −1 = 9   x1 + 8 x2 + 6 x3 + x5 = 24,
A =    x ≥ 0, .j = 1, , 5
 j
≥ ≥ ≥ ≥ ≥ 
  Перепишем целевую функцию в  виде z  – 18x1  – 44x2  – 56x3  = 24
 23 40 60 2 −1 −18  → max
и имеем симплекс-таблицу
и преобразуем ее по общему правилу
б.п. с.ч. х1 х2 х3 х4 х5
 4 2 ≥ 23  х4 33 3 2 5 1 0
10 −6 ≥ 40 
  х5 24 1 8 6 0 1
11 −1 ≥ 60  z 24 –18 –44 –56 0 0
 

{ }
A ′ =  1 1 ≥ 2  33 24 24
 1 −1 ≥ −1  Вводим в базис переменную x3. Находим min , = = 4 , де-
  5 6 6
лим вторую строку на 6
~ ~ 
57 9 −18 б.п. с.ч. х1 х2 х3 х4 х5
 →min
х4 33 3 2 5 1 0
Двойственная задача имеет вид
х5 4 1 / 6 4 / 3 1 0 1 / 6
4 y1 + 2 y2 ≥ 23, z 24 –18 –44 –56 0 0
10 y − 6 y ≥ 40,
 1 2
и выводим из базиса переменную x5. Делим соответствующую строку
T = 57 y1 + 9 y2 − 18 → min при условиях . 11 y1 − y2 ≥ 60, на 6 и получаем
 y + y ≥ 2,
 1 2
б.п. с.ч. х1 х2 х3 х4 х5
 y1 − y2 ≥ −1 х4 13 13 / 6 –14 / 3 0 1 –5 / 6
Решим исходную задачу симплекс-методом. В  задаче не  выделен х3 4 1 / 6 4 / 3 1 0 1 / 6
допустимый базис, поэтому для его нахождения можно использовать z 248 –26 / 3 –92 / 3 0 0 28 / 3
метод искусственного базиса или выделить его непосредственно из не-
тривиальных ограничений: сложим уравнения, а затем вычтем из пер- В  строке оценок осталась единственная отрицательная оценка,
вого второе. Получим систему  13 4 
а  так как min  ,  = 6, то  выводим из  базиса переменную x4
13/6 1/6 
6 x1 + 4 x2 + 10 x3 + 2 x4 = 66, 3 x1 + 2 x2 + 5 x3 + x4 = 33,
   т.е.   и  вводим x1. Умножаем первую строку на  6 / 13, получаем симплекс-
2
 1 x + 16 x 2 + 12 x3 + 2 x5 = 48,  x1 + 8 x2 + 6 x3 + x5 = 24 таб­лицу
с выделенным базисом x4, x5. Выражаем базисные переменные x4, x5
б.п. с.ч. х1 х2 х3 х4 х5
x4 = 33 − 3 x1 − 2 x2 − 5 x3 , х4 6 1 –28 / 13 0 6 / 13 –5 / 13
x5 = 24 − x1 − 8 x2 − 6 x3 х3 4 1 / 6 4 / 3 1 0 1 / 6
z 248 –26 / 3 –92 / 3 0 0 28 / 3
и подставляем полученные выражения в формулу для z. Получим за-
дачу и делаем шаг симплекс-метода
78•Глава 4. Взаимно двойственные задачи 4.3.  Решение двойственных задач с помощью симплекс-метода •79
б.п. с.ч. х1 х2 х3 х4 х5 Задачи для самостоятельного решения
х1 6 1 –28 / 13 0 6 / 13 –5 / 13 Для следующих задач ЛП построить двойственные задачи
х3 3 0 22 / 3 1 –1 / 13 3 / 13  x1 − 3 x2 + 4 x3 = 7,
z 300 0 12 0 4 6 −3 x − 8 x + 2 x ≤ 97,
 1 2 4
Так как в  строке оценок нет отрицательных элементов, то  полу- 1.  z = 2 x1 − 7 x3 + 6 x4 − 40 → max при 17 x1 + 3 x2 − 5 x4 ≤ 15,
ченная симплекс-таблица  — заключительная, оптимальное решение  x ≥ 1,
X * = (6, 0, 3, 0, 0) и zmax = z(X *) = 300.  1
 x2 ≤ 0, x3 ≤ 0
Базисными переменными оптимального решения являются x1, x3,
 4 11 −7 x1 + 2 x2 − 6 x4 ≥ −25,
поэтому из исходной задачи находим P =  а из условия задачи 4 x − 7 x + 13 x − 8 x = 16,
 2 −1  1 3 4 5
cбаз = (23, 60), поэтому оптимальным решением двойственной задачи 2.  z = –x1 + 3x2 + 12x3 – x4 + 5 → min при −7 x1 + 4 x3 + 3 x4 − 46 x5 ≥ 15,
будет  x ≥ 1,
 5
 4 11
−1
 11 1   x1 ≤ 0, x2 ≤ 0, x4 ≥ 0
Y ∗ = (23, 60)  =  , ,
 2 −1  2 2 −5 x1 + 3 x2 + 8 x5 ≥ 5,
2 x − 6 x + 7 x − 4 x ≤ 70,
* 11 1  1 2 3 5
причем Tmin = T (Y ) = 57 ⋅
+ 9 ⋅ − 18 = 300 = zmax = − − + − − → + − +
2 2 3.  z 4 x1 3 x3 12 x 4 x5 7 max при  13 x 2 x 2 4 x3 6 x 4 ≥ 12,
 x ≤ 2, x ≥ 7,
Если в  задаче ЛП выделен допустимый базис и  базисные пере-  2 4
менные исключены из целевой функции, то оптимальным решением  x1 ≥ 0, x3 ≥ 0
двойственной задачи являются элементы строки оценок последней
симплекс-таблицы при базисных переменных исходной симплекс-та- 4 x1 − 3 x3 + 14 x5 ≥ 34,
− x − x − x + 18 x ≤ 5,
блицы. Например, для задачи (4.1) двойственной задачей будет  1 2 3 5
4.  z = 23 x1 + 4 x 2 − 7 x3 + 4 x5 − 28 → min при 
x
 4 ≥ 3,
T = 33 y1 + 24 y2 + 24 → min
3 y1 + y2 ≥ 18,  x1 ≥ 0, x2 ≥ 0, x5 ≤ 0
2 y + 8 y ≥ 44, Для следующих задач ЛП:
 1 2
а)  построить задачу, двойственную данной;
. 5 y1 + 6 y2 ≥ 56,
б)  решить двойственную задачу графическим методом;
 y ≥ 0,
 1 в)  найти решение исходной задачи с  помощью теоремы равно-
 y2 ≥ 0 весия.
и общая формула теоремы 4.4 дает −13 x1 + 8 x2 + 5 x3 ≥ −18,
5.  z = x1 + 154 x2 − 21x3 → min при x ≥ 0 и  
−1
7 x1 + 6 x2 − 13 x3 ≥ 20
 3 5
Y ∗ = (18, 56) = (4, 6),   T (Y ∗ ) = 33 ⋅ 4 + 24 ⋅ 6 + 24 = 300 −2 x1 + x2 + x3 ≥ −4,
 1 6 6.  z = x1 + 4 x2 − 2 x3 → min при x ≥ 0 и  
7 x1 + 4 x2 − 11x3 ≥ 29
С другой стороны, оптимальное решение Y * = (4, 6) легко находит-
−8 x1 + 3 x2 + 5 x3 ≥ −13,
ся из строки оценок последней симплекс-таблицы как коэффициенты 7.  z = 20 x1 + 108 x2 − 51x3 → min при x ≥ 0 и  
при базисных переменных x4, x5 исходной. − x1 + x2 − 2 x3 ≥ 3
•Глава 4. Взаимно двойственные задачи
5
80

−5 x1 + x2 + 4 x3 ≥ −4,
8.  z = −10 x1 + 44 x2 + x3 → min при x ≥ 0 и  
Глава
5 x1 + 6 x2 − 11x3 ≥ 11
−9 x1 + 2 x2 + 7 x3 ≥ −25, Задачи целочисленного
9.  z = 3 x1 + 58 x2 − 13 x3 → min при x ≥ 0 и  
6 x1 + 4 x2 − 10 x3 ≥ 22 программирования
−12 x1 + 7 x2 + 5 x3 ≥ −22,
10.  z = –10x1 + 56x2 – x3 → min при x ≥ 0 и  
 x1 + 3 x2 − 4 x3 ≥ 9
Для следующих задач линейного программирования: 5.1.  Постановка задачи.
а)  построить задачу, двойственную данной;
б)  решить исходную задачу симплекс-методом и  найти решение Графический метод решения
двойственной задачи.
11.  z  = x1 + 3x2 + 3x3 + x4 + x5 + 7 → max при x ≥ 0 . Основным отличием постановки задачи целочисленного програм-
мирования от  задачи линейного программирования является то, что
4 x1 + 3 x2 + x3 − 2 x5 = 5,
и   значения переменных, составляющих оптимальное решение задачи
2 x1 + 2 x2 + x4 + 2 x5 = 2 целочисленного программирования, должны быть целыми неотрица-
12.  z  = 2x1 + x2 + x3 – x4 – x5 + 8 → max при x ≥ 0 . тельными числами.
2 x1 − 3 x2 + x3 + x4 = 9, Итак, требуется найти минимальное (максимальное) значение ли-
и   нейной функции
3 x1 + 2 x2 + x3 + x5 = 7
13.  z  = x1 – x2 + 2x3 + 2x4 – x5 + 13 → max при x ≥ 0 . n
z = ∑ c j x j + с0 → min(max)
3 x1 − x2 + 4 x3 + x4 = 3, j =1
и  
2 x1 + x2 + 2 x3 + x5 = 7 при линейных ограничениях
14.  z  = x1 – 2x2 + x3 + 2x4 + 4x5 + 23 → max при x ≥ 0 . n
 x1 + 4 x2 + x4 − 2 x5 = 4,
и   ∑ aij x j = bi , i = 1, , m,
−5 x2 + x3 + 6 x4 + 5 x5 = 5
j =1

15.  z  = 52x1 + 72x2 + 61x3 + x4 + x5 + 8 → max при x ≥ 0 . а также при условии неотрицательности и целочисленности перемен-
2 x1 + 6 x2 + x3 + x4 = 22, ных xj ≥ 0, xj ∈ Z, j = 1, …, n.
и   Поясним графический метод решения задачи целочисленного про-
3 x1 + 2 x2 + 5 x3 + x5 = 40
граммирования на примере следующей задачи.
16.  z  = 12x1 + 13x2 + x3 + 7x4 – 3x5 + 2 → max при x ≥ 0 .
Пример 5.1. Решить задачу целочисленного программирования
16 x1 + x2 − 7 x4 + 13 x5 = 3, с целевой функцией z = 2x + 3y + 8 → max и ограничениями
и  
−2 x1 + x3 + 5 x4 + x5 = 15
 y − x ≤ 4,

 y + x ≤ 7,
 x ≥ 0, y ≥ 0; x, y ∈ Z

Решение. Строим область на плоскости (x, y), определяемую систе-
мой ограничений (рис. 5.1), игнорируя пока условие целочисленности
x и  y. Получаем четырехугольник OABC с  угловыми точками O(0, 0),
82•Глава 5. Задачи целочисленного программирования •83
5.2.  Двойственный симплекс-метод

A(0, 4), B(3 / 2, 11 / 2) и C(7, 0); при этом все решения системы ограни- в отличие от обычного симплекс-метода, его можно применять и в слу-
чений задачи суть точки с целочисленными координатами на границе чае, если свободные члены системы нетривиальных ограничений яв-
и внутри этого четырехугольника. ляются отрицательными числами (при решении задачи симплексным
методом эти числа предполагаются неотрицательными).
y
Пусть требуется найти максимальное значение функции
z = c1 x1 + c2 x2 + + cn xn + c0
при условиях
B
D  x1 + a1,m +1 xm +1 + ... + a1n xn = b1,
A 
 x2 + a2,m +1 xm +1 + ... + a2 n xn = b2 ,
l1 
...
n x + a
m,m +1 xm +1 + ... + amn xn = bm ,
O C  m
x  x j ≥ 0, j = 1, ..., n.
l2

Рис. 5.1
Присоединим к системе ограничений целевую функцию z, исклю-
чив из нее базисные переменные и записав ее в виде уравнения
Чтобы найти точку, в  которой функция z достигает максимума, z + ∆ m +1 xm +1 + + ∆ n xn = ∆ 0
как и  при решении графическим методом задач линейного про-

граммирования, строим вектор нормали n = (2, 3) Перемещая ли- Напомним, что коэффициенты ∆j, j = 1, …, n называются оценками
 соответствующих переменных xj.
нию уровня в  направлении вектора n и  рассматривая в  качестве
возможных решений лишь точки с целочисленными координатами, Заметим, что среди чисел bi могут быть отрицательные. При этом,
убеждаемся, что максимум z достигается в  точке D(2, 5) и  zmax  = . хотя точка X = (b1, b2, …, bm, 0, …, 0) является решением системы не-
= z(D) = 27. тривиальных ограничений, она не является планом исходной задачи,
Заметим, что соответствующим решением задачи линейно- так как среди ее координат имеются отрицательные числа.
го программирования без условия целочисленности будет точка B Определение 5.1. Решение X  = (b1, b2, …, bm, 0, …, 0) системы не-
и z(B) = 55 / 2. тривиальных ограничений называется псевдопланом (псевдорешением)
Ясно, что решение задач целочисленного программирования гра- задачи линейного программирования, если ∆j ≥ 0, j = 1, …, n.
фическим способом возможно не всегда. В общем случае существует Основными предпосылками для решения задачи линейного про-
несколько методов решения данных задач, наиболее распространен- граммирования двойственным симплекс-методом являются следую-
ным из  которых является метод сечений (метод Гомори). Перед тем щие две теоремы.
как перейти к  изложению метода Гомори, рассмотрим, как задачи Теорема 5.1. Если в  псевдоплане X  = (b1, b2, …, bm, 0, …, 0) есть
линейного программирования решаются с  помощью двойственного хотя бы одно отрицательное число bi < 0 такое, что все aij ≥ 0 при i = .
симплекс-метода. = 1, …, m, то задача не имеет решений.
Теорема 5.2. Если в псевдоплане X = (b1, b2, …, bm, 0, …, 0), имеются
отрицательные числа bi < 0 такие, что для любого из них существуют
5.2. Двойственный симплекс-метод числа aij < 0, то  можно перейти к  новому псевдоплану, при котором
значение целевой функции задачи не уменьшится.
Двойственный симплекс-метод, как и  обычный симплекс-метод, Сформулированные теоремы дают основание для построения алго-
используется для решения задач линейного программирования. Но, ритма двойственного симплекс-метода.
84•Глава 5. Задачи целочисленного программирования •85
5.2.  Двойственный симплекс-метод

Пусть X  = (b1, b2, …, bm, 0, …, 0)  — псевдоплан исходной задачи. z = x1 + x2 + 2 x3 → max, z = x1 + x2 + 2 x3 → max
На  основе условия задачи составляем симплекс-таблицу, в  которой
 x1 + x2 + x3 = 8,  x1 + x2 + x3 = 8,
элементы свободного столбца могут быть отрицательными числами:  x − x − x = 4, − x + x + x = −4,
 1 2 4   т.е.   1 2 4
базис bi x1 x2 … xl … xm xm +1 … xn  
 x1 + 2 x2 − x5 = 6, −
 1 x − 2 x 2 + x5 = −6,
x1 b1 1 0 … 0 … 0 a1,m +1 … a1n  x j ≥ 0, j = 1, …, 5,  x j ≥ 0, j = 1, , 5
x2 b2 0 1 … 0 … 0 a2,m +1 … a2 n
Исключив из целевой функции x3, получаем следующую симплекс-
          
таблицу
xl bl 0 0 … 1 … 0 al ,m +1 … al ,n
      … 0    б.п. с.ч. х1 х2 х3 х4 х5
х3 8 1 1 1 0 0
xm bm 0 0 … 0 … 1 am,m +1 … amn
х4 –4 –1 1 0 1 0
z ∆0 0 0 0 0 0 0 ∆ m +1 … ∆n х5 –6 –1 –2 0 0 1
1.  Проверяем псевдоплан на оптимальность. Если bi ≥ 0 (i = 1, …, z 16 1 1 0 0 0
m), то, так как, по предположению, все ∆j ≥ 0, псевдоплан X = (b1, b2,
Так как в  столбце свободных членов имеются два отрицательных
…, bm, 0, …, 0) будет оптимальным решением исходной задачи. Если же
числа –4 и –6, а в последней строке нет отрицательных чисел, то в со-
в  столбце свободных членов имеются отрицательные числа, то  либо
устанавливаем неразрешимость задачи (на  основании теоремы 5.1), ответствии с алгоритмом двойственного симплекс-метода переходим
либо переходим к новому псевдоплану. к новой симплекс-таблице. Заметим, что в данном случае это можно
2.  Выбираем разрешающую строку как содержащую наибольшее сделать, так как в строках, содержащих отрицательные свободные чле-
по  абсолютной величине отрицательное число в  столбце свободных ны (–4 и –6) есть отрицательные числа. Так как наибольшее по моду-
членов (пусть это строка со  свободным членом bl). Для выбора раз- лю отрицательное число в столбце свободных членов есть –6, то ис-
решающего столбца находим минимум модуля отношения элементов ключаем из  базиса переменную x5. Чтобы определить разрешающий
строки оценок к отрицательным элементам l-ой строки, т.е. находим
min(–∆j / alj), где alj < 0. Пусть это минимальное значение принимается
столбец, находим min − , − {
1
−1 −2
1 1
}
= , т.е. минимальное отношение
2
при j = r, тогда в базис вводят переменную xr, а число alr является разре- элементов строки оценок к  отрицательным числам разрешающей
шающим элементом. Переход к новой симплекс-таблице производят строки (с противоположным знаком) дает столбец x2. Умножаем тре-
по обычным правилам симплексного метода. тью строку на –1 / 2 и переходим к новой симплекс-таблице
3.  Находим новый псевдоплан и переходим к пункту 1.
Пример 5.2. Найти максимальное значение функции z = x1 + x2 + . б.п. с.ч. х1 х2 х3 х4 х5
+ 2x3 при условиях х3 5 1 / 2 0 1 0 1 / 2
х4 –7 –3 / 2 0 0 1 1 / 2
 x1 + x2 + x3 = 8,
 x − x ≥ 4, х2 3 1 / 2 1 0 0 –1 / 2
 1 2
z 13 1 / 2 0 0 0 1 / 2

 x1 + 2 x2 ≥ 6,
Аналогично, так как в свободном столбце последней таблицы есть
 x1 ≥ 0, x2 ≥ 0, x3 ≥ 0
отрицательное число –7, рассмотрим элементы второй строки. Среди
Решение. Запишем исходную задачу линейного программирования этих чисел есть одно отрицательное –3 / 2. Если бы такое число отсут-
в  канонической форме, введя балансовые переменные x4, x5, а  затем ствовало, то исходная задача была бы неразрешима. Выбор разреша-
перепишем ее так, чтобы коэффициенты при базисных переменных ющего элемента здесь однозначен, умножаем вторую строку на –2 / 3
были равны 1. и переходим к новой симплекс-таблице
86•Глава 5. Задачи целочисленного программирования •87
5.3.  Метод Гомори

б.п. с.ч. х1 х2 х3 х4 х5 z = 2 x1 + 3 x2 + 8 → max


х3 8 / 3 0 0 1 1 / 3 2 / 3 − x1 + x2 ≤ 4,
х1 14 / 3 1 0 0 –2 / 3 –1 / 3 
 x1 + x2 ≤ 7,
х2 2 / 3 0 1 0 1 / 3 –1 / 3  x ≥ 0, x ≥ 0; x , x ∈ Z
z 32 / 3 0 0 0 1 / 3 2 / 3  1 2 1 2

Таким образом, в последней строке и в столбце свободных членов Решение. Приведем задачу к каноническому виду
∗  14 2 8  z = 2 x1 + 3 x2 + 8 → max
нет отрицательных элементов, поэтому план X =  , ,  является
 3 3 3 − x1 + x2 + x3 = 4,
*
оптимальным и zmax = z(X  ) = 32 / 3. 
 x1 + x2 + x4 = 7,
 x ≥ 0, x ≥ 0; x , x ∈ Z ,
 1 2 1 2

5.3. Метод Гомори и решим задачу симплекс-методом (игнорируя условие целочисленно-


сти). Выпишем исходную симплекс-таблицу.
Решение задачи целочисленного программирования методом Го- б.п. с.ч. х1 х2 х3 х4
мори начинают с  определения симплексным методом оптимального
х3 4 –1 1 1 0
плана исходной задачи без учета целочисленности переменных. Если
х4 7 1 1 0 1
среди его компонент нет дробных чисел, то найденный план являет-
z 8 –2 –3 0 0
ся оптимальным планом задачи целочисленного программирования.
Если же в оптимальном плане задачи переменная xk, по условию цело- В последней строке есть два отрицательных числа, поэтому опор-
численная, принимает дробное значение, то  к  системе ограничений ное решение X = (0, 0, 4, 7) не является оптимальным. Вводим в базис
добавляют неравенство переменную x2, и, в соответствие с правилами симплекс-метода, выво-
n
дим из базиса x3
∑ {aij }x j ≥ {bi }, б.п. с.ч. х1 х2 х3 х4
j =1
х2 4 –1 1 1 0
где {a} обозначает дробную часть числа a, а числа aij , bi взяты из последней х4 3 2 0 –1 1
симплекс-таблицы из строки, содержащей переменную xk как базисную. z 20 –5 0 3 0
Если  же дробные значения принимают несколько переменных, Теперь разрешающий элемент выбирается однозначно. Разделив
то  дополнительное неравенство определяется числом с  наибольшей вторую строчку на 2, сделаем еще один шаг симплекс-метода.
дробной частью. Затем, используя двойственный симплекс-метод, на-
ходят решение исходной задачи. б.п. с.ч. х1 х2 х3 х4
Если в  найденном плане задачи переменные опять принима- х2 11 / 2 0 1 1 / 2 1 / 2
ют дробные значения, то  снова добавляют одно дополнительное х1 3 / 2 1 0 –1 / 2 1 / 2
ограничение и процесс вычислений повторяют. Проводя конечное z 55 / 2 0 0 1 / 2 5 / 2
число итераций, либо получают оптимальный план задачи цело-  3 11 
численного программирования, либо устанавливают ее неразре- Итак, план X =  , , 0, 0 является оптимальным для исходной
2 2
шимость. задачи без учета условия целочисленности, но так как обе компоненты
Решим теперь задачу из примера 5.1 методом Гомори. x1 и x2 являются дробными, то X не является оптимальным решением
Пример 5.3. Решить методом Гомори задачу
•Глава 5. Задачи целочисленного программирования
88 •89
5.3.  Метод Гомори

задачи целочисленного программирования. Далее, так как дробные Дадим теперь геометрическую интерпретацию введения дополни-
части равны между собой, то дополнительное ограничение составляет- тельного ограничения x3 + x4 ≥ 1. Допустимая область при отсутствии
ся для одной из них (например, для переменной x2). Выписывая соот- условия целочисленности построена выше в примере 5.1. Теперь из ус-
ветствующую строку (первую) из последней симплекс-таблицы, полу- ловий задачи
чаем
− x1 + x2 + x3 = 4,
1 1 11 
x2 + x3 + x4 =  x1 + x2 + x4 = 7
2 2 2
выразим переменные x3, x4
и к системе ограничений добавляем неравенство
 x3 = 4 + x1 − x2 ,
{1} x2 +{} {} { }
1
2
x3 +
1
2
x4 ≥
11
2
,   т.е. 
1
2
1
x3 + x4 ≥
2
1
2

 x4 = 7 − x1 − x2
и подставим в неравенство. Получим x3 + x4 = 11 – 2x2 ≥ 1, т.е. x2 ≤ 5.
или, окончательно, x3  + x4 ≥ 1. Вводим балансовую переменную x5,
Полуплоскость, заданная последним условием x2 ≤ 5 (прямая l3
переписываем последнее условие в виде x3 + x4 – x5 = 1, или –x3 – x4 + .
на рис. 5.2 задает границу этой полуплоскости x2 = 5), отсекает от че-
+ x5 = –1, и добавляем его к заключительной симплекс-таблице. Полу-
чаем тырехугольника OABC треугольник BDE, не содержащий целочислен-
ных решений. Максимальное значение функции z следует искать в об-
б.п. с.ч. х1 х2 х3 х4 х5 ласти, ограниченной многоугольником OAEDC.
х2 11 / 2 0 1 1 / 2 1 / 2 0
x2
х1 3 / 2 1 0 –1 / 2 1 / 2 0
х5 –1 0 0 –1 1 1
z 55 / 2 0 0 1 / 2 5 / 2 0
Поскольку в  свободном столбце имеется отрицательный элемент, B
то  для решения задачи применяем двойственный симплекс-метод. E D
A l3
Чтобы определить разрешающий столбец, находим
 1/ 2 5/ 2  l1
min − ,−  = 1/ 2, т.е. минимальное отношение дает столбец пе-
 −1 −1 
O C
ременной x3. Умножаем третью строку на –1 и делаем шаг симплекс- x1
метода l2

б.п. с.ч. х1 х2 х3 х4 х5 Рис. 5.2


х2 5 0 1 0 0 1 / 2
Геометрическая интерпретация метода Гомори объясняет его дру-
х1 2 1 0 0 1 –1 / 2
гое название — метод сечений.
х5 1 0 0 1 1 –1
Пример 5.4. Для увеличения прибыли компания приняла реше-
z 27 0 0 0 3 1 / 2 ние о  приобретении нового оборудования, выделив на  это 19 / 3 у.е.
Получаем заключительную симплекс-таблицу, из которой, опуская и предоставив площадь 10 кв. м. При этом оборудование может быть
балансовые переменные x3, x4, x5, заключаем, что исходная задача це- заказано двух типов. Приобретение оборудования первого типа обой-
лочисленного программирования имеет оптимальный план X * = (2, 5). дется в 2 у.е. за 1 комплект, занимающий площадь 1 кв. м. Один ком-
При этом значение целевой функции zmax = 27. плект второго типа занимает 3 кв. м. и обойдется в 1 у.е. При этом ис-
пользование комплекта 1-го типа обеспечивает прибыль 2 у.е. в сутки,
•Глава 5. Задачи целочисленного программирования
90 5.4.  Решение задач линейного программирования средствами Excel •91
а второго — 4 у.е. в сутки. Составить оптимальный план приобретения
оборудования, обеспечивающий максимальную прибыль компании
и найти эту прибыть.
{1} x1 + {} { } {}
3
5
1
x3 + − x4 ≥
5
9
5
,   т.е. 
3
5
4
x3 + x4 ≥
5
4
5
Решение. Пусть x1, x2  — количество приобретенных комплектов или 3x3 + 4x4 ≥ 4. Вводим балансовую переменную x5 и получаем
первого и второго типов. Получаем следующую задачу оптимизации: 3 x3 + 4 x4 − x5 = 4,   или  −3 x3 − 4 x4 + x5 = −4
z = 2 x1 + 4 x2 → max, Включим в последнюю симплекс-таблицу дополнительное ограни-
2 x1 + x2 ≤ 19 /3, чение

 x1 + 3 x2 ≤ 10, б.п. с.ч. х1 х2 х3 х4 х5
 x ≥ 0, x ≥ 0; x , x ∈ Z
 1 2 1 2 х1 9 / 5 1 0 3 / 5 –1 / 5 0
Запишем задачу в каноническом виде х2 41 / 15 0 1 –1 / 5 2 / 5 0
х5 –4 0 0 –3 –4 1
z = 2 x1 + 4 x2 → max,
z 218 / 15 0 0 2 / 5 6 / 5 0
2 x1 + x2 + x3 = 19 /3,

 x1 + 3 x2 + x4 = 10,
 x ≥ 0, j = 1, …, 4; x , x ∈ Z
 j 1 2
Так как в третьей строке min −
−3{
2 /5 6 /5
,−
−4
2
}
= , то выводим из ба-
15
зиса x5 и вводим в базис x3. Поделив третью строку на –3 и сделав шаг
и составим для нее симплекс-таблицу симплекс-метода, получим
б.п. с.ч. х1 х2 х3 х4 б.п. с.ч. х1 х2 х3 х4 х5
х3 19 / 3 2 1 1 0 х1 1 1 0 0 3 / 5 –1 / 5
х4 10 1 3 0 1 х2 3 0 1 0 2 / 15 1 / 15
z 0 –2 –4 0 0 х5 4 / 3 0 0 1 –4 / 3 –1 / 3
Введем в  базис x2 и, соответственно, выведем из  базиса перемен- z 14 0 0 0 26 / 5 2 / 15
ную x4. Найдем решение задачи без учета условия целочисленности базисное решение из  заключительной симплекс-таблицы
 4 
б.п. с.ч. х1 х2 х3 х4 X = 1, 3, , 0, 0 а  решением исходной задачи является X *  = (1, 3),
 3 
х3 3 5 / 3 0 1 –1 / 3
*
х2 10 / 3 1 / 3 1 0 1 / 3 zmax = z(X  ) = 14.
z 40 / 3 –2 / 3 0 0 4 / 3 Итак, необходимо приобрести 1 комплект первого типа и  3 ком-
х1 9 / 5 1 0 3 / 5 –1 / 5
плекта второго типа. При этом суточная прибыль составит 14 у.е.
х2 41 / 15 0 1 –1 / 5 2 / 5
z 218 / 15 0 0 2 / 5 6 / 5
5.4. Решение задач линейного
 9 41  программирования средствами Excel
Таким образом, X =  , , 0, 0   — решение исходной задачи без

{} {}
5 15
9 4 12 41 11 В  этом параграфе на  примере задачи о  разрезах (пример 3.7) раз-
учета условия целочисленности. Заметим, что = = > = ,
5 5 15 15 15 берем алгоритм применения Excel для решения задач целочисленного
а  поэтому дополнительное ограничение выписывается для базисной программирования.
переменной x1. Последнее имеет вид Итак, требуется решить задачу
92 •Глава 5. Задачи целочисленного программирования •93
5.4.  Решение задач линейного программирования средствами Excel

f = CX → max, Для решения задачи вызываем команду «Поиск решения». Ее за-


полнение представлено в табл. 5.2, а итоговый лист Excel — в табл. 5.3.
 AX ≥ B,

 X ≥ 0,  Таблица 5.2
 x ∈Z , i = 1, … , 6,
 i
где X = (x1, x2, x3, x4, x5, x6)T — целочисленный вектор вариантов разре-
зов прутьев, C = (0, 10, 20, 10, 25, 5) — вектор возможных отходов для
каждого из вариантов разрезов, доходов от реализации единицы каж-
дого из продуктов, B = (15, 25, 60)T — вектор минимального количества
 2 0 1 0 1 0
необходимых заготовок, а  A =  0 2 0 0 1 1  — матрица соответ-
 
 0 0 1 3 2 0
ствующей системы нетривиальных ограничений системы (матрица за-
готовок).
Таблица 5.3
В таблице 5.1 представлены исходные данные на листе Excel для ре-
шения задачи.
 Таблица 5.1

Задачи для самостоятельного решения


Графическим методом найти решения следующих задач целочис-
Матрица заготовок A размещена в  клетках B3:G5, столбец B  — ленного программирования:
в ячейках H3:H5, вектор отходов — в строке E7:J7. Вектор вариантов − x1 + x2 ≤ 3,
разрезов X разместится в столбце G8:G13, AX — в столбце I3:I5, а об- 
щее количество отходов — в ячейке G14. 1.  z = 3 x1 + 7 x2 + 3 → max при  x1 + x2 ≤ 8,
 x , x ≥ 0, x , x ∈ Z
С  помощью мастера функций и  встроенной функции МУМ-  1 2 1 2
НОЖ (см. раздел 3.6) записываем в  столбец I3:I5 произведение
2 x1 + x2 ≥ 9,
AX массива B3:G5 на  столбец G8:G13, а  матричное умножение CX 
записываем в ячейку G14 как произведение строки E7:J7 на стол- 2.  z = 2 x1 + 3 x2 + 7 → min при 3 x1 − 4 x2 ≥ 3,
 x , x ≥ 0, x , x ∈ Z
бец G8:G13. После формирования массивов не  забываем нажать  1 2 1 2
Ctrl+Shift+Enter.
94•Глава 5. Задачи целочисленного программирования 5.4.  Решение задач линейного программирования средствами Excel •95
−4 x1 + x2 ≤ 29, − x2 − 6 x3 + x4 = −5,
3 x − x ≤ 15, 
 1 2 12.  z = − x2 − 3 x3 → max при x ≥ 0 и   x1 + 5 x2 − 19 x3 = −13,
3.  z = 3 x1 + x2 + 4 → min при  3 x − 6 x + x = −2
5
 1 x + 2 x2 ≥ 38,  2 3 5
 x1, x2 ≥ 0, x1, x2 ∈ Z Задачи целочисленного программирования:
−3 x1 + 14 x2 ≤ 78, а)  решить графическим методом;
5 x − 6 x ≤ 26, б)  решить методом Гомори;
 1 2
4.  z = 5 x1 + 7 x2 − 12 → min при  в)  дать геометрическую интерпретацию введения дополнительно-
 1x + 4 x 2 ≥ 25, го ограничения.
 x1, x2 ≥ 0, x1, x2 ∈ Z − x1 + x2 ≤ 2,
 x1 + x2 + x3 = 4, 13.  z = x1 + 5 x2 + 3 → max при x1, x2 ≥ 0, x1, x2 ∈ Z и  
 x1 + x2 ≤ 7
 x + 3 x + x = 9,
 1 2 4
− x1 + x2 ≤ 3,
5.  z = x1 + x2 + 3 → max при 
14.  z = 3 x1 + 5 x2 + 1 → max при x1, x2 ≥ 0, x1, x2 ∈ Z и  
−3 x1 + x2 + x5 = 0,  x1 + x2 ≤ 12
 x ≥ 0, x j ∈ Z , j = 1, …, 5.
 x1 + x2 ≤ 4,

15.  z = x1 + x 2 − 6 → max при x1, x2 ≥ 0, x1, x2 ∈ Z и   x1 + 3 x2 ≤ 9,
6.  z = x1 − 2 x2 + x3 + 3 x4 + 8 → max при −3 x + x ≤ 0
 1 2
16.  Для увеличения прибыли компания приняла решение о  при-
Двойственным симплекс-методом найти решения следующих за- обретении нового оборудования, выделив на это 34 у.е. и предоставив
дач линейного программирования: площадь 60 кв. м. При этом оборудование может быть заказано двух
−2 x1 − 2 x2 + x5 = −1, типов. Приобретение оборудования первого типа обойдется в  3 у.е.
 за 1 комплект, занимающий площадь 3 кв. м. Один комплект второго
7.  z = − x1 − 10 x2 + 10 → max при x ≥ 0 и  −2 x1 + 2 x2 + x3 = −2,
−4 x + 2 x + x = −1 типа занимает 5 кв. м. и  обойдется в  4 у.е. При этом использование
 1 2 4
комплекта 1-го типа обеспечивает прибыль 2 у.е. в сутки, а второго —
−2 x1 + x2 = −1, 3 у.е. в сутки. Составить оптимальный план приобретения оборудова-

8.  z = −2 x2 − 4 x4 − 3 → max при x ≥ 0 и  − x2 + x3 − x4 = −2, ния, обеспечивающий максимальную прибыль компании.
2 x − 4 x + x = −1 17.  На складе имеются бревна длиной 3 м. Часть из них требуется
 2 4 5
распилить на заготовки двух видов: длиной 1,2 м и длиной 0,8 м. За-
2 x1 − 3 x2 + x5 = −11, готовок первого типа нужно получить не менее 50 шт., а 2-го типа —

9.  z = −5 x 2 − 4 x3 + 4 → max при x ≥ 0 и  −2 x2 + 3 x3 − x5 = −9, не менее 81 шт. Найти наименьшее число бревен, требуемое для полу-
− x + x = −2 чения необходимого числа заготовок каждого типа.
 2 4

−3 x1 − 4 x2 = −17,

10.  z = −2 x1 − 6 x3 + 44 → max при x ≥ 0 и  −2 x2 − 3 x3 + 2 x5 = −9,
− x + 3 x = −1
 3 4

 x1 − x4 − 2 x5 = −7,

11.  z = −5 x4 − 7 x5 − 7 → max при x ≥ 0 и  − x3 + 3 x4 − 6 x5 = −3,
− x − x − 4 x = −11
 2 4 5
•97
6
6.1.  Постановка задачи

Глава Первая часть нетривиальных ограничений означает, что все по-


требности удовлетворены, вторая часть  — то, что весь груз вывезен
от поставщиков.
Транспортная задача Замечание 6.1. Если запасы и  потребности задаются целыми чис-
лами, то  транспортная задача имеет целочисленное оптимальное ре-
шение, поэтому транспортную задачу относят формально к  задачам
целочисленного линейного программирования.
Под транспортной задачей в  дальнейшем понимается задача ли- Можно показать, что число базисных переменных в системе огра-
нейного программирования, в которой требуется найти оптимальный ничений (6.1) равно m + n – 1.
(по стоимости) план перевозок некоторого однородного груза от ко- ∗ ∗
Определение 6.1. Решение X = (xij) (оптимальное решение X = ( xij ) ) .
нечного числа поставщиков A1, A2, …, Am с заданными запасами a1, …,
am к конечному числу потребителей B1, B2, …, Bn с потребностями b1, …, транспортной задачи, удовлетворяющее условиям (6.1) и  имеющее
bn. Стоимость cij перевозки единицы груза от поставщика Ai к потреби- не более m + n – 1 занятой клетки (ненулевой перевозки), будем на-
телю Bj предполагается известной. зывать опорным планом (оптимальным опорным планом) транспортной
Отметим, что данная постановка задачи может быть значительно задачи.
расширена или изменена. Например, в приложениях часто рассматри- Исходные данные задачи представляют в виде табл. 6.1. Общие за-
m n
ваются задачи перевозки неоднородного груза. Также в качестве критерия
оптимальности можно рассматривать время перевозок (транспортная
пасы определяются суммой ∑ ai , а общая потребность: ∑ bj Транс-
i =1 j =1
задача по  критерию времени). Подобного рода задачи решаются све- портная задача называется задачей с правильным балансом, а ее модель
дением к однородной транспортной задаче, или для них разработаны m n
другие методы, изложение которых остается за рамками данной книги. закрытой, если ∑ ai = ∑ b j , т.е. суммарные запасы поставщиков рав-
i =1 j =1 m n
ны суммарным запросам потребителей. Если ∑ ai ≠ ∑ b j , то такая за-
6.1.  Постановка задачи i =1 j =1
дача называется задачей с неправильным балансом, а ее модель — от-
Итак, пусть X = (xij) — m×n матрица, где xij — объем перевозок от i-го крытой.
поставщика к  j-му потребителю. Тогда общие затраты на  перевозку
m n  Таблица 6.1
груза определяются функцией z( X ) = ∑ ∑ cij xij Математическая по-
i =1 j =1
Потребители
Поставщики Запасы
становка транспортной задачи определяется следующей задачей ли- B1 B2 … Bj … Bn
нейного программирования c11 c12 c1j c1n
A1 … … a1
m n x11 x12 x1j x1n
z( X ) = ∑ ∑ cij xij → min c21 c22 c2j c2n
A2 … … a2
i =1 j =1 x21 x22 x2j x2n
при условиях … … … … … … … …
m
∑ xij = b j , j = 1, …, n,
ci1 ci2 cij cin
Ai … … ai
xi1 xi2 xij xin
 i =1
 n … … … … … … … …

∑ xij = ai , i = 1, …, m, (6.1)
Am
cm1 cm2

cmj

cmn
am
 j =1 xm1 xm2 xmj xmn
 xij ≥ 0 Потребности b1 b2 … bj … bn
98 •Глава 6. Транспортная задача 6.2.  Построение начального опорного плана •99
6.2.  Построение начального опорного плана записываем потребителю B4. Окончательно потребности последнего
удовлетворяются за счет поставщика A3: вписываем в клетку A3B4 пере-
Первым этапом решения является построение начального опорно- возку 100. Заметим, что, так как исходная задача — с правильным ба-
го плана, т.е. плана перевозок, удовлетворяющего всем ограничениям лансом, то потребности последнего потребителя B4 равны запасам по-
конкретной транспортной задачи. Сущность методов состоит в  том, ставщика A3, т.е. 100. Получаем табл. 6.3 с начальным опорным планом
что начальный опорный план находят за не более чем m + n – 1 ша-
 80 40 20 0 
гов (по числу базисных переменных), на каждом из которых в транс-
портной таблице заполняют одну клетку, которую называют занятой. X = 0 0 130 30 

 
Заполнение одной из  клеток обеспечивает полностью либо удовлет- 0 0 0 100
ворение потребности в  грузе одного из  пунктов назначения (того,  Таблица 6.3
в столбце которого находится заполненная клетка), либо вывоз груза
B1 B2 B3 B4 ai
из одного из пунктов отправления (из того, в строке которого находит-
ся заполняемая клетка). Различаются эти планы по принципам выбора 1 11 3
A1 13 140
80 40 20
заполняемых клеток и, в  зависимости от  этого, могут давать планы,
более или менее отличные от оптимального. 8 2
A2 12 4 160
130 30
Пример 6.1. Рассмотрим транспортную задачу, заданную табл. 6.2.
В  правом нижнем углу стоит сумма запасов (и  одновременно сумма 6
A3 3 5 14 100
100
потребностей, так как модель закрытая) 140 + 160 + 100 = 80 + 40 + .
+ 150 + 130 = 400. bj 80 40 150 130 400

 Таблица 6.2
Суммарная стоимость перевозок равна

B1 B2 B3 B4 ai z( X ) = 1 ⋅ 80 + 11 ⋅ 40 + 3 ⋅ 20 + 8 ⋅130 + 2 ⋅ 30 + 6 ⋅100 = 2280


A1  1 11    3   13 140 Из решения видно, что метод северо-западного угла, с одной стороны,
A2 12  4    8    2 160 достаточно прост с точки зрения построения, а с другой стороны, не учи-
A3  3  5   14    6 100 тывает стоимость перевозок. Поэтому опорный план, построенный мето-
bj 80 40 150 130 400 дом северо-западного угла, как правило, далек от оптимального.
Построим теперь для этой  же задачи начальный опорный план
Напомним сначала метод северо-западного угла. Заполнение табли-
методом минимального тарифа. Суть этого метода состоит в  том, что
цы начинаем с левого верхнего (северо-западного) угла таблицы. Так
в клетки с наименьшими тарифами помещают максимально возмож-
как потребности первого потребителя B1 равны 80, а  запасы первого
поставщика A1 равны 140, то  в  клетку A1B1 вписываем максимально ные перевозки. Итак, в  таблице исходной задачи выбираем клетку
возможную перевозку 80. Потребности B1 полностью удовлетворены, с  минимальным тарифом, т.е. клетку A1B1 с  тарифом 1. Запасы по-
поэтому первый столбец исключаем из  рассмотрения, а  оставшиеся ставщика A1 равны 140, а потребности B1 — 80, поэтому в клетку A1B1
запасы первого поставщика, т.е. 60, переносим следующим потребите- вписываем максимально возможную перевозку 80 и  потребителя B1
лям. Мы можем 40 записать потребителю B2 (столбец B2 исключается), исключаем из  рассмотрения. В  оставшейся части таблицы выбираем
а оставшиеся 20 — B3 и исключить первую строку из дальнейшего рас- минимальный тариф, т.е. клетку A2B4 с тарифом 2. Запасы поставщи-
смотрения. ка A2 равны 140, а потребности B4 — 130, поэтому в клетку A2B4 запи-
Далее, так как потребности B3 равны 150, а 20 единиц груза ему уже сываем перевозку 130 и  потребителя B4 исключаем из  рассмотрения.
доставлены, то  оставшиеся 130 единиц доставляются от  второго по- У  оставшихся потребителей B2, B3 выбираем клетку с  минимальным
ставщика A2 (заполняем клетку A2B3). Столбец B3 исключаем из  рас- тарифом. Это A1B3 с  тарифом 3. Запасы (оставшиеся) поставщика A1
смотрения, а  оставшиеся запасы второго поставщика (30 единиц) равны 60, а  потребности B3  — 150, поэтому в  клетку A1B3 записыва-
100 •Глава 6. Транспортная задача 6.2.  Построение начального опорного плана•101
ем максимально возможную перевозку 60 и исключаем поставщика A1 столбец и строку, не учитывая тарифы в строке A1. Видим, что теперь
из дальнейшего рассмотрения. Далее аналогично в клетку A2B2 запи- максимальная разность получается в столбце B1 и перевозку 80 запи-
сываем 30 и исключаем второго поставщика. сываем в клетку A3B1 с минимальным тарифом 3 в этом столбце (пер-
В  оставшиеся две клетки A3B2 и  A3B3 последовательно вписываем вую строку мы исключили из рассмотрения). Столбец B1 аналогично
перевозку 10 в A3B2 и 90 в A3B3. Получаем табл. 6.4 с начальным опор- исключаем из  рассмотрения. Как видно из  таблицы, на  следующем
 80 0 60 0  шаге вписываем перевозку 10 в клетку A2B3 и исключаем столбец B3,
ным планом X =  0 30 0 130 . Суммарная стоимость перевозок затем — максимально возможную перевозку 40 в клетку A2B4 и исклю-
  чаем из рассмотрения столбец B4. Теперь для вычисления дальнейших
 0 10 90 0  разностей остается единственный столбец B2, поэтому в качестве раз-
равна
ностей по  строкам записываем нули. Далее в  клетку A2B2 записыва-
z( X ) = 1 ⋅ 80 + 3 ⋅ 60 + 4 ⋅ 30 + 2 ⋅130 + 5 ⋅10 + 14 ⋅ 90 = 1950 < 2280
ем 20, а на последнем шаге записываем перевозку 20 в клетку A3B2. По-
 0 0 140 0 
 Таблица 6.4
лучаем таблицу с начальным опорным планом X =  0 20 10 130 ,
B1 B2 B3 B4 ai  
 80 20 0 10 
1 3 а общая стоимость перевозок
A1 11 13 140
80 60
4 2
z( X ) = 3 ⋅140 + 4 ⋅ 20 + 8 ⋅10 + 2 ⋅130 + 3 ⋅ 80 + 5 ⋅ 20 = 1180 < 1950
A2 12 8 160
30 130
5 14  Таблица 6.5
A3 3 6 100
10 90 B1 B2 B3 B4 ai Разности по строкам
bj 80 40 150 130 400
3
A1 1 11 13 140 2  —  —  —  —  —
Таким образом, опорный план, построенный методом минималь- 140
ного тарифа, лучше, чем план, полученный методом северо-западного 4 8 2
A2 12 160 2 2 2 2 0  —
угла. 20 10 130
Применим, наконец, к исходной задаче метод аппроксимации Фо- 3 5
A3 14 6 100 2 2 1 1 0 0
геля. Для этого найдем разность между двумя минимальными тарифами 80 20
для каждой строки и столбца таблицы и запишем их в дополнительно bj 80 40 150 130 400
образованные строки и столбцы (см. табл. 6.5). В строке A1 минималь- 2 1 5 4
ный тариф равен 1, а  следующий за  ним 3, поэтому разность между 9 1 6 4
ними 4 – 2 = 2; в строке A2 минимальный тариф равен 2, а следующий Разности  — 1 6 4
за  ним 4, поэтому разность между равна 2; аналогично для строки A3 по столбцам  — 1  — 4
разность между минимальным тарифом 3 и следующим за ним 5 рав-  — 1  —  —
на 2. Итак, три двойки записываем в первый дополнительный столбец.
 — 0  —  —
Аналогично для столбцов разности 3 – 1 = 2, 5 – 4 = 1, 8 – 3 = 5
и 6 – 2 = 4 записываем в первую дополнительную строку. Теперь из всех Отметим, что методом Фогеля обычно получается план, близкий
разностей выбираем максимальную, т.е. 5 в столбце B3, и в клетку A1B3 к оптимальному, или сам оптимальный план.
с  минимальным тарифом в  этом столбце записываем максимально Замечание 6.2. В общем случае опорный план транспортной зада-
возможную перевозку 140. При этом поставщика A1 исключаем из рас- чи состоит из m + n – 1 занятой клетки (по числу базисных перемен-
смотрения. Теперь аналогично вычисляем разности между оставши- ных). Такой план называется невырожденным. Нередко при реше-
мися минимальными тарифами и заполняем вторые дополнительные нии транспортной задачи возникает вырожденный план с меньшим
102 •Глава 6. Транспортная задача 6.3.  Решение транспортной задачи методом потенциалов •103
числом занятых клеток (когда какие-то из базисных переменных рав-  Таблица 6.6
ны 0). В  этом случае выбирается свободная клетка (или несколько vj
свободных клеток — в зависимости от вырожденности плана) с наи- 2 4 8 2 ai
uj
меньшим тарифом, которая в дальнейшем формально считается за- 1 11 3 13
нятой с нулевой перевозкой. –5 140
−4 −12 140 −16
12 4 8 2
0 160
−10 20 10 130
6.3. Решение транспортной задачи 3 5 14 6
1 100
методом потенциалов 80 20 −5 −3
bj 80 40 150 130 400
Вторым этапом решения транспортной задачи является проверка
построенного плана на оптимальность и его улучшение (если он не оп- Теперь находим оценки для свободных клеток
тимален) с помощью метода потенциалов. Применение метода потен- ∆11 = u1 + v1 − c11 = −4 < 0,   ∆12 = u1 + v2 − c12 = −12 < 0,
циалов основано на следующей теореме. ∆14 = u1 + v4 − c14 = −16 < 0,   ∆ 21 = u2 + v1 − c21 = −10 < 0,
Теорема 6.1. Если опорный план X = (xij) транспортной задачи явля- ∆ 33 = u3 + v3 − c33 = −5 < 0,   ∆ 34 = u3 + v4 − c34 = −3 < 0
ется оптимальным, то существуют потенциалы поставщиков ui, i = 1,
…, m и потребителей vj, j = 1, …, n, удовлетворяющие условиям: Результат записываем в табл. 6.6 (где в свободных клетках в квадра-
тике записаны оценки). Все оценки отрицательны, поэтому план
ui + v j = cij при xij > 0 (для занятых клеток), (6.2)  0 0 140 0 
X =  0 20 10 130 оптимален и zmin = z(X *) = 1180.
*
∆ ij = ui + v j − cij ≤ 0 при xij = 0 (для свободных клеток). (6.3)  
 80 20 0 10 
Условия (6.2) образуют систему с m + n неизвестными ui, vj и в об- Пример 6.3. Теперь проверим на оптимальность план перевозок, по-
щем случае m + n – 1 уравнений. Так как число неизвестных системы лученный методом минимального тарифа. Ясно, что в  силу большей
на единицу больше числа уравнений, то одну из неизвестных можно суммарной стоимости перевозок план не оптимален, но вычисление по-
задать произвольно, а остальные найти из системы. тенциалов и оценок необходимо для того, чтобы этот начальный опор-
Числа ∆ij = ui + vj – cij называют оценками свободных клеток. Таким ный план улучшить. Проделав вычисления, аналогичные примеру 6.2,
образом, согласно теореме, опорный план будет оптимален, если для для опорного плана примера 6.1, построенного методом минимального
всех свободных клеток таблицы оценки неположительные. тарифа, получаем табл. 6.7. Как видим, среди оценок есть положитель-
Проверим теперь оптимальность планов, построенных выше.  80 0 60 0 
Пример 6.2. Сначала рассмотрим начальный опорный план, по- ные, поэтому, как и ожидалось, опорный план X =  0 30 0 130
строенный методом минимального тарифа и методом Фогеля. Потен-  
не оптимален.  0 10 90 0 
циалы будем записывать в первые строку и столбец вместо обозначе-
Чтобы улучшить опорное решение X транспортной задачи, введем
ний поставщиков и потребителей.
понятие цикла. Напомним, что циклом называется последователь-
Так как одну из неизвестных можно задать произвольно, то удоб- ность клеток таблицы транспортной за-
нее всего выбирать в  качестве исходной переменной тот потенциал, дачи, в которой две и только две соседние 80 – +
в строке которого больше всего занятых клеток. Здесь, таким образом, клетки расположены в  одной строке или ()
полагаем u2 = 0. Из условий (6.2) u2 + v2 = 4, u2 + v3 = 8, u2 + v4 = 2 сразу столбце. Цикл обычно изображают в  виде
находим, что v2 = 4, v3 = 8, v4 = 2. Далее, из u3 + v2 = 5 получаем, что замкнутой ломаной линии, соединяющей (80) +
90 –
u3 = 1, из u1 + v3 = 3 следует u1 = –5, а из u3 + v1 = 3 заключаем, что (10)
вершины цикла, расположенные в клетках
v1 = 2. Все потенциалы найдены (табл. 6.6). таблицы (рис. 6.1). Рис. 6.1
104 •Глава 6. Транспортная задача 6.4.  Открытая модель транспортной задачи •105
 Таблица 6.7 Полученный план лучше начального, и, 30 – (10)
+

оценивая его оптимальность с  помощью (20)


vj
1 –6 3 –8 ai метода потенциалов, видим, что есть поло-
ui
жительные оценки, и  план не  оптимален 10 + 10 –
1 11 3 13 (20) ()
0 140 (см. табл. 6.8). Снова выбираем свободную
80 −17 60 −21
клетку с положительной оценкой (здесь та- Рис. 6.2
12 4 8 2 кая клетка единственная  — клетка A2B3)
10 160
−1 30 5 130 и формируем цикл с вершиной в этой клет-
3 5 14 6 ке. Таковым является цикл, соединяющий клетки A2B3, A3B3, A3B2
11 100 и A2B2 (рис. 6.2). Так как ∆ = min(30, 10) = 10, то после перестановки
9 10 90 −3
bj 80 40 150 130 400  0 0 140 0 
по циклу получаем новый план X =  0 20 10 130 , фактически
*

Для построения нового опорного плана в таблице выбираем свобод-  


 80 20 0 10 
ную клетку с максимальной положительной оценкой (клетка A3B1) и фор-
мируем цикл, одной из вершин которого является выбранная клетка, уже возникавший в табл. 6.6. Его оптимальность уже была проверена.
а остальные клетки занятые. Легко видеть, что это цикл, соединяющий
клетки A3B1, A1B1, A1B3, и A3B3. Кроме этого, сопоставим каждой верши-
не цикла знак и  перевозку, при этом свободной клетке сопоставляем 6.4.  Открытая модель транспортной задачи
знак «+», а для остальных клеток знаки чередуются. Получим следую-
щий цикл, изображенный на рисунке 6.1. Теперь сделаем перестанов- Напомним, что транспортная задача m×n называется задачей с не-
m n
ку по циклу, а именно: из всех вершин, отмеченных минусом, вычтем
минимум из  всех перевозок, означенных этим знаком, т.е. вычитаем
правильным балансом, а ее модель — открытой, если ∑ ai ≠ ∑ b j , т.е.
i =1 j =1
∆ = min(80, 90) = 80, а ко всем вершинам с «+» прибавим ∆. Получим
суммарные запасы не равны суммарным потребностям.
новые значения перевозок, обозначенные на рис. 6.1 в скобках.
Открытую задачу можно свести к замкнутой:
При этом клетка A1B1 (обозначена знаком «()») становится свобод- m n
ной, и мы получаем новый опорный план (табл. 6.8). Общая стоимость 1)  если ∑ ai > ∑ b j , то вводят фиктивного потребителя Bn+1 с по-
перевозок равна i =1 j =1
m n
z( X ) = 3 ⋅140 + 4 ⋅ 30 + 2 ⋅130 + 3 ⋅ 80 + 5 ⋅10 + 14 ⋅10 = 1230 < 1950 требностью bn +1 = ∑ ai − ∑ b j и  нулевыми тарифами перевозок
i =1 j =1

 Таблица 6.8 в столбце;


m n

ui
vj
3 5 14 1 ai 2)  если ∑ ai < ∑ b j , то  вводят фиктивного поставщика Am+1 с  за-
i =1 j =1
1 11 3 13 n m
–11
−9 −17 140 −25
140 пасом am+1 = ∑ b j − ∑ ai и нулевыми тарифами перевозок в строке.
j =1 i =1
12 4 8 2
1 160 Пример 6.4. Рассмотрим задачу примера 6.1, но с измененным за-
−8 30 7 130
пасами, заданную табл. 6.9. Так как сумма запасов 150 + 160 + 120 = .
3 5 14 6 = 430 больше суммы потребностей 70 + 60 + 180 + 90 = 400, то вводим
0 100
80 10 10 −5 фиктивного потребителя B5 с нулевыми тарифами перевозок и потреб-
bj 80 40 150 130 400 ностями 30 (табл. 6.10).
106 •Глава 6. Транспортная задача 6.4.  Открытая модель транспортной задачи •107
 Таблица 6.9 дополнительного поставщика A4 с запасом 40 и тарифами перевозок 0
B1 B2 B3 B4 ai (табл. 6.12).
A1  1 11    3   13 150  Таблица 6.11
A2 12  4    8    2 160
B1 B2 B3 B4 ai
A3  3  5   14    6 120
A1  4   14 11   18   60
bj 80 40 150 130
A2  3   17  1   10 130
A3  9   16 11   18 120
 Таблица 6.10
bj 60 100 30 160
B1 B2 B3 B4 B5
vj ai Разности по строкам  Таблица 6.12
0 3 4 2 –3
ui M0
3 8 1 10 i1
11 5 4 2 0 M1
0 100 2 2 2 1 0  —  —
−11 −2 10 90 −3 4 14 11 18
6 60
1 4 5 9 0 M0 60 M1 −2
1 200 1 4 1 1 0 0  —
70 60 70 −6 −2 3 17 1 10
0 130
9 8 7 10 0 60 −9 30 40
3 130 7 7 1 1 0 0 0
−6 −2 100 −5 30 9 16 11 18
8 120
bj 70 60 180 90 30 400 2 40 −1 80
8 1 1 7 0 0 0 0 0
–10 40
 — 1 1 7 0 M0 N0 N1 = N \ N0 40
<M, N1, T> 60 100 30 160
 — 1 1 7  —
Разности
 — 1 1  —  — Построим начальный план методом минимального тарифа и вычис-
по столбцам
 —  — 1  —  — лим потенциалы. Легко видеть, что план не оптимален, максимальная
 —  — 2  —  — положительная оценка равна 5, и вершинами цикла являются клетки
 —  — 0  —  — A1B1, A2B1, A2B4, A3B4, A3B2 и  A1B2. Получается цикл «с  самопересече-
нием», изображенный на рис. 6.3. Получаем, что ∆ = min(60, 80) = 60.
Методом аппроксимации Фогеля построим начальный план и ме- Заметим, что после перестановки по циклу сразу в двух клетках полу-
тодом потенциалов проверим полученный план на  оптимальность. чается нулевая перевозка.
Получаем, что все оценки отрицательны, поэтому полученный план 60
(60) – +
()
 0 0 10 90
X =  70 60 70 0 

  60 + – 40
 0 0 100 0  (0) –
+
(100)
(для его записи мы отбрасываем столбец фиктивного потребителя B5)
оптимален и F(X *) = 1580. Как следствие неправильного баланса име- 40
ем, что от поставщика A3 не вывезено 30 единиц груза. (100) +
– 80
(20)
Пример 6.5. В транспортной задаче, заданной табл. 6.11, сумма за-
пасов равна 310, а  потребностей  — 350. Поэтому необходимо ввести Рис. 6.3
108 •Глава 6. Транспортная задача 6.5.  Определение оптимального плана транспортных задач •109
Замечание 6.3. Если после перестановки по циклу больше чем в од-  Таблица 6.14
ной клетке образуется нулевая перевозка, то  одна из  них становится ui
свободной (желательно, с максимальным тарифом), а остальные счи- 1 8 1 10 ai
vj
таются занятыми с  нулевой перевозкой, 14 11 18
4
чтобы число занятых клеток оставалось 3 60
100 60 −3 −7 −5
0 – +
равным m + n – 1.
() (100) 3 17 1 10
Таким образом, получаем новый план, 0 130
−2 −9 30 100
указанный в  табл.  6.13. Имеется един-
20 ственная клетка A2B1 с  положительной 9 16 11 18
(0) +

8 120
(20)
оценкой, причем в  цикле, изображенном 0 100 −2 20
Рис. 6.4 на  рис.  6.4, одна из  клеток, означенных 0 0 0 0
–10 40
минусом, имеет нулевую перевозку. −9 −2 −9 40
bj 60 100 30 160
 Таблица 6.13
ui
3 8 1 10 ai
vj
4 14 11 18 6.5.  Определение оптимального
1 60
60 −5 −9 −7 плана транспортных задач
0
3 17 1 10
130
с дополнительными ограничениями
0 −9 30 100
9 11 При решении транспортных задач методом потенциалов возможно
16 18
8 120 учитывать дополнительные ограничения на  перевозки. Ниже пере-
2 100 −2 20
числены варианты различных постановок транспортных задач и даны
0 0 0 0
–10 40 соответствующие методы сведения к закрытой транспортной задаче.
−7 −2 −9 40
1.  Если в  закрытой транспортной задаче перевозки от  поставщи-
bj 60 100 30 160 ка Ai к потребителю Bj не могут быть осуществлены (блокировка), то для
определения оптимального решения задач предполагают, что тариф
Замечание 6.4. Если занятая клетка с  нулевой перевозкой попала
перевозки единицы груза от Ai к Bj равен сколь угодно большому чис-
в  цикл и  соответствует знаку «–» (при этом ∆  = 0), то  перестановка
лу M.
по циклу сводится к тому, что свободная клетка объявляется занятой
2.  Если дополнительным условием в транспортной задаче являет-
с  нулевой перевозкой, а  занятая клетка с  нулевой перевозкой стано-
ся обеспечение перевозки от  поставщика Ai к  потребителю Bj в  точ-
вится свободной.
ности aij единиц груза, то в клетку AiBj записывают указанное число aij,
Таким образом, занятая нулевая и свободная клетки меняются ме-
стами (рис. 6.4). Проверяя план на оптимальность (табл. 6.14), убежда- а эту клетку считают свободной со сколь угодно большим тарифом M.
3.  Если от поставщика Ai к потребителю Bj должно быть перевезено
 60 0 0 0 
не менее aij единиц груза, что запасы пункта Ai и потребности пункта Bj

емся, что все оценки отрицательны, X = 0  0 30 100 (мы от-
  полагают меньше фактических на aij единиц. После нахождения опти-
 0 100 0 20  мального плана перевозку, стоящую в  клетке AiBj, увеличивают на  aij
брасываем строку фиктивного поставщика) оптимален и F(X *) = 3230. единиц.
В результате получаем, что потребности потребителя B4 удовлетворены 4.  Если от  поставщика Ai к  потребителю Bj требуется перевез-
не полностью. ти не  более aij единиц груза, то  вводят дополнительного потребителя
110 •Глава 6. Транспортная задача 6.5.  Определение оптимального плана транспортных задач •111
Bn+1 = Bij, которому записывают те же тарифы, что и для Bj, за исклю-  Таблица 6.16
чением тарифа в  i-й строке, который считают равным сколь угодно ui
большому числу M. Потребности пункта Bj считают равными aij, а по- 1 7 – M 3 –5 ai
vj
требности Bij полагают равными bj – aij. 11 13
1 3
Пример 6.6. Найти решение транспортной задачи, заданной 0 110
80 −M − 4 30 −18
табл. 6.15, если из A3 в B1 и из A2 в B3 перевозки не могут быть осущест-
12 4 M 2
влены, из A1 в B2 должно быть завезено не менее 30 ед. груза, а из A2 в B4 M – 3 160
M −14 10 80 70
ровно 70 ед.
M 5 14 6
11 100
 Таблица 6.15 12 − M 13 − M 40 60
vj bj 80 10 150 130 400
2 4 8 2 ai
ui
–5  1 11    3   13 140  Таблица 6.17
0 12  4    8    2 160 ui
1 –7 3 –5 ai
1  7  5   14    6 100 vj
bj 80 40 150 130 400 1 11 3 13
0 110
0 −18 110 −18
Решение. Так как из A2 в B1 и из A3 в B4 перевозки не могут быть осу- M
12 4 2
ществлены, то в клетках A3B1 и A2B3 тарифы считаем равными некото- 11 160
80 10 14 − M 70
рому большому числу M. В клетке A2B4 перевозку считаем равной 70,
M 5 14 6
а тариф — равным M, и эту клетку в дальнейшем полагаем свободной. 11 100
Кроме этого, запасы A1 и потребности B2 уменьшаем на 30. 12 − M −1 40 60
Получаем табл. 6.16, строим начальный опорный план методом ми- bj 80 10 150 130 400
нимального тарифа, находим потенциалы и оценки свободных клеток Пример 6.7. Найти решение транспортной задачи, заданной
(см. табл.  6.16). Имеем единственную положительную оценку табл. 6.15, если из A3 в B3 перевозки запрещены, из A2 в B1 должно быть
∆12 = M – 14 и строим цикл, соединяющий клетки A1B1, A1B3, A2B3 и A2B1 завезено не более 50 ед. груза, а из A1 в B4 — не менее 40 ед. груза.
(рис. 6.5). В клетках, означенных минусом, перевозки одинаковы, по- Решение. Так как из A3 в B3 перевозки запрещены, то тариф в A3B3
этому, в  соответствии с  замечанием 6.3, клетку A1B1 считаем занятой считаем равным M.  Запасы A1 и  потребности B4 уменьшаем на  40,
с нулевой перевозкой, а A2B3 — свободной. а  также вводим дополнительного потребителя B5 с  потребностями
30 После перестановки по  циклу получаем 80 – 50 = 30. Соответственно в клетке A3B5 стоимость перевозок счита-

+
(110) новый план (табл. 6.17). Так как все оценки ем равной M, а потребности B1 приравниваем к 50.
отрицательны, то данная таб­лица — заклю- Получаем табл. 6.18. Найдем начальное опорное решение методом
80 чительная. Увеличиваем перевозку в клет- минимального тарифа, потенциалов и  оценки. Анализируя циклы,
(80) +

() ке A1B2 на 30, получаем оптимальный план проходящие через клетки с максимальной
перевозок, удовлетворяющий всем ограни- положительной оценкой M – 9, выбираем
Рис. 6.5
 0 30 110 20 цикл, содержащий клетку A3B1, так как при 50 – 20
+
∗  80 10 0 70 и  ()
чениям задачи: X = этом перевозка в ячейке A3B3 максимально
  уменьшается. Итак, в  результате переста-
 0 0 40 60 100
новки по  циклу, соединяющему клетки (50) +

F ( X ∗ ) = 3 ⋅110 + 12 ⋅ 80 + 4 ⋅10 + 2 ⋅ 70 + 14 ⋅ 40 + 6 ⋅ 60 = 2390 A3B1, A1B1, A1B3 и A3B3 (рис. 6.6), получаем (50)
новую табл. 6.19. Рис. 6.6
112 •Глава 6. Транспортная задача 6.5.  Определение оптимального плана транспортных задач •113
 Таблица 6.18
 20 0 80 40
получим оптимальный план перевозок X =  0 0 70 90 , удов-

vj
ui
1 –1 3 –3 1 ai  
 60 40 0 0 
1 11 3 13 1 летворяющий всем ограничениям задачи, и 
0 100
50 −12 20 −16 30
12 M
z( X * ) = 1 ⋅ 20 + 3 ⋅ 80 + 13 ⋅ 40 + 8 ⋅ 70 + 2 ⋅ 90 + 7 ⋅ 60 + 5 ⋅ 40 = 2140
4 8 2
5 160
−6 40 30 90 6− M
 Таблица 6.20
7 5 M 6 7
M – 3 100 vj
M −9 M −9 100 M −12 M −9 7 5 М М – 6 М – 2 ai
ui
bj 50 40 150 90 30 400
1 11 3 13 1
3 – M 100
9− M 3− M 70 −16 30
 Таблица 6.19
12 4 8 2 M
8 – M 160
vj 3− M 9− M 70 90 6− M
15 – M 4 8 2 6 ai
ui 6 7
7 5 M
1 11 3 13 1 0 100
–5 100 50 40 10 M −12 M −9
9− M −12 70 −16 30
bj 50 40 150 90 30 400
12 4 8 2 M
0 160
3− M 40 30 90 6− M
 Таблица 6.21
7 5 M 6 7
М – 8 100 vj
50 M −9 50 M −12 M −9 7 5 9 3 7 ai
ui
bj 50 40 150 90 30 400
1 11 3 13 1
–6 100
40 – +Опять получаем две ячейки с  мак-
30
0 −12 100 −16 0
() симальной положительной оценкой 12 4 8 2 M
–1 160
∆32 = ∆34 = M – 9. Так как для цикла с нача- −6 20 50 90 6− M
(40) + 50 лом в A3B2 перевозка в клетке A3B3 умень-

7 5 M 6 7
(10) шается на 40, а для цикла с началом в A3B4 0 100
50 20 9− M −3 30
Рис. 6.7 эта же перевозка уменьшается лишь на 30, bj 50 40 150 90 30 400
то для получения нового опорного плана
выбираем цикл, содержащий ячейки A3B2, Замечание 6.5. Поскольку решение задачи связано с  разделением
A2B2, A2B3 и A3B3. Перестановка по циклу изображена на рис. 6.7, а но- перевозок одному из  потребителей на  несколько столбцов, а  затем
вый план — в табл. 6.20. их объединением, то число занятых клеток в оптимальном плане мо-
После очередного перехода по  циклу, проходящему через клетки жет быть больше, чем m + n – 1. Так, для задачи примера 6.7, в оконча-
A3B5, A3B3, A1B3 и  A1B5, получим табл.  6.21. Как легко проверить, все тельном плане транспортной задачи 3×4, мы имеем 7 занятых клеток.
оценки здесь не  положительны, и  опорный план, определяемый Замечание 6.6. Нулевая оценка одной или нескольких свободных
табл. 6.21, является заключительным. Данная таблица — заключитель- клеток говорит о наличии альтернативных решений исходной задачи.
ная, и, увеличивая перевозку в  клетке A1B4 на  40, а  также объединяя Так, рассмотрим цикл A2B2, A2B3, A1B3, A1B5, A3B5 и A3B2, проходящий
перевозки, записанные в соответствующих клетках столбцов B1 и B5, через ячейку A2B2 с нулевой оценкой (рис. 6.8).
114 •Глава 6. Транспортная задача •115
6.6.  Решение транспортной задачи средствами Excel

80 + – 20 Первая из представленных матриц задает тарифы перевозок, а во вто-


(100) () рой записывается результат решения задачи. При этом ячейки G10:G12
получаются суммированием перевозок (функция СУММ) соответствую-
70
(20) + – щих строк плана, а ячейки C13:F13 — его столбцов. В ячейку G14 за-
писывается попарная сумма (функция СУММПРОИЗВ) С4:F6 и С10:F12.
Надстройка «Поиск решения» реализуется в  соответствии
40 – + 10
(20) (30) с  табл.  6.23, а  результат, который совпадает с  оптимальным планом
примера 6.7, получается после выполнения оптимизации (табл. 6.24).
Рис. 6.8
 Таблица 6.3
В результате перестановки по циклу с ∆ = 20, получим новый опти-
 0 0 100 40
мальный план X 1 =  0 20 50 90 , удовлетворяющий всем огра-
*
 
 80 20 0 0
ничениям задачи. Как и следовало ожидать, суммарная стоимость пе-
ревозок
z( X 1∗ ) = 3 ⋅100 + 13 ⋅ 40 + 4 ⋅ 20 + 8 ⋅ 50 + 2 ⋅ 90 + 7 ⋅ 80 + 5 ⋅ 20 = 2140
равна z(X *).
 Таблица 6.24

6.6. Решение транспортной задачи


средствами Excel
В  этом разделе рассмотрим алгоритм применения Excel к  транс-
портной задаче примера 6.7 с начальной табл. 6.15.
В табл. 6.22 представлены исходные данные на листе Excel для ее
решения.
 Таблица 6.22

Задачи для самостоятельного решения


Решить транспортные задачи методом потенциалов
B1 B2 B3 B4 ai B1 B2 B3 B4 ai
A1 8 6 9 2 160 A1 4 4 8 6 80
1. A2 7 16 12 12 60 2. A2 11 15 24 18 50
A3 6 15 8 3 180 A3 11 22 15 14 180
bj 80 60 60 200 b j 100 10 40 160
•Глава 6. Транспортная задача
116 •117
6.6.  Решение транспортной задачи средствами Excel

15.  Найти решение транспортной задачи с  таблицей


B1 B2 B3 B4 ai B1 B2 B3 B4 ai
B1 B2 B3 B4 ai
A1 10 10 4 8 90 A1 6 10 8 8 160
A1 3 4 7 9 100
3. A2 14 25 13 23 60 4. A2 11 29 14 18 80
A2 16 5 12 4 100 , если из  A1 в  B2 и  из  A2 в  B3 перевозки
A3 12 13 6 12 140 A3 11 26 16 25 70
A3 8 11 12 5 200
bj 80 40 90 80 bj 100 70 30 110
b j 80 110 90 120
B1 B2 B3 B4 ai B1 B2 B3 B4 ai
не могут быть осуществлены.
A1 12 5 8 6 70 A1 4 14 11 18 30
5. A2 12 17 13 27 60 6. A2 3 17 1 10 130 16.  Найти решение транспортной задачи с  таблицей
A3 10 18 10 14 140 A3 9 16 11 18 120 B1 B2 B3 B4 ai
b j 90 50 100 30 bj 50 70 30 130 A1 5 14 6 21 120
A2 20 13 17 14 90 если из  A 3 в  B 2 перевозки не  могут
B1 B2 B3 B4 ai B1 B2 B3 B4 ai
A3 8 21 6 7 180
A1 5 9 14 10 120 A1 14 9 12 4 150
bj 95 110 80 70
7. A2 20 15 20 20 140 8. A2 12 15 19 16 70
быть осуществлены, а  из  A 1 в  B 4 должно быть перевезено 70 ед.
A3 12 8 14 17 70 A3 15 19 15 12 210
груза.
bj 80 90 70 90 bj 140 50 100 140
0
17.  Найти решение транспортной задачи с  таблицей
B1 B2 B3 B4 ai B1 B2 B3 B4 ai B1 B2 B3 B4 ai
A1 3 7 4 7 100 A1 1 13 12 3 60 A1 7 12 16 11 150
9. A2 10 13 24 7 100 10. A2 2 16 4 6 125 A2 8 2 4 2 140 , если из  A2 в  B4 перевозки запрещены,
A3 8 19 12 18 200 A3 13 4 17 16 75 A3 9 15 16 7 110
b j 90 80 30 170 b j 100 100 50 50 bj 75 145 120 60
B1 B2 B3 B4 ai B1 B2 B3 B4 ai из A1 в B3 должно быть доставлено не менее 40 ед. груза, а из A3 в B1 —
A1 5 6 2 4 75 A1 11 3 7 4 95 не более 50 ед. груза.
11. A2 18 22 11 3 185 12. A2 12 9 8 13 65 18.  Найти решение транспортной задачи с  таблицей
A3 18 9 6 11 90 A3 23 14 3 8 130 B1 B2 B3 B4 ai
bj 40 70 90 115 bj 40 110 85 105 A1 3 10 7 10 140
B1 B2 B3 B4 ai B1 B2 B3 B4 ai A2 4 9 19 25 105 если из  A2 в  B1 перевозки запрещены,
A1 14 7 2 17 100 A1 6 12 7 14 120 A3 6 4 5 2 115
13. A2 5 12 6 10 150 14. A2 12 3 18 3 80 bj 60 130 55 115
A3 9 2 3 12 120 A3 23 1 3 21 70 из A1 в B2 должно быть перевезено 50 ед. груза, а из A3 в B4 — не более
bj 60 95 85 90 bj 80 110 80 50 20 ед. груза.
•Глава 6. Транспортная задача
7
118

19.  Найти решение транспортной задачи с  таблицей Глава


B1 B2 B3 B4 ai
A1 9 6 7 11 70
Выпуклые функции
A2 3 14 25 19 170 , если из A1 в B4 должно быть перевезено
A3 2 8 17 10 140 и теорема Куна — Таккера
bj 90 60 160 70
не менее 50 ед. груза, из A3 в B3 должно быть перевезено не менее 30 ед.
груза, а из A2 в B2 — 40 ед. груза. В этой главе изучаются экстремумы выпуклых функций на выпу-
клых множествах в пространстве Rn. Причем если выпуклое множе-
20.  Найти решение транспортной задачи с  таблицей
ство задано системой ограничений типа равенств, то решение задачи
B1 B2 B3 B4 ai сводится к  поиску критических точек функции Лагранжа. Если  же
A1 12 14 11 20 90 выпуклое множество определено системой неравенств, то оптималь-
A2 3 4 5 9 155 , если из A1 в B4 должно быть перевезено ное значение целевой функции находится с  помощью решения си-
стемы Куна  — Таккера, которая и  является основной темой данной
A3 2 18 14 12 125
главы.
b j 100 75 75 120
не менее 40 ед. груза, из A2 в B3 — не более 50 ед. груза, а из A3 в B1 —
не менее 60 ед. груза. 7.1. Выпуклые функции
Напомним, что множество M ⊂ Rn называется выпуклым, если для
любых двух точек A ∈ M и B ∈ M отрезок AB целиком принадлежит M,
т.е. для любых точек A, B ∈ M, t ∈ [0, 1] точка (1 – t) A + tB ∈ M. Если же
найдется пара точек множества M, для которых это условие не выпол-
няется, то множество выпуклым не является.
Пусть теперь точка X = (x1, x2, …, xn) принадлежит выпуклому мно-
жеству M ⊂ Rn, а функция f (X) = f (x1, x2, …, xn) определена на M.
Определение 7.1. Функция f называется выпуклой на  множестве
M ⊂ Rn, если для любых точек A, B ∈ M, t ∈ [0, 1] имеет место неравен-
ство f ((1 − t ) A + tB ) ≤ (1 − t ) f ( A) + tf (B )
Если для любых точек A, B ∈ M, t ∈ (0, 1) имеет место строгое не-
равенство f ((1 − t ) A + tB ) < (1 − t ) f ( A ) + tf ( B ) то функция f называется
строго выпуклой на множестве M ⊂ Rn.
Если же для любых A, B ∈ M, t ∈ [0, 1] имеет место обратное нера-
венство
f ((1 − t ) A + tB ) ≥ (1 − t ) f ( A) + tf (B ),
то  функция f (X) называется вогнутой (а  в  случае строгого неравен-
ства — строго вогнутой).
•Глава 7. Выпуклые функции и теорема Куна — Таккера
120 7.1.  Выпуклые функции •121
Предположим теперь, что функция y  = f (X) имеет непрерывные Тогда в силу критерия Сильвестра достаточное условие выпуклости
частные производные 2-го порядка на выпуклом множестве M ⊂ Rn. для строго выпуклых (вогнутых) функций можно переформулировать
Определение 7.2. Матрицей Гессе функции y = f (X) называется ма- следующим образом.
трица Теорема 7.2. При выполнении условий теоремы 7.1 функция y = f (X)
 ∂2 f ∂2 f ∂2 f  является строго выпуклой в M, если в каждой точке области
 
2
∂x1∂x2 ∂x1∂xn 
 ∂x1  ∆ i > 0, i = 1, 2, , n
 ∂2 f 2
∂ f ∂ f 
2
    ∂2 f  Функция y = f (X) является строго вогнутой в M, если в каждой точ-
H ( f ) =  ∂x2 ∂x1 ∂x 22
∂x 2 ∂x n  =  ( X ) , ке области
   ∂xi ∂x j 
    ∆1 < 0, ∆ 2 > 0, ∆ 3 < 0, …, (−1)n ∆ n > 0,
 
 ∂2 f ∂2 f ∂2 f 
  т.е.
 ∂xn ∂x1 ∂xn ∂x2 ∂xn2 
(−1)i ∆ i > 0, i = 1, 2, , n
составленная из вторых частных производных функции y = f (X). Опре-
делитель матрицы Гессе называется гессианом. Для функции двух переменных z = f (x, y) следствие можно сформу-
Замечание 7.1. Отметим, что в  силу условия непрерывности част- лировать в следующей форме.
ных производных 2-го порядка матрица H является симметричной. Следствие 7.1. Пусть M — выпуклое открытое множество на плоско-
Поэтому элементы матрицы Гессе, зависящие от точки X ∈ M, можно сти (x, y) и z = f (x, y) имеет в M непрерывные частные производные 2-го
рассматривать как коэффициенты квадратичной формы  — второго порядка. Тогда функция z = f (x, y) является строго выпуклой (вогнутой)
n
на множестве M, если в каждой точке (x, y) ∈ M выполняются условия
2
дифференциала d f = ∑ hij ( X )dxi dx j функции y = f (X).
1.  f xx′′ ( x, y) > 0, ( f xx′′ ( x, y) < 0)
i , j =1
Теорема 7.1 (достаточное условие выпуклости). Пусть M ⊂ Rn — вы- f xx′′ ( x, y) f xy′′ ( x, y )
= f xx′′ ( x, y) f yy′′ ( x, y) − ( f xy′′ ( x, y)) > 0
2
пуклое открытое множество, y = f (X) — функция, имеющая в M непре- 2.  ∆ f ( x, y ) =
f xy′′ ( x, y) f yy′′ ( x, y)
рывные частные производные 2-го порядка. Тогда
1.  Функция y  = f (X) является строго выпуклой (строго вогнутой) Пример 7.1. Рассмотрим функцию
на  M, если квадратичная форма d2f (X) положительно (отрицательно)
определена. f ( x, y, z ) = 2 x 2 − 4 xz + 4 y 2 − 8 yz + 9 z 2 + 4 x + 8 y − 20 z
2.  Функция y = f (X) является выпуклой (вогнутой) на M, если ква-
дратичная форма d2f (X) неотрицательно (неположительно) определена. Эта функция дважды дифференцируема, и ее частные про-
Обозначим изводные f x′ = 4 x − 4 z + 4 = 0, f y′ = 8 y − 8 z + 8, f z′ = −4 x − 8 y + 18 z − 20,
f xx′′ = 4, f xy′′ = 0, f xz′′ = −4, f yy′′ = 8, f yz′′ = −8, f zz′′ = 18 Матрица Гессе
∂2 f ∂2 f ∂2 f
  4 0 −4
∂x12 ∂x1∂x2 ∂x1∂xi 4 0
2
∂ f ∂ f 2
равна H =  0 8 −8 и  ∆1 = 4 > 0, ∆2 = = 32 > 0,
∂2 f ∂2 f ∂2 f   0 8
2
∂ f ∂x12 ∂x1∂x2   −4 −8 18 
∆1 = , ∆2 = , , ∆ i = ∂x2 ∂x1 ∂x22 ∂x2 ∂xi
∂x12 ∂2 f ∂2 f 4 0 −4
   
∂x2 ∂x1 ∂x22 ∆3 = 0 8 −8 = 192 > 0 Поэтому функция является строго
∂2 f ∂2 f ∂2 f −4 −8 18
∂xi ∂x1 ∂ xi ∂ x 2 ∂xi2 вы­п уклой.
122•Глава 7. Выпуклые функции и теорема Куна — Таккера •123
7.2.  Теорема Куна — Таккера

Пример 7.2. Рассмотрим теперь производственную функцию Коб- 7.2. Теорема Куна — Таккера
ба — Дугласа Q(K, L) = aKβL1–β (здесь a > 0, 0 < β < 1). Последовательно
находим Общая задача о нахождении экстремумов функции y = f (X) на мно-
жестве M ∈ Rn называется задачей математического программирования.
QK′ = aβK β −1 L1−β ,   QL′ = a(1 − β)K β L−β ,   QKK
′′ = −aβ(1 − β)K β − 2 L1−β , .
Как и  в  теории линейного программирования, функция y  = f (X) на-
′′ = aβ(1 − β)K β −1 L−β ,   QLL
QKL ′′ = −aβ(1 − β)K β L−β −1 . зывается целевой функцией, а  множество M ∈ Rn  — допустимым мно-
жеством. Далее мы подробнее остановимся на случае, когда целевая
Заметим, что
функция выпукла (вогнута), а допустимое множество является выпу-
′′
 QKK ′′   − aβ(1 − β)K β − 2 L1−β
QKL − aβ(1 − β)K β −1 L−β  клым и задано системой ограничений
H (Q ) =  = 
 QKL
′′ ′′   −aβ(1 − β)K β −1 L−β
QLL −aβ(1 − β)K β L−β −1   g1 ( X ) * b1,
 g (X ) * b ,
β − 2 1− β  2
и  ∆1 = −aβ(1 − β)K L < 0, ∆ 2 = 0 Поэтому достаточное условие 
2

 … ,
не  дает ответа на  вопрос о  выпуклости исходной функции. С  другой
2  g m ( X ) * bm ,
стороны, второй дифференциал d Q = QKK ′′ d 2 K + 2QKL ′′ d 2 L
′′ dKdL + QLL
легко преобразуется к виду где «*» обозначает «≥», «≤» или «=».

d 2 Q = −aβ(1 − β)K β − 2 L−β −1 ( L2 d 2 K − 2KLdKdL + K 2 d 2 L) = Соответствующая задача

= −aβ(1 − β)K β − 2 L−β −1 ( LdK − KdL)2 ,


т.е. является неположительно определенной квадратичной формой.
Таким образом, функция Кобба  — Дугласа является вогнутой функ- называется задачей выпуклого программирования.
цией. Общие точные методы решения таких задач отсутствуют, и  часто
Пусть функция y = f (X) определена на некотором множестве M ⊂ Rn. для их решения приходится пользоваться приближенными методами
Тогда точка X0 называется точкой локального условного максимума (ми- решения.
нимума) функции y = f (X), если f (X) ≤ f (X0) (или f (X) ≥ f (X0)) для всех Основное отличие задач выпуклого программирования от  линей-
точек X ∈ M, достаточно близких к X0.
ных задач оптимизации заключается в том, что оптимальное решение
Далее точка X0 называется точкой глобального максимума (миниму-
может достигаться не только в угловых точках границы, но и в ее вну-
ма) функции y = f (X) на множестве M ⊂ Rn, если f (X) ≤ f (X0) (f (X) ≥ f (X0))
тренних точках.
для всех точек X ∈ M.
Пример 7.3. Рассмотрим задачу поиска минимального и  макси-
Точки локального условного и глобального максимума (минимума)
функции y  = f (X) мы будем называть точками локального и, соответ- мального значения функции f = (x – 16)2 + (y – 12)2 в области, данной
2 x + y ≤ 19,
ственно, глобального экстремума функции y = f (X) на множестве M ⊂ Rn. −5 y + 3 x ≥ −30,
Ясно, что точка глобального экстремума f (X) на множестве M яв- 
условиями  , Допустимым множеством является пятиу-
ляется одновременно и  точкой локального экстремума на  M. Обрат- 5 x − 4 y ≤ 15,
ное, вообще говоря, не верно. Тем не менее, для выпуклых (вогнутых)  x ≥ 0, y ≥ 0.
функций на выпуклых множествах верна следующая теорема.
Теорема 7.3 (о  глобальном характере экстремума выпуклой функ- гольник OABCD с  угловыми точками O(0, 0), A(0, 6), B(5, 9), C(7, 5)
ции). Если X0 — точка локального минимума (максимума) выпуклой и D(3, 0). Ясно, что f x′ = 2( x − 16), f y′ = 2( y − 12) Поэтому стационарная
(вогнутой) функции y = f (X) на выпуклом множестве M ⊂ Rn, то X0 — точка E(16, 12) функции f лежит, очевидно, вне многоугольника
точка глобального экстремума функции f (X) на  M, т.е. f (X0)  — наи- OABCD. Далее, линиями уровня целевой функции являются (рис. 7.1)
меньшее (наибольшее) значение f (X)  M. концентрические окружности (x – 16)2 + (y – 12)2 = C с центром в точ-
124 •Глава 7. Выпуклые функции и теорема Куна — Таккера •125
7.2.  Теорема Куна — Таккера

ке (16, 12). Поэтому минимальное значение функции f достигается в точ- тыми, и существует точка X* ∈ M, такая, что все нелинейные функции
ке касания с  отрезком BC окружности соответствующего радиуса, среди g1, g2, …, gm больше нуля в этой точке.
а максимальное значение — в точке O(0, 0). Условие регулярности системы ограничений задачи выпуклого
программирования иногда называют условием Слейтера. Таким об-
y разом, должна существовать точка X * ∈ M, являющаяся внутренней
l1 для всех множеств, заданных условиями вида gr(X) ≥ 0 для нелинейных
E функций gr(X), r = 1, …, m.
Заметим, что условие Слейтера означает, что каждая из  входящих
B
в  нее нелинейных функций отлична от  нуля в  некоторых точках M.
С другой стороны, среди ограничений, определяющих M, есть условия
A K
типа равенств gr(X) = 0, r = k + 1, …, m.
l2 Следствие 7.1. Функции gk+1(X), gk+2(X), …, gm(X) являются линейными.
C
Кроме этого, условие регулярности системы ограничений накла-
O D x
m1 дывает некоторые ограничения на структуру множества M.
l3
Следствие 7.2. Множество M, заданное системой ограничений (7.1),
Рис. 7.1 является выпуклым.
Определим теперь функцию Лагранжа
Найдем точку касания K как точку пересечения прямой l1 и прямой m
m1, перпендикулярной l1 и проходящей через точку E(16, 12). Так как ( X , Λ) = f ( X ) + ∑ λ i gi ( X ),
прямая l1 определяется уравнением 2x  + y  = 19, то  вектор нормали i =1

к  ней, равный n = (2, 1), является направляющим вектором для пря- где Λ = (λ1, λ2, …, λm), и сформулируем общую теорему о решении задачи вы-
мой  m1. Таким образом, каноническое и  общее уравнения m1 имеют пуклого программирования.
x − 16 = y − 12 Теорема 7.4 (Куна — Таккера). Пусть M ⊂ Rn — выпуклое множество,
вид и  x  – 2y  = –8 соответственно. Точка пересечения
2 1 заданное регулярной системой ограничений (7.1), функция y = f (X) — во-
2 x + y = 19,
K  = l1 ∩ m1 находится как решение системы  Поэтому гнутая, а  функции f, g1, g2, …, gm  — дифференцируемы на  M. Для того,
 x − 2 y = −8 чтобы точка X0 ∈ M являлась точкой глобального максимума функции
K(6, 7). Таким образом, решением задачи на минимум является точка y  =  f (X) на  M, необходимо и  достаточно, чтобы существовал вектор
X0 = (6, 7) и fmin = f (X0) = f (6, 7) = (6 – 16)2 + (7 – 12)2 = 125, а решением Λ 0 = (λ10 , λ 02 , …, λ 0m ) ⊂ R m , удовлетворяющий условиям
задачи на максимум — fmax = f (O) = f (0, 0) = (0 – 16)2 + (0 – 12)2 = 400.
Отметим, что оба оптимальных решения задачи достигаются  ′xi ( X 0 , Λ 0 ) = 0,   i = 1, …, n, .
на границе области, причем одно из них — в ее угловой точке, а дру- λ i0 gi ( X 0 ) = 0,   λ i0 ≥ 0,   i = 1, …, k.
гое — во внутренней точке граничного отрезка.
Предположим теперь, что в пространстве заданы m функций g1(X), Пример 7.4. Рассмотрим задачу из примера 7.3 и проверим, что точ-
g2(X), …, gm(X), и множество M ∈ Rn задано системой ограничений ка X0 = (6, 7) удовлетворяет условиям теоремы Куна — Таккера. Пере-
пишем систему ограничений в виде
 g r ( X ) ≥ 0, r = 1, …, k ,
 (7.1) −2 x − y + 19 ≥ 0,
 g r ( X ) = 0, r = k + 1, …, m. 3 x − 5 y + 30 ≥ 0,

Таким образом, первые k условий  — условия типа неравенств, −5 x + 4 y + 15 ≥ 0,
а оставшиеся — условия типа равенств.  x ≥ 0,
Определение 7.3. Говорят, что система ограничений (7.1) удовлетво- 
ряет условию регулярности, если функции g1, g2, …, gm являются вогну-  y ≥ 0
126•Глава 7. Выпуклые функции и теорема Куна — Таккера •127
7.2.  Теорема Куна — Таккера

и составим функцию Лагранжа для вогнутой функции f = –(x – 16)2 – . Составим функцию Лагранжа
– (y – 12)2 3 1
 = −6 K − 2 L + λ1 ( K 4L 4 − 80) + λ 2 K + λ 3 L
( X , Λ) = −( x − 16)2 − ( y − 12)2 + λ1 ( −2 x − y + 19) +
+ λ 2 (3 x − 5 y + 30) + λ 3 (−5 x + 4 y + 15) + λ 4 x + λ 5 y Тогда условия теоремы Куна — Таккера записываются следующим
образом:
Теперь мы можем записать условия теоремы в виде системы:
3 −1 1
 ′K = −6 + λ1 K 4 L 4 + λ 2 = 0,
 ′x = −2( x − 16) − 2λ1 + 3λ 2 − 5λ 3 + λ 4 = 0, 4
 = −2( y − 12) − λ − 5λ + 4λ + λ = 0,
 ′y 1 3 −3
1 2 3 5
 ′L = −2 + λ1 K 4 L 4 + λ 3 = 0,
λ1 (−2 x − y + 19) = 0, . . 4
 3 1
λ 2 (3 x − 5 y + 30) = 0, λ1 ( K 4L 4 − 80) = 0, λ 2 K = 0, λ 3 L = 0,
λ (−5 x + 4 y + 15) = 0,
 3 λ1 ≥ 0, λ 2 ≥ 0, λ 3 ≥ 0
λ 4 x = 0, λ 5 y = 0, 3 1
λ ≥ 0,i = 1,…,5 В силу условия K 4 L 4 − 80 ≥ 0 получаем, что K ≠ 0, L ≠ 0 и, следова-
 i тельно λ2 = λ3 = 0. Подставляя λ2 = 0 в первое уравнение, имеем λ1 ≠ 0.
Подставляя x = 6, y = 7, немедленно убеждаемся, что λ2 = λ3 = λ4 = Таким образом, мы приходим к следующей системе:
20 − 2λ1 = 0,
λ5 = 0 и система сводится к условиям  откуда имеем, что 3 −1 1
 4 λ1 K L = 6, λ = 8K 4 L− 4 ,
4 4
10 − λ1 = 0,
1 1

λ1 = 10 ≥ 0, т.е. для точки X0 = (6, 7) условия теоремы выполнены.   1  14 − 14 −3 3



 1 λ1 K 4 L− 4 = 2, . . λ1 = 8K 4 L 4 , . 8K L = 8K L ,
3 3 −3 3 4 4
Пример 7.5. Найдите объемы ресурсов K и L, при которых затраты
4  3 1 3 1
 K 4 L 4 = 80
на  производство не  менее 80 единиц продукции минимальны, если  3 1 
 K L = 80
4 4
3 1
 K 4 L 4 = 80
производственная функция Кобба — Дугласа Q( K , L) = K 4 L 4 , а цены
на ресурсы pK = 6, pL = 2. Из последней системы заключаем, что K = L = 80, причем λ1 = 8 ≥ 0. .
Решение. Поскольку целевая функция имеет вид f (K, L) = pKK + pLL, Таким образом, все условия Куна — Таккера выполнены и K = L = 80 —
то имеем задачу производственный план с минимальными издержками, причем fmin =
 f = 6 K + 2L → min, = f (80, 80) = 640.
 3 1
 K 4 L 4 ≥ 80, Задачи для самостоятельного решения

 K ≥ 0, L ≥ 0 Для задач 1—3 найти оптимальное решение графическим методом
Заметим, что функция f (K, L) линейна, т.е. выпукла и вогнута одно- и для полученного решения проверить выполнение условий теоремы
временно. Далее функция Кобба — Дугласа является вогнутой и усло- Куна — Таккера.
вие регулярности, очевидно, выполнено (достаточно проверить точку 2 x + 7 y ≤ 74,
(81, 81)). Теперь для применения теоремы Куна — Таккера достаточно 2 2 
1.  f = ( x − 15) + ( y − 29) → min при x ≥ 0, y ≥ 0 и  −2 y + x ≥ −18,
записать постановку задачи в виде 2 x − 5 y ≤ 2

 f = −6 K − 2L → max,
 3 1  x + y ≤ 17,
 K 4 L 4 − 80 ≥ 0, 2 2 
2.  f = ( x − 32) + ( y − 33) → min при x ≥ 0, y ≥ 0 и  − y + 6 x ≥ −3,
 3 x − 10 y ≤ 12
 K ≥ 0, L ≥ 0 
•Глава 7. Выпуклые функции и теорема Куна — Таккера
8
128

2 x + 3 y ≤ 34, Глава
2 2 
3.  f = ( x − 24) + ( y − 30) → min при x ≥ 0, y ≥ 0 и  − y + 2 x ≥ −6,
x − 5y ≤ 4
 Математическая теория
4.  Найдите объемы ресурсов K и L, при которых затраты на произ-
водство не менее 140 единиц продукции минимальны, если производ-
потребления
2 1
ственная функция Кобба  — Дугласа Q( K , L) = K 3L 3,
а  цены на  ре-
сурсы pK = 12, pL = 3.
8.1.  Отношение предпочтения
и функция полезности
Пусть на рынке существует n благ.
Определение 8.1. Вектор x = (x1, …, xn), где xi (≥0) — количество i-го
блага (i = 1, …, n), будем называть набором (вектором) благ, неотрица-
тельный ортант

R+n = {x = ( x1, , xn ) ∈  n ; xi ≥ 0, i = 1, , n}
n
—  пространством благ, а множество X ⊆ R+ всех физически возмож-
ных наборов благ — потребительским множеством.
На потребительское множество X налагаются следующие требова-
ния:
1)  замкнутости (это требование означает, что множеству X принад-
лежат все его предельные точки);
2)  выпуклости (это требование означает, что множеству X вместе
с любыми двумя его элементами принадлежит и соединяющий их от-
резок):
∀x, y ∈ X ; ∀t ∈[0; 1] ⇒ tx + (1 − t ) y ∈ X ;
3)  0 = (0, …, 0) ∈ X.
Определение 8.2. Бинарное отношение  на множестве X называет-
ся (нестрогим) отношением предпочтения, если оно удовлетворяет
следующим условиям (аксиомам):
1)  полноты (аксиома А1):
∀ x, y ∈ X: (x  y) ∨ (y  x);
2)  транзитивности (аксиома А2): ∀ x, y, z ∈ X:
(x  y) ∧ (y  z) ⇒ (x  z).
При этом если x  y, то говорят, что x предпочтительнее (не хуже) y.
130•Глава 8. Математическая теория потребления •131
8.1.  Отношение предпочтения и функция полезности

Полнота позволяет сравнить любые два набора благ из  потреби- Определение 8.6 (аксиома А3). Отношение предпочтения  на мно-
тельского множества, а транзитивность обеспечивает согласованность n
жестве X ⊆ R+ называется непрерывным, если для любых двух сходя-
(непротиворечивость) потребительского предпочтения.
щихся последовательностей {xk} и {yk} на X, удовлетворяющих условию
Определение 8.3. Если x  y, но при этом y  x, то говорят, что x
xk  yk (∀k), имеет место
строго предпочтительнее (лучше) y, и обозначают x  y.
lim xk  lim yk
Определение 8.4. Если x  y и y  x, то говорят, что x и y безразлич- k →∞ k →∞
ны, и обозначают x ~ y. Другими словами, предпочтение  непрерывно, если оно сохраня-
Множество всех элементов X, безразличных y: ется при предельном переходе.
I(y) = {x ∈ X | x ~ y} Теорема 8.2. Для отношения предпочтения , заданного на множе-
n
называется множеством безразличия, порожденным у. стве X ⊆ R+ , равносильны следующие утверждения:
Пример 8.1. Пусть x = (x1, …, xn) и y = (y1, …, yn) — произвольные на- а)   непрерывно;
n б)  если x  y, то  существуют непересекающиеся окрестности Ux
боры благ. Тогда отношение предпочтения  на  R+ можно определить
и Uy такие, что для любых a ∈ Ux и b ∈ Uy выполняется a  b;
одним из следующим способов:
в)  множества
1)  x  y, если x1 ≥ y1;
n n L+(y) = {x ∈ X | x  y} .
2)  x  y, если ∑ xi ≥ ∑ yi ; и  L–(y) = {x ∈ X | y  x}
i =1 i =1
n n замкнуты для любого y ∈ X.
3)  x  y, если ∏ xi ≥ ∏ yi . Множества L+(y) и  L–(y) называются соответственно верхним
i =1 i =1
и нижним лебеговым множеством.
Пример 8.2. Пусть на множестве X задана действительная функция Теорема 8.3 (Дебре). Для любого непрерывного отношения предпо-
U(x), тогда на X задано отношение предпочтения , определяемое со- n
чтения , определенного на  R+ , существует представляющая его
отношением:
функция полезности.
x  y ⇔ U(x) ≥ U(y);  ∀x, y ∈ X. Определение 8.7. Элемент y ∈ X называется точкой насыщения
(максимальным элементом) предпочтения  на множестве X, если
Определение 8.5. Функция U(x), определенная на подмножестве X
n
пространства благ R+ , называется функцией полезности, представля- y  x;  ∀x ∈ X.
ющей предпочтение , если ∀ x, y ∈ X: Если же такого элемента не существует, т.е.
x  y ⇔ U(x) ≥ U(y). ∀y ∈ X ∃ x ∈ X: x  y,
Отношение строгого предпочтения и отношение безразличия в тер- то предпочтение называется ненасыщаемым.
минах функции полезности задаются следующим образом: n
Определение 8.8. Элемент y ∈ X ⊆ R+ называется точкой локально-
x  y ⇔ U(x) > U(y); . го насыщения предпочтения , если существует такая окрестность Uy
x ~ y ⇔ U(x) = U(y). ⊆ X этого элемента, что
Теорема 8.1. Если U(x)  — функция полезности, представляющая y  x;  ∀x ∈ Uy.
предпочтение , и  f (U)  — возрастающая функция, то  функция Если  же такого элемента не  существует, т.е. если в  любой окрест-
V(x) = f (U(x)) также является функцией полезности, представляющей ности любого элемента y существует элемент x такой, что x  y,
предпочтение  то предпочтение называется локально ненасыщаемым.
132•Глава 8. Математическая теория потребления •133
8.1.  Отношение предпочтения и функция полезности

Множества безразличия непрерывного локально ненасыщаемого Теорема 8.4. Отношение предпочтения , заданное на  выпуклом
предпочтения в  случае двух благ представляют собой непрерывные множестве X, является (строго) выпуклым тогда, когда множество
линии. L+(x) = {y ∈ X | y  x} является (строго) выпуклым для любого x ∈ X.
Пусть x = (x1, …, xn), y = (y1, …, yn) ∈ Rn. Определим на Rn следующие Теорема 8.5. Если строго выпуклое предпочтение, заданное на вы-
бинарные отношения: пуклом множестве X, имеет точку глобального насыщения, то эта точ-
1)  ≥ (больше либо равно): ка является единственной.
.x ≥ y ⇔ xi ≥ yi ∀i; Определение 8.11. Функция U(x), заданная на выпуклом множестве
X, называется:
2)  > (больше): 1)  квазивогнутой, если для любых x, y ∈ X и любого t ∈ [0; 1]:
x > y ⇔ ( x ≥ y) ∧ ( x ≠ y);
U (tx + (1 − t ) y ) ≥ min {U ( x ); U ( y)};
3)   (строго больше):
2)  строго квазивогнутой, если для любых x, y ∈ X (x ≠ y) и любого
x  y ⇔ xi > yi ∀i t ∈ (0; 1):
Определение 8.9 (аксиома А4). Отношение предпочтения  на мно- U (tx + (1 − t ) y ) > min {U ( x ); U ( y)};
n
жестве X ⊆ R+ называется:
3)  вогнутой, если для любых x, y ∈ X и любого t ∈ [0; 1]:
а)  слабо монотонным, если
U (tx + (1 − t ) y ) ≥ tU ( x ) + (1 − t )U ( y);
x ≥ y ⇒ x  y;
4)  строго вогнутой, если для любых x, y ∈ X (x ≠ y) и любого t ∈ (0; 1):
б)  монотонным, если
x  y ⇒ x  y; U (tx + (1 − t ) y ) > tU ( x ) + (1 − t )U ( y)

в)  строго монотонным, если Из строгой квазивогнутости следует квазивогнутость, а из вогнуто-


сти (строгой вогнутости) — квазивогнутость (соответственно строгая
x > y ⇒ x  y. квазивогнутость).
Монотонность характеризует тот факт, что для потребителя боль- Теорема 8.6. Функция полезности U(x), заданная на выпуклом мно-
шее количество благ предпочтительнее, чем меньшее. жестве X, является квазивогнутой тогда и только тогда, когда порожда-
Из строгой монотонности следует монотонность, а из монотонно- емое ею отношение предпочтения  выпукло.
сти — слабая монотонность. Монотонное предпочтение является ло- Определение 8.12. Функция U(x), имеющая непрерывные частные
кально ненасыщаемым. производные до второго порядка включительно, называется неоклас-
Определение 8.10 (аксиома А5). Отношение предпочтения , задан- сической функцией полезности, если она удовлетворяющая следую-
ное на выпуклом множестве X, называется: щим условиям (аксиомам) для любых x, принадлежащих положитель-
1)  выпуклым, если для любых x, y, z ∈ X таких, что x  z и y  z, ному ортанту R++ :
n

и любого t ∈ [0; 1] следует ∂U ∂U


а)  ( x ) > 0, , ( x ) > 0;
tx + (1 – t)y  z; ∂x1 ∂x n
2)  строго выпуклым, если для любых x, y, z ∈ X, x ≠ y, таких, что . ∂U ∂U
б)  lim ( x ) = +∞, , lim ( x ) = +∞;
x  y и y  z, и любого t ∈ (0; 1) следует x1 → 0 ∂x1 x n → 0 ∂x
n

tx + (1 – t)y  z. ∂U ∂U


в)  lim ( x ) = 0, , lim ( x ) = 0;
x1 →+∞ ∂x xn →+∞ ∂x
Из строгой выпуклости предпочтения следует его выпуклость. 1 n
•Глава 8. Математическая теория потребления
134 •135
8.1.  Отношение предпочтения и функция полезности

∂ 2U ∂ 2U в)  транзитивности:
г)  ( x ) < 0, , ( x) < 0
∂x12 ∂xn2 ∀x, y, z: x ~ y ∧ y ~ z ⇒ x ~ z.
Условия г) называются первым законом Госсена, или законом убы- 4.  Проверьте, что из полноты отношения предпочтения  следует
вающей предельной полезности. Его часто заменяют на более сильное его рефлективность, т.е., что имеет место ∀x: x  x.
условие 5.  Докажите, что ни отношение безразличия, ни отношение стро-
гого предпочтения не являются полными.
xT Hx < 0 для ∀x ∈  n , x ≠ 0,
6.  Докажите, что множество безразличия есть пересечение верхне-
накладываемое на матрицу Гессе го и нижнего лебеговых множеств:

 ∂ 2U I(x) = L+(x) ∩ L–(x).


∂ 2U ∂ 2U 
 
2
∂x1∂x2 ∂x1∂xn  7.  Покажите, что множества безразличия отношения предпочте-
 ∂x1  ния являются множествами уровня представляющей его функции по-
 ∂ 2U ∂ 2U ∂ 2U 
   лезности.
H =  ∂x2 ∂x1 ∂x22 ∂x 2 ∂x n  8.  Пусть U(x) — функция полезности, представляющая отношение
     предпочтения  Какие из нижеперечисленный функций
  a)  sin U;
 ∂ 2U ∂U2
∂ 2U 
   б)  3U – 5;
 ∂xn ∂x1 ∂x n ∂x 2 ∂xn2  в)  5U;
и означающее ее отрицательную определенность, что в свою очередь г)  U2;
влечет строгую вогнутость функции полезности U(x). д)  U3 – U;
е)  U3 + U
Задачи для самостоятельного решения также представляют данное предпочтение?
9.  Что представляют собой множества безразличия для нижепере-
1.  Докажите, что полнота отношения предпочтения  равносиль- численных функций полезности:
на тому, что для любых элементов x и y множества X выполняется одно а)  линейная функция полезности
из несовместных условий: x  y или x ~ y или y  x. n
2.  Докажите, что отношение строгого предпочтения  обладает сле- U ( x ) = ∑ ai xi ,   (ai > 0,  i = 1, …, n);
дующими свойствами: i =1
а)  асимметричности: б)  функция Леонтьева
∀x, y ∈ X: x  y ⇒ y  x; x x 
U ( x ) = min  1 ; ; n ,   (ai > 0  при  i = 1, …, n);
б)  транзитивности: a
 1 an 

∀x, y, z ∈ X: (x  y) ∧ (y  z) ⇒ x  z. в)  функция Кобба — Дугласа


3.  Докажите, что отношение безразличия ~ является отношением эк- U ( x ) = Ax1α1  xnα n ,   (A, αi > 0  i = 1, …, n)?
вивалентности, т.е. удовлетворяет условиям:
а)  рефлективности: Изобразите карту кривых безразличия в случае n = 2:
2
∀x: x ~ x; 10.  Лексикографическое отношение предпочтения  на  R+ зада-
2
б)  симметричности: ется условиями: для любых x = (x1, x2) и y = (y1, y2) из  R+
∀x, y: x ~ y ⇒ y ~ x; x  y,  если  x1 > y1  или  x1 = y1  и  x2 ≥ y2.
•Глава 8. Математическая теория потребления
136 •137
8.2.  Предельный анализ и потребительский выбор

Докажите, что лексикографическое предпочтение не является не- n


23.  Говорят, что поверхность α ⊂  имеет выпуклость, направ-
прерывным. ленную в сторону начала координат, если любых двух точек A и B, при-
11.  Покажите, что если отношение предпочтения задано при по- надлежащих поверхности, луч, проходящий через начало координат O
мощи непрерывной функции полезности, то аксиомы полноты, тран- и  любую внутреннюю точку C отрезка AB, пересекает поверхность α
зитивности и непрерывности выполнены. по крайней мере в одной точке D, лежащей между точек O и C. Пока-
12.  Проверьте справедливость следующих утверждений: жите, что поверхности безразличия строго выпуклого строго монотон-
а)  если функция полезности, представляющая предпочтение, не- n
ного предпочтения, заданного на выпуклом множестве X ⊆ R+ , име-
прерывна, то отношение предпочтения непрерывно;
б)  если отношение предпочтения непрерывно, то функция полез- ют выпуклость, направленную в сторону начала координат.
ности, представляющая предпочтение, непрерывна; 24.  Докажите теорему 8.6.
n
в)  у  непрерывного предпочтения существует непрерывная функ- 25.  Докажите, что линейная функция задает на  R+ отношение
ция полезности. предпочтения, которое является непрерывным, строго монотонным
13.  Сколько функций полезности может существовать у непрерыв- и выпуклым.
n
ного предпочтения: 26.  Докажите, что функция Леонтьева задает на  R+ отношение пред-
а)  ни одной; почтения, которое является непрерывным, монотонным и выпуклым.
б)  одна; 27.  Докажите, что функция Кобба  — Дугласа задает на  положи-
в)  конечное число; n
тельном ортанте R++ отношение предпочтения, которое является не-
г)  бесконечно много? прерывным, строго монотонным и строго выпуклым.
14.  Докажите, что у  отношения предпочтения, заданного на  ко- 28.  Покажите, что линейная функция не  является неоклассиче-
нечном множестве, существует точка насыщения. ской.
15.  Докажите, что из монотонности предпочтения следует его ло- 29.  Определите, при каких условиях нижепречисленные функции
кальная ненасыщаемость. являются неоклассическими:
16.  Докажите, что если точка глобального насыщения является α α
а)  функция Кобба — Дугласа U ( x ) = Ax1 1 .xn n ;
внутренней (y ∈ Int X), то она является точкой локального насыщения.
n
Справедливо ли обратное утверждение?
б)  U ( x ) = ∑ Ai xi i ( Ai > 0)
α
17.  Докажите, что локальная ненасыщаемость делает невозмож- i =1
ным наличие «толстых» кривых безразличия, т.е. существование
окрестностей, в которой все элементы безразличны.
18.  Докажите, что множества безразличия непрерывного локально 8.2.  Предельный анализ
ненасыщаемого предпочтения в случае двух благ представляют собой и потребительский выбор
непрерывные линии.
19.  Докажите, что если y — точка насыщения локально ненасыща- Основные экономико-математические характеристики функции по-
n
емого предпочтения , заданного на множестве X ⊆ R+ , то y является лезности:
1)  предельная полезность (MU) i-го блага
граничной точкой множества X.
20.  Докажите, что линии безразличия непрерывного монотонного ∂U
Ui = ;
предпочтения имеют неположительный наклон. ∂x1
21.  Докажите, что если предпочтение, заданное на выпуклом мно- 2)  средняя полезность (AU) i-го блага
жестве X, выпукло, то  множество его точек глобального насыщения
также выпукло. U
ui = ;
22.  Докажите теорему 8.5. xi
138 •Глава 8. Математическая теория потребления •139
8.2.  Предельный анализ и потребительский выбор

3)  эластичность по i-му аргументу Определение 8.14. Неравенство


∂ U xi x1 p1 + x2 p2 + + xn pn ≤ I , (8.2)
ε i (U ) = ⋅ ;
∂ xi U
называется бюджетным ограничением.
4)  полная эластичность Условие (8.2) может быть записано в компактной матричной форме:
n
E (U ) = ∑ ε i (U ); pT x ≤ I ,
i =1
 x1 
5)  предельная норма замещения i-го блага j-м благом (MRS). T x =     — вектор-столбец.
где p  = (p1, …, pn) — вектор-строка, а 
 
∂U /∂xi  xn 
Sij =
∂U /∂x j
Определение 8.15. Множество
Определение 8.13. Функция U(x1, …, xn) называется однородной сте-
пени µ, если для любого t > 0 B( p, I ) = { x ∈ R+n ; pT x ≤ I }

U (tx1, tx2 , , txn ) = t µU ( x1, x2 , , xn ) наборов благ, удовлетворяющих бюджетному ограничению, называют
бюджетным множеством.
Если µ = 1, то функцию называют линейно-однородной. При этом множество
Теорема 8.7 (формула Эйлера). Функция U(x1, …, xn) является одно-
родной степени µ тогда и только тогда, когда b( p, .I ) = { x ∈ R+n ; .pT x = I }
∂U ∂U называют бюджетной границей (бюджетной линией при n = 2).
x1 + + xn = µU ( x1, , xn ) (8.1) Определение 8.16. Оптимизационная задача
∂x1 ∂x n
Пример 8.3. Докажите, что полная эластичность однородной функ- U ( x1, , xn ) → max
ции U равна степени однородности. при условиях:
Решение. Разделив обе части (8.1) на U, получим:
x1 p1 + x2 p2 + + xn pn ≤ I , .
ε1 (U ) + + ε n (U ) = µ,
xi ≥ 0, i = 1, , n
а следовательно,
E(U) = µ. называется задачей потребителя.
∗ ∗ ∗
Определение 8.17. Набор благ x = ( x1 , , xn ), являющийся реше-
Пример 8.4. Найти частные эластичности для функции Кобба  —
α α
нием задачи потребителя, называется оптимальным набором потре-
Дугласа U ( x ) = Ax1 1 .xn n бления, или точкой спроса.
Решение. Имеем Теорема 8.8. Пусть U(x1, …, xn) — непрерывная функция полезности,
( Aα i x1α1 .x αi −1 .xnα n ) xi тогда решение задачи потребителя существует.
ε i (U ) = ; . Теорема 8.9. Пусть U(x1, …, xn) — строго квазивогнутая функция по-
Ax1α1 .xnα n
лезности, тогда если решение задачи потребителя существует, то оно
εi(U) = αi. единственно.
Теорема 8.10. Если предпочтение, задаваемое U(x1, …, xn), является
Оптимизационная задача потребителя монотонным, то решение задачи потребителя достигается на бюджет-
ной границе, т.е. удовлетворяет условию
Пусть p = (p1, …, pn) — вектор цен, где pi > 0 — цена единицы i-го
блага, а I > 0 — бюджет (доход) потребителя. x1 p1 + x2 p2 + + xn pn = I (8.3)
140 •Глава 8. Математическая теория потребления 8.2.  Предельный анализ и потребительский выбор •141
Условимся в  дальнейшем считать, что x  0, т.е. что потребитель Решение. Мы имеем следующую задачу потребителя:
приобретает все виды благ (в противном случае можно уменьшить раз- U = 2 ln x1 + 3 ln x2 → max,
n
мерность R+ ). 5 x + 4 x = 1000,
 1 2
Теорема 8.11. Пусть U(x1, …, xn) — строго вогнутая неоклассическая 
∗ ∗ ∗  x1 > 0,
функция полезности. Для того чтобы набор благ x = ( x1 , , xn ) был  x2 > 0
оптимальным набором потребителя, необходимо и достаточно, чтобы
он удовлетворял условиям: Вычислив частные производные первого и второго порядка
 ∂U ∗ ∗ ∂U 2 ∂U 3
 ∂x ( x ) = λ p1; = , = ,
∂x1 x1 ∂x2 x2
 1
 (8.4) нетрудно убедиться, что данная функция полезности является не-
 ∂U оклассической.
 ( x ∗ ) = λ ∗ pn ; Кроме того, матрица Гессе
 ∂xn
 2 
x1∗ p1 + x2∗ p2 + + xn∗ pn = I ; . − 0
 ( x )2 
H = 
1

xi∗ > 0 (8.5)  3 


 0 −
при некотором λ*. ( x2 )2 
Следствие 8.1 (второй закон Госсена). Пусть U(x1, …, xn) — строго во- на основании критерия Сильвестра является отрицательно определенной:
гнутая неоклассической функции полезности. Набор благ
2 6
x ∗ = ( x1∗ , , xn∗ ) является оптимальным набором потребителя тогда ∆1 = − 2
< 0; ∆ 2 = >0
( x1 ) ( x1 ) ( x2 )2
2
и только тогда, когда он удовлетворяет условиям:
Следовательно, U — строго вогнута. На основании второго закона
∂U ∗ ∂U ∗
(x ) (x ) Госсена имеем:
∂x1 ∂x
== n ; (8.6) 5 x1 + 4 x2 = 1000,
p1 pn
 2 3
x1∗ p1 + x2∗ p2 + ... + xn∗ pn = I ; .  = ,
5
 1 x 4 x2
xi∗ > 0  x > 0,
 1
xj Из следствия 8.1 следует, что с гео-  x2 > 0
метрической точки зрения нахожде- Решая полученную систему, находим оптимальный план потребле-
ние оптимального набора потребителя ния исходной задачи:
равносильно отысканию точки, в  ко-
x*  x1∗ = 80,
xj* торой поверхность безразличия каса-  ∗
ется бюджетного множества (рис. 8.1).  x2 = 150
Пример 8.5. Найти оптималь- Пример 8.6. Пусть для i-го блага выполняются условие
pk/pj
ный набор потребителя с  бюджетом
xk* xk
I  =  1000 и  функцией полезности U  = . ε i (U ) = σE (U ), (8.7)
Рис. 8.1 = 2 ln x1 + 3 ln x2 при ценах p1 = 5 и p2 = 4. где σ — некоторая постоянная, тогда
142 •Глава 8. Математическая теория потребления 8.2.  Предельный анализ и потребительский выбор •143
pi xi∗ = σI , (8.8) Решение. Функция Кобба  — Дугласа, как отмечалось выше, удов-
летворяет условию (8.7) для любого блага, а  значит, ее оптимальный
т.е. σ — часть бюджета, которую потребитель потратит на покупку i-го набор удовлетворяет соотношению (8.8). Имеем
блага. n
Решение. Из (8.7) на основании определения эластичности имеем: ε i (U ) = α i   E (U ) = ∑ α k
k =1
∂U ∂U ∂U
xi x1 +  + xn Из (8.8) получаем
∂ xi ∂x1 ∂x n
=σ αi
U U xi∗ pi = n
I;
Отсюда в силу (8.4) следует, что ∑ αk
k =1
λ ∗ pi xi∗ = σλ ∗ ( x1∗ p1 + x2∗ p2 + + xn∗ pn ) следовательно,
αi I
Сокращая на λ* и учитывая бюджетное ограничение (8.3), получа- xi∗ ( p1, , pn , I ) = n

pi
ем (8.8). ∑ αk
Пример 8.7. Найти оптимальный набор потребителя с  бюджетом k =1
0,5 0,3
I = 2000 и функцией полезности U = x1 x2 при ценах p1 = 2 и p2 = 10. Теорема 8.12. Функции спроса xi∗
= Di ( p, I ) являются однородны-
Решение. Функция Кобба  — Дугласа удовлетворяет условию (8.7) ми функциями нулевой степени, т.е. для любого ∀t > 0
для любого блага. Имеем ε1(U) = 0,5; ε2(U) = 0,8; E(U) = 0,8. Подстав-
ляя эти данные в (8.8), получаем: Di (tp1, , tpn , tI ) = Di ( p1, , pn , I )

 ∗ 0,5 Из теоремы 8.12 вытекает, что функции спроса могут быть записа-
2 x1 = 0,8 ⋅ 2000, ны в виде:
 xi∗ = di (q1, , qn ),
10 x ∗ = 0,3 ⋅ 2000,
 2 0,8 pi  p1 pn 
где qi =  — относительные цены, а  di (q1, , qn ) = Di  , , , 1
I I I
 x1∗ = 625,
 ∗ Определение 8.19. Благо называется ценным (или нормальным),
 x2 = 75 если при увеличении бюджета спрос на него увеличивается, т.е.

∂xi∗
Функции спроса и их свойства > 0,
∂I
∗ ∗ ∗ и малоценным (инфериорным) в противном случае.
Оптимальный набор потребителя x = ( x1 , , xn ) зависит от  цен
на блага и бюджета потребителя. Другими словами, он является функ- Пример 8.9. Докажите, что существует хотя бы одно ценное благо.
циями от pi и I: Решение. Предположим противное, что все блага являются мало-
ценными, т.е.
xi∗ = Di ( p1, , pn , I ) ∂xi∗
≤ 0, ∀i
∗ ∂I
Определение 8.18. Функция xi ( p, I ) называется функцией (мар-
∗ Тогда с учетом положительности цен получаем:
шалловского) спроса на i-е благо, а вектор x ( p, I )  — вектором спроса.
Пример 8.8. Найти функции спроса, если предпочтения представ- ∂x1∗ ∂xn∗
p1 + + pn ≤ 0
лены функцией полезности Кобба — Дугласа: ∂I ∂I
144 •Глава 8. Математическая теория потребления •145
8.2.  Предельный анализ и потребительский выбор

Продифференцируем бюджетное ограничение (8.3) по I, имеем и называется компенсационным спросом или спросом по Хиксу. При
этом функция
∂x1∗ ∂x ∗
p1 + + n pn = 1 (8.9) E ( p, U ) = pT H ( p, U ) = p1 H1 +  + pn H n
∂I ∂I
Полученное противоречие доказывает наше утверждение. называется (косвенной) функцией расходов.
Определение 8.20. Функция Пример 8.11. Найти оптимальный набор, гарантирующий минимум
0,25 0,5
расходов потребителя с  функцией полезности U ( x1, x2 ) = x1 x2
U ∗ ( p, I ) = U ( x ∗ ( p, I )) и обеспечивающий полезность U = 500 при ценах p1 = 2 и p2 = 16.
называется косвенной функцией полезности. Решение. Мы имеем следующую задачу минимизации расходов
Пример 8.10. Найти косвенную функцию полезности для функции 2 x1 + 16 x2 → min
Кобба — Дугласа.
Решение. Имеем: при условиях:
n
x10,25 x20,5 = 500 .
U ( x1, , xn ) = A∏ xiαi , xi > 0, i = 1; 2
i =1
Рассмотрим функцию Лагранжа
αi I
xi∗ = ⋅
n
pi L( x1, x2 , λ) = 2 x1 + 16 x2 + λ(500 − x10,25 x20,5 )
∑ αk Имеем
k =1

Отсюда  ∂L −0,75 0,5


 ∂x = 2 − 0, 25λx1 x2 = 0;
n α  1
I
i

U ∗ ( p1, , pn , I ) = A ∗ ∏   ,  ∂L
 = 16 − 0,5λx10,25 x2−0,5 = 0;
i =1  pi   ∂x2
αi  ∂L
n
 αi  
где A = A∏  n = 500 − x10,25 x20,5 = 0;

  ∂λ
i =1
 ∑ αk   xi > 0
 k =1  
Определение 8.21. Оптимизационная задача 0, 25λx1−0,75 x20,5 = 2;
 0,25 −0,5
x1 p1 + x2 p2 + + xn pn → min 0,5λx1 x2 = 16;
 0,25 0,5
при условиях:  x1 x2 = 500;

U ( x1, , xn ) = U ,  xi > 0
Исключая из первого и второго уравнений λ, находим
xi > 0, i = 1, ..., n, x1 = 4 x2
называется задачей минимизации расходов. Подставляя это выражение в последнее уравнение системы, полу-
Определение 8.22. Решение задачи минимизации расходов обозна- чаем:
чается (4 x2 )0,25 x20,5 = 500; .
( x ∗ )comp = H ( p, U ) x2 = 2500
146 •Глава 8. Математическая теория потребления •147
8.2.  Предельный анализ и потребительский выбор

Следовательно, 32.  Найдите предельные нормы замещения для линейной функ-


n
x1 = 4 ⋅ 2500 = 1000
ции U ( x ) = ∑ Ai xi ( Ai > 0)
Нетрудно убедиться, что полученный набор (1000, 2500) удовлетво- i =1

ряет условиям теоремы Куна — Таккера, следовательно, является ре- 33.  Пусть U(x) — неоклассическая функция полезности. Докажите,
шением исходной задачи. что:
Теорема 8.13. (Двойственные соотношения между спросом по Хик- Sij > 0, .
су и по Маршаллу). Имеют место соотношения: SijSjk = Sik, .
x ∗ ( p, I ) = H ( p, U ∗ ( p, I )); .
(Sij)–1 = Sji.
34.  Докажите, что предельная норма замещения инвариантна от-
H ( p, U ) = x ∗ ( p, E ( p, U )) носительно выбора функции полезности U, представляющей предпо-
Теорема 8.14. (Двойственные соотношения между косвенной функ- чтение 
α α
цией полезности и функцией расходов). Справедливы следующие со- 35.  Докажите, что у  функции Кобба  — Дугласа U ( x ) = Ax1 1 .xn n
отношения: средняя полезность пропорциональна предельной.
U ∗ ( p, E ( p, U )) = U ; . 36.  Докажите, что бюджетное множество B(p, I) непусто, ограниче-
но, замкнуто и выпукло.
E ( p, U ∗ ( p, I )) = I 37.  Покажите, что
Теорема 8.15. Пусть U* — максимальный уровень полезности, кото- pi
рый достигается при ценах p и бюджете I, тогда Sij ( x ∗ ) =
pj
∂x ∗j ∂H ∗j ∂x ∗j 38.  Докажите, что оптимальный набор потребителя не  зависит
( p, I ) = ( p, U ∗ ) − xi∗ ( p, I ) ( p, I ) (8.10)
∂pi ∂pi ∂I от выбора функции полезности, представляющей предпочтение.
39.  Найдите оптимальный набор потребителя с  функцией полез-
∂H ∗j 2 3
Первое слагаемое в  правой части уравнения Слуцкого на- ности U ( x ) = x1 x2 , бюджетом 20 000 и ценами p1 = 16 и p1 = 20.
∂pi
 ∗ ∂x ∗j  40.  Найдите а) функции спроса и  б) косвенную функцию по-
зывают эффектом замены, а второе слагаемое  − xi   — эффектом лезности, в  случае если предпочтения потребителя заданы функ-
∂I 
цией CES (функцией с  постоянной эластичностью замещения)
дохода.
U ( x1, x2 ) = ( x1ρ + x2ρ )1/ρ , где 0 ≠ ρ < 1.
Задачи для самостоятельного решения 41.  Докажите, что λ* является предельной полезностью бюджета
(денег), т.е.
30.  Найдите предельную и  среднюю полезности, эластичности
и предельные нормы замещения для следующих функций: ∂U ∗
а)  U ( x1, x2 ) = 2 ln x1 + 5 ln x2 ; = λ∗
∂I
4 3
б)  U ( x1, x2 ) = x1 x2 + 2 x1 + 3 x2 ; 42.  Докажите тождество Роя:

в)  U ( x1, x2 ) = 2 x1 + 3 4 x2 ∂U ∗
Какие из данных функций являются неоклассическими? ∂p
xi∗ = − i∗
31.  Найдите предельные нормы замещения для функции Кобба — ∂U
α α
Дугласа U ( x ) = Ax1 1 .xn n ∂I
•Глава 8. Математическая теория потребления
148 •149
8.2.  Предельный анализ и потребительский выбор

43.  Докажите, что косвенная функция полезности U* является 48.  Докажите, что функция расходов E ( p, U ):
возрастающей функцией от  бюджета и  убывающей функцией от  цен
на блага: а)  является однородной функцией первой степени относительно
цен, т.е. для любого ∀t > 0
∂U ∗
> 0, . E (tp1, , tpn , U ) = tE ( p1, , pn , U );
∂I
∂U ∗ б)  является возрастающей функцией от полезности;
>0 в)  не убывает по ценам.
∂p
49.  Докажите справедливость следующих соотношений:
44.  Пусть x*(p, I)  — маршалловский спрос. Докажите, что имеют
 ∂xi∗   ∂x ∗j 
место: =   , .
 ∂p 
n  j  comp  ∂pi  comp
а)  агрегирование по Энгелю ∑ si ηi = 1 ;
i =1  ∂x ∗   ∂x ∗ 
p1  1  + + pn  n  =0
n
 ∂pi  comp  ∂pi  comp
б)  агрегирование по Курно ∑ si ε ij = − s j ,
i =1 50.  Докажите лемму Шепарда
pi xi *  n  ∂E ( p, U )
где si =  — весовые коэффициенты  ∑ si = 1 ; H i ( p, U ) =
I  i =1  ∂pi
51.  Докажите, что при компенсационном росте цены на i-е благо
∂xi∗ I
ηi =  — эластичность спроса по бюджету; спрос на это благо уменьшается, т.е.
∂I xi∗
 ∂xi* 
∂x ∗ p j  ∂p  <0
ε ij = i ∗  — перекрестные эластичности спроса по цене. i comp
∂ p j xi
52.  Говорят, что i-е и j-е блага образуют взаимодополняющую пару,
45.  Пусть U(x) — однородная степени µ функция полезности, пока- если при компенсационном росте цены на i-е благо спрос на j-е благо
жите, что степень однородности равна эластичности косвенной функ- падает, т.е.
ции полезности по бюджету, т.е.  ∂x ∗j 
  < 0.
∂U ∗ I  ∂pi  comp
µ=
∂I U ∗
Если же
46.  Найдите а) функции хиксовского спроса и б) функцию расхо-  ∂x ∗j 
дов, если функция полезности является функцией CES:   > 0,
U ( x1, x2 ) = ( x1ρ + x2ρ )1/ρ , где 0 ≠ ρ < 1.  ∂pi  comp
47.  Докажите, что функции компенсационного (хиксовского) то блага называются взаимозаменяемыми. Докажите, что для любого
∗ блага существует хотя бы одно взаимозаменяемое благо.
спроса ( xi )comp = H i ( p, U ) являются однородными функциями нуле-
вой степени относительно цен, т.е. для любого ∀t > 0 53.  Найдите функции хиксовского спроса и  функцию расходов,
если предпочтения потребителя заданы функцией Кобба  — Дугласа
H i (tp1, , tpn , U ) = H i ( p1, , pn , U ) U ( x ) = Ax1α1 x2α 2
•Глава 8. Математическая теория потребления
9
150

54.  Докажите уравнение Слуцкого. Глава


55.  Докажите, что из отрицательной определенности матрицы Гес-
се функции полезности следует выполнение первого закона Госсена.
56.  Запишите функции маршалловского спроса в  относительных Математическая теория
α α
ценах для функции полезности Кобба — Дугласа U ( x ) = Ax1 1 .xn n
57.  Пусть U(x1, …, xn) — однородная степени µ функция полезно-
производства

сти. Докажите, что функции маршалловского спроса xi = di (q, I ), за-
писанные в относительных ценах, являются однородными функциями
степени –1, т.е. для любого t > 0 9.1.  Производственная функция
−1
di (tq1, , tqn ) = t di (q1, , qn )
Производством называется процесс изготовления какой-либо про-
дукции. В процессе производства затрачиваются определенные ресур-
сы (факторы производства). К  ним относятся труд, капитал, сырье,
энергия, земля.
Пусть в производстве используется n видов ресурсов в объемах x1,
…, xn, а Q — количество выпускаемой продукции. Тогда с формальной
точки зрения производство можно рассматривать как некоторую
функцию Q(x1, …, xn), задающую соответствие между вектором ресур-
сов (производственным планом) x = (x1, …, xn), принадлежащему про-
n
странству ресурсов R+ , и объемом выпускаемой продукции Q.
Определение 9.1. Производственной функцией называется непре-
n
рывная, определенная на  R+ функция Q(x), удовлетворяющая следую-
щим условиям (аксиомам):
n
а)  Q( x ) ≥ 0; ∀x ∈ R+ ;
б)  Q(0) = 0;
n
в)  x ≥ y ⇒ Q( x ) ≥ Q( y); ∀x, y ∈ R+
Наибольшее распространение получили так называемые двухфак-
торные производственные функции, т.е. функции вида Q(K, L), где
К — величина затраченного капитала (основных фондов), а L — вели-
чина затраченного труда.

Экономико-математические характеристики
производственной функции
1.  Средняя производительность (AP) i-го ресурса:
Q
qi =
xi
152•Глава 9. Математическая теория производства •153
9.1.  Производственная функция

В частности, Поверхность уровня производственной функции называется изо-


Q квантой. Роль изоквант в теории производства аналогична роли кри-
qL =
L вых безразличия в теории потребления.
Определение 9.2. Пусть Q(x) — однородная функция степени µ. Го-
—  средняя производительность труда;
ворят, что Q(x) имеет возрастающую отдачу от расширения масштаба
Q производства, если µ > 1; убывающую, если µ < 1, и постоянную от-
qK =
K дачу, если µ = 1.
—  средняя фондоотдача. Определение 9.3. Производственная функция Q(x1, …, xn), имеющая
2.  Предельная производительность (MP) i-го ресурса: непрерывные частные производные до второго порядка включитель-
но, называется неоклассической, она удовлетворяет следующим соот-
∂Q
Qi = n
ношениям (аксиомам) для любых x ∈ R++ :
∂ xi
В частности, ∂Q ∂Q
( x ) > 0, , ( x ) > 0,
∂Q ∂x1 ∂x n
QL =
∂L ∂Q ∂Q
lim ( x ) = +∞, , lim ( x ) = +∞,
—  предельная производительность труда; x1 → 0 ∂x x n → 0 ∂x
1 n

∂Q ∂Q ∂Q
QK = lim ( x ) = 0, , lim ( x ) = 0,
∂K x1 →+∞ ∂x1 xn →+∞ ∂x
n

—  предельная фондоотдача. ∂2 Q ∂2 Q
3.  Эластичность по i-му ресурсу: ( x ) < 0, , (x) < 0
∂x12 ∂xn2
∂ Q xi
ε i (Q ) = ⋅ В  дальнейшем всюду будем предполагать, что производственная
∂ xi Q
функция Q(x1, …, xn) является неоклассической и  строго вогнутой.
4.  Полная эластичность: Пусть p > 0  — цена единицы выпускаемой продукции, а  w  = (w1, …,
n wn) > 0 — вектор цен на ресурсы.
E (Q ) = ∑ ε i (Q ) Тогда
i =1
I ( x1, , xn ) = pQ( x1, , xn )  — функция дохода;
5.  Предельная норма замещения i-го ресурса j-м ресурсом:
C ( x1, , xn ) = w1 x1 + + wn xn  — функция затрат (издержек);
∂Q /∂xi
Sij = Π( x1, , xn ) = pQ( x1, , xn ) − w1 x1 − − wn xn  — функция прибыли.
∂Q /∂x j
Производитель стремится максимизировать прибыль, т.е. решает
6.  Эластичность замещения между i-м и j-м ресурсами следующую оптимизационную задачу, называемую задачей произво-
d ln( x j /xi ) d ( x j /xi ) Qi /Qj дителя (фирмы):
σ ij = = ,
d ln(Qi /Qj ) x j /xi d (Qi /Qj ) Π( x1, , xn ) → max
где Qi и Qj — предельные производительности i-го и j-го ресурсов. при условии:
xi ≥ 0 (i = 1, , n)
7.  Фондовооруженность:
∗ ∗ ∗
K Определение 9.4. Вектор ресурсов x = ( x1 , , xn ), являющийся
k=
L решением задачи производителя, называется оптимальным произ-
154 •Глава 9. Математическая теория производства •155
9.2.  Функции предложения и спроса

водственным планом, а  максимальное значение производственной Решение полученной системы:


функции
 K = 160 000,

∗ ∗
Q = Q( x )  — оптимальным выпуском.  ∗
 L = 1000
∗ ∗ ∗
Теорема 9.1. Для того чтобы вектор x = ( x1 , , xn ) был оптималь-
ным планом производства, необходимо и достаточно, чтобы он удов- 9.2. Функции предложения и спроса
летворял условиям:
 ∂Q ∗ Изменение цены на  продукцию и  цен на  ресурсы приводит к  из-
 p ∂x ( x ) = w1, менению оптимального производственного плана x* и  оптимального
 1
выпуска Q*, определяя тем самым функции спроса на i-й ресурс
  (9.1)
 ∂Q xi∗ = Di (w1, , wn , p), ∀i = 1, , n,
p ( x ∗ ) = wn , и функцию предложения
 ∂xn
Q ∗ = S (w1, , wn , p)
xi∗ > 0 (9.2)
Пример 9.2. Найдем функцию предложения и функции спроса для
Замечание 9.1. В силу строгой вогнутости функции прибыли, если двухфакторной функции Кобба — Дугласа.
задача производителя имеет решение, то это решение единственное. Решение. Имеем:
Поверхность уровня функции затрат C(x1, …, xn) называется изоко-
стой. Геометрическая трактовка соотношения (9.1) означает, что в точ- Q( K , L) = AK α Lβ ( A > 0, 0 < α < 1, 0 < β < 1), .
ке x* изокванта максимального уровня касается некоторой изокосты.
 ∂Q α −1 β
Пример 9.1. Найти оптимальный план производства, если  ∂K = AαK L ,
Q( K , L) = 4 K 1/ 2 L1/ 4 , p = 10, цена капитала (рентная плата) R = 0,5, за- 
работная плата W = 4.  ∂Q = AβK α Lβ −1
 ∂L
Решение. Имеем:
Подставив полученные выражения в (9.1), (9.2), получаем:
 ∂Q 2 4 L
 = ,  pAαK α −1 Lβ = R,
 ∂K K 
  pAβK α Lβ −1 = W ,
 ∂Q = K 
 ∂L 4 3  K > 0,
 L  L > 0,

Подставив данные нашей задачи в (9.1), (9.2), получим:
где R — рентная плата, а W — заработная плата.
 2 L 4
Решая последнюю систему, находим
10 = 0,5,
 K  1 1− α α
 K  K ∗ = A 1− α −β  R  α + β −1  W  α + β −1 ,
10 4 = 4,   αp   βp 
 L3  β 1− β
 K > 0,  1
 ∗ 1− α − β  R  α + β −1  W  α + β −1
L = A  αp   βp 
 L > 0 
156 •Глава 9. Математическая теория производства •157
9.2.  Функции предложения и спроса

1 α β Решение. Так как матрица Гессе H отрицательно определена и p > 0,


∗ 1− α − β  R  α + β −1  W  α + β −1 то из (9.4) следует, что и матрица Якоби
Q =A  αp   βp 
 ∂x1∗ ∂x1∗ 
 ∂w 
Теорема 9.2. Функции спроса xi∗
и функция предложения Q* явля- ∂wn 
∂x ∗  
1
ются однородными функциями нулевой степени, т.е. для любого t > 0 =    
∂w  ∗ ∗
Di (tw1, , twn , tp) = Di (w1, , wn , p), .  ∂x n  ∂x n 
 ∂w ∂wn 
S (tw1, , twn , tp) = S (w1, , wn , p) 1

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

xi∗ = di (ω1, , ω n ), . ∂x1∗ ∂x ∗


< 0, , 1 < 0
∂w1 ∂w1
Q ∗ = s(ω1, , ω n ),
Пример 9.4. Доказать, что повышение цены на продукцию приво-
wi дит к увеличению предложения.
где ω i =  — реальные цены, а
p Решение. Продифференцировав Q* по p, имеем:
w w  ∂Q ∗ ∂Q ∂x ∗
di (ω1, , ω n ) = Di  1 , , n , 1 , . = ⋅
 p p  ∂p ∂x ∂p
w w  Принимая во внимание (9.6), находим:
s(ω1, , ω n ) = S  1 , , n , 1
 p p  T
∂Q ∗ 1 ∂Q −1  ∂Q 
=− ⋅ H 
Теорема 9.3. Вектор спроса на  ресурсы и  функция предложения

∂p p ∂x  ∂x  (9.7)
удовлетворяют соотношениям:
В  силу отрицательной определенности матрицы H –1 правая часть
∂x ∗
1  ∂Q 
T равенства (9.7) больше нуля, значит,
= − H −1  ,

∂p p  ∂x  (9.3)
∂Q ∗
>0 (9.8)
∂x ∗ 1 −1 ∂p
= H , (9.4)
∂w p Определение 9.5. Ресурс называется ценным, если при увеличении
T
цены на продукцию спрос на него увеличивается, т.е.
∂x ∗  ∂Q 
pH = − , ∂xi∗

∂p  ∂x  (9.5)
> 0,
∂p
∂x ∗ и малоценным в противном случае.
= E (9.6)
pH
∂w Пример 9.5. Доказать, что существует хотя бы один ценный ресурс.
Пример 9.3. Доказать, что при росте цены на  i-й ресурс спрос Решение. Предположим противное: пусть все ресурсы являются
на него уменьшается, т.е. малоценными, т.е.
∂xi∗ ∂xi∗
<0 ≤ 0, ∀i
∂wi ∂p
158 •Глава 9. Математическая теория производства •159
9.3.  Сопряженная производственная функция и двойственная задача

∂Q ∗
Решение двойственной задачи ω ( x ) называется обратной функ-
Учитывая, что > 0, на основании нашего предположения полу-
чаем: ∂ xi ∗
цией спроса на  ресурсы, а  координата ω i ( x )   — обратной функцией
∂Q∗ n
∂Q ∂xi∗ спроса на i-й ресурс.
=∑ ⋅ ≤ 0. ∗ ∗
Теорема 9.6. Функции ω ( x ) и  x (ω) являются взаимообратны-
∂p i =1 ∂xi ∂p
ми, т.е.
А это противоречит (9.8) и доказывает наше утверждение.
ω∗ ( x ∗ (ω)) = ω, .

x ∗ (ω∗ ( x )) = x
9.3. Сопряженная производственная
функция и двойственная задача Задачи для самостоятельного решения

Условимся в  дальнейшем считать, что p  = 1, т.е. что функции xi 1.  Найдите эластичность замещения для производственных функ-
и Q* заданы в реальных ценах. ций:
α α
Определение 9.6. Функция а)  Кобба — Дугласа Q( x ) = Ax1 1 .xn n ;
ρ ρ 1/ ρ
Q c (ω) = ωx ∗ (ω) − Q ( x ∗ (ω)) б)  CES Q( x1, x2 ) = ( x1 + x2 ) , где 0 ≠ ρ < 1.
(9.9)
ρ ρ 1/ ρ
2.  Покажите, что функции CES Q( x1, x2 ) = (α1 x1 +  + α n x2 )
называется сопряженной к производственной функции Q(x), или кос-
венной функцией убытков.  n 
Теорема 9.4. Справедливы следующие соотношения:  ∑ α i = 1 , где 0 ≠ ρ < 1, при ρ → 0 дает линейно-однородную функ-
i =1
 n 
цию Кобба — Дугласа Q( x ) = Ax1 1 .xn n  ∑ α i = 1 , а при ρ → –∞ дает
α α
∂Q c
= x ∗T , (9.10) .   i =1
∂ω
функцию Леонтьева Q(x) = min{x1, …, xn}.
∂2 Q c ρ ρ 1/ ρ
= H −1, (9.11) 3.  Докажите, что функция CES Q( x1, x2 ) = ( x1 + x2 ) , где 0 ≠ ρ < 1
∂ω 2 имеет постоянную отдачу от расширения масштаба производства.
Теорема 9.5. Пусть Q(x1, …, xn) — неоклассическая строго вогнутая 4.  Найдите и проанализируйте коэффициент от расширения мас-
производственная функция, тогда косвенная функция убытков Q c(ω1, штаба производства следующих функций:
…, ωn) возрастает по любому аргументу: α α
а)  Кобба — Дугласа Q( x ) = Ax1 1 .xn n ;
∂Q c α α
>0 б)  Q( x ) = min{ A1 x1 , , An xn };
∂ω
n
Определение 9.7. Задача в)  Q( x ) = ∑ Ai xi ( Ai > 0)
α

(Q c (ω) − ωx ) → max, .
i =1
ω
5.  Пусть Q1(x) и Q2(x) — однородные функции степени µ1 и µ2. Бу-
ω  0, дут ли однородными: а) их сумма, б) их произведение, в) их частные
называется двойственной к задаче производные?
6.  Найдите предельную и  среднюю производительности ресурсов,
(Q(ω) − ωx ) → max,
x эластичности и предельные нормы замещения для следующих функций:
2 3 3 2
x  0. а)  Q( x1, x2 ) = 2 x1 x2 + 5 x1 x2 ;
160•Глава 9. Математическая теория производства •161
9.3.  Сопряженная производственная функция и двойственная задача

0,4 0,5 ∗ ∗ ∗
б)  Q( x1, x2 ) = x1 x2 + 5 x1 + 2 x2 ; мальный план производства x = ( x1 , , xn ) рентабелен тогда и только
тогда, когда полная эластичность производственной функции в точке
в)  Q( x1, x2 ) = 2 x1 + 3 x2
x ∗ = ( x1∗ , , xn∗ ) меньше единицы:
Какие из данных производственных функций являются неокласси-
ческими? E (Q )( x ∗ ) < 1
7.  Покажите, что предельная норма замещения в точке x* удовлет- 16.  Пусть Q — однородная производственная функция степени µ. До-
воряет соотношениям кажите, что если µ < 1, то оптимальный план производства рентабелен.
wi 17.  Найдите оптимальный план для производственной функции
Sij ( x ∗ ) =
wj Q( x1, x2 ) = 10 x1 + 25 x2 , если цена на продукцию р = 8, а цены на ре-
8.  Докажите, что имеют место соотношения: сурсы w1 = 0,2 и w2 = 4. Является ли рентабельным этот план?
18.  Найдите и  исследуйте на  рентабельность оптимальный план
∂Q ∗ n
∂Q ∗ для производственной функции Кобба  — Дугласа Q( x ) = 8 x1 x2 ,
0,25 0,25
p = − ∑ wi ,
∂p i =1 ∂wi если цена на продукцию р = 32, а цены на ресурсы w1 = 4 и w2 = 16.
19.  Запишите функции предложения и спроса для двухфакторной
∂x ∗j n
∂x ∗j
p = − ∑ wi производственной функции Кобба — Дугласа
∂p i =1 ∂wi
Q( K , L) = AK α Lβ ( A > 0, α, β > 0, α + β < 1)
9.  Найдите функции спроса на  ресурсы и  функцию предложения
α α как функции реальных цен.
для производственной функции Q( x1, x2 ) = a1 x1 1 + a2 x2 2 , где 0 < αi < 1.
20.  Запишите функции предложения и спроса для производствен-
10.  Докажите, что функция Кобба—Дугласа Q( x ) = где Ax1α1 x2α 2 ,
ной функции из задачи № 9 в реальных ценах.
αi > 0, имеет положительно определенную матрицу Гессе тогда и толь- 21.  Если Q(x1, …, xn) — однородная степени µ функция полезности,
ко тогда, когда 0 < α2 + α1 < 1. ∗
то функции xi и Q*, заданные в реальных ценах, также являются одно-
11.  Докажите, что производственная функция
1 µ
Q( x1, x2 ) = a1 x1α1 + a2 x2α 2 , родными соответственно степени и  , т.е. для любого t > 0
µ −1 µ −1
где αi > 0, имеет положительно определенную матрицу Гессе тогда и  только 1
тогда, когда αi < 1. di (t ω1, , t ω n ) = t µ −1 di (ω1, , ω n ),
12.  Докажите справедливость соотношений: µ

∂Q ∗
∂x ∗ s(t ω1, , t ω n ) = t µ −1 s(ω1, , ω n )
=− ,
∂w ∂p 22.  Найдите косвенную функцию убытков для двухфакторной про-
T изводственной функции Кобба — Дугласа
 ∂x ∗  ∂x ∗
  = Q( K , L) = AK α Lβ ( A > 0, α, β > 0, α + β < 1)
∂w  ∂w
13.  Докажите, что при росте цены на ценный ресурс спрос на про- 23.  Докажите, что (Q с)с = Q.
дукцию падает. 24.  Докажите неравенство Юнга — Френхеля:
14.  Докажите, что при росте цены на  продукцию спрос на  мало- Q c (ω) + Q( x ) ≤ ωx
ценный ресурс не возрастает.
15.  Производственный план x = (x1, …, xn) называется рентабель- 25.  Найдите обратные функции спроса для производственной
α α
ным, если функция прибыли П(x) положительна. Докажите, что опти- функции Q( x1, x2 ) = a1 x1 1 + a2 x2 2 где 0 < αi < 1.
•163
10
10.1.  Решение нелинейных уравнений

Глава Пример 10.1. Рассмотрим уравнение

2 x 2 − 0,5 x − 3
=0
Численные методы решения x2 +1
График левой части уравнения представлен на  рис.  10.1. Корни
систем нелинейных уравнений уравнения принадлежат отрезкам [–6,5; –6], [–2; –1,5], [1; 1,5].
1

Для математических моделей, описывающих реальные процессы –7 –6 –5 –4 –3 –2 –1 0 1 2


с  помощью систем нелинейных уравнений, как правило, получение –1
точного решения невозможно. В этих случаях применяют численные
методы. Изложению этих методов и посвящена настоящая глава. –2
y = f(x)
–3

10.1. Решение нелинейных уравнений –4

–5
Пусть функция f (x) определена и  непрерывна на  некотором про-
межутке. Найдем все значения x из  этого промежутка, обращающие Рис. 10.1
уравнение
Бывает удобно преобразовать уравнение (10.1) к виду
f (x) = 0 (10.1)
f (x) = f1(x) – f2(x) = 0
в тождество. Такие значения называют корнями уравнения (10.1), или
с более простыми функциями, чем исходная.
нулями функции f (x).
Пример 10.2. Пусть уравнение имеет вид 2 sin(–x + π / 3) – 0,09x2 + .
Функция f (x) может быть иметь аналитическое выражение, а может
+ 1 = 0. Преобразуем его к виду 2 sin(–x + π / 3) = 0,09x2 – 1. Построим
быть задана в  виде таблицы значений, графика, последовательности
графики левой и правой части уравнения (рис. 10.2) и определим аб-
вычислений, и  т.п. Для многих таких уравнений аналитических ме-
сциссы точек пересечения графиков. В данном случае корни уравне-
тодов решения просто не  существует. Поэтому корни следует искать
ния принадлежат отрезкам [–2,5; –1], [1; 1,6], [4,5; 5], [5,5; 6].
приближенно с заданной точностью. При этом часто необходим поиск
не всех корней, а только тех, которые требуются для практического ре- 3
шения задачи, например, действительных.
2
Задача отыскания корней уравнения (10.1) состоит из  двух эта-
пов — отделение корней и уточнение корней. 1

10.1.1.  Отделение корней 0


–6 –5 –4 –3 –2 –1 1 2 3 4 5 6
Отделить корень означает найти промежуток числовой оси, содер-
–1
жащий корень, причем единственный. Для этого используют следую-
щие способы. –2
1.  Графический. Любым способом, в том числе и с помощью ком-
–3
пьютера, строится график функции f (x). Определяются точки пересе-
чения графика с осью абсцисс с доступной точностью. Рис. 10.2
164•Глава 10. Численные методы решения систем •165
10.1.  Решение нелинейных уравнений

В  некоторых случаях, когда мы представляем уравнение f (x)  = 0 x x2


в виде f1(x) = f2(x), функция f2(x) может быть константой. + − 1 = 0 Корни этого уравнения x1,2 = −1 ± 5 можно принять
2 4
Пример 10.3. Внутренняя норма доходности IRR потока платежей
в качестве начального приближения к точным значениям.
CF = {t; CFt}, где CFt — платеж в момент времени t (t = 1, …, n) и CF0 — Заметим, однако, что изменять уравнения нужно с осторожностью.
начальные инвестиции, представляет собой процентную ставку, при В примере 10.4 можно отбросить слагаемые начиная с третьего, так как
которой чистая приведенная стоимость (NPV) равна нулю и рассчиты- они становятся малы по  сравнению с  первыми (решение возможно
вается из уравнения x
n
только, если < 1, в  противном случае ряд расходится), если  же мы
CFt 2
NPV = −CF0 + ∑ t
=0 отбросим три последних слагаемых в примере 10.3, то корнями урав-
t =1 (1 + i )
2000 2000
Определим внутреннюю норму доходности потока платежей нения −8000 + + = 0 будут i1 ≈ –0,69 и  i2 ≈ –1,81, ни  один
1 + i (1 + i )2
CF  =  {(0; –8000), (1; 2000), (2; 2000), (3; 3000), (4; 3000), (5; 3000)}.
из которых не подходит в качестве разумного приближения.
То есть вложения в 8 тыс. обеспечивают доход в 2 тыс. первые два года
3.  Аналитический способ. Известно, что если непрерывная на  от-
и 3 тыс. последующие три года. Получаем уравнение
резке функция принимает на  его концах значения разных знаков,
2000 2000 3000 3000 3000 то хотя бы в одной точке этого отрезка она обращается в ноль. Таким
NPV = −8000 + + + + + =0
1 + i (1 + i ) (1 + i ) (1 + i ) (1 + i )5
2 3 4 образом, для существования корня уравнения (10.1) на отрезке [a, b]
достаточно выполнения условия
Это уравнение 5-й степени, и решить его аналитическими метода-
ми невозможно. Поэтому определим приблизительное значение i  = f (a) ⋅ f (b) <0. (10.2)
IRR графическим способом (рис. 10.3). По смыслу задачи нас интере- Для того чтобы на отрезке находился только один корень, нужно,
суют значения i > 0. В данной ситуации IRR заключено в промежутке чтобы производная на этом отрезке не меняла знак, т.е.
[0,16; 0,18].
sign ( f ′( x )) = const ∀x ∈[a, b] (10.3)
10 000
8 000
NPV Простейшим способом отделения корней является разбиение
6 000
на  части отрезка, на  котором ищутся корни, вычисление значений
4 000 функции в  точках деления и  выявление отрезков, на  которых вы-
2 000 полняется условие (10.2). Если это возможно, проверяется и условие
i
(10.3). При необходимости можно добавлять точки деления.
–0,1 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1,0 1,1
–2 000
–4 000 10.1.2. Уточнение корней
–6 000 Заметим вначале, что все численные методы, называемые «метода-
–8 000 ми решения нелинейных уравнений», и их программные реализации
Рис. 10.3 предназначены именно для уточнения корня. Для их успешной работы
пользователем задается либо отрезок, заведомо содержащий корень,
2.  Замена уравнения более простым. либо начальное приближение.
2n
 x
∞ Пусть x* — точное значение корня, а  x  — приближенное.
Пример 10.4. Рассмотрим уравнение ∑   − 1 = 0 Возьмем толь- ∗
n= 0 2 Определение 10.1. Величина ∆x = x − x называется погрешностью
ко первые два члена ряда и  заменим исходное уравнение таким: приближенного значения, а  δx = f ( x ) называется невязкой (рис. 10.4).
•Глава 10. Численные методы решения систем
166 10.1.  Решение нелинейных уравнений •167
y ков выбирается тот, на концах которого функция имеет разные знаки,
т.е. выполняется условие (10.2).
Алгоритм решения
Невязка Исходные данные: f (x), a, b, ε.
x* x 1)  x0 = a; z0 = b; k = 0;
0 x
k +1 xk + zk
Погрешность 2)  x = ;
2
Рис. 10.4
3)  если f (xk) ⋅ f (xk+1) < 0, то zk+1 = xk, иначе zk+1 = zk;
Вычислить погрешность полученного приближенного решения 4)  проверка на  конец: если zk+1  – xk+1 > ε, положить k  = k  + 1
нельзя, так как точное значение неизвестно. Поэтому обычно вычис- x k +1 + z k +1
и перей­ти к шагу 2; иначе процесс завершить, приняв x =
ляют невязку. 2
δx На каждом шаге длина отрезка уменьшается вдвое. Метод сходится
Погрешность и  невязка связаны соотношением ∆x ≤ , где линейно со скоростью v = 0,5. Число итераций k, требуемых для дости-
m
m = min ∗
f ′(α ) жения заданной точности ε, можно определить из условия
α ∈[ x ; x ]

Если m имеет «заметную» величину, например больше или равна 1, z0 − x0


k ≥ log 2
(10.4)
малая невязка порождает малую погрешность (рис. 10.4). Если же зна- ε
чение m достаточно мало, даже при малой невязке погрешность может Пример 10.5. Вычислим корень уравнения из примера 10.3 с точ-
оказаться очень большой (рис. 10.5). Такие задачи являются плохо об- 2000 2000 3000 3000 3000
условленными. При их  решении возникают трудности, аналогичные ностью 10–4. NPV = −8000 + + + + + =0
1 + i (1 + i ) (1 + i ) (1 + i ) (1 + i )5
2 3 4
описанным в параграфе 1.4.
Корень лежит на отрезке [0,16; 0,18]. Используем метод половинного
y деления, в соответствии с (10.4), необходимо будет сделать не менее 8
шагов. Вычисления приведены в таблице.

xk + zk
x* Невязка k xk zk f (xk) f (zk) zk – xk x k +1 = f (xk+1)
2
0 x x
Погрешность
0 0,16 0,18 217,6491 –184,129 0,02 0,17 12,82408
1 0,17 0,18 12,82408 –184,129 0,01 0,175 –86,6118
Рис. 10.5
2 0,17 0,175 12,82408 –86,6118 0,005 0,1725 –37,1367
Итак, методы уточнения корней позволяют уменьшить исходный 3 0,17 0,1725 12,82408 –37,1367 0,0025 0,17125 –12,2174
интервал, в котором расположен корень, либо, начиная с некоторого 4 0,17 0,17125 12,82408 –12,2174 0,00125 0,170625 0,288017
начального приближения, построить последовательность значений, 5 0,170625 0,17125 0,288017 –12,2174 0,000625 0,170938 –5,96852
сходящуюся к корню. Рассмотрим некоторые из таких методов. 6 0,170625 0,170938 0,288017 –5,96852 0,000313 0,170781 –2,84121
7 0,170625 0,170781 0,288017 –2,84121 0,000156 0,170703 –1,27683
1. Метод половинного деления 8 0,170625 0,170703 0,288017 –1,27683 7,81E-05 0,170664 –0,49447
(метод дихотомии или бисекции) 9 0,170625 0,170664 0,288017 –0,49447 3,91E-05 0,170645 –0,10324
Пусть дан отрезок [a; b], содержащий простой корень уравнения В качестве приближенного решения примем i = IRR = 0,170664 или
(10.1). Условие (10.2) выполнено. Находится середина отрезка, в этой доходность инвестиций составляет 17,07%. Погрешность не превосхо-
точке вычисляется значение функции f (x) и из двух полученных отрез- дит ∆x ≤ 0,0001, а невязка равна 0,10324.
168 •Глава 10. Численные методы решения систем 10.1.  Решение нелинейных уравнений •169
2. Метод Ньютона 4)  по формуле (10.5) вычислить xk+1. Если k = 0, перейти к щагу 6,
k +1 k
Метод Ньютона является одним из самых «быстрых» методов уточ- иначе вычислить ∆ k = x − x ;
нения корня. 5)  если k < 2, перейти к  шагу 6, иначе если ∆k < ∆k–1, перейти
Пусть для уравнения (10.1) известно некоторое начальное приближе- к шагу 6, иначе процесс расходится, решение не получено, конец;
ние x0. В этой точке функция f (x) заменяется своей касательной. Точка 6)  k = k + 1, перейти к шагу 2.
пересечения касательной с осью абсцисс является новым приближением: Достоинства метода. Высокая скорость сходимости.
Недостатки метода. Метод требует хорошего начального прибли-
f (x k )
x k +1 = x k − (10.5) жения. Требуется вычисление производных, что не  всегда возможно
f ′( x k ) или трудоемко. При поиске кратных корней скорость сходимости ме-
Процесс продолжается до достижения требуемой точности. тода существенно снижается.
Метод имеет ряд ограничений. Очевидно, что при f '(xk) = 0 вычисления Пример 10.6. Рассмотрим еще раз уравнение из  примера 10.3:
по формуле (10.5) невозможны. Если же производная по модулю близка 2000 2000 3000 3000 3000
к  нулю, то  следующее приближение может оказаться дальше от  корня, −8000 + + + + + = 0 . Его корень лежит
1 + i (1 + i ) (1 + i ) (1 + i ) (1 + i )5
2 3 4
чем предыдущее, и итерационный процесс не будет сходящимся.
Метод Ньютона характеризуется высокими требованиями к точно- на отрезке [0,16; 0,18].
сти начального приближения и далеко не всегда порождает последо- Здесь
вательность приближений, сходящуюся к корню. Такие методы назы- 2000 2000 3000 3000 3000
ваются локально сходящимися. В отличие от них, глобально сходящиеся f ( x ) = −8000 + + + + + ,
1 + x (1 + x ) (1 + x ) (1 + x ) (1 + x)5
2 3 4
методы сходятся к корню из любого начального приближения.
Для того чтобы процесс, определяемый формулой (10.5), сходился 2000 4000 9000 12 000 15 000
f ′( x ) = − − − − − ,
к корню уравнения (10.1) из начального приближения x0 ∈ [a; b], до- (1 + x ) (1 + x ) (1 + x ) (1 + x )5 (1 + x)6
2 3 4

статочно выполнения следующих условий: 4000 12 000 36 000 60 000 90 000


1)  отрезок [a; b] содержит один простой корень уравнения (10.1); f ′′( x ) = + + + +
(1 + x )3 (1 + x )4 (1 + x )5 (1 + x )6 (1 + x )7
2)  функция f (x) дважды непрерывно дифференцируема на [a; b];
3)  производные f '(x) и  f ''(x) сохраняют знак на  [a; b], причем Достаточные условия сходимости 1—3 выполнены. Условие 4 вы-
∀x ∈ [a; b] f '(x) ≠ 0; полняется в точке x = 0,16. Формула (10.5) имеет вид:
4)  f (x0) ⋅ f ''(x0) > 0.
Это утверждение часто называют условиями глобальной сходимо- x k +1 =
сти метода Ньютона. Если в результате отделения корней получен от- −8(1 + x k )6 + 2(1 + x k )5 + 2(1 + x k )4 + 3(1 + x k )3 + 3(1 + x k )2 + 3(1 + x k )
резок [a; b], содержащий корень, то в качестве начального приближе- = xk −
ния следует выбрать тот его конец, в котором выполняется условие 4. −2(1 + x k )4 − 4(1 + x k )3 − 9(1 + x k )2 − 12(1 + x k ) − 15
Условия 1—4 являются достаточными, поэтому при невыполнении Вычисления приведены в  таблице. Если  бы мы задали точность
некоторых из них метод все равно может сходиться. Метод Ньютона по невязке 10–2, то процесс завершился бы уже после 2-го шага. После
обладает квадратичной скоростью сходимости. 3-го шага результат более точный, чем после 8 шагов по методу поло-
Алгоритм решения винного деления (см. пример 10.6).
Исходные данные: f (x), x0, ε.
1)  k = 0; k xk f (xk) f '(xk) ∆k
2)  вычислить f (xk). Если f ( x ) ≤ ε решение x = x получено, ко-
k k
0 0,16 217,6490942 –20889,56638
нец; иначе перейти к шагу 3; 1 0,170419034 4,415839896 –20049,32976 0,010419034
k
3)  вычислить f '(xk). Если f ′( x ) ≤ ε, решение не  получено, 2 0,170639282 0,001904085 –20032,04265 0,000220249
но дальнейший расчет невозможен, конец; иначе перейти к шагу 4; 3 0,170639377 3,54476E-10 –20032,0352 9,5052E-08
170 •Глава 10. Численные методы решения систем 10.1.  Решение нелинейных уравнений•171
3. Модификации метода Ньютона Если неподвижен правый конец, то приближения ищутся по фор-
муле
Модификации метода Ньютона позволяют избежать некоторых не-
достатков, часто делающих его неприменимым, и при этом сохранить f (xk )
высокую скорость сходимости. x 0 = a; x k +1 = x k − k
(b − x k ) (10.7)
f (b) − f ( x )
Упрощенный метод Ньютона. Вместо формулы (10.5) применяют
Если левый, то по формуле
k +1 k f (xk )
x =x − f ( a)
f ′( x 0 ) x 0 = b, x k +1 = a − k
( x k − a) (10.8)
f ( x ) − f ( a)
Производная вычисляется один раз в  точке начального приближе-
ния. В этом случае снимаются некоторые ограничения метода Ньютона, Достоинства метода. Метод не требует вычисления производных.
например, требование знакопостоянства производных. При этом ско- В случае знакопостоянства второй производной метод сходится всегда.
рость сходимости ниже, упрощенный метод Ньютона сходится линейно. Недостатки метода. Метод хорд сходится линейно, хотя его ско-
Метод секущих. Производная функции f (x) заменяется ее конечно- рость в общем случае выше, чем метода половинного деления.
Пример 10.7. Вычислим внутреннюю норму доходности в  приме-
k f ( x k ) − f ( x k −1 )
разностной аппроксимацией: f ′( x ) = Геометрически 2000 2000 3000 3000
x k − x k −1 ре  10.3. Уравнение имеет вид −8000 + + + + +
1 + i (1 + i ) (1 + i ) (1 + i )4
2 3
это означает, что вместо касательной проводится секущая. Вместо 3000
формулы (10.5) применяется + = 0, положительный корень лежит на отрезке [0,16; 0,18]. Вы-
(1 + i )5
f (x k ) числим значение корня с точностью 10–4. Проверка условия (10.6) по-
x k +1 = x k − ( x k − x k −1 ) казывает, что неподвижен левый конец, a = 0,16. Воспользуемся фор-
f ( x k ) − f ( x k −1 )
мулой (10.8). Вычисления приведены в таблице.
На первом шаге cекущая проводится через точки x0 и x0,5 = x0 + δ,
где δ  — произвольная малая величина. Этот метод требует меньшего k 0 1 2 3 4 5
количества операций на  каждом шаге, так как расчет производных xk 0,18 0,1708343 0,1706434 0,170639462 0,170639379 0,170639377
не производится, а одно из значений функции уже вычислено на пре- ∆k 0,02 0,0091657 0,0001909 3,96466⋅10–6 8,2349⋅10–8 1,71043⋅10–9
дыдущем шаге. Его скорость сходимости ниже, чем у метода Ньютона, f (x ) –184,129 –3,903084 –0,0811041 –0,0016846 –3,499⋅10–5 –7,2677⋅10–7
k

но все же достаточно высокая (сверхлинейная). Сравнив с примерами 10.6 и 10.8, убедимся, что метод хорд сходит-
ся быстрее, чем метод половинного деления, но медленнее, чем метод
4. Метод хорд
Ньютона.
При применении метода хорд, как следует из его названия, следует
провести хорду через концы отрезка, содержащего корень. Прибли- 5. Метод итераций
женным значением корня на первом шаге считают точку пересечения Исходное уравнение (10.1) равносильным преобразованием при-
хордой оси абсцисс. Затем аналогично методу бисекции (только отре- водится к  виду x  = ϕ(x). Последовательность приближений строится
зок делится не пополам, а в отношении f (a) : f (b) ) выбирается новый с помощью формулы
отрезок, содержащий корень, и  процесс повторяется. Для того чтобы
он сходился к корню, также необходимо выполнение условия (10.2). x k +1 = ϕ( x k ) (10.9)
Один из концов всегда остается неподвижным, а именно тот, в ко- Геометрически это означает, что в качестве следующего приближе-
тором выполняется условие: ния принимается абсцисса точки пересечения прямой y = x и линии
f (x) ⋅ f ''(x) >0. (10.6) y = ϕ( x k ) Очевидно, что процесс не обязательно будет сходиться.
172 •Глава 10. Численные методы решения систем 10.2.  Системы нелинейных уравнений •173
Для сходимости итерационного процесса (10.9) ∀x0 ∈ D ⊆ R доста- k 0 1 2 3 4 5 8
точно, чтобы функция ϕ(x) была дифференцируема в области D и k
x 1 –0,51343 –0,62369 –0,60391 –0,60771 –0,60699 … –0,6071
∃α ∈[0; 1) : ∀x ∈ D ϕ ′( x ) ≤ α (10.10) Отметим, что завершение итерационного процесса требует особого
внимания. Возможна ситуация, когда два последовательных прибли-
Приведение уравнения (10.1) к виду (10.9) можно производить по-
жения отличаются менее чем на наперед заданное малое число, а ма-
разному. Более того, для поиска разных корней уравнения могут ока-
лое значение невязки не обеспечивается.
заться пригодными различные итерационные процессы.
Пример 10.8. Издержки производства имеют вид S(x) = 150 + 10x + .
+ 0,01x2, где х — число единиц продукции в тоннах. Цена на этот товар
составляет 36 ед. за 1 тонну. Определим при каких объемах производ- 10.2. Системы нелинейных уравнений
ства предприятие получает прибыль.
Функция прибыли имеет вид P(x)  = 36x  – 150  – 10x  – 0,01x2  = . Рассмотрим систему уравнений
= –0,01x2 + 26x – 150. Это парабола, ветви которой направлены вниз,
поэтому значение прибыли P(x) положительно на промежутке между
точками, в которых прибыль обращается в 0, т.е. между корнями урав- (10.11)
нения –0,01x2 + 26x – 150 = 0. Очевидно, что уравнение имеет малый
и  большой по  абсолютной величине корни. Преобразуем уравнение
1 2 1 2 0, 02 x где x = (x1, x2, …, xn) ∈ Rn — вектор; функции fi(x) = fi(x1, x2, …, xn) для i = 1, …, n
к виду x = (0, 01x + 150) Тогда φ( x ) = (0, 01x + 150) , φ ′( x ) = определены и непрерывны ∀x ∈ D ⊆ Rn.
26 26 26
Условие (10.10) выполняется, если x < 1300 Для системы (10.11) требуется найти вектор x* ∈ Rn, который при
подстановке в каждое уравнение обращает его в верное равенство.
k 0 1 2 3 4 5 Систему (10.11) можно записать в векторной форме:
xk 1,0 5,769615 5,782034 5,7820892 5,7820894 5,7820894
xk 10,0 1 100 2 586,364 2 594,20035 2 594,21787 2 594,21791 F(x) = 0, (10.12)

Возьмем x0 = 1. Вычисления приведены в таблице (2-я строка). Та- где F(x) = (f1(x), f2(x), …, fn(x)) — вектор-функция.
ким образом, найден корень x1  = 5,7820894, невязка равна 2,8  ⋅  10–8. Напомним, что корнем системы (10.11) или (10.12) является точка
Для поиска «большого» корня нужен другой процесс. Преобразуем n-мерного пространства, т.е. вектор
15 000 −2
уравнение к виду x = 2600 − . Тогда φ ′( x ) = 15 000 x Для любого Как и  для одного уравнения, поиск решения состоит из  отделения
x и  уточнения корней. Отделение корней можно провести графически,
x0 > 123 процесс должен сходиться. Пусть x0 = 10. Вычисления приве-
аналитически или, заменив систему более простой, и другими методами.
дены в таблице (3-я строка). Найден корень x2 = 2594,21791. Невязка
Даже определение количества решений системы нелинейных урав-
равна 2,26 ⋅ 10–6.
нений может быть непростым. Теоретически решение системы предпо-
Итак, для того чтобы получать неотрицательную прибыль, пред-
лагает поиск всех ее корней. Однако при решении практических задач
приятие должно выпускать от 6 до 2594 тонн продукции, в противном
случае затраты будут превышать доход. часто бывает необходимо найти только некоторые решения, например,
Пример 10.9. Для уравнения 3x + cos x + 1 = 0 вычислим корни ме- положительные. При отделении корней следует использовать априор-
тодом итераций. Естественным преобразованием уравнения будет ную информацию о корнях, их смысл, результаты решения аналогич-
1 1 ных более простых задач. Эта задача чаще всего трудно формализуема.
x = − (cos x + 1), φ ′( x ) = sin x Условие (10.10) выполнено. Вычисле- Для уточнения  же корней существует достаточно много методов.
3 3
ния приведены в таблице. Найден корень x = –0,6071, невязка 10–5. Реализация каждого из них требует задания начального приближения.
174 •Глава 10. Численные методы решения систем 10.2.  Системы нелинейных уравнений •175
10.2.1. Метод Ньютона для решения систем Пример 10.10. y
А. Решить методом Ньютона систе- 1
нелинейных уравнений
 x + y = 1,
2 2

Естественным обобщением описанного выше метода Ньютона му уравнений  3 с точностью 0,5


в n-мерном пространстве будет:  x − y = 0
ε  = 10–4. Для определения начального 1
x k +1 = x k − ( F ′( x k )) ⋅ F ( x k ),
−1
0,5 x
приближения построим графики
функций в  плоскости переменныx
∂ fi ( x )
где F ′( x ) = J ( x ) = , i = 1, …, n, j = 1, …, n — матрица Якоби (яко- (рис. 10.6). В качестве начального при-
∂x j ближения выберем x0 = (0,9; 0,5).
биан). Положим k  = 0. Вычислим F(x0)  = .
Алгоритм решения для системы (10.11) 0
= (0,06; 0,229), F ( x ) > ε Якобиан Рис. 10.6
0 0 0 0
Исходные данные: F(x) = (f1(x), f2(x), …, fn(x)), x = ( x1 , x2 , …, xn ), ε.
 1,8 1 
1)  k = 0; J (x0 ) = 
k
 2, 43 −1
2)  вычислить F(xk). Если F ( x ) < ε, перейти к шагу 7; иначе перей­
Решаем систему
ти к шагу 3;
3)  вычислить J(xk);  −0, 068322  0,83168
J ( x 0 ) ⋅ s 0 = − F ( x 0 ),   s 0 =   ,   x1 = 
 0,56298
k k k
4)  решить систему уравнений J ( x ) ⋅ s = − F ( x );  0, 062979 
k
5)  если s < ε, перейти к шагу 7; иначе перейти к шагу 6;  8,6381 × 10 −1  1,6634 1,1260
1
6)  xk+1 = xk + sk. Положить k = k + 1 и перейти к шагу 2; Теперь k  = 1. F ( x ) =  , J (x0 ) = ,
1, 2286 × 10 −2  2, 0751 −1
7)  завершение работы.
Процесс заканчивается, когда невязка становится малой (после  −0, 0056181  0,82606  3,1356 × 10 −5 
s1 =  , x 2
= , F ( x 2
) =  
проверки на  шаге 2), либо если вычисленная поправка к  текущему  0, 0006279   0,56361
 7, 2795 × 10 −5 
приближению мала (проверка на  шаге 5). Если производные, входя-
Требуемая точность достигнута.
щие в якобиан, отличны от нуля, метод сходится.
Метод обладает высокой (квадратичной) скоростью сходимости Б. Решим теперь эту систему упрощенным методом Ньютона.
из хорошего начального приближения. Однако сходимость метода ло- При k = 0 действия повторяются.
кальная, кроме того, требуются трудоемкие вычисления. Вычисление Для k = 1 F(x1) = (8,6381×10–3; 1,2286×10–2).
якобиана на каждом шаге не всегда возможно или трудоемко. Кроме Решим систему уравнений
того, на каждом шаге требуется решать систему линейных алгебраиче-  −0, 00049466  0,82673
ских уравнений, которая может оказаться плохо обусловленной.
1
  s = ,   x2 =  .

 0, 000026577  0,56325
Можно избежать многократного вычисления якобиана, используя
на каждом шаге только якобиан, вычисленный первоначально. Такая 2
 7,3306 × 10 −4 
модификация метода носит название упрощенный метод Ньютона. k = 2. F ( x ) =  .
 1,8055 × 10 −3 
Тогда шаг 4 алгоритма будет иметь вид:
0 k k
4)  решить систему уравнений J ( x ) ⋅ s = − F ( x ) Решим систему уравнений
Это позволит сэкономить достаточно большое количество вычис-  0,82613
лений. Однако сходимость такого метода в  общем случае хуже, чем J (x 0 )⋅ s2 = −F (x 2 )   3
  x =
 0,56360
у метода Ньютона.
176 •Глава 10. Численные методы решения систем •177
10.2.  Системы нелинейных уравнений

 1,3574 × 10 −4  Чтобы итерационный процесс xk+1  = Φ(xk) сходился к  единствен-


3
k = 3. F ( x ) =  . ному корню в некоторой области G ⊆ Rn, достаточно, чтобы функции
 2, 2611 × 10 −4  ϕi(x1, x2, …, xn) ∀i были определены и непрерывны в области G и пусть
0 3 3 в этой области выполнялось неравенство
Решим систему уравнений J ( x ) ⋅ s = − F ( x ),
max Φ ′( x ) ≤ q < 1 .
3
 −8,5544 × 10 −5  4  0,82604 4
 9,586 × 10 −6  x ∈G
s =  ,   x =  0,56362 ,  F ( x ) =   ∂ϕ i ( x )
 1,8239 × 10 −5   2,1853 × 10 −5  где Φ ′( x ) = .
∂x j
Требуемая точность достигнута.
Таким образом, решение с помощью упрощенного метода Ньюто- Модификацией метода простой итерации, сходящейся быстрее, яв-
на требует большего количества шагов, но на каждом шаге количество ляется метод Зейделя. При вычислении следующей компоненты век-
операций меньше. тора xk используют все вычисленные к этому моменту значения. Тогда
алгоритм решения в целом не меняется, лишь шаг 2 теперь имеет вид:
10.2.2. Итерационные методы для решения
систем нелинейных уравнений
Итерационные методы для систем нелинейных уравнений анало-
гичны методам решения линейных систем. Система (10.11) равно-
сильными преобразованиями приводится к виду
 x1 = ϕ1 ( x1, x2 , ..., xn ), Пример 10.11. Решить систему уравнений с точностью
 x = ϕ ( x , x , ..., x ),
 2 2 1 2 n
 ε = 10–4. Для определения начального приближения построим графи-
 … ки функций в  плоскости переменных (x, y) (рис.  10.7). Будем искать
 xn = ϕ n ( x1, x2 , ..., xn ) корень, расположенный в  первой четверти. Примем (x0; y0)  = .
или в векторной форме  x = y 2 − 1,

x = Φ(x). (10.13) = (2, 2). Преобразуем исходную систему к виду:  1 Вычисле-
y = 2 + .
 x
Метод, в котором поиск каждого следующего приближения проис- ния методом Зейделя представлены в таблице.
ходит с помощью формулы (10.13), называется методом простых ите-
раций. k 0 1 2 3 … 8
Алгоритм решения xk 2 1,732051 2,375444 2,204794 2,234038
Исходные данные: yk 2 2,57735 2,420974 2,453557 2,44762
0 0 0 0
Φ(x) = (ϕ1(x), ϕ2(x), …, ϕfn(x)),  x = ( x1 , x2 , …, xn ), ε Таким образом, x* = (2,23404; 2,44762), вектор невязки (8,2 ⋅ 10–5; 0).
Эффективное формирование итерационного процесса зависит
1)  k = 0; от вида решаемой системы. Для часто встречающихся систем специ-
2)  xk+1 = Φ(xk); ального вида:
k k +1 k
3)  если ∆ = x − x < ε, перейти к  шагу 5; иначе перейти Ax + H(x) = 0,
к шагу 4;
4)  k = k + 1, перейти к шагу 2; где A ∈ Rn × n, det A ≠ 0, наиболее подходящим является метод итера-
5)  завершение работы. ций Пикара. Такие системы называют «почти линейными». Итераци-
•Глава 10. Численные методы решения систем
178 10.3.  Решения нелинейных уравнений и системсредствами Excel •179
онный процесс Пикара строится так: xk+1 = A–1H(xk). На каждом шаге Задача сводится к нахождению корней уравнения 0,5x + 1 = (x – 2)2.
алгоритма можно решать систему линейных уравнений либо один раз Перепишем уравнение в виде 0,5x + 1 – (x – 2)2 = 0 и определим коли-
обратить матрицу A. чество корней и их примерное положение, построив график функции
f (x) = 0,5x + 1 – (x – 2)2.
y
4
Построение графика
(y – 2)x = 1
3 Сначала зададим диапазон изменения параметра х, например от –8
до 8, и найдем значения функции f (x) в точках отрезка [–8; 8] с интер-
2 валом 0,2.
В ячейку А1 записываем –8, в  А2  –7,8, выделяем ячейки А1 и  А2
1 y2 – x2 = 1
и  растягиваем их  на  необходимое число клеток, ячейки будут запол-
няться автоматически с шагом 0,2, в ячейке А81 получим число 8.
–2 –1 0 1 2 3 4 x Теперь в  ячейку В1 записываем выражение  =  0,5^(A1)+1-
–1 (A1-2)^2, которое вычисляет значение функции f (x) при x = –8, и рас-
тягиваем В1 до В81, чтобы вычислить значения f (x) во всех остальных
–2 точках. Получим следующую таблицу:
Рис. 10.7
 Таблица 10.1

10.3. Решения нелинейных уравнений и систем


средствами Excel
Для решения нелинейных уравнений и нелинейных систем в паке-
те Excel существуют различные способы, можно непосредственно по-
строить итерационный процесс одним из методов, описанных в этой
главе, или использовать программы Подбор параметра и Поиск реше-
ния. Первый вариант позволяет видеть все последовательные прибли-
жения и контролировать точность на каждом шаге, во втором варианте
программа сразу выдает окончательный результат. Ниже на конкрет-
ных примерах мы изучим обе возможности.

10.3.1. Решение нелинейных уравнений Далее, используя полученные данные, построим график. Во вклад-
ке Вставка находим панель инструментов Диаграммы и выбираем То-
средствами Excel
чечную с гладкими кривыми. Область для построения графика появля-
Сначала рассмотрим задачу нахождения корней нелинейного урав- ется на рабочем листе Excel, кликаем на Выбрать данные, открывается
нения, а затем решение системы. диалоговое окно Выбор источника данных (рис. 10.8).
Пример 10.12. Изменения в положении двух объектов описываются Нажимаем Добавить и  добавляем название функции f (x) в  графу
следующим образом: y1 = 0,5x + 1 и y2 = (x – 2)2. Найти точки, в кото- Имя ряда, значения Х из столбца А и значения Y из столбца В, для этого
рых траектории движения этих объектов пересекаются. просто выделяем соответственно ячейки А1:А81 и В1:В81 (рис. 10.9).
•Глава 10. Численные методы решения систем
180 10.3.  Решения нелинейных уравнений и системсредствами Excel •181
f(x)
20
15
10
5
0
–10 –8 –6 –4 –2 2 4 6 8 10
–5
–10
–15
–20
Рис. 10.8
Рис. 10.11

Из графика видно, что уравнение f (x) = 0 имеет три корня: в рай-


оне числа –6, числа 1 и числа 3. Более точно определим положение
корней, посмотрев на вычисленные ранее значения f (x). Мы видим,
что функция меняет знак на отрезках [–6; –5,8], [0,6; 0,8] и [3; 3,2].
Следовательно, на каждом из этих отрезков находится корень урав-
нения.
Рис. 10.9 Теперь можно переходить непосредственно к вычислению корней.

Нажимаем ОК, возвращаемся в предыдущее окно, еще раз ОК, по- Применение метода простой итерации
лучаем график (рис. 10.10).
Начнем с корня, находящегося на отрезке [0,6; 0,8]. Воспользуемся
f(x) методом простой итерации. Приведем уравнение к виду x = ϕ(x):
200
0,5 x + 1 = ( x − 2)2 ⇔ 0,5 x + 1 = x − 2
150
Поскольку x ∈ [0,6; 0,8], то x – 2 < 0 и  x − 2 = 2 − x Следовательно,
x
100 уравнение приобретает вид x = 2 − 0,5 + 1
Условие сходимости метода итераций на  отрезке [0,6; 0,8] выпол-
50 нено, так как

0,5 x ln 0,5 0,50,6 ln 2 0,7 ⋅ 0,7


0 ϕ′ = − < < <1
–10 –8 –6 –4 –2 2 4 6 8 10 2 0,5 x + 1 2 2
–50
Составим таблицу из  четырех столбцов: первый  — номер итера-
Рис. 10.10 ции k, второй — последовательные приближения корня xk, в третьем —
k +1 k
Для того чтобы лучше рассмотреть точки пересечения графика значение величины ∆ k = x − x , в четвертом — невязка. В качестве
с осью абсцисс, изменим в параметрах вертикальной оси максималь- начального приближения возьмем x0 = 0,6.
ное и  минимальное значения на  20 и  –20 соответственно, получим Заполняем первую строку: k = 0 (0 в ячейке D2); x0 = 0,6 (0,6 в ячей-
следующее (рис. 10.11). ке  Е2); погрешность на  первом шаге неопределена (ячейка F2  — пу-
182 •Глава 10. Численные методы решения систем 10.3.  Решения нелинейных уравнений и системсредствами Excel •183
стая); в ячейке G2 записываем невязку f (x0) по формуле: =0,5^(E2)+1-  Таблица 10.4
(E2-2)^2.
Во второй строке: k = 1 (1 в ячейке D3); x1 = ϕ(x0), т.е. в E3 записы-
ваем выражение: =2-КОРЕНЬ(0,5^E2+1), здесь использована функ-
ция КОРЕНЬ для вычисления арифметического квадратного корня
0,5 x + 1, значение х берется из ячейки Е2; в F3 записываем значение
1 0
выражения x − x по  формуле  =ABS(E3-E2); до  G3 протягиваем
ячейку G2. Получим следующую таблицу.
 Таблица 10.2

Запишем в  ячейку Е15 приближенное значение третьего корня


х = −6, в  ячейку F15 значение невязки по  формуле  =0,5^(E15)+1-
-(E15-2)^2. Далее, используя команду Подбор параметра, мы будем
минимизировать значение невязки в ячейке F15, изменяя значение х
Далее выделяем строку D3:G3 и  растягиваем ее на  необходимое в ячейке Е15. Подбор параметра находится в разделе Сервис в ранних
количество шагов, пока Δk и  невязка не  станут достаточно малыми версиях Excel и в разделе Данные, Анализ «что если» в более поздних.
(табл. 10.3). Вызываем Подбор параметра, в появившемся диалоговом окне пишем:
установить в ячейке F15; значение 0 (мы стремимся к тому, чтобы не-
 Таблица 10.3 вязка равнялась нулю); изменяя ячейки Е15 (рис. 10.12).

Рис. 10.12

Итак, первый корень найден: х1 = 0,7347. Нажимаем ОК, получим значение корня –5,964098 в  ячейке Е15
Аналогично найдем корень, принадлежащий отрезку [3; 3,2]. Един- и значение невязки 0,00015 в ячейке F15.
ственное отличие состоит в том, что при x ∈ [3; 3,2] выполняется усло- Итак, все три корня найдены х3 = –5,9641; х1 = 0,7347; х2 = 3,0583.
x
вие x – 2 > 0 и  х − 2 = х − 2 Следовательно, функция ϕ( x ) = 2 + 0,5 + 1
В итерационной схеме также меняем знак с минуса на плюс. Условия 10.3.2. Решение систем нелинейных уравнений
сходимости метода итераций выполнены. В качестве начального при- при помощи команды «Поиск решения»
ближения возьмем х0 = 3. В результате получаем табл. 10.4.
Второй корень х2 = 3,0583. Рассмотрим теперь решение нелинейных систем в Excel на приме-
Осталось найти третий корень, принадлежащий отрезку [–6; –5,8]. ре системы
В этом случае применить метод итераций нельзя, поскольку не выпол-
нено условие сходимости. Оставшийся корень найдем с помощью про-
граммы Подбор параметра.
184•Глава 10. Численные методы решения систем 10.3.  Решения нелинейных уравнений и системсредствами Excel •185
Для определения начального приближения построим графики зировать значение выражений F1 = x2 + 3xy – 54 и F2 = xy + 4y2 – 115
функций в плоскости переменных (х, у). Преобразуем систему к виду при помощи программы Поиск решения.
 18 x В  ячейке G1 пишем 2, в  Н1  — 7, в  G2  — значение F1 по  формуле:
 y = x − 3 , =G1^2+3*G1*H1–54, в Н2 — значение F2: =G1*H1+4*H1^2—115. В ячей-
 ку Н3 запишем сумму модулей функций F1 и F2: = ABS(G2)+ABS(H2).
 x = 115 − 4 y. Последнее выражение мы собираемся минимизировать.
 y Далее вызываем программу Поиск решения, заполняем поля: опти-
Заполним ячейки столбца А последовательными числами, напри- мизировать целевую функцию Н3; до — ставим точку в Минимум; изме-
18 x няя ячейки G1:Н1 (рис. 10.14).
мер, от –6 до 6 с шагом 0,2, и найдем значения функции ϕ1 ( x ) = −
x 3
115
в этих точках. Аналогично найдем значения функции ϕ 2 ( y) = − 4 y,
y
можно использовать те же самые данные из столбца А, но уже в каче-
стве значений переменной y. Отметим, что функции ϕ1 и ϕ2 не опреде-
лены в нуле, но, поскольку в процессе заполнения столбца А 0 заменя-
ется на число близкое к 0, проблем с вычислением значений функций
ϕ1 и ϕ2 не возникает.
Графики обеих имеют разрыв в  нуле, поэтому построим отдельно Рис. 10.14
части графиков при положительных значениях аргументов функций
Нажимаем Найти решение, получаем ответ x = 3; у = 4,999998 ≈ 5.
и  при отрицательных. Затем ограничим максимальные и  минималь-
Норма вектора невязки не превышает 0,000101.
ные значения по  осям, чтобы лучше были видны координаты точек
пересечения. Получим следующую картину (рис. 10.13). Задачи для самостоятельного решения
20
1.  Найдите корни нелинейного уравнения x3 – 0,2x2 + 0,5x – 1,4 = 0
15 методом деления отрезка пополам с точностью ε = 10–3.
10 2.  Найдите корни нелинейного уравнения 3x4 + 4x3 – 12x2 + 1 = 0
методом деления отрезка пополам с точностью ε = 10–4.
5 3.  Для уравнения e–x + x2 – 2 = 0 покажите глобальную сходимость
0 метода Ньютона. Решите уравнение с точностью 10–4.
–20 –15 –10 –5 5 10 15 20
–5 4.  Найдите корень уравнения ex–1 – 2 – sin x = 0 методом Ньютона
с точностью 10–4.
–10 5.  Уравнение 2x3  – x  = 0 имеет три корня. Исследуйте, к  какому
–15 корню сходится метод Ньютона из  различных начальных приближе-
–20
ний. Определить области притяжения корней.
6.  Найдите положительный корень уравнения 2x4 – x2 – 10 = 0 ме-
f1 f2
тодом секущих с точностью ε = 10–4.
Рис. 10.13 7.  Найдите корни нелинейного уравнения x2 cos 2x = –1, лежащие
на отрезке [2; 8], методом хорд с точностью ε = 10–4.
Будем искать корень, находящийся в первой четверти. Для началь- 8.  Найдите корни нелинейного уравнения 2 ln x – 0,5x + 1 = 0 упро-
ного приближения используем точку (х0; у0) = (2; 7), и будем миними- щенным методом Ньютона с точностью ε = 10–4.
186 •Глава 10. Численные методы решения систем 10.3.  Решения нелинейных уравнений и системсредствами Excel •187
9.  Методом простой итерации найдите наибольший корень нели- 19.  Внутренняя норма доходности инвестиций находится из урав-
нейного уравнения 2 ln x – 0,5x + 1 = 0 с точностью ε = 10–4. нения
10.  Решите уравнение arctg(x – 1) + 2x = 0 с точностью ε = 10–3.
C1 C2 CN −1 CN
11.  Решите уравнение cos(x + 0,5) = x3 с точностью ε = 10–3. NPV = −CF0 + + + + N −1
+ =0,
1 + i (1 + i )2 (1 + i ) (1 + i )N
12.  Решите уравнение 2x3 – 9x2 – 60x + 1 = 0 с точностью ε = 10–3.
13.  Издержки производства имеют вид S(x)  = x  + 0,02x2, где х  — где CF0 > 0 — начальные инвестиции; Сn — платеж в момент времени n. Опре-
число единиц продукции, цена на  продукцию определяется из  урав- делите внутреннюю норму доходности потока платежей в 5000 ежегодно в те-
чение 10 лет, порождаемого начальными вложениями в 12 000.
нения спроса по формуле p = 15 – 0,05х. Определите объемы произ-
водства, при которых предприятие получает прибыль.
 x 2 − y 2 = 3
14.  Для системы уравнений  2 2
найдите начальное
 x + xy + 2 y = 8
приближение к корню, расположенному в первом квадранте. Уточни-
те решение методом Ньютона и упрощенным методом Ньютона с точ-
ностью ε = 10–3.
1 1
 − = 1,
15.  Найдите решения системы уравнений  x 2 y с точ-
 x 2 + 4 y 2 = 20 x 2 y 2

ностью ε = 10–3.
sin( x + y) − 1, 4 x = 0,
16.  Найдите решения системы уравнений  2 2
 x + y = 1
с точностью ε = 10–3.
cos( y − 1) + x = 0,5,
17.  Найдите решения систем уравнений  .
 y − cos x = 3
0,5 cos( y − 1) + x = 0,5,

и   y − 0,5 cos x = 3 методом простых итераций с  точностью

ε = 10–3. Сравните количество шагов, необходимых для решения каж-


дой системы с заданной точностью. Проверьте результаты с помощью
программы Поиск решения.
18.  Цена купонной облигации может быть вычислена по формуле:
k k k C+k
P= + + + + ,
1 + r (1 + r )2 (1 + r )T −1 (1 + r )T
где k — стоимость купона; C — выкупная цена облигации; r — ставка дохода;
T — количество лет действия облигации.
Вычислите r с  точностью до  0,01% одним из  численных мето-
дов (половинного деления, итераций, Ньютона). Исходные данные:
C = 3000; k = 300; T = 12; P = 2700.
•189
11
11.1.  Общая постановка задачи многокритериальной оптимизации

Глава Алгоритм построения Парето-эффективной границы следующий:


1.  Строим допустимое множество D, заданное системой ограниче-
ний, как пересечение полуплоскостей, соответствующих каждому не-
Многокритериальная равенству, входящему в эту систему.
2.  Для каждой функции fi = ci1x1 + ci2x2 + ci0 строим линию уровня
оптимизация как прямую, перпендикулярную соответствующему вектору нормали

ni = (ci1, сi 2 ) Каждая из  этих линий уровня разбивает плоскость XOY
на две полуплоскости. Пусть Пi — полуплоскости, содержащие вектор
n
В  этой главе рассматриваются постановка задачи, примеры и  ос- градиента целевой функции fi, а их пересечение П =  Пi
новные методы решения многокритериальных задач, такие как, метод i =1
Салуквадзе, метод лексико-графического упорядочения, метод линей- 3.  Перемещая данную область П по границе допустимого множе-
ной сверки. ства D, находим те точки границы, которые являются единственными
точками пересечения областей П и D. Данные точки являются опти-
мальными по Парето, а множество всех таких точек — Парето-эффек-
11.1. Общая постановка задачи тивной границей.
многокритериальной оптимизации. Пример 11.1. Найти Парето-эффективную границу задачи
Парето-эффективное множество  f1 = 4 x1 + x2 → max,
 f = x + 2 x → max,
 2 1 2
Задача вида  x1 + x2 ≤ 7,
 fi ( x ) → max(min), 
  x1 ≤ 5,
 x ∈ D,  x ≤ 4,
 2
где i > 1; D ∈ Rn — допустимое множество; fi(x) — гладкие функции на D,  x1 ≥ 0,
называется задачей многокритериальной оптимизации.  x ≥ 0.
 2
В экономических задачах область допустимых решений D обычно
Решение. Область допустимых решений D задается системой нера-
задается системой уравнений и неравенств, к которой могут быть до-
венств
бавлены некоторые дополнительные ограничения, например, цело-
численность переменных.  x1 + x2 ≤ 7,
 x ≤ 5,
Определение 11.1. Пусть X и Y — два допустимых решения. Говорят,  1
что X доминирует Y, если для всех i =1, 2, …, n выполняется неравен-  x2 ≤ 4,
ство fi(X) ≥ fi(Y) и найдется такое k, что fk(X) > fk(Y).  x ≥ 0,
 1
Определение 11.2. Решение Z называется недоминируемым (эф-  x2 ≥ 0.
фективным), если нет решения X, которое бы доминировало Z.
Определение 11.3. Множество эффективных (недоминируемых) ре-
Построим данную область
шений называется множеством Парето. Геометрическое изображение
множества Парето называется Парето-эффективной границей (Паре- l1 : x1 + x2 = 7,
то-оптимальной границей). l2 : x1 = 5,
В  задаче многокритериальной оптимизации наилучшее решение l3 : x2 = 4.
следует искать во множестве Парето.
190•Глава 11. Многокритериальная оптимизация 11.1.  Общая постановка задачи многокритериальной оптимизации•191
В  качестве допустимого множества получаем область ОАВСD  x1 
с угловыми точками О(0; 0), А(0; 4), В(3; 4), С(5; 2), D(5; 0) (рис. 11.1). Решение. Если планируется произвести X =   единиц продук-
 x2 
x2
1 2
 x1 
ции, то  стоимость ресурсов равна QAX = (1 1 4) × 1 1  ×   = .
7    x2 
3 1
= 14x1 + 7x2, предполагаемая выручка PX = 17x1 + 12x2, прибыль PX –
l3 4 B QAX = 3x1 + 5x2.
A Математическая модель данной задачи имеет вид:
Линия уровня f2 C  f1 = 17 x1 + 12 x2 → max,
n2 n1  f = 3 x + 5 x → max,
5  2 1 2
O D x1  x1 + 2 x2 ≤ 20 ,
7 
l2 l1  x1 + x2 ≤ 15,
Линия уровня f1 3 x + x ≤ 39,
 1 2
Рис. 11.1  1
x ≥ 0,
 x ≥ 0.
Для функций f1 и f2 построим линии уровня (f1 = const, f2 = const)  2
как прямые, перпендикулярные соответствующим векторам нормали Изобразим множество допустимых решений графически
 
n1 = (4; 1) и  n2 = (1; 2) Каждая из  этих линий уровня разбивает пло- l1 : x1 + 2 x2 = 20,
скость XOY на 2 полуплоскости. Рассмотрим те из них Пi, которые со-
l2 : x1 + x2 = 15 ,
держат соответствующий вектор нормали (вектор градиента целевой
функции). Пусть П = П1 ∩ П2. Перемещая область П по границе мно- l3 : 3 x1 + x2 = 39.
жества D, легко определить, что Парето-эффективной границей будет Получим пятиугольник OABCD с  вершинами O(0; 0), A(0; 10),
отрезок [BC], т.е. множество точек (1 – t)(3; 4) + t(5; 2) = (3 + 2t; 4 – 2t), B(10; 5), C(12; 3), D(13; 0) (рис. 11.2).
t ∈ [0; 1]. x2
Ответ. [BC] — Парето-эффективная граница, т.е. множество точек
15
(3 + 2t; 4 – 2t), t ∈ [0; 1]. l3
Замечание 11.1. Задача минимизации одной или нескольких целе- l1
вых функций в  задаче многокритериальной оптимизации легко сво- n1
дится к задаче максимизации умножением на (–1). A
Пример 11.2. Для выпуска 2 видов продукции используется 3 вида
1 2 7

ресурсов. Известны матрица норм расхода сырья A = 1 1  , цены n2 B


 
3 1 C

на ресурсы Q = (1; 1; 4), цены реализации продукции P = (17; 12), за- O 10 15 25 x1
 20 D
пасы ресурсов B =  15  Найти Парето-оптимальную границу в задаче l2
 
 39
Рис. 11.2
максимизации прибыли и выручки.
192•Глава 11. Многокритериальная оптимизация 11.2.  Методы решения задач многокритериальной оптимизации•193
Построим для каждой целевой функции f1, f2 вектор нормали Перепишем целевую функцию z в виде z – 2,2x1 – 1,6x2 = 0. Соста-
 
n1 = (17; 12) и  n2 = (3; 5) и перпендикулярные им линии уровня. Найдем вим начальную симплекс-таблицу
область П = П1 ∩ П2. Перемещая область П по границе множества D, б.п. с.ч. х1 х2 х3 х4 х5
легко определить, что Парето-эффективной границей является отре-
х3 7 1 1 1 0 0
зок [BC], т.е. множество точек (1 – t)(10; 5) + t(12; 3) = (10 + 2t; 5 – 2t),
х4 5 1 0 0 1 0
t ∈ [0; 1].
х5 4 0 1 0 0 1
Ответ. [BC] — Парето-эффективная граница, (10 + 2t; 5 – 2t), t ∈ [0; 1].
z 0 –2,2 –1,6 0 0 0

 7 5
Вводим в  базис переменную x1 и, так как min  ;  = 5, выводим
11.2. Методы решения задач из базиса x4. 1 1
многокритериальной оптимизации
б.п. с.ч. х1 х2 х3 х4 х5
Метод обобщенного критерия (метод линейной