This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Branch and Bound Methods Stephen Boyd and Jacob Mattingley Notes for EE364b, Stanford University, Winter 200607 March 11, 2007 Branch and bound algorithms are methods for global optimization in nonconvex prob lems [LW66, Moo91]. They are nonheuristic, in the sense that they maintain a provable upper and lower bound on the (globally) optimal objective value; they terminate with a certificate proving that the suboptimal point found is ǫsuboptimal. Branch and bound al gorithms can be (and often are) slow, however. In the worst case they require effort that grows exponentially with problem size, but in some cases we are lucky, and the methods converge with much less effort. In these notes we describe two typical and simple examples of branch and bound methods, and show some typical results, for a minimum cardinality problem. 1 Unconstrained nonconvex minimization The material in this section is taken from [BBB91]. The branch and bound algorithm we describe here finds the global minimum of a function f : R m → R over an mdimensional rectangle Q init , to within some prescribed accuracy ǫ . We let f ⋆ denote the optimal value, i.e. , f ⋆ = inf x ∈Q init f ( x ). For a rectangle Q ⊆ Q init we define Φ min ( Q ) = inf x ∈Q f ( x ) , so f ⋆ = Φ min ( Q init ). The algorithm will use two functions Φ lb ( Q ) and Φ ub ( Q ) defined for any rectangle Q ⊆ Q init . These functions must satisfy the following conditions. First, they are lower and upper bounds on Φ min ( Q ), respectively: for any Q ⊆ Q init , Φ lb ( Q ) ≤ Φ min ( Q ) ≤ Φ ub ( Q ) . The second condition is (roughly) that the bounds become tight as the rectangle shrinks to a point. More precisely, as the maximum halflength of the sides of Q , denoted by size( Q ), goes to zero, the difference between upper and lower bounds uniformly converges to zero, i.e. , ∀ ǫ > ∃ δ > ∀Q ⊆ Q init , size( Q ) ≤ δ = ⇒ Φ ub ( Q ) − Φ lb ( Q ) ≤ ǫ. 1 Figure 1: Branch and bound example in R 2 , after 3 iterations. The partition of the original rectangle is shown at left; the associated binary tree is shown at right. We mention a third condition, which is not needed to prove convergence of the branch and bound algorithm, but is needed in practice: The functions Φ ub ( Q ) and Φ lb ( Q ) should be cheap to compute. We now describe the algorithm. We start by computing L 1 = Φ lb ( Q init ) , U 1 = Φ ub ( Q init ) , which are lower and upper bounds on f ⋆ , respectively. If U 1 − L 1 ≤ ǫ , the algorithm terminates. Otherwise we partition Q init into two rectangles Q init = Q 1 ∪ Q 2 , and compute Φ lb ( Q i ) and Φ ub ( Q i ), i = 1 , 2. Then we have new lower and upper bounds on f ⋆ , L 2 = min { Φ lb ( Q 1 ) , Φ lb ( Q 2 ) } ≤ Φ min ( Q init ) ≤ U 2 = min { Φ ub ( Q 1 ) , Φ ub ( Q 2 ) } ....
View
Full
Document
This note was uploaded on 04/09/2010 for the course EE 364B at Stanford.
 '09
 BOYD,S

Click to edit the document details