Методы оптимизации / n2
.pdfБлизкие экстремальные свойства имеет задача минимизации квазивыпуклой функции на выпуклом множестве. Функция f(x), определ¼нная на выпуклом множестве X, íàçû-
вается квазивыпуклой, если для любых x; y 2 X è ® 2 (0; 1) выполняется неравенство f(®x + (1 ¡ ®)y) · max(f(x); f(y)). Если при любых x 6= y указанное неравенство является строгим, то функция f(x) называется строго квазивыпуклой.
Пример. Показать, что множество X = fx 2 En j Ax ¸ a; Bx = bg выпукло. Здесь A è B это вещественные матрицы размера m £ n è l £ n соответственно, a 2 Em; b 2 El.
Решение. Возьм¼м две произвольные точки x; y 2 X и положим z = ®x + (1 ¡ ®)y, ãäå
® 2 [0; 1]. Тогда Az = ®Ax + (1 ¡ ®)Ay ¸ ®a + (1 ¡ ®)a = a è Bz = ®Bx + (1 ¡ ®)By =
®b + (1 ¡ ®)b = b. Значит точка z лежит в X, т. е. множество X выпукло.
Задачи
1.Показать, что пересечение любого числа выпуклых множеств выпукло.
2.Пусть функции fj(x) (j = 1; m) выпуклы на En. Показать, что множество X =
fx jfj(x) · 0 (i = 1; m)g выпукло.
3.Доказать, что любая выпуклая функция является квазивыпуклой. Привести пример, показывающий, что обратное, вообще говоря, не верно.
4.Пусть функции fj(x) (j = 1; m) выпуклы на выпуклом множестве X. Показать, что функция f(x) = a1f1(x) + : : : + amfm(x) выпукла на X åñëè aj ¸ 0 (j = 1; m).
5.Пусть функции fi(x) (i 2 I) выпуклы на выпуклом множестве X. Показать, что функция f(x) = supi2I fi(x) также выпукла на X.
6.Пусть B симметрическая матрица размера n £ n, à p 2 En. Показать, что функция
f(x) = hBx; xi + hp; xi (строго) выпукла тогда и только тогда, когда B (строго) положи-
тельно определена.
7. Пусть f(t) выпуклая неубывающая функция на [a; b] (возможно, a = ¡1 è/èëè b =
+1). Пусть g(x) выпукла на выпуклом множестве X ½ En, ïðè÷¼ì g(x) 2 [a; b] ïðè âñåõ x 2 X. Доказать, что функция h(x) = f(g(x)) выпукла на X.
8.Пусть f(x) выпукла и неотрицательна на некотором выпуклом множестве X. Доказать, что g(x) = (f(x))p выпукла для любого целого p ¸ 1.
9.Пусть выпуклая дифференцируемая функция f(x) в некоторой точке x1 2 En óäî- влетворяет соотношению hf0(x1); x ¡ x1i ¸ 0 для любого x 2 En. Доказать, что x1 точка
глобального минимума функции f(x).
10.Доказать, что выпуклая функция f(x), определ¼нная на выпуклом замкнутом множестве X и отличная от константы, достигает своего глобального максимума на границе множества X.
11.Показать, что для любой квазивыпуклой функции f(x), определ¼нной на выпуклом множестве X, и любого числа ¸, множество Z = fx 2 X j f(x) · ¸g выпукло.
12.Показать, что если функции fj(x) (j = 1; m) квазивыпуклы, то множество Z = fx 2
Xj fj(x) · 0 (j = 1; m)g выпукло.
13.Доказать, что функция f(x) квазивыпукла на выпуклом множестве X тогда и только
тогда, когда множество Z(x) = fy 2 X j f(y) · f(x)g выпукло для каждого x 2 X.
14. Доказать, что если f(x) строго квазивыпукла на выпуклом множестве X è x¤ 2 X является точкой е¼ локального минимума, то x¤ является единственной точкой глобального
минимума функции f(x) на множестве X.
15. Пусть f(x) è g(x) выпуклая и вогнутая функции соответственно, определ¼нные на выпуклом множестве X, прич¼м для любого x 2 X выполняется неравенство f(x) ¸ g(x). Доказать, что существует линейная функция h(x), такая что f(x) ¸ h(x) ¸ g(x) для каждого x 2 X.
16. При каких значениях параметра a множество X будет выпуклым:
à) X = f(x; y) 2 E2 j a(x ¡ y2) = 0; x + y = 1g;
21
á) X = f(x; y) 2 E2 j a(x ¡ y2) = 0; x + y = ag; â) X = f(x; y) 2 E2 j a(x ¡ y2) · 0; x + y = ag; ã) X = f(x; y) 2 E2 j x2(a2 + 3a + 2) ¡ y ¸ 0g;
ä) X = f(x; y) 2 E2 j ex(a2 ¡ 5a + 6) ¡ y(a2 + 2) · 0g; å) X = f(x; y) 2 E2 j y = eax; y · xg;
æ) X = f(x; y) 2 E2 j x2=(a2 + 1) + (y + a)2 · 1; x2 + (y ¡ 1)2 · a; g; ç) X = f(x; y) 2 E2 j y · ex; y · axg;
è) X = f(x; y) 2 E2 j x + y ¸ 1; y · ax2g;
ê) X = f(x; y) 2 E2 j y ¸ ln x; y ¸ ax; x > 0g?
17. Исследовать функцию f(x) на выпуклость или вогнутость в области X:
à) f(x) = x1x2; X = fx j x1 ¸ 0; x2 ¸ 0g;
á) f(x) = 1=x1 + 1=x2; X = fx j x1 ¸ 0; x2 ¸ 0g;
â) f(x) = x2 ¡ jx1 ¡ 2j; X = E2;
ã) f(x) = x61 + x22 + x23 + x24 + 10x1 + 5x2 ¡ 3x4 ¡ 20; X = E4; ä) f(x) = e2x1+x2 ; X = E2;
å) f(x) = ¡x52 + x23=2 + 7x1 ¡ x3 + 6; X = fx j xi · 0; i = 1; 2; 3g; æ) f(x) = 3x21 + x22 + 2x23 + x1x2 + 3x1x3 + x2x3 + 3x2 ¡ 6; X = E3;
ç) f(x) = x31 + 2x23 + 10x1 + x2 ¡ 5x3 + 6; X = fx j xi · 0; i = 1; 2; 3g; è) f(x) = 5x21 + x22=2 + 4x23 + x1x2 + 2x1x3 + 2x2x3 + x3 + 1; X = E3:
18. При каких значениях параметров a; b; c функция f(x) будет выпуклой:
à) f(x) = ax2 + bx + c;
á) f(x) = ax21 + 2bx1x2 + cx22; â) f(x) = ae2x + bex + c?
3.2. Критерий оптимальности; теорема Куна Таккера
Данный раздел посвящ¼н рассмотрению вопроса об оптимальности найденной точки в основной задаче выпуклого программирования.
Рассматривается задача
min; |
(1) |
||
f(x) ¡! x X |
|||
2 |
|
|
|
ãäå X = fx j 'j(x) · 0 (j = |
|
)g: |
(2) |
1; m |
Если функции f(x) è 'j(x) (j = 1; m) выпуклы, то задача (1) (2) называется основной задачей выпуклого программирования. Пусть задана некоторая точка x¤ 2 X. Ограниче-
ние называется активным в этой точке, если 'j(x¤) = 0. Множество индексов активных ограничений обозначим через
I(x¤) = fj 2 f1; : : : ; mg j 'j(x¤) = 0g:
Функция |
m |
|
|
|
Xj |
|
F (x; y) = f(x) + yj'j(x); |
|
=1 |
определ¼нная для всех x 2 En; y ¸ 0, называется функцией Лагранжа для задачи выпуклого программирования. Пара (x¤; y¤), ãäå x¤ 2 En; y¤ ¸ 0; называется седловой точкой функции F (x; y), åñëè F (x¤; y) · F (x¤; y¤) · F (x; y¤) äëÿ âñåõ x 2 En; y ¸ 0. В дальнейшем
будем считать, что функции f(x) è 'j(x) (j = 1; m) (и, следовательно, функция Лагранжа) непрерывно дифференцируемы.
22
Теорема 10. Для того чтобы точка x¤ 2 X была точкой глобального минимума основ-
ной задачи выпуклого программирования (1) (2), достаточно существования таких чисел yj ¸ 0 (j 2 I(x¤)), что выполняется равенство
X
¡f0(x¤) = yj'0j(x¤):
j2I(x¤)
Другими словами, если (x¤; y¤) седловая точка функции Лагранжа, то x¤ ýòî òî÷-
ка глобального минимума для задачи выпуклого программирования. Чтобы выполнялось обратное утверждение, необходимо наложить дополнительное условие на множество X. Åñ-
ли существует такая точка x 2 X, ÷òî 'j(x) < 0 äëÿ âñåõ j = 1; m, то говорят, что это
множество удовлетворяет условию регулярности Слейтера.
Теорема Куна Таккера (дифференцируемый случай). Если функции
(j = 1; m) выпуклы, а множество X = fx j 'j(x) · 0 (j = 1; m)g удовлетворяет условиям регулярности Слейтера, то для оптимальности точки x¤ 2 X необходимо и достаточно
существования таких чисел yj ¸ 0 (j 2 I(x¤)), ÷òî
X
¡f0(x¤) = yj'0j(x¤): (3)
j2I(x¤)
Как показывает следующая теорема, если все ограничения линейны, то условия регулярности Слейтера в теореме Куна Таккера не обязательны.
Теорема 11. Для того чтобы точка x¤ 2 X была точкой глобального минимума вы-
пуклой функции f(x) на множестве X = fx j haj; xi ¡ bj · 0 (j = 1; m)g, необходимо и достаточно существование таких чисел yj ¸ 0 (j = 1; m), ÷òî
¡f0(x¤) = |
yjaj: |
|
j2XI( ¤ |
|
x ) |
В Приложении рассматривается метод возможных направлений, в котором используется следующая ¤
Теорема 12. Для того чтобы точка x 2 X была точкой глобального минимума задачи выпуклого программирования (1) (2), достаточно, чтобы для всех векторов s, óäî-
влетворяющих системе h'0j(x¤); si · 0 (j 2 I(x¤)), выполнялось условие hf0(x¤); si ¸ 0.
Рассмотрим примеры применения привед¼нных выше теорем. Общая схема проверки оптимальности точки x¤ для задачи (1) (2) такова:
1.Убедиться, что решаемая задача действительно является задачей выпуклого программирования (т. е., что все функции выпуклы и задача на минимум).
2.Проверить, что X удовлетворяет условиям Слейтера (кроме случая линейных огра-
ничений). |
|
X и найти множество индексов активных ограничений I(x¤). |
|||||||||||||
3. Проверить, что x¤ |
2 |
||||||||||||||
|
|
|
|
|
будет оптимальной в том и только в том |
||||||||||
4. Записать и решить систему (3). Точка x¤ |
|
|
|
|
|
|
|
|
|
|
|||||
случае, если система (3) имеет решение y¤ ¸ 0. |
|
|
|
|
p |
|
¡1 |
; 3¡p |
|
|
|||||
Пример 1. Проверить на оптимальность точки x0 = (0; 2) è x00 = ( |
5 |
5 |
) в задаче |
||||||||||||
|
|
||||||||||||||
f(x) = 2x12 + 4x22 ¡ 2x1x2 ¡ 4(p |
|
¡ 2)x1 ¡ 5(2 ¡ p |
|
|
2 |
2 |
|
|
|||||||
5 |
5)x2 ¡! min при ограничениях x12 + x22 · |
||||||||||||||
4; x12 ¡ x2 · 0; x1 + x2 ¸ 1; x1 ¸ 0. |
|
|
|
|
|
|
|
|
|
|
|
||||
Решение. Функция f(x) выпукла, поскольку матрица |
|
|
|
||||||||||||
|
|
µ |
¡2 |
8 |
¶ |
|
|
|
|
|
|
||||
|
|
|
|
f00(x) = |
4 |
¡2 |
|
|
|
|
|
|
|
23
строго положительно определена. Выпуклость функций '1(x) = x21 + x22 ¡ 4; '2(x) = x21 ¡ x2; '3(x) = ¡x1 ¡ x2 + 1 è '4(x) = ¡x1 также нетрудно проверить.
Поскольку в точке x = (0:5; 1) выполняются неравенства 'j(x) < 0 äëÿ âñåõ j = 1; 2; 3; 4,
то множество X = fx j 'j(x) · 0; j = 1; 2; 3; 4g удовлетворяет условию Слейтера. Подставляя точки x0 è x00 последовательно в каждое из ограничений, убеждаемся, что
обе эти точки лежат в X и находим множества индексов активных ограничений: I(x0) =
f1; 4g; I(x00) = f2; 3g:
Система (3) для точки x0 имеет вид |
|
f0 |
(x0) = y1 |
'0 (x0) + y4 |
'0 |
(x0), ò. å. |
||||||||||||||||||||
|
|
|
|
|
|
|
4p |
|
|
|
|
|
|
|
¡ |
|
|
|
|
|
1 |
|
4 |
|
||
|
|
|
|
µ |
|
|
|
|
¡ 4 |
|
|
|
|
|
0 |
¶ |
|
¡1 |
¶ |
|
||||||
|
|
|
|
5 |
|
= y1 |
+ y4 |
: |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
4 |
||||||||||||||||
|
|
|
|
¡5p5 ¡ 6 ¶ |
|
|
µ |
µ 0 |
|
|||||||||||||||||
Отсюда, y1 |
= ( 5p |
|
|
6)=4; y4 = 4 |
|
4p |
|
. Поскольку это решение является отрицательным, |
||||||||||||||||||
5 |
¡ |
¡ |
5 |
|||||||||||||||||||||||
точка x0 íå |
¡ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
оптимальна. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Система (3) для точки x00 имеет вид ¡f0(x00) = y2'20 (x00) + y3'30 (x00), ò. å. |
||||||||||||||||||||||||||
|
|
|
|
µ |
p |
|
¡ 3 |
¶ |
|
p |
|
¡ 1 |
|
¡1 |
|
|||||||||||
|
|
|
|
5 |
= y2 |
5 |
+ y3 |
: |
||||||||||||||||||
|
|
|
|
|
¡3 |
|
|
|
|
|
µ |
¡1 |
¶ |
µ ¡1 ¶ |
||||||||||||
Единственным решением этой системы является y2 = 1; |
y3 = 2. Поскольку это решение |
неотрицательно, точка x00 является точкой глобального минимума функции f(x) на множе-
ñòâå X.
Пример 2. Проверить точку x = (¡1=2; 1=4) на оптимальность в задаче f(x) = ex2 ¡!
min при ограничениях '1(x) ´ (x1 + 1)2 ¡ x2 · 0; '2(x) ´ (x1 ¡ 1=2)2 + (x2 + 3=4)2 ¡ 2 · 0.
Решение. Нетрудно убедиться, что данная задача является задачей выпуклого программирования. Поскольку '1(x) = '2(x) = 0; точка x является допустимой и I(x) = f1; 2g.
Система (3) для этой точки имеет вид ¡f0(x) = y1'01(x) + y2'02(x), ò. å. y1 ¡ 2y2 = 0; ¡y1 + 2y2 = ¡e1=4. Очевидно, что эта система несовместна. Однако делать вывод о неоптимально-
сти точки x мы не можем, поскольку не были проверены условия Слейтера. И действитель-
но, с помощью геометрического построения области допустимых значений можно убедиться, что она состоит из единственной точки x. Следовательно, условие Слейтера не выполнено,
а точка x является оптимальным решением (как единственная допустимая точка). Пример 3. Проверить точки x0 = (¡3; 1; 2) è x00 = (¡5; 3; 1) на оптимальность в задаче
f(x) = x21+2x22+30x1¡16x3 ¡! min при ограничениях 5x1+3x2¡4x3 = ¡20; x1¡6x2+3x3 · 0; x3 ¸ 0.
Решение. Целевая функция задачи выпукла, а ограничения линейны. Следовательно, имеем задачу выпуклого программирования, прич¼м проверка условий регулярности Слейтера не требуется (заметим, кстати, что ввиду наличия ограничения равенства условие Слейтера очевидно не выполняется).
Прежде всего, запишем ограничения задачи в стандартной форме, заменив ограничение равенство на два неравенства. Имеем '1(x) ´ 5x1 + 3x2 ¡ 4x3 + 20 · 0; '2 = ¡'1(x) ´
¡5x1 ¡ 3x2 + 4x3 ¡ 20 · 0; '3 ´ x1 ¡ 6x2 + 3x3 · 0; '4(x) ´ ¡x3 · 0:
Легко проверить, что I(x1) = I(x2) = f1; 2g. Значит, система (3) для обеих точек имеет
âèä ¡f0(x) = y1'01(x) + y2'02(x) = (y1 ¡ y2)'01(x). Мы использовали условие '2(x) ´ ¡'1(x), которое всегда выполняется при замене ограничений равенств на два неравенства. Поскольку разность двух неотрицательных чисел может принимать значения любого знака, а любое число можно представить в виде разности двух неотрицательных чисел, то, осуществив замену y = y1 ¡ y2, приходим к выводу, что для оптимальности точки x¤ 2 X в случае
линейных ограничений необходимо и достаточно существования таких чисел yj ¸ 0, ñî-
ответствующих ограничениям неравенствам, и произвольных чисел yj, соответствующих ограничениям равенствам, что
24
X
¡f0(x¤) = yj'0j(x¤):
j2I(x¤)
Заметим, что ограничения равенства всегда0 являются активными ограничениями.
В рассматриваемом примере для точки x получим систему ¡24 = 5y; ¡4 = 3y; 16 = ¡4y, которая, очевидно, несовместна. Значит, точка x0 не оптимальна.
Для точки x00 система принимает вид ¡20 = 5y; ¡12 = 3y; 16 = ¡4y, решением которой
является y = ¡4. Поскольку множитель y соответствует ограничению равенству, для него нет ограничения по знаку. Следовательно, точка x00 оптимальна.
Задачи
Проверить указанные точки на оптимальность в задачах выпуклого программирования:
1) f(x) = ¡2x21 ¡ 3x22 + x1 ¡ 6 ¡! maxX ,
X= fx j x21 + x1 ¡ 3 · 0; 2x1 + x2 ¡ 5 · 0; x2 ¸ 0g, x1 = (1; 1); x2 = (2; 1); x3 = (1=4; 0); x4 = (0; 0);
2)f(x) = x21 + 3x1 ¡! minX ,
X= fx j x21 + x22 ¡ 2x1 + 8x2 + 16 · 0; x1 ¡ x2 · 5g, x1 = (1; ¡4); x2 = (0; ¡4); x3 = (2; ¡4);
3)f(x) = 7x21 + 2x22 ¡ x1x2 + x1 ¡ x2 ¡! minX ,
X= fx j x1 + x2 · 2; x1 ¡ 3x2 · 4; ¡2x1 + x2 · ¡3g, x1 = (5=2; ¡1=2); x2 = (1; ¡1); x3 = (2; 0);
4)f(x) = x21=2 + x22 ¡ 5x1 + x2 ¡! minX ,
X= fx j x1 + x2 ¡ 2x3 · 3; 2x1 ¡ x2 ¡ 3x3 ¸ ¡11; x1 ¸ 0; x2 ¸ 0; x3 ¸ 0g, x1 = (1; 0; 2); x2 = (0; 0; ¡1); x3 = (1; 3; 0); x4 = (2; 1; 1); x5 = (5; 0; 1);
5)f(x) = ex1+x2 + x21 ¡ 2x2 ¡! minX ,
X= fx j x2 · ln x1; x1 ¸ 1; x2 ¸ 0g,
x1 = (2; ln 2); x2 = (e; 0); x3 = (1; 0);
6) f(x) = ex1+x2 + x23 + 2x1 + 2x2 ¡! minX ,
X = fx j x21 + x22 + x23 · 18; 2x1 + x2 ¡ x3 + 3 · 0g,
x1 = (¡3; 3; 0); x2 = (1; ¡1; 4); x3 = (¡3; ¡3; 0); x4 = (0; 0; 3);
7) f(x) = ¡5x21 ¡ 6x22 ¡ x23 + 8x1x2 + x1 ¡! maxX ,
X = fx j x21 ¡ x2 + x3 · 5; x1 + 5x2 · 8; x1 ¸ 0; x2 ¸ 0g,
x1 = (0; 0; 0); x2 = (1; 0; 4); x3 = (3=14; 1=7; 0); x4 = (4; 0; ¡11);
8) f(x) = ¡x21 ¡ 2x22 + x1x2 ¡ 26 ¡! maxX ,
X = fx j x21 · 25; x1 + 2x2 ¡ 5 · 0; x2 ¸ 0g,
x1 = (0; 0); x2 = (¡1; 2); x3 = (0; ¡6); x4 = (3; 0);
9) f(x) = 10x21 + 5x22 ¡ x1 + 2x2 ¡ 10 ¡! minX ,
X = fx j 2x21 + x2 · 4; x1 + x2 · 8; x1 ¸ 0g, x1 = (0; 0); x2 = (1; 1); x3 = (0; ¡1);
25
10) f(x) = 4x21 + 3x22 + 4x1x2 ¡ x1 + 6x2 ¡ 5 ¡! minX ,
X = fx j ¡ x21 ¡ x22 ¸ ¡3; 3x21 + x2 · 4; x1 ¸ 0; x2 ¸ 0g, x1 = (0; 0); x2 = (5; 0); x3 = (1; ¡1); x4 = (1; 1);
11) f(x) = x21 + 5=2x22 ¡ x1x2 ¡! minX ,
X = fx j x21 ¡ 4x1 ¡ x2 · ¡5; ¡x21 + 6x1 ¡ x2 ¸ 7g, x1 = (2; 1); x2 = (3; 2).
4. Линейное программирование
4.1. Различные формы задачи линейного программирования
Введ¼м обозначения I = f1; : : : ; mg; J = f1; : : : ; ng; I1; I2 ½ I; J1 ½ J; |
I1 [ I2 = |
|
I; I1 \ I2 = ;: Пусть заданы вещественные числа cj; bi; aij (i 2 I; j 2 J). |
|
|
Требуется найти минимум по x функции |
|
|
|
n |
|
w(x) = |
Xj |
|
cjxj |
(1) |
|
|
=1 |
|
при условиях
aix ¡ bi ¸ 0; i 2 I1; aix ¡ bi = 0; i 2 I2; xj ¸ 0; j 2 J1:
(2)
(3)
(4)
Здесь ai = (ai1; : : : ; ain) i-я строка матрицы ограничений A; i 2 I è x = (x1; : : : ; xn)>
вектор переменных задачи.
Задача (1) (4) называется задачей линейного программирования, заданной в общей фор-
ìå.Наряду с общей формой используются также каноническая и стандартная формы. Как в канонической, так и в стандартной форме все переменные в любом допустимом решении должны принимать неотрицательные значения, т. е. J1 = J. Такие переменные называются
неотрицательными в отличие от так называемых свободных переменных, на которые подобное ограничение не накладывается. При этом в канонической форме задачи I1 = ;, à â
стандартной I2 = ;.
Используя матричную запись, задачу линейного программирования в канонической форме можно представить следующим образом:
w(x) = cx ! min; |
(5) |
Ax = b; |
(6) |
x ¸ 0; |
(7) |
ãäå c = (c1; : : : ; cn) вектор строка, x è b = (b1; : : : ; bm)> вектор столбцы, а A = (aij) матрица размерности m £ n:
Задача линейного программирования в стандартной форме тогда запишется так:
w(x) = cx ! min; Ax ¸ b;
x ¸ 0:
26
Задача ЛП в общей форме сводится к задаче ЛП в канонической или стандартной форме. Под этим понимается существование общего способа построения по исходной задаче, заданной в общей форме, новой задачи ЛП в нужной нам форме, любое оптимальное решение которой преобразуется в оптимальное решение исходной задачи и наоборот. Тем самым, не теряя общности, можно заниматься изучением задачи ЛП, представленной, например, в канонической форме.
Рассмотрим на простых примерах несколько методов, позволяющих сделать такое преобразование задачи. Прежде всего, несколько общих замечаний:
1. Любая задача, в которой требуется найти максимум целевой функции, сводится к задаче на минимум умножением целевой функции на ¡1.
2. Любое ограничение неравенство вида
Xn
aijxj · bi
j=1
умножением на ¡1 приводится к неравенству
Xn a0ijxj ¸ b0i;
j=1
ãäå a0ij = ¡ aij; b0i = ¡ bi:
3. Любое ограничение неравенство вида
Xn
aijxj ¸ bi
j=1
сводится к равенству введением новой неотрицательной переменной. Для этого достаточно |
|||
положить |
n |
|
|
|
Xj |
|
|
|
yi = aijxj ¡ bi ¸ 0: |
||
|
=1 |
|
|
Тогда получаем ограничение равенство |
|
|
|
|
n |
|
|
|
Xj |
¡ yi = bi; |
|
|
aijxj |
|
|
|
=1 |
|
|
при этом, очевидно, исходное неравенство принимает вид yi ¸ 0: |
|||
4. Любое ограничение равенство |
|
|
|
|
n |
|
|
|
Xj |
|
|
|
aijxj = bi |
|
|
|
=1 |
|
|
можно представить в виде двух неравенств |
|
|
|
|
n |
n |
|
|
X |
Xj |
· bi: |
|
aijxj ¸ bi; |
aijxj |
|
|
j=1 |
=1 |
|
5. Любая свободная переменная xj может быть представлена разностью двух неотрица-
тельных переменных: |
xj = xj1 ¡ xj2; ãäå xj1 ¸ 0; xj2 ¸ 0: |
|
27
Пример 1. Привести к канонической форме (5) (7) задачу
x1 + x2 ! max; 2x1 + x2 ¸ 1; x1 ¡ x2 · 0; x1 ¸ 0:
Решение. Сводим исходную задачу к задаче на минимум, умножив целевую функцию на ¡1. Получим
w(x) = ¡x1 ¡ x2:
Запишем ограничения неравенства в виде равенств, введя новые неотрицательные переменные x3 ¸ 0; x4 ¸ 0 :
2x1 + x2 ¡ x3 = 1; x1 ¡ x2 + x4 = 0:
Заменим свободную переменную x2 разностью двух неотрицательных переменных x5 ¸
0; x6 ¸ 0 :
x2 = x5 ¡ x6:
После этих преобразований исходная задача запишется в канонической форме:
¡x1 ¡ x5 + x6 ! min; 2x1 ¡ x3 + x5 ¡ x6 = 1; x1 + x4 ¡ x5 + x6 = 0; xi ¸ 0 (i = 1; 3; 4; 5; 6):
Пример 2. Привести к стандартной форме записи задачу
w(x) = 2x1 ¡ x2 ! min; x1 ¡ x2 · 1;
2x1 + x2 = 2; x2 ¸ 0:
Решение. Заменим свободную переменную x1 разностью двух неотрицательных пере- менных x3 ¸ 0; x4 ¸ 0 :
x1 = x3 ¡ x4:
Запишем ограничение равенство в виде двух неравенств:
2x1 + x2 · 2;
2x1 + x2 ¸ 2:
После этого исходная задача может быть записана в стандартной форме:
¡x2 + 2x3 ¡ 2x4 ! min;
¡x2 + x3 ¡ x4 · 1; x2 + 2x3 ¡ 2x4 · 2;
¡x2 ¡ 2x3 + 2x4 · ¡2; x2 ¸ 0; x3 ¸ 0; x4 ¸ 0:
Задачи
1. Привести к канонической форме:
28
1) x1 ¡ x2 + x3 ¡! max,
x1 ¡ x2 = 0; x2 · 1; x3 ¸ 0;
2) x1 + x2 + 3x3 ¡! max,
2x1 + x2 + x3 · 1; x2 + x3 ¸ 0; x2 ¸ 0; x3 ¸ 0;
3) x1 ¡ x2 ¡ x3 ¡ x4 ¡! min,
x1 + x2 ¡ x4 · 1; ¡x1 + x2 + x4 · 1; x2 + x3 = 1; x1 ¸ 0; x2 ¸ 0;
4) x1 ¡ x2 ¡ 2x3 ¡ 3x4 ¡! min,
x1 ¡ x2 + x3 + x4 = 1; ¡x1 ¡ x4 · 5; x2 + x3 ¸ 10; x1 ¸ 0; x2 ¸ 0; x3 ¸ 0;
5) x1 ¡ x2 ¡ x3 + 10x4 ¡! max,
x1 + x2 + x3 + x4 = 1; x2 + x3 + x4 = 1; x3 + x4 = 1.
2. Задача ЛП в стандартной форме
cx ! min; Ax ¸ b; x ¸ 0
приводится к канонической форме путем введения неотрицательных переменных y = (y1; : : : ; ym)>.
Получается задача
cx ! min; Ax ¡ Ey = b; x ¸ 0; y ¸ 0
(здесь E единичная матрица размера m £ m). Доказать, что если (x; y) решение последней задачи, то x решение исходной задачи.
3. Задача ЛП в общей форме |
n |
|
|
|
Xj |
|
cjxj ! min; |
|
=1 |
|
n |
|
Xaijxj ¸ bi; i 2 I1; |
|
j=1 |
|
n |
|
Xaijxj = bi; i 2 I2; |
|
j=1 |
|
xj ¸ 0; j 2 J1: |
приводится к канонической форме путем добавления неотрицательных переменных yi(i 2 I1) и замены переменных xj(j 2 J n J1) разностью двух неотрицательных переменных:
xj = x1j ¡ x2j ; j 2 J n J1:
29
Полученную задачу можно записать в виде |
|
|||
X |
|
2Xn |
|
|
cjxj + |
|
cj(xj1 ¡ xj2) ! min; |
|
|
j2J1 |
|
j |
J J1 |
|
X |
2Xn |
aij(xj1 ¡ xj2) ¡ yi = bi; i 2 I1; |
||
aijxj + |
|
|
||
j2J1 |
j J |
J1 |
|
|
X |
2Xn |
|
||
aijxj + |
|
aij(xj1 ¡ xj2) = bi; i 2 I2 |
; |
|
j2J1 |
j |
J |
J1 |
|
xj ¸ 0; j 2 J1; x1j ¸ 0; x2j ¸ 0; j 2 J n J1; yi ¸ 0; i 2 I1:
xj(j 2 J1); x1j ; x2j (j 2 J n J1); yi(i 2 I1) решение последней задачи, то xj(j 2 J1); xj = x1j ¡ x2j (j 2 J n J1) решение исходной задачи.
4.2. Базис и базисное решение
Далее рассматривается только задача ЛП в канонической форме (5) (7). Предположим, что матрица A имеет ранг m (m · n). Тогда в A имеется m линейно независимых столбцов.
Система линейных уравнений (6) совместна и неизбыточна. Пусть Aj = (a1j; : : : ; amj)>; j 2
J.
Определение. Любой набор A¾(1); : : : ; A¾(m) èç m линейно независимых столбцов называется базисом, как и матрица B = [A¾(1); : : : ; A¾(m)], составленная из этих столбцов.
Перестановкой столбцов матрицу A можно привести к виду A = [B; N], ãäå N подматрица, составленная из остальных столбцов матрицы A. Поступив аналогичным образом с векто-
ðîì x, получим представление x = |
xB |
, ãäå xB = (x¾(1); : : : ; x¾(m))>. |
|
||
|
xN |
|
|
|
|
являющиеся компонентами вектора |
xB (соответственно |
||||
Определение. Переменные xj, ³ |
´ |
|
|
|
|
xN ), называются базисными (соответственно небазисными). |
|
||||
Определение. Решение системы (6) |
xB |
B¡1b |
|
||
(соответствующим базису B). |
|
x = ³xN´ |
= ³0 |
´ называют базисным решением |
Утверждение 1. Вектор x базисное решение системы (6) тогда и только тогда, когда множество столбцов fAj j xj 6= 0; j 2 Jg матрицы A линейно независимо.
Число базисных решений конечно и не превосходит числа Cnm. Каждому базису соот- ветствует одно базисное решение, но базисному решению может соответствовать несколько базисов.
Определение. Базисным допустимым решением (б. д. р.) называется любой элемент множества X = fx j Ax = b; x ¸ 0g, являющийся базисным решением системы Ax = b.
Ясно, что решение, соответствующее базису B, является б. д. р. тогда и только тогда, когда B¡1b ¸ 0.
Утверждение 2. Вектор x является базисным допустимым решением тогда и только тогда, когда x есть крайняя точка множества X.
Утверждение 3. Åñëè X 6= ;, то существует базисное допустимое решение.
Теорема 1 (критерий разрешимости). Задача (5) (7) разрешима тогда и только тогда, когда X =6 ; и целевая функция w(x) ограничена снизу на множестве X.
Утверждение 4. Если задача ЛП разрешима, то существует оптимальное базисное допустимое решение.
Пример 1. Найти все базисы системы равенств и соответствующие им базисные решения:
x1 + x2 + x3 + x4 = 1;
30