Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы оптимизации алгоритмические основы задач оптимизации. Курс лекций
.pdf
на пересечении линий h
(x) = 0. Если же при этом ограничения-
i
равенства отсутствуют, то точка условного минимума совпадает с
точкой безусловного минимума функции.
Замечание 3.3. Данная задача является задачей выпуклого про-
граммирования, так как f(x) – выпуклый параболический цилиндр,
g
(x) – вогнутый параболоид вращения, а g1(x) и h1(x) – линейные
2
функции. Следовательно, решение системы неравенств (3.22) действительно является точкой условного минимума.
Замечание 3.4. Для задачи невыпуклого программирования обычно имеется не одна точка, удовлетворяющая условиям Куна – Таккера. В этом случае точку условного минимума нужно искать проверкой условий минимума второго порядка.
Напомним, что для решения системы (3.22), содержащей неравенства, нужно выбрать для каждого из множителей μ
один из двух ва-
j
риантов: множитель равен нулю или он больше нуля. Рассмотрим все
возможные варианты комбинаций.
Вариант 1. μ
= 0; μ2 = 0.
1
При этом уравнения 1) и 2) в (3.22) имеют следующий вид:
x
2
–1 –
– λ1 = 0;
1
λ
= 0.
1
Отсюда λ
x
= 13/2. Полученные значения не удовлетворяют неравенствам 7) и 8).
2
= –1, x1 = – 1/2. Тогда из уравнения 9) в (3.22) получим
1
Следовательно, решения нет.
Вариант 2. μ
= 0; μ2 > 0.
1
Уравнения 1) и 2) в (3.22) имеют вид
x
2
–1 –
– λ1 + 2μ
1
λ
+ 2μ
1
2x1
2x2
= 0;
= 0.
При этом из уравнения 4) следует
2
26 –
Подставив сюда x
= 6 – x1 из уравнения 9), получим x
2
Отсюда имеем два корня: x
Если x
= 5, то, очевидно, x2 = 1. Подставив эти значения в 1) и 2)
1
x
= 5 и x1 = 1.
1
1
– x
2
= 0.
2
2
– 6x1 + 5 = 0.
1
из (3.22) , получим:
51

10 – λ1 + 10μ2 = 0;
*
1
x
*
2
x
2
1
x
2
2
x
–1 –
λ
+ 2μ2 = 0.
1
Из второго уравнения имеем λ
= 2μ2 – 1. Подставим это выраже-
1
ние в первое уравнение:
10 – 2
Отсюда μ
= – 11/8, что противоречит условию μ2 > 0. Следова-
2
μ
+ 1 + 10μ2 = 0.
2
тельно, решения нет.
Исследуем случай x
= 1. Тогда x2 = 5. Снова подставим эти значе-
1
ния в 1) и 2) из (3.22):
λ
2 –
–1 –
Решение этой системы дает μ
Итак, решение x
= 1, x2 = 5, μ1 = 0, μ2 = 3/8, λ1 = 11/4 удовлетворя-
1
+ 2μ2 = 0;
1
λ
+ 10μ2 = 0.
1
= 3/8, λ1 = 11/4.
2
ет всем условиям Куна – Таккера.
Вследствие того что данная задача относится к классу задач вы-
пуклого программирования, условный минимум есть
= 1,
Однако продолжим решение, чтобы подтвердить правильность
заключения о выпуклости задачи.
Вариант 3. μ
> 0, μ2 = 0.
1
Уравнения 1) и 2) из (3.22) имеют следующий вид:
x
2
–1 –
– λ1 – μ1 = 0;
1
λ
= 0, т.е. λ1 = –1.
1
= 5.
При этом из уравнения 3) в (3.22) следует x
ния 9) в (3.22) получим x
имеем μ
(3.22)
= 3. Итак, получена та же точка x*, причем все условия
1
выполнены.
Вариант 4. μ
> 0, μ2 > 0.
1
= 5. После подстановки этих значений в 1)
2
= 1. Тогда из уравне-
1
Уравнения 1) и 2) в (3.22) сохраняют свой первоначальный вид.
Из уравнений 3) и 4) следует:
x
26 –
Отсюда x
ет x
= 5.
2
52
= 1, x2 = +5 или –5. Но при x1 = 1 из уравнения 9) следу-
1
– 1 = 0;
1
–
= 0.

Подставив эту точку в уравнения 1) и 2) из (3.22), получим:
x
1
x2
λ
2 –
–1 –
– μ1 + 2μ2 = 0;
1
λ
+ 10μ2 = 0.
1
Из этой системы уравнений имеем
μ
= 3 – 8μ2 > 0.
1
Отсюда значения μ
0
определяются следующим отрезком:
2
≤ μ
≤ 3/8.
2
Следует обратить внимание, что точки на концах этого отрезка
совпадают со значениями множителей в вариантах 2 и 3.
Итак, варианты 2, 3, 4, в которых решение существует, дают одну
и ту же точку x
*
= (1; 5). Правильность вывода о выпуклости задачи
подтвердилась. Кажущаяся многозначность решения поясняется графической иллюстрацией задачи (рис. 3.4). Штриховка направлена в
сторону положительных значений g
6
1
0
(x).
j
g1(x) = 0
1
6
h1(x) = 0
g2(x) = 0
g2(x) = 0
Рис. 3.4. Графическое изображение решения
Замечание 3.5. Как следует из вычислений в варианте 4, значения
множителей μ
и μ2 являются множеством точек отрезка, концы ко-
1
торого получены в качестве решения в вариантах 2 и 3. Это объясня-
53

ет тот факт, что в данных вариантах получены разные значения мно-
2
1
x
2
2
x
2
1
x
2
2
x
2
1
x
2
1
x
2
2
x
220;
12 0;
2
1
x
2
2
x
жителей.
Замечание 3.6. Указанная ситуация является следствием того, что в
точке x = (1; 5) пересекаются все три кривые ограничений (см. рис. 3.4).
Это означает, что одно из ограничений h
(x) = 0, g1(x) ≥ 0, g2(x) ≥ 0
1
является лишним. Поэтому, хотя формально оба ограничениянеравенства являются активными, наличие равенства делает любое
одно из неравенств пассивным, т.е. удаляемым из системы ограничений без изменения решения.
Замечание 3.7. Как следует из рис. 3.4, допустимой областью в рассматриваемой задаче является отрезок прямой h
жащий внутри круга g
(x) = 26 –
2
–
= 0.
(x) = x1 + x2 – 6 = 0, ле-
1
Замечание 3.8. Функция f(x) не имеет минимума. Это означает, что
точка условного минимума обязательно принадлежит границе допустимой области, т.е. хотя бы одно из неравенств должно быть активным. Поэтому случай μ
= 0, μ2 = 0 можно было не рассматривать.
1
Рассмотрим теперь более регулярный вариант той же задачи, убрав из системы ограничений ограничение-равенство. Будем решать
следующую задачу.
Дана функция f(x) = x
2
– x2 и система ограничений:
1
g
(x) = x1 – 1 ≥ 0; g2(x) = 26 –
1
Функция Лагранжа:
L(x, λ, μ) = (
Условия Куна – Таккера:
Lx
1)
d()
d
Lx
2)
d()
d
μ
3)
4)
5)
6)
54
(x1 – 1) = 0; (3.25)
1
μ
(26 –
2
μ
≥ 0;
1
μ
≥ 0;
2
– x2) – μ1(x1 – 1) – μ2(26 –
xx
=−μ+μ=
x
1
x
2
11 21
–
x
22
) = 0;
=− + μ =
–
≥ 0. (3.23)
–
). (3.24)

7) x1 – 1 ≥ 0;
2
1
x
2
2
x
8) 26 –
–
≥ 0.
Проследим, как и раньше, последовательные шаги решения при
разных вариантах значений множителей μ
Вариант 1. μ
= 0; μ2 = 0.
1
, μ2.
1
Задача не имеет решения (см. замечание 3.8).
Вариант 2. μ
= 0; μ2 > 0
1
Уравнения 1) и 2) из (3.25) имеют следующий вид:
x
2
+ 2μ
1
–1 + 2
μ2x
2x1
= 0;
= 0.
2
Из первого уравнения следует: либо x
Ни в том, ни в другом случае решения нет, так как x
летворяет неравенству 7), а μ
= –1 не удовлетворяет неравенству 6)
2
= 0, либо μ2 = –1 при x1 ≠ 0.
1
= 0 не удов-
1
из (3.25).
Вариант 3. μ
> 0, μ2 = 0.
1
Уравнения 1) и 2) из (3.25) имеют следующий вид:
x
2
– μ1 = 0;
1
–1 = 0.
Это означает, что второе равенство не выполняется ни при каких
значениях x. Значит, решения нет.
Вариант 4. μ
> 0, μ2 > 0.
1
Уравнения 1) и 2) из (3.25) сохраняют свой первоначальный вид:
x
2
– μ1 + 2μ
1
–1 + 2
μ2x
2x1
= 0.
2
= 0;
Из уравнений 3) и 4) в (3.25) следует:
x
26 –
Отсюда x
При x
следует μ
При x
Подставив x
+ 2/10 = 0.
= 1, x2 = +5 или –5.
1
= –5 из второго уравнения следует: –1 – 10μ2 = 0. Отсюда
2
= –1/10, что не удовлетворяет уравнению 6) из (3.25).
2
= 5 из второго уравнения получаем μ2 = 1/10.
2
= 1 и μ2 = 1/10 в первое уравнение, получим 2 – μ1 +
1
Отсюда μ
= 11/5.
1
– 1 = 0;
1
2
x
– x
1
2
= 0.
2
55

В этом случае все условия Куна – Таккера удовлетворены. Следо-
d(, )
d(, )
2
2
x
2
2
x
вательно, найденная точка x
*
= (1; 5) есть точка условного минимума.
3.2.7. Пример задачи невыпуклого программирования
нужно найти минимум функции f(x) = (x1 – 1)2 + x
Пусть
2
при ог-
2
раничении
g
(x) = –x1 + x
1
2
≥ 0. (3.26)
2
Запишем функцию Лагранжа:
L(x, μ) = (x
– 1)2 + x
1
2
– μ1(–x1 + x
2
2
). (3.27)
2
Теперь запишем условия Куна – Таккера:
Lx
μ
1)
2)
3)
4)
5) –
Lx
μ
(–x1 +
1
μ
≥ 0;
1
x
1
+
= 2(x1 – 1) + μ1 = 0;
d
x
1
μ
= 2x2 – 2μ
d
x
2
) = 0;
≥ 0.
= 0; (3.28)
1x2
Вычислим все возможные точки Куна – Таккера.
Пусть μ
= 0. Тогда из 1) и 2) в (3.28) имеем x1 = 1, x2 = 0. Это точ-
1
ка безусловного минимума функции f(x). Она не удовлетворяет условию 5) в (3.28).
Пусть теперь μ
> 0. Выразим его через x
1
из уравнения 1) в (3.28):
1
μ
= –2(x1 – 1). (3.29)
1
Подставим это выражение в 2) и 3) из (3.28):
2x
–2(
(1 + 2(x1 – 1)) = 0; (3.30)
2
x
– 1)(–x1 + x
1
2
) = 0. (3.31)
2
Рассмотрим возможные варианты решения.
Вариант а. x
= 0 из (3.30) Тогда из (3.31) и (3.29) имеем два вари-
2
анта:
56
a1) x
= 0; μ1 = 2; a2) x1 = 1; μ1 = 0.
1

Вариант б. x
11
1) ;б2) .
22
1/ 2
1/ 2
(, ) ;
02(1 )
2
1
grad .
x
22
12 1 2
20 1
(, ) ;grad () ;
,22.
Qyy y y
μ
= 1.
1
≠ 0 из (3.30). Тогда из (3.30) и (3.29) имеем: x1 = 1/2,
2
Подставив эти значения в 3) из (3.28), получим:
б
xx=+ =−
22
Заметим, что вариант а2 не имеет смысла, так как значение μ
= 0
1
противоречит исходному предположению.
Итак, имеем следующие возможные точки решения (табл. 3.2).
Таблица 3.2
Номер точки x1 x2
1 0 0 2
2 1/2
3 1/2
+
+
μ
1
1
1
Легко проверить, что все эти точки удовлетворяют условиям (3.28).
Поскольку имеются три точки, удовлетворяющие условиям Куна –
Таккера (т.е. условиям первого порядка), окончательное решение
нужно получить, используя условия второго порядка (см. прил. 3).
Напомним, что последние диктуют положительную определенность
матрицы Гессе H(x, μ) (матрицы вторых производных функции Лагранжа), т.е. положительность числа Q = y
T
H(x, μ)y > 0 для таких векторов y,
скалярные произведения которых на градиенты функций-ограничений
g
(x) равны нулю, причем сам вектор y не является нулевым.
j
Запишем условия второго порядка для рассматриваемого примера. Вторые производные вычислим, используя первые производные
1)
и 2) (см. формулу (3.28)):
Точка 1. x
Hx μ=
= x2 = 0; μ1 = 2.
1
Hx g x
μ= =
02 0
−
−μ
1
1
20
=⋅ ⋅=−
20
02
y
1
y
−
2
gx
()
1
−
=
2
−
(3.32)
57

Определим множество векторов y:
,0.
(, ) ;grad () ;
2/ 2
2
12 1
2.
Qyy y
(2/ 2) 0,
21
(2/2).
yy
1/ 2;
yy y
⋅=−=
12 1
−
1
0
Это означает, что множество векторов y имеет вид (0, y
).
2
Как видно из выражения (3.32), число Q всегда отрицательно за
исключением нулевого вектора y. Точка 1 не является точкой условного минимума.
Точка 2. x
= 1/2;
1
; μ1 = 1.
2/12+=x
20
Hx g x
μ= =
00
20
=⋅⋅=
00
1
−
1
y
1
y
2
Отсюда видно, что число Q положительно при любых ненулевых
векторах y. Получим все же множество векторов y, для которых нужно проверить положительность Q:
−
т.е.
yy y y
12 1 2
=
1
⋅=−+ =
2/ 2
Итак, точка 2 есть точка условного минимума.
Точка 3. x
Матрица H(x, μ) зависит только от μ
=1/2;
1
x =−
2
μ1 = 1.
и не зависит от x. Поэтому
1
число Q для точки 3 вычисляется по той же формуле, что и для точки
2.
Следовательно, оно также положительно при любых ненулевых
векторах y. Значит, точка 3 тоже есть точка условного минимума.
Феномен двух точек условного минимума объясняется симметричностью этой задачи (рис. 3.5).
Как следует из рис. 3.5, множество точек допустимой области есть
точки, расположенные вне дуги параболы-ограничения. Это множество, кстати, не является выпуклым. Линии уровня функции есть окружности. Окружность с наименьшим значением функции, имеющая
общие точки с допустимой областью, касается параболы в двух симметричных относительно горизонтальной оси точках, которые и являются точками условного минимума.
58

Рис. 3.5. Графическое изображение решения задачи невыпуклого
программирования
3.3. Линейное программирование
3.3.1. Общая характеристика задачи
Пусть
имеется задача поиска условного минимума функции
y = f(x) при ограничениях h
(x) = 0, (i = 1, m), gj(x) ≥ 0, (j = 1, r), (3.33)
i
где x – вектор размерности n, причем, как и раньше, m < n.
Задача поиска условного минимума называется задачей линейного
программирования (ЛП), если все функции f(x), h
линейными функциями x, а кроме того наложены ограничения x
(
k = 1, n). По определению
max
f(x) = min (–f(x)).
(x), gj(x) являются
i
≥ 0,
k
Поэтому в дальнейшем будем строить алгоритмы только для поиска минимума функции.
В принципе задача ЛП может быть решена в соответствии с одним из рассмотренных выше алгоритмов нелинейного программирования. Однако это было бы возможно лишь при малой размерности
n. При большой размерности n решение таким способом практически
невозможно, а прикладные проблемы приводят к постановке задачи
59

ЛП, имеющей большую размерность. Достаточно упомянуть задачу
*
g1(x) = 0
grad f(x)
прогноза погоды, в которой количество компонент вектора x составляет несколько тысяч. Поэтому для решения задач ЛП разработаны
специальные алгоритмы.
3.3.2. Геометрия задачи ЛП
Функция
f(x) является линейной, поэтому безусловного минимума
она не имеет. Линии уровня f(x) представляют собой гиперплоскости,
а для n = 2 являются прямыми, как и линии уравнений-ограничений
n – размерность пространства переменных).
(
На рис. 3.6 представлено графическое решение задачи ЛП при
следующих данных: n = 2, m = 0, r = 3.
x
2
ОДР
g2(x) = 0
x
f(x) = C
g3(x) = 0
x
1
Рис. 3.6. Изображение решения задачи ЛП
Область допустимых решений (ОДР) (см. рис. 3.6) представлена
многоугольником (в данном примере – треугольником). В двумерном
пространстве каждой вершине этого многоугольника соответствует
пересечение двух линий.
Замечание 3.9. В частном случае через какую-либо вершину могут проходить и более чем две линии ограничений. Однако это означает, что имеются лишние ограничения, не влияющие на решение.
60
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
