Reference

Contents

Index

MPCC.AbstractMPCCModelType

Base type for an optimization model with degenerate constraints.

min f(x)
l <= x <= u
lb <= c(x) <= ub
0 <= G(x) _|_ H(x) >= 0
source
MPCC.MPCCModelMetaType

A composite type that represents the main features of the optimization problem

optimize obj(x) subject to lvar ≤ x ≤ uvar lcon ≤ cons(x) ≤ ucon lcc ≤ G(x) | H(x) >= ucc

where x is an nvar-dimensional vector, obj is the real-valued objective function, cons is the vector-valued constraint function, optimize is either "minimize" or "maximize".

Here, lvar, uvar, lcon and ucon are vectors. Some of their components may be infinite to indicate that the corresponding bound or general constraint is not present.

source
MPCC.NLMPCCType

Convert an MPCCModel to an NLPModels as follows. Definit le type NLMPCC : min f(x) s.t. l <= x <= u lcon(tb) <= cnl(x) <= ucon

with

cnl(x) := c(x),G(x),H(x),G(x).*H(x)

source
MPCC.complementarity_constrainedMethod
complementarity_constrained(nlp)
complementarity_constrained(meta)

Returns whether the problem's constraints are all inequalities. Unconstrained problems return true.

source
MPCC.consG!Method
c = consG(nlp, x, c)

Evaluate the constraints of consG at x in place.

source
MPCC.consGMethod
c = consG(nlp, x, c)

Evaluate the constraints of consG at x.

source
MPCC.consG_lin!Function
c = consG_lin!(nlp, x, c)

Evaluate the linear constraints at x in place.

source
MPCC.consG_nln!Function
c = consG_nln!(nlp, x, c)

Evaluate the nonlinear constraints at x in place.

source
MPCC.consH!Method
c = consH(nlp, x, c)

Evaluate the constraints of consH at x in place.

source
MPCC.consHMethod
c = consH(nlp, x, c)

Evaluate the constraints of consH at x.

source
MPCC.consH_lin!Function
c = consH_lin!(nlp, x, c)

Evaluate the linear constraints at x in place.

source
MPCC.consH_nln!Function
c = consH_nln!(nlp, x, c)

Evaluate the nonlinear constraints at x in place.

source
MPCC.hGprod!Function
Hv = hGprod!(nlp, x, y, v, Hv)

Evaluate the product of the Lagrangian Hessian at (x,y) with the vector v in place.

source
MPCC.hGprodMethod
Hv = hGprod(nlp, x, y, v)

Evaluate the product of the Lagrangian Hessian at (x,y) with the vector v.

source
MPCC.hHprod!Function
Hv = hHprod!(nlp, x, y, v, Hv)

Evaluate the product of the Lagrangian Hessian at (x,y) with the vector v in place.

source
MPCC.hHprodMethod
Hv = hHprod(nlp, x, y, v)

Evaluate the product of the Lagrangian Hessian at (x,y) with the vector v.

source
MPCC.hessGMethod
Hx = hessG(nlp, x, y)

Evaluate the Lagrangian Hessian at (x,y) as a sparse matrix. A Symmetric object wrapping the lower triangle is returned.

source
MPCC.hessG_coord!Function
vals = hessG_coord!(nlp, x, y, vals)

Evaluate the Lagrangian Hessian at (x,y) in sparse coordinate format, overwriting vals. Only the lower triangle is returned.

source
MPCC.hessG_coordMethod
vals = hessG_coord(nlp, x, y)

Evaluate the Lagrangian Hessian at (x,y) in sparse coordinate format. Only the lower triangle is returned.

source
MPCC.hessG_op!Method
H = hessG_op!(nlp, x, y, Hv)

Return the Lagrangian Hessian at (x,y) with objective function scaled by obj_weight as a linear operator, and storing the result on Hv. The resulting object may be used as if it were a matrix, e.g., w = H * v. The vector Hv is used as preallocated storage for the operation.

source
MPCC.hessG_opMethod
H = hessG_op(nlp, x, y)

Return the Lagrangian Hessian at (x,y) as a linear operator. The resulting object may be used as if it were a matrix, e.g., H * v.

source
MPCC.hessG_structure!Function
hessG_structure!(nlp, rows, cols)

Return the structure of the Lagrangian Hessian in sparse coordinate format in place.

source
MPCC.hessG_structureMethod
(rows,cols) = hessG_structure(nlp)

Return the structure of the Lagrangian Hessian in sparse coordinate format.

source
MPCC.hessHMethod
Hx = hessH(nlp, x, y)

Evaluate the Lagrangian Hessian at (x,y) as a sparse matrix. A Symmetric object wrapping the lower triangle is returned.

source
MPCC.hessH_coord!Function
vals = hessH_coord!(nlp, x, y, vals)

Evaluate the Lagrangian Hessian at (x,y) in sparse coordinate format, overwriting vals. Only the lower triangle is returned.

source
MPCC.hessH_coordMethod
vals = hessH_coord(nlp, x, y)

Evaluate the Lagrangian Hessian at (x,y) in sparse coordinate format. Only the lower triangle is returned.

source
MPCC.hessH_op!Method
H = hessH_op!(nlp, x, y, Hv)

Return the Lagrangian Hessian at (x,y) with objective function scaled by obj_weight as a linear operator, and storing the result on Hv. The resulting object may be used as if it were a matrix, e.g., w = H * v. The vector Hv is used as preallocated storage for the operation.

source
MPCC.hessH_opMethod
H = hessH_op(nlp, x, y)

Return the Lagrangian Hessian at (x,y) as a linear operator. The resulting object may be used as if it were a matrix, e.g., H * v.

source
MPCC.hessH_structure!Function
hessH_structure!(nlp, rows, cols)

Return the structure of the Lagrangian Hessian in sparse coordinate format in place.

source
MPCC.hessH_structureMethod
(rows,cols) = hessH_structure(nlp)

Return the structure of the Lagrangian Hessian in sparse coordinate format.

source
MPCC.jG_op!Method
J = jG_op!(nlp, x, Jv, Jtv)

Return the Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v. The values Jv and Jtv are used as preallocated storage for the operations.

source
MPCC.jGprod!Method
Jv = jGprod!(nlp, x, v, Jv)

Evaluate $J(x)v$, the Jacobian-vector product at x in place.

source
MPCC.jGprod!Method

JGv = jGprod!(nlp, x, v, Jv) Evaluate $∇G(x)v$, the Jacobian-vector product at x in place.

source
MPCC.jGprodMethod
Jv = jGprod(nlp, x, v)

Evaluate $J(x)v$, the Jacobian-vector product at x.

source
MPCC.jGprodlin!Function
Jv = jGprodlin!(nlp, x, v, Jv)

Evaluate $J(x)v$, the linear Jacobian-vector product at x in place.

source
MPCC.jGprodlinMethod
Jv = jGprodlin(nlp, x, v)

Evaluate $J(x)v$, the linear Jacobian-vector product at x.

source
MPCC.jGprodnln!Function
Jv = jGprodnln!(nlp, x, v, Jv)

Evaluate $J(x)v$, the nonlinear Jacobian-vector product at x in place.

source
MPCC.jGprodnlnMethod
Jv = jGprodnln(nlp, x, v)

Evaluate $J(x)v$, the nonlinear Jacobian-vector product at x.

source
MPCC.jGtprod!Method
Jtv = jGtprod!(nlp, x, v, Jtv)

Evaluate $J(x)^Tv$, the transposed-Jacobian-vector product at x in place. If the problem has linear and nonlinear constraints, this function allocates.

source
MPCC.jGtprod!Method
Jtv = jtprodG(nlp, x, v, Jtv)

Evaluate $∇G(x)^Tv$, the transposed-Jacobian-vector product at x

source
MPCC.jGtprodMethod
Jtv = jGtprod(nlp, x, v)

Evaluate $J(x)^Tv$, the transposed-Jacobian-vector product at x.

source
MPCC.jGtprodlin!Function
Jtv = jGtprodlin!(nlp, x, v, Jtv)

Evaluate $J(x)^Tv$, the linear transposed-Jacobian-vector product at x in place.

source
MPCC.jGtprodlinMethod
Jtv = jGtprodlin(nlp, x, v)

Evaluate $J(x)^Tv$, the linear transposed-Jacobian-vector product at x.

source
MPCC.jGtprodnln!Function
Jtv = jGtprodnln!(nlp, x, v, Jtv)

Evaluate $J(x)^Tv$, the nonlinear transposed-Jacobian-vector product at x in place.

source
MPCC.jGtprodnlnMethod
Jtv = jGtprodnln(nlp, x, v)

Evaluate $J(x)^Tv$, the nonlinear transposed-Jacobian-vector product at x.

source
MPCC.jH_op!Method
J = jH_op!(nlp, x, Jv, Jtv)

Return the Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v. The values Jv and Jtv are used as preallocated storage for the operations.

source
MPCC.jHprod!Method
Jv = jHprod!(nlp, x, v, Jv)

Evaluate $J(x)v$, the Jacobian-vector product at x in place.

source
MPCC.jHprod!Method

JHv = jHprod!(nlp, x, v, Jv) Evaluate $∇H(x)v$, the Jacobian-vector product at x in place.

source
MPCC.jHprodMethod
Jv = jHprod(nlp, x, v)

Evaluate $J(x)v$, the Jacobian-vector product at x.

source
MPCC.jHprodlin!Function
Jv = jHprodlin!(nlp, x, v, Jv)

Evaluate $J(x)v$, the linear Jacobian-vector product at x in place.

source
MPCC.jHprodlinMethod
Jv = jHprodlin(nlp, x, v)

Evaluate $J(x)v$, the linear Jacobian-vector product at x.

source
MPCC.jHprodnln!Function
Jv = jHprodnln!(nlp, x, v, Jv)

Evaluate $J(x)v$, the nonlinear Jacobian-vector product at x in place.

source
MPCC.jHprodnlnMethod
Jv = jHprodnln(nlp, x, v)

Evaluate $J(x)v$, the nonlinear Jacobian-vector product at x.

source
MPCC.jHtprod!Method
Jtv = jHtprod!(nlp, x, v, Jtv)

Evaluate $J(x)^Tv$, the transposed-Jacobian-vector product at x in place. If the problem has linear and nonlinear constraints, this function allocates.

source
MPCC.jHtprod!Method
Jtv = jtprodH(nlp, x, v, Jtv)

Evaluate $∇H(x)^Tv$, the transposed-Jacobian-vector product at x

source
MPCC.jHtprodMethod
Jtv = jHtprod(nlp, x, v)

Evaluate $J(x)^Tv$, the transposed-Jacobian-vector product at x.

source
MPCC.jHtprodlin!Function
Jtv = jHtprodlin!(nlp, x, v, Jtv)

Evaluate $J(x)^Tv$, the linear transposed-Jacobian-vector product at x in place.

source
MPCC.jHtprodlinMethod
Jtv = jHtprodlin(nlp, x, v)

Evaluate $J(x)^Tv$, the linear transposed-Jacobian-vector product at x.

source
MPCC.jHtprodnln!Function
Jtv = jHtprodnln!(nlp, x, v, Jtv)

Evaluate $J(x)^Tv$, the nonlinear transposed-Jacobian-vector product at x in place.

source
MPCC.jHtprodnlnMethod
Jtv = jHtprodnln(nlp, x, v)

Evaluate $J(x)^Tv$, the nonlinear transposed-Jacobian-vector product at x.

source
MPCC.jacGMethod
Jx = jacG(nlp, x)

Evaluate $J(x)$, the constraints Jacobian at x as a sparse matrix.

source
MPCC.jacG_coord!Method
vals = jacG_coord!(nlp, x, vals)

Evaluate $J(x)$, the constraints Jacobian at x in sparse coordinate format, rewriting vals.

source
MPCC.jacG_coordMethod
vals = jacG_coord(nlp, x)

Evaluate $J(x)$, the constraints Jacobian at x in sparse coordinate format.

source
MPCC.jacG_lin_coord!Function
vals = jacG_lin_coord!(nlp, x, vals)

Evaluate $J(x)$, the linear constraints Jacobian at x in sparse coordinate format, overwriting vals.

source
MPCC.jacG_lin_coordMethod
vals = jacG_lin_coord(nlp, x)

Evaluate $J(x)$, the linear constraints Jacobian at x in sparse coordinate format.

source
MPCC.jacG_lin_op!Method
J = jacG_lin_op!(nlp, x, Jv, Jtv)

Return the linear Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v. The values Jv and Jtv are used as preallocated storage for the operations.

source
MPCC.jacG_lin_opMethod
J = jacG_lin_op(nlp, x)

Return the linear Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v.

source
MPCC.jacG_lin_structure!Function
jacG_lin_structure!(nlp, rows, cols)

Return the structure of the linear constraints Jacobian in sparse coordinate format in place.

source
MPCC.jacG_lin_structureMethod
(rows,cols) = jacG_lin_structure(nlp)

Return the structure of the linear constraints Jacobian in sparse coordinate format.

source
MPCC.jacG_nln_coord!Function
vals = jacG_nln_coord!(nlp, x, vals)

Evaluate $J(x)$, the nonlinear constraints Jacobian at x in sparse coordinate format, overwriting vals.

source
MPCC.jacG_nln_coordMethod
vals = jacG_nln_coord(nlp, x)

Evaluate $J(x)$, the nonlinear constraints Jacobian at x in sparse coordinate format.

source
MPCC.jacG_nln_op!Method
J = jacG_nln_op!(nlp, x, Jv, Jtv)

Return the nonlinear Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v. The values Jv and Jtv are used as preallocated storage for the operations.

source
MPCC.jacG_nln_opMethod
J = jacG_nln_op(nlp, x)

Return the nonlinear Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v.

source
MPCC.jacG_nln_structure!Function
jacG_nln_structure!(nlp, rows, cols)

Return the structure of the nonlinear constraints Jacobian in sparse coordinate format in place.

source
MPCC.jacG_nln_structureMethod
(rows,cols) = jacG_nln_structure(nlp)

Return the structure of the nonlinear constraints Jacobian in sparse coordinate format.

source
MPCC.jacG_opMethod
J = jacG_op(nlp, x)

Return the Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v.

source
MPCC.jacG_structure!Method
jacG_structure!(nlp, rows, cols)

Return the structure of the constraints Jacobian in sparse coordinate format in place.

source
MPCC.jacG_structureMethod
(rows,cols) = jacG_structure(nlp)

Return the structure of the constraints Jacobian in sparse coordinate format.

source
MPCC.jacHMethod
Jx = jacH(nlp, x)

Evaluate $J(x)$, the constraints Jacobian at x as a sparse matrix.

source
MPCC.jacH_coord!Method
vals = jacH_coord!(nlp, x, vals)

Evaluate $J(x)$, the constraints Jacobian at x in sparse coordinate format, rewriting vals.

source
MPCC.jacH_coordMethod
vals = jacH_coord(nlp, x)

Evaluate $J(x)$, the constraints Jacobian at x in sparse coordinate format.

source
MPCC.jacH_lin_coord!Function
vals = jacH_lin_coord!(nlp, x, vals)

Evaluate $J(x)$, the linear constraints Jacobian at x in sparse coordinate format, overwriting vals.

source
MPCC.jacH_lin_coordMethod
vals = jacH_lin_coord(nlp, x)

Evaluate $J(x)$, the linear constraints Jacobian at x in sparse coordinate format.

source
MPCC.jacH_lin_op!Method
J = jacH_lin_op!(nlp, x, Jv, Jtv)

Return the linear Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v. The values Jv and Jtv are used as preallocated storage for the operations.

source
MPCC.jacH_lin_opMethod
J = jacH_lin_op(nlp, x)

Return the linear Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v.

source
MPCC.jacH_lin_structure!Function
jacH_lin_structure!(nlp, rows, cols)

Return the structure of the linear constraints Jacobian in sparse coordinate format in place.

source
MPCC.jacH_lin_structureMethod
(rows,cols) = jacH_lin_structure(nlp)

Return the structure of the linear constraints Jacobian in sparse coordinate format.

source
MPCC.jacH_nln_coord!Function
vals = jacH_nln_coord!(nlp, x, vals)

Evaluate $J(x)$, the nonlinear constraints Jacobian at x in sparse coordinate format, overwriting vals.

source
MPCC.jacH_nln_coordMethod
vals = jacH_nln_coord(nlp, x)

Evaluate $J(x)$, the nonlinear constraints Jacobian at x in sparse coordinate format.

source
MPCC.jacH_nln_op!Method
J = jacH_nln_op!(nlp, x, Jv, Jtv)

Return the nonlinear Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v. The values Jv and Jtv are used as preallocated storage for the operations.

source
MPCC.jacH_nln_opMethod
J = jacH_nln_op(nlp, x)

Return the nonlinear Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v.

source
MPCC.jacH_nln_structure!Function
jacH_nln_structure!(nlp, rows, cols)

Return the structure of the nonlinear constraints Jacobian in sparse coordinate format in place.

source
MPCC.jacH_nln_structureMethod
(rows,cols) = jacH_nln_structure(nlp)

Return the structure of the nonlinear constraints Jacobian in sparse coordinate format.

source
MPCC.jacH_opMethod
J = jacH_op(nlp, x)

Return the Jacobian at x as a linear operator. The resulting object may be used as if it were a matrix, e.g., J * v or J' * v.

source
MPCC.jacH_structure!Method
jacH_structure!(nlp, rows, cols)

Return the structure of the constraints Jacobian in sparse coordinate format in place.

source
MPCC.jacH_structureMethod
(rows,cols) = jacH_structure(nlp)

Return the structure of the constraints Jacobian in sparse coordinate format.

source
MPCC.viol!Method
c = viol!(nlp, x, c)
Return the vector of the constraints
lx <= x <= ux
lc <= c(x) <= uc,
lccG <= G(x),
lccH <= H(x),
G(x) .* H(x) <= 0
source
MPCC.violMethod
c = viol(nlp, x)

Evaluate $c(x)$, the constraints at x.

source
MPCC.violMethod

Return the violation of the constraints lb <= x <= ub, lc <= c(x) <= uc, lccG <= G(x), lccH <= H(x), G(x).*H(x) <= 0.

source