Adding Algencan to JuMP

Hello, I work in the Optimization group at the University of Campinas. Two of my colleagues have written a very good general purpose nolinear optimization solver called Algencan.

https://www.ime.usp.br/~egbirgin/tango/codes.php

It is GPL. I was talking to Ernesto and Mario some time ago about JuMP. I have promised them that I would write a good interface for Algencan for JuMP. So, now that the semester is over I might find out some time in my schedule to start thinking about making this a reality. Can someone point out to me the right documentation for me to start to write the code?

5 Likes

Hi!

Do you have more info on the class of problems that are solved by Algencan?

The more commonly used nonlinear solver used by JuMP are Ipopt and Knitro.
Their julia wrappers include a MathProgBase Interface, this might be an example if the problem structure is similar.

Also feel free to aks questions in gitter: JuliaOpt/JuMP-dev - Gitter

It is general nonlinear smooth optimization

min f(x)
s.t. h(x) = 0
g(x) <= 0
x in Box

Quite similar to what Ipopt and Knitro do. The method can use second derivatives if available (and this makes it much faster).

OK, I might try to take a look at the Ipopt and Knitro interfaces. Thanks.

Yes, please have a look at Ipopt.jl and KNITRO.jl and come to the JuMP-dev channel with any questions that come up. Looking forward to playing with the solver!

I too am looking forward to another open-source NLP solver option!

Ok. I’ll start from Ipotp.jl. It might take a while though, I am not really knowledgeable in Julia and even less in making Julia packages.