Skip to content

Expose missing native propagators through MiniZinc and FlatZinc - #253

Open
zayenz wants to merge 25 commits into
mainfrom
feature/minizinc-registry
Open

zayenz wants to merge 25 commits into
mainfrom
feature/minizinc-registry

Conversation

@zayenz

@zayenz zayenz commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Expose native Gecode propagators through standard MiniZinc fzn_ hooks and additional modelling predicates in gecode.mzn.

The standard hooks cover count inequalities, conditionals, nondeterministic regular constraints, optional distinctness and scheduling, and set intersection. Builtin expressions also use native extrema, supported float powers, set matrix element and scalar implication.

The Gecode-specific predicates cover distance constraints, arithmetic including array-wide and modular products, offset distinctness, matching counts, optional rectangle non-overlap, and array, channeling and set relations. Typed FlatZinc bindings document their contracts and reification support. Annotations select propagation algorithms and single or per-pair minimum-distance propagators. Fixed-base powers and inverse logarithms use explicit MPFR rounding to preserve exact solutions.

Validation: a release build, all 135 FlatZinc regressions, 131 MiniZinc integration cases, and predicate documentation generation. Focused checks also passed for shared Boolean extrema and conditional compilation and execution.

@zayenz
zayenz added this pull request to stack #254 October 10, 2026 18:20
@zayenz
zayenz force-pushed the feature/minizinc-registry branch from 7ff1853 to f1cea6c Compare October 12, 2026 16:22
Base automatically changed from feature/inter-distance to main October 13, 2026 21:12
@zayenz
zayenz force-pushed the feature/minizinc-registry branch from e7d9334 to f70f5f9 Compare October 13, 2026 21:12
@zayenz
zayenz marked this pull request as ready for review October 14, 2026 03:01
zayenz and others added 23 commits October 15, 2026 16:03
@zayenz
zayenz force-pushed the feature/minizinc-registry branch from f70f5f9 to 64152e7 Compare October 15, 2026 14:08

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant