planning & scheduling by logic-based benders decomposition
TRANSCRIPT
![Page 1: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/1.jpg)
Planning & Scheduling by
Logic-based Benders Decomposition:
A Computational Analysis
André CiréUniversity of Toronto
Elvin ÇobanÖzyeğin University
John HookerCarnegie Mellon University
COPLAS 2015
![Page 2: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/2.jpg)
Objective
• Identify factors that explain the efficiency of
Logic-based Benders decomposition (LBBD) for
planning and scheduling.
– LBBD has brought orders-of-magnitude improvement
over state of the art in several problem domains.
– Factors that explain this success have not been studied
systematically.
2
![Page 3: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/3.jpg)
Test Problem
• As a test case, we use a simple resource
assignment and scheduling problem.
– Assign tasks to resources.
– Schedule tasks assigned to each resource.
– Tasks may run concurrently, subject to limit on total rate of
resource consumption (cumulative scheduling).
3
![Page 4: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/4.jpg)
What Is Logic-Based Benders?
• Logic-based Benders decomposition is a
generalization of classical Benders decomposition.
– Subproblem is an arbitrary optimization problem.
– need not have linear or inequality model.
– JH (1995), JH and Yan (1995), JH and Ottosson (2003).
– Solves a problem of the form
4
min ( , )
( , )
f x y
x y S
x D
![Page 5: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/5.jpg)
Logic-Based Benders
• Decompose problem into master and subproblem.
– Subproblem is obtained by fixing x to solution value in
master problem.
min
( ) (Benders cuts)k
z
z g x
x D
min ( , )
( , )
f x y
x y S
Minimize cost z subject to
bounds given by Benders
cuts, obtained from values
of x attempted in previous
iterations k.
Obtain proof of optimality
(solution of inference dual).
Use same proof to deduce
cost bounds for other
assignments, yielding
Benders cut.
Trial value x
that solves
master
Benders cut
z gk(x)
Master problem Subproblem
x
5
![Page 6: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/6.jpg)
Logic-Based Benders
• Iterate until master problem value equals best
subproblem value so far.
– This yields optimal solution.
min
( ) (Benders cuts)k
z
z g x
x D
min ( , )
( , )
f x y
x y S
Minimize cost z subject to
bounds given by Benders
cuts, obtained from values
of x attempted in previous
iterations k.
Obtain proof of optimality
(solution of inference dual).
Use same proof to deduce
cost bounds for other
assignments, yielding
Benders cut.
Trial value x
that solves
master
Benders cut
z gk(x)
Master problem Subproblem
x
6
![Page 7: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/7.jpg)
Logic-Based Benders
• Fundamental concept: inference duality
min ( )f x
x S
max
( )P
v
x S f x v
P
PFind best feasible
solution by
searching over
values of x.Find a proof of optimal value v*
by searching over proofs P.
Primal problem:
optimization
Dual problem:
Inference
7
![Page 8: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/8.jpg)
Logic-Based Benders
• Popular optimization duals are special cases of
the inference dual.
– Result from different choices of inference method.
– For example....
– Linear programming dual (gives classical Benders cuts)
– Lagrangean dual
– Surrogate dual
– Subadditive dual
8
![Page 9: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/9.jpg)
• Substantial speedup for many applications.
− Several orders of magnitude relative to state of the art.
Logic-Based Benders
9
![Page 10: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/10.jpg)
• Substantial speedup for many applications.
− Several orders of magnitude relative to state of the art.
• Some applications:
– Circuit verification
– Chemical batch processing (BASF, etc.)
– Steel production scheduling
– Auto assembly line management (Peugeot-Citroën)
– Automated guided vehicles in flexible manufacturing
– Allocation and scheduling of multicore processors
(IBM, Toshiba, Sony)
– Facility location-allocation
– Stochastic facility location and fleet management
– Capacity and distance-constrained plant location
Logic-Based Benders
10
![Page 11: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/11.jpg)
• Some applications…
– Transportation network design
– Traffic diversion around blocked routes
– Worker assignment in a queuing environment
– Single- and multiple-machine allocation and scheduling
– Permutation flow shop scheduling with time lags
– Resource-constrained scheduling
– Wireless local area network design
– Service restoration in a network
– Optimal control of dynamical systems
– Sports scheduling
Logic-Based Benders
11
![Page 12: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/12.jpg)
• Assign tasks in master, schedule in subproblem.
– Combine mixed integer programming and constraint
programming
Assign tasks to resources
to minimize cost.
Solve by mixed integer
programming.
Schedule jobs on each
machine, subject to time
windows.
Constraint programming
obtains proof of optimality
(dual solution).
Use same proof to deduce
cost for some other
assignments, yielding
Benders cut.
Trial
assignment
Benders cut
z gk(x)
Master problem Subproblem
x
12
Application to Planning & Scheduling
![Page 13: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/13.jpg)
Application to Planning & Scheduling
• Objective function
– Cost is based on task assignment only.
– So cost appears only in the master problem.
– Scheduling subproblem is a feasibility problem.
13
cost , 1 if task assigned to resource ij ij ij
ij
c x x j i
![Page 14: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/14.jpg)
Application to Planning & Scheduling
• Objective function
– Cost is based on task assignment only.
– So cost appears only in the master problem.
– Scheduling subproblem is a feasibility problem.
• Benders cuts
– They have the form
– where Ji is a set of tasks that create infeasibility when
assigned to resource i.
14
cost , 1 if task assigned to resource ij ij ij
ij
c x x j i
(1 ) 1, all i
ij
j J
x i
![Page 15: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/15.jpg)
• Resulting Benders decomposition:
Schedule jobs on each
resource.
Constraint programming
may obtain proof of
infeasibility on some resources
(dual solution).
Use same proof to deduce
infeasibility for some other
assignments, yielding
Benders cut.
Trial
assignment
Benders cuts
for infeasible
resources i
Master problem Subproblem
x
15
min
Benders cuts
ij ij
ij
z
z c x
(1 ) 1,i
ij
j J
x
Application to Planning & Scheduling
![Page 16: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/16.jpg)
Application to Planning & Scheduling
• Problem: We don’t have access to infeasibility
proof in CP solver.
– So begin with simple nogood cut
where Ji contains all tasks assigned resource i.
– Then strengthen cut by heuristically removing tasks
from Ji until schedule on resource i becomes feasible.
16
(1 ) 1, all i
ij
j J
x i
![Page 17: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/17.jpg)
Problem Instances
• Used in several previous studies.
– Randomly generated near phase transition.
– Schedule n tasks on m resources.
– 5 instances for each (m,n) pair.
17
![Page 18: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/18.jpg)
Problem Instances
• “c” instances
– 10-32 tasks on 2-4 resources.
– Designed to be hard for LBBD.
– Resources differ by factor of m in processing speed.
– Results in many tasks assigned to fastest resource, creating a
computational bottleneck.
18
![Page 19: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/19.jpg)
Problem Instances
• “c” instances
– 10-32 tasks on 2-4 resources.
– Designed to be hard for LBBD.
– Resources differ by factor of m in processing speed.
– Results in many tasks assigned to fastest resource, creating a
computational bottleneck.
• “e” instances
– 10-50 tasks on 2-10 resources.
– Perhaps more realistic.
– Resources differ by factor of 2 in processing speed.
19
![Page 20: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/20.jpg)
Experimental Design
• Solve with LBBD
– Using “strong” Benders cuts only
– Strengthened nogood cuts.
– Using “weak” cuts with subproblem relaxation in master.
– Simple nogood cuts.
– Relaxation: limit total “energy consumption” to energy
available within span of time windows.
– Energy = duration x resource consumption rate.
– Using “strong” cuts with relaxation.
• Solve with mixed integer programming (MIP)
– Using state-of-the-art commercial solver.
– And best known MIP model.
20
![Page 21: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/21.jpg)
Experimental Design
• Solvers
– CPLEX 12.4.01 for master problem.
– IBM CP Optimizer 12.4.01 for subproblem.
– Extended filtering, DFS search
– Default variable and value selection.
– CPLEX 12.4.01 for pure MIP solution.
– No comparison with pure CP solver
– Previous experience shows it to be much slower than MIP.
21
![Page 22: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/22.jpg)
“c” instances, 2 resources
22
![Page 23: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/23.jpg)
“c” instances, 3 resources
23
![Page 24: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/24.jpg)
“c” instances, 4 resources
24
![Page 25: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/25.jpg)
0
20
40
60
80
100
120
140
160
180
0.01 0.1 1 10 100 1000 10000
Nu
mb
er
of
ins
tan
ce
s s
olv
ed
Computation time (sec)
Relax + strong cuts
Relax + weak cuts
Strong cuts only
MILP (CPLEX)
Performance
profile
All 180 “c” instances
25
![Page 26: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/26.jpg)
0
20
40
60
80
100
120
0.01 0.1 1 10 100 1000 10000
Nu
mb
er
of
insta
nces s
olv
ed
Computation time (sec)
Relax + strong cuts
Relax + weak cuts
Strong cuts only
MIP (CPLEX)
Performance
profile
120 “c” instances
with 3 or 4 resources
26
![Page 27: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/27.jpg)
“e” instances
27
![Page 28: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/28.jpg)
0
5
10
15
20
25
30
35
40
45
50
0.01 0.1 1 10 100 1000 10000
Nu
mb
er
of
ns
tan
ce
s s
olv
ed
Computation time (sec)
Relax + strong cuts
Relax + weak cuts
MIP (CPLEX)
Performance
profile
50 “e” instances
28
![Page 29: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/29.jpg)
Observations
• LBBD is orders of magnitude faster than MIP.
– Less dramatic for “c” instances with 2 resources.
– Almost all complexity is in the subproblem.
• Relaxation is most important success factor.
• Strength of cut is important for larger instances.
– Especially for “e” instances.
29
![Page 30: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/30.jpg)
Further Analysis
• Number of Benders iterations
• Breakdown of computation time
– Master problem vs. subproblem
30
![Page 31: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/31.jpg)
“c” instances, 2 resources
31
Relaxation reduces
number of iterations
and therefore difficulty
of master problem.
![Page 32: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/32.jpg)
“c” instances, 3 resources
32
Relaxation reduces
number of iterations
and therefore difficulty
of master problem.
![Page 33: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/33.jpg)
“c” instances, 4 resources
33
Relaxation reduces
number of iterations
and therefore difficulty
of master problem.
![Page 34: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/34.jpg)
“c” instances, 2 resources
34
Severe imbalance of
master and subproblem
time, resulting in poorer
performance for LBBD.
![Page 35: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/35.jpg)
“c” instances, 2 resources
35
Subproblem blows up
when more than
10 tasks per resource
on average
![Page 36: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/36.jpg)
“c” instances, 3 resources
36
Subproblem blows up
when more than
10 tasks per resource
on average
![Page 37: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/37.jpg)
“e” instances
37
Balance between
master and subproblem
results in superior
performance
![Page 38: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/38.jpg)
“e” instances
38
Mild imbalance results
in somewhat worse
performance
![Page 39: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/39.jpg)
Conclusions
• Superiority to MIP, CP
– LBBD remains orders of magnitude faster than MIP.
– For this problem class.
– Despite huge improvements in MIP.
– Even greater advantage over CP.
39
![Page 40: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/40.jpg)
Conclusions
• Superiority to MIP, CP
– LBBD remains orders of magnitude faster than MIP.
– For this problem class.
– Despite huge improvements in MIP.
– Even greater advantage over CP.
• Importance of master/subproblem balance
– LBBD is most effective when master and subproblem
share substantial portions of combinatorial complexity.
– …and consume roughly equal time.
40
![Page 41: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/41.jpg)
Conclusions
• Superiority to MIP, CP
– LBBD remains orders of magnitude faster than MIP.
– For this problem class.
– Despite huge improvements in MIP.
– Even greater advantage over CP.
• Importance of master/subproblem balance
– LBBD is most effective when master and subproblem
share substantial portions of combinatorial complexity.
– …and consume roughly equal time.
• Failure in subproblem
– LBBD most often fails when subproblem blows up
due to assignment of too many tasks to a resource.
41
![Page 42: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/42.jpg)
Conclusions
• Subproblem relaxation
– Most important success factor for LBBD is inclusion of
a subproblem relaxation in the master.
42
![Page 43: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/43.jpg)
Conclusions
• Subproblem relaxation
– Most important success factor for LBBD is inclusion of
a subproblem relaxation in the master.
• Strong Benders cuts
– Stronger Benders cuts can help significantly when master
and subproblem are properly balanced in difficulty.
43
![Page 44: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/44.jpg)
Suggested Solution Strategies
• Tighter subproblem relaxations
– Design tighter subproblem relaxations for the master
– …using subproblem variables, whose values are
discarded after master is solved
44
![Page 45: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/45.jpg)
Suggested Solution Strategies
• Tighter subproblem relaxations
– Design tighter subproblem relaxations for the master
– …using subproblem variables, whose values are
discarded after master is solved
• Failure-directed search in subproblem
– Recently introduced in ILOG CP optimizer.
45
![Page 46: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/46.jpg)
Suggested Solution Strategies
• Tighter subproblem relaxations
– Design tighter subproblem relaxations for the master
– …using subproblem variables, whose values are
discarded after master is solved
• Failure-directed search in subproblem
– Recently introduced in ILOG CP optimizer.
• Subproblem decomposition
– Solve subproblem with LBBD when it grows too large.
46
![Page 47: Planning & Scheduling by Logic-based Benders Decomposition](https://reader030.vdocuments.mx/reader030/viewer/2022012100/6169df0511a7b741a34c4a29/html5/thumbnails/47.jpg)
Suggested Solution Strategies
• Tighter subproblem relaxations
– Design tighter subproblem relaxations for the master
– …using subproblem variables, whose values are
discarded after master is solved
• Failure-directed search in subproblem
– Recently introduced in ILOG CP optimizer.
• Subproblem decomposition
– Solve subproblem with LBBD when it grows too large.
• More dual information
– Use subproblem solver that reveals proof of optimality,
perhaps resulting in stronger Benders cuts.
47