Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Методы
оптимальных решений
в экономике и финансах
Практикум
Рекомендовано ФГБОУ ВПО
«Государственный университет управления»
в качестве учебника для студентов вузов,
обучающихся по направлениям подготовки «Экономика»
и «Прикладная математика и информатика»
(квалификация (степень) «бакалавр»)
6.4. Открытая модель транспортной задачи . . . . . . . . . . . . . . . 105 11.2. Методы решения задач многокритериальной оптимизации . . 192
Глава 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. Погрешности вычислений
Введение в численные 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
:
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
Вычтем из первого уравнения второе, а затем из второго — первое, при невыполнении этих условий один из методов сходится, а другой
и преобразуем к удобному для итераций виду: нет. Так, метод Зейделя всегда сходится, если матрица 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
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
0,6k +1 5 − lg16
2,5 < 0, 001 ⇒ k + 1 > ≈ 17,11
0, 4 1 − lg 6
Таким образом, заданная точность гарантированно достигается
за 17 итераций при использовании метода простых итераций, метод
Зейделя сходится быстрее.
Рассмотрим реализацию метода Зейделя в Excel.
Знак «$» указывает на неизменяемую при копировании формулы Вызов этой функции приводит к появлению диалогового окна «Ар-
ячейку. Например, ячейка В2 не должна изменяться при копировании гументы функции» (рис. 1.4).
формулы, так как это коэффициент исходной системы, который оста-
ется неизменным, поэтому пишем $B$2, а ячейка В8 должна на следу-
ющем шаге итерационого процесса изменится на В9, поэтому В8 за-
писываем без знака «$».
Получим следующую таблицу:
Таблица 1.3
Рис. 1.4
Рис. 1.5
Рис. 1.6
Неотрицательные ( 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
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
Решение. Согласно входящим в ограничения неравенствам, можно получим задачу в стандартной форме, равносильную исходной:
ввести балансовые переменные 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
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
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. Основные определения и теоремы
… … … … … … 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 и система
∗
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 ), как и должно быть по первой тео
*
{ }
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. Метод Гомори
Таким образом, в последней строке и в столбце свободных членов Решение. Приведем задачу к каноническому виду
∗ 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
задачи целочисленного программирования. Далее, так как дробные Дадим теперь геометрическую интерпретацию введения дополни-
части равны между собой, то дополнительное ограничение составляет- тельного ограничения 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
{} {}
5 15
9 4 12 41 11 В этом параграфе на примере задачи о разрезах (пример 3.7) раз-
учета условия целочисленности. Заметим, что = = > = ,
5 5 15 15 15 берем алгоритм применения Excel для решения задач целочисленного
а поэтому дополнительное ограничение выписывается для базисной программирования.
переменной x1. Последнее имеет вид Итак, требуется решить задачу
92 •Глава 5. Задачи целочисленного программирования •93
5.4. Решение задач линейного программирования средствами Excel
−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.2
Суммарная стоимость перевозок равна
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
Пример 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
легко преобразуется к виду где «*» обозначает «≥», «≤» или «=».
ке (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
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)
∂ 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. Докажите, что множество безразличия есть пересечение верхне-
накладываемое на матрицу Гессе го и нижнего лебеговых множеств:
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
∗ 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
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. Предельный анализ и потребительский выбор
ряет условиям теоремы Куна — Таккера, следовательно, является ре- 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
Экономико-математические характеристики
производственной функции
1. Средняя производительность (AP) i-го ресурса:
Q
qi =
xi
152•Глава 9. Математическая теория производства •153
9.1. Производственная функция
∂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. Функции предложения и спроса
Из теоремы 9.2 следует, что функции спроса и предложения могут также отрицательно определена, а следовательно, на ее главной диа-
быть записаны как функции реальных цен, а именно гонали находятся отрицательные элементы, т.е.
∂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. Решение нелинейных уравнений
2 x 2 − 0,5 x − 3
=0
Численные методы решения x2 +1
График левой части уравнения представлен на рис. 10.1. Корни
систем нелинейных уравнений уравнения принадлежат отрезкам [–6,5; –6], [–2; –1,5], [1; 1,5].
1
–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
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
но все же достаточно высокая (сверхлинейная). Сравнив с примерами 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
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
Нажимаем ОК, возвращаемся в предыдущее окно, еще раз ОК, по- Применение метода простой итерации
лучаем график (рис. 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 нено, так как
Рис. 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 методом простых итераций с точностью
на ресурсы 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
Метод обобщенного критерия (метод линейной свертки) х3 2 0 1 1 –1 0
х1 5 1 0 0 1 0
Метод перехода от нескольких критериев f1, f2, …, fm к одному, задава-
m х5 4 0 1 0 0 1
емому новой функцией z = ∑ (α j ⋅ f j ) называется линейной сверткой, z 11 0 –1,6 0 2,2 0
j =1
или методом обобщенного критерия. Числа αj называются весовыми 2 4
Вводим в базис переменную x2 и, так как min ; = 2, выводим
коэффициентами. Чем больше αj, тем больший «вклад» вносит j-й кри- из базиса x3. 1 1
m
терий в обобщенный критерий z. Иногда требуют, чтобы ∑α j = 1 б.п. с.ч. х1 х2 х3 х4 х5
j =1
х2 2 0 1 1 –1 0
Пример 11.3. Решить задачу методом обобщенного критерия
х1 5 1 0 0 1 0
f1 = 4 x1 + x2 → max, х5 2 0 0 –1 1 1
f = x + 2 x → max,
2 1 2 z 14,2 0 0 1,6 0,6 0
x1 + x2 ≤ 7, Последняя строка и столбец свободных членов содержит только
x1 ≤ 5, положительные числа, следовательно, мы получили оптимальное ре-
x ≤ 4, ∗ ∗ ∗ ∗
шение z1 = 14, 2, X = (5; 2) При этом f1 = f1 (5; 2) = 22, f2 = f2 (5; 2) = 9
2
x1 ≥ 0, Замечание 11.2. Выбор весовых коэффициентов αj имеет субъектив-
x ≥ 0. ный характер.
2
Решение. Пусть α1 = 0,4, α2 = 0,6. Тогда задача двухкритериаль- Метод лексико-графического упорядочения
ной оптимизации сводится к задаче одного критерия z = α1f1 + α2f2 = . (метод приоритетов)
= 0,4(4x1 + x2) + 0,6(x1 + 2x2) = 2,2x1 + 1,6x2 → max.
Метод лексико-графического упорядочения (метод приоритетов) ре-
x1 + x2 + x3 = 7,
x + x = 5, шения многокритериальных задач применяется в том случае, когда
1 4 критерии fi упорядочены по их относительной важности.
x 2 + x5 = 4, На первом шаге решения задачи отбирают множество исходов, ко-
x ≥ 0, i = 1,5 . торые имеют максимальную оценку по важнейшему критерию. Если
i исход единственный, то он и является оптимальным. Если же исходов
•Глава 11. Многокритериальная оптимизация
194 •195
11.2. Методы решения задач многокритериальной оптимизации
х5 4 0 1 0 0 1 xi ≥ 0, i = 1,6 .
f1 0 –4 –1 0 0 0
и запишем целевую функцию в виде f2 – x1 – 2x2 = 0.
•Глава 11. Многокритериальная оптимизация
196 11.2. Методы решения задач многокритериальной оптимизации •197
Составим начальную симплекс-таблицу Все элементы столбца свободных членов и последней строки по-
ложительны, следовательно, мы получили оптимальное решение
б.п. с.ч. х1 х2 х3 х4 х5 x6
X * = (5; 2), f2 = 9.
х3 7 1 1 1 0 0 0
Ответ: X * = (5; 2), f * = (22; 9).
х4 5 1 0 0 1 0 0
Метод идеальной точки (метод Салуквадзе).
х5 4 0 1 0 0 1 0
Метод идеальной точки является «геометрическим» методом для
x6 –22 –4 –1 0 0 0 1 многокритериальных задач. Продемонстрируем его на следующем
f2 0 –1 –2 0 0 0 0 примере.
Так как столбец свободных членов содержит отрицательный эле- Пример 11.5. (многокритериальная задача об использовании ресур-
мент, то применим двойственный симплекс-метод. сов). Для выпуска двух видов продукции используется два вида ресур-
Выводим из базиса х6 и вводим в базис х1. 1 3
сов. Известны A = — матрица норм расхода сырья, Q = (2, 1) —
б.п. с.ч. х1 х2 х3 х4 х5 x6 2 2
х3 3 / 2 0 3 / 4 1 0 0 1 / 4 стоимость ресурсов, P = (6, 9) — цена реализации продукции,
х4 –1 / 2 0 –1 / 4 0 1 0 1 / 4 18
х5 4 0 1 0 0 1 0 B = — запасы ресурсов. Найти план производства, максимизиру-
16
x1 11 / 2 1 1 / 4 0 0 0 –1 / 4
ющий одновременно выручку и прибыль (или, что эквивалентно, мак-
f2 11 / 2 0 –7 / 4 0 0 0 –1 / 4 симизирующий прибыль и минимизирующий затраты на ресурсы).
б.п. с.ч. х1 х2 х3 х4 х5 x6 x1
Решение. Пусть X = — план производства, тогда стоимость ре-
х3 0 0 0 1 3 0 1 x2
х2 2 0 1 0 –4 0 –1 сурсов равна QAX = 4x1 + 8x2, выручка равна f1 = PX = 6x1 + 9x2, а при-
х5 2 0 0 0 4 1 1 быль равна f2 = PX – QAX= 2x1 + x2. Расписав условие AX ≤ B, т.е.
x1 5 1 0 0 1 0 0 f1 = 6 x1 + 9 x2 → max,
f2 9 0 0 0 –7 0 –2 f = 2 x + x → max,
1 3 x1 18 2 1 2
Все элементы столбца свободных членов положительны, поэтому ≤ , получим задачу: x + 3 x ≤ 18,
2 2 x 16 1 2
продолжим решение задачи симплекс-методом. 2 2 x + 2 x ≤ 16,
1 2
б.п. с.ч. х1 х2 х3 х4 х5 x6 x1 ≥ 0, x2 ≥ 0
х3 –3 / 2 0 0 1 0 –3 / 4 1 / 4 Введем линейное преобразование f: R2 → R2, определенное крите-
х2 4 0 1 0 0 1 0 риями f1 и f2:
х4 1 / 2 0 0 0 1 1 / 4 1 / 4
f1 ( x ) 6 x1 + 9 x2 6 9 x1
x1 9 / 2 1 0 0 0 –1 / 4 –1 / 4 f ( x) = = = .
f2 25 / 2 0 0 0 0 7 / 4 –1 / 4 f2 ( x ) 2 x1 + x2 2 1 x2
0 6 9 0 54 63
б.п. с.ч. х1 х2 х3 х4 х5 x6 При этом f (O ) = , f ( A) = = , f (B ) = ,
х5 2 0 0 –4 / 3 0 1 –1 / 3
0 2 1 6 6 11
48
х2 2 0 1 4 / 3 0 0 1 / 3 f (C ) = В силу линейности f мы можем легко получить образ об-
16
х4 0 0 0 1 / 3 1 0 1 / 3
ласти D под действием преобразования f на плоскости (f1, f2) — это че-
x1 5 1 0 –1 / 3 0 0 –1 / 3 тырехугольник с вершинами в точках f (O), f (A), f (B), f (C). При этом
f2 9 0 0 7 / 3 0 0 1 / 3 идеальной является точка I с координатами (f1, max, f2, max), не принад-
198•Глава 11. Многокритериальная оптимизация 11.2. Методы решения задач многокритериальной оптимизации •199
f2 лежащая образу D в силу того,
f1 = 5 x1 + x2 → max, f1 = 4 x1 + x2 → max,
что оптимальные значения соот- f = x + 4 x → max,
f2 = x 1 +5 x2 → max,
m n
ветствующих целевых функций 2 1 2
x1 ≤ 3, 1 2
x ≤ 8, x
1 ≤ 5,
1x ≥ 0, x2 ≥ 0.
1 x2 ≤ 6,
x2 ≤ 2, x2 ≤ 5,
x1 ≥ 0, x2 ≥ 0. x ≥ 0, x ≥ 0. x1 ≥ 0, x2 ≥ 0.
1 2
•Глава 11. Многокритериальная оптимизация
12
200
f1 = 2 x1 + 3 x2 → max,
f = x − 2 x → max,
Глава
f1 = 2 x1 + x2 → max, 2 1 2
f = x + 3 x → max, x1 − 2 x2 ≤ 1,
2 1 2
Динамическое
x1 + x2 ≤ 9, x1 + x2 ≥ 1,
11. 12. программирование
x1 ≤ 5, − x1 + x2 ≤ 1,
x2 ≤ 7, x1 ≤ 3,
x1 ≥ 0, x2 ≥ 0. x2 ≤ 2,
x1 ≥ 0, x2 ≥ 0. В задачах перспективного планирования и управления нередко
возникает необходимость определения оптимальных решений для
13. Для выпуска двух видов продукции используются два вида ре-
систем, параметры которых изменяются с течением времени. Для
2 1
сурсов. Известны A = — матрица норм расхода сырья, Q = решения таких задач используются методы динамического програм-
1 3 мирования. Кроме этого методы динамического программирования
(1, 2) — цены на ресурсы, P = (5, 12) — цена реализации продукции, используют для моделей, шаги для оптимизации в которых вводятся
10 искусственно и время вообще не фигурирует. Иначе говоря, сложная
B = — запасы ресурсов.
15 система разделятся на несколько более простых, и процесс поиска оп-
14. Рекламное агентство, в штате которого 10 человек, получило тимальных решений делится на несколько этапов.
заказ на рекламу нового продукта на радио и ТВ. Основные данные Рассмотрим несколько примеров задач, методом решения для ко-
об аудитории, стоимости рекламы и количестве занятых ее изготовле- торых является динамическое программирование.
нием агентов занесены в таблицу (на 1 мин): Пример 12.1. Задача перспективного планирования. В состав про-
мышленного холдинга входит N предприятий. В начале периода вре-
Радио ТВ мени Т выделены средства в объеме К млн руб. В начале финансово-
Рекламная аудитория (млн чел.) 4 8 го года имеющиеся средства распределяются между предприятиями.
Стоимость минуты (тыс. у.е.) 8 24 Каждое предприятие приносит доход, который частично остается
Количество занятых агентов 1 2 в распоряжении предприятия, а частично отчисляется в фонд развития
Рекламное агентство решает задачу о максимизации возможной ау- холдинга для дальнейшего распределения между предприятиями в на-
дитории (f1) и минимизации издержек на изготовление рекламы (f2) чале следующего года. Необходимо определить средства, выделяемые
при условии, что контракт запрещает использовать более 6 минут ре- каждому предприятию в начале каждого года, таким образом, чтобы
кламы на радио. Найти компромиссное решение: а) методом приори- доход за весь период Т был максимальным.
тетов ( f1 f2 ); б) методом обобщенного критерия (α1 = 2,5, α2 = 0,5). Пример 12.2. Задача управления запасами. Для промышленного
предприятия, имеющего непрерывный цикл производства, необходи-
мо составить план поставок сырьевых ресурсов в течение планового
периода Т, определить периодичность поставок и их объем. С каждой
поставкой связаны фиксированные затраты К, не зависящие от вели-
чины партии и затраты, определяемые объемом партии. Излишний
объем запасов сырья требует дополнительных затрат на хранение, а от-
сутствие сырья ведет к простою и потерям. Поставки нужно органи-
зовать таким образом, чтобы минимизировать издержки на доставку
и хранение сырьевых запасов.
202 •Глава 12. Динамическое программирование •203
12.1. Метод динамического программирования
Пример 12.3. Задача о замене оборудования. Вопрос о покупке или Необходимо определить компоненты оптимального управления
дальнейшей эксплуатации любого оборудования актуален для всех, u∗ = (u1∗ , u2∗ , , un∗ ) , которое доставляет экстремум критерию эффектив-
будь то генеральный конструктор авиационного завода, директор кон- ности.
дитерской фабрики или водитель, мечтающий о новом автомобиле. Значения каждого вектора управления uk , k = 1, …, n должны при-
Оборудование со временем изнашивается, стареет физически и мо-
надлежать множеству допустимых значений для k-того этапа Ωk. Для
рально. Падает производительность, растут расходы на содержание
компонент вектора xk , k = 0, …, n тоже определено множество воз-
и ремонт, уменьшается остаточная стоимость. Эти характеристики
зависят от возраста оборудования, изменяются с течением времени. можных состояний системы D. Оно задается в исходных данных. Как
В любой момент оборудование можно продать и приобрести новое, правило, это система ограничений, связанная с реализацией получае-
или сохранить, увеличивая расходы на содержание. При замене нуж- мых решений (ограничения по денежным ресурсам, техническим ре-
шениям и т.д.).
ны серьезные капитальные вложения, производимые единовременно.
В основе метода динамического программирования лежит идея по-
Необходимо определить оптимальную стратегию замен в плановом
иска оптимального решения для каждого этапа, основываясь на прин-
периоде, чтобы суммарные издержки на содержание и приобретение
ципе отсутствия последействия. Управление на каждом этапе зависит
оборудования за весь период были минимальны.
от состояния системы на предыдущем шаге и управления в текущий
момент времени и не зависит непосредственно от решений, принимае-
мых ранее, которые привели систему к текущему состоянию. Оптими-
12.1. Метод динамического зация для отдельного шага значительно проще, чем для всей системы
программирования. Принцип в целом. Деление на шаги — это искусственный процесс, он соответ-
ствует этапам принятия решений. Как правило, это отрезки времени:
оптимальности и уравнение Беллмана год, месяц, декада и т.д.
Принцип динамического программирования предполагает поиск
Постановка задачи. Необходимо перевести систему из начального
решения для каждого этапа с учетом последствий для оставшихся эта-
состояния S0 в конечное состояние ST. Процесс перехода разобьем на n пов. Единственный шаг, который планируется без оглядки на будущее,
шагов. Начальному состоянию соответствует k = 0, конечному состоя- это последний. Он может быть спланирован лучшим образом сам
нию в момент времени Т – k = n. Состояние системы на каждом этапе по себе. Таким образом, особенность метода решения динамического
определяется вектором xk = ( x1, x2 , , xm ), k = 0, …, n. Для технических программирования — это последовательность решения промежуточ-
систем компоненты вектора x называют фазовыми координатами. ных задач управления от конца к началу. Сначала планируется управ-
Для того чтобы перевести систему в следующее состояние, определяе- ление un на последнем шаге. Но оно зависит не только от критерия
мое вектором xk +1 применяется вектор управления uk +1 = (u1, u2 , , u p ), эффективности, но и от состояния системы на предыдущем шаге xn−1,
k = 0, …, n – 1. Управление на каждом шаге оценивается показателем которое неизвестно. Это можно сделать на основе предположения
эффективности (функция цели) zk ( xk , uk +1 ) На первом шаге показа- о желаемых исходах предшествующего этапа, в соответствии с крите-
тель эффективности зависит от x0 и управления u1, переводящего си- рием оптимальности. Таким образом, выражение для оптимального
стему из начального состояния в следующее (k = 1) — z0 ( x0 , u1 ), на вто- управления зависит от xn−1 Оно называется условно-оптимальным
*
ром — z1 ( x1, u2 ) и т.д. до zn −1 ( xn −1, un ) — на последнем. Чтобы оценить решением un ( xn −1 ) Завершив анализ последнего этапа, рассматрива-
эффективность процесса в целом, надо эти показатели сложить ют аналогичную задачу для предпоследнего этапа, оптимизируя сумму
значений критерия эффективности на последнем и предпоследнем
Z ( x0 , u ) = z0 ( x0 , u1 ) + z1 ( x1, u2 ) + + zk −1 ( xk −1, uk ) + + zn −1 ( xn −1, un ), шаге. Двигаясь от последнего шага к первому, нужно окончательно
определить значение критерия эффективности для первого шага, за-
n −1 висящее от всей последовательности оптимальных управлений
Z ( x0 , u ) = ∑ zk ( xk , uk +1 ) (12.1)
k =0 u1∗ ( x0 ), u2∗ ( x1 ), , un∗ ( xn −1 )
204 •Глава 12. Динамическое программирование 12.2. Задача вложения средств в отрасли. Непрерывный и дискретный случаи •205
Уравнения Беллмана позволяют получить зависимость оптималь-
Начальное состояние системы x0 известно, следовательно, можно
∗ ного значения критерия эффективности от состояния системы
найти u1 ( x0 ) Зная критерий оптимальности для первого шага, можно
∗
найти оптимальное состояние системы x1 От этого состояния зависит Fn−1( xn−1 ), Fn − 2 ( xn − 2 ), …, Fk ( xk ), …, F0 ( x0 )
∗
условно оптимальное значение на шаге два — u2 ( x1 ) Двигаясь от на- и такую же зависимость для оптимальных значений управлений
чала к концу, можно определить числовые оптимальные значения
∗ ∗ ∗ ∗ un∗ ( xn −1 ), un∗−1 ( xn − 2 ), , uk∗ ( xk −1 ), , u1∗ ( x0 )
управления u = (u1 , u2 , , un ), которые являются решением задачи. Та-
ким образом, при решении задачи методом динамического программи- Просчитывая последовательность от начала к концу, получаем
окончательное решение задачи.
рования, многошаговый процесс оптимизации проходится дважды.
Первый раз — от конца к началу, в результате находятся условно-опти- Иногда начальное состояние x0 не определяется однозначно, а за-
мальные управления и условно-оптимальное значение критерия эф- дается некоторое допустимое множество начальных состояний. Если
фективности для каждого шага, в том числе и для первого. Второй функциональные зависимости для состояния системы и критерия эф-
раз — от начала к концу, в результате определяется оптимальное управ- фективности определяются непрерывными функциями, то говорят
ление с точки зрения максимальной эффективности всего процесса. о непрерывной задаче. Если управления и состояния принимают дис-
Уравнения Беллмана. Основные идеи метода динамического про- кретные значения, то такая задача динамического программирования
граммирования принадлежат американскому математику Р. Беллма- называется дискретной.
ну. Уравнения, из которых определяется решение задачи, называются
уравнениями Беллмана. Запишем их.
Введем обозначения. Пусть Ωn, Ωn–1, …, Ωk, …, Ω1 — области опре- 12.2. Задача вложения средств в отрасли.
∗ ∗ ∗ ∗
деления для оптимального управления un , un −1, , uk , , u1 на послед-
Непрерывный и дискретный случаи
нем этапе, предпоследнем и т.д. Обозначим Fn −1 ( xn −1 ), Fn − 2 ( xn − 2 ), …,
Общая постановка задачи. Производственному объединению в нача-
Fk ( xk ), …, F0 ( x0 ) оптимальные значения критерия эффективности
ле периода времени из n лет выделяются средства x0, которые необхо-
на последнем этапе, последнем и предпоследнем, на трех последних
димо распределить между p предприятиями объединения. Средства uki,
и т.д., на k последних, на всех n этапах. Начнем с последнего этапа.
k = 1, …, n, i = 1, …, p, выделяемые в k-й год предприятию с номером i,
Пусть xn−1 — возможное состояние системы на начало этапа. Опти-
приносят прибыль fki(uki) и возвращаются в бюджет объединения в ко-
мальное значение критерия эффективности на последнем этапе зави- личестве ϕki(uki). В начале каждого года деньги из бюджета распределя-
сит от управления un : ются (может, частично) между предприятиями. Доход распределению
не подлежит (один из вариантов). Необходимо распределять средства
Fn −1 ( xn −1 ) = opt zn ( xn −1, un ) (12.2)
un ∈Ωn таким образом, чтобы суммарная прибыль за все годы была максималь-
Для последнего и предпоследнего этапа получаем ной. Параметры оптимального управления для каждого этапа реше-
ния — это денежные средства, выделяемые в начале текущего года каж-
Fn − 2 ( xn − 2 ) = opt [ zn − 2 ( xn − 2 , un −1 ) + Fn −1 ( xn −1 )] , (12.3) дому предприятию. Состояние системы xk — это средства, полученные
un−1 ∈Ω n−1
в конце финансового года с номером k и подлежащие распределению
Для промежуточного этапа с номером k в k + 1 году. Отметим, что xk — скалярная величина
(12.4) p p
xk = xk −1 − ∑ uki + ∑ ϕ ki (uki )
и для первого i =1 i =1
F0 ( x0 ) = opt [ z1( x0 , u1 ) + F1( x1 )] (12.5) Первое слагаемое присутствует, если не все средства распределяют-
u1 ∈Ω1
ся в текущем году, второе слагаемое — средства, выделенные предпри-
206•Глава 12. Динамическое программирование 12.2. Задача вложения средств в отрасли. Непрерывный и дискретный случаи •207
ятиям в текущем году, и последняя сумма — средства, заработанные Пример 12.4. Планируется работа двух предприятий в течение 4 лет.
предприятиями и возвращенные в бюджет для дальнейшего распреде- Дано:
ления. Из формулы наглядно видно, что состояние системы в момент
f1 ( x ) = 0,3 x; f2 ( y) = 0, 4 y; ϕ1 ( x ) = 0,5 x; ϕ 2 ( y) = 0, 2 y; S0 = 5000
времени k зависит только от состояния xk–1 в предыдущий момент вре-
мени и управления uk = (uk1, uk 2 , , ukp ) в текущий момент, в k-том Решение. Состояние системы определяется как si–1 — средства,
году. подлежащие распределению в i-м году. Будем считать, что управле-
Критерий эффективности — это суммарный доход за n лет ние на i-м году определяется числом ui, т.е. средствами, выделенными
p
первому предприятию. Тогда средства, выделенные второму предпри-
n
Z = ∑ ∑ fki (uki ) . ятию, можно определить из выражения si–1 – ui. Уравнение состояния
k =1 i =1 имеет вид
Обозначим Fk(xk) — оптимальный доход с k + 1 до n-го года. Опре- si = ϕ1 (ui ) + ϕ 2 ( si −1 − ui ) = 0,5ui + 0, 2( si −1 − ui ) = 0,3ui + 0, 2si −1 .
делим ограничения для допустимого множества Ωk. Очевидно, что
сумма выделяемых средств не должна превышать средства, подлежа- Оно определяет средства, подлежащие распределению в следую-
щие распределению щем году, после i-го года. Соответственно прибыль в i-м году равна
f ( si −1, ui ) = f1 (ui ) + f2 ( si −1 − ui ) = 0,3ui + 0, 4( si −1 − ui ) = 0, 4 si −1 − 0,,1ui
p
Ω k = uk = (uk1, uk 2 , , ukp ), 0 ≤ ∑ uki ≤ xk −1
i =1 Решение задачи начинаем с оптимизации функции прибыли F3(s3):
Запишем уравнения Беллмана для n-го года F3∗ ( s3 ) = max
0 ≤ u4 ≤ s3
[ f1 (u4 ) + f2 (s3 − u4 )] = 0 ≤max
u ≤s
(0, 4 s3 − 0,1u4 ) = 0, 4 s3
4 3
p
Fn −1 ( xn −1 ) = max ∑ fni (uni ) , Нужно найти минимум линейной функции на отрезке, очевидно,
un ∈Ωn
i =1 ∗
он находится на границе при u4 = 0 (функция убывает по u4, коэффи-
для года с номером k циент –0,1 < 0).
Далее
p
Fk −1 ( xk −1 ) = max ∑ fki (uki ) + Fk ( xk ) ,
uk ∈Ω k
i =1 F2∗ ( s2 ) = max f1 (u3 ) + f2 ( s2 − u3 ) + F3∗ ( s3 ) =
0≤u ≤s 3 2
пример.
208 •Глава 12. Динамическое программирование 12.2. Задача вложения средств в отрасли. Непрерывный и дискретный случаи •209
F0∗ ( s0 ) = max f1 (u1 ) + f2 ( s0 − u1 ) + F1∗ ( s1 ) = висимости от суммы вложений. В качестве одного шага задачи дина-
0≤u ≤s 1 0 мического программирования будем рассматривать факт выделения
= max (0, 4 s0 − 0,1u1 + 0,55s1 ) = средств одному предприятию. Всего будут N шагов. Учитывая, что
0 ≤ u1 ≤ s0
функции прибыли заданы таблично, разобьем отрезок [0, X0] на интер-
= max (0, 4 s0 − 0,1u1 + 0,55(0,3u1 + 0, 2s0 )) = валы с тем же шагом, что и таблицы. Всего m шагов, m∆ = X0. На на-
0 ≤ u1 ≤ s0
чальном этапе необходимо последовательно определить оптимальное
= max (0,51s0 + 0, 065u1 ) = 0,575s0 при u1∗ = s0 распределение между предприятиями средств в объеме x = ∆, 2∆, …,
0 ≤ u1 ≤ s0
k∆, …, m∆. Анализируя оптимальное распределение каждой суммы, не-
Оптимальное распределение ресурсов имеет вид: обходимо найти оптимальное распределение средств между предпри-
∗ ∗ ∗ ∗
u1∗ = s0 , u2∗ = s1, u3∗ = s2 , u4∗ = 0 ятиями u = (u1 , u2 , , un ) Последовательность шагов решения рас-
смотрим на примере.
Первые три года средства вкладываются в первое предприятие, Пример 12.5. Необходимо распределить 5 млн руб. между тремя
а затем во второе. Вычислим оптимальные значения управления: предприятиями. Сумма вложений кратна 1 млн руб. Известны таблич-
u1∗ = s0 = 5000; ные значения функций прибыли (табл. 12.2).