Types

BnBModel

The BnBModel structure contains all information used over the course of the Branch and Bound.

EAGO.BnBModel — Type.
BnBModel

Stores attributes of stack used to solve BnB problem. Has the following fields:

  • Init_Box::Vector{Interval{Float64}}: stores initial interval box used

  • box::Vector{Vector{Interval{Float64}}} interval box storage stack

  • Init_Integer::Vector{Vector{Int64}} initial integer range

  • integers::Vector{Vector{Vector{Int64}}} integer range storage stack

  • LBD::Vector{Float64}: lower bounds associated with each stack item

  • UBD::Vector{Float64}: Upper bounds associated with each stack item

  • id::Vector{Int64}: Node ID for each stack item

  • pos::Vector{Int64}: Position in BnB Tree for each stack item

  • LBDg::Float64: Global Lower Bound

  • UBDg::Float64: Global Upper Bound

  • LBDg_hist::Vector{Float64}: Value history LBD problem

  • UBDg_hist::Vector{Float64}: Value history UBD problem

  • LBDgtime::Vector{Float64}: Run time history LBD problem

  • UBDgtime::Vector{Float64}: Run time history UBD problem

  • Pretime::Vector{Float64}: Run time history preprocessing

  • Posttime::Vector{Float64}: Run time history postprocessing

  • max_id::Int64: Max node used

  • pstar::Vector{Interval{Float64}}: IntervalBox with solution

  • soln::Vector{Float64}: Storage for solution

  • soln_val::Float64: Solution value found

  • first_fnd::Bool: Has a solution been found

  • feas_fnd::Bool: Has a feasible point been found

  • first_num::Int64: Iteration at which first solution found

  • lbcnt::Int64: number of lower bounding problems solved

  • ubcnt::Int64: number of upper bounding problems solved

source

As a default, the model constructor initializes with Vector{Interval{Float64}} storage type.

EAGO.BnBModel — Method.
BnBModel(X::Vector{Interval{Float64}})

Initializes a BnBModel with .Init_Box = X and .box = [X].

source

BnBSolver

The BnBSolver options regarding how to solve the problem and routines used in it's solution.

EAGO.BnBSolver — Type.
BnBSolver

Stores solver specific functions used to solve BnB problem. Has the following fields:

  • Lower_Prob::Any: Stores lower problem function (default = [])

  • Upper_Prob::Any: Stores upper problem function (default = [])

  • Preprocess::Any: Stores preprocessing function (default = [])

  • Postprocess::Any: Stores postprocessing function (default = [])

  • Term_Check::Any: Stores termination check function (default = 'Term_Check')

  • Branch_Sto::Any: Stores branching function (default = 'BM_depth_best!')

  • Node_Select::Any: Stores node selection function (default = 'NS_best')

  • Bisect_Func::Any: Stores branching function (default = 'Bisect_Rel')

  • Verbosity::String: Stores output selection (default = "Normal")

  • max_iter::Number: max number of iterations (default = "Inf")

  • iter_lim::Bool: determines if iteration limit is checked (default = false)

  • max_nodes::Int64: max number of nodes to store in memory (default = 1E6)

  • BnB_atol::Float64: absolute tolerance for BnB (default = 1E-4)

  • BnB_rtol::Float64: relative tolerance for BnB (default = 1E-4)

  • itr_intv::Int64: number of iterations to skip between printing iteration summary (default = 20)

  • hdr_intv::Int64: number of iterations to skip between printing header (default = 1)

  • converged::Any: convergence criterion (default = Conv_Check)

  • BnB_digits::Int64: digits displayed before decimal (default = 3)

  • hist_return::Bool: returns LBD, UBD array and time vector (default = false)

  • opt::Any: optional storage array (default = [])

  • exhaust::Bool: exhaustive search? (default = false)

  • target_upper::Float64: required upper bound (default = -Inf)

source

The default initialization for BnBSolver is given below:

EAGO.BnBSolver — Method.
BnBSolver()

Initializes solver with default parameters: best-first search, relative-width bisection, no iteration limit, 1E6 node limit, 1E-4 absolute and relative tolerances, no target upper bound for termination. No pre, or post processing nodes and no repetition.

source