
- •ПРЕДИСЛОВИЕ
- •ГЛАВА 1. СИСТЕМНЫЕ ИССЛЕДОВАНИЯ
- •ГЛАВА 2. МОДЕЛИРОВАНИЕ И ИДЕНТИФИКАЦИЯ ПРОЦЕССОВ И СИСТЕМ
- •ГЛАВА 3. УПРАВЛЕНИЕ И ПРИНЯТИЕ РЕШЕНИЙ
- •ГЛАВА 4. МОНИТОРИНГ И УПРАВЛЕНИЕ ПРОЦЕССАМИ НЕФТЕГАЗОДОБЫЧИ
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ
- •ПРИЛОЖЕНИЕ
- •ПРАКТИЧЕСКИЕ МЕТОДЫ ОПТИМИЗАЦИИ ФУНКЦИЙ
- •ОГЛАВЛЕНИЕ
ПРИЛОЖЕНИЕ
ПРАКТИЧЕСКИЕ МЕТОДЫ ОПТИМИЗАЦИИ ФУНКЦИЙ
Рассматривают некоторую вещественную непрерывную функцию f (x) от n переменных x1, x2 ,..., xn в замкнутой области D n-мерного пространства. Задача заключается в определении минимального значения функции Φ(x) в области D и точки ν, в которой это значение достигается. В общем случае
это трудная задача и не все методы ее решения совершенны с вычислительной точки зрения. Потребность решения задач минимизации определяется широким кругом их приложений.
Обычно различают задачи безусловной минимизации, когда множество ограничений (область D) совпадает со всем пространством, т. е. ограничения отсутствуют, и задачи условной минимизации – в противном случае. Как правило, последние сводятся к первым на основе различных приемов типа методов множителей Лагранжа, штрафов и др. [1]. Здесь рассмотрим только задачи безусловной минимизации. Обычно их решают на основе различных методов спуска.
Основная идея этих методов такова. Выбирают некоторое начальное приближение x0 , направление l0 = (l10 ,l20 ,...,ln0 ), не касательное к поверхности
Φ(x) = Φ(x0 ) (такое направление называют допустимым), и минимизируют скалярную функцию φ0 (α) = ϕ(α, x0 ,l0 ) = Φ(x0 + αl0 ) параметра α.
Пусть α0 – точка минимума этой функции. Полагают x1 = x0 + α0l0 , выбирают новое допустимое направление спуска l1 и минимизируют функцию
ϕ1 (α) = Φ(x1 + αl1 ) и т. д.
В целом любой метод спуска заключается в следующих действиях:
1)выбор в точке xr допустимого направления lr с целью сведения исходной задачи к задаче одномерной минимизации;
2) определение шага спуска αr из условия минимума функции
ϕr (α) = Φ(xr + αlr );
3)определение очередного приближения xr+1 по формуле xr+1 = xr + αrlr .
Обычно добиваются, чтобы последовательность Φ0 = Φ(x0 ), Φ1 = Φ(x1 ) и т. д. монотонно убывала, а точки x0 , x1,… сходились к точке минимума νфункции Φ(x) (быть может локального). При этом основная задача – это ми-
нимизация функции одного переменного. Часто ее необходимо решать лишь приближенно путем достижения некоторого смещения в сторону минимума
134
вспомогательной функции и перехода затем к минимизации в другом направлении.
Методытипа спуска
1. Метод наискорейшего (градиентного) спуска. Если известно при-
ближение xr , то вычисляют градиент в этой точке
gradΦ(xr ) = (∂Φ(xr )/ ∂x1, …, ∂Φ(xr )/ ∂xn ).
Тогда направление спуска lr = −gradΦ(xr ).Следующее приближение определяют согласно формуле
xr+1 = xr − αrgradΦ(xr ),
где αr выбирают из условия минимума функции ϕr (α) = Φ xr − αgradΦ(xr )
по α. Если начальное приближение x0 выбрано достаточно хорошо и в окрестности искомого минимума ν нет других (локальных) минимумов функции
Φ(x), то последовательность xr обычно сходится к ν. При этом на каждом шаге движемся в направлении наибыстрейшего убывания функции Φ(x).
Если линии уровня в окрестности искомой точки минимума ν представляют слабо деформированные сферы, то метод наискорейшего спуска быстро дает хорошее приближение, в противном случае метод будет сходиться достаточно медленно, т. е. требуется большое число арифметических операций для достижения требуемой точности. Метод асимптотически имеет геометрическую скорость сходимости.
2. Метод сопряженных градиентов. В этом методе последовательные направления спуска выбирают согласно формулам
lr = −gradΦ(xr )+ βr−1lr−1, r = 1,2,...,l0 = −gradΦ(x0 ),
где
βr−1 = gradΦ(xr )
2 /
gradΦ(xr−1 )
2 ,
т. е. направление антиградиента минимизируемой функции в точке xr определенным образом комбинируется с предыдущим направлением спуска. Шаг спуска αr выбирают, как обычно, из условия минимума функции ϕr (α) по α.
Как отмечено в § 16, для квадратичных функций Φ(x) = (Ax, x) − 2(b, x) метод
сопряженных градиентов дает точное решение за конечное число шагов. Можно ожидать, что при хорошей аппроксимации функции Φ(x) в окрестно-
сти искомого минимума квадратичной функцией метод сопряженных градиентов быстро даст хорошие приближения. Поэтому его применяют, как правило, на стадии завершения поиска минимума, используя вначале более грубые методы спуска (покоординатный и градиентный).
135

Для реализации метода сопряженных градиентов, как и метода наискорейшего спуска, требуется вычисление градиента функции Φ(x), что не все-
гда оказывается простой задачей. Часто вычисляют приближение к градиенту на базе замены производных разностными отношениями.
Существует модификация данного метода, когда на каждом шаге надо проводить не одномерную минимизацию, а двумерную, т. е. приближение
|
|
|
− |
− |
|
xr+1 |
= xr + αr gradΦ(xr )+ βr (xr − xr−1 ), |
||
− |
− |
|
|
|
где параметры αr , |
βr |
определяют из условия минимума функции |
Φ xr + αgradΦ(xr )+ β(xr − xr−1 ) по α, β.
Сформулированный метод полностью совпадает с методом сопряженных градиентов для квадратичных функций и обладает аналогичными свойствами.
Метод сопряженных градиентов имеет несколько меньшую скорость сходимости, чем касательных Ньютона.
3.Метод Ньютона. Задачу поиска безусловного экстремума функции
Φ(x) можно свести к задаче нахождения корня уравнения gradΦ(x) = 0, ко-
торое равносильно n уравнениям относительно n неизвестных:
x1, x2 ,..., xn : ∂Φ(x) / ∂x1 = ∂Φ(x) / ∂x2 = = ∂Φ(x) / ∂xn = 0.
К решению этого уравнения можно применить метод Ньютона, т. е. искать приближения по формуле
xr+1 = xr − Φ′′(xr ) −1 gradΦ(xr ),
где Φ′′(x) – матрица порядка n с элементами ∂2Φ(x) / ∂x ∂x |
, называемая гес- |
|
|
i j |
|
сианом. В обобщенном методе |
Ньютона направление спуска |
|
lr = − Φ′′(xr ) −1 gradΦ(xr ), шаг спуска αr |
определяют как обычно. |
Если функция Φ(x) = (Ax, x) − 2(b, x)с положительно определенной мат-
рицей А порядка n, то метод Ньютона на первом шаге дает решение задачи. В общем случае скорость его сходимости – квадратичная. Метод Ньютона может быть успешно применен для уточнения точки минимума функций, хорошо аппроксимируемых положительно определенными квадратичными функциями. На начальной стадии поиска минимума метод, как правило, схо-
дится медленно, и если начальное приближение x0 выбрано неудачно, то даже расходится. Поэтому применение метода Ньютона требует достаточно сложных алгоритмов выбора шага и вычисления вторых частных производ-
ных функций Φ(x).
3.1. Квазиньютоновский метод (метод переменной метрики) – более эффективный метод минимизации. Направление спуска в методе
lr = −ΗrgradΦ(xr ), где Ηr – квадратная матрица порядка n, определяемая из рекуррентных соотношений
136
Η |
r |
= Η |
r−1 |
+ |
δr−1δ′r−1 |
− |
Ηr−1 yr−1 yr′−1Ηr−1 |
; δ |
r−1 |
= xr − xr−1 |
; |
||||||
|
|
|
δ′ |
y |
r−1 |
|
y′ |
Η |
r−1 |
y |
r−1 |
|
|
|
|||
|
|
|
|
|
r−1 |
|
|
r |
−1 |
|
|
|
|
|
yr−1 = gradΦ(xr )− gradΦ(xr−1 );
где Η0 – произвольно задаваемая положительно определенная симметричная матрица (например, единичная).
Если функция Φ(x) – положительно определенная квадратичная функ-
ция, то квазиньютоновкий метод, как и метод сопряженных градиентов, дает точное решение не более чем за n шагов. В случае произвольной функции
Φ(x) квазиньютоновский метод асимптотически обладает свойствами обобщенного метода Ньютона, т. к. матрицы Ηr при больших r аппроксимируют матрицу Φ′′(x) в точке минимума ν. Этим фактом объясняется название ме-
тода. Его преимущество перед методом Ньютона – отсутствие необходимости вычисления гессиана, т. е. матрицы вторых производных.
В настоящее время существует значительное число модификаций метода
[1, 12].
4. Метод Гаусса–Ньютон. Метод Гаусса–Ньютона используется для минимизации суммы квадратов отклонений:
n |
2 |
|
|
, |
|
Φα = ∑ yi − f (xi ,α) |
i=1
где f (x,α) – нелинейная по параметрам α функция регрессии.
Суть метода Гаусса–Ньютона состоит в том, что функция регрессии аппроксимируется линейной по параметрам функцией в окрестности точкиα0:
m |
|
∂f (x,α) |
0 |
T |
|
f (x,α) = f (x,α0 )+ ∑ |
|
(α j − α0j ) = f (x,α0 )+ ( α f (x,α))0 |
Δα0. |
||
j=1 |
|
∂α j |
|
|
|
Индекс «0» у частных производных означает, что они вычислены в точке
α = α0. С учетом данного приближения функции регрессии функционал качества Φα можно представить в виде
Φα = (e0 − D0Δα0 )T (e0 − D0Δα0 );
|
|
y1 |
− f (x1,α0 ) |
|
|
|
|
|
− f (x2 |
|
|
e |
0 |
y2 |
,α0 ) |
, |
|
|
= |
|
|
||
|
|
|
|
|
|
|
|
|
− f (xn |
|
|
|
|
yn |
,α0 ) |
|
|
|
|
|
|
|
|
∂f1 |
|
∂f1 |
… |
∂f1 |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∂α |
|
∂α |
|
∂α |
|
|
|
α − α0 |
|
|
||||
|
1 |
|
|
2 |
|
|
m |
|
|
|
||||
|
∂f2 |
|
∂f2 |
|
∂f2 |
|
|
|
1 |
10 |
|
|
||
D0 = |
∂α1 |
|
∂α2 |
∂αm |
|
, |
Δα = |
α2 − α2 |
|
, |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
α |
− α0 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
m |
|
|
|
||
|
∂fn |
|
∂fn |
|
∂fn |
|
|
|
m |
|
||||
|
|
|
|
|
|
|
|
|
|
|||||
|
∂α1 |
|
∂α2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
∂αm |
|
|
|
|
|
|
137

e0 – вектор-столбец невязок; D0 – матрицы частных производных в точках xi, i = 1,n при α = α0 ; Δα0 – вектор-столбец приращений параметров.
Для определения вектора приращений Δα достаточно взять производные от функционала Φα и приравнять их к нулю:
αΦ0α = −2D0T Δα(e0 − D0Δα0 ) = 0.
Врезультате получим систему линейных уравнений
(DT D)0 Δα0 = (DT e)0 ,
решение которой позволяет получить следующее приближение для параметров:
α1 = α0 + h0Δα0.
Получив α′, можно аналогичным образом построить x2 = x′ + h1Δα′, где h1 – размер шага на второй итерации.
Таким образом, для всех итераций j = 0, 1, 2, ... алгоритм Гаусса–Ньютона можно записать в виде
|
j+1 |
= α |
j |
+ hj |
Δα j , j = 0, 1, 2, …; |
|||
α |
|
|||||||
|
|
= (DT D) |
−1 |
(DT e) |
j |
, |
||
Δα j |
j |
|
||||||
|
|
|
|
|
|
|
|
где (DT D)−j1 –обратная матрица на j-м шаге.
Если матрица DT D плохо обусловлена, то метод Гаусса–Ньютона схо-
дится очень медленно. В данной ситуации для определения приращений Δα j на шаге j используется СЛУ вида
(DT D + β j A)Δα j = (DT e)j ,
где β j ≥ 0, , A – неотрицательно определенная матрица. При A = I и β j = β > 0, j = 0, 1, 2, ..., метод Гаусса–Ньютона совпадает с методом Левенберга
|
j+1 |
= α |
j |
j |
, j = 0, 1, 2, ...; |
||||
α |
|
+ hj Δα |
|||||||
|
|
= (DT D + βI ) |
−1 |
(DT e) |
j |
, |
|||
Δα j |
j |
|
|||||||
|
|
|
|
|
|
|
|
|
где матрица (DT D + βI ) невырождена.
5. Метод оврагов. Этот метод применяют в ситуациях, когда линии уровня минимизируемой функции сильно отличаются от сфер и спуск по градиенту происходит медленно. Основная идея метода состоит в следующем:
задаются приближениями x0 и x1 и проводят спуск из этих точек каким-либо методом – покоординатного спуска, градиентным и т. п. Обычно делают не-
сколько шагов и получают новые приближения X 0 и X 1, которые, как правило, лежат в многообразии, содержащем относительно большие оси «эллипсоидов» – поверхностей уровня функции Φ(x). Из точки X 1 производят
138
спуск в направлении L0 , определяемом вектором X 1 − X 0 , и получают прибли-
жение x2. Из точки x2 спуск осуществляют выбранным ранее методом и получают новую точку X 2 , из которой проводят одномерный спуск по направ-
лению L1 = X 2 − X 1, и т. д. Точки X 0 , X 1 , X 2 ,... расположены на «дне» оврага.
Отсюда и произошло название метода. Часто приближения xr+1 осуществляют по формуле
xr+1 = X r + αr (X r |
− X r−1 )+ βrgradΦ(X r ), |
|
||||||
в которой αr и βr определяют из условия |
) |
|
( |
|
) |
|||
α,β |
|
( |
|
|
|
|||
min Φ X r + α |
|
X r − X r−1 |
|
+ βgradΦ |
|
X r |
. |
Метод оврагов «работает» в ряде случаев, когда линии уровня функции
Φ(x) имеют сложную структуру и другие методы неэффективны.
6.Метод регуляризации. Задача минимизации часто оказывается плохо обусловленной в том смысле, что для некоторой точки xr значение Φ(xr )
может быть достаточно близким к минимальному Φ(ν), однако точку xr нельзя принять за хорошее приближение к точке минимума v. При наличии погрешностей в задании функции Φ(x) даже вычисленные значения Φ(xr )
могут не быть близкими к Φ(ν). В таких случаях применяют метод регуляри-
зации задачи минимизации.
Пусть для определенности Φ(x) ≥ 0 . Обычно выбирают некоторую квадратичную функцию
Ω(x − X ) = 12 (x − X )′ C (x − X )
сположительно определенной матрицей С и рассматривают регуляризован-
ную задачу минимизации: найти точку xα , в которой достигается минимальное значение функции
Φα (x) = Φ(x) + αΩ(x − X ), α > 0.
Здесь Х – вектор пробного решения, задаваемый из априорных соображений относительно искомой точки минимума v; α – параметр регуляризации; Ω( y) – стабилизирующая функция. Если выбрать X = ν, то все регуляризо-
ванные решения xα ≡ ν, α > 0. Обычно X ≈ ν, поэтому можно ожидать, что при некотором значении параметра регуляризации xα ≈ ν. Можно показать,
что lim xα = ν. [считается, что ν – единственная точка минимума функции
α→0
Φ(x) ].
Регуляризованная задача минимизации (р.з. м.) при больших значениях α обусловлена значительно лучше, чем исходная. Причиной этого является сле-
дующее: α→∞lim xα = X , а вектор Х очевидно минимизирует функцию Ω(x − X ).
139
Таким образом, при больших значениях α р. з. м. можно заменить задачей минимизации функции Ω(x − X ). Отсюда вытекает тактика компромиссного
выбора параметра регуляризации: параметр регуляризации (п. р.) должен быть достаточно мал, чтобы регуляризованные решения (р. р.) аппроксимировали искомое, но не настолько, чтобы потерялась устойчивость задачи.
При численном решении регуляризованная задача минимизации обычно задает последовательность значений α0 > α1 > ... > αM , где α0, αM – соответст-
венно достаточно большое и достаточно малое числа. Для определения регуляризованных решений xα используют один из методов спуска, который счи-
таем выбранным. Чтобы определить приближение к xα0 , в качестве
начального приближения выбирают Х, которое затем уточняют на основе выбранного метода спуска. Полученное приближение к xα0 обозначим xα0 .
Пусть на основе этой процедуры уже определены приближения xαi ≈ xαi . Тогда в качестве начального приближения при отыскании xαi +1 берут xαi , ко-
торое затем уточняют. Приближение к искомому решению находят среди полученной серии приближенных р. р. xα0 , xα1, ..., xαM , исходя из приведенных
ранее соображений. При получении этих решений нет необходимости делать много уточняющих итераций, т. к. рассматриваемое значение параметра регуляризации может быть далеко от искомого. Как только подходящее значение п.р. выбрано, процедуру можно повторить, взяв более густую сетку по α в окрестности выбранного значения, и т. д.
Удобно задавать геометрическую сетку по α : αi+1 = qαi , i = 0, 1, …, M −1, определяемую начальным значением α0 и знаменателем сетки q ≈ 1. В этом
случае подходящие приближенные решения определяют из принципа выбо-
ра квазиоптимальных значений параметра регуляризации, при которых дос-
тигается минимальное значение уклонений xαi+1 − xαi
по i для некоторой
нормы •
.
Процедура выбора параметра регуляризации трудно формализуема, однако решение значительного числа модельных и практических задач показало эффективность применения метода регуляризации. В частности, можно привлекать и некоторые неформальные соображения, основанные на априорном представлении о качественных характеристиках поведения модели. В этих случаях весьма эффективным оказывается использование при решении на ЭВМ таких наглядных средств представления дискретной информации, как АЦПУ, графопостроители, дисплеи и т. п.
Выбор стабилизирующей функции Ω(x − X ) можно осуществить и в других формах. Часто Ω(x − X ) характеризует «стоимость» отклонения пара-
метров х новой модели от параметров Х, описывающих старую модель. Метод регуляризации позволяет найти такое решение задачи минимизации,
140
которое обладает минимальной «стоимостью» в смысле выбранного критерия Ω(x − X ). Иногда вектор Х – результат прямых (непосредственных) измере-
ний искомого параметра х.
Метод регуляризации успешно применяют и для решения еще одной трудной задачи минимизации – нахождения глобального минимума. Это связано с тем, что при больших значениях параметра регуляризованная задача чувствительна только к глобальному минимуму, локальные минимумы нивелируются.
Если для минимизации Φα (x) выбран метод Ньютона, то последовательные итерации
xr+1 = xr − αC + Φ′′(xr ) −1 Φ′(xr )+ αC (xr − X )
определяют регуляризованный метод Ньютона. При этом требуется, чтобы матрицы Φ′′(xr ) были неотрицательными.
Часто, особенно в задачах аппроксимации, функция
m
Φ(x) = ∑ fi 2 (x).
i=1
Если функции fi (x) дифференцируемы, то справедливо линеаризованное представление (x ≈ y) :
fi (x) ≈ |
|
fi ( y) + ∑ ∂fi ( y) (xj − yj ), |
|
|||||
|
|
n |
|
|
|
|
|
|
|
|
j=1 |
∂xj |
|
|
|
||
так что |
|
|
|
∂fi (xr ) |
|
|
||
m |
|
n |
|
2 |
||||
Φ (x) ≈ ∑ |
fi (xr )+ ∑ |
|
|
(xj − xrj |
) |
|||
∂xj |
||||||||
i=1 |
|
j=1 |
|
|
||||
|
|
|
|
|
|
|
|
в окрестности точки xr . Отсюда можно приближенно определить как Φ′(x), так и Φ′′(x). При этом матрица Φ′′(x) будет заведомо неотрицательной.
Если при определении xj+1 заменить в регуляризованном функционале вектор Х на предыдущее приближение xj , , то получим адаптивный метод
регуляризации задачи минимизации. Иногда он может оказаться более предпочтительным, т. к. область подходящих значений параметра регуляризации в этом случае существенно шире.
Список литературы
1.Реклейтис Г., Рейвиндран А., Рэгсдел К. Оптимизация в технике. В 2-х кн. / пер. с англ. – М.: Мир, 1986.
2.Мину М. Математическое программирование. Теория и алгоритмы.– М.:
Наука, 1990.
141
3.Рубан А.И. Оптимизация систем: учеб. пособие. – Томск: Изд-во Томского ун-та, 1984.
4.Дэннис. Дж., Шнабель Р. Численные методы безусловной оптимизации и решения нелинейных уравнений / пер. с англ. – М.: Мир, 1988.
5.Карманов В.Г. Математическое программирование: учеб. пособие. – М.:
Наука, 1989.
6.Химмельблау Д. Прикладное нелинейное программирование. – М.: Мир,
1991.
7.Аоки М. Введение в методы оптимизации. – М.: Наука, 1988.
8.Полак Э. Численные методы оптимизации. Единый подход.– М.: Мир,
1994.
9.Уайлд Д.Дж. Методы поиска оптимума. – М.: Наука, 1997.
10.Габбасов Р., Кириллова Ф.М. Методы оптимизации.– Минск: Изд-во БГУ, 1988.
11.Бахвалов Н.С. Численные методы. – М.: Наука, 1989.
12.Гилл Ф. и др. Практическая оптимизация. – М.: Мир, 1992.
13.Коршунов Ю.М. Математические основы кибернетики: учеб. пособие для втузов. – М.: Энергоатомиздат, 1987.
14.Боглаев Ю.П. Вычислительная математика и программирование: учеб. по-
собие для студентов втузов. – М.: Наука, 1989.
15. Рубан А.И. Методы оптимизации: учеб. пособие. – изд. 2-е, испр.
и допол. – Красноярск: Изд-во НИИ ИПУ, 2001.
16.Мицель А.А., Шелестов А.А. Методы оптимизации: учеб. пособие. – Томск, 2002.
142