Вы находитесь на странице: 1из 2

Exerccio Proposto KKT

Seja o problema que segue:

n
Min z = ( x j p j )2 (1.1)
j =1

s.a: xj 0 j = 1,..., n (u j ) (1.2)


x j bj j = 1,..., n (v j ) (1.3)

onde P = ( p1 , p2 ,..., pn ) R n um ponto dado.

Colocando na forma padro de um NLP, tem-se:

n
Min z = ( x j p j )2 (1.4)
j =1

s.a: xj 0 j = 1,..., n (u j ) (1.5)


x j bj 0 j = 1,..., n (v j ) (1.6)

As condies de KKT aplicadas a (1.4)-(1.6) obtm-se:

2( x1 p1 ) 1 0 0 1 0 0 0
2( x p ) 0 1 0 0 1 0 0
a) 2 2
+u +u +  + un +v +v +  + vn =
 1  2   1  2   

2( xn pn ) 0 0 1 0 0 1 0

ou, genericamente: 2( x j p j ) u j + v j = 0 j = 1,..., n (1.7)

u j ( x j ) = 0 j = 1,..., n
b) (1.8)
v j ( x j b j ) = 0 j = 1,..., n

u j 0 j = 1,..., n
c) (1.9)
v j 0 j = 1,..., n

xj 0 j = 1,..., n
d) (1.10)
x j bj j = 1,..., n

O sistema acima pode ser separado em n problemas independentes, um para cada j = 1,..., n .
2( x j p j ) u j + v j = 0
u x = 0
j j
v j ( x j b j ) = 0

u j 0 (1.11)
v 0
j
xj 0
x b
j j

Na soluo destes problemas, as seguintes situaes devero ser consideradas:

x j = p j
I) u j = v j = 0
0 x j b j

2 p j u j = 0
II) x j = v j = 0 u j = 2 p j 0
u j 0

2(b j p j ) + v j = 0
III) x j = b j e u j = 0 v j = 2(b j p j ) 0
v j 0

xj = p j se 0 p j b j

Resumindo: x j = 0 se p j < 0
x = b se p j > b j
j j

Pseudo-cdigo:

funo Projeo (n : Inteiro; b,p : VetorReal) : VetorReal;


varivel
j : Inteiro;
inicio
para j := 1 at n faa
inicio
se p[j] < 0
ento x[j] := 0
seno se p[j] > b[j]
ento x[j] := b[j]
seno x[j] := p[j];
fim;
retornar x;
fim.

Вам также может понравиться