split out the lp modeling from the solvers
Opened this issue Β· 14 comments
Good idee. Maybe we can create a group for those projects. I am off this weeks. I wonβt be reactive.
Good, let's create a github team and get to work when you come back :)
In other projects I have contributed to (e.g. rust-bio
), GitHub Organizations have been a good umbrella for multiple repositories / crates that should be developed in sync with one another---just as another idea for a setup:
https://docs.github.com/en/github/setting-up-and-managing-organizations-and-teams/about-organizations
You can transfer repositories to an organization, so you wouldn't even need to work with forks.
And regarding splitting up modelling and solving, I really like that idea. Have one crate that allows you to easily create models and eventually output to different possible formats. And then another crate that is able to call different solvers and handle their result output. This also makes it much more flexible to interact with modellers and solvers in other languages in the context of larger analysis workflows, whenever some needed functionality is available elsewhere.
Regarding different possible file formats, I just created an issue with suggestions of formats that I have come across with some quick research: #74
I'll also ping @oddg who also created Rust bindings for the Cbc
C
API: https://github.com/routific/coin-or-cbc-sys
I guess he might be interested in this new org, as well.
My coinor cbc bindings are under the organization of my employee so they might prefer to keep the project. I'll ask.
Cool.
But I also think that the most important thing is that everybody with an interest in this lp modeling and solving with Rust is aware of any new efforts. So being part of the org as an individual is also helpful!
@TeXitoi : Having their name in the organization may give @KardinalAI more visibility; it's not necessarily a bad thing to be part of a larger effort :)
I created the org, moved good_lp, and sent invitations : https://github.com/rust-or
You can tell me who else I should invite if I missed someone.
Thanks for this initiative ! I will publish version rust-lp-modeler
v0.5 and then I will transfer the project to rust-or
I have started the work of splitting the solvers from the modeler: https://github.com/rust-or/lp-solvers
This is still very early-stage, but feedback and help welcome !
I published a first version on crates.io : https://crates.io/crates/lp-solvers
@jcavat : would you be interested in using it in rust-lp-modeler ? This would allow us to share code (and the maintenance burden) between good_lp and rust-lp-modeler.
@jcavat : Do you want me to write the integration with lp-solvers ? I could open a PR.
hello, yes. It should be used in rust-lp-modeler. PR are welcome. I'm sorry, I struggle to find free time these days