Skip to content

[WIP] add initial version of OptimizationIpopt #915

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

SebastianM-C
Copy link
Contributor

This pacakge directly uses the C interface in Ipopt.jl.
The implementation is based on OptimizationMOI, but it also adds Ipopt specific elements, such as the callback handling.

This PR is an initial draft and needs more work.

The advantage of this approach over OptimizationMOI is that

  • we get correct, solver specific callback handling
  • support for common maxiters, maxtime, abstol arguments
  • slightly lower loading times by not needing to load MOI

While I copied a bit of the code for handling of symbolic systems since I'm not sure I understand how it's working yet and why do we essentially re-implement SymbolicUtils' codegen.

I think that some of the functionality of OptimizationMOI might be common enought that can be moved to an upstream pacakge to avoid code duplication.

I tried to give credit to the autohors of the funtionality that I copied over from OptimizationMOI by includding them as co-authors on the commit. Let me know if that's okay.

Checklist

  • Appropriate tests were added
  • Any code changes were done in a way that does not break public API
  • All documentation related to code changes were updated
  • The new code follows the
    contributor guidelines, in particular the SciML Style Guide and
    COLPRAC.
  • Any new documentation only uses public API

Additional context

Add any other context about the problem here.

This pacakge directly uses the C interface in Ipopt.jl.
The implementation is based on OptimizationMOI,
but it also adds Ipopt specific elements, such as the
callback handling.

Co-authored-by: Vaibhav Dixit <[email protected]>
Co-authored-by: Valentin Kaisermayer <[email protected]>
Co-authored-by: Fredrik Bagge Carlson <[email protected]>
Co-authored-by: Oscar Dowson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant