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

2.8.2: inconsistent behavior of many globals on empty arrays #770

Open
matsc-at-sics-se opened this issue Dec 18, 2023 · 1 comment
Open

Comments

@matsc-at-sics-se
Copy link

IMHO, the following models should silently succeed:

include "globals.mzn";
constraint sliding_sum(0, 0, 0, []);
include "globals.mzn";
constraint symmetric_all_different([]);
include "globals.mzn";
constraint subcircuit([]);
include "globals.mzn";
constraint bin_packing_capa([], [], []);
include "globals.mzn";
constraint bin_packing_load([], [], []);
include "globals.mzn";
constraint bin_packing(0, [], []);
include "globals.mzn";
constraint circuit([]);
include "globals.mzn";
constraint decreasing([]);
include "globals.mzn";
constraint increasing([]);
include "globals.mzn";
constraint disjunctive([], []);
include "globals.mzn";
constraint inverse([], []);

and the following should silently fail:

include "globals.mzn";
constraint let {var int: W} in member([], W);

but:

  • sliding_sum, symmetric_all_different, increasing, decreasing, inverse fail noisily
  • symmetric_all_different fails noisily
  • subcircuit succeeds silently with Gecode but fails noisily with Chuffed and OR-Tools
  • bin_packing and friends, disjunctive, knapsack give evaluation errors during flattening
  • circuit crashes Gecode and fails noisily with Chuffed and OR-Tools
  • member fails silently with Gecode but noisily with Chuffed and OR-Tools

For circuit and subcircuit, the semantics is not obvious. Is a circuit with no nodes still a circuit?

@zayenz
Copy link
Contributor

zayenz commented Dec 18, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants