You are on page 1of 4

Branch and Bound

General purpose method to solve discrete optimization


problems
Takes exponential time in the worst-case
Useful to solve small instances of hard problems
Can be applied to all scheduling problems
Need to specif!
"# $ lower bounding scheme
%# Branching rule
&# 'earch rule (subproblem selection rule)
*verview!
+or a minimization problem, at a given branch and bound tree
(b-b) node i!
"# *btain a lower bound, lb
i
%# (*ptional) *btain a candidate solution and an upper bound
ub
i
&# .f (ub
i
/ G0*B$0 UB) then set ub
i
as the G0*B$0 UB
1# .f (lb
i
23 G0*B$0 UB) then prune the node and go to 4#
5# Branch into subproblems (create child nodes)
4# 6ick the next active subproblem#
.f none exist, stop# 7lse, go to "#
7xample "
Problem: 'ingle machine, n 8obs arriving at different times,
preemptions not allowed, minimize maximum lateness (0
max
)
$ b-b node corresponds to a partial schedule
$t level k of the b-b tree, the first k 8obs in the schedule
have been fixed
Branching
Create a child node of a node at level k-" b fixing each
remaining 8ob at kth position 79C76T!
If a job c satisfies
) ) , (max( min
l l
J l
c
p r t r +

,
do not create a child for that job
0ower bounding!
'chedule remaining 8obs according to the preemptive EDD
rule!
Every time the machine is freed or a new job is released,
pick the uncompleted job with minimum due date
Numeric Example:
Jobs 1 2 3 4
p
j
4 2 6 5
d
j
8 12 11 10
r
j
0 1 3 5
0ower bound at node (",-) is obtained b appling preemptive
7:: to 8obs %, & and 1 with starting time 1
$t t31, available 8obs! %, &, pick &
$t t35, available 8obs! %, &,1 pick 1
$t t3";, available 8obs! %, &, pick &
$t t3"5, available 8obs! %, pick %
0
"
3 -1, 0
%
3 5, 0
&
3 1, 0
1
3 ;, 0
max
3 5
Exercise: Calculate the lower bound at node (%,-)
;
",
&, %,
",&,1,%
1,
",&, ",%,
lb3 5
lb3 4
lb3 <
lb3 5
ub3 5
candidate
prune prune
0evel &
0evel %
0evel "
0evel ;
& " & 1 %
1
5
";
;
"5
"<
6reemptive 7:: at node (",&,-) gives a non-preemptive
schedule ", &, 1, % with 0
max
3 5 and it is an optimal solution to
the problem

You might also like