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