Branch-and-Bound & Beam-Search
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 Level 0 Level 1 Level 2
Branch and bound example 1 Disjunctive programming (appendix A.4): disjunctive set of constraints: at least one must be satisfied x j = completion time of job j restriction: solve LP without disjunctive restrictions (= LP relaxation) if disjunct. restr. violated for j & k Level 0 Level 1...
Branch and bound (cont.) Upper bound: e.g. a feasible solution Lower bound: e.g. a solution to an “easier” problem Node elimination (fathom/discard nodes): when lower bound >= upper bound
Branch and bound (cont.) Branching strategy: how to partition solution space Node selection strategy: –sequence of exploring nodes: depth first (tries to obtain a solution fast) breadth/best bound first (tries to find the best solution) –which nodes to explore (filter and beam width) filter width: #nodes selected for thorough evaluation beam width: #nodes that are branched on ( filter width) Beam search
Branch and bound example 2 Single machine, maximum lateness, release and due dates lower bound: EDD + preemption (?,?,?,?) (1,?,?,?) (4,?,?,?)(2,?,?,?) Level 0 Level 1 (3,?,?,?)
Branch and bound example 2 Lower bound for: (1,?,?,?) Lower bound: Lmax = max(0,17-12,15-11,0)=5 t r(2)r(3)r(4) d(4)<d(3)d(3)<d(2)
(?,?,?,?) (1,?,?,?) (4,?,?,?)(2,?,?,?) Level 0 Level 1 (3,?,?,?) Branch and bound example 2 (cont.) LB=5 LB=7* =UB (1,2,?,?)(1,3,?,?) infeasible: (1,3,4,3,2) LB=6* =UB (1,2,4,3) LB=5*=UB (1,3,4,2) DONE (1,2,4,3)(1,3,4,2)
Branch and bound example x1x x2x2 0 obj: 3 LP solution:
Beam search example 1 single-machine, total weighted tardiness Upper bound: ATC rule (apparent tardiness cost): schedule 1 job at a time every time a machine comes available, determine ranking of jobs: MS rule WSPT rule look-ahead parameter: K = R(R 0.5) K = 6 - 2R(R 0.5) = due date range factor
Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (1,?,?,?) (4,?,?,?) (2,?,?,?) (3,?,?,?) Upper bound by ATC rule:
Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (1,?,?,?) (4,?,?,?) (2,?,?,?) (3,?,?,?) Upper bound by ATC rule: Total = 408
Beam search example 1 (cont.) single-machine, total weighted tardiness (?,?,?,?) (1,?,?,?) (4,?,?,?) (2,?,?,?) (3,?,?,?) UB=408 UB=436UB=814UB=440 discardedexplored further (beam width = 2) 4 nodes analyzed (filter width=4)
Beam search example 1 (cont.) (?,?,?,?) (1,?,?,?) (4,?,?,?) (2,?,?,?) (3,?,?,?) UB= (1,2,?,?) (1,3,?,?) (1,4,?,?) UB= (1,4,2,3) (1,4,3,2) UB= best solution (2,1,?,?) (2,3,?,?) (2,4,?,?) 436 (2,4,1,3) (2,4,3,1)
DISKUSI & TANYA JAWAB