This talk provides an overview of modern constraint programming and how it differs from SAT solving, both in technology and terminology. I'll give an introduction to how the CP community thinks and speaks, starting with modelling and reformulation; then constraints, propagation, and lazy clause generation; and finally, search. Next we'll take a closer look at the all-different constraint: I'll explain how it's propagated and why CNF can't do the same thing, and then we'll look at whether stronger propagation is actually a good idea in practice. I'll conclude with a quick overview of exciting current research topics.


Video Recording