car sequencing problem an update. how to certify output standard output the certificate class

23
Car Sequencing Problem An update

Upload: camden-mustain

Post on 31-Mar-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

Car Sequencing Problem

An update

Page 2: Car Sequencing Problem An update. How to certify output Standard output The Certificate class
Page 3: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

How to certify output

Standard output

The Certificate class

Page 4: 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?

Page 5: Car Sequencing Problem An update. How to certify output Standard output The Certificate class
Page 6: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

Heuristics

Variable orderingChoose time slot that can accept least classes (sdf)

Value orderingWhat class should we put in that slot? - class with least options? - class where product of (nonzero) options is low? - class of least demand?

Page 7: Car Sequencing Problem An update. How to certify output Standard output The Certificate class
Page 8: Car Sequencing Problem An update. How to certify output Standard output The Certificate class
Page 9: Car Sequencing Problem An update. How to certify output Standard output The Certificate class
Page 10: Car Sequencing Problem An update. How to certify output Standard output The Certificate class
Page 11: Car Sequencing Problem An update. How to certify output Standard output The Certificate class
Page 12: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

And so on

Page 13: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

And so on

Page 14: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

BMS paper is well worth a look

Page 15: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

IF S[i] = cTHEN for 0 ≤ j ≤ m O[i][j] = o[c][j]

The Link Constraint

m is # options

Page 16: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

IF S[i] = cTHEN for 0 ≤ j ≤ m O[i][j] = o[c][j]

The Link Constraint

Using ifOnlyIf

ifOnlyIf(S[i] = c, and(O[i][0] =o[c][0], …, O[i][m]=o[c][m]))

Page 17: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

IF S[i] = cTHEN for 0 ≤ j ≤ m O[i][j] = o[c][j]

The Link Constraint

Using implies

implies(S[i] = c, O[i][0]=o[c][0])...implies(S[i] = c, O[i][m]=o[c][m])

Page 18: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

IF S[i] = cTHEN for 0 ≤ j ≤ m O[i][j] = o[c][j]

The Link Constraint

Using implies

implies(S[i] = c, O[i][0]=o[c][0])...implies(S[i] = c, O[i][m]=o[c][m])

What happens if due topropagation some O[i][j] is set?

P Qand Q is false?

Page 19: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

IF S[i] = cTHEN for 0 ≤ j ≤ m O[i][j] = o[c][j]

How big is the model?

Using implies

implies(S[i] = c, O[i][0]=o[c][0])...implies(S[i] = c, O[i][m]=o[c][m])

How many of theseconstraints are there?

How big is the model?

Page 20: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

Have a look at the p/q constraint

How big is the model?

Page 21: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

Two models linked?

One has S, a sequence of classes

The other has an array of cars allocated positions

This might allow better heuristics

Page 22: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

Channeling

Page 23: Car Sequencing Problem An update. How to certify output Standard output The Certificate class

Questions?