18 #ifndef dakota_application_h
19 #define dakota_application_h
24 #include <deal.II/base/parameter_handler.h>
38 #include <ParallelLibrary.hpp>
39 #include <ProblemDescDB.hpp>
40 #include <DakotaStrategy.hpp>
41 #include <DakotaModel.hpp>
42 #include <DirectApplicInterface.hpp>
84 std::string parameter_file);
99 void assign_interface(Dakota::DirectApplicInterface* optimization_interface);
180 void write_method(std::stringstream& inputss, std::string& method_id, std::string method_name, std::string
model_ptr);
184 void write_responses(std::stringstream& inputss,
int id, std::string method_name);
197 <<
"A " << arg1 <<
" with name \"" << arg2 <<
"\" is not stored in available FCST design variables. Please define the variable in DakotaApplication class and in set_parameters in the appropriate class");
unsigned int n_nl_con
Number of non-linear constraints.
Definition: dakota_application.h:288
double convergence_tol
Optimization convergence tolerance.
Definition: dakota_application.h:383
std::string input_file
Name of the analysis input file.
Definition: dakota_application.h:318
double constraint_tol
Optimization constraint tolerance.
Definition: dakota_application.h:387
Dakota::RealVector vars_results()
Function retrieves and returns the final optimum design variables.
std::vector< double > eval_max
Hybrid Optimization method specific function evaluation maximums.
Definition: dakota_application.h:423
unsigned int n_con
Total number of constraints = n_nl_con + n_eq_con.
Definition: dakota_application.h:296
double num_offspring
JEGA - Number of Offspring and Parent.
Definition: dakota_application.h:637
double x_conv_tol
NL2SOL Parameter convergence tolerance.
Definition: dakota_application.h:459
double threshold_delta
Definition: dakota_application.h:567
void write_variables(std::stringstream &inputss, int id)
Member function to write Dakota input file based on specified variables.
unsigned int n_obj
Number of objective functions.
Definition: dakota_application.h:284
std::string merit_function
OPT++ merit function.
Definition: dakota_application.h:447
int rand_pareto_weights
Number of random weights for generating objective function pareto set.
Definition: dakota_application.h:391
std::string n_gradient_type
Numerical Gradients type for Dakota optimization.
Definition: dakota_application.h:227
std::vector< std::string > model_ptr
Hybrid Optimization model string identifiers.
Definition: dakota_application.h:415
double num_parents
Definition: dakota_application.h:638
Dakota::RealVector step_design_var
Dakota vector of design variable step sizes for numerical gradients.
Definition: dakota_application.h:514
std::vector< int > part_design_var
Parameter Study Partition vector Set number of partitions for multidim_parameter_study NOTE: Evaluate...
Definition: dakota_application.h:435
std::string replacement_type_moga
Definition: dakota_application.h:624
std::vector< double > iter_max
Hybrid Optimization method specific iteration maximums.
Definition: dakota_application.h:427
std::string mutation_type
Optimization - OPT++ Search method .
Definition: dakota_application.h:610
std::string optimization_method
Optimization Method - OPT++, NL2SOL, multidim_parameter_study, etc.
Definition: dakota_application.h:357
bool use_dakota_input_file
Flag to use an input file from Dakota Specify interface, method, and strategy options, number of variables, number of responses/constrants.
Definition: dakota_application.h:337
std::vector< std::string > hybrid_opt_method
Hybrid Optimization method names.
Definition: dakota_application.h:407
std::vector< std::string > method_list
Hybrid Optimization method string identifiers.
Definition: dakota_application.h:411
int max_iter
Maximum number of optimization iterations.
Definition: dakota_application.h:375
void assign_interface(Dakota::DirectApplicInterface *optimization_interface)
Assign the direct interface to the simulation code which is of type Dakota::DirectApplicInterface.
double false_conv_tol
NL2SOL Parameter false convergence tolerance.
Definition: dakota_application.h:463
unsigned int n_eq_con
Number of equality constraints.
Definition: dakota_application.h:292
double volume_boxsize_limit
NCSU parameter.
Definition: dakota_application.h:484
void write_method(std::stringstream &inputss, std::string &method_id, std::string method_name, std::string model_ptr)
Member function to write Dakota input file based on method selection.
void synchronize_variables(unsigned int &n_dvar, unsigned int &n_resp, std::vector< std::string > &name_design_var, std::vector< std::string > &name_responses)
This function is used to remotely axcess the number and name of design_variables, number and name of ...
void declare_parameters(ParameterHandler ¶m)
Declare all parameters that are needed for optimization.
unsigned int n_resp
Number of responses = n_obj + n_con.
Definition: dakota_application.h:300
std::vector< std::string > all_name_design_var
Member that stores the name of all possible design variables that have been defined in FCST...
Definition: dakota_application.h:308
void run()
This function will first lock the problem_db preventing anychanges to the data.
int rand_start_points
Number of random weights for generating objective function pareto set.
Definition: dakota_application.h:395
Dakota::RealVector eq_constraint
Dakota vector of equality constraints.
Definition: dakota_application.h:526
DakotaApplication(boost::shared_ptr< Dakota::ProblemDescDB > global_problem_db, std::string parameter_file)
Constructor for an object of this class.
Dakota::RealVector resp_results()
Function retrieves and returns the optimum response values.
std::string crossover_type
JEGA - crossover_type.
Definition: dakota_application.h:614
Dakota::RealVector lb_nl_constraint
Dakota vector of nonlinear constraint lower bounds.
Definition: dakota_application.h:518
bool NLS_flag
Nonlinear Least-Squares Parameter Estimation Flag.
Definition: dakota_application.h:361
double contraction_factor
Definition: dakota_application.h:568
double abs_conv_tol
NL2SOL absolute convergence tolerance.
Definition: dakota_application.h:455
boost::shared_ptr< Dakota::ProblemDescDB > problem_db
Pointer to the problem description data base.
Definition: dakota_application.h:322
bool n_gradients
Numerical Gradients option for Dakota optimization.
Definition: dakota_application.h:210
Dakota::StringArray scale_types
Dakota vector of design variable scale methods.
Definition: dakota_application.h:510
std::string dakota_version
Dakota version used.
Definition: dakota_application.h:328
void manage_inputs(ParameterHandler ¶m)
Declares & Initializes all parameters, creates Dakota input file.
void write_multi_start_dakota_input_file()
Write Dakota input file for multi-start optimization strategy.
void write_single_method_dakota_input_file()
Write Dakota input file for single optimization strategy.
double centering_param
Centering parameter for the opt++ strategy.
Definition: dakota_application.h:541
std::string dakota_input
Name of the Dakota input file.
Definition: dakota_application.h:341
double final_solutions
NCSU parameter.
Definition: dakota_application.h:476
int m_data_points
NL2SOL Parameter storing the number of terms.
Definition: dakota_application.h:467
double trust_rad
NL2SOL initial trust radius.
Definition: dakota_application.h:451
double solution_target
NCSU parameter.
Definition: dakota_application.h:472
std::vector< std::string > name_responses
Member that stores the name of the responses, i.e.
Definition: dakota_application.h:313
Dakota::StringArray dakota_name_design_var
Dakota array of design variable names.
Definition: dakota_application.h:490
double step_to_boundary
OPT++ steplength.
Definition: dakota_application.h:439
Dakota::RealVector ub_nl_constraint
Dakota vector of nonlinear constraint upper bounds.
Definition: dakota_application.h:522
void write_responses(std::stringstream &inputss, int id, std::string method_name)
Member function to write Dakota input file based on specified response variables. ...
double min_boxsize_limit
NCSU parameter.
Definition: dakota_application.h:480
void write_pareto_dakota_input_file()
Write Dakota input file for pareto optimization strategy.
Dakota::Strategy selected_strategy
DAKOTA strategy.
Definition: dakota_application.h:536
bool a_gradients
Analytical Gradients option for Dakota optimization.
Definition: dakota_application.h:202
Dakota::RealVector lb_design_var
Dakota vector of design variable lower bounds.
Definition: dakota_application.h:498
std::string convergence_type_moga
Definition: dakota_application.h:633
This class is used to interface with DAKOTA as an algorithm library.
Definition: dakota_application.h:76
int n_hybrid_methods
Number of Hybrid Optimization methods.
Definition: dakota_application.h:403
std::string replacement_type
JEGA - replacement_type.
Definition: dakota_application.h:623
Dakota::RealVector ip_design_var
Dakota vector of design variable initial points.
Definition: dakota_application.h:494
bool use_NLS()
Get boolean NLS flag.
Definition: dakota_application.h:129
double initial_delta
Optimization SCOLIB (COLINY) - COBYLA (Constrained Optimization By Linear Appoximations) [coliny_coby...
Definition: dakota_application.h:566
unsigned int n_dvar
Number of design variables.
Definition: dakota_application.h:280
std::string convergence_type
JEGA - convergence_type.
Definition: dakota_application.h:632
double grad_tol
OPT++ gradient tolerance.
Definition: dakota_application.h:443
std::vector< std::string > name_design_var
Member that stores the name of the design variables.
Definition: dakota_application.h:304
std::string fitness_type
JEGA - fitness_type.
Definition: dakota_application.h:618
Dakota::RealVector scale_design_var
Dakota vector of design variable scales.
Definition: dakota_application.h:506
std::string NLS_data_file
Experimental data file for NLS parameter estimation - Operating Conditions & output.
Definition: dakota_application.h:371
int max_f_eval
Maximum number of optimization function evaluations.
Definition: dakota_application.h:379
Dakota::RealVector ub_design_var
Dakota vector of design variable upper bounds.
Definition: dakota_application.h:502
void initialize(ParameterHandler ¶m)
Read in parameters for the parameter handler in order to initialize data.These parameters are read in...
std::string initialization_type
JEGA - initialization_type.
Definition: dakota_application.h:628
DeclException2(DesignVariableNotFoundInFCSTDesignVariables, std::string, std::string,<< "A "<< arg1<< " with name \""<< arg2<< "\" is not stored in available FCST design variables. Please define the variable in DakotaApplication class and in set_parameters in the appropriate class")
Exception thrown when a user defined design variables is not found among available FCST design variab...
bool scaling
Used to activate scaling.
Definition: dakota_application.h:367
std::string optimization_strategy
Optimization Strategy - Single, Pareto, Multi start point, Hybrid.
Definition: dakota_application.h:349
void write_hybrid_dakota_input_file()
Write Dakota input file for hybrid optimization strategy.
std::string fitness_type_moga
Definition: dakota_application.h:619
std::vector< double > tol
Hybrid Optimization method specific tolerances.
Definition: dakota_application.h:419
std::string hybrid_strategy
Hybrid Optimization strategy - sequential, etc.
Definition: dakota_application.h:399
bool hessians
Analytical Hessian Option for Dakota optimization.
Definition: dakota_application.h:231