Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Пусть задана многоэкстремальная функция:
.
Рассмотрим ее графики при различных изменениях . Из первого графика видим, что глобальный экстремум находится в районах и равен примерно 75.
Если смотреть другую область изменения, то глобальный экстремум находится в районе . Рассмотрим область изменения .
Используем метод «Монте-Карло» для нахождения глобального минимума функции. Сформируем два вектора и , присвоив их нулевым элементам значение нуль:
Зададим количеством случайных чисел , которое мы будем использовать для вычисления минимума. Чем больше это количество, тем точнее будет результат вычисления:
.
С помощью функции создадим вектор случайных значений элементов . Функция генерирует равномерно распределенные случайные числа в интервале 0… .
Из графика видно, что нам достаточен интервал .
.
Теперь в векторе помещено 100000 случайных чисел. Вычислим значения функции от них и поместим их в вектор .
.
Величину минимального элемента этого вектора найдем, используя функцию .
Величину минимального элемента вектора найдем, используя небольшую программу и вычислим по ней ответ:
,
,
.
Получили первое приближенное значение минимума функции цели. Для уточнения значения используем градиентный метод. Поиск минимума ведется по следующим формулам:
,
выбирается из условия .
– параметр, определяющий погрешность поиска минимума.
- отношение золотого сечения.
- формула Бине
для вычисления чисел Фибоначчи, где – номер числа.
Сделаем подпрограмму для вычисления частной производной функции в точке заданной вектором по переменной .
Подпрограмма выглядит следующим образом:
Сделаем подпрограмму для вычисления значений проекций градиента на оси координат. Подпрограмма возвращает вектор значений проекций и использует подпрограмму вычисления частной производной:
.
Функция , используемая для выбора :
.
Далее сделаем подпрограмму поиска минимума функции одной переменной по методу Фибоначчи (одномерной оптимизации функции цели).
Подпрограмма поиска минимума с помощью метода градиентного спуска:
Сформулируем еще раз нашу многоэкстремальную функцию:
,
.
Находим, в какой точке достигается минимум функции цели по нашей программе:
.
Находим значение минимума функции цели:
.
Отсюда можно сказать, что метод градиентного спуска подтвердил сходимость решения методом «Монте-Карло», [9, 10].
Целью нашего рассуждения и последующего исследования в работе является сведение полученной задачи НМП (18) к классической задаче математического программирования (2), для той же целевой функции , [3, 5, 8-11].
Пример из расчетного эксперимента:
3.3.4. Распознавание образов и сходства
Дата публикования: 2015-09-17; Прочитано: 627 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!