Я пытаюсь свести к минимуму пользовательские функции. Он должен принимать пять параметров и набор данных и выполнять все виды вычислений, выдавая в качестве выходных данных одно число. Я хочу найти комбинацию из пяти входных параметров, которая дает наименьший выход моей функции.
r
optimization
user333
источник
источник
В дополнение к ответу Джерома Англима, у меня есть еще несколько ссылок.
Рядом
optim
есть еще одна функция в базовом R , что позволяет за то , что вы хотите:nlminb
. Проверьте?nlminb
и?optim
примеры использования.Существует множество пакетов, которые могут выполнять оптимизацию. Что мне показалось наиболее интересным, так это пакеты optimx и совершенно новый пакет neldermead для различных версий алгоритма симплекс.
Кроме того, вы можете захотеть взглянуть на CRAN Task View по оптимизации для большего количества пакетов
Обратите внимание, что все мои рекомендации предполагают, что у вас есть детерминированная функция (т.е. нет случайного шума). Для функций, которые не являются строго детерминированными (или слишком большими), вам необходимо использовать такие алгоритмы, как имитация отжига или генетические алгоритмы. Но CRAN Task View должен иметь то, что вам нужно.
источник
Ваша функция непрерывна и дифференцируема? Вы можете использовать optim как с предоставленными пользователем производными, так и с числовыми аппроксимациями.
источник