Algorithm Search⌘K

Proofs: Interval branch and bound

These are the human proofs of Interval branch and bound, at full length.

Interval branch and bound encloses the global minimum and all global minimizers full

This proof shows: correctness, termination.

We use the pseudocode of the page. Let X⊆RdX \subseteq \mathbb{R}^d be a box, let ff attain its minimum f∗f^* on XX, and let M={x∈X:f(x)=f∗}≠∅M = \{x \in X : f(x) = f^*\} \ne \emptyset. The inclusion function FF satisfies f(y)∈F(Y)f(y) \in F(Y) for every box Y⊆XY \subseteq X and every y∈Yy \in Y; so F‾(Y)≤f(y)\underline{F}(Y) \le f(y). Let ε>0\varepsilon > 0.

Claim 1 (upper bound). At every point, f‾=f(xˉ)\overline{f} = f(\bar{x}) for some xˉ∈X\bar{x} \in X, so f∗≤f‾f^* \le \overline{f}, and f‾\overline{f} never increases. Proof. Line L1 sets f‾=f(mid(X))\overline{f} = f(\mathrm{mid}(X)) and line L8 sets it to a smaller value f(mid(Z))f(\mathrm{mid}(Z)) with Z⊆XZ \subseteq X; the center of a box lies in it. □\square

Claim 2 (a discarded box holds no minimizer). If a box YY has F‾(Y)>f‾\underline{F}(Y) > \overline{f} for some value f‾\overline{f} taken during the run, then Y∩M=∅Y \cap M = \emptyset. Proof. For x∈Y∩Mx \in Y \cap M, F‾(Y)≤f(x)=f∗≤f‾\underline{F}(Y) \le f(x) = f^* \le \overline{f} by Claim 1. □\square

Claim 3 (invariant). Each entry (β,Y)(\beta, Y) of HH or RR has β=F‾(Y)\beta = \underline{F}(Y), and at the start of each iteration of line L2, M⊆⋃{Y:(β,Y)∈H∪R}M \subseteq \bigcup \{Y : (\beta, Y) \in H \cup R\}.

Proof. At the start, H={(F‾(X),X)}H = \{(\underline{F}(X), X)\}, and M⊆XM \subseteq X. Suppose the claim holds at the start of an iteration that takes (β,Y)(\beta, Y) and does not break. If line L5 moves YY to RR, the union is the same. Otherwise Y=Y1∪Y2Y = Y_1 \cup Y_2, and each YiY_i is inserted unless F‾(Yi)>f‾\underline{F}(Y_i) > \overline{f} at line L9, in which case Yi∩M=∅Y_i \cap M = \emptyset by Claim 2. So every point of Y∩MY \cap M lies in a box that is inserted, and the claim holds at the next start. □\square

Claim 4 (termination). For a box made by the algorithm along a path of cuts from XX, a side of initial length ℓ\ell is cut at most ⌈log⁡2(ℓ/ε)⌉\lceil \log_2 (\ell / \varepsilon) \rceil times. So every path has at most d⌈log⁡2(w(X)/ε)⌉d \lceil \log_2 (w(X)/\varepsilon) \rceil cuts, at most finitely many boxes are made, and the loop ends.

Proof. Line L6 cuts a box only if its width exceeds ε\varepsilon, and it cuts a longest side, which has length equal to the width. After kk cuts, a side of initial length ℓ\ell has length ℓ/2k\ell / 2^k; it is cut again only if ℓ/2k>ε\ell / 2^k > \varepsilon, that is, k<log⁡2(ℓ/ε)k < \log_2 (\ell / \varepsilon). So it is cut at most ⌈log⁡2(ℓ/ε)⌉\lceil \log_2 (\ell/\varepsilon) \rceil times, with ℓ≤w(X)\ell \le w(X). Each iteration takes one box from HH and inserts at most two, each a child in a binary tree of finite depth, so there are finitely many iterations. □\square

Theorem. INTERVAL-BB returns (f‾,f‾,xˉ,R)(\underline{f}, \overline{f}, \bar{x}, R) with f‾≤f∗≤f‾=f(xˉ)\underline{f} \le f^* \le \overline{f} = f(\bar{x}), every global minimizer in a box of RR, and every box of RR of width at most ε\varepsilon.

Proof. By Claim 4 the loop ends, either with HH empty or at line L4 with β>f‾\beta > \overline{f}. In the second case, the queue is a min-priority queue, so every box left in HH, and the box just taken, has lower bound above f‾\overline{f}, and by Claim 2 it holds no point of MM. In both cases, Claim 3 gives M⊆⋃{Y:(β,Y)∈R}M \subseteq \bigcup \{Y : (\beta, Y) \in R\} before line L10. Line L10 deletes only entries with β>f‾\beta > \overline{f}, which hold no point of MM by Claim 2, so MM is still covered by RR after it. As M≠∅M \ne \emptyset, RR is not empty, and for x∗∈Mx^* \in M in a box YY of RR, f‾≤β=F‾(Y)≤f(x∗)=f∗\underline{f} \le \beta = \underline{F}(Y) \le f(x^*) = f^*. Claim 1 gives f∗≤f‾=f(xˉ)f^* \le \overline{f} = f(\bar{x}). Boxes enter RR only at line L5, with width at most ε\varepsilon. ■\blacksquare

Back to Interval branch and bound