Utilities
This section contain some utility function
Bonobo.terminated
— MethodChecks if the branch and bound can be stopped. By default (in Bonobo) stops then the priority queue is empty.
Boscia.build_active_set_by_domain_oracle
— MethodBuild a new start point and active set in case the split active set does not lead to a domain feasible iterate. First, try filtering the active set by the domain oracle. If all vertices are domain infeasible, solve the projection problem 1/2 * ||x - x||_2^2 where x is a domain- and bound-feasible point provided by the user.
Boscia.check_feasibility
— MethodCheck feasibility and boundedness
Boscia.has_integer_constraint
— MethodCheck if at a given index we have an integer constraint respectivily.
Boscia.is_bound_feasible
— MethodCheck if a given point v satisfies the given bounds.
Boscia.is_valid_split
— MethodCheck wether a split is valid.
Boscia.min_via_enum
— FunctionNaive optimization by enumeration. Default uses binary values. Otherwise, third argument should be a vector of n sets of possible values for the variables.
Boscia.relative_gap
— MethodCompute relative gap consistently everywhere
Boscia.restart_active_set
— MethodCall this if the active set is empty after splitting. Remark: This should not happen when using a MIP solver for the nodes!
Boscia.split_vertices_set!
— MethodSplit an active set between left and right children.
Boscia.split_vertices_set!
— MethodSplit a discarded vertices set between left and right children.
Boscia.trivial_build_dicg_start_point
— MethodDefault starting point function which generates a random vertex