-
Notifications
You must be signed in to change notification settings - Fork 8
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
Support for MiniZinc models #27
Comments
I know it has been 5 years, but any thoughts on this or how hard it might be? There is at least one crate for parsing flatzinc and there's also the work happening in https://github.com/shackle-rs/shackle ... |
Hi, I'm the author of the flatzinc crate. My motivation for it was to create a frontend to compile Minizinc to ASP. Which is done by this tool https://github.com/potassco/flatzingo ... maybe worth checking out. |
Hi! What's hard is not especially to parse flatzinc into a corresponding AST, it's to support all the constraints provided by flatzinc. This solver is very limited and has only a few constraints, so most of the work would be to implement the rest of the propagator functions for the flatzinc constraints. I must ask @waywardmonkeys, do you intend to use this library for something? Honestly, my focus has entirely shifted to Turbo, a C++/CUDA constraint solver. It supports the flatzinc language, but it was quite some work to implement these constraints. At the beginning, I considered using Rust for this project, but the CUDA support wasn't good enough. For my purposes, I don't think it's good enough yet, and it's too much work to reimplement it in Rust alone. |
@ptal I work with an organization that is looking at constraint solvers ... might make sense to have a chat about it in a week or two. |
MiniZinc is one of the most used modeling language for constraint programming.
The interesting point with MiniZinc is that it compiles the model to an intermediate format, called flat minizinc, which can be read by external constraint solver.
This is why mainstream constraint solvers such as GeCode and Choco all provide support for MiniZinc.
Therefore, we need to add support for MiniZinc in PCP as well, in order to ease the development of constraints model.
The text was updated successfully, but these errors were encountered: