
- •Содержание
- •Введение
- •Лекция 1. Вводные понятия математического программирования
- •Лекция 2. Геометрическая интерпретация решения задач линейного программирования
- •Лекция 3. Практическая реализация графического метода решения задач линейного программирования
- •Лекция 4. Теоретическое обоснование симплекс- метода
- •Лекция 5. Симплекс-метод решения задач линейной оптимизации
- •Лекция 7. Экономико-математический анализ решения задач линейного программирования
- •Лекция 9. Транспортная задача
- •Лекция 10. Нахождение оптимального решения транспортной задачи
- •1. Для решения транспортной задачи удобно использовать метод потенциалов.
- •Лекция 12. Метод множителей лагранжа
- •Заключение
- •Приложение а. Инвестиционные задачи и нелинейное программирование
- •Лекция 14. Оптимальный портфель ценных бумаг
- •Лекция 15. Практические способы формирования оптимальных фондовых портфелей
- •Приложение б. Теория игр и задачи линейного про- граммирования Лекция 16. Экономические риски и теория игр
- •Литература
Лекция 4. Теоретическое обоснование симплекс- метода
План
1. Приведение задач ЛП к каноническому виду.
2. Различные формы задачи ЛП.
3. Общие сведения о симплексном методе решения задач ЛП.
1. Из геометрической интерпретации задачи линейной оптимизации видно, что максимум или минимум целевой функции достигается в угловой точке выпук- лого многогранника – ОДР. Поэтому в основу симплекс-метода положена идея рассмотрения и испытания на оптимальность только угловых точек – вершин многогранника. Сформулируем теоретические факты, на которых базируется симплекс-метод.
Для решения задач ЛП симплекс-методом необходимо, чтобы задача бы-
ла записана в каноническом виде.
Канонический вид задачи ЛП:
1) Z → min ;
2) Система ограничений содержит только равенства;
3) Правые части ограничений – неотрицательные числа;
4) Все переменные задачи – неотрицательные.
Пример 1. Задача ЛП удовлетворяет всем условиям канонического вида:
Z = −16x1 − x2 + x3 + 5x4 + 5x5 → min ,
⎨ 1
2
⎪−2x + 3x
+ x4
= 10
= 6
⎩ 1
2
− x5 = 8
x j ≥ 0 ( j = 1, 5 ).
Любая задача ЛП может быть приведена к каноническому виду.
Пример 2. Привести задачу ЛП к каноническому виду:
Z = −5x1 − 3x2 + 2x3 + 9 → max ,
⎧3x1 + x2 + x3 ≥ −7
⎪
⎩
1
⎪ x ≥ 6
x1 ≥ 0 ,
x3 ≥ 0 ,
x4 ≥ 0 .
Решение. Запишем задачу в более удобном виде:
Z = −5x1 − 3x2 + 2x3 + 9 → max ,
⎧3x1 + x2 + x3
⎪
≥ −7
x
⎪
⎩ 1
+ x4 = 1
≥ 6
x1 ≥ 0 ,
x3 ≥ 0 ,
x4 ≥ 0 .
Задача ЛП не удовлетворяет ни одному из условий 1)-4) канонического вида. Поменяем знак правой части первого ограничения на противоположный, выполняя условие 3):
Z = −5x1 − 3x2 + 2x3 + 9 → max ,
⎧−3x1 − x2 − x3 ≤ 7
⎪
x
⎪
⎩ 1
+ x4 = 1
≥ 6
x1 ≥ 0 ,
x3 ≥ 0 ,
x4 ≥ 0 .
Не выполняется условие 4) о каноническом виде, т.к. переменная
x2 мо-
жет быть числом произвольного знака. Любое действительное число может
быть представлено разностью неотрицательных чисел: 5 = 7 − 2 , 0 = 3 − 3 ,
−4 = 6 − 10 . Поэтому делаем замену x
= x / − x // , где
x / ≥ 0 и
x // ≥ 0 . Записы-
ваем задачу ЛП:
2 2 2 2 2
/ / //
Z = −5x1 − 3x2
+ 3x2
+ 2x3 + 9 → max ,
⎧−3x
− x / + x
// − x ≤ 7
1 2 2 3
⎪
2x + 3x
/ − 3x //
+ x = 1
⎨
⎪ x
⎪⎩ 1
1 2 2 4
≥ 6
x
2
x
2
/ ≥ 0 ,
// ≥ 0 ,
x3 ≥ 0 ,
x4 ≥ 0 .
Не выполняется условие 1). Делаем замену
// / //
Z // = −Z / :
Z = 5x1 + 3x2
− 3x2
− 2x3 − 9 → min ,
⎧−3x
− x / + x
// − x ≤ 7
1 2 2 3
⎪
2x + 3x
/ − 3x //
+ x = 1
⎨
⎪ x
⎪⎩ 1
1 2 2 4
≥ 6
x
2
x
2
/ ≥ 0 ,
// ≥ 0 ,
x3 ≥ 0 ,
x4 ≥ 0 .
Осталось выполнить только условие 2). Добавляем в первое и третье ог-
///
раничения балансовые переменные
x5 и
x6 . Новая целевая функция
Z будет
содержать эти переменные с коэффициентом 0.
Заметим, что начальная целевая функция Z не содержала переменную
x4 . Значит, эта переменная входит во все целевые функции данного примера с коэффициентом 0.
Записываем задачу ЛП в каноническом виде:
/// / //
Z = 5x1 + 3x2
− 3x2
− 2x3 + 0 ⋅ x4 + 0 ⋅ x5 + 0 ⋅ x6 − 9 → min ,
⎧−3x
− x / + x
// − x
+ x = 7
1 2 2 3 5
⎪
2x + 3x
/ − 3x // + x = 1
⎨
⎪ x
⎪⎩ 1
1 2 2 4
− x6 = 6
x
2
/ ≥ 0 ,
// ≥ 0 ,
x3 ≥ 0 ,
x4 ≥ 0 ,
x5 ≥ 0 ,
x6 ≥ 0 .
2. Пусть задача ЛП записана в каноническом виде:
x
+
a
x
+
⋅⋅⋅
+
a
x
=
b
,
2
⎪
⎪a21x1 22 2 2n n 2
⎨
⎪...............................................,
⎩⎪am1x1 + am2 x2 + ⋅ ⋅ ⋅ + amn xn = bm.
(2)
xj
≥
0
(
j
=1,
n)
. (3)
Рассмотрим матрицу-столбец переменных, матрицу-столбец свободных
членов, матрицу коэффициентов при неизвестных, матрицу-строку коэффици-
ентов целевой функции:
⎛ x1 ⎞
⎛ b1 ⎞
⎛ a11
a12
...
a1n ⎞
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
X = ⎜ x2 ⎟ ,
B = ⎜ b2 ⎟ ,
A = ⎜ a21
a22
...
a2n ⎟ , C = (c c
...
c ) .
⎜ ... ⎟
⎜ ... ⎟
⎜ ... ... ... ... ⎟
1 2 n
⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎝ xn ⎠
⎝ bm ⎠
⎝ am1
am 2
...
amn ⎠
Z
=
CX
→
min
,
(4)
AX
=
B,
(5)
X
≥
0
.
(6)
Матрицу, JсJGостJоG ящJGую из одного столбца или строки, JмJGожно представлять
как вектор, т.е. X , B , C . Введём дополнительно векторы Aj
( j = 1, n ), коорди-
наты которых – это j -е столбцы матрицы A . Тогда задача ЛП представима в
векторной форме:
G JG
JZJG= C ⋅ XJJG→ min ,
JJG JG
(7)
JJG
A1 ⋅ x1 + A2 ⋅ x2 + ... + An ⋅ xn = B , (8)
X ≥ 0 .
JJG
(9)
Планом задачи (допустимым решением) называют вектор X , удовле-
творяющий условиям (2)-(3) или (5)-(6) или (8)-(9). Оптимальный план – это план, минимизирующий целевую функцию.
РасJGсмотрим вектоJрJGную форму (7)-(9). Уравнение (8) – это разложение
вектора B
по векторам Aj
( j = 1, n ) с коэффициентами разложения
JG
x j .
Напомним, что система векторов Aj
( j = 1, n ) называется линейно неза-
висимой, если равенство
JJG JJG JJG G
A1 ⋅ µ1 + A2 ⋅ µ2 + ... + An ⋅ µn = 0
выполняется только при одновременном равенстве нулю коэффициентов раз-
ложения, т.е.
µ1 = µ2 = ... = µn = 0. В противном случае векторы называют линейно
зависимыми.
Если векторы
JJG
Aj , входящие в разложение (8) с положительными коэф-
JJG
фициентами
x j , являются линейно независимыми, то вектор X
JG
называют
опорным планом. А т.к. векторы Aj
имеют m координат, то количество
x j > 0
в опорном плане не может превышать число m .
Опорный план называют невырожденным, если он содержит m положи-
тельных компонент
x j . В противном случае он – вырожденный. Если все воз-
можные опорные планы задачи невырожденные, то это невырожденная задача ЛП. При наличии хотя бы одного вырожденного опорного плана задачу назы- вают вырожденной.
3. Рассмотрим некоторые свойства задачи ЛП.
Теорема 1. Множество всех планов задачи ЛП выпукло.
В общем случае ОДР либо пустая, либо является выпуклым многогран-
ным множеством.
Теорема 2. Пусть ОДР представляет собой выпуклый ограниченный мно-
гогранник в пространстве
Rn . Тогда целевая функция принимает своё мини-
мальное (или максимальное) значение в одной из угловых точек. Если же целе- вая функция принимает своё экстремальное значение более чем в одной угло- вой точке, то экстремум достигается на всей выпуклой комбинации этих точек.
Каноническая задача ЛП в векторной форме (7)-(9) имеет свои специфи-
ческие особенности.
Теорема 3. Если векторы
JG JJG JJG
A1, A2 ,..., Ak
являются линейно независимыми и
имеет место разложение
JJG JJG JJG JG
A1 ⋅ x1 + A2 ⋅ x2 + ... + Ak ⋅ xk = B ,
n
где все
x j ≥ 0 , то точка
X = (x1, x2 ,..., xk , 0,0,...,0) ∈ R
будет угловой точкой ОДР.
JJG
Теорема 4. Если
X = (x1, x2 ,..., xn ) является угловой точкой ОДР, то векторы
Aj из разложения (8), соответствующие положительным коэффициентам
x j ,
образуют линейно независимую систему.
Следствие 1 (из теорем 3 и 4). Если в задаче (7)-(9) векторы
JJG
Aj
имеют m
координат, то угловые точки ОДР
X = (x1, x2 ,..., xn )
содержат не более m положи-
тельных координат, а остальные равны нулю.
Решение задJJаGчJиJG
ЛПJJG (7)-(9) становится более удобным, если среди m -
мерных векторов
A1, A2 ,..., An
имеется m единичных векторов
JJG
⎛ 1 ⎞
⎜ ⎟
0
0
JJG
⎛ 0 ⎞
⎜ ⎟
1
0
JJG
⎛ 0 ⎞
⎜ ⎟
0
1
A1 = ⎜ ...⎟ ,
⎜ ⎟
⎝ ⎠
A2 = ⎜ ...⎟ ,…,
⎜ ⎟
⎝ ⎠
Am = ⎜ ...⎟ .
⎜ ⎟
⎝ ⎠
Т.к. эти векторы линейно независимы и их количество совпадает с размерно-
стью пространства, то данные векторы образуют базис пространства
Рассмотрим произвольный вектор из разложения (8):
⎛ a1 j ⎞
⎜ ⎟
Rm .
JJG
⎜ a2 j ⎟ .
a
... ⎟
⎜ ⎟
⎝ mj ⎠
Этому вектору соответствует переменная
JJG
x j и коэффициент c j
целевой функ-
ции. Вектор Aj
допускает единственное разложение в единичном базисе
JJG JJG JJG JJG
A1 ⋅ a1 j + A2 ⋅ a2 j + ... + Am ⋅ amj = Aj , (10)
которому соответствует единственное значение целевой функции
c1 ⋅ a1 j + c1 ⋅ a2 j + ... + cm ⋅ amj = z j . (11)
JG
X1 = (x1, x2 ,..., xn )
является опорным планом задачи (7)-
(9). Если для некоторого вектора Aj
выполняется условие
z j − c j > 0 , то данный
опорный план не будет оптимальным и можно построить другой опорный план
X 2 , для которого
z( X 2 ) < z( X1 ) .
Заметим, что опорный план
X 2 является лучшим по сравнению с
X1 .
Критерий
z j − cj
из (10) и (11) называют оценками оптимальности. Если для
JJG
некоторого опорного плана разложения всех векторов Aj
( j = 1, n ) в данном ба-
зисе удовлетворяют условию
z j − cj ≤ 0 , то данный план является оптимальным.
С учётом всего сказанного, симплексный метод – это метод последова-
тельного улучшения плана при решении задачи ЛП.
Симплекс-метод впервые предложил в 1947 г. американский математик
Дж. Данциг. Название метода происходит от английского слова «simple» – про-
стейший. Это связано с тем, что на начальном этапе развития метода, ОДР име-
ли простейший вид. Например, ОДР представляла собой пирамиду в простран-
стве
R3 с вершинами
O(0; 0; 0) ,
A(1; 0; 0) ,
B(0;1; 0)
и C (0; 0;1) . Эту пирамиду
иногда называют симплексом.