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 be a box, let attain its minimum on , and let . The inclusion function satisfies for every box and every ; so . Let .
Claim 1 (upper bound). At every point, for some , so , and never increases. Proof. Line L1 sets and line L8 sets it to a smaller value with ; the center of a box lies in it.
Claim 2 (a discarded box holds no minimizer). If a box has for some value taken during the run, then . Proof. For , by Claim 1.
Claim 3 (invariant). Each entry of or has , and at the start of each iteration of line L2, .
Proof. At the start, , and . Suppose the claim holds at the start of an iteration that takes and does not break. If line L5 moves to , the union is the same. Otherwise , and each is inserted unless at line L9, in which case by Claim 2. So every point of lies in a box that is inserted, and the claim holds at the next start.
Claim 4 (termination). For a box made by the algorithm along a path of cuts from , a side of initial length is cut at most times. So every path has at most cuts, at most finitely many boxes are made, and the loop ends.
Proof. Line L6 cuts a box only if its width exceeds , and it cuts a longest side, which has length equal to the width. After cuts, a side of initial length has length ; it is cut again only if , that is, . So it is cut at most times, with . Each iteration takes one box from and inserts at most two, each a child in a binary tree of finite depth, so there are finitely many iterations.
Theorem. INTERVAL-BB returns with , every global minimizer in a box of , and every box of of width at most .
Proof. By Claim 4 the loop ends, either with empty or at line L4 with . In the second case, the queue is a min-priority queue, so every box left in , and the box just taken, has lower bound above , and by Claim 2 it holds no point of . In both cases, Claim 3 gives before line L10. Line L10 deletes only entries with , which hold no point of by Claim 2, so is still covered by after it. As , is not empty, and for in a box of , . Claim 1 gives . Boxes enter only at line L5, with width at most .