My process is generally that I want to prototype the model in MiniZinc and use that to run benchmarks. If the problem to solve is large or batch-oriented, I might also use MiniZinc in production (probably via the python wrapper for the toolchain).
If on the other hand the problem is smaller, is more meant as an interactive system, or there is a need for deep integration, then I would re-implement the model in the API for a solver, or I might even write a dedicated solver. As a Gecode developer, I naturally think that Gecode is very useful for the cases where the problem is not a traditional model / instance / solve / done process, but I've used many other solvers as well depending on circumstances and need.
I've never really felt that Optaplanner / Timefold has been that useful of effective. In the cases I might have used it, I've instead written a custom local search system or constraint programming like system, and I think that has been a more effective approach. Do you have an example of what kind of problem you used it for?
If on the other hand the problem is smaller, is more meant as an interactive system, or there is a need for deep integration, then I would re-implement the model in the API for a solver, or I might even write a dedicated solver. As a Gecode developer, I naturally think that Gecode is very useful for the cases where the problem is not a traditional model / instance / solve / done process, but I've used many other solvers as well depending on circumstances and need.
I've never really felt that Optaplanner / Timefold has been that useful of effective. In the cases I might have used it, I've instead written a custom local search system or constraint programming like system, and I think that has been a more effective approach. Do you have an example of what kind of problem you used it for?