OK, thanks Miles. I'll head to Optim.jl. Is there an intention to implement this functionality? Suggestion for julia-opt is noted, thanks again.
On Tuesday, March 1, 2016 at 12:24:05 PM UTC+11, Miles Lubin wrote: > > There's no syntax for this at the moment, it's a known issue. The problem > is that JuMP's internal representation of nonlinear expressions doesn't > allow vectors or matrices. > For the moment we're targeting the use cases where the function is low > dimensional. For box-constrained nonlinear optimization you can use > Optim.jl. > > (By the way, better to post questions like these to julia-opt > <https://groups.google.com/forum/#!forum/julia-opt>.) > > On Monday, February 29, 2016 at 6:50:50 PM UTC-5, [email protected] > wrote: >> >> Hi there, >> >> I have a nonlinear varargs function f(x...) that I'd like to maximize. >> That is, the function is defined as follows: >> >> function f(x...) >> # do stuff here >> result >> end >> >> With a small number of arguments, for example 2, I can write the >> following and get the correct result: >> >> registerNLFunction(:f, 2, f, autodiff=true) >> m = Model() >> @defVar(m, x[1:2] >= 0.0) >> @setNLObjective(m, Max, f(x[1], x[2])) >> >> With a large number of arguments, say 100, I'd prefer not to manually >> write f(x[1], ..., x[100]) in the @setNLObjective macro. >> I have tried the following to no avail: >> @setNLObjective(m, Max, f(x...)) >> @setNLObjective(m, Max, f(tuple(x...))) >> >> Is there a way to get this going for 100 variables without having to >> manually write f(x[1], ..., x[100])? >> >> Cheers, >> Jock >> >> p.s. Thanks for the great work on 0.12.0 - it's awesome. >> >>
