Doxygen 1.9.1
Toolkit for Adaptive Stochastic Modeling and Non-Intrusive ApproximatioN: Tasmanian v8.2 (development)
TasOptimization Namespace Reference

Encapsulates the Tasmanian Optimization module. More...

Classes

class  ParticleSwarmState
 Stores the information about a particle swarm. More...
 
class  GradientDescentState
 Stores the information about a gradient descent run. More...
 
struct  OptimizationStatus
 

Typedefs

using ObjectiveFunctionSingle = std::function< double(const std::vector< double > &x)>
 Generic non-batched objective function signature. More...
 
using ObjectiveFunction = std::function< void(const std::vector< double > &x_batch, std::vector< double > &fval_batch)>
 Generic batched objective function signature. More...
 
using GradientFunctionSingle = std::function< void(const std::vector< double > &x_single, std::vector< double > &grad)>
 Generic non-batched gradient function signature. More...
 
using ProjectionFunctionSingle = std::function< void(const std::vector< double > &x_single, std::vector< double > &proj)>
 Generic non-batched projection function signature. More...
 

Functions

void ParticleSwarm (const ObjectiveFunction f, const TasDREAM::DreamDomain inside, const double inertia_weight, const double cognitive_coeff, const double social_coeff, const int num_iterations, ParticleSwarmState &state, const std::function< double(void)> get_random01=TasDREAM::tsgCoreUniform01)
 Applies the classic particle swarm algorithm to a particle swarm state. More...
 
OptimizationStatus GradientDescent (const GradientFunctionSingle &grad, const double stepsize, const int max_iterations, const double tolerance, std::vector< double > &state)
 Applies the constant step-size gradient descent algorithm for functions with unbounded domains. More...
 
OptimizationStatus GradientDescent (const ObjectiveFunctionSingle &func, const GradientFunctionSingle &grad, const double increase_coeff, const double decrease_coeff, const int max_iterations, const double tolerance, GradientDescentState &state)
 Applies the adaptive gradient descent algorithm on unrestricted domain. More...
 
OptimizationStatus GradientDescent (const ObjectiveFunctionSingle &func, const GradientFunctionSingle &grad, const ProjectionFunctionSingle &proj, const double increase_coeff, const double decrease_coeff, const int max_iterations, const double tolerance, GradientDescentState &state)
 Applies the adaptive gradient descent algorithm on a restricted domain. More...
 
void checkVarSize (const std::string method_name, const std::string var_name, const int var_size, const int exp_size)
 
ObjectiveFunction makeObjectiveFunction (const int num_dimensions, const ObjectiveFunctionSingle f_single)
 Creates a TasOptimization::ObjectiveFunction object from a TasOptimization::ObjectiveFunctionSingle object. More...
 
void identity (const std::vector< double > &x, std::vector< double > &y)
 Generic identity projection function.
 
double computeStationarityResidual (const std::vector< double > &x, const std::vector< double > &x0, const std::vector< double > &gx, const std::vector< double > &gx0, const double lambda)
 

Detailed Description

Encapsulates the Tasmanian Optimization module.