30
Problem Reformulation and Search Patrick Prosser & Evgeny Selensky

Problem Reformulation and Search

  • Upload
    sumi

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Problem Reformulation and Search

Problem Reformulation and Search

Patrick Prosser & Evgeny Selensky

Page 2: Problem Reformulation and Search
Page 3: Problem Reformulation and Search
Page 4: Problem Reformulation and Search
Page 5: Problem Reformulation and Search

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

Page 6: Problem Reformulation and Search

• 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

Page 7: Problem Reformulation and Search

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

Page 8: Problem Reformulation and Search

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

Page 9: Problem Reformulation and Search

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

Page 10: Problem Reformulation and Search

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

Page 11: Problem Reformulation and Search

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

Page 12: Problem Reformulation and Search

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!

Page 13: Problem Reformulation and Search

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

Page 14: Problem Reformulation and Search

1

2 3

4 5 7

9

8

6

}9,7,5,4,1{S

An Independent Set

Page 15: Problem Reformulation and Search

1

2 3

4 5 7

9

8

6

}9,8,7,6,5,2,1{S

The Largest Independent Set

Page 16: Problem Reformulation and Search

1

2 3

4 5 7

9

8

6

}9,8,4,3,2{S

A Maximal Independent Set

Page 17: Problem Reformulation and Search

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

Page 18: Problem Reformulation and Search

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

Page 19: Problem Reformulation and Search

• 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

Page 20: Problem Reformulation and Search

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

Page 21: Problem Reformulation and Search
Page 22: Problem Reformulation and Search

• p and q or not p and not q is best for Solver• worst for Choco

• can be 3 times

Page 23: Problem Reformulation and Search
Page 24: Problem Reformulation and Search
Page 25: Problem Reformulation and Search
Page 26: Problem Reformulation and Search

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

Page 27: Problem Reformulation and Search

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?

Page 28: Problem Reformulation and Search
Page 29: Problem Reformulation and Search

Thanks for supporting us

Page 30: Problem Reformulation and Search

Questions?