Skip to content
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

Alpine refactoring (v1.0 milestone) #216

Open
1 of 16 tasks
harshangrjn opened this issue Aug 31, 2022 · 0 comments
Open
1 of 16 tasks

Alpine refactoring (v1.0 milestone) #216

harshangrjn opened this issue Aug 31, 2022 · 0 comments
Assignees
Milestone

Comments

@harshangrjn
Copy link
Collaborator

harshangrjn commented Aug 31, 2022

This issue is to keep track of the planned major refactoring for Alpine.jl. To complete this refactor, the following things need to be taken care of. This can be tagged as milestone for v1.0 of Alpine.jl

Relaxations and Algorithms

  • Implement/migrate all univariate piecewise relaxations and LP relaxations within Alpine (w/o additional package dependencies), based on this paper: https://doi.org/10.1007/s11081-021-09609-z
  • Clean-up of multilinear term (SOS-2 based) relaxations
  • Partition Refinement Schemes
    • Clean-up adaptive/non-uniform (two) points around the LB solutions with a degree of freedom to choose the size of the added partition
    • Implement single point at the LB solution
    • Implement/clean-up of bisection of largest partition when active partition cannot be further refined
    • Add unit tests for all the above

Presolve methods

  • Parsing: Clean up and fix open issues on parsing to isolate non-linear terms, create auxiliary variables and perform book-keeping
  • Implement convexity detection of constraints and objective function and pre-filter them from partitioning
  • Special structure detection for bound propagation based on this paper: https://link.springer.com/article/10.1007/s11590-019-01396-y
  • Multi warm-start for local Ipopt solver (only at the presolve level but not during bounding as it can be slow).
  • Add unit tests for all the above

Documentation

@harshangrjn harshangrjn added this to the v1.0 milestone Aug 31, 2022
@lanl-ansi lanl-ansi deleted a comment from kaarthiksundar Aug 31, 2022
@lanl-ansi lanl-ansi deleted a comment from kaarthiksundar Aug 31, 2022
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

No branches or pull requests

2 participants