*
*
*
********************************

Rapid Optimization Library (ROL)

RELEASE TAG: Trilinos 12.8
------------
Released as part of Trilinos 12.8, September 2016.
(4th public release)


NEW FEATURES:
-------------

Methods:
  x  New phi-divergence capabilities for distributionally-robust optimization.
  x  NonlinearLeastSquaresObjective functionality enables the solution of
     nonlinear equations through the EqualityConstraint object.

Infrastructure:
  x  Composite bound constraint (ROL_BoundConstraint_Partitioned).
  x  Composite equality constraint (ROL_EqualityConstraint_Partitioned)
  x  Merit function for interior point methods.
  x  Adapter for Teuchos::SerialDenseVector.
  x  L1, Lp, Linf norms for interior point methods.
  x  Allow user-defined bracketing objects.
  x  Line searches can take user-defined scalar minimizers.
  x  Ability to supply ScalarMinimizationLineSearch with custom
     ScalarFunction.
  x  New application development and interface tools for PDE-constrained
     optimization in PDE-OPT.
  x  New PDE-OPT examples: stochastic Stefan-Boltzmann, stochastic
     advection-diffusion, etc.
  x  Adaptive sparse grid capabilities with TriKota.

BUG FIXES:
----------
  x  None.

********************************
*
*
*
********************************

Rapid Optimization Library (ROL)

RELEASE TAG: Trilinos 12.6
------------
Released as part of Trilinos 12.6, January 2016.
(3rd public release)


ENHANCEMENTS:
-------------
  x  Default template parameters for ROL::TpetraMultiVector.
  x  StdVector, TpetraMultiVector, and PartitionedVector now do
     dimensional compatibility checks.
  x  More unary and binary elementwise functions added.


NEW FEATURES:
-------------

Methods:
  x  InteriorPointStep class, and classes it uses (e.g. PenalizedObjective,
     InequalityConstraint, and CompositeConstraint) to solve Interior Point
     problems with the CompositeStep SQP solver with successive penalty
     reduction.
  x  Standalone GMRES solver in the Krylov directory.
  x  Mixed quantile risk measure.
  x  New risk measure corresponding to Kullback-Liebler based
     distributionally robust optimization.
  x  SROM SampleGenerator:  The associated samples are determined
     by solving an optimization problem.  Current objective functions
     correspond to moment matching and the squared L2 error between
     distribution functions.
  x  The PDE-OPT Application Development Kit (ADK) enables the rapid
     prototyping of large-scale risk-averse optimization problems with
     PDE constraints. The PDE-OPT ADK comprises three key modules:
       -- degree-of-freedom manager, which enables the use of an arbitrary
          number of simulation, control, and design fields based on finite
          element discretizations, on 1D, 2D and 3D meshes;
       -- finite element assembly loops and data structures that enable the
          development of a variety of multiphysics components, built on
          Intrepid for local finite element computations and Tpetra for
          parallel linear algebra data structures;
       -- interface between the physics module and the SimOpt programming
          interface.

Infrastructure:
  x  OptimizationProblem class unifies Algorithm::run interface.
  x  StochasticProblem allows for the construction of a general
     stochastic objective function based on input parameters.
  x  Generalized CVaRVector to RiskVector.  This allows for a very general
     treatment of risk-averse optimization problems.
  x  Risk measure factory.
  x  Default solve implementation for EqualityConstraint_SimOpt.
  x  BoundConstraint capability for Interior Point problems with and
     without Equality Constraints.


BUG FIXES:
----------
  x  None.

********************************
*
*
*
********************************

Rapid Optimization Library (ROL)

RELEASE TAG: Trilinos 12.4
------------
Released as part of Trilinos 12.4, October 2015.
(2nd public release)


ENHANCEMENTS:
-------------
  x  Hierarchical XML parameter lists.  This makes ROL easier to use and
     control.  Demonstrated in all examples and test.  Also created
     the tierParameterList function to generate a hierarchical list
     from a flat list, in rol/src/zoo/ROL_ParameterListConverters.hpp,
     demonstrated in rol/test/parameters.
  x  Algorithm constructor now takes reference-counted pointers to
     Step and StatusTest.  There is another constructor that takes a step 
     name (string) and a parameter list.  This makes it easier to initialize
     a ROL algorithm, based on default choices of steps and status tests.
  x  New elementwise functions in ROL::Vector allow application of general
     nonlinear unary and binary functions as well as reduce operations.
  x  Modified ROL::BoundConstraint to work with any vector type for which
     Vector::applyUnary, Vector::applyBinary, and Vector::reduce are
     implemented.
  x  Modified default behavior of line search so that when the maximum
     number of function evaluations is reached and sufficient decrease has
     not been attained, optimization terminates.  The previous behavior can
     be recovered by setting the parameter "Accept Last Alpha" to true in
     the Step->Line Search sublist.
  x  Added line search parameter "Accept Linesearch Minimizer" to the
     Step->Line Search sublist. If this parameter is selected to be true,
     the argmin step length will be used if the maximum number of function
     evaluations is reached without attaining sufficient decrease.
  x  Renamed CompositeStepSQP to CompositeStep.


NEW FEATURES:
-------------

Methods:
  x  Bundle Step, for solving nonsmooth problems; see example/minimax/*.
  x  Moreau-Yosida Penalty, for solving general NLPs; see
     example/burgers-control/example_04.
  x  Augmented Lagrangian, for solving general NLPs; see
     example/burgers-control/example_04.
  x  Higher Moment Coherent Risk Measure.  This method is a new risk measure
     for stochastic problems, see example/burgers-control/example_06.
  x  Buffered Probability of Exceedance.  This method is a new capability to
     minimize the probability of a stochastic cost function.  It is
     demonstrated in example/burgers-control/example_06.

Infrastructure:
  x  In ROL_ScaledStdVector.hpp, added a variant of ROL::StdVector that
     supports constant (positive) diagonal scalings in the dot product.  This
     variant comprises the pair of classes ROL::PrimalScaledStdVector and
     ROL::DualScaledStdVector; changed the examples in example/diode-circuit
     to use variable scalings through these new classes.
  x  Distribution Factory, to enable general sampling for stochastic problems;
     demonstrated in example/burgers-control/example_05 through _07.
  x  SROMSampler.  This method permits the use of optimization-based sampling
     for stochastic problem.  It is demonstrated in test/sol/test_04.
  x  ROL::PartitionedVector, for handling vectors of vectors, e.g., when using
     slack variables, see /rol/test/vector/test_04.cpp.


BUG FIXES:
----------
  x  Removed reset of counters for objective function and gradient evaluations
     contained in the AlgorithmState in rol/src/step/ROL_TrustRegionStep.hpp.

  x  Corrected reading of the constraint tolerance parameter in
     ROL::AugmentedLagrangianStep.

********************************
*
*
*
********************************

Rapid Optimization Library (ROL)

RELEASE TAG: Trilinos 12.2
------------
Released as part of Trilinos 12.2, July 2015.  This is the first publicly
announced release of ROL.


FEATURES:
---------

Rapid Optimization Library (ROL) is a C++ package for large-scale
optimization. It is used for the solution of optimal design, optimal control
and inverse problems in large-scale engineering applications. Other uses
include mesh optimization and image processing.

ROL aims to combine flexibility, efficiency and robustness.  Key features:

*** Matrix-free application programming interfaces (APIs) --enable direct use
    of application data structures and memory spaces, linear solvers,
    nonlinear solvers and preconditioners.
*** State-of-the-art algorithms for unconstrained optimization, constrained
    optimization and optimization under uncertainty --enable inexact and
    adaptive function evaluations and iterative linear system solves.
*** Special APIs for simulation-based optimization --enable a streamlined
    embedding into engineering applications, rigorous implementation
    verification and efficient use.
*** Modular interfaces throughout the optimization process --enable custom
    and user-defined algorithms, stopping criteria, hierarchies of algorithms,
    and selective use of a variety of tools and components.

For a detailed description of user interfaces and algorithms included in this
release, see the presentation ROL-Trilinos-12.2.pptx (or .pdf) in the
doc/presentations directory.


BUG FIXES:
----------
None (first release).

********************************
