17-bb_notes - Branch and Bound Methods Stephen Boyd and...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Branch and Bound Methods Stephen Boyd and Jacob Mattingley Notes for EE364b, Stanford University, Winter 2006-07 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 m-dimensional 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 half-length 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.

Page1 / 19

17-bb_notes - Branch and Bound Methods Stephen Boyd and...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online