- •Содержание:
- •Цель работы и требования задания
- •Описание метода оптимизации
- •Спецификация программы.
- •Спецификация функций.
- •Результаты тестирования программы.
- •Ответы на контрольные вопросы.
- •1)Построить систему сопряженных направлений методом Пауэлла для функции трех переменных.
- •2)Как реализуется свойство параллельного подпространства в методах Пауэлла-1 и Пауэлла-2?
- •3)Какие модификации реализованы в методе Пауэлла для произвольных функций?
- •6)Перечислить критерии окончания поиска, используемые в методах нулевого порядка.
- •Текст программы
Спецификация функций.
|
Имя функции |
Назначение |
Входные параметры |
Выходные параметры |
|
main |
Главная функция в программе |
|
|
|
f |
Вычисляет значение функции в заданной точке одной из функций |
vec x |
double |
|
diff |
Нахождение производной по направлению |
vecx, vec p |
double
|
|
grad |
Вычисление градиента в точке |
vec x |
vec
|
|
Gold Section1
|
Метод золотого сечения 1 |
vecx– начальная точка vecp– направление поиска минимума doubleebs– точность вычислений |
double Значение шага «а»: |
|
Choise |
Функция для ввода начальной точки и выбора функции |
|
|
|
minim |
Метод минимизации Зангвилла |
vecx– начальная точка doublee– точность вычислений int iCount– количество итераций |
vec значение минимума |
|
mod |
Вычисление нормы вектора |
vecp– вектор, норму которого необходимо вычислить |
double
|
|
multipl |
Произведение векторов |
vec x1, vec x2 |
matrix – значение произведения |
|
multiplvec |
Поэлементное произведение векторов |
vec x1, vec x2 |
vec |
|
Zangvill |
Построение системы сопряженных направлений |
matrix P – матрица векторов, vec A-вектор оптимальных шагов |
matrixP– матрица сопряженных направлений |
|
Svenn4 |
Метод Свенна 4 |
vecx-начальная точкаvecp-направлениеdoublealpha- шаг |
массив alfa, заполненный значениямиakиak-1 |
Результаты тестирования программы.
Функция: f1(x) = (x1-2)^4+(x1-2x2)^2
Точность: 0,001
Начальная точка: (0,3)
X1 X2
1,67487 0,0995933
1,2351 0,104276
1,41726 0,104683
1,7289 0,104684
1,96572 0,804209
1,99831 1,0032
Number of Iteration: 6
Функция: f2(x)= [1.5-x1*(1-x2)]^2+[2.25-x1*(1-x2^2)]^2+[2.625-x1*(1-x2)^3]^2
Точность: 0,01
Начальная точка: ( 0;0 )
X1 X2
2,12497 0,215023
2,43415 0,324819
2,87331 0,481209
2,87356 0,48227
2,87337 0,479764
2,86909 0,465295
2,86909 0,467492
2,99721 0,50003
Number of Iteration: 8
Ответы на контрольные вопросы.
1)Построить систему сопряженных направлений методом Пауэлла для функции трех переменных.

2)Как реализуется свойство параллельного подпространства в методах Пауэлла-1 и Пауэлла-2?
В методах Пауэлла 1 и пауэлла 2 свойство параллельного подпространства реализуется следующим способом: последнее направление dkна к-ом шаге и предыдущее совпадают и
(dk)Hdk-1
3)Какие модификации реализованы в методе Пауэлла для произвольных функций?
Модификации метода Пауэлла
1) Определение эффективности нового поискового направления из условия:
![]()
2) Нормировка всех векторов
4)Для функции y(x) = 3x12 + 5x22 привести 2 итерации поиска Хука–Дживса. Принять x1 = (2; 1)t, h = (0.5; 0.5)t.
y(x1)=17; x2=x1+h*e1=(2;1)t+(0.5;0)t=(2.5;1)t y(x2)=23.75>y(x1) => Неудача
x2=x1-h*e1=(1,5;1)ty(x2)=11.75<y(x1) => удача
x3=x2+h*e2=(1.5;1)t+(0;0.5)t=(1.5;1.5)t y(x3)=18>y(x2) => Неудача
x3=x2-h*e2=(1.5;0.5)t y(x3)=8<y(x2) => удача
x2=(1.5;0.5)
x3=2*x2-x1=(1;0); x1=x2; y(x1)=8
x4=x3+h*e1=(1.5;0)t y(x4)=6.75<y(x1) => удача
x5=x4+h*e2=(1.5;0.5)ty(x5)=8 => Неудача
x1=x3=(1;0)
x2=x1+h*e1=(1.5;0)t y(x2)=6.75>y(x1) => Неудача
x2=x1-h*e1=(0.5;0)t y(x2)=0.75<y(x1) => удача
x3=x2+h*e2=(0.5;0.5)t y(x3)>y(x2) => Неудача
x3=x2-h*e2=(0.5;-0.5)t y(x3)>y(x2) => Неудача
5)Дана функция y(x) = x12 + 2x22 + x1x2 + x1, начальная точка x1 = (0; 0)t. Построить систему взаимно-ортогональных направлений методом Розенброка.
p1=(1;0) p2=(0;1)
x2=x1+a*p=(a;0)
y(x2)=a^2+a; y’=2a+1; a =-0.5; x2=(-0.5;0)
x3=x2+a*p2=(-0.5;a)
y(x3)=2*a^2-0.5*a-0.25; y’=4*a-0.5; a=0.125; A=(-0.5; 0.125)
i=1
A1=a1*p1+a2*p2=(-0.5; 0.125)
B1=A1=(-0.5; 0.125) d1=B1/||B1||=(-1; 0.25)
i=2;
A2=a2*p2=(0; 0.125)
B2=A2-A1*d1*d1=(0.03; 0.12)
d2=(0.24;1)
Ответ: d1=(-1;0.125), d2=(0.24;1)
