Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Методы оптимизации. В 2 частях. Ч.1. Учебное пособие
.pdf
к берегу слева от точки A, хотя очевидно, что оптимальным такое
9
9
4
5
D x
5
x
4 5
x x
min.
4 5
f x
0.
решение не будет.
Таким образом, имеем задачу безусловной оптимизации для
функции одной переменной (функции скалярного аргумента), или
задачу одномерного поиска. В данной главе рассмотрим методы
решения таких задач.
Составим ЦФ задачи. Пусть расстояние от точки A до места
высадки рыбака из лодки составляет x км. Тогда расстояние, которое
лодка преодолеет по озеру (пунктирная линия), составит
D x
1
2
км.
Соответственно, время, затраченное на движение по озеру, можно найти из выражения
2
t
1
Расстояние от места высадки до села составит
x
ч.
2
км.
Соответственно, время, затраченное на движение по суше, можно
найти из выражения
5
t
2
ч.
Общее время в пути составит
2
t
9 5
ч.
воде и суше). Найдем оптимум данной функции аналитически, решив
уравнение
Таким образом, получаем задачу
2
9 5
x x
Здесь
f x
— время в пути (время, затраченное на движение по
f x
(2.1)
31

Получаем
0,
5 4 9 0 5 4 9.
0x
9 0
25 16 9 , 0 4
4 1,45
4 5
4x
3 0,023 0,
5 0,014 0.
4x
3
,
4 9
4 0,018 0.
4x
0
Возведем обе части полученного уравнения в квадрат (соответст-
венно, добавится условие
Время в пути составит
Классифицируем найденную точку — убедимся, что это
минимум.
1. Проверим знаки производной по обе стороны от точки
f x
x x x x
2 2 *
x x x x
f
x x x
2 2
4 9 20 9
x x
2 2
16 9 5 4
1 5 4 9
5
, т. к.
2
x
2
):
км.
ч.
*
:
2. Вычислим вторую производную ЦФ в точке
Согласно обоим критериям,
видеть, что
выпуклой и унимодальной. Следовательно, минимум глобальный.
Таким образом, чтобы минимизировать время в пути, рыбак
должен высадиться на берег в 4 км от точки A, или в 1 км от села
(точки B). Далее рассмотрим численные методы решения данной
задачи.
f x
f
f x
f
для любого значения x, т. е. функция является
9
2
x
f
*
— точка минимума. Можно
*
:
32

2.2 Классификация методов
f x
0
f x
0
Задача оптимизации функций одной переменной относится к
наиболее простому классу оптимизационных задач. Тем не менее,
анализ задач такого типа занимает центральное место в оптимизационных исследованиях. Такие задачи обычно решаются в инженерной
практике. Вместе с тем, одномерные методы оптимизации часто используются для анализа подзадач, которые возникают при решении
многомерных задач оптимизации. Существует большое число алгоритмов решения задач с одной переменной. Классификация методов
таких задач основывается на различных предположениях и допуще-
ниях относительно природы и свойств функции
Методы, ориентированные на решение одномерных задач безусловной оптимизации, можно условно разделить на три больших
класса:
Методы прямого поиска (нулевого порядка), основанные на
вычислении только значений ЦФ. Это методы исключения интервалов, а также методы, использующие квадратичную аппроксимацию.
Методы 1-го порядка, в которых используются точные значения
первых производных. Это метод средней точки и другие интерваль-
ные методы решения уравнения
симации и т.д.
Методы 2-го порядка, в которых используются также вторые
производные целевой функции
f x
, метод кубической аппрок-
. Это метод Ньютона-Рафсона
.
и другие итерационные методы решения уравнения
2.3 Методы исключения интервалов
К данному классу относятся такие методы, как метод равномерного поиска, метод дихотомии, метод золотого сечения, метод Фибоначчи (псевдоним Леонарда Пизанского, первым изучившего эту
последовательность в 1202 году).
f x
.
33

Рассмотрим следующую задачу условной оптимизации: найти
f x
,
D a b
,
: min ,
x a b
min .
f x f x
x
x
y
y
x
x
y
y
*
x
f x
*
x
,
a b
b a
минимум унимодальной функции скалярного аргумента
деленной в замкнутой области допустимых значений
*
или
Решение следует найти с требуемой точностью по аргументу
(
или
означает, что должны выполняться условия
) и требуемой точностью по функции (
x x
x f x
*
*
(2.3)
,
x a b
или
x x
(2.2)
или
*
x
(2.4)
, опре-
:
). Это
*
*
и
где
точки экстремума, найденное численным алгоритмом. Предполагается, что производные ЦФ не используются (возможно, неизвестны или
не существуют).
щего интервала неопределенности, состоит в исключении в процессе
поиска из рассмотрения тех подынтервалов, в которых в силу уни-
модальности функции
(т. е. все интервалы в данном разделе являются закрытыми интерва-
— точные координаты точки экстремума, а x — приближение
Идея алгоритмов, относящихся к методу сокращения теку-
Текущий интервал неопределенности будем обозначать как
f x f x
или
точка
f x f x
отсутствует.
f x
, (2.5)
лами, или отрезками), а его длину как . Таким образом,
34
.

2.3.1 Метод равномерного поиска
,
a b
f x
j
x
f x
1
x b
1 1
2N
3N
0k
a a
b b
0 0 0
b a
0 0
.2a b
,
k k
a b
1N
, 0,1,..., , .
k k k k k
x a i i N b a
N
k
a
k
b
k
1
k
0
k
x
1
k
x
2
k
x
k
N
x
1kN
x
k
j
x
1kjx 1kjx
1
k
a
1
k
b
В методе равномерного поиска (МРП) испытания проводятся в
точках, которые определяются путем равномерного деления интер-
вала
ний функции
тигается в точке
подынтервалы
на N одинаковых подынтервалов. Из вычисленных значе-
выбирается наименьшее. Пусть это значение дос-
. Тогда, в связи с унимодальностью функции
,ja x
и
можно исключить из рассмотре-
1,j
ния, т. е. сделать очередным интервалом неопределенности интервал
,
x x
j j
. Очевидно, что если
, то уменьшение интервала
происходить не будет, поэтому значение N нужно выбирать из условия
. Алгоритм относится к классу пассивных методов поиска.
Более строго описанную схему алгоритма можно записать в нижеследующем виде:
1. Выполняем присваивания
0
,
0
x
0
,
,
,
,
2. На интервале
лом (рисунок 2.2):
i
на текущем интервале неопределенности
строим равномерную сетку с
k
Рисунок 2.2 — Построение сетки
уз-
35

3. Вычисляем значения функции
f x
1
k
f x
2
k
f x
1
: min , ,..., .
1
k k
j
a x
1
k k
j
b x
,
2
k k
j
x x
1 0 1 1
k k k
b a
x
y
* 1
k
x x
1
k k
2
N
, 0,1,...
,
k k
a b
x
.
x
y
f x
min.
4 5
в узлах построенной сет-
ки, кроме первого и последнего:
,
, …,
f x
k
.
N
4. Находим минимальное из этих значений:
j f x f x f x f x
5. Выполняем присваивания
k k
a b
1
6. Если
k k k k
j N
1 1
12k
и
1 2 1
1
2
f x f x
N
1k k
1
,
1
k
,
, то полагаем
и заканчиваем вычисления. Иначе выполняем присваивание
и переходим на шаг 2.
Легко видеть, что после одной итерации алгоритма равномерного
поиска уменьшается в
раз. Поэтому
.
k
2
k
N
b a k
(2.6)
За приближение точки экстремума мы принимаем середину
интервала
, следовательно, количество итераций k, необхо-
димых для нахождения минимума функции с точностью по аргументу
, может быть найдено из условия
k
2
b a
N
(2.7)
2
Сколько потребуется итераций для достижения заданной точно-
сти по функции
, заранее неизвестно, т. к. зависит от вида ЦФ
. Это утверждение верно для всех методов исключения интер-
валов.
Пример. Решим задачу поиска оптимального маршрута лодки
2
36
f x
x x
9 5

Минимум будем искать на интервале
3,8
10N
0,05
0,001
0k
3a
8b
8 3 11
2,5.
2 2
3 , 0,1,...,10,
10
N
i
0
i
x
0
i
f x
6
j
2,5
4,7
3,6
4,7 2,5 2,2.
2 2
x
y
1k
2,5 , 0,1,...,10,
10
N
i
1
i
x
1
i
f x
. Положим
,
x
,
y
Шаг 1.1.
.
0
,
0
x
0
,
0 0
a b
0 0 0
,
3 8
b a
Шаг 1.2, 1.3. Вычисляем узлы сетки и значения ЦФ в узлах:
0
1 2 3 4 5
–1,9 –0,8 0,3 1,4 2,5
2,268 1,936 1,694 1,548 1,476
0 0
x a i i i
i
11
6
3,6
1,452
7 8 9
4,7 5,8 6,9
1,454 1,472 1,501
Шаг 1.4.
.
,
Шаг 1.5.
1
a
1 0 1 1
b
,
2
10
1
1
1 0
,
x x
b a
6
,
Шаг 1.6. Условия останова итерационного процесса не выполняются:
1
поэтому полагаем
2,2
1,1
,
1 0
f x f x
, и возвращаемся на шаг 2.
0.025
,
Шаг 2.2, 2.3. Вычисляем узлы сетки и значения ЦФ в узлах:
1
1 1
x a i i i
i
2,2
1 2 3 4 5 6
2,72 2,94 3,16 3,38 3,60 3,82
1,4684 1,4621 1,4573 1,4538 1,4515 1,4503
7
4,04
1,4500
8 9
4,26 4,48
1,4506 1,4519
37

Шаг 2.4.
7
j
3,82
4,26
4,04
4,26 3,82 0,44.
2 2
x
y
2k
3,82 , 0,1,...,10,
10
N
i
2
i
x
2
i
f x
4
j
3,952
4,040
3,996
4,040 3,952 0,088.
2 2
x
y
0,05
4,00
0,001
1,450
.
Шаг 2.5.
2
a
2
2 0 2 2
10
,
2
2
b
,
x x
b a
2 1
7
,
Шаг 2.6. Условия останова итерационного процесса не выпол-
няются:
2
поэтому полагаем
0,44
0,22
,
2 1 3
f x f x
, и возвращаемся на шаг 2.
1,523 10
Шаг 3.2, 3.3. Вычисляем узлы сетки и значения ЦФ в узлах:
2
1 2 3
3,864 3,908 3,952
2 2
x a i i i
i
4
3,996
0,44
5 6 7 8 9
4,040 4,084 4,128 4,172 4,216
,
1,45
017
1,45
008
1,45
002
1,45
000
1,45
001
1,45
006
1,45
014
1,45
026
Шаг 3.4.
Шаг 3.5.
a
3 0 3 3
3
.
2
10
3
b
,
3
b a
3 2
,
x x
4
,
Шаг 3.6. Условия останова итерационного процесса
выполняются:
3
поэтому решение окончено. С учетом того, что
значение аргумента до двух цифр после запятой:
0,088
0,044
3 2 5
f x f x
,
3,152 10
x
* 3
x x
, округляем
1,45
041
,
км.
С учетом того, что
цифр после запятой:
38
y
* 3
f f x ч.
, округляем значение функции до трех

2.3.2 Метод деления отрезка пополам
0,
x
f x
f x
0k
a a
b b
0 0
.2a b
, .
2 2
1
k
f x
2
k
f x
1 2
k k
f x f x
k k
a a
2
k k
b x
1
k k
a x
k k
b b
1 1
.
2
x
y
* 1
k
x x
1
k k
(метод дихотомии)
В методе деления отрезка пополам или методе равномерного дихотомического поиска (сокращенно – метод дихотомии, МД) испытания проводятся парами. Координаты каждой последующей пары ис-
пытаний разнесены между собой на величину
производятся в середине интервала. По значениям
. Испытания
, полученным
в этих точках, одна половина интервала в силу унимодальности
функции
исключается из дальнейшего рассмотрения. Алгоритм
относится к классу методов последовательного поиска.
Более строго описанную схему алгоритма можно записать
в нижеследующем виде:
1. Выполняем присваивания
0
,
0
,
0
,
x
2. Вычисляем величины
k k k k
x x x x
1 2
3. Вычисляем значения ЦФ
и
(2.8)
.
4. Если
1
1
,
,
1
1
(рисунок 2.3), то выполняем присваивания
. Иначе (рисунок 2.4) выполняем присваивания
.
Находим следующее приближение точки экстремума:
k k
a b
1k k
, то полагаем
5. Если
1
k
x
12k
и
f x f x
и заканчиваем вычисления. Иначе выполняем присваива-
ние
и переходим на шаг 2.
Легко видеть, что после одной итерации алгоритма деления
пополам интервал уменьшается примерно в 2 раза. Поэтому
39

, 0,1,...
k
1 2
k k
f x f x
1 2
k k
f x f x
k
a
k
k
a
1
k
x
f x
x
k
b
k
x
2
2
1
k
f x
2
k
f x
2
k
x
1
k
a
1
k
b
k
a
k
k
a
1
k
x
f x
x
k
b
k
x
2
2
2
k
f x
1
k
f x
2
k
x
1
k
a
1
k
b
1
k
2
b a k
(2.9)
Рисунок 2.3 — Итерация метода дихотомии при
40
Рисунок 2.4 — Итерация метода дихотомии при
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
