J'essaie de minimiser une fonction personnalisée. Il doit accepter cinq paramètres et l'ensemble de données et effectuer toutes sortes de calculs, en produisant un seul nombre en sortie. Je veux trouver une combinaison de cinq paramètres d'entrée qui donne la plus petite sortie de ma fonction.
r
optimization
user333
la source
la source
En plus de la réponse de Jeromy Anglim, j'ai d'autres liens.
A côté de
optim
là est une autre fonction dans la base R qui permet ce que vous voulez:nlminb
. Vérifiez?nlminb
et?optim
pour des exemples d'utilisation.Il y a un tas de packages qui peuvent faire des optimisations. Ce que j'ai trouvé le plus intéressant, ce sont les packages optimx et, tout nouveau, le package neldermead pour différentes versions de l'algorithme simplex.
En outre, vous voudrez peut-être consulter la vue des tâches CRAN sur l'optimisation pour plus de packages
Veuillez noter que mes recommandations supposent toutes que vous avez une fonction déterministe (c.-à-d. Pas de bruit aléatoire). Pour les fonctions qui ne sont pas strictement déterministes (ou trop grandes), vous devrez utiliser des algorithmes tels que le recuit simulé ou des algorithmes génétiques. Mais la vue des tâches CRAN devrait avoir ce dont vous avez besoin.
la source
Votre fonction est-elle continue et différenciable? Vous pourrez peut-être utiliser optim, soit avec des dérivés fournis par l'utilisateur, soit avec des dérivés approximés numériquement.
la source