Hello,
Thanks a lot for your really nice answer!
The rest of my Test.mod file actually calls the user-defined function. The problem whas indeed that I did not set the ampl_funclibs variable. Now it works well with the lgo solver !
I might have another problem though but with lindoglobal optimizer. I have tried to solve my Test model and launched the lindoglobal solver from AMPL and I get :
" Bad NL Format
Errorcode=2056: A user-defined function has not been set yet"
I have not been able to find any information on this error code in the lindoglobal documentation.
I get the same result when I try to launch lindoglobal directly with the nl file (and the variable set, and the -i option to be sure...).
Thanks a lot !
P.S : If I can make use of your experise on that, from what I understand, LGO and lindoglobal are one of the fiew black box NLP non convex global optimizer using branch and bound techniques. Because of the black box of course I can get no guarantee on optimality from the solver with a branch and bound technique, but actually I know how my fucntion looks (12 variables) and it's not that bad, it has a lot of local minima's but it's differentiable almost everywhere. I use a numerical library to compute de differentiate of my objective (user-defined) and from what I understand, it will depend on the optimizer to use the differentiate or not, or to compute it numerically with it's own routine.
My question is, do you know any other that I could try? LGO doesn't work that well for my problem, even after a lot of tweaking of its parameters I get a solution that is quite far from what other library such as NLOPT ISRES gives me. I like the branch and bound approch (which is not the way ISRES works) but LGO comes with a lot of limitation in that sense (either I get limited because one of the partition get too small and lgo stops so I decide to linearly rescale my problem but then lgo is hardwire limited to the number of partition and this becomes the limiting factor).
Cheers,
Eric