convert_constraint_multipliers

convert_constraint_multipliers(lam, mu, ieq, igt, ilt)

convert_constraint_multipliers() - Convert multipliers for eq/ineq pair to bounded.

[mu_l, mu_u] = convert_constraint_multipliers(lam, mu, ieq, igt, ilt)

Convert multipliers back for constraints converted by convert_lin_constraint() or convert_quad_constraint(). That is, we assume a set of constraints that have been converted from the form:

(26)\[\l \le \g(\x) \le \u\]

to

(27)\[\g_e(\x) = \rvec{b}_e\]
(28)\[\g_i(\x) = \rvec{b}_i\]

The relationships, using code notation, can be summarized as:

g_e = g(ieq, :);
b_e = u(ieq, 1);
g_i  = [ g(ilt, :); -g(igt, :) ];
b_i  = [ u(ilt, 1); -l(igt, 1) ];

Given the constraint multipliers for constraints of the form (27)-(28), this function converts them back to the equivalent multipliers for form (26).

Inputs:
  • lam (double) – vector of multipliers for (27)

  • mu (double) – vector of multipliers for (28)

  • ieq (integer) – vector of indices of equality constraints

  • igt (integer) – vector of indices of lower bounded inequality constraints

  • ilt (integer) – vector of indices of upper bounded inequality constraints

Outputs:
  • mu_l (double) – vector of multipliers on lower bound of (26)

  • mu_u (double) – vector of multipliers on upper bound of (26)

See also convert_lin_constraint(), convert_quad_constraint().