
- •Содержание
- •Введение
- •Лекция 1. Вводные понятия математического программирования
- •Лекция 2. Геометрическая интерпретация решения задач линейного программирования
- •Лекция 3. Практическая реализация графического метода решения задач линейного программирования
- •Лекция 4. Теоретическое обоснование симплекс- метода
- •Лекция 5. Симплекс-метод решения задач линейной оптимизации
- •Лекция 7. Экономико-математический анализ решения задач линейного программирования
- •Лекция 9. Транспортная задача
- •Лекция 10. Нахождение оптимального решения транспортной задачи
- •1. Для решения транспортной задачи удобно использовать метод потенциалов.
- •Лекция 12. Метод множителей лагранжа
- •Заключение
- •Приложение а. Инвестиционные задачи и нелинейное программирование
- •Лекция 14. Оптимальный портфель ценных бумаг
- •Лекция 15. Практические способы формирования оптимальных фондовых портфелей
- •Приложение б. Теория игр и задачи линейного про- граммирования Лекция 16. Экономические риски и теория игр
- •Литература
Лекция 3. Практическая реализация графического метода решения задач линейного программирования
План
1. Пример графического решения задачи ЛП.
2. Задачи ЛП, сводящиеся к графическому методу решения.
3. Решение задач линейного целочисленного программирования графическим методом.
1. Рассмотрим графическое решение конкретной задачи ЛП.
Пример 1. Решить графически задачу ЛП:
Z = 4x1 + 2x2 → max ,
⎪
⎪ 2 x1
⎨
+ 3x2 ≤ 9
+ 3x2 ≤ 18
⎪ −2 x1 + x2 ≥ −10
2 x1 − x2 ≥ 0
x1 ≥ 0, x2 ≥ 0 .
Решение. Для нахождения ОДР строим граничные прямые и определяем
полуплоскости, координаты точек которых удовлетворяют ограничениям.
Рассмотрим первое ограничение
− x1 + 3x2 ≤ 9 . Строим прямую
l1 :
− x1 + 3x2 = 9
по двум точкам
x1 = 0 ,
x2 = 3 и
x1 = −9 ,
x2 = 0 . Берём контроль-
ную точку, не лежащую на этой прямой, например,
O(0; 0) . Подставляем её ко-
ординаты в первое ограничение. Если неравенство в этой точке выполняется, то первое ограничение определяет полуплоскость, которая содержит контрольную точку, если же нет, то оно определяет полуплоскость, в которой не лежит кон-
трольная точка. В точке
O(0; 0)
неравенство выполняется:
−0 + 3 ⋅ 0 = 0 < 9 . По-
этому первое ограничение определяет полуплоскость, расположенную ниже прямой l1 . На рис. 1 это отмечено двумя стрелками.
Аналогично поступаем с остальными тремя ограничениями. Результаты вычислений запишем в табл. 1.
Табл. 1. Вспомогательные расчёты
Пря- мая |
Уравнение прямой |
Точки на прямых |
Кон- троль- ная точка |
Знак нера- венства в этой точке |
Принадлеж- ность кон- трольной точки к ОДР |
l1 l2 l3 l4 |
− x1 + 3x2 = 9 2x1 + 3x2 = 18 −2 x1 + x2 = −10 2x1 − x2 = 0 |
(0,3) (–9,0) (0,6) (9,0) (0,–10) (5,0) (0,0) (1,2) |
О(0,0) О(0,0) О(0,0) М(0,5) |
–0+3⋅0 <9 2⋅0+3⋅0 <18 –2⋅0+0 >–10 2⋅0–5<0 |
О принадлежит О принадлежит О принадлежит М не принадл. |
Выделяем ОДР – пятиугольник OABCD. Строим вектор
G
c = (4, 2) , пока-
зывающий направление наибольшего возрастания функции Z . Строим изоцель
– прямую, перпендикулярную вектору c :
4x1 + 2x2 = 0 .
Т.к. мы ищем максимум целевой функции, то изоцель следует переме-
щать параллельными переносами в направлении вектора c , пока она не станет
опорной к ОДР (рис. 1). Это произойдёт в точке
точки C :
C ( x1; x2 ) . Находим координаты
⎧l2 , ⇒
⎧2 x1 + 3x2 = 18, ⇒
⎧ x1 = 6,
⎨ ⎨ ⎨
⎩l3 ,
⎩2 x1 −
x2 = 10,
⎩ x2 = 2.
l2
x2
l4
l3
А
B
l1 c
C(6,2)
x1
0 D
Рис. 1. Иллюстрация графического метода
Найдено единственное оптимальное решение
чение целевой функции:
X * = (6; 2) . Вычисляем зна-
Ответ:
X * = (6; 2) ,
Zmax
Zmax
= Z ( X *) = 4 ⋅ 6 + 2 ⋅ 2 = 28 .
= 28 .
Заметим, что в точке
O(0; 0)
достигается минимум целевой функции, рав-
ный
Zmin
= 0 .
2. Мы научились применять графический метод для задач ЛП, которые содер-
жат две переменные
x1 и
x2 .
На самом деле, некоторые задачи ЛП, размерность которых превышает 2, можно свести к задаче двух переменных. Остальные переменные при этом должны быть исключены.
Пример 2. Решить задачу ЛП:
Z = −16x1 − x2 + x3 + 5x4 + 5x5 → max ,
⎨ 1
2
⎪−2x + 3x
+ x4
= 10
= 6
⎩ 1
2
− x5 = 8
x j ≥ 0 ( j = 1, 5 ).
Решение. Выразим неизвестные
x3 , x4 , x5
из первого, второго и третьего
равенств системы ограничений соответственно:
⎧ x3 = 10 − 2x1 − x2
⎪
⎩
5 1 2
⎪ x = −8 + 2x + 4 x
Исключаем данные неизвестные из целевой функции:
/
(1)
Z = −16x1 − x2 + (10 − 2x1 − x2 ) + 5(6 + 2x1 − 3x2 ) + 5(−8 + 2x1 + 4x2 ) = 2x1 + 3x2 .
Т.к. все переменные задачи – неотрицательные, то предыдущую систему ра-
венств запишем в виде системы неравенств:
⎧10 − 2 x1 − x2 ≥ 0
⎪
⎨6 + 2 x1 − 3x2 ≥ 0
⎧2x1 + x2 ≤ 10
⎨ 1 2
⎪−8 + 2x + 4x ≥ 0
⎪2x
+ 4x ≥ 8
⎩
Получена задача ЛП:
⎩ 1 2
1 2
/
⎨ 1 2
⎩ 1 2
⎪2x + 4x ≥ 8
x1 ≥ 0, x2 ≥ 0 .
Решим её графическим методом.
Для данной задачи ОДР – заштрихованный четырёхугольник ABCD (рис.
2). Уравнение изоцели следующее:
2x1 + 3x2 = 0 .
ДвиGгая изоцель параллельными переносами в направлении градиент-
вектора
c = (2, 3) , достигнем опорной точки
C ( x1 ; x2 ) . Эта точка находится на
пересечении прямых I и II:
⎧2 x1 + x2 = 10
⎩ 1
2
⎧ x1 = 3
=
4
⎩ x2
/
Z max
= 18 .
Осуществим обратную замену, подставив координаты точки систему (1):
C (3; 4) в
⎧ x3 = 0
⎪
⎩
5
Рис. 2. Графическое решение примера 2
Получено единственное оптимальное решение исходной задачи ЛП
X * = (3; 4; 0; 0;14) . Подставив его в целевую функцию, убедимся в том, что
Zmax
= Z ( X *) = −16 ⋅ 3 − 4 + 0 + 5 ⋅ 0 + 5 ⋅ 14 = 18 .
Ответ:
X * = (3; 4; 0; 0;14) ,
Zmax
= 18 .
3. Рассмотрим возможности графического метода при решении задач линейно-
го целочисленного программирования.
Пример 3. Дана задача:
Z = 2x1 + 3x2 → max ,
⎧ x1
⎨
+ 2 x2 ≤ 6
⎩ 8x1
+ 7 x2 ≤ 28
x1 ≥ 0, x2 ≥ 0 ,
x1 , x2 ∈ ] .
Требуется: 1) решить графическим методом задачу ЛП без учёта целочисленно-
сти; 2) решить ту же задачу с условием целочисленности.
Решение. 1) Для задачи ЛП имеем ОДР – четырёхугольник OABC , с уг-
ловыми точками
O(0; 0) ,
A(0;3) ,
B(14 / 9; 20 / 9) ,
C(7 / 2; 0) . Наибольшее значе-
ние целевой функции достигается в точке B , поэтому имеем оптимальное ре-
шение
X = (14 / 9; 20 / 9) ,
Z ( X ) = 88 / 9 = 9 7
9
(рис. 3).
Найденное решение не является целочисленным. Будем искать оптималь-
ную точку с целочисленными координатами.
2) Отметим в ОДР точки с целочисленными координатами, близко распо-
ложенные к границе или лежащие на границе, участок которой содержит точку
X = (14 / 9; 20 / 9)
(рис. 3). Такими точками являются (0;3) , (1; 2), (2;1), (3; 0) .
Вычисляем в этих точках значения целевой функции
Z (0;3) = 9 ,
Z (1; 2) = 8 ,
Z (2;1) = 7 ,
Z (3; 0) = 6 , и выбираем из них наибольшее.
Оптимальное целочисленное решение
X * = (0;3) ,
Z ( X *) = 9 .
Рис. 3. Графическое решение примера 3