ise480 sequencing and scheduling
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 PresentationTRANSCRIPT
ISE480 Sequencing and SchedulingIzmir University of Economics
22.04.23 1ISE480 2011 -2012 Fall Semestre
Branch and Bound
ISE480 Sequencing and Scheduling2012 – 2013 Fall semestre
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
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
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
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
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
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
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
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
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
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
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
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
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
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
17
Branching
(•,•,•,•)
(1,•,•,•) (2,•,•,•) (3,•,•,•) (4,•,•,•)
ISE480 Sequencing and Scheduling
18
Branching(•,•,•,•)
(1,•,•,•) (2,•,•,•) (3,•,•,•) (4,•,•,•)
Discard immediately because
53
4
3
rr
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
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
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
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
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
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