240 likes | 414 Views
Car Sequencing Problem. An update. How to certify output. Standard output. The Certificate class. Easy Problems. We have a directory of easy problems. How were these made?. Why do we need easy problems?. Heuristics. Variable ordering Choose time slot that can accept least classes (sdf).
E N D
Car Sequencing Problem An update
How to certify output Standard output The Certificate class
Easy Problems We have a directory of easy problems How were these made? Why do we need easy problems?
Heuristics Variable ordering Choose time slot that can accept least classes (sdf) Value ordering What class should we put in that slot? - class with least options? - class where product of (nonzero) options is low? - class of least demand?
The Link Constraint IF S[i] = c THEN for 0 ≤ j ≤ m O[i][j] = o[c][j] m is # options
The Link Constraint IF S[i] = c THEN for 0 ≤ j ≤ m O[i][j] = o[c][j] Using ifOnlyIf ifOnlyIf(S[i] = c, and(O[i][0] =o[c][0], …, O[i][m]=o[c][m]))
The Link Constraint IF S[i] = c THEN for 0 ≤ j ≤ m O[i][j] = o[c][j] Using implies implies(S[i] = c, O[i][0]=o[c][0]) . . . implies(S[i] = c, O[i][m]=o[c][m])
The Link Constraint IF S[i] = c THEN for 0 ≤ j ≤ m O[i][j] = o[c][j] What happens if due to propagation some O[i][j] is set? Using implies implies(S[i] = c, O[i][0]=o[c][0]) . . . implies(S[i] = c, O[i][m]=o[c][m]) P Q and Q is false?
How big is the model? IF S[i] = c THEN for 0 ≤ j ≤ m O[i][j] = o[c][j] How many of these constraints are there? Using implies implies(S[i] = c, O[i][0]=o[c][0]) . . . implies(S[i] = c, O[i][m]=o[c][m]) How big is the model?
How big is the model? Have a look at the p/q constraint
Two models linked? One has S, a sequence of classes The other has an array of cars allocated positions This might allow better heuristics