книги / Математические основы теории систем. Методы оптимизации
.pdfДалее по симплекс-методу выбирается разрешающий столбец (–6 – максимальный по модулю отрицательный коэффициент целевой функции), разрешающую строку (здесь разрешающей может быть любая строка, правая часть которой – 0), разрешающий элемент 1. Меняются местами переменные Y3 и Y4, причем столбец, соответствующий Y3, вычеркиваем из таблицы;
в) новая симплекс-таблица:
Проверяются ограничения и целевая функция: 0 – 0 + 2·0 – 4·0 + 0 = 0, 0 + 2·0 + 0 + 0 – 6·0 = 0, 0 + 3·0 + 1 = 1,
0 + 0 + 1 = 1.
Меняются местами переменные Y0 и Y5, причем столбец, соответствующий Y0, вычеркиваем из таблицы;
г) новая симплекс-таблица:
Проверяются ограничения и целевая функция: 0 – 0 + 2·3 – 4·0 + 0 = 0, 0 + 0 + 0 + 0 – 6·0 = 0, 0 + 3·0 + 1 = 1, 0 + 0 + 1 = 1.
81
Меняются местами переменные y2 и y6, причем столбец, соответствующий y2, вычеркиваем из таблицы;
д) новая симплекс-таблица:
|
1 |
|
3 |
1/5 |
7/25 |
0 |
0 |
1/10 |
2 |
–3/5 |
4/25 |
|
|
|
1 |
0 |
0 |
|
|
|
Проверяются ограничения и целевая функция:
0 − 4 + 7 − 4 1 + 0 = 0 , 25 25 10
0 + 2 4 + 7 + 0 − 6 1 = 0 ,
|
25 |
25 |
10 |
|
4 |
+ 3 |
7 |
+ 0 |
= 1 , |
25 |
|
|||
25 |
|
|
0 + 0 = 0.
Как видно из таблицы, в результате тождественного преобразования исходные переменные делятся на базисные и свободные;
е) переход к исходной целевой функции:
Q = 3Y2 – 2Y3.
Записываются ограничения, полученные из итоговой симплекстаблицы:
|
1 |
|
y1 |
+ y3 = |
7 |
, |
|
|||||||
|
|
|
|
|
|
|
||||||||
5 |
25 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
1 |
|
|
|
|
|
|
||
y0 |
= |
|
|
, |
|
|
|
|
|
|||||
10 |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
3 |
|
|
|
|
|
|
4 |
|
||||
− |
|
|
|
y1 + y2 |
= |
|
. |
|||||||
5 |
25 |
|||||||||||||
|
|
|
|
|
|
|
|
|
Выразим базисные переменные через свободные, и подставим эти выражения в целевую функцию:
Q = 3y2 − 2y3 |
= |
12 |
+ |
9 |
y1 |
− |
14 |
− |
2 |
y1 |
= |
7 |
y1 |
− |
2 |
. |
|
|
|
|
|
|
|||||||||||
|
25 |
5 |
|
25 |
5 |
|
5 |
|
25 |
|
82
В итоге получена начальная симплекс-таблица, т.е. задача приведена к каноническому виду.
|
1 |
|
0 |
0 |
1/10 |
2 |
–3/5 |
4/25 |
3 |
1/5 |
7/25 |
|
|
|
|
7/5 |
2/25 |
|
|
|
Как видим, все коэффициенты целевой функции положительны, следовательно, решение оптимальное:
y0 |
= |
|
1 |
|
, y1 = 0, y2 |
= |
4 |
, y3 |
= |
7 |
. |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||||||||||
|
10 |
|
|
25 |
|
25 |
|
|
|
|
|
|
|||||||
Переход к исходным переменным: |
|
|
|
||||||||||||||||
x1 |
= |
y1 |
|
= 0, x2 = |
y2 |
|
= 1,6, x3 |
= |
y3 |
|
= 2,8, x4 |
= |
y4 |
= 0 10 = 0. |
|||||
y0 |
y0 |
|
y0 |
y0 |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
2. Задача приводится к каноническому виду методом искусственного базиса:
y1 − y2 + 2y3 − 4y0 + y5 = 0,− + + + − =
y1 2y2 y3 y4 6y0 0,+ + =
y2 3y3 y6 1.
Искусственная целевая функция: G = y4 + y5 + y6 → min.
Задания для самостоятельного решения
1. |
f (x) = |
4x1 + 3x2 |
→ min |
2. |
f (x) = |
x1 + x2 − x3 |
→ min |
|
|
||||||
|
|
2x1 + x2 |
|
|
2x2 + x3 + 1 |
||
x1 |
+ 2x2 ≤ 16, |
–x1 |
+ x 2 + 3x3 = 8, |
||||
x1 |
+ x2 ≤ 10, |
2x1 |
– x2 – x3 = 4, |
||||
x1 |
≤ 6, |
xj ≥ 0, j = 1, 2, 3. |
x2 ≤ 7, x1, x2 ≥ 0
83
3. f (x) = 3x2 − 2x3 → min x2 + 3x3
x1 – x2 + 2x3 = 4,
–x1 + 2x2 + x3 + x4 = 6, xj ≥ 0, j = 1,..4.
5. f (x) = −2x1 − x2 + x3 → min x1 + 3x2 + 5x3
6x1 – 3x 2 + x3 + x4 = 12, 7x1 – x2 + 2x3 ≤ 12, –4x1 + 2x2 – x3 – x5 = 1, xj ≥ 0, j = 1,..5.
7. |
f (x) = |
−2x1 + x2 |
|
→ min |
|||
x1 |
+ 3x2 |
+ |
2 |
||||
|
|
|
4x1 – x 2 ≤ 5,
x1 + 3x2 – x3 = 7, –3x1 + 4x2 + x4 = 17, xj ≥ 0, j = 1,..4.
9. f (x) = x1 − 2x2 + 3 → min x2 + 2
x1 + x 2 – x3 = 5, –x1 + 2x2 ≥ 1, –3x1 + x2 + x4 = 1, xj ≥ 0, j = 1,...,4.
4. |
|
f (x) = |
3x1 + x2 |
|
→ min |
||
|
x1 + x2 + |
2 |
|||||
|
|
|
|
|
|||
x1 |
+ x 2 + x5 = 3, |
|
|
|
|||
3x1 |
+ x2 – x3 = 4, |
|
|
|
|||
–x1 |
+ 3x2 + x4 = 6, |
|
|
|
|||
xj ≥ 0, j = 1,..5. |
|
|
|
||||
6. |
|
f (x) = |
x1 |
− x2 − 3 |
→ min |
||
|
|
|
|||||
|
|
|
3x1 |
+ 2x2 + 1 |
|||
x1 |
+ x 2 + x3 = 6, |
|
|
|
3x1 – 2x2 + x4 = 9, –x1 + 2x2 + x5 = 10, xj ≥ 0, j = 1,..5.
8. f (x) = −3x1 + 2x2 + 1 → min x1 + x2 + 3
–x1 + 3x 2 – x4 = 10, 2x1 + 4x2 – x3 – x4 = 20, 5x1 + 2x2 + x5 = 35, –3x1 + 2x2 + x6 = 11, xj ≥ 0, j = 1,6.
3.4. Методы поиска безусловного экстремума функции многих переменных
В задачах на поиск безусловного экстремума отсутствуют ограничения.
84
3.4.1. Аналитический метод
Задана функция нескольких переменных f(х1, х2…хn) → min
|
|
|
|
|
|
|
|
|
|
(max).Требуется найти такие вектора X |
1, X2 , |
Xk , при которых |
|||||||
функция минимальна. |
|
|
|
||||||
Алгоритм: |
|
|
|
||||||
1. Находим частные производные и приравниваем их нулю: |
|||||||||
|
∂f |
= 0 , i = 1,...,n. |
(3.12) |
||||||
|
|
||||||||
|
∂xi |
|
|
|
Решаем полученную систему (3.12).
2. В результате решения находим вектора X1, X2 , Xk . 3. Определение типа экстремума.
Для определения типа экстремума для каждой точки Xi составляется матрица А следующего типа:
a11 |
... |
a1n |
|
|
∂ |
2 f |
|
|
|
|
|
|
|
|
|||
A = ... |
|
|
, где aij |
= |
|
|
. |
(3.13) |
|
|
|
||||||
|
... |
|
|
|
∂xi∂xj |
|
||
an1 |
ann |
|
|
|
|
|
|
Тип экстремума находится из следующего положения:
– если все главные миноры матрицы А, найденные для точки Xi , положительны, то функция в этой точке имеет минимум;
–если все главные миноры матрицы (–А), найденные для точки Xi , положительны, то функция в этой точке имеет максимум;
–во всех остальных случаях функция в точке Xi , экстремума не
имеет.
Главный минор ∆i – это определитель подматрицы, получающейся из исходной путем отчеркивания i-й строки и i-го столбца.
Пример
F(x,y) = 3x3 – x + y3 – 3y2 – 1 .
Найти экстремумы заданной функции.
85
Решение: |
|
|
|||||
1. |
|
∂f |
= 3y2 − 6y, |
∂f |
= 9x2 − 1. |
||
|
|
|
|||||
|
|
∂y |
|
|
∂x |
||
|
|
2 |
− 1 = 0, |
|
|
||
|
9x |
|
|
|
|||
|
|
|
− 6y = 0 |
|
|
||
2. |
3y2 |
|
|
||||
|
|
|
|
|
1= 1 , x2 = − 1 , y1 = 0, y2 = 2. 3 3
3.Для определения типа экстремума требуется рассмотреть четыре точки:
X1 (1/3, 0), X2 (–1/3, 0), |
X3 (1/3, 2), X4 (–1/3, 2). |
||||||||||||||||||||
a11 |
|
a12 |
|
|
|
|
|
|
|
|
|
|
|
||||||||
A = |
|
|
|
|
|
|
|
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
a21 |
|
a22 |
|
|
|
|
|
|
|
|
|
|
|
||||||||
a = |
∂2 f |
= 18x , |
|
|
a = |
|
|
|
∂2 f |
= 0 , |
|||||||||||
∂x2 |
|
|
|
|
|
|
|||||||||||||||
11 |
|
|
|
|
|
|
12 |
|
|
|
∂y∂x |
||||||||||
a = |
|
|
∂2 f |
= 0 , |
|
|
a = |
|
|
|
∂2 f |
= 6y − 6 . |
|||||||||
|
|
|
|
|
|
||||||||||||||||
21 |
|
∂y∂x |
22 |
|
|
|
|
∂y2 |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Для точки X |
1 (1/3, 0): |
|
|
|
|
|
|
|
|
|
|
|
|||||||||
а11 = 6, а12 = а21 = 0, а22 = –6 |
|
|
|
|
|
|
|
||||||||||||||
|
|
1 ) = а11 = 6 > 0, |
|
|
|
|
|
1 ) = а11 а22 – а12 а21 = –36 < 0, |
|||||||||||||
∆1 ( X |
|
|
∆2 ( X |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
∆1 (– X |
1 ) = –а11 = –6 < 0, ∆2 (– X1 ) = а11 а22 – а12 а21 = –36< 0, |
||||||||||||||||||||
|
|
|
|
|
1 нет ни минимума, ни максимума. |
||||||||||||||||
Следовательно, в точке X |
|||||||||||||||||||||
|
|
|
2 (–1/3, 0): |
|
|
|
|
|
|
|
|
|
|
|
|||||||
Для точки X |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
а11 = –6, а12 = а21 = 0, а22 = –6 |
|
|
|
|
|
|
|
||||||||||||||
|
|
2 ) = а11 = –6 < 0, |
|
|
|
|
2 ) = а11 а22 – а12 а21 = 36 > 0, |
||||||||||||||
∆1 ( X |
|
|
∆2 ( X |
∆1 (– X2 ) = –а11 = 6 > 0, ∆2 (– X2 ) = а11 а22 – а12 а21 = 36> 0,
Следовательно, в точке X1 функция имеет максимум. Аналогично анализируются точки X3 и X4 .
86
3.4.2. Итерационные методы
Постановка задачи
Дано:
Функция нескольких переменных f(х1, х2…хn) → min (max). Точка X0 (x10 , x20 ,..., xn0 ) – начальное приближение к экстремуму.
ε – точность нахождения экстремума.
Критерий окончания счета
Обычно используются два критерия окончания счета:
|
|
|
≤ ε . |
|
grad f (X |
i ) |
(3.14) |
Модуль градиента в точке экстремума равен нулю. Следовательно, чем меньше модуль градиента, тем ближе к экстремуму точка. Модуль градиента:
|
|
|
= |
|
∂f |
2 |
|
grad f (Xi ) |
|
|
|||||
∂x1 |
|||||||
|
|
|
|
|
|
|
∂f |
2 |
|
∂f |
2 |
|
+ |
|
|
+ ... + |
|
|
X i |
∂x2 |
|
|||||
|
|
|
∂xn |
|
|
|
|
|
|
|
|
f (X |
i ) − f (Xi−1 ) |
< ε. |
(3.15) |
Разность значений функции в двух соседних точках при приближении к экстремуму стремится к нулю.
3.4.2.1. Метод покоординатного спуска
Сущность метода
Поиск экстремума ведется в направлении осей координат, т.е. в процессе поиска изменяется только одна координата. Таким образом, многомерная задача сводится к одномерной (рис. 3.6).
Рис. 3.6. Метод покоординатного спуска
( X1,2 – новые точки приближения к экстремуму)
87
Алгоритм метода
Первый цикл:
1-й шаг: x1 = var, х2 = х20, х3 = х30,…хn = хn0.
Ищем экстремум функции f(х1). Положим, экстремум функции в точке х11.
2-й шаг: x1 = х11, x2 = var, х3 = х30,…хn = хn0.
Экстремум f(х2) равен х21.
…
n-й шаг: x1 = х11, x2 = х21, x3 = х31,…xn = var.
В результате выполнения n шагов найдена новая точка приближения к экстремуму: X1 (x11, x12 ,..., x1n ) .
Далее проверяем критерий окончания счета (3.15):
если grad f (X1 ) ≤ ε – решение найдено, в противном случае выполняем еще один цикл.
Пример 1
f(x1, x2)= 4x12 – 10x22 +10x1 x2 – 26x1, X0 = (0, 0), ε = 0,1.
Решение:
1. x1 = var, х2 = 0, f(x1)= 4x12 – 26x1.
Любым известным методом находим экстремум: x11 = 3,25.
2. x1 = 3,25, х2 = var, f(x2)= –10x22 + 32,5x2 – 42,25. x21 = 1,625.
X1 = (3,2; 1,625).
3. Проверка критерия окончания счета:
∂f 2∂x1
|
∂f 2 |
|
|
|
|
||||
+ |
|
|
X 1 = 16,25. |
|
|
||||
|
∂x |
|
|
Как видим, grad f (X1 ) > 0,1, следовательно, требуется выполнить еще хотя бы один цикл.
Пример 2
f(x1, x2)= 5x12 + 5x22 – 4x1 x2 – x1 – x2, X0 = (1, 1), ε = 0,01.
88
Решение:
1. x1 = var, х2 = 1 f(x1)= 5x12 – 5x1 + 4.
Любым известным методом находим экстремум:
df = 10x1 − 5; dx1
10x1 − 5 = 0. x12 = 0,5.
2. x1 = 0,5, х2 = var, f(x2)=0,75 – 3 x2 + 5x22. x21 = 0,3.
X1 = (0,5; 0,3).
3. Проверка критерия окончания счета:
∂f 2∂x1
|
|
|
|
∂f |
2 |
|
|
|
|
|
|
|
|
+ |
|
|
|
|
= |
||
|
|
|
∂x2 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
||
X1=0,5 |
X2 |
=0,3 |
||||||||
|
|
|
= (10x1 − 4x2 − 1)2 + (−4x1 + 10x2 − 1)2 = 2,8. 2,8 > ε = 0,01.
Видим, grad f (X1 ) > 0,01, следовательно, требуется выполнить еще хотя бы один цикл.
3.4.2.2. Метод наискорейшего спуска
Поиск экстремума ведется шагами в направлении градиента (max) или антиградиента (min). На каждом шаге в направлении градиента (антиградиента) движение осуществляется до тех пор, пока функция возрастает (убывает).
Этот метод имеет лучшую сходимость, чем предыдущий. Допустим, требуется найти минимум функции.
Алгоритм метода: 1. Находим
|
|
0 ) = |
∂f |
, |
∂f |
,..., |
∂f |
X 0 . |
(3.16) |
|
grad f (X |
||||||||||
∂x1 |
∂x2 |
|
||||||||
|
|
|
|
|
∂xn |
|
||||
|
|
|
|
|
|
|
|
|
89 |
Введем обозначения:
∂f |
|
|
|
|
|
= a1,..., |
∂f |
|
|
|
|
|
0 ) = (a1 ,a2 ,...,an ). |
|
|
|
|
|
|
|
= an , тогдаgrad f (X |
||||||
∂x1 |
|
|
|
|
∂xn |
|
|
|
|||||
|
X |
0 |
|
|
X |
0 |
|
|
|||||
|
|
|
|
|
2. Делаем шаг в направлении антиградиента. Выражения для нахождения координат новой точки приближения к экстремуму выглядят следующим образом:
x11 |
= x10 − α1a1, |
||
|
= x20 − α1a2 |
|
|
x12 |
, |
||
|
|
|
(3.17) |
... |
|
|
|
1 |
0 |
1 |
, |
xn |
= xn |
− α an |
где α1 – величина шага в направлении антиградиента при 1-й итерации.
3. Нахождение величины шага.
В направлении антиградиента движемся до тех пор, пока функция убывает. Следовательно, шаг выбирается из условия минимума функции f(α1).
Для этого в функцию f(х1, х2… хn) подставляем выражения для координат новой точки (3.17).
В результате получим функцию одной переменной f(α1). Минимум f(α1) находим любым известным методом поиска экстремума функции одной переменной.
4. Полученное значение α1 подставляется в формулы (3.17).
Врезультате получаем точку X1 = (x11, …, xn1).
5.Проверка критерия окончания счета.
Если f (X1 ) − f (X0 ) < ε , то решение в точке X1 , иначе – требуется сделать еще шаг.
Пример 1
f(x1, x2) = x12 – 7x1 + x22 – 4x2 – x1x2 + 35, X0 = (1, 1), ε = 0,5.
Требуется найти минимум f(x1, x2).
90