View Categories

BranchAndBound

2 min read

The Branch and Bound (BnB) method is a global optimization algorithm that systematically explores the search space by dividing it into smaller subproblems (“branching”) and eliminating those that cannot yield a better solution than the current best (“bounding”). In thin-film design, this translates to partitioning ranges of layer thicknesses and discarding subranges that provably cannot improve the merit function.

BnB proceeds by evaluating bounds on each subrange. If a subrange’s best possible (bounded) merit is worse than the current incumbent design, that branch is pruned. The search then focuses on the remaining promising subranges. This process balances thoroughness with efficiency and, when run to completion under valid bounds and termination criteria, can deliver mathematical guarantees of global optimality (often up to a specified tolerance).


Advantages

  • Global guarantees: Can find the global optimum (or certify optimality within a tolerance) when run to completion under correct bounds.
  • Systematic search: Transparent exploration with principled pruning.
  • Efficient pruning: Eliminates large unpromising regions early.

Limitations

  • Computational cost: Can be expensive for large stacks or wide thickness ranges (curse of dimensionality).
  • Quality of bounds: Effectiveness depends on tight bounding strategies; weak bounds reduce pruning efficiency.
  • Practical runtime: May require carefully chosen ranges/tolerances to finish in a reasonable time. Importantly, the runtime cannot be determined in advance, as it depends on how much of the search space can be pruned during execution.

In FilmOptima

In FilmOptima, Branch and Bound belongs to the Global Optimization category of algorithms.

ParameterDescription
ThicknessDefines the lower bound for candidate layer thicknesses considered during the search.
ThicknessDefines the upper bound for candidate layer thicknesses considered during the search.
ToleranceSets the precision threshold for the global search. The algorithm stops branching once the difference between the current best solution and the best possible bound is below this value, ensuring global optimality within the specified tolerance.
Scroll to Top