logo
Линейное программирование: методы решения задач

3.1 Решение задачи графическим методом

1) Необходимо найти максимальное значение целевой функции F = 34x1+50x2 > max, при ограничениях:

F=34*X1+50*X2 =>max

2) Построим прямую 2x1+5x2 = 432 по двум точкам. Для нахождения первой точки приравниваем x1 = 16. Находим x2 = 80. Для нахождения второй точки приравниваем x2 = 0. Находим x1 = 216. Соединяем точку (16; 80) с (216; 0) прямой линией. Построим прямую 3x1+4x2 = 424 по двум точкам. Для нахождения первой точки приравниваем x1 = 141. Находим x2 = 0. Для нахождения второй точки приравниваем x2 = 8. Находим x1 = 100. Соединяем точку (141; 0) с (8; 100) прямой линией. Построим прямую 5x1+3x2 = 532 по двум точкам. Для нахождения первой точки приравниваем x1 = 44. Находим x2 = 104. Для нахождения второй точки приравниваем x2 = 104. Находим x1 = 4. Соединяем точку (44; 104) с (104;

4) прямой линией.

1

X1

16

216

X2

80

0

2

X1

141

8

X2

0

100

3

X1

44

104

X2

104

4

Рисунок 3 Вектор-градиент

3) Рассмотрим целевую функцию задачи F = 34x1+50x2 > max.

Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление максимизации F (X). Начало вектора - точка (0; 0), конец - точка (34; 50). Будем двигать прямую, перпендикулярную вектору, параллельным образом. Поскольку нас интересует максимальное решение, поэтому двигаем прямую до последнего касания обозначенной области. 4) Область допустимых решений представляет собой многоугольник

Прямая F (x) = const пересекает область в точке C. Так как точка C получена в результате пересечения прямых (1) и (2), то ее координаты удовлетворяют уравнениям этих прямых:

Решив систему уравнений, получим: x1 = 56, x2 = 64 Откуда найдем максимальное значение целевой функции:

F (X) = 34*56 + 50*64 = 5104