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.
>>
>>

Reply via email to