Problem Reformulation and Search
Patrick Prosser & Evgeny Selensky
A 3 year project• funded by EPSRC• supported by ILOG
• Car Sequencing• define constrainedness• derive heuristics• investigate reformulations
• Routing & Scheduling• investigate reformulations• use Scheduler and Dispatcher
… and other things
• investigations of stable marriage problem • paper at CP01
• initial study of reformulation in the large• VRP & OSSP & JSSP• using Scheduler and Dispatcher• paper at Formul’01
• initial study of reformulation in the small• 0/1 encodings• using Solver and Choco• paper at Formul’01
• Constrainedness of car sequencing• meetings with IPG and BMS
And now for vrp&ssp and 0/1 encoding
Current Status … 4 things
VRP and JSSP: Extremes on a Spectrum
CVRPTW Dispatcher
JSSPScheduler
Extremes• will there be problems somewhere in between?• where you might use Dispatcher and/or Scheduler• a pragmatic study
Encoding VRP as an Open Shop Scheduling Problem
• vehicles• with capacities
• visits• with loads/demand• with time windows
• distance between visits• minimise distance traveled
• reduce vehicles used
• machines• with consumable resource
• operations/activities• with resource requirement• with time windows
• transition times between operations• minimise make span
Translate CVRPTW into OSSP• solve OSSP with Scheduler • solve CVRPTW with Dispatcher• compare, using tools as intended• an extreme … expect to be bad
Encoding Job Shop Scheduling Problem as a VRP
• vehicles• visits
• specified vehicles• with time windows• with durations
• sequence constraints between visits• zero travel times• respect time windows on vehicles• minimise make span
• machines• operations/activities
• specified resource• with time windows• with duration
• jobs• sequence of operations
• minimise make span
Translate JSSP to VRPTW with zero travel• solve VRPTW with Dispatcher• solve JSSP with Scheduler• again, compare, using tools as intended• an extreme … expect to be bad
The study continues: VRP and OSSP problem generation
• use benchmark vrp’s• select R local (nearby) visits• R visits in same vehicle• produce an optimal tour for R• write out sequence constraints• iterate
• the R sequences/tours maybe like a job• but on one resource
Problem Reformulation in the Small
• Investigate problems with 0/1 variables• independent set of a hypergraph• maximal independent set of a hypergraph• construction of bibd <v,b,r,k,l>
• Two common constraints• summation of variables• biconditional
• Variety of encodings• for summation• for biconditional
• Two toolkits• ILOG Solver• Choco
A hypergraph G = (V,E)• V is a set of vertices• E is a set of hyperedges
• an edge with 2 or more vertices
An independent set S
• assume vertices(e) is set of vertices in hyperedge e ))(( SeverticesEe
Maximal independent set S
• there is no independent set S’ that subsumes S
• add anything to S and you lose independence!
1
2 3
4 5 7
9
8
6
)}9,8,7,3(),6,4(),5,4,2(),3,2,1{(
}9,8,7,6,5,4,3,2,1{
E
V
A Hypergraph
1
2 3
4 5 7
9
8
6
}9,7,5,4,1{S
An Independent Set
1
2 3
4 5 7
9
8
6
}9,8,7,6,5,2,1{S
The Largest Independent Set
1
2 3
4 5 7
9
8
6
}9,8,4,3,2{S
A Maximal Independent Set
More Generally
]1)([0
]1)([1
maximality ensure :Vertices
)()(
)()(
iji
iji
VeverticesVj
Vedgesei
VeverticesVj
Vedgesei
VearityV
VearityV
))((
ceindependen ensure :Edges
)(
earityVEeeverticesV
VV
i
i
kV
set of size :Graph
Independent Set
kxn
ii
1
}1,0{ix
ind1• the sum of the variables is less than or equal to kind2• the number occurrences of 1’s is less than or equal to k
ind1S and ind2S in Solverind1C and ind2C in Choco
Hypergraphs are bibd’s where blocks are hyperedgesI.e. regular degree hypergraphs
• Nodes are same for all (same level of consistency?)• summation 3 times faster than occurrence in Solver• occurrence 20 times faster than sum in Choco
Maximality and the biconditional
1: iVp
]1)([:)()(
iji VeverticesV
jVedgese
Vearityq0: iVp
]1)([:)()(
iji VeverticesV
jVedgese
Vearityq
qp
)()( pqqp
)()( qpqp
Three encodings of the biconditional
• p and q or not p and not q is best for Solver• worst for Choco
• can be 3 times
Conclusion?
On 0/1 encodings• big variations within a toolkit• variation across toolkits• experiment!
On VRP/Dispatcher and OSSP/Scheduler• extremes explored• experiments being designed
Car Sequencing• on the stack (one pop away)
Stable Marriage• need a long term project
Other Things
• 4th year Student Projects• student handbook, a design problem• anaesthetist’s rota
• 3d year Student Projects• vrp system (3d year)
• Teaching Goal• 4th year course in constraint programming
• Research• SAC, a new algorithm (with Kostas)• stable marriage and consraint programming• bioinformatics?
Thanks for supporting us
Questions?