CouenneNL in version 1.1.1

Hi,

I am a new user of Julia and trying to solve my MINLP problem using CouenneNL. The problem is non convex so the solution I got from Ipopt is not reliable.

How can I use CouenneNL in version v. 1.1.1?

The short answer is you can’t, at least until https://github.com/rdeits/CouenneNL.jl is updated.

As a work-around

  1. Download Couenne from https://ampl.com/products/solvers/open-source/

  2. Unpack it somewhere convenient.

  3. Use https://github.com/JuliaOpt/AmplNLWriter.jl with

model = Model(with_optimizer(AmplNLWriter.Optimizer, "/path/to/couenne"))

but replace "/path/to/couenne" with the actual path that you unpacked the Couenne binary too.

2 Likes

Hi Raminel, welcome to discourse and Julia.
Do you need the global optimal solution?
If not necessarily, you might want to have a look at our local solver https://github.com/lanl-ansi/Juniper.jl which will be faster most of the time (as only solving it locally) but the results are normally not that much worse than the global optimal solution. We use branch and bound for the mixed integer part which turns out to be quite effective also for non convex problems to get good solutions.
If you have any further questions about it I’m happy to answer them.

1 Like

I just updated CouenneNL.jl to install on Juila 1.x, but you’ll need the master branch, and it will only work with JuMP 0.18. @odow’s solution is probably a better one anyway (CouenneNL.jl was nothing more than a simple package to try to automate the 3 steps his post mentions).

1 Like

Thank you very much for the replies!

This is a bit off topic, but… @rdeits have you tried Apline.jl for your global optimization needs? At this point I would expect it is similar in performance to Couenne.