Utilities
This section contain some utility function
Bonobo.terminated — Method
Checks 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 — Method
Build 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 — Method
Check feasibility and boundedness
Boscia.has_integer_constraint — Method
Check if at a given index we have an integer constraint respectivily.
Boscia.is_bound_feasible — Method
Check if a given point v satisfies the given bounds.
Boscia.is_valid_split — Method
Check wether a split is valid.
Boscia.min_via_enum — Function
Naive 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 — Method
Compute relative gap consistently everywhere
Boscia.restart_active_set — Method
Call 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! — Method
Split an active set between left and right children.
Boscia.split_vertices_set! — Method
Split a discarded vertices set between left and right children.
Boscia.trivial_build_dicg_start_point — Method
Default starting point function which generates a random vertex