computeDualInitialGuess

computes an initial guess for the dual variables of the polynomial program.

Contents

Syntax

[lam_g,lam_x] = computeDualInitialGuess(x0,cost_handle,con_handle,idxVars,idxCon,lbx,ubx)

Description

This function computes an initial guess for the dual variables of the polynomial program in [1, Eq. (19)] by evaluating the KKT conditions at the primal initial guess x0 (thus, implicitly assuming that x0 is a stationary point). The polynomial program is formulated as in the CasADi documentation.

Input Arguments

x0

initial guess for the primal variables (double array of dimension [idxVars.nVars,1])

cost_handle

handle to the cost function of the polynomial program

con_handle

handle to the constraint function of the polynomial program (does not include variable bounds)

idxVars

struct storing the variable indices

idxCon

struct storing the constraint indices

lbx

lower bound on the primal variables

ubx

upper bound on the primal variables

Output Arguments

lam_x

initial guess for the Lagrange multipliers associated with the variable bounds (double array of dimension [idxVars.nVars,1])

lam_g

initial guess for the Lagrange multipliers associated with the constraints (double array of dimension [idxCon.nCon,1])

See Also

@computeTermRegNonlinSysPolyApproach/optimizeRCIpoly

References

[1] L. Schäfer and M. Althoff, "Computing Robust Control Invariant Sets of Nonlinear Systems Using Polynomial Controller Synthesis," American Control Conference, 2024, pp. 4162-4169.


© 2018-2026 I6 Technische Universität München Website License

logoAroc logoCora logoChair logoTum