occ
Loading...
Searching...
No Matches
occ::mults::TrustRegionSettings Struct Reference

Settings for Trust Region Newton optimization. More...

#include <trust_region.h>

Public Attributes

double initial_radius = 1.0
 Initial trust region radius.
 
double max_radius = 100.0
 Maximum trust region radius.
 
double eta1 = 0.25
 Accept if actual/predicted >= eta1.
 
double eta2 = 0.75
 Expand radius if actual/predicted >= eta2.
 
double gamma1 = 0.25
 Shrink factor when rejected.
 
double gamma2 = 2.0
 Expand factor when very good.
 
double gradient_tol = 1e-6
 Convergence: gradient norm.
 
double step_tol = 1e-8
 Convergence: step norm.
 
double energy_tol = 1e-10
 Convergence: energy change.
 
int max_iterations = 200
 Maximum iterations.
 
int max_cg_iterations = 50
 Max CG iterations for subproblem.
 
double cg_tol = 0.1
 CG relative tolerance.
 
bool use_diagonal_scaling = true
 Scale by diagonal of Hessian.
 
bool verbose = false
 Print iteration info.
 
int hessian_update_interval = 1
 Hessian update settings (for SR1 quasi-Newton updates between full recomputations)
 
double sr1_skip_tol = 1e-8
 Skip SR1 update if |s^T y| < tol * |s| * |y|.
 

Detailed Description

Settings for Trust Region Newton optimization.

Member Data Documentation

◆ cg_tol

double occ::mults::TrustRegionSettings::cg_tol = 0.1

CG relative tolerance.

◆ energy_tol

double occ::mults::TrustRegionSettings::energy_tol = 1e-10

Convergence: energy change.

◆ eta1

double occ::mults::TrustRegionSettings::eta1 = 0.25

Accept if actual/predicted >= eta1.

◆ eta2

double occ::mults::TrustRegionSettings::eta2 = 0.75

Expand radius if actual/predicted >= eta2.

◆ gamma1

double occ::mults::TrustRegionSettings::gamma1 = 0.25

Shrink factor when rejected.

◆ gamma2

double occ::mults::TrustRegionSettings::gamma2 = 2.0

Expand factor when very good.

◆ gradient_tol

double occ::mults::TrustRegionSettings::gradient_tol = 1e-6

Convergence: gradient norm.

◆ hessian_update_interval

int occ::mults::TrustRegionSettings::hessian_update_interval = 1

Hessian update settings (for SR1 quasi-Newton updates between full recomputations)

Recompute true Hessian every N iterations (1 = always)

◆ initial_radius

double occ::mults::TrustRegionSettings::initial_radius = 1.0

Initial trust region radius.

◆ max_cg_iterations

int occ::mults::TrustRegionSettings::max_cg_iterations = 50

Max CG iterations for subproblem.

◆ max_iterations

int occ::mults::TrustRegionSettings::max_iterations = 200

Maximum iterations.

◆ max_radius

double occ::mults::TrustRegionSettings::max_radius = 100.0

Maximum trust region radius.

◆ sr1_skip_tol

double occ::mults::TrustRegionSettings::sr1_skip_tol = 1e-8

Skip SR1 update if |s^T y| < tol * |s| * |y|.

◆ step_tol

double occ::mults::TrustRegionSettings::step_tol = 1e-8

Convergence: step norm.

◆ use_diagonal_scaling

bool occ::mults::TrustRegionSettings::use_diagonal_scaling = true

Scale by diagonal of Hessian.

◆ verbose

bool occ::mults::TrustRegionSettings::verbose = false

Print iteration info.


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