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

Методы оптимизации. В 2 частях. Ч.1. Учебное пособие

.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
к берегу слева от точки 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 — Итерация метода дихотомии при
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]