
Методы оптимизации информационных систем
..pdf
|
6 этап. |
Если F(z |
k |
) F(xc ) , исключить интервал |
[a , xc ) , приняв a |
|
|
xc |
, b |
b . |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
k |
k |
|
|
|
k 1 |
|
k |
|
k 1 |
|
k |
||||
Средней точкой нового интервала становится точка z |
k |
: xc |
|
z |
k |
. |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Перейти на этап 7. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
Если |
|
|
|
F(z |
k |
) F(xc ) , |
исключить |
интервалы |
|
|
[a , y ), (z |
,b ] , |
|
приняв |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
k |
k |
k |
|
|
k |
|
|
|
|
|
||
a |
y , b |
|
z |
k |
. Средней точкой нового интервала останется точка xc |
: xc |
|
xc . |
|
|
|
|
||||||||||||||||||||||||
k 1 |
k k 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k |
k 1 |
|
|
k |
|
|
|
|
|||
|
7 этап. Вычислить |
|
L2(k 1) |
|
bk 1 |
ak 1 |
и проверить условие окончания: |
|
|
|
|
|
|
|||||||||||||||||||||||
|
Если |
|
|
L |
|
|
|
, |
|
то процесс |
поиска |
завершается |
|
и |
x* L |
|
[a |
|
,b |
] |
. В |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
2(k 1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2(k 1) |
|
|
|
k 1 |
k 1 |
|
|
|||||
качестве приближенного решения принимают середину последнего интервала x* xc |
|
. |
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k 1 |
|
|
|
Если |
|
|
L2(k 1) |
|
, то принять k k 1 и перейти к этапу 4. |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
Для |
оценки |
|
сходимости |
метода используется |
|
характеристика |
относительного |
||||||||||||||||||||||||||||
уменьшения начального интервала неопределенности |
|
R(N ) |
1 |
, |
где |
|
N |
количество |
||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||
|
2N / 2 |
|
||||||||||||||||||||||||||||||||||
вычислений функции. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
Метод дихотомии. Метод относится к последовательным стратегиям. |
|
Задается |
начальный интервал неопределенности и требуемая точность. Алгоритм опирается на анализ значений функции в двух точках. Для их нахождения текущий интервал
неопределенности делится пополам и в обе стороны от середины откладывается по |
|
, где |
|||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
малое положительное число. Поиск заканчивается, |
если длина текущего интервала |
||||||||||||||||||||||||||||||||||
неопределенности меньше заданной величины. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
Алгоритм поиска минимума функции сводится к выполнению следующих этапов. |
||||||||||||||||||||||||||||||||||
|
1 этап. Задается начальный интервал неопределенности |
|
|
L0 [a0 ,b0 ] и |
0 - |
||||||||||||||||||||||||||||||
требуемая точность, 0 - малое положительное число. |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
2 этап. Задать k 0 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
3 этап. Вычислить |
|
y |
|
ak bk |
, F( y ), z |
|
|
ak bk |
|
, F(z |
|
) . |
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
k |
|
|
k |
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
k |
2 |
|
|
|
k |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
4 этап. Если F( yk ) F(zk ) , принять ak 1 |
ak , bk 1 |
zk |
и перейти к этапу 5. |
|
|
|
||||||||||||||||||||||||||||
|
Если F( yk ) F(zk ) , принять ak 1 yk , bk 1 bk . |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
5 этап. Вычислить |
|
L2(k 1) |
|
|
|
bk 1 |
ak 1 |
|
и проверить условие окончания: |
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
Если |
|
|
L |
|
, |
|
то |
процесс |
поиска |
завершается и |
x* L |
[a |
,b |
|
] . В |
|||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
2(k 1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2(k 1) |
|
k 1 |
k 1 |
|
||
качестве приближенного |
решения |
принимают середину |
последнего |
интервала |
|||||||||||||||||||||||||||||||
x* |
ak 1 bk 1 |
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
, то принять k k 1 и перейти к этапу 3. |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
Если |
L2(k 1) |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
Для |
оценки |
|
сходимости метода используется |
характеристика |
относительного |
|||||||||||||||||||||||||||||
уменьшения начального интервала неопределенности |
R(N ) |
1 |
|
|
, где |
N |
количество |
||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
2N / 2 |
|
||||||||||||||||||||||||||||||||||
вычислений функции. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
Метод золотого сечения. В методе золотого сечения в качестве двух внутренних |
||||||||||||||||||||||||||||||||||
точек выбираются точки золотого сечения. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
Точка производит золотое сечение, если отношение длины всего отрезка к большей |
||||||||||||||||||||||||||||||||||
части равно отношению большей части к меньшей части. На отрезке [a0 ,b0 ] |
имеются две |
||||||||||||||||||||||||||||||||||
симметричные относительно его концов точки y0 и z0 : |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

b0 |
a0 |
|
b0 y0 |
|
b0 |
a0 |
|
z0 |
a0 |
|
1 |
5 |
1.618. . |
|||
b y |
y a |
|
a |
b z |
|
|
|
|||||||||
|
|
z |
0 |
|
0 |
|
2 |
|
|
|||||||
0 |
0 |
0 |
0 |
|
|
0 |
0 |
|
|
|
|
|
Точка y0 производит золотое сечение отрезка [a0 , z0 ] , а точка z0 - отрезка [ y0 ,b0 ] .
Метод относится к последовательным стратегиям. Задается начальный интервал неопределенности и требуемая точность. Алгоритм опирается на анализ значений функции в двух точках. В качестве точек вычисления функции выбираются точки золотого сечения. На каждой итерации, кроме первой, требуется только одно новое вычисление функции. Поиск заканчивается, если длина текущего интервала неопределенности меньше заданной величины.
Алгоритм поиска минимума функции сводится к выполнению следующих этапов.
1 |
этап. Задается |
начальный |
интервал неопределенности L0 [a0 ,b0 ] и |
0 - |
||||||||||
требуемая точность. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
этап. Задать k 0 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
3 |
этап. Вычислить |
y |
a |
5 |
(b a ), |
z |
|
a |
b |
y . |
|
|||
|
|
k |
|
|||||||||||
|
|
k |
0 |
2 |
0 0 |
|
0 |
0 |
0 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
4 этап. Вычислить F( yk ), F(zk ) . |
|
|||||||
5 |
этап. |
Если |
F( yk ) F(zk ) , |
то |
||||
yk 1 ak 1 bk 1 yk , zk 1 yk . Перейти к этапу 6. |
|
|||||||
Если F( yk ) F(zk ) , принять ak 1 yk , bk 1 |
bk и |
|||||||
6 |
этап. Вычислить |
|
|
ak 1 bk 1 |
|
и проверить |
||
|
|
принять |
ak 1 ak , bk 1 zk |
и |
yk 1 zk , zk 1 ak 1 bk 1 zk . |
|
условие окончания поиска. Если
, процесс поиска прекращается и x* [ak 1 bk 1 ] . В качестве приближенного
решения принимают середину последнего интервала x* ak 1 bk 1 . 2
Если , принять k k 1 и перейти к этапу 4.
Метод Фибоначчи. В методе Фибоначчи реализована последовательная стратегия, обеспечивающая максимальное гарантированное сокращение интервала неопределенности при заданном количестве вычисления функции. Эта стратегия опирается на числа Фибоначчи, определяемые по формуле
Fi0 Fi1 1, Fik Fik 1 Fik 2 , k 2,3, 4,... .
Последовательность чисел Фибоначчи имеет вид
1,1,2,3,5,8,13,23,34,55,89,144,233,.. .
Метод относится к последовательным стратегиям. Задается начальный интервал неопределенности и количество вычислений функции. Алгоритм опирается на анализ значений функции в двух точках. Точки вычисления функции находятся с использованием последовательности из N 1 чисел Фибоначчи. На каждой итерации, кроме первой, требуется только одно новое вычисление функции. Поиск заканчивается, если длина текущего интервала неопределенности меньше заданной величины.
Алгоритм поиска минимума функции сводится к выполнению следующих этапов.
1 |
этап. Задается начальный интервал |
неопределенности |
L0 [a0 ,b0 ] , |
0 - |
|||||||||||||||||||
допустимая длина конечного интервала, |
|
0 - константа различимости. |
|
|
|||||||||||||||||||
2 |
этап. Найти количество вычислений функции как наименьшее целое число, при |
||||||||||||||||||||||
котором удовлетворяется условие Fi |
N |
|
|
|
|
L0 |
|
|
и числа Фибоначчи |
Fi , Fi ,..., Fi . |
|
||||||||||||
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
N |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
3 |
этап. Задать k 0 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
этап. Вычислить y |
a |
|
FiN 2 |
|
|
(b a ), |
z |
|
a |
|
FiN 1 |
|
(b a ) . |
|
|
|||||||
|
|
k |
|
|
|
||||||||||||||||||
|
k |
0 |
|
FiN |
0 |
0 |
|
0 |
|
FiN |
0 |
0 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
|
|
|
|
|
|
|
|
|

|
5 этап. Вычислить F( yk ), F(zk ) . |
|
|
|
|
||||||
|
6 |
|
этап. |
Если |
F( yk ) F(zk ) , то |
принять |
ak 1 ak , bk 1 zk , zk 1 yk , |
и |
|||
y |
a |
|
|
FiN k 3 |
(b |
a |
) . Перейти к этапу 7. |
|
|
||
1 |
|
|
|
||||||||
k 1 |
k |
|
FiN k 1 |
k 1 |
k 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если |
F( yk ) F(zk ) , |
принять |
ak 1 |
yk , bk 1 bk , yk 1 zk |
и |
zk 1 ak 1 FiN k 2 (bk 1 FiN k 1
7 этап. Если k
Если k N 3 ,
ak 1) .
N 3 , то принять k k 1 и перейти к этапу 5.
то всегда y |
|
z |
|
|
(aN 2 bN 2 ) |
, то есть отсутствует точка |
N 2 |
N 2 |
|
||||
|
|
2 |
|
|||
|
|
|
|
|
нового |
|
|
вычисления |
функции. |
В |
|
|
этом |
случае |
следует |
|
принять |
|||||||
yN 1 yN 2 zN 2 ; zN 1 yN 1 . В точках yN 1, |
zN 1 вычисляются значения функции и |
||||||||||||||||||
находятся границы конечного интервала неопределенности: |
|
|
|
|
|
|
|||||||||||||
|
- если F( yN 1 ) F(zN 1 ) , то принять aN 1 |
aN 2 , bN 1 zN 1 ; |
|
|
|
|
|
||||||||||||
|
- если F( yN 1 ) F(zN 1 ) , то принять aN 1 |
yN 1, bN 1 bN 2 . |
|
|
|
|
|
||||||||||||
|
Процесс поиска завершается и x* [a |
N 1 |
,b |
] . В качестве приближенного решения |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
N 1 |
|
|
|
|
|
|
|
|
|
можно принять любую точку интервала, рекомендуется x* |
aN 1 bN 1 |
. |
|
|
|
||||||||||||||
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
Характеристика |
относительного |
|
уменьшения |
начального |
|
|
интервала |
|||||||||||
неопределенности R(N ) |
1 |
, где N количество вычислений функции. |
|
|
|
||||||||||||||
FiN |
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6.2. Нахождение минимума функции многих переменных |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Постановка задачи. Требуется |
найти минимум функции многих переменных |
Y F(x) , |
то есть, такую |
||||||||||||||||
|
* |
|
|
* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
U |
F (x |
) min F(x) |
|
|
|
|
|
|
|
|
|
U |
|
|||||
точку |
x |
, что |
|
x U |
, |
|
|
|
|
|
где множество точек |
определяется |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ограничениями вида |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g j (x) 0, |
j |
1,..., m, m n, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g j (x) 0, |
j |
m 1,..., p . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Методы условной оптимизации. Применение необходимых и достаточных условий условного экстремума эффективно для решения ограниченного числа задач, в которых имеются аналитические решения. Для решения большинства практических задач используются численные методы, которые можно разделить на две группы:
-методы последовательной безусловной оптимизации;
-методы возможных направлений.
Методы последовательной безусловной оптимизации основаны на преобразовании задачи условной оптимизации в последовательность задач безусловной оптимизации путем введения в рассмотрение вспомогательных функций.
Основная идея методов первой группы состоит в том, чтобы аппроксимировать исходную задачу условной оптимизации некоторой вспомогательной задачей, решение которой менее сложно, чем решение исходной. Однако, при этом приходится решать последовательность таких задач, сходящихся к исходной. Причем, результаты решения предыдущей задачи используются в качестве начальных приближений при решении последующей задачи. Получение решений с практически необходимой точностью может быть достигнуто за конечное число шагов.
Ко второй группе методов относятся:
23
-метод проекции градиента;
-метод возможных направлений Зойтендейка.
Методы возможных направлений, используемые для решения задачи условной оптимизации, основаны на движении из одной допустимой точки, где выполнены все ограничения, к другой допустимой точке с лучшим значением целевой функции.
Методы последовательной безусловной оптимизации. К методам последовательной безусловной оптимизации относят:
-метод штрафов;
-метод барьеров;
-метод множителей;
-метод точных штрафных функций.
Вметоде штрафов (внешних штрафов) к целевой функции добавляется функция, интерпретируемая как штраф за нарушение каждого из ограничений. В результате генерируется последовательность точек, которая сходится к решению исходной задачи.
Вметоде барьеров (внутренних штрафов) к целевой функции исходной задачи добавляется слагаемое, которое не позволяет генерируемым точкам выходить за пределы допустимой области.
Вметоде множителей штрафная функция добавляется не к самой целевой функции,
а к ее функции Лагранжа . В результате исследование на экстремум сводится к исследованию модифицированной функции Лагранжа.
В методе точных штрафных функций задача сводится к решению одной задачи
безусловной оптимизации. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Метод штрафов. Алгоритм метода штрафов состоит из следующих этапов. |
|
||||||||||||||||||||||||
1 этап. Задать начальную точку |
|
x 0 вне области допустимых решений, начальное |
|||||||||||||||||||||||
значение |
параметра |
штрафа r0 0 , |
число |
C 1 |
для |
увеличения параметра |
штрафа, |
||||||||||||||||||
погрешность расчета 0 . Принять k 0 . |
|
|
|
|
|
|
|||||||||||||||||||
2 этап. Составить вспомогательную функцию |
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
r |
k |
m |
|
|
|
|
|
|
|
p |
|
|
|
|
|
|
|
F (x, rk ) f (x ) |
|
{ [g j (x)]2 |
[g j (x)]2} , |
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
2 |
j 1 |
|
|
|
|
j m 1 |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
k |
|
|
|
m |
|
p |
|
|
|
|
где функция штрафа P(x, rk ) |
|
|
{ [g j (x )]2 |
[g j |
(x )]2} - квадрат срезки. |
||||||||||||||||||||
2 |
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j 1 |
|
j m 1 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
g |
(x ) - срезка функции: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
j |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
g |
j |
(x ), |
|
|
g |
j |
(x ) 0, |
|
|
|
|
|
|||
g j |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
(x ) max{0, g j (x )} |
0, |
|
|
g j (x ) 0. |
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 этап. Найти точку x* (rk ) безусловного минимума функции |
F(x, rk ) |
по x с |
|||||||||||||||||||||||
помощью какого либо метода (нулевого, первого или второго порядка): |
|
|
|||||||||||||||||||||||
F(x* (rk ), rk ) |
|
|
F(x, rk ) |
. При этом задать все требуемые выбранным методом |
|||||||||||||||||||||
|
|
|
|
|
|
min |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
x Rn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
параметры. |
В |
|
качестве |
|
начальной |
точки |
взять |
x k . Вычислить функцию |
штрафа |
||||||||||||||||
|
|
|
r |
k |
m |
|
|
|
|
|
p |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P(x* (rk ), rk ) |
|
{ [g j (x* )]2 [g j (x* )]2} . |
|
|
|
|
|
||||||||||||||||||
2 |
|
|
|
|
|
||||||||||||||||||||
|
|
|
j 1 |
|
|
|
j m 1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
4 этап. Проверить выполнение условия окончания: |
|
|
|
||||||||||||||||||||||
А) |
|
|
|
если |
|
|
|
P(x* (rk ), rk ) , |
процесс |
поиска |
закончить: |
||||||||||||||
x* x* (rk ), |
f (x* ) f (x* (rk )) ; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
Б) |
если P(x* (rk ), rk ) , |
то принять |
rk 1 Crk , |
x k 1 |
x* (rk ), k k 1 и перейти к |
||||||||||||||||||||
этапу 2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
|
|
|
|
Метод барьерных функций. Алгоритм метода барьерных функций состоит из
следующих этапов. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
1 |
этап. Задать |
начальную |
точку x 0 внутри |
области U , начальное значение |
||||||||||||||||||||||||
параметра штрафа |
r0 0 , число |
C 1 |
для уменьшения величины параметра штрафа, |
|||||||||||||||||||||||||
погрешность расчета 0 . Принять k 0 . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
2 этап. Составить вспомогательную функцию |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
m |
1 |
|
|
|
|
|
|
|
|
|
|
|
m |
|
|
||
|
|
|
F (x, rk ) f (x ) rk |
|
|
или F (x, rk ) f (x ) rk ln( g j (x )) . |
|
|||||||||||||||||||||
|
|
g j (x ) |
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
j 1 |
|
|
|
|
|
|
|
|
|
j 1 |
|
|
||||||
3 этап. Найти точку x* (rk ) |
безусловного минимума функции |
F(x, rk ) |
по x с |
|||||||||||||||||||||||||
помощью какого либо метода (нулевого, первого или второго порядка): |
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
min |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
F(x* (rk ), rk ) |
|
F(x, rk ) |
с |
|
проверкой |
принадлежности |
текущей |
точки |
||||||||||||||||||||
|
|
|
|
|
|
|
x Rn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
внутренности множества U . При этом задать все требуемые выбранным методом |
||||||||||||||||||||||||||||
параметры. В качестве начальной точки взять x k . |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m |
|
|
1 |
|
|
|
|
|
||
Вычислить функцию штрафа |
P(x* (rk ), rk ) rk |
|
|
|
|
(обратная функция |
||||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||
|
g j (x |
* |
(r |
k |
)) |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j 1 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
штрафа) |
или P(x* (rk ), rk ) rk ln[ g j (x* (rk ))] (логарифмическая функция штрафа). |
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
j 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
4 этап. Проверить выполнение условия окончания: |
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
А) |
|
если |
|
P(x* (rk ), rk ) |
|
, |
то |
процесс |
|
поиска |
|
|
закончить, |
приняв |
||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||
x* x* (rk ), |
f (x* ) f (x* (rk )) ; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
, то принять |
rk 1 |
rk |
, |
x k 1 x* (rk ), k k 1 и перейти к |
||||||||||||||||||||||
Б) |
если |
P(x* (rk ), rk ) |
||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
этапу 2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Указания к самостоятельной работе студентов по разделу «Численные методы оптимизации»
Выполнение индивидуальных домашних заданий (ИДЗ) по теме: «Численные методы оптимизации»
Форма текущего контроля: отчет по решению практических задач.
Типовые задачи:
Задание 1. Осуществить программную реализацию численного метода согласно варианту для поиска минимума функции.
№ |
Целевая функция |
Метод |
|||
варианта |
|
|
|
|
|
1 |
f x sin x , |
x / 2, / 2 . |
Метод перебора |
||
|
|
|
|
|
|
2 |
f x cos x , |
|
x 0, . |
Метод дихотомии |
|
|
|
|
|
|
|
3 |
f x x 2 |
2 |
, x 2,20 . |
Метод золотого сечения |
|
|
|
|
|||
|
|
|
|
|
|
4 |
f x x 15 |
2 |
5 , x 2,200 . |
Метод Фибоначчи |
|
|
|
|
|||
|
|
|
|
|
|
5 |
f x x 5 |
4 |
, x 10,15 . |
Метод перебора |
|
|
|
|
|||
|
|
|
|||
6 |
f x ex , x 0,100 . |
Метод дихотомии |
|||
|
|
|
|
25 |
|
7 |
f x x2 |
2x 4 , x 10,20 . |
Метод золотого сечения |
||
|
|
|
|
|
|
8 |
f x x3 |
x , |
|
x 0,1 . |
Метод Фибоначчи |
|
|
|
|
|
|
9 |
f x x5 |
x2 , |
x 0,1 . |
Метод перебора |
|
|
|
|
|
||
10 |
f x x / ex , |
x 0,3 . |
Метод дихотомии |
||
|
|
|
|
|
|
11 |
f x x4 |
x , |
|
x 0,1 . |
Метод золотого сечения |
|
|
|
|
||
12 |
f x x4 |
/ ln x , x 1.1, 1.5 . |
Метод Фибоначчи |
||
|
|
|
|
|
|
13 |
f x x 5 |
4 |
, x 10,15 . |
Метод перебора |
|
|
|
|
|||
|
|
|
|
||
14 |
f x cos x , |
x 0, . |
Метод дихотомии |
||
|
|
|
|
||
15 |
f x sin x , |
x / 2, / 2 . |
Метод золотого сечения |
||
|
|
|
|
|
|
16 |
f x x4 |
x , |
|
x 0,1 . |
Метод Фибоначчи |
|
|
|
|
|
|
17 |
f x x5 |
x2 , |
x 0,1 . |
Метод перебора |
|
|
|
|
|
|
|
Задание 2. Осуществить программную реализацию численного метода согласно варианту для поиска максимума заданной функции:
Для нечетных вариантов целевая функция имеет вид:
|
x a |
|
|
2 |
y c |
|
2 |
|
x a |
|
|
2 |
y c |
|
|
2 |
|
||||
|
1 |
|
|
|
2 |
|
2 |
|
|
||||||||||||
f (x, y) A1 exp |
|
|
|
|
1 |
|
|
A2 exp |
|
|
|
|
|
|
|
|
|||||
b1 |
|
|
d1 |
b2 |
|
|
d2 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для четных вариантов целевая функция имеет вид:
|
f (x, y) |
|
|
|
|
|
A1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A2 |
|
|
|
|
|
|
||||||||
|
|
x a |
|
|
2 |
|
y c |
|
2 |
|
x a |
|
|
2 |
y c |
|
|
2 |
|
|
||||||||||||||||
|
|
|
|
1 |
|
|
|
|
|
2 |
|
2 |
|
|
|
|||||||||||||||||||||
|
|
1 |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
b1 |
|
|
|
d1 |
|
|
|
b2 |
|
|
|
d2 |
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
№ |
|
A1 |
|
|
A2 |
|
a1 |
|
a2 |
|
b1 |
|
b2 |
|
|
c1 |
|
c2 |
|
d1 |
d2 |
|
|
Метод поиска |
||||||||||||
варианта |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
1 |
|
2 |
|
|
3 |
|
1 |
|
|
2 |
|
|
2 |
|
|
|
3 |
|
1 |
|
3 |
|
|
1 |
|
2 |
|
|
|
метод |
наискорейшего |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
спуска |
|
2 |
|
1 |
|
|
3 |
|
2 |
|
|
1 |
|
|
3 |
|
|
|
1 |
|
2 |
|
1 |
|
|
3 |
|
2 |
|
|
|
метод Хука и Дживса |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
3 |
|
1 |
|
|
2 |
|
3 |
|
|
2 |
|
|
1 |
|
|
|
2 |
|
1 |
|
2 |
|
|
3 |
|
1 |
|
|
|
метод средней точки |
||||||
4 |
|
2 |
|
|
1 |
|
1 |
|
|
3 |
|
|
2 |
|
|
|
3 |
|
2 |
|
1 |
|
|
1 |
|
3 |
|
|
|
метод хорд |
|
|||||
5 |
|
3 |
|
|
1 |
|
2 |
|
|
1 |
|
|
1 |
|
|
|
2 |
|
3 |
|
1 |
|
|
2 |
|
1 |
|
|
|
метод |
наискорейшего |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
спуска |
|
6 |
|
2 |
|
|
1 |
|
2 |
|
|
3 |
|
|
3 |
|
|
|
1 |
|
2 |
|
1 |
|
|
1 |
|
3 |
|
|
|
метод Ньютона |
||||||
7 |
|
2 |
|
|
3 |
|
1 |
|
|
1 |
|
|
2 |
|
|
|
3 |
|
1 |
|
3 |
|
|
2 |
|
3 |
|
|
|
метод Ньютона - Рафсона |
||||||
8 |
|
3 |
|
|
2 |
|
2 |
|
|
2 |
|
|
1 |
|
|
|
3 |
|
2 |
|
3 |
|
|
2 |
|
1 |
|
|
|
метод Марквардта |
||||||
9 |
|
2 |
|
|
3 |
|
3 |
|
|
1 |
|
|
1 |
|
|
|
1 |
|
2 |
|
1 |
|
|
1 |
|
3 |
|
|
|
метод |
градиентного |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
спуска |
|
10 |
|
1 |
|
|
2 |
|
3 |
|
|
2 |
|
|
1 |
|
|
|
2 |
|
2 |
|
2 |
|
|
1 |
|
1 |
|
|
|
метод |
наискорейшего |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
спуска |
|
11 |
|
2 |
|
|
1 |
|
1 |
|
|
2 |
|
|
2 |
|
|
|
2 |
|
1 |
|
1 |
|
|
3 |
|
2 |
|
|
|
метод |
сопряженных |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
градиентов |
|
12 |
|
3 |
|
|
1 |
|
3 |
|
|
3 |
|
|
2 |
|
|
|
1 |
|
2 |
|
1 |
|
|
1 |
|
3 |
|
|
|
метод Ньютона |
||||||
13 |
|
2 |
|
|
1 |
|
1 |
|
|
3 |
|
|
2 |
|
|
|
3 |
|
2 |
|
1 |
|
|
1 |
|
3 |
|
|
|
метод Ньютона - Рафсона |
||||||
14 |
|
3 |
|
|
1 |
|
2 |
|
|
1 |
|
|
1 |
|
|
|
2 |
|
3 |
|
1 |
|
|
2 |
|
1 |
|
|
|
метод |
градиентного |
26
|
|
|
|
|
|
|
|
|
|
|
спуска |
|
15 |
2 |
1 |
2 |
3 |
3 |
1 |
2 |
1 |
1 |
3 |
метод |
наискорейшего |
|
|
|
|
|
|
|
|
|
|
|
спуска |
|
16 |
2 |
3 |
1 |
1 |
2 |
3 |
1 |
3 |
2 |
3 |
метод |
сопряженных |
|
|
|
|
|
|
|
|
|
|
|
градиентов |
|
17 |
3 |
2 |
2 |
2 |
1 |
3 |
2 |
3 |
2 |
1 |
метод Ньютона |
Задание 3.
1.Решить задачу нелинейного программирования с использованием барьерных и штрафных функций.
2.Исследовать сходимость метода штрафных функций в зависимости от выбора функций штрафа и стратегии выбора коэффициентов штрафа, осуществляя спуск из различных исходных точек. Исследовать сходимость, фиксируя точность определения минимума, количество итераций метода и степень нарушения ограничений в зависимости от задаваемой величины коэффициента штрафа.
3.Условие: целевая функция из практической работы № 2. Варианты ограничений:
1 |
x y 1, 0 x 4 |
10 |
3x 2y 6 |
|
|
|
|
2 |
x y 1 |
11 |
2x y 2 |
|
|
|
|
3 |
x 3y 3 |
12 |
2x 3y 6 |
|
|
|
|
4 |
3x y 3 |
13 |
3x y 3 |
|
|
|
|
5 |
2x 2y 1 |
14 |
2x 2y 1 |
|
|
|
|
6 |
2x y 1 |
15 |
2x y 1 |
|
|
|
|
7 |
x y 1 |
16 |
x y 1 |
|
|
|
|
8 |
x 2y 1 |
17 |
x 2y 1 |
|
|
|
|
9 |
2x 2y 1 |
|
|
|
|
|
|
27