Blog - Gecode

Blog - Gecode

Propagating the minimum distance between selected points

4 min read
researchconstraint programmingGecodepropagation

Writing a custom propagator is worth considering when one constraint carries much of a problem's structure. My paper Propagation Algorithms for the Minimum-Distance Constraint over Selected Points, to be presented at ModRef 2026, works through one such case in Gecode.

Suppose we want to select five facility locations, spread out so that the closest pair is as far apart as possible. Let z denote that minimum distance. A straightforward CP model introduces a distance variable for every selected pair, then constrains z to be the minimum of those distances. This is a clear specification, but it creates quadratically many auxiliary variables and propagators.

Table Talk Tuning

4 min read
researchconstraint programmingMiniZincGecodeoptimization

We needed to arrange the tables for a real wedding. That practical problem became the MiniZinc model in No More Awkward Silences with Table Talk Tuning, a paper by Martin Butler and me to be presented at ModRef 2026.

A seating plan can satisfy every capacity and grouping request and still leave someone with little to talk about. That gap was visible in the actual planning problem, so the model treats conversational fit as part of the assignment rather than something to inspect afterwards.