Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №3.doc
Скачиваний:
14
Добавлен:
01.05.2014
Размер:
106.5 Кб
Скачать

Результаты тестирования различных методов

Ниже приведены таблицы с результатами работы программы для двух функций, с различными стартовыми точками и точностями вычисления.

Точность:

0.0001

0.00001

0.000001

X0=(1,1)

К

X*

K

X*

K

X*

Метод Свенна

6

[(-0.26,-0.89); (0.7,0.55)]

6

[(-0.26,-0.89); (0.7,0.55)]

6

[(-0.26,-0.89); (0.7,0.55)]

Метод Золотого сечения 2

22

(0.255816; -0.116276)

33

(-0.255813; -0.11628)

31

(0.255814; -0.116279)

Метод Свенна 4

9

[(0.49,0.235); (-0.022,-0.533)]

9

[(0.49,0.235); (-0.022,-0.533)]

9

[(0.49,0.235); (-0.022,-0.533)]

Метод Дэвидона

1

(0.255814; -0.116279)

1

(0.255814; -0.116279)

1

(0.255814; -0.116279)

Выводы:

В данной работе был использован метод Свенна1 и Свенна4 получения начального интервала локализации минимума. Также сравниваются 2 метода линейный и аппроксимационный для функции двух переменных. Поиск ведется в пространстве, начиная с заданной начальной точки x0 по направлению p. Сравнивая методы нужно отметить высокую эффективность метода Дэвидона кубической аппроксимации. Как видно из сравнительной таблицы данный метод находит точный минимум всего за 1 итерацию при разных точностях, в отличие от линейного метода золотого сечения. При изменении начальной точки алгоритм Дэвидона выполняет задачу за 1 итерацию, когда методу ЗС2 требуется задание точности и несколько десятков итераций для нахождения точного минимума. Поскольку при другой начальной точке минимум будет другим, то в таблице не приведено сравнение результатов при другой начальной точке. Также для проверки были умышленно искусственно расширены границы начального интервала, для проверки метода. Результат не изменился 1 итерация и точный результат. Это можно связать с тем, что аппроксимация производится по более точному полиному 3-го порядка. И вероятно построенный полином очень близок к исследуемой функции, поэтому при первом же вычислении аппроксимирующего минимума выдается точный результат.

Ответы на контрольные вопросы:

    1. Поясните организацию линейного поиска на основе методов золотого сечения, Фибоначчи и Пауэлла. В методах ЗС и Фибоначчи ТИЛ делится в отношении золотых чисел и соседних чисел последовательности Фибоначчи пока соседние точки не будут удовлетворять КОП. В методе Пауэлла в середине интервала берется точка предполагаемого минимума, которая вычисляется исходя из свойств аппроксимирующего полинома, который строится по известным данным интервала и значений функции в конкретных точках. Эта точка как бы предполагаемый минимум. Относительно этой точки сокращается ТИЛ пока не будет удовлетворен КОП.

    2. Найти производную в точке x0=(1,0)t по направлению p1=(1,1)t для функции f(x) = x12 - x1x2 + 2x22 - 2x1. Градиент G= (2x1-x2-2 , 4*x2-x1)t G(x0)= (0,-1)t

F’(x0,p) = G t *p = (2x1-x2-2 , 4*x2-x1)*(1,1) t = (0,-1)* (1,1)t =0-1=-1

    1. Как изменится процедура минимизации методами Больцано, дихотомии, ДСК, Дэвидона при переходе от поиска на числовой прямой к поиску на плоскости R2? F(x) -> F(x1,x2)

Числа a,b,λ,µ -> векторы a,b, λ,µ или смещения относительно начальной точки α b αa … КОП: |b-a|<ε -> ||a-b||<ε модуль заменится нормой

Y’(r) -> Y’(r,p) производная станет по направлению.

xk+1=xk+hk, hk=2hk-1 -> xk+1=xk+hk*p, hk=2hk-1 шаг на h станет шагом на h в направлении p.

    1. Что является направлением наискорейшего спуска в точке x = (1,1)t для целевой функции y(x) = x12 + 2x22 Им является вектор антиградиент в точке x = (1,1)t G= (2*x1,4*x2)t B точке х G= (2,4) t антиградиент -G= (-2,-4) t

    2. Приведите 2 способа аналитического решения задачи для Вашего варианта задания. Простейший метод поиска минимума функции: Y’=0; Так как у нас поиск по направлению, то и производная по направлению Y’(x,p)=0. Y=x12 + 3x22 + 2x1x2 x0= (1,1)t , p= (2,3)t Градиент G(x)= (2x1+2x2,6x2+2x1)t

Y’(x,p) = (2x1+2x2,6x2+2x1)*(2,3) t =4x1+4x2+18x2+6x1=10x1+22x2=0

10x1+22x2=0

Но x1=1+2α, а x2=1+3 α, т.к. x1 и x2 лежат на направлении p. Таким образом

10(1+2 α)+22(1+3 α)=0

10+20 α+22+66 α=0

32+86 α=0

α= -32/86

α=-0,372093023

x1=1+2 α=0.255813954

x2=1+3 α= -0.116279067

X=(0.255813954, -0.116279067);

    1. Найдите минимум y(x) = x12 - x1x2 + 2x22 - 2x1 + ex1+x2, двигаясь из точки x  = (0,0) в направлении наискорейшего спуска. Градиент G(x)= (2x1-x2-2+ex1+x2,4x2-x1+ex1+x2)t G(x0)= (-1,1)t антиградиент -G= (1,-1)t

Y’(x,p) = (2x1-x2-2+ex1+x2,4x2-x1+ex1+x2)* (1,-1)t = 3x1 -5x2-2=0

-3x1+5x2+2=0

x1= α

x2= - α

3 α+5 α-2=0

8 α-2=0

α= 0.25

x1= 0.25

x2= -0.25

X=(0.25, -0.25)t

    1. Найти шаг 1, доставляющий минимум в точку x2 = x1 + 1p для функции y(x)= x12 + 2x22 и направления антиградиента в точке x0 =(1,0)t

Градиент G=(2x1,4x2)t G(x0) =(2,0)t антиградиент –G = (-2,0)t

Y’(x,p) = (2x1,4x2)*(-2,0)t = -4x1=0

-4x1=0

x1=1-2

-4(1-2)=0

=0.5