Министерство образования и науки РФ Национальный исследовательский Томский политехнический университет

advertisement
Министерство образования и науки РФ
Федеральное государственное автономное образовательное учреждение высшего
образования
Национальный исследовательский
Томский политехнический университет
УТВЕРЖДАЮ
Зам. директора ИК
по учебной работе
_____________С.А. Гайворонский
«___»_________________2015 г.
МЕТОДЫ ОПТИМИЗАЦИИ
Методические указания к выполнению лабораторной работы № 1
«Численные методы одномерной минимизации»
по дисциплине
«Методы оптимизации»
для студентов направления 01.03.02
«Прикладная математика и информатика»
Томск 2015 г.
УДК 519.8 ББК 22.14
Методы оптимизации. Методические указания к выполнению лабораторной
работы № 1. «Численные методы одномерной минимизации» по дисциплине
«Методы оптимизации» для студентов направления 01.03.02 «Прикладная
математика и информатика». – Томск: Изд. НИ ТПУ, 2015. – 12 с.
Составитель – доц. канд. техн. наук Ю. В. Бабушкин
Резензент – доц. канд. техн. наук В. Г. Гальченко
Методические
методическим
указания
рассмотрены
семинаром
и
кафедры
«___»_________2015 г.
Зав. кафедрой
Доцент, к.т.н. _________________Гергет О.М.
рекомендованы
прикладной
к
изучению
математики
Лабораторная работа № 1
Тема: Численные методы одномерной минимизации.
Цель работы: Приобретение практических навыков для решения задач
одномерной минимизации численными методами.
Постановка задачи
Требуется найти безусловный минимум функции одной переменной
Y  F (x ) , то есть, такую точку x*  R , что F ( x* )  min F ( x) .
xR
Поставленная задача может быть решена с помощью необходимых и
достаточных условий безусловного экстремума. Однако, во многих
практических случаях найти производные от заданной функции не
представляется возможным. Поэтому решение задач одномерной оптимизации
численными методами является актуальным при изучении методов
оптимизации.
Численные методы одномерной минимизации
К основным численным методам одномерной минимизации относят:
- метод равномерного поиска;
- метод деления отрезка пополам;
- метод дихотомии;
- метод золотого сечения;
- метод Фибоначчи;
- метод квадратичной интерполяции и др.
1. Метод равномерного поиска
Метод относится к пассивным стратегиям поиска точки экстремума.
Задается начальный интервал неопределенности L0  [a0 , b0 ] и количество
вычислений N . Вычисления производятся в N равноотстоящих друг от друга
точках. При этом интервал делится на N 1 равных интервалов. Путем
сравнения величин F ( xi ), i  1, N находится точка xk , в которой значение
функции наименьшее. Искомая точка x* считается заключенной в интервале
[ xk 1 , xk 1 ] .
Алгоритм равномерного поиска точки минимума
Алгоритм поиска минимума функции сводится к выполнению следующих
этапов.
1 этап. Задается начальный интервал неопределенности L0  [a0 , b0 ] и N количество вычислений функции.
2 этап. Вычислить точки xi  a0  i
L0
, i  1, N , равноотстоящие друг от
N 1
друга.
3 этап. Вычислить значения функции в N найденных точках F ( xi ), i  1, N .
4 этап. Среди точек xi , i  1, N , найти такую, в которой функция принимает
наименьшее значение F ( xk )  minF ( xi ) .
1i  N
5 этап. Точка минимума x* принадлежит интервалу x*  [ xk 1 , xk 1 ]  LN , на
котором в качестве приближенного решения может быть выбрана точка x*  xk .
Для оценки сходимости используется характеристика относительного
уменьшения начального интервала неопределенности R ( N ) 
2
.
N 1
Примечание. Если разбиение интервала L0  [a0 , b0 ] производится на N 1
равные части (метод перебора), то этапы 2-4 выглядят следующим образом
2 этап. Вычислить точки xi  a0  i
L0
, i  0, N  1 , равноотстоящие друг от
N 1
друга.
3
этап. Вычислить значения функции в N найденных точках
F ( xi ), i  0, N  1 .
4 этап. Среди точек xi , i  0, N  1, найти такую, в которой функция
принимает наименьшее значение F ( xk )  minF ( xi ) .
0 i  N 1
Погрешность нахождения точки минимума методом перебора не
превосходит
L0
.
N 1
2. Метод деления интервала пополам
Метод относится к последовательным стратегиям и позволяет исключать
из дальнейшего рассмотрения на каждой итерации в точности половину
текущего интервала неопределенности. Алгоритм уменьшения интервала
основан на анализе величин функции в трех точках, равномерно
распределенных на текущем интервале (делящих его на четыре равные части).
Поиск заканчивается, если длина текущего интервала неопределенности
меньше заданной величины.
Алгоритм поиска точки минимума методом деления интервала пополам
Алгоритм поиска минимума функции сводится к выполнению следующих
этапов.
1 этап. Задается начальный интервал неопределенности L0  [a0 , b0 ] и   0 требуемая точность.
2 этап. Задать k  0 .
3 этап. Вычислить среднюю точку xkc 
ak  bk
, L2 k  bk  ak , F ( xkc ) .
2
4 этап. Вычислить точки yk  ak 
L2 k
4
, zk  bk 
L2 k
4
, которые с xkc делят
интервал L2k  [ak , bk ] на четыре равные части, и функции F ( yk ), F ( zk ) .
5 этап. Если F ( yk )  F ( xkc ) , исключить интервал ( xkc , bk ] , приняв
bk 1  xkc , ak 1  ak . Средней точкой нового интервала становится точка yk : xkc1  yk .
Перейти на этап 7.
Если F ( yk )  F ( xkc ) , перейти на этап 6.
6 этап.
Если F ( zk )  F ( xkc ) , исключить интервал [ak , xkc ) , приняв
ak 1  xkc , bk 1  bk . Средней точкой нового интервала становится точка zk : xkc1  zk .
Перейти на этап 7.
Если F ( zk )  F ( xkc ) , исключить интервалы [ak , yk ), ( zk , bk ] , приняв
ak 1  yk , bk 1  zk . Средней точкой нового интервала останется точка xkc : xkc1  xkc .
7 этап. Вычислить L2( k 1)  bk 1  ak 1 и проверить условие окончания:
Если L2( k 1)   , то процесс поиска завершается и x*  L2( k 1)  [ak 1, bk 1 ] . В
качестве приближенного решения принимают середину последнего интервала
x*  xkc1 .
Если L2( k 1)   , то принять k  k 1 и перейти к этапу 4.
Для оценки сходимости метода используется характеристика
относительного уменьшения начального интервала неопределенности
R( N ) 
1
2
N /2
, где N количество вычислений функции.
3. Метод дихотомии
Метод относится к последовательным стратегиям. Задается начальный
интервал неопределенности и требуемая точность. Алгоритм опирается на
анализ значений функции в двух точках. Для их нахождения текущий интервал
неопределенности делится пополам и в обе стороны от середины откладывается
по

, где
2
 малое положительное число. Поиск заканчивается, если длина
текущего интервала неопределенности меньше заданной величины.
Алгоритм поиска точки минимума методом дихотомии
Алгоритм поиска минимума функции сводится к выполнению следующих
этапов.
1 этап. Задается начальный интервал неопределенности L0  [a0 , b0 ] и   0 требуемая точность,   0 - малое положительное число.
2 этап. Задать k  0 .
ak  bk  
a b 
, F ( yk ), zk  k k
, F ( zk ) .
2
2
4 этап. Если F ( yk )  F ( zk ) , принять ak 1  ak , bk 1  zk и перейти к этапу 5.
3 этап. Вычислить yk 
Если F ( yk )  F ( zk ) , принять ak 1  yk , bk 1  bk .
5 этап. Вычислить L2( k 1)  bk 1  ak 1 и проверить условие окончания:
Если L2( k 1)   , то процесс поиска завершается и x*  L2( k 1)  [ak 1, bk 1 ] . В
качестве приближенного решения принимают середину последнего интервала
x* 
ak 1  bk 1
.
2
Если L2( k 1)   , то принять k  k 1 и перейти к этапу 3.
Для оценки сходимости метода
относительного уменьшения начального
R( N ) 
1
2
N /2
используется характеристика
интервала неопределенности
, где N количество вычислений функции.
4. Метод золотого сечения
В методе золотого сечения в качестве двух внутренних точек выбираются
точки золотого сечения.
Точка производит золотое сечение, если отношение длины всего отрезка
к большей части равно отношению большей части к меньшей части. На отрезке
[a0 , b0 ] имеются две симметричные относительно его концов точки y0 и z0 :
b0  a0 b0  y0 b0  a0 z0  a0 1  5




 1.618. .
b0  y0 y0  a0 z0  a0 b0  z0
2
Точка y0 производит золотое сечение отрезка [a0 , z0 ] , а точка z0 - отрезка
[ y0 , b0 ] .
Метод относится к последовательным стратегиям. Задается начальный
интервал неопределенности и требуемая точность. Алгоритм опирается на
анализ значений функции в двух точках. В качестве точек вычисления функции
выбираются точки золотого сечения. На каждой итерации, кроме первой,
требуется только одно новое вычисление функции. Поиск заканчивается, если
длина текущего интервала неопределенности меньше заданной величины.
Алгоритм поиска точки минимума методом золотого сечения
Алгоритм поиска минимума функции сводится к выполнению следующих
этапов.
1 этап. Задается начальный интервал неопределенности L0  [a0 , b0 ] и   0 требуемая точность.
2 этап. Задать k  0 .
3 5
(b0  a0 ), zk  a0  b0  y0 .
2
4 этап. Вычислить F ( yk ), F ( zk ) .
3 этап. Вычислить yk  a0 
5
этап.
Если
F ( yk )  F ( zk ) ,
ak 1  ak , bk 1  zk
то
принять
yk 1  ak 1  bk 1  yk , zk 1  yk . Перейти к этапу 6.
Если F ( yk )  F ( zk ) , принять ak 1  yk , bk 1  bk и yk 1  zk , zk 1  ak 1  bk 1  zk .
и
6 этап. Вычислить   ak 1  bk 1 и проверить условие окончания поиска.
Если    , процесс поиска прекращается и x*  [ak 1  bk 1 ] . В качестве
приближенного решения принимают середину последнего интервала
x* 
ak 1  bk 1
.
2
Если    , принять k  k 1 и перейти к этапу 4.
5. Метод Фибоначчи
В методе Фибоначчи реализована последовательная стратегия,
обеспечивающая
максимальное гарантированное сокращение интервала
неопределенности при заданном количестве вычисления функции. Эта
стратегия опирается на числа Фибоначчи, определяемые по формуле
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 этап. Найти количество вычислений функции как наименьшее целое
число, при котором удовлетворяется условие FiN 
L0

и числа Фибоначчи
Fi0 , Fi1 ,..., FiN .
3 этап. Задать k  0 .
4 этап. Вычислить yk  a0 
FiN  2
Fi
(b0  a0 ), zk  a0  N 1 (b0  a0 ) .
FiN
FiN
5 этап. Вычислить F ( yk ), F ( zk ) .
6 этап. Если F ( yk )  F ( zk ) , то
yk 1  ak 1 
ak 1  ak , bk 1  zk , zk 1  yk ,
и
FiN  k 3
(bk 1  ak 1 ) . Перейти к этапу 7.
FiN  k 1
Если
zk 1  ak 1 
принять
F ( yk )  F ( zk ) ,
FiN  k  2
(bk 1  ak 1 ) .
FiN  k 1
принять
ak 1  yk , bk 1  bk , yk 1  zk
и
7 этап. Если k  N  3 , то принять k  k 1 и перейти к этапу 5.
Если k  N  3 , то всегда yN 2  z N 2 
нового
(aN  2  bN  2 )
, то есть отсутствует точка
2
вычисления
функции. В этом случае следует принять
yN 1  yN 2  zN 2 ; zN 1  yN 1   . В точках yN 1 , z N 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*  [aN 1 , bN 1 ] . В качестве приближенного
решения можно принять любую точку интервала, рекомендуется x* 
aN 1  bN 1
.
2
Характеристика относительного уменьшения начального интервала
неопределенности R ( N ) 
1
, где N количество вычислений функции.
FiN
6. Метод квадратичной интерполяции
(метод Пауэлла)
Метод квадратичной интерполяции относится к последовательным
стратегиям. Задается начальная точка и с помощью пробного шага находятся
три точки так, чтобы они были как можно ближе к искомой точке минимума. В
полученных точках вычисляются значения функции. Затем строится
интерполяционный полином второй степени, проходящий через эти три точки.
В качестве приближения точки минимума берется точка минимума полинома.
Процесс поиска заканчивается, когда полученная точка отличается от
наилучшей из трех опорных точек не более, чем на заданную величину.
Алгоритм поиска точки минимума с квадратичной интерполяцией
Алгоритм поиска минимума функции сводится к выполнению следующих
этапов.
1 этап. Задать начальную точку x1 , величину шага x  0 , 1 ,  2 - малые
положительные числа, характеризующие точность.
2 этап. Вычислить x2  x1  x .
3 этап. Вычислить f1  F ( x1 ), f 2  F ( x2 ) .
4 этап. Если F ( x1 )  F ( x2 ) , то принять x3  x1  2x .
Если F ( x1 )  F ( x2 ) , то принять x3  x1  x .
5 этап. Вычислить f3  F ( x3 ) .
6 этап. Найти Fmin  min( f1 , f 2 , f3 ), xmin  xi : F ( xi )  Fmin .
7 этап. Вычислить точку минимума интерполяционного полинома,
построенного по трем точкам:
x
1 f1 ( x22  x32 )  f 2 ( x32  x12 )  f3 ( x12  x22 )
2 f1 ( x2  x3 )  f 2 ( x3  x1 )  f3 ( x1  x2 )
и величину F ( x) . Если знаменатель в формуле для x на некоторой итерации
обращается в нуль, то результатом интерполяции является прямая линия. В
этом случае рекомендуется принять x1  xmin и перейти к шагу 2.
8 этап. Проверить выполнение условий окончания
Fmin  F ( x)
 1 ,
F ( x)
xmin  x
 2 .
x
Если оба условия выполнены, то процедура закончена и x*  x .
Если хотя бы одно из условий не выполнено и x [ x1 , x3 ] , выбрать
наилучшую точку ( xmin или x ) и две точки по обе стороны от нее.
Переобозначить эти точки в порядке возрастания и перейти к этапу 6.
Если хотя бы одно из условий не выполнено и x [ x1 , x3 ] , то принять x1  x
и перейти к этапу 2.
Варианты заданий
Варианты заданий приведены в таблице.
Таблица. Варианты заданий
№
F(X) =
Тип
экстрем
ума
max
Исходный
интервал
[4; 9]
0.02
Погрешность
1
ctg105
. x  x2  0
2
x 2  sin( x)
min
[-1; 0]
0.005
3
0.1  x  cos( x)
max
[4; 9]
0.02
4
exp( x)  x
exp( x)  1
min
[-1; 0]
0.005
min
[0.5; 1]
0.001
min
[-2; 0]
0.01
min
[-1.5; 3]
0.01
min
[1.3; 3.0]
0.01
max
[0; 3]
0.02
min
[0; 2.5]
0.02
max
[0.8; 2.0]
0.008
min
[0; 1.5]
0.01
min
[1; 3]
0.012
max
[0; 3]
0.02
max
[-1; 0.5]
0.005
min
[0; 2]
0.01
min
[0; 2]
0.01
min
[-1; 0]
0.002
5
2
17
x
 x  ( x  2) / x 2
x 1
ln( x)
x  ln(ln( x))
0.2  x  sin( 2 x)
5x 2  1
x
2
5 /( x  2 x  5)
exp( x  1)  1 / x
exp(1 / x)  ln( x)
x  exp( 0.5 x)
1  exp(  x)
x
2  x  x2
exp(  x)  1 /(1  x)
18
x 4  2x 2  4x
6
7
8
9
10
11
12
13
14
15
16
x 2  x  exp(  x)
exp( x)  1 /( x  2)
min
[0; 1]
0.005
min
[-1; 1]
0.01
5x exp( 0.5 x)
x lg( x )
max
[2; 6]
0.02
min
[0; 2]
0.01
min
[0.5; 2]
0.01
24
5 / x  x2
exp( 2 x)  x 2 / 2
min
[0; 1.5]
0.01
25
2  (ln( x)) 2  x / 2
min
[0.5; 2]
0.005
26
x 2  1 / arctg ( x)
min
[0; 2]
0.005
19
20
21
22
23
2
Задание
1. Составить блок-схемы алгоритмов поиска точки экстремума заданной
функции.
2. Построить график функции для выбора границ первоначального интервала.
3. По разработанным алгоритмам составить программы поиска минимума
функции.
4. Найти координаты и значение функции в точке минимума всеми методами.
5. Найти точное значение координаты точки минимума, используя
необходимые и достаточные условия экстремума.
6. Проанализировать полученные результаты и сделать выводы по достигнутой
точности и количеству вычислений функции.
7. Дать письменные ответы на контрольные вопросы.
Контрольные вопросы
1. В чем состоит необходимое и достаточное условие экстремума одномерной
функции?
2. В чем заключается условие унимодальности функции и как это условие
используется?
3. Понятие выпуклой функции.
4. Как найти экстремум функции?
5. Как ведет себя производная в области точки экстремума?
6. Верно ли утверждение, что всякая выпуклая непрерывная на отрезке
функция является на этом отрезке унимодальной?
7. Как ведет себя касательная к выпуклой функции? Поведение ее в области
экстремума?
8. Можно считать, что глобальный минимум является локальным? А наоборот?
9. В чем различие между пассивным и последовательным поиском?
10. Что называют интервалом неопределенности в задачах одномерной
оптимизации?
11. В чем состоит метод дихотомии?
12. Какие трудности возникают в методе квадратичной аппроксимации?
13. Каким образом сравнивают эффективность методов прямого поиска?
СОДЕРЖАНИЕ ОТЧЕТА
1.
2.
3.
4.
5.
6.
7.
8.
Цель работы.
Формулировка задачи.
Блок-схемы алгоритмов поиска минимума.
Графическое представление функции.
Листинги программ.
Результаты вычислений.
Сравнительная характеристика методов.
Выводы.
ЛИТЕРАТУРА
1. Лесин В.В., Лисовец Ю.П. Основы методов оптимизации: Учебное
пособие. – СПб.: Издательство «Лань», 2011. – 352 с.
2. Пантелеев А.В., Летова Т.А. Методы оптимизации в примерах и задачах:
Учебное пособие. – М.: Высшая школа, 2002.- 544 с.
Временной ресурс:
- аудиторные занятия – 4 часа;
- самостоятельная работа – 16 часов.
Итоговая оценка защиты лабораторной работы
Всего: 13 баллов, в том числе:
- метод равномерного поиска
- 2 балла;
- метод деления отрезка пополам
– 2 балла;
- метод дихотомии
- 2 балла;
- метод золотого сечения
- 2 балла;
- метод Фибоначчи
- 2 балла;
- метод квадратичной интерполяции (метод Пауэлла) – 3 балла.
Численные методы одномерной минимизации
Методические указания к выполнению лабораторной работы
Составитель – Юрий Владимирович Бабушкин
Подписано к печати ___._______. 2015г.
Формат 60*84/16. Бумага офсетная.
Плоская печать. Усл. печ. л. _____. Уч. – изд. л. ____.
Тираж 150 экз. Заказ ____. Цена свободная.
ИПФ НИ ТПУ. Лицензия ЛТ № 1 от 18.07.94.
Типография НИ ТПУ. 634034, Томск, пр. Ленина, 30.
Related documents
Download