Resource allocation and scheduling from CP/OR hybrid perspective - - PowerPoint PPT Presentation
Resource allocation and scheduling from CP/OR hybrid perspective - - PowerPoint PPT Presentation
Resource allocation and scheduling from CP/OR hybrid perspective Michele Lombardi <michele.lombardi2@unibo.it> DEIS, University of Bologna Talk Outline Outline A brief introduction to Allocation & Scheduling Problems CP
Talk Outline
§ A brief introduction to Allocation & Scheduling Problems § CP Approaches § OR Approaches § Hybrid (decomposition based) approaches
Outline Focus on exact methods
Talk Outline
§ References to most of the proposed techniques in:
[1] Michele Lombardi, Michela Milano: Optimal methods for resource allocation and scheduling: a cross-disciplinary survey. Constraints 17(1): 51-85 (2012) Outline
Allocation & Scheduling Problems
DEIS, University of Bologna
Resource Allocation and Scheduling
§ “Classical” Scheduling Formulations assume static resource
assignment and focus on ordering activities over time
§ In many practical cases, resources and resource requirements
depend on user decisions
§ In this case, we speak of Joint Resource Allocation &
Scheduling Scheduling: Allocating scarce resources to activities over time
Application Examples
§ Parallel Computing, both at server-room and single chip level
Application Examples
§ Parallel Computing, both at server-room and single chip level § Aircraft Landing, with multiple runways
Application Examples
§ Parallel Computing, both at server-room and single chip level § Aircraft Landing, with multiple runways § Operating Painting Robots, with multiple nozzles
Resource Allocation and Scheduling
Two important observations: #1: Resource allocation choices are not trivial to take #2: Resource allocation choices may have a dramatic effect on the schedule quality
A0 A1 A2 A3 A5 A6 A4 A8 A7
0/0 2/2 1/1 1/1 1/3 1/1 3/6 2/1 0/0
An Example
§ Two resources: blue/orange § Activity durations are resource dependent § All resources have capacity 1 § All requirements are 1 § Source/sink nodes are fake § Obj: minimize makespan
A0 A1 A2 A3 A5 A6 A4 A8 A7
0/0 2/2 1/1 1/1 1/3 1/1 3/6 2/1 0/0
An Example
§ Two resources: blue/orange § Activity durations are resource dependent § All resources have capacity 1 § All requirements are 1 § Source/sink nodes are fake § Obj: minimize makespan
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
An Example
§ A1, A2, A3, A4, A5, A6, A7 / -- balance: 11/0, makespan: 11
A1 A2 A3 A4 A5 A6 A7
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A1 A2 A3 A4 A5 A6 A7
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
An Example
§ A1, A2, A3, A4, A5, A6, A7 / -- balance: 11/0, makespan: 11 § -- / A1, A2, A3, A4, A5, A6, A7 balance: 0/15, makespan: 15
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
A3 A4 A6 A1 A2 A5 A7
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
An Example
§ A1, A2, A3, A4, A5, A6, A7 / -- balance: 11/0, makespan: 11 § -- / A1, A2, A3, A4, A5, A6, A7 balance: 0/15, makespan: 15 § A3, A4, A6 / A1, A2, A5, A7 balance: 5/5, makespan: 7
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
A1 A3 A6 A2 A4 A5 A7
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
An Example
§ A1, A2, A3, A4, A5, A6, A7 / -- balance: 11/0, makespan: 11 § -- / A1, A2, A3, A4, A5, A6, A7 balance: 0/15, makespan: 15 § A3, A4, A6 / A1, A2, A5, A7 balance: 5/5, makespan: 7 § A3, A6 / A1, A2, A4, A5, A7 balance: 6/6, makespan: 6
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
A bit counterintuitive...
Resource Allocation and Scheduling
Two important observations: #1: Resource allocation choices are not trivial to take #2: Resource allocation choices may have a dramatic effect on the schedule quality ⇒ optimizing both allocation and scheduling choices may pay off
Problem data: § is a set of activities § is a set of edges § A set of resources with capacity § A set of allocation variables § Activity duration functions § Resource requirement functions
A ai
E
(ai, aj) R rk ck di(X)
X
rqi,k(X) xi
Problem Formulation
hA, Ei
Directed Acyclic Graph
S
si
Solution § An assignment of variables § A set of start times for each activity § Such that temporal & resource constraints are satisfied
xi
This is the novel part
cost = F(X) cost = F(X, S)
Problem Formulation
Which cost function? Main classes: § Resource-based: § Time/resource based:
max
ai∈A(si + di(X)) = F(X, S)
X
ai∈A
cxi = F(X)
Examples: § Makespan: § A cost for using a resource:
Cost Function
There are many possible “problem flavors” § Time lags / allocation dependent time lags § Various types of resource § ... But those are not our focus! Let’s discuss instead some solution approaches
Resource Allocation and Scheduling with CP
DEIS, University of Bologna
si ∈ {0..eoh} xi ∈ Di si + di(X) ≤ sj ∀(ai, aj) ∈ E cumulative([si], [di(X)], [rqi,k(X)], ck)
Always Start From the Simplest Thing...
Simplest approach: encoding the formulation in CP Decision variables: § A start variable for each activity: § A variable for each resource choice: Constraints § Precedence constraints: § Resource constraints:
Always Start From the Simplest Thing...
si ∈ {0..eoh} xi ∈ Di si + di(X) ≤ sj cumulative([si], [di(X)], [rqi,k(X)],ck)
Simplest approach: encoding the formulation in CP. Straight. Decision variables: § A start variable for each activity: § A variable for each resource choice: Constraints § Precedence constraints: § Resource constraints: This does not work well ☹ Reason #1: the search space is huge Reason #2: weak propagation on allocation variables Reason #3: weak propagation between allocation and scheduling variables
So what?
General trend: restrict the modeling constructs PRO: Stronger Filtering CON: Less Expressive (not always true...)
CP Modeling Approaches
General trend: restrict the modeling constructs § Alternative Resources
A1
Requirement value or variable Pool of alternative resources may be assigned to Duration value
- r variable
R0 R1 R2
CP Modeling Approaches
General trend: restrict the modeling constructs § Alternative Resources § Alternative Activities
XOR XOR
ai a0
i
a00
i
Alternative block Choose a single realization
CP Modeling Approaches
General trend: restrict the modeling constructs § Alternative Resources § Alternative Activities
XOR XOR
ai a0
i
a00
i
Each realization is a classical scheduling activity
domain
CP Modeling Approaches
General trend: restrict the modeling constructs § Alternative Resources § Alternative Activities § Conditional Interval Variables
start end duration
CP Modeling Approaches
General trend: restrict the modeling constructs § Alternative Resources § Alternative Activities § Conditional Interval Variables
Alternative Block:
X
i
exi = 1 exi = 1 exi = 0
Possible Execution States:
exi ∈ {0, 1}
CP Modeling Approaches
General trend: restrict the modeling constructs § Alternative Resources § Alternative Activities § Conditional Interval Variables Requirement Function
CP Modeling Approaches
General trend: restrict the modeling constructs § Alternative Resources § Alternative Activities § Conditional Interval Variables Requirement Function
if exi = 1 ⇒ infeasibility, then exi ← 0
Key Filtering Ideas
Main filtering ideas (described for conditional interval variables) § Each requiring 1 unit
- f the same resource,
with capacity 1
if exi = 1 ⇒ infeasibility, then exi ← 0
Key Filtering Ideas
Main filtering ideas (described for conditional interval variables) §
exi = 0
infeasibility →
if exi = 1 ⇒ infeasibility, then exi ← 0
Key Filtering Ideas
Main filtering ideas (described for conditional interval variables) § §
redundant resource
No dominating filtering
Pool of alternative resources Redundant Resource
if exi = 1 ⇒ infeasibility, then exi ← 0
Key Filtering Ideas
Main filtering ideas (described for conditional interval variables) § § §
redundant resource propagation on P
i exi = 1
if exi = 1 ⇒ infeasibility, then exi ← 0
if endi ≤ startj and exi ⇒ exj then max(endi) ← max(starti)
Key Filtering Ideas
Main filtering ideas (described for conditional interval variables) § § § §
redundant resource propagation on P
i exi = 1
if exi = 1 ⇒ infeasibility, then exi ← 0
if endi ≤ startj and exi ⇒ exj then max(endi) ← max(starti)
Key Filtering Ideas
Main filtering ideas (described for conditional interval variables) § § § §
redundant resource propagation on P
i exi = 1
A B C
if exi = 1 ⇒ infeasibility, then exi ← 0
if endi ≤ startj and exi ⇒ exj then max(endi) ← max(starti)
Key Filtering Ideas
Main filtering ideas (described for conditional interval variables) § § § § § For details and a few other techniques, see the references at the end of the section.
redundant resource propagation on P
i exi = 1
Wrap-up on CP Techniques
§ Conditional Interval Variables are the most mature outcome of the discussed trend. Allocation and Scheduling problems still suffer from propagation weakness § A number of search strategies has been tried (check the references) § Optimal approaches typically do not scale well... § Large Neighborhood Search performs nicely as a heuristic
Some References
§ [2] R. Bartak and O. Cepek. Nested Precedence Networks with Alternatives: Recognition, Tractability, and Models. In Proc. of AIMSA, pages 235–246, 2008 § [3] J. C. Beck and M. S. Fox. Constraint-directed techniques for scheduling alternative activities. Artificial Intelligence, 121(1-2):211– 250, 2000. § [4] Nicolas Beldiceanu, Mats Carlsson, Sophie Demassey, and Emmanuel Poder. New filtering for the cumulative constraint in the context of non-overlapping rectangles. Annals of Operations Research, 184(1):27–50, March 2011. § [5] P. Laborie and J. Rogerie. Reasoning with conditional time-intervals. In Proc. of FLAIRS, pages 555–560, 2008. § [6] P. Laborie, J. Rogerie, P. Shaw, and P. Vilım. Reasoning with Conditional Time-Intervals Part II: An Algebraical Model for Resources. In Proc. of FLAIRS, pages 201–206, 2009.
Allocation and Scheduling Problems in OR
DEIS, University of Bologna
The Multi-mode RCPSP
Most OR literature on Allocation and Scheduling problems on graphs with general structure targets the Multi-mode RCPSP Problem Data: § The usual DAG: § A set of modes for each activity § Activity duration functions § Resource requirement functions
hA, Ei
Mi mi,h di(Mi)
rqi,k(Mi)
Allocation decisions are modeled as mode choices
S
si
Solution § An assignment of a mode to each activity § A set of start times for each activity § Such that temporal & resource constraints are satisfied
Always Start From the Simplest Thing...
Simplest approach: modeling the MRCPSP as a MILP Two main model classes: § Time indexed § Disjunctive Extension of models for classical scheduling Obtaining tight bounds is very hard ☹ (resource constraints are difficult to model in MILP) § Disjunctive models typically lead to poor bounds § Time indexed provide stronger bound, at the price of a larger model
Always Start From the Simplest Thing...
Simplest approach: modeling the MRCPSP as a MILP Two main model classes: § Time indexed § Disjunctive Obtaining tight bounds is very hard ☹ (resource constraints are difficult to model in MILP) Hence, two main research directions § Advanced branching strategies § Bounding/dominance rules Extension of models for classical scheduling
Bounding/dominance rules
Bounding rules are a (limited) form of constraint propagation § Defined for specific constraint classes:
§ No chance to satisfy the constraint → dead end § Constraint satisfied for a single sched. decision → take it § More details in the references
Dominance rules § Typically based on a few enabling assumptions § Find a property which is satisfied by at least one optimal solution § Enforce the property satisfaction at search time Let’s see and example!
Regular Cost Functions
A cost function is regular if its value can only decrease when the start time of any activity is decreased
cost = F(X)
Some regular cost functions: § makespan § total tardiness § many other time-base objectives Some non-regular cost functions: § resource based: § earliness costs This is the enabling assumption
(Multi-mode) Left-shift
MM Left-shift: operation where § for some is reduced § The mode of may change § No other modification occurs
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
endi ai ai
A1
A2
A4
A3
A6 A5 A7
(Multi-mode) Left-shift
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
A1 A4
A3
A6 A5 A7 A2
MM Left-shift: operation where § for some is reduced § The mode of may change § No other modification occurs
endi ai ai
Tight Schedules and Left-Shift Rule
A schedule is tight if it is feasible and no multi-mode left-shift can be performed Important Theorem: with a regular cost function the set of
- ptimal schedules always contains a tight one
Multi-mode Left-shift rule: If an activity in the current (partial) schedule can be multi-mode left-shifted, then the current search node can be fathomed. This is out property!
Left-Shift Rule: an Example
Multi-mode Left-shift rule: If an activity in the current (partial) schedule can be multi-mode left- shifted, then the current search node can be fathomed.
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A1
A2
A4
A3
A6 A5 A7
Left-Shift Rule: an Example
Multi-mode Left-shift rule: If an activity in the current (partial) schedule can be multi-mode left- shifted, then the current search node can be fathomed.
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A1
A2
Unscheduled:
A2 A4
A3
A6 A5 A7
Stop search and backtrack!
Tight Schedules and Left-Shift Rule
§ The rule obtains dramatic reductions of the search space § The classical “Schedule or Postpone” strategy in Constraint Based Scheduling is based on the same principles § Currently, there is no analogous for allocation and scheduling problems (an attempt in [12]) WARNING: even if the cost function is regular, the rule is not applicable if a left-shift may result in a cost increase due to some side constraint
Wrap-up on OR Techniques
§ Dominance rules are very effective technique to boost search space exploration § Many advanced branching strategies have been investigated (see for example [10]) Still, optimal OR approaches to Allocation and Scheduling problems typically do not scale well § Some approaches (disjunctive) do not provide a tight bound § Other approaches (time indexed) provide a stronger bound, at the cost of a very large model
References
§ [7] A. Sprecher and A. Drexl. Multi-mode resource-constrained project scheduling by a simple, general and powerful sequencing
- algorithm. European Journal of Operational Research, 107(2):431–
450, 1998. § [8] A. Sprecher, S. Hartmann, and A. Drexl. An exact algorithm for project scheduling with multiple modes. OR Spectrum, 19(3):195– 203, 1997. § [9] A. Sprecher and C. L. Hwang. Resource-constrained project scheduling: exact methods for the multi-mode case. Springer, 1994. § [10] S. Hartmann and A. Drexl. Project scheduling with multiple modes: A comparison of exact algorithms. Networks, 32(4):283– 297, 1998.
References
§ [11] R. Heilmann. A branch-and-bound procedure for the multi- mode resource-constrained project scheduling problem with minimum and maximum time lags. European Journal of Operational Research, 144(2):348–365, January 2003. § [12] L. Benini, M. Lombardi, M. Milano, and M. Ruggiero. Optimal Allocation and Scheduling for the Cell BE Platform. Annals of Operations Research, 184(1):51–77, 2011. § [13] P. Brucker, A. Drexl, R. H. Mohring, K. Neumann, and E.
- Pesch. Resource-constrained project scheduling: Notation,
classification, models, and methods. European Journal of Operational Research, 112(1):3–41, 1999.
Combining Strenghts: Hybrid Approaches
DEIS, University of Bologna
Main Issue with CP Approaches
Do you recall this? CP is “bad” for optimizing resource assignments
min z xi = ( blue res. 1
- range res.
z ≥ X
ai∈A
di,k · (xi = k) ∀rk
Just How Much Bad?
A0 A1 A2 A3 A5 A6 A4 A8 A7
0/0 2/1 1/1 1/1 1/3 1/1 3/6 2/2 0/0
Let’s focus only on the resource assignment problem: § Decision variables: § Obj:
min z xi = ( blue res. 1
- range res.
z ≥ X
ai∈A
di,k · (xi = k) ∀rk
Just How Much Bad?
A0 A1 A2 A3 A5 A6 A4 A8 A7
0/0 2/1 1/1 1/1 1/3 1/1 3/6 2/2 0/0
Let’s focus solely on the resource assignment problem: § Decision variables: § Obj: 4 resources, 20 activities, random durations Time with CP: 244.3 sec Time with MILP: 0.137 sec
§ However, recall also that MILP has its own trouble...
Hybrid Approaches
§ However, recall also that MILP has its own trouble...
Hybrid Approaches
Logic based Benders' Decomposition LBD is a decomposition based method. A problem is split into two distinct, dependent, subproblems, solved in an interactive fashion. § We distinguish a master- and a sub-problem § They interact by exchanging partial solutions and cuts We will focus on this one Hybrid Approaches try to combine the strength of heterogenous methods and compensate for their weaknesses
Logic based Benders Decomposition
Main steps: § Solve the master problem § Feed the master solution to the subproblem § Solve the subproblem to complete the master problem solution to a full one
Logic based Benders Decomposition
Main steps: § Generate a cut to prevent the master problem from finding again the same solution § The process stops when the master problem becomes infeasible
Logic based Benders Decomposition
§ The main idea is to learn a cut when we make a mistake § The stopping condition has several (equivalent) formulations § Based on Benders Decomposition, which requires the subproblem to be LP § By generalizing the cut generation process, Logic based Benders allows the use of arbitrary sub-problems
Logic based Benders' Decomposition
Typically: § MASTER = resource assignment, solved with MILP § SUBPROBLEM = scheduling, solved with CP LBD HowTo:
- 1. Define the MASTER
- 2. Define the SUBPROBLEM
- 3. Define the Benders' cuts
Main advantages: § The decomposed problems are smaller and easier to solve § Wa always use the best suited technique
R = {r0, r1} di,0
di,1
ai r0 r1
Back to Our Example...
Problem Data: § § All capacities are 1 § All requirements are 1 § Duration of on is § Duration of on is § Cost function: makespan
A0 A1 A2 A3 A5 A6 A4 A8 A7
0/0 2/2 1/1 1/1 1/3 1/1 3/6 2/1 0/0
blue
- range
ai
Step 1: Define the Master Problem
Decision variables § We do not take scheduling decisions here Assignment Constraints: Approximation: since we do not take into account start times, we ignore the precedence constraints We model the allocation as a MIP
Step 1: Define the Master Problem
Decision variables § We do not take scheduling decisions here We model the allocation as a MIP Objective function (load balancing)
Step 1: Define the Master Problem
Overall: Features: § The model scales well: number of variables O(n×m) § It is easy for a MIP solver § Note the objective is a lower bound on the final schedule
Step 2: Define the Subproblem
Decision variables § We do not take assignment decisions here Let be the resource assigned to in the current master problem solution
ri
We model the allocation with CP
Step 2: Define the Subproblem
Precedence Constraints: Resource Constraints: Cost Function:
min max
ai∈A(si + di,ri)
Decision variables § We do not take assignment decisions here
si + di,ri ≤ sj ∀(ai, aj) ∈ E cumulative([si|ri=k], [di,k|ri=k], 1, ck) ∀rk ∈ R
Step 2: Define the Subproblem
Overall: This is a classical CP scheduling model, for which we have: § powerful filtering algorithms § effective search strategies
min z = max
ai∈A(si + di,ri)
cumulative([si|ri=k], [di,k|ri=k], 1, ck) ∀rk ∈ R si + di,ri ≤ sj ∀(ai, aj) ∈ E
Step 3: Defining the Benders Cuts
An example in our case: § At least an activity must be assigned to a different resource: § In all subproblems from now on: § Since the master objective is a LB on the makespan, we can also post on the master: The cut must: § forbid at least the last master problem solution § forbid no improving feasible solution
z ≤ makespan − 1 z ≤ makespan − 1
Step 3: Defining the Benders Cuts
Obtaining a valid cut: the “classical” method § HP: the master objective is a relaxation of § Identify the optimal cost value , given the current master problem solution § Define a function of the master variables such that: § Add to the master problem and § Add to all subproblems from now on
z∗
σ
σ
βσ(X)
X
βσ(X) = ( z∗
σ if X = σ
a LB on F(X, S) otherwise F(X, S) z < z∗
σ
z ≥ βσ(X) z < z∗
σ
z = 5 r0 : r1 :
LBD: An Example
§ Master Problem Solution #1:
A3, A4, A6 / A1, A2, A5, A7
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
A1 A2 A5 A7 A3 A4 A6
LBD: An Example
§ Master Problem Solution #1:
A3, A4, A6 / A1, A2, A5, A7
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A1 A2 A5 A7 A3 A4 A6
§ Subproblem Solution #1:
makespan = 7
x3,0 + x4,0 + x6,0 + x1,1 + x2,1 + x5,1 + x7,1 ≤ 6 z ≤ makespan − 1 = 6
LBD: An Example
§ Master Problem Solution #1:
A3, A4, A6 / A1, A2, A5, A7
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
§ Subproblem Solution #1:
makespan = 7
§ Benders cut #1: plus:
LBD: An Example
§ Master Problem Solution #2:
A2, A3, A4, A6 / A1, A5, A7
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
§ Subproblem Solution #2:
makespan = 6
A2 A3 A4 A6 A1 A5 A7
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
LBD: An Example
§ Master Problem Solution #2:
A2, A3, A4, A6 / A1, A5, A7
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
§ Subproblem Solution #2:
makespan = 6
§ Benders cut #1: plus:
x2,0 + x3,0 + x4,0 + x6,0 + x1,1 + x5,1 + x7,1 ≤ 6 z ≤ 5
The cut makes the master problem infeasible ➜ the best solution found so far is the optimal one
LBD: Some Result Figures
2000 4000 6000 8000
Time for opt. solution Instance size MILP CP LBD Results from [14] (Allocation and Scheduling with Setup Times and no precedence constraints)
LBD: Some Result Figures
Time for opt. solution Instance size CP LBD Results from [15] (Complex allocation decisions and makespan objective) 225 450 675 900 10-11 14-15 18-19 22-23 26-27
Essentially, we broke a big problem into two smaller ones: § PRO: reducing the problem size makes it “exponentially easier” to solve § PRO: each subproblem is tackled with the best technique
Some Thoughts...
Notable cases: § If the cost function is resource based (i.e. ), the subproblem becomes a CSP (no objective function) § Sometimes the subproblem can be split into multiple, independent sub-subproblems → improved efficiency § Es. sequence dependent setup times + no prec. csts.
cost = F(X)
Some Thoughts...
§ In LBD, we try to squeeze the highest advantage by efficiently solving the subproblems § However, decomposition makes the connection between allocation and scheduling variables very weak (in fact, even weaker than in CP!) Solving a problem may require a large number of LBD iterations, possibly countering every advantage It is important to make the interaction between the master and the subproblem as strong as possible
Improving LBD: Method #1
The first master problem solution was not that smart...
Improving LBD: Method #1
The first master solution was not that smart § The MILP solver has no idea of the effect of precedence constraints (they are only part of the subproblem) Statement: it is often very beneficial to include in the master problem some "relaxation" of the subproblem The presence of a subproblem relaxation in the master has dramatic effects on the performance (see [16])
E.g., we could add a constraint for each path in the graph § The double summation denotes to the length of the path § The first predicted makespan becomes 6 (instead of 5)
Improving LBD: Method #1
§ This formulation is not viable since a graph contains an exponential number of paths § We can get an equivalent polynomial size formulation by introducing a start variable for each node
Improving LBD: Method #2
Assume that changing the resource assignment for an activity leads to no makespan improvement. Then: § The corresponding variables can be removed from the cut § The cut gets stronger! In general: it is possible to refine a cut by identifying decisions in the current master problem solution leading to no improvement in case they are changed
An Example of Cut Refinement
§ Master Problem Solution #1:
A3, A4, A6 / A1, A2, A5, A7
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A1 A2 A5 A7 A3 A4 A6
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
An Example of Cut Refinement
§ Master Problem Solution #1:
A3, A4, A6 / A1, A2, A5, A7
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A1 A2 A5 A7 A3 A4 A6
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
If used no resource, the makespan would be the same
a5, a7
An Example of Cut Refinement
t t
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
A1 A2 A3 A4 A6
A1 A2 A3 A5 A6 A4 A7
2/2 1/1 1/1 1/3 1/1 3/6 2/1
Reducing the size of a cut makes it “exponentially stronger”
x3,0 + x4,0 + x6,0 + x1,1 + x2,1 + x5,1 + x7,1 ≤ 6 x3,0 + x4,0 + x6,0 + x1,1 + x2,1 ≤ 4
Improving LBD: Method #2
Cut refinement can be performed via: § Efficient ad-hoc algorithms (see [15]) § Explanation minimization (general approach, see [17]) § Repeated solution of relaxed NP-hard subproblems (see [16]) Some comments: § Finding the minimum cut is NP-hard § Adding multiple, easier to generate, cuts may be better § A cut is useful only if it spares some master problem iterations § Rule of thumb: over all iterations,
Tcut = Tmaster + Tsub
Improving LBD: Method #3
§ LBD may be quite slow in finding high quality solutions § LBD is effective in improving high quality solutions Hence, one final (simple!) improvement method consist in starting the LBD process with a solution found by some quick approach (e.g. a heuristic).
References
§ [14] J. N. Hooker. A Hybrid Method for Planning and Scheduling. Constraints, 10(4):385–401, 2005. § [15] Luca Benini, Michele Lombardi, Michela Milano, Martino Ruggiero: Optimal resource allocation and scheduling for the CELL BE platform. Annals OR 184(1): 51-77 (2011) § [16] E S Thorsteinsson. Branch and Check: A hybrid framework integrating mixed integer programming and constraint
- programming. In Proc. of CP, pages 16–30, Paphos, Cyprus,
November 2001. § [17] H. Cambazard, P.E. Hladik, A.M. Deplanche, N. Jussien, and
- Y. Trinquet. Decomposition and learning for a hard real time task