Constrained optimization
Mis à jour :
Goal: Make use of the Lagrangian and other methods to accomodate constraints.
Formalism
In matrix form, this translates to:
Notes:
- $A, b, C, d$ are provided as inputs of
fmincon
and include the lower/upper bounds. - Non-linear constraints need a special Matlab function returning $g$ and $h$.
Existence of a minimizer: Feasible set $\mathcal{D}$ is non-empty and bounded and $f, g_{i}, h_{i}$ differentiable $\Rightarrow \exists$ a minimizer
Lagrangian
Equality constraints: existence and optimality
Definition (Lagrangian function):
where $\lambda$ are the Lagrange multipliers
First order optimality conditions: $x_{⋆}$ is a local minimizer of $f \Rightarrow \exists \lambda_{⋆}$ such that:
Inequality constraints
Definition (active / inactive):
- The $i$-th constraint is active at $x$ if
- The $i$-th constraint is inactive at $x$ if $g_{i}(x) < 0$.
Lagrange multipliers constraints:
- $g(x) \leq 0 \Rightarrow \lambda \in \mathbb{R}_{-}^{p}$
- $g(x) \geq 0 \Rightarrow \lambda \in \mathbb{R}_{+}^{p}$
Karush-Kuhn-Tucker (KKT) conditions:
If $x^{⋆}$ is a local solution of $min_{x} f(x)$ s.t. $g(x)\geq 0_{p}$ then there exists $\lambda^{*}$ s.t.
Inequality constraints:
Inactive | Weakly active | Active | |
---|---|---|---|
Lagrange multipliers | $\lambda^{*} = 0$ | $\lambda^{*} = 0$ | $\lambda^{*} > 0$ |
Contraint | $g(x^{*}) > 0$ | $g(x^{*}) = 0$ | $g(x^{*}) = 0$ |
Necessary condition for a local minimizer
First order optimality condition: $x^{}$ is local minimizer $\Rightarrow x^{}$ satisfies the KKT conditions.
Second order optimality condition.
- Let $A(x)$ denote the set of active constraints at $x$
- Let $F(x)$ denote the set of feasible directions at $x$.
Let $C(x,\lambda)={w\in F(x) [\nabla g_{i}(x)]^{T}w=0 \forall i\in A(x) \text{ with } \lambda_{i} >0.}$
If $x^{*}$ satisfies the KKT conditions and
then $x^{*}$ is a strict local minimizer of the inequality constrained problem.
General case: inequality and equality constraints
Definition (Lagrangian function):
with $\lambda \leq 0_{p}$.
KKT conditions: If $x^{⋆}$ is a local minimizer, then there exists $λ^{⋆}$ and $μ^{⋆}$ such that:
Other approaches
Gradient projection algorithm
Principle:
- Line minimization: $x_{k+1} =x_{k} +\alpha_{k}d_{k}$
- Projection onto convex set: $x_{k+1} = proj(x_{k+1}, \mathcal{D})$
Interior and exterior point approaches
Method (Interior point approaches): Constrained minimization is replaced by the unconstrainted minimization of the augmented criterion.
Examples: Ridge regression and LASSO are both expressible under this form.
Method (“Exterior” approaches): Repeat:
- Minimize $K$ with respect to $x$ (unconstrained).
- Minimize $K$ with respect to $p$ (easy): $pi = max(x_{i} , 0)$.
Examples: Quadratic penalty and ADMM:
Special case: linear programming
Property (Orthogonal projection): The solution $x^{⋆}$ has at least $(n − m)$ zero coordinates.
Principle of the simplex algorithm
- Decompose $A=[A_{B},A_{N}]$ with $A_{B}$ of size $m\times m$, and $A_{N}$ of size $m × (n − m) $.
- Set $x^{B} = \begin{pmatrix} x_{B} \ 0{n-m} \end{pmatrix} \text{ with } x{B} = A_{B}^{-1}b$
- $x_{B}$ is a feasible point if $x_{B} ≥ 0{m}$. The objective function is equal to $f(x{B}) = c_{B}^{T} A_{B}^{−1}b$
- The simplex algorithm searches for the best decomposition $A = [A_{B}, A_{N}]$. The subset $B$ is updated at each iteration in such a way that $f(x_{B})$ is decreasing.
Special case: quadratic programming (QP)
Inactive | Weakly active | Active | |
---|---|---|---|
Symmetric | Yes | Yes | Yes |
Positive | No | Yes | Yes |
Positive semi-definite | No | No | Yes |
Minimizer | No | $\exists$ | $\exists !$ |
QP with equality constraints
Interior point approach:
- Assumption: $rank(A) = m$. Let $A = [A_{1}, A_{2}] \in \mathbb{R}^{m\times m}$ invertible and let $x = [x_{1}, x_{2}]$.
- Incorporate the constraint: $x_{1} = A_{1}^{-1}(b-A_{2}x_{2})$
- Solve the unconstrained problem $min_{x_{2}}\mathcal{Q}(A^{-1}(b-A_{2}x_{2}), x_{2})$
KKT conditions:
The Lagrangian function is:
Solve the system:
QP with inequality constraints
Principle of the active-set algorithm
- Solve a sequence of QP problems with equality constraints.
- Use a mechanism to add or remove active constraints.
Definition (Active set): $A(x) = {i : a_{i}^{T} x = b_{i}$ is defined as the set of active constraints at x.
Method: From a feasible point x_{k}:
- Solve QP with equality constraints on $\mathcal{A}(x_{k})$ only. It yields $\tilde{x}_{k+1}$
- If $\tilde{x}_{k+1}$ feasible:
- $x_{k+1} = \tilde{x}_{k+1}$
- Compute the Lagrange multipliers
Laisser un commentaire