Функция Розенброка | это… Что такое Функция Розенброка?
График функции Розенброка для двух переменных.
Функция Розенброка (англ. Rosenbrock function, Rosenbrock’s valley, Rosenbrock’s banana function) — невыпуклая функция, используемая для оценки производительности алгоритмов оптимизации, предложенная Ховардом Розенброком (англ.) в 1960 году[1]. Считается, что поиск глобального минимума для данной функции является нетривиальной задачей.
Является примером тестовой функции для локальных методов оптимизации. Имеет минимум 0 в точке (1,1)[2].
Содержание
|
Каноническое определение
Значение функции Розенброка для двух переменных в окрестности точки .
Функция Розенброка для двух переменных определяется как:
Она имеет глобальный минимум в точке где .
Многомерное обобщение
Встречаются два классических варианта многомерного обобщения функции Розенброка.
В первом случае, как сумма несвязанных двумерных функций Розенброка:
- [3]
Более сложным вариантом является:
- [4]
Существует также вероятностное обобщение функции Розенброка, предложенное англ. Xin-She Yang[5]:
где случайные переменные являются непрерывно распределёнными Unif(0,1).
См. также
- Градиентный спуск
- Метод Нелдера — Мида
Примечания
- ↑ Rosenbrock, H.H. (1960). «An automatic method for finding the greatest or least value of a function». The Computer Journal 3: 175–184. DOI:10.1093/comjnl/3.3.175. ISSN 0010-4620.
- ↑ Жилинискас А. , Шатлянис В. Поиск оптимума: компьютер расширяет возможности. — М.: Наука, 1989, с. 14, ISBN 5-02-006737-7
- ↑ L C W Dixon, D J Mills. Effect of Rounding errors on the Variable Metric Method. Journal of Optimization Theory and Applications 80, 1994. [1]
- ↑ Generalized Rosenbrock’s function. Архивировано из первоисточника 3 сентября 2012. Проверено 16 сентября 2008.
- ↑ Yang X.-S. and Deb S., Engineering optimization by cuckoo search, Int. J. Math. Modelling Num. Optimisation, Vol. 1, No. 4, 330—343 (2010).
Литература
- Методические указания к исследовательской лабораторной работе по дисциплине «Математические основы кибернетики» // Крушель Е. Г., Степанченко О. В.
- Rosenbrock, H. H. (1960), ««An automatic method for finding the greatest or least value of a function»», The Computer Journal Т. 3: 175-184, MR0136042, ISSN 0010-4620, DOI 10.1093/comjnl/3.3.175
Ссылки
- Rosenbrock function plot in 3D (англ. ).
- Minimizing the Rosenbrock Function by Michael Croucher, The Wolfram Demonstrations Project (англ.).
- Weisstein, Eric W. Rosenbrock Function (англ.) на сайте Wolfram MathWorld. (англ.)
- Solving non-linear models with Compact Quasi Newton solver part 1 (англ.).
НОУ ИНТУИТ | Лекция | Решение оптимизационных задач
< Лекция 12 || Лекция 10: 123456789
Аннотация: В данной главе рассматриваются решение задач поиска минимума (максимума) в Octave. В первой части на примерах решения практических задач рассматривается функция qp предназначенная для поиска минимума функции одной или нескольких переменных с ограничениями. Вторая часть целиком посвящена задачам линейного программирования.
Ключевые слова: минимум, функция, график, графика, параметр, экстремум, массив, переменная, значение, info, максимум, затраты, задача линейного программирования
Изучение оптимизационных задач начнём с обычных задач поиска минимума (максимума) функции одной или нескольких переменных.
10.1 Поиск экстремума функции
Для решения классических оптимизационных задач с ограничениями в Octave можно воспользоваться следующей функцией , которая предназначена для решения следующей оптимизационной задачи.
Найти минимум функции при следующих ограничениях . Функция при решении задачи оптимизации использует метод квадратичного программирования.
Аргументами функции являются:
- — начальное приближение значения ,
- — оптимизируемая функция ,
- и — функции ограничений и ,
- и — верхняя и нижняя границы ограничения ,
- — максимальное количество итераций, используемое при решении оптимизационной задачи, по умолчанию эта величина равна 100, intuit.ru/2010/edi»> — точность , определяющая окончание вычислений, вычисления прекращаются при достижении точности .
Функция возвращает следующие значения:
- — точка, в которой функция, достигает своего минимального значения,
- — параметр, характеризующий корректность решения оптимизационной задачи, (если функция sqp возвращает значение info = 101, то задача решена правильно),
- — реальное количество итераций при решении задачи.
Рассмотрим несколько примеров использования функции при решении задач поиска экстремума функции одной переменной без ограничений.
Пример 10.1. Найти минимум функции
2-6*x+26; endfunction [x, obj, info, iter]= sqp(-3, @phi) % Результаты решения x =-3.8407 obj =-95.089 info = 101 iter = 5Листинг 10.1. Поиск минимума функции (пример 10.1)
Минимум функции достигается в точке , количество итераций равно 5, параметр свидетельствует о корректном решении задачи поиска минимума
Рис. 10.1. График функции примера 10.1
Рассмотрим пример поиска минимума функции нескольких переменных.
Дальше >>
< Лекция 12 || Лекция 10: 123456789
Функция Розенброка — Обмен файлами
Теперь вы подписаны на эту отправку
- Вы будете видеть обновления в ленте отслеживаемого контента
- Вы можете получать электронные письма, в зависимости от ваших предпочтений в общении
Версия 1. 0.0.0 (1,01 КБ) от
Функция Розенброка — это невыпуклая функция, используемая в качестве задачи тестирования производительности для оптимизации
2,2 тыс. загрузок За все время: 2 221″ data-original-title=»Загрузки» aria-describedby=»popover506129″>
Обновлено 29 мая 2012 г.
Посмотреть лицензию
- Обзор
- Функции
- История версий
- Отзывы (2)
- Обсуждения (0)
В математической оптимизации функция Розенброка представляет собой невыпуклую функцию, используемую в качестве задачи проверки производительности для алгоритмов оптимизации, введенных Говардом Х. Розенброком в 192
Имеет глобальный минимум при (x, y)=(1, 1), где f(x, y)=0.
Иногда дается другой коэффициент второго члена, но это не влияет на положение глобального минимума.Цитировать как
Андриан (2023). Функция Розенброка (https://www.mathworks.com/matlabcentral/fileexchange/36883-rosenbrock-function), MATLAB Central File Exchange. Проверено .
Совместимость версий MATLAB
Created with Р2010а
Совместимость с любой версией
Совместимость с платформами
Windows macOS LinuxКатегории
- Математика и оптимизация > Набор инструментов для оптимизации > Настройка оптимизации на основе проблем >
Метки
Добавить теги
rosen rosenb rosenbrock
Охота за сокровищами сообщества
Найдите сокровища в MATLAB Central и узнайте, как сообщество может вам помочь!
На охоту!
Версия | Опубликовано | Примечания к выпуску | |
---|---|---|---|
1. 0.0.0 |
Выберите сеть Сайт
Выберите веб-сайт, чтобы получить переведенный контент, где он доступен, и посмотреть местные события и предложения. На основе ваше местоположение, мы рекомендуем вам выбрать: 91 функция должна быть совместима с алгопией. http://en.wikipedia.org/wiki/Rosenbrock_function Доступна обобщенная реализация как функция scipy.optimize.rosen «»» х = Х[0] у = Х[1] а = 1. — х б = у — х * х вернуть a*a + b*b*100. деф основной(): цель = [1, 1] easy_init = [2, 2] hard_init = [-1.2, 1] minhelper.show_minimization_results( розенброк, цель, easy_init, hard_init) если __name__ == ‘__main__’: основной()
Вот его вывод:
свойства функции при локальном мин: точка: [ 1. 1.] значение функции: 0,0 градиент автодиффа: [-0. 0.] градиент конечных разностей: [ 0. 0.] автодифф гессен: [[ 802. -400.] [-400. 200.]] гессиан конечных разностей: [[ 802. -400.] [-400. 200.]] -------------------------------------------------- ------- поиск начинается с более легкой начальной точки [ 2. 2.] -------------------------------------------------- ------- свойства функции при начальном предположении: точка: [ 2. 2.] значение функции: 401.0 градиент автодиффа: [ 1602. -400.] градиент конечных разностей: [ 1602. -400.] автодифф гессен: [[ 4002. -800.] [-800. 200.]] гессиан конечных разностей: [[ 4002. -800.] [-800. 200.]] стратегия: по умолчанию (Нельдер-Мид) опции: по умолчанию Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 62 Функциональные оценки: 119[0,99998292 0,99996512] стратегия: нкг опции: по умолчанию градиент: автодифф Гессен: автодифф Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 33 Функциональные оценки: 52 Оценки градиента: 33 Гессенские оценки: 33 [0,99996674 0,99993334] стратегия: нкг опции: по умолчанию градиент: автодифф Гессен: конечные разности Оптимизация успешно завершена.Текущее значение функции: 0,000000 Итерации: 33 Функциональные оценки: 52 Оценка градиента: 139Гессен оценок: 0 [0,99996668 0,99993322] стратегия: cg опции: по умолчанию градиент: автодифф Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 20 Функциональные оценки: 73 Оценка градиента: 51 [0,99999877 0,99999753] стратегия: cg опции: по умолчанию градиент: конечные разности Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 24 Функциональные оценки: 249Оценка градиента: 54 [0,99999552 0,99999104] стратегия: бфгс опции: по умолчанию градиент: автодифф Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 19 Функциональные оценки: 27 Оценки градиента: 27 [0,99999999 0,99999999] стратегия: бфгс опции: по умолчанию градиент: конечные разности Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 19 Функциональные оценки: 108 Оценки градиента: 27 [ 0,99999551 0,99999102] стратегия: slqp опции: по умолчанию градиент: автодифф Оптимизация успешно завершена. (Выход из режима 0) Текущее значение функции: 1.0334670512e-07 Итерации: 20 Функциональные оценки: 29 Оценка градиента: 20 [0,9996964 0,99938232] стратегия: slqp опции: по умолчанию градиент: конечные разности Оптимизация успешно завершена. (Выход из режима 0) Текущее значение функции: 1.06959048795e-07 Итерации: 20 Функциональные оценки: 89Оценка градиента: 20 [ 0,99969095 0,9993713 ] стратегия: Пауэлл опции: по умолчанию Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 12 Функциональные оценки: 339 [ 1. 1.] стратегия: тнк опции: по умолчанию градиент: автодифф (массив([1.00005974, 1.00011971]), 47, 1) стратегия: тнк опции: по умолчанию градиент: конечные разности (массив([ 0.99999944, 0.99999889]), 64, 1) -------------------------------------------------- ------- поиск, начиная с более сложной начальной точки [-1.2 1. ] -------------------------------------------------- ------- свойства функции при начальном предположении: точка: [-1. 2 1. ] значение функции: 24,2 градиент автодиффа: [-215,6 -88. ] градиент конечных разностей: [-215,6 -88. ] автодифф гессен: [[ 1330. 480.] [ 480. 200.]] гессиан конечных разностей: [[ 1330. 480.] [ 480. 200.]] стратегия: по умолчанию (Нельдер-Мид) опции: по умолчанию Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 85 Функциональные оценки: 159[ 1.00002202 1.00004222] стратегия: нкг опции: по умолчанию градиент: автодифф Гессен: автодифф Оптимизация успешно завершена. Текущее значение функции: 3,811010 Итерации: 39 Функциональные оценки: 41 Оценки градиента: 39 Гессенские оценки: 39 [-0,95155681 0,91039596] стратегия: нкг опции: по умолчанию градиент: автодифф Гессен: конечные разности Оптимизация успешно завершена. Текущее значение функции: 3,810996 Итерации: 39Функциональные оценки: 41 Оценка градиента: 185 Гессен оценок: 0 [-0,95155309 0,91038895] стратегия: cg опции: по умолчанию градиент: автодифф Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 10 Функциональные оценки: 41 Оценка градиента: 36 [ 1. 0,99999999] стратегия: cg опции: по умолчанию градиент: конечные разности Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 13 Функциональные оценки: 221 Оценка градиента: 51 [ 1.00000015 1.00000031] стратегия: бфгс опции: по умолчанию градиент: автодифф Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 31 Функциональные оценки: 45 Оценка градиента: 45 [ 0,99999933 0,99999865] стратегия: бфгс опции: по умолчанию градиент: конечные разности Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 31 Функциональные оценки: 180 Оценка градиента: 45 [ 0,99999486 0,9999897 ] стратегия: slqp опции: по умолчанию градиент: автодифф Оптимизация успешно завершена. (Выход из режима 0) Текущее значение функции: 1. 12238027858e-08 Итерации: 34 Функциональные оценки: 47 Оценка градиента: 34 [ 0,99992192 0,99985101] стратегия: slqp опции: по умолчанию градиент: конечные разности Оптимизация успешно завершена. (Выход из режима 0) Текущее значение функции: 1.20063082621e-08 Итерации: 34 Функциональные оценки: 149 Оценка градиента: 34 [0,99991762 0,99984247] стратегия: Пауэлл опции: по умолчанию Оптимизация успешно завершена. Текущее значение функции: 0,000000 Итерации: 23 Функциональные оценки: 665 [ 1. 1.] стратегия: тнк опции: по умолчанию градиент: автодифф (массив([ 1.00000187, 1.00000376]), 76, 1) стратегия: тнк опции: по умолчанию градиент: конечные разности (массив([ 0,99995432, 0,99990844]), 97, 1)
Лучший способ найти минимум этой функции не так очевиден. Одним из сбивающих с толку факторов является то, что различные стратегии поиска не обязательно иметь сопоставимые критерии остановки по умолчанию.