В. А.МАТВЕЕВ
.pdfОтвет: угловые точки |
x1 = (4,0); |
|||
|
|
x2 |
= (40 13 , 24 13); |
|
|
|
x3 |
= (167 ,157); |
|
|
|
x4 |
= (85 , 9 5); |
|
общее решение |
x =α1 x1 +α2 x2 |
+α3 x3 +α4 x4 , |
||
где α1 +... +αk |
=1, α1 ≥ 0 |
, ..., αk |
≥ 0. |
Кратко решение записывается в форме выпуклой оболочки co({x1 , x2 , x3 , x4 }) = co({(4,0),(4013, 2413),(167 ,157),(85 , 95)}).
Пример 7.2. Решитьграфическисистемунеравенств. Найти угловые решения. Если множество решение неограничено, то указать неограниченную последовательность решений
3x1 + 4x2 ≥12,
3x1 +8x2 ≥ 24,
2x1 + x2 ≥ 8,
−x1 + 2x2 ≤ 2,
x2 ≤ 5,
xi ≥ 0,i =1,2.
На плоскости каждому неравенству соответствует полуплоскость, её граница – прямая линия. Границы полуплоскостей представлены в форме (7.8). Полуплоскости для решения системы данной системы неравенств – на рисунке 7.3 и выделены штриховкой. Решение есть выпуклое множество – пересечение полуплоскостей. Из рисунка видно, что пересечение пяти полуплоскостей является неограниченное множество с границей - ломанной KGBEFL. Найдём координаты угловых точек. Они определяются, как пересечения прямых
61
{E} = q I p; |
E : 2x1 + x2 = 8, |
E(145 ,125) , |
|
|
− x1 + 2x2 |
= 2. |
|
{F} = q I r; |
F : − x1 + 2x2 |
= 2, |
F(8, 5). |
|
x2 |
= 5. |
|
или из рисунка 7.3. Это точки с координатими K (12,0),G(8,0),
B(4013, 2413), L(12,5).
Неограниченное множество решений выделено штриховкой на рис. 7.3. У этого множества четыре угловые точки: G, B, E, F.
8 |
x 2 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|||
5 |
|
|
|
F |
|
|
|
||
|
|
|
|
|
|
||||
|
|
|
|
|
(r) |
||||
|
|
|
|
|
L |
|
|
||
3 |
C |
E |
T1 |
T2 T3 T4 . . .Tn . . . |
|||||
D |
B |
||||||||
(q)1 |
|
|
|
|
K x1 |
||||
|
|
|
(m) G(8,0) |
|
|
||||
0 |
|
A(4,0) |
(n) |
(p)
Рис. 7.3.
Но всё множество решений уже не представляется выпуклой комбинацией угловых точек. На рисунке 7.3 указана бесконечная неограниченная последовательность точек из множества решений системы неравенств. Это множество
T = {T1(4, 2), T2(5, 2) T3(6,2),…..} = |
{Tn(n+3, 2) |
|
n = 1, 2, …} |
|||
|
||||||
Ответ: угловые точки x2 = (40 |
13 |
, 24 |
13 |
); |
|
|
|
|
|
|
|
||
x5 = (14 5 ,12 5); |
|
|
|
62
x6 = (8,5); x7 = (8,0).
неограниченная последовательность решений yn = (n+3, 2), n = 1,2, 3, ….
Задачидлясамостоятельногорешения
Задача 7.1. Решить графически систему неравенств. Найти угловыерешения. Еслимножестворешенийограничено, тоуказать общеерешение
x1 + x2 ≤ 4,
2x1 +7x2 ≤14, x1 + 2x2 ≤ 6, 4x1 +5x2 ≤ 20, xi ≥ 0,i =1,2.
Задача 7.2. Решить графически систему неравенств. Найти угловые решения. Если множество решение неограниченно, то указать неограниченную последовательность решений
2x1 −5x2 ≤ −10, x1 −8x2 ≤ 8,
− x1 + x2 ≤1, 2x1 −7x2 ≤14, xi ≥ 0,i =1,2.
63
§8. Линейное программирование: графический метод
Важное место в математике, а особенно в приложениях математики к реальным практическим задачам, занимает математическое программирование. Это математическая дисциплина, посвящена теории и методам решения задач о нахождении экстремумов функций на множествах конечномерного векторного пространства, определяемых линейными и нелинейными ограничениями (равенствами и неравенствами).
Если в задаче математического программирования целевая функция линейная и ограничения в форме равенств и неравенств заданы линейными функциями, то это задача линейного программирования. Такие задачи имеют огромную область применения, не в последнюю очередь потому, что “любой процесс в первом приближении является линейным”. Теория таких задач обстоятельно разработана [8, 9, 10]. Особенно большое значение имеет этот раздел для изучения конечных игровых задач [2, с. 8387; 4, c. 28-32]. Далее будет представлены элементы теории линейного программирования, в той мере, как это потребуется для изучения игровых задач.
Рассматривается задача максимизации на множестве заданном ограничениями – неравенствами
f (x) = c1 x1 + c2 x2 +... +cm xm → max; |
(8.1) |
ai1 x1 + ai2 +... + aim xm ≤ bi , i =1,...n, |
(8.2) |
x j ≥ 0, j =1,...,m. |
(8.3) |
Функция f (x) в (8.1) называется целевой функцией. Ограничения – неравенства в (8.2) и (8.3) определяют область допустимых значений X Rm . Содержательно задача линейного программирования состоит в поиске x* X , доставляющего наибольшее значение функции f (x ), когда x X . Существуют
64
различные формы представления задачи линейного программирования в зависимости от вида ограничений для области допустимыхзначений. Говорят, чтов (8.1) – (8.3) задана стандартная задача линейного программирования.
Если в задаче линейного программирования разыскивается x* X , доставляющий наименьшее значение функции f (x ),
когда x X , то получается задача минимизации на множестве заданном ограничениями – неравенствами.
Существование решения в задаче линейного программирования следует из
Теорема (Вторая теорема Вейерштрасса). Пусть в задаче математического программирования область допустимых
значений X Rm является компактом, а целевая функция f (x) непрерывна на X. Тогда
x* X , f (x*) ≥ f (x), x X
( x* X , f (x* ) ≤ f (x), x X ).
Так как линейная функция непрерывна, то из теоремы следует условие существования решения в задаче линейного программирования.
Следствие. Пусть в задаче линейного программирования
(8.1) – (8.3) область допустимых решений X Rm непуста и ограничена. Тогда
x* X , f (x*) ≥ f (x), x X
( x* X , f (x* ) ≤ f (x), x X ).
Рассмотрим графический метод решения задачи линейного
программирования. Этот метод применим, когда X R2 или задача сводится к задаче с двумя переменными.
Графический метод разбивается на два этапа.
Первый этап. Используя условия (8.2) – (8.3) на плоскости строится область допустимых решений X R2.
Второй этап. На плоскости строятся прямые - линии уровня
65
c1 x1 +c2 x2 = ρ, ρ R. В точках касания линий уровня с областью
X достигаются наибольшие и наименьшие значения функции f. Отметим, что линия уровня касается области X, если
1)область и прямая имеют общие точки;
2)область расположена по одну сторону от прямой – линии уровня/
Пример 8.1. Решить задачу линейного программирования графически
f (x ) = x1 + x2 →extr ; x1 +3x2 ≤30, 2x1 +x 2 ≤ 20, x1 ≥ 0; x2 ≥0.
В задаче линейного программирования extr означает единый термин для экстремума, т.е. для нахождения максимума и минимума функции. Построим область X на плоскости. Она
расположена в первой четверти ( x1 ≥ 0, x2 ≥ 0) и ограничена
прямыми m и n. Для удобства построения запишем уравнения этих прямых в отрезках.
|
(m ) : |
x1 |
+ |
x2 |
=1, |
(n) : |
x1 |
+ |
x2 |
|
=1. |
|
|
|
|
|
|||||||
Здесь a1 |
30 |
10 |
|
10 |
20 |
|
|
||||
= 30, a2 = 10 пересечение прямых |
m и n с осью OX, |
||||||||||
а b1 = 10, b2 = 20 – пересечение с осью OY. Соответствующий |
чертёж представлен на рис.8.1. Здесь m представлена прямой АВ, а n представлена прямой ДВ.
Каждая прямая, как решение соответствующего неравенства, определяет полуплоскость (7.6). В случае прямых АВ и ДВ это будут полуплоскости, содержащие начало отсчёта O. Тогда область допустимых значений в задаче линейного программирования представляется четырёхугольником OДBC.
Построим прямые уровня, которые касаются области X. Таких прямых две
66
x 2
20 |
E |
|
|
|
|
l2 |
|
|
|
10 |
B(6, 8) |
|
|
|
C |
|
|
|
|
0 |
D |
A |
m |
x1 |
10 n |
30 |
|
||
|
l1 |
|
|
|
|
|
Рис. 8.1. |
|
|
|
|
|
|
|
|
|
|
|
|
l1 : |
x1 + x2 = 0, |
l2 : x1 + x2 =14. |
Прямая l1 |
касается области X в точке О(0, 0), а прямая l2 - в |
точке В(6, 8). Отметим, что координаты точки В являются решением системыуравнений
x1 +3x2 = 30,
2x1 + x2 = 20.
Точки касания О(0, 0) и В(6, 8) определяют решение задачи линейного программирования. Именно,
fmax |
= f (x*) =14 |
при |
x* = (6, 8), |
fmin |
= f (x* ) = 0 |
при |
x* = (0, 0). |
Пример 8.2. Решить задачу линейного программирования графически
67
f (x ) =3x1 +5x 2 → max; 4x1 +5x 2 ≤ 20 3x1 +10x2 ≤30, 2x1 + x 2 ≤8, 10x1 +3x 2 ≤30, x1 ≥ 0; x2 ≥0.
Постоим область X на плоскости. Она расположена в первой четверти, т.к. x1 ≥ 0, x2 ≥ 0 , и ограничена прямыми m, n, p, q. Для удобства построения приведём уравнения этих прямых в отрезках.
|
|
(m ) : |
x1 |
+ |
|
x2 |
=1, |
(n) : |
|
x1 |
|
+ |
|
x2 |
|
=1, |
|||||||
|
5 |
|
|
|
10 |
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
3 |
|
|
||||||
|
|
( p) : |
|
x1 |
|
+ |
x2 |
|
=1, |
(q) : |
x1 |
+ |
x 2 |
=1. |
|||||||||
|
4 |
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
8 |
|
|
|
|
3 |
10 |
|
|
|
|
|||||||
Здесь a1 |
= 5, a2 |
= 10, a3 |
= 4, a4 = 3, пересечение прямых m, n, |
||||||||||||||||||||
p, q сосью OX, а b1 = 4, b2 = 3, b3 = 8, b4 = 10 |
– пересечение с осью |
||||||||||||||||||||||
|
|
x 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10H |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 G |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 F |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 E |
|
K (2, 2, 4) |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l1 |
|
L |
l2 |
|
|
|
|
|
D |
|
|
|
|
|
||||||||
|
|
|
|
A |
B |
|
C |
|
|
|
|
|
|
x1 |
|||||||||
|
0 |
|
|
|
3 |
|
4 |
5 |
m |
10 |
|
|
n |
||||||||||
|
|
|
|
|
|
q |
p |
|
|
|
|
|
|
Рис. 8.2.
68
OY. Соответствующий чертёж представлен на рис.8.2. Здесь m представлена прямой СF, n представлена прямой DE, p представлена прямой BG, и, наконец, q представлена прямой AH. Каждая прямая, как решение соответствующего неравенства, определяет полуплоскость. Для всех прямых CF, DE, BG, AH это будут полуплоскости, содержащие начало отсчёта O. Тогда область допустимых значений в задаче линейного программирования представляется пятиугольником OALKE.
Построим прямые уровня, которые касаются области X. Таких прямых две
l1 : 3x1 +5x2 = 0, l2 : 3x1 +5x2 =18.
Прямая l1 касается области X в точке О(0, 0), а прямая l2 - в точке
K(2, 2,4). Отметим, что точка K является пересечением прямых m, n и её координаты аналитически находятся как решение системы уравнений
4x1 +5x2 = 20,
3x1 +10x2 = 30.
Решение системы x1 = 2, x2 = 2,4, значит K(2, 2,4). Точки
касания K(2, 2,4) определяют решение задачи линейного программирования. Именно,
fmax = f (x*) =18 при x* = (2, 2.4).
Отметим, что в этой задаче в определении допустимого множества X не использовалась ограничение
2x1 + x2 ≤ 8.
Граница соответствующей полуплоскости не является частью границы множества X. Если удалить это ограничение из условия задачи линейного программирования, то результат (оптимальное решение) не изменится. Это похоже на аналогичное явление в теории матричных игр, именно, на удаление строго доминируемой стратегии.
69
Задачи для самостоятельного решения
Задача 8.1. Предприятие производит два вида продукции: П1, П2, которые потом поступают в оптовую продажу. В производстве продукции используются два вида сырья – А, В.
Максимальные запасы сырья составляют 9 и 13 единиц соответственно. Расход сырья на единицу продукции вида П1, П2 представлен в таблице 8.1 Оптовые цены на продукцию П1 равны 3 руб., дляпродукцииП2 – 4 руб. Какоеколичествопродукциикаждого вида должно производить предприятие, чтобы доход от реализации продукции был максимальным?
Таблица 8.1.
Ответ: x* = (4,2; 0,2), f* = 13,2.
Задача 8.2. Решить графически задачу линейного программирования, с ограничениями в форму равенств
f (x ) = 4x1 −2x 2 + x3 −x4 →max; 3x1 + 2x 2 −x3 +4x4 =3,
x1 −x 2 +4x3 −2x4 = 2, xi ≥ 0; i =1,...,4.
70