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

split out the lp modeling from the solvers #71

Open
lovasoa opened this issue Feb 14, 2021 · 14 comments
Open

split out the lp modeling from the solvers #71

lovasoa opened this issue Feb 14, 2021 · 14 comments

Comments

@lovasoa
Copy link
Contributor

lovasoa commented Feb 14, 2021

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.

@jcavat
Copy link
Collaborator

jcavat commented Feb 15, 2021

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

@lovasoa
Copy link
Contributor Author

lovasoa commented Feb 15, 2021

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

@dlaehnemann
Copy link
Contributor

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

@lovasoa
Copy link
Contributor Author

lovasoa commented Feb 19, 2021

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 ?

@dlaehnemann
Copy link
Contributor

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.

@TeXitoi
Copy link

TeXitoi commented Feb 26, 2021

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

@dlaehnemann
Copy link
Contributor

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!

@lovasoa
Copy link
Contributor Author

lovasoa commented Feb 26, 2021

@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
Copy link
Contributor Author

lovasoa commented Feb 26, 2021

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.

@jcavat
Copy link
Collaborator

jcavat commented Mar 1, 2021

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

@lovasoa
Copy link
Contributor Author

lovasoa commented Mar 27, 2021

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
Copy link
Contributor Author

lovasoa commented Mar 29, 2021

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
Copy link
Contributor Author

lovasoa commented Apr 4, 2021

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

@jcavat
Copy link
Collaborator

jcavat commented Apr 8, 2021

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

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

4 participants