OptimizationReporter
Computes objective function, gradient and contains reporters for communicating between optimizeSolve and subapps
Overview
The OptimizationReporter
sets up a reporter used for communicating data between the optimization executioner and the transfers to the sub-app forward and adjoint solves. Only one OptimizationReporter
is allowed per main-app.
Example Input File Syntax
There is one required parameter in the OptimizationReporter
specified in Listing 1 used to define the design parameters. "parameter_names", defines a vector of names for each group of design parameters. Depending on the which OptimizationReporter
used, the number of values per parameter will need to be defined by "num_values" or by a reporter "num_values_name" that holds those values. Both of these will be a vector containing the number of design parameters in each group named in parameter_names
. Optional parameters bounds can be placed on each parameter group using "lower_bounds" and "upper_bounds".
Listing 1:
[OptimizationReporter]
type = GeneralOptimization
objective_name = objective_value
parameter_names = 'parameter_results'
num_values = '3'
[]
(modules/optimization/test/tests/optimizationreporter/point_loads/main.i)Available Objects
- Optimization App
- GeneralOptimizationReporter that provides TAO with the objective, gradient, and constraint data, which are supplied by the reporters and postprocessors from the forward and adjoint subapps.
- OptimizationReporterComputes objective function, gradient and contains reporters for communicating between optimizeSolve and subapps
- ParameterMeshOptimizationComputes objective function, gradient and contains reporters for communicating between optimizeSolve and subapps using mesh-based parameter definition.
Available Actions
- Optimization App
- AddOptimizationReporterActionAdds OptimizationReporter objects for optimization routines.