Package de.labathome.trustconstr
Class EqualityConstrainedSQP
java.lang.Object
de.labathome.trustconstr.EqualityConstrainedSQP
Byrd-Omojokun Trust-Region SQP method
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final LinearOperatordefaultScaling(long n) Default scaling: returns then x nidentity, i.e. an unscaled SQP step.static StatefulResulteqSQP(IFunctionAndConstraint funAndConstr, IGradientAndJacobian gradAndJac, LagrangeHessian lagrHess, Matrix x0, double fun0, Matrix grad0, Matrix constr0, Matrix jac0, StoppingCriterion stopCrit, State state, double initialPenalty, double initialTrustRadius, ProjectionMethod factorizationMethod, Matrix trustLb, Matrix trustUb, LinearOperator scaling) Solve a nonlinear equality-constrained problem using trust-region SQP.
-
Constructor Details
-
EqualityConstrainedSQP
public EqualityConstrainedSQP()
-
-
Method Details
-
defaultScaling
Default scaling: returns then x nidentity, i.e. an unscaled SQP step. Mirrors scipy'sdefault_scaling, which returnsscipy.sparse.eye(n).- Parameters:
n- number of decision variables- Returns:
- a
LinearOperatorthat ignores its input and returns the identity
-
eqSQP
public static StatefulResult eqSQP(IFunctionAndConstraint funAndConstr, IGradientAndJacobian gradAndJac, LagrangeHessian lagrHess, Matrix x0, double fun0, Matrix grad0, Matrix constr0, Matrix jac0, StoppingCriterion stopCrit, State state, double initialPenalty, double initialTrustRadius, ProjectionMethod factorizationMethod, Matrix trustLb, Matrix trustUb, LinearOperator scaling) Solve a nonlinear equality-constrained problem using trust-region SQP.Minimizes
minimize fun(x) subject to constr(x) = 0
using the Byrd-Omojokun trust-region SQP method (Lalee, Nocedal, Plantenga, 1998). Implementation details follow Byrd-Hribar-Nocedal (1999) and Nocedal & Wright, Numerical Optimization, 2nd ed. (2006), p.549.- Parameters:
funAndConstr- combined evaluator returning(f(x), constr(x))gradAndJac- combined evaluator returning(gradf(x), gradconstr(x))lagrHess- Hessian-of-Lagrangian(x, v) -> grad^2L(x, v)x0- starting iterate (n x 1)fun0-fun(x0)grad0-grad(x0)constr0-constr(x0)(m x 1)jac0- constraint Jacobian atx0(m x n)stopCrit- termination predicate, queried each outer iterationstate- mutable iteration state to thread through and returninitialPenalty- initial constraint penalty for the merit functioninitialTrustRadius- initial trust-region radiusfactorizationMethod- projection-Jacobian factorization method (AUGMENTED_SYSTEM/QR_FACTORIZATION/SVD_FACTORIZATION)trustLb- element-wise lower bounds on the SQP steptrustUb- element-wise upper bounds on the SQP stepscaling- diagonal-scaling operator for the trust-region step (defaultScaling(long)for the identity)- Returns:
- populated
StatefulResult
-