julia lang - How to pass parameters and data to objective function for optimization with NLopt -


in julia v0.3.10 on ubuntu 14.04, need pass parameters , data objective function use in optimisation routine using nlopt in julia. following example code demonstrates how this:

function estimate(mymodel, mydata, myinitialvalue, nloptalgorithm, numberofparameters)     opt = opt(nloptalgorithm, numberofparameters)     localobjectivefunction = ((param, grad) -> generic_objective_function(param, grad, mymodel, mydata))     min_objective!(opt, localobjectivefunction)     (objfuncopt, paramopt, flag) = optimize(opt, myinitialvalue) end function generic_objective_function(param, grad, mymodel, mydata)     #some code end 

this works, although suffers issue localobjectivefunction anonymous compiler not able determine output type of function @ run-time, in turn has performance implications.

i'm wondering if there better way deal problem? should using fastanonymous? or there form of magic gets around issue?

from julia v0.5, question superfluous. this pull request on github fixes performance issues anonymous functions, v0.5 onwards, use anonymous functions!


Comments

Popular posts from this blog

javascript - Using jquery append to add option values into a select element not working -

Android soft keyboard reverts to default keyboard on orientation change -

Rendering JButton to get the JCheckBox behavior in a JTable by using images does not update my table -