rust-lp-modeler icon indicating copy to clipboard operation
rust-lp-modeler copied to clipboard

split out the lp modeling from the solvers

Open lovasoa opened this issue 4 years ago • 14 comments

Hi @jcavat ! Would you be interested in splitting the solvers from the modeling part ? I would be interested in reusing the external program calling and solution file format parsing logic in good_lp.

lovasoa avatar Feb 14 '21 20:02 lovasoa

Good idee. Maybe we can create a group for those projects. I am off this weeks. I won’t be reactive.

jcavat avatar Feb 15 '21 13:02 jcavat

Good, let's create a github team and get to work when you come back :)

lovasoa avatar Feb 15 '21 15:02 lovasoa

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

dlaehnemann avatar Feb 19 '21 16:02 dlaehnemann

Ok, I can create the org. What should I name it ? rust-or ?

@TeXitoi, @ztlpn : would you be interested in being part of this organization ? Would you move your crates there ?

lovasoa avatar Feb 19 '21 17:02 lovasoa

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.

dlaehnemann avatar Feb 26 '21 12:02 dlaehnemann

My coinor cbc bindings are under the organization of my employee so they might prefer to keep the project. I'll ask.

TeXitoi avatar Feb 26 '21 12:02 TeXitoi

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!

dlaehnemann avatar Feb 26 '21 12:02 dlaehnemann

@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 :)

lovasoa avatar Feb 26 '21 14:02 lovasoa

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.

lovasoa avatar Feb 26 '21 15:02 lovasoa

Thanks for this initiative ! I will publish version rust-lp-modeler v0.5 and then I will transfer the project to rust-or

jcavat avatar Mar 01 '21 07:03 jcavat

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 !

@jcavat @dlaehnemann @TeXitoi

lovasoa avatar Mar 27 '21 17:03 lovasoa

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.

lovasoa avatar Mar 29 '21 15:03 lovasoa

@jcavat : Do you want me to write the integration with lp-solvers ? I could open a PR.

lovasoa avatar Apr 04 '21 19:04 lovasoa

hello, yes. It should be used in rust-lp-modeler. PR are welcome. I'm sorry, I struggle to find free time these days

jcavat avatar Apr 08 '21 07:04 jcavat