Partial flattening

22 views
Skip to first unread message

Marco Correia

unread,
Apr 16, 2024, 2:22:19 AMApr 16
to mini...@googlegroups.com
Hi,

I am considering trying minizinc to quickly prototype a solver for the pricing part of a column generation approach to a larger problem. Since some of the parameters of the pricing problem change every time I run the pricing problem, I suppose I would need to do the (mzn+dzn)->fzn every time as well. I am concerned this will take too much time, so I was wondering if there is some way where I could get a fzn from a mzn plus a dzn with just a subset of parameters fixed, and then just fix the remaining parameters later (I hope I am making sense?).

Thanks!
Marco

Jip Dekker

unread,
Apr 16, 2024, 9:21:22 PMApr 16
to mini...@googlegroups.com
Hi Marco,

The MiniZinc compiler currently does not have the capability to do this type of partial flattening. With a focus on incremental compilation for MiniZinc, it’s certainly something that we might be interested in for the future, but not something that will be available any time soon.

Note that depending on your model and purpose, the flattening time might not be prohibitive. I have used MiniZinc in the application of large neighbourhood search, where each neighbourhood was flattened separately and found that the resulting performance was often fit for purpose.

Otherwise, I have seen an application that “templated” the FlatZinc. The idea is to compile one instance of the model, then trace the input data that can change into the FlatZinc, and exchange this for a templating variable for a templating library. Note that this generally only works if the “amount” of objects in the data (that results in different constraints) does not change, and if it is easy to trace the FlatZinc back to the MiniZinc.

Cheers,

Jip J. Dekker (he/him)


--
You received this message because you are subscribed to the Google Groups "MiniZinc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to minizinc+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/minizinc/CACxih%3DFzdeqPoH-UruWpZg8V%2BRX_PeOF1dKazfGMBFgMoBYGaw%40mail.gmail.com.

Reply all
Reply to author
Forward
0 new messages