Unconstrained STCG-based RSNK

class kona.algorithms.UnconstrainedRSNK(primal_factory, state_factory, eq_factory, ineq_factory, optns=None)[source]

Bases: kona.algorithms.base_algorithm.OptimizationAlgorithm

A reduced-space Newton-Krylov optimization algorithm for PDE-governed unconstrained problems.

This algorithm uses a 2nd order adjoint formulation to compute matrix-vector products with the Reduced Hessian.

The product is then used in a Krylov solver to compute a Newton step.

The step can be globalized using either line-search or trust-region methods. The Krylov solver changes based on the type of globalization selected by the user. Unglobalized problems are solved via FGMRES, while trust-region and line-search methods use Conjugate-Gradient.

Note

Insert inexact-Hessian paper reference here.

Variables:
  • factor_matrices (bool) – Boolean flag for matrix-based PDE solvers.
  • iter (int) – Optimization iteration counter.
  • hessian (ReducedHessian) – Matrix object defining the Hessian matrix-vector product.
  • precond (BaseHessian-like) – Matrix object defining the approximation to the Hessian inverse.
  • krylov (FGMRES or STCG) – A krylov solver object used to solve the system defined by the Hessian.
  • globalization (string) – Flag to determine which type of globalization to use.
  • max_radius (radius,) – Trust radius parameters.
  • line_search (BackTracking) – Back-tracking line search tool.
  • merit_func (ObjectiveMerit) – Simple objective as merit function.
solve()[source]