JuliaNLSolvers / ConstrainedOptim.jl

Optim.jl style constrained optimization (experimental)
Other
14 stars 3 forks source link

TODO (help wanted) #4

Open anriseth opened 6 years ago

anriseth commented 6 years ago

Here's a list of things that I believe we should focus on next. If anyone is interested in helping out here that would be very much appreciated.

Interface

Interior / IPNewton

Linesearch

Testing

cortner commented 6 years ago

instead of quasi-newton how about a Newton-Krylov scheme? Should be easier to build into the current code.

pkofod commented 6 years ago

instead of quasi-newton how about a Newton-Krylov scheme? Should be easier to build into the current code.

That would be interesting as well, sure.

anriseth commented 6 years ago

instead of quasi-newton how about a Newton-Krylov scheme? Should be easier to build into the current code.

To clarify, do you mean supporting "Hessian-free" (Hessian-vector) type Newton-Krylov, or to support, for example, IterativeSolvers.jl? I have only dealt with Newton-Krylov in the context of nonlinear equations, where it can also mean that you use some iterative solver for the problem (Jacobian*dx = Residual), regardless of whether the Jacobian is assembled or not.

cortner commented 6 years ago

In A NK scheme you can replace the hxv with finite differences- that is the advantage for me

anriseth commented 6 years ago

I've added Newton-Krylov to the list :)

gragusa commented 6 years ago

I will start updating the MathProgBase interface.

anriseth commented 6 years ago

I will start updating the MathProgBase interface.

Thanks for doing that, @gragusa :) Note that we have added the IPNewton code from this repository to Optim now, so I think you should be able to update the interface with using Optim instead of ConstrainedOptim. Ref https://github.com/JuliaNLSolvers/Optim.jl/pull/608 https://github.com/JuliaNLSolvers/Optim.jl/issues/609

I also see that the JuliaOpt group have started implementing the solver interfaces with MathOptInterface now, as they are planning to move away from MathProgBase (Refs https://github.com/JuliaOpt/Ipopt.jl/pull/108 https://github.com/JuliaOpt/Ipopt.jl/pull/116). I don't know whether it is more complicated to interface to MOI and therefore less time consuming to do this for MPB, but it seems like MOI is the future.

JMmontilla commented 5 years ago

Could a SQP method be implemented as well? I use it in the NLOpt suite and is the one that works best for me in general. I would like to help and try to implement it myself, but I have a lot to learn of Julia before. Aside from that this package is great :), will probably use it.

pkofod commented 5 years ago

Yes, SQP methods are certainly on the table. Notice that his functionality is now in Optim.jl :)