public class BranchAndBound extends java.lang.Object implements MinimizationSolution<Vector>, IterativeMethod<BBNode>
| Constructor and Description |
|---|
BranchAndBound(ActiveList activeList,
BBNode root)
Solve a minimization problem using a branch-and-bound algorithm.
|
BranchAndBound(BBNode root)
Solve a minimization problem using a branch-and-bound algorithm using depth-first search.
|
| Modifier and Type | Method and Description |
|---|---|
ImmutableVector |
minimizer()
Get the minimizer (solution) to the minimization problem.
|
double |
minimum()
Get the (approximate) minimum found.
|
BBNode |
search(BBNode... initials)
Search for a solution that optimizes the objective function from the
given starting points.
|
void |
setInitials(BBNode... root)
Supply the starting points for the search.
|
java.lang.Boolean |
step()
Do the next iteration.
|
public BranchAndBound(ActiveList activeList, BBNode root)
activeList - the node popping strategy, e.g., depth-first-search, best-first-searchroot - the root node of a minimization problempublic BranchAndBound(BBNode root)
root - the root node of a minimization problempublic double minimum()
MinimizationSolutionminimum in interface MinimizationSolution<Vector>public ImmutableVector minimizer()
MinimizationSolutionminimizer in interface MinimizationSolution<Vector>public final void setInitials(BBNode... root)
IterativeMethodsetInitials in interface IterativeMethod<BBNode>root - the initial guessespublic java.lang.Boolean step()
throws java.lang.Exception
IterativeMethodstep in interface IterativeMethod<BBNode>java.lang.Exception - when an error occurs during the searchpublic BBNode search(BBNode... initials) throws java.lang.Exception
IterativeMethod#setInitials(S[]) and then
iteratively IterativeMethod.step().
It implements a default convergence criterion.search in interface IterativeMethod<BBNode>initials - the initial guessesjava.lang.Exception - when an error occurs during the search