Overview

Part 6 - Optimality Conditions and Karush-Kuhn-Tucker Conditions I

Introduction

Recall our constrained optimization problem of the form,

(P){min⁡f(x)subject tox∈S(P) \quad \begin{cases} \min & f(\mathbf{x}) \newline \text{subject to} & \mathbf{x} \in S \end{cases}

where f:Rn→Rf : \mathbb{R}^n \to \mathbb{R} and S⊆RnS \subseteq \mathbb{R}^n.

We have previously derived optimality conditions of the form,

"x⋆ is a local minimum of (P)  ⟹  There is no feasible descent direction at x⋆."" \mathbf{x}^{\star} \text{ is a local minimum of } (P) \implies \text{There is no feasible descent direction at } \mathbf{x}^{\star}. "

In this part, we will generalize to statements of the form,

x⋆ is a local minimum of (P)  ⟹  A(x⋆)⏟Set of descent directions∩B(x⋆)⏟Set of feasible directions=∅,\mathbf{x}^{\star} \text{ is a local minimum of } (P) \implies \underbrace{A(\mathbf{x}^{\star})}_{\text{Set of descent directions}} \cap \underbrace{B(\mathbf{x}^{\star})}_{\text{Set of feasible directions}} = \emptyset,

where we will characterize A(x⋆)A(\mathbf{x}^{\star}) and B(x⋆)B(\mathbf{x}^{\star}) in different ways.

Tangent and Gradient Cones

To neatly characterize the set of feasible directions, we will introduce the concept of tangent and gradient cones.

But, let’s firstly define the cone of descent directions and cone of feasible directions.

Definition 1 (Cone of Descent Directions)

The cone of descent directions in x∈S\mathbf{x} \in S is,

F∘(x)≔{p∈Rn∣∇f(x)Tp<0}\overset{\circ}{F}(\mathbf{x}) \coloneqq \{ \mathbf{p} \in \mathbb{R}^n \mid \nabla f(\mathbf{x})^T \mathbf{p} < 0 \}
Definition 2 (Cone of Feasible Directions)

Let S⊆RnS \subseteq \mathbb{R}^n be a non-empty and closed set. The cone of feasible directions at x∈S\mathbf{x} \in S is,

RS(x)≔{p∈Rn∣∃δ>0,x+αp∈S,∀α∈[0,δ]}R_S(\mathbf{x}) \coloneqq \{ \mathbf{p} \in \mathbb{R}^n \mid \exists \delta > 0, \quad \mathbf{x} + \alpha \mathbf{p} \in S, \quad \forall \alpha \in [0, \delta] \}

With these, we can rewrite our previous optimality condition as follows.

Theorem 1 (Optimality Condition using Cones)x⋆ is a local minimum of (P)  ⟹  F∘(x⋆)∩RS(x⋆)=∅\mathbf{x}^{\star} \text{ is a local minimum of } (P) \implies \overset{\circ}{F}(\mathbf{x}^{\star}) \cap R_S(\mathbf{x}^{\star}) = \emptyset
Example 1 (Cone of Feasible Directions)

Let S={x∈R2∣x2=x12}S = \{\mathbf{x} \in \mathbb{R}^2 \mid x_2 = x_1^2 \}

We can rewrite SS as S={x∈R2∣−x12+x2=0}S = \{\mathbf{x} \in \mathbb{R}^2 \mid -x_1^2 + x_2 = 0 \}.

Thus, RS(x)=∅R_S(\mathbf{x}) = \emptyset for all x∈S\mathbf{x} \in S.

Now, we can introduce the tangent cone.

Tangent Cone

Definition 3 (Tangent Cone)

Let S⊆RnS \subseteq \mathbb{R}^n. The tangent cone at x∈S\mathbf{x} \in S is,

TS(x)≔{p∈Rn∣∃{xk}k=1∞⊆S,∃{λt}t=1∞⊂(0,∞),such thatlim⁡t→∞xt=x,andlim⁡k→∞λk(xk−x)=p}\begin{align*} T_S(\mathbf{x}) & \coloneqq \{ \mathbf{p} \in \mathbb{R}^n \mid \exists \{\mathbf{x}_k\}_{k=1}^{\infty} \subseteq S, \exists \{\lambda_t\}_{t=1}^{\infty} \subset (0, \infty), \newline & \quad \quad \text{such that} \quad \lim_{t \to \infty} \mathbf{x}_t = \mathbf{x}, \quad \text{and} \newline & \quad \quad \lim_{k \to \infty} \lambda_k (\mathbf{x}_k - \mathbf{x}) = \mathbf{p} \} \end{align*}
Example 2 (Tangent Cone)

Let S={x∈R2∣x2=x12}S = \{\mathbf{x} \in \mathbb{R}^2 \mid x_2 = x_1^2 \} and consider the point x=0\mathbf{x} = \mathbf{0}.

Thus, the tangent cone at 0\mathbf{0} is,

TS(0)={p∈R2∣p2=0}T_S(\mathbf{0}) = \{ \mathbf{p} \in \mathbb{R}^2 \mid p_2 = 0 \}
Theorem 2 (Geometric Optimality Conditions)

Let S⊆RnS \subseteq \mathbb{R}^n and f∈C1f \in C^1 on SS. Then,

x⋆ is a local minimum of (P)  ⟹  F∘(x⋆)∩TS(x⋆)=∅\mathbf{x}^{\star} \text{ is a local minimum of } (P) \implies \overset{\circ}{F}(\mathbf{x}^{\star}) \cap T_S(\mathbf{x}^{\star}) = \emptyset

To get more useful conditions, we will need more concrete feasible regions.

Consider this form of optimization problems,

(P){min⁡f(x)subject togi(x)≤0,i=1,…,m(P) \quad \begin{cases} \min & f(\mathbf{x}) \newline \text{subject to} & g_i(\mathbf{x}) \leq 0, \quad i = 1, \ldots, m \newline \end{cases}

where f,gi∈C1f, g_i \in C^1 for i=1,…,mi = 1, \ldots, m. Thus, S={x∈Rn∣gi(x)≤0,i=1,…,m}S = \{\mathbf{x} \in \mathbb{R}^n \mid g_i(\mathbf{x}) \leq 0, \quad i = 1, \ldots, m \}.

Definition 4 (Active Constraints)

The set of active constraints at x∈S\mathbf{x} \in S is,

I(x)≔{i∈{1,…,m}∣gi(x)=0}\mathcal{I}(\mathbf{x}) \coloneqq \{ i \in \{1, \ldots, m\} \mid g_i(\mathbf{x}) = 0 \}
Example 3 (Active Constraints)

Let gi:R2→Rg_i : \mathbb{R}^2 \to \mathbb{R} for i=1,2,3i = 1, 2, 3 where,

g1(x)=−x1g2(x)=−x2g3(x)=x1+x2−1\begin{align*} g_1(\mathbf{x}) & = -x_1 \newline g_2(\mathbf{x}) & = -x_2 \newline g_3(\mathbf{x}) & = x_1 + x_2 - 1 \end{align*}

For xˉ=[10]\bar{\mathbf{x}} = \begin{bmatrix} 1 \newline 0 \end{bmatrix}, we obtain,

g1(xˉ)=−1<0g2(xˉ)=−0=0g3(xˉ)=12+0−1=0\begin{align*} g_1(\bar{\mathbf{x}}) & = -1 < 0 \newline g_2(\bar{\mathbf{x}}) & = -0 = 0 \newline g_3(\bar{\mathbf{x}}) & = 1^2 + 0 - 1 = 0 \end{align*}

Thus, I(xˉ)={2,3}\mathcal{I}(\bar{\mathbf{x}}) = \{2, 3\}.

Definition 5 (Inner Gradient Cone)

a The inner gradient cone at x∈S\mathbf{x} \in S is,

G∘(x)≔{p∈Rn∣∇gi(x)Tp<0,∀i∈I(x)}\overset{\circ}{G}(\mathbf{x}) \coloneqq \{ \mathbf{p} \in \mathbb{R}^n \mid \nabla g_i(\mathbf{x})^T \mathbf{p} < 0, \quad \forall i \in \mathcal{I}(\mathbf{x}) \}
Definition 6 (Gradient Cone)

The gradient cone at x∈S\mathbf{x} \in S is,

G(x)≔{p∈Rn∣∇gi(x)Tp≤0,∀i∈I(x)}G(\mathbf{x}) \coloneqq \{ \mathbf{p} \in \mathbb{R}^n \mid \nabla g_i(\mathbf{x})^T \mathbf{p} \leq 0, \quad \forall i \in \mathcal{I}(\mathbf{x}) \}
Note

The only difference between the inner gradient cone and the gradient cone is that the inequalities are strict in the inner gradient cone.

Theorem 3 (Gradient Cone Relations)

Let S⊆RnS \subseteq \mathbb{R}^n be defined as above and let x∈S\mathbf{x} \in S. Then,

G∘(x)⊆RS(x)⊆TS(x)⊆G(x)\overset{\circ}{G}(\mathbf{x}) \subseteq R_S(\mathbf{x}) \subseteq T_S(\mathbf{x}) \subseteq G(\mathbf{x})
Lemma 1 (Optimality Condition using Gradient Cone)x⋆ is a local minimum of (P)  ⟹  F∘(x⋆)∩G∘(x⋆)=∅\mathbf{x}^{\star} \text{ is a local minimum of } (P) \implies \overset{\circ}{F}(\mathbf{x}^{\star}) \cap \overset{\circ}{G}(\mathbf{x}^{\star}) = \emptyset

Abadie’s Constraint Qualifications and Karush-Kuhn-Tucker Conditions

With all these definitions, we can now introduce Abadie’s constraint qualifications (and later the Karush-Kuhn-Tucker conditions).

Definition 7 (Abadie’s Constraint Qualifications)

Abadie’s constraint qualifications is said to hold in x∈S\mathbf{x} \in S if,

TS(x)=G(x)T_S(\mathbf{x}) = G(\mathbf{x})

In other words, Abadie’s constraint qualifications holds in x∈S\mathbf{x} \in S if the tangent cone and the gradient cone are equal.

Example 4 (Gradient Cone)

Let S={x∈R2∣(x1−1)2+x22⏟g1(x)≤1,(x1+1)2+x22⏟g2(x)≤1}S = \{\mathbf{x} \in \mathbb{R}^2 \mid \underbrace{(x_1 - 1)^2 + x_2^2}_{g_1(\mathbf{x})} \leq 1, \quad \underbrace{(x_1 + 1)^2 + x_2^2}_{g_2(\mathbf{x})} \leq 1 \} and consider the point x=[00]T\mathbf{x} = \begin{bmatrix} 0 & 0 \end{bmatrix}^T. Compute RS(x)R_S(\mathbf{x}), TS(x)T_S(\mathbf{x}), G∘(x)\overset{\circ}{G}(\mathbf{x}) and G(x)G(\mathbf{x}) and determine if Abadie’s constraint qualifications holds in x\mathbf{x}.

Firstly, we rewrite our constraints to normal form,

g1(x)=(x1−1)2+x22−1≤0g2(x)=(x1+1)2+x22−1≤0\begin{align*} g_1(\mathbf{x}) & = (x_1 - 1)^2 + x_2^2 - 1 \leq 0 \newline g_2(\mathbf{x}) & = (x_1 + 1)^2 + x_2^2 - 1 \leq 0 \end{align*}

Since we are working in R2\mathbb{R}^2, we can easily visualize the problem.

Feasible Regions visualization
Figure 1: Feasible Regions visualization

We can see that there is only one single point that meets both constraints, which is x=[00]T\mathbf{x} = \begin{bmatrix} 0 & 0 \end{bmatrix}^T.

Thus, we know that there are no feasible directions, i.e., RS(x)=∅R_S(\mathbf{x}) = \emptyset.

Since we only have one point, the only allowed sequence that converges to x\mathbf{x} is the constant sequence xk=x\mathbf{x}_k = \mathbf{x} for all kk, i.e., TS(x)={0}T_S(\mathbf{x}) = \{ \mathbf{0} \}, the zero vector.

Now, we compute the gradients of the constraints,

∇g1(x)=[2(x1−1)2x2]=[−20]∇g2(x)=[2(x1+1)2x2]=[20]\begin{align*} \nabla g_1(\mathbf{x}) & = \begin{bmatrix} 2(x_1 - 1) \newline 2x_2 \end{bmatrix} = \begin{bmatrix} -2 \newline 0 \end{bmatrix} \newline \nabla g_2(\mathbf{x}) & = \begin{bmatrix} 2(x_1 + 1) \newline 2x_2 \end{bmatrix} = \begin{bmatrix} 2 \newline 0 \end{bmatrix} \end{align*}

Since both constraints are active at x\mathbf{x}, we have I(x)={1,2}\mathcal{I}(\mathbf{x}) = \{1, 2\}. Thus, we can compute the inner gradient cone and the gradient cone,

G∘(x)={p∈R2∣[−20]Tp<0,[20]Tp<0}={p∈R2∣p1>0,p1<0}=∅G(x)={p∈R2∣[−20]Tp≤0,[20]Tp≤0}={p∈R2∣p1≥0,p1≤0}={p∈R2∣p1=0}\begin{align*} \overset{\circ}{G}(\mathbf{x}) & = \{ \mathbf{p} \in \mathbb{R}^2 \mid \begin{bmatrix}-2 \newline 0 \end{bmatrix}^T \mathbf{p} < 0, \quad \begin{bmatrix}2 \newline 0 \end{bmatrix}^T \mathbf{p} < 0 \} = \{ \mathbf{p} \in \mathbb{R}^2 \mid p_1 > 0, \quad p_1 < 0 \} = \emptyset \newline G(\mathbf{x}) & = \{ \mathbf{p} \in \mathbb{R}^2 \mid \begin{bmatrix}-2 \newline 0 \end{bmatrix}^T \mathbf{p} \leq 0, \quad \begin{bmatrix}2 \newline 0 \end{bmatrix}^T \mathbf{p} \leq 0 \} = \{ \mathbf{p} \in \mathbb{R}^2 \mid p_1 \geq 0, \quad p_1 \leq 0 \} = \{ \mathbf{p} \in \mathbb{R}^2 \mid p_1 = 0 \} \end{align*}

Finally, we can say that Abadie’s constraint qualifications does not hold in x\mathbf{x} since,

TS(x)={0}≠{p∈R2∣p1=0}=G(x)T_S(\mathbf{x}) = \{ \mathbf{0} \} \neq \{ \mathbf{p} \in \mathbb{R}^2 \mid p_1 = 0 \} = G(\mathbf{x})
Theorem 4 (Karush-Kuhn-Tucker (KKT) Conditions)

Assume that Abadie’s constraint qualifications holds in x⋆∈S\mathbf{x}^{\star} \in S. Then,

x⋆ is a local minimum of (P)  ⟹  The following system is solvable for μ,{∇f(x⋆)+∑imμi∇gi(x⋆)=0μigi(x⋆)=0,i=1,…,mμi≥0,i=1,…,m\begin{align*} \mathbf{x}^{\star} \text{ is a local minimum of } (P) & \implies \text{The following system is solvable for } \mu, \newline & \quad \quad \begin{cases} \nabla f(\mathbf{x}^{\star}) + \sum_i^m \mu_i \nabla g_i(\mathbf{x}^{\star}) = 0 \newline \mu_i g_i(\mathbf{x}^{\star}) = 0, \quad i = 1, \ldots, m \newline \mu_i \geq 0, \quad i = 1, \ldots, m \end{cases} \end{align*}

To prove the KKT conditions, we will need Farkas’ lemma (which is a theorem, but for historical reasons is called a lemma).

Theorem 5 (Farkas’ Lemma)

Let A∈Rm×nA \in \mathbb{R}^{m \times n} and b∈Rm\mathbf{b} \in \mathbb{R}^m. Then, exactly one of the following systems is solvable,

{Ax=bx≥0{ATy≤0bTy>0\begin{cases} A \mathbf{x} = \mathbf{b} \newline \mathbf{x} \geq 0 \end{cases} \quad \quad \begin{cases} A^T \mathbf{y} \leq 0 \newline \mathbf{b}^T \mathbf{y} > 0 \end{cases}

We will not prove this now, we will prove this later on, more specifically in a LP setting.

Proof (Karush-Kuhn-Tucker (KKT) Conditions)

We know that,

x⋆ is a local minimum of (P)  ⟹  F∘(x⋆)∩TS(x⋆)=∅  ⟺  F∘(x⋆)∩G(x⋆)=∅ (By Abadie’s)  ⟹  {∇f(x⋆)Tp<0∇gi(x⋆)Tp≤0,i∈I(x⋆)we notice that if we let,AT=[∇gi(x⋆)]i∈I(x⋆),b=−∇f(x⋆), we can use Farkas’ lemma  ⟹  {Ax=bx≥0We now index x as x=[xi]i∈I(x⋆),and let μi=xi for i∈I(x⋆) and μi=0 for i∉I(x⋆)  ⟹  {∇f(x⋆)+∑imμi∇gi(x⋆)=0μigi(x⋆)=0,i=1,…,mμi≥0,i=1,…,mwhich are precisely the KKT conditions.■\begin{align*} \mathbf{x}^{\star} \text{ is a local minimum of } (P) & \implies \overset{\circ}{F}(\mathbf{x}^{\star}) \cap T_S(\mathbf{x}^{\star}) = \emptyset \newline & \iff \overset{\circ}{F}(\mathbf{x}^{\star}) \cap G(\mathbf{x}^{\star}) = \emptyset \, \text{(By Abadie's)} \newline & \implies \begin{cases} \nabla f(\mathbf{x}^{\star})^T \mathbf{p} < 0 \newline \nabla g_i(\mathbf{x}^{\star})^T \mathbf{p} \leq 0, \quad i \in \mathcal{I}(\mathbf{x}^{\star}) \end{cases} \newline & \text{we notice that if we let,} \newline & A^T = \begin{bmatrix} \nabla g_i(\mathbf{x}^{\star}) \end{bmatrix}_{i \in \mathcal{I}(\mathbf{x}^{\star})}, \newline & \mathbf{b} = -\nabla f(\mathbf{x}^{\star}), \newline & \text{ we can use Farkas' lemma} \newline & \implies \begin{cases} A \mathbf{x} = \mathbf{b} \newline \mathbf{x} \geq 0 \end{cases} \newline & \text{We now index } \mathbf{x} \text{ as } \mathbf{x} = \begin{bmatrix} x_i \end{bmatrix}_{i \in \mathcal{I}(\mathbf{x}^{\star})}, \newline & \text{and let } \mu_i = x_i \text{ for } i \in \mathcal{I}(\mathbf{x}^{\star}) \text{ and } \mu_i = 0 \text{ for } i \notin \mathcal{I}(\mathbf{x}^{\star}) \newline & \implies \begin{cases} \nabla f(\mathbf{x}^{\star}) + \sum_i^m \mu_i \nabla g_i(\mathbf{x}^{\star}) = 0 \newline \mu_i g_i(\mathbf{x}^{\star}) = 0, \quad i = 1, \ldots, m \newline \mu_i \geq 0, \quad i = 1, \ldots, m \newline \end{cases} \newline & \text{which are precisely the KKT conditions.} \quad _\blacksquare \end{align*}
Note
  • If gi(x⋆)=0g_i(\mathbf{x}^{\star}) = 0 (i.e., the constraint is active), then μi\mu_i can be any non-negative value, i.e., μi≥0\mu_i \geq 0.
  • If gi(x⋆)<0g_i(\mathbf{x}^{\star}) < 0 (i.e., the constraint is inactive), then μi=0\mu_i = 0.
  • −∇f(x⋆)-\nabla f(\mathbf{x}^{\star}) should be a non-negative linear combination of the gradients of the active constraints ∇gi(x⋆)\nabla g_i(\mathbf{x}^{\star}) for i∈I(x⋆)i \in \mathcal{I}(\mathbf{x}^{\star}).
    • We can interpret the above as a generalization of the normal cone, since we assumed convexity, here we do not assume convexity.
Definition 8 (KKT Point)

A KKT point is a point x∈S\mathbf{x} \in S, where the KKT system is solvable for some μ\mu.

Example 5 (KKT Point)

Consider the following optimization problem,

{min⁡−x1+x2subject tox12+x22−1≤0−x2≤0\begin{cases} \min & -x_1 + x_2 \newline \text{subject to} & x_1^2 + x_2^2 - 1 \leq 0 \newline & -x_2 \leq 0 \end{cases}

Which points are KKT points?

(a) x1=[00]T\mathbf{x}_1 = \begin{bmatrix} 0 & 0 \end{bmatrix}^T (b) x2=[−10]T\mathbf{x}_2 = \begin{bmatrix} -1 & 0 \end{bmatrix}^T (c) x3=[10]T\mathbf{x}_3 = \begin{bmatrix} 1 & 0 \end{bmatrix}^T

The feasible region
Figure 2: The feasible region

Again, since we are in R2\mathbb{R}^2, we can easily visualize the problem. We can see that the feasible region is the upper half of the unit circle, including the boundary.

The next step is to calculate the gradients of the cost and constraints,

∇f(x)=[−11]∇g1(x)=[2x12x2]∇g2(x)=[0−1]\begin{align*} \nabla f(\mathbf{x}) & = \begin{bmatrix} -1 \newline 1 \end{bmatrix} \newline \nabla g_1(\mathbf{x}) & = \begin{bmatrix} 2x_1 \newline 2x_2 \end{bmatrix} \newline \nabla g_2(\mathbf{x}) & = \begin{bmatrix} 0 \newline -1 \end{bmatrix} \end{align*}
The feasible region and gradients of the cost and constraints
Figure 3: The feasible region and gradients of the cost and constraints

We can draw these out to get a better understanding.

As we stated previously, the (negative) gradient of the cost should be a non-negative linear combination of the gradients of the active constraints.

We can see that for x2\mathbf{x}_2, the negative gradient can be expressed as a linear combination, but not a non-negative linear combination, thus x2\mathbf{x}_2 is not a KKT point.

For x1\mathbf{x}_1, since only one constraint is active, we can see that the negative gradient cannot be expressed as a linear combination of the gradient of the active constraint, thus x1\mathbf{x}_1 is not a KKT point.

However, for x3\mathbf{x}_3, we can express the negative gradient as a non-negative linear combination of the gradients of the active constraints, thus x3\mathbf{x}_3 is a KKT point, or,

{∇f(x3)+μ1∇g1(x3)+μ2∇g2(x3)=0[−11]+μ1[20]+μ2[0−1]=0  ⟹  {−1+2μ1=01−μ2=0  ⟹  {μ1=12μ2=1\begin{cases} \nabla f(\mathbf{x}_3) + \mu_1 \nabla g_1(\mathbf{x}_3) + \mu_2 \nabla g_2(\mathbf{x}_3) = 0 \newline \begin{bmatrix} -1 \newline 1 \end{bmatrix} + \mu_1 \begin{bmatrix} 2 \newline 0 \end{bmatrix} + \mu_2 \begin{bmatrix} 0 \newline -1 \end{bmatrix} = 0 \newline \implies \begin{cases} -1 + 2\mu_1 = 0 \newline 1 - \mu_2 = 0 \end{cases} \newline \implies \boxed{\begin{cases} \mu_1 = \frac{1}{2} \newline \mu_2 = 1 \end{cases}} \newline \end{cases}

Thus, the only KKT point is x3=[10]T\mathbf{x}_3 = \begin{bmatrix} 1 & 0 \end{bmatrix}^T with multipliers μ1=12\mu_1 = \frac{1}{2} and μ2=1\mu_2 = 1.

Search

Essays, lecture notes, and research

Type to search the site.