Michael Marte
Michael Marte
Consider this example: ``` int: N = 10; array [1..N] of var set of 1..N: x; var set of 1..N: y; var 1..N: c; constraint count_eq(x, y, c); ``` Running...
Notice that MiniZinc already has experimental annotations for lexicographic optimization, see https://github.com/MiniZinc/libminizinc/blob/master/share/minizinc/std/experimental.mzn.
The first commit renames `vrp/vrp.mzn` to `cvrp/cvrp_mip.mzn` and the second commit replaces `int K = N;` with `int: K;`. On my working copy: ``` > minizinc cvrp_cp.mzn simple2.dzn objective =...
Yes, that makes sense.
Yuck needs the overrides because it needs to know which variables a constraint defines. There are no other differences. However, all these functions define multiple variables, and that's why the...
Ah, you are right, the comparison in my example translates to `fzn_count_geq`. Still, the other variants of `count` are broken, too. For example, ``` include "count.mzn"; array [1..3] of var...
In addition, you could extend FlatZinc with the domain constraint (as in Sicstus Prolog) and produce one domain constraint for all variables having the same domain.
[libminizinc-488-reproduction.tar.gz](https://github.com/MiniZinc/libminizinc/files/6573945/libminizinc-488-reproduction.tar.gz) contains everything to reproduce the issue. Reproduction steps: ``` tar xzf libminizinc-488-reproduction.tar.gz cd libminizinc-488-reproduction minizinc -I . -c oocsp_racks.mzn oocsp_racks_030_e6_cc.dzn grep X_INTRODUCED_5433_ oocsp_racks.fzn ```
@guidotack, @Dekker1, with regard to the next MiniZinc challenge, I would like to know whether it is safe to redefine the `fzn_if_then_else` predicates.
@Dekker1, following your suggestion, I developed the following, recursive definitions: ``` predicate yuck_if_then_else_var_bool(array[int] of var bool: c, array[int] of var bool: x, var bool: y); predicate fzn_if_then_else_var_bool(array[int] of var bool:...