Resource allocation and scheduling from CP/OR hybrid perspective - - PowerPoint PPT Presentation

resource allocation and scheduling from cp or hybrid
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Resource allocation and scheduling from CP/OR hybrid perspective

Michele Lombardi <michele.lombardi2@unibo.it> DEIS, University of Bologna

slide-2
SLIDE 2

Talk Outline

§ A brief introduction to Allocation & Scheduling Problems § CP Approaches § OR Approaches § Hybrid (decomposition based) approaches

Outline Focus on exact methods

slide-3
SLIDE 3

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

slide-4
SLIDE 4

Allocation & Scheduling Problems

DEIS, University of Bologna

slide-5
SLIDE 5

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

slide-6
SLIDE 6

Application Examples

§ Parallel Computing, both at server-room and single chip level

slide-7
SLIDE 7

Application Examples

§ Parallel Computing, both at server-room and single chip level § Aircraft Landing, with multiple runways

slide-8
SLIDE 8

Application Examples

§ Parallel Computing, both at server-room and single chip level § Aircraft Landing, with multiple runways § Operating Painting Robots, with multiple nozzles

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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...

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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:

slide-19
SLIDE 19

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

slide-20
SLIDE 20

Resource Allocation and Scheduling with CP

DEIS, University of Bologna

slide-21
SLIDE 21

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:

slide-22
SLIDE 22

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

slide-23
SLIDE 23

So what?

General trend: restrict the modeling constructs PRO: Stronger Filtering CON: Less Expressive (not always true...)

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

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

slide-27
SLIDE 27

domain

CP Modeling Approaches

General trend: restrict the modeling constructs § Alternative Resources § Alternative Activities § Conditional Interval Variables

start end duration

slide-28
SLIDE 28

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}

slide-29
SLIDE 29

CP Modeling Approaches

General trend: restrict the modeling constructs § Alternative Resources § Alternative Activities § Conditional Interval Variables Requirement Function

slide-30
SLIDE 30

CP Modeling Approaches

General trend: restrict the modeling constructs § Alternative Resources § Alternative Activities § Conditional Interval Variables Requirement Function

slide-31
SLIDE 31

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

slide-32
SLIDE 32

if exi = 1 ⇒ infeasibility, then exi ← 0

Key Filtering Ideas

Main filtering ideas (described for conditional interval variables) §

exi = 0

infeasibility →

slide-33
SLIDE 33

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

slide-34
SLIDE 34

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

slide-35
SLIDE 35

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

slide-36
SLIDE 36

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

slide-37
SLIDE 37

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

slide-38
SLIDE 38

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

slide-39
SLIDE 39

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.

slide-40
SLIDE 40

Allocation and Scheduling Problems in OR

DEIS, University of Bologna

slide-41
SLIDE 41

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

slide-42
SLIDE 42

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

slide-43
SLIDE 43

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

slide-44
SLIDE 44

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!

slide-45
SLIDE 45

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

slide-46
SLIDE 46

(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

slide-47
SLIDE 47

(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

slide-48
SLIDE 48

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!

slide-49
SLIDE 49

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

slide-50
SLIDE 50

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!

slide-51
SLIDE 51

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

slide-52
SLIDE 52

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

slide-53
SLIDE 53

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.

slide-54
SLIDE 54

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.

slide-55
SLIDE 55

Combining Strenghts: Hybrid Approaches

DEIS, University of Bologna

slide-56
SLIDE 56

Main Issue with CP Approaches

Do you recall this? CP is “bad” for optimizing resource assignments

slide-57
SLIDE 57

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:

slide-58
SLIDE 58

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

slide-59
SLIDE 59

§ However, recall also that MILP has its own trouble...

Hybrid Approaches

slide-60
SLIDE 60

§ 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

slide-61
SLIDE 61

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

slide-62
SLIDE 62

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

slide-63
SLIDE 63

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

slide-64
SLIDE 64

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

slide-65
SLIDE 65

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

slide-66
SLIDE 66

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

slide-67
SLIDE 67

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)

slide-68
SLIDE 68

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

slide-69
SLIDE 69

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

slide-70
SLIDE 70

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

slide-71
SLIDE 71

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

slide-72
SLIDE 72

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

slide-73
SLIDE 73

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∗

σ

slide-74
SLIDE 74

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

slide-75
SLIDE 75

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

slide-76
SLIDE 76

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:

slide-77
SLIDE 77

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

slide-78
SLIDE 78

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

slide-79
SLIDE 79

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)

slide-80
SLIDE 80

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

slide-81
SLIDE 81

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)

slide-82
SLIDE 82

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

slide-83
SLIDE 83

Improving LBD: Method #1

The first master problem solution was not that smart...

slide-84
SLIDE 84

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])

slide-85
SLIDE 85

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

slide-86
SLIDE 86

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

slide-87
SLIDE 87

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

slide-88
SLIDE 88

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

slide-89
SLIDE 89

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

slide-90
SLIDE 90

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

slide-91
SLIDE 91

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).

slide-92
SLIDE 92

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

allocation problem. Proc. of CP, pages 153–167, 2004.

slide-93
SLIDE 93

References

§ [18] V. Jain and I. E. Grossmann. Algorithms for Hybrid MILP / CP Models for a Class of Optimization Problems. INFORMS Journal on Computing, pages 258–276, 2001.

slide-94
SLIDE 94

Concluding remarks

DEIS, University of Bologna

slide-95
SLIDE 95

A Few Open Problems

Decomposition based approaches proved to be very effective, but still have limited scalability: § Can they still be improved? § Can we use decomposition to design effective heuristics? Allocation and Scheduling is far from being a closed problem Decomposition based methods effectively loose propagation between allocation and scheduling variables: § Are we really fine with that? § Recently, hybrid SAT/CP approaches provided very good results on pure scheduling problems: can we use them here?

slide-96
SLIDE 96

A Few Open Problems

Most of the literature has a focus on makespan minimization: § Many industrial problems use more complex cost functions § The type of cost functions dramatically affects the performance of different methods § MILP tends to deal better than CP with sum-based objectives § How do the discussed method behave with real-world problems? There a are just a few application examples!

slide-97
SLIDE 97

Many Thanks for the Attention!

DEIS, University of Bologna

Questions?

slide-98
SLIDE 98

Bologna, Piazza Santo Stefano