Nonlinear Opt.: KKT- theorem 3: Unterschied zwischen den Versionen

Aus Operations-Research-Wiki
Wechseln zu: Navigation, Suche
[unmarkierte Version][unmarkierte Version]
(Optimization problem:)
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 9: Zeile 9:
 
Given is the following optimization problem:
 
Given is the following optimization problem:
  
<math>\min z= f (x_{1},...,x_{n}) or  \max z= f (x_{1},...,x_{n})</math>
+
<math>\min z= f (x_{1},...,x_{n})</math>
 +
 
 +
or   
 +
 
 +
<math>\max z= f (x_{1},...,x_{n})</math>
  
  
Zeile 70: Zeile 74:
  
 
If the function <math>f (x_{1},...,x_{n})</math> is concave and all <math>h_{i}(x_{1},...,x_{n})</math> are convex and the Slater condition (there exists a <math>x\epsilon \mathbb{R}_{+}^{n}</math> with <math>g(x)< 0</math>) is satisfied, then the KKT-conditions are necessary and sufficient for an optimal solution.
 
If the function <math>f (x_{1},...,x_{n})</math> is concave and all <math>h_{i}(x_{1},...,x_{n})</math> are convex and the Slater condition (there exists a <math>x\epsilon \mathbb{R}_{+}^{n}</math> with <math>g(x)< 0</math>) is satisfied, then the KKT-conditions are necessary and sufficient for an optimal solution.
 +
  
 
== Example ==
 
== Example ==
Zeile 176: Zeile 181:
  
 
The optimal solution is <math>x^*=(2,0)</math> with <math>f(2,0)=12</math>
 
The optimal solution is <math>x^*=(2,0)</math> with <math>f(2,0)=12</math>
 +
  
 
== Source ==
 
== Source ==

Aktuelle Version vom 25. Juni 2013, 14:11 Uhr

Introduction:

The Karush–Kuhn–Tucker (KKT) conditions are first order necessary conditions for a solution in nonlinear programming to be optimal, provided that some regularity conditions are satisfied. Allowing inequality constraints, the KKT approach to nonlinear programming generalizes the method of Lagrange multipliers, which allows only equality constraints. In general, many optimization algorithms can be interpreted as methods for numerically solving the KKT system of equations.


Optimization problem:

Given is the following optimization problem:

or


With these constraints:

Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): h_{i}(x_{1},...,x_{n})\leq 0,i=1,...,m


Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x_{j}\geq 0, j=1,...,n


are continuously differentiable.




1. Start with the Lagrangian function: Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): L(x,\lambda)= f(x_{1},...,x_{n})+ \sum _{i=1}^{m}\lambda _{i}*h_{i}(x_{1},...,x_{n})

(Minimum-problem)
Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): L(x,\lambda)= f(x_{1},...,x_{n})- \sum _{i=1}^{m}\lambda _{i}*h_{i}(x_{1},...,x_{n})
(Maximum-problem)


2. Continue with the Karush- Kuhn- Tucker conditions


I. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial x_{j}}= \frac{\partial f}{\partial x_{j}}(\hat{\underline{x}})+ \sum_{i=1}^{m}\hat{\lambda_{i} }* \frac{\partial h_{i}}{\partial x_{j}}(\hat{\underline{x}})\geq 0 , j=1,..,n (Minimum-problem)

Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial x_{j}}= \frac{\partial f}{\partial x_{j}}(\hat{\underline{x}})- \sum_{i=1}^{m}\hat{\lambda_{i} }* \frac{\partial h_{i}}{\partial x_{j}}(\hat{\underline{x}})\geq 0

, j=1,..,n (Maximum-problem)


II. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat{\underline{x}}*\frac{\partial L}{\partial x_{j}}= \hat{\underline{x}} *[\frac{\partial f(x)}{\partial}+\sum_{i=1}^{m}\hat{\lambda_{i} }* \frac{\partial h_{i}}{\partial x_{j}}(\hat{\underline{x}})]=0 , j=1,..,n (Minimum-problem)

Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat{\underline{x}}*\frac{\partial L}{\partial x_{j}}= \hat{\underline{x}} *[\frac{\partial f(x)}{\partial}-\sum_{i=1}^{m}\hat{\lambda_{i} }* \frac{\partial h_{i}}{\partial x_{j}}(\hat{\underline{x}})]=0

, j=1,..,n (Maximum-problem)


III. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial \lambda_{i}}= h_{i}(\hat{x}))\leq 0 , i=1,…,m


IV. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat{\lambda_{i} }\frac{\partial L}{\partial \lambda_{i}}=\hat{\lambda_{i} }*h_{i}(\hat{x})=0 , i=1,…,m


V. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat{\underline{x}}\geq 0


VI. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \hat{\underline{\lambda}}\geq 0



is a global minimum/maximum of for a fixed


is a global maximum/minimum of for a fixed


A vector in is called saddle point of Lagrangian function , if it holds for all and :

Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): L(\hat{x},\lambda )\leq L(\hat{x},\hat{\lambda} )\leq L(x,\hat{\lambda} )


If is a saddle point of , then is a minimizer/maximizer of the NLP.

If the function is concave and all are convex and the Slater condition (there exists a with ) is satisfied, then the KKT-conditions are necessary and sufficient for an optimal solution.


Example

Given is the following optimization problem:

Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \max f(x_{1},x_{2})=8*x_{1}-x_{1}^2+4*x_{2}-x_{2}^2


Under the restrictions Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): g(x_{1}, x_{1})=x_{1}+x_{2}\leq 2

and Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.):  x_{1},x_{2}\geq 0




Start with the Lagrangian-function: Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): L(x,\lambda)=8*x_{1}-x_{1}^2+4*x_{2}-x_{2}^2 - \lambda*(x_{1}+x_{2}-2)


Continue with the KKT conditions:

I.(a) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial x_{1}}= 8-2*x_{1}-\lambda\leq 0


I.(b) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial x_{2}}= 4-2*x_{2}-\lambda\leq 0


II.(a) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x_{1}*\frac{\partial L}{\partial x_{1}}=x_{1}*(8-2*x_{1}-\lambda)=0


II.(b) Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x_{2}*\frac{\partial L}{\partial x_{2}}=x_{2}*(4-2*x_{2}-\lambda)=0


III. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \frac{\partial L}{\partial \lambda }= x_{1}+x_{2}-2 \leq 0


IV. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda *\frac{\partial L}{\partial \lambda }= \lambda *(x_{1}+x_{2}-2) = 0


V. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x_{1}, x_{2}\geq 0


VI. Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda \geq 0


There are four possible cases for the solution:

(1) and

(2) and

(3) and

(4) and


- case (1): and

If and then because of IV.

This is contradictory to I: Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): 8-2*0-0\leq 0


- case (2): and

Because of II: Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x_{1}=4-0,5*\lambda

and Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.):  x_{2}=2-0,5*\lambda


a) Because of IV: ,then and

This is contradictory to III: Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): 4+2\leq 2


b) Because of IV: ,so Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): 4-0,5*\lambda+2-0,5*\lambda=2

and so .

This is contradictory to II: Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x_{2}=2-0,5*4 ,because


- case (3): and

Then Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda \geq 8

because of I.(a) and  because of IV.

With II.(b) you get for . This is contradictory to I.(a)


- case (4): and

Then Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda \geq 4

because of I. (b) and  because of IV.

With II.(a) you get for .


If you check now all KKT conditions, you can see that and fulfill all the conditions.

The function Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): f(x_{1},x_{2})=8*x_{1}-x_{1}^2+4*x_{2}-x_{2}^2

is concave (I*) and the Slater conditions is satisfied (II*). 

So the KKT-conditions are necessary and sufficient for an optimal solution.

(I*) A function f(x) is strictly concave if the Hessian matrix is negative definite.

Here: Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \bigtriangledown f(x)=\begin{bmatrix}8-2*x_{1}\\4-2*x_{2}\end{bmatrix}

and Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.):  G(x)=\begin{bmatrix}-2 &0 \\ 0&-2 \end{bmatrix}
,so 

Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): det(H(x)-\lambda*I))=\begin{bmatrix}-2-\lambda &0 \\0&-2-\lambda\end{bmatrix}=(2+\lambda )^2=0


So Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): \lambda = -2< 0 , id est G(x) is negative definite and consequently f(x) concave.


(II*) The Slater-condition is sufficient, if a Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x=(x_{1},x_{2})\geq 0

exists, so that 

this is given with


The optimal solution is Fehler beim Parsen (http://mathoid.testme.wmflabs.org Serverantwort ist ungültiges JSON.): x^*=(2,0)

with 


Source

S. Boyd, L.Vandenberghe, Convex Optimization, Cambridge: Cambridge University Press, 2004

W. Domschke, A.Drexl, Einführung in Operations Research, 6th edition,2005

W. Domschke, et al., Übungen und Fallbeispiele zum Operations Research, 5th edition,2005