Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Системный анализ и оптимизация биотехнологических производств. Учебное пособие

.pdf
Скачиваний:
2
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
I
I
I
I
I
I
Рис. 4.2. Уменьшение интервала неопределённости
при использовании метода дихотомии
а) б)
Рис. 4.3. Золотое сечение отрезка [a0, b0]
На отрезке [
концов точки
Точки длины всего отрезка [ оношению большей части к меньшей части. Кроме того, точка у0 про­изводит золотое сечение отрезка [
Метод относится к последовательным стратегиям. Задаются на­чальный интервал неопределённости и требуемая точность. Алгоритм уменьшения интервала опирается на анализе значений функции в двух точках «золотого сечения» (рис. 4.4). С учётом свойств «золотого се­чения» на каждой итерации, кроме первой, требуется только одно но­вое вычисление целевой функции. Условие окончания поиска стан­дартное: поиск заканчивается, когда длина текущего интервала неоп­ределённости оказывается меньше установленной величины.
Для метода «золотого сечения» характеристика относительного уменьшения начального интервала неопределённости находится по формуле
R(N
a
,
b
] имеются две симметричные относительно его
0
y
0
−
ab
−
yb
y
,
z
0
) = (0,618)
0
и
z
:
0
−
yb
00
=
00
производят золотое сечение отрезка, если отношение
0
00
=
−
ab
00
a
,
b
] к большей части [
0
0
N – 1
, где N – количество вычислений функции.
51
00
=
00
a
,
0
−
−
z
], а точка
0
−
ab
−
az
+
az
00
=
zb
2
00
a
z
– отрезка [
0
618,1
≅
,
z
] ([
y
0
,
0
0
.
b
]) равно
0
y
,
b
].
0
0
131
I
I
I
I
I
I
а) б)
Рис. 4.4. Уменьшение интервала неопределённости
при использовании метода золотого сечения
Если задана величина R(N), то требуемое значение для достижения желаемой точности вычислений функции находится как наименьшее
= 1,
az
)(ln1NR
.
618,0ln
F
=
F
+
k – 1
= [
a
0
0
, и числа
l
0
1
−
F
k – 2
,
b
];
0
0
)(
ab
−+=
00
k
L
L
F
≥
N
∆
F
N
00
F
N
целое число, удовлетворяющее условию
Метод с использованием чисел
N +>>
Фибоначчи: обеспечивает макси­мальное сокращение интервала неопределённости при заданном коли­честве вычислений функции и опирается на числа Фибоначчи. Числа Фибоначчи определяются по формуле
k =
2, 3, 4, … . Последовательность чисел Фибоначчи имеет вид 1, 1, 2,
F
=
F
0
1
3, 5, 8, 13, 21, 34, 55, 89, 144, 233, … .
Стратегия
поиска: точки вычисления находятся с использовани-
ем последовательностей N + 1 чисел Фибоначчи.
Алгоритм.
Шаг 1. Задать начальный интервал неопределённости
∆l > 0 – допустимую длину конечного интервала, ε > 0 – константу различимости.
Шаг 2. Найти количество вычислений функции как наименьшее
целое число, при котором удовлетворяется условие
Фибоначчи
F
,
F
, …,
0
1
Шаг 3. Вычислить
F
.
N
F
2
N
ay
−
00
F
N
)(
ab
−+=
;
00
Положить k = 0.
Шаг 4. Вычислить I(
132
y
), I(
z
):
k
k
,
.
z
2
+
k + 1
=
а) если I(
ay
kk
б) если I(
a
k + 1
y
) ≤ I(
k
F
3
−−
11 ++
++
kN
F
1
−−
kN
y
) > I(
k
F
2
−−
kN
F
1
−−
kN
z
), положить
k
)(
−+=
ab
. Перейти к шагу 5;
11
kk
z
), положить
k
)(
−+
ab
.
11
++
kk
a
=
a
;
b
=
z
;
z
=
y
k + 1
k
k + 1
k
a
=
y
;
b
=
b
k + 1
k
k + 1
; у
k
k + 1
k + 1
=
;
k
z
;
k
Шаг 5. Проверить условие окончания и в случае необходимости сделать заключительное N-е вычисление функции для получения решения:
а) если k ≠
б) если k =
N –
3, положить k := k + 1 и перейти к шагу 4;
N –
3, то всегда
y
=
z
= (
a
+
N – 1
N – 2
N – 2
b
) / 2, т.е. отсут-
N – 2
ствует точка нового вычисления функции.
Следует положить: и
z
вычисляются значения функции и находятся границы конечного
N – 1
y
N – 1
=
y
N – 2
=
z
N – 2
;
z
=
y
N – 1
+ ε. В точках
N – 1
y
N – 1
интервала неопределённости:
а) если I(
б) если I(
Процесс поиска завершается и
y
y
N – 1
N – 1
) ≤ I(
) > I(
z
), положить
N – 1
z
), положить
N – 1
x
a
a
*
∈ [
N – 1
N – 1
=
=
a
a
N – 1
y
,
b
=
N – 2
N – 1
,
b
,
N – 1
z
N – 1
b
=
N – 1
]. В качестве при-
b
N – 1
N – 2
;
.
ближённого решения можно взять любую точку последнего интервала, например его середину
*
≅
x
ba
11
−−
NN
.
Для метода Фибоначчи характеристика относительного уменьше­ния начального интервала неопределённости интервала находится по
формуле
Метод квадратичной
NR1)( =
, где N – количество вычислений функции.
F
n
интерполяции (метод Пауэлла [Powell M. J. D.]: задаётся начальная точка и с помощью пробного шага находятся три точки так, чтобы они были как можно ближе к искомой точке мини­мума; в полученных точках вычисляются значения функции и строит­ся полином второй степени, проходящий через имеющиеся точки; в качестве приближения точки минимума берётся точка минимума полинома; процесс поиска заканчивается, когда полученная точка от­личается от наилучшей из трёх опорных точек не более чем на задан­ную величину.
Алгоритм.
Шаг 1. Задать начальную точку
x
, величину шага ∆x > 0, ε1, ε2 –
1
малые положительные числа, характеризующие точность.
Шаг 2. Вычислить
x
=
x
+ ∆x.
2
1
133
I
I
I
I
I
I
I
I
I
I
I
I
()()(
)
Рис 4.5. Иллюстрация к методу квадратичной интерполяции
а) б)
Шаг 3. Вычислить I( Шаг 4. Сравнить I( а) если I( б) если I(
x
1
x
) > I( ) ≤ I(
1
Шаг 5. Вычислить I( Шаг 6. Найти
x
x
) с I(
1
x
), положить
2
x
), положить
2
x
I
= {min
min
1
3
) =
) =
I
и I(
x
) =
I
1
x
):
2
x
x
I
.
3
I
,
I
,
I
1
2
.
2
2
=
x
+ 2∆x (рис. 4.5, а);
3
1
=
x
– ∆x (рис. 4.5, б).
3
1
},
x
=
x
min
i
: I(
3
x
) =
I
.
i
min
Шаг 7. Вычислить точку минимума x интерполяционного поли-
нома, построенного по трём точкам:
2
1
x
и значение функции
x
на некоторой итерации обращается в нуль, то результатом интерпо-
2
=
)(xI
(рис. 4.5). Если знаменатель в формуле для
ляции является прямая. В этом случае рекомендуется обозначить =
x
и перейти к шагу 2.
min
2
3123
2
IxxIxxIxx
−+−+−
1221
322
,
)()()(2
IxxIxxIxx
−+−+−
321213132
x
=
1
Переходим к рассмотрению численных методов многомерной
минимизации: требуется найти безусловный минимум функции I(x) многих переменных, т.е. найти такую точку
= min
n
I(x).
x ∈ R
Метод Хука и
Дживса [R. Hooke, N. A. Jeeves]: представляет со-
x
*
∈
n
R
, что I(
*
x
) =
бой комбинацию исследующего поиска с циклическим изменением переменных и ускоряющего поиска
по
образцу. Исследующий поиск ориентирован на выявление локального поведения целевой функции и определение направления её убывания вдоль «оврагов» [11].
Исследующий
поиск начинается в некоторой начальной точке
0
x
называемой старым базисом. В качестве множества направлений по­иска выбирается множество разных координатных направлений и пе-
134
,
ременной в процессе поиска. Фиксируется первое координатное на-
I
I
правление и делается шаг в сторону увеличения соответствующей пе­ременной. Если значение функции в пробной точке меньше значения функции в исходной точке, шаг считается удачным. В противном слу­чае необходимо вернуться в предыдущую точку и сделать шаг в про­тивоположном направлении с последующей проверкой поведения функции. После перебора всех координат исследующий поиск завер­шается. Полученная точка называется новым базисом (на рис. 4.6 в точке
0
x
произведён исследующий поиск и получена точка
1
x
– новый базис). Если исследующий поиск с данной величиной шага неудачен, то она уменьшается и процедура продолжается. Поиск заканчивается, когда текущая величина шага станет меньше некоторой величины.
Поиск по образцу заключается в движении по направлению от старого базиса к новому (от точки точку
x
2
, из
2
x
через
3
x
на рис. 4.6). Величина ускоряющего шага зада-
0
x
через точку
1
x
, из точки
1
x
через
ётся ускоряющим множителем λ. Успех поиска по образцу определя­ется с помощью исследующего поиска из полученной точки (напри­мер, из точек 6, 11, 15 на рис. 4.6). Если при этом значение в наилуч­шей точке меньше, чем в точке предыдущего базиса, то поиск по об­разцу удачен (точки 6, 11 – результат удачного поиска по образцу, а точка 15 – неудачного). Если поиск по образцу неудачен, происходит возврат в новый базис, где продолжается исследующий поиск с умень­шенным шагом. На рисунке 4.6 удачный поиск отображается сплошны­ми линиями, а недачный – пунктирными. При поиске по i-му коорди­натному направлению меняется только перемнная ременные остаются зафиксированными.
x
, а остальные пе-
i
Рис. 4.6. Иллюстрация к методу Хука и Дживса
135
Метод деформируемого
многогранника (метод Нелдера–Мида
[J. A. Nelder, R. Mead]): в основу метода положено построение после­довательности систем n + 1 точек ются вершинами выпуклого многогранника. Точки системы
i
= 1, …, n + 1, на k + 1 итерации совпадают с точками системы
i
= 1, …, n + 1, т.е. I(
h
x
(k)) = max
1
x
(k), i = 1, …, n + 1, которые явля-
1 ≤ i ≤ n + 1
1
I(x
(k)). Точка
h
x
(k) заменяется
i
x
(k + 1),
x
i
(k),
на другую точку по специальным правилам. В результате многогран­ники деформируются в зависиости от структры линий уровня целевой функции, вытягиваясь вдоль длинных наклонных плоскостей, изменяя направление в изогнутых впадинах и сжимаясь в окрестности мини­мума. Построение последовательности мгогогранников заканчивается, когда значения функции в вершинах многогранника отличаются от значения функции в центре тяжести системы не более чем на ε > 0.
i
x
(k), i = 1, …, n + 1, i ≠ h,
Описание алгоритма реализации метода Нелдера–Мида и боль­шое количество разобранных примеров приведено в книге [10].
Метод сопряжённых направлений (метод Пауэлла [M. J. D. Po­well]): в этом методе используется тот факт, что минимум квадратич­ной функции может быть найден не более чем за n шагов при условии, что поиск ведётся вдоль сопряжённых направлений. Пусть H – сим­метрическая матрица размера
H-
сопряжёнными, если
правления
d
,
d
, …,
1
d
2
n
n × n
; векторы
T
Hdd
, i ≠ j. Задаётся начальная точка и на-
j
i
d
,
d
, …,
d
1
2
называются
n
, совпадающие с координатными. Находится минимум I(x) при последовательном движении по (n + 1) направлени­ям с помощью одного из методов одномерной минимизации. При этом полученная ранее точка минимума берётся в качестве исходной для поиска по следующему направлению, а направление как при первом ( направление поиска, сопряжённое с
d
=
d
), так и последнем поиске. Находится новое
0
n
d
. Оно проходит через точки, по-
n
лученные при первом и последнем поиске: направление на
d
,
d
на
d
2
и т.д. Направление
2
3
d
заменяется сопряжённым направ-
n
d
используется
n
d
заменяется
1
лением, после чего повторяется поиск по (n + 1) направлениям, уже не содержащим старого направления
d
. Построение сопряжённого
1
направления для квадратичной функции при n = 2 изображено на рис. 4.7, оно проходит через точки 1 и 3.
Алгоритм реализации метода сопряжённых направлений описан
в работе [12].
136
Рис. 4.7. К построению сопряжённых направлений
()(
)
Методы первого порядка
Метод градиентного спуска с постоянным
довательности {
0
где
x
– точка, заданная пользователем; ∇I(
вычисленный в точке
k
x
}, k = 0, 1, …, вычисляются по правилу
k + 1
x
k
=
x
–
αk∇I(x
k
x
;
α
– величина шага, заданная пользователем и
k
постоянная до тех пор, пока функция убывает в точках последователь­ности, что контролируется путём выполнения условия I(
или I(
k + 1
x
) – I(
тельности {
k
x
) < –
k
x
} заканчивается в точке
2
)(kxI∇ε
ε1 – заданное малое положительное число, или
k
), k = 0, 1, …,
шагом. Точки после-
k
x
) – градиент функции I(x),
k + 1
x
) – I(
k
x
) < 0
, 0 < ε < 1 [13]. Построение последова-
k
x
, для которой
k ≥ M
, где M – предель-
)( ε<∇kxI
, где
1
ное число итераций, или при двукратном одновременном выполнении двух неравенств
+ kk
ε<−
xx
,
2
1
+ kk
ε<−
xIxI
, где ε2 – малое
2
1
положительное число.
Сходимость. Пусть функция I(x) дифференцируема и ограни-
чена снизу на
ной начальной точке янным шагом имеем
n
R
, а её градиент удовлетворяет условию Липшица
yxLyIxI −≤∇−∇ )()(
∀x, y ∈
n
0
x
∈
R
для метода градиентного спуска с посто-
n
R
, где L > 0. Тогда при произволь-
0)(lim =∇
xI
∞→kk
,
137
что гарантирует сходимость последовательности {
(
)
I
I
I
I
точке нения метода точка целью её классификации. Метод градиентного спуска гарантирует сходимость последовательности {
*
x
, где ∇I(
*
x
) = 0. Следовательно, найденная в результате приме-
*
x
нуждается в дополнительном исследовании с
k
x
} к точке минимума для сильно-
k
x
} к стационарной
выпуклых функций [13].
Скорость
только для сильновыпуклых функций, когда последовательность {
сходимости. Оценки скорости сходимости получены
k
x
сходится к точке минимума I(x) со скоростью геометрической про­грессии:
k
*
k
0
*
k
I(x
) – I(
x
) ≤
g
(I(
x
) – I(
x
)),
*
k
gCxx ≤−
,
где g ∈ (0, 1), C > 0 – константы (рис. 4.8) [14].
Применяя алгоритм градиентного спуска с постоянным шагом, далее необходимо найти точку критериев окончания поиска, а затем провести анализ точки
k
x
, в которой выполнен хотя бы один из
k
x
с целью установить, является ли эта точка найденным приближением задачи. Процедура анализа определяется наличием у функции I(x) непрерыв­ных вторых производных; если да, то следует провести проверку вы­полнения достаточных условий минимума: если H( есть найденное приближение искомой точки рывные первые производные, то следует провести проверку функции
I(x
) на выпуклость в окрестности
k
x
, используя критерий выпуклости
x
*
x
*
) > 0, то точка
; если I(x) имеет непре-
x
для функций: функция I(x) выпукла (строго выпукла) в том и только том случае, если (I( (строго выпукла), то
x + y) ≥ I(x
k
x
есть найденное приближение точки
) + (∇I(x), y)), если функция выпукла
*
x
. Если
}
k
Рис. 4.8. Геометрическая интерпретация градиентного метода
138
требуется найти глобальный минимум функции I(x), то для строго вы-
(
)
ϕ
(
)
ϕ
(
)
ϕ
пуклой I(x) решение задачи аналогично поиску локального минимума функции, а если I(x) имеет несколько локальных минимумов, поиск глобального минимума осуществляется в результате перебора всех локальных минимумов.
Метод наискорейшего градиентного
спуска: стратегия поиска
аналогична стратегии поиска градиентного метода за исключением выбора величины шага на каждой итерации k – она определяется из условия
k
k
k
xIxI
k
→∇α−=αϕ min)()(
. (4.6)
α
k
Решение задачи (4.6) может осуществляться c использованием
необходимого условия минтимума
достаточного условия минимума
d
0=
α
d
2
ϕ
d
α
d
с последующей проверкой
k
0
>
. Такой путь может быть ис-
2
k
пользован либо для достаточно простой минимизируемой функции
ϕ(α
), либо при предварительной аппроксимации достаточно сложной
k
функции ϕ(
α
k
) =
k
рой или третьей степени), и тогда условие
dg
вием
0=
, а условие
α
d
k
k
)(
xIxI ∇α−
k
d d
полиномом g(
2
ϕ
0
>
– условием
2
α
k
α
) (как правило, вто-
k
d
0=
замещается усло-
α
d
k
2
gd
0
>
.
2
α
d
k
Другой путь решения задачи (4.6) связан с использованием чис-
ленных методов, когда ищется
∈α∈α
kk
k
],[],[
bakba
k
)(min)(min
xIxI
∇α−=αϕ
k
.
Границы интервала [a, b] задаются пользователем. При этом сте-
пень близости найденного значения
удовлетворяющему условиям
интервала [a, b] и точности методов одномерной минимизации [15].
Построение последовательности {
как и в методе градиентного
)( ε<∇kxI
, где ε1 – заданное малое положительное число, или
1
α
к оптимальному значению
k
2
ϕ
d
α
d
k
спуска с постоянным
d
0=
,
k
x
0
>
, зависит от задания
2
α
d
k
}, k = 1, 2, …, заканчивается
шагом, т.е. при
α
k ≥ M
*
k
,
,
139
где M – предельное число итераций, или при двукратном одновремен-
()(
)
1
ном выполнении двух неравенств
+ kk
ε<−
xx
,
2
где ε2 – малое положительное число. Вопрос о том, может ли точка рассматриваться как найденное приближение искомой точки локаль­ного минимума
Метод наискорейшего спуска гарантирует сходимость последова-
тельности {
*
x
, решается путём дополнительного исследования.
k
x
}, k = 1, 2, …, к точке минимума для сильновыпуклых функций [13]. Оценки скорости сходимости получены только для сильновыпуклых функций, когда последовательность {
1
+ kk
xIxI
k
x
} сходится к
ε<−
2
x
точке минимума функции I(x) со скоростью геометрической прогрес­сии (линейная сходимость):
+
xx
−
≤−
mM
+
*1
kkk
xx
−
, где M и m –
mM
оценки наибольшего и наименьшего собственных значений матрицы
H(x
) функции I(x) [13].
Метод покоординатного спуска
Seidel]). Точки последовательности { циклам в соответствии с правилом
где j – номер цикла вычислений, внутри цикла,
k =
задаётся пользователем, величина шага
 
 
Если выбранное условие при текущем
уменьшается вдвое и точка
ново. Согласно стратегии метода Гаусса–Зейделя величина шага выбирается из условия
1
+
jkjk
xx
0, 1, 2, …, n – 1;
∂
jk
α−
xI
)(
k
xI
k
∂
x
+
k
1
+
jk
xI
 
(метод
k
x
∂
xI
α−=
k
∂
x
+
k
j =
0, 1, 2, …; k – номер итерации
e
k + 1
)(
 
1
jk
x
α−=αϕ min
k
+
k
jk
=
xx
∂
α−
k
∂
xI
∂
)(
x
∂
k
+
1
Гаусса–Зейделя
}, k = 1, 2, …, вычисляются по
)(
e
,
1
+
k
jk
1
=
xx
– единичный вектор; точка
α
выбирается из условия
k
jk
1
 
)(
xI
 
x
1
+
k
jk
xx
=
0)(
<−
xIe
jkjkjk
xIxIxI ∇ε−<−
α
=
e
k
или
2
)()()(
.
не выполняется, шаг
k
e
вычисляется за-
1
+
k
jk
xx
 
→
+
1
α
[Gauss-
00
x
α
.
k
,
k
k
140
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]