Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Полшков Ю.Н. Курс лекций по ОММ.doc
Скачиваний:
25
Добавлен:
29.04.2019
Размер:
5 Мб
Скачать
☆

Лекция 3. Практическая реализация графического метода решения задач линейного программирования

План

1. Пример графического решения задачи ЛП.

2. Задачи ЛП, сводящиеся к графическому методу решения.

3. Решение задач линейного целочисленного программирования графическим методом.

1. Рассмотрим графическое решение конкретной задачи ЛП.

Пример 1. Решить графически задачу ЛП:

Z = 4x1 + 2x2 → max ,

⎪

⎧ − x1

⎪ 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

⎧2x1 + x2 + x3

⎪−2x + 3x

+ x4

= 10

= 6

⎩ 1 2

⎪2x + 4x

− x5 = 8

x j ≥ 0 ( j = 1, 5 ).

Решение. Выразим неизвестные

x3 , x4 , x5

из первого, второго и третьего

равенств системы ограничений соответственно:

⎧ x3 = 10 − 2x1 − x2

⎪

⎩ 5 1 2

⎨ x4 = 6 + 2x1 − 3x2

⎪ 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

⎪−2x + 3x ≤ 6

⎪−8 + 2x + 4x ≥ 0

⎪2x

+ 4x ≥ 8

⎩

Получена задача ЛП:

⎩ 1 2

1 2

/

Z = 2x1 + 3x2 → max ,

⎨ 1 2

⎧2x1 + x2 ≤ 10

⎩ 1 2

⎪−2x + 3x ≤ 6

⎪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

⎨−2x + 3x = 6

⎧ x1 = 3

= 4

⎨

⎩ x2

/

При этом

Z max

= 18 .

Осуществим обратную замену, подставив координаты точки систему (1):

C (3; 4) в

⎧ x3 = 0

⎪

⎩ 5

⎨ x4 = 0

⎪ x = 14

Рис. 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