Спецификация функций.
Имя функции |
Назначение |
Входные параметры |
Возвращаемое значение |
main |
Главная функция в программе |
|
|
f |
Вычисляет значение функции в заданной точке одной из функций |
vec x |
double |
dif |
Нахождение производной по направлению |
vecx, vec p |
double
|
grad |
Вычисление градиента в точке |
vec x |
vec
|
gs1
|
Метод золотого сечения 1 |
vecx– начальная точка vecp– направление поиска минимума doublee– точность вычислений |
double Значение шага «а»: x2=x+a*p, гдеx2 значение минимума |
Input |
Функция для ввода начальной точки и выбора функции |
|
|
minimum |
Метод поиска с возвратом при неудачном шаге |
vecx– начальная точка doublee– точность вычислений int M– количество итераций |
vec значение минимума |
mod |
Вычисление нормы вектора |
vecp– вектор, норму которого необходимо вычислить |
double
|
mul |
Произведение векторов |
vec x1, vec x2 |
matrix – значение произведения |
mulvec |
Поэлементное произведение векторов |
vec x1, vec x2 |
vec |
svenn4 |
Метод Свенна 4 |
vecx-начальная точкаvecp-направлениеdoublealpha- шаг |
массив al, заполненный значениямиakиak-1 |
Результаты тестирования программы.
–12x2+ 4x12+ 4x22– 4x1x2 |
Min (1; 2) |
Начальная точка |
Точность |
Минимум |
Число итераций |
(1, 0) |
0,01 |
(0,9582; 2.00961 |
60 |
(1,0) |
0.00001 |
(0.9999; 2) |
152 |
(-2; 5) |
0.01 |
(0.926274; 1.95158) |
82 |
(-2; 5) |
0.00001 |
(0.9999; 1.9999) |
106 |
Ответы на контрольные вопросы.
Какие методы применяются при поиске глобального минимума?
При поиске глобального минимума применяются следующие методы:
Методы нулевого порядка
конфигураций
деформируемого многогранника
Розенброка
сопряженных направлений
случайного поиска
адаптивный метод случайного поиска
метод с возвратом при неудачном шаге
наилучшей пробы
Методы первого порядка
градиентного спуска
покоординатного спуска
Гаусса-Зейделя
Флетчера Ривса
Дэвидона Флетчера Пауэлла
Методы второго порядка
Ньютона
Ньютона Рафсона
Маркварда
В чем идея методов случайного поиска и в чем отличие методов случайного поиска от остальных методов нулевого порядка?
Идей методов случайного поиска: организация итерационного процесса xk+1=xk+ak*pkгдеpkгенерируется нормированием случайного вектора. Отличие от остальных иеттодов нулевого порядка в том, что направление выбирается случайным образом.
В чем отличие метода случайного поиска с возвратом при неудачном шаге от метода LPτ-поиска?
В методе случайного поиска с возвратом при неудачном шаге выбирается пробная точка, лежащая на сфере с радиусом ak, в методеLPτ-поиска используются точкиLPτпоследовательности, являющиеся равномерным покрытием области.
Каким образом можно равномерно покрыть область пробными точками?
Для равномерного покрытия области можно использовать точки LPτ-последовательности.
Для генерации точек LPτ-последовательности можно использовать один из двух алгоритмов – логический или арифметический. Логический алгоритм обладает большим быстродействием, но требует наличия в программном обеспечении ЭВМ специальных логических функций для чисел с плавающей точкой. Арифметический алгоритм имеет меньшее, хотя и приемлемое быстродействие.
В соответствии с арифметическим алгоритмом i-я координата j-й точки в гиперкубе D:{X | 0 ≤ Xi ≤ 1} вычисляется в соответствии с выражением
, (П. 9.1)
где m = 1 + [log2 i], {…} – операция взятия дробной части числа, […] – операция взятия целой части числа, rjl – элемент таблицы числителей направляющих чисел.