Setting Solver Options

The majority of the basic solver settings are controlled via keyword inputs to the solver object. The EAGO_NLPSolver accepts the following options:

EAGO_NLPSolver

Main solver type for EAGO global optimization. Contains all options that are not modified over the course of the optimization problem. The fields are given below:

  • BnBSolver::BnBSolver: The BnB solver object that that is modified then passed to the solve function EAGOBranchBound. (Default = BnBSolver())

  • Implicit_Options::ImplicitSolver: Solver options for implicit bounding routines. (Default = ImplicitSolver())

  • LBD_func_relax::String: Relaxation type used in lower bounding problem. (Default = "NS-STD-OFF")

  • LBDsolvertype::String: Type of problem relaxation to use when solving lower problem. (Default = "LP")

  • UBDsolvertype::String: Type of problem relaxation to use when solving upper problem. (Default = "MPBNonlinear")

  • LP_solver: LP solver for use in contraction routines. (Default = ClpSolver())

  • abs_tol_LBD::Float64: Absolute tolerance spec for lower subproblem. (Default = 1E-5)

  • max_int_LBD::Int64: Maximum iterations for lower subproblem. (Default = 5E5)

  • UBD_full_depth: Depth below which problems are solved to feasilibity only (Default = 100)

  • abs_tol_UBD::Float64: Absolute tolerance spec for upper subproblem. (Default = 1E-5)

  • max_int_UBD::Int64: Maximum iterations for upper subproblem. (Default = 5E5)

  • STD_RR_depth::Int64: Depth in tree to perform standard range reduction until. (Default = 1E10)

  • probe_depth::Int64: Depth in tree to perform LP probing until. (Default = 3)

  • variable_depth::Int64: Depth in tree to OBBT until. (Default = 1E15)

  • dual_tol::Float64: Tolerance for recognizing a dual as on the bound. (Default = 1E-7)

  • DAG_depth::Int64: Depth in tree to run DAG constraint propagation. (Default = 1E3)

  • DAG_pass::Int64: Number of passes to run DAG constraint propagation. (Default = 3)

  • max_reduce_rept::Int64: Maximum number of times to repeat tightening. (Not used currently.)

  • tol_reduce_rept::Float64: Tolerance for repeating a node. (Not used currently.)

  • atol::Float64: Absolute tolerance for termination. (Default = 1E-4)

  • rtol::Float64: Relative tolerance for termination. (Default = 1E-4)

  • verbosity::String: Verbosity of solution routine passed to BnB solve. (Default = "Normal")

  • iter_limit::Int64: Iteration limit for branch and bound. (Default = "Normal")

  • node_limit::Int64: Node limit for branch and bound. (Default = "Normal")

  • UBDsolver: Default upper bounding solver

  • validated::Bool: Flag indicating the interval calculation should be correctly rounded.

source