Equality Constrained FLECS-based RSNK

class kona.algorithms.ConstrainedRSNK(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 equality constrained problems, globalized with a trust-region approach.

This algorithm uses a 2nd order adjoint formulation of the KKT matrix-vector product, in conjunction with a novel Krylov-method called `FLECS<http://dx.doi.org/10.1137/140994496>`_ for non-convex saddle point problems.

More information on this reduced-space Newton-Krylov appoach can be found in this paper.

Variables:
  • feas_norm0, kkt_norm0 (grad_norm0,) – Initial optimality norms.
  • iter (int) – Optimization iteration counter.
  • factor_matrices (bool) – Boolean flag for matrix-based PDE solvers.
  • min_radius, max_radius (radius,) – Trust radius parameters.
  • mu_init, mu_max, mu_pow, eta (mu,) – Augmented Lagrangian constraint factor parameters.
  • grad_scale, feas_scale (scale,) – Optimality metric normalization factors.
  • KKT_matrix (ReducedKKTVector) – Matrix object defining the KKT matrix-vector product.
  • precond (BaseHessian-like) – Matrix object defining the preconditioner to the KKT system.
  • krylov (FLECS) – A krylov solver object used to solve the system defined by this matrix.
  • globalization (string) – Flag to determine solution globalization type.
filter_step(X, state, P, kkt_rhs, kkt_work, state_work, dual_work)[source]
solve()[source]
trust_step(X, state, adjoint, P, kkt_rhs, state_work, dual_work, kkt_work, kkt_save)[source]