Turi Create  4.0
Optimization Model Types And Config

Classes

struct  turi::optimization::_solver_return
 
struct  turi::optimization::_ls_return
 
class  turi::optimization::first_order_opt_interface
 
class  turi::optimization::second_order_opt_interface
 

Enumerations

enum  turi::optimization::OPTIMIZATION_STATUS {
  turi::optimization::OPTIMIZATION_STATUS::OPT_UNSET = 0, turi::optimization::OPTIMIZATION_STATUS::OPT_LOADED = 1, turi::optimization::OPTIMIZATION_STATUS::OPT_OPTIMAL = 2, turi::optimization::OPTIMIZATION_STATUS::OPT_ITERATION_LIMIT = 3,
  turi::optimization::OPTIMIZATION_STATUS::OPT_TIME_LIMIT = 4, turi::optimization::OPTIMIZATION_STATUS::OPT_INTERRUPTED = 5, turi::optimization::OPTIMIZATION_STATUS::OPT_NUMERIC_ERROR = 6, turi::optimization::OPTIMIZATION_STATUS::OPT_NUMERIC_OVERFLOW = 7,
  turi::optimization::OPTIMIZATION_STATUS::OPT_LS_FAILURE = 8, turi::optimization::OPTIMIZATION_STATUS::OPT_IN_PROGRESS = 9
}
 Optimization status. More...
 

Variables

const std::map< std::string, flexible_typeturi::optimization::default_solver_options
 Solver options type is a map from string to flexible_type.
 
const std::map< std::string, flex_type_enumturi::optimization::default_solver_option_types
 Types of the solver options.
 
const double turi::optimization::OPTIMIZATION_INFTY = 1.0e20
 Optimization method infinity.
 
const double turi::optimization::OPTIMIZATION_ZERO = 1.0e-10
 Optimization method zero.
 
const double turi::optimization::LS_INFTY = 1.0e20
 No steps that are too large.
 
const double turi::optimization::LS_ZERO = 1.0e-9
 Smallest allowable step length.
 
const double turi::optimization::LS_C1 = 1.0e-4
 Line search sufficient decrease parameters.
 
const double turi::optimization::LS_C2 = 0.7
 Line search curvature approximation.
 
const int turi::optimization::LS_MAX_ITER = 20
 Num func evals before a failed line search.
 
const double turi::optimization::LS_SAFE_GUARD = 5.0e-2
 Safe guarding tolerance for line search.
 
const double turi::optimization::LS_MAX_STEP_SIZE = 25.0
 Max allowable step size.
 
const double turi::optimization::FINITE_DIFFERENCE_EPSILON = 1e-5
 Finite difference parameters (required for gradient checking)
 

Detailed Description

Enumeration Type Documentation

◆ OPTIMIZATION_STATUS

Optimization status.

Enumerator
OPT_UNSET 

Optimizer wasn't called.

OPT_LOADED 

Model was loaded but the solution was not found.

OPT_OPTIMAL 

Optimal solution found.

OPT_ITERATION_LIMIT 

Iteration limit reached.

OPT_TIME_LIMIT 

Time limit reached.

OPT_INTERRUPTED 

Optimization terminated by user.

OPT_NUMERIC_ERROR 

Numerical underflow (not enough progress).

OPT_NUMERIC_OVERFLOW 

Numerical overflow. Step size parameter may be too large.

OPT_LS_FAILURE 

Line search iteration limit hit.

OPT_IN_PROGRESS 

Doing fine, hasn't completed yet.

Definition at line 62 of file optimization_interface.hpp.