Constraint solving and planning with Picat. (2015)