Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кинематика сейсмических волн в средах....doc
Скачиваний:
7
Добавлен:
09.09.2019
Размер:
1.03 Mб
Скачать

17.2. Поиск минимума функции нескольких переменных

Минимум функции нескольких переменных может быть найден численными методами на компьютере. Существуют алгоритмы такого поиска. Например, известный алгоритм градиентного спуска. Рассмотрим метод прямого поиска минимума функции нескольких переменных. Существует стандартная процедура- DIRECTSEARCH такого поиска. Как построен алгоритм? Рассмотрим рис.18

Рис.18.

На рисунке 18 изображены изолинии функции σ(c,m)=const. Выберем произвольную начальную точку m0, c0. У нас есть алгоритм (формула), позволяющая вычислить функцию σ(c,m). Вычислим значение этой функции в начальной точке. Зададим некоторый шаг c, m и вычислим значения σ (c,m) ещё в четырёх точках: σ(c0,m0+m), σ(c0,m0 -m), σ(c0+c,m0), σ(c0 -c,m0), то есть, определим значения функции σ для некоторой расстановки типа крест. Затем выберем из этих значений минимальное. В данном случае это будет σ(c0, m0 - c) и переместим центр расстановки в эту точку. Далее процедура вычислений повторяется. Крест будет ползти в сторону минимума. Если минимальное значение получается в центральной точке креста - шаг дробится. Алгоритм процедуры прямого поиска становится понятнее, если рассмотреть обращение к процедуре DIRECTSEARCH.

DIRECTSEARCH (N(число переменных), RHO(параметр уменьшения шага поиска), DL(наименьший шаг), MF(процедура вычисления значений функции), M(максимальное число вычислений функции), MX(начальный шаг), D(координаты минимума), MFS(значение функции в точке минимума), P1 (логическая переменная, если P1 - истинно, то найден минимум, если P1 - ложно выход из процедуры осуществлён при достижении количества вычислений функции больше значения M).

Структура линий уровня функции σ нам не известна - функция может содержать несколько минимумов. Эта проблема решается следующим образом: задаём несколько значений начальных точек, в нашем случае - 4. Вычислим координаты четырёх точек минимума. А затем выберем из них ту, в которой значение σ наименьшее.

В рассмотренном случае, мы считаем функцию σ функцией двух переменных. Однако, как мы сейчас увидим, эта задача может быть сведена к поиску функции одной переменной. Действительно, если для пары годографов, задано некоторое произвольное значение параметра С, то оптимальное значение m степени однородной аппроксимирующей функции может быть вычислено. Возьмём произвольную точку прямого годографа х1, t1. Зададим некоторое значение С. Соответствующая точка х2 (образ точки х1) , при заданном значении С может быть найдена по формуле:

Возьмём значение t2 в точке x2. Известно, что:

отсюда:

m = 1 - A

Взяв несколько точек прямого годографа вычислим , для каждой пары точек можно вычислить своё значение mi, а затем вычислить среднеарифметическое значение:

После этого для заданного С и вычисленного m необходимо найти среднеквадратическое отклонение прямого наблюдённого от преобразованного прямого σ (С, m). В этом случае σ является функцией только одного переменного С. Таким образом можно вести поиск минимума функции σ (С) передвигаясь только по одной координате С. Это уменьшает время счёта примерно в пять раз. Точность вычислений при этом не теряется. Итак, минимум найден. Пусть это будут значения m*, C*.