Элементы линейного и выпуклого программирования. Учебно

реклама
Федеральное государственное образовательное учреждение
высшего профессионального образования
ФИНАНСОВАЯ АКАДЕМИЯ ПРИ ПРАВИТЕЛЬСТВЕ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Кафедра «Прикладная математика»
В.М. Гончаренко
Элементы линейного
и
выпуклого программирования
Учебно-методическое пособие
Для подготовки бакалавров направлений
080100.62 «Экономика» и 080500.62 «Менеджмент»
Москва 2010
Федеральное государственное образовательное учреждение
высшего профессионального образования
ФИНАНСОВЫЙ УНИВЕРСИТЕТ ПРИ ПРАВИТЕЛЬСТВЕ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Кафедра «Прикладная математика»
УТВЕРЖДАЮ
Ректор
__________М.А. Эскиндаров
«______»____________2010 г.
В.М. Гончаренко
Элементы линейного
и
выпуклого программирования
Учебно-методическое пособие
Для подготовки бакалавров направлений
080100.62 «Экономика» и 080500.62 «Менеджмент»
Рекомендовано Ученым Советом при факультете
«Математические методы и анализ рисков»
(протокол № 4 от 23 марта 2010 г.)
Одобрено кафедрой «Прикладная математика»
(протокол № 9 от 24 февраля 2010 г.)
Москва 2010
УДК 519.6 (073)
ББК 22.143
Г 65
Рецензент: С.Р. Свирщевский, к.ф.-м.н., доцент
Гончаренко В.М.
Элементы линейного и выпуклого программирования. Учебнометодическое пособие для бакалавров экономики и менеджмента. – М:
Финакадемия, кафедра «Прикладная математика», 2010.
Учебно-методическое пособие содержит необходимый теоретический и практический материал по темам «Линейное программирование», «Взаимно двойственные задачи», «Транспортная задача» и «Выпуклые функции. Теорема Куна-Таккера» дисциплин «Линейная алгебра» и «Математический анализ», читаемых студентам первого
курса во втором семестре. В пособии рассматриваются различные методы решения задач оптимизации, естественно возникающих в экономических приложениях и финансовой математике.
УДК 519.6 (073)
ББК 22.143
Г 65
Учебное издание
Василий Михайлович Гончаренко
Элементы линейного и выпуклого программирования
Учебно-методическое пособие
Компьютерный набор, верстка: В.М. Гончаренко
Формат 60х90/16. Гарнитура Times New Roman
Усл.п.л.0,6. Изд. № -2010. Тираж ___ экз.
Отпечатано в ФГОУ ВПО «Финансовый университет
при Правительстве Российской Федерации»
 В.М. Гончаренко, 2010
 ФГОБУ ВПО «Финансовый университет при
Правительстве Российской Федерации», 2010
СОДЕРЖАНИЕ
Глава 1. Линейное программирование………………………………... . 4
§1. Каноническая и стандартная форма задачи линейного программирования……………………………………………………………………… 4
§2. Графический метод решения задач линейного программирования................................................................................................................... . 7
§3. Симплекс-метод………………………………………...………… 13
§4. Метод искусственного базиса….………………………………… 22
Глава 2. Взаимно двойственные задачи………………………….......... 30
§1. Основные определения и теоремы………………………………. 30
§2. Решение двойственных задач с помощью теоремы равновесия.. 34
§3. Решение двойственных задач с помощью симплекс-метода….. 37
Глава 3. Транспортная задача………………………………………….. . 43
§1. Постановка задачи……………………………………………….... 43
§2. Построение начального опорного плана……………………........ 46
§3. Метод потенциалов решения транспортной задачи…………….. 53
Глава 4. Выпуклые функции и теорема Куна-Таккера……………… 64
§1. Выпуклые множества и выпуклые функции……………………. 64
§2. Экстремумы выпуклых функций ……………………………....... 71
§3. Теорема Куна-Таккера …………………………………………… 74
Ответы……………………………………………………………………… 84
Рекомендуемая литература……………………………………………..
3
Глава 1. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
§1. Каноническая и стандартная форма
задачи линейного программирования
Задачей линейного программирования называется задача оптимизации вида
f  c1 x1  c2 x2    cn xn  c0  max (min)
 a11 x1  a12 x2    a1n xn * b1 ,
a x  a x    a x * b ,
2n n
2
 21 1 22 2
........................................
a x  a x    a x * b ,
mn n
m
 m1 1 m 2 2
 x1  0, x2  0,, xn  0.
где «*» обозначает «  », «  » или «=». При этом условия типа
ai1 x1  ai 2 x2    ain xn * bi , i  1,, m называются нетривиальными ограничениями; условия x j  0 , j  1,, n – тривиальными ограничениями (они
могут отсутствовать), а f  c1 x1  c2 x2    cn xn  c0 – целевой функцией.
Система ограничений задает в пространстве R n выпуклое допустимое
множество M , а любая точка X   x1 , x2 ,, xn   M называется допустимым решением задачи линейного программирования. Допустимое решение, на котором целевая функция достигает оптимального значения, называется оптимальным решением задачи линейного программирования.
Если система ограничений состоит только из уравнений и тривиальных неравенств, то говорят, что задача имеет каноническую форму, если же в системе ограничений имеются только неравенства, то говорят о
стандартной форме задачи линейного программирования. В зависимости
от метода решения, задачу необходимо привести к канонической или
стандартной форме.
4
Пример 1. Привести к канонической форме задачу линейного программирования
f  4 x1  2 x2  13 x3  2 x4  x5  max
 x1  7 x2  x3  x4  9,
5 x  8 x  x  x  10,
 1
2
3
5

12 x1  8 x2  2 x3  3 x4  x5  11,
 xi  0, i  1,,5.
Решение. Введем балансовые переменные x6  0, x7  0 , такие, что
входящие в систему ограничений неравенства перепишутся в виде
x1  7 x2  x3  x4  9  x1  7 x2  x3  x4  x6  9 ,
12 x1  8 x2  2 x3  3 x4  x5  11  12 x1  8x2  2 x3  3x4  x5  x7  11 .
Тогда канонической формой исходной задачи является
f  4 x1  2 x2  13 x3  2 x4  x5  max
 x1  7 x2  x3  x4  x6  9,
5 x  8 x  x  x  10,
 1
2
3
5

12 x1  8 x2  2 x3  3 x4  x5  x7  11,
 xi  0, i  1,,7.
Пример 2. Привести к стандартной форме задачу линейного программирования
f  2 x1  x2  3x3  x4  max
 x1  2 x2  5 x3  x4  4,

 x1  x2  x3  2 x4  1,
 x  0, i  1,, 4.
 i
Решение. Рассмотрим систему нетривиальных ограничений
 x1  2 x2  5 x3  x4  4,

 x1  x2  x3  2 x4  1,
и выделим (методом Гаусса) базисные и свободные переменные:
1 2 5 1 4   1 2 5 1 4   1 0 1 1 2 
1 1 1 2 1  ~  0 3 6 3 3  ~  0 1 2 1 1  .

 
 

5
Итак, получаем систему
 x1  x3  x4  2,

 x2  2 x3  x4  1.
Выражаем из нее базисные неизвестные
 2  x3  x4  x1  0,

1  2 x3  x4  x2  0,
и исключаем их из целевой функции
f  2 x1  x2  3 x3  x4  2(2  x3  x4 )  (1  2 x3  x4 )  3 x3  x4   x3  5 .
Получим задачу, равносильную исходной, записанную в стандартной форме:
f   x3  5  max
 x3  x4  2,

 2 x3  x4  1,
 x  0, x  0.
 3
4
Задачи для самостоятельного решения
Найти каноническую форму следующих задач линейного программирования
f  2 x1  7 x2  3x3  x5  max
f  9 x1  2 x2  5 x3  x4  max
 x1  x3  x4  x5  15,
1.   x1  3 x2  x3  4 x5  10,

 2 x1  5 x2  42 x3  6 x4  34,
 xi  0, i  1,,5.
17 x1  x3  4 x5  31,
2. 12 x1  13 x2  14 x3  15 x4  18,

 x1  4 x2  11x3  6 x5  6,
 x1  0, x3  0, x4  0.
f  3 x1  x4  x5  min
 3 x1  x2  5 x3  4 x6  22,
3.  2 x1  3 x3  4 x4  7 x5  18,

3 x2  5 x4  2 x5  6 x6  27,
 x1  0, x2  0, x4  0, x6  0.
Привести задачи линейного программирования к стандартному виду:
6
f  x1  2 x2  2 x3  3 x4  max
f  3 x2  x4  max
 x1  2 x2  3 x3  3 x4  0,
 x1  x2  2 x3  3 x4  3,
 x  0, i  1,,4.
 i
 x1  x2  3x3  x4  3,
 4 x1  3 x2  3 x3  2 x4  2,
 x  0, i  1,,4.
 i
4. 
5. 
f  3 x1  x2  x3  x4  max
 x1  x2  x3  2 x4  2,
 5 x1  4 x2  3 x3  3 x4  2,
 x  0, i  1,,4.
 i
6. 
§2. Графический метод решения
задач линейного программирования
Если задача линейного программирования задана в стандартной
форме в R 2 , то для ее решения используют графический метод, который
состоит в следующем.
1. Строится допустимое множество M , заданное системой ограничений, как пересечение полуплоскостей, определяемых каждым из входящих в эту систему неравенств. Если M – пустое множество, то задача решений не имеет.
2. Если M – непустое множество, то рассматриваются линии уровня целевой функции f  c1 x1  c2 x2  c0 . Они определяются как прямые вида c1 x1  c2 x2  const с общим вектором нормали n   c1 , c2  , определяющим направление роста функции f . Смещая линии уровня в направлении
вектора n , находим первую точку X *   x1* , x2*  пересечения такой линии с
множеством M . Тогда f min  f  X *  является минимальным значением
функции f на M . Аналогично, если X *   x1* , x2*  – последняя точка пересечения линии уровня с множеством M , то f max  f  X *  – максимальное
7
значение функции f на M . Если при перемещении линии уровня в направлении n последняя имеет пересечения с M при сколь угодно большом значении константы, то f max   . Если же, наоборот, линии уровня
имеют пересечения с M при сколь угодно большом по модулю отрицательном значении постоянной, то f min   .
Пример 3. Решить графически следующую задачу линейного программирования
f  3 x1  x2  10  max
7 x1  x2  29,
3 x  2 x  25,
 1
2

 4 x1  x2  15,
 x  0.
Решение. Построим допустимую область M , т.е. множество на
плоскости, определяемое системой
7 x1  x2  29,
3 x  2 x  25,
 1
2

 4 x1  x2  15,
 xi  0, i  1,2.
Для этого построим сначала прямые l1 : 7 x1  x2  29 , l2 : 3 x1  2 x2  25 и
l3 : 4 x1  x2  15 на плоскости  x1 , x2  , а затем найдем их точки пересечения. Точку пересечения прямых l1 , l2 находим как решение системы уравнений
7 x1  x2  29,
 l1  l2  A(3;8)

3
x

2
x

25,
 1
2
Аналогично находим, что l2  l3  B(5;5) , l1  l3  С (4;1) .
8
x2
l2
l3
l1
B
A
n
C
O
x1
Каждая из прямых разбивает плоскость на две полуплоскости, а каждое неравенство, входящее в систему ограничений, задает одну из полуплоскостей. Для того чтобы установить, какая из полуплоскостей определяется неравенством, необходимо взять произвольную («пробную») точку,
не лежащую на прямой и проверить, удовлетворяет ли она соответствующему неравенству. Если неравенство выполнено, то неравенство определяет полуплоскость, содержащую «пробную» точку, а если неравенство не
выполняется, то его решением является другая полуплоскость. Решением
системы неравенств будет пересечение соответствующих плоскостей. В

нашем случае это треугольник ABC . Построив вектор нормали n  (3;1) ,
убеждаемся, что решением задачи на максимум является точка B (5;5) и
z ( B )  3  5  5  10  10 .
Ответ. f max  f ( B)  10 .
Пример 4. Решить графически следующую задачу линейного программирования
9
f  2 x1  x2  3x3  x4  max
 x1  2 x2  5 x3  x4  4,

 x1  x2  x3  2 x4  1,
 x  0, i  1,, 4.
 i
Решение. Формально задача является, вообще говоря, задачей линейного программирования в пространстве R 5 . Но ее можно свести к задаче на плоскости R 2 , приведя к стандартной форме, как это было сделано
в примере 2 § 1. Таким образом, имеем задачу
f   x3  5  max
 x3  x4  2,

 2 x3  x4  1,
 x  0, x  0.
 3
4
Строим на плоскости прямые l1 : x3  x4  2, l2 : 2 x3  x4  1 , находим их
точку пересечения и в качеx4
стве допустимого множества
получаем
l1
l2
OABC с угловыми точками
A
B
O
n
четырех-угольник
C
x3
O  0,0  ,
A  0,2  ,
C  12 ,0  .
Вектор
B 1,1
и
нормали
имеет координаты n   1,0 
и мы видим, что оптималь-
ным множеством, на котором достигается максимальное значение функции
z
является
отрезок
OA ,
т.е.
множество
X *  (1  t ) A  tB  1  t  0,0   t  0,2    0,2t  , t  0,1 . Отсюда находим
 x1  2  x3  x4  2  2t ,

 x2  1  2 x3  x4  1  2t .
Ответ. f max  f  X *   5 при X *   2  2t ,1  2t ,0, 2t  , t  0,1 .
Пример 5. Решить задачу линейного программирования
10
f   x1  x2  4  min (max)
 x1  x2  x3  3,

 2 x1  x2  x4  2,
 x  0, i  1,,4.
 i
графическим методом.
Решение. Выразим базисные неизвестные x3 , x4 из ограничений
 x3  3  x1  x2  0,

 x4  2  2 x1  x2  0,
и получаем задачу в стандартной форме
f   x1  x2  4  min (max)
 x1  x2  3,

 2 x1  x2  2,
 x  0, i  1,,4.
 i
x2
l1
l2
С
n
A
O
B
x1
Построив на плоскости прямые l1 : x1  x2  3, l2 : 2 x1  x2  2 , находим допустимое множество с угловыми точками O  0,0  , A  0,2  и B  3,1 . Вектор нормали имеет координаты n   1,1 , и, как легко видеть, луч ВС с
началом в точке B является линией уровня функции z и определяет множество, на котором z достигает минимального значения. Так как направляющим вектором луча BC является вектор m  1,1  0 , то
11
X min  B  t  m   3,0   t (1,1)  (3  t , t ), t  0.
и f min  f  B   1 . Кроме этого, так как при движении вдоль вектора n каждая линия уровня пересекается с допустимым множеством, то f max   .
Для окончательного ответа находим x3  0, x4  8  t.
Ответ. f min  f  X min   1 при X min   3  t , t ,0,8  t  , t  0, f max   .
Задачи для самостоятельного решения
Решить задачи линейного программирования графическим способом:
7.
8.
9.
10.
11.
12.
f  4 x  3 y  max (min)
при
f  3 x  2 y  max (min)
при
f  4 x  3 y  max (min)
f  x  3 y  max (min)
при
f  2 x  4 y  max (min)
f  3 x  3 y  max (min)
x  0, y  0
и
 5 x  5 y  55

x  0, y  0 и  9 x  3 y  63 .
 4 x  8 y  52

при
 5 x  2 y  21

x  0, y  0 и 10 x  2 y  24 .
5 x  4 y  27

x  0, y  0
при
при
 5 x  3 y  23

 9 x  y  35 .
 4 x  4 y  20

и
 5 x  5 y  55

 9 x  2 y  88 .
 4 x  7 y  22

x  0, y  0
и
 4 x  2 y  28

 7 x  y  40 .
 3 x  3 y  6

 4 x  2 y  30

x  0, y  0 и  7 x  4 y  45 .
3 x  6 y  15

12
13.
f  3 x1  x2  2 x3  x4  7  max (min)
при
 x1  4 x2  x3  1,

x  0 и  2 x1  2 x2  x5  5,
 x  2 x  x  2.
 1
2
4
14.
f  x1  x2  2 x3  x4  22  max (min)
при
x 0
f   x2  x4  5  max (min)
16.
f  x1  x2  x3  2 x4  7  max (min)
17.
f  3 x1  4 x2  x4  11  max (min)
18.
x1  3x2  2x3  2x4  5,

2x1  2x3  x4  4.
 x1  2 x2  x3  10,

x  0 и  x1  x2  x4  2,
 2 x  x  x  5.
 1 2 5
15.
при
и
f  104  25 x1  24 x2  max(min)
при
при
при
x 0
x 0
x 0
и
и
и
2x1  x2  x3  2x4  15,

x1  5x2  x3  4x4  3.
 x1  2 x2  x3  x4  14,

3 x1  4 x2  x3  x4  2.
 10 x1  7 x2  x3  11,

 5 x1  3 x2  x4  79,
5 x  10 x  x  25,
 1
2
5
§3. Симплекс-метод
Алгоритм решения задачи симплекс-методом сначала изложим на
конкретном примере.
Пример 6. Решить задачу линейного программирования
z  3 x1  x2  2 x3  6 x4  10  min
 x1  3 x2  7 x3  x4  6,

 x1  x2  x3  3x4  2,
 x  0.

симплексным методом.
Решение.
Начальным этапом решения задачи симплекс-методом
является приведение ее к допустимому виду и формирование симплекстаблицы. Это означает, что задача должна быть приведена к каноническому виду, в системе нетривиальных ограничений должен быть выделен до13
пустимый базис (т.е. базисное решение должно быть неотрицательным,
или, что равносильно, все правые части – неотрицательные числа) и из
целевой функции должны быть исключены базисные переменные. В нашем примере система ограничений уже приведена к каноническому виду.
Для выделения базиса используем метод Гаусса,
 1 3 7 1 6   1 3 7 1 6 
 1 3 7 1 6 
~
~
 1 1 1 3 2   0 4 8 4 4 : (4)
 0 1 2 1 1  ~

 



 1 0 1 2 3   x1  x3  2 x4  3,
~
 ~  x  2 x  x  1.
0
1
2

1
1

  2
3
4
 x1  3  x3  2 x4 ,
Выражая базисные неизвестные, получим 
и, подставляя
x

1

2
x

x
,
 2
3
4
в функцию z , имеем
z  3(3  x3  2 x4 )  (1  2 x3  x4 )  2 x3  6 x4  10  3 x3  x4  2.
Таким образом, получаем, что исходная задача эквивалентна следующей
 z  3 x3  x4  2  min
 x  x  2 x  3,
 1 3
4

 x2  2 x3  x4  1,
 x  0.
Переписываем z в виде z  3 x3  x4  2 и формируем симплекс-таблицу
базис
bi
x1
x2
x3
x4
x1
x2
3
1
1
0
0
1
1
2
2
1
z
2
0
0
3
1
Из симплекс-таблицы можно сделать вывод, что базисным решением является X   3,1,0,0  и z  X   2 . Так как в последней строке (строке
оценок) есть положительные элементы (коэффициенты при x3 , x4 ), то решение можно улучшить с помощью шага симплекс-метода. Выбираем
разрешающий элемент для первого шага. В качестве разрешающего возьмем столбец, отвечающий переменной x3 (как содержащий положитель14
ный элемент в оценочной строке), а для выбора разрешающей строки рассмотрим отношение элементов столбца свободных членов (столбца bi ) к
положительным элементам разрешающего. Разрешающий элемент выби-
 1 3 1
рается в строке, дающей минимум этого отношения: min  ,   , т.е.
2 1 2
выбирается вторая строка. Иначе говорят: мы выводим из базиса переменную x2 и вводим в базис x3 . Делим вторую строку на 2, получаем симплекс-таблицу
базис
bi
x1
x2
3
1/ 2
z
2
x1
x2
x3
x4
1
0
0 1/ 2
1
1
2
1/ 2
0
3
1
0
с выделенной разрешающей единицей и делаем шаг симплекс-метода (из
первой строки вычитаем вторую и из строки оценок вычитаем разрешающую, умноженную на 3)
базис
bi
x1
x2
x3
x4
x1
x3
5/ 2
1/ 2
1
0
1/ 2
1/ 2
0
1
5/ 2
1/ 2
z
7 / 2
0
3/ 2
0
5/ 2
Замечание. Легко видеть, что шаг симплекс-метода во многом сходен с итерацией метода Гаусса. Отличие состоит в том, что разрешающий
элемент выбирается не произвольно, а согласно вышеизложенным правилам, которые гарантируют то, что вновь полученная таблица имеет допустимый вид.
Из симплекс-таблицы видно, что базисным решением является
X   52 ,0, 12 ,0  и z  X    72 . Так как в строке оценок снова есть положительный элемент (коэффициент при x4 ), то решение можно улучшить.
Выбор разрешающего столбца теперь однозначен (отвечает переменной
x4 ), также как и выбор разрешающей строки – в столбце единственный
15
положительный элемент
5
2
. Итак, выводим из базиса переменную x1 и
вводим в базис x4 . Умножаем первую строку на
2
5
, получаем симплекс-
таблицу
базис
bi
x1
x1
x3
1
1/ 2
z
7 / 2
x2
2 / 5 1/ 5
0
1/ 2
0
3/ 2
x3
x4
0
1
1
1/ 2
0
5/ 2
и делаем шаг симплекс-метода с отмеченным разрешающим элементом
(ко второй строке прибавляем первую, умноженную на
1
2
, а из строки
оценок вычитаем первую, умноженную на 52 ). Получаем
базис
bi
x4
x3
1
1
z
6
x1
x2
x3
x4
2 / 5 1/ 5
1/ 5 2 / 5
0
1
1
0
1
0
0
1
В последней строке нет положительных элементов, поэтому оптимальное
решение
найдено.
Таковым
является
базисное
решение
X    0,0,1,1 и zmin  z  X    6 .
Ответ. zmin  6 при X    0,0,1,1 .
Сформулируем теперь общий алгоритм решения задачи линейного
программирования симплекс-методом. Предположим, система ограничений приведена к каноническому виду, в ней выделен допустимый базис
(все правые части – неотрицательные числа), из целевой функции исключены базисные переменные и все слагаемые, кроме константы, перенесены в левую часть. Записав все данные в симплекс-таблицу, получим (далее предполагается, что рассматривается задача на максимум, а альтернатива в скобках дана для задачи на минимум)
1. Если в последней строке нет отрицательных (положительных)
оценок, то оптимальное решение достигнуто.
16
2. Если в оценочной строке есть хотя бы одна отрицательная (положительная) оценка, то решение может быть улучшено. Для этого выбирается разрешающий столбец (пусть он имеет номер j ), содержащий отрицательную (положительную) оценку, а в качестве разрешающего выбирается положительный элемент alj  0 , дающий минимум отношения эле-
 b 
мента свободного столбца bi к aij : alj  min  i  .
aij 0
 aij 
3. Если в симплекс-таблице имеется отрицательная (положительная) оценка, а в соответствующем столбце нет положительных элементов,
то исходная задача не имеет решения, т.е. zmax    zmin    .
4. Если оптимальное решение найдено, но при этом у одной (или
нескольких) свободной переменной оценка равна 0 , то задача имеет альтернативное решение, для получения которого следует сделать шаг симплекс-метода, выбрав разрешающий элемент (по общему правилу) в
столбце с нулевой оценкой. При этом множество оптимальных решений
совпадает с выпуклой оболочкой всех альтернативных решений.
Заметим, что последнее верно не всегда. Возможна ситуация, когда
при поиске альтернативных решений в столбце, содержащем нулевую
оценку, все элементы отрицательны (см. пример 8).
Пример 7. Решить задачу линейного программирования
 z  3 x1  3 x2  21  max
 2 x  x  x  1,
1
2
3

 x1  x2  x4  3,
 x  x  x  7,
 1 2 5
 x  0.
симплексным методом.
Решение. Задача приведена к каноническому виду, допустимый
базис уже выделен (переменные x3 , x4 , x5 ) и из целевой функции исключе-
17
ны базисные переменные. Поэтому переписываем функцию z в виде
z  3 x1  3 x2  21 и формируем симплекс-таблицу
базис
bi
x1
x2
x3
x4
x5
x3
x4
x5
1
3
7
2 1
1 1
1 1
1
0
0
0
1
0
0
0.
1
z
21 3 3
0
0
0
В последней строке есть отрицательные элементы, поэтому решение
может быть улучшено. Вводим в базис переменную x2 , а так как
1 7 
min  ,   1, выводим из базиса переменную x3 :
1 1 
базис
bi
x1
x2
x3
x4
x5
x2
x4
x5
1
4
6
2
1
3
1
0
0
1
1
1
0
1
0
0
0.
1
z
24 9
0
3
0
0
Так как в строке оценок есть единственный отрицательный элемент,
а выбор разрешающего элемента однозначен, то выводим из базиса переменную x5 и вводим в базис переменную x1 . Делим разрешающую строку
на 3 , получаем
базис
bi
x1
x2
x3
x4
x5
x2
x4
x5
1
4
2
2
1
1
1
0
0
1
1
1/ 3
0
1
0
0
0
1/ 3
z
24 9
0
3
0
0
и делаем шаг симплекс-метода
18
базис
bi
x1
x2
x3
x4
x5
x2
x4
x1
5
6
2
0
0
1
1
0
0
1/ 3
2/3
1/ 3
0
1
0
2/3
1/ 3 .
1/ 3
z
42
0
0
0
0
3
В последней строке нет отрицательных элементов, поэтому опти-
X 1   2,5,0,6,0 
мальным решением является базисное решение
и
zmax  z  X 1   42.
С другой стороны, в столбце свободной переменной x3 в строке
оценок есть нулевая оценка, а, значит, имеется альтернативное решение.
Для того чтобы его найти, выбираем по общему правилу разрешающий
6
 5 6 
элемент в этом столбце: так как min 
,
, умножаем вторую

1/ 3 2/ 3  2 / 3
строку на 3/ 2 , получаем
базис
bi
x1
x2
x2
x4
x1
5
9
2
0
0
1
1
0
0
z
42
0
0
x3
x4
x5
1/ 3
0 2/3
1
3/ 2 1/ 2 ,
1/ 3 0 1/ 3
0
0
3
и делаем шаг симплекс-метода (вводим в базис x3 и выводим из базиса
переменную x4 )
базис
bi
x1
x2
x3
x2
x3
x1
2
9
5
0
0
1
1
0
0
0
1
0
z
42
0
0
0
x4
x5
1/ 2 1/ 2
3/ 2 1/ 2
1/ 2 1/ 2
0
3
и альтернативным оптимальным решением является X 2   5,2,9,0,0  . Заметим, что других альтернатив нет, так как, вводя в базис переменную x4 ,
мы вновь получаем альтернативное решение X 1 .
19
Итак, оптимальным
множеством исходной задачи является отрезок, соединяющий точки X 1 и
X2:
X   (1 t ) X1  tX2  (1 t)  2,5,0,6,0  t  5,2,9,0,0   2  3t,5  3t,9t,6  6t,0 ,t 0,1.
Ответ. zmax  42 при X    2  3t ,5  3t ,9t ,6  6t ,0  , t   0,1.
Пример 8. Решить задачу линейного программирования
 z   x1  x2  4  min
 x  x  x  3,
 1 2 3

 2 x1  x2  x4  2,
 x  0.
симплексным методом.
Решение. Переписываем функцию z в виде z  x1  x2  4 и составляем симплекс-таблицу
базис
bi
x1
x2
x3
x4
x3
x4
3
2
1 1
2 1
1
0
0
.
1
z
4
1
0
0
1
В последней строке есть положительный элемент, поэтому решение
может быть улучшено. Вводим в базис переменную x1 и выводим из базиса переменную x3 :
базис
bi
x1
x2
x3
x4
x1
x4
3
8
1
0
1
1
1
2
0
.
1
z
1
0
0
1
0
В последней строке нет положительных оценок, поэтому оптимальным
решением
является
базисное
решение
X 1   3,0,0,8
и
zmin  z  X 1   1. Замечаем, что в столбце свободной переменной x2 в строке оценок есть нулевая оценка, но все элементы этого столбца отрицательные. С одной стороны, это указывает на то, что оптимальное множе20
ство состоит из бесконечного множества точек, а с другой стороны, у этого множества больше нет угловых точек (например, если это луч; см. пример 5).
Для записи общего решения находим другую (не базисную) оптимальную точку, т.е. выражаем, используя заключительную симплекстаблицу, базисные переменные через свободные
 x1  3  x2  x3 ,

 x4  8  x2  2 x3 ,
и полагаем, например, x2  1, x3  0  X 2   4,1,0,9  . Получаем, что решением задачи является луч X 1 X 2 с началом в точке X 1 (для геометрической
интерпретации
задачи
смотри
пример
5)
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 .
Ответ. zmin  z  X min   1 при X min   3  t , t ,0,8  t  , t  0, zmax   .
Задачи для самостоятельного решения
Решить задачи линейного программирования симплексным методом
3 x1  x2  x3  6,


19. z  3 x3  4 x4  2 x5  9  max при x  0 и  x1  x2  x4  4,
  x  x  2 x  4.
5
 1 3
 x1  5 x2  x3  5,


20. z  x1  4 x2  2 x4  x5  11  min при x  0 и  x1  x2  x4  4,
 x  x  x  8.
 1 2 5
 3 x1  2 x2  x3  4,


21. z  2 x1  2 x2  x3  x5  13  min при x  0 и  5 x1  3 x2  x4  25,
 2 x  3 x  x  6.
2
5
 1
 2 x1  2 x2  x3  1,


22. z  3 x2  x4  8  max при x  0 и 3 x1  2 x2  4,
  x  x  x  1.
4
 1 2
21

 2 x1  2 x3  3 x4  12,
 x1  x2  2 x3  x4  1.
23. z   x1  x3  10  min при x  0 и 
 4 x1  3 x2  12,


24. z  2 x2  x4  12  max при x  0 и  4 x1  x2  x3  8,
 4 x  x  x  8.
 1 2
4
§4. Метод искусственного базиса
Если в исходной системе ограничений не выделен допустимый базис, как того требует алгоритм симплекс-метода, для его нахождения
можно решить вспомогательную задачу, которая ставится следующим
образом.
Пусть исходная система нетривиальных ограничений задана в общем виде
 a11 x1  a12 x2    a1n xn  b1 ,
a x  a x    a x  b ,
 21 1 22 2
2n n
2

........................................
 am1 x1  am 2 x2    amn xn  bm ,
где bi  0, i  1, , m. Выполнения последнего условия всегда можно добиться, умножив уравнения на 1 . Введем в систему новые (искусственные) переменные y1 , y2 ,, ym
 a11 x1  a12 x2    a1n xn  y1  b1 ,
a x  a x    a x  y  b ,
 21 1 22 2
2n n
2
2

........................................
 am1 x1  am 2 x2    amn xn  ym  bm ,
так
что
новая
система
имеет
допустимое
базисное
решение
 0,0,,0; b1, b2 ,, bm   R nm . Рассмотрим вспомогательную целевую функцию
F  x1 , x2 ,, xn ; y1 , y2 ,, ym   y1  y2    ym
методом задачу
22
и решим симплекс-
 F  y1  y2    ym  min
a x  a x    a x  y  b ,
1n n
1
1
 11 1 12 2
 a21 x1  a22 x2    a2 n xn  y2  b2 ,
........................................

 am1 x1  am 2 x2    amn xn  ym  bm .
Если последняя задача имеет решение, то возможны два случая:
1. Если min F  0 , то система ограничений не имеет допустимого
базиса и задача не имеет решений.
2. Если min F  0 , то система ограничений имеет неотрицательное
базисное решение. Чтобы получить систему ограничений, эквивалентную
исходной, но с выделенным допустимым базисом, необходимо, чтобы в
заключительной симплекс-таблице все искусственные переменные были
свободными.
Пример 9. Рассмотрим задачу из примера 6 § 3:
 z  3 x1  x2  2 x3  6 x4  10  min
 x  3 x  7 x  x  6,
 1
2
3
4

 x1  x2  x3  3x4  2,
 x  0.
и выделим допустимый базис с помощью вспомогательной задачи. Итак,
рассмотрим задачу
 F  y1  y2  min

 x1  3 x2  7 x3  x4  y1  6,
 x  x  x  3x  y  2.
 1 2 3
4
2
В системе выделен допустимый (искусственный) базис y1 , y2 , поэтому выражаем из уравнений базисные переменные
 y1  6  x1  3 x2  7 x3  x4 ,

 y2  2  x1  x2  x3  3 x4
23
и подставляем в выражение для F : F  y1  y2  8  2 x1  2 x2  6 x3  2 x4 .
Переписываем это равенство в виде F  2 x1  2 x2  6 x3  2 x4  8 и формируем симплекс-таблицу
базис
bi
x1
x2
x3
x4
y1
y2
6
2
1
1
3 7 1 1
1 1 3 0
0
.
1
F
8
2
2
0
6
y1
2
0
y2
Выводим из базиса переменную y2 и вводим в базис x1 . Получим
базис
bi
x1
x2
x3
x4
y1
y2
y1
x1
4
2
0
1
4 8 4
1 1 3
1
0
1
.
1
F
4
0
4
0
2
8
4
Далее, выводим из базиса переменную y1 и вводим в базис x2 . Для этого
делим первую строку на 4 , получаем таблицу
базис
bi
x1
x2
x3
x4
y1
y2
y1
x1
1
2
0
1
1 2 1 1/ 4 1/ 4
1 1 3
0
1
F
4
0
4
8
4
0
2
y1
y2
и делаем шаг симплекс-метода
базис
bi
x1
x2
x3
x4
x2
x1
1
3
0
1
1
0
2
1
1 1/ 4 1/ 4
.
2 1/ 4 3/ 4
F
0
0
0
0
0
1
1
Данная симплекс-таблица – заключительная, искусственные переменные
y1 , y2 стали свободными и мы, опуская последнюю строку и столбцы, им
соответствующие, получаем таблицу
базис
bi
x1
x2
x3
x2
x1
1
3
0
1
1
0
2
1
24
x4
 x2  2 x3  x4  1,
1  
 x1  x3  2 x4  3,
2
т.е. получаем систему ограничений с выделенным допустимым базисным
решением, которая равносильна исходной системе ограничений и совпадает с системой, полученной (другим способом) в примере 6 §3.
Пример 10. Решить задачу
 z  x1  3x2  8  min
  x  x  x  1,
 1 2 3
 x1  3 x2  x4  19,
3 x  x  x  33,
5
 1 2
 x  0
симплекс-методом.
Решение. В данной задаче допустимый базис выделен лишь частично (переменные x3 , x5 ), поэтому ограничимся лишь введением одной искусственной переменной y и решим следующую задачу
 F  y  min,
  x  x  x  1,
 1 2 3

 x1  3 x2  x4  y  19,
3 x1  x2  x5  33
Так как F  y  19  x1  3 x2  x4 , то F  x1  3 x2  x4  19 . Аналогично,
z  x1  3 x2  10  z  x1  3 x2  10 и мы, решая задачу для функции F , внесем в таблицу строку для функции z , одновременно преобразуя и ее. Получим
x1
x2
x3
x4
x5
y
x3
y
1 1
19 1
1
3
1
0
0
1
0
0
0
1
x5
z
33 3 1
8 1 3
0
0
0
0
1
0
0
0
F
19
0
1
0
0
базис
bi
1
3
Сделаем шаг симплекс-метода с выделенным разрешающим элементом
25
базис
bi
x1
x2
x3
x4
x5
y
x2
y
1
16
1
4
1
0
1 0
3 1
0
0
0
1
x5
z
32 4
11 4
0
0
1
3
1
0
0
0
F
16
0
3 1
0
0
4
базис
bi
x1
x2
x2
y
1
4
1
1
1
0
x5
z
32 4
11 4
0
0
1
3
F
16
0
3
4
0
0
x3
x4

x5
y
0
0
0
1/ 4
0
0
1
0
0
0
1
0
0
1
0
3/ 4 1/ 4
Выводим из базиса переменную y и вводим в базис x1 .
базис
bi
x1
x2
x3
x2
x1
5
4
0
1
1
0
x5
z
16
27
0
0
0
0
2
0
F
0
0
0
0
x4
x5
y
0
0
1/ 4
1/ 4
1
1
1
0
1
1
0
0
1
1/ 4 1/ 4
3/ 4 1/ 4
Вспомогательная задача F  min решена и искусственная переменная y –
свободная. Поэтому опускаем последнюю строку и столбец, и получаем
симплекс-таблицу для исходной задачи с выделенным допустимым базисом:
базис
bi
x1
x2
x2
x1
x5
5
4
16
0
1
0
1
0
0
z
27
0
0
x3
x4
1/ 4 1/ 4
3/ 4 1/ 4
2
1
0
1
x5
0
0
1
0
Более того, данная симплекс-таблица – заключительная, поэтому решением задачи является X 1  (4,5,0,0,16) , а так как имеется свободный столбец
26
x3 с нулевой оценкой, то имеется альтернативное решение. Выводим из
базиса переменную x5 и вводим в базис x3 :
базис
bi
x1
x2
x2
x1
x5
5
4
8
0
1
0
1
0
0
z
27
0
0
x3
x4
x5
1/ 4 1/ 4 0
3/ 4 1/ 4 0 
1
1/ 2 1/ 2
0
1
0
x4
x5
базис
bi
x1
x2
x3
x2
x1
x3
3
10
8
0
1
0
1
0
0
0
0
1
z
27
0
0
0
3/8 1/8
1/8
3/8 ,
1/ 2 1/ 2
1
0
получаем альтернативное решение X 2  (10,3,8,0,0) . Как и в примере 7
убеждаемся, что альтернатив больше нет, поэтому общее решение задачи
X   1 t  X1  tX2  1 t  4,5,0,0,16  t 10,3,8,0,0   4  6t,5  2t,8t,0,16 16t  ,t 0,1.
Ответ. zmin  27 при X    4  6t ,5  2t ,8t ,0,16  16t  , t   0,1.
Пример 11. Решить задачу
 z  x1  2 x2  9  max
 x  x  x  2,
 1 2 3
 x1  4 x2  x4  1,
  x  x  x  3,
 1 2 5
 x  0.
симплекс-методом.
Решение. Введем две искусственные переменные y1 , y2 и решим
следующую задачу
 F  y1  y2  min
 x  x  x  y  2,
 1 2 3 1
 x1  4 x2  x4  1,
  x  x  x  y  3,
2
 1 2 5
 x  0, y  0.
27
Из системы ограничений преобразуем F  y1  y2  5  2 x2  x3  x5 , т.е.
F  2 x2  x3  x5  5 . Аналогично,
z  x1  2 x2  9 и мы решаем задачу для
функции F , включив при этом в таблицу строку для функции z :
базис
bi
x1
x2
x3
x4
x5
y1
y2
y1
x5
2
1
1
1
1
4
1
0
0
1
0
0
1
0
0
0
y2
z
3
9
1 1
1 2
0
0
0
0
1
0
0
0
1
0
F
5
0
1
0
1
0
0
2
В строке оценок есть единственный положительный элемент, поэтому
вводим в базис x2 и выводим из базиса x5 :
базис
y1
x5
bi
x1
2
1
1/ 4 1/ 4
x2
x3
1
1
x4
x5
y1
y2
1 0
0 1/ 4
0
0
1
0
0
0

y2
z
3
9
1
1
1
2
0
0
0
0
1
0
0
0
1
0
F
5
0
2
1
0
1
0
0
базис
bi
x1
x2
x3
x5
y1
y2
y1
x2
7/4
1/ 4
3/.4
1/ 4
0
1
1 1/ 4
0 1/ 4
0
0
1
0
0
0
y2
z
11/ 4 5/ 4
19 / 2 1/ 2
0
0
0
0
1/ 4 1
1/ 2 0
0
0
1
0
F
9/2
0
1 1/ 2 1
0
0
1/ 2
x4
Все элементы строки оценок для задачи F  min отрицательны, поэтому
симплекс-таблица – заключительная, но, так как min F  9 / 2  0 , то исходная задача не имеет ни одного допустимого базиса и решений не имеет.
Задачи для самостоятельного решения
Решить задачи линейного программирования, используя метод искусственного базиса
28
 2 x1  11x2  12 x3  3 x4  14,
9 x2  12 x3  3x4  12.
25. z   x1  3 x2  5 x3  x4  7  min при x  0 и 
3 x1  x2  x3  6 x4  x5  6,

26. z  6 x2  x3  x4  13  max при x  0 и  x1  5 x3  x4  7 x5  6,
 x  2 x  3 x  x  x  6.
 1
2
3
4
5
 4 x1  x2  x3  2 x4  x5  8,

27. z  6 x1  x3  x4  2 x5  8  max при x  0 и  2 x1  x2  x4  2,
 x  x  x  2.
5
 1 2
3x1  4x2  x3 12,

28. z  5 x1  3 x2  2 x3  x4  x5  8  min при x  0 и 3x1  2x2  x3  x4  x5 16,
x  3x  x  3.
1
2
5
  x1  x2  x3  2,

29. z  7 x1  2 x3  x4  x5  24  max при x  0 и 3 x1  x2  x4  3,
5 x  2 x  x  x  x  11.
2
3
4
5
 1
  x1  2 x2  x3  2,

30. z  7 x2  x3  x4  x5  17  min при x  0 и 9 x1  x2  x3  x4  2 x5  26,
3 x  2 x  x  3.
 1
2
5
 x1  x2  x3  1,

31. z  x1  x3  x4  x5  29  max при x  0 и 3 x1  x2  x5  7.
5 x  2 x  2 x  x  3 x  17.
 1
2
3
4
5
29
Глава 2. ВЗАИМНО ДВОЙСТВЕННЫЕ ЗАДАЧИ
§1. Основные определения и теоремы
Рассмотрим пару двойственных задач линейного программирования
 AtY  C ,
 AX  B,


и Y  0,
 X  0,
 z  C t X  c  max
T  BtY  c  min
0
0


где
A   aij  – m  n
t
t
t
X   x1 , x2 ,, xn  , Y   y1 , y2 ,, ym  ,
матрица,
t
B   b1 , b2 ,, bm  , C   c1 , c2 ,, cn  – векторы-столбцы соответствующей
t
размерности, а вектора X  xi1 , xi2 ,, xik , Y  y j1 , y j2 ,, y jl



t

с индекса-
ми 1  i1  i2    ik  n , 1  j1  j2    jk  m – части векторов X ,Y (то
есть тривиальные ограничения налагаются лишь на часть координат векторов X ,Y ). Нетривиальные ограничения в обеих задачах могут быть как
типа неравенств (со знаком «  » или «  »), так и типа уравнений. Чтобы
понять связь между этими задачами, построим расширенные матрицы
 a11 a12
a
 21 a22
 

A
 am1 am 2

~

c2
 c1
 a1n
 a2 n
 
 amn
 

и
30
cn
b1 
 b2 
 

 bm 


c0 
max

 a11
a
 12

A   
 a1n


 b1
a21  am1
a22  am 2
  
a2 n  amn
~  
b2

bm
c1 
 c2 
 

 cn 


c0 
min

обеих задач. Таким образом,
1. Матрица нетривиальных ограничений двойственной задачи получается из соответствующей матрицы исходной задачи транспонированием.
2. Правые части нетривиальных ограничений двойственной задачи
являются коэффициентами целевой функции исходной задачи, и, наоборот, коэффициенты целевой функции двойственной задачи совпадают с
правыми частями ограничений исходной задачи.
3. Если исходная задача является задачей на максимум (на минимум), то двойственная задача будет задачей на минимум (на максимум), и
строка тривиальных ограничений переходит в столбец нетривиальных ограничений без изменения знака неравенства с «  » на «  » и наоборот (соответственно, с изменением знака). Если на переменную в исходной задаче тривиальное ограничение отсутствует, то соответствующее ограничение в двойственной задаче будет типа уравнения; иными словами, «~» переходит в «=». Столбец нетривиальных ограничений переходит в строку
тривиальных ограничений с изменением знака неравенства с «  » на «  » и
наоборот (соответственно, без изменения знака), а «=» переходит в «~».
Пример 1. Для задачи
 z  4 x1  5 x2  8 x3  10 x4  x5  14  min
 x  2 x  7 x  x  37,
2
3
5
 1
 4 x1  7 x2  4 x4  9 x5  28,
 2 x  6 x  4 x  x  48,
3
4
5
 1
 x1  1, x2  0, x3  0, x4  0.
31
составить двойственную.
Решение. Заметим сразу, что x1  1 будем считать нетривиальным
ограничением, поэтому задачу можно переписать в виде
 z  4 x1  5 x2  8 x3  10 x4  x5  14  min
 x  2 x  7 x  x  37,
2
3
5
 1
 4 x1  7 x2  4 x4  9 x5  28,

 2 x1  6 x3  4 x4  x5  48,
 x1  1,

 x2  0, x3  0, x4  0.
Выпишем расширенную матрицу полученной задачи
 1 2
 4 7

2 0
A  
0
1
~ 

 4 5
7
0
6
0

8
0
1 
37 
4 9  28
4 1  48 

0
0  1 


~

10 1
14 
min
Составляем расширенную матрицу двойственной задачи согласно общим
правилам и получаем
 1 4 2
 2 7 0

7
0
6

4 4
A    0
 1 9 1


~

 37 28 48

Двойственная задача имеет вид
32
1 
0 
0 
0 
0 

1
4 
5 
8 

10 
1 


14 
.
max
T  37 y1  28 y2  48 y3  y4  14  max
 y  4 y  2 y  y  4,
2
3
4
 1
 2 y1  7 y2  5, 7 y1  6 y3  8,

 4 y2  4 y3  10,
  y1  9 y2  y3  1,

 y1  0, y2  0, y4  0.
Основная связь между двойственными задачами изложена в следующих утверждениях.
Теорема 1 (основное неравенство для двойственных задач). Для
всех допустимых решений X ,Y пары двойственных задач имеет место
неравенство z  X   T Y  .
Теорема 2 (первая теорема двойственности). Если исходная задача
имеет оптимальное решение, то и двойственная ей имеет оптимальное
решение. При этом оптимальные значения обеих целевых функций равны,
то есть zmax  Tmin .
Чтобы решить задачу линейного программирования, иногда проще
решить двойственную задачу, а затем найти решение исходной задачи.
Задачи для самостоятельного решения
Для задач линейного программирования построить двойственные
задачи
 z  2 x1  7 x3  6 x4  40  max
 z   x1  3x2  12 x3  x4  5  min
 x  3 x  4 x  7,
 7 x  2 x  6 x  25,
2
3
1
2
4

 1
 3 x1  8 x2  2 x4  97,
 4 x1  7 x3  13 x4  8 x5  16,
32. 
33. 
17 x1  3 x2  5 x4  15,
 7 x1  4 x3  3 x4  46 x5  15,
 x1  1,
 x5  1,


 x2  0, x3  0.
 x1  0, x2  0, x4  0.
33
z  4x1  3x3  12x4  x5  7  max
 z  23x1  4 x2  7 x3  4 x5  28  min
5x  3x  8x  5,
1
2
5
4x  3x  14 x  34,

3
5
 1
2x1  6x2  7 x3  4x5  70,
34. 
35.  x1  x2  x3  18x5  5,
3
x

2
x

4
x

6
x

12,
2
3
4
 1
 x  3,
x2  2, x4  7,
 4
 x1  0, x2  0, x5  0.

x1  0, x3  0.
§2. Решение двойственных задач с помощью теоремы равновесия.
Сформулируем теперь теорему равновесия (вторую теорему двойственности), которая позволяет не только установить связь между оптимальными значениями целевых функций, но и между точками, в которых
эти значения достигаются.
Теорема
3
(теорема
равновесия).
Оптимальные
решения
X    x1 , x2 ,, xn  и Y    y1 , y2 ,, ym  пары двойственных задач связаны
между собой равенствами
 m
 

  aik yi  ck   xk  0, k  1,, n,
 i1

 n
 a x  b   y   0, i  1,, m.
ik k
i
i
 
k 1

Пример 2. Решить задачу
 z  22 x1  91x2  37 x3  19  min
 10 x  7 x  3 x  1,

1
2
3

8 x1  2 x2  10 x3  22,
 x1  0, x2  0, x3  0.
с помощью теоремы равновесия.
Решение. Составим сначала задачу, двойственную данной. Выпишем расширенную матрицу
34
3  1
 10 7
 8

2

10

22

A  
 





19 
 22 91 37
min
и построим расширенную матрицу двойственной задачи
 10 8  22 
 7
2  91 

A    3 10  37 



 

 1
22
19 

.
max
Двойственная задача имеет вид
T  y1  22 y2  19  max
 10 y  8 y  22,
1
2

7 y1  2 y2  91,
3 y  10 y  37,
2
 1
 y1  0, y2  0.
Решим ее графическим способом. Строим на плоскости
l1 : 10 y1  8 y2  22 , l2 : 7 y1  2 y2  91, l3 : 3 y1  10 y2  37
 y1, y2 
прямые
и убеждаемся,
что нетривиальные ограничения определяют треугольник ABC , угловые
точки которого находим из систем уравнений
10 y1  8 y2  22,
A  l1  l2 : 
 A  9,14  .
7
y

2
y

91,
 1
2
7 y  2 y2  91,
B  l2  l3 :  1
 B 11,7 .
3 y1  10 y2  37,
10 y1  8 y2  22,
C  l1  l3 : 
 C 1,4  .
3
y

10
y


37,
 1
2
35
y2
l2
A
B
n
l3
C
y1
l1
O
Вектор нормали n имеет координаты n  1,22  . Поэтому, очевидно, максимальное значение функции T (Y ) достигается в точке A  9,14  и
Y    9,14  , Tmax  T  9,14   9  22 14  19  336 .
Запишем теперь теорему равновесия для данной пары двойственных задач
 10 y1  8 y2  22   x1  0,

 7 y1  2 y2  91  x2  0,

 


 3 y1  10 y2  37   x3  0,





 10 x1  7 x2  3 x3  1  y1  0,
 



 8 x1  2 x2  10 x3  22   y2  0.
С учетом того, что Y    9,14  (то есть y1  0, y2  0 ) и A  l1  l2 , A  l3 (то
есть 10 y1  8 y2  22  0, 7 y1  2 y2  91  0 , 3 y1  10 y2  37  0 , в чем можно убедиться непосредственной подстановкой), выполнение первых двух
уравнений очевидно, третье сводится к условию x3  0 и система сводится
к виду
36
 x3  0,
 x3  0,








10
x

7
x

3
x

1

0,
или

 10 x1  7 x2  1  0, решениями ко1
2
3
 
 



8 x1  2 x2  10 x3  22  0.
8 x1  2 x2  22  0,
торой
является
точка
X *   2,3,0  .
Заметим,
что
z  X *   22  2  91  3  37  0  19  336  T Y *  , как и должно быть по первой теореме двойственности.
Задачи для самостоятельного решения
Для следующих задач линейного программирования
а) построить задачу, двойственную данной;
б) решить двойственную задачу графическим методом;
в) найти решение исходной задачи с помощью теоремы равновесия.
13 x1  8 x2  5 x3  18,
 7 x1  6 x2  13 x3  20.
36. z  x1  154 x2  21x3  min при x  0 и 
 2 x1  x2  x3  4,
7 x1  4 x2  11x3  29.
37. z  x1  4 x2  2 x3  min при x  0 и 
8 x1  3 x2  5 x3  13,
  x1  x2  2 x3  3.
38. z  20 x1  108 x2  51x3  min при x  0 и 
 5 x1  x2  4 x3  4,
5 x1  6 x2  11x3  11.
39. z  10 x1  44 x2  x3  min при x  0 и 
9 x1  2 x2  7 x3  25,
 6 x1  4 x2  10 x3  22.
40. z  3 x1  58 x2  13x3  min при x  0 и 
12 x1  7 x2  5 x3  22,
 x1  3 x2  4 x3  9.
41. z  10 x1  56 x2  3 x3  min при x  0 и 
§3. Решение двойственных задач с помощью симплексметода
Решение пары двойственных задач может быть основано на следующем правиле.
37
Теорема 4. Если для одной из задач оптимальное решение найдено
симплекс-методом, то в исходной задаче можно выделить квадратную
матрицу P, образованную столбцами, соответствующими базисным переменным оптимального решения. Тогда оптимальное решение двойственной задачи находится по формуле
Y *  cбаз  P 1 ,
где сбаз – вектор-строка, образованная коэффициентами при базисных
переменных заключительной симплекс-таблицы в целевой функции исходной задачи.
Пример 3. Для задачи
z  23 x1  40 x2  60 x3  2 x4  x5  18  max
 4 x1  10 x2  11x3  x4  x5  57,

 2 x  6 x2  x3  x4  x5  9,
 x  0, j  1,..,5.
 j
построить двойственную, решить исходную задачу симплекс-методом и
найти оптимальное решение двойственной задачи.
Решение. Составим задачу, двойственную к данной. Образуем расширенную матрицу
 4 10 11
 2 6 1

A
  

 23 40 60
и преобразуем ее по общему правилу
38
1
1

57 
1 1  9 
,

 

2 1
18
 max
 4 2  23 
10 6  40 


11 1  60 


A    1 1  2 
 1 1  1 


~ ~

57 9
18

.
min
Двойственная задача имеет вид
 4 y1  2 y2  23,
10 y  6 y  40,
2
 1
T  57 y1  9 y2  18  min, при условиях 11 y1  y2  60,
 y  y  2,
2
 1
 y1  y2  1.
Решим исходную задачу симплекс-методом. В задаче не выделен
допустимый базис, поэтому для его нахождения можно использовать метод искусственного базиса или выделить его непосредственно из нетривиальных ограничений: сложим уравнения, а затем вычтем из первого второе. Получим систему
6 x1  4 x2  10 x3  2 x4  66,
3 x1  2 x2  5 x3  x4  33,
 

 2 x1  16 x2  12 x3  2 x5  48,
 x1  8 x2  6 x3  x5  24.
с выделенным базисом x4 , x5 . Выражаем базисные переменные x4 , x5
x4  33  3 x1  2 x2  5 x3 ,
x5  24  x1  8 x2  6 x3
и подставляем полученные выражения в формулу для z . Получим задачу
z  18 x1  44 x2  56 x3  24  max
3 x1  2 x2  5 x3  x4  33,

 x1  8 x2  6 x3  x5  24,
 x  0, j  1,..,5
 j
Перепишем целевую функцию в виде
39
.
 
z  18 x1  44 x2  56 x3  24
и имеем симплекс-таблицу
базис
bi
x1
x2
x3
x4
x5
x4
x5
33
24
3
1
2
8
5
6
1
0
0
1
z
24 18 44 56
0
0
 33 24  24
Вводим в базис переменную x3 . Находим min  ,  
 4 и выводим
5 6 6
из базиса переменную x5 . Делим соответствующую строку на 6 и получаем
bi
базис
x1
x2
x3
x4
2
4/3
5
1
1
0
x4
x5
33 3
4 1/ 6
z
24 18 44 56
x5
0

1/ 6
0
0
базис
bi
x1
x2
x3
x4
x5
x4
x3
13
4
13/ 6
1/ 6
14 / 3
4/3
0
1
1
0
5/ 6
1/ 6
z
248 26 / 3
92 / 3
0
0
28/ 3
В строке оценок осталась единственная отрицательная оценка, а так как
 13 4 
min 
,
  6 , то выводим из базиса переменную x1 и вводим x4 .
13/ 6 1/ 6 
Умножаем первую строку на 6/13 , получаем симплекс-таблицу
базис
bi
x1
x2
x3
x4
x3
6
4
1
1/ 6
28/13
4/3
0
1
92 / 3
0
z
248 26 / 3
x4
x5
6 /13 5/13
0
1/ 6
0
28/ 3
и делаем шаг симплекс-метода:
базис
bi
x1
x2
x3
x1
x3
6
3
1
0
28/13
22 / 3
0
1
z
300
0
12
0
40
x4
x5
6 /13 5/13
1/13 3/13
4
6
Так как в строке оценок нет отрицательных элементов, то полученная симплекс-таблица – заключительная, оптимальное решение X *  (6,0,3,0,0) и
zmax  z ( X * )  300 .
Базисными переменными оптимального решения являются x1 , x3 ,
 4 11 
поэтому из исходной задачи находим P  
 , а из условия задачи
 2 1 
cбаз  (23,60) , поэтому оптимальным решением двойственной задачи будет
1
 4 11 
 11 1 
Y   23,60  
 , ,

 2 2
 2 1
*
причем Tmin  T (Y * )  57 
11
1
 9   18  300  zmax .
2
2
Если в задаче линейного программирования выделен допустимый
базис и базисные переменные исключены из целевой функции, то оптимальным решением двойственной задачи являются элементы строки оценок последней симплекс-таблицы при базисных переменных исходной
симплекс-таблицы. Например, для задачи   двойственной задачей будет
T  33 y1  24 y2  24  min
3 y1  y2  18,
 2 y  8 y  44,
2
 1
5 y1  6 y2  56,
 y  0,
 1
 y2  0.
и общая формула теоремы 4 дает
1
3 5
Y  18,56  
  4,6  , T Y *   33  4  24  6  24  300 .

1 6
*
С другой стороны, оптимальное решение Y *   4,6  легко находится из
строки оценок последней симплекс-таблицы как коэффициенты при базисных переменных x4 , x5 исходной.
41
Задачи для самостоятельного решения
Для следующих задач линейного программирования
а) построить задачу, двойственную данной;
б) решить исходную задачу симплекс-методом и найти решение двойственной задачи.
 4 x1  3 x2  x3  2 x5  5,
 2 x1  2 x2  x4  2 x5  2.
42. z  x1  3 x2  3 x3  x4  x5  7  max при x  0 и 
 2 x1  3 x2  x3  x4  9,
3 x1  2 x2  x3  x5  7.
43. z  2 x1  x2  x3  x4  x5  8  max при x  0 и 
3 x1  x2  4 x3  x4  3,
 2 x1  x2  2 x3  x5  7.
44. z  x1  x2  2 x3  2 x4  x5  13  max при x  0 и 
x1  4x2  x4  2x5  4,
5x2  x3  6x4  5x5  5.
45. z  x1  2 x2  x3  2 x4  4 x5  23  max при x  0 и 
2x1  6x2  x3  x4  22,
3x1  2x2  5x3  x5  40.
46. z  52x1  72x2  61x3  x4  x5  8  max при x  0 и 
16x1  x2  7x4  13x5  3,
2x1  x3  5x4  x5  15.
47. z  12x1  13x2  x3  7 x4  3x5  2  max при x  0 и 
42
Глава 3. ТРАНСПОРТНАЯ ЗАДАЧА
§1. Постановка задачи
Транспортная задача является задачей линейного программирования, в которой требуется найти оптимальный план перевозки некоторого
груза от конечного числа поставщиков (с заданными запасами) к конечному числу потребителей (с заданными потребностями), причем стоимость перевозки единицы груза
для каждой пары «поставщик-
потребитель» известна. Таким образом, оптимальный план должен определять минимальную общую стоимость перевозок, не превышая запасы
каждого из поставщиков и покрывая потребности каждого из потребителей.
Итак, имеется m поставщиков A1 , A2 ,, Am и n потребителей
B1 , B2 ,, Bn некоторого груза. Для каждого поставщика и потребителя заданы запасы ai  0, i  1,, m
и, соответственно, объем потребления
b j  0 , j  1,, n . Также известна стоимость перевозки единицы груза
cij  0 от i -ого поставщика к j -ому потребителю. Требуется найти объемы перевозок xij от i -ого поставщика к j -ому потребителю, при которых
общая стоимость перевозок минимальна. Таким образом, требуется найти
минимум функции
m
 xij  b j , j  1,, n,
 i 1
m n
 n
z ( X )   cij xij  min при условиях  xij  ai , i  1,, m,
i 1 j 1
 j1
 xij  0.


43
Первая часть нетривиальных ограничений означает, что все потребности удовлетворены, вторая часть – то, что весь груз вывезен от поставщиков. Число базисных переменных в системе ограничений транспортной
задачи равно m  n  1.
Заметим, что если запасы и потребности задаются целыми числами,
то транспортная задача имеет целочисленное оптимальное решение, поэтому транспортную задачу относят формально к задачам целочисленного
линейного программирования.
Решение (оптимальное решение) транспортной задачи, определяемое m  n матрицей X   xij  , будем называть планом (оптимальным планом) транспортной задачи, а исходные данные задачи представляют в виде
таблицы 3.1.
Потребители
Поставщики
B1
B2
c11
A1
x11
c12
x21
…
с22
x22
…
…
ci1
Ai
…
xi1
xi 2
…
…
xm1
Потребности
…
…
cm 2
xm 2
b1
…
b2
c1 j
x1 j
с2 j
x2 j
…
ci 2
cm1
Am
…
x12
c21
A2
Bj
…
…
…
cij
xij
…
c1n
…
x1n
c2 n
…
x2 n
…
…
cin
…
xin
…
cmj
xmj
…
Запасы
a1
a2
…
ai
…
cmn
…
bj
…
Bn
…
xmn
am
bn
…
Таблица 3.1
m
Общие запасы определяются суммой
 a , а общая потребность –
i
i 1
n
 b . Транспортная задача называется задачей с правильным балансом, а
j
j 1
44
m
ее модель закрытой, если
n
 a  b
i
i 1
j
, то есть суммарные запасы постав-
j 1
m
n
 ai   b j , то та-
щиков равны суммарным запросам потребителей. Если
i 1
j 1
кая задача называется задачей с неправильным балансом, а ее модель –
открытой.
Теорема 1. Транспортная задача разрешима тогда и только тогда,
m
когда суммарные запасы равны общим потребностям
n
 a  b
i
i 1
j
.
j 1
Доказательство. Пусть X *   xij*  − оптимальное решение транспортной задачи. Тогда, очевидно,
m *
 xij  b j , j  1,, n,
 i 1
 n
 x*  a , i  1,, m.
i
 j1 ij
Если просуммировать первые n равенств по i , а последние m равенств по
m
n
m
*
ij
n
 x   a
j , то имеем:
i 1 j 1
i
и
i 1
m
n
*
ij
 x   b
j 1 i 1
j
. Поскольку левые части
j 1
m
этих выражений равны, то равны и их правые части, т.е.
n
 ai   b j .
i 1
m
Обратно, предположим, что
j 1
n
 a  b
i
i 1
j
 M . Рассмотрим m  n
j 1
n
матрицу X   xij  , где xij 
aib j
M
ai  b j
n
 0 . Тогда
x
ij
j 1

j 1
M

ai M
 ai для
M
m
i  1,, m, и
m
 xij 
i 1
b j  ai
i 1
M

bj M
M
 b j для j  1,, n . Поэтому допустимое
множество системы ограничений транспортной задачи не пусто. Далее,
45
n
x
из ограничений
ij
 ai для i  1,, m в силу неотрицательности xij сле-
j 1
дует ограниченность элементов матрицы X   xij  : 0  xij  ai . Поэтому
допустимое множество является ограниченным. Наконец, поскольку
стоимости перевозок единиц груза cij ограничены сверху и снизу:
n
C  cij  D , то
m
n
m
n
m
 Cxij   cij xij   Dxij , т.е.
j 1 i 1
j 1 i 1
n
j 1 i 1
m
n
m
C  xij  F ( X )  D  xij , CM  F ( X )  DM .
j 1 i 1
j 1 i 1
Таким образом, целевая функция ограничена на допустимом множестве,
а, следовательно, достигает на нем своего наименьшего значения. Теорема
доказана.
§2. Построение начального опорного плана
Изложим алгоритм решения транспортной задачи с правильным балансом. Первым этапом решения является построение начального опорного плана, т.е. плана перевозок, удовлетворяющего всем ограничениям конкретной транспортной задачи. Мы приведем несколько методов построения такого плана – метод северо-западного угла, метод минимального тарифа и метод аппроксимации Фогеля. Их сущность состоит в том, что начальный опорный план находят за не более чем m  n  1 шагов (по числу
базисных переменных), на каждом из которых в транспортной таблице заполняют одну клетку, которую называют занятой. Заполнение одной из
клеток обеспечивает полностью либо удовлетворение потребности в грузе
одного из пунктов назначения (того, в столбце которого находится заполненная клетка), либо вывоз груза из одного из пунктов отправления (из того, в строке которого находится заполняемая клетка). Различаются эти
планы по принципам выбора заполняемых клеток и, в зависимости от этого, могут давать планы, более или менее отличные от оптимального.
46
Пример 1. Построить начальный опорный план методом северо-
B1
A1
A2
A3
bj
B2
B3
B4
западного угла для транспорт-
ai
11
5
4
2
80
ной задачи, заданной таблицей
1
4
5
9
170
3.2.
9
8
7
10
150
В правом нижнем углу
400
стоит сумма запасов (и, одно-
70
60
180
Таблица 3.2
90
временно,
сумма
потребно-
стей, так как модель закрытая) Заполнение таблицы начинаем с левого
верхнего (северо-западного) угла таблицы. Так как потребности первого
B1
A1
B2
11
70
B3
B4
5
4
2
10
ai
потребителя В1 равны 70, а
80
запасы первого поставщика A1
A2
1
4
5
9
170
равны 80, то в клетку A1 B1
A3
9
8
7
10
150
вписываем максимально воз-
400
можную перевозку 70 . По-
bj
70
60
180
90
Таблица 3.3
требности В1 полностью удов-
летворены, поэтому первый столбец исключаем из рассмотрения, а оставшиеся запасы первого поставщика, т.е. 10 , вписываем потребителю В2 и
первую строку исключаем из
B1
A1
B2
11
70
B4
ai
5
4
2
4
5
9
80
10
A2
1
A3
9
bj
B3
50
70
60
7
180
рассмотрения
(см. таблицу 3.3).
170
Далее, так как потреб-
150
ности В2 равны 60, а 10
120
8
дальнейшего
10
90
400
Таблица 3.4
единиц груза ему уже доставлены, то оставшиеся 50
единиц доставляются от второго поставщика A2 (заполняем клетку A2 B2 ) .
Столбец
В2 исключаем из рассмотрения, а оставшиеся запасы второго
поставщика ( 120 единиц) записываем третьему потребителю (см. таблицу
3.4).
47
Потребности третьего потребителя окончательно удовлетворяем за
счет поставщика A3 и вписываем в клетку A3 B3 перевозку 60 . Естественным завершением построения начального плана задачи с правильным ба-
B1
A1
B2
11
70
ai
лансом является то, что как
80
потребности последнего по-
170
требителя B4 , так и (остав-
B4
5
4
2
4
5
9
7
10
10
A2
1
A3
9
bj
B3
50
70
120
8
60
180
60
150
90
90
400
90
(см.
таблицу
0
 70 10 0
X   0 50 120 0  ,
 0 0 60 90 


A3
равны
90 , поэтому в
клетку A3 B4 вписываем пере-
Таблица 3.5
возку
шиеся) запасы поставщика
а
3.5).
суммарная
Начальный
опорный
план
стоимость
перевозок
равна
z ( X )  70  11  10  5  50  4  120  5  60  7  90  10  2940.
Из решения видно, что метод северо-западного угла, с одной стороны, достаточно прост с точки зрения построения, а с другой стороны,
не учитывает стоимость перевозок. Поэтому опорный план, построенный
методом северо-западного угла, как правило, далек от оптимального.
Пример 2. Построим теперь для задачи примера 1 (см. таблицу
3.2) начальный опорный план методом минимального тарифа. Суть этого
B1
B2
B3
B4
ai
A1
11
5
4
2
A2
1
4
5
9
9
8
7
10
170
70
A3
bj
80
70
60
180
A1
11
B2
90
фами помещают максимальвозможные
перевозки.
Итак, в таблице 3.2 выбираем
400
клетку с минимальным тари-
B3
5
клетки с наименьшими тари-
но
150
Таблица 3.6
B1
метода состоит в том, что в
B4
4
ai
2
80
80
48
A2
4
5
9
9
8
7
10
170
фом, т.е. клетку A2 B1 с тари-
150
фом 1. Запасы поставщика
400
A2 равны 170 , а потребности
70
A3
bj
1
70
60
180
Таблица 3.7
90
В1 – 70, поэтому в клетку
A2 B1 вписываем максимально возможную перевозку 70 , и потребителя В1
исключаем из рассмотрения (см. таблицу 3.6) .
В оставшейся части таблицы выбираем минимальный тариф, т.е. клетку
A1 B4 с тарифом 2 . Запасы поставщика A1 равны 80 , а потребности В4
равны 90, поэтому в клетку A2 B1 записываем перевозку 80 и поставщика
A1 исключаем из рассмотрения (см. таблицу 3.7).
B1
B2
A1
11
A2
1
5
B4
4
ai
2
80
80
70
4
60
9
A3
bj
B3
70
5
9
7
10
40
8
60
180
90
170
В оставшейся части таблицы
(вторая и третья строки; второй,
третий
столбцы)
150
400
Таблица 3.8
и
четвертый
выбираем
мини-
мальный тариф, т.е. клетку
A2 B2 с тарифом 4 . Запасы
(оставшиеся) поставщика A2 равны 100 , а потребности В2 – 60, поэтому в
клетку A2 B2 записываем максимально возможную перевозку 60 и исключаем второго потребителя из дальнейшего рассмотрения. Заметим, что у
B1
B2
A1
11
A2
1
5
B4
4
ai
2
80
80
70
4
60
9
A3
bj
B3
8
60
9
7
10
40
140
70
5
180
10
90
170
150
400
поставщика A2 осталось 40
единиц груза, а потребности
В3 равны 180 , поэтому вписываем в клетку A2 B3 перевозку 40 (см. таблицу 3.8).
Из оставшихся двух
Таблица 3.9
клеток A3 B3 и A3 B4 мини-
мальный тариф 7 имеет клетка A3 B3 . Поэтому вписываем туда перевозку
49
140 и в клетку A3 B4 – 10 , получаем окончательную таблицу 3.9 транс0 80 
0 0


портной задачи с начальным опорным планом X   70 60 40 0  , а
 0 0 140 10 


суммарная
стоимость
перевозок
равна
z ( X )  80  2  70  1  60  4  40  5  140  7  10 10  1750  2970.
Таким образом, начальный план, построенный с помощью метода
минимального тарифа, оказался гораздо эффективнее, чем план, построенный по методу северо-западного угла.
Пример 3. Применим теперь к исходной задаче метод аппроксимации Фогеля. Для этого найдем разность между двумя минимальными тарифами для каждой строки и столбца таблицы и запишем их в дополнительно образованные строки и столбцы В строке A1 минимальный тариф
равен 2, а следующий за ним 4, поэтому разность между ними 4  2  2 ; в
B1
B2
A1
11
A2
1
Разности
по
столбцам
5
B4
4
ai
2
80
70
4
60
5
9
7
10
40
9
A3
bj
B3
8
140
70
60
180
90
8
1
1
7
–
1
1
7
–
4
2
1
–
–
2
1
–
–
0
0
–
–
–
0
Разности по строкам
80
2
2
–
–
–
–
170
3
1
1
4
–
–
150
1
1
1
3
3
0
400
Таблица 3.10
строке A2 минимальный тариф равен 1, а следующий за ним 4, поэтому
разность между ними 4  1  3 ; аналогично, для строки A3 разность между
50
минимальным тарифом 7 и следующим за ним 8 равна 1. Итак, числа 2, 3
и 1 записываем в первый дополнительный столбец.
Аналогично для
столбцов разности 9  1  8 , 5  4  1 (два раза) и 9  2  7 записываем в
первую дополнительную строку. Теперь из всех разностей выбираем максимальную, т.е. 8 в столбце B1 , и в клетку A2 B1 с минимальным тарифом в
этом столбце записываем максимально возможную перевозку 70 , а потребителя В1 исключаем из рассмотрения. Теперь аналогично вычисляем
разности между оставшимися минимальными тарифами и заполняем вторые дополнительные столбец и строку, не учитывая тарифы в столбце B1 .
Видим, что теперь максимальная разность получается в столбце B4 и перевозку 80 записываем в клетку A1 B4 с минимальным тарифом 2 в этом
столбце. Строку A1 при этом исключаем из рассмотрения. Как видно из
таблицы, на следующем шаге вписываем перевозку 60 в клетку A2 B2 и исключаем столбец B2 , затем – максимально возможную перевозку 40 в
клетку A2 B3 и исключаем из рассмотрения строку A2 . Теперь для вычисления дальнейших разностей остается единственная строка A3 , поэтому в
качестве разностей по столбцам записываем нули. Далее, в клетку A3 B3
записываем 140, а на последнем шаге записываем перевозку 10 в клетку
A3 B4 .
Получаем
таблицу
с
начальным
опорным
планом
0 80 
0 0
X   70 60 40 0  , который уже был получен методом минимально 0 0 140 10 


го тарифа. Отметим, что методом Фогеля обычно получается план, близкий к оптимальному, или сам оптимальный план.
Замечание. В общем случае опорный план транспортной задачи
состоит из m  n  1 занятой клетки (по числу базисных переменных). Такой план называется невырожденным. Нередко при решении транспортной задачи возникает вырожденный план с меньшим числом занятых
51
клеток (когда какие-то из базисных переменных равны 0 ). В этом случае
выбирается свободная клетка (или несколько свободных клеток – в зависимости от вырожденности плана) с наименьшим тарифом, которая в
дальнейшем формально считается занятой с нулевой перевозкой.
Задачи для самостоятельного решения
В транспортных задачах, указанных ниже, составить начальные
опорные планы методом северо-западного угла, методом минимального
тарифа и методом Фогеля.
A1
66.
B4
2
ai
160
A1
B1 B2
10 10
B3
4
B4
8
67.
ai
90
B1 B2
12 5
B3
8
B4
6
69.
ai
70
B1
5
71.
B2 B3 B4 ai
9 14 10 120
A2 20 15 20 20 140
A3 12 8 14 17 70
b j 80 90 70 90
73.
52
B1
4
B2
4
B3
8
B4
6
ai
80
A2 11 15 24 18 50
A3 11 22 15 14 180
b j 100 10 40 160
A1
A2 12 17 13 17 60
A3 10 18 10 14 140
b j 90 50 100 30
A1
72.
B3
9
A2 14 25 13 23 60
A3 12 13 6 12 140
b j 80 40 90 80
A1
70.
B2
6
A2 7 16 12 12 60
A3 6 15 8
3 180
b j 80 60 60 200
A1
68.
B1
8
B1
6
B2
10
B3
8
B4
8
A2 11 29 14 18
A3 11 26 16 25
b j 100 70 30 110
80
70
A1
B1 B2 B3
4 14 11
A2
A3
bj
3 17 1 10 130
9 16 11 18 120
50 70 30 130
A1
B1
14
B2
9
B3
12
B4
18
ai
160
B4
4
ai
30
ai
150
A2 12 15 19 16 70
A3 15 19 15 12 210
b j 140 50 100 140
§ 3. Метод потенциалов решения транспортной задачи
Вторым этапом решения транспортной задачи является проверка
построенного плана на оптимальность и его улучшение (если он не оптимален). Эту задачу мы будем решать с помощью метода потенциалов.
Применение метода потенциалов основано на следующей теореме
Теорема 2. Если опорный план X   xij  транспортной задачи является
оптимальным,
то
существуют
потенциалы
поставщиков
ui , i  1, , m и потребителей v j , j  1,, n , удовлетворяющие условиям:
ui  v j  cij при xij  0 ,
ui  v j  cij при xij  0 .
Равенства ui  v j  cij для занятых клеток образуют систему с m+n
неизвестными ui и v j , а число уравнений этой системы равно m  n  1 (по
числу занятых клеток невырожденного опорного плана). Так как число
неизвестных системы на единицу больше числа уравнений, то одну из неизвестных можно задать произвольно, а остальные найти из системы.
Неравенства ui  v j  cij для свободных клеток используются для
проверки оптимальности опорного решения. Введем числа
 ij  ui  v j  cij ,
которые называются оценками свободных клеток. Таким образом, согласно теореме, опорный план будет оптимален, если для всех свободных клеток таблицы оценки неположительные.
Проверим теперь оптимальность планов, построенных выше.
Пример 4. Сначала рассмотрим начальный опорный план, построенный методом минимального тарифа и методом Фогеля (см. таблицу
3.10). Образуем у таблицы по одному дополнительному столбцу и строке,
куда будем записывать потенциалы (таблица 3.11). Так как одну из неизвестных можно задать произвольно, то, как правило, будем выбирать
53
u1  0 . Далее, поскольку для первой строки определен потенциал u1 , находим потенциалы v j для ее занятых клеток по формуле v j  c1 j  u1 . В пер-
B1
B2
A1
11
A2
1
5
B4
4
2
80
70
4
60
5
9
7
10
40
9
A3
bj
B3
8
140
70
60
10
180
ai
ui
80
0
вой строке всего одна заня-
v4  2 . В столбце B4 , поми-
170
мо уже использованной, есть
150
еще
90
A1 B4 , поэтому
тая клетка
400
одна
A3 B4 ,
vj
занятая
а
так
с34  10 ,
Таблица 3.11
клетка
как
то
тариф
условие
u3  v4  c34  u3  2  10 дает u3  8 . Далее, переходя к клетке A3 B3 , получаем: u3  v3  c33  8  v3  7 и v3  1 , а из клетки A2 B3 следует, что
u2  v3  c23  u2  1  5 , т.е. u2  6 . Дальнейшие вычисления будем записывать более сокращенно:
A2 B1  u2  v1  c21  6  v1  1  v1  5 ;
A2 B2  u2  v2  c22  6  v2  4  v2  2 .
B1
A1
A2
A3
B2
11
-16
B3
5
-7
5
40
9
9
-1
8
7
140
-2
2
80
4
60
-6
4
-5
1
70
B4
10
10
bj
70
60
180
90
vj
-5
-2
-1
2
ai
ui
80
0
Все потенциалы найдены.
Теперь
находим
оценки для свободных
170
6
150
8
клеток
11  u1  v1  c11  16  0,
400
12  u1  v2  c12  7  0,
Таблица 3.12
13  u1  v3  c13  5  0,  24  u2  v4  c24  1  0,
 31  u3  v1  c31  6  0,
54
 32  u3  v2  c32  2  0.
Результат записываем в таблицу 3.12 (где в свободных клетках в квадратике записаны оценки). Все оценки отрицательны, поэтому план
0 80 
0 0

X    70 60 40 0  оптимален и zmin  z ( X  )  1750.
 0 0 140 10 


Пример 5. Теперь проверим на оптимальность план перевозок, полученный методом северо-западного угла (см. таблицу 3.5). Ясно, что в
силу большей суммарной стоимости перевозок план не оптимален, но вычисление потенциалов и оценок необходимо для того, чтобы этот начальный опорный план улучшить. Полагаем, что u1  0 , а далее находим последовательно
A1 B1  u1  v1  c11  0  v1  11  v1  11 ,
A1 B2  u1  v2  c12  0  v2  5  v2  5,
A2 B1  u2  v2  c22  u2  5  4  u2  1,
A2 B3  u2  v3  c23  1  v3  5  v3  6,
A3 B3  u3  v3  c33  u3  6  7  u3  1,
A3 B4  u3  v4  c34  1  v4  10  v4  9.
Получаем также оценки для свободных клеток
B1
A1
A2
A3
B2
11
70
B3
5
10
5
120
9
8
9
-1
7
60
-2
2
7
4
50
3
4
2
1
9
B4
10
70
60
180
90
vj
11
5
6
9
ui
80
0
170
-1
150
90
bj
ai
400
Таблица 3.13
1
13  u1  v3  c13  2  0 ,
14  u1  v4  c14  7  0,
 21  u2  v1  c21  9  0,
 24  u2  v4  c24  1  0,
 31  u3  v1  c31  3  0,
 32  u3  v2  c32  2  0.
Все результаты записываем в таблицу 3.13.
55
Как видим, среди оценок есть положительные, поэтому опорный план
0
 70 10 0

X   0 50 120 0  не оптимален.
 0 0 60 90 


Чтобы улучшить допустимое решение X транспортной задачи,
нам потребуется понятие цикла. Напомним, что циклом называется последовательность клеток таблицы транспортной задачи, в которой две и
только две соседние клетки расположены в одной строке или столбце.
Цикл обычно изображают в виде замкнутой ломаной линии, соединяющей вершины цикла, расположенные в клетках таблицы.
Для построения нового опорного плана в таблице выбираем свободную клетку с максимальной положительной оценкой (клетка A2 B1 ) и
формируем цикл, одной из вершин которого является выбранная клетка,
а остальные клетки занятые. Легко видеть, что это цикл, соединяющий
клетки A1 B1 , A1 B2 , A2 B2 и A2 B1 . Кроме этого, сопоставим каждой вершине цикла знак и перевозку, при этом свободной клетке сопоставляем
знак «  », а для остальных клеток знаки чередуются. Получим следующий цикл:
70
–
+
+
–
10
50
Теперь сделаем перестановку по циклу, а именно: из всех вершин, отмеченных минусом, вычтем минимум из всех перевозок, означенных этим
знаком, т.е. вычитаем   min(50,70)  50 , а ко всем вершинам с «  »
прибавим  .
Замечание. Если при нахождении  плана минимум достигается в
нескольких клетках, помеченным знаком «–», то одна из клеток становится свободной, а остальные считаются занятыми с нулевыми перевозками, так чтобы число занятых клеток оставалось равным m  n  1.
56
Получим
20
–
+
+
–
60
50
При этом клетка A2 B2 становится свободной, и мы получаем новый опорный
план
(таблица
3.14)
и
общая
стоимость
перевозок
z ( X )  20 11  60  5  50  1  120  5  60  7  90  10  2490  2940.
B1
A1
A2
A3
B2
11
20
B3
5
60
4
2
16
5
9
120
-9
9
-6
4
11
1
50
B4
8
-1
7
10
60
-11
90
bj
70
60
180
90
vj
11
5
15
18
ai
ui
80
0
170
-10
150
равна
Получен-
ный план лучше начального, и оценим его оптимальность с помощью
-8
400
метода
потенциалов.
Имеем
u1  0

v1  11, v2  5 ; v1  11 
u2  10  v3  15 
Таблица 3.14
u2  10  v3  15  u3  8  v4  18 . Находим также оценки для свободных
клеток
13  11  0 ,
14  16  0,
 22  9  0,
 24  1  0,
 31  6  0,  32  11  0 (результаты всех вычислений уже занесены в
таблицу 3.14). Так как есть положительные оценки, план не оптимален.
Снова выбираем свободную клетку с максимальной положительной оценкой (клетка A1 B4 ) и формируем цикл с вершиной в этой клетке.
Таковым является цикл, соединяющий клетки
A1 B4 , A3 B4 , A3 B3 , A2 B3 ,
A2 B1 и A1 B1 :
20
–
50
–
–
+
+
–
120
+
60
–
90
Вычисляем   min 20,120,90  20 и из вершин, помеченных «–», вычтем   20 , а к клеткам, помеченных плюсом, прибавим 20 . Получим
цикл
57
–
+
20
+
–
70
100
+
–
70
80
и клетка A1 B4 становится свободной. Имеем новый опорный план (таблица 3.15) и общая стоимость перевозок равна F ( X )  2170  2490.
Оценим оптимальность полученного плана. Полагаем
u1  0 
v2  5, v4  2 ; v4  2  u3  8  v3  1  u2  6  v1  5 . Оценками
для свободных клеток являются 11  16  0 , 13  5  0,  22  7  0,
B1
A1
A2
A3
B2
11
B3
5
60
-16
5
100
9
8
9
-1
7
80
2
2
20
4
7
-6
4
-5
1
70
B4
10
70
ai
ui
 24  1  0,  31  6  0,
80
0
 32  2  0
170
6
всех вычислений занесе-
150
8
(результаты
ны в таблицу 3.15). Так
как план опять не опти-
bj
70
60
180
90
vj
-5
5
-1
2
400
мален, то снова выбираем свободную клетку с
Таблица 3.15
максимальной положительной оценкой (клетка A2 B2 ) и формируем цикл с
вершиной в этой клетке. Таковым является цикл, соединяющий клетки
A2 B2 , A1 B2 , A1 B4 , A3 B4 , A3 B3 и A2 B3 :
60
20
–
+
+
–
100
+
80
–
70
Вычисляем   min 60,70,100  60 и сделаем перестановку по циклу с
  60 . Получим
58
80
–
+
+
–
60
40
+
–
140
10
и клетка A1 B2 становится свободной. Имеем новый опорный план (таблица
3.16),
B1
A1
11
A2
1
этом
B2
B3
5
общая
B4
4
2
80
70
4
60
9
A3
bj
при
5
8
7
60
10
180
90
равна
z ( X )  1750  2170. Заметим,
80
что
150
10
перевозок
ai
170
40
140
70
9
стоимость
400
Таблица 3.16
план
0 80 
0 0

X    70 60 40 0  был
 0 0 140 10 


получен ранее методом минимального тарифа и мето-
дом Фогеля, а его оптимальность была уже проверена.
Рассмотрим еще один пример.
Пример 6. Изменим в исходной задаче тарифы и перевозки и найдем оптимальный план в транспортной задаче, заданной таблицей 3.17.
B1
B2
B3
B4
ai
A1
11
5
4
2
A2
5
4
5
9
A3
9
8
7
10
bj
50
50
200
100
Методом минимального тарифа
строим
начальный
опорный план. Клеткой с ми200
нимальным тарифом являет100
100
400
Таблица 3.17
ся A1 B4 , поэтому записываем
в нее перевозку 100 и исключаем
из
рассмотрения
первую строку и последний столбец. Далее, в клетку A2 B2 с тарифом 4
записываем перевозку 50 и исключаем из рассмотрения столбец
B2 . С
тарифом 5 имеется две свободные клетки, поэтому выбираем одну из них
– A2 B3 и записываем в нее перевозку 150 (такой выбор вполне оправдан,
59
так как в клетку A2 B1 можно записать лишь 50 ) и т.д. Получаем следующий план перевозок (см. таблицу 3.18),
причем общая стоимость перево-
зок z ( X )  100  2  50  4  150  5  50  9  50  7  1950. Заметим, что в опорном плане имеется всего пять занятых клеток, что меньше числа базисных
B1
11
A1
B4
5
4
5
4
50
9
2
50
bj
5
9
7
10
строенный план является вы200
50
200
рожденным. Согласно заме-
100
чанию в конце § 2, выбираем
400
свободную клетку с мини-
50
50
m  n  1  6 ). Поэтому по-
100
150
8
переменных (которых ровно
ai
100
A2
A3
B2
100
Таблица 3.18
мальным
тарифом
(клетка
A1 B3 ), записываем в нее нулевую перевозку и считаем занятой. Вычисляем
B1
A1
A2
A3
B2
11
-5
B3
5
-2
2
100
4
50
5
9
150
9
50
4
0
5
2
B4
8
-6
7
10
50
-2
-5
bj
50
50
200
100
vj
6
3
4
2
ai
ui
100
0
потенциалы и оценки
(результаты
ний занесены в табли200
1
100
3
400
цу 3.19). В клетке A2 B1
имеем положительную
оценку и строим цикл,
соединяющий
Таблица 3.19
A2 B1 ,
A2 B3 ,
A3 B1 :
150
50
+
–
–
+
50
Имеем, что   min(50,150)  50 , делаем перестановку по циклу
50
вычисле-
+
–
–
+
100
100
60
клетки
A3 B3
и
B1
A1
A2
A3
B2
11
-7
B3
5
5
5
100
9
8
9
-6
7
100
-2
2
100
4
50
-2
4
0
-2
50
B4
10
-5
bj
50
50
200
100
vj
4
3
4
2
ai
ui
100
0
При
ную таблицу 3.20. Вычисляем потенциалы и
200
1
100
3
этом
оценки, находим, что,
все оценки отрицательны
400
Таблица 3.20
оптимален.
и получаем транспорт-
общая
и
план
0 100 
0 0
X    50 50 100 0 
 0 0 100 0 


стоимость
перевозок
z ( X )  100  2  50  5  50  4  100  5  100  7  1850  1950 .
Замечание. В случае вырожденного плана возможна ситуация, когда занятая клетка с нулевой перевозкой попала в цикл и соответствует
знаку “–“ (при этом   0 ). Перестановка по циклу в данном случае сводится к тому, свободная клетка объявляется занятой с нулевой перевозкой, и наоборот, занятая клетка с нулевой перевозкой становится свободной.
Сформулируем теперь алгоритм решения транспортной задачи с
правильным балансом методом потенциалов.
1. Построим начальное опорное решение X .
2. Найдем потенциалы ui и v j , соответствующих данному опорному
решению, решая систему уравнений ui  v j  cij для занятых клеток.
3.
Вычислим
оценки для
свободных
клеток по формулам
 ij  ui  v j  cij . Если  ij  0 для всех свободных клеток, то полученное
решение X *  X является оптимальным. Вычислим значение целевой
функции F ( X * ) , и решение задачи на этом заканчивается.
3. Если имеется хотя бы одна свободная клетка с положительной
оценкой, то опорное решение не является оптимальным. Для улучшения
61
плана перевозок находим клетку таблицы, которой соответствует наибольшая положительная оценка и строим цикл, включающий данную
(свободную) клетку и занятые клетки. В вершинах цикла расставим поочередно знаки «+» и «», начиная с «+» в клетке с наибольшей положительной оценкой и делаем переход по циклу на величину, равную минимуму перевозок по всем клеткам, помеченным минусом. Получаем новый
опорный план и переходим к п. 2.
Задачи для самостоятельного решения
Решить методом потенциалов транспортные задачи
A1
74.
B3
9
B4
2
ai
160
A1
B1 B2
10 10
B3
4
B4
8
75.
ai
90
B1 B2
12 5
B3
8
B4
6
77.
ai
70
A2 12 17 13 17 60
A3 10 18 10 14 140
b j 90 50 100 30
79.
62
B1
4
B2
4
B3
8
B4
6
ai
80
A2 11 15 24 18 50
A3 11 22 15 14 180
b j 100 10 40 160
A1
A2 14 25 13 23 60
A3 12 13 6 12 140
b j 80 40 90 80
A1
78.
B2
6
A2 7 16 12 12 60
A3 6 15 8
3 180
b j 80 60 60 200
A1
76.
B1
8
B1
6
B2
10
B3
8
B4
8
A2 11 29 14 18
A3 11 26 16 25
b j 100 70 30 110
B4
18
ai
160
80
70
A1
B1 B2 B3
4 14 11
ai
30
A2
A3
bj
3 17 1 10 130
9 16 11 18 120
50 70 30 130
A1
80.
B1
5
B2 B3 B4 ai
9 14 10 120
A2 20 15 20 20 140
A3 12 8 14 17 70
b j 80 90 70 90
A1
81.
63
B1
14
B2
9
B3
12
B4
4
ai
150
A2 12 15 19 16 70
A3 15 19 15 12 210
b j 140 50 100 140
Глава 4. ВЫПУКЛЫЕ ФУНКЦИИ И
ТЕОРЕМА КУНА-ТАККЕРА
§ 1. Выпуклые множества
и выпуклые функции
Целью данного параграфа является изучение выпуклых функций в
пространстве R n .
Напомним, что множество M  R n называется выпуклым, если для
любых двух точек A  M и B  M отрезок AB целиком принадлежит M ,
т.е. для любых точек A, B  M , t  0,1 точка 1  t  A  tB  M .
Если найдется пара точек множества M , для которых это условие
не выполняется, то множество выпуклым не является.
Напомним одно из основных свойств выпуклых множеств, которое
потребуется в дальнейшем.
Теорема 1. Пересечение любого конечного числа выпуклых множеств является выпуклым множеством.
Пусть теперь точка X   x1 , x2 ,, xn  принадлежит выпуклому
множеству M , а функция f  X   f  x1 , x2 ,, xn  определена на M .
Определение 1. Функция f называется выпуклой на множестве
M  R n , если для любых точек A, B  M , t  0,1 имеет место неравенство f  1  t  A  tB   1  t  f  A   tf  B  .
64
Если для любых точек A, B  M , t   0,1 имеет место строгое неравенство f  1  t  A  tB   1  t  f  A   tf  B  , то функция f называется
строго выпуклой на множестве M  R n .
Если же для любых A, B  M , t  0,1 имеет место обратное неравенство
f  1  t  A  tB   1  t  f  A   tf  B  ,
то функция f  X  называется вогнутой (а в случае строгого неравенства –
строго вогнутой).
Замечание. Отметим, что функция y  f  X  является выпуклой
тогда и только тогда, когда функция y   f  X  – вогнутая.
Пример 1. Рассмотрим линейную функцию
l  X   c1 x1  c2 x2    cn xn  c0
в пространстве R n . Тогда для любых его точек
числа
t   0,1
в
силу
линейности
A , B и произвольного
lX 
получаем
l  1  t  A  tB   1  t  l  A  tl  B  . Поэтому линейная функция l  X  является одновременно выпуклой и вогнутой в R n .
Сформулируем критерий выпуклости (вогнутости) функции нескольких переменных.
Теорема 2 (необходимое и достаточное условие выпуклости). Для
того, чтобы функция y  f  X  была выпуклой (строго выпуклой, вогнутой, строго вогнутой) на выпуклом множестве M , необходимо и достаточно, чтобы для любых двух точек A, B  M функция одной переменной   t   f  1  t  A  tB  была выпуклой (строго выпуклой, вогнутой,
строго вогнутой).
65
Приведем несколько результатов, которые используются для исследования функций нескольких переменных на выпуклость.
Теорема 3. Если M  R n – выпуклое множество, функция y  f  X 
– выпуклая (вогнутая) на M , а   t  – возрастающая выпуклая (вогнутая)
функция
на
множестве
значений
y  f  X ,
то
функция
g  X     f  X   является выпуклой (вогнутой) на M .
Доказательство. Пусть функция y  f  X  выпукла на M , а   t  –
возрастающая выпуклая функция на множестве значений y  f  X  . Тогда
для A, B  M , t  0,1 в силу возрастания   t  имеем
  f  1  t  A  tB      1  t  f  A   tf  B   ,
откуда


g  1  t  A  tB    f  1  t  A  tB     1  t  f  A  tf  B   
 1  t   f  A    t  f  B    1  t  g  A   tg  B  .
Таким образом, функция y  g  X  выпукла. Теорема доказана.
Пример 2. Рассмотрим функцию g  X   e x1 x2  xn в пространстве
R n . Заметим, что линейная функция f  X   x1  x2    xn выпуклая, а
функция одной переменной   t   et является выпуклой и возрастающей
для t  R (действительно,    t      t   et  0 ). Поэтому по теореме 3
функция g  X   e x1 x2  xn является выпуклой.
Теорема 4. Сумма любого конечного числа выпуклых (вогнутых)
функций на выпуклом множестве M  R n является выпуклой (вогнутой)
функцией на M . Если хотя бы одна из суммируемых функций является
66
строго выпуклой (строго вогнутой), то и вся сумма будет строго выпуклой (строго вогнутой) функцией на M .
Доказательство. Ограничимся случаем двух (выпуклых) функций
f  X  и g  X  на M . Для каждой из них выполнено условие выпуклости:
для A, B  M , t  0,1
f  1  t  A  tB   1  t  f  A   tf  B  ,
g  1  t  A  tB   1  t  g  A   tg  B  .
Если h  X   f  X   g  X  , то, суммируя оба неравенства, получим
h  1  t  A  tB   1  t  h  A  th  B  , т.е. функция h  X  – выпукла. Если
одна из функций строго выпукла, то при суммировании получим строгое
неравенство, т.е. сумма будет строго выпуклой функцией. Теорема доказана.
Предположим теперь, что функция y  f  X  имеет непрерывные
частные производные 2-ого порядка на выпуклом множестве M  R n .
Определение 2. Матрицей Гессе функции y  f  X  называется
матрица
 2 f

2

x
1

 2 f

H  f    x2x1
 

 2 f
 x x
 n 1
2 f
x1x2
2 f
x22

2 f
xnx2
2 f 


x1xn 
2 f 


  2 f
X  ,
x2xn   

 x x

i
j






2 f 
xn2 
составленная из вторых частных производных функции y  f  X  . Определитель матрицы Гессе называется гессианом.
67
Замечание. Отметим, что в силу условия непрерывности частных производных 2-ого порядка матрица H является симметричной. Поэтому элементы матрицы Гессе, зависящие от точки X  M , можно
рассматривать как коэффициенты квадратичной формы − второго
n
дифференциала d 2 f   hij  X  dxi dx j функции y  f  X  .
i , j 1
Теорема 5 (достаточное условие выпуклости). Пусть M  R n –
выпуклое открытое множество, y  f  X  – функция, имеющая в M непрерывные частные производные 2-го порядка. Тогда
1.
Функция y  f  X  является строго выпуклой (строго вогну-
той) на M , если квадратичная форма d 2 f  X  положительно (отрицательно) определена.
2.
Функция y  f  X  является выпуклой (вогнутой) на M , если
квадратичная форма d 2 f  X  неотрицательно (неположительно) определена.
Обозначим
2
1 
2 f
x12
 f
, 2  2
x12
 f
x2x1
2 f
x1x2
2 f
x22
2 f
x12
2 f
,,  i  x2x1

2 f
x1x2

2 f
x1xi
2 f
x22
2 f

x2xi ,,  n  H .



2 f
2 f
2 f
xix1 xi x2
xi2
Тогда в силу критерия Сильвестра достаточное условие выпуклости для
строго выпуклых (вогнутых) функций можно переформулировать следующим образом.
Следствие 1. При выполнении условий теоремы 5 функция
y  f  X  является строго выпуклой в M , если в каждой точке области
68
 i  0, i  1,2, n. Функция y  f  X  является строго вогнутой в M , если в каждой точке области 1  0 ,  2  0 ,  3  0 , …, (1)n  n  0 , т.е.
i
 1 i  0, i  1,2, n.
Для функции двух переменных z  f  x, y  следствие можно сформулировать в следующей форме.
Следствие 2. Пусть M – выпуклое открытое множество на
плоскости  x, y  и z  f  x, y  имеет в M непрерывные частные производные 2-го порядка. Тогда функция z  f  x, y  является строго выпуклой
(вогнутой) на множестве M , если в каждой точке  x, y   M выполняются условия
1. f xx  x, y   0
2.  f  x, y  
 f   x, y   0  .
xx
f xx  x, y 
f xy  x, y 
f xy  x, y 
2
 f xx  x, y  f yy  x, y    f xy  x, y    0 .
f yy  x, y 
Пример 3. Рассмотрим функцию
f  x, y , z   2 x 2  4 xz  4 y 2  8 yz  9 z 2  4 x  8 y  20 z .
Эта функция дважды дифференцируема и ее частные производные
f x  4 x  4 z  4  0 ,
f xy  0 ,
f xz  4 ,
 4 0 4 
H   0 8 8 
 4 8 18 


f y  8 y  8 z  8 ,
f yy  8 ,
и
f yz  8 ,
f z  4 x  8 y  18 z  20 ,
f xx  4 ,
f zz  18 . Матрица Гессе равна
1  4  0 ,
2 
4 0
0 8
 32  0 ,
4
0
4
3  0
8
8  192  0 . Поэтому функция является строго выпуклой.
4 8 18
Пример 4. Рассмотрим теперь производственную функцию КоббаДугласа Q  K , L   aK  L1 (здесь a  0 , 0    1 ), выражающую объем
69
производства Q через объем используемого капитала K и затраты труда
L . Последовательно находим
   a  1    K  2 L1 ,
QK  a K  1L1  , QL  a 1    K  L  , QKK
  a  1    K  1 L  , QLL
   a  1    K  L  1 .
QKL
Заметим, что
 Q
H  Q    KK

 QKL
   a  1    K  2 L1
QKL

    a 1    K  1L 
QLL
a  1    K  1L  

a  1    K  L  1 
и 1   a 1    K  2 L1  0,  2  0 . Поэтому критерий Сильвестра не
дает ответа на вопрос о выпуклости исходной функции. С другой стороны,
 d 2 K  2QKL
 dKdL  QLL
 d 2 L легко преобравторой дифференциал d 2Q  QKK
зуется к виду
d 2Q   a 1    K  2 L  1  L2 d 2 K  2 KLdKdL  K 2 d 2 L  
2
  a  1    K  2 L  1  LdK  KdL  ,
т.е. является неположительно определенной квадратичной формой. Таким
образом, функция Кобба-Дугласа является вогнутой функцией.
Мы завершим этот параграф следующим утверждением, которое
будем использовать далее.
Теорема 6. Пусть M  R n – выпуклое открытое множество,
y  f X
– вогнутая функция на
M . Тогда множество точек
Db   X  M | f  X   b является выпуклым.
Доказательство. Пусть точки A, B  M , т.е. f  A   b, f  B   b.
Тогда для любой точки X  1  t  A  tB отрезка, соединяющего A и B , в
силу вогнутости y  f  X  имеем
70
f  X   f  1  t  A  tB   1  t  f  A  tf  B   1  t  b  tb  b .
Таким образом, f  X   b и X  Db , т.е. множество Db выпукло.
§ 2. Экстремумы выпуклых функций
Пусть функция y  f  X  определена на некотором множестве
M  R n . Тогда точка X 0 называется точкой локального условного максимума
(минимума)
функции
y  f  X ,
если
f  X   f  X0
(или
f  X   f  X 0  ) для всех точек X  M , достаточно близких к X 0 .
Далее, точка X 0 называется точкой глобального максимума (минимума) функции y  f  X  на множестве M  R n , если f  X   f  X 0 
( f  X   f  X 0  ) для всех точек X  M .
Точки локального условного и глобального максимума (минимума) функции y  f  X  мы будем называть точками локального и, соответственно, глобального экстремума функции y  f  X  на множестве
M  Rn .
Ясно, что точка глобального экстремума f  X  на множестве M
является одновременно и точкой локального экстремума на M . Обратное,
вообще говоря, не верно. Тем не менее, для выпуклых (вогнутых) функций на выпуклых множествах верна следующая теорема.
Теорема 1 (о глобальном характере экстремума выпуклой функции).
Если X 0 – точка локального минимума (максимума) выпуклой (вогнутой)
функции y  f ( X ) на выпуклом множестве M  R n , то X 0 – точка глобального экстремума функции f ( X ) на M , т.е. f  X 0  – наименьшее
(наибольшее) значение f ( X ) на M .
Доказательство. Предположим, что функция y  f ( X ) выпукла. Далее, пусть X 0
– точка локального минимума функции f ( X ) на M .
71
Предположим противное, т.е. существует точка
A  M , такая, что
f  A   f  X 0  . Любая точка X  A промежутка X 0 A представима в виде
X  1  t  X 0  tA, t   0,1 и
f  X   f  1  t  X 0  tA  1  t  f  X 0   tf  A  
= f  X 0   t  f  A  f  X 0   f  X 0  ,

0
так как t  0 . Заметим, что точка X может быть сколь угодно близкой к
X 0 , что противоречит тому, что X 0 – точка локального минимума функции f ( X ) . Теорема доказана.
Кроме этого, для строго выпуклых функций имеет место следующая теорема.
Теорема 2. Строго выпуклая (вогнутая) функция y  f ( X ) на выпуклом множестве M  R n имеет не более одной точки глобального экстремума на M .
Предположим теперь, что функция y  f  X  определена в некоторой окрестности точки X 0 и дифференцируема в X 0 . Тогда X 0 называется стационарной точкой функции y  f  X  , если grad f  X 0   0 . Для
нахождения точек глобального экстремума выпуклых функций на выпуклых множествах используется следующая
Теорема 3 (о достижении выпуклой функции глобального экстремума в стационарной точке). Пусть y  f ( X ) – выпуклая (вогнутая
функция) на выпуклом множестве M  R n и пусть grad f  X 0   0 в точке X 0  M . Тогда X 0 – точка глобального минимума (максимума) функции f ( X ) .
Пример 1. Рассмотрим функцию из примера 3 предыдущего параграфа f  x, y , z   2 x 2  4 xz  4 y 2  8 yz  9 z 2  4 x  8 y  20 z на множестве
M  R3 . Так как f x  4 x  4 z  4 , f y  8 y  8 z  8 , f z  4 x  8 y  18 z  20 ,
72
то стационарная точка X 0  1,1, 2  находится из системы уравнений
 4 x  4 z  4  0,

Поскольку функция f  x, y, z  является строго
8 y  8 z  8  0,
 4 x  8 y  18 z  20  0.

выпуклой в R 3 , то точка X 0  1,1, 2  является единственной (в силу теоремы 2) точкой глобального минимума (в силу теоремы 3) исходной
функции в R 3 .
Пример 2. Рассмотрим функцию f  ( x  3)2  ( y  3) 2 в выпуклой
многогранной области M  R 2 , заданной системой ограничений
 2 x  y  19,
 5 y  3 x  30,


5 x  4 y  15,
 x  0, y  0.
Так как f x  2( x  3) , f y  2( y  3) , то стационарной точкой функции
f  х, у 
является
точка
 3,3  M .
Заметим,
f xx  2 ,
что
2
 f  x, y   f xx  x, y  f yy  x, y    f xy  x, y    4  0 . Поэтому f  х, у  − строго
выпуклая
функция,
и
ее
глобальный
минимум
M
в
равен
f min  f  3,3  0 .
Задача допускает простую геометрическую интерпретацию: построим сначала на плоскости
 x, y 
вы-
y
пуклое множество, заданное систе-
l1
мой ограничений задачи. Изобразим
B
l1 : 2 x  y  19 ,
прямые
A
l2 : 3 x  5 y  30,
C
l2 O
l3
D
x
l3 : 5 x  4 y  15 .
Легко видеть, что нетривиальные ограничения
вместе
с
условиями
x  0, y  0 задают пятиугольник OABCD с угловыми точками O(0,0) ,
73
A  0,6  , B  5,9  , C  7,5 и D  3,0  . Далее, линиями уровня целевой функции f  х, у  являются концентрические окружности ( x  3)2  ( y  3) 2  C с
центром в точке  3,3 внутри многоугольника OABCD . Поэтому очевидно, что минимальное значение функции будет достигаться в этой точке,
когда окружность «стягивается» в точку при C  0 .
§3. Теорема Куна-Таккера
К сожалению, результаты предыдущего параграфа не дают способа нахождения глобального экстремума выпуклых (вогнутых) функций на
выпуклом множестве в случае отсутствия стационарных точек, когда экстремум функции достигается на границе области.
Общая задача о нахождении экстремумов функции y  f  X  на
множестве M  R n называется задачей математического программирования. Как и в теории линейного программирования, функция y  f  X  называется целевой функцией, а множество M  R n − допустимым множеством. Далее мы подробнее остановимся на случае, когда целевая функция выпукла (вогнута), а допустимое множество является выпуклым и задано системой ограничений
 g1  X  * b1 ,

 g 2  X  * b2 ,

,
g  X  *b ,
m
 m
где «*» обозначает «  », «  » или «=». Соответствующая задача
 z  f  x1 , x2 ,, xn   max (min)

 gi  x1 , x2 ,, xn  * bi , i  1,, m.
называется задачей выпуклого программирования.
Общие точные методы решения таких задач отсутствует, и часто для
их решения приходится пользоваться приближенными методами решения.
74
Замечание. Отметим, что даже для задач с линейными ограничениями (т.е. когда все функции gi  X  линейны) общие методы решения
разработаны лишь в случаях, когда целевая функция обладает определенными свойствами. Например, это возможно, когда
1. Функция y  f  X  сепарабельна, т.е. представима в виде сумn
мы функций одной переменной, т.е. f  X    f i  xi  .
i 1
2. Функция y  f  X  квадратична, т.е. может быть записана как
сумма линейной и квадратичной формы
f  X   X T BX  CX  c0 , где
C   c1 ,, cn  – n -вектор, B – n  n матрица. Соответствующая задача
называется задачей квадратичного программирования.
Основное отличие задач выпуклого программирования от линейных
задач оптимизации заключается в том, что оптимальное решение может
достигаться не только в угловых точках границы, но и в ее внутренних
точках.
Пример 1. Рассмотрим задачу поy
иска минимального и максимального зна-
l1
A
E
B
l2
m1
чения функции f  ( x  16)2  ( y  12) 2 в
K
области,
C
 2 x  y  19,
 5 y  3 x  30,

из примера 2 предыду
5
x

4
y

15,

 x  0, y  0,
O D
l
x
3
заданной
условиями
щего параграфа. Напомним, что допустимым множеством является пятиугольник OABCD с угловыми точками O(0,0) , A  0,6  , B  5,9  , C  7,5 и
D  3,0  . Ясно, что f x  2  x  16  , f y  2  y  12  . Поэтому стационарная
точка E 16,12  функции
f
лежит, очевидно, вне многоугольника
75
OABCD . Далее, линиями уровня целевой функции являются концентрические окружности ( x  16) 2  ( y  12) 2  C с центром в точке 16,12  . Поэтому минимальное значение функции f достигается в точке касания с отрезком BC окружности соответствующего радиуса, а максимальное значение – в точке O  0,0  .
Найдем точку касания K как точку пересечения прямой l1 и прямой m1 , перпендикулярной l1 и проходящей через точку E 16,12  . Так как
прямая l1 определяется уравнением 2 x  y  19 , то вектор нормали к ней,

равный n   2,1 , является направляющим вектором для прямой m1 . Таким
образом, каноническое и общее уравнения m1 имеют вид
x 16
2

y 12
1
и
x  2 y  8 соответственно. Точка пересечения K  l1  m1 находится как
 2 x  y  19,
решение системы 
 K  6,7  .
x

2
y


8.

Таким образом, решением
задачи
точка
на
минимум
является
X 0   6,7 
и
f min  f  X 0   f  6,7   (6  16)2  (7  12) 2  125 , а решением задачи на
максимум – f max  f  O   f  0,0   (0  16)2  (0  12)2  400.
Отметим, что оба оптимальных решения задачи достигаются на
границе области, причем одно из них – в ее угловой точке, а другое – во
внутренней точке граничного отрезка.
Предположим теперь, что в пространстве заданы m функций
g1  X  , g 2  X  ,, g m  X  , и множество M  R n задано системой ограничений
 g r  X   0, r  1,, k

 g r  X   0, r  k  1,, m.
*
Таким образом, первые k условий − условия типа неравенств, а оставшиеся − условия типа равенств.
76
Определение 1. Говорят, что система ограничений * удовлетворяет условию регулярности, если функции g1 , g 2 ,, g m являются вогнутыми, и существует точка X * M , такая, что все нелинейные функции среди g1 , g 2 ,, g m больше нуля в этой точке.
Условие регулярности системы ограничений задачи выпуклого программирования иногда называют условием Слейтера. Таким образом,
должна существовать точка X * M , являющаяся внутренней для всех
множеств, заданных условиями вида g r  X   0 для нелинейных функций
g r  X  , r  1,, m .
Заметим, что условие Слейтера означает, что каждая из входящих
в нее нелинейных функций отлична от нуля в некоторых точках M . С
другой стороны, среди ограничений, определяющих M , есть условия типа
равенств g r  X   0, r  k  1,, m .
Следствие 1. Функции g k 1  X  , g k 2  X  ,, g m  X  являются линейными.
Кроме этого, условие регулярности системы ограничений накладывает некоторые ограничения на структуру множества M .
Следствие 2. Множество M , заданное системой ограничений * ,
является выпуклым.
Доказательство. Отметим, что множество, определенное неравенством g r  X   0, r  1,, k , является выпуклым в силу теоремы 6 § 1. Далее, в силу линейности функций g r  X  , r  k  1,, m , множество, заданное уравнением g r  X   0, также является выпуклым. А так как система
*
задает пересечение этих множеств, то и множество M является вы-
пуклым.
Определим теперь функцию Лагранжа
77
m
L  X ,    f  X    i g i  X  ,
i 1
где    1 , 2 , , m  , и сформулируем общую теорему о решении задачи
выпуклого программирования.
Теорема (Куна-Таккера). Пусть M  R n – выпуклое множество,
заданное регулярной системой ограничений * , функция y  f  X  – вогнутая, а функции f , g1 , g 2 ,, g m – дифференцируемы на M . Для того,
чтобы точка X 0  M являлась точкой глобального максимума функции
y  f  X  на M , необходимо и достаточно, чтобы существовал вектор
 0   10 , 20 , m0   R m , удовлетворяющий условиям
L xi  X 0 , 0   0 , i  1,, n ,
i0 gi  X 0   0 , i0  0 , i  1,, k .
Важность условия регулярности продемонстрируем на следующем
примере.
Пример 2. Рассмотрим задачу о нахождении максимума функции
f  x, y   x  y при условии g  x    x 2  y 2  0 . Ясно, что решением задачи является точка  0,0  и f max  0 . С другой стороны, условие регулярности не выполняется, так как для (нелинейной) функции g  x    x 2  y 2
множество  x 2  y 2  0 пусто. Функция Лагранжа L  x  y    x 2  y 2  и
 Lx  1  2 x  0,
 
 L y  1  2 y  0.
Ясно, что для оптимального решения задачи
ствует такого  , что
1  2 x  0,

1  2 y  0,
78
 x, y    0,0 
не суще-
и условия теоремы не выполняются. Данный пример показывает, что условие Слейтера является существенным в формулировке теоремы.
Перейдем теперь к рассмотрению примеров применения теоремы к
задачам оптимизации.
Пример 3. Рассмотрим задачу из примера 1 и проверим, что точка
X 0   6,7  удовлетворяет условиям теоремы Куна-Таккера. Перепишем
систему ограничений в виде
 2 x  y  19  0,
3 x  5 y  30  0,

 5 x  4 y  15  0,
 x  0,

 y  0.
и
составим
функцию
Лагранжа
для
вогнутой
функции
f  ( x  16)2  ( y  12)2
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.
Теперь мы можем записать условия теоремы в виде системы:
 Lx  2( x  16)  21  32  53  4  0,
 
 L y  2( y  12)  1  52  43  5  0,
1 (2 x  y  19)  0,

2  3 x  5 y  30   0,

3  5 x  4 y  15   0,
4 x  0, 5 y  0,

i  0, i  1,,5.
79
Подставляя x  6, y  7 , немедленно убеждаемся, что 2  3  4  5  0 ,
 20  21  0,
и система сводится к условиям 
откуда имеем, что 1  10  0,
10



0,

1
т.е. для точки X 0   6,7  условия теоремы выполнены.
Пример 4. Решите задачу выпуклого программирования
f  2 x  2 y  z  max
 x 2  y 2  z 2  9,

 x  y  z  3.
Решение. Перепишем условие задачи в форме, необходимой для
применения теоремы. Получим
f  2 x  2 y  z  max
9  x 2  y 2  z 2  0,

 x  y  z  3  0.
Функция Лагранжа имеет вид
L ( X ,  )  2 x  2 y  z  1  9  x 2  y 2  z 2   2  x  y  z  3 ,
а условия теоремы Куна-Таккера записываются в виде
 Lx  2  21 x  2  0,
 L   2  2 y    0,
1
2
 y

 Lz  1  21 z  2  0
 (9  x 2  y 2  z 2 )  0,   0.
 1
1
Если 1  0 , то из первого и третьего уравнений получаем противоречивые
 2  2  0,
условия 
Поэтому 1  0 , и находим из первых трех уравнений
 1  2  0.
x
2  2
 2
 1
,y 2
,z  2
.
21
21
21
80
Подставляя эти выражения в условие связи x  y  z  3  0 , получаем, что
2  21  1 и
x
21  1
2  1
2  2
,y  1 ,z  1
. Поскольку
21
21
21
1  0 , то
9  x 2  y 2  z 2  0 . Подставляя в последнее равенство полученные выражения для x, y , z , получим 1   1 . Так как 1  0 , то 1  1 , 2  0 и
2
2
x  2, y  2, z  1. Согласно теореме Куна-Таккера, f max  f  2,2, 1  9
Пример 5. Найдите объемы ресурсов K и L , при которых затраты
на производство не менее 80 единиц продукции минимальны, если производственная функция Кобба–Дугласа Q  K , L   K
3
4
1
L 4 , а цены на ресур-
сы pK  6 , pL  2 .
Решение.
Поскольку
целевая
функция
имеет
вид
f  K , L   pK K  pL L , то имеем задачу
 f  6 K  2 L  min,

3
1
K 4 L 4  80,

 K  0, L  0.

Заметим, что функция f  K , L  линейна, т.е. выпукла и вогнута одновременно. Далее, функция Кобба-Дугласа является вогнутой и условие регулярности, очевидно, выполнено (достаточно проверить точку  81,81 ). Теперь для применения теоремы Куна–Таккера достаточно записать постановку задачи в виде
 f  6 K  2 L  max,

3
1
 K 4 L 4  80  0,

K  0, L  0.

Составим функцию Лагранжа
81

L  6 K  2 L  1 K
3
4
1

L 4  80  2 K  3 L.
Тогда условия теоремы Куна–Таккера записываются следующим образом:
1
3
1
LK  6  1K 4 L 4  2  0,
4
3
1
3
LL  2  1 K 4 L 4  3  0,
4

1 K
3
4

1
L 4  80  0, 2 K  0, 3 L  0,
1  0, 2  0, 3  0.
В силу условия K
3
4
1
L 4  80  0 получаем, что K  0 , L  0 и, следова-
тельно 2  3  0 . Подставляя 2  0 в первое уравнение, имеем 1  0 .
Таким образом, мы приходим к следующей системе:
1
1
3
4
4

K
L
 6,
4 1

3
3
 1
 1 K 4 L 4  2,
 4
 K 3 4 L1 4  80

  8 K 1 4 L 1 4 ,
 1
8 K 14 L 1 4  8 K 3 4 L3 4 ,
3
3


  1  8 K 4 L 4 ,  
3
1
4
4


3
K
L
 80.
1
4
4
 K L  80.

Из последней системы заключаем, что K  L  80 , причем 1  8  0 . Таким образом, все условия Куна-Таккера выполнены и K  L  80 – производственный
план
с
минимальными
издержками,
причем
f min  f  80,80   640 .
Задачи для самостоятельного решения
Для задач 82-84 найти оптимальное решение графическим методом и для полученного решения проверить выполнение условий теоремы Куна-Таккера;
 2 x  7 y  74,

2
2
82. f  ( x  15)  ( y  29)  min при x  0, y  0 и 2 y  x  18,
 2x  5y  2

82
 x  y  17,

83. f  ( x  32)  ( y  33)  min при x  0, y  0 и  y  6 x  3,
 3 x  10 y  12

2
2
 2 x  3 y  34,

84. f  ( x  24)  ( y  30)  min при x  0, y  0 и  y  2 x  6,
 x  5y  4

2
2
85. Найдите объемы ресурсов K и L , при которых затраты на производст-
во не менее 140 единиц продукции минимальны, если производственная
функция Кобба–Дугласа Q  K , L   K
pL  3 .
83
2
3
1
L 3 , а цены на ресурсы pK  12 ,
Ответы
 f  x3  6 x4  max
7 x  9 x  6,

4
4.  3
5.
5
x

6
x


3,
3
4

 x3  0, x4  0.
 f  27 x3  17 x4  30  min
6 x  5 x  7,

3
4
6.


9
x

6
x

10,
3
4

 x3  0, x4  0.
 f  28 x3  45 x4  42  max
7 x  11x  10
 3
4


8
x

13
x4  12
3

 x3  0, x4  0.
7. f max  f  5,10   50 , f min  f  4,1  19 . 8. f max  f  3,8   7 , f min  f  8,3  18 .
9. f max  f  3,3   21 , f min  f  5,13  59 . 10. f max  f 10,1  7 , f min  f 12,10   18 .
11. f max  f  7, 9   22 , f min  f  6, 2   4 . 12. f max  f 11,8   57 , f min   .
13. f max   , fmin  f  0,1,3,0,7   2 . 14. f max  f (3, 0,1, 0)  27 , f min  f  2,1, 0, 0   25 .
15. f max  f (2, 0,8,0,1)  5, f min  f (4,3, 0,5, 0)  4 .
16. f max  f  0, 9, 0,12   40 , f min  f ( X * )  16 , где X *  (6  2t , t ,3  3t , 0), t  0,1 .
17. f max  f  X *   13 , где X *  (6  3t , 4  t , 0,5t ), t  0 , f min   .
18. f max  f (8,13,0, 0, 65)  8 , f min  f 11,8, 65, 0, 0   187 . 19. zmax  z (0, 4, 2, 0,1)  17.
20. zmin  z  2, 6,33, 0, 0   33 . 21. zmin  z  2,5, 0, 0,17   36 . 22. zmax  z (6, 7,3, 0)  29.
23. zmin  z (0, 0,15 / 4,13 / 2)  13 34 .
24. zmax  z ( X * )  12 , где X *   32t , 2  2t , 0, 4  4t ), t  0,1 .
25. zmin  z 1, 0, 0, 4   4 .
26. zmax  z  0,1,1,1, 0   19 . 27. zmax  z ( X * )  2 , где X *   33t , 33t ,1  t ,1  t , 0 ), t   0,1 .
28. zmin  z  0, 0,12,1, 3  34 . 29. zmax  z 1, 0,3, 0,3   40 . 30. zmin  z  0, 0, 2,18,3  2 .
31. zmax  z  2,1, 0,5, 0   36 . 36. zmin  z  2,1, 0   156 . 37. zmin  z  3, 2, 0   11 .
38. zmin  z  0,3, 0   324 . 39. zmin  z 1,1, 0   34 . 40. zmin  z  3,1, 0   67 .
41. zmin  z  3,2,0  82 . 42. zmax  z  0, 0, 7,0,1  T (3, 72 )  29 .
43. zmax  z  0,0,7,2,0  T  1,2  13 . 44. zmax  z  0, 7, 0,10, 0   T (2,1)  26 .
45. zmax  z  0, 3, 0, 0, 4   T (1, 65 )  33 . 46. zmax  z 10, 0, 2, 0, 0   T (11,10)  650 .
47. zmax  z  0, 24,0,3, 0   T (13, 985 )  335 . 48. zmax  z  3,5   47 . 49. zmin  z  5, 0   17 .
50. zmin  z  0,19   23 . 51. zmin  z  2, 6   40 . 52. zmax  z  2, 2, 0,1, 4   7 .
53. zmax  z  0,1, 2,14   50 . 54. zmax  z 1, 0, 0,3,1  11 . 55. zmax  z 1,1, 0,1, 0   9 .
56. zmax  z  0, 4, 0, 2,1  16 . 57. zmax  z  3, 2,1, 0, 0   32 . 58. zmax  z  0, 0, 0, 2,3  21 .
59. zmax  z 17 / 6, 0,5 / 6, 0,1  5 / 2 . 60. zmax  z  3, 4   26 . 61. zmax  z  5, 7   51 .
84
62. zmax  z 1,1  13 . 63. zmax  z 1,1  12 . 64. zmax  z  2, 2   29 . 65. zmax  z 1, 2   3 .
 0 60 0 100 
0



*
*
74. X   60 0 0
0  , z  X   1880 . 75. X   50
 20 0 60 100 
 50



 0 10 0 80 
0


*
*
*
76. X   60 0 0 0  , z  X   2750 . 77. X   30
 20 30 90 0 
 70



 0 50 0 20 
 30



*
*
*
78. X   60 0
0
0  , z  X   2530 . 79. X   0
 30 0 100 10 
 20



 80 0 0 40 
0


*
*
*
80. X   0 20 70 50  , z  X   4060 . 81. X   70
 0 70 0 0 
 70



*
82. f min  z  9,8   477 . 83. f min  z  8,9   1152 . 84. f min
85. f min  f  560, 70   6930.
85
10
0
70 

0 0 0  , z  X *   3420 .
0 40 90 
70 0 90 

0 30 20  , z  X *   3300 .
0 0 0 
0 0
0 

0 30 100  , z  X *   2990 .
70 0 30 
50 0 100 

0
0
0  , z  X *   4720 .
0 100 40 
 z  8, 6   832 .
Рекомендуемая литература
а) основная
1. А.С. Солодовников, В.А. Бабайцев, А.В. Браилов, И.Г. Шандра.
Математика в экономике: Учебник для вузов, Ч. 1, 2. — М.: Финансы и
статистика, 2003.
2. В.А. Бабайцев, А.В. Браилов, В.Б. Гисин, С.А. Посашков, С.Л. Семаков, И.Г. Шандра. Сборник задач по курсу математики. — М.: Финансовая Академия, 2001.
3. А.В. Браилов, М.Г. Орлова, Ю.Н. Швецов. Математика в экономике: Руководство к решению задач. Аналитическая геометрия. Линейное
программирование. Ч. 2. — М.: Финансовая Академия, 1998.
4. И.А. Винюков, В.Ю. Попов, С.В. Пчелинцев. Линейная алгебра.
Часть 4. Линейное программирование. Учебное пособие для подготовки
бакалавров. – М.: Финансовая академия, 2009.
5. П.В. Ягодовский. Математический анализ. Часть 4. Функции нескольких переменных. Учебное пособие для подготовки бакалавров. – М.:
Финансовая академия, 2009.
6. С.Р. Свирщевский. Вопросы и задачи по математическому анализу.
— М.: Финансовая Академия, 2007.
7. А.С. Солодовников. Задача квадратичного программирования.
Учебное пособие. — М.: Финансовая Академия, 2004.
8. В.М. Гончаренко, В.Ю. Попов. Экономические приложения линейного программирования. Учебное пособие. — М.: Финансовая Академия, 2003.
б) дополнительная
1. У.И. Зангвилл. Нелинейное программирование. — М.: Советское
радио, 1973.
86
Скачать