Argumente mit Parametern in package cmaes
Verfasst: Mi Dez 04, 2019 6:25 pm
Hallo R-Cummunity,
heute wollte ich das CRAN-Package cmaes, ganauer gesagt die Funktion, cma_es, zur Anwendung des CMAES-Optimierungsverfahrens benutzen, kenne mich aber nicht allzu sehr mit R aus und hatte dabei einige Schwierigkeiten.
Die zu verwendende Funktion sieht so aus, wobei control hier irrelevant ist:
cma_es(par, fn, ..., lower, upper, control=list())
Die entsprechende Dukumentation steht in https://cran.r-project.org/web/packages/cmaes/cmaes.pdf
Mit dieser Funktion würde ich gerne die zweidimensionale Funktion f(x,y) = x^2-cos(5*y^3)+y^2 als fn, mit den Startparametern (0, 0) als par und den Grenzen {-10,10} als lower und upper auswerten, habe es aber nicht geschafft, die Parameter und Funktion richtig zu implementieren, wobei es für eindimensionale Funktionen noch geklappt hat.
Zuletzt habe ich es mit
cma_es(par = 0, fn = f1(c(par, par)), lower = -10, upper = 10, control = list(maxit = 100, mu = 2, lambda =2))
versucht, dies hat aber offensichtlich nicht geklappt, ich habe jetzt stundenlang verschiedene Varianten probiert und die Dokumentation untersucht, aber keine Lösung gefunden, deshalb hoffe ich dass ihr mir helfen könnt in der Hoffnung, dass ich etwas simples übersehen habe, auch wenn es um ein etwas exotischeres Package geht.
Mit freundlichen Grüßen,
Niklas
heute wollte ich das CRAN-Package cmaes, ganauer gesagt die Funktion, cma_es, zur Anwendung des CMAES-Optimierungsverfahrens benutzen, kenne mich aber nicht allzu sehr mit R aus und hatte dabei einige Schwierigkeiten.
Die zu verwendende Funktion sieht so aus, wobei control hier irrelevant ist:
cma_es(par, fn, ..., lower, upper, control=list())
Die entsprechende Dukumentation steht in https://cran.r-project.org/web/packages/cmaes/cmaes.pdf
Mit dieser Funktion würde ich gerne die zweidimensionale Funktion f(x,y) = x^2-cos(5*y^3)+y^2 als fn, mit den Startparametern (0, 0) als par und den Grenzen {-10,10} als lower und upper auswerten, habe es aber nicht geschafft, die Parameter und Funktion richtig zu implementieren, wobei es für eindimensionale Funktionen noch geklappt hat.
Zuletzt habe ich es mit
cma_es(par = 0, fn = f1(c(par, par)), lower = -10, upper = 10, control = list(maxit = 100, mu = 2, lambda =2))
versucht, dies hat aber offensichtlich nicht geklappt, ich habe jetzt stundenlang verschiedene Varianten probiert und die Dokumentation untersucht, aber keine Lösung gefunden, deshalb hoffe ich dass ihr mir helfen könnt in der Hoffnung, dass ich etwas simples übersehen habe, auch wenn es um ein etwas exotischeres Package geht.
Mit freundlichen Grüßen,
Niklas