Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример реализации и решения задачи определения минимума функции цели в среде mathcad



Пусть задана многоэкстремальная функция:

.

Рассмотрим ее графики при различных изменениях . Из первого графика видим, что глобальный экстремум находится в районах и равен примерно 75.

Если смотреть другую область изменения, то глобальный экстремум находится в районе . Рассмотрим область изменения .

Используем метод «Монте-Карло» для нахождения глобального минимума функции. Сформируем два вектора и , присвоив их нулевым элементам значение нуль:

Зададим количеством случайных чисел , которое мы будем использовать для вычисления минимума. Чем больше это количество, тем точнее будет результат вычисления:

.

С помощью функции создадим вектор случайных значений элементов . Функция генерирует равномерно распределенные случайные числа в интервале 0… .

Из графика видно, что нам достаточен интервал .

.

Теперь в векторе помещено 100000 случайных чисел. Вычислим значения функции от них и поместим их в вектор .

.

Величину минимального элемента этого вектора найдем, используя функцию .

Величину минимального элемента вектора найдем, используя небольшую программу и вычислим по ней ответ:

,

,

.

Получили первое приближенное значение минимума функции цели. Для уточнения значения используем градиентный метод. Поиск минимума ведется по следующим формулам:

,

выбирается из условия .

– параметр, определяющий погрешность поиска минимума.

- отношение золотого сечения.

- формула Бине

для вычисления чисел Фибоначчи, где – номер числа.

Сделаем подпрограмму для вычисления частной производной функции в точке заданной вектором по переменной .

Подпрограмма выглядит следующим образом:

Сделаем подпрограмму для вычисления значений проекций градиента на оси координат. Подпрограмма возвращает вектор значений проекций и использует подпрограмму вычисления частной производной:

.

Функция , используемая для выбора :

.

Далее сделаем подпрограмму поиска минимума функции одной переменной по методу Фибоначчи (одномерной оптимизации функции цели).

Подпрограмма поиска минимума с помощью метода градиентного спуска:

 

Сформулируем еще раз нашу многоэкстремальную функцию:
,

.

Находим, в какой точке достигается минимум функции цели по нашей программе:

.

Находим значение минимума функции цели:

.

Отсюда можно сказать, что метод градиентного спуска подтвердил сходимость решения методом «Монте-Карло», [9, 10].

Целью нашего рассуждения и последующего исследования в работе является сведение полученной задачи НМП (18) к классической задаче математического программирования (2), для той же целевой функции , [3, 5, 8-11].

Пример из расчетного эксперимента:

 

   
 
 
 
 
 
 

3.3.4. Распознавание образов и сходства





Дата публикования: 2015-09-17; Прочитано: 627 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...