ZonoOpt v2.0.1
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
ZonoOpt::OptSettings Struct Reference

Settings for optimization routines in ZonoOpt library. More...

#include <SolverDataStructures.hpp>

Public Member Functions

bool settings_valid () const
 Checks whether settings struct is valid.
 
std::string print () const
 displays settings as string
 

Public Attributes

bool verbose = false
 display optimization progress
 
int verbosity_interval = 100
 print every verbose_interval iterations
 
double t_max = std::numeric_limits<double>::max()
 max time for optimization
 
int k_max_admm = 5000
 max admm iterations
 
zono_float rho = static_cast<zono_float>(10.0)
 admm penalty parameter, higher prioritizes feasibility during iterations, lower prioritizes optimality
 
zono_float eps_dual = static_cast<zono_float>(1e-2)
 dual convergence tolerance
 
zono_float eps_prim = static_cast<zono_float>(1e-3)
 primal convergence tolerance
 
int k_inf_check = 10
 check infeasibility every k_inf_check iterations
 
bool inf_norm_conv = true
 use infinity norm for convergence check (if false, scaled 2-norm is used)
 
bool use_interval_contractor = true
 flag to use interval contractor for constraint tightening / implication
 
int contractor_iter = 1
 number of interval contractor iterations
 
int search_mode = 0
 0: best first, 1: best dive
 
bool polish = true
 flag to perform solution polishing
 
zono_float eps_dual_search = static_cast<zono_float>(1e-1)
 dual residual convergence tolerance during branch and bound and search
 
zono_float eps_prim_search = static_cast<zono_float>(1e-2)
 primal residual convergence tolerance during branch and bound and search
 
zono_float eps_r = static_cast<zono_float>(1e-2)
 relative convergence tolerance
 
zono_float eps_a = static_cast<zono_float>(1e-1)
 absolute convergence tolerance
 
int k_max_bnb = static_cast<int>(1e5)
 max number of branch-and-bound iterations
 
int n_threads_bnb = 4
 max threads for branch and bound
 
int max_nodes = static_cast<int>(1e5)
 terminate if more than this many nodes are in branch and bound queue
 
int contractor_tree_search_depth = 10
 when applying interval contractor in branch and bound, this is how deep to search the constraint tree for affected variables
 

Detailed Description

Settings for optimization routines in ZonoOpt library.

Member Function Documentation

◆ print()

std::string ZonoOpt::OptSettings::print ( ) const
inline

displays settings as string

Returns
string

◆ settings_valid()

bool ZonoOpt::OptSettings::settings_valid ( ) const
inline

Checks whether settings struct is valid.

Returns
validity boolean

Member Data Documentation

◆ contractor_iter

int ZonoOpt::OptSettings::contractor_iter = 1

number of interval contractor iterations

◆ contractor_tree_search_depth

int ZonoOpt::OptSettings::contractor_tree_search_depth = 10

when applying interval contractor in branch and bound, this is how deep to search the constraint tree for affected variables

◆ eps_a

zono_float ZonoOpt::OptSettings::eps_a = static_cast<zono_float>(1e-1)

absolute convergence tolerance

◆ eps_dual

zono_float ZonoOpt::OptSettings::eps_dual = static_cast<zono_float>(1e-2)

dual convergence tolerance

◆ eps_dual_search

zono_float ZonoOpt::OptSettings::eps_dual_search = static_cast<zono_float>(1e-1)

dual residual convergence tolerance during branch and bound and search

◆ eps_prim

zono_float ZonoOpt::OptSettings::eps_prim = static_cast<zono_float>(1e-3)

primal convergence tolerance

◆ eps_prim_search

zono_float ZonoOpt::OptSettings::eps_prim_search = static_cast<zono_float>(1e-2)

primal residual convergence tolerance during branch and bound and search

◆ eps_r

zono_float ZonoOpt::OptSettings::eps_r = static_cast<zono_float>(1e-2)

relative convergence tolerance

◆ inf_norm_conv

bool ZonoOpt::OptSettings::inf_norm_conv = true

use infinity norm for convergence check (if false, scaled 2-norm is used)

◆ k_inf_check

int ZonoOpt::OptSettings::k_inf_check = 10

check infeasibility every k_inf_check iterations

◆ k_max_admm

int ZonoOpt::OptSettings::k_max_admm = 5000

max admm iterations

◆ k_max_bnb

int ZonoOpt::OptSettings::k_max_bnb = static_cast<int>(1e5)

max number of branch-and-bound iterations

◆ max_nodes

int ZonoOpt::OptSettings::max_nodes = static_cast<int>(1e5)

terminate if more than this many nodes are in branch and bound queue

◆ n_threads_bnb

int ZonoOpt::OptSettings::n_threads_bnb = 4

max threads for branch and bound

◆ polish

bool ZonoOpt::OptSettings::polish = true

flag to perform solution polishing

◆ rho

zono_float ZonoOpt::OptSettings::rho = static_cast<zono_float>(10.0)

admm penalty parameter, higher prioritizes feasibility during iterations, lower prioritizes optimality

◆ search_mode

int ZonoOpt::OptSettings::search_mode = 0

0: best first, 1: best dive

◆ t_max

double ZonoOpt::OptSettings::t_max = std::numeric_limits<double>::max()

max time for optimization

◆ use_interval_contractor

bool ZonoOpt::OptSettings::use_interval_contractor = true

flag to use interval contractor for constraint tightening / implication

◆ verbose

bool ZonoOpt::OptSettings::verbose = false

display optimization progress

◆ verbosity_interval

int ZonoOpt::OptSettings::verbosity_interval = 100

print every verbose_interval iterations


The documentation for this struct was generated from the following file: