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
Add SCIP support #11
Comments
Hello ! If you want to do things cleanly, you should create a raw rust binding to their C API, publish it to crates.io under scip-sys, then a safe rust binding on top of that published as scip, then add support for this rust library in good-lp If you want to interface with the precompiled binary application (which is easier, but less versatile, less reusable and less performant), then lp-solvers is the right place. This will require less work from you, but more setup for the final user. |
perfect thank you, I hadn't grasped the difference between the two libraries. Can we transfer this issue to good-lp to keep track of it? |
Yes ! Are you ready to start the implementation ? |
Yes. I was checking highs-sys. Is there a documented automated way to produce the -sys crate with bindgen? |
Hi! I am working on a rust interface for SCIP https://github.com/mmghannam/russcip. It has basic MIP-solving functionality now, it can add variables and constraints. It would be great if you could tell me the next steps to plug it into the |
Great news @mmghannam ! You should create a new file in the src/solvers directory, and add a new feature flag to this library. You can start from one of the existing solvers as an example (I think minilp is the best to take as an example because it's tiny and simple). The main thing to do is to write an |
Thanks! that's very helpful. I will work on it and add a pull request soon. |
Should this be closed? |
SCIP is one of the commonly-used MI(N)LP solvers and could be of interest to the rust-or communities (free and source available for academic use).
I'd be willing to help add it to lp-solvers if this is the appropriate repository
The text was updated successfully, but these errors were encountered: