Sei sulla pagina 1di 11

Programacin Cuadrtica

Un problema de Programacin Cuadrtica es aqul que contiene una


funcin objetivo cuadrtica y restricciones lineales
min

f (x ) =

c j x j + q ij x j x i
j =1

s.a.

aij x j
j =1

bi

i =1 j =1

i = 1,K, m

xj 0

En notacin matricial:

min

f ( x ) = cx + xT Qx

s.a.

g1 ( x) = x 0
g 2 ( x) = Ax b 0

Condiciones de Kuhn-Tucker
min
s.a.

f ( x ) = cx + xT Qx
g1 ( x) = x 0

Problema de
Programacin
Cuadrtica

g 2 ( x) = Ax b 0
Condiciones de KT

c + x T ( Q + Q T ) u yA = 0

f ( x) = c + xT (Q + Q T )
1
g1 ( x) = ...

1
g 2 ( x ) = A

Ax b 0
x 0
ux = 0
u 0
y T ( Ax b ) = 0
y 0

Si la funcin objetivo es convexa, es decir la matriz Q es una matriz


cuadrada, y definida positiva, y las restricciones son lineales, las
condiciones de Kunh-Tucker son necesarias y suficientes para encontrar
el ptimo de la funcin. => Mtodo de Wolfe slo hay que resolver las
condiciones de KT para encontrar el ptimo, como un problema de
programacin lineal.
Otro mtodo ms eficiente y simple para resolver las CKT es el mtodo
pivote complementario. Para el cual hacemos el siguiente cambio de
variable:

u = (Q + Q T )x A T y + c T

w = Mz + q

s = Ax b

w, z 0 w Tz = 0

x,y,u,s 0
uT x + sT y = 0
u
w =
s

x
z =
y

Q + QT
M =
A

AT
0

cT
q =
b

Problema
Complementario

Mtodo de Pivote Complementario 1


Consideramos el problema pivote complementario: Encontrar los vectores w y z
tales que:

w = Mz + q
w, z 0 w Tz = 0
Una solucin (w,z) no negativa al sistema de ecuaciones w=Mz+q se le llama una
solucin factible al problema complementario
Una solucin (w,z) factible al problema complementario que tambin satisface la
condicin complementaria wTz=0 se le llama solucin complementaria

La condicin wTz=0 es equivalente a wizi=0 para todas las i. Las variables wi y zi


para cada i, son llamadas un par complementario de variables

Mtodo de Pivote Complementario 2


Supongamos que tenemos que encontrar una solucin no negativa a
un sistema de ecuaciones de la siguiente forma:
Encontrar los vectores w y z tales que:

Problema
Complementario

w = Mz + q
w0 z0
w Tz = 0

Sistema de ecuaciones lineales


Requiere que la solucin al sistema sea
no negativa

No hay Funcin Objetivo, solo una restriccin no lineal.

Mtodo de Pivote Complementario 3


Solucin ms sencilla es hacer , z=0 y w=q, vlida siempre que q sea nonegativo.
Si algn q es negativo el mtodo pivote complementario (Lemke) empieza
con una solucin no factible, y se suma una variable auxiliar z0 para
que el sistema quede siempre positivo, por tanto z0 = - min (qi) =>
elimino la variable ms negativa.
w Mz = q + z0
w Mz z0 = q
La tabla inicial queda:
Base

w1

w2

w3

z1

z2

z3

Z0

w1

-4

-1

-1

-6

w2

-4

-1

-1

w3

-1

Mtodo de Pivote Complementario 4


W => son variables bsicas
Z => son variables no bsicas.
Regla de complementaridad: la variable que entra en la base es la
complementaria de la que se elimin en el paso anterior. Si sali wi
entra su complementaria zi
Regla del radio mnimo: la variable que sale de la base es aquella que
cumpla :

qi

min
m > 0 mis
is

Sale de
la base

Entra en la base

Base

w1

w2

w3

z1

z2

z3

z0

z0

-1

-2

w2

-1

-6

w3

-1

-1

-1

Mtodo de Pivote Complementario 5


Se sigue iterando hasta que z0 salga de la base.
Base

w1

w2

w3

z1

z2

z3

z0

z0

-1/3

-2/3

z1

-1/6

1/6

-1

w3

-1/6

-5/6

Base

w1

w2

w3

z1

z2

z3

z0

z0

-1/4

-1/4

-1/2

z1

-5/24

-1/12

1/4

7/4

z2

-1/24

-5/24

1/4

1/4

3/4

Mtodo de Pivote Complementario 6

Base

w1

w2

W3

z1

z2

z3

Z0

z3

-1/2

-1/2

-1

z1

-1/12

-1/12

-1/2

3/2

z2

-1/12

-1/12

-1/2

1/2

Solucin:

z3 = 1
3
= x1
2
1
=
= x2
2

z1 =
z2

Programacin Cuadrtica Secuencial (SQP)


q (x; x 0 ) = f (x 0 ) + f (x 0 ) (x x 0 ) +
T

1
(x x 0 )T 2f (x 0 )(x x 0 )
2

Se asume que f es doblemente diferenciable y x0 una estimacin inicial de la


solucin:
Paso 1: Formular el problema de Programacin Cuadrtica (QP)
min
s.a.

1
(
t) T
(
f x ) d + dT 2 f (x (t ) )d
2
T
hk (x (t ) ) + hk (x (t ) ) d = 0 k = 1,K,K
T
g j (x (t ) ) + g j (x (t ) ) d 0 j = 1,K, J

Paso 2: Resolver el problema QP. Poner x(t+1) = x(t) + d


Paso 3: Verificar la convergencia. Si no converge repetir el paso 1.

Aproximacin Cuadrtica de la Funcin de


Lagrange
Supongamos la funcin de Lagrange:
L(x , , ) = f (x ) k h k (x ) jg j (x )

En algn punto (x , , ) el subproblema se convierte en:

min
s.a.

1
q(d; x ) f (x )T d + dT 2 x L(x, , )d
2
~
hk (d; x ) hk (x ) + hk (x )T d = 0 k = 1,K,K
~
g (d; x ) g (x ) + g (x )T d 0 j = 1,K, J
j

Problema de convergencia: la matriz H=2L tiene que ser


definida positiva

Potrebbero piacerti anche