rust-or/highs

Using just the HiGHS LP solver for relaxations and reading MPS files

Opened this issue · 3 comments

Is it possible to use just the LP solver part of HiGHS using this crate? I am looking to implement my own branch and bound algorithm around it and just need it for evaluating relaxations. Is this level of control obtainable with this crate? Additionally, am I able to read .mps files with this crate?

Thanks!

Hi! you should have a look at the docs and see whether everything you need is there https://docs.rs/highs/latest/highs/

If not, pull requests are welcome

Hi @DaveLanday! I'm currently working on a similar project, and I think you'd just need to have a persistent Highs Model that you keep adding rows to (from cutting planes or branching).

Although here some functions like the ones that change the bounds of variables could be helpful (for enforcing branching decisions) they don't exist yet in the safe interface. @lovasoa have you thought about allowing (unsafe) access to the underlying highs pointer through an unsafe function? that would probably help projects like this reach the full highs API and test it with their code before contributing with PRs.

I appreciate the feedback. Would use of the highs-sys crate directly suit me better? It looks like it may be a bit more low level. For example, it looks like I can build with support for reading mps.gz files etc…