.. _method-rol: """ rol """ Rapid Optimization Library (ROL) is a large-scale optimization package within Trilinos. **Topics** local_optimization_methods .. toctree:: :hidden: :maxdepth: 1 method-rol-max_iterations method-rol-variable_tolerance method-rol-gradient_tolerance method-rol-constraint_tolerance method-rol-options_file method-rol-scaling method-rol-model_pointer **Specification** - *Alias:* None - *Arguments:* None **Child Keywords:** +-------------------------+--------------------+--------------------------+---------------------------------------------+ | Required/Optional | Description of | Dakota Keyword | Dakota Keyword Description | | | Group | | | +=========================+====================+==========================+=============================================+ | Optional | `max_iterations`__ | Number of iterations allowed for optimizers | | | | and adaptive UQ methods | +----------------------------------------------+--------------------------+---------------------------------------------+ | Optional | `variable_tolerance`__ | Step length-based stopping criteria for | | | | derivative-free optimizers | +----------------------------------------------+--------------------------+---------------------------------------------+ | Optional | `gradient_tolerance`__ | Stopping critiera based on L2 norm of | | | | gradient | +----------------------------------------------+--------------------------+---------------------------------------------+ | Optional | `constraint_tolerance`__ | Maximum allowable constraint violation | | | | still considered feasible | +----------------------------------------------+--------------------------+---------------------------------------------+ | Optional | `options_file`__ | File containing advanced ROL options | +----------------------------------------------+--------------------------+---------------------------------------------+ | Optional | `scaling`__ | Turn on scaling for variables, responses, | | | | and constraints | +----------------------------------------------+--------------------------+---------------------------------------------+ | Optional | `model_pointer`__ | Identifier for model block to be used by a | | | | method | +----------------------------------------------+--------------------------+---------------------------------------------+ .. __: method-rol-max_iterations.html __ method-rol-variable_tolerance.html __ method-rol-gradient_tolerance.html __ method-rol-constraint_tolerance.html __ method-rol-options_file.html __ method-rol-scaling.html __ method-rol-model_pointer.html **Description** ROL is used for the solution of optimal design, optimal control and inverse problems in large-scale engineering applications. *Usage Tips* ROL is a general gradient-based library designed to scale well to very large problem sizes. For large problem sizes (i.e. number of variables), ROL’s trust region method and conjugate gradient methods exhibit good scalability for unconstrained problems. ROL handles equality constraints natively but converts inequality constraints into equality constraints with bounded slack variables. This has might degrade convergence for problems involving large number of inequality constraints. ROL has traditionally been applied to problems with analytic gradients (and Hessians)but can can be used with Dakota-provided finite-differencing approximations to the gradient of both objective and constraints. However, a user employing these is advised to use alternative optimizers such as DOT until performance of ROL improves in future releases. *Expected HDF5 Output* If Dakota was built with HDF5 support and run with the :dakkw:`environment-results_output-hdf5` keyword, this method writes the following results to HDF5: - :ref:`hdf5_results-best_params` - :ref:`hdf5_results-best_obj_fncs` (when :dakkw:`responses-objective_functions`) are specified) - :ref:`hdf5_results-calibration` (when :dakkw:`responses-calibration_terms` are specified)