ise480 sequencing and scheduling

24
ISE480 Sequencing and Scheduling Izmir University of Economics 19.06.22 1 ISE480 2011 -2012 Fall Semestre

Upload: senta

Post on 22-Feb-2016

43 views

Category:

Documents


0 download

DESCRIPTION

ISE480 Sequencing and Scheduling. Izmir University of Economics. Branch and Bound. ISE480 Sequencing and Scheduling 2012 – 2013 Fall semestre. Branch and Bound. Enumerative method Guarantees finding the best schedule Basic idea: Look at a set of schedules - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ISE480 Sequencing and Scheduling

ISE480 Sequencing and SchedulingIzmir University of Economics

22.04.23 1ISE480 2011 -2012 Fall Semestre

Page 2: ISE480 Sequencing and Scheduling

Branch and Bound

ISE480 Sequencing and Scheduling2012 – 2013 Fall semestre

Page 3: ISE480 Sequencing and Scheduling

3

Branch and Bound Enumerative method Guarantees finding the best schedule Basic idea:

Look at a set of schedules Develop a bound on the performance Discard (fathom) if bound worse than

best schedule found before (incumbent)

ISE480 Sequencing and Scheduling

Page 4: ISE480 Sequencing and Scheduling

OK, now what? So we’ve got a IP formulation of the

problem, how do we solve it? Using standard IP solution techniques

such as branch-and-bound Doesn’t mean the problem is easy Will now talk about branch-and-bound

(B&B) which can be used to solve IPs and other hard problems

4ISE480 Sequencing and Scheduling

Page 5: ISE480 Sequencing and Scheduling

Branch-and-Bound Idea

Systematically search through possible variable values

Use heuristics to pick a decision to try (“branch”)

Use lower bounds on solutions to “bound” the search (fathom)

Creates a search tree

5ISE480 Sequencing and Scheduling

Page 6: ISE480 Sequencing and Scheduling

B&B Search Tree: Branching Imagine a problem with 3 variables

a, b, c є {0, 1}

a = 0 a = 1

b = 0 b = 1

c = 0 c = 1 c = 0 c = 1 c = 0 c = 1c = 0 c = 1

b = 0 b = 1

100 90 110 115 80 90 100 110

Branch

6ISE480 Sequencing and Scheduling

Page 7: ISE480 Sequencing and Scheduling

B&B Search Tree: Bounding Imagine I have a way to calculate a lower

bound on the cost at each node

a = 0 a = 1

b = 0 b = 1

c = 0 c = 1 c = 0

b = 0

100 90 80

50

70

85 95

80

80

Bound7ISE480 Sequencing and Scheduling

Page 8: ISE480 Sequencing and Scheduling

B&B Branch: assign a heuristic value to a

variable Creates two subproblems

Bound: compare lower bound at node with best known solution If LB > best, you can backtrack right

away

8ISE480 Sequencing and Scheduling

Page 9: ISE480 Sequencing and Scheduling

B&B for IP Usually lower bound is found by solving

the linear relaxation of the IP LP formed by ignoring integral constraints

Branch on one of the integer variables with a non-integer value to be: greater than or equal to the next highest

integer, or Less than or equal to the next lowest integer

9ISE480 Sequencing and Scheduling

Page 10: ISE480 Sequencing and Scheduling

10

Classic Result The EDD rule is optimal forIf jobs have different release dates,

which we denote

then the problem is NP-HardWhat makes it so much more difficult?

max||1 L

max||1 Lrj

ISE480 Sequencing and Scheduling

Page 11: ISE480 Sequencing and Scheduling

11

max||1 LrjJobs 1 2 3

jp 4 6 5

jr 0 3 5

jd 8 14 10

1 2 3

1r 2r 3r

0 5 10 15

1d 3d 2d

55,4,4max1015,1410,84max

,,max,,max 332211321max

dCdCdCLLLL Can we

improve?ISE480 Sequencing and Scheduling

Page 12: ISE480 Sequencing and Scheduling

12

Delay Schedule

1 23

1r 2r 3r

0 5 10 15

1d 3d 2d

20,2,4max1010,1416,84max

,,max,,max 332211321max

dCdCdCLLLL

Add a delay

What makes this problem hard is that the optimal schedule is not necessarily a non-delay schedule

ISE480 Sequencing and Scheduling

EDD

Page 13: ISE480 Sequencing and Scheduling

13

Final Classic ResultThe preemptive EDD rule is optimal for

the preemptive (prmp) version of the problem

Note that in the previous example, the preemptive EDD rule gives us the optimal schedule

Note that if rj = 0, then the above does not hold.

max|,|1 Lprmprj

ISE480 Sequencing and Scheduling

Page 14: ISE480 Sequencing and Scheduling

14

Branch and BoundThe problem

cannot be solved using a simple dispatching rule so we will try to solve it using branch and bound

To develop a branch and bound procedure: Determine how to branch Determine how to bound

max||1 Lrj

ISE480 Sequencing and Scheduling

Page 15: ISE480 Sequencing and Scheduling

15

DataJobs 1 2 3 4

jp 4 2 6 5

jr 0 1 3 5

jd 8 12 11 10

ISE480 Sequencing and Scheduling

Page 16: ISE480 Sequencing and Scheduling

16

Branch and bound Enumeration in a search tree

each node is a partial solution, i.e. a part of the solution space

...

...

root node

child nodes

child nodes

Level 0

Level 1 (n nodes)

Level 2 (n*(n-1))

ISE480 Sequencing and Scheduling

Page 17: ISE480 Sequencing and Scheduling

17

Branching

(•,•,•,•)

(1,•,•,•) (2,•,•,•) (3,•,•,•) (4,•,•,•)

ISE480 Sequencing and Scheduling

Page 18: ISE480 Sequencing and Scheduling

18

Branching(•,•,•,•)

(1,•,•,•) (2,•,•,•) (3,•,•,•) (4,•,•,•)

Discard immediately because

53

4

3

rr

ISE480 Sequencing and Scheduling

Page 19: ISE480 Sequencing and Scheduling

19

(•,•,•,•)

(1,•,•,•) (2,•,•,•) (3,•,•,•) (4,•,•,•)

Need to develop lower bounds onthese nodes and do further branching.

Branching

ISE480 Sequencing and Scheduling

Page 20: ISE480 Sequencing and Scheduling

20

Bounding (in general)Typical way to develop bounds is to relax the

original problem to an easily solvable problem

Three cases: If there is no solution to the relaxed problem there

is no solution to the original problem If the optimal solution to the relaxed problem is

feasible for the original problem then it is also optimal for the original problem

If the optimal solution to the relaxed problem is not feasible for the original problem it provides a bound on its performance

ISE480 Sequencing and Scheduling

Page 21: ISE480 Sequencing and Scheduling

21

Relaxing the ProblemThe problem

is a relaxation to the problem

Not allowing preemption is a constraint in the original problem but not the relaxed problem

We know how to solve the relaxed problem (preemptive EDD rule)

max||1 Lrj

max|,|1 Lprmprj

ISE480 Sequencing and Scheduling

Page 22: ISE480 Sequencing and Scheduling

22

BoundingPreemptive EDD rule optimal for the

preemptive version of the problemThus, solution obtained is a lower

bound on the maximum delayIf preemptive EDD results in a non-

preemptive schedule all nodes with higher lower bounds can be discarded.

ISE480 Sequencing and Scheduling

Page 23: ISE480 Sequencing and Scheduling

23

Lower Bounds

Start with (1,•,•,•): Job with EDD is Job 4 but Second earliest due date is for Job 3

54 r

Job 1

Job 2

Job 3

Job 4

0 10 20

5max L

ISE480 Sequencing and Scheduling

Page 24: ISE480 Sequencing and Scheduling

24

5max L

Branching(•,•,•,•)

(1,•,•,•) (2,•,•,•) (3,•,•,•) (4,•,•,•)

(1,2,•,•) (1,3,•,•) 7max L

6max L 5max L(1,3,4,2)

ISE480 Sequencing and Scheduling