Equality Constrained Predictor-Corrector

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

Bases: kona.algorithms.base_algorithm.OptimizationAlgorithm

A reduced-space Newton-Krylov algorithm for PDE-governed equality constrained optimization, globalized in a predictor-corrector homotopy path following framework.

This implementation is loosely based on the predictor-corrector method described by `Brown and Zingg<http://www.sciencedirect.com/science/article/pii/S0021999116301760>`_ for nonlinear computational fluid dynamics problems.

The homotopy map used in this algorithm is given as:

\[\begin{split}\\mathcal{H}(x, u) = \mu L(x, u) + (1 - \mu)\end{split}\]
rac{1}{2} left[
(x - x_0)^T(x - x_0) - (lambda - lambda_0)^T(lambda - lambda_0)

where \(x_0\) is the initial design point and \(\lambda_0\) is the initial Lagrange multipliers.

factor_matrices : bool
Boolean flag for matrix-based PDE solvers.
mu, inner_tol, step, nom_dcurv, nom_angl, max_factor, min_factor : float
Homotopy parameters.
scale, grad_scale, feas_scale : float
Optimality metric normalization factors.
hessian : ReducedKKTMatrix
Matrix object defining the KKT matrix-vector product.
precond : BaseHessian-like
Matrix object defining the approximation to the Hessian inverse.
krylov : FGMRES
Krylov solver object used to solve the system defined by the KKT matrix-vector product.
solve()[source]