Nonlinear Opt.: KKT- theorem 5
Karush-Kuhn Tucker Theory (KKT-Theory)
Karush-Kuhn Tucker Theorem (KKT-Theorem) is a mathematical Method to solve Nonlinear optimization problems with help of Lagrangian Function. It requires inequality constraints. The system of equations corresponding to the KKT conditions is usually not solved directly, except in the few special cases where a closed-form solution can be derived analytically.
Inhaltsverzeichnis
Optimality conditions according to KKT-Theorem
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \bullet
Generalization of the Lagrangian condition
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \bullet
Take the inequality Constraints in consideration
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \bullet
Necessary (even sufficient under certain preconditions) conditions which shall be satisfied by an extremizer of the Lagrangian function.
Nonlinear minimization problem
Consider the nonlinear optimization Problem :
Min (, …., )
s.t. (, ..., ) – Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
or (,. ..,) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le , Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
; .
f and g are continuously differentiable
Lagrangian Function for a minimization Problem
(,…,) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \sum_{k=1}^m\lambda_i
(,…,)
Or
A vector in is called saddle point of Lagrangian function , if it holds for all x ∈ And ∈ :
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
Saddle Point Condition :
The slater condition is satisfied if there exists a Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
such that 0
Minimizer :
If the vector is saddle point of , then is a minimizer of NLP.
Suppose that there exist a Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
s.t. , so the following KKT conditions are necessary for being a saddle point of :
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial x_j}
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial f}{\partial x_j} Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): (\hat x)+\sum_{j=1}^m \hat \lambda_i \cdot \frac{\partial g_i}{\partial x_j}(\hat x) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge ; .
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat x \cdot \frac{\partial L}{\partial x_j}
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat x \cdot \bigg( \frac{\partial f}{\partial x_j} Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): (\hat x)+\sum_{j=1}^m \hat \lambda_i \cdot \frac{\partial g_i}{\partial x_j}(\hat x) \bigg) ; .
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial \lambda_i} = g(\hat x)
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le ;
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat \lambda_i \cdot \frac{\partial L}{\partial \lambda_i} = \hat \lambda_i \cdot g(\hat x)
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le ;
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
Nonlinear maximization problem
Given a nonlinear maximization problem:
Max (, …., )
s.t. (, ..., ) – Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
or (,. ..,) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le , Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
; .
f and g are continuously differentiable
Lagrangian Function for a maximization Problem
(,…,) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): -
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \sum_{k=1}^m\lambda_i (,…,)
Or
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): L(x;\lambda)=f(x)-\lambda^T g(x)
KKT-condition for a maximization problem.
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial x_j}
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial f}{\partial x_j} Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): (\hat x)-\sum_{j=1}^m \hat \lambda_i \cdot \frac{\partial g_i}{\partial x_j}(\hat x) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le ; .
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat x \cdot \frac{\partial L}{\partial x_j}
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat x \cdot \bigg( \frac{\partial f}{\partial x_j} Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): (\hat x)+\sum_{j=1}^m \hat \lambda_i \cdot \frac{\partial g_i}{\partial x_j}(\hat x) \bigg) ; .
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial \lambda_i} = g(\hat x)
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le ;
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat \lambda_i \cdot \frac{\partial L}{\partial \lambda_i} = \hat \lambda_i \cdot g(\hat x)
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le ;
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
Example
Given the following optimization problem:
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): minf(x_1,x_2)= x_1^2 + x_2^2 + (1-x_1-x_2)^2
with ∈ ,
under the following constraints :
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
:
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
:
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
:
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
can be ignored because of
: Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \Rightarrow Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x_1+ x_2-3 ≥
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \Rightarrow
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): -(x_1+ x_2)+3
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): L(x_1,x_2,\lambda_1,\lambda_2) = x_1^2 + x_2^2 + (1-x_1-x_2)^2+\lambda_1(4x_1 +2x_2-10)+\lambda_2(-x_1 - x_2+3)
Formulate KKT-condition :
(1) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial x_1} = 2x_1+(-2)(1-x_1-x_2)+4\lambda_1-\lambda_2 = 4x_1+2x_2+4\lambda_1-\lambda_2
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial x_2} = 2x_1+4x_2-2+2\lambda_1-\lambda_2
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
(2) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x_1\cdot\frac{\partial L}{\partial x_1} = x_1\cdot(2x_1+(-2)(1-x_1-x_2)+4\lambda_1-\lambda_2) = x_1\cdot(4x_1+2x_2+4\lambda_1-\lambda_2)
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x_2\cdot\frac{\partial L}{\partial x_2} = x_2\cdot(2x_1+4x_2-2+2\lambda_1-\lambda_2)
(3) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial \lambda_1} = 4x_1+2x_2-10
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial \lambda_2} = -x_1-x_2+3
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
(4) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda_1\cdot\frac{\partial L}{\partial \lambda_1} = \lambda_1\cdot(4x_1+2x_2-10)
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda_2\cdot\frac{\partial L}{\partial \lambda_2} = \lambda_2\cdot(-x_1-x_2+3)
(5) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
We suspect that both constraints are active . Therefore Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial \lambda_1}
, Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial \lambda_2} # and the constraints are .
# , (4) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \Rightarrow x_1 = \frac{5-x_2}{2}
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \Rightarrow -(\frac{5-x_2}{2})-x_2+3
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \Rightarrow x_2 = 1
and
and insert in (2) :
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): 2(4\cdot 2+2\cdot 1+4\lambda_1-\lambda_2) = 0
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): 1(2\cdot 2+4\cdot 1+2\lambda_1-\lambda_2-2) = 0
Solve the system of equations, get
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda_1 = -1
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le ; Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \ge
We suspect that the lower constraint is active and the upper is not ( Minimization Problem )and that . Therefore
(4) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \Rightarrow -x_1-x_2+3 = 0
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \Rightarrow x_1 = 3-x_2
, insert in (4)
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \Rightarrow x_2 = \frac{3}{2}
; ;
Check Primal Constraints Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): 4\cdot \frac{3}{2}+2\cdot \frac{3}{2} = 9
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \le
. the other is obviously fulfilled
Therefore is KKT Point.
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \blacktriangleright
A Local optimum Point hast to be KKT-Point ( necessary )
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \blacktriangleright
But which one ?
The function Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): f(x_1,x_2)= x_1^2 + x_2^2 + (1-x_1-x_2)^2
is convex. We can check it with the Hessian matrix.
Therefore being KKT-Point is sufficient for being globally optimal (minimal ).
Sources
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \bullet
Repitutorium 2012/2013
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \bullet
Skript Operations research
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \bullet
https://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \bullet
www.wm.uni-bayreuth.de//MGW_Buch/lLeseprobe_6_5hp.pdf