API

Using preset schemes

EAGO's branch and bound framework natively supports multiple common branching schemes. Namely, best-first, depth-first, and breadth-first branching schemes are all supported. The solver can be set to use any of these schemes using the set_Branch_Scheme! function below.

set_Branch_Scheme!(x::BnBSolver,BM::String)

Sets the search scheme to "best", "breadth", or "depth" first schemes.

source

Additionally, common modes of bisection are included as well. Specifically, the user can bisect the function using or absolute width bisection. For the included implicit bounding routines, the user can specify that the first nx dimensions are always ignored.

set_Bisect_Func!(x::BnBSolver,BF::String,nx::Int64)

Sets the bisection function to BF = "relative midpoint" or BF = "absolute midpoint" and disregards the first nx components of the interval box storage.

source

Setting the level of output

Currently, the branch and bound solver supports three levels of output: "None", "Normal", and "Full". The "Normal" level of output shows all iteration statistics and the final solution on termination. The "Full" level of output shows addition information about the "Node" being processed and the lower/upper bounding problems being solved.

set_Verbosity!(x::BnBSolver,VB::String)

Sets the verbosity (console output) to either "None", "Normal", or "Full".

source

Returning the solver to default settings.

set_to_default!(x::BnBSolver)

Returns the B&B solver to the default settings (does not include problems or processing routines).

source

Solving applying the Branch and Bound algorithm.

EAGO.solveBnB!Method.
solveBnB!(x::BnBSolver,y::BnBModel)

Solves the branch and bound problem with the input model and solver object.

source

Accessing info from solved model

getsolution(x::BnBModel)

Returns the solution stored in the BnBModel.

source
getobjval(x::BnBModel)

Returns the objective value stored in BnBModel (global upper bound).

source
getobjbound(x::BnBModel)

Returns the objective value stored in BnBModel (global upper bound).

source
getfeasibility(x::BnBModel)

Returns feasibility of problem (feasible point found?).

source
EAGO.LBDtimeMethod.
LBDtime(x::BnBModel)

Returns time spent solving lower bounding problem.

source
EAGO.UBDtimeMethod.
UBDtime(x::BnBModel)

Returns time spent solving upper bounding problem.

source