Doxygen 1.15.0
Toolkit for Adaptive Stochastic Modeling and Non-Intrusive ApproximatioN: Tasmanian v8.2
Loading...
Searching...
No Matches
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.
using ObjectiveFunction = std::function<void(const std::vector<double> &x_batch, std::vector<double> &fval_batch)>
 Generic batched objective function signature.
using GradientFunctionSingle = std::function<void(const std::vector<double> &x_single, std::vector<double> &grad)>
 Generic non-batched gradient function signature.
using ProjectionFunctionSingle = std::function<void(const std::vector<double> &x_single, std::vector<double> &proj)>
 Generic non-batched projection function signature.

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.
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.
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.
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.
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.
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.