Skip to content

Add staged inter-distance propagation with variable separation - #247

Open
zayenz wants to merge 11 commits into
mainfrom
feature/inter-distance
Open

zayenz wants to merge 11 commits into
mainfrom
feature/inter-distance

Conversation

@zayenz

@zayenz zayenz commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

Add inter-distance constraints enforcing |x[i] - x[j]| >= p for a constant or variable separation.

IPL_BASIC uses an O(n log n), linear-space feasibility algorithm and tightens a variable separation's upper bound. The other propagation levels add quadratic bounds(Z) filtering. Separation one uses the existing bounds-consistent distinct propagator; domains with holes use interval supports.

The implementation follows Garey et al., Quimper et al., and the variable-distance extension. Existing Gecode tests check feasibility and supported bounds against an independent tuple oracle. Sanitizer runs and cross-platform CI passed.

@zayenz
zayenz marked this pull request as ready for review October 4, 2026 11:48

@zayenz zayenz left a comment •

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Combined filter preparation and pruning. The sole caller no longer has to perform a separate initialization step.
  • Documented the dual links encoding and the adjustment cursor owned by each live bound-group representative.

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